/*
Theme Name: Shalirou Child
Theme URI: https://shalirou.com
Template: hello-elementor
Author: Shalirou
Author URI: https://shalirou.com
Description: Tema hijo personalizado de Shalirou para WooCommerce y diseño del sitio.
Version: 1.0.0
*/


/* =========================================================
   SHALIROU — VARIABLES
========================================================= */

:root {
    --shalirou-wine: #3D000C;
    --shalirou-wine-dark: #35000B;
    --shalirou-cream: #FFF1D6;
    --shalirou-ivory: #F7F3EB;
    --shalirou-soft: #F1EBE2;
    --shalirou-beige: #D7C6AE;
    --shalirou-text: #27231F;
    --shalirou-muted: #716A62;
    --shalirou-line: rgba(39, 35, 31, .13);
}


/* =========================================================
   BASE
========================================================= */

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    background: var(--shalirou-ivory);
    color: var(--shalirou-text);
    font-family: Arial, Helvetica, sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--shalirou-wine);
}


/* =========================================================
   BOTONES GENERALES
========================================================= */

button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--shalirou-wine);
    color: var(--shalirou-cream);

    border: 1px solid var(--shalirou-wine);
    border-radius: 0;

    box-shadow: none;
}

button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: transparent;
    color: var(--shalirou-wine);
}


/* =========================================================
   HEADER GLOBAL
========================================================= */

.shalirou-global-header {
    width: 100%;
    min-height: 108px;

    padding: 16px 6%;

    display: grid;
    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    background: var(--shalirou-ivory);

    border-bottom: 1px solid var(--shalirou-line);

    position: relative;

    z-index: 1000;
}

.shalirou-global-logo {
    display: block;

    justify-self: start;

    line-height: 0;
}

.shalirou-global-logo img {
    width: 145px !important;
    max-width: 145px !important;
    height: auto !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;
}

.shalirou-desktop-nav {
    display: flex;

    align-items: center;

    gap: 34px;
}

.shalirou-desktop-nav a {
    color: var(--shalirou-text);

    text-decoration: none;

    font-size: 13px;
    font-weight: 400;

    letter-spacing: .8px;

    white-space: nowrap;
}

.shalirou-desktop-nav a:hover {
    color: var(--shalirou-wine);

    opacity: .65;
}

.shalirou-header-actions {
    justify-self: end;

    display: flex;

    align-items: center;

    gap: 16px;
}

.shalirou-search,
.shalirou-mobile-menu {
    margin: 0;
}

.shalirou-search summary,
.shalirou-mobile-menu summary {
    list-style: none;

    cursor: pointer;
}

.shalirou-search summary::-webkit-details-marker,
.shalirou-mobile-menu summary::-webkit-details-marker {
    display: none;
}

.shalirou-search summary,
.shalirou-cart {
    width: 26px;
    height: 26px;

    display: flex;

    align-items: center;
    justify-content: center;
}

.shalirou-search summary svg,
.shalirou-cart svg {
    width: 22px;
    height: 22px;

    fill: none;

    stroke: var(--shalirou-text);

    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shalirou-cart {
    color: var(--shalirou-text);
}

.shalirou-cart:hover svg,
.shalirou-search summary:hover svg {
    stroke: var(--shalirou-wine);
}

.shalirou-mobile-menu {
    display: none;
}


/* =========================================================
   BUSCADOR
========================================================= */

.shalirou-search-panel {
    position: absolute;

    top: 100%;
    left: 0;

    width: 100%;

    padding: 20px 6%;

    background: var(--shalirou-ivory);

    border-top: 1px solid rgba(39, 35, 31, .08);
    border-bottom: 1px solid var(--shalirou-line);

    box-shadow: 0 12px 28px rgba(39, 35, 31, .07);

    z-index: 1001;
}

.shalirou-search-panel form {
    width: 100%;
    max-width: 720px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    gap: 15px;

    border-bottom: 1px solid rgba(39, 35, 31, .4);
}

.shalirou-search-panel input[type="search"] {
    flex: 1;

    min-width: 0;

    padding: 13px 4px;

    border: 0;

    outline: 0;

    background: transparent;

    color: var(--shalirou-text);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;
}

.shalirou-search-panel button {
    padding: 11px 18px;

    font-size: 10px;

    letter-spacing: 1.4px;

    text-transform: uppercase;
}


/* =========================================================
   FOOTER
========================================================= */

.shalirou-global-footer {
    width: 100% !important;

    margin: 0 !important;

    padding: 70px 6% 28px !important;

    background: var(--shalirou-wine) !important;

    color: var(--shalirou-cream) !important;
}

.shalirou-footer-main {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1.4fr 1fr 1fr;

    gap: 70px;

    align-items: start;
}

.shalirou-global-footer .shalirou-footer-brand {
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;

    outline: 0 !important;

    box-shadow: none !important;
}

.shalirou-global-footer .shalirou-footer-brand > img {
    width: 125px !important;
    max-width: 125px !important;
    height: auto !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;

    outline: 0 !important;

    box-shadow: none !important;
}

.shalirou-footer-brand p {
    max-width: 360px;

    margin: 24px 0 0 !important;

    color: rgba(255, 241, 214, .78) !important;

    font-size: 14px;

    line-height: 1.8;
}

.shalirou-socials {
    margin-top: 22px !important;

    display: flex !important;

    align-items: center !important;

    gap: 15px !important;
}

.shalirou-socials a {
    width: 26px !important;
    height: 26px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    color: var(--shalirou-cream) !important;

    background: transparent !important;

    border: 0 !important;

    text-decoration: none !important;

    opacity: .85;
}

.shalirou-socials a:hover {
    opacity: 1;

    transform: translateY(-1px);
}

.shalirou-socials a svg {
    width: 16px !important;
    height: 16px !important;
}

.shalirou-footer-column {
    display: flex;

    flex-direction: column;

    gap: 12px;
}

.shalirou-footer-column h3 {
    margin: 0 0 10px !important;

    color: var(--shalirou-cream) !important;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 22px;

    font-weight: 400;
}

.shalirou-footer-column a {
    color: rgba(255, 241, 214, .82) !important;

    text-decoration: none !important;

    font-size: 13px;

    line-height: 1.6;
}

.shalirou-footer-column a:hover {
    color: var(--shalirou-cream) !important;
}

.shalirou-footer-bottom {
    width: 100%;
    max-width: 1200px;

    margin: 55px auto 0 !important;

    padding-top: 22px;

    border-top: 1px solid rgba(255, 241, 214, .20);

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.shalirou-footer-bottom p {
    margin: 0 !important;

    color: rgba(255, 241, 214, .65) !important;

    font-size: 11px;

    letter-spacing: 1px;
}


/* =========================================================
   TIENDA
========================================================= */

body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat {
    background: var(--shalirou-ivory);
}

body.woocommerce-shop .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main {
    width: calc(100% - 80px) !important;

    max-width: 1180px !important;

    margin: 0 auto !important;

    padding: 70px 0 100px !important;
}

.woocommerce-shop .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb {
    display: none !important;
}

.woocommerce-products-header {
    margin: 0 0 46px !important;
}

.woocommerce-products-header::before {
    content: "HECHO A MANO · SHALIROU";

    display: block;

    margin-bottom: 16px;

    color: var(--shalirou-wine);

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 3px;
}

.woocommerce-products-header__title.page-title,
.woocommerce-shop .page-title,
.tax-product_cat .page-title {
    margin: 0 !important;

    color: var(--shalirou-text) !important;

    font-family: Georgia, "Times New Roman", serif !important;

    font-size: clamp(48px, 5vw, 70px) !important;

    line-height: .95 !important;

    font-weight: 400 !important;

    letter-spacing: -2.5px !important;
}

.woocommerce-products-header::after {
    content: "Piezas decorativas creadas cuidadosamente a mano para aportar calidez, textura y personalidad a tu hogar.";

    display: block;

    max-width: 580px;

    margin-top: 25px;

    color: var(--shalirou-muted);

    font-size: 14px;

    line-height: 1.8;
}

.woocommerce .woocommerce-result-count {
    margin: 5px 0 40px !important;

    color: var(--shalirou-muted) !important;

    font-size: 11px !important;
}

.woocommerce .woocommerce-ordering {
    margin: 0 0 40px !important;
}

.woocommerce .woocommerce-ordering select {
    min-width: 210px;

    height: 44px;

    padding: 0 42px 0 15px;

    background: transparent !important;

    color: var(--shalirou-text);

    border: 1px solid rgba(39, 35, 31, .18) !important;

    border-radius: 0 !important;

    font-size: 11px;
}

.woocommerce ul.products {
    width: 100% !important;

    clear: both !important;

    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 65px 32px !important;

    margin: 0 !important;

    padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product {
    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    float: none !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;
}

.woocommerce ul.products li.product:first-child:last-child {
    max-width: 360px;
}

.woocommerce ul.products li.product a img {
    width: 100% !important;

    aspect-ratio: 4 / 5;

    display: block;

    margin: 0 0 20px !important;

    object-fit: cover;

    background: #ECE5DB;

    transition:
        transform .35s ease,
        opacity .35s ease;
}

.woocommerce ul.products li.product:hover a img {
    transform: translateY(-3px);

    opacity: .97;
}

.woocommerce ul.products li.product
.woocommerce-loop-product__title {
    margin: 0 0 9px !important;

    padding: 0 !important;

    color: var(--shalirou-text) !important;

    font-family: Georgia, "Times New Roman", serif !important;

    font-size: 21px !important;

    font-weight: 400 !important;

    line-height: 1.28 !important;
}

.woocommerce ul.products li.product .price {
    margin: 0 0 18px !important;

    color: var(--shalirou-wine) !important;

    font-size: 12px !important;

    font-weight: 500 !important;
}

.woocommerce ul.products li.product .button {
    min-width: 175px;

    padding: 14px 20px !important;

    background: var(--shalirou-wine) !important;

    color: var(--shalirou-cream) !important;

    border: 1px solid var(--shalirou-wine) !important;

    font-size: 9px !important;

    font-weight: 500 !important;

    letter-spacing: 1.7px;

    text-transform: uppercase;
}

.woocommerce ul.products li.product .button:hover {
    background: transparent !important;

    color: var(--shalirou-wine) !important;
}


/* =========================================================
   PRODUCTO INDIVIDUAL
========================================================= */

body.single-product {
    background: var(--shalirou-ivory);
}

body.single-product .site-main {
    width: calc(100% - 80px) !important;

    max-width: 1180px !important;

    margin: 0 auto !important;

    padding: 55px 0 90px !important;
}

body.single-product .woocommerce-breadcrumb {
    display: none !important;
}

body.single-product div.product {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(360px, .92fr);

    column-gap: 70px;

    row-gap: 0;

    align-items: start;
}

body.single-product div.product
.woocommerce-product-gallery,

body.single-product div.product
.summary {
    width: 100% !important;

    float: none !important;

    margin: 0 !important;
}

body.single-product
.woocommerce-product-gallery {
    grid-column: 1;

    grid-row: 1;
}

body.single-product .summary {
    grid-column: 2;

    grid-row: 1;

    padding-top: 4px;
}


/* =========================================================
   GALERÍA DE PRODUCTO
========================================================= */

body.single-product
.woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

body.single-product
.woocommerce-product-gallery__image img {
    width: 100% !important;

    display: block;

    object-fit: cover;
}

body.single-product .flex-control-thumbs {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 9px;

    margin: 10px 0 0 !important;

    padding: 0 !important;
}

body.single-product .flex-control-thumbs li {
    width: 100% !important;

    margin: 0 !important;

    float: none !important;
}

body.single-product .flex-control-thumbs img {
    width: 100% !important;

    aspect-ratio: 1 / 1;

    display: block;

    object-fit: cover;

    opacity: .68;

    cursor: pointer;

    transition: opacity .2s ease;
}

body.single-product
.flex-control-thumbs img:hover,

body.single-product
.flex-control-thumbs img.flex-active {
    opacity: 1;
}


/* =========================================================
   PRODUCTO — TÍTULO / PRECIO / TEXTO
========================================================= */

body.single-product .product_title {
    margin: 0 0 18px !important;

    color: var(--shalirou-text) !important;

    font-family: Georgia, "Times New Roman", serif !important;

    font-size: clamp(38px, 3.7vw, 54px) !important;

    line-height: 1.02 !important;

    letter-spacing: -1.5px;

    font-weight: 400 !important;
}

body.single-product
.woocommerce-product-rating {
    margin: 0 0 20px !important;
}

body.single-product .star-rating,
body.single-product .woocommerce-review-link {
    color: var(--shalirou-wine) !important;
}

body.single-product .summary > .price {
    display: block;

    margin: 0 0 24px !important;

    color: var(--shalirou-wine) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px !important;

    font-weight: 400 !important;
}

body.single-product
.woocommerce-product-details__short-description {
    max-width: 520px;

    margin-bottom: 25px;

    color: var(--shalirou-muted);

    font-size: 13px;

    line-height: 1.8;
}

body.single-product
.woocommerce-product-details__short-description p {
    margin: 0 0 13px;
}


/* =========================================================
   SELECTOR PRINCIPAL COLOR / ACABADO
========================================================= */

body.single-product
form.variations_form {
    width: 100%;

    margin-top: 22px;
}

body.single-product
table.variations {
    width: 100% !important;

    margin: 0 0 12px !important;

    padding: 16px !important;

    background:
        rgba(215, 198, 174, .15) !important;

    border: 0 !important;
}

body.single-product
table.variations tbody,

body.single-product
table.variations tr,

body.single-product
table.variations th,

body.single-product
table.variations td {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    border: 0 !important;
}

body.single-product
table.variations th,

body.single-product
table.variations td {
    padding: 0 !important;
}

body.single-product
table.variations th {
    margin-bottom: 8px !important;
}

body.single-product
table.variations label {
    display: block !important;

    color: var(--shalirou-text) !important;

    font-size: 10px !important;

    font-weight: 600 !important;

    letter-spacing: 1.5px !important;

    text-transform: uppercase !important;
}

body.single-product
table.variations select {
    width: 100% !important;

    height: 48px !important;

    margin: 0 !important;

    padding: 0 42px 0 14px !important;

    background: #FFFDF9 !important;

    color: var(--shalirou-text) !important;

    border:
        1px solid rgba(39, 35, 31, .18) !important;

    border-radius: 0 !important;

    font-size: 13px !important;

    box-shadow: none !important;
}

body.single-product
table.variations select:focus {
    outline: 0 !important;

    border-color:
        var(--shalirou-wine) !important;
}

body.single-product
.reset_variations {
    display: inline-block !important;

    margin-top: 7px !important;

    color: var(--shalirou-muted) !important;

    font-size: 9px !important;

    text-decoration: none !important;
}


/* =========================================================
   PRECIO DE VARIACIÓN
========================================================= */

body.single-product
.woocommerce-variation-price {
    margin: 16px 0 14px !important;
}

body.single-product
.woocommerce-variation-price .price {
    color: var(--shalirou-wine) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 20px !important;

    font-weight: 400 !important;
}


/* =========================================================
   PERSONALIZACIÓN POR PIEZA
========================================================= */

body.single-product
#shalirou-personalizacion,

body.single-product
.shalirou-piece-box {
    width: 100% !important;

    margin: 18px 0 20px !important;

    padding: 26px !important;

    background: var(--shalirou-soft) !important;

    border:
        1px solid rgba(39, 35, 31, .08) !important;

    border-radius: 0 !important;

    box-shadow: none !important;
}

body.single-product
.shalirou-piece-eyebrow {
    display: block !important;

    margin: 0 0 8px !important;

    color: var(--shalirou-wine) !important;

    font-size: 9px !important;

    font-weight: 600 !important;

    letter-spacing: 2px !important;

    line-height: 1.3 !important;

    text-transform: uppercase !important;
}

body.single-product
#shalirou-personalizacion h3,

body.single-product
.shalirou-piece-box h3 {
    margin: 0 0 8px !important;

    color: var(--shalirou-text) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 28px !important;

    font-weight: 400 !important;

    line-height: 1.08 !important;
}

body.single-product
.shalirou-piece-head p,

body.single-product
#shalirou-personalizacion > p {
    max-width: 460px;

    margin: 0 0 22px !important;

    color: var(--shalirou-muted) !important;

    font-size: 12px !important;

    line-height: 1.7 !important;
}


/* =========================================================
   CHAROLA / ALAJERO / JARRÓN
========================================================= */

body.single-product
.shalirou-piece-grid {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 16px !important;
}

body.single-product
.shalirou-piece-field {
    width: 100% !important;

    min-width: 0 !important;
}

body.single-product
#shalirou-personalizacion
.shalirou-piece-field label,

body.single-product
#shalirou-personalizacion label {
    display: block !important;

    margin: 0 0 8px !important;

    color: var(--shalirou-text) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.4 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;

    opacity: 1 !important;
}

body.single-product
.shalirou-piece-field label span {
    color: var(--shalirou-wine) !important;
}

body.single-product
#shalirou-personalizacion
.shalirou-piece-field select,

body.single-product
#shalirou-personalizacion select {
    display: block !important;

    width: 100% !important;

    min-width: 0 !important;
    max-width: none !important;

    height: 48px !important;

    margin: 0 !important;

    padding: 0 36px 0 13px !important;

    background: #FFFDF9 !important;

    color: var(--shalirou-text) !important;

    border:
        1px solid rgba(39, 35, 31, .17) !important;

    border-radius: 0 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px !important;

    box-shadow: none !important;

    cursor: pointer;
}

body.single-product
#shalirou-personalizacion select:focus {
    outline: 0 !important;

    border-color:
        var(--shalirou-wine) !important;
}


/* =========================================================
   CANTIDAD + AÑADIR AL CARRITO
========================================================= */

body.single-product
.single_variation_wrap {
    width: 100% !important;
}

body.single-product
.woocommerce-variation-add-to-cart,

body.single-product
.variations_button {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        64px minmax(0, 1fr) !important;

    gap: 10px !important;

    align-items: center !important;

    margin: 14px 0 0 !important;

    padding: 0 !important;
}

body.single-product
.woocommerce-variation-add-to-cart .quantity,

body.single-product
.variations_button .quantity {
    width: 64px !important;

    min-width: 64px !important;

    max-width: 64px !important;

    margin: 0 !important;

    float: none !important;
}

body.single-product
.quantity .qty {
    width: 64px !important;

    min-width: 64px !important;

    max-width: 64px !important;

    height: 50px !important;

    margin: 0 !important;

    padding: 0 !important;

    background: #FFFDF9 !important;

    color: var(--shalirou-text) !important;

    text-align: center !important;

    border:
        1px solid rgba(39, 35, 31, .17) !important;

    border-radius: 0 !important;

    font-size: 13px !important;

    box-shadow: none !important;
}

body.single-product
.woocommerce-variation-add-to-cart
.single_add_to_cart_button,

body.single-product
.variations_button
.single_add_to_cart_button {
    width: 100% !important;

    min-width: 0 !important;
    max-width: none !important;

    height: 50px !important;

    min-height: 50px !important;
    max-height: 50px !important;

    margin: 0 !important;

    padding: 0 25px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    background:
        var(--shalirou-wine) !important;

    color:
        var(--shalirou-cream) !important;

    border:
        1px solid var(--shalirou-wine) !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    font-size: 9px !important;

    font-weight: 500 !important;

    line-height: 1 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    cursor: pointer !important;

    opacity: 1 !important;
}

body.single-product
.single_add_to_cart_button.disabled,

body.single-product
.single_add_to_cart_button.wc-variation-selection-needed {
    background:
        rgba(61, 0, 12, .30) !important;

    color: #FFFFFF !important;

    border-color: transparent !important;

    cursor: not-allowed !important;
}

body.single-product
.woocommerce-variation-add-to-cart
.single_add_to_cart_button:not(.disabled):hover,

body.single-product
.variations_button
.single_add_to_cart_button:not(.disabled):hover {
    background: transparent !important;

    color:
        var(--shalirou-wine) !important;
}


/* =========================================================
   QUITAR SKU + CATEGORÍA
========================================================= */

body.single-product
.product_meta {
    display: none !important;
}


/* =========================================================
   INFORMACIÓN TIPO ETSY
========================================================= */

body.single-product
.shalirou-etsy-info,

body.single-product
.shalirou-product-accordions,

body.single-product
.shalirou-product-info {
    grid-column: 1 / -1 !important;

    width: 100% !important;

    max-width: 960px !important;

    margin: 58px auto 0 !important;

    padding: 0 !important;

    clear: both !important;

    border-top:
        1px solid var(--shalirou-line) !important;
}

body.single-product
.shalirou-etsy-info details,

body.single-product
.shalirou-product-accordions details,

body.single-product
.shalirou-product-info details {
    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;

    border-bottom:
        1px solid var(--shalirou-line) !important;
}

body.single-product
.shalirou-etsy-info summary,

body.single-product
.shalirou-product-accordions summary,

body.single-product
.shalirou-product-info summary {
    position: relative !important;

    display: block !important;

    width: 100% !important;

    padding:
        21px
        45px
        21px
        0 !important;

    color:
        var(--shalirou-text) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 18px !important;

    font-weight: 400 !important;

    line-height: 1.3 !important;

    list-style: none !important;

    cursor: pointer !important;
}

body.single-product
.shalirou-etsy-info
summary::-webkit-details-marker,

body.single-product
.shalirou-product-accordions
summary::-webkit-details-marker,

body.single-product
.shalirou-product-info
summary::-webkit-details-marker {
    display: none !important;
}

body.single-product
.shalirou-etsy-info summary::marker,

body.single-product
.shalirou-product-accordions summary::marker,

body.single-product
.shalirou-product-info summary::marker {
    content: "" !important;
}

body.single-product
.shalirou-etsy-info summary::after,

body.single-product
.shalirou-product-accordions summary::after,

body.single-product
.shalirou-product-info summary::after {
    content: "+" !important;

    position: absolute !important;

    right: 4px !important;

    top: 50% !important;

    transform:
        translateY(-50%) !important;

    color:
        var(--shalirou-wine) !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 20px !important;

    font-weight: 300 !important;
}

body.single-product
.shalirou-etsy-info
details[open] summary::after,

body.single-product
.shalirou-product-accordions
details[open] summary::after,

body.single-product
.shalirou-product-info
details[open] summary::after {
    content: "−" !important;
}

body.single-product
.shalirou-etsy-content,

body.single-product
.shalirou-accordion-content,

body.single-product
.shalirou-product-info-content {
    max-width: 820px;

    padding:
        0
        0
        27px !important;

    color:
        var(--shalirou-muted) !important;

    font-size: 13px !important;

    line-height: 1.8 !important;
}

body.single-product
.shalirou-etsy-content p,

body.single-product
.shalirou-accordion-content p,

body.single-product
.shalirou-product-info-content p {
    margin: 0 0 14px !important;
}


/* =========================================================
   DETALLES DEL PRODUCTO
========================================================= */

body.single-product
.shalirou-etsy-details,

body.single-product
.shalirou-detail-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 18px 42px !important;
}

body.single-product
.shalirou-etsy-details div,

body.single-product
.shalirou-detail-grid div {
    padding-bottom: 13px !important;

    border-bottom:
        1px solid rgba(39, 35, 31, .07) !important;
}

body.single-product
.shalirou-etsy-details span,

body.single-product
.shalirou-detail-grid span {
    display: block !important;

    margin-bottom: 5px !important;

    color:
        var(--shalirou-muted) !important;

    font-size: 8px !important;

    letter-spacing: 1.4px !important;

    text-transform: uppercase !important;
}

body.single-product
.shalirou-etsy-details strong,

body.single-product
.shalirou-detail-grid strong {
    display: block !important;

    color:
        var(--shalirou-text) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 16px !important;

    font-weight: 400 !important;
}


/* =========================================================
   VALORACIONES
========================================================= */

body.single-product
.woocommerce-tabs {
    grid-column: 1 / -1 !important;

    display: block !important;

    width: 100% !important;

    max-width: 960px !important;

    margin: 60px auto 0 !important;

    padding: 0 !important;

    float: none !important;
}

body.single-product
.woocommerce-tabs ul.tabs {
    width: 100% !important;

    display: flex !important;

    margin: 0 0 36px !important;

    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;

    border-bottom:
        1px solid var(--shalirou-line) !important;
}

body.single-product
.woocommerce-tabs ul.tabs::before {
    display: none !important;
}

body.single-product
.woocommerce-tabs ul.tabs li {
    margin: 0 !important;

    padding: 0 0 13px !important;

    background: transparent !important;

    border: 0 !important;

    border-bottom:
        1px solid var(--shalirou-wine) !important;

    border-radius: 0 !important;
}

body.single-product
.woocommerce-tabs ul.tabs li::before,

body.single-product
.woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

body.single-product
.woocommerce-tabs ul.tabs li a {
    padding: 0 !important;

    color:
        var(--shalirou-wine) !important;

    font-size: 9px !important;

    font-weight: 600 !important;

    letter-spacing: 1.6px !important;

    text-transform: uppercase !important;
}


/* Solo Valoraciones como pestaña WooCommerce */

body.single-product
.woocommerce-tabs
ul.tabs
li.description_tab,

body.single-product
.woocommerce-tabs
ul.tabs
li.additional_information_tab,

body.single-product
#tab-description,

body.single-product
#tab-additional_information {
    display: none !important;
}


body.single-product
#tab-reviews {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;
}

body.single-product
#reviews {
    display: block !important;

    width: 100% !important;

    max-width: 820px !important;

    margin: 0 auto !important;
}


/* MUY IMPORTANTE:
   mantener formulario de valoraciones visible */

body.single-product
#reviews #comments,

body.single-product
#reviews #review_form_wrapper,

body.single-product
#reviews #review_form,

body.single-product
#reviews #respond {
    display: block !important;

    visibility: visible !important;

    opacity: 1 !important;

    width: 100% !important;

    float: none !important;
}

body.single-product
#reviews #comments > h2 {
    margin: 0 0 28px !important;

    color:
        var(--shalirou-text) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 30px !important;

    font-weight: 400 !important;

    line-height: 1.15 !important;
}

body.single-product
#reviews
.comment-reply-title {
    color:
        var(--shalirou-text) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 22px !important;

    font-weight: 400 !important;
}

body.single-product
#reviews .commentlist {
    margin: 0 !important;

    padding: 0 !important;
}

body.single-product
#reviews .commentlist li {
    margin: 0 0 20px !important;

    padding: 0 !important;
}

body.single-product
#reviews .comment_container {
    padding: 20px !important;

    background:
        rgba(215, 198, 174, .09) !important;

    border:
        1px solid rgba(39, 35, 31, .08) !important;
}

body.single-product
#reviews .star-rating,

body.single-product
#reviews .stars a {
    color:
        var(--shalirou-wine) !important;
}

body.single-product
#reviews textarea {
    width: 100% !important;

    min-height: 125px !important;

    padding: 14px !important;

    background:
        #FFFDF9 !important;

    border:
        1px solid rgba(39, 35, 31, .18) !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    resize: vertical;
}

body.single-product
#reviews input[type="text"],

body.single-product
#reviews input[type="email"] {
    width: 100% !important;

    min-height: 46px !important;

    padding:
        0 13px !important;

    background:
        #FFFDF9 !important;

    border:
        1px solid rgba(39, 35, 31, .18) !important;

    border-radius: 0 !important;
}

body.single-product
#reviews input[type="submit"] {
    min-width: 125px !important;

    height: 45px !important;

    padding:
        0 24px !important;

    background:
        var(--shalirou-wine) !important;

    color:
        var(--shalirou-cream) !important;

    border:
        1px solid var(--shalirou-wine) !important;

    font-size: 9px !important;

    letter-spacing: 1.5px !important;

    text-transform: uppercase !important;
}

body.single-product
#reviews input[type="submit"]:hover {
    background:
        transparent !important;

    color:
        var(--shalirou-wine) !important;
}


/* =========================================================
   PRODUCTOS RELACIONADOS / RECOMENDACIONES
========================================================= */

body.single-product
.related.products,

body.single-product
.up-sells {
    grid-column: 1 / -1 !important;

    display: block !important;

    width: 100% !important;

    margin: 75px 0 0 !important;

    padding-top: 50px !important;

    border-top:
        1px solid var(--shalirou-line) !important;
}

body.single-product
.related.products > h2,

body.single-product
.up-sells > h2 {
    margin: 0 0 35px !important;

    color:
        var(--shalirou-text) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 36px !important;

    line-height: 1.1 !important;

    font-weight: 400 !important;
}

body.single-product
.related.products ul.products,

body.single-product
.up-sells ul.products {
    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 25px !important;
}


/* =========================================================
   TABLET — TIENDA
========================================================= */

@media (max-width: 1024px) {

    .woocommerce ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            50px 25px !important;
    }
}


/* =========================================================
   TABLET — PRODUCTO
========================================================= */

@media (max-width: 900px) {

    body.single-product
    .site-main {
        width:
            calc(100% - 50px) !important;

        padding:
            45px 0 70px !important;
    }

    body.single-product
    div.product {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, .9fr);

        column-gap: 35px;
    }

    body.single-product
    .product_title {
        font-size:
            38px !important;
    }

    body.single-product
    .shalirou-piece-grid {
        grid-template-columns:
            1fr !important;
    }

    body.single-product
    .shalirou-etsy-info,

    body.single-product
    .shalirou-product-accordions,

    body.single-product
    .shalirou-product-info,

    body.single-product
    .woocommerce-tabs {
        max-width:
            100% !important;
    }

    body.single-product
    .related.products ul.products,

    body.single-product
    .up-sells ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   TABLET — HEADER + FOOTER
========================================================= */

@media (max-width: 850px) {

    .shalirou-global-header {
        min-height: 90px;

        padding: 10px 6%;
    }

    .shalirou-desktop-nav {
        display: none;
    }

    .shalirou-mobile-menu {
        display: block;

        grid-column: 1;

        grid-row: 1;

        justify-self: start;
    }

    .shalirou-global-logo {
        grid-column: 2;

        grid-row: 1;

        justify-self: center;
    }

    .shalirou-global-logo img {
        width: 92px !important;

        max-width: 92px !important;
    }

    .shalirou-header-actions {
        grid-column: 3;

        grid-row: 1;

        justify-self: end;

        gap: 13px;
    }

    .shalirou-mobile-menu > summary {
        width: 28px;

        height: 28px;

        display: flex;

        flex-direction: column;

        justify-content: center;

        gap: 5px;
    }

    .shalirou-mobile-menu > summary span {
        width: 25px;

        height: 1.5px;

        display: block;

        background:
            var(--shalirou-text);
    }

    .shalirou-mobile-nav {
        position: absolute;

        top: 100%;
        left: 0;

        width: 100%;

        padding:
            20px 7% 25px;

        background:
            var(--shalirou-ivory);

        border-top:
            1px solid rgba(39, 35, 31, .08);

        border-bottom:
            1px solid var(--shalirou-line);

        box-shadow:
            0 14px 28px rgba(39, 35, 31, .08);

        display: flex;

        flex-direction: column;

        z-index: 1002;
    }

    .shalirou-mobile-nav a {
        padding:
            14px 0;

        color:
            var(--shalirou-text);

        text-decoration:
            none;

        font-family:
            Georgia,
            "Times New Roman",
            serif;

        font-size:
            21px;

        border-bottom:
            1px solid rgba(39, 35, 31, .08);
    }

    .shalirou-footer-main {
        grid-template-columns:
            1.25fr .8fr .8fr !important;

        gap:
            34px !important;
    }
}


/* =========================================================
   MÓVIL — PRODUCTO
========================================================= */

@media (max-width: 650px) {

    body.single-product
    .site-main {
        width:
            calc(100% - 32px) !important;

        padding:
            28px 0 55px !important;
    }

    body.single-product
    div.product {
        display:
            block !important;
    }

    body.single-product
    .summary {
        margin-top:
            30px !important;
    }

    body.single-product
    .product_title {
        font-size:
            36px !important;

        letter-spacing:
            -1px;
    }

    body.single-product
    .flex-control-thumbs {
        grid-template-columns:
            repeat(4, 1fr);

        gap:
            7px;
    }

    body.single-product
    table.variations {
        padding:
            14px !important;
    }

    body.single-product
    #shalirou-personalizacion,

    body.single-product
    .shalirou-piece-box {
        padding:
            22px 18px !important;
    }

    body.single-product
    .shalirou-piece-grid {
        grid-template-columns:
            1fr !important;

        gap:
            15px !important;
    }

    body.single-product
    .woocommerce-variation-add-to-cart,

    body.single-product
    .variations_button {
        grid-template-columns:
            58px
            minmax(0, 1fr) !important;

        gap:
            8px !important;
    }

    body.single-product
    .woocommerce-variation-add-to-cart
    .quantity,

    body.single-product
    .variations_button
    .quantity,

    body.single-product
    .quantity .qty {
        width:
            58px !important;

        min-width:
            58px !important;

        max-width:
            58px !important;
    }

    body.single-product
    .shalirou-etsy-details,

    body.single-product
    .shalirou-detail-grid {
        grid-template-columns:
            1fr !important;
    }

    body.single-product
    .related.products ul.products,

    body.single-product
    .up-sells ul.products {
        grid-template-columns:
            1fr !important;
    }
}


/* =========================================================
   MÓVIL GENERAL
========================================================= */

@media (max-width: 520px) {

    .shalirou-global-header {
        min-height:
            82px;

        padding:
            8px 5%;
    }

    .shalirou-global-logo img {
        width:
            82px !important;

        max-width:
            82px !important;
    }

    .shalirou-header-actions {
        gap:
            10px;
    }

    .shalirou-search summary,
    .shalirou-cart {
        width:
            22px;

        height:
            22px;
    }

    .shalirou-search summary svg,
    .shalirou-cart svg {
        width:
            20px;

        height:
            20px;
    }

    .shalirou-search-panel {
        padding:
            14px 6%;
    }

    .shalirou-search-panel
    input[type="search"] {
        font-size:
            17px;
    }


    /* FOOTER */

    .shalirou-global-footer {
        padding:
            32px 7% 20px !important;
    }

    .shalirou-footer-main {
        grid-template-columns:
            1fr 1fr !important;

        gap:
            28px 20px !important;
    }

    .shalirou-footer-brand {
        grid-column:
            1 / -1 !important;
    }

    .shalirou-global-footer
    .shalirou-footer-brand > img {
        width:
            92px !important;

        max-width:
            92px !important;
    }

    .shalirou-footer-bottom {
        margin-top:
            28px !important;

        padding-top:
            15px !important;

        flex-direction:
            column !important;

        align-items:
            flex-start !important;

        gap:
            6px !important;
    }


    /* TIENDA */

    body.woocommerce-shop
    .site-main,

    body.post-type-archive-product
    .site-main,

    body.tax-product_cat
    .site-main {
        width:
            calc(100% - 36px) !important;

        padding:
            38px 0 60px !important;
    }

    .woocommerce-products-header__title.page-title,
    .woocommerce-shop .page-title,
    .tax-product_cat .page-title {
        font-size:
            46px !important;
    }

    .woocommerce
    .woocommerce-result-count,

    .woocommerce
    .woocommerce-ordering {
        width:
            100%;

        float:
            none !important;
    }

    .woocommerce
    .woocommerce-ordering select {
        width:
            100%;
    }

    .woocommerce ul.products {
        grid-template-columns:
            1fr !important;

        gap:
            48px !important;
    }

    .woocommerce
    ul.products
    li.product:first-child:last-child {
        max-width:
            none;
    }

    .woocommerce
    ul.products
    li.product
    .button {
        width:
            100% !important;
    }
}

/* =========================================================
   SHALIROU — CORRECCIONES FINALES PRODUCTO
   NO AGREGAR NADA DEBAJO DE ESTE BLOQUE
========================================================= */


/* ---------------------------------------------------------
   1. OCULTAR SKU + CATEGORÍA
--------------------------------------------------------- */

body.single-product .product_meta,
body.single-product .sku_wrapper,
body.single-product .posted_in,
body.single-product .tagged_as {
    display: none !important;
    visibility: hidden !important;
}


/* ---------------------------------------------------------
   2. RECUPERAR ESTRELLAS + "1 VALORACIÓN DE CLIENTE"
--------------------------------------------------------- */

body.single-product .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;

    visibility: visible !important;
    opacity: 1 !important;

    width: auto !important;
    height: auto !important;

    margin: 0 0 22px !important;
}

body.single-product .woocommerce-product-rating .star-rating {
    display: block !important;

    visibility: visible !important;
    opacity: 1 !important;

    color: #3D000C !important;
}

body.single-product .woocommerce-product-rating .woocommerce-review-link {
    display: inline-block !important;

    visibility: visible !important;
    opacity: 1 !important;

    color: #3D000C !important;

    font-size: 12px !important;
    font-weight: 400 !important;

    text-decoration: none !important;
}


/* ---------------------------------------------------------
   3. CHAROLA / ALAJERO / JARRÓN
   Usamos los IDs reales para que ninguna regla anterior gane
--------------------------------------------------------- */

body.single-product label[for="shalirou_charola"],
body.single-product label[for="shalirou_alajero"],
body.single-product label[for="shalirou_jarron"] {
    display: block !important;

    margin: 0 0 8px !important;

    color: #27231F !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.4 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;

    opacity: 1 !important;
}


/* ---------------------------------------------------------
   4. SELECTORES DE PERSONALIZACIÓN
--------------------------------------------------------- */

body.single-product select#shalirou_charola,
body.single-product select#shalirou_alajero,
body.single-product select#shalirou_jarron {
    width: 100% !important;

    height: 50px !important;

    padding: 0 40px 0 14px !important;

    background: #FFFDF9 !important;

    color: #27231F !important;

    border: 1px solid rgba(39, 35, 31, .18) !important;

    border-radius: 0 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;

    box-shadow: none !important;

    cursor: pointer !important;
}

body.single-product select#shalirou_charola:focus,
body.single-product select#shalirou_alajero:focus,
body.single-product select#shalirou_jarron:focus {
    outline: none !important;

    border-color: #3D000C !important;
}


/* ---------------------------------------------------------
   5. MEJOR ESPACIADO ENTRE LOS 3 CAMPOS
--------------------------------------------------------- */

body.single-product #shalirou-personalizacion .form-row {
    margin: 0 0 18px !important;
}

body.single-product #shalirou-personalizacion .form-row:last-child {
    margin-bottom: 0 !important;
}