/* ══════════════════════════════════════════════════
   INTI FIELD™ — Premium Product Page CSS
   Colores: Navy + Gold (original)
   Layout: Mobile-first compacto
══════════════════════════════════════════════════ */

/* ── VARIABLES ── */
:root {
  --navy:        #0F1E29;
  --navy-mid:    #1E3A5F;
  --navy-light:  #2B4C6A;
  --gold:        #C59B27;
  --gold-light:  #D4AA3A;
  --gold-grad:   linear-gradient(135deg, #C59B27 0%, #E8C84A 50%, #C59B27 100%);
  --white:       #FFFFFF;
  --off-white:   #F7F9FC;
  --bg-light:    #EEF3F8;
  --grey-light:  #F1F5F9;
  --grey-mid:    #8A9BB0;
  --grey-dark:   #4A5568;
  --text-dark:   #1A2633;
  --text-body:   #374151;
  --danger:      #E53E3E;
  --danger-bg:   #FFF5F5;
  --success:     #2D8A4E;
  --success-bg:  #F0FFF4;
  --border:      #DDE5EE;
  --radius-sm:   8px;
  --radius-md:   14px;
  --radius-lg:   20px;
  --radius-pill: 100px;
  --shadow-sm:   0 1px 4px rgba(0,0,0,.08);
  --shadow-md:   0 4px 18px rgba(0,0,0,.10);
  --shadow-lg:   0 12px 40px rgba(0,0,0,.14);
  --transition:  .22s cubic-bezier(.4,0,.2,1);
  --page-max:    480px;   /* max-width mobile-first */
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text-body);
  background: var(--off-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }

/* ── SVG ICON SYSTEM ── */
/* Base SVG sizing — set width/height via class */
svg { display: inline-block; vertical-align: middle; flex-shrink: 0; }

/* Announcement bar icons */
.ann-icon { width: 15px; height: 15px; color: rgba(255,255,255,.75); margin-right: 3px; }

/* Star icons */
.star-icon      { width: 14px; height: 14px; color: #F59E0B; }
.star-icon.sm   { width: 12px; height: 12px; }
.star-icon.lg   { width: 20px; height: 20px; }

/* Trust badge SVG */
.trust-svg { width: 20px; height: 20px; color: var(--navy-mid); flex-shrink: 0; }

/* Benefits check icon (inside .chk circle) */
.chk svg { width: 10px; height: 10px; color: var(--success); }

/* Inline check (verified badge, guarantee points) */
.chk-inline      { width: 11px; height: 11px; color: var(--success); margin-right: 2px; }
.chk-inline.gold { color: var(--gold-light); }

/* Symptom icons */
.sym-icon-wrap {
  width: 38px; height: 38px;
  background: rgba(15,30,41,.06);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sym-svg { width: 20px; height: 20px; color: var(--navy-mid); }

/* Comparison icons */
.comp-icon-wrap {
  width: 34px; height: 34px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.comp-icon-wrap.without-icon { background: rgba(229,62,62,.1); color: var(--danger); }
.comp-icon-wrap.with-icon    { background: rgba(45,138,78,.1);  color: var(--success); }
.comp-svg { width: 18px; height: 18px; }

/* Review avatar SVG */
.rev-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--grey-light);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.avatar-svg { width: 22px; height: 22px; color: var(--grey-mid); }

/* Placeholder SVG icons */
.ph-svg    { width: 36px; height: 36px; color: var(--grey-mid); opacity: .6; }
.ph-svg-sm { width: 24px; height: 24px; color: var(--grey-mid); opacity: .55; }

/* CTA single (no WhatsApp button, full width) */
.cta-wrap.single { display: block; }
.cta-wrap.single .btn-cta { width: 100%; display: flex; }


/* ── PAGE CONTAINER — centered, max 480px mobile-first ── */
.page-container {
  max-width: var(--page-max);
  margin: 0 auto;
  padding: 0 18px;
}

/* ── PLACEHOLDERS ── */
.img-placeholder {
  background: linear-gradient(135deg, #DDE7F2 0%, #C8D8EA 100%);
  border: 2px dashed #9AAFCA;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
}
.ph-inner { text-align: center; padding: 12px; }
.ph-icon  { font-size: 2.2rem; display: block; opacity: .55; }
.ph-icon-sm { font-size: 1.4rem; opacity: .5; }
.ph-inner p    { color: var(--grey-dark); font-size: 12px; font-weight: 500; margin-top: 6px; line-height: 1.4; }
.ph-inner small { color: var(--grey-mid); font-size: 10px; }

/* ── SECTION CHIP (label) ── */
.section-chip {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 8px;
}
.section-chip.light { color: rgba(255,255,255,.55); }

/* ── SECTION TITLES ── */
.section-title {
  font-family: 'Inter', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.25;
  margin-bottom: 16px;
}
.section-title em { font-style: italic; color: var(--navy-mid); }
.section-title.light { color: var(--white); }
.section-title.light em { color: var(--gold-light); }

/* ── SHARED SECTION BODY ── */
.section-body {
  font-size: 14px;
  color: var(--grey-dark);
  line-height: 1.75;
  margin-bottom: 20px;
}

/* ══════════════════════════════════
   1. ANNOUNCEMENT BAR
══════════════════════════════════ */
.ann-bar {
  background: var(--navy);
  color: rgba(255,255,255,.9);
  text-align: center;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 500;
  position: sticky;
  top: 0;
  z-index: 200;
}
.ann-items {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 10px;
}
.ann-items span { white-space: nowrap; }
.ann-dot { color: rgba(255,255,255,.3); }

/* ══════════════════════════════════
   2. HERO
══════════════════════════════════ */
.hero-wrap {
  background: var(--off-white);
  padding: 14px 0 16px;
}

/* 2a. Título */
.hero-title {
  font-family: 'Inter', sans-serif;
  font-size: 19px;
  font-weight: 900;
  color: var(--navy);
  line-height: 1.2;
  text-align: center;
  margin-bottom: 8px;
}
.hero-title em { font-style: italic; color: var(--navy-mid); }

/* 2b. Stars */
.stars-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-bottom: 10px;
}
.stars-icons {
  display: flex;
  align-items: center;
  gap: 2px;
}
.stars-text {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-dark);
}

/* 2c. Imagen / Video */
.product-media {
  margin-bottom: 10px;
}
.media-placeholder {
  width: 100%;
  height: 190px;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
/* Real video in hero */
.hero-video {
  width: 100%;
  height: clamp(280px, 56vw, 420px);
  border-radius: var(--radius-lg);
  object-fit: cover;
  display: block;
  background: var(--navy);
}

/* 2d. Precio */
.price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin-bottom: 8px;
}
.price-desde {
  font-size: 11px;
  font-weight: 600;
  color: var(--grey-dark);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.price-main {
  font-size: 22px;
  font-weight: 800;
  color: var(--navy-mid);
}
.price-main.large { font-size: 30px; }
.price-usd {
  font-size: 12px;
  font-weight: 700;
  color: var(--grey-dark);
}

/* 2e. CTA + WhatsApp */
.cta-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.btn-cta {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  background: var(--gold-grad);
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: var(--transition);
  box-shadow: 0 4px 20px rgba(197,155,39,.32);
  white-space: nowrap;
}
.btn-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(197,155,39,.45);
}
.btn-cta:active { transform: translateY(0); }

.btn-whatsapp {
  width: 46px;
  height: 46px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37,211,102,.35);
  flex-shrink: 0;
  transition: var(--transition);
}
.btn-whatsapp:hover { transform: scale(1.08); box-shadow: 0 6px 22px rgba(37,211,102,.5); }

/* 2f. Descripción */
.product-desc {
  font-size: 13px;
  color: var(--text-body);
  line-height: 1.65;
  text-align: center;
  margin-bottom: 14px;
}

/* 2g. Beneficios */
.benefits-list { margin-bottom: 16px; }
.benefits-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  font-size: 12.5px;
  color: var(--text-body);
  border-bottom: 1px solid var(--border);
  line-height: 1.4;
}
.benefits-list li:last-child { border-bottom: none; }
.chk {
  width: 18px;
  height: 18px;
  background: rgba(45,138,78,.12);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--success);
  font-size: 10px;
  font-weight: 700;
  flex-shrink: 0;
}

/* 2i. Trust grid — single column */
.trust-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 20px;
}
.trust-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-dark);
  box-shadow: var(--shadow-sm);
}

/* ══════════════════════════════════
   3. CIENCIA / AMENAZA
══════════════════════════════════ */
.science-section {
  background: var(--white);
  padding: 40px 0;
  border-top: 1px solid var(--border);
}
.symptoms-list { margin-bottom: 24px; }
.symptom-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.symptom-item:last-child { border-bottom: none; }
.sym-icon { font-size: 1.4rem; flex-shrink: 0; margin-top: 2px; }
.symptom-item strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 2px;
}
.symptom-item small { font-size: 12.5px; color: var(--grey-dark); }

/* Science section exploded diagram image */
.science-img-wrap {
  margin: 20px 0 16px;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.science-img {
  width: 100%;
  display: block;
  border-radius: var(--radius-lg);
}

/* Quote block */
.quote-block {
  background: var(--grey-light);
  border-left: 4px solid var(--gold);
  padding: 16px 18px;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  margin-bottom: 20px;
}
.quote-block p {
  font-style: italic;
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-dark);
  margin-bottom: 8px;
}
.quote-block cite {
  font-size: 11.5px;
  color: var(--navy-mid);
  font-weight: 600;
  font-style: normal;
}

.who-badges {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.who-badge {
  background: var(--grey-light);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 14px 10px;
  text-align: center;
}
.who-badge strong {
  display: block;
  font-size: 22px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1;
  margin-bottom: 4px;
}
.who-badge small { font-size: 10.5px; color: var(--grey-dark); line-height: 1.4; }

/* ══════════════════════════════════
   4. CÓMO FUNCIONA
══════════════════════════════════ */
.how-section {
  background: linear-gradient(160deg, var(--navy) 0%, var(--navy-mid) 100%);
  padding: 40px 0;
}
.steps-list { margin-top: 20px; }
.step-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.step-item:last-child { border-bottom: none; }
.step-num {
  font-size: 32px;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  flex-shrink: 0;
  min-width: 40px;
}
.step-text strong {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 4px;
}
.step-text p {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  line-height: 1.65;
}

/* Devices lifestyle photo in how-section */
.devices-img-wrap {
  margin: 0 0 20px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.devices-img {
  width: 100%;
  display: block;
  border-radius: var(--radius-lg);
  max-height: 220px;
  object-fit: cover;
}

/* ══════════════════════════════════
   5. PAQUETES
══════════════════════════════════ */
.packages-section {
  background: var(--off-white);
  padding: 20px 0 24px;
  scroll-margin-top: 44px; /* offset for fixed announcement bar */
}

/* Override section title size inside packages for compactness */
.packages-section .section-chip { margin-bottom: 4px; }
.packages-section .section-title {
  font-size: 18px;
  margin-bottom: 12px;
}

.pkg-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 10px 12px 10px;
  margin-bottom: 6px;
  position: relative;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}
.pkg-card:last-child { margin-bottom: 0; }

/* Popular — borde navy */
.pkg-card.pkg-popular {
  border-color: var(--navy);
  border-width: 2px;
  box-shadow: 0 0 0 1px var(--navy), var(--shadow-md);
}

/* Best — borde dorado punteado */
.pkg-card.pkg-best {
  border-color: var(--gold);
  border-width: 2px;
  border-style: dashed;
  box-shadow: var(--shadow-sm);
}

/* Header row: title + badge side by side */
.pkg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 2px;
}
.pkg-header h3 {
  font-size: 15px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.2;
}

.pkg-badge {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .07em;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  white-space: nowrap;
  flex-shrink: 0;
}
.pkg-badge.popular {
  background: var(--navy);
  color: var(--white);
}
.pkg-badge.best {
  background: var(--gold-grad);
  color: var(--navy);
}

.pkg-desc {
  font-size: 11.5px;
  color: var(--grey-dark);
  line-height: 1.3;
  margin-bottom: 7px;
}

/* Outer row: image left + right column (pricing + button) */
.pkg-body {
  display: flex;
  align-items: stretch;
  gap: 10px;
}

/* Right column: pricing stacked above button */
.pkg-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}
.envio-pkg-body-new .pkg-right {
  flex: 0 0 auto;
  text-align: right;
  align-items: flex-end;
}

.pkg-img {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
}

.pkg-pricing { flex: 1; }
.pkg-before {
  display: block;
  font-size: 10.5px;
  color: var(--grey-mid);
  text-decoration: line-through;
  margin-bottom: 1px;
}
.pkg-price {
  display: block;
  font-size: 18px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.1;
}
.pkg-unit {
  display: block;
  font-size: 10.5px;
  color: var(--navy-mid);
  font-weight: 600;
  margin-top: 1px;
}

.btn-pkg {
  display: block;
  width: 100%;
  padding: 11px 16px;
  background: var(--gold-grad);
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .03em;
  text-align: center;
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: var(--transition);
  box-shadow: 0 3px 12px rgba(197,155,39,.26);
  white-space: nowrap;
  min-width: 140px;
}
.btn-pkg:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(197,155,39,.42);
}
.pkg-btn-wrap {
  margin-top: 10px;
  width: 100%;
}
.pkg-btn-wrap .btn-pkg {
  width: 100%;
  min-width: unset;
}

/* ══════════════════════════════════
   6. REVIEWS
══════════════════════════════════ */
.reviews-section {
  background: var(--white);
  padding: 40px 0;
  border-top: 1px solid var(--border);
}

.reviews-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--grey-light);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  margin-bottom: 20px;
}
.rev-big-stars {
  display: flex;
  align-items: center;
  gap: 3px;
  line-height: 1;
}
.reviews-summary strong {
  display: block;
  font-size: 17px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.2;
}
.reviews-summary small { font-size: 12px; color: var(--grey-dark); }

.reviews-list { display: flex; flex-direction: column; gap: 14px; }

.review-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 18px 16px;
  box-shadow: var(--shadow-sm);
}
.rev-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.rev-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  overflow: hidden;
  border: 2px solid var(--gold);
  box-shadow: 0 2px 10px rgba(197,155,39,.25);
}
.rev-avatar-photo {
  background: none;
  padding: 0;
}
.avatar-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.rev-header strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
}
.rev-stars {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 2px 0;
}
.rev-header small { font-size: 11px; color: var(--grey-mid); display: flex; align-items: center; gap: 3px; margin-top: 1px; flex-wrap: wrap; }
.verified-badge {
  color: var(--success);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.review-card p {
  font-size: 13.5px;
  color: var(--grey-dark);
  line-height: 1.7;
  font-style: italic;
}
.rev-img-full-wrap {
  width: 100%;
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 14px;
  background: var(--grey-light);
}
.rev-img-full {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* ══════════════════════════════════
   7. ANTES / DESPUÉS
══════════════════════════════════ */
.comparison-section {
  background: var(--off-white);
  padding: 40px 0;
}
.comp-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 24px;
}
.comp-card {
  border-radius: var(--radius-lg);
  padding: 20px 18px;
  border: 1.5px solid;
}
.comp-card.without { background: #FFF8F5; border-color: #F4CCBB; }
.comp-card.with    { background: #F0FFF4; border-color: #A8D8B8; }
.comp-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.comp-header span { font-size: 1.4rem; }
.comp-header h3 {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
}
.comp-card ul li {
  padding: 8px 0;
  font-size: 13.5px;
  color: var(--text-body);
  border-bottom: 1px solid rgba(0,0,0,.05);
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.comp-card ul li:last-child { border-bottom: none; }
.comp-card.without ul li::before { content: '✗'; color: var(--danger); font-weight: 700; flex-shrink: 0; }
.comp-card.with ul li::before    { content: '✓'; color: var(--success); font-weight: 700; flex-shrink: 0; }

/* ══════════════════════════════════
   8. GARANTÍA
══════════════════════════════════ */
.guarantee-section {
  background: var(--navy);
  padding: 40px 0;
}
.guarantee-box {
  display: flex;
  align-items: center;
  gap: 20px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
  padding: 24px 20px;
}
.guarantee-badge {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--gold-grad);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 20px rgba(197,155,39,.3);
}
.g-num {
  font-size: 26px;
  font-weight: 900;
  color: var(--navy);
  line-height: 1;
}
.g-days {
  font-size: 9px;
  font-weight: 700;
  color: var(--navy);
  text-align: center;
  line-height: 1.3;
}
.guarantee-text h3 {
  font-size: 16px;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 6px;
}
.guarantee-text p {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  line-height: 1.65;
  margin-bottom: 12px;
}
.g-points {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
}
.g-points span {
  font-size: 12px;
  font-weight: 600;
  color: var(--gold-light);
}

/* ══════════════════════════════════
   9. FAQ
══════════════════════════════════ */
.faq-section {
  background: var(--white);
  padding: 40px 0;
  border-top: 1px solid var(--border);
}
.faq-list { margin-top: 20px; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--navy);
  cursor: pointer;
  text-align: left;
  gap: 12px;
  transition: var(--transition);
}
.faq-q:hover { color: var(--navy-mid); }
.faq-arr {
  font-size: 20px;
  font-weight: 300;
  color: var(--gold);
  flex-shrink: 0;
  transition: transform var(--transition);
}
.faq-item.open .faq-arr { transform: rotate(45deg); }
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s cubic-bezier(.4,0,.2,1);
}
.faq-item.open .faq-a { max-height: 400px; }
.faq-a p {
  padding-bottom: 16px;
  font-size: 13.5px;
  color: var(--grey-dark);
  line-height: 1.75;
}

/* ══════════════════════════════════
   FOOTER
══════════════════════════════════ */
.site-footer {
  background: var(--navy);
  padding: 36px 0 24px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.footer-logo-wrap {
  text-align: center;
  margin-bottom: 20px;
}
.f-logo {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--white);
  display: block;
  margin-bottom: 6px;
}
.footer-logo-wrap p {
  font-size: 12.5px;
  color: rgba(255,255,255,.45);
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  margin-bottom: 20px;
}
.footer-links a {
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
  transition: var(--transition);
}
.footer-links a:hover { color: var(--gold-light); }
.payment-methods {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.payment-methods span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  color: rgba(255,255,255,.45);
  border: 1px solid rgba(255,255,255,.14);
  padding: 4px 10px;
  border-radius: 4px;
}
.footer-copy {
  text-align: center;
  font-size: 11.5px;
  color: rgba(255,255,255,.3);
}

/* ══════════════════════════════════
   FLOATING WHATSAPP BUTTON
══════════════════════════════════ */
.whatsapp-float {
  position: fixed;
  bottom: 22px;
  right: 18px;
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.45);
  z-index: 500;
  transition: var(--transition);
}
.whatsapp-float:hover { transform: scale(1.1); box-shadow: 0 6px 28px rgba(37,211,102,.6); }

/* ══════════════════════════════════
   ANIMATIONS
══════════════════════════════════ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero-title   { animation: fadeInUp .5s ease both; }
.stars-row    { animation: fadeInUp .5s ease .1s both; }
.product-media { animation: fadeInUp .5s ease .2s both; }
.price-row    { animation: fadeInUp .5s ease .3s both; }
.cta-wrap     { animation: fadeInUp .5s ease .4s both; }

/* ══════════════════════════════════
   RESPONSIVE — desktop fallback
══════════════════════════════════ */
@media (min-width: 600px) {
  :root { --page-max: 540px; }
}

@media (min-width: 900px) {
  :root { --page-max: 600px; }
  .hero-title { font-size: 30px; }
  .media-placeholder { height: 360px; }
  .comp-cards {
    flex-direction: row;
    gap: 16px;
  }
}

@media (max-width: 360px) {
  .hero-title { font-size: 22px; }
  .btn-cta { font-size: 14px; padding: 14px 18px; }
  .trust-grid { grid-template-columns: 1fr; }
  .who-badges { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════
   PKG-TOTAL label (chip count)
══════════════════════════════════ */
.pkg-total {
  font-size: 13px;
  font-weight: 500;
  color: var(--grey-dark);
}

/* ══════════════════════════════════
   STICKY BOTTOM CTA BAR
══════════════════════════════════ */
.sticky-cta-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 300;
  background: var(--white);
  border-top: 1px solid var(--border);
  box-shadow: 0 -4px 24px rgba(0,0,0,.10);
  padding: 10px 0 calc(10px + env(safe-area-inset-bottom));
  /* hidden by default — JS shows it */
  transform: translateY(100%);
  opacity: 0;
  transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .35s ease;
  pointer-events: none;
}
.sticky-cta-bar.visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.sticky-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.sticky-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sticky-brand {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--navy);
  line-height: 1;
  margin-bottom: 3px;
}
.sticky-price {
  font-size: 20px;
  font-weight: 900;
  color: var(--navy-mid);
  line-height: 1.1;
}
.sticky-sub {
  font-size: 11px;
  color: var(--grey-dark);
  margin-top: 2px;
}
.sticky-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  background: var(--gold-grad);
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  border-radius: var(--radius-pill);
  box-shadow: 0 3px 14px rgba(197,155,39,.30);
  transition: var(--transition);
  white-space: nowrap;
}
.sticky-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(197,155,39,.44);
}

/* ══════════════════════════════════
   EMF NOW — "AHORA MISMO, EN TU CASA"
══════════════════════════════════ */
.emf-now-section {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.emf-now-inner {
  position: relative;
  width: 100%;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
}

.emf-now-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 0;
}

.emf-now-overlay {
  position: relative;
  z-index: 2;
  width: 100%;
  background: linear-gradient(
    to top,
    rgba(10, 20, 35, 0.92) 0%,
    rgba(10, 20, 35, 0.55) 38%,
    rgba(10, 20, 35, 0.08) 70%,
    transparent 100%
  );
  padding: 32px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.emf-now-content {
  max-width: var(--page-max);
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.emf-now-eyebrow {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-light);
  opacity: .9;
}

.emf-now-headline {
  font-size: clamp(14px, 3.8vw, 18px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.3;
  letter-spacing: -.01em;
}

.emf-now-body {
  font-size: 11px;
  color: rgba(255,255,255,.70);
  line-height: 1.55;
  max-width: 420px;
}

.emf-now-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}

.emf-tag {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.80);
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 4px 9px;
  border-radius: var(--radius-pill);
  white-space: nowrap;
}

/* On wider screens, make the section taller */
@media (min-width: 600px) {
  .emf-now-inner {
    min-height: 420px;
  }
  .emf-now-overlay {
    padding: 44px 32px 26px;
  }
}

@media (min-width: 900px) {
  .emf-now-inner {
    min-height: 500px;
  }
  .emf-now-content {
    max-width: 600px;
  }
  .emf-now-headline {
    font-size: 22px;
  }
  .emf-now-body {
    font-size: 12px;
  }
}

/* ── Comparison card images — contain (no crop) ── */
.comp-card-img-wrap {
  width: 100%;
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 14px;
  background: rgba(0,0,0,.04);
}

.comp-card-img-wrap.comp-card-img-contain {
  background: #0a1220;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.comp-card-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  transition: transform .4s ease;
}

.comp-card-img-contain .comp-card-img {
  object-fit: contain;
  max-height: none;
}

.comp-card:hover .comp-card-img {
  transform: scale(1.02);
}

/* ══════════════════════════════════
   THERMAL EVIDENCE SECTION
══════════════════════════════════ */
.thermal-section {
  background: var(--navy-light);
  padding: 60px 0;
}

/* ══════════════════════════════════
   URGENCY BAR (below thermal evidence)
══════════════════════════════════ */
.urgency-bar-section {
  background: var(--navy-light);
  padding: 0 0 44px;
}
.urgency-bar-box {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  text-align: center;
}
.urgency-bar-quote {
  font-style: italic;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
  color: var(--white);
  margin-bottom: 10px;
}
.urgency-bar-sub {
  font-size: 12px;
  color: rgba(255,255,255,.6);
  margin-bottom: 16px;
}
.urgency-bar-trust {
  font-size: 11px;
  color: rgba(255,255,255,.5);
  margin-top: 12px;
}

.thermal-title {
  color: var(--white) !important;
}

.thermal-body {
  color: rgba(255,255,255,.65) !important;
  text-align: center;
  font-size: 13px;
  max-width: 380px;
  margin: 0 auto;
}

.thermal-quote {
  border-left: none;
  text-align: center;
  font-style: italic;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,.80);
  line-height: 1.6;
  padding: 18px 20px;
  margin: 16px 0 24px;
  background: rgba(255,255,255,.05);
  border-radius: var(--radius-md);
  border: 1px solid rgba(255,255,255,.08);
}

.thermal-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 28px;
}

.thermal-card {
  background: #0d1e30;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.thermal-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.thermal-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}

.thermal-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
}

.thermal-badge.danger {
  background: rgba(229, 62, 62, .15);
  color: #FC8181;
  border: 1px solid rgba(229, 62, 62, .3);
}

.thermal-badge.success {
  background: rgba(45, 138, 78, .18);
  color: #68D391;
  border: 1px solid rgba(45, 138, 78, .3);
}

.thermal-img-wrap {
  width: 100%;
  overflow: hidden;
  background: #000;
}

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

.thermal-card-foot {
  padding: 14px 16px;
}

.thermal-foot-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 6px;
  line-height: 1.4;
}

.thermal-foot-body {
  font-size: 12px;
  color: rgba(255,255,255,.60);
  line-height: 1.6;
}


/* ══════════════════════════════════
   AUTHORITY SECTION (Image 1)
══════════════════════════════════ */
.authority-section {
  background: var(--white);
  padding: 48px 0;
  border-top: 1px solid var(--border);
}
.authority-title {
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
  color: var(--navy);
}
.authority-photo-wrap {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.authority-photo-circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--gold);
  box-shadow: 0 4px 20px rgba(197,155,39,.3);
  background: var(--navy-mid);
  display: flex;
  align-items: center;
  justify-content: center;
}
.authority-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.authority-photo-rect-wrap {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.authority-photo-rect {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: var(--radius-md);
  border: 3px solid var(--gold);
  box-shadow: 0 4px 20px rgba(197,155,39,.3);
}
.authority-intro {
  font-size: 12.5px;
  color: var(--navy-mid);
  font-style: italic;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 600;
}
.authority-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.authority-card {
  background: var(--grey-light);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
}
.auth-card-icon {
  width: 34px;
  height: 34px;
  background: var(--navy);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.auth-svg {
  width: 18px;
  height: 18px;
  color: var(--gold-light);
}
.authority-card strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
}
.authority-card p {
  font-size: 12px;
  color: var(--grey-dark);
  line-height: 1.65;
}
.authority-quote {
  background: var(--grey-light);
  border-left: 4px solid var(--gold);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 18px 20px;
  margin-bottom: 24px;
}
.authority-quote blockquote p {
  font-size: 13px;
  font-style: italic;
  color: var(--text-dark);
  line-height: 1.75;
  margin-bottom: 12px;
}
.authority-cite {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.authority-cite strong {
  font-size: 14px;
  color: var(--navy);
}
.authority-cite span {
  font-size: 11px;
  color: var(--navy-mid);
  font-weight: 500;
  line-height: 1.5;
}
.authority-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 1fr;
  gap: 12px;
  margin-top: 8px;
}
.auth-benefit {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  text-align: left;
  padding: 14px;
  background: var(--grey-light);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}
.auth-benefit-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  background: var(--navy);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.auth-benefit-svg {
  width: 18px;
  height: 18px;
  color: var(--gold-light);
}
.auth-benefit span {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.4;
}

/* ══════════════════════════════════
   THREAT SECTION (int9.png)
══════════════════════════════════ */
.threat-section {
  background: var(--white);
  padding: 40px 0;
  border-top: 1px solid var(--border);
}
.threat-img-wrap {
  margin: 20px 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.threat-img {
  width: 100%;
  display: block;
  border-radius: var(--radius-lg);
}

/* ══════════════════════════════════
   6 BODY SYSTEMS SECTION
══════════════════════════════════ */
.systems-section {
  background: var(--off-white);
  padding: 48px 0;
  border-top: 1px solid var(--border);
}
.systems-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 20px;
}
.system-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 18px 16px;
  box-shadow: var(--shadow-sm);
}
.system-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.system-icon-wrap {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: var(--navy);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(15,30,41,.2);
}
.system-svg {
  width: 22px;
  height: 22px;
  color: var(--gold-light);
}
.system-num {
  display: block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 3px;
}
.system-header h3 {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.3;
}
.system-card > p {
  font-size: 12.5px;
  color: var(--grey-dark);
  line-height: 1.7;
  font-style: italic;
  margin-bottom: 12px;
  border-left: 3px solid var(--gold);
  padding-left: 12px;
}
.system-bullets {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.system-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12.5px;
  color: var(--text-body);
  line-height: 1.5;
}
.system-bullets .chk-inline {
  width: 13px;
  height: 13px;
  color: var(--success);
  flex-shrink: 0;
  margin-top: 2px;
}

/* ══════════════════════════════════
   GUARANTEE — 90 DAYS (Image 2)
══════════════════════════════════ */
.guarantee-section {
  background: var(--bg-light);
  padding: 48px 0;
  border-top: 1px solid var(--border);
}
.guarantee-box {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px 20px;
  box-shadow: var(--shadow-md);
}
.guarantee-badge-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.guarantee-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.guarantee-shield-svg {
  width: 52px;
  height: 52px;
  color: var(--navy-mid);
  margin-bottom: 4px;
}
.g-num {
  font-size: 52px;
  font-weight: 900;
  color: var(--navy);
  line-height: 1;
}
.g-days {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--grey-dark);
  text-align: center;
  line-height: 1.5;
}
.guarantee-text h3 {
  font-size: 22px;
  font-weight: 900;
  color: var(--navy);
  margin-bottom: 4px;
}
.g-subtitle {
  display: block;
  font-size: 16px;
  font-style: italic;
  color: var(--navy-mid);
  margin-bottom: 16px;
}
.guarantee-text p {
  font-size: 13px;
  color: var(--grey-dark);
  line-height: 1.75;
  margin-bottom: 16px;
}
.g-simple-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--grey-light);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px;
  margin-bottom: 16px;
}
.g-simple-box strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}
.g-simple-box p {
  font-size: 12px;
  color: var(--grey-dark);
  line-height: 1.6;
  margin-bottom: 0;
}
.g-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-bottom: 16px;
}
.g-points span {
  font-size: 12px;
  font-weight: 600;
  color: var(--navy-mid);
  display: flex;
  align-items: center;
  gap: 4px;
}
.g-point-item {
  display: inline-flex !important;
  align-items: center;
  gap: 6px !important;
  background: rgba(197,155,39,.08);
  border: 1px solid rgba(197,155,39,.35);
  border-radius: 999px;
  padding: 5px 12px 5px 8px;
  color: var(--navy) !important;
}
.g-point-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  display: inline-block;
}
.g-less2 {
  font-size: 12px;
  color: var(--grey-dark);
  margin-bottom: 18px;
  line-height: 1.6;
}
.g-less2 em { font-style: italic; color: var(--navy-mid); font-size: 11.5px; }
.g-cta {
  display: flex;
  width: 100%;
  margin-bottom: 10px;
}
.g-trust-line {
  font-size: 11px;
  color: var(--grey-mid);
  text-align: center;
  margin-bottom: 14px;
}
.g-offer-banner {
  background: rgba(197,155,39,.1);
  border: 1px solid rgba(197,155,39,.3);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--navy);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.g-final-quote {
  font-style: italic;
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  text-align: center;
  line-height: 1.55;
  margin-bottom: 16px;
  padding: 0 8px;
}
.btn-outline-cta {
  display: flex;
  width: 100%;
  padding: 12px 20px;
  background: transparent;
  border: 2px solid var(--navy-mid);
  color: var(--navy);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  text-align: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: var(--transition);
}
.btn-outline-cta:hover {
  background: var(--navy);
  color: var(--white);
}

/* ══════════════════════════════════
   PKG LOCAL PRICE
══════════════════════════════════ */
.pkg-local {
  display: block;
  font-size: 11px;
  color: var(--navy-mid);
  font-weight: 600;
  margin-top: 2px;
}
.pkg-currency-notice {
  background: rgba(197,155,39,.08);
  border: 1px solid rgba(197,155,39,.25);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-size: 11.5px;
  color: var(--grey-dark);
  margin: 12px 0;
  text-align: center;
  line-height: 1.5;
}
.price-local-ref {
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--navy-mid);
  margin-bottom: 8px;
}
.price-direct-crc {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
}

/* ══════════════════════════════════
   CART DRAWER
══════════════════════════════════ */
.cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 800;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
.cart-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.cart-drawer {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: min(100%, 420px);
  background: var(--white);
  z-index: 900;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 40px rgba(0,0,0,.18);
}
.cart-drawer.open {
  transform: translateX(0);
}
.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid var(--border);
  background: var(--off-white);
}
.cart-header h3 {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
}
.cart-close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--grey-light);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  color: var(--navy);
}
.cart-close:hover { background: var(--border); }
.cart-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
}
.cart-item-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}
.cart-item-img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--radius-md);
  flex-shrink: 0;
  border: 1px solid var(--border);
}
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}
.cart-item-price {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy-mid);
}
.cart-item-local {
  font-size: 11.5px;
  color: var(--grey-mid);
  margin-top: 2px;
}
.cart-item-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--grey-mid);
  padding: 4px;
  border-radius: 4px;
  transition: var(--transition);
}
.cart-item-remove:hover { color: var(--danger); background: var(--danger-bg); }
.cart-footer {
  padding: 16px 20px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--border);
  background: var(--off-white);
}
.cart-subtotal-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 10px;
}
.cart-subtotal-wrap > span:first-child {
  font-size: 13px;
  font-weight: 600;
  color: var(--grey-dark);
}
.cart-subtotal-amounts {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.cart-subtotal-usd {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
}
.cart-subtotal-local {
  font-size: 11.5px;
  color: var(--grey-mid);
}
.cart-currency-notice, .cart-currency-notice-bottom {
  font-size: 10.5px;
  color: var(--grey-mid);
  text-align: center;
  line-height: 1.5;
  margin-bottom: 10px;
  padding: 8px 10px;
  background: rgba(197,155,39,.07);
  border: 1px solid rgba(197,155,39,.2);
  border-radius: var(--radius-sm);
}
.cart-currency-notice-bottom { margin-top: 8px; margin-bottom: 0; }
.cart-checkout-btn {
  display: flex;
  width: 100%;
  margin-bottom: 8px;
  font-size: 14px;
}
.cart-change-pkg {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--navy-mid);
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  transition: var(--transition);
  text-decoration: underline;
}
.cart-change-pkg:hover { color: var(--navy); }

/* ══════════════════════════════════
   REVIEW AVATAR — full image
══════════════════════════════════ */
.rev-avatar-photo .avatar-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* ══════════════════════════════════
   GUARANTEE TEXT (Inline)
══════════════════════════════════ */
.guarantee-section .chk-inline.gold {
  color: var(--gold-light);
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* ── Authority photo (rectangular, not circle) ── */
.authority-photo-rect-wrap {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.authority-photo-rect {
  width: 160px;
  height: 200px;
  object-fit: cover;
  object-position: center top;
  border-radius: var(--radius-lg);
  border: 3px solid var(--gold);
  box-shadow: 0 6px 24px rgba(197,155,39,.25);
  display: block;
}

/* ── Review full images (no circle) ── */
.rev-img-full-wrap {
  width: 100%;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  overflow: hidden;
  line-height: 0;
}
.rev-img-full {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.rev-content {
  padding: 14px 16px;
}
.rev-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.rev-header-row strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 3px;
}
.rev-header-row .verified-badge {
  flex-shrink: 0;
  font-size: 10px;
  margin-top: 4px;
}

/* ── Guarantee: side-by-side layout (badge left, text right) ── */
.guarantee-box-inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.guarantee-badge-col {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 4px;
}
.guarantee-badge-circle {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: var(--navy);
  border: 3px solid var(--gold);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(197,155,39,.25);
  gap: 0;
}
.guarantee-badge-circle .guarantee-shield-svg {
  width: 18px;
  height: 18px;
  color: var(--gold-light);
  margin-bottom: -2px;
}
.guarantee-badge-circle .g-num {
  font-size: 28px;
  font-weight: 900;
  color: var(--white);
  line-height: 1;
}
.guarantee-badge-circle .g-days {
  font-size: 7px;
  font-weight: 800;
  color: var(--gold-light);
  text-align: center;
  line-height: 1.3;
  letter-spacing: .06em;
}
/* Guarantee points — distinct dot bullets (not check icons) */
.g-points {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.g-point-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--navy-mid);
}
.g-point-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 50%;
  background: var(--gold);
  display: inline-block;
}

/* ══════════════════════════════════
   PHOTO REVIEWS GRID
══════════════════════════════════ */
.photo-reviews-section {
  background: var(--off-white);
  padding: 48px 0 40px;
}
.photo-reviews-section .section-title em {
  font-style: italic;
  background: var(--gold-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.photo-reviews-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}
@media (min-width: 640px) {
  .photo-reviews-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}
.photo-rev-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.photo-rev-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,0,0,.11);
}
.photo-rev-img-wrap {
  width: 100%;
  height: 180px;
  overflow: hidden;
  background: var(--bg-light);
  line-height: 0;
}
.photo-rev-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.photo-rev-body {
  padding: 14px 16px 16px;
}
.photo-rev-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}
.photo-rev-top strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
}
.photo-rev-stars {
  display: flex;
  gap: 1px;
}
.photo-rev-body .verified-badge {
  display: inline-flex;
  margin-bottom: 8px;
  font-size: 10px;
}
.photo-rev-body p {
  font-size: 12.5px;
  color: var(--text-body);
  line-height: 1.7;
  margin: 0;
}
.photo-rev-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}
.btn-show-more {
  background: transparent;
  border: 2px solid var(--gold);
  color: var(--gold);
  font-size: 13px;
  font-weight: 700;
  padding: 10px 28px;
  border-radius: var(--radius-pill);
  cursor: default;
  letter-spacing: .04em;
  font-family: inherit;
  transition: background .2s, color .2s;
}
.btn-show-more:hover {
  background: var(--gold);
  color: var(--navy);
}

/* ══════════════════════════════════
   SOCIAL SECTION — La gente está hablando
══════════════════════════════════ */
.social-section {
  background: var(--navy);
  padding: 48px 0 44px;
}
.social-title { color: var(--white); }
.social-em {
  font-style: italic;
  background: var(--gold-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}
.social-body {
  color: rgba(255,255,255,.65);
  text-align: center;
  margin-bottom: 28px;
}
.social-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (min-width: 640px) {
  .social-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
}
.social-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
  padding: 16px;
}
.social-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.social-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy);
  font-weight: 900;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.social-user-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.social-user-info strong {
  font-size: 13px;
  color: var(--white);
  font-weight: 700;
}
.social-platform {
  font-size: 10px;
  color: rgba(255,255,255,.4);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.social-text {
  font-size: 12.5px;
  color: rgba(255,255,255,.82);
  line-height: 1.7;
  margin: 0 0 10px;
}
.social-likes {
  font-size: 11px;
  color: rgba(255,255,255,.45);
  margin-bottom: 10px;
}
.social-likes strong {
  color: rgba(255,255,255,.75);
}
.social-reply {
  display: flex;
  gap: 8px;
  background: rgba(197,155,39,.1);
  border-left: 2px solid var(--gold);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 10px 12px;
  margin-top: 6px;
}
.social-reply-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy);
  font-weight: 900;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.social-reply-body {
  flex: 1;
}
.social-reply-name {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold-light);
  margin-bottom: 3px;
}
.social-verified {
  background: var(--gold);
  color: var(--navy);
  border-radius: 50%;
  padding: 0 3px;
  font-size: 9px;
  font-weight: 900;
}
.social-reply-body p {
  font-size: 11.5px;
  color: rgba(255,255,255,.65);
  line-height: 1.6;
  margin: 0;
}

/* ══════════════════════════════════
   BRAIN SECTION — CÓMO FUNCIONA REALMENTE
══════════════════════════════════ */
.brain-section {
  background: linear-gradient(160deg, #0F1E29 0%, #0a1520 100%);
  padding: 52px 0 48px;
}
.brain-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 680px) {
  .brain-container {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
/* Left column */
.brain-text-col { color: var(--white); }
.brain-text-col .section-chip { color: var(--gold-light); opacity: .75; }
.brain-title {
  font-size: 26px;
  font-weight: 900;
  color: var(--white);
  line-height: 1.2;
  margin: 8px 0 12px;
}
.brain-em {
  font-style: italic;
  background: var(--gold-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.brain-intro {
  font-size: 13.5px;
  color: rgba(255,255,255,.7);
  margin: 0 0 14px;
}
.brain-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.brain-bullets li {
  font-size: 13px;
  color: rgba(255,255,255,.82);
  padding-left: 18px;
  position: relative;
  line-height: 1.55;
}
.brain-bullets li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}
.gold-text {
  color: var(--gold-light);
  font-weight: 700;
}
.brain-quote {
  border-left: 3px solid var(--gold);
  padding: 8px 14px;
  margin: 0 0 16px;
  font-size: 12.5px;
  font-style: italic;
  color: rgba(255,255,255,.65);
  line-height: 1.6;
}
.brain-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.brain-tag {
  background: rgba(197,155,39,.12);
  border: 1px solid rgba(197,155,39,.3);
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
}
.brain-link {
  display: inline-block;
  font-size: 11.5px;
  color: rgba(255,255,255,.45);
  text-decoration: underline;
  margin-bottom: 24px;
  transition: color .2s;
}
.brain-link:hover { color: var(--gold-light); }
/* Urgency block inside brain section */
.brain-urgency {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(197,155,39,.2);
  border-radius: var(--radius-lg);
  padding: 18px;
  margin-top: 4px;
}
.brain-urgency-quote {
  font-size: 13px;
  font-weight: 700;
  font-style: italic;
  color: var(--white);
  margin: 0 0 8px;
  line-height: 1.5;
}
.brain-urgency-sub {
  font-size: 12px;
  color: rgba(255,255,255,.6);
  margin: 0 0 14px;
}
.brain-cta { display: block; margin-bottom: 10px; }
.brain-urgency-trust {
  font-size: 10.5px;
  color: rgba(255,255,255,.35);
  text-align: center;
  margin: 0;
}
/* Right column: brain image */
.brain-img-col {
  position: sticky;
  top: 20px;
}
.brain-img-wrap {
  background: #000;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(197,155,39,.15);
  box-shadow: 0 8px 40px rgba(0,0,0,.5);
}
.brain-img {
  width: 100%;
  display: block;
}
.brain-img-caption {
  font-size: 10px;
  color: rgba(255,255,255,.35);
  text-align: center;
  padding: 8px 12px;
  margin: 0;
  background: rgba(0,0,0,.4);
}

/* ══════════════════════════════════
   SOCIAL SECTION — Profile pics update
══════════════════════════════════ */
.social-profile-pic {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(197,155,39,.3);
  flex-shrink: 0;
}
.social-reply-pic {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(197,155,39,.2);
  flex-shrink: 0;
}
.social-reply-avatar-text {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy);
  font-weight: 900;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.social-nested {
  margin-top: 8px;
  margin-left: 12px;
  border-left: 2px solid rgba(255,255,255,.08);
  padding-left: 12px;
  background: transparent;
  border-radius: 0;
}
.social-likes-inline {
  font-size: 10.5px;
  color: rgba(255,255,255,.35);
  display: block;
  margin-top: 4px;
}
/* Verified badge - premium style */
.verified-badge-social {
  display: inline-flex;
  align-items: center;
  background: var(--gold);
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: var(--radius-pill);
  letter-spacing: .03em;
  margin-left: 4px;
  vertical-align: middle;
}

/* ══════════════════════════════════
   UNIFIED REVIEWS GRID
══════════════════════════════════ */
.unified-reviews-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}
@media (max-width: 520px) {
  .unified-reviews-grid { grid-template-columns: 1fr; }
}
.unified-rev-card {
  background: var(--white);
  border-radius: var(--radius-md);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.urev-img-wrap {
  width: 100%;
  height: 130px;
  background: #f5f5f5;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.urev-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
.urev-body {
  padding: 10px 12px 12px;
  flex: 1;
}
.urev-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 6px;
}
.urev-top strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  margin-right: 4px;
}
.urev-stars-row {
  display: flex;
  gap: 1px;
}
.urev-body p {
  font-size: 12px;
  color: var(--text-body);
  line-height: 1.65;
  margin: 0;
}
.urev-text-only {
  background: var(--bg-light);
}
.urev-text-only .urev-body {
  padding: 14px;
}

/* Guarantee mobile fix */
.guarantee-box {
  overflow: hidden;
}
.guarantee-box-inner {
  min-width: 0;
}
.guarantee-text {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
.g-cta {
  width: 100%;
  box-sizing: border-box;
  display: block;
}

/* ══════════════════════════════════
   UNIFIED REVIEWS — equal card height desktop & mobile
══════════════════════════════════ */
.unified-reviews-grid {
  align-items: start; /* cards don't stretch to fill row */
}
.unified-rev-card {
  height: auto;          /* no forced tall height */
}
.urev-img-wrap {
  height: 110px;         /* smaller, consistent */
}
.urev-body p {
  display: -webkit-box;
  -webkit-line-clamp: 4; /* max 4 lines of text */
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 11.5px;
}
.urev-text-only .urev-body p {
  -webkit-line-clamp: 5;
}

/* ══════════════════════════════════
   SOLARA-STYLE REVIEWS GRID
   2 columns, image on top, full text
══════════════════════════════════ */
.solara-reviews-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 20px;
  align-items: start;
}
@media (max-width: 480px) {
  .solara-reviews-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}
.solara-rev-card {
  background: var(--white);
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.07);
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.solara-rev-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f0f0f0;
  flex-shrink: 0;
}
.solara-rev-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.solara-rev-body {
  padding: 10px 11px 13px;
}
.solara-rev-name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 4px;
}
.solara-rev-name-row strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
}
.verified-badge-sol {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 10px;
  font-weight: 600;
  color: #2a7a3b;
}
.verified-badge-sol .chk-inline {
  width: 11px;
  height: 11px;
  fill: #2a7a3b;
}
.solara-rev-stars {
  display: flex;
  gap: 1px;
  margin-bottom: 6px;
}
.solara-rev-body p {
  font-size: 11.5px;
  color: #444;
  line-height: 1.65;
  margin: 0;
}
/* No-image card */
.solara-no-img {
  background: #fafaf8;
}
.solara-no-img .solara-rev-body {
  padding: 14px 12px;
}

/* inti.field logo as circular avatar in social replies */
.inti-logo-pic {
  object-fit: cover;
  object-position: center;
  background: #0a1520;
}

/* ══════════════════════════════════
   LOCAL PRICE / FX STYLES
══════════════════════════════════ */
.pkg-local-price {
  display: block;
  font-size: 11.5px;
  color: #2c7a40;
  font-weight: 600;
  margin-top: 2px;
}
.pkg-per-unit {
  display: block;
  font-size: 11px;
  color: #6b7280;
  font-weight: 500;
  margin-top: 2px;
}
.fx-disclaimer {
  text-align: center;
  font-size: 11px;
  color: #7a6a2a;
  background: #fffbe6;
  border: 1px solid #e8d87a;
  border-radius: 8px;
  padding: 10px 14px;
  margin: 14px 0 0;
  line-height: 1.5;
}
.cart-subtotal-local {
  display: block;
  font-size: 12px;
  color: #2c7a40;
  font-weight: 600;
  margin-top: 2px;
}
.cart-fx-disclaimer {
  font-size: 11px;
  color: #7a6a2a;
  background: #fffbe6;
  border: 1px solid #e8d87a;
  border-radius: 8px;
  padding: 10px 12px;
  margin: 10px 0 12px;
  line-height: 1.5;
  text-align: center;
}
.cart-local-price {
  font-size: 11px;
  color: #2c7a40;
  font-weight: 600;
  margin-top: 2px;
}

/* ── Free gift row in cart ── */
.cart-gift-row {
  border: 1px dashed var(--gold);
  border-radius: 10px;
  background: rgba(197,155,39,.06);
  margin-top: 10px;
  padding: 8px 10px;
}
.cart-gift-img {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover;
  border-radius: 8px;
}
.cart-gift-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 800;
  background: var(--gold);
  color: var(--navy);
  border-radius: 4px;
  padding: 1px 5px;
  margin-left: 4px;
  vertical-align: middle;
  letter-spacing: .04em;
}
.cart-gift-price {
  color: var(--gold) !important;
  font-weight: 700;
}
.cart-discount-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 800;
  background: rgba(44,122,64,.15);
  color: #2c7a40;
  border-radius: 4px;
  padding: 1px 5px;
  margin-left: 4px;
  vertical-align: middle;
}

/* ── Llavero free gift badge on package card ── */
.pkg-free-gift {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  background: rgba(197,155,39,.1);
  border: 1px solid rgba(197,155,39,.25);
  border-radius: 20px;
  padding: 4px 12px;
  margin: 0 0 8px 0;
}

/* ── Sticky bar local price ── */
.sticky-local-price {
  display: block;
  font-size: 10px;
  color: #2c7a40;
  font-weight: 600;
}

/* ── Cart qty controls ── */
.cart-qty-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 5px 0 4px;
}
.cart-qty-btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  background: transparent;
  color: var(--gold);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background .15s, color .15s;
}
.cart-qty-btn:hover {
  background: var(--gold);
  color: var(--navy);
}
.cart-qty-num {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  min-width: 18px;
  text-align: center;
}

/* ══════════════════════════════════
   ENVIO PAGE — Llavero combo in pkg card
══════════════════════════════════ */
.pkg-body {
  flex-wrap: wrap;
  align-items: center;
}
.pkg-llavero-combo {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 6px;
  flex-shrink: 0;
}
.pkg-llavero-plus {
  font-size: 20px;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.pkg-llavero-thumb-wrap {
  position: relative;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.pkg-llavero-thumb {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  object-fit: cover;
  border: 1.5px solid var(--gold);
  background: var(--navy);
}
.pkg-llavero-badge {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gold);
  color: var(--navy);
  font-size: 7px;
  font-weight: 900;
  border-radius: 4px;
  padding: 1px 4px;
  white-space: nowrap;
  letter-spacing: .04em;
}

/* Hero local price */
.hero-local-price {
  display: block;
  font-size: 13px;
  color: #2c7a40;
  font-weight: 700;
  text-align: center;
  margin-top: 2px;
}

/* FX disclaimer larger version */
.fx-disclaimer-lg {
  font-size: 13px !important;
  padding: 12px 16px !important;
}
.cart-fx-disclaimer-lg {
  font-size: 12px !important;
  padding: 12px 14px !important;
}

/* Cart upsell */
.cart-upsell {
  border-top: 1px solid #eee;
  padding: 14px 16px 12px;
  background: #fafaf8;
}
.cart-upsell-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 10px;
}
.cart-upsell-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cart-upsell-img {
  width: 54px;
  height: 54px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid var(--gold);
  background: var(--navy);
  flex-shrink: 0;
}
.cart-upsell-info {
  flex: 1;
  min-width: 0;
}
.cart-upsell-name {
  font-size: 13px;
  font-weight: 800;
  color: var(--navy);
}
.cart-upsell-desc {
  font-size: 10.5px;
  color: #888;
  margin: 1px 0 3px;
}
.cart-upsell-price {
  font-size: 14px;
  font-weight: 900;
  color: var(--navy);
}
.cart-upsell-old {
  font-size: 11px;
  color: #aaa;
  text-decoration: line-through;
  font-weight: 400;
  margin-left: 4px;
}
.cart-upsell-local {
  display: block;
  font-size: 10.5px;
  color: #2c7a40;
  font-weight: 600;
  margin-top: 1px;
}
.cart-upsell-btn {
  background: var(--navy);
  color: var(--gold);
  border: 1.5px solid var(--gold);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s, color .15s;
}
.cart-upsell-btn:hover {
  background: var(--gold);
  color: var(--navy);
}

/* ── Cart trust badges row ── */
.cart-trust-row {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 0 0;
  margin-top: 4px;
}
.cart-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  color: #444;
  background: #f4f4f0;
  border: 1px solid #e0e0d8;
  border-radius: 20px;
  padding: 5px 11px;
  white-space: nowrap;
}

/* ══ Llavero gift rows inside pkg-card (like reference image) ══ */
.envio-gift-section {
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, rgba(197,155,39,.1) 0%, rgba(10,21,32,.06) 100%);
  border-top: 1px solid rgba(197,155,39,.25);
  padding: 10px 14px;
  margin: 0 -14px;
}
.pkg-card .envio-gift-section:first-of-type {
  margin-top: 8px;
}
.envio-gift-img {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  object-fit: cover;
  border: 1.5px solid rgba(197,155,39,.5);
  background: var(--navy);
  flex-shrink: 0;
}
.envio-gift-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.envio-gift-label {
  font-size: 11px;
  font-weight: 900;
  color: var(--gold);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.envio-gift-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--navy);
  margin-top: 1px;
}
.envio-gift-value {
  font-size: 11px;
  font-weight: 800;
  color: #2c7a40;
  background: rgba(44,122,64,.1);
  border-radius: 6px;
  padding: 3px 8px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ══ Local reference price — shows below any USD price ══ */
.envio-local-ref {
  display: block;
  font-size: 11.5px;
  color: #2c7a40;
  font-weight: 600;
  margin-top: 2px;
  line-height: 1.3;
}
span.envio-local-ref { display: inline-block; }

/* ══ Gift section inline layout ══ */
.envio-gift-info { flex: 1; display: flex; align-items: center; }
.envio-gift-inline { font-size: 12.5px; font-weight: 600; color: var(--navy, #0a1520); line-height: 1.3; }
.envio-gift-qty { font-weight: 900; color: #0a1520; margin-right: 4px; }

/* ══ Single CTA below all cards ══ */
.envio-single-cta-wrap {
  display: flex;
  justify-content: center;
  margin: 20px 0 10px;
}
.envio-cta-btn {
  background: linear-gradient(135deg, #C59B27 0%, #e8b84b 100%);
  color: #0a1520;
  font-weight: 900;
  font-size: 17px;
  padding: 16px 48px;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  letter-spacing: .03em;
  box-shadow: 0 6px 24px rgba(197,155,39,.35);
  transition: transform .2s, box-shadow .2s;
  width: 100%;
  max-width: 420px;
}
.envio-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(197,155,39,.45); }

/* ══ Card button wrapper (full-width at bottom of card) ══ */
.envio-card-btn-wrap {
  padding: 10px 0 2px;
  width: 100%;
}
.envio-card-btn-wrap .btn-pkg {
  width: 100%;
  border-radius: 12px;
  font-size: 14px;
  padding: 13px 0;
}

/* ══ Llavero name label below pkg-body ══ */
.envio-llavero-label {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--navy, #0a1520);
  margin: 4px 0 0;
  opacity: .75;
}

/* ══ Llavero section: thumb + label stacked vertically ══ */
.envio-llavero-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.envio-llavero-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--navy, #0a1520);
  text-align: center;
  line-height: 1.2;
  max-width: 64px;
}

/* ── Package body with llavero combo layout ── */
.envio-pkg-body-new {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.envio-llavero-combo {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.envio-llavero-plus {
  font-size: 20px;
  font-weight: 900;
  color: #C59B27;
  line-height: 1;
}
.envio-llavero-thumb-wrap {
  position: relative;
  width: 52px;
  flex-shrink: 0;
}
.envio-llavero-thumb {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  object-fit: cover;
  border: 1.5px solid #C59B27;
  background: #0a1520;
  display: block;
}
.envio-llavero-badge {
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  background: #C59B27;
  color: #0a1520;
  font-size: 7.5px;
  font-weight: 900;
  border-radius: 4px;
  padding: 2px 5px;
  white-space: nowrap;
  letter-spacing: .04em;
}
.envio-llavero-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #0a1520;
  color: #C59B27;
  font-size: 9px;
  font-weight: 900;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid #C59B27;
  line-height: 1;
  letter-spacing: -0.03em;
}

/* ── Cart Upsell Block ── */
#cart-upsell-block {
  margin: 12px 0 4px;
  border-radius: 12px;
  overflow: hidden;
  border: 1.5px solid #fda4af;
  background: #fff;
  box-shadow: 0 2px 8px rgba(251,113,133,0.10);
}
.cart-upsell-inner {
  padding: 10px 12px 12px;
}
.cart-upsell-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
}
.cart-upsell-tag {
  font-size: 10px;
  font-weight: 800;
  color: #dc2626;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  animation: upsell-pulse 1.2s ease-in-out infinite;
}
@keyframes upsell-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.6; }
}
.cart-upsell-timer {
  font-size: 13px;
  font-weight: 800;
  color: #dc2626;
  font-variant-numeric: tabular-nums;
  background: #fee2e2;
  border-radius: 6px;
  padding: 2px 8px;
  letter-spacing: 0.04em;
}
.cart-upsell-bar-wrap {
  margin-bottom: 10px;
  border-radius: 99px;
  background: #fce7f3;
  height: 7px;
  overflow: hidden;
}
.cart-upsell-bar {
  display: flex;
  height: 100%;
  width: 100%;
}
.cart-upsell-bar-red {
  background: #dc2626;
  height: 100%;
  border-radius: 99px 0 0 99px;
  transition: width 1s linear;
}
.cart-upsell-bar-pink {
  background: #fbcfe8;
  height: 100%;
  transition: width 1s linear;
}
.cart-upsell-content {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cart-upsell-img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #f3f4f6;
  flex-shrink: 0;
}
.cart-upsell-info {
  flex: 1;
  min-width: 0;
}
.cart-upsell-name {
  font-size: 12px;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
}
.cart-upsell-price {
  font-size: 13px;
  color: #111827;
  margin-top: 2px;
}
.cart-upsell-btn {
  background: #dc2626;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.15s;
}
.cart-upsell-btn:hover {
  background: #b91c1c;
  transform: scale(1.04);
}
.cart-upsell-added {
  margin: 10px 0 0;
  padding: 8px 12px;
  background: #dcfce7;
  border: 1px solid #86efac;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #15803d;
  text-align: center;
}
