/* NOMADE · Boutique de noche
   Capa de diseño sobre styles.css: fondo ébano, tinta marfil y dorado.
   Para volver al diseño anterior basta con quitar el <link> a este archivo. */

:root {
  --noir: #0d0b09;
  --deep: #070605;
  --ink: #f2ebdf;
  --ink-soft: #d3cabb;
  --ivory: #0d0b09;
  --paper: #15120f;
  --sand: #1b1713;
  --muted: #a8a093;
  --line: rgba(242, 235, 223, 0.12);
  --green: #1c3a2b;
  --green-2: #24493a;
  --shadow: 0 30px 70px rgba(0, 0, 0, 0.55);
  color-scheme: dark;
}

/* Islas claras: pósters de combos, reseñas, envíos y ventanas de pedido. */
.reviews-section, .discovery-poster, .combo-image-wrap, .checkout-dialog, .compare-dialog, .shipping-block {
  --ink: #171714;
  --ink-soft: #4d4b45;
  --ivory: #f7f4ee;
  --paper: #fffdf9;
  --sand: #e8e0d2;
  --muted: #706e67;
  --line: rgba(23, 23, 20, 0.14);
  --green: #24352b;
  --green-2: #30473a;
  color-scheme: light;
  color: var(--ink);
}

/* Capa generada desde styles.css: versión oscura de cada regla. */
.skip-link { background: var(--noir); }
.promo-bar { background: var(--noir); }
.site-header { background: hsla(32, 14%, 6%, 0.91); }
.site-header nav a { color: hsl(36, 12%, 83%); }
.hero h1 em { color: hsl(40, 27%, 70%); }
.hero-lede { color: hsl(36, 12%, 71%); }
.button-dark { background: var(--noir); }
.hero-benefits span { color: hsl(36, 12%, 70%); }
.hero-gallery { background: radial-gradient(circle at 50% 42%, hsla(32, 14%, 5%, 0.8), transparent 38%),
    linear-gradient(145deg, hsl(32, 14%, 11%) 0%, hsl(32, 14%, 14%) 55%, hsl(32, 14%, 19%) 100%); }
.hero-photo { background: hsl(32, 14%, 20%); box-shadow: 0 25px 60px rgba(0, 0, 0, 0.60); }
.hero-size-seal { box-shadow: 0 12px 28px rgba(0, 0, 0, 0.60); }
.section-intro-copy p { color: hsl(36, 12%, 68%); }
.filter-shell { background: hsl(32, 14%, 8%); }
.search-field svg { stroke: hsl(36, 12%, 69%); }
.search-field input::placeholder { color: hsl(36, 12%, 62%); }
.select-field > span { color: hsl(36, 12%, 64%); }
.clear-filters { color: hsl(36, 12%, 70%); }
.product-card { border: 1px solid rgba(242, 235, 223, 0.11); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.09); }
.product-image-wrap { background: hsl(32, 14%, 15%); }
.compare-toggle { background: hsla(32, 14%, 5%, 0.91); }
.product-description { color: hsl(36, 12%, 68%); }
.tag-list span { color: hsl(36, 12%, 70%); }
.size-picker legend { color: hsl(36, 12%, 64%); }
.size-option small { color: hsl(36, 12%, 65%); }
.selected-price small { color: hsl(36, 12%, 64%); }
.order-button:hover { background: var(--noir); }
.product-detail-link { border-bottom: 1px solid rgba(242, 235, 223, 0.22); }
.product-detail-link:hover { color: hsl(39, 31%, 73%); }
.experience-section { background: var(--noir); }
.combo-card { background: hsl(32, 14%, 7%); }
.combo-copy > p { color: hsl(36, 12%, 70%); }
.combo-copy ul { color: hsl(36, 12%, 74%); }
.combo-price span { color: hsl(36, 12%, 65%); }
.social-intro h2 em { color: hsl(40, 27%, 70%); }
.social-intro > p:not(.eyebrow) { color: hsl(36, 12%, 70%); }
.social-card { background: hsl(32, 14%, 7%); }
.social-card:hover,
.social-card:focus-visible { background: var(--noir); border-color: var(--noir); }
.social-copy small { color: hsl(40, 25%, 69%); }
.social-copy > span { color: hsl(36, 12%, 67%); }
footer { color: hsl(36, 12%, 74%); background: hsl(32, 14%, 7%); }
.footer-contact span { color: hsl(36, 12%, 65%); }
.review-float { border: 1px solid rgba(242, 235, 223, 0.18); box-shadow: 0 12px 35px rgba(0, 0, 0, 0.42); }
.review-float:hover,
.review-float:focus-visible { box-shadow: 0 16px 40px rgba(0, 0, 0, 0.52); }
.whatsapp-float { box-shadow: 0 12px 35px rgba(0, 0, 0, 0.60); }
.compare-dock { box-shadow: 0 22px 60px rgba(0, 0, 0, 0.60); }
.remove-compare { color: hsl(36, 12%, 70%); }
.toast { box-shadow: 0 12px 35px rgba(0, 0, 0, 0.57); }
.seo-breadcrumb { color: hsl(36, 12%, 65%); }
.seo-hero h1 em { color: hsl(40, 27%, 70%); }
.seo-lede { color: hsl(36, 12%, 71%); }
.seo-online-note { color: hsl(36, 12%, 65%); }
.seo-hero-gallery { background: radial-gradient(circle at 44% 40%, hsla(32, 14%, 5%, 0.78), transparent 37%),
    linear-gradient(142deg, #e1d7c8 0%, hsl(32, 14%, 13%) 56%, hsl(32, 14%, 20%) 100%); }
.seo-hero-gallery figure { box-shadow: 0 28px 64px rgba(0, 0, 0, 0.60); }
.guayaquil-page .seo-hero-gallery { background: radial-gradient(circle at 43% 40%, hsla(32, 14%, 5%, 0.8), transparent 37%),
    linear-gradient(142deg, #e8d9c3 0%, #c7b28d 53%, hsl(32, 14%, 25%) 100%); }
.guayaquil-page .seo-hero h1 em { color: hsl(35, 38%, 71%); }
.seo-proof span { color: hsl(36, 12%, 64%); }
.seo-explainer-copy p { color: hsl(36, 12%, 71%); }
.seo-featured-section { background: hsl(32, 14%, 8%); }
.seo-featured-card { border: 1px solid rgba(242, 235, 223, 0.11); }
.seo-featured-card p:not(.product-brand) { color: hsl(36, 12%, 69%); }
.seo-catalog-cta p { color: hsl(36, 12%, 71%); }
.seo-steps p { color: hsl(36, 12%, 68%); }
.seo-faq details p { color: hsl(36, 12%, 70%); }
.seo-final-cta { background: var(--noir); }
.detail-visual { background: radial-gradient(circle at 48% 44%, hsla(32, 14%, 5%, 0.92), transparent 34%),
    linear-gradient(145deg, hsl(32, 14%, 9%) 0%, hsl(32, 14%, 13%) 47%, hsl(32, 14%, 20%) 100%); }
.detail-summary h1 em { color: hsl(36, 12%, 64%); }
.detail-intro { color: hsl(36, 12%, 71%); }
.detail-tags span { color: hsl(36, 12%, 71%); }
.detail-size:hover { box-shadow: 0 14px 34px rgba(0, 0, 0, 0.21); }
.detail-size span { color: hsl(36, 12%, 64%); }
.detail-stock-note { color: hsl(36, 12%, 65%); }
.detail-profile-copy > p { color: hsl(36, 12%, 71%); }
.detail-notes-grid span { color: hsl(36, 12%, 65%); }
.detail-purpose { background: hsl(32, 14%, 8%); }
.detail-purpose-card { border: 1px solid rgba(242, 235, 223, 0.11); }
.detail-purpose-card p { color: hsl(36, 12%, 69%); }
.detail-related p { color: hsl(36, 12%, 71%); }
.detail-related a { border-bottom: 1px solid rgba(242, 235, 223, 0.22); }
.khamrah-page .detail-visual { background: radial-gradient(circle at 48% 44%, hsla(32, 14%, 6%, 0.9), transparent 34%),
    linear-gradient(145deg, #ddc8a9 0%, #b79269 48%, #62483a 100%); }
.khamrah-page .detail-summary h1 em { color: hsl(29, 35%, 69%); }
.intensely-page .detail-visual { background: radial-gradient(circle at 48% 44%, hsla(32, 14%, 7%, 0.88), transparent 34%),
    linear-gradient(145deg, hsl(32, 14%, 15%) 0%, #9b624c 48%, #3e2926 100%); }
.intensely-page .detail-summary h1 em { color: hsl(36, 12%, 67%); }
.cdnim-page .detail-visual { background: radial-gradient(circle at 48% 44%, rgba(227,207,165,.42), transparent 34%),
    linear-gradient(145deg, hsl(32, 14%, 24%) 0%, #413b33 47%, #171714 100%); }
.cdnim-page .detail-summary h1 em { color: hsl(38, 32%, 71%); }
.why-intro h2 em,
.faq-intro h2 em,
.favorites-section h2 em { color: hsl(40, 27%, 70%); }
.why-intro > p:not(.eyebrow) { color: hsl(36, 12%, 71%); }
.steps-grid p { color: hsl(36, 12%, 70%); }
.favorite-description { color: hsl(36, 12%, 70%); }
.faq-intro > p:not(.eyebrow) { color: hsl(36, 12%, 71%); }
.faq-list details p { color: hsl(36, 12%, 71%); }
.final-cta { background: var(--noir); }
.hero-video { background: var(--noir); }
.hero-scroll:hover svg { background: hsl(32, 14%, 5%); }
.discovery-picker legend { color: hsl(36, 12%, 74%); }
.discovery-option { border: 1px solid rgba(242, 235, 223, 0.16); }
.discovery-option:hover:not(:disabled) { border-color: var(--noir); }

/* ---------- Refinamiento luxury ---------- */
::selection { color: var(--noir); background: var(--gold-light); }
body { background: var(--noir); }

/* Barra superior y cabecera */
.promo-bar { color: var(--gold-light); background: var(--deep); border-bottom: 1px solid var(--line); letter-spacing: .22em; }
.site-header { background: rgba(13, 11, 9, .94); border-bottom-color: var(--line); }
.brand img, .footer-brand img, .advice-block > img { filter: invert(1); mix-blend-mode: screen; }
.site-header nav a { color: rgba(242, 235, 223, .78); letter-spacing: .16em; }
.site-header nav a:hover { color: var(--ink); }
.header-cta { color: var(--gold-light); border-bottom-color: var(--gold); }

/* Portada */
.hero { border-bottom: 0; }
.hero-copy { background: var(--noir); }
.hero h1 { font-size: clamp(56px, 6.6vw, 104px); line-height: .9; letter-spacing: -.035em; }
.hero h1 em, .why-intro h2 em, .faq-intro h2 em, .favorites-section h2 em, .social-intro h2 em,
.seo-hero h1 em, .final-cta h2 em { color: var(--gold-light); }
.hero-lede strong, .favorite-price strong { color: var(--gold-light); }
.hero-benefits { border-top-color: var(--line); }
.hero-benefits strong { font-size: 24px; color: var(--gold-light); }
.hero-video { background: var(--deep); }
.vsl { box-shadow: 0 40px 90px rgba(0, 0, 0, .6); }
.hero-scroll { color: var(--ink); }
.hero-scroll:hover svg { color: var(--noir); background: var(--ink); }
.eyebrow, .eyebrow.light { color: var(--gold); }

/* Botones */
.button-dark { color: var(--noir); background: var(--gold-light); }
.button-dark:hover { color: var(--noir); background: var(--ink); }
.button-gold { color: var(--noir); }
.button-gold:hover { color: var(--noir); background: var(--ink); }
.button-outline { color: var(--ink); border-color: rgba(242, 235, 223, .5); }
.button-outline:hover { color: var(--noir); background: var(--ink); }
.button-link { color: var(--ink); border-bottom-color: var(--gold); }
.button-cream { color: var(--noir); background: var(--ink); }

/* Ritmo de secciones: ébano, superficie y negro profundo */
.why-section, .faq-section, .social-section { background: var(--paper); border-color: var(--line); }
.favorites-section, .catalog-section { background: var(--noir); }
.experience-section, .final-cta, .seo-final-cta { background: var(--deep); }
.steps-grid li { background: var(--noir); border-color: var(--line); }
.step-number { color: var(--gold-light); font-size: 52px; }

/* Favoritos y catálogo */
.favorite-card, .product-card { background: var(--paper); border-color: var(--line); box-shadow: none; }
.favorite-card:hover, .product-card:hover { border-color: rgba(219, 198, 149, .45); box-shadow: var(--shadow); }
.product-card h3, .favorite-copy h3 { font-size: 28px; }
.product-brand { color: var(--gold); letter-spacing: .18em; }
.tag-list span { border-color: var(--line); }
.compare-toggle { color: var(--ink); background: rgba(13, 11, 9, .72); border-color: rgba(242, 235, 223, .25); }
.compare-toggle[aria-pressed="true"] { color: var(--noir); background: var(--gold-light); border-color: var(--gold-light); }
.size-option { border-color: var(--line); }
.size-option:hover { border-color: rgba(219, 198, 149, .6); }
.size-option.is-selected { color: var(--noir); background: var(--gold-light); border-color: var(--gold-light); }
.size-option.is-selected small { color: rgba(13, 11, 9, .7); }
.order-button { color: var(--ink); border-color: rgba(242, 235, 223, .55); }
.order-button:hover { color: var(--noir); background: var(--gold-light); border-color: var(--gold-light); }
.product-detail-link { color: var(--ink-soft); }
.filter-shell { background: var(--paper); border-color: var(--line); }
.search-field input, .select-field select { color: var(--ink); background: var(--noir); border-color: var(--line); }
.select-field select option { color: var(--ink); background: var(--paper); }
.empty-state { background: var(--paper); }
.favorite-sizes { color: var(--ink-soft); }

/* Combos */
.combo-card { background: var(--paper); }
.combo-copy, .combo-copy h3 { color: var(--ink); }
.combo-price { border-top-color: var(--line); }
.combo-price strong { color: var(--gold-light); }
.combos-heading > p { color: rgba(242, 235, 223, .6); }
.discovery-option { color: rgba(242, 235, 223, .5); border-color: rgba(242, 235, 223, .16); }
.discovery-option:hover:not(:disabled) { color: var(--ink); border-color: var(--ink); }
.discovery-option.is-selected { color: var(--noir); }
.discovery-cta:disabled:hover { color: var(--noir); }

/* Asesoría y envíos */
.service-panel { border-color: var(--line); }
.advice-block { background: var(--green); }

/* Reseñas: el descanso claro de la página */
.reviews-section { background: #efe8da; border-color: transparent; }
.reviews-section h2 em { color: #8a6f3f; }
.reviews-catalog-link { color: #171714; border-color: #171714; }

/* Preguntas */
.faq-list, .faq-list details { border-color: var(--line); }
.faq-list summary { color: var(--ink); }
.faq-list details a { color: var(--gold-light); }

/* Redes */
.social-card { background: var(--noir); border-color: var(--line); }
.social-card:hover, .social-card:focus-visible { color: var(--noir); background: var(--gold-light); border-color: var(--gold-light); }
.social-card:hover .social-copy small, .social-card:focus-visible .social-copy small,
.social-card:hover .social-copy > span, .social-card:focus-visible .social-copy > span { color: rgba(13, 11, 9, .7); }
.social-card:hover .social-arrow, .social-card:focus-visible .social-arrow { color: var(--noir); }
.social-handle { color: var(--ink); }

/* Pie */
footer { color: var(--ink-soft); background: var(--deep); border-top: 1px solid var(--line); }
.footer-contact a { color: var(--gold-light); }
.footer-note a { color: var(--ink); }

/* Botones flotantes y comparador */
.review-float { color: var(--ink); background: var(--paper); border-color: var(--line); }
.whatsapp-float { background: #1f6b3f; }
.compare-dock { color: var(--ink); background: rgba(21, 18, 15, .97); border: 1px solid var(--line); }

/* Páginas de ciudad y fichas de perfume */
.seo-hero-gallery, .guayaquil-page .seo-hero-gallery, .detail-visual,
.intensely-page .detail-visual, .cdnim-page .detail-visual { background: var(--deep); }
.seo-featured-card, .detail-purpose-card { background: var(--paper); border-color: var(--line); }
.seo-featured-section, .detail-purpose { background: var(--noir); }
.detail-size { color: var(--ink); background: var(--paper); border-color: var(--line); }
.detail-size:hover { border-color: var(--gold); }
.detail-summary h1 em, .khamrah-page .detail-summary h1 em, .intensely-page .detail-summary h1 em,
.cdnim-page .detail-summary h1 em { color: var(--gold-light); }
.detail-order { color: var(--noir); background: var(--gold-light); }
.detail-order:hover { color: var(--noir); background: var(--ink); }
.seo-breadcrumb a { color: var(--ink); }

/* Ajustes tras revisión visual */
.header-finder { color: var(--ink-soft); font-size: 11px; letter-spacing: .06em; }
.header-finder:hover { color: var(--gold-light); }
.reviews-section .section-intro-copy p { color: #55574f; }
.reviews-section .section-intro-copy span, .reviews-section .eyebrow { color: #8a6f3f; }
.reviews-section .eyebrow > span { background: #8a6f3f; }
@media (min-width: 1051px) {
  .reviews-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Movimiento */
.reveal-ready .reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s cubic-bezier(.2, .7, .2, 1) var(--reveal-delay, 0ms), transform .9s cubic-bezier(.2, .7, .2, 1) var(--reveal-delay, 0ms); }
.reveal-ready .reveal.is-in { opacity: 1; transform: none; }

/* Entrada firma de la portada */
@keyframes rise-in { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes veil-in { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
.hero-copy > * { animation: rise-in 1s cubic-bezier(.2, .7, .2, 1) both; }
.hero-copy > :nth-child(2) { animation-delay: .08s; }
.hero-copy > :nth-child(3) { animation-delay: .18s; }
.hero-copy > :nth-child(4) { animation-delay: .28s; }
.hero-copy > :nth-child(5) { animation-delay: .38s; }
.hero-video .vsl { animation: veil-in 1.4s cubic-bezier(.2, .7, .2, 1) .15s both; }
.hero-video .hero-scroll { animation: rise-in 1s cubic-bezier(.2, .7, .2, 1) .6s both; }

/* Respuesta en controles */
.button, .order-button, .size-option, .discovery-option, .social-card, .detail-size { transition-duration: .22s; }
.button:active, .order-button:active, .size-option:active { transform: scale(.98); }
.product-image, .favorite-card img { transition: transform 1.2s cubic-bezier(.2, .65, .3, 1); }
.product-card:hover .product-image, .favorite-card:hover img { transform: scale(1.05); }
.favorite-card { overflow: hidden; }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .hero-copy > *, .hero-video .vsl, .hero-video .hero-scroll { animation: none; }
  .product-card:hover .product-image, .favorite-card:hover img { transform: none; }
}
button.button-link { background: transparent; border-width: 0 0 1px; border-style: solid; padding-inline: 0; }
header.finder-header img { filter: invert(1); mix-blend-mode: screen; }
header.finder-header { background: var(--noir); border-bottom: 1px solid var(--line); }
.vsl-sound { color: var(--noir); }
.site-header nav a.nav-finder { color: var(--gold-light); }

/* ---------- Pulido tras la revisión ---------- */
/* Títulos equilibrados y párrafos sin palabras sueltas */
h1, h2, h3 { text-wrap: balance; }
p, li, dd { text-wrap: pretty; }

/* Título principal: menos líneas */
.hero h1 { max-width: none; font-size: clamp(52px, 5.3vw, 86px); }

/* Lectura cómoda de texto claro sobre fondo oscuro */
.product-description, .combo-copy > p, .steps-grid p, .favorite-description, .seo-steps p,
.detail-purpose-card p, .seo-featured-card p:not(.product-brand) { font-size: 16px; line-height: 1.65; }
.hero-lede, .why-intro > p:not(.eyebrow), .faq-list details p, .social-intro > p:not(.eyebrow) { line-height: 1.75; }

/* Barras de desplazamiento con la paleta */
html { scrollbar-color: #3a332a var(--noir); }

/* La portada entra desde un estado visible: nunca se queda en negro */
@keyframes rise-in { from { opacity: .4; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes veil-in { from { opacity: .5; transform: scale(1.02); } to { opacity: 1; transform: none; } }
.hero-copy > * { animation-duration: .8s; }

/* Apariciones al hacer scroll: más sutiles */
.reveal-ready .reveal { opacity: .2; transform: translateY(14px); transition-duration: .7s; }

/* Áreas táctiles cómodas */
.product-detail-link { min-height: 40px; align-items: center; }

@media (max-width: 760px) {
  /* Menú en dos filas para que todo se vea, incluida "Encuentra tu fragancia" */
  .site-header nav { flex-wrap: wrap; justify-content: center; gap: 0 18px; overflow: visible; }
  .site-header nav a { padding: 11px 0; }
  .site-header nav a.nav-finder { flex-basis: 100%; text-align: center; padding-top: 4px; }
  .site-header nav a.nav-finder::after { left: 30%; }
}
@media (max-width: 760px) {
  .site-header { height: auto; grid-template-rows: 58px auto; }
  html { scroll-padding-top: 160px; }
}

/* Botón flotante de reseñas en Google (izquierda) */
.review-float {
  left: 18px; bottom: 18px; min-height: 58px; gap: 12px; padding: 8px 18px 8px 9px;
  color: var(--noir); background: var(--gold-light); border: 0; border-radius: 999px;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .5); text-transform: none; letter-spacing: 0;
  animation: review-bob 3.2s ease-in-out infinite;
}
.review-float:hover, .review-float:focus-visible { background: var(--ink); transform: translateY(-3px); animation-play-state: paused; box-shadow: 0 18px 44px rgba(0, 0, 0, .55); }
.review-g { width: 40px; height: 40px; flex: none; display: grid; place-items: center; background: white; border-radius: 50%; }
.review-g svg { width: 22px; height: 22px; }
.review-copy { display: grid; gap: 1px; line-height: 1.1; }
.review-stars { color: #b5821f; font-size: 15px; letter-spacing: 2px; background: linear-gradient(90deg, #b5821f 40%, #fff3c4 50%, #b5821f 60%) 0 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: stars-shine 3.2s ease-in-out infinite; }
.review-copy strong { font-size: 13px; font-weight: 750; }
.whatsapp-float { min-height: 58px; border-radius: 999px; padding: 0 20px; }
@keyframes review-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes stars-shine { 0%, 30% { background-position: 100% 0; } 70%, 100% { background-position: 0 0; } }
@media (max-width: 760px) {
  .review-float { left: 12px; bottom: 14px; min-height: 52px; padding: 6px 14px 6px 6px; gap: 9px; }
  .review-g { width: 38px; height: 38px; }
  .review-copy strong { font-size: 12px; }
  .whatsapp-float { min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .review-float, .review-stars { animation: none; }
}
@media (max-width: 760px) {
  .whatsapp-float { width: 52px; padding: 0; }
}

/* ---------- Guías ---------- */
.guide { max-width: 1120px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 78px) clamp(60px, 8vw, 110px); }
.guide-hero { max-width: 860px; padding: clamp(40px, 6vw, 90px) 0 clamp(26px, 4vw, 48px); }
.guide-index-hero { max-width: 1120px; margin: 0 auto; padding-inline: clamp(16px, 5vw, 78px); }
.guide-hero h1 { margin: 0; font: 400 clamp(44px, 5.4vw, 78px)/.98 var(--serif); letter-spacing: -.03em; }
.guide-lede { max-width: 720px; margin: 24px 0 0; color: var(--ink-soft); font-size: 19px; line-height: 1.7; }
.guide-meta { margin: 18px 0 0; color: var(--muted); font-size: 13px; letter-spacing: .04em; }
.guide-section { padding: clamp(34px, 4vw, 56px) 0; border-top: 1px solid var(--line); }
.guide-section h2 { max-width: 800px; margin: 0 0 18px; font: 400 clamp(32px, 3.4vw, 48px)/1.05 var(--serif); letter-spacing: -.02em; }
.guide-section > p, .guide-list { max-width: 740px; color: var(--ink-soft); font-size: 17px; line-height: 1.8; }
.guide-section > p { margin: 0 0 16px; }
.guide-section > p a, .guide-list a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 3px; }
.guide-section strong { color: var(--ink); font-weight: 600; }
.guide-list { margin: 8px 0 0; padding-left: 22px; display: grid; gap: 10px; }
.guide-list li::marker { color: var(--gold); }
.guide-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 26px; }
.guide-product { display: grid; grid-template-columns: 150px minmax(0, 1fr); overflow: hidden; background: var(--paper); border: 1px solid var(--line); transition: border-color .22s ease; }
.guide-product:hover { border-color: rgba(219, 198, 149, .45); }
.guide-product-image img { width: 100%; height: 100%; min-height: 200px; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .65, .3, 1); }
.guide-product:hover .guide-product-image img { transform: scale(1.05); }
.guide-product-image { overflow: hidden; }
.guide-product-copy { display: flex; flex-direction: column; padding: 20px 22px; }
.guide-product-copy h3 { margin: 0; font: 400 27px/1.05 var(--serif); }
.guide-product-copy > p:not(.product-brand) { margin: 10px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.6; }
.guide-product-copy .guide-product-price { color: var(--gold-light) !important; font-size: 14px !important; }
.guide-product-link { margin-top: auto; padding-top: 14px; color: var(--ink); font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.guide-product-link:hover { color: var(--gold-light); }
.guide .seo-faq { padding-inline: 0; background: none; }
.guide-index { max-width: 1120px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 78px) clamp(60px, 8vw, 110px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.guide-card { display: flex; flex-direction: column; overflow: hidden; background: var(--paper); border: 1px solid var(--line); transition: border-color .22s ease, transform .22s ease; }
.guide-card:hover { border-color: rgba(219, 198, 149, .45); transform: translateY(-3px); }
.guide-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.guide-card-copy { display: grid; gap: 10px; padding: 22px; }
.guide-card-copy strong { font: 400 27px/1.08 var(--serif); }
.guide-card-copy span { color: var(--ink-soft); font-size: 15px; line-height: 1.6; }
.guide-card-copy em { color: var(--gold-light); font-style: normal; font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.guide-page .final-cta-actions { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }
@media (max-width: 900px) {
  .guide-products, .guide-index { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .guide-product { grid-template-columns: 112px minmax(0, 1fr); }
  .guide-product-copy { padding: 16px; }
  .guide-product-copy h3 { font-size: 23px; }
  .guide-lede { font-size: 17px; }
}
.guide-product-copy h3 a:hover { color: var(--gold-light); }
.review-score { display: flex; align-items: center; gap: 6px; }
.review-score b { font: 600 18px/1 var(--serif); }

/* Club NOMADE: ventana de suscripción */
.club-dialog {
  width: min(820px, calc(100% - 32px)); max-height: 92vh; padding: 0; overflow: hidden;
  grid-template-columns: 1fr 1.1fr;
  color: var(--ink); background: var(--paper); border: 0;
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
}
.club-dialog[open] { display: grid; animation: club-in .5s cubic-bezier(.16,1,.3,1); }
.club-dialog::backdrop { background: rgba(7,6,5,.78); }
@keyframes club-in { from { opacity: 0; transform: translateY(18px) scale(.98); } }
.club-media { position: relative; background: var(--deep); }
.club-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 30% center; }
.club-body { position: relative; padding: 52px 44px 40px; overflow-y: auto; }
.club-close {
  position: absolute; top: 12px; right: 12px; width: 44px; height: 44px;
  color: var(--ink); background: transparent; border: 0; cursor: pointer; font: 300 30px/1 var(--sans);
}
.club-close:hover { color: var(--gold-light); }
.club-body h2 { margin: 0 0 14px; font: 400 clamp(34px, 4vw, 46px)/1 var(--serif); letter-spacing: -.02em; text-wrap: balance; }
.club-lede { margin: 0 0 22px; font-size: 16px; line-height: 1.55; color: var(--ink); text-wrap: pretty; }
.club-offer { margin: -6px 0 22px; color: var(--gold-light); font: 400 24px/1.15 var(--serif); }
.club-field { display: grid; gap: 8px; margin-bottom: 16px; font-size: 14px; }
.club-field input {
  width: 100%; height: 52px; padding: 0 16px; color: var(--ink); background: var(--deep);
  border: 1px solid rgba(242,235,223,.24); border-radius: 0; font: 400 16px var(--sans);
}
.club-field input::placeholder { color: rgba(242,235,223,.55); }
.club-field input:focus { border-color: var(--gold-light); outline: none; }
.club-consent { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin-bottom: 18px; font-size: 13px; line-height: 1.5; cursor: pointer; }
.club-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--gold-light); }
.club-error { margin: 0 0 14px; color: #f0a98f; font-size: 14px; }
.club-submit {
  width: 100%; height: 54px; color: var(--noir); background: var(--gold-light); border: 0; border-radius: 999px;
  cursor: pointer; font: 750 15px var(--sans); letter-spacing: .02em; transition: transform .2s ease, background .2s ease;
}
.club-submit:hover { background: #e8d7ad; }
.club-submit:active { transform: scale(.98); }
.club-submit:disabled { opacity: .6; cursor: progress; }
.club-later { display: block; margin: 12px auto 0; padding: 10px; color: var(--ink); background: transparent; border: 0; cursor: pointer; font: 400 14px var(--sans); text-decoration: underline; text-underline-offset: 3px; }
.club-later:hover { color: var(--gold-light); }
@media (max-width: 680px) {
  .club-dialog { grid-template-columns: 1fr; grid-template-rows: 140px auto; width: calc(100% - 24px); }
  .club-body { position: static; padding: 28px 22px 22px; }
  .club-close { top: 8px; right: 8px; color: #fff; background: rgba(7,6,5,.6); border-radius: 50%; width: 40px; height: 40px; font-size: 26px; }
  .club-dialog { position: fixed; }
}
@media (prefers-reduced-motion: reduce) { .club-dialog[open] { animation: none; } }

/* Carrito: barra flotante "Tu pedido" */
.cart-bar {
  position: fixed; z-index: 46; left: 50%; bottom: 18px; transform: translateX(-50%);
  display: flex; align-items: center; gap: 14px; width: min(520px, calc(100% - 24px)); min-height: 64px;
  padding: 10px 10px 10px 14px; color: var(--noir); background: var(--gold-light); border: 0; border-radius: 999px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.5); cursor: pointer; font: inherit; text-align: left;
  transition: transform .25s cubic-bezier(.16,1,.3,1), background .2s ease;
}
.cart-bar[hidden] { display: none; }
.cart-bar:hover { background: #e8d7ad; }
.cart-bar:active { transform: translateX(-50%) scale(.98); }
.cart-bar.is-flashing { animation: cart-pop .6s cubic-bezier(.16,1,.3,1); }
@keyframes cart-pop { 40% { transform: translateX(-50%) scale(1.04); } }
.cart-bar-icon { position: relative; display: grid; place-items: center; width: 44px; height: 44px; flex: none; background: var(--noir); border-radius: 50%; }
.cart-bar-icon svg { width: 22px; fill: none; stroke: var(--gold-light); stroke-width: 1.6; stroke-linejoin: round; }
.cart-bar-icon b { position: absolute; top: -4px; right: -4px; min-width: 22px; height: 22px; padding: 0 6px; display: grid; place-items: center; color: var(--noir); background: #fff; border-radius: 999px; font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.cart-bar-copy { display: grid; flex: 1; min-width: 0; line-height: 1.2; }
.cart-bar-copy span { overflow: hidden; font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.cart-bar-copy strong { overflow: hidden; font: 600 19px/1.15 var(--serif); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cart-bar-cta { flex: none; padding: 12px 18px; color: var(--gold-light); background: var(--noir); border-radius: 999px; font-size: 14px; font-weight: 750; }
/* Con carrito, los botones flotantes suben para no taparse. */
body.has-cart .review-float, body.has-cart .whatsapp-float { bottom: 94px; }
body.has-cart .toast { bottom: 170px; }

/* Carrito: ventana */
.cart-dialog { width: min(520px, calc(100% - 24px)); }
.cart-title { margin: 0 48px 14px 0; font: 400 34px/1 var(--serif); letter-spacing: -.02em; text-wrap: balance; }
.cart-steps { display: flex; gap: 6px; margin: 0 0 22px; padding: 0; list-style: none; counter-reset: step; }
.cart-steps li { flex: 1; padding-top: 8px; color: var(--muted); border-top: 3px solid var(--sand); font-size: 12px; font-weight: 700; counter-increment: step; }
.cart-steps li::before { content: counter(step) ". "; }
.cart-steps li.is-current { color: var(--ink); border-color: var(--ink); }
.cart-steps li.is-done { color: var(--green); border-color: var(--gold); }
.cart-items { display: grid; gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.cart-item { display: grid; grid-template-columns: 64px 1fr auto; grid-template-areas: "img copy qty" "img remove qty"; align-items: center; column-gap: 14px; row-gap: 2px; padding: 10px; background: white; border: 1px solid var(--line); }
.cart-item img, .cart-item-placeholder { grid-area: img; width: 64px; height: 64px; object-fit: cover; background: var(--ivory); }
.cart-item-placeholder { display: grid; place-items: center; font: 400 26px var(--serif); color: var(--gold); }
.cart-item-copy { grid-area: copy; display: grid; gap: 2px; min-width: 0; align-self: end; }
.cart-item-copy strong { font: 400 19px/1.1 var(--serif); }
.cart-item-copy span { color: var(--ink-soft); font-size: 13px; line-height: 1.35; }
.cart-qty { grid-area: qty; display: flex; align-items: center; gap: 2px; background: var(--ivory); border-radius: 999px; }
.cart-qty button { width: 40px; height: 40px; color: var(--ink); background: transparent; border: 0; border-radius: 50%; cursor: pointer; font: 400 22px/1 var(--sans); }
.cart-qty button:hover { background: var(--sand); }
.cart-qty span { min-width: 18px; text-align: center; font-weight: 750; font-variant-numeric: tabular-nums; }
.cart-remove { grid-area: remove; justify-self: start; align-self: start; padding: 4px 0; color: #9a3b26; background: transparent; border: 0; cursor: pointer; font: 600 13px var(--sans); text-decoration: underline; text-underline-offset: 3px; }
.cart-item-qty { grid-area: qty; font-weight: 750; }
.is-receipt .cart-item { grid-template-areas: "img copy qty"; }
.cart-empty { display: grid; justify-items: start; gap: 14px; margin-bottom: 8px; }
.cart-empty p { margin: 0; color: var(--ink-soft); font-size: 16px; }
.checkout-city strong s { margin-right: 4px; color: var(--muted); font-size: 15px; }
.cart-promo { margin: -8px 0 18px; padding: 12px 14px; color: var(--ink); background: #f3efe4; font-size: 14px; line-height: 1.45; }
.cart-next { width: 100%; min-height: 56px; font-size: 16px; }
.cart-link, .cart-back { padding: 10px 0; color: var(--ink); background: transparent; border: 0; cursor: pointer; font: 500 14px var(--sans); text-decoration: underline; text-underline-offset: 3px; }
.cart-back { display: block; margin: -6px 0 10px; text-decoration: none; }
.cart-field { display: grid; gap: 8px; margin-bottom: 10px; font-size: 14px; font-weight: 700; }
.cart-field input { width: 100%; height: 56px; padding: 0 16px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 0; font: 400 17px var(--sans); }
.cart-field input:focus { border-color: var(--ink); outline: 2px solid var(--gold); outline-offset: 0; }
.cart-hint { margin: 0 0 16px; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.cart-check { display: grid; grid-template-columns: auto 1fr; gap: 10px; margin-bottom: 18px; font-size: 14px; line-height: 1.45; cursor: pointer; }
.cart-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--ink); }
.cart-dialog .club-error { color: #9a3b26; }
.cart-done-total { margin: -8px 0 20px; font: 400 24px/1.1 var(--serif); }
@media (max-width: 520px) {
  .cart-title { font-size: 29px; }
  .cart-bar { bottom: 12px; min-height: 60px; gap: 10px; }
  .cart-bar-cta { padding: 11px 14px; }
  .cart-bar-copy span { font-size: 12px; }
  .cart-bar-copy strong { font-size: 17px; }
  body.has-cart .review-float, body.has-cart .whatsapp-float { bottom: 84px; }
  .cart-item { grid-template-columns: 56px 1fr auto; grid-template-areas: "img copy copy" "img remove qty"; column-gap: 10px; row-gap: 6px; }
  .cart-remove { align-self: center; }
  .is-receipt .cart-item { grid-template-areas: "img copy qty"; }
  .cart-item img, .cart-item-placeholder { width: 56px; height: 56px; }
}
@media (prefers-reduced-motion: reduce) { .cart-bar.is-flashing { animation: none; } }
