/* ============================================================================
   Tadia — Capa de marca (runtime override).
   Se encola DESPUÉS del bundle compilado (dist/app-*.css). Como las utilidades
   de Tailwind v4 referencian var(--color-*), redefinir esas variables acá
   reescribe TODO el sitio sin necesidad de recompilar con Vite.

   Se conservan los nombres de clase/handle "coa-*" heredados (son internos,
   invisibles para el usuario); solo cambian los VALORES.

   Paleta "Frambuesa & Crema":
     Crema Perla #FBF3EF · Rosa Bruma #F5E5DE · Frambuesa #D64C6E
     Ciruela #3E1F30 · Lila Empolvado #C79BB4 · Dorado Miel #E3A24E
   ============================================================================ */

:root {
    /* --- Tokens de marca reutilizables --- */
    --coa-crudo:   #faf9f6;   /* off-white (fondo principal) */
    --coa-crudo2:  #f1efea;   /* off-white un tono más (bloques suaves / cards) */
    --coa-arena:   #e6e2db;   /* beige neutro (bordes) */
    --coa-rosa:    #d64c6e;   /* frambuesa */
    --coa-rosa-2:  #b23256;   /* frambuesa profunda (hover/acentos) */
    --coa-salvia:  #c79bb4;         /* lila empolvado (íconos/decorativo) */
    --coa-salvia-deep: #8e5270;     /* mauve legible sobre blanco (títulos footer) */
    --coa-feature:      #6d3350;    /* vino/berry romántico: fondo destacado (topbar, hero desktop, bandas) */
    --coa-feature-ink:  #fbeef0;    /* crema rosada clara sobre berry */
    --coa-feature-ink2: #edc9d3;    /* texto secundario (rosa suave) sobre berry */
    --coa-manteca: #e3a24e;   /* dorado miel */
    --coa-marron:  #2b1420;   /* tinta ciruela casi negra (texto/logo) */
    --coa-marron2: #1a0c14;

    /* --- Acento = acción (botones, links, precios). FRAMBUESA. --- */
    --color-acento:     #d64c6e;
    --color-acento-600: #b23256;

    /* --- Paleta semántica del tema (theme.json) --- */
    --wp--preset--color--primary:   #d64c6e; /* frambuesa */
    --wp--preset--color--secondary: #c79bb4; /* lila */
    --wp--preset--color--dark:      #3e1f30; /* ciruela */
    --wp--preset--color--light:     #fbf3ef; /* crema */

    /* --- Escala "stone" remapeada a neutros cálidos con matiz ciruela/rosa
           (los templates usan stone-* por todos lados: fondos, bordes, texto) */
    --color-stone-50:  #faf9f6;
    --color-stone-100: #f3f1ec;
    --color-stone-200: #e9e5df;  /* bordes */
    --color-stone-300: #d7d1c7;
    --color-stone-400: #be9a93;  /* texto tenue / placeholders */
    --color-stone-500: #9c7480;
    --color-stone-600: #7a5766;  /* texto secundario */
    --color-stone-700: #5a3b49;
    --color-stone-800: #3e2431;
    --color-stone-900: #2b1420;  /* texto principal / barra superior */
    --color-stone-950: #1a0c14;

    /* --- "zinc" (borde por defecto de Tailwind v4 en app.css) a tono --- */
    --color-zinc-200:  #e9e5df;

    /* --- Oferta/urgencia: berry en familia frambuesa, no estridente --- */
    --color-red-500: #d6455f;
    --color-red-600: #b23256;

    /* --- Tipografía de marca --- */
    --font-sans: 'Jost', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --coa-serif: 'Bodoni Moda', Georgia, 'Times New Roman', serif;
    --coa-script: 'Parisienne', 'Snell Roundhand', 'Segoe Script', cursive;   /* acento delicado, femenino */
}

/* ---- Acento script (cursiva delicada) para eyebrows y firmas ----
        Se usa con cuentagotas: nunca en bloques largos de texto. */
.tadia-script {
    font-family: var(--coa-script) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.1;
}

/* ---- Títulos en Bodoni Moda (serif editorial de alto contraste) ---- */
h1, h2, h3,
.fc-hero-title,
.woocommerce-loop-product__title,
.product_title {
    font-family: var(--coa-serif);
    letter-spacing: 0;
    font-optical-sizing: auto;
}
/* Bodoni tiene astas finas: subimos el peso para que lea bien en tamaños chicos. */
h1, h2, h3 { font-weight: 500; }
.woocommerce-loop-product__title,
.product_title { font-weight: 600; }

/* ---- Hero: título Bodoni, sub/botón Jost, eyebrow en script ---- */
.fc-hero-title { font-family: var(--coa-serif) !important; font-weight: 500; }
.fc-hero-sub,
.fc-hero-btn { font-family: var(--font-sans) !important; }

/* Eyebrow del hero: cursiva delicada (femenina), sin mayúsculas ni tracking. */
.fc-hero-eyebrow {
    font-family: var(--coa-script) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 1.9rem !important;
    font-weight: 400 !important;
    margin-bottom: 6px !important;
    color: var(--coa-feature-ink2) !important;
}
@media (min-width: 768px) { .fc-hero-eyebrow { font-size: 2.4rem !important; } }

/* ---- Acabado boutique: botones tipo píldora, inputs apenas redondeados ---- */
input[type="search"],
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
    border-radius: 0.5rem !important;
}
.bg-acento,
button.bg-acento,
a.bg-acento,
.fc-hero-btn {
    border-radius: 9999px !important;
}
.fc-wa-float { border-radius: 9999px !important; }

/* Botón primario: un pelín más de aire y peso amable */
.bg-acento { font-weight: 600; letter-spacing: .01em; }

/* Foco accesible en tono de marca (frambuesa, buen contraste sobre crema) */
:where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid var(--color-acento);
    outline-offset: 2px;
}

/* ---- Lila empolvado como ACENTO DECORATIVO (frambuesa = acción) ----
        Íconos de la barra de beneficios y títulos de columnas del footer. */
[aria-label^="Beneficios"] .text-acento { color: var(--coa-salvia); }
footer h2 { color: var(--coa-salvia-deep) !important; }

/* ============================================================
   FONDOS DESTACADOS en ciruela (topbar, hero desktop, bandas).
   ============================================================ */

/* Barra superior */
.coa-topbar { background: var(--coa-feature) !important; color: var(--coa-feature-ink) !important; }

/* Tarjetas de categoría (home): tamaño fijo e idéntico para todas */
.coa-cat-tile { width: 8rem; height: 8rem; }
@media (min-width: 768px) { .coa-cat-tile { width: 9.5rem; height: 9.5rem; } }

/* Hero split: el panel pasa a ciruela SOLO en desktop. En mobile el texto va
   sobre la foto (con degradado), así que ahí sigue en blanco — no se toca. */
@media (min-width: 782px) {
    .fc-hero { background: var(--coa-feature); }
    .fc-hero-slide--split .fc-hero-panel { background: var(--coa-feature) !important; }
    .fc-hero-title   { color: var(--coa-feature-ink) !important; }
    .fc-hero-eyebrow { color: var(--coa-feature-ink2) !important; }
    .fc-hero-sub     { color: var(--coa-feature-ink2) !important; }
    .fc-hero-btn        { background: var(--color-acento) !important; color: #fff !important; }
    .fc-hero-btn:hover  { background: var(--color-acento-600) !important; }
}

/* ============================================================
   TOQUES EDITORIALES / MODERNOS (tendencia moda 2026→2027)
   ============================================================ */

/* --- Marquee de la barra superior: texto que corre (movimiento sutil) --- */
.coa-topbar.coa-marquee { padding: 0 !important; overflow: hidden; }
.coa-marquee__track {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding-block: 8px;
    animation: coa-marq 34s linear infinite;
    will-change: transform;
}
.coa-marquee:hover .coa-marquee__track { animation-play-state: paused; }
.coa-marquee__track > span { padding: 0 1rem; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; }
.coa-marquee .coa-marq-bow { color: var(--coa-feature-ink2); display: inline-flex; align-items: center; padding: 0 .9rem; opacity: .9; }
.coa-marquee .coa-marq-bow svg { width: 16px; height: 16px; }
@keyframes coa-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .coa-marquee__track { animation: none; width: 100%; justify-content: center; }
    /* con movimiento off, el segundo grupo duplicado se oculta */
    .coa-marquee__track .coa-marq-group + .coa-marq-group { display: none; }
}
.coa-marq-group { display: inline-flex; align-items: center; }

/* --- Reveal al hacer scroll (se activa solo por JS; sin JS todo queda visible) --- */
@media (prefers-reduced-motion: no-preference) {
    html.coa-reveal-on main section:not(.fc-hero) {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1);
    }
    html.coa-reveal-on main section:not(.fc-hero).is-in {
        opacity: 1;
        transform: none;
    }
}

/* --- Kicker editorial (rótulo fino de lookbook) + filete hairline --- */
.coa-kicker {
    font-size: 0.7rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--coa-rosa-2);
    font-weight: 600;
}
.coa-rule {
    height: 1px;
    width: 3rem;
    margin: 0.9rem auto 0;
    background: linear-gradient(90deg, transparent, var(--coa-arena), transparent);
}

/* --- Zoom editorial al hover en tarjetas de categoría --- */
.coa-cat-tile { transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.group:hover .coa-cat-tile { transform: translateY(-4px); }

/* ============================================================
   FICHA DE PRODUCTO — galería contenida.
   La foto principal se encuadra en una proporción fija (retrato 4:5 de
   catálogo) para que NINGÚN producto se vea gigante y todos queden parejos,
   sin importar a qué tamaño subieron la imagen. object-fit: cover recorta lo
   justo para llenar el cuadro; cambiar a "contain" muestra la foto completa
   con fondo crema (sin recorte).
   ============================================================ */
.fc-product-gallery { width: 100%; max-width: 440px; margin-inline: auto; }
@media (min-width: 768px) { .fc-product-gallery { max-width: none; margin-inline: 0; } }

/* Ficha: grilla de 2 columnas que llena el ancho del contenedor (max-w-6xl),
   así alinea con Valoraciones y Relacionados (antes se centraba como par
   angosto y esas secciones quedaban más a la izquierda). */
@media (min-width: 768px) {
    .fc-product-grid {
        /* 2 columnas balanceadas: galería e info reparten el ancho por igual,
           así todo queda centrado y alineado con Valoraciones/Relacionados. */
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 3.5rem;
    }
}

/* La caja de info de pago se ajusta al ancho de su texto (no al 100% de la
   columna), así termina donde terminan las oraciones. */
.fc-pago-info { display: inline-block; max-width: 100%; }

.fc-product-gallery .woocommerce-product-gallery__image a {
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--coa-crudo2);
    border-radius: 10px;
}
.fc-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 10px;
}
/* Miniaturas cuadradas, prolijas, a tono con la foto principal */
.fc-product-gallery .flex-control-thumbs li img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: var(--coa-crudo2);
}

/* Flechas ‹ › para cambiar de foto (slider nativo de Woo, directionNav activado
   en functions.php). Se ocultan solas cuando no hay a dónde ir (1 sola foto o extremo). */
.fc-product-gallery { position: relative; }
.fc-product-gallery .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.fc-product-gallery .flex-direction-nav a {
    position: absolute; top: 42%; transform: translateY(-50%); z-index: 5;
    width: 40px; height: 40px; border-radius: 999px; font-size: 0;
    background: rgba(255,255,255,.92); color: var(--coa-marron);
    display: flex; align-items: center; justify-content: center; text-decoration: none;
    box-shadow: 0 2px 10px rgba(43,20,32,.16); transition: background .2s, opacity .2s;
}
.fc-product-gallery .flex-direction-nav a::before {
    content: ""; display: block; width: 9px; height: 9px;
    border-left: 2px solid currentColor; border-bottom: 2px solid currentColor;
}
.fc-product-gallery .flex-direction-nav .flex-prev { left: 12px; }
.fc-product-gallery .flex-direction-nav .flex-prev::before { transform: rotate(45deg); margin-left: 3px; }
.fc-product-gallery .flex-direction-nav .flex-next { right: 12px; }
.fc-product-gallery .flex-direction-nav .flex-next::before { transform: rotate(-135deg); margin-right: 3px; }
.fc-product-gallery .flex-direction-nav a:hover { background: #fff; }
.fc-product-gallery .flex-direction-nav a.flex-disabled { opacity: 0; pointer-events: none; }

/* ============================================================
   RESEÑAS (estrellas + lista + formulario).
   El CSS propio de WooCommerce está desactivado, así que replicamos las
   estrellas con caracteres ★ (dorado miel llenas, arena vacías).
   ============================================================ */

/* --- Estrellas de LECTURA (resumen bajo el título y cada reseña) --- */
.star-rating {
    display: inline-block; position: relative; overflow: hidden;
    width: 5.6em; height: 1.15em; line-height: 1.15em;
    font-size: 0.95rem; vertical-align: middle; letter-spacing: 0;
}
.star-rating::before {
    content: "\2605\2605\2605\2605\2605"; white-space: nowrap;
    position: absolute; top: 0; left: 0; color: var(--coa-arena); letter-spacing: 0.12em;
}
.star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; height: 1.15em; color: transparent; }
.star-rating span::before {
    content: "\2605\2605\2605\2605\2605"; white-space: nowrap;
    position: absolute; top: 0; left: 0; color: var(--coa-manteca); letter-spacing: 0.12em;
}
.fc-rating-link { transition: opacity .2s ease; }
.fc-rating-link:hover { opacity: .8; }

/* --- Sección de reseñas --- */
.fc-reviews .woocommerce-Reviews-title { font-family: var(--coa-serif); font-size: 1.5rem; font-weight: 600; margin: 0 0 1.25rem; }
.fc-reviews .woocommerce-noreviews { color: var(--coa-marron); opacity: .75; font-size: .95rem; margin: 0 0 1.5rem; }
.fc-reviews .commentlist { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: 1.25rem; }
.fc-reviews .commentlist li { list-style: none; }
.fc-reviews .comment_container { display: flex; gap: .9rem; align-items: flex-start; border: 1px solid var(--color-stone-200); border-radius: 12px; padding: 1rem 1.1rem; background: #fff; }
.fc-reviews .comment_container img.avatar { width: 40px; height: 40px; border-radius: 9999px; margin: 0; }
.fc-reviews .comment-text { flex: 1 1 auto; }
.fc-reviews .comment-text .star-rating { margin-bottom: .35rem; }
.fc-reviews .woocommerce-review__author { font-weight: 600; font-style: normal; color: var(--coa-marron); }
.fc-reviews .woocommerce-review__dates, .fc-reviews .meta { color: var(--color-stone-500); font-size: .78rem; margin-bottom: .4rem; }
.fc-reviews .description p { margin: 0; color: var(--color-stone-700); font-size: .92rem; line-height: 1.55; }

/* --- Formulario de reseña --- */
.fc-reviews #review_form_wrapper { max-width: 640px; }
.fc-reviews .comment-reply-title { font-family: var(--coa-serif); font-size: 1.15rem; font-weight: 600; display: block; margin-bottom: .75rem; }
.fc-reviews .comment-form { display: grid; gap: .9rem; }
.fc-reviews .comment-form label { display: block; font-size: .82rem; font-weight: 600; margin-bottom: .3rem; color: var(--coa-marron); }
.fc-reviews .comment-form input[type="text"],
.fc-reviews .comment-form input[type="email"],
.fc-reviews .comment-form textarea {
    width: 100%; border: 1px solid var(--color-stone-300); border-radius: 8px;
    padding: .6rem .75rem; font: inherit; background: #fff; color: var(--coa-marron);
}
.fc-reviews .comment-form textarea { min-height: 120px; resize: vertical; }
.fc-reviews .comment-form .required { color: var(--color-acento); }
.fc-reviews .comment-form-rating label { display: inline-block; margin-right: .5rem; }
.fc-reviews .form-submit input,
.fc-reviews #respond input#submit {
    background: var(--color-acento); color: #fff; font-weight: 600; letter-spacing: .01em;
    border: 0; border-radius: 9999px; padding: .8rem 1.9rem; cursor: pointer; font: inherit; font-weight: 600;
    transition: background .2s ease;
}
.fc-reviews .form-submit input:hover,
.fc-reviews #respond input#submit:hover { background: var(--color-acento-600); }

/* --- Estrellas de SELECCIÓN (input del formulario) --- */
.fc-reviews p.stars { display: inline-block; margin: 0; }
.fc-reviews p.stars a {
    position: relative; display: inline-block; width: 1.5em; height: 1.5em;
    text-indent: -9999px; text-decoration: none; border: 0;
}
.fc-reviews p.stars a::before {
    content: "\2605"; position: absolute; left: 0; top: 0; text-indent: 0;
    font-size: 1.5em; line-height: 1; color: var(--coa-arena); transition: color .12s ease;
}
.fc-reviews p.stars:hover a::before { color: var(--coa-manteca); }
.fc-reviews p.stars a:hover ~ a::before { color: var(--coa-arena); }
.fc-reviews p.stars.selected a.active::before { color: var(--coa-manteca); }
.fc-reviews p.stars.selected a.active ~ a::before { color: var(--coa-arena); }
.fc-reviews p.stars.selected a:not(.active)::before { color: var(--coa-manteca); }

/* ============================================================
   HOME REDISEÑADO (port del mockup, tendencia moda). Clases td-*.
   ============================================================ */

/* Hero: fotos a sangre que arrancan DEBAJO del header flotante
   (margin-top negativo = alto del header, --td-hh lo mide el script del footer;
   sin JS el hero simplemente arranca debajo del header). Titular gigante en
   minúscula Bodoni + píldora blanca. Desktop 2 fotos / mobile 1 foto. */
.td-hero { position: relative; display: grid; margin-top: calc(-1 * var(--td-hh, 0px)); height: min(100svh, 920px); min-height: 560px; overflow: hidden; color: #fff; background: var(--coa-crudo2); }
.td-hero-media { grid-area: 1 / 1; display: grid; grid-template-columns: 1fr 1fr; min-height: 0; }
.td-hero-ph { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; display: block; min-width: 0; }
.td-hero-ph.is-m { display: none; }
.td-hero::after { content: ""; grid-area: 1 / 1; pointer-events: none; background: linear-gradient(180deg, rgba(43,20,32,.18) 0%, rgba(43,20,32,0) 26%, rgba(43,20,32,0) 46%, rgba(43,20,32,.62) 100%); }
.td-hero-text { grid-area: 1 / 1; z-index: 1; align-self: end; justify-self: center; text-align: center; padding: 0 20px clamp(36px, 6vw, 72px); display: flex; flex-direction: column; align-items: center; gap: 14px; }
.td-hero-text .eb { font-family: var(--coa-script); font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1; color: #f6e7de; }
.td-hero-text h1 { font-family: var(--coa-serif); font-weight: 500; color: #fff; font-size: clamp(3.3rem, 9.5vw, 8.6rem); line-height: .86; letter-spacing: -.035em; text-shadow: 0 2px 30px rgba(43,20,32,.25); }
.td-hero-deals { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 12px; font-size: clamp(.92rem, 1.4vw, 1.1rem); color: #fff; margin: 4px 0 6px; }
.td-hero-deals b { font-family: var(--coa-serif); font-weight: 600; font-size: 1.7em; line-height: 1; margin-right: 2px; }
.td-hero-deals span { white-space: nowrap; }
.td-hero-deals i { width: 1px; height: 1.6em; background: rgba(255,255,255,.55); }
.td-promo { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--coa-arena); color: var(--coa-marron); font-size: .78rem; padding: 8px 14px; border-radius: 999px; }
.td-promo b { font-weight: 600; color: var(--color-acento); }

/* Píldora tipo "shop now" (blanca sobre foto) */
.td-pill { display: inline-block; background: #fff; color: var(--coa-marron) !important; text-decoration: none; font-weight: 600; font-size: .86rem; letter-spacing: .02em; padding: 12px 30px; border-radius: 999px; transition: background .2s, color .2s, transform .2s; }
.td-pill:hover { background: var(--color-acento); color: #fff !important; }
.td-pill.is-sm { font-size: .74rem; padding: 9px 22px; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 767px) {
    .td-hero { height: min(88svh, 760px); min-height: 520px; }
    .td-hero-media { grid-template-columns: 1fr; }
    .td-hero-ph.is-a, .td-hero-ph.is-b { display: none; }
    .td-hero-ph.is-m { display: block; object-position: center 30%; }
    .td-hero-text { padding-bottom: 34px; gap: 12px; }
    .td-hero-text h1 { font-size: clamp(3.1rem, 15.5vw, 4.4rem); }
    .td-hero-deals { flex-direction: column; gap: 4px; }
    .td-hero-deals i { display: none; }
}

/* Banners de categoría A SANGRE: sin márgenes ni redondeos,
   palabra gigante en minúscula centrada + píldora. Desktop 3 verticales. */
.td-cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
.td-cat { position: relative; overflow: hidden; aspect-ratio: 3 / 4; display: flex; align-items: flex-end; justify-content: center; text-decoration: none; background: var(--coa-crudo2); }
.td-cat picture { position: absolute; inset: 0; display: block; }
.td-cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.22,.61,.36,1); }
.td-cat:hover img { transform: scale(1.05); }
.td-cat .sc { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,20,32,0) 40%, rgba(43,20,32,.55) 100%); }
.td-cat .c { position: relative; padding: 28px 20px clamp(28px, 4vw, 48px); color: #fff; width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.td-cat .c h3 { font-family: var(--coa-serif); font-weight: 500; color: #fff; font-size: clamp(3rem, 5.6vw, 5.4rem); line-height: .85; letter-spacing: -.035em; }
.td-cat .c .eb { font-family: var(--coa-script); font-size: 1.6rem; color: #f6e7de; display: block; line-height: 1; margin-bottom: -8px; }
.td-ghost { display: inline-block; margin-top: 12px; border: 1.5px solid #fff; color: #fff; font-weight: 600; font-size: .8rem; letter-spacing: .04em; padding: 9px 20px; border-radius: 999px; transition: background .2s, color .2s; }
.td-ghost:hover { background: #fff; color: var(--coa-marron); }
/* Mobile: banners apilados 4:5 de borde a borde. */
@media (max-width: 767px) { .td-cats { grid-template-columns: 1fr; } .td-cat { aspect-ratio: 4 / 5; } .td-cat .c h3 { font-size: clamp(3.4rem, 17vw, 4.6rem); } }

/* Newsletter (berry) */
.td-news { background: var(--coa-feature); color: var(--coa-feature-ink); }
.td-news .eb { font-family: var(--coa-script); font-size: 2rem; color: var(--coa-feature-ink2); line-height: 1; }
.td-news h2 { color: #fff; }
.td-news input { border: 0; border-radius: 999px; padding: 14px 20px; min-width: 240px; font: inherit; color: var(--coa-marron); background: #fff; }
.td-news input::placeholder { color: var(--color-stone-400); }

/* FAQ acordeón en el home */
.td-faq details { border-bottom: 1px solid var(--color-stone-200); }
.td-faq summary { list-style: none; cursor: pointer; padding: 18px 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-weight: 600; font-size: 1rem; }
.td-faq summary::-webkit-details-marker { display: none; }
.td-faq .plus { color: var(--coa-rosa-2); font-size: 1.3rem; line-height: 1; transition: transform .2s; flex: none; }
.td-faq details[open] .plus { transform: rotate(45deg); }
.td-faq .a { padding: 0 0 18px; color: var(--coa-marron); opacity: .82; font-size: .92rem; line-height: 1.6; }

/* Chips de medios de pago / envío (footer) */
.td-pay { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; }
.td-pay .grp { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.td-pay .lab { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-stone-500); margin-right: 2px; }
.td-chip { display: inline-flex; align-items: center; height: 30px; padding: 0 10px; border: 1px solid var(--color-stone-200); border-radius: 7px; background: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .01em; color: var(--coa-marron); }
.td-chip.visa { color: #1a1f71; } .td-chip.mc { color: #c9001b; } .td-chip.mp { color: #009ee3; }
.td-chip.tr { color: var(--color-acento); } .td-chip.ca { color: #0057b7; }

/* El hero rediseñado NO entra al reveal (debe verse al cargar) */
@media (prefers-reduced-motion: no-preference) {
    html.coa-reveal-on main section.td-hero { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   CARD DE PRODUCTO — estilo editorial (aprobado 2026-10-01).
   Imagen 2:3, etiqueta NUEVO, botón "+" de agregado rápido.
   ============================================================ */
.td-pcard-img { position: relative; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 10px; background: var(--coa-crudo2); }
.td-pcard-link { display: block; width: 100%; height: 100%; }
.td-pcard-primary { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.22,.61,.36,1); }
.group:hover .td-pcard-primary { transform: scale(1.03); }
.td-pcard-hover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .35s ease; pointer-events: none; }
.group:hover .td-pcard-hover { opacity: 1; }

.td-pcard-tag { position: absolute; left: 11px; top: 11px; z-index: 3; font-size: .62rem; letter-spacing: .14em; font-weight: 700; text-transform: uppercase; color: #b07d2f; text-shadow: 0 1px 2px rgba(255,255,255,.45); }
.td-pcard-sale { position: absolute; left: 0; top: 12px; z-index: 3; background: var(--color-acento); color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: .04em; padding: 4px 9px; }

/* Botón "+" (estiliza el loop add-to-cart nativo de Woo) */
.td-pcard-img .add_to_cart_button {
    position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); z-index: 4;
    width: 38px; height: 38px; min-width: 0; padding: 0; margin: 0; border: 0; line-height: 1;
    border-radius: 999px; background: rgba(255,255,255,.94); color: var(--coa-marron);
    display: flex; align-items: center; justify-content: center; font-size: 0; text-decoration: none;
    box-shadow: 0 2px 10px rgba(43,20,32,.18); transition: background .2s, transform .2s;
}
.td-pcard-img .add_to_cart_button::before { content: "+"; display: block; font-size: 1.5rem; line-height: 1; font-weight: 300; transform: translateY(-1px); }
.td-pcard-img .add_to_cart_button:hover { background: #fff; transform: translateX(-50%) scale(1.08); }
/* En desktop el "+" aparece al pasar el mouse por la tarjeta; en mobile queda siempre visible. */
@media (min-width: 768px) {
    .td-pcard-img .add_to_cart_button { opacity: 0; pointer-events: none; transition: background .2s, transform .2s, opacity .3s; }
    .group:hover .td-pcard-img .add_to_cart_button { opacity: 1; pointer-events: auto; }
}
.td-pcard-img .add_to_cart_button.loading { opacity: .7; }
.td-pcard-img .add_to_cart_button.loading::before { content: "·"; }
.td-pcard-img .added_to_cart { display: none !important; }

.td-pcard-name { margin-top: 12px; font-size: 1rem; line-height: 1.3; color: var(--coa-marron); font-weight: 500; }
.td-pcard-name a { color: inherit; }
.td-pcard-price { margin-top: 4px; font-size: 1rem; font-weight: 700; letter-spacing: -.01em; color: var(--coa-marron); }
.td-pcard-cuotas { margin-top: 2px; font-size: .76rem; color: var(--color-stone-500); }
.td-pcard-transf { margin-top: 1px; font-size: .76rem; font-weight: 600; color: var(--color-acento); }

/* La ficha de producto completa (ficha, valoraciones, relacionados, etc.) se
   centra como una columna de ~1040px en el medio de la pantalla, en vez de
   llenar el ancho y quedar pegada a la izquierda en monitores grandes. */
.fc-prod-wrap { max-width: 1280px !important; margin-inline: auto; }

/* ============================================================
   CHECKOUT — Envío Correo Argentino (plugin "corrarfo").
   El <li> del método es flex, así que los selectores de provincia y
   sucursal quedaban amontonados a la derecha del texto. Acá los bajamos
   a una línea completa, apilados, justo debajo de "Correo Argentino
   clásico a sucursal", para que se lean bien.
   ============================================================ */
#shipping_method > li { flex-wrap: wrap; align-items: center; }
/* Radio y texto del método quedan juntos en la 1ª línea (el label ocupa el
   resto con flex-basis 0, así no se va solo a otra línea y el radio no queda
   "encima" en desktop). */
#shipping_method > li > input.shipping_method,
#shipping_method > li > input[type="radio"] { flex: 0 0 auto; }
#shipping_method > li > label { flex: 1 1 0%; width: auto; min-width: 0; }
/* Los selectores de provincia/sucursal bajan a una línea completa debajo. */
#shipping_method .corrarfo-selection-wrapper {
    flex: 1 0 100%;
    width: 100%;
    margin-top: 10px;
    padding-left: 26px;      /* alinea los selects bajo el texto del método */
    box-sizing: border-box;
}
#shipping_method .corrarfo-selection-wrapper > div {
    width: 100%;
    max-width: 360px;
}
#shipping_method .corrarfo-selection-wrapper > div + div {
    margin-top: 8px;         /* separa el selector de sucursal del de provincia */
}
#shipping_method .corrarfo-selection-wrapper .select2-container,
#shipping_method .corrarfo-selection-wrapper select {
    width: 100% !important;
    max-width: 360px;
}


/* ============================================================
   REDISEÑO 2026-10-15: header flotante de vidrio, títulos de sección
   gigantes en minúscula, grilla apretada y carrusel con barra de progreso.
   Se mantiene la identidad Tadia (Bodoni/Jost, frambuesa).
   ============================================================ */

/* --- Header cápsula translúcida con blur --- */
.td-hwrap { position: sticky; top: 0; z-index: 50; padding: 10px 10px 0; pointer-events: none; }
.td-header { pointer-events: auto; max-width: 1400px; margin-inline: auto; border-radius: 18px; background: rgba(255,255,255,.74); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); border: 1px solid rgba(255,255,255,.55); box-shadow: 0 6px 24px rgba(43,20,32,.08); overflow: visible; }
.td-hmarq { padding: 0 !important; overflow: hidden; color: var(--coa-marron); border-bottom: 1px solid rgba(43,20,32,.08); border-radius: 18px 18px 0 0; }
.td-hmarq .coa-marquee__track > span { padding: 0 .8rem; font-size: .66rem; font-weight: 600; letter-spacing: .12em; line-height: 28px; }
.td-hmarq .coa-marq-bow { color: var(--color-acento); }
.td-hbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; padding: 6px 10px; }
.td-hside { display: flex; align-items: center; gap: 2px; }
.td-hside.is-end { justify-content: flex-end; }
.td-hbtn { display: inline-flex; align-items: center; gap: 6px; padding: 8px; border-radius: 999px; color: var(--coa-marron); background: transparent; transition: background .2s; }
.td-hbtn:hover { background: rgba(43,20,32,.06); }
.td-hlabel { font-size: .85rem; font-weight: 500; }
.td-hlogo { font-family: var(--coa-serif); font-weight: 600; font-size: 1.85rem; line-height: 1; letter-spacing: .01em; color: var(--coa-marron); }
.td-hnav a { color: var(--coa-marron) !important; }
.td-only-d { display: none !important; }
@media (min-width: 768px) {
    .td-hwrap { padding: 12px 16px 0; }
    .td-only-d { display: inline-flex !important; }
    .td-only-m { display: none !important; }
    .td-hbar { padding: 8px 16px 2px; }
    .td-hlogo { font-size: 2.2rem; }
}
.td-hsearch { display: flex; gap: 8px; padding: 0 10px 10px; }
.td-hsearch[hidden] { display: none; }
.td-hsearch input { flex: 1; min-width: 0; border: 1px solid rgba(43,20,32,.12); background: rgba(255,255,255,.9); border-radius: 999px; padding: 10px 18px; font: inherit; font-size: .9rem; outline: none; }
.td-hsearch input:focus { border-color: var(--color-acento); }
.td-hsearch button { border-radius: 999px; background: var(--coa-marron); color: #fff; font-size: .8rem; font-weight: 600; padding: 0 18px; }

/* --- Títulos de sección: gigante en minúscula a la izquierda + "VER TODO" --- */
.td-wrap { max-width: 1400px; margin-inline: auto; padding-inline: 12px; }
@media (min-width: 768px) { .td-wrap { padding-inline: 24px; } }
.td-shead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.td-shead h2 { font-family: var(--coa-serif); font-weight: 500; color: var(--coa-marron); font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: .9; letter-spacing: -.035em; }
.td-seeall { flex: none; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--coa-marron) !important; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1.5px; padding-bottom: 6px; }
.td-seeall:hover { color: var(--color-acento) !important; }

/* --- Grilla de productos apretada (2 col mobile / 4 desktop) --- */
.td-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 8px; }
@media (min-width: 768px) { .td-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 14px; } }

/* --- Carrusel horizontal con snap + contador + barra de progreso --- */
.td-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; outline: none; }
.td-rail::-webkit-scrollbar { display: none; }
.td-rail-item { scroll-snap-align: start; min-width: 0; }
@media (min-width: 768px) { .td-rail { grid-auto-columns: calc((100% - 3 * 14px) / 4.3); gap: 14px; } }
.td-rail-ctrl { display: flex; align-items: center; gap: 4px; padding-bottom: 4px; }
.td-rail-count { font-size: .8rem; font-weight: 500; color: var(--color-stone-600); margin-right: 6px; font-variant-numeric: tabular-nums; }
.td-rail-ctrl button { width: 34px; height: 34px; border-radius: 999px; font-size: 1.4rem; line-height: 1; color: var(--coa-marron); transition: background .2s, opacity .2s; }
.td-rail-ctrl button:hover { background: rgba(43,20,32,.06); }
.td-rail-ctrl button:disabled { opacity: .3; cursor: default; }
.td-rail-bar { margin-top: 22px; height: 2px; background: var(--color-stone-200); border-radius: 2px; overflow: hidden; }
.td-rail-bar span { display: block; height: 100%; width: 25%; background: var(--coa-marron); border-radius: 2px; transition: width .25s ease, transform .25s ease; }

/* ============================================================
   FICHA DE PRODUCTO (rediseño 2026-10-15).
   Fondo off-white, tarjetas blancas redondeadas, galería con miniaturas
   verticales (desktop) que queda FIJA mientras se lee la columna derecha,
   acordeones con "+", barra de compra tipo cápsula en mobile.
   ============================================================ */
.td-pdp-bg { background: var(--color-stone-100); padding-bottom: 28px; }
.td-pdp-crumbs { max-width: 1320px; margin-inline: auto; padding: 14px 12px 10px; font-size: .78rem; }
.td-pdp { max-width: 1320px; margin-inline: auto; padding-inline: 10px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.td-card { background: #fff; border-radius: 22px; padding: 22px 20px; box-shadow: 0 1px 2px rgba(43,20,32,.04); }
.td-pdp-side { display: grid; gap: 12px; min-width: 0; }
@media (min-width: 900px) {
    .td-pdp-crumbs, .td-pdp { padding-inline: 24px; }
    .td-pdp { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); gap: 20px; }
    .td-pdp-media { position: sticky; top: calc(var(--td-hh, 100px) + 14px); }
    .td-card { padding: 28px 30px; }
}
html.coa-reveal-on main section.td-pdp { opacity: 1 !important; transform: none !important; }

/* --- Galería: miniaturas verticales a la izquierda (desktop), fila abajo (mobile) --- */
.td-pdp .fc-product-gallery { max-width: none; margin: 0; }
.td-pdp .woocommerce-product-gallery { position: relative; }
.td-pdp .fc-product-gallery .woocommerce-product-gallery__image a,
.td-pdp .fc-product-gallery .woocommerce-product-gallery__image img { border-radius: 20px; }
.td-pdp .fc-product-gallery .woocommerce-product-gallery__image a { background: #fff; }
.td-pdp .fc-product-gallery .flex-control-thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin-top: 8px; }
.td-pdp .fc-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
.td-pdp .fc-product-gallery .flex-control-thumbs li { flex: 0 0 64px; }
.td-pdp .fc-product-gallery .flex-control-thumbs li img { aspect-ratio: 4 / 5; border-radius: 12px; border-width: 2px; opacity: .6; }
.td-pdp .fc-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--color-acento); opacity: 1; }
@media (min-width: 900px) {
    .td-pdp .woocommerce-product-gallery { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 14px; }
    .td-pdp .woocommerce-product-gallery .flex-viewport,
    .td-pdp .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; }
    .td-pdp .fc-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; flex-direction: column; margin: 0; overflow: visible; }
    .td-pdp .fc-product-gallery .flex-control-thumbs li { flex: none; width: 86px; }
    .td-pdp .fc-product-gallery .flex-direction-nav .flex-prev { left: calc(86px + 14px + 14px); }
    .td-pdp .fc-product-gallery .flex-direction-nav a { top: 50%; }
    .td-pdp .fc-product-gallery .woocommerce-product-gallery__image a { max-height: calc(100vh - var(--td-hh, 100px) - 40px); aspect-ratio: 4 / 5; margin-inline: auto; }
}

/* --- Tarjeta info --- */
.td-pdp-cat { font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.td-pdp-cat a { color: var(--color-acento) !important; text-decoration: none; }
.td-pdp-title { margin-top: 6px; font-family: var(--coa-serif); font-weight: 500; color: var(--coa-marron); font-size: clamp(1.9rem, 3.2vw, 2.6rem); line-height: 1; letter-spacing: -.025em; text-wrap: balance; }
.td-pdp-pricerow { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; }
.td-pdp-price { font-size: 1.55rem; font-weight: 600; color: var(--coa-marron); letter-spacing: -.01em; }
.td-pdp-price del { font-size: 1rem; font-weight: 400; color: var(--color-stone-400); margin-right: 6px; }
.td-pdp-price ins { text-decoration: none; color: var(--color-acento); }
.td-pdp-rating { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; font-size: .74rem; color: var(--color-stone-500); }
.td-pdp-info .fc-pago-info { display: block; margin-top: 14px; }
.td-pdp-info .fc-pago-info ul { border: 0; border-radius: 14px; background: var(--color-stone-100); }
.td-pdp-short { margin-top: 14px; font-size: .92rem; line-height: 1.6; color: var(--color-stone-600); }
.td-pdp-short p { margin: 0 0 .5em; }

/* --- Tarjeta compra: color con nombre, botón píldora, GO Cuotas, medios --- */
.td-pdp-buy .fc-add-to-cart { margin: 0; }
.td-pdp-buy .variations, .td-pdp-buy .variations tbody, .td-pdp-buy .variations tr, .td-pdp-buy .variations th, .td-pdp-buy .variations td { display: block; width: 100%; padding: 0; border: 0; text-align: left; }
.td-pdp-buy .variations tr + tr { margin-top: 14px; }
.td-pdp-buy .variations th label { display: block; margin-bottom: 10px; font-size: .7rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-stone-500); }
.td-pdp-buy .variations th label .td-sel { margin-left: 6px; letter-spacing: .02em; text-transform: none; font-size: .9rem; font-weight: 500; color: var(--coa-marron); }
.td-pdp-buy .fc-swatches { gap: 10px; }
.td-pdp-buy .fc-swatch--color { width: 40px; height: 40px; border-radius: 999px; border: 1px solid rgba(43,20,32,.12); }
.td-pdp-buy .fc-swatch--color.fc-swatch--active { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--color-acento); }
.td-pdp-buy .fc-swatch--pill { border-radius: 999px; padding: .55rem 1.1rem; }
.td-pdp-buy .fc-swatch--pill.fc-swatch--active { background: var(--coa-marron); border-color: var(--coa-marron); }
.td-pdp-buy .reset_variations { font-size: .75rem; color: var(--color-stone-500); }
.td-pdp-buy .single_variation_wrap { margin-top: 16px; }
.td-pdp-buy .quantity input.qty { border-radius: 999px !important; }
.td-pdp-buy .single_add_to_cart_button { border-radius: 999px !important; padding: 1rem 1.6rem !important; font-size: .88rem !important; letter-spacing: .04em; }
.td-pdp-buy .single_add_to_cart_button.disabled { opacity: .45; }
.td-gocuotas { margin-top: 16px; display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: color-mix(in srgb, var(--color-acento) 7%, #fff); color: var(--coa-marron); }
.td-gocuotas svg { width: 20px; height: 20px; flex: none; margin-top: 1px; color: var(--color-acento); }
.td-gocuotas p { margin: 0; font-size: .82rem; line-height: 1.45; color: var(--color-stone-600); }
.td-gocuotas b { color: var(--coa-marron); font-weight: 600; }
.td-pdp-pay { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.td-pdp-pay .lab { font-size: .66rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-stone-500); margin-right: 4px; }
.td-pdp-pay .td-chip { height: 26px; font-size: .62rem; border-radius: 999px; padding: 0 10px; }

/* --- Acordeones con "+" --- */
.td-pdp-acc { padding-block: 8px; }
.td-pdp-acc details { border-bottom: 1px solid var(--color-stone-200); }
.td-pdp-acc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0; font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--coa-marron); }
.td-pdp-acc summary::-webkit-details-marker { display: none; }
.td-acc-plus { position: relative; width: 12px; height: 12px; flex: none; }
.td-acc-plus::before, .td-acc-plus::after { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 1.5px; background: var(--color-acento); transition: transform .25s; }
.td-acc-plus::after { transform: rotate(90deg); }
.td-pdp-acc details[open] .td-acc-plus::after { transform: rotate(0deg); }
.td-acc-body { padding: 0 0 16px; font-size: .9rem; line-height: 1.6; color: var(--color-stone-600); }
.td-acc-body p { margin: 0 0 .6em; }
.td-acc-body a { color: var(--color-acento); }
.td-pdp-help { display: block; padding: 16px 0 8px; font-size: .84rem; font-weight: 500; color: var(--coa-marron) !important; text-decoration: none; }
.td-pdp-help:hover { color: var(--color-acento) !important; }

/* --- Bloques de abajo (descripción, reseñas, relacionados) --- */
.td-pdp-block { max-width: 1320px; margin: 12px auto 0; padding-inline: 10px; }
@media (min-width: 900px) { .td-pdp-block { margin-top: 20px; padding-inline: 24px; } }
.td-pdp-block > .td-card > div:first-child { border-top: 0 !important; }
.td-pdp-h2 { font-family: var(--coa-serif); font-weight: 500; color: var(--coa-marron); font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: .95; letter-spacing: -.03em; margin-bottom: 14px; }
.td-pdp-desc { max-width: 70ch; font-size: .95rem; line-height: 1.7; color: var(--color-stone-600); }
.td-pdp-desc p { margin: 0 0 .8em; }
.td-pdp-desc ul { list-style: disc; padding-left: 1.1rem; }
.td-pdp-related .td-shead h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }

/* --- Barra fija de compra (mobile): cápsula de vidrio --- */
.td-atc { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 45; translate: 0 0; transition: translate .35s cubic-bezier(.22,.61,.36,1); }
.td-atc.translate-y-full { translate: 0 calc(100% + 30px) !important; }
.td-atc.td-atc-on { translate: 0 0 !important; }
.td-atc-in { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 18px; border-radius: 999px; background: rgba(255,255,255,.8); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); border: 1px solid rgba(255,255,255,.6); box-shadow: 0 10px 30px rgba(43,20,32,.16); }
.td-atc-txt { min-width: 0; flex: 1; }
.td-atc-name { font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-stone-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td-atc-price { font-size: 1rem; font-weight: 600; color: var(--coa-marron); line-height: 1.15; }
.td-atc-price del { font-size: .74rem; font-weight: 400; color: var(--color-stone-400); margin-right: 4px; }
.td-atc-price ins { text-decoration: none; }
.td-atc-btn { flex: none; border-radius: 999px; background: var(--color-acento); color: #fff; font-size: .8rem; font-weight: 600; letter-spacing: .03em; padding: 13px 20px; transition: background .2s; }
.td-atc-btn:hover { background: var(--color-acento-600); }
@media (max-width: 767px) { body.fc-sticky-atc-visible .fc-wa-float { bottom: 92px !important; } }
.td-pdp-buy .woocommerce-variation-add-to-cart, .td-pdp-buy form.cart:not(.variations_form) { display: flex; align-items: stretch; gap: 10px; width: 100%; }
.td-pdp-buy .single_add_to_cart_button { flex: 1 1 0 !important; }

/* ============================================================
   MEGA MENÚ desktop: al pasar por "Categorías"
   baja un panel de vidrio del ancho de la cápsula con accesos grandes en
   Bodoni minúscula, columnas de categorías/ayuda y 2 fotos.
   ============================================================ */
.td-header { position: relative; }
.td-hnav li.td-has-mega { position: static; }
.td-mega { position: absolute; left: 0; right: 0; top: 100%; padding-top: 8px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s ease, transform .2s ease, visibility .2s; z-index: 60; }
.td-has-mega:hover .td-mega, .td-has-mega:focus-within .td-mega { opacity: 1; visibility: visible; transform: none; }
.td-has-mega:hover .td-mega-caret, .td-has-mega:focus-within .td-mega-caret { transform: rotate(180deg); }
.td-mega-caret { transition: transform .2s; }
.td-mega-in { display: grid; grid-template-columns: 1.25fr .9fr .9fr 1fr 1fr; gap: 28px; padding: 30px 32px; border-radius: 22px; background: rgba(255,255,255,.95); -webkit-backdrop-filter: blur(28px) saturate(170%); backdrop-filter: blur(28px) saturate(170%); border: 1px solid rgba(255,255,255,.6); box-shadow: 0 18px 50px rgba(43,20,32,.14); text-align: left; }
.td-mega-big { display: flex; flex-direction: column; gap: 6px; }
.td-mega-big a { font-family: var(--coa-serif); font-weight: 500; font-size: 2.05rem; line-height: 1.05; letter-spacing: -.03em; color: var(--coa-marron) !important; text-decoration: none !important; transition: color .2s; }
.td-mega-big a:hover { color: var(--color-acento) !important; }
.td-mega-col { display: flex; flex-direction: column; gap: 9px; }
.td-mega-h { font-family: var(--coa-script); font-size: 1.55rem; line-height: 1; color: var(--color-acento); margin-bottom: 6px; }
.td-mega-col a { font-size: .95rem; color: var(--coa-marron) !important; text-decoration: none !important; }
.td-mega-col a:hover { color: var(--color-acento) !important; }
.td-mega-card { position: relative; display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 5; max-height: 300px; background: var(--coa-crudo2); }
.td-mega-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.td-mega-card:hover img { transform: scale(1.05); }
.td-mega-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,20,32,0) 45%, rgba(43,20,32,.6)); }
.td-mega-card .t { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 1; font-family: var(--coa-serif); font-weight: 500; font-size: 2rem; line-height: .9; letter-spacing: -.03em; color: #fff; }
.td-mega-card .t i { display: block; font-family: var(--coa-script); font-style: normal; font-size: 1.15rem; letter-spacing: 0; color: #f6e7de; margin-bottom: 2px; }

/* ============================================================
   MENÚ MOBILE: panel flotante de vidrio (aparece con fade + leve caída).
   app.js alterna -translate-x-full; acá esa clase = cerrado.
   ============================================================ */
.td-mmenu { position: fixed; inset: 10px; z-index: 70; display: flex; flex-direction: column; border-radius: 22px; background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%); border: 1px solid rgba(255,255,255,.6); box-shadow: 0 0 0 100vmax rgba(43,20,32,.28), 0 20px 50px rgba(43,20,32,.2); translate: none !important; transition: opacity .25s ease, transform .25s ease, visibility .25s; overflow: hidden; }
.td-mmenu.-translate-x-full { opacity: 0; visibility: hidden; transform: translateY(-10px) scale(.985); pointer-events: none; box-shadow: none; }
.td-mm-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 8px 10px; border-bottom: 1px solid rgba(43,20,32,.08); }
.td-mm-top > :last-child { justify-self: end; }
.td-mm-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 14px 18px 24px; display: flex; flex-direction: column; gap: 14px; }
.td-mm-search { display: flex; align-items: center; gap: 10px; padding: 0 16px; height: 46px; border-radius: 999px; background: var(--color-stone-100); color: var(--color-stone-500); }
.td-mm-search input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: .95rem; color: var(--coa-marron); outline: none; }
.td-mm-feature { position: relative; display: block; height: 128px; border-radius: 18px; overflow: hidden; }
.td-mm-feature img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.td-mm-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,20,32,.62), rgba(43,20,32,.05)); }
.td-mm-feature .t { position: absolute; left: 18px; bottom: 16px; z-index: 1; font-family: var(--coa-serif); font-weight: 500; font-size: 2.1rem; line-height: .9; letter-spacing: -.03em; color: #fff; }
.td-mm-feature .t i { display: block; font-family: var(--coa-script); font-style: normal; font-size: 1.2rem; letter-spacing: 0; color: #f6e7de; }
.td-mm-feature .go { position: absolute; right: 14px; bottom: 14px; z-index: 1; width: 38px; height: 38px; border-radius: 999px; background: #fff; color: var(--coa-marron); display: grid; place-items: center; font-size: 1.1rem; }
.td-mm-big { display: flex; flex-direction: column; gap: 2px; }
.td-mm-big a { font-family: var(--coa-serif); font-weight: 500; font-size: 2.15rem; line-height: 1.08; letter-spacing: -.03em; color: var(--coa-marron) !important; text-decoration: none !important; }
.td-mm-h { margin-top: 6px; font-family: var(--coa-script); font-size: 1.5rem; line-height: 1; color: var(--color-acento); }
.td-mm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.td-mm-chips a { padding: 10px 18px; border-radius: 999px; background: #fff; border: 1px solid var(--color-stone-200); font-size: .92rem; font-weight: 500; color: var(--coa-marron) !important; text-decoration: none !important; }
.td-mm-chips a:active { background: var(--coa-marron); color: #fff !important; }
.td-mm-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.td-mm-cards a { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; }
.td-mm-cards img { width: 100%; height: 100%; object-fit: cover; }
.td-mm-cards a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,20,32,0) 45%, rgba(43,20,32,.6)); }
.td-mm-cards span { position: absolute; left: 10px; bottom: 8px; z-index: 1; font-family: var(--coa-serif); font-weight: 500; font-size: 1.25rem; letter-spacing: -.02em; color: #fff; }
.td-mm-help { display: flex; flex-direction: column; }
.td-mm-help a { padding: 11px 0; border-bottom: 1px solid rgba(43,20,32,.07); font-size: .98rem; color: var(--coa-marron) !important; text-decoration: none !important; }
.td-mm-foot { display: flex; justify-content: space-between; gap: 12px; padding-top: 6px; font-size: .82rem; }
.td-mm-foot a { color: var(--color-stone-600) !important; text-decoration: underline; text-underline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .td-mmenu, .td-mega { transition: none; } }
.td-mm-body > * { flex-shrink: 0; }

/* Ajustes ficha (2026-10-16, pedido del usuario):
   1) Galería sin fondo blanco: el marco de la foto toma el crema de la página,
      así fotos de cualquier proporción se funden con el fondo.
   2) Título más legible: Bodoni con óptica "de texto" (opsz bajo = trazos finos
      más gruesos) y peso 600, en vez de la óptica display de astas finísimas. */
.td-pdp .fc-product-gallery .woocommerce-product-gallery__image,
.td-pdp .fc-product-gallery .woocommerce-product-gallery__image a,
.td-pdp .fc-product-gallery .flex-viewport,
.td-pdp .fc-product-gallery .woocommerce-product-gallery__wrapper { background: transparent !important; }
.td-pdp .fc-product-gallery .woocommerce-product-gallery__image img { background: var(--color-stone-100); }
.td-pdp-title { font-weight: 600; font-optical-sizing: none; font-variation-settings: "opsz" 18; letter-spacing: -.015em; line-height: 1.04; }

/* Form del Club Tadia (newsletter home): columna centrada, email+botón arriba, consentimiento debajo */
.td-news-form{max-width:32rem;margin:1.75rem auto 0;display:flex;flex-direction:column;gap:.85rem}
.td-news-row{display:flex;flex-direction:column;gap:.75rem;width:100%}
@media(min-width:640px){.td-news-row{flex-direction:row;justify-content:center}}
.td-news-row input[type="email"]{flex:1 1 auto;min-width:0}
.td-news-consent{display:flex;align-items:flex-start;justify-content:center;gap:.5rem;width:100%;margin:0 auto;text-align:left;font-size:.78rem;line-height:1.45;color:var(--coa-feature-ink2);cursor:pointer}
.td-news-consent input[type="checkbox"]{flex:0 0 1.05rem !important;width:1.05rem !important;height:1.05rem !important;min-width:0 !important;margin:.12rem 0 0 !important;padding:0 !important;accent-color:var(--coa-feature-ink,#FBEEF0);cursor:pointer;appearance:auto}
.td-news-consent span{flex:0 1 auto}

/* Optimización 2026-11: las fotos del hero van dentro de <picture> para que cada
   pantalla baje solo la suya. El <picture> es la celda de la grilla. */
.td-hero-pic { display: block; min-width: 0; min-height: 0; height: 100%; }
.td-hero-pic.is-m { display: none; }
@media (max-width: 767px) {
    .td-hero-pic.is-a, .td-hero-pic.is-b { display: none; }
    .td-hero-pic.is-m { display: block; }
}
