/*
Theme Name:   Mundonendo Child
Theme URI:    https://mundonendo.com
Description:  Child theme de GeneratePress para mundonendo.com
Author:       Richirocko
Template:     generatepress
Version:      1.0.1
Text Domain:  mundonendo
*/

/* ==========================================================
   DESIGN SYSTEM — Variables globales minimalista
   ========================================================== */
:root {
  --color-bg:          #FFFFFF;
  --color-bg-soft:     #F5F5F0;
  --color-bg-warm:     #F4EEDE;
  --color-border:      #E0E0E0;
  --color-border-warm: #E0CEAA;
  --color-text:        #3C3C43;
  --color-text-mid:    #515151;
  --color-text-muted:  #999999;
  --color-accent:      #BC002D;
  --color-accent-hover:#8B0021;
  --color-black:       #000000;
  --color-white:       #FFFFFF;
  --font-primary:      'Noto Sans', sans-serif;
  --font-serif:        'Noto Serif', serif;
  --max-width:         1600px;
}


/* ==========================================================
   FICHA DE PRODUCTO — Layout principal
   ========================================================== */

/* Layout 2 columnas: galería izquierda, datos derecha */
.woocommerce div.product {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 48px 40px;
}



/* Anular floats de woocommerce-layout.css */
.nendo-product-cols {
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-template-rows: auto auto;
    gap: 0 40px;
    overflow: visible;
    padding-top: 40px;
}

.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    float: none !important;
    width: auto !important;
    clear: none !important;
}
.woocommerce div.product .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
}

.woocommerce div.product .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
}
.nendo-product-cols .clean-gallery {
    grid-column: 1;
    grid-row: 2;
    position: sticky;
    top: 135px;
    align-self: start;
    max-width: 806px;
}

.nendo-product-cols .summary.entry-summary {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    width: auto !important;
    align-self: start;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .up-sells,
.woocommerce div.product .related {
    grid-column: 1 / -1;
}

/* Wrap título + logo marca */
.nendo-title-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 8px 0;
}

.nendo-title-text {
    flex: 1;
    min-width: 0;
}

.nendo-title-wrap .product_title {
    margin: 0 !important;
    word-break: break-word;
}

.nendo-brand-logo-wrap {
    padding-top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.nendo-wishlist-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0;
}

/* Tablet: logo en el título, ocultar el del precio */
@media (min-width: 600px) and (max-width: 999px) {
    .nendo-title-mobile .nendo-brand-logo-wrap {
        display: flex;
        padding-top: 0;
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
    }
    .nendo-price-wrap .nendo-brand-logo-wrap {
        display: none;
    }
}

/* Móvil: logo a la derecha a la altura del título */
@media (max-width: 599px) {
    .nendo-title-mobile .nendo-title-wrap {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }
    .nendo-title-mobile .nendo-brand-logo-wrap {
        display: flex;
        padding-top: 0;
        flex-direction: column;
        align-items: flex-end;
    }
}

.nendo-brand-logo-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    width: 100px;
}

.nendo-brand-logo {
    width: 100%;
    height: auto;
    display: block;
}

/* Título del producto */
.woocommerce div.product .product_title {
    font-family: var(--font-primary);
    font-size: 26px;
    font-weight: 500;
    color: var(--color-text);
    line-height: 1.4;
    margin: 0 0 16px 0;
    border: none;
}

@media (max-width: 599px) {
    .woocommerce div.product .product_title {
        font-size: 24px;
    }
}

/* Precio */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 24px;
    font-weight: 600;
    color: var(--color-text);
    margin: 0 0 32px 0;
    display: block;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none;
    color: var(--color-accent);
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: var(--color-text-muted);
    font-size: 16px;
    font-weight: 400;
    margin-right: 8px;
}

/* ==========================================================
   TAGS Y MARCAS — píldoras debajo del botón
   ========================================================== */
.nendo-tags-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    justify-content: flex-start;
    margin-top: 40px;
}

/* Tablet y móvil: debajo del carrito, más alejado */
@media (max-width: 999px) {
    .nendo-tags-wrap {
        margin-top: 48px;
        padding: 0;
    }
}

/* Desktop: tags dentro del summary, debajo del carrito */
@media (min-width: 1000px) {
    .woocommerce div.product .summary .nendo-tags-wrap {
        display: flex;
        margin-top: 24px;
        justify-content: center;
    }
}

/* nendo-tags-desktop oculto en todas las resoluciones — no se usa */
.nendo-tags-desktop {
    display: none !important;
}

.nendo-tag-pill {
    font-size: 12px;
    font-weight: 400;
    color: var(--color-text-mid);
    background: var(--color-bg-soft);
    border: 1px solid var(--color-border);
    padding: 5px 12px;
    text-decoration: none;
}

.nendo-tag-pill--brand {
    background: var(--color-bg-soft);
    border-color: var(--color-border);
    color: var(--color-text-mid);
}

/* Logo marca — enlace sin subrayado */
.nendo-brand-logo-link {
    display: block;
    line-height: 0;
}

/* ==========================================================
   BLOQUE PREVENTA EXPRESS
   ========================================================== */
.nendo-preorder-block {
    margin: 0 0 36px 0;
}

@media (min-width: 1000px) {
    .nendo-title-desktop {
        margin-bottom: 12px;
    }
}

.nendo-preorder-status {
    background: #5a5f66;
    color: var(--color-white);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-align: center;
    padding: 10px 20px;
    margin-bottom: 28px;
}

@media (max-width: 999px) and (min-width: 600px) {
    .nendo-preorder-status {
        margin-left: -40px;
        margin-right: -40px;
        padding-left: 0;
        padding-right: 0;
    }
}
@media (max-width: 599px) {
    .nendo-preorder-status {
        margin-left: -16px;
        margin-right: -16px;
        padding-left: 0;
        padding-right: 0;
    }
}

.nendo-preorder-details {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 0 8px;
}

@media (max-width: 1200px) {
    .nendo-preorder-details {
        flex-direction: column;
        gap: 8px;
    }
    .nendo-preorder-right {
        text-align: left;
        flex-shrink: 1;
    }
}

.nendo-preorder-left {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nendo-preorder-reserve {
    font-size: 14px;
    color: var(--color-text);
}

.nendo-preorder-reserve strong {
    font-size: 17px;
    font-weight: 700;
}

.nendo-preorder-balance {
    font-size: 13px;
    color: var(--color-text-mid);
}

.nendo-preorder-right {
    font-size: 13px;
    color: var(--color-accent);
    font-weight: 500;
    text-align: right;
}

.nendo-preorder-right strong {
    font-weight: 700;
}

/* ==========================================================
   GRILLA DE DATOS NENDOROID
   ========================================================== */
.nendo-data-grid {
    border-top: none;
    margin: 0 0 36px 0;
}

.nendo-data-row {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 0 16px;
    padding: 11px 0;
    border-bottom: none;
    align-items: baseline;
}

.nendo-data-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nendo-data-value {
    font-size: 14px;
    color: var(--color-text);
    line-height: 1.5;
}

.nendo-data-value a {
    color: var(--color-text);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.nendo-data-value a:hover {
    color: var(--color-accent);
}

/* Nombre en japonés */
.nendo-jp {
    font-size: 12px;
    color: var(--color-text-muted);
    margin-left: 6px;
}

/* Estado — colores por tipo */
.nendo-status {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 8px;
    display: inline-block;
}

.nendo-status--disponible    { background: #E8F5E9; color: #2E7D32; }
.nendo-status--agotado       { background: var(--color-bg-soft); color: var(--color-text-muted); }
.nendo-status--preventa      { background: #E3F2FD; color: #1565C0; }
.nendo-status--encargo       { background: var(--color-bg-warm); color: #8B6914; }
.nendo-status--exclusivo     { background: #F3E5F5; color: #6A1B9A; }
.nendo-status--descontinuado { background: var(--color-bg-soft); color: var(--color-text-muted); }

/* Precio inline dentro del form */
.nendo-price-inline {
    width: 100%;
    text-align: center;
}
.nendo-price-inline .price {
    font-size: 28px;
    font-weight: 600;
    color: var(--color-text);
    display: block;
    margin: 0;
}

/* ==========================================================
   BOTÓN AÑADIR AL CARRITO — estilo minimalista
   ========================================================== */
.woocommerce div.product form.cart {
    margin: 12px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

/* Selector de cantidad — 3 elementos centrados */
.woocommerce div.product form.cart .quantity {
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce div.product form.cart .qty {
    border: 1px solid #D8D8D9;
    border-radius: 4px;
    height: 45px;
    width: 59px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    font-family: var(--font-primary);
    color: var(--color-text);
    background: #FFFFFF;
    -moz-appearance: textfield;
    appearance: textfield;
}

.woocommerce div.product form.cart .qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Botones − y + */
.nendo-qty-btn {
    width: 45px;
    height: 45px;
    background: #D8D8D9 !important;
    border: none !important;
    border-radius: 4px !important;
    color: var(--color-text) !important;
    font-size: 22px;
    font-weight: 400;
    line-height: 45px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 2px;
    transition: background 0.15s;
    user-select: none;
    box-shadow: none !important;
}

.nendo-qty-btn--minus.is-one {
    background: #F5F5F5 !important;
}

.nendo-qty-btn:hover {
    background: #b8b8b9 !important;
}

/* Botón añadir al carrito */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button {
    background: #3C3C43 !important;
    color: var(--color-white) !important;
    border: none !important;
    border-radius: 6px !important;
    width: 448px;
    max-width: 80%;
    height: 68px;
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: var(--color-accent) !important;
}

/* Separadores de grilla — quitarlos */
.nendo-data-grid {
    border-top: none;
    margin: 0 0 28px 0;
}

.nendo-data-row {
    border-bottom: none;
}

/* ==========================================================
   RESPONSIVE — móvil
   ========================================================== */
@media (max-width: 999px) {
    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 20px 0 0 0;
    }

    .woocommerce-breadcrumb-wrap {
        grid-row: 1;
    }

    .woocommerce div.product .woocommerce-product-gallery {
        grid-column: 1;
        grid-row: 2;
        position: static;
    }

    .woocommerce div.product .summary.entry-summary {
        grid-column: 1;
        grid-row: 3;
    }

    .nendo-data-row {
        grid-template-columns: 100px 1fr;
    }
}

/* ==========================================================
   ========================================================== */

/* Contenedor tabs */
.woocommerce-tabs {
    border-top: 1px solid var(--color-border);
    margin-top: 60px;
}

/* Nav de tabs */
.woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
    border-bottom: 1px solid var(--color-border);
    background: none;
}

.woocommerce-tabs ul.tabs::before {
    display: none;
}

.woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0;
    margin: 0;
}

.woocommerce-tabs ul.tabs li a {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 16px 28px;
    display: block;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.2s, border-color 0.2s;
    text-decoration: none;
}

.woocommerce-tabs ul.tabs li a:hover {
    color: var(--color-text);
}

.woocommerce-tabs ul.tabs li.active a {
    color: var(--color-text);
    border-bottom-color: var(--color-black);
}

/* Contenido del tab */
.woocommerce-tabs .panel {
    padding: 36px 0;
    border: none !important;
    background: none;
}

/* Descripción */
.woocommerce-tabs #tab-description {
    font-size: 14px;
    line-height: 1.8;
    color: var(--color-text-mid);
    max-width: 800px;
}

/* Reviews — limpiar estilo WC */
.woocommerce-tabs #tab-reviews .woocommerce-Reviews-title {
    font-size: 16px;
    font-weight: 500;
    color: var(--color-text);
    margin-bottom: 24px;
    border: none;
}

.woocommerce-tabs #tab-reviews #comments ol.commentlist {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.woocommerce-tabs #tab-reviews #comments ol.commentlist li {
    padding: 20px;
    background: var(--color-bg-soft);
    border: none;
    margin: 0;
}

.woocommerce-tabs #tab-reviews #comments ol.commentlist li img.avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    float: none;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

@media (max-width: 768px) {
    .woocommerce-tabs #tab-reviews #comments ol.commentlist {
        grid-template-columns: 1fr;
    }

    .woocommerce-tabs ul.tabs li a {
        padding: 14px 16px;
        font-size: 11px;
    }
}

/* ==========================================================
   GALERÍA minimalista — propia, sin FlexSlider
   Breakpoints:
     < 600px     móvil: imagen borde a borde, sin thumbnails, flechas+dots
     600–999px   tablet: thumbnails en fila debajo
     >= 1000px   desktop: thumbnails columna izquierda, imagen derecha 735x735
   ========================================================== */

/* Contenedor: ocupa TODO el ancho disponible de su columna */
.woocommerce div.product .woocommerce-product-gallery,
.clean-gallery {
    width: 100%;
    max-width: none;
}

.single-product .site-content {
    padding-top: 35px !important;
}

@media (max-width: 599px) {
    body.single-product {
        overflow-x: hidden;
    }
}

@media (max-width: 999px) {
    .single-product .site-content {
        padding-top: 0 !important;
    }
}

@media (max-width: 599px) {
    .single-product .site-content {
    }
}

/* Breadcrumb — dentro del grid, ocupa ambas columnas */
.woocommerce-breadcrumb-wrap {
    grid-column: 1 / -1;
    grid-row: 1;
    padding-bottom: 20px;
    align-self: start;
}

.woocommerce-breadcrumb {
    font-size: 12px;
    color: var(--color-text-muted);
    margin: 0 !important;
    line-height: 1.4;
}

.woocommerce-breadcrumb a {
    color: var(--color-text-muted);
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    color: var(--color-text);
}

/* Desktop: breadcrumb alineado al grid — sin offset necesario */

/* Título mobile/tablet — oculto en desktop */
.nendo-title-mobile {
    display: none;
}

/* Título desktop — visible solo en desktop */
.nendo-title-desktop {
    display: block;
}

@media (max-width: 999px) {
    .nendo-title-mobile {
        display: block;
        grid-column: 1;
        grid-row: 2;
        padding: 20px 0 0 0;
    }
    .nendo-title-desktop {
        display: none;
    }
    .nendo-product-cols {
        display: block;
    }
    .nendo-product-cols .clean-gallery {
        position: relative !important;
        top: 0 !important;
        max-width: 100% !important;
        margin-bottom: 20px;
    }
    .nendo-product-cols .summary.entry-summary {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Tablet: barra borde a borde */
@media (min-width: 600px) and (max-width: 999px) {
    .woocommerce-breadcrumb-wrap {
        background: #F5F5F5;
        padding: 7px 40px;
        margin: 0;
        box-sizing: border-box;
        overflow: hidden;
    }
}

/* Móvil: barra con padding normal */
@media (max-width: 599px) {
    .woocommerce-breadcrumb-wrap {
        background: #F5F5F5;
        padding: 7px 0;
    }
}

/* Galería móvil — sin márgenes negativos, GP maneja el padding */

/* ── BASE MOBILE (< 600px): borde a borde, sin padding, sin thumbnails ── */
.clean-gallery {
    display: block;
    position: relative;
}

.clean-gallery[data-count="1"] {
    display: block;
}

.clean-gallery__main {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.clean-gallery__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateX(100%);
    pointer-events: none;
}

.clean-gallery__slide.is-active {
    transform: translateX(0);
    pointer-events: auto;
}

.clean-gallery__zoom {
    display: block;
    line-height: 0;
    cursor: zoom-in;
}

/* Imagen: cuadrada, borde a borde, sin padding */
.clean-gallery__slide img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    display: block;
    padding: 0;
    box-sizing: border-box;
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}

/* Thumbnails ocultos en mobile */
.clean-gallery__thumbs {
    display: none;
}

/* Wrap de thumbnails con flechas opcionales */
.clean-gallery__thumbs-wrap {
    display: contents;
}
.clean-gallery__thumbs-wrap.has-arrows {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

/* Limitar thumbs a 6 imágenes visibles: 6x48px + 5x6px gap = 318px */
.clean-gallery__thumbs-wrap.has-arrows .clean-gallery__thumbs {
    max-height: 318px;
    overflow-y: auto;
    scrollbar-width: none;
}
.clean-gallery__thumbs-wrap.has-arrows .clean-gallery__thumbs::-webkit-scrollbar {
    display: none;
}
.clean-gallery__thumbs-arrows {
    display: none; /* oculto por defecto (móvil) */
}

@media (min-width: 600px) {
    .clean-gallery__thumbs-arrows {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
        width: 48px;
        margin-top: 4px;
    }
}

.clean-gallery__thumbs-prev,
.clean-gallery__thumbs-next {
    width: 48px;
    height: 40px;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
}




.clean-gallery__thumb {
    display: block;
    padding: 0;
    border: none;
    background: var(--color-white);
    cursor: pointer;
    overflow: hidden;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    position: relative;
    transition: opacity 0.15s;
}

.clean-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.clean-gallery__thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.0);
    transition: background 0.15s;
    pointer-events: none;
}

.clean-gallery__thumb.is-active::after {
    background: rgba(0,0,0,0.35);
}

.clean-gallery__thumb:focus { outline: none; }
.clean-gallery__thumb:active { background: var(--color-bg-warm); }

/* Contador oculto en mobile */
.clean-gallery__counter {
    display: none;
}

/* ── PAGER (flechas + dots): solo en mobile ── */
.clean-gallery__pager {
    display: flex;
    background: #ffffff !important;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 10px 0 6px;
}

.clean-gallery__pager-prev,
.clean-gallery__pager-next {
    background: transparent;
    border: none;
    padding: 6px 14px;
    cursor: pointer;
    color: var(--color-text-muted);
    font-size: 28px;
    line-height: 1;
    display: flex;
    align-items: center;
    user-select: none;
}
.clean-gallery__pager-prev:hover,
.clean-gallery__pager-next:hover {
    color: var(--color-text);
}
    color: var(--color-text);
}

.clean-gallery__pager-dots {
    display: flex;
    gap: 5px;
    align-items: center;
    padding: 0 4px;
}

.clean-gallery__pager-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-border);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.15s, transform 0.15s;
}
.clean-gallery__pager-dot.is-active {
    background: var(--color-text);
    transform: scale(1.3);
}
/* ── TABLET (600px – 999px): thumbnails columna izquierda ── */
@media (min-width: 600px) and (max-width: 999px) {

    .clean-gallery {
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 15px;
        align-items: start;
    }

    .clean-gallery[data-count="1"] {
        grid-template-columns: 1fr;
    }

    .clean-gallery__thumbs {
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        order: 0;
        padding: 0;
        gap: 6px;
        scrollbar-width: none;
    }

    .clean-gallery__thumbs::-webkit-scrollbar { display: none; }

    .clean-gallery__thumb {
        width: 48px;
        height: 48px;
        min-width: 48px;
        min-height: 48px;
    }

    .clean-gallery__main {
        order: 0;
        width: 100%;
    }

    .clean-gallery__slide img {
        padding: 0;
    }

    .clean-gallery__pager {
        display: none;
    }
}


/* ── DESKTOP (>= 1000px): thumbnails izquierda, imagen 735x735 ── */
@media (min-width: 1000px) {

    .clean-gallery {
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 25px;
        align-items: start;
    }

    .clean-gallery[data-count="1"] {
        grid-template-columns: 1fr;
    }

    .clean-gallery__thumbs {
        display: flex;
        flex-direction: column;
        position: static;
        overflow-x: visible;
        overflow-y: auto;
        order: 0;
        padding: 0;
        top: auto;
        left: auto;
        gap: 6px;
        max-height: 735px;
        scrollbar-width: none;
        z-index: auto;
        background: none;
    }

    .clean-gallery__thumbs::-webkit-scrollbar { display: none; }

    .clean-gallery__thumb {
        width: 48px;
        height: 48px;
        min-width: 48px;
        min-height: 48px;
        background: var(--color-white);
        border: none;
    }

    .clean-gallery__main {
        order: 0;
        width: 100%;
        position: relative;
    }

    .clean-gallery__slide img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: contain;
        padding: 0;
        box-sizing: border-box;
    }

    .clean-gallery__counter {
        display: block;
        position: absolute;
        bottom: 10px;
        right: 10px;
        font-size: 11px;
        color: var(--color-text-muted);
        letter-spacing: 0.5px;
        background: rgba(255,255,255,0.85);
        padding: 3px 8px;
        pointer-events: none;
    }

    .clean-gallery__pager {
        display: none;
    }
}


/* ==========================================================
   LIGHTBOX minimalista
   ========================================================== */
.clean-lightbox {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.clean-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}

.clean-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    cursor: zoom-out;
}

.clean-lightbox__content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.clean-lightbox__img {
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    background: transparent;
}

.clean-lightbox__close {
    position: fixed;
    top: 20px;
    right: 24px;
    background: none;
    border: none;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    padding: 8px;
    z-index: 2;
    opacity: 0.8;
    line-height: 1;
    transition: opacity 0.15s;
}

.clean-lightbox__close:hover { opacity: 1; }

.clean-lightbox__prev,
.clean-lightbox__next {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(80,80,80,0.75);
    border: none;
    color: #fff;
    font-size: 26px;
    font-weight: 300;
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    z-index: 2;
    transition: background 0.15s;
    border-radius: 0;
}

.clean-lightbox__prev { left: 0; }
.clean-lightbox__next { right: 0; }
.clean-lightbox__prev:hover,
.clean-lightbox__next:hover {
    background: rgba(60,60,60,0.95);
}



/* Botón carrito — ancho en móvil */
@media (max-width: 599px) {
    .woocommerce div.product form.cart .single_add_to_cart_button,
    .woocommerce div.product .single_add_to_cart_button {
        width: 80% !important;
        max-width: 80% !important;
    }
}

/* ============================================================
   TABS DE PRODUCTO — SISTEMA minimalista
   ============================================================ */

.nendo-tabs-wrapper {
    max-width: 1480px;
    margin: 60px auto 0;
    padding: 0 16px;
    box-sizing: border-box;
}

/* --- NAV --- */
.nendo-tabs-nav {
    display: flex;
    border-bottom: 1px solid var(--color-border);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.nendo-tabs-nav::-webkit-scrollbar { display: none; }

.nendo-tab-btn {
    background: none !important;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 18px 24px 16px;
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text-muted);
    cursor: pointer;
    white-space: nowrap;
    letter-spacing: 0.01em;
    margin-bottom: -1px;
    transition: color 0.15s ease, border-color 0.15s ease;
    border-radius: 0 !important;
    -webkit-tap-highlight-color: transparent;
}
.nendo-tab-btn:hover { color: var(--color-text); }
.nendo-tab-btn.active {
    color: var(--color-text);
    border-bottom-color: var(--color-text);
}
.nendo-tab-count {
    font-weight: 400;
    color: var(--color-text-muted);
    font-size: 13px;
    margin-left: 3px;
}

/* --- PANELS --- */
.nendo-tab-panel {
    padding: 48px 0;
}
.nendo-tab-panel[hidden] { display: none; }

/* ============================================================
   TAB 1: DESCRIPCIÓN + TRUST BLOCK
   ============================================================ */

.nendo-tab-descripcion-texto {
    max-width: 760px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text-mid);
    margin-bottom: 64px;
}
.nendo-tab-descripcion-texto p { margin-bottom: 1.2em; }

.nendo-trust-block {
    background-color: var(--color-bg-soft);
    padding: 64px 48px;
    margin: 0 -16px;
}
.nendo-trust-header { margin-bottom: 40px; }
.nendo-trust-header h3 {
    font-family: var(--font-primary);
    font-size: 32px;
    font-weight: 500;
    color: var(--color-text);
    margin: 0;
    line-height: 1.25;
    letter-spacing: -0.01em;
}
.nendo-trust-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
}
.nendo-trust-card {
    background: var(--color-bg);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.nendo-trust-card-text { padding: 28px 20px 0; }
.nendo-trust-badge {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}
.nendo-trust-card h4 {
    font-family: var(--font-primary);
    font-size: 17px !important;
    font-weight: 500 !important;
    color: var(--color-text) !important;
    margin: 0 0 10px !important;
    line-height: 1.3 !important;
}
.nendo-trust-card p {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--color-text-mid) !important;
    line-height: 1.6 !important;
    margin: 0 0 24px !important;
}
.nendo-trust-card-img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    margin-top: auto;
}

/* ============================================================
   TAB 2: ESPECIFICACIONES
   ============================================================ */

.nendo-specs-block { max-width: 960px; }
.nendo-specs-title {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 500;
    color: var(--color-text);
    margin: 0 0 28px;
}
.nendo-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.nendo-specs-table tr { border-bottom: 1px solid var(--color-border); }
.nendo-specs-table tr:first-child { border-top: 1px solid var(--color-border); }
.nendo-specs-table th {
    width: 200px;
    padding: 14px 16px;
    font-weight: 500;
    color: var(--color-text);
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
    background: var(--color-bg-soft);
}
.nendo-specs-table td {
    padding: 14px 16px;
    color: var(--color-text-mid);
    line-height: 1.6;
}
.nendo-specs-jp {
    display: inline-block;
    margin-left: 8px;
    color: var(--color-text-muted);
    font-size: 13px;
}
.nendo-specs-sub { color: var(--color-text-muted); }
.nendo-specs-link {
    color: var(--color-accent);
    text-decoration: none;
    font-size: 13px;
}
.nendo-specs-link:hover {
    color: var(--color-accent-hover);
    text-decoration: underline;
}

/* ============================================================
   TAB 3: ENVÍO Y PAGO
   ============================================================ */

.nendo-logistica-title {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 500;
    color: var(--color-text);
    margin: 0 0 36px;
}
.nendo-logistica-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}
.nendo-logistica-item { display: flex; flex-direction: column; }
.nendo-logistica-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    margin-bottom: 20px;
}
.nendo-logistica-item h4 {
    font-family: var(--font-primary);
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--color-text) !important;
    margin: 0 0 12px !important;
    line-height: 1.3 !important;
}
.nendo-logistica-divisor {
    width: 100%;
    height: 1px;
    background: var(--color-border);
    margin-bottom: 14px;
}
.nendo-logistica-item p {
    font-size: 13px !important;
    color: var(--color-text-mid) !important;
    line-height: 1.8 !important;
    margin: 0 !important;
    font-weight: 400 !important;
}
.nendo-logistica-item p strong {
    font-weight: 500;
    color: var(--color-text);
}

/* ============================================================
   TAB 4: RESEÑAS
   ============================================================ */

.nendo-resenas-block #reviews { padding: 0; }
.nendo-resenas-block #reviews h2,
.nendo-resenas-block #reviews h3 {
    font-family: var(--font-primary);
    font-size: 20px !important;
    font-weight: 500 !important;
    color: var(--color-text) !important;
    margin-bottom: 24px !important;
}
.nendo-resenas-block .comment-respond { margin-top: 48px; }

/* ============================================================
/* ============================================================
   TABS — RESPONSIVE
   ============================================================ */

/* Tablet: 600px - 999px */
@media (max-width: 999px) {
    .nendo-tab-panel { padding: 40px 32px; }

    .nendo-trust-block {
        padding: 48px 0;
        margin: 0;
    }
    .nendo-trust-header {
        padding: 0 32px;
        margin-bottom: 24px;
    }
    .nendo-trust-header h3 { font-size: 28px; }
    .nendo-trust-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 20px;
        padding: 0 32px 20px 32px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .nendo-trust-grid::-webkit-scrollbar { display: none; }
    .nendo-trust-card {
        flex: 0 0 42%;
        scroll-snap-align: start;
    }
    .nendo-logistica-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .nendo-specs-table th { width: 140px; }
}

/* Móvil: < 600px */
@media (max-width: 599px) {
    .nendo-tabs-wrapper {
        padding: 0;
        margin-top: 40px;
    }
    .nendo-tabs-nav {
        padding: 0 16px;
        justify-content: flex-start;
    }
    .nendo-tab-btn {
        padding: 16px 14px 14px !important;
        font-size: 13px !important;
        flex: 0 0 auto;
    }
    .nendo-tab-panel { padding: 32px 16px; }

    .nendo-trust-block {
        padding: 40px 0;
        margin: 0;
    }
    .nendo-trust-header {
        padding: 0 16px;
        margin-bottom: 20px;
    }
    .nendo-trust-header h3 { font-size: 22px; }
    .nendo-trust-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 12px;
        padding: 0 16px 16px 16px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .nendo-trust-grid::-webkit-scrollbar { display: none; }
    .nendo-trust-card {
        flex: 0 0 82%;
        scroll-snap-align: start;
    }
    .nendo-logistica-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .nendo-logistica-title,
    .nendo-specs-title { font-size: 18px; }
    .nendo-specs-table th {
        width: 100px;
        font-size: 12px;
        white-space: normal;
    }
    .nendo-specs-table td { font-size: 13px; }
}
/* Tabs ocupan el ancho completo del grid del producto */
.woocommerce div.product .nendo-tabs-wrapper {
    grid-column: 1 / -1;
    grid-row: auto;
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
}

/* Trust block — borde a borde dentro del wrapper */
.nendo-trust-block {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    padding: 64px calc(50vw - 50% + 48px);
    box-sizing: border-box;
}

/* Tabla specs — ancho fijo, columnas estables */
.nendo-specs-block {
    max-width: 100%;
    width: 100%;
}
.nendo-specs-table {
    table-layout: fixed;
    width: 100%;
}
.nendo-specs-table th {
    width: 25%;
}
.nendo-specs-table td {
    width: 75%;
    word-break: break-word;
}

/* Nav tabs — estilo minimalista Japan */
.nendo-tab-btn {
    font-size: 15px !important;
    padding: 20px 40px 18px !important;
    letter-spacing: 0.02em !important;
}

/* Reseñas — ancho completo */
.nendo-resenas-block {
    width: 100%;
    max-width: 100%;
}
.nendo-resenas-block #reviews,
.nendo-resenas-block .woocommerce-Reviews {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.nendo-resenas-block #review_form_wrapper,
.nendo-resenas-block #comments {
    width: 100% !important;
    float: none !important;
}

/* Nav tabs — distribuido en todo el ancho */
.nendo-tabs-nav {
    justify-content: space-between;
}
.nendo-tab-btn {
    flex: 1;
    text-align: center;
}

/* Reviews dentro de nuestras tabs — ancho completo */
.nendo-resenas-block,
.nendo-resenas-block #reviews,
.nendo-resenas-block .woocommerce-Reviews,
.nendo-resenas-block #review_form_wrapper,
.nendo-resenas-block #review_form,
.nendo-resenas-block #comments,
.nendo-resenas-block .comment-respond {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Estilos de reseñas apuntando a nuestro bloque */
.nendo-resenas-block .woocommerce-Reviews-title {
    font-size: 20px;
    font-weight: 500;
    color: var(--color-text);
    margin-bottom: 32px;
    border: none;
}
.nendo-resenas-block #comments ol.commentlist {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 0;
    margin: 0 0 48px;
    list-style: none;
}
.nendo-resenas-block #comments ol.commentlist li {
    padding: 20px;
    background: var(--color-bg-soft);
    border: none;
    margin: 0;
}
.nendo-resenas-block #comments ol.commentlist li img.avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    float: none;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

@media (max-width: 768px) {
    .nendo-resenas-block #comments ol.commentlist {
        grid-template-columns: 1fr;
    }
}

/* Panels — ancho completo garantizado */
.nendo-tab-panel {
    width: 100%;
    box-sizing: border-box;
}

/* Form de reseñas — neutralizar ancho de WordPress */
.nendo-resenas-block #respond,
.nendo-resenas-block .nendo-review-form-wrap,
.nendo-resenas-block .nendo-review-form-wrap #respond {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.nendo-resenas-block #respond input:not([type="submit"]),
.nendo-resenas-block #respond textarea {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Título y form — estilo minimalista */
.nendo-review-form-title {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 500;
    color: var(--color-text);
    margin: 48px 0 24px;
    border-top: 1px solid var(--color-border);
    padding-top: 40px;
}
.nendo-review-submit {
    background: var(--color-text) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 32px !important;
    font-family: var(--font-primary) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    margin-top: 16px !important;
}
.nendo-review-submit:hover {
    background: var(--color-accent) !important;
}
.nendo-review-field label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text);
    margin-bottom: 8px;
}
.nendo-review-field textarea {
    border: 1px solid var(--color-border) !important;
    padding: 12px !important;
    font-family: var(--font-primary) !important;
    font-size: 14px !important;
    resize: vertical !important;
    border-radius: 0 !important;
}

/* Fix ancho completo tabs wrapper dentro del grid */
.woocommerce div.product .nendo-tabs-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Formulario de reseña — ancho contenido */
.nendo-review-form-wrap {
    max-width: 760px;
}
.nendo-review-submit {
    width: auto !important;
    min-width: 200px !important;
}
.nendo-review-field textarea {
    width: 100% !important;
    max-width: 100% !important;
}

/* Reseñas — contenido centrado con ancho controlado */
.nendo-resenas-block {
    max-width: 800px !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}



/* Tabs — contener dentro del flujo normal en tablet/móvil */
@media (max-width: 999px) {
    .nendo-trust-block {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .nendo-tabs-wrapper {
        overflow-x: hidden;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Fix trust block scroll en tablet — no cortar el overflow */
@media (max-width: 999px) {
    .nendo-tabs-wrapper {
        overflow-x: visible !important;
    }
    .nendo-tab-panel {
        overflow-x: hidden;
    }
    /* Logística — 3 columnas hasta 700px */
    .nendo-logistica-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px;
    }
}

/* Logística — 1 columna solo en móvil */
@media (max-width: 699px) {
    .nendo-logistica-grid {
        grid-template-columns: 1fr !important;
        gap: 28px;
    }
}

/* Fix desbordamiento horizontal en tablet/móvil */
@media (max-width: 999px) {
    .nendo-tabs-wrapper {
        overflow-x: hidden !important;
    }
    .nendo-trust-block {
        overflow: hidden;
    }
    .nendo-trust-grid {
        overflow-x: auto !important;
        padding-bottom: 16px;
    }
}

/* Fix trust block tablet — scroll contenido correctamente */
@media (max-width: 999px) {
    .nendo-trust-block {
        overflow: visible !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .nendo-trust-grid {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    .nendo-trust-card {
        flex: 0 0 38%;
        min-width: 280px;
        max-width: 340px;
    }
}

/* Trust block — borde a borde en tablet */
@media (max-width: 999px) {
    .nendo-trust-block {
        margin-left: -48px !important;
        margin-right: -48px !important;
        padding-top: 48px !important;
        padding-bottom: 48px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .nendo-trust-header {
        padding-left: 48px;
        padding-right: 48px;
    }
    .nendo-trust-grid {
        padding-left: 48px !important;
        padding-right: 32px !important;
    }
}

/* Trust block — borde a borde en tablet */
@media (max-width: 999px) {
    .nendo-trust-block {
        margin-left: -32px !important;
        margin-right: -32px !important;
        width: calc(100% + 64px) !important;
        max-width: calc(100% + 64px) !important;
        padding-top: 48px !important;
        padding-bottom: 48px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .nendo-trust-header {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
    .nendo-trust-grid {
        padding-left: 32px !important;
        padding-right: 32px !important;
        overflow-x: auto !important;
    }
}

/* ============================================================
/* ============================================================
   TRUST SECTION — bloque independiente fuera de las tabs
   ============================================================ */

.nendo-trust-wrapper {
    grid-column: 1 / -1;
    clear: both;
    display: block;
    width: 100%;
    position: relative;
}

.nendo-trust-bg {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    background-color: #f5f5f5;
    padding: 80px 0;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}
.nendo-trust-bg .nendo-trust-grid {
    overflow-x: auto;
}

.nendo-trust-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

.nendo-trust-header {
    margin-bottom: 50px;
}

.nendo-trust-header h3 {
    font-size: 46px;
    font-weight: 500;
    color: #333333;
    margin: 0;
    letter-spacing: -0.015em;
    line-height: 1.15;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
}

.nendo-trust-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    width: 100%;
    box-sizing: border-box;
}

.nendo-trust-card {
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.nendo-trust-card-text {
    padding: 32px 24px 0;
}

.nendo-trust-badge {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #86868b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.nendo-trust-card h4 {
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #333333 !important;
    margin: 0 0 12px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
}

.nendo-trust-card p {
    font-size: 14px !important;
    color: #515154 !important;
    line-height: 1.45 !important;
    margin: 0 0 32px !important;
}

.nendo-trust-card-img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    margin-top: auto;
    border-radius: 0 0 24px 24px;
}

/* Carrusel desde 1400px */
@media (max-width: 1400px) {
    .nendo-trust-container {
        padding: 0 !important;
    }
    .nendo-trust-header {
        padding: 0 40px;
    }
    .nendo-trust-header h3 { font-size: 36px; }
    .nendo-trust-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 24px;
        padding: 0 0 20px 40px;
        scroll-padding-left: 40px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .nendo-trust-grid::-webkit-scrollbar { display: none; }
    .nendo-trust-grid::after {
        content: '';
        display: block;
        min-width: 40px;
    }
    .nendo-trust-card {
        flex: 0 0 30%;
        min-width: 260px;
        scroll-snap-align: start;
    }
}
@media (max-width: 900px) {
    .nendo-trust-header { padding: 0 32px; }
    .nendo-trust-grid {
        gap: 20px;
        padding: 0 0 20px 32px;
        scroll-padding-left: 32px;
    }
    .nendo-trust-grid::after {
        min-width: 32px;
    }
    .nendo-trust-card { flex: 0 0 42%; }
}
@media (max-width: 600px) {
    .nendo-desktop-br { display: none; }
    .nendo-trust-bg { padding: 50px 0; }
    .nendo-trust-header { padding: 0 24px; }
    .nendo-trust-header h3 { font-size: 26px; }
    .nendo-trust-grid {
        gap: 16px;
        padding: 0 0 20px 24px;
        scroll-padding-left: 24px;
    }
    .nendo-trust-grid::after {
        content: '';
        display: block;
        min-width: 8px;
    }
    .nendo-trust-card { flex: 0 0 85%; }
}
/* Corregir ::after en tablet y desktop carrusel */
@media (min-width: 601px) and (max-width: 900px) {
    .nendo-trust-grid::after {
        min-width: 12px !important;
    }
}
@media (min-width: 901px) and (max-width: 1400px) {
    .nendo-trust-grid::after {
        min-width: 16px !important;
    }
}
/* ============================================================
   CONTENEDOR PROPIO — página de producto
   ============================================================ */
#nendo-product-page {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}



/* Galería móvil — borde a borde */
@media (max-width: 599px) {
    .woocommerce div.product {
        padding-left: 0;
        padding-right: 0;
    }
    .woocommerce div.product .summary.entry-summary {
        padding-left: 16px;
        padding-right: 16px;
    }
    .woocommerce-breadcrumb-wrap {
        padding-left: 16px;
        padding-right: 16px;
    }
    .nendo-title-mobile {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* div.product — sin max-width ni margin auto en móvil */
@media (max-width: 599px) {
    .woocommerce div.product {
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
}

/* Neutralizar padding de GP en página de producto */
body.single-product .site-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
}

/* Padding contenido producto en tablet */
@media (min-width: 600px) and (max-width: 999px) {
    .woocommerce div.product .woocommerce-product-gallery {
        padding-left: 40px;
        padding-right: 40px;
    }
    .woocommerce div.product .summary.entry-summary {
        padding-left: 40px;
        padding-right: 40px;
    }
    .nendo-title-mobile {
        padding-left: 40px;
        padding-right: 40px;
    }
    .nendo-tags-desktop {
        padding-left: 40px;
        padding-right: 40px;
    }
    .nendo-tabs-wrapper {
        padding-left: 40px;
        padding-right: 40px;
    }
}

/* Margen superior trust block en desktop */
@media (min-width: 1000px) {
    .nendo-trust-wrapper {
        margin-top: 35px;
    }
}

/* Galería — padding lateral en tablet */
@media (min-width: 600px) and (max-width: 999px) {
    .clean-gallery {
        padding-left: 40px;
        padding-right: 40px;
    }
}


/* ============================================================
   FAQ DE PRODUCTO
   ============================================================ */

.nendo-faq-wrapper {
    grid-column: 1 / -1;
    width: 100%;
}

.nendo-faq-container {
    background-color: var(--color-bg-soft);
    max-width: 1100px;
    margin: 0 auto;
    padding: 50px 60px;
    box-sizing: border-box;
}

.nendo-faq-title {
    font-family: var(--font-primary);
    font-size: 28px;
    font-weight: 500;
    color: var(--color-text);
    margin: 0 0 40px;
    line-height: 1.2;
}

.nendo-faq-item {
    border-bottom: 1px solid var(--color-border);
}
.nendo-faq-item:last-child {
    border-bottom: none;
}

.nendo-faq-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 0;
    background: transparent !important;
    border: none;
    cursor: pointer;
    text-align: left;
    border-radius: 0 !important;
    -webkit-tap-highlight-color: transparent;
}

.nendo-faq-icon {
    width: 32px;
    margin-right: 25px;
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
}
.nendo-faq-icon svg {
    width: 26px;
    height: 26px;
    stroke-width: 1.5;
    fill: none;
    stroke: currentColor;
}

.nendo-faq-text {
    flex-grow: 1;
    font-size: 16px;
    color: var(--color-text-mid);
    font-weight: 500;
    font-family: var(--font-primary);
}
.nendo-faq-btn:hover .nendo-faq-text {
    color: var(--color-text);
}

.nendo-faq-toggle {
    font-size: 26px;
    color: #bbb;
    font-weight: 300;
    transition: transform 0.3s ease;
    margin-left: 15px;
    line-height: 1;
}
.nendo-faq-item.active .nendo-faq-toggle {
    transform: rotate(45deg);
    color: var(--color-text);
}

.nendo-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.nendo-faq-inner {
    padding: 0 40px 30px 57px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text-muted);
    font-family: var(--font-primary);
}
.nendo-faq-inner p { margin-bottom: 15px; margin-top: 0; }
.nendo-faq-inner p:last-child { margin-bottom: 0; }
.nendo-faq-inner strong { color: var(--color-text-mid); font-weight: 600; }
.nendo-faq-inner ul { margin-top: 5px; margin-bottom: 15px; padding-left: 18px; }
.nendo-faq-inner li { margin-bottom: 8px; }
.nendo-faq-inner em { color: var(--color-text-muted); }

/* Tablet */
@media (max-width: 999px) {
    .nendo-faq-container {
        padding: 40px;
    }
}

/* Móvil */
@media (max-width: 599px) {
    .nendo-faq-container {
        padding: 30px 20px;
        max-width: 100%;
    }
    .nendo-faq-inner {
        padding: 0 0 25px 0;
    }
    .nendo-faq-icon { margin-right: 15px; }
    .nendo-faq-title { font-size: 22px; }
    .nendo-faq-text { font-size: 15px; }
}

/* FAQ — ajustes de color */
.nendo-faq-container {
    background-color: #f5f5f5;
}
.nendo-faq-text {
    color: var(--color-text) !important;
}
.nendo-faq-inner {
    color: var(--color-text-mid) !important;
}
.nendo-faq-inner strong {
    color: var(--color-text) !important;
}

/* FAQ — separación del bloque trust */
.nendo-faq-wrapper {
    margin-top: 35px;
}

/* ============================================================
/* ============================================================
/* ============================================================
   PRODUCTOS RELACIONADOS — carrusel estilo minimalista
   ============================================================ */

.nendo-related-wrapper {
    grid-column: 1 / -1;
    padding: 60px 0 40px;
    box-sizing: border-box;
}

.nendo-related-header { margin-bottom: 28px; padding-left: 58px; }

.nendo-related-title {
    font-family: var(--font-primary);
    font-size: 32px;
    font-weight: 700;
    color: var(--color-text);
    margin: 0;
}

/* Carrusel */
.nendo-related-carousel {
    display: block;
    position: relative;
}

.nendo-related-prev,
.nendo-related-next {
    width: 48px;
    min-width: 48px;
    height: 48px;
    background: none !important;
    border: none !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 !important;
    -webkit-tap-highlight-color: transparent;
    transition: opacity 0.15s;
    color: var(--color-text);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.nendo-related-prev {
    left: -48px;
}

.nendo-related-next {
    right: -48px;
}
.nendo-related-prev svg,
.nendo-related-next svg {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    display: block;
}
.nendo-related-prev:hover,
.nendo-related-next:hover { color: var(--color-text); }

.nendo-related-track-wrap {
    flex: 1;
    overflow: hidden;
}
.nendo-related-track {
    display: flex;
    gap: 0;
    transition: transform 0.4s ease;
}

/* Cards */
.nendo-related-card {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    padding: 0 10px;
    box-sizing: border-box;
}
.nendo-related-img-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #ffffff;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.nendo-related-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}
.nendo-related-img-wrap {
    position: relative;
}
.nendo-related-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background 0.2s ease;
    pointer-events: none;
}
.nendo-related-card:hover .nendo-related-img-wrap::after {
    background: rgba(0,0,0,0.06);
}

.nendo-related-name {
    font-family: var(--font-primary);
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #333333 !important;
    margin: 0 0 8px !important;
    line-height: 1.5 !important;
    min-height: calc(1.5em * 3) !important;
    max-height: calc(1.5em * 3) !important;
    overflow: hidden;
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.nendo-related-price {
    font-size: 16px;
    font-weight: 700;
    color: #333333;
    font-family: var(--font-primary);
}
.nendo-related-price .woocommerce-Price-amount {
    font-size: 16px;
    font-weight: 700;
    color: #333333;
}

/* Barra de progreso continua */
.nendo-related-progress-wrap {
    padding: 40px 48px 0;
}
.nendo-related-progress-bg {
    height: 3px;
    background: #d0d0d0;
    position: relative;
    width: 92%;
    margin: 0 auto;
}
.nendo-related-progress-fill {
    position: absolute;
    top: 0;
    height: 100%;
    background: #555555;
    transition: left 0.4s ease, width 0.4s ease;
}

/* Grid tablet/móvil — oculto en desktop */
.nendo-related-mobile-grid { display: none; }
.nendo-related-actions { display: none; }
.nendo-hidden { display: none !important; }

/* Botones estilo minimalista */
.nendo-related-load-more,
.nendo-related-load-less {
    background: #e8e8e8 !important;
    border: none !important;
    padding: 14px 32px !important;
    font-family: var(--font-primary) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--color-text) !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s;
}
.nendo-related-load-more:hover,
.nendo-related-load-less:hover { background: #d8d8d8 !important; }

/* ── TABLET/MÓVIL ── */
@media (max-width: 999px) {
    .nendo-related-carousel { display: none; }
    .nendo-related-progress-wrap { display: none; }

    .nendo-related-mobile-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    .nendo-related-actions {
        display: flex;
        gap: 12px;
        margin-top: 28px;
        justify-content: center;
    }
    .nendo-related-wrapper { padding: 40px 40px 32px; }
    .nendo-related-card { padding: 0; }
    .nendo-related-header { padding-left: 0; }
}

@media (max-width: 599px) {
    .nendo-related-mobile-grid { gap: 14px; }
    .nendo-related-wrapper { padding: 40px 16px 32px; }
    .nendo-related-name { font-size: 13px !important; }
    .nendo-related-load-more,
    .nendo-related-load-less { padding: 12px 20px !important; font-size: 13px !important; }
}

/* Título relacionados — truncado en tablet/móvil */
@media (max-width: 999px) {
    .nendo-related-header {
        overflow: hidden;
        min-width: 0;
    }
    .nendo-home-grid-block .nendo-related-header { overflow: visible; }
    .nendo-home-grid-block .nendo-related-title { white-space: normal; overflow: visible; text-overflow: clip; font-size: 24px; }
    .nendo-related-title {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        max-width: 100%;
    }
}

/* Fix título truncado iPhone Safari */
@media (max-width: 999px) {
    .nendo-related-wrapper {
        overflow-x: hidden;
    }
    .nendo-related-title {
        max-width: calc(100vw - 48px);
    }
}

/* Móvil/tablet — nombre sin altura fija, gap entre filas */
@media (max-width: 999px) {
    .nendo-related-name {
        min-height: 0 !important;
        font-size: 15px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    .nendo-related-price,
    .nendo-related-price .woocommerce-Price-amount {
        font-size: 12px !important;
        font-weight: 700 !important;
        color: #333333 !important;
    }
    .nendo-related-mobile-grid {
        gap: 32px 16px;
    }
}
@media (max-width: 599px) {
    .nendo-related-name {
        font-size: 14px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    .nendo-related-price,
    .nendo-related-price .woocommerce-Price-amount {
        font-size: 13px !important;
    }
    .nendo-related-mobile-grid {
        gap: 28px 12px;
    }
}

.nendo-wishlist-wrap {
    display: flex;
    justify-content: flex-end;
}

/* ============================================================
   WISHLIST — Botón corazón estilo minimalista
   ============================================================ */

.clean-gallery__main {
    position: relative;
}

.nendo-wishlist-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
}

.nendo-wishlist-btn {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--color-border-warm);
    background: var(--color-bg-warm);
    cursor: pointer;
    padding: 0;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.nendo-wishlist-btn:hover {
    background: var(--color-border-warm);
    border-color: var(--color-border-warm);
}

.nendo-wishlist-btn.nendo-wishlist-active {
    background: var(--color-border-warm);
    border-color: var(--color-border-warm);
}

/* Siempre filled blanco — nunca outline */
.nendo-wishlist-btn .nendo-heart-outline {
    display: none;
}
.nendo-wishlist-btn .nendo-heart-filled {
    display: block;
}

/* Animación pulso */
@keyframes nendo-wishlist-pulse {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.25); }
    100% { transform: scale(1); }
}
.nendo-wishlist-btn.nendo-wishlist-pulse {
    animation: nendo-wishlist-pulse 0.4s ease;
}

/* Wishlist móvil/tablet — oculto en desktop */
.nendo-wishlist-mobile {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

@media (min-width: 1000px) {
    .nendo-wishlist-mobile {
        display: none;
    }
}


/* ============================================================

/* --- DRAWER MÓVIL --- */

#nendo-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #ffffff;
    z-index: 10000;
    overflow-y: auto;
    overflow-x: hidden;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
    display: flex;
    flex-direction: column;
    font-family: var(--font-primary);
    -webkit-overflow-scrolling: touch;
}

#nendo-drawer[hidden] {
    display: none;
}

#nendo-drawer.is-open {
    transform: translateX(0);
    display: flex;
}

.nendo-drawer-header {
    position: sticky;
    top: 0;
    height: 60px;
    background: #ffffff;
    display: flex;
    align-items: center;
    padding: 0 20px;
    border-bottom: 1px solid #e5e5e5;
    z-index: 10;
    flex-shrink: 0;
}

.nendo-drawer-close {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: transparent !important;
    border: none !important;
    padding: 0;
    position: relative;
    margin-left: -10px;
    box-shadow: none !important;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.nendo-drawer-close:hover,
.nendo-drawer-close:active,
.nendo-drawer-close:focus {
    background: transparent !important;
    box-shadow: none !important;
}

/* Admin bar — desplazar drawer para que la cabecera no quede tapada */
.admin-bar #nendo-drawer {
    top: 32px;
    height: calc(100vh - 32px);
}

.admin-bar #nendo-drawer-overlay {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #nendo-drawer {
        top: 46px;
        height: calc(100vh - 46px);
    }
    .admin-bar #nendo-drawer-overlay {
        top: 46px;
    }
}

.nendo-drawer-close::before,
.nendo-drawer-close::after {
    content: '';
    position: absolute;
    width: 24px;
    height: 1.5px;
    background: #333333;
}

.nendo-drawer-close::before { transform: rotate(45deg); }
.nendo-drawer-close::after  { transform: rotate(-45deg); }

/* Lista principal */
.nendo-drawer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-bottom: 100px;
}

.nendo-drawer-item {
    border-bottom: 1px solid #e5e5e5;
    position: relative;
}

/* Ítem principal CON imagen */
.nendo-drawer-link,
.nendo-drawer-trigger {
    display: flex;
    align-items: center;
    padding: 0;
    height: 80px;
    text-decoration: none;
    color: #333333;
    background: #ffffff;
    cursor: pointer;
    border: none;
    width: 100%;
    text-align: left;
    position: relative;
    padding-right: 60px;
    -webkit-tap-highlight-color: transparent;
}

.nendo-drawer-link:hover,
.nendo-drawer-link:active,
.nendo-drawer-link:visited,
.nendo-drawer-trigger:hover,
.nendo-drawer-trigger:active {
    color: #333333;
    background: #fafafa;
}

.nendo-drawer-item.is-open > .nendo-drawer-trigger {
    background: #ffffff;
}

/* Imagen principal 80x80 */
.nendo-drawer-main-img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}

/* Label del ítem principal */
.nendo-drawer-label {
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    color: #333333;
    padding-left: 20px;
    flex: 1;
}

/* Ítem principal SIN imagen */
.nendo-drawer-link--plain,
.nendo-drawer-trigger--plain {
    padding-left: 20px;
}

/* Icono + acordeón */
.nendo-drawer-plus {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nendo-drawer-plus::before,
.nendo-drawer-plus::after {
    content: '';
    position: absolute;
    background: #333333;
    transition: transform 0.3s, opacity 0.3s;
}

.nendo-drawer-plus::before { width: 14px; height: 1.5px; }
.nendo-drawer-plus::after  { width: 1.5px; height: 14px; }

.nendo-drawer-item.is-open .nendo-drawer-plus::after {
    transform: rotate(90deg);
    opacity: 0;
}

/* Chevron para links directos */
.nendo-drawer-chevron {
    position: absolute;
    top: 50%;
    right: 26px;
    width: 8px;
    height: 8px;
    border-top: 1.5px solid #333333;
    border-right: 1.5px solid #333333;
    transform: translateY(-50%) rotate(45deg);
    margin-right: 2px;
}

/* Submenú acordeón */
.nendo-drawer-sub {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
    background: #f7f7f7;
    border-top: 1px solid #e5e5e5;
}

.nendo-drawer-item.is-open .nendo-drawer-sub {
    max-height: 3000px;
}

/* "Ver todo" dentro del submenú */
.nendo-drawer-view-all {
    display: flex;
    align-items: center;
    padding: 18px 60px 18px 20px;
    font-size: 14px;
    font-weight: 700;
    color: #333333;
    text-decoration: none;
    text-transform: uppercase;
    border-bottom: 1px solid #e5e5e5;
    background: transparent;
    position: relative;
    -webkit-tap-highlight-color: transparent;
}

.nendo-drawer-view-all:hover,
.nendo-drawer-view-all:active {
    color: #333333;
}

/* Sub-link CON imagen */
.nendo-drawer-sub-link {
    display: flex;
    align-items: center;
    padding: 0;
    height: 90px;
    text-decoration: none;
    color: #444444;
    border-bottom: 1px solid #e5e5e5;
    background: transparent;
    position: relative;
    padding-right: 60px;
    -webkit-tap-highlight-color: transparent;
}

.nendo-drawer-sub-link:last-child {
    border-bottom: none;
}

.nendo-drawer-sub-link:hover,
.nendo-drawer-sub-link:active {
    color: #444444;
    background: #f0f0f0;
}

/* Imagen sub-link 90px alto */
.nendo-drawer-thumb {
    width: 90px;
    height: 90px;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}

/* Texto sub-link */
.nendo-drawer-sub-text {
    font-size: 14px;
    font-weight: 500;
    color: #222222;
    padding-left: 20px;
    flex: 1;
}

/* Links simples (sin imagen) */
.nendo-drawer-simple-link {
    display: flex;
    align-items: center;
    padding: 18px 60px 18px 20px;
    font-size: 14px;
    font-weight: 500;
    color: #333333;
    text-decoration: none;
    border-bottom: 1px solid #e5e5e5;
    background: transparent;
    position: relative;
    -webkit-tap-highlight-color: transparent;
}

.nendo-drawer-simple-link:last-child {
    border-bottom: none;
}

.nendo-drawer-simple-link:hover,
.nendo-drawer-simple-link:active {
    color: #333333;
}

/* Flecha pequeña (view-all, sub-link, simple-link) */
.nendo-drawer-arrow {
    position: absolute;
    top: 50%;
    right: 26px;
    width: 8px;
    height: 8px;
    border-top: 1.5px solid #999999;
    border-right: 1.5px solid #999999;
    transform: translateY(-50%) rotate(45deg);
    margin-right: 2px;
}

/* Overlay oscuro */
#nendo-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
    display: none;
}

#nendo-drawer-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
    display: block;
}

/* --- FIN DRAWER MÓVIL --- */

/* --- BUSCADOR MÓVIL --- */

#nendo-search-mobile {
    background: var(--color-bg);
    padding: 8px 16px;
}

#nendo-search-mobile[hidden] {
    display: none;
}

#nendo-search-mobile-inner {
    display: flex;
    align-items: center;
    height: 40px;
    gap: 8px;
}

#nendo-search-mobile-cat-wrap {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    background: #f5f5f5;
    border-radius: 4px;
    flex-shrink: 0;
    transition: background 0.15s;
}

#nendo-search-mobile-cat {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: none;
    font-size: 13px;
    color: var(--color-text);
    padding: 0 28px 0 12px;
    height: 100%;
    cursor: pointer;
    font-family: var(--font-primary);
    max-width: 110px;
    outline: none;
}

#nendo-search-mobile-cat-wrap .nendo-search-cat-chevron {
    position: absolute;
    right: 8px;
    pointer-events: none;
    color: var(--color-text-muted);
}

#nendo-search-mobile-input-wrap {
    display: flex;
    align-items: center;
    flex: 1;
    height: 100%;
    padding: 0 12px;
    gap: 8px;
    background: #f5f5f5;
    border-radius: 4px;
    transition: background 0.15s;
}

#nendo-search-mobile-input-wrap.has-text {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
}

#nendo-search-mobile-input-wrap svg {
    color: var(--color-text-muted);
    flex-shrink: 0;
}

#nendo-search-mobile-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 14px;
    color: var(--color-text);
    font-family: var(--font-primary);
    height: 100%;
    outline: none;
    caret-color: var(--color-text);
    -webkit-user-select: text;
}

#nendo-search-mobile-input::placeholder {
    color: var(--color-text-muted);
}

/* Admin bar */
.admin-bar #nendo-search-mobile {
    top: 46px;
}

/* --- FIN BUSCADOR MÓVIL --- */


   BANNER CARRUSEL — catálogo
   ============================================================ */

.nendo-banner-outer {
    overflow: hidden;
    width: 100%;
}

.nendo-banner-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--color-white);
    padding: 40px 0 0;
}

.nendo-banner-track {
    display: flex;
    align-items: center;
    width: max-content;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateX(-9999px);
}

.nendo-banner-slide {
    flex-shrink: 0;
    width: 43vw;
    padding: 0 12.5px;
    box-sizing: border-box;
}

.nendo-banner-link {
    display: block;
    text-decoration: none;
    transition: opacity 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}

.nendo-banner-link:hover { opacity: 0.92; }

.nendo-banner-img-box {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: var(--color-bg-soft);
    overflow: hidden;
}

.nendo-banner-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.nendo-banner-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    margin-top: 15px;
    padding-bottom: 20px;
}

.nendo-banner-arrow {
    background: none;
    border: none;
    color: var(--color-text-muted);
    cursor: pointer;
    padding: 5px;
    display: flex;
    transition: color 0.2s;
}

.nendo-banner-arrow:hover { color: var(--color-text); }
.nendo-banner-arrow svg { width: 24px; height: 24px; }

.nendo-banner-dots { display: flex; gap: 12px; }

.nendo-banner-dot {
    width: 8px;
    height: 8px;
    background: var(--color-border);
    border: none;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s;
}

.nendo-banner-dot.is-active { background: var(--color-text-muted); }

@media (max-width: 599px) {
    .nendo-banner-wrapper { padding: 15px 0 0; }
    .nendo-banner-slide { width: 75vw; padding: 0 7.5px; }
    .nendo-banner-controls { display: none; }
}

/* ============================================================
   CATEGORÍAS — catálogo (estilo minimalista)
   ============================================================ */

.nendo-cats-wrapper {
    width: 100%;
    max-width: 1352px;
    margin-left: auto;
    margin-right: auto;
    padding: 35px 0 0;
}

@media (max-width: 999px) {
    .nendo-cats-wrapper {
        max-width: none;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding-left: 0;
        padding-right: 0;
        padding-top: 0;
        box-sizing: border-box;
    }
}

@media (max-width: 999px) and (min-width: 600px) {
    .nendo-cats-wrapper {
        padding-left: 28px;
        padding-right: 28px;
    }
}

.nendo-cats-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px 0;
    padding-bottom: 0;
}

.nendo-cats-item {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
}

.nendo-cats-item:hover .nendo-cats-img-box {
    opacity: 0.75;
}

.nendo-cats-img-box {
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    overflow: hidden;
    background: var(--color-bg-soft);
    transition: opacity 0.2s ease;
}

.nendo-cats-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.nendo-cats-label {
    margin-top: 10px;
    text-align: center;
}

.nendo-cats-label span {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.5;
}

.nendo-cats-divider {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    height: 1px;
    background: var(--color-border);
    margin-top: 64px;
    margin-bottom: 20px;
}

@media (max-width: 999px) {
    .nendo-cats-divider {
        margin-top: 32px;
    }
}

.nendo-cats-section-title {
    font-family: var(--font-primary);
    font-size: 32px;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 auto 35px;
    padding: 0;
    max-width: 1352px;
    width: calc(100% - 128px);
}

@media (max-width: 999px) {
    .nendo-cats-section-title {
        width: 100%;
        max-width: 100%;
        margin: 0 0 35px;
        padding-left: 20px;
    }
}

@media (max-width: 999px) and (min-width: 600px) {
    .nendo-cats-grid { grid-template-columns: repeat(4, 1fr); gap: 25px 0; }
    .nendo-cats-item { padding: 0 4px; }
    .nendo-cats-img-box { width: 90px; height: 90px; }
    .nendo-cats-label { margin-top: 8px; }
    .nendo-cats-label span { font-size: 16px; }
}

@media (max-width: 599px) {
    .nendo-cats-wrapper { padding-top: 24px; }
    .nendo-cats-grid { grid-template-columns: repeat(3, 1fr); gap: 16px 0; }
    .nendo-cats-img-box { width: 62px; height: 62px; }
    .nendo-cats-label { margin-top: 4px; }
    .nendo-cats-label span { font-size: 14px; }
}

/* ============================================================

/* =============================================================================
   HEADER — mundonendo-child
   DOM: logo-wrap | actions | nav
   Inner: space-between — nav baja solo cuando no cabe
   ============================================================================= */

#nendo-header-wrapper {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
}

.admin-bar #nendo-header-wrapper { top: 32px; }

@media screen and (max-width: 782px) {
    .admin-bar #nendo-header-wrapper { top: 46px; }
}

#nendo-header {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--color-bg);
}

.admin-bar #nendo-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #nendo-header {
        top: 46px;
    }
}

#nendo-header-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 40px;
}

/* --- Logo-wrap ------------------------------------------------------------- */

#nendo-header-logo-wrap {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    height: 80px;
    gap: 20px;
}

#nendo-header-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

#nendo-header-logo a,
#nendo-header-logo img {
    display: block;
    text-decoration: none;
}

#nendo-header-logo img {
    width: 125px;
    height: auto;
}

.nendo-logo-text {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text);
    text-decoration: none;
}

/* --- Hamburguesa ----------------------------------------------------------- */

#nendo-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    flex-shrink: 0;
}

#nendo-hamburger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

#nendo-hamburger:hover { opacity: 0.6 !important; background: none !important; }
#nendo-hamburger.is-active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
#nendo-hamburger.is-active span:nth-child(2) { opacity: 0; }
#nendo-hamburger.is-active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

@media (max-width: 839px) {
    #nendo-hamburger { display: flex; }
}

/* --- Actions (DOM: segundo hijo, visualmente derecha) ---------------------- */

#nendo-header-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 0 0 auto;
    height: 80px;
    margin-left: auto;
}

.nendo-header-icon,
.nendo-header-icon-wrap button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: none !important;
    border: none;
    border-radius: 0;
    cursor: pointer;
    color: var(--color-text);
    text-decoration: none;
    transition: opacity 0.15s ease;
    flex-shrink: 0;
}

.nendo-header-icon:hover,
.nendo-header-icon-wrap button:hover {
    opacity: 0.55 !important;
    background: none !important;
    color: var(--color-text) !important;
}

.nendo-header-icon svg,
.nendo-header-icon-wrap button svg { display: block; flex-shrink: 0; }

.nendo-header-count {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    background: var(--color-accent);
    color: var(--color-white);
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    border-radius: 8px;
    pointer-events: none;
}

.nendo-header-count--hidden { display: none; }

.nendo-header-icon-wrap { position: relative; }

#nendo-account-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 180px;
    background: #f0f0f0;
    border: 1px solid var(--color-border);
    padding: 8px 0;
    z-index: 200;
}

#nendo-account-dropdown[hidden] { display: none; }

#nendo-account-dropdown a {
    display: block;
    width: 100%;
    height: auto !important;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 400;
    color: var(--color-text) !important;
    text-decoration: none !important;
    background: none !important;
    opacity: 1 !important;
    transition: background 0.1s ease;
}

#nendo-account-dropdown a:hover { background: #e2e2e2 !important; }

.nendo-account-sep {
    height: 1px;
    background: var(--color-border);
    margin: 4px 0;
}

/* --- Nav (DOM: tercer hijo — baja a fila 2 cuando no cabe) ----------------- */
/*
   flex: 0 0 auto — no crece ni encoge, ocupa solo lo que necesitan sus items.
   Cuando logo-wrap + actions no dejan espacio suficiente en la fila,
   el nav baja solo a fila 2 porque flex-wrap: wrap está activo en el inner.
   En fila 2: flex-basis 100% para ocupar todo el ancho.
*/

#nendo-header-nav {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    height: 80px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#nendo-header-nav::-webkit-scrollbar { display: none; }

@media (max-width: 839px) {
    #nendo-header-nav { display: none; }
}

/* --- Items del nav --------------------------------------------------------- */

#nendo-header-nav a.nendo-nav-item,
#nendo-header-nav .nendo-nav-item {
    display: inline-flex;
    align-items: center;
    height: 100%;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text) !important;
    text-decoration: none !important;
    white-space: nowrap;
    flex-shrink: 0;
    position: relative;
    transition: opacity 0.15s ease;
    background: none !important;
}

#nendo-header-nav a.nendo-nav-item:hover,
#nendo-header-nav .nendo-nav-item:hover {
    opacity: 0.55 !important;
    background: none !important;
}

.nendo-nav-item.is-active::after,
.nendo-nav-item.current-menu-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 18px;
    right: 18px;
    height: 2px;
    background: var(--color-text);
}

.nendo-nav-sep {
    display: inline-block;
    width: 1px;
    height: 16px;
    background: var(--color-border);
    margin: 0 4px;
    flex-shrink: 0;
    align-self: center;
}

/* --- Megamenu -------------------------------------------------------------- */

#nendo-megamenu-panel {
    width: 100%;
    background: var(--color-bg);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

#nendo-megamenu-panel[hidden] { display: none; }

#nendo-megamenu-inner {
    display: grid;
    grid-template-columns: 1fr 220px;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 40px;
}

#nendo-megamenu-cats { padding-right: 40px; }

.nendo-mega-panel[hidden] { display: none; }

.nendo-mega-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.nendo-mega-see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text);
    text-decoration: none;
    transition: opacity 0.15s ease;
}

.nendo-mega-see-all:hover { opacity: 0.55; }

.nendo-mega-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 4px;
}

.nendo-mega-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    text-decoration: none;
    color: var(--color-text);
    transition: background 0.12s;
}

.nendo-mega-item:hover { background: rgba(0,0,0,0.04); }

.nendo-mega-img {
    width: 64px;
    height: 64px;
    overflow: hidden;
    flex-shrink: 0;
}

.nendo-mega-img img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    transition: opacity 0.15s ease;
}

.nendo-mega-item:hover .nendo-mega-img img { opacity: 0.75; }

.nendo-mega-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-text);
    text-align: center;
    line-height: 1.3;
}

.nendo-mega-item:hover .nendo-mega-label { text-decoration: underline; }

#nendo-megamenu-editorial {
    position: relative;
    padding-left: 32px;
    border-left: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.nendo-megamenu-close {
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: none !important;
    border: none;
    cursor: pointer;
    color: var(--color-text);
}

.nendo-megamenu-close:hover { opacity: 0.5 !important; background: none !important; }

.nendo-editorial-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nendo-editorial-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 4px;
}

.nendo-editorial-link {
    font-size: 14px;
    color: var(--color-text);
    text-decoration: none;
    padding: 2px 0;
    transition: opacity 0.12s ease;
}

.nendo-editorial-link:hover { opacity: 0.55; }

@media (max-width: 839px) {
    #nendo-megamenu-panel { display: none !important; }
}

/* --- Overlay megamenu ------------------------------------------------------ */

#nendo-megamenu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 999;
    display: none;
    cursor: pointer;
}

#nendo-megamenu-overlay.is-active { display: block; }

/* --- Overlay buscador ------------------------------------------------------ */

#nendo-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(0,0,0,0.40);
}

#nendo-search-overlay[hidden] { display: none; }

#nendo-search-header-zone {
    position: fixed;
    right: 48px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#nendo-search-box {
    display: flex;
    align-items: center;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    width: 480px;
    height: 46px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

#nendo-search-cat-wrap {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    border-right: 1px solid var(--color-border);
    padding-right: 16px;
    margin-right: 16px;
}

#nendo-search-cat {
    appearance: none;
    background: none;
    border: none;
    outline: none;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
    font-family: var(--font-primary);
    cursor: pointer;
    padding-right: 18px;
}

.nendo-search-cat-chevron {
    position: absolute;
    right: 18px;
    pointer-events: none;
    color: var(--color-text-muted);
}

#nendo-search-input-wrap {
    display: flex;
    align-items: center;
    flex: 1;
    padding-bottom: 2px;
}

#nendo-search-input-wrap svg { flex-shrink: 0; color: var(--color-text-muted); }

#nendo-search-input {
    flex: 1;
    height: 40px;
    padding: 0;
    background: none;
    border: none;
    outline: none;
    font-size: 16px;
    color: var(--color-text);
    font-family: var(--font-primary);
}

#nendo-search-input::placeholder { color: var(--color-text-muted); }

#nendo-search-backdrop {
    position: fixed;
    inset: 0;
    cursor: pointer;
}

#nendo-search-close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: rgba(255,255,255,0.15) !important;
    border: none;
    cursor: pointer;
    color: var(--color-white);
    z-index: 2;
}

#nendo-search-close:hover { opacity: 0.7 !important; }
#nendo-search-close[hidden] { display: none; }

/* --- Neutralizaciones GP --------------------------------------------------- */

.site-content { padding-top: 0 !important; }
.site-header { display: none !important; }


/* HEADER */
#nendo-header-wrapper {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
}
.admin-bar #nendo-header-wrapper { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar #nendo-header-wrapper { top: 46px; }
}
#nendo-header { width: 100%; max-width: var(--max-width); margin: 0 auto; }

/* Una fila por defecto */
#nendo-header-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    padding: 0 40px;
    height: 80px;
}
#nendo-header-logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin-right: 32px;
    height: 80px;
}
#nendo-header-logo a { display: flex; align-items: center; text-decoration: none; }
#nendo-header-logo img { width: 125px; height: auto; display: block; }
.nendo-logo-text { font-size: 18px; font-weight: 700; color: var(--color-text); text-decoration: none; }
#nendo-header-nav {
    flex: 1 1 auto;
    min-width: 0;
    height: 80px;
    display: flex;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
#nendo-header-nav::-webkit-scrollbar { display: none; }
#nendo-header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: 16px;
    height: 80px;
}

/* Cuando JS detecta que no cabe: nav baja a fila 2 */
#nendo-header-inner.nav-wrapped {
    flex-wrap: wrap;
    height: auto;
}
#nendo-header-inner.nav-wrapped #nendo-header-logo {
    order: 1;
    height: 80px;
}
#nendo-header-inner.nav-wrapped #nendo-header-actions {
    order: 1;
    margin-left: auto;
    height: 80px;
}
#nendo-header-inner.nav-wrapped #nendo-header-nav {
    order: 2;
    flex: 0 0 100%;
    height: 44px;
    overflow-x: auto;
}

/* Movil */
#nendo-header-inner.nav-mobile #nendo-header-nav { display: none; }
#nendo-header-inner.nav-mobile #nendo-hamburger { display: flex; }

/* Hamburguesa — oculta por defecto, visible en nav-mobile */
#nendo-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    flex-shrink: 0;
    margin-right: 12px;
}
#nendo-hamburger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: currentColor;
}
#nendo-header-inner.nav-mobile #nendo-hamburger {
    display: flex;
}

/* Móvil — padding reducido y logo centrado correctamente */
#nendo-header-inner.nav-mobile {
    padding: 0 16px;
}
#nendo-header-inner.nav-mobile #nendo-header-logo {
    position: absolute;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    pointer-events: none;
}
#nendo-header-inner.nav-mobile #nendo-header-logo a {
    pointer-events: auto;
}

/* Móvil — fix logo centrado absoluto respecto al header, no al inner */
#nendo-header-inner.nav-mobile #nendo-header-logo {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    pointer-events: none;
    display: flex;
    justify-content: center;
}
#nendo-header-inner.nav-mobile #nendo-header-logo a {
    pointer-events: auto;
}
#nendo-header-inner.nav-mobile #nendo-header-actions {
    margin-left: auto;
}

/* Móvil — logo junto a hamburguesa, sin centrado */
#nendo-header-inner.nav-mobile #nendo-header-logo {
    position: static;
    transform: none;
    left: auto;
    right: auto;
    pointer-events: auto;
    display: flex;
    justify-content: flex-start;
}

/* Móvil — altura 51px */
#nendo-header-inner.nav-mobile {
    height: 51px;
}

/* Móvil — logo 100px */
#nendo-header-inner.nav-mobile #nendo-header-logo img {
    width: 100px;
    height: auto;
}

#nendo-header-inner.nav-mobile #nendo-hamburger {
    width: 32px;
    height: 32px;
}

/* Desktop una fila — solo altura */
#nendo-header-inner:not(.nav-wrapped):not(.nav-mobile) {
    height: 80px;
}

/* Divisores del header — solo borde inferior, siempre */
#nendo-header {
    border-top: none;
    border-bottom: 1px solid var(--color-border);
}


/* Header borde a borde — padding 64px en desktop */
#nendo-header-inner {
    max-width: none;
    padding-left: 64px;
    padding-right: 64px;
}
#nendo-header-inner.nav-wrapped #nendo-header-nav {
    padding-left: 0;
    padding-right: 0;
}

/* Header borde a borde */
#nendo-header {
    max-width: none;
    width: 100%;
}

/* Segunda fila — padding 40px */
#nendo-header-inner.nav-wrapped {
    padding-left: 40px;
    padding-right: 40px;
}
#nendo-header-inner.nav-wrapped #nendo-header-nav {
    padding-left: 0;
    padding-right: 0;
}

/* Primer elemento del nav sin padding izquierdo */
#nendo-header-nav .nendo-nav-item:first-child,
#nendo-header-nav a.nendo-nav-item:first-child {
    padding-left: 0;
}

/* Segunda fila — items alineados arriba */
#nendo-header-inner.nav-wrapped #nendo-header-nav {
    align-items: flex-start;
}
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item,
#nendo-header-inner.nav-wrapped #nendo-header-nav a.nendo-nav-item {
    height: 44px;
    align-items: center;
}

/* Segunda fila — items pegados arriba */
#nendo-header-inner.nav-wrapped #nendo-header-nav {
    align-items: stretch;
    padding-top: 0;
}
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item,
#nendo-header-inner.nav-wrapped #nendo-header-nav a.nendo-nav-item {
    align-self: flex-start;
    padding-top: 12px;
    padding-bottom: 0;
    height: auto;
}

/* Segunda fila — items pegados arriba sin padding-top */
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item,
#nendo-header-inner.nav-wrapped #nendo-header-nav a.nendo-nav-item {
    padding-top: 0;
}

/* Ocultar header de WooCommerce en páginas de archivo */
.woocommerce-products-header { display: none !important; }

/* Quitar margin-left de actions */
#nendo-header-actions {
    margin-left: 0;
}

/* BUSCADOR — restaurado desde bak32 */
#nendo-search-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 2000;
}
#nendo-search-overlay:not([hidden]) {
    display: block;
}
#nendo-search-header-zone {
    position: fixed;
    right: 48px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#nendo-search-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    cursor: pointer;
    z-index: -1;
}
#nendo-search-box {
    display: flex;
    align-items: center;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    width: 480px;
    height: 46px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
#nendo-search-cat-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 14px;
    height: 100%;
    border-right: 1px solid var(--color-border);
    background: var(--color-bg-soft);
    flex-shrink: 0;
}
#nendo-search-cat {
    font-size: 13px;
    color: var(--color-text);
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    padding-right: 16px;
    max-width: 140px;
}
.nendo-search-cat-chevron {
    pointer-events: none;
    color: var(--color-text-muted);
    flex-shrink: 0;
}
#nendo-search-input-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    flex: 1;
    color: var(--color-text-muted);
}
#nendo-search-input {
    flex: 1;
    font-size: 14px;
    color: var(--color-text);
    background: none;
    border: none;
    outline: none;
    font-family: var(--font-primary);
}
#nendo-search-input::placeholder {
    color: var(--color-text-muted);
}
#nendo-search-close {
    display: none;
}


/* Buscador estilo minimalista — caja redondeada sin bordes */
#nendo-search-box {
    border: none !important;
    border-radius: 4px;
    box-shadow: none !important;
    background: #f5f5f5 !important;
    width: 480px;
    height: 46px;
}
#nendo-search-cat-wrap {
    background: transparent !important;
    border-right: none !important;
}
#nendo-search-cat {
    background: transparent !important;
}
#nendo-search-header-zone {
    background: transparent !important;
    border-bottom: none !important;
}

/* Buscador — zona blanca sobre el header */
#nendo-search-header-zone {
    background: var(--color-bg) !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 0 64px !important;
    border-bottom: 1px solid var(--color-border) !important;
}

/* Buscador — zona transparente, solo el box tiene fondo blanco */
#nendo-search-header-zone {
    background: transparent !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 64px !important;
    border-bottom: none !important;
    justify-content: flex-end !important;
}
#nendo-search-box {
    background: var(--color-bg) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10) !important;
}

/* Buscador — fondo gris, sin borde */
#nendo-search-box {
    background: #f5f5f5 !important;
    border: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* Buscador — zona blanca con padding 15px */
#nendo-search-header-zone {
    padding: 15px !important;
    background: var(--color-bg) !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12) !important;
    left: auto !important;
    border-bottom: none !important;
}

/* Buscador — alineado a la derecha sobre los iconos */
#nendo-search-header-zone {
    left: auto !important;
    right: 64px !important;
}

/* Buscador — ancho reducido */
#nendo-search-box {
    width: 380px !important;
}

/* Buscador — altura reducida */
#nendo-search-box {
    height: 38px !important;
}

/* Buscador — padding reducido para que flote sobre el header */
#nendo-search-header-zone {
    padding: 8px !important;
}
#nendo-search-box {
    width: 480px !important;
    height: 46px !important;
}

/* Buscador — padding ajustado */
#nendo-search-header-zone {
    padding: 8px 16px !important;
}

/* Buscador — padding uniforme */
#nendo-search-header-zone {
    padding: 12px !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Buscador — margen superior 4px */
#nendo-search-header-zone {
    margin-top: 4px !important;
}

/* MEGAMENU — restaurado desde bak32 */
#nendo-megamenu-panel {
    display: none;
    position: fixed;
    top: 85px;
    left: 0;
    right: 0;
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
    z-index: 999;
}
#nendo-megamenu-panel:not([hidden]) {
    display: block;
}
#nendo-megamenu-panel::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
}
#nendo-megamenu-overlay {
    display: none;
    position: fixed;
    top: 85px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 998;
    pointer-events: none;
}
#nendo-megamenu-overlay.is-active {
    display: block;
    pointer-events: auto;
    cursor: pointer;
}
#nendo-megamenu-inner {
    display: flex;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 48px;
    min-height: 860px;
}
#nendo-megamenu-cats {
    flex: 1;
    padding: 0 24px 32px 0;
    border-right: 1px solid var(--color-border);
    min-width: 0;
}
.nendo-mega-see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--color-text);
    text-decoration: none;
    margin-bottom: 24px;
    font-weight: 700;
}
.nendo-mega-see-all:hover { opacity: 0.6; }
.nendo-mega-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px 16px;
}
.nendo-mega-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    text-decoration: none;
    color: var(--color-text);
    transition: background 0.12s;
}
.nendo-mega-item:hover { background: transparent; }
.nendo-mega-img {
    position: relative;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.nendo-mega-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background 0.2s;
    pointer-events: none;
}
.nendo-mega-item:hover .nendo-mega-img::after { background: rgba(0,0,0,0.06); }
.nendo-mega-img img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    transition: opacity 0.2s;
}
.nendo-mega-img-placeholder {
    display: block;
    width: 80px;
    height: 80px;
    background: var(--color-bg-soft);
    border: 1px solid var(--color-border);
}
.nendo-mega-label {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}
.nendo-mega-item:hover .nendo-mega-label { text-decoration: underline; }
#nendo-megamenu-editorial {
    width: 220px;
    flex-shrink: 0;
    padding: 0 0 32px 40px;
    position: relative;
}
#nendo-megamenu-topbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0 16px;
    height: 60px;
}

.nendo-megamenu-close {
    position: static;
    top: auto;
    right: auto;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    padding: 0;
    z-index: 1000;
}
.nendo-megamenu-close svg {
    width: 26px;
    height: 26px;
    stroke-width: 2;
}
.nendo-megamenu-close:hover,
.nendo-megamenu-close:focus,
.nendo-megamenu-close:active {
    opacity: 0.5 !important;
    background: none !important;
    color: var(--color-text) !important;
}
.nendo-editorial-group { margin-bottom: 24px; }
.nendo-editorial-title {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}
.nendo-editorial-link {
    display: block;
    font-size: 14px;
    color: var(--color-text-mid);
    text-decoration: none;
    padding: 4px 0;
    transition: color 0.12s;
}
.nendo-editorial-link:hover { color: var(--color-text); }

/* Megamenu — posición dinámica via JS, hover imagen */
#nendo-megamenu-panel {
    top: 0;
}
#nendo-megamenu-overlay {
    top: 0;
}
/* Megamenu compact — nav-wrapped */
#nendo-megamenu-panel.mega-compact #nendo-megamenu-topbar {
    height: 44px;
}
#nendo-megamenu-panel.mega-compact #nendo-megamenu-inner {
    padding: 0 0 0 16px;
}
#nendo-megamenu-panel.mega-compact #nendo-megamenu-cats {
    padding: 0 0 24px 0;
}
#nendo-megamenu-panel.mega-compact #nendo-megamenu-editorial {
    width: 180px;
    padding: 0 0 24px 24px;
}
#nendo-megamenu-panel.mega-compact .nendo-editorial-group {
    margin-bottom: 16px;
}
#nendo-megamenu-panel.mega-compact .nendo-mega-see-all {
    margin-bottom: 12px;
}
#nendo-megamenu-panel.mega-compact .nendo-mega-grid {
    gap: 2px 4px;
}
#nendo-megamenu-panel.mega-compact .nendo-mega-item {
    padding: 6px 4px;
}

.nendo-mega-item:hover .nendo-mega-img::after {
    background: rgba(0,0,0,0.06) !important;
}
/* ============================================================
   Técnica líneas: gap 1px + fondo del contenedor como color de línea.
   Sin bordes exteriores. Hover solo en imagen.
   ============================================================ */

/* ── Grid contenedor: el fondo actúa como líneas internas ── */
.woocommerce ul.products {
    display: grid !important;
    float: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
    background-color: #f0f0f0 !important;
    max-width: 1352px !important;
    width: calc(100% - 128px) !important;
}

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

/* ── Item: fondo blanco tapa el fondo del grid — efecto líneas internas ── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products.columns-1 li.product,
.woocommerce ul.products.columns-2 li.product,
.woocommerce ul.products.columns-3 li.product,
.woocommerce ul.products.columns-4 li.product,
.woocommerce ul.products.columns-5 li.product,
.woocommerce ul.products.columns-6 li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--color-white) !important;
}

/* ── Card link ── */
.nendo-catalog-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    height: 100%;
    background: var(--color-white);
}

.nendo-catalog-card:hover {
    text-decoration: none;
    color: inherit;
}

/* ── Imagen cuadrada ── */
.nendo-catalog-img-outer {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    flex-shrink: 0;
}

.nendo-catalog-img-wrap {
    position: absolute;
    /* top/bottom: 0 — imagen toca líneas arriba y abajo */
    /* left/right: 14px — respira de las líneas laterales */
    inset: 0 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-white);
    overflow: hidden;
}

/* Filas 2+ (desktop 4 col): espacio superior entre línea y figura */
.woocommerce ul.products li.product:nth-child(n+5) .nendo-catalog-img-wrap {
    inset: 14px 14px 0;
}

/* Primera columna: sin inset izquierdo — imagen toca el borde exterior */
.woocommerce ul.products li.product:nth-child(4n+1) .nendo-catalog-img-wrap {
    inset-inline-start: 0;
}

/* Última columna: sin inset derecho — imagen toca el borde exterior */
.woocommerce ul.products li.product:nth-child(4n) .nendo-catalog-img-wrap {
    inset-inline-end: 0;
}

/* Hover — mismo inset que img-wrap base */
.nendo-catalog-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.06);
    opacity: 0;
    transition: opacity 0.15s ease;
    pointer-events: none;
}

.nendo-catalog-card:hover .nendo-catalog-img-wrap::after {
    opacity: 1;
}

/* Neutralización crítica WooCommerce */
.woocommerce ul.products li.product a .nendo-catalog-img-wrap img {
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
}

/* ── Info: nombre + lower ── */
.nendo-catalog-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 16px 20px 20px;
    gap: 14px;
}

.nendo-catalog-name {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    color: var(--color-text);
    margin: 0;
    padding: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Lower: precio + corazón en fila ── */
.nendo-catalog-lower {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}

.nendo-catalog-price {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.4;
}

.nendo-catalog-price *,
.nendo-catalog-price .woocommerce-Price-amount,
.nendo-catalog-price .price,
.nendo-catalog-price bdi,
.nendo-catalog-price span {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: var(--color-text) !important;
}

.nendo-catalog-price del,
.nendo-catalog-price del * {
    color: var(--color-text-muted) !important;
    margin-right: 4px;
}

.nendo-catalog-price ins {
    color: var(--color-text) !important;
    text-decoration: none;
}

/* ── Wishlist en card: tamaño reducido ── */
.nendo-catalog-heart {
    flex-shrink: 0;
}

.nendo-catalog-heart .nendo-wishlist-btn {
    width: 36px !important;
    height: 36px !important;
}

.nendo-catalog-heart .nendo-wishlist-btn svg {
    width: 16px !important;
    height: 16px !important;
}

/* ── Tablet: 3 columnas ── */
@media (max-width: 999px) and (min-width: 600px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        width: 100vw !important;
    }
    /* Sin inset lateral en tablet — imagen toca los bordes */
    .woocommerce ul.products li.product .nendo-catalog-img-wrap {
        inset: 0 !important;
    }
    .woocommerce ul.products li.product:nth-child(n+4) .nendo-catalog-img-wrap {
        inset-block-start: 14px !important;
    }
    /* Sin hover en tablet */
    .nendo-catalog-card:hover .nendo-catalog-img-wrap::after {
        opacity: 0 !important;
    }
    .nendo-catalog-info {
        padding: 14px 16px 18px;
        gap: 10px;
    }
}

/* ── Móvil: 2 columnas, borde a borde ── */
@media (max-width: 599px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        width: 100vw !important;
    }
    /* Sin inset lateral en móvil — imagen toca los bordes */
    .woocommerce ul.products li.product .nendo-catalog-img-wrap {
        inset: 0 !important;
    }
    .woocommerce ul.products li.product:nth-child(n+3) .nendo-catalog-img-wrap {
        inset-block-start: 14px !important;
    }
    /* Sin hover en móvil */
    .nendo-catalog-card:hover .nendo-catalog-img-wrap::after {
        opacity: 0 !important;
    }
    .nendo-catalog-name {
        font-size: 13px;
    }
    .nendo-catalog-info {
        padding: 12px 12px 16px;
        gap: 8px;
    }
    .nendo-catalog-price {
        font-size: 15px;
    }
    .nendo-catalog-heart .nendo-wishlist-btn {
        width: 32px !important;
        height: 32px !important;
    }
    .nendo-catalog-heart .nendo-wishlist-btn svg {
        width: 14px !important;
        height: 14px !important;
    }
}

/* ── Celda vacía: fondo blanco ── */
.nendo-catalog-empty {
    background: var(--color-white) !important;
}

/* ── Paginación estilo minimalista ── */
.nendo-pagination-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 0 32px;
}

.nendo-pagination-count {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 400;
    color: var(--color-text-muted);
}

.nendo-pagination {
    display: flex;
    justify-content: center;
}

.nendo-pagination ul {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nendo-pagination ul li {
    margin: 0;
    padding: 0;
}

.nendo-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 6px;
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-text-muted);
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    transition: color 0.15s ease;
    position: relative;
}

.nendo-pagination .page-numbers:hover {
    color: var(--color-text);
}

/* Página activa: subrayado inferior estilo minimalista */
.nendo-pagination .page-numbers.current {
    color: var(--color-text);
    font-weight: 400;
}

.nendo-pagination .page-numbers.current::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 2px;
    background: var(--color-text);
}

/* Flechas prev/next */
.nendo-pagination .prev.page-numbers,
.nendo-pagination .next.page-numbers {
    font-size: 16px;
    color: var(--color-text-muted);
}

.nendo-pagination .prev.page-numbers:hover,
.nendo-pagination .next.page-numbers:hover {
    color: var(--color-text);
}

/* Puntos suspensivos */
.nendo-pagination .dots {
    color: var(--color-text-muted);
    cursor: default;
}

/* FIN CATÁLOGO */

/* Nav segunda fila — subrayado activo alineado abajo */
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item.is-active::after,
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item.current-menu-item::after {
    bottom: 0;
    left: 0;
    right: 0;
}

/* Nav segunda fila — items altura completa para que bottom:0 funcione */
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item,
#nendo-header-inner.nav-wrapped #nendo-header-nav a.nendo-nav-item {
    align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    display: inline-flex;
    align-items: center;
}

/* Nav segunda fila — texto arriba, subrayado abajo */
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item,
#nendo-header-inner.nav-wrapped #nendo-header-nav a.nendo-nav-item {
    align-self: stretch;
    align-items: flex-start;
    padding-top: 10px;
    padding-bottom: 0;
    display: inline-flex;
}

/* Nav segunda fila — texto pegado arriba */
#nendo-header-inner.nav-wrapped #nendo-header-nav .nendo-nav-item,
#nendo-header-inner.nav-wrapped #nendo-header-nav a.nendo-nav-item {
    padding-top: 0 !important;
}

/* Megamenu — label alineado a la izquierda */
.nendo-mega-label {
    text-align: left !important;
}

/* Dropdown cuenta — triángulo indicador */
#nendo-account-dropdown::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 12px;
    width: 12px;
    height: 12px;
    background: #f0f0f0;
    border-left: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    transform: rotate(45deg);
}

/* Breadcrumb pegado al header en tablet y móvil */
@media (max-width: 999px) {
    .woocommerce-breadcrumb-wrap {
        margin-top: 0 !important;
    }
}

/* Quitar padding-top del div.product en tablet y móvil */
@media (max-width: 999px) {
    .woocommerce div.product {
        padding-top: 0 !important;
    }
}

/* Wishlist catálogo — fuera del <a>, posicionado absoluto sobre la card */
.nendo-catalog-item {
    position: relative;
}
.nendo-catalog-item .nendo-catalog-heart {
    position: absolute;
    bottom: 56px;
    right: 12px;
    z-index: 2;
}

/* Wishlist catálogo — posición correcta y z-index sobre el <a> */
.nendo-catalog-item {
    position: relative;
}
.nendo-catalog-item .nendo-catalog-heart {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 10;
}
.nendo-catalog-item .nendo-catalog-heart .nendo-wishlist-btn {
    position: relative;
    z-index: 10;
    pointer-events: auto;
}







/* ── Controles de cantidad — FICHA DE PRODUCTO (botones separados con fondo gris) ── */
body:not(.woocommerce-cart) .nendo-qty-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    border: none !important;
    background: transparent !important;
    width: auto !important;
    border-radius: 0 !important;
    overflow: visible;
}
body:not(.woocommerce-cart) .nendo-qty-btn {
    width: 45px !important;
    height: 45px !important;
    background: #D8D8D9 !important;
    border: none !important;
    border-radius: 4px !important;
    color: var(--color-text) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    cursor: pointer;
    transition: background 0.15s;
}
body:not(.woocommerce-cart) .nendo-qty-btn--minus.is-one {
    background: #F5F5F5 !important;
}
body:not(.woocommerce-cart) .nendo-qty-btn:hover {
    background: #b8b8b9 !important;
}
body:not(.woocommerce-cart) .nendo-qty-input {
    width: 60px !important;
    height: 45px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-family: var(--font-primary) !important;
    color: var(--color-text) !important;
    background: var(--color-bg) !important;
    padding: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    pointer-events: none;
    flex: none !important;
}

/* ── Controles de cantidad — CARRITO (botones unidos estilo minimalista) ── */
body.woocommerce-cart .nendo-qty-wrap {
    display: flex !important;
    align-items: stretch !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 0 !important;
    width: 130px !important;
    height: 44px !important;
    background: var(--color-bg) !important;
    overflow: hidden;
    gap: 0 !important;
}
body.woocommerce-cart .nendo-qty-btn {
    width: 40px !important;
    height: 44px !important;
    background: var(--color-bg) !important;
    border: none !important;
    border-radius: 0 !important;
    color: var(--color-text) !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    cursor: pointer;
    transition: background 0.15s;
    font-size: 14px !important;
}
body.woocommerce-cart .nendo-qty-btn:hover {
    background: var(--color-bg-soft) !important;
}
body.woocommerce-cart .nendo-qty-btn:disabled {
    opacity: 0.3;
    cursor: default;
}
body.woocommerce-cart .nendo-qty-input {
    width: 50px !important;
    flex: none !important;
    height: 44px !important;
    border: none !important;
    border-left: 1px solid var(--color-border) !important;
    border-right: 1px solid var(--color-border) !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    font-family: var(--font-primary) !important;
    color: var(--color-text) !important;
    background: var(--color-bg) !important;
    padding: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    pointer-events: none;
}
body.woocommerce-cart .nendo-qty-input::-webkit-outer-spin-button,
body.woocommerce-cart .nendo-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

/* ============================================================
   CARRITO — minimalista
   ============================================================ */

/* Neutralizaciones WooCommerce */
.woocommerce-cart-form { margin: 0; padding: 0; }
.cart-collaterals { display: none !important; }
.nendo-cart-totals .shop_table { display: none !important; }
.nendo-cart-totals > h2 { display: none !important; }
.woocommerce .woocommerce-cart-form .shop_table { display: none !important; }
body.woocommerce-cart .woocommerce-notices-wrapper { padding: 0 64px; max-width: 1640px; margin: 0 auto; }
body.woocommerce-cart .entry-header,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title { display: none !important; }

/* Pasos */
.nendo-cart-steps {
    border-bottom: none;
    padding: 24px 64px;
    background: var(--color-bg);
}
.nendo-cart-steps-inner {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    max-width: 520px;
    margin: 0 auto;
}
.nendo-cart-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    width: 90px;
}
.nendo-cart-step__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-bg);
    border: 2px solid var(--color-border);
    display: block;
}
.nendo-cart-step.is-active .nendo-cart-step__dot {
    background: var(--color-text);
    border-color: var(--color-text);
}
.nendo-cart-step__label {
    font-size: 12px;
    font-weight: 400;
    color: var(--color-text-muted);
    letter-spacing: 0.03em;
    text-align: center;
    white-space: nowrap;
}
.nendo-cart-step.is-active .nendo-cart-step__label {
    color: var(--color-text);
    font-weight: 700;
}
.nendo-cart-step__line {
    flex: 0 0 120px;
    width: 120px;
    height: 1px;
    background: var(--color-border);
    margin-top: 6px;
}

/* Layout principal */
.nendo-cart-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 48px;
    align-items: start;
    max-width: 1640px;
    margin: 0 auto;
    padding: 48px 64px 80px;
}
.nendo-cart-layout.is-loading {
    pointer-events: none;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

/* Columna izquierda */
.nendo-cart-main { min-width: 0; }
.nendo-cart-title {
    font-size: 26px;
    font-weight: 400;
    color: var(--color-text);
    margin: 0 0 4px;
    display: flex;
    align-items: baseline;
    gap: 12px;
}
.nendo-cart-count {
    font-size: 15px;
    font-weight: 400;
    color: var(--color-text-muted);
}

/* Items */
.nendo-cart-items {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--color-border);
    margin-top: 24px;
}
.nendo-cart-item {
    display: grid;
    grid-template-columns: 150px 1fr;
    grid-template-rows: 1fr auto;
    grid-template-areas:
        "img info"
        "img actions";
    gap: 0 28px;
    padding: 32px 0;
    border-bottom: 1px solid var(--color-border);
}

/* Imagen */
.nendo-cart-item__img {
    grid-area: img;
    width: 150px;
    height: 150px;
    background: var(--color-bg-soft);
    overflow: hidden;
    flex-shrink: 0;
}
.nendo-cart-item__img a { display: block; width: 100%; height: 100%; }
.nendo-cart-item__img img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* Info */
.nendo-cart-item__info {
    grid-area: info;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 4px;
    min-width: 0;
}
.nendo-cart-item__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.nendo-cart-item__badge {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 2px 8px;
    border: 1px solid currentColor;
}
.nendo-cart-item__badge.is-preorder  { color: #BC002D; border-color: #BC002D; }
.nendo-cart-item__badge.is-instock   { color: #2E7D32; border-color: #2E7D32; }
.nendo-cart-item__badge.is-backorder { color: #E65100; border-color: #E65100; }
.nendo-cart-item__badge.is-outstock  { color: var(--color-text-muted); border-color: var(--color-border); }
.nendo-cart-item__number {
    font-size: 11px;
    color: var(--color-text-muted);
}
.nendo-cart-item__name {
    font-size: 18px;
    font-weight: 500;
    color: var(--color-text);
    line-height: 1.4;
}
.nendo-cart-item__name a { color: inherit; text-decoration: none; }
.nendo-cart-item__name a:hover { text-decoration: underline; }
.nendo-cart-item__price {
    font-size: 14px;
    color: var(--color-text-mid);
    margin-top: 2px;
}
.nendo-cart-item__price-mobile { display: none; }

/* Acciones */
.nendo-cart-item__actions {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
}
.nendo-cart-item__actions-left {
    display: flex;
    align-items: center;
    gap: 20px;
}
.nendo-cart-item__subtotal-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
.nendo-cart-item__subtotal {
    font-size: 21px;
    font-weight: 700;
    color: var(--color-text);
    white-space: nowrap;
}
.nendo-cart-remove {
    font-size: 14px;
    color: var(--color-text-muted);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s;
    border-bottom: 1px solid transparent;
    white-space: nowrap;
}
.nendo-cart-remove:hover {
    color: var(--color-text);
    border-bottom-color: var(--color-text);
}

/* Cupón */
.nendo-cart-coupon { margin-top: 32px; }
.nendo-cart-coupon__applied-label {
    font-size: 11px;
    color: #2E7D32;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.nendo-cart-coupon__form {
    display: flex;
    height: 48px;
    max-width: 400px;
}
.nendo-cart-coupon__input {
    flex: 1;
    border: 1px solid var(--color-border);
    border-right: none;
    padding: 0 16px;
    font-size: 14px;
    font-family: var(--font-primary);
    color: var(--color-text);
    background: var(--color-bg);
    outline: none;
    transition: border-color 0.15s;
    min-width: 0;
}
.nendo-cart-coupon__input::placeholder { color: var(--color-text-muted); }
.nendo-cart-coupon__input:focus { border-color: var(--color-text); }
.nendo-cart-coupon__btn {
    padding: 0 24px;
    background: var(--color-bg);
    color: var(--color-text);
    border: 1px solid var(--color-border);
    font-size: 13px;
    font-family: var(--font-primary);
    letter-spacing: 0.04em;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, border-color 0.15s;
    flex-shrink: 0;
}
.nendo-cart-coupon__btn:hover {
    background: var(--color-bg-soft);
    border-color: var(--color-text-mid);
}
.nendo-cart-coupon__feedback { font-size: 12px; margin-top: 8px; min-height: 18px; }
.nendo-cart-coupon__feedback.is-ok    { color: #2E7D32; }
.nendo-cart-coupon__feedback.is-error { color: var(--color-accent); }

/* Sidebar */
.nendo-cart-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
}
.nendo-cart-summary {
    background: #F0F0F0;
    padding: 32px 28px;
}

/* Totales */
.cart_totals.nendo-cart-totals { background: none; }
.nendo-cart-totals__title {
    display: block !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: var(--color-text) !important;
    margin: 0 0 28px !important;
}
.nendo-cart-totals__rows {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 0;
}
.nendo-cart-totals__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
}
.nendo-cart-totals__label { font-size: 14px; color: var(--color-text-mid); }
.nendo-cart-totals__value { font-size: 14px; color: var(--color-text); text-align: right; }
.nendo-cart-totals__value--discount { color: var(--color-accent); }
.nendo-cart-totals__row--total {
    padding-top: 20px;
    border-top: 1px solid #D0D0D0;
    margin-top: 8px;
}
.nendo-cart-totals__row--total .nendo-cart-totals__label {
    font-size: 16px;
    font-weight: 500;
    color: var(--color-text);
}
.nendo-cart-totals__row--total .nendo-cart-totals__value {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-text);
}

/* Botón checkout — fuera del bloque gris */
.nendo-cart-checkout-standalone {
    margin-top: 0;
}
.nendo-cart-checkout-standalone .nendo-cart-checkout-btn,
.nendo-cart-checkout-btn {
    display: block;
    width: 100%;
    background: var(--color-text);
    color: var(--color-white) !important;
    text-align: center;
    padding: 18px 24px;
    font-size: 18px;
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s;
    border: none;
    border-radius: 6px;
    margin-top: 16px;
    box-sizing: border-box;
}
.nendo-cart-checkout-btn:hover,
.nendo-cart-checkout-standalone .nendo-cart-checkout-btn:hover {
    background: var(--color-black);
}

/* Métodos de pago */
.nendo-cart-payment-methods {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #D0D0D0;
}
.nendo-cart-payment-methods__label {
    font-size: 11px;
    color: var(--color-text-muted);
    letter-spacing: 0.03em;
    display: block;
    margin-bottom: 8px;
}
.nendo-cart-payment-methods__icons { display: flex; gap: 6px; flex-wrap: wrap; }
.nendo-payment-tag {
    font-size: 10px;
    color: var(--color-text-mid);
    border: 1px solid #C8C8C8;
    padding: 3px 8px;
    letter-spacing: 0.03em;
    background: var(--color-bg);
}

/* Estado vacío */
.nendo-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
    text-align: center;
    min-height: 40vh;
}
.nendo-cart-empty__icon { margin-bottom: 24px; color: var(--color-text-muted); }
.nendo-cart-empty__msg { font-size: 18px; font-weight: 400; color: var(--color-text); margin: 0 0 24px; }
.nendo-cart-empty__cta {
    font-size: 13px;
    color: var(--color-text);
    text-decoration: none;
    border-bottom: 1px solid var(--color-text);
    padding-bottom: 2px;
    letter-spacing: 0.04em;
    transition: opacity 0.15s;
}
.nendo-cart-empty__cta:hover { opacity: 0.6; }

/* Responsive tablet */
@media (max-width: 999px) and (min-width: 600px) {
    .nendo-cart-layout { grid-template-columns: 1fr; padding: 32px 40px 64px; gap: 32px; }
    .nendo-cart-steps { padding: 20px 40px; }
    body.woocommerce-cart .woocommerce-notices-wrapper { padding: 0 40px; }
    .nendo-cart-sidebar { position: static; }
    .nendo-cart-item { grid-template-columns: 120px 1fr; }
    .nendo-cart-item__img { width: 120px; height: 120px; }
}

/* Responsive móvil */
@media (max-width: 599px) {
    .nendo-cart-layout { grid-template-columns: 1fr; padding: 20px 16px 48px; gap: 24px; }
    .nendo-cart-steps { padding: 16px; }
    .nendo-cart-step__line { min-width: 24px; }
    .nendo-cart-step__label { font-size: 11px; }
    body.woocommerce-cart .woocommerce-notices-wrapper { padding: 0 16px; }
    .nendo-cart-sidebar { position: static; }
    .nendo-cart-item { grid-template-columns: 90px 1fr; gap: 0 16px; }
    .nendo-cart-item__img { width: 90px; height: 90px; }
    .nendo-cart-item__name { font-size: 15px; }
    .nendo-cart-item__price { display: none; }
    .nendo-cart-item__price-mobile { display: block; font-size: 13px; color: var(--color-text-mid); }
    .nendo-cart-coupon__form { max-width: 100%; }
    .nendo-cart-summary { padding: 20px 16px; }
    .nendo-cart-title { font-size: 22px; }
}

/* ============================================================
   FIN CARRITO
   ============================================================ */

/* ── Carrito ajustes finales ── */

/* Botones cantidad en carrito — separados con bordes redondeados */
body.woocommerce-cart .nendo-qty-wrap {
    border: none !important;
    background: transparent !important;
    gap: 6px !important;
    width: auto !important;
    overflow: visible !important;
}
body.woocommerce-cart .nendo-qty-btn {
    width: 40px !important;
    height: 40px !important;
    background: #D8D8D9 !important;
    border: none !important;
    border-radius: 4px !important;
    color: var(--color-text) !important;
    box-shadow: none !important;
}
body.woocommerce-cart .nendo-qty-btn:hover {
    background: #b8b8b9 !important;
}
body.woocommerce-cart .nendo-qty-input {
    width: 52px !important;
    height: 40px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 4px !important;
    flex: none !important;
}

/* Checkout standalone — fuera visualmente del bloque gris */
.nendo-cart-summary {
    padding-bottom: 28px;
}
.nendo-cart-checkout-standalone {
    background: transparent !important;
    padding: 0 !important;
    margin-top: 0 !important;
}
.nendo-cart-checkout-standalone .nendo-cart-checkout-btn {
    margin-top: 16px !important;
    background: var(--color-text) !important;
    border-radius: 6px !important;
}

/* Sacar visualmente el checkout del fondo gris */
#nendo-cart-summary {
    background: #F0F0F0;
}
#nendo-cart-summary .nendo-cart-checkout-standalone {
    margin: 0 -28px -28px -28px;
    padding: 20px 28px 28px 28px !important;
    background: var(--color-bg) !important;
    border-top: 1px solid var(--color-border);
}
#nendo-cart-summary .nendo-cart-checkout-standalone .nendo-cart-checkout-btn {
    margin-top: 0 !important;
}
#nendo-cart-summary .nendo-cart-payment-methods {
    margin: 0 -28px -28px -28px;
    padding: 16px 28px 28px 28px !important;
    background: var(--color-bg) !important;
    border-top: none !important;
}

/* ── Carrito ajustes v4 ── */

/* Botón finalizar compra — directo en sidebar, fuera del fragmento */
.nendo-cart-sidebar > .nendo-cart-checkout-btn {
    display: block;
    width: 100%;
    background: var(--color-text) !important;
    color: var(--color-white) !important;
    text-align: center;
    padding: 18px 24px;
    font-size: 18px;
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s;
    border: none;
    border-radius: 6px;
    margin-top: 12px;
    box-sizing: border-box;
}
.nendo-cart-sidebar > .nendo-cart-checkout-btn:hover {
    background: var(--color-black) !important;
}

/* Ocultar cualquier botón duplicado dentro del fragmento */
#nendo-cart-summary .nendo-cart-checkout-standalone,
#nendo-cart-summary .wc-proceed-to-checkout,
#nendo-cart-summary .nendo-cart-checkout-btn {
    display: none !important;
}

/* Botones cantidad carrito — blancos con borde gris */
body.woocommerce-cart .nendo-qty-btn {
    background: var(--color-bg) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 4px !important;
    width: 40px !important;
    height: 40px !important;
}
body.woocommerce-cart .nendo-qty-btn:hover {
    background: var(--color-bg-soft) !important;
}

/* Bloque gris — incluye métodos de pago */
.nendo-cart-summary {
    background: #F0F0F0;
    padding: 32px 28px;
    border-radius: 0;
}
#nendo-cart-summary .nendo-cart-payment-methods {
    margin: 20px -28px -32px -28px;
    padding: 16px 28px 20px 28px;
    background: #E8E8E8;
    border-top: 1px solid #D8D8D8;
}

/* ── Carrito — logos pago y aviso cuotas ── */
.nendo-cart-payment-methods {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #D0D0D0;
    text-align: center;
}
.nendo-cart-payment-methods__label {
    font-size: 11px;
    color: var(--color-text-muted);
    display: block;
    line-height: 1.4;
    margin-bottom: 12px;
}
.nendo-cart-payment-methods__icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.nendo-payment-logo {
    height: 18px;
    width: auto;
    filter: grayscale(100%);
    opacity: 0.6;
    display: block;
}
/* Ocultar tags de texto */
.nendo-payment-tag { display: none !important; }

/* Aviso cuotas */
.nendo-cart-payment-notice {
    font-size: 12px;
    color: var(--color-text-muted);
    line-height: 1.5;
    margin: 12px 0 0;
    text-align: center;
    padding: 0 4px;
}

/* Sidebar — layout limpio */
.nendo-cart-sidebar > .nendo-cart-checkout-btn {
    display: block;
    width: 100%;
    background: var(--color-text) !important;
    color: var(--color-white) !important;
    text-align: center;
    padding: 18px 24px;
    font-size: 18px;
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s;
    border: none;
    border-radius: 6px;
    margin-top: 16px;
    box-sizing: border-box;
}
.nendo-cart-sidebar > .nendo-cart-checkout-btn:hover {
    background: var(--color-black) !important;
}
/* Ocultar botón duplicado dentro del fragmento */
#nendo-cart-summary .wc-proceed-to-checkout,
#nendo-cart-summary .nendo-cart-checkout-standalone,
#nendo-cart-summary .nendo-cart-checkout-btn {
    display: none !important;
}

/* FAQ carrito */
.cart-faq-section {
    width: 100%;
    margin-top: 60px;
    margin-bottom: 60px;
    display: flex;
    justify-content: center;
}
.cart-faq-container {
    background-color: var(--color-bg-soft);
    max-width: 1100px;
    width: 90%;
    padding: 50px 60px;
    box-sizing: border-box;
}
.cart-faq-title {
    text-align: left;
    font-size: 28px;
    font-weight: 500;
    color: var(--color-text);
    margin-bottom: 40px;
    margin-top: 0;
    border: none;
    line-height: 1.2;
}
.cart-faq-item {
    border-bottom: 1px solid var(--color-border);
}
.cart-faq-item:last-child { border-bottom: none; }
.cart-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: transparent;
    border: none;
    padding: 24px 0;
    text-align: left;
    cursor: pointer;
    transition: color 0.2s;
}
.cart-faq-question:hover .cart-faq-text { color: var(--color-black); }
.cart-faq-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 25px;
    color: var(--color-text-muted);
}
.cart-faq-icon svg {
    width: 26px;
    height: 26px;
    stroke: currentColor;
    stroke-width: 1.5;
    fill: none;
}
.cart-faq-text {
    flex-grow: 1;
    font-size: 16px;
    font-weight: 500;
    color: var(--color-text-mid);
}
.cart-faq-toggle {
    font-size: 26px;
    color: #bbb;
    transition: transform 0.3s ease;
    font-weight: 300;
    margin-left: 15px;
}
.cart-faq-item.active .cart-faq-toggle {
    transform: rotate(45deg);
    color: var(--color-text);
}
.cart-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.cart-faq-answer-content {
    padding: 0 40px 30px 57px;
    font-size: 15px;
    color: var(--color-text-muted);
    line-height: 1.8;
}
.cart-faq-answer-content p { margin-bottom: 15px; margin-top: 0; }
.cart-faq-answer-content p:last-child { margin-bottom: 0; }
.cart-faq-answer-content strong { color: var(--color-text-mid); font-weight: 600; }
.cart-faq-answer-content ul { margin-top: 10px; margin-bottom: 15px; padding-left: 15px; }

@media (max-width: 599px) {
    .cart-faq-container { width: 100%; padding: 30px 20px; }
    .cart-faq-answer-content { padding: 0 0 25px 0; }
    .cart-faq-icon { margin-right: 15px; }
    .cart-faq-title { font-size: 24px; }
    .cart-faq-text { font-size: 15px; }
}

/* ── Carrito — logos pago y aviso cuotas ── */
.nendo-cart-payment-methods {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #D0D0D0;
    text-align: center;
}
.nendo-cart-payment-methods__label {
    font-size: 11px;
    color: var(--color-text-muted);
    display: block;
    line-height: 1.4;
    margin-bottom: 12px;
}
.nendo-cart-payment-methods__icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.nendo-payment-logo {
    height: 18px;
    width: auto;
    filter: grayscale(100%);
    opacity: 0.6;
    display: block;
}
/* Ocultar tags de texto */
.nendo-payment-tag { display: none !important; }

/* Aviso cuotas */
.nendo-cart-payment-notice {
    font-size: 12px;
    color: var(--color-text-muted);
    line-height: 1.5;
    margin: 12px 0 0;
    text-align: center;
    padding: 0 4px;
}

/* Sidebar — layout limpio */
.nendo-cart-sidebar > .nendo-cart-checkout-btn {
    display: block;
    width: 100%;
    background: var(--color-text) !important;
    color: var(--color-white) !important;
    text-align: center;
    padding: 18px 24px;
    font-size: 18px;
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s;
    border: none;
    border-radius: 6px;
    margin-top: 16px;
    box-sizing: border-box;
}
.nendo-cart-sidebar > .nendo-cart-checkout-btn:hover {
    background: var(--color-black) !important;
}
/* Ocultar botón duplicado dentro del fragmento */
#nendo-cart-summary .wc-proceed-to-checkout,
#nendo-cart-summary .nendo-cart-checkout-standalone,
#nendo-cart-summary .nendo-cart-checkout-btn {
    display: none !important;
}

/* FAQ carrito */
.cart-faq-section {
    width: 100%;
    margin-top: 60px;
    margin-bottom: 60px;
    display: flex;
    justify-content: center;
}
.cart-faq-container {
    background-color: var(--color-bg-soft);
    max-width: 1100px;
    width: 90%;
    padding: 50px 60px;
    box-sizing: border-box;
}
.cart-faq-title {
    text-align: left;
    font-size: 28px;
    font-weight: 500;
    color: var(--color-text);
    margin-bottom: 40px;
    margin-top: 0;
    border: none;
    line-height: 1.2;
}
.cart-faq-item {
    border-bottom: 1px solid var(--color-border);
}
.cart-faq-item:last-child { border-bottom: none; }
.cart-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: transparent;
    border: none;
    padding: 24px 0;
    text-align: left;
    cursor: pointer;
    transition: color 0.2s;
}
.cart-faq-question:hover .cart-faq-text { color: var(--color-black); }
.cart-faq-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 25px;
    color: var(--color-text-muted);
}
.cart-faq-icon svg {
    width: 26px;
    height: 26px;
    stroke: currentColor;
    stroke-width: 1.5;
    fill: none;
}
.cart-faq-text {
    flex-grow: 1;
    font-size: 16px;
    font-weight: 500;
    color: var(--color-text-mid);
}
.cart-faq-toggle {
    font-size: 26px;
    color: #bbb;
    transition: transform 0.3s ease;
    font-weight: 300;
    margin-left: 15px;
}
.cart-faq-item.active .cart-faq-toggle {
    transform: rotate(45deg);
    color: var(--color-text);
}
.cart-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.cart-faq-answer-content {
    padding: 0 40px 30px 57px;
    font-size: 15px;
    color: var(--color-text-muted);
    line-height: 1.8;
}
.cart-faq-answer-content p { margin-bottom: 15px; margin-top: 0; }
.cart-faq-answer-content p:last-child { margin-bottom: 0; }
.cart-faq-answer-content strong { color: var(--color-text-mid); font-weight: 600; }
.cart-faq-answer-content ul { margin-top: 10px; margin-bottom: 15px; padding-left: 15px; }

@media (max-width: 599px) {
    .cart-faq-container { width: 100%; padding: 30px 20px; }
    .cart-faq-answer-content { padding: 0 0 25px 0; }
    .cart-faq-icon { margin-right: 15px; }
    .cart-faq-title { font-size: 24px; }
    .cart-faq-text { font-size: 15px; }
}

/* ── Carrito — correcciones finales ── */

/* FAQ — color correcto #f5f5f5 como en richirocko, sin hover oscuro */
.cart-faq-container {
    background-color: #f5f5f5 !important;
}
.cart-faq-question:hover .cart-faq-text {
    color: #444 !important;
}
.cart-faq-question:hover {
    background: transparent !important;
}

/* Sidebar — mismo fondo #f5f5f5 */
.nendo-cart-summary {
    background: #f5f5f5 !important;
}

/* Logos de pago — máximo 24px, debajo del botón checkout */
.nendo-cart-payment-methods {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e0e0e0;
    text-align: center;
    background: transparent;
}
.nendo-cart-payment-methods__label {
    font-size: 11px;
    color: var(--color-text-muted);
    display: block;
    margin-bottom: 10px;
    line-height: 1.4;
}
.nendo-cart-payment-methods__icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.nendo-payment-logo {
    height: 24px !important;
    width: auto !important;
    max-height: 24px !important;
    filter: grayscale(100%);
    opacity: 0.6;
    display: block;
}

/* Mover logos debajo del botón — el hook woocommerce_after_cart_totals
   renderiza después del total, reordenamos via flexbox */
#nendo-cart-summary {
    display: flex;
    flex-direction: column;
}
#nendo-cart-summary .nendo-cart-totals__rows {
    order: 1;
}
#nendo-cart-summary .nendo-cart-totals__title {
    order: 0;
}
/* El checkout standalone está fuera del summary, ya va después */
#nendo-cart-summary .nendo-cart-payment-methods {
    order: 3;
    margin-top: 0;
    padding-top: 12px;
    border-top: none;
}
#nendo-cart-summary .nendo-cart-payment-notice {
    order: 2;
    margin-top: 8px;
}

/* ── Carrito — miniatura imagen completa con fondo blanco ── */
.nendo-cart-item__img {
    background: #FFFFFF !important;
}
.nendo-cart-item__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    mix-blend-mode: normal !important;
}

/* ── Carrito — título ajuste ── */
.nendo-cart-title {
    font-size: 32px !important;
    font-weight: 600 !important;
    align-items: baseline !important;
    gap: 8px !important;
}
.nendo-cart-count {
    font-size: 20px !important;
    font-weight: 400 !important;
    color: var(--color-text-muted) !important;
}

/* ── Carrito — sidebar sticky con espacio superior ── */
.nendo-cart-sidebar {
    position: sticky;
    top: 24px;
}

/* Ocultar etiquetas del catálogo en la miniatura del carrito */
.nendo-cart-item__img .nendo-label-wrapper,
.nendo-cart-item__img .nendo-catalog-labels,
.nendo-cart-item__img .product-label,
.nendo-cart-item__img span[class*="label"],
.nendo-cart-item__img span[class*="etiqueta"] {
    display: none !important;
}

/* ── Carrito — sidebar sticky con espacio superior correcto ── */
.nendo-cart-sidebar {
    position: sticky;
    top: 80px;
}

/* ── Carrito — sidebar sticky espacio superior ── */
.nendo-cart-sidebar {
    position: sticky;
    top: 24px;
    padding-top: 0;
}
.nendo-cart-summary {
    margin-top: 0;
}

/* ── Carrito — sidebar sin sticky ── */
.nendo-cart-sidebar {
    position: static !important;
    top: auto !important;
    padding-top: 0 !important;
}

/* ── Carrito — métodos de envío estilo tarjetas ── */

/* Ocultar subtotal */
.nendo-cart-totals__rows .nendo-cart-totals__row:first-child {
    display: none !important;
}

/* Método de entrega — label */
.nendo-cart-totals__row .nendo-cart-totals__label {
    font-size: 14px;
    color: var(--color-text);
    font-weight: 500;
}

/* Lista de métodos de envío — tarjetas */
.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 0 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce-shipping-methods li {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    padding: 14px 16px;
    cursor: pointer;
    transition: border-color 0.15s;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.woocommerce-shipping-methods li:has(input:checked) {
    border-color: var(--color-text);
    border-width: 2px;
    padding: 13px 15px;
}
.woocommerce-shipping-methods li label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    font-size: 13px;
    color: var(--color-text);
    gap: 8px;
}
/* Radio oculto pero accesible */
.woocommerce-shipping-methods input[type="radio"] {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    flex-shrink: 0;
    accent-color: var(--color-text);
}
/* Precio del método */
.woocommerce-shipping-methods .woocommerce-Price-amount {
    font-weight: 700;
    color: var(--color-text);
    white-space: nowrap;
}
/* Precio gratis */
.woocommerce-shipping-methods li label:has(input:checked) .woocommerce-Price-amount bdi {
    color: #2E7D32;
}

/* Dirección de envío */
.woocommerce-shipping-destination {
    font-size: 12px;
    color: var(--color-text-muted);
    margin: 10px 0 0;
    line-height: 1.4;
}
.woocommerce-shipping-destination a {
    color: var(--color-accent);
    text-decoration: none;
    font-size: 12px;
}
.woocommerce-shipping-destination a:hover {
    text-decoration: underline;
}

/* Separador entre envío y total */
.nendo-cart-totals__row--total {
    margin-top: 16px !important;
}

/* ── Carrito — bloque envio separado del resumen ── */

/* Bloque metodo de entrega — sin fondo */
.nendo-cart-shipping-block {
    margin-bottom: 16px;
}
.nendo-cart-shipping-title {
    font-size: 15px;
    font-weight: 500;
    color: var(--color-text);
    margin: 0 0 12px;
}

/* Tarjetas de metodo de envio */
.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce-shipping-methods li {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    padding: 14px 16px !important;
    cursor: pointer;
    transition: border-color 0.15s, border-width 0.15s;
    position: relative;
}
.woocommerce-shipping-methods li:has(input:checked) {
    border: 2px solid var(--color-text) !important;
    padding: 13px 15px !important;
}
.woocommerce-shipping-methods li label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    font-size: 13px;
    color: var(--color-text);
    gap: 12px;
    margin: 0 !important;
}
.woocommerce-shipping-methods input[type="radio"] {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    flex-shrink: 0;
    accent-color: var(--color-text);
    cursor: pointer;
}
.woocommerce-shipping-methods .woocommerce-Price-amount {
    font-weight: 700;
    color: var(--color-text);
    white-space: nowrap;
    font-size: 14px;
}

/* Direccion de envio */
.woocommerce-shipping-destination {
    font-size: 12px;
    color: var(--color-text-muted);
    margin: 10px 0 0;
    line-height: 1.4;
}
.woocommerce-shipping-destination a {
    color: var(--color-accent);
    font-size: 12px;
    text-decoration: none;
}
.woocommerce-shipping-destination a:hover { text-decoration: underline; }

/* Bloque resumen — fondo gris, solo totales */
.nendo-cart-summary {
    background: #f5f5f5 !important;
    padding: 24px 28px !important;
}
.cart_totals.nendo-cart-totals { background: none; }

/* Mostrar subtotal en el resumen */
.nendo-cart-totals__rows .nendo-cart-totals__row:first-child {
    display: flex !important;
}

/* Fila de envio en el resumen */
.nendo-cart-totals__row--shipping .nendo-cart-totals__label {
    font-size: 13px;
    color: var(--color-text-mid);
}
.nendo-cart-totals__row--shipping .nendo-cart-totals__value {
    font-size: 13px;
}

/* ── Carrito — layout sidebar v2 ── */

/* El summary de WC envuelve todo — quitamos su fondo */
.nendo-cart-summary {
    background: transparent !important;
    padding: 0 !important;
}
.cart_totals.nendo-cart-totals {
    background: transparent;
}

/* Bloque metodo de entrega — sin fondo, padding propio */
.nendo-cart-shipping-block {
    padding: 0 0 20px 0;
    margin-bottom: 0;
}
.nendo-cart-shipping-title {
    font-size: 15px;
    font-weight: 500;
    color: var(--color-text);
    margin: 0 0 12px;
}
/* Ocultar el th "Envio" que genera wc_cart_totals_shipping_html */
.nendo-cart-shipping-block .shipping th,
.nendo-cart-shipping-block > table { display: none; }

/* Bloque gris — solo el resumen de totales */
.nendo-cart-totals__summary {
    background: #f5f5f5;
    padding: 24px 28px;
}

/* Subtotal texto con conteo — ocultar el "(N items)" que agrega WC */
.nendo-cart-totals__row .cart-subtotal-items {
    display: none;
}

/* Envio gratis en verde */
.nendo-free-shipping { color: #2E7D32 !important; font-weight: 700; }

/* Tarjetas envio */
.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce-shipping-methods li {
    background: var(--color-bg);
    border: 1px solid var(--color-border) !important;
    padding: 14px 16px !important;
    cursor: pointer;
    transition: border-color 0.15s;
    margin: 0 !important;
}
.woocommerce-shipping-methods li:has(input:checked) {
    border: 2px solid var(--color-text) !important;
    padding: 13px 15px !important;
}
.woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100%;
    cursor: pointer;
    font-size: 13px;
    color: var(--color-text);
    gap: 12px;
    margin: 0 !important;
}
.woocommerce-shipping-methods input[type="radio"] {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    flex-shrink: 0;
    accent-color: var(--color-text);
}
.woocommerce-shipping-methods .woocommerce-Price-amount {
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
}
.woocommerce-shipping-destination {
    font-size: 12px;
    color: var(--color-text-muted);
    margin: 12px 0 0;
    line-height: 1.4;
}
.woocommerce-shipping-destination a {
    color: var(--color-accent);
    font-size: 12px;
    text-decoration: none;
}
.woocommerce-shipping-destination a:hover { text-decoration: underline; }

/* ── Carrito sidebar v3 ── */

/* Titulo metodo de entrega mas grande y negrita */
.nendo-cart-shipping-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}

/* Ocultar "Envio" que genera WC antes de las opciones */
.woocommerce-shipping-methods + p,
.shipping th,
table.shipping,
.cart_totals table tr.shipping th { display: none !important; }

/* Ocultar el label "Envio" que aparece encima de las tarjetas */
.nendo-cart-shipping-block > .shipping,
.nendo-cart-shipping-block th { display: none !important; }

/* "Total del carrito" — titulo del bloque gris */
.nendo-cart-totals__summary::before {
    content: "Total del carrito";
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border);
}

/* Label Total mas grande */
.nendo-cart-totals__row--total .nendo-cart-totals__label {
    font-size: 18px !important;
    font-weight: 700 !important;
}
.nendo-cart-totals__row--total .nendo-cart-totals__value {
    font-size: 24px !important;
    font-weight: 700 !important;
}

/* IVA incluido — estilo como richirocko: pequeño y gris debajo del total */
.nendo-cart-totals__row--total .nendo-cart-totals__value .woocommerce-Price-amount {
    display: block;
    font-size: 24px;
    font-weight: 700;
}
.nendo-cart-totals__row--total .includes_tax,
.nendo-cart-totals__row--total small {
    display: block !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: var(--color-text-muted) !important;
    margin-top: 4px;
}

/* ── Carrito — título bloque gris y subtotal con contador ── */
.nendo-cart-totals__summary::before {
    font-size: 22px !important;
    font-weight: 700 !important;
    border-bottom: none !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
}
.nendo-cart-totals__label {
    font-size: 13px;
    color: var(--color-text-mid);
}

/* ── IVA incluido debajo del total — estilo richirocko ── */
.nendo-cart-totals__row--total .nendo-cart-totals__value {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}
.nendo-cart-tax-note {
    display: block !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #999 !important;
    line-height: 1.3;
    text-align: right;
}
.nendo-cart-tax-note .woocommerce-Price-amount {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #999 !important;
}

/* ── IVA en una sola línea ── */
.nendo-cart-tax-note {
    white-space: nowrap !important;
    text-align: right !important;
}

/* ── IVA — una línea, formato correcto ── */
.nendo-cart-tax-note,
.nendo-cart-tax-note * {
    white-space: nowrap !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #999 !important;
    display: inline !important;
}

/* ── Carrito — métodos de envío sin radio button circular ── */
.woocommerce-shipping-methods input[type="radio"] {

/* ── Bloque de envío — ocultar solo el texto "Envío" suelto ── */
.nendo-cart-shipping-block > p:not(.woocommerce-shipping-destination):not(.woocommerce-shipping-calculator *) {
    display: none !important;
}
.woocommerce-shipping-methods ~ p:not(.woocommerce-shipping-destination) {
    display: none !important;
}
.cart_totals table.shipping,
.cart_totals .shipping th { display: none !important; }
.woocommerce-shipping-methods input[type="radio"] { display: none !important; }

/* ── Calculadora de envío ── */
.woocommerce-shipping-calculator { display: block !important; margin-top: 12px; }
.woocommerce-shipping-calculator .woocommerce-shipping-destination {
    display: block !important;
    font-size: 12px;
    color: var(--color-text-muted);
    margin: 0 0 8px 0;
}
.woocommerce-shipping-calculator .shipping-calculator-button {
    display: inline-block !important;
    color: var(--color-accent) !important;
    font-size: 12px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    margin-left: 4px;
}
.woocommerce-shipping-calculator .shipping-calculator-button:hover { text-decoration: underline !important; }
.woocommerce-shipping-calculator .shipping-calculator-form {
    display: none !important;
}
.woocommerce-shipping-calculator .shipping-calculator-form.is-open {
    display: block !important;
}
.woocommerce-shipping-calculator #calc_shipping_country_field,
.woocommerce-shipping-calculator #calc_shipping_city_field,
.woocommerce-shipping-calculator #calc_shipping_postcode_field { display: none !important; }
.woocommerce-shipping-calculator #calc_shipping_state_field { display: block !important; margin: 0; }
.woocommerce-shipping-calculator #calc_shipping_state_field label { display: none !important; }
.woocommerce-shipping-calculator select#calc_shipping_state {
    width: 100% !important;
    display: block !important;
    border: 1px solid var(--color-border) !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-family: var(--font-primary) !important;
    background: var(--color-bg) !important;
    height: 40px !important;
    border-radius: 0 !important;
    margin-bottom: 8px;
}
.woocommerce-shipping-calculator button[type="submit"] {
    background: transparent !important;
    color: var(--color-text) !important;
    border: 1px solid var(--color-border) !important;
    padding: 6px 16px !important;
    font-size: 12px !important;
    font-family: var(--font-primary) !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    width: auto !important;
    letter-spacing: 0.04em !important;
    transition: background 0.15s !important;
}
.woocommerce-shipping-calculator button[type="submit"]:hover {
    background: var(--color-bg-soft) !important;
    border-color: var(--color-text-mid) !important;
}

/* ── Carrito ajustes v5 ── */
.nendo-cart-sidebar > .nendo-cart-checkout-btn {
    display: block !important;
    width: 80% !important;
    margin: 16px auto 0 !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    background: var(--color-text) !important;
    color: var(--color-white) !important;
    text-align: center !important;
    padding: 18px 24px !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s;
    box-sizing: border-box !important;
}
.nendo-cart-sidebar > .nendo-cart-checkout-btn:hover {
    background: var(--color-black) !important;
}
#nendo-cart-summary .wc-proceed-to-checkout,
#nendo-cart-summary .nendo-cart-checkout-standalone,
#nendo-cart-summary .nendo-cart-checkout-btn { display: none !important; }

/* ── Métodos de envío tarjetas ── */
.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce-shipping-methods li {
    background: var(--color-bg);
    border: 1px solid var(--color-border) !important;
    padding: 14px 16px !important;
    cursor: pointer;
    border-radius: 4px !important;
    margin: 0 !important;
}
.woocommerce-shipping-methods li.selected {
    border: 2px solid var(--color-text) !important;
    padding: 13px 15px !important;
}
.woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100%;
    cursor: pointer;
    font-size: 13px;
    color: var(--color-text);
    gap: 12px;
    margin: 0 !important;
}
.woocommerce-shipping-methods .woocommerce-Price-amount {
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
}
.nendo-free-shipping { color: #2E7D32 !important; font-weight: 700 !important; }

/* ── Destino de envio fuera del calculador ── */
.woocommerce-shipping-destination {
    display: block !important;
    font-size: 12px;
    color: var(--color-text-muted);
    margin: 10px 0 0;
    line-height: 1.4;
}
.woocommerce-shipping-destination a {
    color: var(--color-accent);
    font-size: 12px;
    text-decoration: none;
}
.woocommerce-shipping-destination a:hover { text-decoration: underline; }

/* ── Stepper padding ── */
.nendo-cart-steps {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

/* ── Calculadora — ajustes finales ── */
.woocommerce-shipping-calculator #calc_shipping_state_field label {
    display: none !important;
}
.woocommerce-shipping-calculator #calc_shipping_state_field {
    margin-bottom: 8px !important;
}
.woocommerce-shipping-calculator button[type="submit"] {
    display: block !important;
    margin-left: auto !important;
    margin-top: 8px !important;
    background: #f5f5f5 !important;
    color: var(--color-text) !important;
    border: 1px solid var(--color-border) !important;
    padding: 6px 16px !important;
    font-size: 12px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    width: auto !important;
    letter-spacing: 0.04em !important;
}
.woocommerce-shipping-calculator button[type="submit"]:hover {
    background: #e8e8e8 !important;
}

/* ── Correcciones post-caché ── */

/* Incentivo envío gratis */
.nendo-shipping-incentive {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--color-bg-warm) !important;
    border: none !important;
    padding: 14px 20px !important;
    margin: 20px 0 20px 0 !important;
    font-size: 13px !important;
    color: var(--color-text-mid) !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.nendo-shipping-incentive strong {
    color: var(--color-text) !important;
    font-weight: 600 !important;
}

/* Métodos de envío — sin radio button circular */
.woocommerce-shipping-methods input[type="radio"] {
    display: none !important;
}
.woocommerce-shipping-methods li {
    border-radius: 4px !important;
}
.woocommerce-shipping-methods li.selected {
    border: 2px solid var(--color-text) !important;
    padding: 13px 15px !important;
}

/* Calculadora — ocultar label "Comuna" */
.woocommerce-shipping-calculator #calc_shipping_state_field > label,
.woocommerce-shipping-calculator #calc_shipping_state_field label {
    display: none !important;
    visibility: hidden !important;
}

/* Botón actualizar — gris, espacio arriba, alineado izquierda */
.woocommerce-shipping-calculator .shipping-calculator-form p:last-of-type {
    text-align: left !important;
    margin-top: 8px !important;
}
.woocommerce-shipping-calculator button[name="calc_shipping"] {
    display: inline-block !important;
    background: #f5f5f5 !important;
    color: var(--color-text) !important;
    border: 1px solid var(--color-border) !important;
    padding: 6px 16px !important;
    font-size: 12px !important;
    font-family: var(--font-primary) !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    width: auto !important;
    margin-top: 8px !important;
    letter-spacing: 0.04em !important;
    float: none !important;
}
.woocommerce-shipping-calculator button[name="calc_shipping"]:hover {
    background: #e8e8e8 !important;
}

/* Botón finalizar compra 80% */
.nendo-cart-sidebar > .nendo-cart-checkout-btn {
    display: block !important;
    width: 80% !important;
    margin: 16px auto 0 !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    background: var(--color-text) !important;
    color: var(--color-white) !important;
    text-align: center !important;
    padding: 18px 24px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}
.nendo-cart-sidebar > .nendo-cart-checkout-btn:hover {
    background: var(--color-black) !important;
}


/* ============================================================
   CARRITO — ajustes finales v5
   ============================================================ */

/* 1. Banner incentivo envío gratis */
.nendo-shipping-incentive {
    background: var(--color-bg-warm) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 20px !important;
    margin: 0 0 20px 0 !important;
    font-size: 13px !important;
    color: var(--color-text-mid) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.nendo-shipping-incentive strong {
    color: var(--color-text) !important;
    font-weight: 600 !important;
}

/* 2. Tarjetas de envío — sin radio button circular */
.woocommerce-shipping-methods input[type="radio"] {
    display: none !important;
}

/* 3. Botón Finalizar compra — 80% del sidebar */
.nendo-cart-sidebar > .nendo-cart-checkout-btn {
    display: block !important;
    width: 80% !important;
    margin: 16px auto 0 !important;
    box-sizing: border-box !important;
}

/* 4. Ocultar label "Comuna" en calculadora */
.woocommerce-shipping-calculator #calc_shipping_state_field label {
    display: none !important;
    visibility: hidden !important;
}

/* 5. Botón Actualizar — gris, alineado izquierda, espacio arriba */
.woocommerce-shipping-calculator button[type="submit"],
.woocommerce-shipping-calculator button[name="calc_shipping"] {
    background: #f5f5f5 !important;
    color: var(--color-text) !important;
    border: 1px solid var(--color-border) !important;
    padding: 6px 16px !important;
    font-size: 12px !important;
    font-family: var(--font-primary) !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    width: auto !important;
    display: inline-block !important;
    float: none !important;
    margin-top: 8px !important;
    letter-spacing: 0.04em !important;
    transition: background 0.15s !important;
}
.woocommerce-shipping-calculator button[type="submit"]:hover,
.woocommerce-shipping-calculator button[name="calc_shipping"]:hover {
    background: #e8e8e8 !important;
}
.woocommerce-shipping-calculator .shipping-calculator-form p:last-of-type {
    text-align: left !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}

/* Radio envío — oculto visualmente, funcional */
.woocommerce-shipping-methods input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
    margin: 0 !important;
}

/* Calculadora — select ancho completo */
.woocommerce-shipping-calculator #calc_shipping_state_field {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}
.woocommerce-shipping-calculator select#calc_shipping_state {
    width: 100% !important;
    height: 40px !important;
    display: block !important;
}



/* ============================================================
   PRODUCTOS RECOMENDADOS — CARRITO
   ============================================================ */
.nendo-cart-recommended {
    max-width: 1640px;
    margin: 0 auto;
    padding: 0 64px 80px;
    box-sizing: border-box;
}
.nendo-cart-recommended__inner {
    border-top: 1px solid var(--color-border);
    padding-top: 40px;
}
.nendo-cart-recommended__title {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 400;
    color: var(--color-text);
    margin: 0 0 28px;
}

/* ── Desktop/Tablet: carrusel con flechas ── */
.nendo-cart-recommended__carousel {
    display: flex;
    align-items: center;
    gap: 0;
    position: relative;
}
.nendo-cart-recommended__prev,
.nendo-cart-recommended__next {
    width: 48px;
    min-width: 48px;
    height: 48px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    flex-shrink: 0;
    transition: opacity 0.15s;
    padding: 0;
}
.nendo-cart-recommended__prev svg,
.nendo-cart-recommended__next svg {
    width: 40px;
    height: 40px;
    display: block;
}
.nendo-cart-recommended__track-wrap {
    flex: 1;
    min-width: 0;
}
.nendo-cart-recommended__track {
    display: flex;
}
.nendo-cart-recommended__mobile {
    display: none;
}

/* ── Card ── */
.nendo-cart-recommended__card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 12px;
    box-sizing: border-box;
}
.nendo-cart-recommended__img-wrap {
    display: block;
    aspect-ratio: 1;
    background: var(--color-bg-soft);
    overflow: hidden;
}
.nendo-cart-recommended__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.nendo-cart-recommended__name {
    font-size: 13px;
    color: var(--color-text);
    text-decoration: none;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.nendo-cart-recommended__name:hover { text-decoration: underline; }
.nendo-cart-recommended__price {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
}
.nendo-cart-recommended__atc {
    background: var(--color-text);
    color: var(--color-white);
    border: none;
    padding: 8px 12px;
    font-size: 12px;
    font-family: var(--font-primary);
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    width: 100%;
    transition: background 0.15s;
    margin-top: auto;
}
.nendo-cart-recommended__atc:hover { background: var(--color-black); }
.nendo-cart-recommended__atc:disabled { opacity: 0.6; cursor: default; }

/* ── Móvil: carrusel deslizable sin flechas ── */
@media (max-width: 599px) {
    .nendo-cart-recommended {
        padding: 0 0 48px;
    }
    .nendo-cart-recommended__inner {
        padding-top: 32px;
    }
    .nendo-cart-recommended__title {
        padding: 0 16px;
        font-size: 18px;
    }
    .nendo-cart-recommended__carousel {
        display: none;
    }
    .nendo-cart-recommended__mobile {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        padding: 0 16px 16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .nendo-cart-recommended__mobile::-webkit-scrollbar { display: none; }
    .nendo-cart-recommended__mobile .nendo-cart-recommended__card {
        min-width: 160px;
        scroll-snap-align: start;
        padding: 0;
    }
}

@media (max-width: 999px) and (min-width: 600px) {
    .nendo-cart-recommended { padding: 0 40px 64px; }
}
/* ============================================================
   FIN PRODUCTOS RECOMENDADOS — CARRITO
   ============================================================ */

/* ── Cupón en carrito ───────────────────────────────────────────────────── */
.nendo-cart-totals__value--coupon { color: var(--color-text) !important; }
.nendo-cart-totals__value--coupon,
.nendo-cart-totals__value--coupon span,
.nendo-cart-totals__value--coupon .amount,
.nendo-cart-totals__value--coupon bdi { 
    color: var(--color-text) !important; 
}
.nendo-cart-totals__rows .nendo-cart-totals__row--coupon a.woocommerce-remove-coupon {
    color: #999999 !important;
    text-decoration: none !important;
    margin-left: 6px;
    font-size: 12px;
    transition: color 0.15s;
}
.nendo-cart-totals__rows .nendo-cart-totals__row--coupon a.woocommerce-remove-coupon:hover { color: var(--color-accent) !important; }

/* -- Terminos y condiciones checkout -- */
.nendo-co-terms-block {
    background: #f9f9f9;
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    padding: 16px 20px;
    margin-bottom: 16px;
}
.nendo-co-terms-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    color: #3C3C43;
}
.nendo-co-terms-header strong {
    font-size: 13px;
    font-weight: 600;
    color: #3C3C43;
}
.nendo-co-terms-header svg { flex-shrink: 0; }
.nendo-co-terms-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px;
    margin-bottom: 14px;
}
body .nendo-co-terms-block .nendo-co-terms-pills {
    display: flex !important;
    flex-wrap: wrap !important;
}
.nendo-co-terms-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-family: 'Noto Sans', sans-serif;
    padding: 4px 8px;
    border-radius: 3px;
    font-weight: 500;
}
.nendo-co-terms-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px;
    font-size: 11px;
    font-family: 'Noto Sans', sans-serif;
    padding: 4px 8px;
    border-radius: 3px;
    font-weight: 500;
    line-height: 1;
}
.nendo-co-terms-pill--ok {
    background: #f0faf0 !important;
    color: #2d7a2d !important;
    border: 1px solid #c3e6c3 !important;
}
.nendo-co-terms-pill--no {
    background: #fdf5f5 !important;
    color: #888 !important;
    border: 1px solid #e8d8d8 !important;
}
.nendo-co-terms-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    color: #515151;
    cursor: pointer;
    line-height: 1.5;
    border-top: 1px solid #E0E0E0;
    padding-top: 12px;
}
.nendo-co-terms-label input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 2px;
    width: 14px;
    height: 14px;
    cursor: pointer;
    accent-color: #3C3C43;
}
.nendo-co-terms-label a {
    color: var(--color-text);
    text-decoration: underline;
}



/* ============================================================
   MI CUENTA — MUNDONENDO
   Agregar al final de style.css
   Versión: 1.0 (Mayo 2026)
   ============================================================ */

/* ── LAYOUT PRINCIPAL ─────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-wrap {
    display: grid;
    grid-template-columns: 240px 1fr;
    grid-template-rows: auto 1fr;
    gap: 0;
    min-height: calc(100vh - 80px);
    max-width: var(--max-width);
    margin: 0 auto;
    align-items: start;
}

/* Tabs móvil: ocupa fila 1 completa pero oculto en desktop */
#nendo-myaccount-page .nendo-ma-tabs {
    display: none;
}

/* Sidebar: columna 1 */
#nendo-myaccount-page .nendo-ma-sidebar {
    grid-column: 1;
    grid-row: 1 / 3;
    position: sticky;
    top: 80px;
    align-self: start;
    border-right: 1px solid var(--color-border);
    padding: 40px 0;
    min-height: calc(100vh - 80px);
}

/* Contenido: columna 2 */
#nendo-myaccount-page .nendo-ma-content {
    grid-column: 2;
    grid-row: 1 / 3;
    padding: 40px 48px;
    min-width: 0;
}

/* ── SIDEBAR — USUARIO ────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-user {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 28px 32px;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 12px;
}

#nendo-myaccount-page .nendo-ma-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--color-text);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    flex-shrink: 0;
    font-family: var(--font-primary);
}

#nendo-myaccount-page .nendo-ma-user-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

#nendo-myaccount-page .nendo-ma-user-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#nendo-myaccount-page .nendo-ma-user-email {
    font-size: 12px;
    color: var(--color-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── SIDEBAR — NAVEGACIÓN ─────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#nendo-myaccount-page .nendo-ma-nav-list li {
    margin: 0;
    padding: 0;
}

#nendo-myaccount-page .nendo-ma-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 28px;
    font-size: 14px;
    color: var(--color-text-mid);
    text-decoration: none;
    border-left: 2px solid transparent;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
    position: relative;
}

#nendo-myaccount-page .nendo-ma-nav-link svg {
    flex-shrink: 0;
    opacity: 0.6;
    transition: opacity 0.15s;
}

#nendo-myaccount-page .nendo-ma-nav-link:hover {
    color: var(--color-text);
    background: var(--color-bg-soft);
}

#nendo-myaccount-page .nendo-ma-nav-link:hover svg {
    opacity: 1;
}

#nendo-myaccount-page .nendo-ma-nav-link.is-active {
    color: var(--color-text);
    font-weight: 600;
    border-left-color: var(--color-text);
    background: var(--color-bg-soft);
}

#nendo-myaccount-page .nendo-ma-nav-link.is-active svg {
    opacity: 1;
}

#nendo-myaccount-page .nendo-ma-nav-badge {
    margin-left: auto;
    background: var(--color-text);
    color: var(--color-white);
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
}

/* ── SIDEBAR — LOGOUT ─────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-logout {
    padding: 28px 28px 0;
    margin-top: 12px;
    border-top: 1px solid var(--color-border);
}

#nendo-myaccount-page .nendo-ma-logout-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color 0.15s;
}

#nendo-myaccount-page .nendo-ma-logout-link:hover {
    color: var(--color-text);
}

/* ── TABS MÓVIL ───────────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 12px 0;
    font-size: 11px;
    color: var(--color-text-muted);
    text-decoration: none;
    flex: 1;
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
    position: relative;
}

#nendo-myaccount-page .nendo-ma-tab svg {
    opacity: 0.5;
}

#nendo-myaccount-page .nendo-ma-tab.is-active {
    color: var(--color-text);
    border-bottom-color: var(--color-text);
    font-weight: 600;
}

#nendo-myaccount-page .nendo-ma-tab.is-active svg {
    opacity: 1;
}

#nendo-myaccount-page .nendo-ma-tab-badge {
    position: absolute;
    top: 8px;
    right: calc(50% - 22px);
    background: var(--color-text);
    color: var(--color-white);
    font-size: 9px;
    font-weight: 700;
    min-width: 14px;
    height: 14px;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
}

/* ── CABECERA DE SECCIÓN ──────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-section-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 24px;
}

#nendo-myaccount-page .nendo-ma-section-title {
    font-size: 22px;
    font-weight: 400;
    color: var(--color-text);
    margin: 0;
    font-family: var(--font-primary);
}

#nendo-myaccount-page .nendo-ma-section-count {
    font-size: 13px;
    color: var(--color-text-muted);
}

/* ── FILTROS DE PEDIDOS ───────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}

#nendo-myaccount-page .nendo-ma-filter-pill {
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid var(--color-border);
    background: transparent;
    font-size: 13px;
    color: var(--color-text-mid);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
    font-family: var(--font-primary);
}

#nendo-myaccount-page .nendo-ma-filter-pill:hover {
    border-color: var(--color-text-mid);
    color: var(--color-text);
}

#nendo-myaccount-page .nendo-ma-filter-pill.is-active {
    background: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-white);
}

/* Pills de estado con color propio (hover) */
#nendo-myaccount-page .nendo-ma-filter-pill[data-filter]:not([data-filter="all"]):hover {
    border-color: var(--pill-color, var(--color-text-mid));
    color: var(--pill-color, var(--color-text-mid));
}

/* ── CARDS DE PEDIDOS ─────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-orders-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#nendo-myaccount-page .nendo-ma-order-card {
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-white);
    overflow: hidden;
}

#nendo-myaccount-page .nendo-ma-order-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-soft);
}

#nendo-myaccount-page .nendo-ma-order-meta {
    display: flex;
    align-items: center;
    gap: 12px;
}

#nendo-myaccount-page .nendo-ma-order-number {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text);
}

#nendo-myaccount-page .nendo-ma-order-date {
    font-size: 13px;
    color: var(--color-text-muted);
}

#nendo-myaccount-page .nendo-ma-order-status-badge {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
    border: 1px solid;
}

/* ── ITEMS DEL PEDIDO ─────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-order-items {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px 20px;
    align-items: flex-start;
}

#nendo-myaccount-page .nendo-ma-order-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 72px;
}

#nendo-myaccount-page .nendo-ma-item-thumb {
    position: relative;
    display: block;
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    overflow: hidden;
    text-decoration: none;
}

#nendo-myaccount-page .nendo-ma-item-thumb .nendo-ma-item-img,
#nendo-myaccount-page .nendo-ma-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

#nendo-myaccount-page .nendo-ma-item-badge {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 9px;
    font-weight: 800;
    color: #fff;
    text-align: center;
    padding: 2px 0;
    letter-spacing: 0.3px;
}

#nendo-myaccount-page .nendo-ma-item-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#nendo-myaccount-page .nendo-ma-item-num {
    font-size: 10px;
    color: var(--color-text-muted);
}

#nendo-myaccount-page .nendo-ma-item-name {
    font-size: 11px;
    color: var(--color-text);
    text-decoration: none;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#nendo-myaccount-page .nendo-ma-item-name:hover {
    color: var(--color-accent);
}

#nendo-myaccount-page .nendo-ma-item-qty {
    font-size: 11px;
    color: var(--color-text-muted);
}

#nendo-myaccount-page .nendo-ma-order-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border: 1px dashed var(--color-border);
    border-radius: 4px;
    font-size: 12px;
    color: var(--color-text-muted);
    flex-shrink: 0;
}

/* ── PIE DEL PEDIDO ───────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-order-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-top: 1px solid var(--color-border);
}

#nendo-myaccount-page .nendo-ma-order-total {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#nendo-myaccount-page .nendo-ma-order-total-label {
    font-size: 12px;
    color: var(--color-text-muted);
}

#nendo-myaccount-page .nendo-ma-order-total-amount {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text);
}

#nendo-myaccount-page .nendo-ma-order-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-size: 13px;
    color: var(--color-text);
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}

#nendo-myaccount-page .nendo-ma-order-btn:hover {
    background: var(--color-bg-soft);
    border-color: var(--color-text-mid);
}

/* ── GRID WISHLIST ────────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

#nendo-myaccount-page .nendo-ma-wl-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    overflow: hidden;
    background: var(--color-white);
    transition: box-shadow 0.2s;
}

#nendo-myaccount-page .nendo-ma-wl-card:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

#nendo-myaccount-page .nendo-ma-wl-img-wrap {
    position: relative;
    aspect-ratio: 1;
    background: var(--color-bg-soft);
    overflow: hidden;
}

#nendo-myaccount-page .nendo-ma-wl-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

#nendo-myaccount-page .nendo-ma-wl-no-img {
    width: 100%;
    height: 100%;
    background: var(--color-bg-soft);
}

#nendo-myaccount-page .nendo-ma-wl-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 9px;
    font-weight: 800;
    color: #fff;
    padding: 2px 7px;
    border-radius: 3px;
    letter-spacing: 0.5px;
}

#nendo-myaccount-page .nendo-ma-wl-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    border: 1px solid var(--color-border);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-muted);
    opacity: 0;
    transition: opacity 0.15s, color 0.15s;
}

#nendo-myaccount-page .nendo-ma-wl-card:hover .nendo-ma-wl-remove {
    opacity: 1;
}

#nendo-myaccount-page .nendo-ma-wl-remove:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}

#nendo-myaccount-page .nendo-ma-wl-body {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}

#nendo-myaccount-page .nendo-ma-wl-meta {
    display: flex;
    align-items: center;
    gap: 6px;
}

#nendo-myaccount-page .nendo-ma-wl-num {
    font-size: 10px;
    color: var(--color-text-muted);
    font-weight: 600;
}

#nendo-myaccount-page .nendo-ma-wl-series {
    font-size: 10px;
    color: var(--color-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#nendo-myaccount-page .nendo-ma-wl-name {
    font-size: 13px;
    color: var(--color-text);
    text-decoration: none;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#nendo-myaccount-page .nendo-ma-wl-name:hover { color: var(--color-accent); }

#nendo-myaccount-page .nendo-ma-wl-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text);
    margin-top: auto;
}

#nendo-myaccount-page .nendo-ma-wl-atc {
    display: block;
    text-align: center;
    padding: 7px 12px;
    background: var(--color-text);
    color: var(--color-white);
    font-size: 12px;
    font-weight: 600;
    border-radius: 3px;
    text-decoration: none;
    transition: background 0.15s;
    margin-top: 4px;
    cursor: pointer;
    border: none;
}

#nendo-myaccount-page .nendo-ma-wl-atc:hover { background: #000; color: #fff; }

#nendo-myaccount-page .nendo-ma-wl-oos {
    display: block;
    text-align: center;
    padding: 7px 12px;
    background: var(--color-bg-soft);
    color: var(--color-text-muted);
    font-size: 12px;
    border-radius: 3px;
    margin-top: 4px;
}

/* ── PERFIL ───────────────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-profile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

#nendo-myaccount-page .nendo-ma-profile-block {
    border: 1px solid var(--color-border);
    border-radius: 6px;
    padding: 28px;
    background: var(--color-white);
}

#nendo-myaccount-page .nendo-ma-profile-block--full {
    grid-column: 1 / -1;
}

#nendo-myaccount-page .nendo-ma-block-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text);
    margin: 0 0 20px;
    font-family: var(--font-primary);
}

#nendo-myaccount-page .nendo-ma-separator {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: 20px 0;
}

#nendo-myaccount-page .nendo-ma-section-sub {
    font-size: 13px;
    color: var(--color-text-muted);
    margin: 0 0 16px;
}

/* ── FORMULARIO ───────────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-form-row {
    margin-bottom: 16px;
}

#nendo-myaccount-page .nendo-ma-form-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

#nendo-myaccount-page .nendo-ma-form-3col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}

#nendo-myaccount-page .nendo-ma-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#nendo-myaccount-page .nendo-ma-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-mid);
    display: block;
}

#nendo-myaccount-page .nendo-ma-input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-size: 14px;
    color: var(--color-text);
    font-family: var(--font-primary);
    background: var(--color-white);
    transition: border-color 0.15s;
    box-sizing: border-box;
}

#nendo-myaccount-page .nendo-ma-input:focus {
    outline: none;
    border-color: var(--color-text-mid);
}

#nendo-myaccount-page .nendo-ma-form-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}

#nendo-myaccount-page .nendo-ma-btn-save {
    padding: 10px 24px;
    background: var(--color-text);
    color: var(--color-white);
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--font-primary);
    transition: background 0.15s;
}

#nendo-myaccount-page .nendo-ma-btn-save:hover { background: #000; }
#nendo-myaccount-page .nendo-ma-btn-save:disabled { opacity: 0.6; cursor: not-allowed; }

/* ── SERIES FAVORITAS ─────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-series-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

#nendo-myaccount-page .nendo-ma-series-chip {
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid var(--color-border);
    background: transparent;
    font-size: 13px;
    color: var(--color-text-mid);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
    font-family: var(--font-primary);
}

#nendo-myaccount-page .nendo-ma-series-chip:hover {
    border-color: var(--color-text-mid);
    color: var(--color-text);
}

#nendo-myaccount-page .nendo-ma-series-chip.is-selected {
    background: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-white);
}

#nendo-myaccount-page .nendo-ma-series-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

#nendo-myaccount-page .nendo-ma-series-saved {
    font-size: 13px;
    color: #228B22;
    font-weight: 600;
}

/* ── ESTADO VACÍO ─────────────────────────────────────────── */

#nendo-myaccount-page .nendo-ma-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 40px;
    text-align: center;
    gap: 12px;
}

#nendo-myaccount-page .nendo-ma-empty-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text);
    margin: 0;
}

#nendo-myaccount-page .nendo-ma-empty-sub {
    font-size: 14px;
    color: var(--color-text-muted);
    margin: 0;
    max-width: 320px;
}

#nendo-myaccount-page .nendo-ma-empty-btn {
    display: inline-block;
    margin-top: 8px;
    padding: 10px 24px;
    background: var(--color-text);
    color: var(--color-white);
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s;
}

#nendo-myaccount-page .nendo-ma-empty-btn:hover { background: #000; color: #fff; }

#nendo-myaccount-page .nendo-ma-empty-filter {
    padding: 40px;
    text-align: center;
    color: var(--color-text-muted);
    font-size: 14px;
}

/* ── COMUNAS — buscador (reutiliza estilos del checkout) ──── */
#nendo-myaccount-page .nendo-ma-comuna-wrap {
    position: relative;
}

#nendo-myaccount-page .nendo-ma-comuna-wrap .nendo-co-comuna-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid var(--color-border);
    border-top: none;
    border-radius: 0 0 4px 4px;
    z-index: 100;
    max-height: 240px;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* ── RESPONSIVE: TABLET ───────────────────────────────────── */

@media (max-width: 999px) and (min-width: 600px) {
    #nendo-myaccount-page .nendo-ma-wrap {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

    #nendo-myaccount-page .nendo-ma-sidebar {
        display: none;
    }

    #nendo-myaccount-page .nendo-ma-tabs {
        display: flex;
        grid-column: 1;
        grid-row: 1;
        border-bottom: 1px solid var(--color-border);
        background: var(--color-white);
        position: sticky;
        top: 0;
        z-index: 50;
    }

    #nendo-myaccount-page .nendo-ma-content {
        grid-column: 1;
        grid-row: 2;
        padding: 32px 40px;
    }

    #nendo-myaccount-page .nendo-ma-wishlist-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    #nendo-myaccount-page .nendo-ma-profile-grid {
        grid-template-columns: 1fr;
    }

    #nendo-myaccount-page .nendo-ma-profile-block--full {
        grid-column: 1;
    }

    #nendo-myaccount-page .nendo-ma-form-3col {
        grid-template-columns: 1fr 1fr;
    }
}

/* ── RESPONSIVE: MÓVIL ────────────────────────────────────── */

@media (max-width: 599px) {
    #nendo-myaccount-page .nendo-ma-wrap {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

    #nendo-myaccount-page .nendo-ma-sidebar {
        display: none;
    }

    #nendo-myaccount-page .nendo-ma-tabs {
        display: flex;
        grid-column: 1;
        grid-row: 1;
        border-bottom: 1px solid var(--color-border);
        background: var(--color-white);
        position: sticky;
        top: 0;
        z-index: 50;
    }

    #nendo-myaccount-page .nendo-ma-content {
        grid-column: 1;
        grid-row: 2;
        padding: 20px 16px;
    }

    #nendo-myaccount-page .nendo-ma-section-title {
        font-size: 18px;
    }

    #nendo-myaccount-page .nendo-ma-order-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    #nendo-myaccount-page .nendo-ma-order-foot {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    #nendo-myaccount-page .nendo-ma-order-btn {
        width: 100%;
        justify-content: center;
    }

    #nendo-myaccount-page .nendo-ma-wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    #nendo-myaccount-page .nendo-ma-profile-grid {
        grid-template-columns: 1fr;
    }

    #nendo-myaccount-page .nendo-ma-profile-block--full {
        grid-column: 1;
    }

    #nendo-myaccount-page .nendo-ma-form-2col,
    #nendo-myaccount-page .nendo-ma-form-3col {
        grid-template-columns: 1fr;
    }

    #nendo-myaccount-page .nendo-ma-profile-block {
        padding: 20px 16px;
    }

    #nendo-myaccount-page .nendo-ma-filters {
        gap: 6px;
    }

    #nendo-myaccount-page .nendo-ma-filter-pill {
        font-size: 12px;
        padding: 5px 11px;
    }

    #nendo-myaccount-page .nendo-ma-wl-remove {
        opacity: 1;
    }
}

/* ── SUPRIMIR ELEMENTOS NATIVOS DE WC EN MI CUENTA ────────── */

#nendo-myaccount-page .woocommerce-MyAccount-navigation,
#nendo-myaccount-page .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty {
    display: none !important;
}

/* ============================================================
   FIN MI CUENTA
   ============================================================ */

/* ── HOME ─────────────────────────────────────────────────────────── */
.nendo-home-wrap {
    max-width: var(--max-width);
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}
.nendo-home-wrap .nendo-related-wrapper {
    padding: 40px 0;
}
.nendo-home-wrap .nendo-related-carousel {
    padding: 0 58px;
}

.nendo-home-wrap {
    max-width: var(--max-width);
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}
.nendo-home-wrap .nendo-related-carousel {
    padding: 0 58px;
}

.nendo-home-wrap {
    max-width: var(--max-width);
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}
.nendo-home-wrap .nendo-related-carousel {
    padding: 0 58px;
}

.nendo-home-wrap {
    max-width: var(--max-width);
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}
.nendo-home-wrap .nendo-related-carousel {
    padding: 0 58px;
}

.nendo-home-wrap { max-width: 1600px; margin: 0 auto; box-sizing: border-box; overflow: hidden; }
.nendo-home-wrap .nendo-related-carousel { padding: 0 58px; }


.nendo-home-wrap { max-width: 1600px; margin: 0 auto; box-sizing: border-box; overflow: hidden; }
.nendo-home-wrap .nendo-related-carousel { padding: 0 58px; }


/* ── HOME GRID BLOCK ── */
.nendo-home-grid-block { padding: 40px 0; }
.nendo-home-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
}
@media (max-width: 999px) {
    .nendo-home-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}
@media (max-width: 599px) {
    .nendo-home-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}

/* ── BLOQUES DE CATEGORÍA HOME ──────────────────────────────────────── */
.nendo-cat-block { margin: 60px 0; }

/* Banner */
.nendo-cat-banner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 40px;
}
.nendo-cat-banner--reverse { direction: rtl; }
.nendo-cat-banner--reverse > * { direction: ltr; }
.nendo-cat-banner-img img { width: 100%; border-radius: 2px; display: block; }
.nendo-cat-subtitle-jp { color: #888; font-size: 14px; margin-bottom: 5px; letter-spacing: 1px; }
.nendo-cat-title { font-size: 32px; font-weight: 500; color: var(--color-text); margin: 0 0 20px; }
.nendo-cat-description { font-size: 16px; line-height: 1.6; color: #555; margin: 0 0 15px; }
.nendo-cat-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.nendo-cat-tag { font-size: 13px; color: #155724; background: #f1f8f3; padding: 6px 12px; border-radius: 2px; border: 1px solid #d4edda; }
.nendo-cat-tag--blue { background: #e8f4fd; color: #0c5464; border-color: #b8daff; }

/* Carrusel desktop */
.nendo-cat-carousel { display: block; position: relative; }
.nendo-cat-track-wrap { flex: 1; overflow: hidden; }
.nendo-cat-prev, .nendo-cat-next {
    width: 48px; min-width: 48px; height: 48px;
    background: none !important; border: none !important;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    border-radius: 0 !important; transition: opacity 0.15s;
    color: var(--color-text) !important; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
}
.nendo-cat-prev { left: -48px; }
.nendo-cat-next { right: -48px; }
.nendo-cat-prev:hover, .nendo-cat-next:hover { color: var(--color-text) !important; }
.nendo-cat-prev svg, .nendo-cat-next svg { width: 40px !important; height: 40px !important; min-width: 40px !important; display: block; }
.nendo-cat-progress-wrap { padding: 20px 0 0; }
.nendo-cat-progress-bg { height: 2px; background: var(--color-border); position: relative; }
.nendo-cat-progress-fill { position: absolute; top: 0; height: 2px; background: var(--color-text); transition: left 0.4s ease, width 0.4s ease; }

/* Botón ver todos desktop */
.nendo-cat-btn-wrap-desktop { text-align: center; margin: 24px 0 0; }
.nendo-cat-mobile-grid { display: none; }
.nendo-cat-mobile-actions { display: none; }

/* Tablet/móvil */
@media (max-width: 999px) {
    .nendo-cat-banner { grid-template-columns: 1fr; gap: 0; direction: ltr !important; }
    .nendo-cat-banner-img img { border-radius: 0; }
    .nendo-cat-banner-text { padding: 30px 20px; box-sizing: border-box; }
    .nendo-cat-carousel { display: none; }
    .nendo-cat-progress-wrap { display: none; }
    .nendo-cat-btn-wrap-desktop { display: none; }
    .nendo-cat-mobile-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        padding: 0 40px;
    }
    .nendo-cat-mobile-grid .nendo-related-card { padding: 0 !important; }
    .nendo-cat-mobile-grid .nendo-related-card.nendo-hidden { display: none !important; }
    .nendo-cat-mobile-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; padding: 0 40px; }
}
@media (max-width: 599px) {
    .nendo-cat-mobile-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 0 16px; }
    .nendo-cat-mobile-actions { padding: 0 16px; }
    .nendo-cat-banner-text { padding: 20px 16px; }
}

/* ── Wishlist en cards del home ── */
.nendo-home-card-wrap {
    position: relative;
}
.nendo-home-card-wrap .nendo-wishlist-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 3;
    width: 36px !important;
    height: 36px !important;
}
.nendo-home-card-wrap .nendo-wishlist-btn svg {
    width: 16px !important;
    height: 16px !important;
}

/* Fix wishlist en carrusel home */
.nendo-home-latest-track .nendo-home-card-wrap,
.nendo-cat-track .nendo-home-card-wrap {
    display: contents;
}
.nendo-home-latest-track .nendo-home-card-wrap .nendo-related-card,
.nendo-cat-track .nendo-home-card-wrap .nendo-related-card {
    position: relative;
}
.nendo-home-latest-track .nendo-home-card-wrap .nendo-wishlist-btn,
.nendo-cat-track .nendo-home-card-wrap .nendo-wishlist-btn {
    position: absolute;
    top: 8px;
    right: 18px;
    z-index: 3;
}

/* Título en cards del home — máximo 2 líneas */
.nendo-home-latest-track .nendo-related-name,
.nendo-home-latest-mobile-grid .nendo-related-name,
.nendo-home-grid .nendo-related-name,
.nendo-cat-track .nendo-related-name,
.nendo-cat-mobile-grid .nendo-related-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
}

/* Título en cards del home — máximo 2 líneas */
.nendo-home-latest-track .nendo-related-name,
.nendo-home-latest-mobile-grid .nendo-related-name,
.nendo-home-grid .nendo-related-name,
.nendo-cat-track .nendo-related-name,
.nendo-cat-mobile-grid .nendo-related-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
}

/* ========================================================= */
/* AGOTADO — overlay global catálogo                         */
/* ========================================================= */
.woocommerce ul.products li.product.outofstock .nendo-catalog-img-outer::before {
    content: 'AGOTADO';
    position: absolute;
    top: 77%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-10deg);
    font-size: 18px;
    font-weight: 700;
    color: #3C3C43;
    opacity: 0.7;
    z-index: 15;
    pointer-events: none;
    white-space: nowrap;
    font-family: var(--font-primary);
    letter-spacing: 0.05em;
}
.woocommerce ul.products li.product.outofstock .nendo-catalog-img-wrap {
    background: rgba(255, 255, 255, 0.1);
}
.woocommerce ul.products li.product.outofstock .nendo-catalog-img-wrap img {
    opacity: 0.7 !important;
}

/* ── Catálogo — contenedor con max-width ── */
body.archive.tax-product_cat .inside-article,
body.archive.post-type-archive-product .inside-article,
body.woocommerce-shop .inside-article {
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 40px 48px !important;
    box-sizing: border-box !important;
}
@media (max-width: 999px) and (min-width: 600px) {
    body.archive.tax-product_cat .inside-article,
    body.archive.post-type-archive-product .inside-article,
    body.woocommerce-shop .inside-article {
        padding: 32px 40px !important;
    }
}
@media (max-width: 599px) {
    body.archive.tax-product_cat .inside-article,
    body.archive.post-type-archive-product .inside-article,
    body.woocommerce-shop .inside-article {
        padding: 24px 16px !important;
    }
}

/* ── Catálogo — contenedor con max-width ── */
body.archive.tax-product_cat .inside-article,
body.archive.post-type-archive-product .inside-article,
body.woocommerce-shop .inside-article {
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 40px 48px !important;
    box-sizing: border-box !important;
}
@media (max-width: 999px) and (min-width: 600px) {
    body.archive.tax-product_cat .inside-article,
    body.archive.post-type-archive-product .inside-article,
    body.woocommerce-shop .inside-article {
        padding: 32px 40px !important;
    }
}
@media (max-width: 599px) {
    body.archive.tax-product_cat .inside-article,
    body.archive.post-type-archive-product .inside-article,
    body.woocommerce-shop .inside-article {
        padding: 24px 16px !important;
    }
}

/* ── Catálogo — contenedor con max-width (clases reales de GP) ── */
body.right-sidebar.one-container .inside-article {
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 40px 48px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
@media (max-width: 999px) and (min-width: 600px) {
    body.right-sidebar.one-container .inside-article {
        padding: 32px 40px !important;
    }
}
@media (max-width: 599px) {
    body.right-sidebar.one-container .inside-article {
        padding: 24px 16px !important;
    }
}


/* ── Catálogo — contenedor con max-width ── */
.woocommerce-archive-wrapper .inside-article {
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 40px 48px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
@media (max-width: 999px) and (min-width: 600px) {
    .woocommerce-archive-wrapper .inside-article {
        padding: 32px 40px !important;
    }
}
@media (max-width: 599px) {
    .woocommerce-archive-wrapper .inside-article {
        padding: 24px 16px !important;
    }
}

/* ============================================================
   PRODUCTO AGOTADO — botón minimalista + ocultar mensajes nativos
   ============================================================ */

/* Ocultar mensajes nativos de stock */
body.single-product .stock.out-of-stock,
body.single-product .stock.in-stock,
body.single-product p.stock.out-of-stock,
body.single-product p.stock.in-stock,
body.single-product p.stock,
body.woocommerce-page.single-product p.stock,
body.woocommerce-page.single-product .summary p.stock,
body.woocommerce-page.single-product .entry-summary p.stock {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Ocultar botón nativo deshabilitado */
body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button[disabled] {
    display: none !important;
}

/* Botón agotado estilo minimalista */
body.single-product .nendo-outofstock-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 448px !important;
    max-width: 80% !important;
    height: 68px !important;
    padding: 0 24px !important;
    background-color: #ffffff !important;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        #e0e0e0 4px,
        #e0e0e0 5px
    ) !important;
    border: none !important;
    color: #aaaaaa !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    cursor: not-allowed !important;
    box-sizing: border-box !important;
    margin-top: 10px !important;
    pointer-events: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
}
body.single-product .nendo-outofstock-btn:hover,
body.single-product .nendo-outofstock-btn:focus,
body.single-product .nendo-outofstock-btn:active {
    background-color: #ffffff !important;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        #e0e0e0 4px,
        #e0e0e0 5px
    ) !important;
    color: #aaaaaa !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Selector cantidad deshabilitado en outofstock */
body.single-product .nendo-qty-disabled input.qty {
    opacity: 0.4 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
}
body.single-product .nendo-qty-disabled .quantity-button,
body.single-product .nendo-qty-disabled button {
    opacity: 0.4 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
}


/* ============================================================
   OCULTAR BADGE OFERTA NATIVO DE WOOCOMMERCE
   ============================================================ */
span.onsale,
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    display: none !important;
}

/* ============================================================
   OCULTAR SELECTOR CANTIDAD CUANDO HAY 1 SOLA UNIDAD
   ============================================================ */
body.single-product form.cart .quantity.hidden {
    display: none !important;
}
body.single-product form.cart .quantity:has(input[max="1"]) {
    display: none !important;
}
