/* ============================ DESIGN TOKENS ============================ */
:root{
  --brand:#0d9488;         /* teal — unisex, pairs with the gold/black logo */
  --brand-d:#0f766e;
  --ink:#1b1230;
  --muted:#6b6480;
  --bg:#ffffff;
  --bg-soft:#f4faf9;
  --band:#e9faf7;
  --line:#efe6ef;
  --ok:#1aa06d;
  --shadow:0 6px 24px rgba(27,18,48,.08);
  --shadow-lg:0 14px 44px rgba(27,18,48,.16);
  --r:16px;
  --r-lg:22px;
  --maxw:1440px;
  --ph:#d8f2ee;            /* placeholder tint behind media while loading */
  --sticky-h:66px;
  font-synthesis:none;
}
*{box-sizing:border-box}
[hidden]{display:none!important}   /* the hidden attribute must always win over display rules */
html{scroll-behavior:smooth;scroll-padding-top:96px}  /* offset anchors so targets aren't hidden under the sticky header */
body{
  margin:0;overflow-x:hidden;
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  padding-bottom:calc(var(--sticky-h) + env(safe-area-inset-bottom));
}
img,video{max-width:100%;display:block}
h1,h2,h3{line-height:1.15;margin:0}
a{color:inherit}
.muted{color:var(--muted)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* ============================ BUTTONS ============================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;
  border:none;border-radius:999px;padding:.85rem 1.4rem;
  transition:transform .06s ease, box-shadow .2s ease, background .2s ease;
  min-height:48px;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(13,148,136,.35)}
.btn-primary:hover{background:var(--brand-d)}
.btn-lg{font-size:1.08rem;padding:1rem 1.7rem;min-height:54px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}

/* ============================ HEADER / ANNOUNCE ============================ */
.announce{
  background:linear-gradient(90deg,var(--brand),#2dd4bf);
  color:#fff;text-align:center;font-weight:600;font-size:.9rem;
  padding:.5rem 1rem;
}
.site-header{
  position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem 1rem;
}
.brand{font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--ink);letter-spacing:-.02em}
.brand img{height:34px;width:auto}
.header-cta{
  text-decoration:none;font-weight:800;color:#141414;
  background:linear-gradient(180deg,#f8d54b,#e3a50c);border:none;border-radius:12px;
  padding:.62rem 1.35rem;font-size:.95rem;letter-spacing:.01em;
  box-shadow:0 6px 18px rgba(227,165,12,.45);transition:transform .08s,box-shadow .2s;
}
.header-cta:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(227,165,12,.55)}

/* ============================ LAYOUT ============================ */
.section{max-width:var(--maxw);margin:0 auto;padding:1.7rem 1.1rem 2.4rem}
.section-title{font-size:1.6rem;text-align:center;letter-spacing:-.02em}
.section-sub{text-align:center;color:var(--muted);margin:.4rem auto 1.3rem;max-width:34rem}
.band{background:var(--band)}

/* ============================ HERO ============================ */
.hero{
  max-width:none;width:100%;margin:0;padding:1.6rem 1.1rem 1.8rem;
  display:grid;gap:1.4rem;align-items:center;
  background:
    radial-gradient(40% 60% at 6% 30%, rgba(13,148,136,.22), transparent 72%),
    radial-gradient(38% 55% at 95% 72%, rgba(245,197,24,.24), transparent 72%),
    radial-gradient(32% 48% at 82% 8%, rgba(13,148,136,.14), transparent 72%),
    linear-gradient(135deg,#e6f6f2,#f5fbfb);
}
.hero-copy{max-width:660px;margin:0 auto}
.hero-media{
  border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(135deg,#cbeee9,#e9faf7);
  box-shadow:var(--shadow-lg);aspect-ratio:4/5;
}
.hero-media img,.hero-video{width:100%;height:100%;object-fit:cover}
.hero-eyebrow{color:var(--brand);font-weight:800;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}
.hero-title{font-size:2.4rem;letter-spacing:-.03em;line-height:1.05;font-weight:800}
.hero-title span{color:var(--brand)}
.hero-sub{color:var(--muted);margin:.9rem 0 1.4rem;font-size:1.22rem;line-height:1.5}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:1.4rem 0 0;font-size:.95rem;font-weight:700}
.hero-trust li{display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;box-shadow:var(--shadow)}
.ti{width:19px;height:19px;flex:0 0 auto;color:var(--brand)}
.ti.wa{color:#25D366}

/* ============================ PROMOS ============================ */
.promo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;max-width:880px;margin:0 auto}
.promo-card{
  position:relative;border:2px solid var(--line);border-radius:var(--r);
  background:#fff;padding:1.1rem .9rem;text-align:center;cursor:pointer;
  transition:border-color .15s, transform .06s, box-shadow .2s;
}
.promo-card:hover{box-shadow:var(--shadow)}
.promo-card.selected{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,148,136,.15)}
.promo-card .units{font-size:1.15rem;font-weight:800}
.promo-card .price{font-size:1.5rem;font-weight:800;color:var(--brand);margin:.2rem 0}
.promo-card .per{font-size:.82rem;color:var(--muted)}
.promo-card .save{display:inline-block;margin-top:.45rem;font-size:.78rem;font-weight:700;color:var(--ok);background:#e8f7f0;border-radius:999px;padding:.15rem .55rem}
.promo-badge{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:var(--brand);color:#fff;font-size:.7rem;font-weight:800;
  padding:.2rem .6rem;border-radius:999px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;
}

/* ============================ BUILDER / UNITS ============================ */
.unit-list{display:grid;gap:1rem;margin:0 auto;grid-template-columns:1fr;max-width:640px}
.unit-list.cols-1{max-width:520px}
.unit-card{
  border:1px solid var(--line);border-radius:var(--r);background:#fff;
  box-shadow:var(--shadow);overflow:hidden;
}
.unit-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--bg-soft);border-bottom:1px solid var(--line)}
.unit-head .n{font-weight:800}
.unit-head .status{font-size:.8rem;font-weight:700}
.unit-head .status.done{color:var(--ok)}
.unit-head .status.todo{color:var(--muted)}
.unit-body{display:grid;grid-template-columns:96px 1fr;gap:1rem;padding:1rem}
.unit-thumb{
  aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--ph);
  display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);
}
.unit-thumb img{width:100%;height:100%;object-fit:cover}
.unit-thumb .ph{opacity:.4;display:flex}
.unit-thumb .ph svg{width:32px;height:32px;color:var(--muted)}
.unit-controls{display:grid;gap:.7rem;min-width:0}
.field-label{font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.03em}

/* segmented (gender / sizes) */
.seg{display:flex;flex-wrap:wrap;gap:.4rem}
.seg button{
  flex:1 1 auto;min-width:56px;border:1.5px solid var(--line);background:#fff;color:var(--ink);
  border-radius:10px;padding:.5rem .3rem;font-weight:700;font-size:.9rem;cursor:pointer;min-height:44px;
  transition:border-color .12s,background .12s,color .12s;
}
.seg button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.seg button:disabled{opacity:.4;cursor:not-allowed}

/* estampado chooser button */
.chooser{
  width:100%;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:10px;
  padding:.6rem .8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:46px;
}
.chooser .val{color:var(--ink)}
.chooser .val.empty{color:var(--muted);font-weight:600}
.chooser .chev{color:var(--brand);font-weight:800}
.chooser:disabled{opacity:.5;cursor:not-allowed}

/* color swatches */
.swatches{display:flex;flex-wrap:wrap;gap:.5rem}
.swatch{
  width:34px;height:34px;border-radius:50%;cursor:pointer;position:relative;
  border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line);transition:box-shadow .12s,transform .06s;
}
.swatch.on{box-shadow:0 0 0 2px var(--brand);transform:scale(1.05)}
.swatch[title]:hover::after{
  content:attr(title);position:absolute;bottom:120%;left:50%;transform:translateX(-50%);
  background:var(--ink);color:#fff;font-size:.7rem;padding:.15rem .45rem;border-radius:6px;white-space:nowrap;pointer-events:none;
}

/* order total */
.order-total{
  max-width:640px;margin:1.2rem auto 0;background:var(--bg-soft);border:1px solid var(--line);
  border-radius:var(--r);padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;font-weight:800;
}
.order-total .amt{font-size:1.4rem;color:var(--brand)}
.order-total .btn{margin-left:auto}

/* ============================ FORM ============================ */
.order-form{max-width:520px;margin:0 auto}
.form-fields{display:grid;gap:.9rem}
.form-row{display:grid;gap:.3rem}
.form-row label{font-size:.85rem;font-weight:700}
.form-row input,.form-row select{
  width:100%;border:1.5px solid var(--line);border-radius:12px;padding:.8rem .9rem;font-size:1rem;font-family:inherit;min-height:48px;background:#fff;color:var(--ink);
}
.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,148,136,.12)}
.form-row.invalid input,.form-row.invalid select{border-color:#e0384f}
.form-row .err{color:#e0384f;font-size:.78rem;display:none}
.form-row.invalid .err{display:block}
#submitBtn{margin-top:1.5rem}
.form-note{text-align:center;color:var(--muted);font-size:.82rem;margin-top:.7rem}

/* ============================ STEPS / REVIEWS / FAQ ============================ */
.steps{display:grid;gap:1.2rem;max-width:1000px;margin:0 auto;grid-template-columns:1fr}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.3rem;text-align:center;box-shadow:var(--shadow)}
.step-n{width:46px;height:46px;margin:0 auto .8rem;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(13,148,136,.3)}
.step h3{margin:.4rem 0 .3rem;font-size:1.15rem}
.step p{margin:0;color:var(--muted);font-size:.95rem}

.review-shots{display:grid;gap:1.1rem;max-width:940px;margin:0 auto 1.4rem;grid-template-columns:1fr 1fr}
.review-shot{margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:#0d0d0d}
.review-shot img{width:100%;height:auto;display:block;aspect-ratio:56/125;object-fit:cover;background:#0d0d0d}
@media(max-width:560px){.review-shots{grid-template-columns:1fr;max-width:340px}}
.reviews{display:grid;gap:1rem;max-width:1000px;margin:0 auto;grid-template-columns:1fr}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}
.review .stars{color:#ffb400;letter-spacing:2px}
.review p{margin:.5rem 0}
.review .who{font-weight:700;font-size:.9rem}
.review .who span{color:var(--muted);font-weight:500}

.faq{max-width:680px;margin:0 auto;display:grid;gap:.6rem}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.2rem .4rem}
.faq summary{cursor:pointer;font-weight:700;padding:.85rem .8rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand);font-weight:800;font-size:1.2rem}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 .8rem .8rem;color:var(--muted)}

/* ============================ FOOTER ============================ */
.site-footer{text-align:center;padding:2rem 1rem;border-top:1px solid var(--line);color:var(--muted)}
.site-footer p{margin:.2rem 0}
#footerBrand{font-weight:800;color:var(--ink)}

/* ============================ STICKY CTA ============================ */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);
  display:flex;align-items:center;gap:.8rem;
  padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom));
  min-height:var(--sticky-h);
}
.sticky-total{font-weight:800;line-height:1.1}
.sticky-total small{display:block;font-weight:600;color:var(--muted);font-size:.72rem}
.sticky-cta .btn{margin-left:auto;flex:0 0 auto}

/* ============================ MODAL (picker) ============================ */
.modal{position:fixed;inset:0;z-index:60;background:rgba(20,12,30,.55);display:flex;align-items:flex-end;justify-content:center}
.modal-panel{
  background:#fff;width:100%;max-width:560px;max-height:88vh;border-radius:20px 20px 0 0;
  display:flex;flex-direction:column;box-shadow:var(--shadow-lg);
}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem .6rem}
.modal-head h3{font-size:1.15rem}
.modal-close{background:var(--bg-soft);border:none;width:38px;height:38px;border-radius:50%;font-size:1rem;cursor:pointer}
.picker-search{margin:0 1.1rem .6rem;border:1.5px solid var(--line);border-radius:12px;padding:.7rem .9rem;font-size:1rem;font-family:inherit}
.picker-grid{overflow-y:auto;padding:.6rem 1.1rem 1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.pick{border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;padding:0;text-align:center;transition:border-color .12s,transform .06s}
.pick:hover{border-color:var(--brand)}
.pick:active{transform:scale(.98)}
.pick .thumb{aspect-ratio:3/4;background:var(--ph)}
.pick .thumb img{width:100%;height:100%;object-fit:cover}
.pick .name{font-size:.78rem;font-weight:700;padding:.4rem .3rem;display:block}
.pick .cc{font-size:.68rem;color:var(--muted);padding-bottom:.4rem}

/* ============================ TOAST ============================ */
.toast{
  position:fixed;left:50%;bottom:calc(var(--sticky-h) + 16px);transform:translateX(-50%);
  background:var(--ink);color:#fff;padding:.7rem 1.1rem;border-radius:12px;z-index:70;
  font-weight:600;box-shadow:var(--shadow-lg);max-width:90vw;text-align:center;
}

/* ============================ GALLERY ============================== */
.gallery-filter{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.2rem}
.chip{border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.45rem 1.1rem;font-weight:700;cursor:pointer;min-height:42px;font-size:.9rem}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.g-item{cursor:pointer;position:relative;overflow:hidden;background:var(--ph)}
.g-item:hover .g-thumb img{transform:scale(1.08)}
.g-item:hover{outline:3px solid var(--brand);outline-offset:-3px;z-index:1}
.g-item:active{transform:scale(.98)}
.g-thumb{aspect-ratio:3/4;background:var(--ph)}
.g-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.g-name{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;padding:1.4rem .5rem .45rem;text-align:center;font-weight:700;font-size:.82rem}
.gallery-cta{text-align:center;margin-top:1.6rem}

/* ============================ BRAND HEADER (dark + gold logo) ======== */
.site-header.dark{background:#0d0d0d;border-bottom-color:#232323}
.site-header.dark .brand img{height:60px;border-radius:50%}
.site-header.dark .brand.brand-text{color:#f5c518;font-size:1.4rem}
.site-header.dark .header-cta{color:#141414}

/* rating badge */
.rating-badge{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.9rem;margin-bottom:.6rem}
.rating-badge .stars{color:#ffb400;letter-spacing:1px}
.rating-badge .count{color:var(--muted);font-weight:600}

/* free-shipping strip (marquee) */
.ship-strip{background:#0d0d0d;color:#ffffff;overflow:hidden;white-space:nowrap;font-weight:800;letter-spacing:.04em;padding:.7rem 0;font-size:.95rem}
.ship-strip .track{display:inline-flex;white-space:nowrap;animation:shipFlow 70s linear infinite}
.ship-strip span{padding:0 1.5rem}
@keyframes shipFlow{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* features grid */
.features{display:grid;gap:1.1rem;max-width:1100px;margin:0 auto;grid-template-columns:1fr 1fr}
.feature{background:#fff;border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:var(--r);padding:1.5rem 1.3rem;text-align:center;box-shadow:var(--shadow)}
.feature h3{margin:0 0 .4rem;font-size:1.08rem}
.feature p{margin:0;color:var(--muted);font-size:.95rem}

/* promo "envío incluido" note */
.promo-card .ship{display:block;margin-top:.4rem;font-size:.72rem;font-weight:700;color:#0d0d0d}

/* important note / disclaimer */
.note{max-width:640px;margin:0 auto 1.1rem;background:#eefbf9;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:.75rem .95rem;font-size:.86rem;color:var(--ink);line-height:1.4}

/* size guide table */
.size-title{max-width:640px;margin:1.6rem auto .6rem;font-size:1.05rem;text-align:center}
.size-block .size-title{margin-top:0}
.size-table-wrap{overflow-x:auto;max-width:640px;margin:0 auto}
.size-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.size-table th,.size-table td{padding:.8rem 1rem;text-align:center;border-bottom:1px solid var(--line);font-size:.95rem}
.size-table thead th{background:var(--brand);color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
.size-table tbody tr:last-child td{border-bottom:none}
.size-table td:first-child{font-weight:800;color:var(--brand)}

/* ============================ RESPONSIVE ============================ */
@media(min-width:760px){
  .hero{grid-template-columns:480px minmax(0,660px);justify-content:center;gap:clamp(2rem,5vw,5rem);align-items:start;padding:2.6rem clamp(1.1rem,4vw,4rem) 3.2rem}
  .hero-carousel{position:sticky;top:82px}
  .hero-title{font-size:3.4rem}
  .hero-sub{font-size:1.3rem}
  #sizeTables{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 3.5rem;max-width:1150px;margin:0 auto;align-items:start}
  .unit-list.cols-2{grid-template-columns:1fr 1fr;max-width:900px}
  .unit-list.cols-3,.unit-list.cols-6{grid-template-columns:repeat(3,1fr);max-width:1280px}
  .order-form{max-width:760px}
  .form-fields{grid-template-columns:1fr 1fr}
  .form-row[data-key=direccion],.form-row[data-key=notas]{grid-column:1 / -1}
  .promo-grid{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .features{grid-template-columns:repeat(3,1fr)}
  .gallery-grid{grid-template-columns:repeat(5,1fr)}
  .reviews{grid-template-columns:repeat(3,1fr)}
  .review-shots{grid-template-columns:repeat(4,1fr);max-width:1440px}
  .faq{grid-template-columns:1fr 1fr;max-width:1100px;gap:.7rem 1.6rem}
  .picker-grid{grid-template-columns:repeat(4,1fr)}
  .sticky-cta{display:none} /* sticky bar is a mobile pattern */
  body{padding-bottom:0}
}
@media(max-width:400px){
  .unit-body{grid-template-columns:76px 1fr}
  .hero-title{font-size:1.7rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ===== HERO CAROUSEL ===== */
.hero-carousel{display:flex;flex-direction:column;gap:.6rem}
.carousel-main{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ph);box-shadow:var(--shadow-lg);aspect-ratio:4/6}
.carousel-main .cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;will-change:opacity,transform}
.carousel-main .cimg.show{opacity:1;z-index:1}
.carousel-thumbs{display:flex;gap:.5rem;padding-bottom:.25rem}
.cthumb{flex:1 1 0;min-width:0;aspect-ratio:3/4;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--ph);cursor:pointer;padding:0}
.cthumb.on{border-color:var(--brand)}
.cthumb img{width:100%;height:100%;object-fit:cover}
/* ===== VIDEO BAND (full-width black, centered vertical video) ===== */
.video-band{background:#0d0d0d;padding:1.6rem 0;display:flex;justify-content:center}
.video-band video{width:min(420px,86vw);max-height:82vh;object-fit:cover;border-radius:16px;display:block;box-shadow:var(--shadow-lg)}

/* ============================ BUY BOX ============================= */
.buybox{display:flex;flex-direction:column;gap:1rem;max-width:660px}
.buybox .hero-title{margin:.1rem 0 0}
.buybox .hero-sub{margin:.3rem 0 .1rem;font-size:1.05rem}
.buybox .hero-trust{margin:.2rem 0 .3rem}
.detalles-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.detalles-head{background:var(--band);padding:.6rem 1rem;font-weight:800;font-size:.95rem;border-bottom:1px solid var(--line)}
.detalles-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .9rem;padding:.9rem 1rem}
.det-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600}
.det-check{width:18px;height:18px;flex:0 0 auto;color:var(--brand)}
.promo-select-title{font-size:1.15rem;margin:.2rem 0 .1rem}
.promo-select-sub{color:var(--muted);font-size:.88rem;margin:0 0 .55rem}
.promo-rows{display:flex;flex-direction:column;gap:.6rem}
.promo-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;border:2px solid var(--line);border-radius:12px;background:#fff;padding:.85rem 1.05rem;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .2s}
.promo-card:hover{border-color:#bfe6e1}
.promo-card.selected{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,148,136,.15)}
.promo-info{min-width:0}
.promo-label{font-weight:800;font-size:1.05rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.promo-sub{color:var(--muted);font-size:.8rem;margin-top:.15rem}
.promo-price{font-weight:800;font-size:1.3rem;color:var(--brand);white-space:nowrap}
.promo-badge{position:static;transform:none;left:auto;top:auto;background:var(--brand);color:#fff;font-size:.62rem;font-weight:800;padding:.16rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}
.buybox-trust{text-align:center;color:var(--muted);font-size:.82rem;margin:.1rem 0 0}
@media(max-width:759px){.buybox{max-width:none}.hero-carousel{position:static}}

/* ============================ GALLERY MARQUEE ==================== */
.gallery-marquee{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;display:flex;flex-direction:column;gap:8px}
.marquee-track{display:flex;gap:8px;width:max-content;will-change:transform}
.marquee-left{animation:mq-left 120s linear infinite}
.marquee-right{animation:mq-right 120s linear infinite}
@keyframes mq-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mq-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.mq-item{flex:0 0 auto;width:330px;position:relative;cursor:pointer;border-radius:12px;overflow:hidden;background:var(--ph)}
.mq-item .g-thumb{aspect-ratio:3/4}
.mq-item:hover .g-thumb img{transform:scale(1.06)}
@media(max-width:560px){.mq-item{width:220px}.marquee-left{animation-duration:85s}.marquee-right{animation-duration:85s}}

/* tablet (760-999): stack the hero so the buy box has full width (no overflow) */
@media(min-width:760px) and (max-width:999px){
  .hero{grid-template-columns:1fr;justify-content:stretch;gap:1.6rem;padding:2rem 1.5rem 2.4rem}
  .hero-carousel{position:static;max-width:440px;margin:0 auto;width:100%}
  .buybox{max-width:660px;margin:0 auto;width:100%}
}

/* ===== reveal animations ===== */
/* gallery: items unfold downwards when a chip is pressed */
@keyframes unfoldDown{from{opacity:0;transform:translateY(-18px) scaleY(.5)}to{opacity:1;transform:none}}
.g-item.gshow{animation:unfoldDown .5s cubic-bezier(.22,.61,.36,1) both;transform-origin:top center}

/* reviews: images gather into place from the corners when scrolled into view */
.review-shot{opacity:0;transition:opacity .6s ease, transform .75s cubic-bezier(.22,.61,.36,1)}
.review-shot:nth-child(1){transform:translate(-44px,28px) scale(.88)}
.review-shot:nth-child(2){transform:translate(44px,28px) scale(.88)}
.review-shot:nth-child(3){transform:translate(-44px,-28px) scale(.88)}
.review-shot:nth-child(4){transform:translate(44px,-28px) scale(.88)}
.review-shots.in .review-shot{opacity:1;transform:none}
.review-shots.in .review-shot:nth-child(2){transition-delay:.08s}
.review-shots.in .review-shot:nth-child(3){transition-delay:.16s}
.review-shots.in .review-shot:nth-child(4){transition-delay:.24s}

/* FAQ: questions unfold downwards, staggered, when scrolled into view */
.faq details{opacity:0;transform:translateY(-14px);transition:opacity .45s ease, transform .5s cubic-bezier(.22,.61,.36,1)}
#faq-list.in details{opacity:1;transform:none}
#faq-list.in details:nth-child(2){transition-delay:.06s}
#faq-list.in details:nth-child(3){transition-delay:.12s}
#faq-list.in details:nth-child(4){transition-delay:.18s}
#faq-list.in details:nth-child(5){transition-delay:.24s}
#faq-list.in details:nth-child(6){transition-delay:.30s}
#faq-list.in details:nth-child(7){transition-delay:.36s}

@media(prefers-reduced-motion:reduce){
  .g-item.gshow{animation:none}
  .review-shot,.faq details{opacity:1!important;transform:none!important}
}

/* smooth image appearance (soft fade over the placeholder tint) */
.g-thumb img,.cthumb img,.pick .thumb img{animation:imgIn .4s ease}
@keyframes imgIn{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.g-thumb img,.cthumb img,.pick .thumb img{animation:none}}

/* hold first paint until JS renders the page, then fade in (prevents visible build-up / CLS) */
html.js body{opacity:0}
html.js body.ready{opacity:1;transition:opacity .28s ease}

/* other-payment-methods note */
.pay-note{border:1px solid var(--line);border-left:4px solid #25D366;border-radius:12px;background:#fff;padding:.9rem 1rem;margin-top:.5rem}
.pay-note-head{font-weight:800;font-size:.92rem;margin-bottom:.25rem}
.pay-note-text{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}
.pay-note-methods{margin:.45rem 0 0;font-weight:700;font-size:.82rem;color:var(--ink)}
.pay-wa{display:inline-flex;align-items:center;gap:.45rem;margin-top:.7rem;background:#25D366;color:#fff;font-weight:700;text-decoration:none;border-radius:10px;padding:.55rem 1rem;font-size:.9rem;transition:background .15s}
.pay-wa:hover{background:#1eb457}
.pay-wa svg{width:18px;height:18px}
