/* ==========================================================
   Wild Balance — Estilos personalizados
   Versión controlada por WB_VERSION en functions.php
========================================================== */


/* ==========================================================
   VARIABLES GLOBALES
========================================================== */

:root {
    --wb-green: #00552f;
    --wb-green-dark: #004623;
    --wb-lime: #A8FF6A;
    --wb-border: #d9d6ca;
    --wb-bg: #e8e6dd;
}


/* ==========================================================
   BREADCRUMB — ocultar globalmente, mostrar solo en producto
========================================================== */

p#breadcrumbs.yoast,
.woocommerce-breadcrumb {
    display: none !important;
}

.single-product p#breadcrumbs.yoast,
.single-product .woocommerce-breadcrumb,
.tax-product_cat p#breadcrumbs.yoast,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag p#breadcrumbs.yoast,
.tax-product_tag .woocommerce-breadcrumb {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 22px !important;
    color: #004623 !important;
}

.term-description,
.term-description p {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-size: 24px !important;
    line-height: 34px !important;
    color: #004623 !important;
}

.single-product .woocommerce-breadcrumb span:last-of-type,
.tax-product_cat .woocommerce-breadcrumb span:last-of-type,
.tax-product_tag .woocommerce-breadcrumb span:last-of-type,
.single-product p#breadcrumbs.yoast .breadcrumb_last,
.tax-product_cat p#breadcrumbs.yoast .breadcrumb_last,
.tax-product_tag p#breadcrumbs.yoast .breadcrumb_last {
    color: var(--wb-green-dark) !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}


/* ==========================================================
   TÍTULOS DE PÁGINA — ocultar en secciones WooCommerce
========================================================== */

.woocommerce-shop h1.page-title,
.tax-product_cat h1.page-title,
.tax-product_tag h1.page-title {
    display: none !important;
}


/* ==========================================================
   DETALLE DE PRODUCTO — galería sticky
========================================================== */

.single-product .single-product-main-image {
    align-self: flex-start;
    will-change: transform;
}

/* Intercambio de anchos: galería span_7, summary span_5 */
@media (min-width: 691px) {
    .single-product .single-product-main-image {
        width: 57.5% !important;
        padding-right: 40px !important; /* tablet */
    }
    .single-product .summary.entry-summary {
        width: 40.5% !important;
    }
}

@media (min-width: 1000px) {
    .single-product .single-product-main-image {
        padding-right: 90px !important; /* desktop */
    }
}

@media (max-width: 690px) {
    .single-product .single-product-main-image {
        padding-right: 0 !important;
    }
}

/* Galería — border-radius en imágenes principal y thumbnails */
.single-product .flickity.product-slider .woocommerce-product-gallery__image img,
.single-product .flickity.product-slider .slide img,
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__wrapper img {
    border-radius: 8px;
}

.single-product .product-thumbs .thumb-inner img,
.single-product .product-thumbs .thumb img {
    border-radius: 8px;
}

/* Badge posicionado dentro de la galería */
.single-product .woocommerce-product-gallery {
    position: relative;
}

/* Single product — badge a la izquierda (evita la lupa) y más grande en desktop */
.single-product .wb-shop-badges {
    right: auto;
    left: 18px;
    align-items: flex-start;
}

@media (min-width: 1000px) {
    .single-product .wb-shop-badges .wb-badge--custom {
        font-size: 13px;
        padding: 10px 18px;
    }
    .single-product .wb-shop-badges .wb-badge--bestseller {
        font-size: 13px;
        padding: 7px 18px;
    }
}


/* ==========================================================
   ACORDEÓN DE TABS — detalle de producto
========================================================== */

/* Ocultar la barra de tabs nativa de WooCommerce */
.woocommerce-tabs ul.wc-tabs {
    display: none !important;
}

/* Quitar padding/margin del wrapper que dejaba espacio para los tabs */
.woocommerce-tabs {
    padding-top: 0 !important;
}

/* Ocultar hasta que el JS convierte a acordeón (evita FOUC) */
.single-product .woocommerce-tabs:not(.wb-accord-ready) {
    opacity: 0;
    pointer-events: none;
}
.single-product .woocommerce-tabs.wb-accord-ready {
    opacity: 1;
    transition: opacity 0.15s ease;
}

/* Cabecera de cada acordeón */
.woocommerce-tabs .wb-accord-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px !important;
    background: #fff !important;
    border-radius: 12px !important;
    border: none !important;
    cursor: pointer;
    user-select: none;
    gap: 12px;
}

/* margin-bottom separado con especificidad (0,3,2) > Salient (0,3,1) */
body.woocommerce-page .woocommerce-tabs div.wb-accord-header {
    margin-bottom: 8px !important;
}

.wb-accord-title {
    font-family: 'GrenettePro', serif;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    color: #004623;
}

/* Chevron — rota 180° cuando está abierto */
.wb-accord-chevron {
    color: var(--wb-green);
    flex-shrink: 0;
    transition: transform .25s ease;
}

.wb-accord-header[aria-expanded="true"] .wb-accord-chevron {
    transform: rotate(180deg);
}

/* Panel de contenido */
.woocommerce-tabs .wb-accord-panel {
    background: #fff !important;
    border-radius: 0 0 12px 12px;
    padding: 20px 20px 24px !important;
    overflow: hidden;
}
/* margin-bottom: especificidad (0,3,2) > Salient (0,3,1) con !important */
body.woocommerce-page .woocommerce-tabs div.wb-accord-panel {
    margin-bottom: 8px !important;
    margin-top: -16px !important;
}


/* ==========================================================
   TIENDA — listado de productos
========================================================== */


.nectar-slide-in-cart.style_slide_in_click .woocommerce-mini-cart__buttons{
    display: block !important;
}
.nectar-slide-in-cart.style_slide_in_click .woocommerce-mini-cart__buttons a.button{
    display: block !important;
    width: 100% !important;
    margin:0 !important;
}
.nectar-slide-in-cart.style_slide_in_click .woocommerce-mini-cart__buttons a.button.wc-forward{
    margin-bottom: 15px !important;
}

.nectar-slide-in-cart.style_slide_in_click .product-meta{
    display: block !important;
}

.nectar-slide-in-cart.style_slide_in_click .product-meta .product-details {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0;
    margin-bottom: 12px !important;
}

.nectar-slide-in-cart.style_slide_in_click .product-meta .product-details a{
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 14px !important;
    text-align: right;
}

.woocommerce-cart.woocommerce-page .woocommerce.wb-nectar-products{
    margin-bottom: 60px !important;
}

#header-outer #mobile-cart-link .cart-wrap span{
    background: #A8FF6A !important;
    color: #004623 !important;
    font-weight: bold;
}

/* Ocultar badge nativo de oferta */
.woocommerce span.onsale {
    display: none !important;
}

/* Ocultar "Ver carrito" que aparece tras añadir al carrito */
a.added_to_cart.wc-forward {
    display: none !important;
}

/* Badges posicionados sobre la imagen del producto */
.woocommerce ul.products li.product {
    position: relative;
}

.wb-shop-badges {
    position: absolute;
    top: 10px;
    right: 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    z-index: 2;
    pointer-events: none;
}

/* Badge custom (beneficio_destacado) */
.wb-shop-badges .wb-badge--custom {
    display: inline-block;
    background: #F4F0E2;
    color: #004623;
    padding: 8px 15px;
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    white-space: nowrap;
    line-height: 1.4;
    border-radius: 50px;
    border: 1px solid #004623;
    overflow: hidden;
    box-sizing: border-box;
}

/* Badge Bestseller — wrapper con drop-shadow */
.wb-shop-badges .wb-badge-frame {
    display: inline-block;
    filter:
        drop-shadow(0 0 0.5px #004623) drop-shadow(0 0 0.5px #004623) drop-shadow(0 0 0.5px #004623);
}

/* Badge Bestseller — forma perforada */
.wb-shop-badges .wb-badge--bestseller {
    display: inline-block;
    background: #C0EAF5;
    color: #004623;
    border: none;
    border-radius: 0;
    padding: 5px 14px;
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    white-space: nowrap;
    line-height: 1.4;
    -webkit-mask:
        radial-gradient(circle at 50% 0, transparent 4px, #000 4.5px) 0 0 / 9px 100% repeat-x,
        radial-gradient(circle at 50% 100%, transparent 4px, #000 4.5px) 0 0 / 9px 100% repeat-x,
        radial-gradient(circle at 0 50%, transparent 4px, #000 4.5px) 0 0 / 100% 9px repeat-y,
        radial-gradient(circle at 100% 50%, transparent 4px, #000 4.5px) 0 0 / 100% 9px repeat-y;
    -webkit-mask-composite: source-in, source-in, source-in;
    mask:
        radial-gradient(circle at 50% 0, transparent 4px, #000 4.5px) 0 0 / 9px 100% repeat-x,
        radial-gradient(circle at 50% 100%, transparent 4px, #000 4.5px) 0 0 / 9px 100% repeat-x,
        radial-gradient(circle at 0 50%, transparent 4px, #000 4.5px) 0 0 / 100% 9px repeat-y,
        radial-gradient(circle at 100% 50%, transparent 4px, #000 4.5px) 0 0 / 100% 9px repeat-y;
    mask-composite: intersect, intersect, intersect;
}

/* Border radius en la imagen del producto */
.woocommerce ul.products .product-wrap>a img,
.woocommerce ul.products .product-wrap>a {
    border-radius: 8px !important;
    overflow: hidden;
}

/* Botón añadir al carrito siempre visible (sin hover) */
.woocommerce .product-wrap .product-add-to-cart a {
    -webkit-transform: translateY(0) !important;
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Estilo del botón en el loop de productos */
.woocommerce ul.products li.product .product-add-to-cart a,
.woocommerce ul.products li.product .product-add-to-cart .button {
    display: inline-block !important;
    text-align: center !important;
    background: #004623 !important;
    color: #F4F0E2 !important;
    border: 2px solid #004623 !important;
    border-radius: 66px !important;
    padding: 11px 16px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    text-decoration: none !important;
    line-height: normal !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    margin-top: auto !important;
}

.woocommerce ul.products li.product .product-add-to-cart a:hover,
.woocommerce ul.products li.product .product-add-to-cart .button:hover {
    background: #002e16 !important;
    border-color: #002e16 !important;
    color: #F4F0E2 !important;
}

/* Contenedor de botones: space-between para alinear add-to-cart y quick view */
.woocommerce ul.products li.product .product-add-to-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
}

/* Add-to-cart ocupa el espacio restante */
.woocommerce ul.products li.product .product-add-to-cart>a:not(.nectar_quick_view),
.woocommerce ul.products li.product .product-add-to-cart>.button:not(.nectar_quick_view) {
    flex: 1 1 auto !important;
}

/* Quick view — solo ícono, botón redondo */
.woocommerce ul.products li.product .product-add-to-cart a.nectar_quick_view {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: var(--wb-lime) !important;
    border: 2px solid var(--wb-lime) !important;
    color: #004623 !important;
    margin-top: auto !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.woocommerce ul.products li.product .product-add-to-cart a.nectar_quick_view:hover {
    background: #002e16 !important;
    border-color: #002e16 !important;
    color: #F4F0E2 !important;
}

/* Ocultar el texto "Quick View" */
.woocommerce ul.products li.product .product-add-to-cart a.nectar_quick_view span {
    display: none !important;
}

/* Asegurar que el ícono sea visible y tenga tamaño correcto */
.woocommerce ul.products li.product .product-add-to-cart a.nectar_quick_view i {
    font-size: 18px !important;
    line-height: 1 !important;
    background: none !important;
    background-color: transparent !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    color: inherit !important;
    width: auto !important;
    height: auto !important;
}

/* Precio del producto en el loop */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price span,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price bdi {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

/* Pastilla "Disponible pronto" — productos sin precio */
.wb-coming-soon-pill {
    display: inline-block;
    background: #F4F0E2;
    color: #004623;
    border: 1px solid #004623;
    border-radius: 50px;
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    line-height: normal;
    white-space: nowrap;
}

.woocommerce ul.products li.product .wb-coming-soon-pill {
    display: inline-block;
    background: #F4F0E2;
    color: #004623;
    border: 1px solid #004623;
    border-radius: 50px;
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    line-height: normal;
    white-space: nowrap;
    margin-bottom: .5em;
}

/* Título del producto en el loop */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 23px !important;
    color: #004623 !important;
}


/* Espaciado vertical entre productos — responsive */
@media only screen and (min-width: 1300px) {
    body.woocommerce:not(.single-product) ul.products[data-n-desktop-columns="3"] li.product {
        width: 31.29% !important;
        margin: 0 2% 5% 0 !important;
    }
}

@media only screen and (max-width: 1299px) and (min-width: 1000px) {
    body.woocommerce:not(.single-product) ul.products li.product {
        margin-bottom: 4% !important;
    }
}

@media only screen and (max-width: 999px) and (min-width: 768px) {
    body.woocommerce:not(.single-product) ul.products li.product {
        margin-bottom: 3% !important;
    }
}

@media only screen and (max-width: 767px) {
    body.woocommerce:not(.single-product) ul.products li.product {
        margin-bottom: 6% !important;
    }
}

@media only screen and (max-width: 1024px) {
    body.woocommerce:not(.single-product) ul.products li.product {
        width: 100% !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* ==========================================================
   TIENDA — ordering y result count
========================================================== */

/* Eliminar el dropdown de ordenamiento */
.woocommerce-ordering {
    display: none !important;
}

/* Barra: pills (izquierda) + result count (derecha) */
.wb-shop-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.wb-result-count {
    margin: 0 !important;
    margin-left: auto !important;
    white-space: nowrap;
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 22px !important;
    color: #004623 !important;
}

/* Pills de filtros activos */
.wb-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.wb-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 13px;
    border-radius: 999px;
    background: var(--wb-lime);
    color: var(--wb-green-dark) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    line-height: 1.2;
    transition: opacity .15s ease;
    white-space: nowrap;
}

.wb-pill:hover {
    opacity: .8;
    color: var(--wb-green-dark) !important;
}

.wb-pill-x {
    font-size: 16px;
    font-weight: 300;
    line-height: 1;
    opacity: .75;
}

.wb-pill-clear {
    background: transparent !important;
    color: var(--wb-green) !important;
    border: 1.5px solid var(--wb-green);
}

.wb-pill-clear:hover {
    background: var(--wb-green) !important;
    color: #fff !important;
    opacity: 1;
}


/* ==========================================================
   DETALLE DE PRODUCTO — summary personalizado
========================================================== */

.single-product h1.product_title {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 32px !important;
    line-height: 43px !important;
    color: #004623;
}

@media (max-width: 999px) {
    .single-product h1.product_title {
        font-size: 26px !important;
        line-height: 34px !important;
    }
}

@media (max-width: 690px) {
    .single-product h1.product_title {
        font-size: 22px !important;
        line-height: 30px !important;
    }
}

/* Badge de entrega */
.wb-delivery-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 85, 47, .08);
    color: var(--wb-green);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
}

/* Ocultar short description nativa (Salient puede renderizarla fuera del hook) */
.single-product .woocommerce-product-details__short-description {
    display: none !important;
}

/* Ocultar precio duplicado que Salient inyecta con su clase propia */
.single-product .price.nectar-inherit-default {
    display: none !important;
}

/* Label sobre el qty+botón — ocupa fila completa gracias a flex-wrap del form */
.wb-qty-label {
    width: 100%;
    font-family: 'GrenettePro', serif;
    font-style: normal;
    font-weight: 600;
    font-size: 15.8px;
    line-height: 24px;
    color: #004623;
}

/* Precio con label */
.wb-product-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 20px;
}

.wb-price-label {
    font-family: 'GrenettePro', serif;
    font-style: normal;
    font-weight: 600;
    font-size: 15.8px;
    line-height: 24px;
    color: #004623;
}

.wb-price-label {
    font-size: 22px !important;
    line-height: 30px !important;
}

@media (max-width: 999px) {
    .wb-price-label {
        font-size: 20px !important;
        line-height: 28px !important;
    }
}

@media (max-width: 690px) {
    .wb-price-label {
        font-size: 18px !important;
        line-height: 26px !important;
    }
}

/* Subtítulo */
.wb-product-subtitle {
    font-size: 16px;
    color: var(--wb-green);
    font-weight: 500;
    margin: 0 0 20px;
    opacity: .8;
}

/* Bloque: categoría padre + tamaño */
body.single-product .entry-summary .wb-product-info-block {
    display: flex !important;
    gap: 24px;
    background: #D9D9C8 !important;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 24px;
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
    color: #004623 !important;
}

body.single-product .entry-summary .wb-product-info-block .wb-product-info-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    flex: 1;
    text-align: center;
    background: none !important;
    border: none !important;
    padding: 0;
}

body.single-product .entry-summary .wb-product-info-block .wb-info-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

body.single-product .entry-summary .wb-product-info-block .wb-info-text {
    font-size: 14px !important;
    line-height: 21px !important;
    color: #004623 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Beneficios */
body.single-product .entry-summary .wb-product-beneficios {
    margin-bottom: 24px;
}

body.single-product .entry-summary .wb-product-beneficios ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
}

body.single-product .entry-summary .wb-product-beneficios ul li {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px !important;
    color: var(--wb-green) !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.single-product .entry-summary .wb-product-beneficios ul li::before {
    content: '' !important;
    display: inline-block !important;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    background: var(--wb-green) !important;
    border-radius: 50%;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z' clip-rule='evenodd'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z' clip-rule='evenodd'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Fila inline: cantidad + botón */
.single-product form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap;
    margin-top: 8px !important;
}

/* Selector de cantidad estilizado */
.wb-qty-wrapper {
    display: flex !important;
    align-items: center !important;
    height: 48px !important;
    border: 2px solid var(--wb-green) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: #fff !important;
    flex-shrink: 0 !important;
}

.wb-qty-wrapper input.qty {
    width: 44px !important;
    height: 100% !important;
    text-align: center !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--wb-green) !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.wb-qty-wrapper input.qty::-webkit-inner-spin-button,
.wb-qty-wrapper input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.wb-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 48px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--wb-green) !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background .15s ease !important;
}

.wb-qty-btn:hover {
    background: rgba(0, 85, 47, .08) !important;
}

/* Ocultar botones nativos de WooCommerce (+/−) que duplican los nuestros */
.single-product .wb-qty-wrapper input.minus,
.single-product .wb-qty-wrapper input.plus {
    display: none !important;
}

/* Botón Añadir al carrito */
body[data-form-submit=regular].woocommerce-page .container-wrap button[type=submit].single_add_to_cart_button.button.alt,
body.woocommerce.single-product .single_add_to_cart_button.button {
    margin: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    flex: 1 1 auto !important;
    height: 48px !important;
    background: var(--wb-green) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 27px !important;
    letter-spacing: normal !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background .2s ease !important;
    text-align: center !important;
}

body.woocommerce.single-product .single_add_to_cart_button.button:hover {
    background: var(--wb-green-dark) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: none !important;
}

body.woocommerce.single-product .single_add_to_cart_button.button.loading {
    opacity: .7 !important;
    pointer-events: none !important;
}

@media (max-width: 767px) {
    .single-product form.cart {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .wb-qty-wrapper {
        align-self: flex-start !important;
    }

    .single-product .single_add_to_cart_button.button {
        width: 100% !important;
    }
}


/* ==========================================================
   WB CAROUSEL — inner_row .wb-carousel
========================================================== */

@media (max-width: 1024px) {
    .wb-carousel {
        overflow: hidden;
    }

    /* hijo directo: row_col_wrap_12, row_col_wrap_12_inner, row_col_wrap_9… */
    .wb-carousel > [class*="row_col_wrap_"] {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        margin: 0 !important;
        scrollbar-width: none;
        align-items: stretch;
    }

    .wb-carousel > [class*="row_col_wrap_"]::-webkit-scrollbar {
        display: none;
    }

    /* Tablet: 2 columnas — hijo directo del track, no columnas anidadas */
    .wb-carousel > [class*="row_col_wrap_"] > .wpb_column {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        float: none !important;
    }
}

@media (max-width: 767px) {
    /* Móvil: 1 columna */
    .wb-carousel > [class*="row_col_wrap_"] > .wpb_column {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Color del dot: variable local, override por modificador */
.wb-carousel          { --wb-dot-color: #004623; } /* default: verde oscuro */
.wb-carousel--light   { --wb-dot-color: #CCFFC0; } /* variante: verde lima */

/* Dots — insertados/eliminados por JS según breakpoint */
.wb-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.wb-carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: var(--wb-dot-color);
    opacity: 0.3;
    padding: 0;
    cursor: pointer;
    transition: opacity 0.25s ease;
    flex-shrink: 0;
}

.wb-carousel-dot.is-active {
    opacity: 1;
}

/* ==========================================================
   NECTAR WOO PRODUCTS — carrusel responsive (scroll-snap)
========================================================== */

@media (max-width: 1024px) {
    .wb-nectar-products {
        overflow: hidden;
    }

    .wb-nectar-products ul.products {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        gap: 16px;
        padding: 0 0 8px !important;
        margin: 0 !important;
        scrollbar-width: none;
    }

    .wb-nectar-products ul.products::-webkit-scrollbar {
        display: none;
    }

    /* Tablet: 2 items — scroll-snap-align lo asigna el JS por página */
    .wb-nectar-products ul.products > li.product {
        flex: 0 0 calc(50% - 8px) !important;
        width: auto !important;
        float: none !important;
        margin: 0 !important;
        box-sizing: border-box;
    }
}

@media (max-width: 767px) {
    /* Móvil: 1 item */
    .wb-nectar-products ul.products > li.product {
        flex: 0 0 100% !important;
    }
}

/* Dots — el JS los inserta/elimina del DOM según breakpoint */
.wb-nwp-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.wb-nwp-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: #004623;
    opacity: 0.25;
    padding: 0;
    cursor: pointer;
    transition: opacity 0.25s ease;
    flex-shrink: 0;
}

.wb-nwp-dot.is-active {
    opacity: 1;
}

/* ==========================================================
   TABS SHORTCODES — responsive phone
========================================================== */

@media (max-width: 767px) {
    .wb-product-categories__tabs,
    .wb-best-sellers__tabs {
        width: 100%;
    }

    .wb-product-categories__tab,
    .wb-best-sellers__tab {
        width: 50% !important;
        text-align: center;
    }
}

/* ==========================================================
   FILTROS SIDEBAR — TOGGLE MOBILE
========================================================== */

.wb-filters-trigger {
    display: none;
}

@media (max-width: 1024px) {
    /* Trigger 100% ancho */
    .wb-filters-trigger {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        background: #004623;
        color: #fff;
        border: none;
        border-radius: 12px;
        padding: 14px 20px;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 14px;
        line-height: normal;
        cursor: pointer;
        margin-bottom: 12px;
    }

    /* Sidebar oculto por defecto, se despliega hacia abajo */
    #sidebar.col {
        display: none !important;
        width: 100% !important;
        float: none !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
    }

    #sidebar.col.wb-filters-open {
        display: block !important;
    }
}

/* ==========================================================
   FILTROS SIDEBAR — [wildbalance_filter_*]
========================================================== */

.woocommerce #sidebar .widget,
.woocommerce-page #sidebar .widget {
    margin-bottom: 0 !important;
}

#sidebar .wb-filter-widget .wb-filter-list {
    padding-top: 20px;
}

.wb-filter-widget {
    width: 100%;
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 20px;
    box-sizing: border-box;
}

.wb-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
    padding-bottom: 0;
}

.wb-filter-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wb-filter-icon {
    color: var(--wb-green);
    display: flex;
    align-items: center;
}

.wb-filter-title {
    font-weight: 600;
    font-size: 18px;
    color: var(--wb-green);
    margin: 0;
    line-height: 1.2;
}

.wb-filter-toggle {
    font-size: 24px;
    font-weight: 600;
    color: var(--wb-green);
    line-height: 1;
}

.wb-filter-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wb-filter-list[hidden] {
    display: none;
}

.wb-filter-item {
    border-bottom: 1px solid rgba(0, 85, 47, .1);
    padding: 5px 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-size: 14.6px !important;
    line-height: 22px !important;
}

.wb-filter-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 0 !important;
    text-decoration: none !important;
    gap: 12px;
}

.wb-filter-title {
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    font-size: 14.6px !important;
    line-height: 22px !important;
    color: #004623 !important;
}

.wb-filter-label {
    font-weight: 600;
    font-size: 16px;
    color: var(--wb-green);
    text-transform: capitalize;
    flex: 1;
}

.wb-filter-circle {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border-radius: 50% !important;
    border: none !important;
    box-shadow: 0px 0px 0px 1.5px #004623, 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
    flex-shrink: 0 !important;
    display: block !important;
    background: transparent;
    transition: background .15s ease;
    box-sizing: border-box !important;
}

.wb-filter-link.is-active .wb-filter-circle {
    background: #004623 !important;
    box-shadow: 0px 0px 0px 1.5px #004623, inset 0 0 0 3px #fff !important;
}

.wb-filter-link:hover .wb-filter-circle {
    background: rgba(0, 85, 47, .1) !important;
}

.wb-filter-link.is-active:hover .wb-filter-circle {
    background: var(--wb-green) !important;
    opacity: .85;
}


/* ==========================================================
   CART — "También te puede interesar"
========================================================== */

/* Fondo de la página del carrito */
body.woocommerce-cart.woocommerce-page .container-wrap {
    background-color: #f5f0e2 !important;
}

/* Página checkout — fondo crema */
body.woocommerce-checkout.woocommerce-page .container-wrap {
    background: #f5f0e2 !important;
}

/* Resumen del pedido — fondo blanco */
.wp-block-woocommerce-checkout-order-summary-block {
    background: #fff !important;
}

/* Botón "Realizar el pedido" — block checkout */
body.woocommerce-checkout.woocommerce-page .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    border-color: var(--wb-lime) !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

body.woocommerce-checkout.woocommerce-page .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover {
    background: #8fdf50 !important;
    border-color: #8fdf50 !important;
}

/* Botón "Realizar el pedido" — classic shortcode checkout */
.woocommerce #order_review #payment #place_order {
    background: #A8FF6A !important;
    color: #004623 !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    padding: 18px 48px !important;
    width: 100% !important;
    text-shadow: none !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
}
.woocommerce #order_review #payment #place_order:hover {
    background: #8fdf50 !important;
    color: #004623 !important;
}
@media (max-width: 767px) {
    .woocommerce #order_review #payment #place_order {
        font-size: 16px !important;
        padding: 15px 32px !important;
    }
}

body.woocommerce-cart.woocommerce-page .wc-block-components-sidebar-layout .wc-block-components-main {
    background: transparent !important;
    padding: 0 !important;
}

/* Aviso cupón — fondo verde oscuro */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background-color: var(--wb-green-dark) !important;
    border-color: var(--wb-green-dark) !important;
    color: #fff !important;
    border-radius: 25px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
    color: #fff !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: var(--wb-lime) !important;
    font-weight: bold !important;
    background: transparent;
}

/* Formulario cupón */
.woocommerce-checkout .woocommerce-form-coupon {
    background: #fff;
    border: 1.5px solid var(--wb-lime);
    border-radius: 12px;
    padding: 20px 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}
.woocommerce-checkout .woocommerce-form-coupon .form-row {
    margin: 0;
    flex: 1 1 auto;
}
.woocommerce-checkout .woocommerce-form-coupon input.input-text {
    width: 100%;
    border: 1.5px solid #d0d0d0;
    border-radius: 50px;
    padding: 10px 18px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
    background: #fafafa;
}
.woocommerce-checkout .woocommerce-form-coupon input.input-text:focus {
    border-color: var(--wb-green-dark);
    background: #fff;
}
.woocommerce-checkout .woocommerce-form-coupon .form-row-last {
    flex: 0 0 auto;
}
.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"] {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 10px 24px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}
.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:hover {
    background: #8fdf50 !important;
}

body.woocommerce-cart.woocommerce-page .wc-block-cart-items,
body.woocommerce-cart.woocommerce-page .wp-block-woocommerce-cart-line-items-block {
    background: #fff !important;
    padding: 25px 35px !important;
    border-radius: 15px !important;
}

/* Botón "Finalizar compra" en página carrito */
body.woocommerce-cart.woocommerce-page .wc-block-cart__submit-button {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    border-color: var(--wb-lime) !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}


.wb-cart-upsell {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--wb-border);
}

.wb-cart-upsell-title {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    color: #004623 !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 24px;
}

/* Encabezado de tabla del carrito */
.wc-block-cart-items__header-image span,
.wc-block-cart-items__header-product span,
.wc-block-cart-items__header-total span {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-size: 25.8px !important;
    line-height: 23px !important;
    color: #004623 !important;
}

/* Imagen */
.wb-cart-upsell ul.products .product-wrap>a img,
.wb-cart-upsell ul.products .product-wrap>a {
    border-radius: 8px !important;
    overflow: hidden;
}

/* Título del producto */
.wb-cart-upsell ul.products li.product .woocommerce-loop-product__title,
.wb-cart-upsell ul.products li.product h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    color: #004623 !important;
}

/* Precio */
.wb-cart-upsell ul.products li.product .price,
.wb-cart-upsell ul.products li.product .price span,
.wb-cart-upsell ul.products li.product .price ins,
.wb-cart-upsell ul.products li.product .price del,
.wb-cart-upsell ul.products li.product .price bdi {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a3520 !important;
    line-height: 1.3 !important;
}

/* Botón añadir al carrito */
.wb-cart-upsell ul.products li.product .product-add-to-cart a,
.wb-cart-upsell ul.products li.product .product-add-to-cart .button {
    display: inline-block !important;
    background: #004623 !important;
    color: #F4F0E2 !important;
    border: 2px solid #004623 !important;
    border-radius: 50px !important;
    padding: 11px 16px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: background 0.2s ease !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
    margin-top: 12px !important;
}

.wb-cart-upsell ul.products li.product .product-add-to-cart a:hover,
.wb-cart-upsell ul.products li.product .product-add-to-cart .button:hover {
    background: #002e16 !important;
    border-color: #002e16 !important;
}

/* Ocultar quick view en upsell */
.wb-cart-upsell ul.products li.product .product-add-to-cart a.nectar_quick_view,
.wb-cart-upsell ul.products li.product .product-add-to-cart .nectar_quick_view {
    display: none !important;
}

/* Siempre visible el botón */
.wb-cart-upsell .product-wrap .product-add-to-cart a {
    -webkit-transform: translateY(0) !important;
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* ==========================================================
   ACCORDION — Toggle title
========================================================== */

.toggles h3.toggle-title a.toggle-heading,
.toggles h3.toggle-title a.nectar-inherit-h4 {
    font-family: 'DM Sans', sans-serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    line-height: 25px !important;
}


/* ==========================================================
   PAGINADOR — WooCommerce
========================================================== */

/* Wrapper centrado */
.woocommerce nav.woocommerce-pagination {
    text-align: center !important;
    width: 100% !important;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    list-style: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    margin: 0 !important;
}

/* Todos los números en círculo */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul li span.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: var(--wb-green) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    line-height: 1 !important;
    padding: 0 !important;
}

/* Hover */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
}

/* Página activa — círculo lime */
.woocommerce nav.woocommerce-pagination ul li span.page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li .page-numbers.current {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Anterior / Siguiente — sin círculo */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.prev,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.next {
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    padding: 0 6px !important;
    background: transparent !important;
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers.prev:hover,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.next:hover {
    background: transparent !important;
    color: var(--wb-green-dark) !important;
    text-decoration: underline !important;
}


/* ==========================================================
   QUICK VIEW — homologación de estilos
========================================================== */

/* Título */
.nectar-quick-view-box .product_title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    color: #004623 !important;
    margin-bottom: 10px !important;
}

/* Precio */
.nectar-quick-view-box .price,
.nectar-quick-view-box .price span,
.nectar-quick-view-box .price ins,
.nectar-quick-view-box .price del,
.nectar-quick-view-box .price bdi {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a3520 !important;
    line-height: 1.3 !important;
}

/* Base compartida para ambos botones */
.nectar-quick-view-box .single_add_to_cart_button,
.nectar-quick-view-box .single_add_to_cart_button_wrap .single_add_to_cart_button,
.nectar-quick-view-box .nectar-full-product-link a {
    display: inline-block !important;
    border-radius: 66px !important;
    padding: 11px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    text-decoration: none !important;
    text-align: center !important;
    line-height: normal !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

/* Añadir al carrito — verde oscuro */
.nectar-quick-view-box .single_add_to_cart_button,
.nectar-quick-view-box .single_add_to_cart_button_wrap .single_add_to_cart_button {
    background: #004623 !important;
    color: #F4F0E2 !important;
    border: 2px solid #004623 !important;
}

.nectar-quick-view-box .single_add_to_cart_button:hover,
.nectar-quick-view-box .single_add_to_cart_button_wrap .single_add_to_cart_button:hover {
    background: #002e16 !important;
    border-color: #002e16 !important;
}

/* Ver producto completo — lime */
.nectar-quick-view-box .nectar-full-product-link a {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    border: 2px solid var(--wb-lime) !important;
}

.nectar-quick-view-box .nectar-full-product-link a:hover {
    background: #8edf56 !important;
    border-color: #8edf56 !important;
}

/* Barra inferior de botones — ambos inline en fila */
.nectar-quick-view-box .single_add_to_cart_button_wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 8px 15px !important;
}

.nectar-quick-view-box .single_add_to_cart_button_wrap .single_add_to_cart_button,
.nectar-quick-view-box .single_add_to_cart_button_wrap .nectar-full-product-link {
    flex: 1 1 auto !important;
    text-align: center !important;
}

/* Ocultar .onsale dentro del quick view (ya oculto globalmente) */
.nectar-quick-view-box span.onsale {
    display: none !important;
}

/* Ocultar botón submit del form — el wrapper inferior ya lo reemplaza */
.nectar-quick-view-box form.cart .single_add_to_cart_button {
    display: none !important;
}

/* Label cantidad */
.nectar-quick-view-box .wb-qty-label {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #004623 !important;
    margin-bottom: 6px !important;
}


/* ==========================================================
   SIDEBAR CARRITO — título del producto
========================================================== */

.nectar-slide-in-cart .product-meta .product-details a {
    line-height: 1.12 !important;
    display: block !important;
}


/* ==========================================================
   SIDEBAR CARRITO — botones
========================================================== */

.nectar-slide-in-cart.style_slide_in_click .widget_shopping_cart a.button {
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

/* "Finalizar compra" — fondo lime en estado normal */
.nectar-slide-in-cart.style_slide_in_click .widget_shopping_cart a.button.checkout {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    border-color: var(--wb-lime) !important;
}


/* ==========================================================
   HEADER — Contador del carrito
========================================================== */

body.material #header-outer a.cart-contents .cart-wrap span,
#header-outer a.cart-contents .cart-wrap span,
#header-outer .cart-wrap span,
#mobile-cart-link .cart-wrap span {
    background: #A8FF6A !important;
    color: #004623 !important;
}

/* ==========================================================
   PÁGINA GRACIAS / ORDER RECEIVED
========================================================== */

body.woocommerce-order-received.woocommerce-page .container-wrap {
    background: #f5f0e2 !important;
}

/* Mensaje de confirmación destacado */
body.woocommerce-order-received .woocommerce-notice--success {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    color: #004623 !important;
    background: var(--wb-lime) !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 28px 36px !important;
    margin-bottom: 36px !important;
    text-align: center !important;
}

/* Overview — resumen del pedido */
body.woocommerce-order-received .woocommerce-order-overview {
    background: #fff !important;
    border-radius: 15px !important;
    padding: 24px 32px !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 0 !important;
    margin: 0 0 32px !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1a3520 !important;
    border-right: 1px solid #d9d9d9 !important;
    padding: 0 28px !important;
    margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-order-overview li:first-child {
    padding-left: 0 !important;
}

body.woocommerce-order-received .woocommerce-order-overview li:last-child {
    border-right: none !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
    display: block !important;
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    color: #004623 !important;
    margin-top: 4px !important;
}

/* Sección detalles del pedido */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    background: #fff !important;
    border-radius: 15px !important;
    padding: 28px 36px !important;
    margin-bottom: 24px !important;
}

/* Títulos de sección */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 20px !important;
    color: #004623 !important;
    margin-bottom: 20px !important;
}

/* Tabla completa */
body.woocommerce-order-received .woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* Encabezado de tabla */
body.woocommerce-order-received .woocommerce-table--order-details thead {
    background: #f5f0e2 !important;
    border-radius: 10px !important;
}

body.woocommerce-order-received .woocommerce-table--order-details thead th {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #004623 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    padding: 14px 16px !important;
    border-bottom: none !important;
}

body.woocommerce-order-received .woocommerce-table--order-details thead th:first-child {
    border-radius: 10px 0 0 10px !important;
}

body.woocommerce-order-received .woocommerce-table--order-details thead th:last-child {
    border-radius: 0 10px 10px 0 !important;
    text-align: right !important;
}

/* Filas de productos */
body.woocommerce-order-received .woocommerce-table--order-details tbody tr {
    border-bottom: 1px solid #f0ebe0 !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tbody td {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    padding: 16px 16px !important;
    border-bottom: 1px solid #f0ebe0 !important;
    vertical-align: middle !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tbody td.product-total {
    text-align: right !important;
    font-weight: 600 !important;
    color: #004623 !important;
    white-space: nowrap !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tbody td a {
    color: #004623 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tbody td a:hover {
    color: var(--wb-lime) !important;
    text-decoration: none !important;
}

/* Badge de cantidad */
body.woocommerce-order-received .woocommerce-table--order-details .product-quantity {
    display: inline-block !important;
    background: #f5f0e2 !important;
    color: #004623 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 50px !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
}

/* Footer de tabla */
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr th,
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr td {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #f0ebe0 !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tfoot tr td {
    text-align: right !important;
    font-weight: 600 !important;
}

/* Fila de total — destacada */
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child td {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #004623 !important;
    border-top: 2px solid #004623 !important;
    border-bottom: none !important;
    padding-top: 18px !important;
    padding-bottom: 4px !important;
}

/* Dirección */
body.woocommerce-order-received .woocommerce-customer-details address {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    line-height: 1.7 !important;
    border: none !important;
}

/* Botones de acción post-pedido */
.wb-thankyou-actions {
    display: flex !important;
    gap: 16px !important;
    justify-content: center !important;
    margin-top: 32px !important;
    flex-wrap: wrap !important;
}

.wb-thankyou-actions a {
    display: inline-block !important;
    border-radius: 50px !important;
    padding: 14px 32px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
    cursor: pointer !important;
}

.wb-thankyou-actions .wb-btn-primary {
    background: #004623 !important;
    color: #F4F0E2 !important;
    border: 2px solid #004623 !important;
}

.wb-thankyou-actions .wb-btn-primary:hover {
    background: #002e16 !important;
    border-color: #002e16 !important;
}

.wb-thankyou-actions .wb-btn-secondary {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    border: 2px solid var(--wb-lime) !important;
}

.wb-thankyou-actions .wb-btn-secondary:hover {
    background: #8fdf50 !important;
    border-color: #8fdf50 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email {
    color: #004623 !important;
    font-weight: 600 !important;
    margin-top: 8px !important;
}

/* Columnas de dirección */
body.woocommerce-order-received .woocommerce-columns--addresses {
    gap: 24px !important;
}

/* ==========================================================
   MI CUENTA — Account pages
========================================================== */

body.woocommerce-account .container-wrap {
    background: #f5f0e2 !important;
}

/* Layout: sidebar + contenido */
body.woocommerce-account .woocommerce {
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
}

/* Sidebar nav */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #fff !important;
    border-radius: 15px !important;
    padding: 22px 0 12px 0 !important;
    min-width: 220px !important;
    flex-shrink: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(0, 85, 47, 0.08) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
    border-top: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none !important;
}

/* Quitar iconos */
body.woocommerce-account .woocommerce-MyAccount-navigation-link a:before {
    display: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link a {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: normal !important;
    color: #1a3520 !important;
    padding: 11px 20px !important;
    text-decoration: none !important;
    border-right: 3px solid transparent !important;
    transition: color 0.15s ease, border-color 0.15s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
    background: none !important;
    color: #004623 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
    background: none !important;
    color: #004623 !important;
    font-weight: 700 !important;
    border-right-color: var(--wb-lime) !important;
}

/* Salir */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: red !important;
    opacity: 1;
    font-weight: bold !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: none !important;
    color: red !important;
    opacity: 1;
    font-weight: bold !important;
}

/* Contenido principal */
body.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 !important;
    background: #fff !important;
    border-radius: 15px !important;
    padding: 28px 36px !important;
    min-width: 0 !important;
}

/* Notice de verificación */
body.woocommerce-account .woocommerce-info {
    background: #f5f0e2 !important;
    border: none !important;
    border-radius: 10px !important;
    color: #1a3520 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    padding: 14px 20px !important;
    margin-bottom: 24px !important;
}

body.woocommerce-account .woocommerce-info::before {
    display: none !important;
}

body.woocommerce-account .woocommerce-info a.button {
    background: #004623 !important;
    color: #F4F0E2 !important;
    border-radius: 50px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 8px 18px !important;
    border: none !important;
    float: none !important;
    display: inline-block !important;
    margin-right: 12px !important;
    text-decoration: none !important;
    height: auto !important;
}

/* Tabla de pedidos */
body.woocommerce-account .woocommerce-orders-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

body.woocommerce-account .woocommerce-orders-table thead tr {
    background: #f5f0e2 !important;
}

body.woocommerce-account .woocommerce-orders-table thead th {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #004623 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    padding: 14px 16px !important;
    border-bottom: none !important;
}

body.woocommerce-account .woocommerce-orders-table thead th:first-child {
    border-radius: 10px 0 0 10px !important;
}

body.woocommerce-account .woocommerce-orders-table thead th:last-child {
    border-radius: 0 10px 10px 0 !important;
}

body.woocommerce-account .woocommerce-orders-table tbody td,
body.woocommerce-account .woocommerce-orders-table tbody th {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    padding: 16px !important;
    border-bottom: 1px solid #f0ebe0 !important;
    vertical-align: middle !important;
}

/* Número de pedido */
body.woocommerce-account .woocommerce-orders-table__cell-order-number a {
    font-weight: 700 !important;
    color: #004623 !important;
    text-decoration: none !important;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
    color: var(--wb-lime) !important;
}

/* Badge de estado */
body.woocommerce-account .woocommerce-orders-table__cell-order-status {
    font-size: 12px !important;
    font-weight: 700 !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
    color: #004623 !important;
}

/* Total */
body.woocommerce-account .woocommerce-orders-table__cell-order-total {
    font-weight: 600 !important;
    color: #004623 !important;
}

/* Botón Ver */
body.woocommerce-account .woocommerce-orders-table .woocommerce-button.view {
    display: inline-block !important;
    background: #004623 !important;
    color: #F4F0E2 !important;
    border: 2px solid #004623 !important;
    border-radius: 50px !important;
    padding: 8px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background 0.2s ease !important;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-button.view:hover {
    background: #002e16 !important;
    border-color: #002e16 !important;
}

/* Última fila sin borde */
body.woocommerce-account .woocommerce-orders-table tbody tr:last-child td,
body.woocommerce-account .woocommerce-orders-table tbody tr:last-child th {
    border-bottom: none !important;
}

@media only screen and (max-width: 768px) {
    body.woocommerce-account .woocommerce {
        flex-direction: column !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px 16px !important;
    }
}


/* ==========================================================
   MI CUENTA — Detalle de pedido
========================================================== */

/* Párrafo de estado: "El pedido #XXX se realizó el..." */
body.woocommerce-account .woocommerce-MyAccount-content>p {
    background: #f5f0e2 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
}

/* Mark: número de pedido y fecha */
body.woocommerce-account .woocommerce-MyAccount-content mark.order-number,
body.woocommerce-account .woocommerce-MyAccount-content mark.order-date {
    background: none !important;
    font-weight: 700 !important;
    color: #004623 !important;
}

/* Mark: estado — pill lime */
body.woocommerce-account .woocommerce-MyAccount-content mark.order-status {
    background: var(--wb-lime) !important;
    color: var(--wb-green-dark) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    padding: 2px 11px !important;
    border-radius: 50px !important;
    vertical-align: middle !important;
}

/* Títulos de sección dentro de la cuenta */
body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-column__title {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    color: #004623 !important;
    padding-bottom: 14px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid rgba(0, 85, 47, 0.1) !important;
}

/* Sección de detalles */
body.woocommerce-account .woocommerce-order-details {
    margin-bottom: 36px !important;
}

/* Tabla de productos del pedido */
body.woocommerce-account .woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* Header de tabla */
body.woocommerce-account .woocommerce-table--order-details thead tr {
    background: #f5f0e2 !important;
}

body.woocommerce-account .woocommerce-table--order-details thead th {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #004623 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 13px 16px !important;
    border-bottom: none !important;
}

body.woocommerce-account .woocommerce-table--order-details thead th:first-child {
    border-radius: 10px 0 0 10px !important;
}

body.woocommerce-account .woocommerce-table--order-details thead th:last-child {
    border-radius: 0 10px 10px 0 !important;
    text-align: right !important;
}

/* Filas de productos */
body.woocommerce-account .woocommerce-table--order-details tbody td {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    padding: 15px 16px !important;
    border-bottom: 1px solid rgba(0, 85, 47, 0.07) !important;
    vertical-align: middle !important;
}

body.woocommerce-account .woocommerce-table--order-details tbody tr:last-child td {
    border-bottom: none !important;
}

/* Columna Total — alineada a la derecha */
body.woocommerce-account .woocommerce-table--order-details tbody td.product-total {
    text-align: right !important;
    font-weight: 600 !important;
    color: #004623 !important;
    white-space: nowrap !important;
}

/* Link del nombre del producto */
body.woocommerce-account .woocommerce-table--order-details tbody td a {
    color: #004623 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

body.woocommerce-account .woocommerce-table--order-details tbody td a:hover {
    text-decoration: underline !important;
}

/* Cantidad ×N */
body.woocommerce-account .woocommerce-table--order-details .product-quantity {
    font-weight: 400 !important;
    color: #6a8a72 !important;
    margin-left: 4px !important;
}

/* Footer de tabla: subtotal, envío, total, pago */
body.woocommerce-account .woocommerce-table--order-details tfoot tr th,
body.woocommerce-account .woocommerce-table--order-details tfoot tr td {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid rgba(0, 85, 47, 0.06) !important;
}

body.woocommerce-account .woocommerce-table--order-details tfoot tr td {
    text-align: right !important;
    font-weight: 600 !important;
}

/* Fila de total — destacada */
body.woocommerce-account .woocommerce-table--order-details tfoot tr:nth-last-child(2) th,
body.woocommerce-account .woocommerce-table--order-details tfoot tr:nth-last-child(2) td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #004623 !important;
    border-top: 2px solid rgba(0, 85, 47, 0.15) !important;
    border-bottom: 1px solid rgba(0, 85, 47, 0.06) !important;
    padding-top: 16px !important;
}

/* ==========================================================
   MI CUENTA — Dirección de facturación y envío
========================================================== */

body.woocommerce-account .woocommerce-columns--addresses {
    gap: 20px !important;
    margin-top: 0 !important;
}

body.woocommerce-account .woocommerce-column {
    background: #f5f0e2 !important;
    border-radius: 14px !important;
    padding: 22px 26px !important;
}

body.woocommerce-account .woocommerce-customer-details address {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    line-height: 1.8 !important;
    font-style: normal !important;
    border: none !important;
    padding: 0 !important;
}

body.woocommerce-account .woocommerce-customer-details--email {
    color: #004623 !important;
    font-weight: 600 !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

@media only screen and (max-width: 768px) {
    body.woocommerce-account .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   MI CUENTA — Página de direcciones (facturación y envío)
========================================================== */

/* Grid 2 columnas */
body.woocommerce-account .u-columns.woocommerce-Addresses {
    gap: 20px !important;
    margin: 0 !important;
}

/* Tarjeta de cada dirección */
body.woocommerce-account .woocommerce-Address {
    background: #fff !important;
    border: 1px solid var(--wb-border) !important;
    border-radius: 14px !important;
    padding: 24px 26px !important;
    box-sizing: border-box !important;
}

/* Header: título + botón editar en la misma fila */
body.woocommerce-account .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(0, 85, 47, 0.1) !important;
}

/* Título h2 de la dirección */
body.woocommerce-account .woocommerce-Address-title h2 {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #004623 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.2 !important;
}

/* Botón "Editar" — pill verde oscuro */
body.woocommerce-account .woocommerce-Address-title a.edit {
    display: inline-block !important;
    background: transparent !important;
    color: var(--wb-green) !important;
    border: 1.5px solid var(--wb-green) !important;
    border-radius: 50px !important;
    padding: 5px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

body.woocommerce-account .woocommerce-Address-title a.edit:hover {
    background: var(--wb-green) !important;
    color: #fff !important;
}

/* Contenido de la dirección */
body.woocommerce-account .woocommerce-Address address {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    line-height: 1.9 !important;
    font-style: normal !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Responsive */
@media only screen and (max-width: 768px) {
    body.woocommerce-account .u-columns.woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   MI CUENTA — Formulario editar cuenta y contraseña
========================================================== */

/* Grid para filas dobles (--first / --last) */


/* Filas de ancho completo */
body.woocommerce-account .woocommerce-EditAccountForm .woocommerce-form-row--wide,
body.woocommerce-account .woocommerce-EditAccountForm fieldset,
body.woocommerce-account .woocommerce-EditAccountForm .clear,
body.woocommerce-account .woocommerce-EditAccountForm>p:last-of-type {
    grid-column: 1 / -1 !important;
}

/* Párrafo genérico dentro del form */
body.woocommerce-account .woocommerce-EditAccountForm p {
    margin-bottom: 20px !important;
}

/* Labels */
body.woocommerce-account .woocommerce-EditAccountForm label {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--wb-green) !important;
    margin-bottom: 7px !important;
}

/* Asterisco requerido */
body.woocommerce-account .woocommerce-EditAccountForm label .required {
    color: #c0392b !important;
    margin-left: 2px !important;
    font-weight: 700 !important;
}

/* Inputs de texto y email */
body.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Input {
    width: 100% !important;
    height: 46px !important;
    padding: 0 16px !important;
    border: 1.5px solid var(--wb-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1a3520 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Input:focus {
    border-color: var(--wb-green) !important;
    box-shadow: 0 0 0 3px rgba(0, 85, 47, 0.08) !important;
}

/* Texto descriptivo bajo el campo */
body.woocommerce-account .woocommerce-EditAccountForm span[id$="_description"] {
    display: block !important;
    margin-top: 6px !important;
}

body.woocommerce-account .woocommerce-EditAccountForm span[id$="_description"] em {
    font-family: 'Montserrat', sans-serif !important;
    font-style: normal !important;
    font-size: 12px !important;
    color: #6a8a72 !important;
    line-height: 1.5 !important;
}

/* ── Fieldset cambio de contraseña ─────────────────── */
body.woocommerce-account .woocommerce-EditAccountForm fieldset {
    border: 1.5px solid rgba(0, 85, 47, 0.12) !important;
    border-radius: 14px !important;
    padding: 24px 26px 10px !important;
    margin: 8px 0 24px !important;
    background: #f5f0e2 !important;
}

body.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
    font-family: 'GrenettePro', 'Grenette Pro', serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #004623 !important;
    padding: 0 10px !important;
    margin-left: -6px !important;
}

/* Inputs dentro del fieldset — fondo blanco */
body.woocommerce-account .woocommerce-EditAccountForm fieldset .woocommerce-Input {
    background: #fff !important;
}

/* Wrapper del input de contraseña (relativo para el botón show/hide) */
body.woocommerce-account .woocommerce-EditAccountForm .password-input {
    position: relative !important;
    display: block !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .password-input .woocommerce-Input {
    padding-right: 48px !important;
}

/* Botón ojo mostrar/ocultar contraseña */
body.woocommerce-account .woocommerce-EditAccountForm .show-password-input {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    color: #6a8a72 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    transition: color 0.15s ease !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .show-password-input:hover {
    color: var(--wb-green) !important;
}

/* Botón Guardar cambios */
body.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button[type="submit"] {
    display: inline-block !important;
    background: var(--wb-green) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 13px 32px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button[type="submit"]:hover {
    background: var(--wb-green-dark) !important;
}

/* Responsive */
@media only screen and (max-width: 768px) {
    body.woocommerce-account .woocommerce-EditAccountForm {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   HEADER MÓVIL — iconos custom (solo ≤999px, igual que Salient)
========================================================== */

@media only screen and (max-width: 999px) {

    /* Ocultar iconos font nativos de Salient */
    .mobile-search .nectar-icon,
    .mobile-search span[class*="icon-salient"],
    .mobile-user-account .nectar-icon,
    .mobile-user-account span[class*="icon-salient"],
    .mobile-user-account .normal {
        font-size: 0 !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        position: absolute !important;
    }

    /* Base para los tres iconos */
    .mobile-search,
    .mobile-user-account,
    #mobile-cart-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Lupa */
    .mobile-search::before {
        content: '' !important;
        display: inline-block !important;
        width: 22px !important;
        height: 22px !important;
        background: var(--wb-green-dark) !important;
        -webkit-mask: url('/wp-content/themes/salient-child/image/ico/icon-lupa.svg') center / contain no-repeat !important;
        mask: url('/wp-content/themes/salient-child/image/ico/icon-lupa.svg') center / contain no-repeat !important;
    }

    /* Usuario */
    .mobile-user-account::before {
        content: '' !important;
        display: inline-block !important;
        width: 22px !important;
        height: 22px !important;
        background: var(--wb-green-dark) !important;
        -webkit-mask: url('/wp-content/themes/salient-child/image/ico/icon-user.svg') center / contain no-repeat !important;
        mask: url('/wp-content/themes/salient-child/image/ico/icon-user.svg') center / contain no-repeat !important;
    }

    /* Carrito — ocultar icono font y usar SVG */
    #mobile-cart-link i[class*="icon-salient-cart"] {
        font-size: 0 !important;
        width: 0 !important;
        opacity: 0 !important;
        position: absolute !important;
    }

    #mobile-cart-link::before {
        content: '' !important;
        display: inline-block !important;
        width: 22px !important;
        height: 22px !important;
        background: var(--wb-green-dark) !important;
        -webkit-mask: url('/wp-content/themes/salient-child/image/ico/icon-cart.svg') center / contain no-repeat !important;
        mask: url('/wp-content/themes/salient-child/image/ico/icon-cart.svg') center / contain no-repeat !important;
        flex-shrink: 0 !important;
    }

}


/* ==========================================================
   SISTEMA DE VALORACIONES Y COMENTARIOS (WILD BALANCE)
========================================================== */

/* --- 1. Resumen de estrellas bajo el título en summary --- */
.wb-product-rating-summary {
    display: flex;
    align-items: center;
    margin: 4px 0 12px 0;
}

.wb-rating-stars-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
    color: var(--wb-green-dark) !important;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.wb-rating-stars-link:hover {
    opacity: 0.82;
    transform: translateY(-1px);
}

.wb-stars-display {
    display: inline-flex;
    align-items: center;
}

.wb-svg-stars {
    display: inline-flex;
    align-items: center;
    gap: 2.5px;
}

.wb-star-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.wb-rating-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--wb-green-dark);
}

.wb-rating-score {
    font-weight: 700;
    color: var(--wb-green-dark);
    margin-right: 4px;
}

.wb-rating-count {
    color: #55675D;
}

.wb-rating-empty-label {
    color: #6B7C73;
}

.wb-rating-write-link {
    color: var(--wb-green);
    font-weight: 600;
    margin-left: 2px;
}

.wb-rating-stars-link:hover .wb-rating-write-link {
    text-decoration: underline;
}


/* --- 2. Contenedor de la sección completa debajo del producto --- */
.wb-reviews-wrapper-full {
    width: 100%;
    clear: both;
    margin: 40px 0 60px 0;
    box-sizing: border-box;
}

.wb-reviews-section {
    background: #FFFFFF;
    border: 1px solid #ECE7DE;
    border-radius: 20px;
    padding: 44px 40px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
}

/* --- 3. Título centrado de la sección (arriba del slider) --- */
.wb-reviews-top-title-wrap {
    text-align: center;
    margin-bottom: 30px;
}

.wb-reviews-main-heading {
    font-family: 'GrenettePro', serif !important;
    font-style: normal;
    font-weight: 600 !important;
    font-size: 30px !important;
    line-height: 38px !important;
    color: var(--wb-green-dark) !important;
    margin: 0 !important;
    text-align: center;
}

/* --- 4. Slider de reseñas (formato de tarjetas como en la imagen) --- */
.wb-reviews-slider-section {
    margin-bottom: 10px;
}

.wb-reviews-slider-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Flechas de navegación del slider */
.wb-slider-arrow {
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    color: var(--wb-green-dark) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px !important;
    flex-shrink: 0;
    border-radius: 50%;
    transition: transform 0.2s ease, opacity 0.2s ease, color 0.2s ease !important;
}

.wb-slider-arrow:hover {
    transform: scale(1.25);
    color: #002b15 !important;
}

.wb-slider-arrow.is-disabled {
    opacity: 0.25;
    pointer-events: none;
}

/* Pista deslizante (track) */
.wb-reviews-slider-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    padding: 12px 4px 22px 4px;
    width: 100%;
    box-sizing: border-box;
}

.wb-reviews-slider-track::-webkit-scrollbar {
    display: none;
}

/* Tarjeta individual de reseña (como en la captura del usuario) */
.wb-review-slide-card {
    flex: 0 0 calc((100% - 48px) / 3);
    width: calc((100% - 48px) / 3);
    box-sizing: border-box;
    scroll-snap-align: start;
    background: #FFFFFF;
    border: 1px solid #ECE7DE;
    border-radius: 12px;
    padding: 24px 24px 20px 24px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 280px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.wb-review-slide-card:hover {
    border-color: #D6D0C2;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

/* Fila superior: Estrellas verdes + Fecha */
.wb-card-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.wb-card-stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

.wb-card-date {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #8C9991;
    font-weight: 500;
}

/* Fila de usuario: Icono en caja + Nombre + Badge "Verificado" */
.wb-card-user-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.wb-user-icon-box {
    width: 38px;
    height: 38px;
    border: 1.5px solid var(--wb-green-dark);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F6FAF7;
    flex-shrink: 0;
}

.wb-user-info-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.wb-user-name {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--wb-green-dark);
    line-height: 1.3;
}

.wb-verified-pill {
    display: inline-block;
    background: var(--wb-green-dark);
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 3px;
    letter-spacing: 0.3px;
    line-height: 1.3;
}

/* Texto del comentario */
.wb-card-text-wrap {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #4A5568;
    flex-grow: 1;
    margin-bottom: 16px;
}

.wb-review-snippet,
.wb-review-full-text {
    margin: 0 !important;
    word-break: break-word;
}

/* Enlace Reseña Completa y Foto Miniatura al pie */
.wb-card-bottom-row {
    margin-top: auto;
    padding-top: 6px;
}

.wb-card-photo-thumb {
    margin-bottom: 8px;
}

.wb-card-photo-thumb img {
    width: 38px;
    height: 38px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ECE7DE;
    display: block;
}

.wb-card-full-link {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--wb-green-dark) !important;
    text-decoration: underline !important;
    cursor: pointer;
    transition: color 0.15s ease;
}

.wb-card-full-link:hover {
    color: var(--wb-green) !important;
}


/* --- 5. Barra de Resumen de Reseñas y CTA (3 Columnas como en la imagen) --- */
.wb-write-review-section {
    margin-top: 36px;
    padding-top: 28px;
    padding-bottom: 28px;
    border-top: 1px solid #ECE7DE;
    border-bottom: 1px solid #ECE7DE;
}

.wb-reviews-summary-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Divisores verticales */
.wb-summary-divider {
    width: 1px;
    height: 110px;
    background: #ECE7DE;
    flex-shrink: 0;
}

/* Columna 1: Puntuación media y número de reseñas */
.wb-summary-col--score {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    box-sizing: border-box;
}

.wb-score-stars-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.wb-score-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.wb-score-star {
    fill: var(--wb-green-dark);
    stroke: var(--wb-green-dark);
}

.wb-score-number {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--wb-green-dark);
}

.wb-score-count-line {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wb-score-count-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 13.5px;
    color: #4A5B52;
    font-weight: 500;
}

.wb-verified-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wb-verified-check-icon {
    display: block;
}

/* Columna 2: Histograma de puntuaciones (5 a 1 estrellas) */
.wb-summary-col--histogram {
    flex: 1.35;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 6px 36px;
    box-sizing: border-box;
}

.wb-histogram-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.wb-histogram-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    width: 78px;
}

.wb-mini-star {
    flex-shrink: 0;
}

.wb-histogram-bar-track {
    flex: 1;
    height: 11px;
    background: #EFEFEF;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
    min-width: 110px;
}

.wb-histogram-bar-fill {
    height: 100%;
    background: var(--wb-green-dark);
    border-radius: 2px;
    transition: width 0.3s ease;
}

.wb-histogram-count {
    font-family: 'Montserrat', sans-serif;
    font-size: 12.5px;
    color: #8C9991;
    font-weight: 500;
    width: 22px;
    text-align: right;
    flex-shrink: 0;
}

/* Columna 3: Botón Escribir una reseña */
.wb-summary-col--action {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    box-sizing: border-box;
}

.wb-summary-write-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--wb-green-dark) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 14px 34px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color 0.2s ease, transform 0.15s ease !important;
    white-space: nowrap;
}

.wb-summary-write-btn:hover {
    background: var(--wb-green) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 70, 35, 0.18) !important;
}

/* Adaptabilidad responsive de la barra de resumen */
@media (max-width: 820px) {
    .wb-reviews-summary-bar {
        flex-direction: column;
        gap: 18px;
    }

    .wb-summary-divider {
        width: 100%;
        height: 1px;
    }

    .wb-summary-col--score,
    .wb-summary-col--histogram,
    .wb-summary-col--action {
        width: 100%;
        padding: 6px 12px;
    }

    .wb-summary-col--histogram {
        max-width: 340px;
    }

    .wb-summary-write-btn {
        width: 100%;
        max-width: 280px;
    }
}


/* Formulario */
.wb-review-form-wrapper {
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.wb-review-form-wrapper.wb-form-hidden {
    display: none;
}

.wb-review-form-card {
    background: #FDFBF7;
    border: 1.5px solid #E5DFD3;
    border-radius: 18px;
    padding: 34px 38px;
    box-sizing: border-box;
    max-width: 800px;
    margin: 0 auto;
}

.wb-form-intro {
    margin-bottom: 24px;
    text-align: center;
}

.wb-form-title {
    font-family: 'GrenettePro', serif !important;
    font-size: 22px !important;
    line-height: 28px !important;
    color: var(--wb-green-dark) !important;
    font-weight: 600 !important;
    margin: 0 0 6px 0 !important;
}

.wb-form-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #55675D;
    margin: 0;
}

/* Selector interactivo de estrellas */
.wb-star-rating-picker-block {
    margin-bottom: 24px;
    padding: 18px 20px;
    background: #FFFFFF;
    border: 1px solid #ECE7DE;
    border-radius: 12px;
}

.wb-form-label {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--wb-green-dark);
    margin-bottom: 8px;
}

.wb-form-label .required {
    color: #D32F2F;
}

.wb-star-rating-picker {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wb-star-rating-picker.has-error {
    outline: 2px dashed #D32F2F;
    border-radius: 8px;
    padding: 6px;
}

.wb-picker-stars-row {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wb-picker-star {
    background: transparent !important;
    border: none !important;
    padding: 4px !important;
    cursor: pointer;
    color: #DCD7CB !important;
    transition: transform 0.15s ease, color 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wb-picker-star svg {
    pointer-events: none;
    fill: currentColor;
}

.wb-picker-star:hover {
    transform: scale(1.18);
}

.wb-picker-star.is-active,
.wb-picker-star.is-hovered {
    color: var(--wb-green-dark) !important;
}

.wb-rating-feedback-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--wb-green-dark);
}

/* Campos del formulario: flex-direction column ordenado */
.wb-comment-form {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* 1. Puntuación (arriba) */
.wb-comment-form .wb-star-rating-picker-block {
    order: 1 !important;
    margin-bottom: 22px !important;
}

/* 2. Comentario / opinión */
.wb-comment-form .wb-form-field--comment {
    order: 2 !important;
    margin-bottom: 20px !important;
}

/* 3. Nombre - Correo */
.wb-comment-form .wb-form-row--author-email,
.wb-comment-form .wb-form-row {
    order: 3 !important;
    display: flex;
    gap: 18px;
    margin-bottom: 16px;
    width: 100%;
}

.wb-comment-form .wb-logged-in-as {
    order: 3 !important;
    margin-bottom: 16px !important;
}

.wb-form-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.wb-form-field--half {
    flex: 1;
    margin-bottom: 0;
}

.wb-input,
.wb-textarea {
    width: 100% !important;
    background: #FFFFFF !important;
    border: 1.5px solid #D9D5CA !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1A2F24 !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wb-input:focus,
.wb-textarea:focus {
    border-color: var(--wb-green-dark) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 70, 35, 0.12) !important;
}

.wb-textarea {
    min-height: 120px;
    resize: vertical;
}

.wb-form-hint {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    color: #7A847E;
    margin-top: 4px;
}

.wb-logged-in-as {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #55675D;
    margin-bottom: 16px;
    text-align: center;
}

.wb-logged-in-as strong {
    color: var(--wb-green-dark);
}

.wb-logged-in-as a {
    color: var(--wb-green);
    text-decoration: underline;
}

/* 4. Checkbox guardar información */
.wb-comment-form .wb-form-cookies-consent {
    order: 4 !important;
    margin-bottom: 24px !important;
    padding: 2px 0;
}

.wb-checkbox-label {
    display: inline-flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #4A5568;
    user-select: none;
}

.wb-checkbox {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin-top: 2px !important;
    accent-color: var(--wb-green-dark) !important;
    cursor: pointer;
    border-radius: 4px;
}

.wb-checkbox-text {
    color: #4A5568;
    transition: color 0.15s ease;
}

.wb-checkbox-label:hover .wb-checkbox-text {
    color: var(--wb-green-dark);
}

/* 5. Botón de publicar valoración */
.wb-comment-form p.form-submit {
    order: 5 !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    float: none !important;
}

.wb-comment-form .wb-form-submit-row {
    order: 5 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0;
}

.wb-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: var(--wb-green-dark) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 14px 36px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(0, 70, 35, 0.18) !important;
}

.wb-btn-primary:hover {
    background: var(--wb-green) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 70, 35, 0.28) !important;
}

/* Estado vacío */
.wb-no-reviews-box {
    text-align: center;
    padding: 40px 24px;
    background: #FAF8F4;
    border: 1.5px dashed #DFDACF;
    border-radius: 16px;
    max-width: 600px;
    margin: 0 auto;
}

.wb-no-reviews-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: #FFFFFF;
    border-radius: 50%;
    margin-bottom: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.wb-no-reviews-title {
    font-family: 'GrenettePro', serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: var(--wb-green-dark) !important;
    margin: 0 0 8px 0 !important;
}

.wb-no-reviews-desc {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #55675D;
    max-width: 480px;
    margin: 0 auto;
}

.wb-reviews-verification-notice {
    background: #FAF8F2;
    border: 1px solid #ECE7DC;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 30px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #55675D;
    text-align: center;
}


/* --- 6. Adaptabilidad Responsive (móvil y tablet) --- */
@media (max-width: 991px) {
    .wb-review-slide-card {
        flex: 0 0 calc((100% - 24px) / 2);
        width: calc((100% - 24px) / 2);
    }

    .wb-reviews-section {
        padding: 34px 24px;
    }
}

@media (max-width: 640px) {
    .wb-reviews-section {
        padding: 28px 16px;
        border-radius: 16px;
    }

    .wb-reviews-main-heading {
        font-size: 24px !important;
        line-height: 30px !important;
    }

    .wb-reviews-slider-wrapper {
        gap: 0;
    }

    .wb-slider-arrow {
        display: none !important;
    }

    .wb-reviews-slider-track {
        padding: 8px 2px 18px 2px;
        gap: 16px;
    }

    .wb-review-slide-card {
        flex: 0 0 88%;
        width: 88%;
        padding: 20px 18px;
        min-height: 260px;
    }

    .wb-review-form-card {
        padding: 24px 18px;
    }

    .wb-form-row {
        flex-direction: column;
        gap: 14px;
    }
}


/* ==========================================================
   7. MODAL MULTI-PASO DE RESEÑAS — WILD BALANCE
   Flujo interactivo de 4 pasos fiel a la línea gráfica
========================================================== */

/* Bloqueo de scroll cuando el modal está abierto */
body.wb-modal-active {
    overflow: hidden !important;
}

/* Contenedor principal del Modal */
.wb-review-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.wb-review-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Telón de fondo oscuro con desenfoque */
.wb-review-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 25, 18, 0.52);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: pointer;
}

/* Cuadro de diálogo del modal */
.wb-review-modal-dialog {
    position: relative;
    background: #FFFFFF;
    border-radius: 6px;
    width: 100%;
    max-width: 480px;
    box-shadow: 0 24px 60px rgba(0, 40, 20, 0.22);
    padding: 38px 34px 32px 34px;
    box-sizing: border-box;
    z-index: 2;
    transform: translateY(18px) scale(0.98);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    max-height: 92vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #D9D5CA transparent;
}

.wb-review-modal.is-open .wb-review-modal-dialog {
    transform: translateY(0) scale(1);
}

/* Botón cerrar modal en esquina superior derecha */
.wb-modal-close-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    color: #8C9991 !important;
    padding: 6px !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease, background 0.15s ease !important;
}

.wb-modal-close-btn:hover {
    color: var(--wb-green-dark) !important;
    background: #F2F7F4 !important;
}

/* Banner de error dinámico */
.wb-step-error-banner {
    background: #FFF1F0;
    border: 1px solid #FFCCC7;
    color: #CF1322;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 500;
    padding: 10px 14px;
    border-radius: 4px;
    margin-bottom: 18px;
    text-align: center;
    line-height: 1.4;
}

/* Pasos del formulario */
.wb-multistep-form {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.wb-form-step {
    display: none;
    flex-direction: column;
    animation: wbModalStepFade 0.24s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.wb-form-step.is-active {
    display: flex;
}

@keyframes wbModalStepFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tipografía de Encabezados de pasos */
.wb-step-product-title {
    font-family: 'GrenettePro', serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #1A2F24 !important;
    text-align: center !important;
    margin: 0 auto 20px auto !important;
    max-width: 420px;
}

.wb-step-heading {
    font-family: 'GrenettePro', serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #1A2F24 !important;
    text-align: center !important;
    margin: 0 0 6px 0 !important;
}

.wb-step-subheading {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #55675D !important;
    text-align: center !important;
    margin: 0 0 28px 0 !important;
}

/* Selector de 5 estrellas grandes (Paso 1 y Paso 4) */
.wb-step-rating-block {
    margin-bottom: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.wb-step-stars-row,
.wb-store-stars-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.wb-star-btn,
.wb-store-star-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease !important;
}

.wb-star-btn:hover,
.wb-store-star-btn:hover {
    transform: scale(1.15);
}

.wb-star-svg {
    width: 38px;
    height: 38px;
    stroke: var(--wb-green-dark);
    stroke-width: 1.8px;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: fill 0.15s ease, stroke 0.15s ease;
}

/* Estado activo / rellenado de estrellas */
.wb-star-btn.is-active .wb-star-svg,
.wb-star-btn.is-hovered .wb-star-svg,
.wb-store-star-btn.is-active .wb-star-svg,
.wb-store-star-btn.is-hovered .wb-star-svg {
    fill: var(--wb-green-dark);
}

/* Etiquetas Pobre / Excelente */
.wb-step-stars-labels {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 250px;
    margin-top: 6px;
    box-sizing: border-box;
}

.wb-label-poor,
.wb-label-excellent {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #1A2F24;
}

/* Campos de formulario */
.wb-step-field-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px;
    width: 100%;
    box-sizing: border-box;
}

.wb-step-field-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #1A2F24;
    margin-bottom: 8px;
    text-align: left;
}

.wb-step-textarea,
.wb-step-input {
    width: 100% !important;
    background: #FFFFFF !important;
    border: 1px solid #D9D5CA !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1A2F24 !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wb-step-textarea {
    min-height: 140px;
    resize: vertical;
}

.wb-step-textarea:focus,
.wb-step-input:focus {
    border-color: var(--wb-green-dark) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 70, 35, 0.14) !important;
}

.wb-step-textarea.has-error,
.wb-step-input.has-error {
    border-color: #D32F2F !important;
    box-shadow: 0 0 0 2px rgba(211, 47, 47, 0.12) !important;
}

/* Nota de Términos y Privacidad (Paso 1) */
.wb-step-disclaimer {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    color: #7A847E !important;
    text-align: center !important;
    margin: 14px 0 24px 0 !important;
}

.wb-step-disclaimer a {
    color: #55675D !important;
    text-decoration: underline !important;
    transition: color 0.15s ease;
}

.wb-step-disclaimer a:hover {
    color: var(--wb-green-dark) !important;
}

/* Checkbox anónimo (Paso 2) */
.wb-step-checkbox-group {
    margin-top: 6px;
    margin-bottom: 24px;
}

.wb-step-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 13.5px;
    color: #55675D;
}

.wb-step-checkbox {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    accent-color: var(--wb-green-dark) !important;
    cursor: pointer;
    border-radius: 4px;
}

/* Zona de Carga Dropzone (Paso 3) */
.wb-step-dropzone {
    border: 1.5px dashed #B8C2BC;
    border-radius: 4px;
    background: #FAFBF9;
    padding: 34px 20px;
    text-align: center;
    cursor: pointer;
    min-height: 150px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.wb-step-dropzone:hover,
.wb-step-dropzone.is-dragover {
    border-color: var(--wb-green-dark);
    background: #F2F7F4;
}

.wb-dropzone-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    color: #2C3E35;
}

.wb-dropzone-text {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13.5px !important;
    color: #718096 !important;
    margin: 0 !important;
}

.wb-dropzone-text strong {
    font-weight: 600;
    color: #2C3E35;
}

/* Vista previa de miniatura con botón 'X' (Paso 3, Captura 4) */
.wb-dropzone-preview {
    margin-top: 14px;
}

.wb-preview-thumbnail-wrap {
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto;
    border-radius: 4px;
    overflow: visible;
}

.wb-preview-thumbnail-wrap img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.wb-preview-remove-btn {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #FFFFFF !important;
    border: 1.5px solid #2C3E35 !important;
    color: #2C3E35 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    transition: transform 0.15s ease, background 0.15s ease !important;
}

.wb-preview-remove-btn:hover {
    transform: scale(1.15);
    background: #F0F4F2 !important;
}

/* Filas de navegación */
.wb-step-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 32px;
    box-sizing: border-box;
}

.wb-step-back-link {
    background: transparent !important;
    border: none !important;
    color: #1A2F24 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 0 !important;
    transition: color 0.15s ease !important;
}

.wb-step-back-link:hover {
    color: var(--wb-green) !important;
}

.wb-step-btn-primary {
    background: var(--wb-green-dark) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 34px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease !important;
}

.wb-step-btn-primary:hover {
    background: var(--wb-green) !important;
    box-shadow: 0 4px 14px rgba(0, 70, 35, 0.2) !important;
}

.wb-step-btn-primary:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Spinner de carga */
.wb-btn-loader {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wb-spinner {
    animation: wbRotate 1s linear infinite;
}

@keyframes wbRotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Paso 4: Agradecimiento y Experiencia de Compra (Captura 5) */
.wb-step-heading--success {
    font-size: 26px !important;
    font-weight: 600 !important;
    color: #1A2F24 !important;
    text-align: center !important;
    margin: 0 0 6px 0 !important;
}

.wb-step-subheading--success {
    font-size: 14px !important;
    color: #55675D !important;
    text-align: center !important;
    margin: 0 0 32px 0 !important;
}

.wb-step-feedback-block {
    text-align: center;
    margin-bottom: 24px;
}

.wb-feedback-title {
    font-family: 'GrenettePro', serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #1A2F24 !important;
    text-align: center !important;
    margin: 0 0 10px 0 !important;
}

.wb-feedback-desc {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #55675D !important;
    text-align: center !important;
    margin: 0 0 22px 0 !important;
}

.wb-step-final-row {
    display: flex;
    justify-content: center;
    margin-top: 28px;
    width: 100%;
}

.wb-step-final-row .wb-step-btn-primary {
    padding: 12px 48px !important;
}

/* Notificación Toast en la ficha al enviar reseña */
.wb-review-submitted-toast {
    background: #EAF7EE;
    border: 1.5px solid #A8DDB5;
    border-radius: 10px;
    padding: 16px 20px;
    margin: 0 auto 28px auto;
    max-width: 680px;
    box-shadow: 0 4px 14px rgba(0, 70, 35, 0.06);
    animation: wbModalStepFade 0.3s ease forwards;
}

.wb-toast-content {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--wb-green-dark);
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

/* Adaptabilidad móvil del Modal */
@media (max-width: 600px) {
    .wb-review-modal {
        padding: 12px;
    }

    .wb-review-modal-dialog {
        padding: 30px 20px 24px 20px;
    }

    .wb-step-product-title {
        font-size: 17px !important;
    }

    .wb-step-heading {
        font-size: 21px !important;
    }

    .wb-star-svg {
        width: 32px;
        height: 32px;
    }

    .wb-step-stars-labels {
        max-width: 210px;
    }

    .wb-step-btn-primary {
        padding: 11px 26px !important;
    }
}