/** Shopify CDN: Minification failed

Line 2301:8 Unexpected "*"

**/
/* START_SECTION:seccion1-test (INDEX:0) */
/* ══════════════════════════════════════
   AMNESS CORE+ — Product Section CSS
   Mobile-first, zero deps
══════════════════════════════════════ */

/* ── Reset & Base ── */
.acp *, .acp *::before, .acp *::after { box-sizing: border-box; margin: 0; padding: 0; }

.acp {
  background: var(--acp-bg, #F4EFE6);
  color: var(--acp-text, #111111);
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  padding: 24px 16px 80px;
  -webkit-font-smoothing: antialiased;
}

/* ── Layout ── */
.acp__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  max-width: 1160px;
  margin: 0 auto;
}

/* ══════════════════════
   GALERÍA
══════════════════════ */
.acp__gallery {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.acp__main-wrap {
  position: relative;
  background: #0a0a08;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12);
  width: 100%;
  /* Contenedor fijo 1:1 — todas las imágenes mismo tamaño */
  aspect-ratio: 1 / 1;
}

.acp__main-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: opacity .22s ease;
  /* contain: imagen completa visible, sin recorte, fondo negro rellena */
  object-fit: contain;
  object-position: center;
  background: #0a0a08;
}

.acp__main-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #0f0f0d;
  gap: 12px;
}

.acp__placeholder-text {
  font-size: 12px;
  color: rgba(0,0,0,.35);
  text-align: center;
  line-height: 1.6;
  font-family: var(--acp-font-body);
}

.acp__img-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 5px 12px;
  border-radius: 20px;
}

/* Thumbs */
.acp__thumbs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.acp__thumb {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  border: 2.5px solid transparent;
  cursor: pointer;
  background: #0a0a08;
  padding: 0;
  transition: border-color .18s;
  box-shadow: 0 1px 6px rgba(0,0,0,0.1);
  flex-shrink: 0;
  position: relative;
  /* Mismo ratio que imagen principal */
  aspect-ratio: 1 / 1;
}

.acp__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* contain: imagen completa, sin recorte, fondo negro */
  object-fit: contain;
  object-position: center;
  display: block;
  background: #0a0a08;
}

.acp__thumb-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: var(--acp-muted);
  background: #f0ece4;
}

.acp__thumb--active,
.acp__thumb:hover {
  border-color: var(--acp-amber, #D4820A);
}

/* ══════════════════════
   INFO / RIGHT COL
══════════════════════ */
.acp__info {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Top badges */
.acp__top-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.acp__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 13px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  line-height: 1;
}

.acp__badge--star {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
}

.acp__badge--brand {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}

/* Title */
.acp__title {
  font-size: clamp(26px, 6vw, 44px);
  font-weight: 800;
  line-height: 1.08;
  color: var(--acp-black, #0D0D0D);
  letter-spacing: -.5px;
  margin-bottom: 8px;
}

/* Subtitle */
.acp__subtitle {
  font-size: 15px;
  color: var(--acp-muted, #5F5F5F);
  line-height: 1.6;
  margin-bottom: 14px;
  font-weight: 400;
}

/* Rating */
.acp__rating {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.acp__stars { color: #f59e0b; font-size: 16px; letter-spacing: 1px; }
.acp__rating-score { font-weight: 800; font-size: 15px; color: var(--acp-black); }
.acp__rating-sep { color: var(--acp-muted); }
.acp__rating-count { font-size: 13px; color: var(--acp-muted); }

/* Short desc */
.acp__short-desc {
  font-size: 14px;
  line-height: 1.7;
  color: #444;
  margin-bottom: 18px;
  font-weight: 300;
}

/* Bullets */
.acp__bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-bottom: 24px;
}

.acp__bullet {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #333;
  line-height: 1.5;
}

.acp__bullet-check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--acp-green, #16A34A);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ══════════════════════
   PACK SELECTOR
══════════════════════ */
.acp__packs { margin-bottom: 22px; }

.acp__packs-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--acp-muted);
  margin-bottom: 10px;
}

.acp__pack {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px;
  border: 2px solid var(--acp-border, #E4DED2);
  border-radius: 14px;
  background: var(--acp-card, #fff);
  cursor: pointer;
  margin-bottom: 10px;
  transition: border-color .2s, background .2s, box-shadow .2s;
  position: relative;
  user-select: none;
}

.acp__pack:hover {
  border-color: var(--acp-amber);
  box-shadow: 0 2px 12px rgba(212,130,10,.1);
}

.acp__pack--active,
.acp__pack:has(.acp__pack-input:checked) {
  border-color: var(--acp-amber, #D4820A);
  background: #fffbf4;
  box-shadow: 0 0 0 3px rgba(212,130,10,.12);
}

.acp__pack-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* Custom radio */
.acp__pack-radio {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  flex-shrink: 0;
  transition: border-color .18s, box-shadow .18s;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.acp__pack--active .acp__pack-radio,
.acp__pack:has(.acp__pack-input:checked) .acp__pack-radio {
  border-color: var(--acp-amber);
  box-shadow: inset 0 0 0 5px var(--acp-amber);
}

/* Pack image */
.acp__pack-img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
  background: #f0ece4;
}

.acp__pack-img-ph {
  width: 60px;
  height: 60px;
  background: #f0ece4;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}

/* Pack body */
.acp__pack-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
}

.acp__pack-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--acp-black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.acp__pack-save {
  font-size: 12px;
  color: var(--acp-green);
  font-weight: 600;
}

/* Pack pricing */
.acp__pack-prices {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex-shrink: 0;
}

.acp__pack-price {
  font-size: 20px;
  font-weight: 800;
  color: var(--acp-black);
  line-height: 1;
}

.acp__pack-compare {
  font-size: 12px;
  color: var(--acp-muted);
  text-decoration: line-through;
}

/* Most sold badge */
.acp__pack-hot {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--acp-green, #16A34A);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 4px 11px;
  border-radius: 0 12px 0 12px;
  pointer-events: none;
}

/* ══════════════════════
   PRECIO PRINCIPAL
══════════════════════ */
.acp__price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.acp__price-main {
  font-size: 48px;
  font-weight: 900;
  color: var(--acp-black);
  line-height: 1;
  letter-spacing: -1.5px;
}

.acp__price-compare {
  font-size: 20px;
  color: var(--acp-muted);
  text-decoration: line-through;
  font-weight: 400;
}

.acp__price-save {
  background: var(--acp-green, #16A34A);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
}

/* ══════════════════════
   URGENCIA STOCK
══════════════════════ */
.acp__urgency {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 14px;
}

.acp__urgency-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  gap: 8px;
  flex-wrap: wrap;
}

.acp__urgency-text {
  font-size: 13px;
  font-weight: 700;
  color: #92400e;
}

.acp__urgency-restock {
  font-size: 12px;
  color: var(--acp-amber);
  font-weight: 600;
}

.acp__stock-bar {
  height: 6px;
  background: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
}

.acp__stock-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--acp-amber, #D4820A), #f0a830);
  border-radius: 3px;
}

/* ══════════════════════
   DELIVERY TIMELINE
══════════════════════ */
.acp__delivery {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  margin-bottom: 18px;
}

/* Línea conectora entre iconos */
.acp__delivery::before {
  content: '';
  position: absolute;
  top: 34px;
  left: calc(16.5% + 18px);
  right: calc(16.5% + 18px);
  height: 2px;
  background: #bbf7d0;
}

.acp__delivery-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  position: relative;
  z-index: 1;
}

.acp__delivery-icon-wrap {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #16a34a;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.acp__delivery-lbl {
  font-size: 11px;
  font-weight: 800;
  color: #166534;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .5px;
  line-height: 1.2;
}

.acp__delivery-date {
  font-size: 12px;
  font-weight: 700;
  color: #16a34a;
  text-align: center;
}

/* ══════════════════════
   BOTONES CTA
══════════════════════ */
.acp__ctas {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 18px;
}

.acp__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px 20px;
  border: none;
  border-radius: 14px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: transform .18s, box-shadow .18s, filter .18s;
  width: 100%;
  text-align: center;
}

.acp__btn:active { transform: scale(.98); }

.acp__btn-text { flex: 1; }

.acp__btn-ico { font-size: 18px; flex-shrink: 0; }

.acp__btn-sub {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  opacity: .8;
}

.acp__btn--primary {
  background: var(--acp-amber, #D4820A);
  color: #fff;
  box-shadow: 0 4px 20px rgba(212,130,10,.3);
}

.acp__btn--primary:hover,
.acp__btn--primary:focus-visible {
  filter: brightness(1.08);
  box-shadow: 0 8px 30px rgba(212,130,10,.4);
  transform: translateY(-2px);
  color: #fff;
}

.acp__btn--cod {
  background: var(--acp-green, #16A34A);
  color: #fff;
  box-shadow: 0 4px 20px rgba(22,163,74,.25);
}

.acp__btn--cod:hover,
.acp__btn--cod:focus-visible {
  filter: brightness(1.08);
  box-shadow: 0 8px 30px rgba(22,163,74,.35);
  transform: translateY(-2px);
  color: #fff;
}

/* ── Realistic COD App wrapper ── */
/* ══════════════════════════════════════
   RELEASIT COD — CSS Override AMNESS
   Aplica el estilo premium de AMNESS al
   botón que genera el snippet releasit-button
══════════════════════════════════════ */

/* Contenedor */
.acp__releasit-wrap,
.acp__ctas {
  width: 100%;
  margin-bottom: 4px;
}

.acp__app-block-wrap {
  width: 100%;
}

/* ── Selector universal del botón Releasit ──
   Cubre todos los elementos que la app puede generar:
   button, a, div con sus clases internas              */
.acp__releasit-wrap button,
.acp__releasit-wrap a,
.acp__releasit-wrap [class*="releasit"],
.acp__releasit-wrap [class*="rsi"],
.acp__releasit-wrap [class*="rcod"],
.acp__releasit-wrap [id*="releasit"],
.acp__releasit-wrap [id*="rsi"],
.acp__ctas [class*="releasit"],
.acp__ctas [class*="rsi-btn"],
#releasit-button-wrap button,
#releasit-button-wrap a {

  /* Layout */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 100% !important;
  box-sizing: border-box !important;

  /* Espaciado */
  padding: 18px 20px !important;
  margin: 0 !important;

  /* Color AMNESS — verde confianza */
  background: var(--acp-green, #16A34A) !important;
  background-image: none !important;
  color: #ffffff !important;

  /* Tipografía */
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  line-height: 1.2 !important;

  /* Forma */
  border: none !important;
  border-radius: 14px !important;
  outline: none !important;

  /* Sombra */
  box-shadow: 0 4px 20px rgba(22,163,74,0.3) !important;

  /* Transición */
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease !important;
  cursor: pointer !important;
}

/* Hover */
.acp__releasit-wrap button:hover,
.acp__releasit-wrap a:hover,
.acp__releasit-wrap [class*="rsi"]:hover,
.acp__releasit-wrap [class*="releasit"]:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(22,163,74,0.45) !important;
}

/* Active */
.acp__releasit-wrap button:active,
.acp__releasit-wrap a:active {
  transform: scale(0.98) !important;
}

/* ── Oculta texto/iconos internos que Releasit añade ──
   para que no dupliquen con nuestro estilo            */
.acp__releasit-wrap [class*="rsi-icon"],
.acp__releasit-wrap [class*="releasit-icon"] {
  display: none !important;
}

/* ══════════════════════
   PRODUCT FORM + RELEASIT
══════════════════════ */

/* El form es visible para que Releasit lo detecte */
.acp__product-form {
  width: 100%;
  margin-bottom: 4px;
}

/* Oculta el botón ATC nativo — solo visible para Releasit */
.acp__atc-hidden {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Estiliza el botón que Releasit inyecta */
.acp__product-form [class*="releasit"],
.acp__product-form [class*="rsi-"],
.acp__product-form [id*="releasit"],
#releasit-buy-button,
.releasit-btn,
.rsi-btn {
  width: 100% !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 18px 20px !important;
  cursor: pointer !important;
  margin-top: 0 !important;
}

/* ══════════════════════
   APP BLOCKS
══════════════════════ */
.acp__app-blocks {
  width: 100%;
  margin-bottom: 18px;
}

/* Estiliza el botón de Releasit para que encaje con AMNESS */
.acp__app-blocks button,
.acp__app-blocks a[href*="rsi"],
.acp__app-blocks [class*="releasit"],
.acp__app-blocks [class*="rsi-"] {
  width: 100% !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 18px 20px !important;
  cursor: pointer !important;
}

/* ══════════════════════
   TRUST BADGES
══════════════════════ */
.acp__trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--acp-border, #E4DED2);
  border-radius: 14px;
  background: var(--acp-card, #fff);
  overflow: hidden;
}

.acp__trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 14px 8px;
  border-right: 1px solid var(--acp-border, #E4DED2);
  text-align: center;
}

.acp__trust-item:last-child { border-right: none; }
.acp__trust-ico { font-size: 20px; line-height: 1; }
.acp__trust-lbl { font-size: 10px; color: var(--acp-muted); line-height: 1.4; font-weight: 500; }

/* ══════════════════════
   STICKY MOBILE CTA
══════════════════════ */
.acp__sticky {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  padding: 10px 14px 16px;
  background: var(--acp-bg, #F4EFE6);
  border-top: 1px solid var(--acp-border, #E4DED2);
  gap: 8px;
  flex-direction: column;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
}

.acp__btn--sticky {
  padding: 16px;
  font-size: 13px;
  border-radius: 12px;
}

/* ══════════════════════
   DESKTOP — 2 cols
══════════════════════ */
@media screen and (min-width: 900px) {
  .acp {
    padding: 48px 40px 80px;
  }

  .acp__layout {
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
  }

  .acp__gallery {
    position: sticky;
    top: 90px;
  }

  .acp__title {
    font-size: clamp(28px, 2.8vw, 42px);
  }

  .acp__trust {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Tablet ajuste */
@media screen and (min-width: 600px) and (max-width: 899px) {
  .acp__trust {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Mobile extra small */
@media screen and (max-width: 420px) {
  .acp__price-main { font-size: 38px; }
  .acp__pack-title { font-size: 13px; }
  .acp__pack-price { font-size: 16px; }
  .acp__trust { grid-template-columns: repeat(2, 1fr); }
  .acp__trust-item:nth-child(2) { border-right: none; }
  .acp__trust-item:nth-child(3) { border-top: 1px solid var(--acp-border, #E4DED2); }
  .acp__trust-item:nth-child(4) { border-top: 1px solid var(--acp-border, #E4DED2); }
}

/* Sticky visible only mobile */
@media screen and (max-width: 899px) {
  .acp__sticky.acp__sticky--visible {
    display: flex;
  }
}

/* ══════════════════════
   PACK DURATION LABEL
══════════════════════ */
.acp__pack-duration {
  font-size: 11px;
  color: var(--acp-amber, #D4820A);
  font-weight: 600;
  letter-spacing: .3px;
  display: block;
  margin-top: 1px;
}

.acp__pack-img-wrap {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  background: #f0ece4;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ══════════════════════════════════════
   COD MODAL — Overlay + Card
══════════════════════════════════════ */
.acp-cod-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 9999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  animation: acp-overlay-in .2s ease;
}

.acp-cod-overlay[hidden] { display: none !important; }
.acp-cod-overlay:not([hidden]) { display: flex !important; }

/* When visible — ensure flex display */
.acp-cod-overlay:not([hidden]) { display: flex !important; }

@keyframes acp-overlay-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.acp-cod-modal {
  background: #fff;
  width: 100%;
  max-width: 520px;
  max-height: 92vh;
  border-radius: 20px 20px 0 0;
  overflow-y: auto;
  padding: 0 0 32px;
  animation: acp-modal-up .3s cubic-bezier(.16,1,.3,1);
  overscroll-behavior: contain;
}

@media screen and (min-width: 560px) {
  .acp-cod-overlay { align-items: center; padding: 20px; }
  .acp-cod-modal { border-radius: 20px; max-height: 90vh; }
}

@keyframes acp-modal-up {
  from { transform: translateY(60px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* Modal header */
.acp-cod__header {
  position: sticky;
  top: 0;
  background: #fff;
  border-bottom: 1px solid #f0ece4;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  z-index: 2;
}

.acp-cod__header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.acp-cod__lock { font-size: 20px; }

.acp-cod__header-title {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  line-height: 1.3;
  max-width: 240px;
}

.acp-cod__stars {
  color: #f59e0b;
  font-size: 12px;
  letter-spacing: 1px;
}

.acp-cod__close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: #f4f4f4;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #555;
  transition: background .18s;
}

.acp-cod__close:hover { background: #e8e4e0; }

/* Order summary */
.acp-cod__order {
  padding: 16px 20px;
  border-bottom: 1px solid #f0ece4;
}

.acp-cod__product {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.acp-cod__product-img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 10px;
  background: #f8f4ee;
  flex-shrink: 0;
  border: 1px solid #f0ece4;
}

.acp-cod__product-info {
  flex: 1;
  min-width: 0;
}

.acp-cod__product-name {
  font-size: 14px;
  font-weight: 700;
  color: #111;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.acp-cod__product-variant {
  font-size: 12px;
  color: #888;
  display: block;
  margin-top: 2px;
}

/* Qty control */
.acp-cod__qty-ctrl {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.acp-cod__qty-btn {
  width: 32px;
  height: 32px;
  border: none;
  background: #f8f8f8;
  font-size: 18px;
  cursor: pointer;
  color: #333;
  transition: background .15s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.acp-cod__qty-btn:hover { background: #f0ece4; color: var(--acp-amber, #D4820A); }
.acp-cod__qty-val { width: 36px; text-align: center; font-size: 15px; font-weight: 700; }

.acp-cod__product-price {
  font-size: 17px;
  font-weight: 800;
  color: #111;
  flex-shrink: 0;
}

/* Totals */
.acp-cod__totals { display: flex; flex-direction: column; gap: 6px; }

.acp-cod__total-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #555;
}

.acp-cod__total-row--bold {
  font-size: 16px;
  font-weight: 800;
  color: #111;
  padding-top: 8px;
  border-top: 1px solid #e8e4e0;
  margin-top: 4px;
}

.acp-cod__free { color: var(--acp-green, #16A34A); font-weight: 600; }

/* Form */
.acp-cod__form {
  padding: 16px 20px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.acp-cod__section-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #111;
  padding: 8px 0 4px;
  border-top: 1px solid #f0ece4;
}

.acp-cod__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.acp-cod__field { display: flex; flex-direction: column; }

.acp-cod__input {
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 14px;
  font-family: inherit;
  color: #111;
  background: #fff;
  transition: border-color .18s, box-shadow .18s;
  width: 100%;
  outline: none;
  appearance: none;
}

.acp-cod__input::placeholder { color: #aaa; }

.acp-cod__input:focus {
  border-color: var(--acp-amber, #D4820A);
  box-shadow: 0 0 0 3px rgba(212,130,10,.12);
}

.acp-cod__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}

/* Checkbox */
.acp-cod__check-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #555;
  cursor: pointer;
  margin-top: 2px;
}

.acp-cod__checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--acp-amber, #D4820A);
  cursor: pointer;
  flex-shrink: 0;
}

/* Submit button */
.acp-cod__submit {
  background: var(--acp-black, #0D0D0D);
  color: #fff;
  border: none;
  border-radius: 14px;
  padding: 18px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  width: 100%;
  transition: background .2s, transform .15s, box-shadow .2s;
  margin-top: 4px;
}

.acp-cod__submit:hover {
  background: #1a1a18;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

.acp-cod__submit:active { transform: scale(.98); }

/* Error message */
.acp-cod__error {
  background: #fff5f5;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #b91c1c;
  text-align: center;
}

/* Footer trust */
.acp-cod__footer-trust {
  display: flex;
  justify-content: center;
  gap: 28px;
  padding-top: 16px;
  margin-top: 4px;
  border-top: 1px solid #f0ece4;
}

.acp-cod__trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: #888;
  text-align: center;
  line-height: 1.4;
}

.acp-cod__trust-item span:first-child { font-size: 20px; }


/* ══════════════════════════════════════
   CARRUSEL DE GALERÍA
   Mobile: swipe / Desktop: flechas + thumbs
══════════════════════════════════════ */

/* Contenedor principal del carrusel */
.acp__carousel {
  position: relative;
  background: #0a0a08;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12);
  aspect-ratio: 1 / 1;
  width: 100%;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

/* Track — fila horizontal de slides */
.acp__carousel-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform .35s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}

/* Cada slide */
.acp__carousel-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  position: relative;
}

/* Imagen dentro del slide */
.acp__carousel-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #0a0a08;
  display: block;
}

/* ── DOTS (solo mobile) ── */
.acp__carousel-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 3;
}

.acp__carousel-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  transition: background .2s, transform .2s;
  cursor: pointer;
}

.acp__carousel-dot--active {
  background: var(--acp-amber, #D4820A);
  transform: scale(1.25);
}

/* ── FLECHAS (solo desktop) ── */
.acp__carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.9);
  color: #111;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
  transition: background .18s, transform .18s;
}

.acp__carousel-arrow:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.08);
}

.acp__carousel-arrow--prev { left: 10px; }
.acp__carousel-arrow--next { right: 10px; }

/* Desktop: mostrar flechas, ocultar dots */
@media screen and (min-width: 900px) {
  .acp__carousel-arrow { display: flex; }
  .acp__carousel-dots  { display: none; }
}

/* Mobile: ocultar flechas, mostrar dots */
@media screen and (max-width: 899px) {
  .acp__carousel-arrow { display: none; }
  .acp__carousel-dots  { display: flex; }
  /* Thumbnails ocultos en mobile */
  .acp__thumbs { display: none; }
}

/* Desktop: thumbnails visibles */
@media screen and (min-width: 900px) {
  .acp__thumbs { display: flex; }
}


/* ── Stock crítico (≤7 unidades) — pulso de alerta ── */
.acp__urgency--critical {
  animation: acp-urgency-pulse 1.8s ease-in-out infinite;
  border-color: #fca5a5 !important;
  background: #fff5f5 !important;
}

.acp__urgency--critical .acp__urgency-text {
  color: #b91c1c !important;
}

.acp__urgency--critical .acp__stock-fill {
  background: linear-gradient(90deg, #ef4444, #f97316) !important;
}

.acp__urgency-count {
  font-weight: 900;
  font-size: 1.05em;
  color: inherit;
}

@keyframes acp-urgency-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
  50%       { box-shadow: 0 0 0 4px rgba(239,68,68,0.18); }
}


/* Error message COD */
.acp-cod__error {
  background: #fff5f5;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #b91c1c;
  text-align: center;
}
/* END_SECTION:seccion1-test */
/* START_SECTION:seccion5-howwork (INDEX:1) */
/* ══════════════════════════════════════════
   AMNESS — How It Works
   Premium timeline · DTC wellness
══════════════════════════════════════════ */

.ahw *, .ahw *::before, .ahw *::after {
  box-sizing: border-box; margin: 0; padding: 0;
}

.ahw {
  background: var(--ahw-bg, #0A0A08);
  color: var(--ahw-text, #ffffff);
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  position: relative;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Ambient glow */
.ahw__glow-bg {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 500px;
  background: radial-gradient(ellipse, rgba(212,130,10,0.12) 0%, transparent 65%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}

.ahw__inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ══════════════════════
   HEADER
══════════════════════ */
.ahw__header { text-align: center; max-width: 600px; }

.ahw__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--ahw-amber, #D4820A);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.ahw__eyebrow::before, .ahw__eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--ahw-amber, #D4820A);
  opacity: 0.4;
}

.ahw__title {
  font-size: clamp(26px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.5px;
  color: var(--ahw-text, #1A4D2E);
  margin-bottom: 14px;
}

.ahw__subtitle {
  font-size: 15px;
  color: var(--ahw-muted, rgba(255,255,255,0.45));
  line-height: 1.7;
  font-weight: 300;
}

/* ══════════════════════
   PASOS — Cómo tomar
══════════════════════ */
.ahw__steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 720px;
}

.ahw__step {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 0 24px;
}

/* Número + línea vertical */
.ahw__step-num-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.ahw__step-num {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(212,130,10,0.1);
  border: 1.5px solid rgba(212,130,10,0.4);
  color: var(--ahw-amber, #D4820A);
  font-size: 16px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.25s, box-shadow 0.25s;
}

.ahw__step:hover .ahw__step-num {
  background: rgba(212,130,10,0.25);
  box-shadow: 0 0 20px rgba(212,130,10,0.25);
}

.ahw__step-line {
  width: 1.5px;
  flex: 1;
  min-height: 32px;
  background: linear-gradient(to bottom,
    rgba(212,130,10,0.3),
    rgba(212,130,10,0.08)
  );
  margin: 4px 0;
}

/* Cuerpo del paso */
.ahw__step-body {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 0 0 40px;
}

.ahw__step:last-child .ahw__step-body { padding-bottom: 0; }

.ahw__step-icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.25s, border-color 0.25s;
}

.ahw__step:hover .ahw__step-icon-wrap {
  background: rgba(212,130,10,0.1);
  border-color: rgba(212,130,10,0.3);
}

.ahw__step-emoji {
  font-size: 28px;
  line-height: 1;
}

.ahw__step-img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.ahw__step-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 4px;
}

.ahw__step-tag {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ahw-amber, #D4820A);
}

.ahw__step-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--ahw-text, #1A4D2E);
  line-height: 1.2;
}

.ahw__step-desc {
  font-size: 14px;
  color: var(--ahw-muted, rgba(255,255,255,0.5));
  line-height: 1.65;
  font-weight: 300;
  max-width: 420px;
}

/* ══════════════════════
   SEPARADOR
══════════════════════ */
.ahw__sep {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 800px;
}

.ahw__sep-line {
  flex: 1;
  height: 1px;
  background: rgba(0,0,0,0.12);
}

.ahw__sep-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(0,0,0,0.35);
  white-space: nowrap;
}

/* ══════════════════════
   TIMELINE SEMANAS
══════════════════════ */
.ahw__timeline {
  width: 100%;
  max-width: 900px;
  position: relative;
}

/* Línea de progreso */
.ahw__tl-track {
  position: absolute;
  top: 22px;
  left: 5%;
  right: 5%;
  height: 2px;
  background: rgba(0,0,0,0.1);
  border-radius: 1px;
  overflow: hidden;
}

.ahw__tl-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--ahw-amber, #D4820A), rgba(212,130,10,0.4));
  border-radius: 1px;
  transition: width 1.2s cubic-bezier(.4,0,.2,1);
}

.ahw__tl-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  position: relative;
  z-index: 1;
}

/* Item del timeline */
.ahw__tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* Punto / dot */
.ahw__tl-dot-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ahw__tl-dot {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(0,0,0,0.04);
  border: 1.5px solid rgba(212,130,10,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background 0.25s, box-shadow 0.25s, transform 0.25s;
}

.ahw__tl-item--last .ahw__tl-dot {
  background: rgba(212,130,10,0.15);
  border-color: var(--ahw-amber, #D4820A);
  box-shadow: 0 0 20px rgba(212,130,10,0.25);
}

.ahw__tl-item:hover .ahw__tl-dot {
  transform: scale(1.1);
  box-shadow: 0 0 16px rgba(212,130,10,0.2);
}

/* Card timeline */
.ahw__tl-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 18px 12px;
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  width: 100%;
  transition: background 0.25s, border-color 0.25s, transform 0.25s;
}

.ahw__tl-item--last .ahw__tl-card {
  background: rgba(212,130,10,0.1);
  border-color: rgba(212,130,10,0.3);
}

.ahw__tl-item:hover .ahw__tl-card {
  transform: translateY(-4px);
  border-color: rgba(212,130,10,0.25);
}

.ahw__tl-week {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ahw-amber, #D4820A);
}

.ahw__tl-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--ahw-text, #1A4D2E);
  line-height: 1.3;
}

.ahw__tl-desc {
  font-size: 11px;
  color: var(--ahw-muted, rgba(255,255,255,0.4));
  line-height: 1.5;
  font-weight: 300;
}

/* ══════════════════════
   DOSIS PILL
══════════════════════ */
.ahw__dose {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 100px;
  padding: 14px 28px;
}

.ahw__dose-icon { font-size: 22px; }

.ahw__dose-text {
  font-size: 13px;
  font-weight: 600;
  color: rgba(0,0,0,0.7);
  letter-spacing: 0.3px;
}

/* ══════════════════════
   CTA
══════════════════════ */
.ahw__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.ahw__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 20px 52px;
  background: var(--ahw-amber, #D4820A);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 6px 28px rgba(212,130,10,0.32);
}

.ahw__btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,0.15) 50%, transparent 65%);
  transform: translateX(-100%);
  transition: transform 0.5s;
}

.ahw__btn:hover::after { transform: translateX(100%); }

.ahw__btn:hover {
  background: #c0730a;
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(212,130,10,0.4);
}

.ahw__btn:active { transform: scale(0.98); }

.ahw__btn-sub {
  font-size: 12px;
  color: rgba(0,0,0,0.35);
  letter-spacing: 0.5px;
}

/* ══════════════════════
   MOBILE
══════════════════════ */
@media screen and (max-width: 767px) {
  .ahw__inner   { padding: 0 16px; gap: 44px; }
  .ahw__header  { max-width: 100%; }

  /* Steps más compactos */
  .ahw__step        { grid-template-columns: 36px 1fr; gap: 0 16px; }
  .ahw__step-num    { width: 36px; height: 36px; font-size: 14px; }
  .ahw__step-body   { gap: 14px; padding-bottom: 32px; }
  .ahw__step-icon-wrap { width: 52px; height: 52px; border-radius: 12px; }
  .ahw__step-emoji  { font-size: 24px; }
  .ahw__step-title  { font-size: 16px; }
  .ahw__step-desc   { font-size: 13px; }

  /* Timeline: 2 columnas en mobile */
  .ahw__tl-track  { display: none; }
  .ahw__tl-items  { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ahw__tl-card   { padding: 14px 10px; }
  .ahw__tl-title  { font-size: 12px; }
  .ahw__tl-desc   { font-size: 10px; }

  /* Dose pill */
  .ahw__dose { padding: 12px 20px; }
  .ahw__dose-text { font-size: 12px; }

  /* CTA */
  .ahw__btn { width: 100%; padding: 18px; }

  /* Sep */
  .ahw__sep-label { font-size: 10px; white-space: normal; text-align: center; }
}

@media screen and (max-width: 380px) {
  .ahw__tl-items { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ahw__step-body { flex-direction: column; gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .ahw__tl-fill,
  .ahw__tl-card,
  .ahw__btn::after { transition: none; }
}
/* END_SECTION:seccion5-howwork */
/* START_SECTION:seccion8-faq (INDEX:4) */
/* ══════════════════════════════════════════
   AMNESS — Premium FAQ
   Luxury accordion · Trust builder
══════════════════════════════════════════ */

.afq *, .afq *::before, .afq *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Base ── */
.afq {
  background: var(--afq-bg, #F4EFE6);
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.afq__inner {
  margin: 0 auto;
  padding: 0 24px;
}

/* ══════════════════════
   HEADER
══════════════════════ */
.afq__header {
  text-align: center;
  margin-bottom: 52px;
}

.afq__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--afq-amber, #D4820A);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.afq__eyebrow::before,
.afq__eyebrow::after {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--afq-amber, #D4820A);
  opacity: 0.5;
}

.afq__title {
  font-size: clamp(28px, 4.5vw, 50px);
  font-weight: 800;
  color: var(--afq-text, #111);
  line-height: 1.08;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

.afq__subtitle {
  font-size: 15px;
  color: rgba(17,17,17,0.5);
  font-weight: 300;
  line-height: 1.6;
  max-width: 440px;
  margin: 0 auto;
}

/* ══════════════════════
   FAQ LIST
══════════════════════ */
.afq__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ── Card ── */
.afq__item {
  border-radius: var(--afq-radius, 16px);
  overflow: hidden;
  transition: box-shadow 0.3s;
}

.afq__item:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* ── Question button ── */
.afq__question {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
  background: #e4ddd4;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--afq-radius, 16px);
  cursor: pointer;
  text-align: left;
  outline: none;
  transition: background 0.25s, border-radius 0.25s;
  -webkit-tap-highlight-color: transparent;
}

.afq__question:hover {
  background: #ddd6cc;
}

.afq__question:focus-visible {
  outline: 2px solid var(--afq-amber, #D4820A);
  outline-offset: 2px;
}

/* Open state */
.afq__item--open .afq__question {
  background: #dcd5cb;
  border-radius: var(--afq-radius, 16px) var(--afq-radius, 16px) 0 0;
  border-color: rgba(212,130,10,0.3);
  border-bottom-color: rgba(212,130,10,0.2);
}

/* Number */
.afq__num {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--afq-amber, #D4820A);
  opacity: 0.8;
  flex-shrink: 0;
  min-width: 24px;
  font-variant-numeric: tabular-nums;
}

/* Question text */
.afq__question-text {
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  color: #111111;
  line-height: 1.4;
  letter-spacing: -0.1px;
}

/* ── Icon ── */
.afq__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(212,130,10,0.12);
  border: 1px solid rgba(212,130,10,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--afq-amber, #D4820A);
  transition: background 0.25s, transform 0.35s cubic-bezier(.34,1.56,.64,1), border-color 0.25s;
}

.afq__question:hover .afq__icon {
  background: rgba(212,130,10,0.18);
  border-color: rgba(212,130,10,0.5);
}

.afq__item--open .afq__icon {
  background: var(--afq-amber, #D4820A);
  border-color: var(--afq-amber, #D4820A);
  color: #fff;
  transform: rotate(180deg);
}

/* SVG icons */
.afq__icon-plus  { display: block; width: 16px; height: 16px; }
.afq__icon-minus { display: none;  width: 16px; height: 16px; }

.afq__item--open .afq__icon-plus  { display: none; }
.afq__item--open .afq__icon-minus { display: block; }

/* ── Answer ── */
.afq__answer-wrap {
  background: #ede7db;
  border-radius: 0 0 var(--afq-radius, 16px) var(--afq-radius, 16px);
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s cubic-bezier(.4,0,.2,1);
  box-shadow: inset 3px 0 0 rgba(212,130,10,0.5);
  display: block !important;
  visibility: hidden;
  pointer-events: none;
}

.afq__answer-wrap.afq__answer-wrap--open {
  max-height: 800px;
  visibility: visible;
  pointer-events: auto;
}

.afq__answer {
  padding: 20px 24px 24px;
}

/* Answer typography */
.afq__answer p,
.afq__answer li {
  font-size: 14px;
  font-weight: 400;
  color: rgba(0,0,0,0.65);
  line-height: 1.75;
}

.afq__answer strong,
.afq__answer b {
  color: rgba(0,0,0,0.9);
  font-weight: 700;
}

.afq__answer a {
  color: var(--afq-amber, #D4820A);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.afq__answer a:hover { opacity: 0.8; }

.afq__answer ul,
.afq__answer ol {
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.afq__answer ul li::marker { color: var(--afq-amber, #D4820A); }

/* Amber highlight span */
.afq__answer em {
  color: var(--afq-amber, #D4820A);
  font-style: normal;
  font-weight: 600;
}

/* ══════════════════════
   BOTTOM CTA
══════════════════════ */
.afq__cta {
  margin-top: 48px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.afq__cta-text {
  font-size: 15px;
  color: rgba(17,17,17,0.55);
  font-weight: 400;
}

.afq__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 36px;
  background: var(--afq-amber, #D4820A);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 12px;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 4px 20px rgba(212,130,10,0.28);
}

.afq__cta-btn:hover {
  background: #c0730a;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(212,130,10,0.38);
}

.afq__cta-btn:active { transform: scale(0.98); }

/* ══════════════════════
   MOBILE
══════════════════════ */
@media screen and (max-width: 640px) {
  .afq__inner  { padding: 0 16px; }
  .afq__header { margin-bottom: 32px; }
  .afq__list   { gap: 8px; }

  .afq__question      { padding: 18px 18px; gap: 12px; }
  .afq__question-text { font-size: 14px; }
  .afq__num           { display: none; }

  .afq__icon  { width: 28px; height: 28px; }
  .afq__icon-plus,
  .afq__icon-minus { width: 14px; height: 14px; }

  .afq__answer      { padding: 16px 18px 20px; }
  .afq__answer p,
  .afq__answer li   { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .afq__answer-wrap { transition: none; }
  .afq__icon        { transition: background 0.2s; }
}
/* END_SECTION:seccion8-faq */
/* START_SECTION:footer-utilities (INDEX:18) */
.utilities {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap);
    text-wrap: nowrap;
    border-top: var(--border-width) solid var(--color-border);
    color: var(--color-foreground-muted);

    @media screen and (min-width: 750px) {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      justify-content: center;
      gap: var(--gap);
      align-items: center;
      text-align: left;
    }
  }

  .utilities a {
    color: var(--color-foreground-muted);
  }

  .utilities > * {
    text-align: center;

    @media screen and (min-width: 750px) {
      text-align: left;
      justify-self: start;
    }
  }

  /* Dynamic positioning based on number of blocks */
  @media screen and (min-width: 750px) {
    /* 1 block: Single column, left aligned */
    .utilities--blocks-1 {
      grid-template-columns: 1fr;
      justify-content: start;
    }

    .utilities--blocks-1 > * {
      justify-self: start;
      text-align: left;
    }

    /* 2 blocks: Two equal columns, start and end aligned */
    .utilities--blocks-2 {
      grid-template-columns: 1fr 1fr;
    }

    .utilities--blocks-2 > *:nth-child(2) {
      justify-self: end;
      text-align: right;
    }

    /* 3 blocks: Three columns (1fr auto 1fr), start/center/end aligned */
    .utilities--blocks-3 {
      grid-template-columns: 1fr auto 1fr;
    }

    .utilities--blocks-3 > *:nth-child(2) {
      justify-self: center;
      text-align: center;
    }

    .utilities--blocks-3 > *:nth-child(3) {
      justify-self: end;
      text-align: right;
    }
  }
/* END_SECTION:footer-utilities */
/* START_SECTION:footer (INDEX:19) */
/* ══════════════════════════════════════════
   AMNESS — Premium Footer
   AG1 / Seed / Ritual inspired · DTC USA
══════════════════════════════════════════ */
.afooter*,.afooter*::before,.afooter*::after{box-sizing:border-box;margin:0;padding:0}

.afooter{
  background:var(--af-bg,#080808);
  color:var(--af-text,#fff);
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  position:relative;
  -webkit-font-smoothing:antialiased;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .55s ease,transform .55s ease;
}
.afooter--visible{opacity:1;transform:translateY(0)}

/* Noise */
.afooter::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
  pointer-events:none;z-index:0;opacity:.5;
}

/* Top glow */
.afooter__top-glow{
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(212,130,10,.3) 25%,rgba(212,130,10,.65) 50%,rgba(212,130,10,.3) 75%,transparent 100%);
  z-index:1;
}

.afooter__inner,.afooter__bottom{position:relative;z-index:2}

.afooter__inner{max-width:1200px;margin:0 auto;padding:72px 32px 56px}

/* Grid */
.afooter__grid{
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr 1.6fr;
  gap:52px;
  align-items:start;
}

/* Brand col */
.afooter__logo-link{display:inline-block;text-decoration:none;margin-bottom:18px;transition:opacity .2s}
.afooter__logo-link:hover{opacity:.75}
.afooter__logo-img{height:38px;width:auto;display:block}
.afooter__logo-text{font-size:22px;font-weight:800;letter-spacing:5px;color:#fff;font-family:'Cormorant Garamond',Georgia,serif}
.afooter__tagline{font-size:13px;font-weight:600;color:var(--af-amber,#D4820A);margin-bottom:12px;letter-spacing:.4px}
.afooter__brand-desc{font-size:13px;color:var(--af-muted,#A1A1A1);line-height:1.7;font-weight:300;max-width:280px;margin-bottom:28px}

/* Social */
.afooter__social{display:flex;gap:10px}
.afooter__social-link{
  width:40px;height:40px;border-radius:10px;
  border:1px solid var(--af-border,rgba(255,255,255,.08));
  display:flex;align-items:center;justify-content:center;
  color:var(--af-muted,#A1A1A1);text-decoration:none;
  transition:color .2s,border-color .2s,background .2s,transform .2s;
}
.afooter__social-link:hover{
  color:var(--af-amber,#D4820A);
  border-color:rgba(212,130,10,.4);
  background:rgba(212,130,10,.06);
  transform:translateY(-2px);
}

/* Col nav */
.afooter__col-toggle{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;background:none;border:none;cursor:default;padding:0;pointer-events:none;
}
.afooter__col-title{
  display:block;font-size:11px;font-weight:800;
  letter-spacing:3px;text-transform:uppercase;color:#fff;margin-bottom:20px;
}
.afooter__toggle-icon{display:none;color:var(--af-muted,#A1A1A1);transition:transform .3s;flex-shrink:0}
.afooter__nav-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.afooter__nav-link{
  font-size:14px;color:var(--af-muted,#A1A1A1);text-decoration:none;
  font-weight:400;display:inline-flex;align-items:center;
  transition:color .2s,transform .2s;position:relative;
}
.afooter__nav-link::after{
  content:'';position:absolute;bottom:-2px;left:0;
  width:0;height:1px;background:var(--af-amber,#D4820A);
  transition:width .25s ease;
}
.afooter__nav-link:hover{color:var(--af-hover,#F0A020);transform:translateX(3px)}
.afooter__nav-link:hover::after{width:100%}

/* Newsletter */
.afooter__col--newsletter .afooter__col-title{font-size:15px;font-weight:700;letter-spacing:.5px;text-transform:none;margin-bottom:8px}
.afooter__newsletter-sub{font-size:13px;color:var(--af-muted,#A1A1A1);line-height:1.6;margin-bottom:18px;font-weight:300}
.afooter__form{display:flex;flex-direction:column;gap:10px}
.afooter__form-row{
  display:flex;
  background:rgba(255,255,255,.05);
  border:1px solid var(--af-border,rgba(255,255,255,.1));
  border-radius:12px;overflow:hidden;
  transition:border-color .2s,box-shadow .2s;
}
.afooter__form-row:focus-within{
  border-color:rgba(212,130,10,.45);
  box-shadow:0 0 0 3px rgba(212,130,10,.08);
}
.afooter__email-input{
  flex:1;background:transparent;border:none;outline:none;
  padding:13px 16px;font-size:13px;color:#fff;font-family:inherit;min-width:0;
}
.afooter__email-input::placeholder{color:rgba(255,255,255,.28)}
.afooter__submit-btn{
  background:var(--af-amber,#D4820A);color:#fff;border:none;
  padding:13px 20px;font-size:11px;font-weight:900;letter-spacing:1.5px;
  text-transform:uppercase;cursor:pointer;white-space:nowrap;
  transition:background .2s,box-shadow .2s;font-family:inherit;
}
.afooter__submit-btn:hover{background:var(--af-hover,#F0A020);box-shadow:0 0 18px rgba(212,130,10,.3)}
.afooter__form-success{font-size:12px;color:#4ade80;font-weight:600}
.afooter__trust-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.afooter__trust-pill{font-size:11px;color:rgba(255,255,255,.3);letter-spacing:.3px}

/* Bottom */
.afooter__bottom{border-top:1px solid var(--af-border,rgba(255,255,255,.08))}
.afooter__bottom-inner{
  max-width:1200px;margin:0 auto;padding:20px 32px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
}
.afooter__copyright{font-size:12px;color:rgba(255,255,255,.22);font-weight:400;letter-spacing:.3px}
.afooter__payments{display:flex;align-items:center;gap:6px}
.afooter__pay-icon{display:flex;align-items:center;opacity:.55;transition:opacity .2s}
.afooter__pay-icon:hover{opacity:1}

/* Tablet */
@media screen and (max-width:1024px){
  .afooter__grid{grid-template-columns:1fr 1fr;gap:40px}
  .afooter__col--brand{grid-column:1/-1}
  .afooter__brand-desc{max-width:100%}
}

/* Mobile */
@media screen and (max-width:640px){
  .afooter__inner{padding:48px 20px 40px}
  .afooter__grid{grid-template-columns:1fr;gap:0}
  .afooter__col--brand{order:1;padding-bottom:32px;border-bottom:1px solid var(--af-border,rgba(255,255,255,.08))}
  .afooter__col--newsletter{order:2;padding:24px 0;border-bottom:1px solid var(--af-border,rgba(255,255,255,.08))}
  .afooter__col--nav{order:3;border-bottom:1px solid var(--af-border,rgba(255,255,255,.08))}
  .afooter__col-toggle{cursor:pointer;pointer-events:auto;padding:18px 0}
  .afooter__toggle-icon{display:block}
  .afooter__col-title{margin-bottom:0}
  .afooter__nav-list{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}
  .afooter__nav-list li{padding:8px 0}
  .afooter__col.is-open .afooter__nav-list{padding-top:4px;padding-bottom:12px}
  .afooter__col.is-open .afooter__toggle-icon{transform:rotate(180deg)}
  .afooter__bottom-inner{flex-direction:column;align-items:center;text-align:center;padding:18px 20px;gap:14px}
}

@media (prefers-reduced-motion:reduce){
  .afooter{transition:none;opacity:1;transform:none}
  .afooter__social-link,.afooter__nav-link,.afooter__submit-btn{transition:none}
}
/* END_SECTION:footer */
/* START_SECTION:header-announcements (INDEX:20) */
/* ══════════════════════════════════════════
   AMNESS — Announcement Bar
   Premium, zero-dependency, OS 2.0 ready
══════════════════════════════════════════ */

/* ── Reset ── */
.anb *, .anb *::before, .anb *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Base bar ── */
.anb {
  width: 100%;
  height: var(--anb-height, 44px);
  background: var(--anb-bg, #4f6342);
  color: var(--anb-text, #ffffff);
  position: relative;
  overflow: hidden;
  z-index: 200;
  -webkit-font-smoothing: antialiased;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  border-bottom: 1px solid rgba(212, 130, 10, 0.15);
}

/* ── Sticky ── */
.anb--sticky {
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* ── Glow ── */
.anb--glow::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 60% 100% at 50% 50%,
    rgba(212, 130, 10, 0.08) 0%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 0;
}

.anb--glow::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(212, 130, 10, 0.5) 30%,
    rgba(212, 130, 10, 0.8) 50%,
    rgba(212, 130, 10, 0.5) 70%,
    transparent 100%
  );
  z-index: 1;
}

/* ── Light mode overrides ── */
.anb--light {
  border-bottom: 1px solid rgba(212, 130, 10, 0.2);
}

.anb--light.anb--glow::before {
  background: radial-gradient(
    ellipse 60% 100% at 50% 50%,
    rgba(212, 130, 10, 0.06) 0%,
    transparent 70%
  );
}

/* ── Close button ── */
.anb__close {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: none;
  border: none;
  color: var(--anb-text);
  opacity: 0.45;
  cursor: pointer;
  padding: 6px;
  line-height: 1;
  border-radius: 50%;
  transition: opacity 0.2s, background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.anb__close:hover {
  opacity: 1;
  background: rgba(255,255,255,0.1);
}

/* ── Viewport (clips the track) ── */
.anb__viewport {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}

/* Left/right fade masks */
.anb__viewport::before,
.anb__viewport::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 60px;
  z-index: 3;
  pointer-events: none;
}

.anb__viewport::before {
  left: 0;
  background: linear-gradient(90deg, var(--anb-bg) 0%, transparent 100%);
}

.anb__viewport::after {
  right: 0;
  background: linear-gradient(270deg, var(--anb-bg) 0%, transparent 100%);
}

/* ── Track ── */
.anb__track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  width: max-content;
  will-change: transform;
}

/* ── Scroll animation ── */
.anb__track--scroll {
  animation: anb-scroll var(--anb-speed, 28s) linear infinite;
}

.anb__track--scroll:hover,
.anb__track--scroll:focus-within {
  animation-play-state: paused;
}

@keyframes anb-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Set (original + duplicate) ── */
.anb__set {
  display: flex;
  align-items: center;
  gap: 0;
}

/* ── Individual message item ── */
.anb__item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 28px;
  height: var(--anb-height, 44px);
  white-space: nowrap;
  cursor: default;
  transition: opacity 0.2s;
}

.anb__item:hover { opacity: 0.85; }

/* ── Icon ── */
.anb__icon {
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}

/* ── Text ── */
.anb__text {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--anb-text);
  line-height: 1;
}

/* ── Accent word highlight ── */
.anb__text strong,
.anb__text b {
  color: var(--anb-accent, #D4820A);
  font-weight: 800;
}

/* ── Inline CTA link ── */
.anb__cta {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--anb-accent, #D4820A);
  text-decoration: none;
  border-bottom: 1px solid rgba(212, 130, 10, 0.4);
  padding-bottom: 1px;
  transition: border-color 0.2s, opacity 0.2s;
  flex-shrink: 0;
}

.anb__cta:hover {
  border-color: var(--anb-accent);
  opacity: 0.85;
}

/* ── Separator dot ── */
.anb__sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  opacity: 0.5;
  padding: 0 4px;
}

/* ── Hidden (closed) ── */
.anb--hidden {
  display: none !important;
}

/* ── Slide-up close animation ── */
.anb--closing {
  animation: anb-close-up 0.3s ease forwards;
  overflow: hidden;
}

@keyframes anb-close-up {
  from { height: var(--anb-height, 44px); opacity: 1; }
  to   { height: 0; opacity: 0; padding: 0; }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .anb__track--scroll { animation: none; }
}

/* ── Mobile adjustments ── */
@media screen and (max-width: 768px) {
  .anb {
    height: var(--anb-height, 40px);
  }

  .anb__text {
    font-size: 11px;
    letter-spacing: 0.8px;
  }

  .anb__item {
    padding: 0 20px;
    gap: 6px;
  }

  .anb__icon { font-size: 13px; }

  .anb__viewport::before,
  .anb__viewport::after {
    width: 30px;
  }
}
/* END_SECTION:header-announcements */
/* START_SECTION:resenas (INDEX:43) */
.asp *, .asp *::before, .asp *::after { box-sizing: border-box; margin: 0; padding: 0; }

.asp {
  background: var(--asp-bg, #F4EFE6);
  color: var(--asp-text, #111111);
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.asp__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
}

/* ── HEADER ── */
.asp__header { text-align: center; }

.asp__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--asp-amber, #D4820A);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.asp__eyebrow::before, .asp__eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--asp-amber, #D4820A);
  opacity: 0.4;
}

.asp__title {
  font-size: clamp(26px, 4vw, 46px);
  font-weight: 800;
  color: var(--asp-text, #111);
  line-height: 1.1;
  letter-spacing: -0.5px;
  margin-bottom: 18px;
}

.asp__rating-global {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.asp__stars-row { display: flex; gap: 2px; }

.asp__star { width: 18px; height: 18px; color: var(--asp-amber, #D4820A); }
.asp__star--lg { width: 20px; height: 20px; }
.asp__star--empty { color: rgba(0,0,0,0.12); }

.asp__rating-score { font-size: 18px; font-weight: 900; color: var(--asp-text, #111); }
.asp__rating-sep   { color: rgba(0,0,0,0.2); }
.asp__rating-count { font-size: 14px; color: var(--asp-muted, #777); }

/* ── HERO ── */
.asp__hero {
  width: 100%;
  max-width: 900px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 24px;
  overflow: hidden;
  background: var(--asp-card, #fff);
  box-shadow: 0 4px 40px rgba(0,0,0,0.08);
}

.asp__hero-img-wrap {
  position: relative;
  overflow: hidden;
  min-height: 340px;
}

.asp__hero-img-wrap--ph {
  background: #f0ece4;
  display: flex;
  align-items: center;
  justify-content: center;
}

.asp__hero-ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.asp__hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.5s ease;
}

.asp__hero:hover .asp__hero-img { transform: scale(1.03); }

.asp__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.3) 0%, transparent 50%);
  pointer-events: none;
}

/* Badge resultado flotante */
.asp__hero-result-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(22,163,74,0.95);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 5px;
  backdrop-filter: blur(4px);
  letter-spacing: 0.3px;
}

.asp__hero-content {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}

.asp__hero-stars { display: flex; gap: 3px; }

/* "Antes" chip */
.asp__hero-before {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 6px 12px;
  font-weight: 600;
}

.asp__hero-before-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: #f59e0b;
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
}

.asp__hero-quote {
  font-size: clamp(15px, 1.8vw, 19px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--asp-text, #111);
  font-style: italic;
}

.asp__hero-quote-mark {
  font-size: 64px;
  line-height: 0.4;
  color: var(--asp-amber, #D4820A);
  opacity: 0.25;
  font-family: Georgia, serif;
  display: block;
  margin-bottom: 10px;
}

.asp__hero-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.asp__hero-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--asp-amber, #D4820A);
  flex-shrink: 0;
}

.asp__hero-avatar-ph {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--asp-amber, #D4820A);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.asp__hero-meta { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.asp__hero-name   { font-size: 14px; font-weight: 700; color: var(--asp-text, #111); }
.asp__hero-detail { font-size: 11px; color: var(--asp-muted, #888); }

.asp__verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  color: var(--asp-green, #16A34A);
  letter-spacing: 0.5px;
  white-space: nowrap;
}

/* Timeline de resultados hero */
.asp__hero-timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--asp-border, #E8E0D4);
}

.asp__ht-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.asp__ht-line {
  flex: 1;
  height: 2px;
  background: #bbf7d0;
  margin-top: 9px;
  align-self: flex-start;
}

.asp__ht-dot {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 2px solid #bbf7d0;
  background: #fff;
  display: block;
}

.asp__ht-dot--done   { background: var(--asp-green, #16A34A); border-color: var(--asp-green, #16A34A); }
.asp__ht-dot--active { background: var(--asp-green, #16A34A); border-color: var(--asp-green, #16A34A); box-shadow: 0 0 0 4px rgba(22,163,74,0.2); }

.asp__ht-label { font-size: 10px; font-weight: 800; color: var(--asp-green, #16A34A); text-transform: uppercase; letter-spacing: 0.5px; }
.asp__ht-desc  { font-size: 10px; color: var(--asp-muted, #888); }

/* ── CARRUSEL WRAP ── */
.asp__carousel-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── GRID (desktop) ── */
.asp__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  width: 100%;
}

/* ── CARD ── */
.asp__card {
  background: var(--asp-card, #ffffff);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--asp-border, #E8E0D4);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s, box-shadow 0.25s;
}

.asp__card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.1); }

.asp__card--featured {
  border-color: var(--asp-amber, #D4820A);
  box-shadow: 0 0 0 1px rgba(212,130,10,0.2), 0 4px 20px rgba(212,130,10,0.1);
}

/* Foto */
.asp__card-photo-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.asp__card-photo {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}

.asp__card:hover .asp__card-photo { transform: scale(1.04); }

.asp__card-photo-ph {
  width: 100%; height: 100%;
  background: #f0ece4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 32px;
  color: #aaa;
  font-size: 13px;
}

.asp__card-photo-ph span:first-child { font-size: 32px; }

/* Badge "Semana X" — clave para fotos IA */
.asp__card-week-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(22,163,74,0.92);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 4px 9px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 4px;
  backdrop-filter: blur(4px);
  letter-spacing: 0.3px;
}

/* Antes → Ahora overlay */
.asp__card-transform {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.75), transparent);
  padding: 20px 10px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.asp__card-before {
  font-size: 9px;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.3px;
  text-decoration: line-through;
}

.asp__card-after {
  font-size: 9px;
  font-weight: 800;
  color: #86efac;
  letter-spacing: 0.3px;
}

.asp__card-transform svg { flex-shrink: 0; }

.asp__card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--asp-amber, #D4820A);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 20px;
}

/* Card body */
.asp__card-body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  flex: 1;
}

.asp__card-stars { display: flex; gap: 2px; }

.asp__card-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--asp-text, #111);
  line-height: 1.3;
}

.asp__card-text {
  font-size: 13px;
  line-height: 1.65;
  color: var(--asp-muted, #666);
  flex: 1;
}

.asp__card-tag {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(22,163,74,0.1);
  border: 1px solid rgba(22,163,74,0.2);
  color: var(--asp-green, #16A34A);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 20px;
  align-self: flex-start;
}

.asp__card-author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--asp-border, #E8E0D4);
  margin-top: auto;
}

.asp__card-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid var(--asp-border, #E8E0D4);
  flex-shrink: 0;
}

.asp__card-avatar-ph {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--asp-amber, #D4820A), #e8920a);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.asp__card-author-info { flex: 1; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.asp__card-name     { font-size: 12px; font-weight: 700; color: var(--asp-text, #111); }
.asp__card-location { font-size: 10px; color: var(--asp-muted, #888); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.asp__card-verified { flex-shrink: 0; display: flex; align-items: center; }

/* Dots mobile */
.asp__dots {
  display: none;
  justify-content: center;
  gap: 6px;
}

.asp__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(0,0,0,0.15);
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.asp__dot--active {
  background: var(--asp-amber, #D4820A);
  transform: scale(1.3);
}

/* ── TRUST BAR ── */
.asp__trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  padding: 18px 32px;
  background: var(--asp-card, #fff);
  border: 1px solid var(--asp-border, #E8E0D4);
  border-radius: 100px;
  width: fit-content;
}

.asp__trust-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--asp-muted, #666);
  font-weight: 500;
  white-space: nowrap;
}

.asp__trust-item strong { color: var(--asp-text, #111); font-weight: 800; }
.asp__trust-sep { color: rgba(0,0,0,0.15); font-size: 16px; }

/* ── CTA ── */
.asp__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.asp__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 20px 52px;
  background: var(--asp-amber, #D4820A);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 6px 28px rgba(212,130,10,0.3);
}

.asp__btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,0.15) 50%, transparent 65%);
  transform: translateX(-100%);
  transition: transform 0.5s;
}

.asp__btn:hover::after  { transform: translateX(100%); }
.asp__btn:hover         { background: #c0730a; transform: translateY(-2px); box-shadow: 0 12px 36px rgba(212,130,10,0.4); }
.asp__btn:active        { transform: scale(0.98); }

.asp__btn-sub {
  font-size: 12px;
  color: rgba(0,0,0,0.35);
  letter-spacing: 0.3px;
  text-align: center;
}

/* ══ TABLET ══ */
@media screen and (max-width: 960px) {
  .asp__grid { grid-template-columns: repeat(2, 1fr); }
  .asp__hero { grid-template-columns: 1fr; }
  .asp__hero-img-wrap { min-height: 260px; max-height: 320px; }
}

/* ══ MOBILE ══ */
@media screen and (max-width: 640px) {
  .asp__inner { padding: 0 16px; gap: 36px; }

  /* Carrusel horizontal en mobile */
  .asp__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-padding: 0 16px;
    gap: 12px;
    grid-template-columns: unset;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .asp__grid::-webkit-scrollbar { display: none; }

  .asp__card {
    flex: 0 0 80vw;
    max-width: 320px;
    scroll-snap-align: start;
  }

  .asp__dots { display: flex; }

  .asp__hero-content { padding: 22px 18px; gap: 14px; }
  .asp__hero-quote   { font-size: 14px; }
  .asp__hero-timeline { gap: 0; }
  .asp__ht-label { font-size: 9px; }
  .asp__ht-desc  { font-size: 9px; }

  .asp__trust-bar {
    flex-direction: column;
    gap: 10px;
    border-radius: 16px;
    padding: 16px 20px;
    width: 100%;
  }

  .asp__trust-sep { display: none; }
  .asp__btn { width: 100%; padding: 18px; }

  /* En mobile las reseñas van en carrusel — no necesita "ver más" */
  .asp__more-wrap { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .asp__card, .asp__hero-img, .asp__card-photo, .asp__btn::after { transition: none; }
}

/* ── Ver más ── */
.asp__card--hidden {
  display: none;
}

.asp__card--hidden.asp__card--visible {
  display: flex;
  animation: asp-fade-in 0.3s ease forwards;
}

@keyframes asp-fade-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.asp__more-wrap {
  display: flex;
  justify-content: center;
  padding-top: 8px;
}

.asp__more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: transparent;
  border: 2px solid var(--asp-border, #E8E0D4);
  border-radius: 100px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--asp-text, #111);
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, transform 0.15s;
  letter-spacing: 0.3px;
}

.asp__more-btn:hover {
  border-color: var(--asp-amber, #D4820A);
  background: #fffbf4;
  transform: translateY(-1px);
}

.asp__more-btn:active { transform: scale(0.98); }

.asp__more-icon {
  color: var(--asp-amber, #D4820A);
  transition: transform 0.2s;
}

.asp__more-btn--open .asp__more-icon {
  transform: rotate(180deg);
}

.asp__more-btn--open {
  display: none;
}
/* END_SECTION:resenas */
/* START_SECTION:seccion2-ingredientes (INDEX:47) */
/* ══════════════════════════════════════════
   AMNESS Benefits Section
   Layout inspirado en MYKO
══════════════════════════════════════════ */

/* Override Tinker / tema — padding simétrico */
.amness-benefits-section,
.amness-benefits-section > *,
.amness-benefits-section .shopify-section-group-header-group,
section.amness-benefits-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.abf *, .abf *::before, .abf *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.abf {
  background: var(--abf-bg, #F4EFE6);
  color: var(--abf-text, #111111);
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.abf__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
  box-sizing: border-box;
}

/* ══════════════════════
   GRID 2 COLUMNAS
══════════════════════ */
.abf__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center;
  width: 100%;
}

@media screen and (min-width: 900px) {
  .abf__grid {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
}

/* ══════════════════════
   IMAGEN + ANOTACIONES
══════════════════════ */
.abf__left { position: relative; }

.abf__img-wrap {
  position: relative;
  border-radius: 20px;
  overflow: visible;
}

.abf__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  object-fit: cover;
}

.abf__img-ph {
  width: 100%;
  aspect-ratio: 3/4;
  background: #e8e4de;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #999;
  font-size: 13px;
}

/* ── Anotaciones flotantes ── */
.abf__annotation {
  display: none !important;
}

.abf__ann-icon {
  font-size: 22px;
  line-height: 1;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.3));
}

.abf__ann-text {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
  max-width: 100px;
}

/* Flecha curva SVG como pseudo */
.abf__ann-arrow {
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
}

.abf__ann-arrow--down {
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 2 C9 2 5 8 5 14 M5 14 L3 11 M5 14 L8 12' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;
}

.abf__ann-arrow--up {
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 16 C9 16 5 10 5 4 M5 4 L3 7 M5 4 L8 6' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;
}

/* ══════════════════════
   COLUMNA DERECHA
══════════════════════ */
.abf__right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Eyebrow */
.abf__eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.abf__eyebrow-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--abf-amber, #D4820A);
}

.abf__eyebrow-tag:not(:last-child)::after {
  content: ' |';
  color: var(--abf-amber, #D4820A);
  opacity: 0.5;
}

/* Título */
.abf__title {
  font-size: clamp(26px, 3.5vw, 40px);
  font-weight: 800;
  line-height: 1.1;
  color: var(--abf-text, #111);
  letter-spacing: -0.5px;
}

.abf__title-em {
  font-style: normal;
  color: var(--abf-amber, #D4820A);
}

/* Descripción */
.abf__desc {
  font-size: 15px;
  line-height: 1.7;
  color: var(--abf-muted, #555);
  font-weight: 400;
  max-width: 480px;
}

/* ══════════════════════
   TABLA COMPARATIVA
══════════════════════ */
.abf__comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1.5px solid var(--abf-amber, #D4820A);
  border-radius: 14px;
  overflow: hidden;
  background: var(--abf-card, #fff);
}

.abf__comp-col {
  padding: 18px 20px;
}

.abf__comp-col:first-child {
  border-right: 1px solid var(--abf-border, #E4DED2);
}

.abf__comp-label {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--abf-amber, #D4820A);
  margin-bottom: 10px;
}

.abf__comp-body {
  font-size: 13px;
  line-height: 1.7;
  color: var(--abf-text, #111);
}

.abf__comp-body strong { font-weight: 700; }

/* Checkmarks en el contenido */
.abf__comp-body ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.abf__comp-body li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
}

.abf__comp-body li::before {
  content: '✓';
  color: var(--abf-amber, #D4820A);
  font-weight: 800;
  font-size: 13px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ══════════════════════
   CERTIFICACIONES
══════════════════════ */
.abf__certs {
  display: flex;
  gap: 0;
  border-top: 1px solid var(--abf-border, #E4DED2);
  border-bottom: 1px solid var(--abf-border, #E4DED2);
  padding: 4px 0;
}

.abf__cert {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 8px;
  text-align: center;
  border-right: 1px solid var(--abf-border, #E4DED2);
  transition: background 0.2s;
}

.abf__cert:last-child { border-right: none; }

.abf__cert:hover { background: rgba(212,130,10,.04); }

.abf__cert-icon {
  font-size: 26px;
  line-height: 1;
  color: var(--abf-amber, #D4820A);
  display: block;
}

.abf__cert-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--abf-text, #111);
  line-height: 1.3;
}

/* ══════════════════════
   CTA ROW
══════════════════════ */
.abf__cta-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.abf__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 32px;
  background: var(--abf-amber, #D4820A);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 12px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 4px 20px rgba(212,130,10,0.3);
}

.abf__btn:hover {
  background: #c0730a;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(212,130,10,0.4);
}

.abf__btn:active { transform: scale(0.98); }

.abf__ing-text {
  font-size: 12px;
  line-height: 1.6;
  color: var(--abf-muted, #777);
  flex: 1;
  min-width: 180px;
}

.abf__ing-text strong {
  color: var(--abf-text, #111);
  font-weight: 700;
}

/* ══════════════════════════════════════════
   MOBILE — Optimizado
   Orden: imagen → tags → título → desc
          → tabla → certs → botón → ingredientes
══════════════════════════════════════════ */
@media screen and (max-width: 899px) {

  /* ── Contenedor — padding simétrico ── */
  .abf__inner {
    padding: 0 16px !important;
    margin: 0 auto !important;
    width: 100% !important;
  }
  .abf__grid { gap: 24px; width: 100%; }

  /* Reset márgenes heredados del tema ── */
  .abf__right,
  .abf__left {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100%;
    min-width: 0;
  }

  /* ── Columna derecha más compacta ── */
  .abf__right { gap: 16px; }

  /* ── Imagen: ratio 4:3 en móvil, no tan alta ── */
  .abf__img {
    border-radius: 16px;
    max-height: 340px;
    object-fit: cover;
    object-position: center top;
    width: 100%;
  }
  .abf__img-wrap { border-radius: 16px; }

  /* ── Anotaciones: ocultar en móvil (saturan) ── */
  .abf__annotation { display: none; }

  /* ── Eyebrow: scroll horizontal ── */
  .abf__eyebrow {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
    gap: 0;
  }
  .abf__eyebrow::-webkit-scrollbar { display: none; }
  .abf__eyebrow-tag { font-size: 10px; white-space: nowrap; flex-shrink: 0; }

  /* ── Título ── */
  .abf__title { font-size: clamp(22px, 6vw, 30px); }

  /* ── Descripción ── */
  .abf__desc { font-size: 14px; max-width: 100%; }

  /* ── Tabla comparativa: 1 columna ── */
  .abf__comparison { grid-template-columns: 1fr; }
  .abf__comp-col:first-child {
    border-right: none;
    border-bottom: 1px solid var(--abf-border, #E4DED2);
  }
  .abf__comp-col { padding: 14px 16px; }
  .abf__comp-body { font-size: 13px; }

  /* ── Certificaciones: scroll horizontal ── */
  .abf__certs {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 4px 0 8px;
    /* Fade en los extremos */
    -webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  }
  .abf__certs::-webkit-scrollbar { display: none; }
  .abf__cert {
    min-width: 68px;
    padding: 12px 6px;
    flex-shrink: 0;
  }
  .abf__cert-icon { font-size: 22px; }
  .abf__cert-label { font-size: 9px; letter-spacing: 0.3px; }

  /* ── CTA row: botón arriba, texto abajo ── */
  .abf__cta-row {
    flex-direction: column;
    gap: 12px;
  }
  .abf__btn {
    width: 100%;
    text-align: center;
    padding: 16px;
    font-size: 13px;
  }
  .abf__ing-text {
    font-size: 11px;
    min-width: 0;
    color: var(--abf-muted, #888);
  }
}

/* ── Móvil pequeño ── */
@media screen and (max-width: 380px) {
  .abf__title    { font-size: 20px; }
  .abf__desc     { font-size: 13px; }
  .abf__cert     { min-width: 60px; padding: 10px 4px; }
  .abf__cert-icon { font-size: 20px; }
  .abf__img      { max-height: 280px; }
}
/* END_SECTION:seccion2-ingredientes */
/* START_SECTION:seccion3-comparacion (INDEX:48) */
/* ══════════════════════════════════════════
   AMNESS — Before / After
   Ultra emocional · Wellness premium
══════════════════════════════════════════ */

.aba *, .aba *::before, .aba *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Base ── */
.aba {
  background: var(--aba-bg, #0A0A08);
  color: #ffffff;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  position: relative;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── Ambient background glows ── */
.aba__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.aba__ambient-left {
  position: absolute;
  width: 500px;
  height: 500px;
  top: 20%;
  left: -15%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,0,0,0.04) 0%, transparent 65%);
  filter: blur(60px);
}

.aba__ambient-right {
  position: absolute;
  width: 500px;
  height: 500px;
  top: 10%;
  right: -10%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,130,10,0.08) 0%, transparent 65%);
  filter: blur(60px);
}

/* ── Inner ── */
.aba__inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ══════════════════════
   HEADER
══════════════════════ */
.aba__header {
  text-align: center;
  margin-bottom: 52px;
}

.aba__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--aba-amber, #D4820A);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.aba__eyebrow::before,
.aba__eyebrow::after {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--aba-amber, #D4820A);
  opacity: 0.4;
}

.aba__title {
  font-size: clamp(28px, 4.5vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.5px;
  color: #111;
  margin-bottom: 16px;
}

.aba__subtitle {
  font-size: 16px;
  color: rgba(0,0,0,0.5);
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.7;
  font-weight: 300;
}

/* ══════════════════════
   CARDS LAYOUT
══════════════════════ */
.aba__cards {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  align-items: start;
}

/* ── Card base ── */
.aba__card {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ── Label chip ── */
.aba__card-label-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}

.aba__card-label {
  display: inline-flex;
  align-items: center;
  padding: 6px 20px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.aba__card-label--before {
  background: rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.15);
  color: rgba(0,0,0,0.5);
}

.aba__card-label--after {
  background: rgba(212,130,10,0.15);
  border: 1px solid rgba(212,130,10,0.4);
  color: var(--aba-amber, #D4820A);
}

/* ══════════════════════
   IMAGEN
══════════════════════ */
.aba__img-wrap {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  margin-bottom: 24px;
}

.aba__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.6s ease;
}

.aba__img-wrap:hover .aba__img { transform: scale(1.03); }

/* Placeholder */
.aba__img-ph {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
}

.aba__img-ph--before {
  background: #ddd8cf;
  color: rgba(0,0,0,0.3);
}

.aba__img-ph--after {
  background: #e8dfc8;
  color: rgba(212,130,10,0.6);
}

/* Gradient overlay en imagen */
.aba__img-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: 24px;
}

.aba__img-overlay--before {
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(180,170,158,0.4) 100%
  );
}

.aba__img-overlay--after {
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(180,140,60,0.25) 100%
  );
}

/* Glow en imagen "después" */
.aba__img-glow {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  box-shadow: inset 0 0 60px rgba(212,130,10,0.12);
  pointer-events: none;
}

/* Border ANTES: frío/grisáceo */
.aba__img-wrap--before {
  border: 1.5px solid rgba(0,0,0,0.1);
}

/* Border DESPUÉS: cálido/ámbar */
.aba__img-wrap--after {
  border: 1.5px solid rgba(212,130,10,0.3);
  box-shadow:
    0 0 0 1px rgba(212,130,10,0.1),
    0 20px 60px rgba(212,130,10,0.12);
}

/* ══════════════════════
   SÍNTOMAS / BENEFICIOS
══════════════════════ */
.aba__symptoms {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 4px;
}

.aba__symptom {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  transition: transform 0.2s, background 0.2s;
}

.aba__symptom:hover { transform: translateX(3px); }

/* ANTES — tonos fríos/grises */
.aba__symptom--before {
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
}

.aba__symptom--before:hover {
  background: rgba(0,0,0,0.07);
}

/* DESPUÉS — tonos cálidos/ámbar */
.aba__symptom--after {
  background: rgba(212,130,10,0.08);
  border: 1px solid rgba(212,130,10,0.15);
}

.aba__symptom--after:hover {
  background: rgba(212,130,10,0.12);
}

.aba__symptom-icon {
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 1px;
}

.aba__symptom-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.aba__symptom-title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.aba__symptom--before .aba__symptom-title {
  color: rgba(0,0,0,0.65);
}

.aba__symptom-sub {
  font-size: 12px;
  color: rgba(0,0,0,0.4);
  font-weight: 400;
  line-height: 1.4;
}

.aba__symptom--after .aba__symptom-sub {
  color: var(--aba-amber, #D4820A);
  opacity: 0.8;
}

/* ══════════════════════
   DIVISOR CENTRAL
══════════════════════ */
.aba__divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  margin-top: 58px; /* alinea con el centro de las imágenes */
  height: 100%;
  gap: 8px;
}

.aba__divider-line {
  flex: 1;
  width: 1px;
  background: linear-gradient(to bottom,
    transparent,
    rgba(212,130,10,0.4) 30%,
    rgba(212,130,10,0.4) 70%,
    transparent
  );
}

.aba__divider-badge {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--aba-amber, #D4820A);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 0 0 8px rgba(212,130,10,0.1), 0 0 30px rgba(212,130,10,0.3);
  animation: aba-pulse 2.5s ease-in-out infinite;
}

@keyframes aba-pulse {
  0%, 100% { box-shadow: 0 0 0 6px rgba(212,130,10,0.1), 0 0 20px rgba(212,130,10,0.2); }
  50%       { box-shadow: 0 0 0 12px rgba(212,130,10,0.08), 0 0 40px rgba(212,130,10,0.35); }
}

/* ══════════════════════
   QUOTE EMOCIONAL
══════════════════════ */
.aba__quote {
  text-align: center;
  margin-top: 52px;
  padding: 32px 40px;
  background: rgba(212,130,10,0.08);
  border: 1px solid rgba(212,130,10,0.2);
  border-radius: 20px;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.aba__quote::before {
  content: '"';
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 80px;
  line-height: 1;
  color: var(--aba-amber, #D4820A);
  opacity: 0.3;
  font-family: Georgia, serif;
}

.aba__quote-text {
  font-size: clamp(15px, 2vw, 18px);
  font-weight: 500;
  line-height: 1.7;
  color: rgba(0,0,0,0.75);
  font-style: italic;
  margin-bottom: 12px;
}

.aba__quote-text::before,
.aba__quote-text::after { content: ''; }

.aba__quote-author {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--aba-amber, #D4820A);
}

/* ══════════════════════
   CTA
══════════════════════ */
.aba__cta-wrap {
  text-align: center;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.aba__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 20px 48px;
  background: var(--aba-amber, #D4820A);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 14px;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 6px 30px rgba(212,130,10,0.35);
  position: relative;
  overflow: hidden;
}

/* Shimmer effect */
.aba__btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,0.15) 50%, transparent 65%);
  transform: translateX(-100%);
  transition: transform 0.55s;
}

.aba__btn:hover::after { transform: translateX(100%); }

.aba__btn:hover {
  background: #c0730a;
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(212,130,10,0.45);
}

.aba__btn:active { transform: scale(0.98); }

.aba__btn-sub {
  font-size: 12px;
  color: rgba(0,0,0,0.4);
  font-weight: 400;
  letter-spacing: 0.5px;
}

/* ══════════════════════
   MOBILE
══════════════════════ */
@media screen and (max-width: 767px) {

  .aba__inner { padding: 0 16px; }
  .aba__header { margin-bottom: 32px; }

  /* Cards en columna única: Antes → flecha → Después */
  .aba__cards {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  /* Divisor horizontal en móvil */
  .aba__divider {
    flex-direction: row;
    padding: 16px 0;
    margin-top: 0;
    height: auto;
  }

  .aba__divider-line {
    flex: 1;
    width: auto;
    height: 1px;
    background: linear-gradient(to right,
      transparent,
      rgba(212,130,10,0.4) 30%,
      rgba(212,130,10,0.4) 70%,
      transparent
    );
  }

  /* Imagen más compacta */
  .aba__img-wrap {
    aspect-ratio: 4 / 3;
    margin-bottom: 16px;
  }

  /* Quote más compacto */
  .aba__quote {
    margin-top: 32px;
    padding: 24px 20px;
  }

  .aba__quote::before { font-size: 60px; top: -14px; }
  .aba__quote-text { font-size: 14px; }

  /* CTA full width */
  .aba__btn {
    width: 100%;
    padding: 18px 24px;
    font-size: 13px;
  }
}

@media screen and (max-width: 380px) {
  .aba__symptom-title { font-size: 13px; }
  .aba__symptom-icon  { font-size: 18px; }
  .aba__title { font-size: 24px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .aba__divider-badge { animation: none; }
  .aba__img:hover     { transform: none; }
  .aba__btn::after    { display: none; }
}
/* END_SECTION:seccion3-comparacion */
/* START_SECTION:seccion4-beneficios (INDEX:49) */
/* ══════════════════════════════════════════
   AMNESS — Trust & Guarantee
   Imagen + rating + garantía + beneficios
══════════════════════════════════════════ */

.atg *, .atg *::before, .atg *::after {
  box-sizing: border-box; margin: 0; padding: 0;
}

.atg {
  background: var(--atg-bg, #F4EFE6);
  color: var(--atg-text, #111);
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  position: relative;
}

/* Ambient glow */
.atg::before {
  content: '';
  position: absolute;
  top: 50%; right: -10%;
  transform: translateY(-50%);
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,130,10,0.08) 0%, transparent 65%);
  filter: blur(50px);
  pointer-events: none;
}

.atg__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

/* ══════════════════════
   GRID
══════════════════════ */
.atg__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center;
}

@media screen and (min-width: 860px) {
  .atg__grid {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
}

/* ══════════════════════
   LEFT — Trust
══════════════════════ */
.atg__left {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* ── Clientes ── */
.atg__clients { line-height: 1.05; }

.atg__clients-num {
  font-size: clamp(40px, 7vw, 72px);
  font-weight: 900;
  color: var(--atg-text, #111);
  letter-spacing: -2px;
  line-height: 1;
}

.atg__clients-label {
  font-size: clamp(28px, 4.5vw, 52px);
  font-weight: 900;
  color: var(--atg-amber, #D4820A);
  letter-spacing: -1px;
  line-height: 1.1;
}

/* ── Rating ── */
.atg__rating {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.atg__stars {
  display: flex;
  gap: 4px;
}

.atg__star {
  width: 32px;
  height: 32px;
  color: var(--atg-amber, #D4820A);
}

.atg__rating-info {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.atg__rating-score {
  font-size: 32px;
  font-weight: 900;
  color: var(--atg-text, #111);
  letter-spacing: -1px;
}

.atg__rating-label {
  font-size: 14px;
  color: var(--atg-muted, #777);
  font-weight: 400;
}

/* ── Garantía ── */
.atg__guarantee {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  background: var(--atg-card, #fff);
  border: 1px solid rgba(212,130,10,0.2);
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(212,130,10,0.08);
}

.atg__guarantee-shield {
  width: 52px;
  height: 60px;
  flex-shrink: 0;
}

.atg__guarantee-shield svg {
  width: 100%;
  height: 100%;
}

.atg__guarantee-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.atg__guarantee-title {
  font-size: 22px;
  font-weight: 900;
  color: var(--atg-amber, #D4820A);
  line-height: 1.1;
  letter-spacing: -0.3px;
}

.atg__guarantee-sub {
  font-size: 14px;
  color: var(--atg-muted, #777);
  font-weight: 400;
}

/* ── Benefits ── */
.atg__benefits {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.atg__benefit {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  background: var(--atg-card, #fff);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  color: var(--atg-text, #111);
  letter-spacing: 0.3px;
  white-space: nowrap;
  transition: border-color 0.2s, background 0.2s;
}

.atg__benefit:hover {
  border-color: var(--atg-amber, #D4820A);
  background: rgba(212,130,10,0.04);
}

.atg__benefit-icon { font-size: 16px; line-height: 1; }

/* ══════════════════════
   RIGHT — Producto
══════════════════════ */
.atg__right {
  display: flex;
  align-items: center;
  justify-content: center;
}

.atg__product-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.atg__product-img {
  width: 100%;
  max-width: 440px;
  height: auto;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 2;
  object-fit: cover;
}

.atg__product-ph {
  font-size: 80px;
  opacity: 0.2;
}

.atg__product-glow {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,130,10,0.15) 0%, transparent 65%);
  filter: blur(30px);
  pointer-events: none;
  z-index: 1;
}

/* ══════════════════════
   MOBILE
══════════════════════ */
@media screen and (max-width: 859px) {
  /* Imagen arriba en mobile */
  .atg__grid { grid-template-columns: 1fr; }
  .atg__right { order: -1; }
  .atg__product-img { max-width: 280px; border-radius: 16px; }

  .atg__clients-num   { font-size: 52px; }
  .atg__clients-label { font-size: 36px; }
  .atg__rating-score  { font-size: 26px; }
  .atg__star          { width: 26px; height: 26px; }
  .atg__guarantee     { padding: 16px 18px; }
  .atg__guarantee-title { font-size: 18px; }
}

@media screen and (max-width: 480px) {
  .atg__inner { padding: 0 16px; }
  .atg__left  { gap: 22px; }
  .atg__clients-num   { font-size: 44px; }
  .atg__clients-label { font-size: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .atg__benefit { transition: none; }
}
/* END_SECTION:seccion4-beneficios */
/* START_BLOCK:footer-policy-list (INDEX:120) */
.policy-list-trigger {
    anchor-name: --terms-policies-trigger;
    cursor: pointer;
    font-size: var(--font-size, 0.75rem);
    text-transform: var(--text-transform, none);
  }

  .policy_list {
    li {
      border-radius: calc(var(--style-border-radius-popover) - 8px);

      a {
        color: var(--color-foreground);
        display: inline-block;
        padding: 8px;
        text-align: start;
        width: 100%;
        outline-color: #0000;
        font-size: var(--font-size, 0.75rem);
        text-transform: var(--text-transform, none);
      }

      &:is(:hover, :focus-within) {
        background: rgb(var(--color-foreground-rgb) / 0.15);
      }
    }
  }

  .terms-policies-popover {
    position-anchor: --terms-policies-trigger;
    inset: unset;
    bottom: calc(anchor(top) + 1rem);
    left: anchor(left);
    border-radius: var(--style-border-radius-popover);
    background: linear-gradient(var(--color-background) 0 100%),
      linear-gradient(rgb(var(--color-background-rgb) / 0.15) 0 100%);
    background-clip: padding-box, border-box;
    border: 1px solid #0000;
    box-shadow: var(--shadow-popover);
    padding: 8px;
    margin: 0;
    opacity: 0;
    scale: 0.94;
    translate: 0 6px;
    transform-origin: 3.9em 100%;
  }

  .terms-policies-popover.\:popover-open,
  .terms-policies-popover:popover-open {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }

  @media screen and (max-width: 749px) {
    .terms-policies-popover {
      left: anchor(center);
      transform: translate(-50%, 0);
      transform-origin: 0% 100%;
    }
  }

  @supports not (position-anchor: --account-button-trigger) {
    .terms-policies-popover {
      bottom: unset;
      top: calc(var(--anchor-top) * 1px);
      left: calc(var(--anchor-left) * 1px);
      transform: translate(0, calc(-100% - 1.25rem));
    }

    @media screen and (max-width: 749px) {
      .terms-policies-popover {
        left: calc((var(--anchor-left) + (var(--anchor-width) / 2)) * 1px);
        transform: translate(-50%, calc(-100% - 1.25rem));
      }
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    .terms-policies-popover {
      transition-property: display, overlay, opacity, scale, translate;
      transition-behavior: allow-discrete;
      transition-duration: 0.3s;
      transition-timing-function: var(--ease-out-quad);
    }

    @starting-style {
      .terms-policies-popover.\:popover-open,
      .terms-policies-popover:popover-open {
        opacity: 0.7;
        translate: 0 6px;
        scale: 0.94;
      }
    }
  }
/* END_BLOCK:footer-policy-list */
/* START_SNIPPET:product-media-gallery-content-styles (INDEX:204) */
media-gallery:where(.media-gallery--grid) .media-gallery__grid {
    display: none;
  }

  media-gallery.media-gallery--grid .media-gallery__grid .product-media-container {
    /* Needed for safari to stretch to full grid height */
    height: 100%;
  }

  @media screen and (min-width: 750px) {
    .media-gallery--two-column .media-gallery__grid {
      grid-template-columns: repeat(2, 1fr);
    }

    /* Display grid view as a carousel on mobile, grid on desktop */
    media-gallery:is(.media-gallery--grid) slideshow-component {
      display: none;
    }

    media-gallery:where(.media-gallery--grid) .media-gallery__grid {
      display: grid;
    }
  }

  .product-media-container__zoom-button {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: var(--layer-flat);
    cursor: zoom-in;
    background-color: transparent;

    &:hover {
      background-color: transparent;
    }
  }

  slideshow-slide.product-media-container--tallest {
    content-visibility: visible;
  }

  .product-media__drag-zoom-wrapper {
    aspect-ratio: inherit;
    min-height: inherit;
    min-width: inherit;
    display: inherit;
    flex: inherit;
  }

  .media-gallery__mobile-controls {
    grid-area: auto;
  }

  .product-media-container--zoomable.product-media-container--image {
    cursor: zoom-in;
  }
/* END_SNIPPET:product-media-gallery-content-styles */
/* START_SNIPPET:quick-add-modal-styles (INDEX:208) */
#quick-add-dialog {
    display: contents;
  }

  @media screen and (min-width: 750px) {
    .quick-add-modal {
      width: var(--quick-add-modal-width);
      height: var(--quick-add-modal-height);
      max-width: none;
    }
  }

  .quick-add-modal {
    padding: 0;
    border: var(--style-border-popover);
    overflow: hidden;
    box-shadow: 0 5px 30px rgb(0 0 0 / var(--opacity-15));

    @media screen and (max-width: 749px) {
      position: fixed;
      margin: auto 0 0 0;
      min-height: unset;
      max-width: 100%;
      border-radius: 0;
      overflow: clip;
      height: fit-content;
    }
  }

  .quick-add-modal[open] {
    @media screen and (max-width: 750px) {
      border-top-left-radius: var(--style-border-radius-popover);
      border-top-right-radius: var(--style-border-radius-popover);
    }
  }

  .quick-add-modal[open] {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .quick-add-modal .view-more-details__wrapper {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .quick-add-modal[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal__close {
    position: absolute;
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    transition: transform 0.15s var(--animation-timing-bounce);
    z-index: var(--layer-raised);
    overflow: visible;
    transform-origin: center;
  }

  .quick-add-modal__close:active {
    transform: scale(0.99) translateY(1px);
  }

  .quick-add-modal__close {
    &:focus-visible {
      outline: none;
    }

    &:focus-visible::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: calc(var(--style-border-radius-popover) - var(--margin-2xs));
      outline: var(--focus-outline-width) solid currentColor;
    }
  }

  .quick-add-modal__content {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: 100% 1fr;
    position: relative;
    overflow-y: auto;
    max-height: 100vh;
    flex-grow: 1;

    @media screen and (max-width: 749px) {
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: auto;
      padding-inline: var(--padding-xl);
      padding-block: var(--padding-xl);
      gap: var(--gap-lg);
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      height: auto; /* Prevent a bug in Safari where height:fit-content is not respected */
      max-height: 100vh;
    }
  }

  .quick-add-modal__content .media-gallery--grid .media-gallery__grid {
    grid-template-columns: 1fr;
  }

  .quick-add-modal__content .media-gallery--grid.media-gallery--two-column .product-media-container:first-child {
    grid-column: auto;
  }

  .quick-add-modal__content {
    /* One column */
    .media-gallery--grid:not(.media-gallery--two-column) .product-media > *,
      /* Two column, small first image */
      .media-gallery--grid.media-gallery--two-column:not(.media-gallery--large-first-image)
      .product-media-container:nth-of-type(odd)
      .product-media > *,
      /* Two column, large first image */
      .media-gallery--grid.media-gallery--two-column.media-gallery--large-first-image
        .product-media-container:is(:first-of-type, :nth-of-type(even))
        .product-media > *,
        /* Carousel */
      .media-gallery--carousel slideshow-container {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }

  .quick-add-modal__content .view-more-details__wrapper {
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }

  .view-more-details__wrapper .view-more-details {
    display: flex;
    align-items: center;
    width: fit-content;
  }

  .quick-add-modal__content .product-header {
    @media screen and (max-width: 749px) {
      display: flex;
      flex-direction: column;
      grid-column: 2 / -1;
      grid-row: 1;
      padding-right: var(--padding-2xl);
    }
  }

  .quick-add-modal__content .product-header a:not(product-price *) {
    @media screen and (max-width: 749px) {
      font-size: var(--font-size--md);
      font-weight: 500;
      color: inherit;
      width: fit-content;
    }
  }

  .quick-add-modal__content variant-picker,
  .quick-add-modal__content product-form-component {
    @media screen and (max-width: 749px) {
      grid-column: 1 / -1;
    }
  }

  .quick-add-modal__content .product-media-container__zoom-button {
    cursor: default;
  }

  .quick-add-modal__content .product-details {
    grid-column: 4 / -1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    position: relative;

    dialog[open] & {
      animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
      animation-delay: 0.1s;
    }

    @media screen and (max-width: 749px) {
      grid-column: 2 / span 2;
      grid-row: span 1;
      max-height: 100%;
      height: 100%;
    }
  }

  @property --quick-add-modal-mask-start {
    syntax: '<length>';
    initial-value: 0px;
    inherits: false;
  }

  @property --quick-add-modal-mask-end {
    syntax: '<length>';
    initial-value: 0px;
    inherits: true;
  }

  @keyframes detect-scroll {
    from,
    to {
      --can-scroll: ;
    }
  }

  @supports (animation-timeline: scroll(self)) {
    dialog[open] .quick-add-modal__content .product-details {
      mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--quick-add-modal-mask-start), #000 100%);
      animation: 0.3s var(--animation-timing-fade-in) 0.1s both fadeSlideIn, scrollStart 1s linear both,
        scrollEnd 1s linear both, detect-scroll 1ms linear none;
      animation-timeline: auto, scroll(self), scroll(self), scroll(self);
      animation-range: normal, 0px 48px, calc(100% - 48px) 100%, 0% 100%;
    }
  }

  @keyframes scrollStart {
    from {
      --quick-add-modal-mask-start: 0px;
    }
    to {
      --quick-add-modal-mask-start: 48px;
    }
  }

  @keyframes scrollEnd {
    from {
      --quick-add-modal-mask-end: 0px;
    }
    to {
      --quick-add-modal-mask-end: 48px;
    }
  }

  .quick-add-modal__content .product-details > .group-block {
    flex-grow: 1;
    width: auto;
  }

  .quick-add-modal__content > * {
    min-height: 0;
  }

  .quick-add-modal__content .product-details :is(.view-product-title, .buy-buttons-block) {
    flex: 0 0 auto;
  }
  .quick-add-modal__content .product-details :is(.buy-buttons-block) {
    margin-top: auto;
    position: sticky;
    bottom: 0;
    padding-bottom: var(--padding-3xl);
    background-color: var(--color-background);
    z-index: var(--layer-raised);

    &::before {
      --quick-add-modal-mask-end-progressive-enhanced: 0px;

      position: absolute;
      content: '';
      display: block;
      inset: auto 0 100% 0;
      pointer-events: none;
      height: min(var(--gap-2xl), var(--gap));
      background-color: inherit;
      mask-image: linear-gradient(
        to top,
        #000 0%,
        #000 calc(var(--gap-2xs)),
        transparent calc(100% - var(--quick-add-modal-mask-end-progressive-enhanced)),
        transparent
      );
    }
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) {
    position: static;
    padding-bottom: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) > product-form-component {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form) form {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .quick-add-modal__content .product-details .buy-buttons-block:has(gift-card-recipient-form)::before {
    display: none;
  }

  .quick-add-modal__content .product-details .buy-buttons-block__bar {
    display: block;
    position: sticky;
    bottom: 0;
    margin-top: auto;
    padding-block: var(--gap-md) var(--padding-3xl);
    background-color: var(--color-background);
    z-index: var(--layer-raised);

    &::before {
      --quick-add-modal-mask-end-progressive-enhanced: 0px;

      position: absolute;
      content: '';
      display: block;
      inset: auto 0 100% 0;
      pointer-events: none;
      height: min(var(--gap-2xl), var(--gap));
      background-color: inherit;
      mask-image: linear-gradient(
        to top,
        #000 0%,
        #000 calc(var(--gap-2xs)),
        transparent calc(100% - var(--quick-add-modal-mask-end-progressive-enhanced)),
        transparent
      );
    }
  }

  @supports (animation-timeline: scroll(self)) {
    .quick-add-modal__content .product-details :is(.buy-buttons-block)::before,
    .quick-add-modal__content .product-details .buy-buttons-block__bar::before {
      --mask-if-scroll: var(--can-scroll) var(--quick-add-modal-mask-end);
      --mask-if-no-scroll: 48px;
      --quick-add-modal-mask-end-progressive-enhanced: var(--mask-if-scroll, var(--mask-if-no-scroll));
      height: calc(var(--gap-2xs) + 48px);
    }
  }

  .quick-add-modal__content .product-details .variant-picker {
    flex: 0 0 auto;

    padding-block: min(var(--gap-2xl), var(--gap));
    margin-block-end: calc(var(--focus-outline-offset) + var(--focus-outline-width));
  }

  .quick-add-modal__content .variant-option--swatches {
    padding-inline-start: var(--padding-2xs);
  }

  .quick-add-modal__content .variant-option--swatches legend {
    margin-inline-start: calc(-1 * var(--padding-2xs));
  }

  .quick-add-modal__content:not(:has(.product-information__media)) .product-details {
    grid-column: 1 / -1;
  }

  .quick-add-modal__content .view-product-title {
    display: flex;
    padding-block: 0;
    margin-block-end: 12px;

    /* Prevent overlap between title and close button */
    padding-inline-end: calc(var(--padding-2xl) + calc(var(--minimum-touch-target) / 2));
  }

  .quick-add-modal__content .view-product-title a {
    color: inherit;
    text-decoration: none;
    text-align: left;
    font-size: var(--font-size--2xl);
    font-weight: 600;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s var(--animation-easing);
  }

  .quick-add-modal__content .product-details product-price {
    --text-align: left;
  }

  .quick-add-modal__content .product-details product-price.text-block--align-center {
    margin-inline: 0;
  }

  .quick-add-modal__content .product-details product-price.text-center {
    --text-align: left;
  }

  .quick-add-modal__content .product-details product-price > * {
    text-align: left;
  }

  .quick-add-modal__content
    .product-details
    *:not(
      .group-block,
      .group-block-content,
      .buy-buttons-block,
      .buy-buttons-block *,
      .view-product-title,
      .view-product-title *,
      variant-picker,
      variant-picker *,
      product-price,
      product-price *,
      product-inventory,
      product-inventory *,
      .view-more-details__wrapper,
      .view-more-details__wrapper *
    ) {
    @media screen and (min-width: 750px) {
      /* stylelint-disable-next-line declaration-no-important */
      display: none !important;
    }
  }

  .quick-add-modal__content
    .group-block:not(
      :has(
          .buy-buttons-block,
          .buy-buttons-block *,
          .view-product-title,
          .view-product-title *,
          variant-picker,
          variant-picker *,
          product-price,
          product-price *,
          product-inventory,
          product-inventory *,
          .view-more-details__wrapper,
          .view-more-details__wrapper *
        ),
      .buy-buttons-block
    ) {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .quick-add-modal__content .group-block-content {
      gap: 0;
    }

    .quick-add-modal__content .media-gallery__grid {
      gap: min(var(--gap-2xs), var(--image-gap));
      border-radius: var(--style-border-radius-popover, 0);
    }

    .quick-add-modal__content .media-gallery--grid .product-media img {
      border-radius: 0;
    }
  }

  .quick-add-modal__content .product-details > .group-block {
    padding-block: var(--padding-3xl) 0;
  }

  .quick-add-modal__content :where(.product-details > .group-block > .group-block-content > *) {
    padding-inline: var(--padding-3xl);
  }

  .quick-add-modal__content slideshow-slide:not([aria-hidden='false']) {
    content-visibility: auto;
  }

  .quick-add-modal__content .product-information__media {
    width: 100%;
    grid-column: 1 / span 1;
    grid-row: 1;
    position: relative;
    top: 0;
    animation: fadeIn 0.4s var(--animation-timing-fade-in) both;

    @media screen and (min-width: 750px) {
      position: sticky;
      grid-column: 1 / 4;
      width: var(--quick-add-modal-gallery-width);
      overflow-y: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media media-gallery {
    pointer-events: none;

    @media screen and (min-width: 750px) {
      position: absolute;
      inset: 0;
    }
  }

  .quick-add-modal media-gallery {
    padding: 0;
  }

  .quick-add-modal__content .product-information__media slideshow-arrows {
    display: none;
  }

  .quick-add-modal__content .product-information__media slideshow-container {
    display: block;
  }

  .quick-add-modal__content .product-information__media slideshow-slides {
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
    overflow: visible;
    scroll-snap-type: none;
  }

  .quick-add-modal__content .product-information__media slideshow-slide {
    width: 100%;
    flex: none;
    scroll-snap-align: unset;
    position: relative;
    transform: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s var(--animation-easing);
  }

  .quick-add-modal__content .product-information__media slideshow-slide[aria-hidden='true'] {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(1) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(2) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.05s;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(3) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.1s;
  }

  .quick-add-modal__content .product-information__media :is(slideshow-controls, slideshow-controls[thumbnails]) {
    display: none;
  }

  .quick-add-modal__content .sticky-content,
  .quick-add-modal__content .sticky-content--desktop {
    top: 0;
  }

  .quick-add-modal__content .text-block.rte:not(product-price),
  .quick-add-modal__content .view-more-details__wrapper {
    display: none;
  }

  @keyframes fadeSlideIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* END_SNIPPET:quick-add-modal-styles */
/* START_SNIPPET:resource-card (INDEX:212) */
.resource-card {
    --resource-card-secondary-image-opacity: 0;
    --resource-card-primary-image-opacity: calc(1 - var(--resource-card-secondary-image-opacity));

    display: flex;
    flex-direction: column;
    row-gap: var(--padding-xs);
    position: relative;
    text-decoration: none;
    height: 100%;
    opacity: 0;
    animation: fadeIn var(--animation-speed-medium) var(--animation-timing-fade-in) forwards;
  }

  .resource-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .resource-card__content {
    display: flex;
    flex-direction: column;
    color: var(--color-foreground);
    gap: var(--padding-3xs);

    .price {
      font-weight: 500;
    }

    .volume-pricing-note {
      display: block;
      margin-top: var(--padding-3xs);
      font-family: var(--font-body--family);
      font-weight: normal;
      font-size: min(0.85em, var(--font-paragraph--size));
      line-height: normal;
      letter-spacing: normal;
      text-transform: none;
      color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    }
  }

  .resource-card[data-resource-type='article'] .resource-card__content,
  .resource-card[data-resource-type='page'] .resource-card__content {
    gap: var(--padding-xs);
  }

  .resource-card__image {
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    object-fit: cover;
    border-radius: var(--resource-card-corner-radius);
    opacity: var(--resource-card-primary-image-opacity);
  }

  .resource-card__image--secondary {
    position: absolute;
    top: 0;
    opacity: var(--resource-card-secondary-image-opacity);
    border-radius: var(--resource-card-corner-radius);
  }

  .resource-card__media:empty {
    display: none;
  }

  .resource-card__image-placeholder {
    padding: var(--padding-sm);
    font-size: var(--font-size--lg);
    line-height: var(--line-height--display-loose);
    word-break: break-word;
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    border-radius: var(--resource-card-corner-radius);
    color: var(--color-foreground);
  }

  .resource-card__title {
    margin-block: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .resource-card__title.paragraph {
    line-height: 1.3;
  }

  .resource-card--overlay {
    height: 100%;

    &::before {
      content: '';
      position: absolute;
      inset: 50% 0 0;
      background: var(--gradient-image-overlay);
      border-radius: var(--resource-card-corner-radius);
      pointer-events: none;
      z-index: var(--layer-flat);
    }
  }

  .resource-card--overlay .resource-card__image {
    height: 100%;
  }

  .resource-card--overlay .resource-card__content {
    position: absolute;
    inset: auto 0 0;
    padding: var(--padding-lg) var(--padding-lg) var(--padding-sm);
    z-index: var(--layer-raised);
  }

  .resource-card--overlay .resource-card__title {
    color: var(--color-white);
  }

  /* Collection images */
  .resource-card__image-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-2xs);
  }

  .resource-card__collection-image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: calc(var(--card-corner-radius) - (var(--padding-xs) / 2));
  }

  .resource-card__subtext {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    margin-block-start: 0;
  }

  .resource-card__subtext.paragraph {
    font-size: var(--font-size--body-sm);
    line-height: var(--line-height--body-tight);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .resource-card:has(.resource-card__image--secondary) {
    &:hover,
    &:focus {
      --resource-card-secondary-image-opacity: 1;
    }
  }
/* END_SNIPPET:resource-card */
/* START_SNIPPET:search-modal (INDEX:217) */
/* Search modal style */
  .search-modal {
    --search-border-radius: var(--style-border-radius-popover);
    --search-border-width: var(--style-border-width);
  }

  .search-modal__content {
    /* Approx set the top so when the content is at max height, the modal is centered */
    --modal-top-margin: calc(50dvh - var(--modal-max-height) / 2 - 2rem);
    --modal-width: 66dvw;

    padding: 0;
    border: var(--style-border-popover);

    @media screen and (min-width: 750px) {
      width: var(--modal-width);
      margin-block-start: var(--modal-top-margin);
      overflow: hidden;
    }
  }

  /* Hide the default dialog backdrop on small screens */
  @media screen and (max-width: 749px) {
    .search-modal__content::backdrop {
      display: none;
    }
  }

  .dialog-modal[open].search-modal__content {
    transform-origin: bottom center;
    animation: search-element-slide-in-bottom 300ms var(--ease-out-quad) forwards;
    border-radius: var(--search-border-radius);
    box-shadow: var(--shadow-popover);

    @media screen and (max-width: 749px) {
      border-radius: 0;
    }
  }

  .dialog-modal.search-modal__content.dialog-closing {
    animation: search-element-slide-out-bottom 200ms var(--ease-out-quad) forwards;
  }

  .search-modal__content[open] {
    display: flex;
  }

  .search-modal__content :is(.predictive-search-dropdown, .predictive-search-form__content-wrapper) {
    position: relative;
  }

  .dialog-modal
    .predictive-search-form__header:has(
      .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
    )::before {
    content: '';
    position: absolute;
    right: calc(var(--padding-sm) + var(--minimum-touch-target));
    top: 0;
    bottom: 0;
    width: var(--border-width-sm);
    background-color: var(--color-border);
  }

  .dialog-modal
    .predictive-search-form__header:has(.predictive-search__reset-button:not(.predictive-search__reset-button[hidden]))
    > .predictive-search__close-modal-button {
    &::before {
      content: none;
    }
  }

  @media screen and (min-width: 750px) {
    .dialog-modal
      .predictive-search-form__header:has(
        .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
      )::before {
      right: calc(var(--padding-2xl) * 2);
    }
  }

  predictive-search-component {
    --resource-card-corner-radius: var(--product-corner-radius);

    display: flex;
    width: 100%;
    position: relative;
    margin-inline: auto;
    align-items: center;
    background-color: var(--color-background);
    z-index: var(--layer-heightened);
  }

  .predictive-search-form__footer {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    @media screen and (min-width: 750px) {
      --to-top-gradient-background: linear-gradient(
        to top,
        rgb(var(--color-background-rgb) / var(--opacity-90)),
        rgb(var(--color-background-rgb) / var(--opacity-80)),
        rgb(var(--color-background-rgb) / var(--opacity-40)),
        transparent
      );

      padding-block: var(--padding-xs) var(--padding-lg);
      background-image: var(--to-top-gradient-background);
    }
  }

  predictive-search-component:has([data-search-results]):not(:has(.predictive-search-results__no-results))
    .predictive-search-form__footer {
    display: block;
  }

  .predictive-search-form {
    position: relative;
    width: 100%;
    align-self: flex-start;
  }

  .predictive-search-form__content {
    max-height: 50dvh;
    overflow-y: auto;
    background-color: var(--color-background);

    /* Firefox */
    scrollbar-width: none;

    /* Webkit browsers */
    &::-webkit-scrollbar {
      display: none;
    }
  }

  .predictive-search-form__content-wrapper {
    position: absolute;
    top: 100%;
    width: 100%;
    left: 0;
    z-index: var(--layer-raised);
    display: flex;
    flex-direction: column;
    border-radius: 0 0 var(--search-border-radius) var(--search-border-radius);
    transition: box-shadow var(--animation-speed) var(--animation-easing);
    transform: translateZ(0);
    will-change: transform, opacity;
    overflow: hidden;

    @media screen and (max-width: 749px) {
      border-radius: 0;
    }

    @media screen and (min-width: 750px) {
      max-height: var(--modal-max-height);
    }
  }

  /* Add new rule to apply bottom padding only when search button exists */
  .predictive-search-form__content-wrapper:has([data-search-results]):not(:has(.predictive-search-results__no-results))
    > .predictive-search-form__content {
    padding-block-end: var(--padding-6xl);
  }

  .predictive-search-form__header-inner {
    background: var(--color-background);
    border: var(--search-border-width) solid var(--color-border);
    color: var(--color-foreground);
    border-radius: var(--style-border-radius-popover);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;

    @media screen and (max-width: 749px) {
      border-radius: var(--style-border-radius-inputs);
      border: none;
    }
  }

  .predictive-search-form__header-inner:focus-within {
    outline-offset: var(--focus-outline-offset);

    @media screen and (min-width: 750px) {
      outline: var(--focus-outline-width) solid var(--color-primary);
    }
  }

  .predictive-search-form__header {
    display: flex;
    position: sticky;
    top: 0;
    z-index: var(--layer-heightened);
    width: 100%;
    align-items: center;
    background-color: var(--color-input-background);
    border: var(--search-border-width) solid var(--color-border);
    border-radius: var(--style-border-radius-inputs);

    @media screen and (max-width: 749px) {
      padding: var(--padding-2xs) var(--padding-sm);
    }
  }

  .predictive-search-form__header:focus-within,
  .predictive-search-form__header-inner:focus-within,
  .predictive-search-form__header-inner:has(.search-input:is(:focus, :focus-visible)) {
    outline: none;
    box-shadow: none;
    /* stylelint-disable-next-line declaration-no-important */
    border-color: var(--color-border) !important;
  }

  input.search-input {
    border-radius: var(--style-border-radius-inputs);
    padding-block: var(--padding-sm);
    font-size: var(--font-size--md);
    width: 100%;
    color: var(--color-foreground);
    padding-inline: calc(var(--margin-lg) + var(--icon-size-lg)) 0;
    background: transparent;
    text-overflow: ellipsis;
    overflow: hidden;
    outline: none;
    border: 0;
  }

  .search-input::placeholder {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .search-input,
  .search-input:is(:focus, :focus-visible, :focus-within),
  .predictive-search-form__header *:is(:focus, :focus-visible) {
    outline: none;
    box-shadow: none;
  }

  .search-input:hover {
    background-color: transparent;
  }

  .predictive-search__icon {
    position: absolute;
    left: var(--margin-xl);
    top: auto;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-60));

    @media screen and (min-width: 750px) {
      left: var(--margin-md);
    }
  }

  .predictive-search__icon > svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    padding: 0;
    margin-inline-end: var(--margin-md);
    background: transparent;
    color: var(--color-foreground);
    opacity: 0.68;
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-out),
      visibility var(--animation-speed-medium) var(--animation-timing-fade-out);

    &:hover {
      color: var(--color-foreground);
    }

    &:active {
      transform: scale(0.9);
      transition: transform 100ms var(--animation-timing-active);
    }

    @media screen and (min-width: 750px) {
      margin-inline-end: var(--margin-2xs);
    }
  }

  .predictive-search__reset-button[hidden] {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .predictive-search__reset-button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    transition: background-color var(--animation-speed-medium) ease-in-out,
      transform var(--animation-speed-medium) var(--animation-timing-bounce);
    border-radius: 50%;

    &:hover {
      background-color: rgb(var(--color-primary-hover-rgb) / var(--opacity-8));
    }
  }

  .predictive-search__reset-button:active .predictive-search__reset-button-icon {
    transform: scale(0.85);
    transition-timing-function: var(--animation-timing-active);
    transition-duration: 100ms;
  }

  .predictive-search__reset-button svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button-text {
    display: none;
  }

  .predictive-search__search-button {
    margin: auto;
    z-index: var(--layer-raised);
    transition: transform var(--animation-speed-medium) var(--animation-timing-bounce),
      box-shadow var(--animation-speed-medium) var(--animation-timing-hover);
    transform-origin: center;

    &:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgb(0 0 0 / var(--opacity-5));
    }

    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
      box-shadow: none;
    }
  }

  .predictive-search__close-modal-button {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;

    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    margin-inline-start: var(--margin-sm);
    padding: 0;
    box-shadow: none;

    &:active {
      transform: scale(0.8);
      transition: transform 100ms var(--animation-timing-active);
    }

    .svg-wrapper,
    svg {
      width: var(--icon-size-xs);
      height: var(--icon-size-xs);
    }
  }

  .predictive-search__close-modal-button:hover {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;
  }
/* END_SNIPPET:search-modal */
/* START_SNIPPET:skip-to-content-link (INDEX:221) */
.skip-to-content-link {
    position: absolute;
    left: -99999px;
  }

  .skip-to-content-link:focus {
    z-index: var(--layer-temporary);
    overflow: auto;
    width: auto;
    height: auto;
    padding: var(--padding-lg) var(--padding-4xl);
    left: var(--margin-lg);
    top: var(--margin-lg);
    background-color: var(--color-background);
    box-shadow: 0 0 0 var(--focus-outline-offset) var(--color-background);
  }
/* END_SNIPPET:skip-to-content-link */
