/* ═══════════════════════════════════════════════
   LEP BABY STORE — style.css v12
   Design system: Fredoka (display) + Nunito Sans (corpo)
   Paleta oficial do brandbook
═══════════════════════════════════════════════ */

/* ── TOKENS ─────────────────────────────────── */
:root {
  --orange:     #E49467;
  --peach:      #F2C6A6;
  --yellow:     #EDC57B;
  --green:      #B7C8AF;
  --blue:       #A8D8D9;
  --cream:      #F5F0E8;
  --brown:      #856340;
  --ink:        #2F2B28;
  --muted:      #7A6D66;
  --white:      #FFFDF9;
  --stage:      #F2F5F1;   /* verde da marca bem diluído, fundo das fotos */
  --max-width:  1280px;
  --radius-lg:  32px;
  --radius-md:  22px;
  --radius-sm:  14px;
  --shadow-sm:  0 8px 28px rgba(83,65,52,.07);
  --shadow-md:  0 16px 44px rgba(83,65,52,.11);
}

/* ── RESET / BASE ───────────────────────────── */
*,*::before,*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  min-width: 280px;
  max-width: 100%;
  overflow-x: clip;
  font-family: "Nunito Sans","Segoe UI",Helvetica,Arial,sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,h2,h3,h4,
.eyebrow,.btn,.nav-cta,.mini,.shop-kicker,.cat-badge,.cat-colors-label {
  font-family: "Fredoka","Nunito Sans",Helvetica,Arial,sans-serif;
}

img,svg { display:block; max-width:100%; }
img { height:auto; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
button,input,textarea,select { font:inherit; }
p { margin:0 0 1em; }
p:last-child { margin-bottom:0; }

:focus-visible {
  outline: 3px solid rgba(228,148,103,.7);
  outline-offset: 4px;
  border-radius: 8px;
}

/* ── SKIP LINK ──────────────────────────────── */
.skip-link {
  position: fixed; top:12px; left:12px; z-index:9999;
  padding:10px 14px; color:#fff; background:var(--ink);
  border-radius:10px;
  transform:translateY(-160%); transition:transform .2s ease;
}
.skip-link:focus { transform:translateY(0); }

/* ── LAYOUT ─────────────────────────────────── */
.container {
  width: min(var(--max-width), calc(100% - clamp(22px,5vw,72px)));
  margin-inline: auto;
}
.section { padding: clamp(60px,7vw,96px) 0; }

/* ══════════════════════════════════════════════
   HEADER / NAV
══════════════════════════════════════════════ */
.site-header {
  position: sticky; top:0; z-index:1000;
  background: rgba(245,240,232,.94);
  border-bottom: 1px solid rgba(178,140,102,.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.nav-wrap {
  min-height: clamp(80px,7vw,100px);
  display:flex; align-items:center; justify-content:space-between;
  gap: clamp(14px,3vw,32px); padding-block:8px;
}
.brand {
  flex: 0 1 clamp(148px,14vw,210px);
  width: clamp(148px,14vw,210px);
  min-width:0;
}
.brand img {
  width:100%; max-height:78px;
  object-fit:contain; object-position:left center;
}
.main-nav {
  display:flex; align-items:center; justify-content:flex-end;
  gap: clamp(12px,1.8vw,26px);
  font-size: clamp(.82rem,.92vw,.9rem);
  font-weight:600;
}
.main-nav a {
  min-height:44px; display:inline-flex; align-items:center;
  white-space:nowrap;
}
.main-nav > a:not(.nav-cta) { position:relative; }
.main-nav > a:not(.nav-cta)::after {
  content:""; position:absolute;
  left:0; right:100%; bottom:6px;
  height:2px; border-radius:99px; background:var(--orange);
  transition:right .2s ease;
}
.main-nav > a:not(.nav-cta):hover::after,
.main-nav > a:not(.nav-cta):focus-visible::after { right:0; }
.nav-cta {
  min-height:42px; padding:0 16px;
  border-radius:999px; background:var(--green);
  font-weight:700; font-size:.85rem;
}
.nav-social {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:46px; height:46px; flex:0 0 auto;
  border-radius:50%;
  transition:background .2s ease, transform .2s ease;
}
.nav-social:hover { background:rgba(47,43,40,.06); transform:translateY(-1px); }
.nav-social svg { width:28px; height:28px; }
.nav-social-label { display:none; }

.menu-toggle {
  display:none; width:46px; height:46px; flex:0 0 46px;
  padding:10px; border:0; background:transparent;
  border-radius:12px; cursor:pointer;
}
.menu-toggle span {
  display:block; width:24px; height:2px; margin:5px auto;
  background:var(--ink); border-radius:10px;
  transition:transform .2s ease, opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ══════════════════════════════════════════════
   HERO
══════════════════════════════════════════════ */
.hero {
  position:relative; isolation:isolate; overflow:hidden;
  padding: clamp(48px,6vw,84px) 0 clamp(76px,9vw,112px);
  background:
    radial-gradient(circle at 7% 18%,rgba(242,198,166,.58),transparent 24%),
    radial-gradient(circle at 90% 20%,rgba(168,216,217,.46),transparent 25%),
    linear-gradient(180deg,#f8f4ed 0%,var(--cream) 100%);
}
.decor { position:absolute; z-index:0; border-radius:50%; pointer-events:none; }
.decor-one { width:200px; height:200px; right:6%; top:60px; background:rgba(183,200,175,.32); }
.decor-two { width:120px; height:120px; left:5%; bottom:64px; background:rgba(237,197,123,.28); }
.wave {
  position:absolute; z-index:1; left:-2%; right:-2%; bottom:-80px; height:150px;
  background:var(--white); border-radius:50% 50% 0 0 / 100% 100% 0 0;
}
.hero-grid {
  position:relative; z-index:2;
  min-height: clamp(520px,62vh,660px);
  display:grid;
  grid-template-columns: minmax(0,1.1fr) minmax(330px,.9fr);
  align-items:center;
  gap: clamp(32px,4.5vw,68px);
}
.hero-copy { min-width:0; }
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  max-width:100%;
  font-size: clamp(.68rem,.76vw,.78rem);
  font-weight:700; letter-spacing:.14em; line-height:1.4;
  text-transform:uppercase; color:var(--brown);
}
.eyebrow::before {
  content:""; width:20px; height:2px; flex:0 0 20px;
  background:currentColor; border-radius:2px;
}

/* ─ HERO H1: fonte menor, peso médio — mais delicado ─ */
.hero h1 {
  max-width:780px;
  margin: clamp(14px,1.6vw,20px) 0 clamp(18px,2vw,26px);
  font-size: clamp(2rem,3.4vw,3.6rem);
  font-weight:500;
  line-height:1.18;
  letter-spacing:-.01em;
  overflow-wrap:anywhere;
}
.hero h1 em {
  display:block; font-style:normal;
  color:var(--orange); font-weight:500;
}
.hero-copy > p {
  max-width:580px; margin:0 0 26px;
  color:var(--muted);
  font-size: clamp(.9rem,1.05vw,1rem);
  line-height:1.7;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; }

/* ── BUTTONS ─── */
.btn {
  min-height:46px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 22px; border-radius:999px;
  font-weight:600; font-size:.88rem; letter-spacing:.01em;
  text-align:center;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(73,57,47,.12); }
.btn-primary { color:#fff; background:var(--orange); }
.btn-secondary { border:1px solid rgba(47,43,40,.16); background:rgba(255,255,255,.5); }
.btn-dark { color:#fff; background:var(--ink); }

.trust-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.trust-row span {
  padding:7px 12px;
  border:1px solid rgba(47,43,40,.08); border-radius:999px;
  color:var(--muted); background:rgba(255,255,255,.58);
  font-size: clamp(.68rem,.76vw,.76rem); line-height:1.3;
}

/* hero ilustração */
.hero-art {
  position:relative; min-width:0; min-height:480px;
  display:grid; place-items:center;
}
.hero-card {
  position:relative; width:min(100%,470px); aspect-ratio:1/1.05;
  display:grid; place-items:center;
  padding: clamp(44px,5vw,68px);
  border:1px solid rgba(255,255,255,.85); border-radius:42% 58% 50% 50%/42% 44% 56% 58%;
  background:rgba(255,255,255,.6); box-shadow:var(--shadow-md);
  transform:rotate(1deg);
}
.hero-card::before,.hero-card::after {
  content:""; position:absolute; z-index:-1; border-radius:50%; opacity:.8;
}
.hero-card::before { width:clamp(70px,8vw,100px); aspect-ratio:1; left:-22px; top:24px; background:var(--yellow); }
.hero-card::after  { width:clamp(50px,5vw,65px);  aspect-ratio:1; right:-8px; bottom:32px; background:var(--peach); }
.hero-card img {
  width:100%; max-height:300px; object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(83,65,52,.07));
}
.mini-badges {
  position:absolute; left:20px; right:20px; bottom:20px;
  display:flex; justify-content:center; flex-wrap:wrap; gap:6px;
}
.mini {
  padding:6px 10px; border-radius:999px;
  font-size:.7rem; font-weight:600; line-height:1.2;
}
.mini.peach { background:var(--peach); }
.mini.green { background:var(--green); }
.mini.blue  { background:var(--blue); }
.floating-note {
  position:absolute; z-index:4; max-width:210px;
  padding:10px 13px; border-radius:14px;
  background:var(--white); box-shadow:var(--shadow-sm);
  font-size:.78rem; font-weight:600; line-height:1.35;
}
.note-top    { top:38px;  right:0; transform:rotate(2deg); }
.note-bottom { bottom:40px; left:0; transform:rotate(-2deg); }

/* ══════════════════════════════════════════════
   SECTION HEADINGS (comum a todas as seções)
══════════════════════════════════════════════ */
.section-heading { min-width:0; }
.section-heading h2,.closing-band h2 {
  margin:12px 0 0;
  font-size: clamp(1.6rem,2.6vw,2.7rem);
  font-weight:500; line-height:1.22; letter-spacing:-.01em;
  overflow-wrap:anywhere;
}
.section-heading > p {
  max-width:680px; margin:14px auto 0;
  color:var(--muted); font-size: clamp(.88rem,1vw,.96rem);
}
.section-heading.centered { max-width:820px; margin:0 auto clamp(36px,4.5vw,52px); text-align:center; }
.section-heading.centered .eyebrow { justify-content:center; }

/* ══════════════════════════════════════════════
   SOBRE
══════════════════════════════════════════════ */
.intro { background:var(--white); }
.split-grid {
  display:grid;
  grid-template-columns: minmax(0,1.05fr) minmax(280px,.95fr);
  gap: clamp(36px,5.5vw,72px); align-items:start;
}
.intro-text {
  min-width:0; padding-top:4px;
  color:var(--muted); font-size: clamp(.9rem,1vw,.98rem); line-height:1.75;
}
.intro-text strong { color:var(--ink); }
.intro-tilly-logo { margin-top:22px; display:flex; align-items:center; }
.intro-tilly-logo img {
  width:min(100%,230px); max-height:115px;
  object-fit:contain; object-position:left center; opacity:.95;
}

/* ── Pilares do Sobre ── */
.sobre-pilares {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap: clamp(14px,1.8vw,20px);
  margin-top: clamp(40px,5vw,60px);
  padding-top: clamp(34px,4vw,46px);
  border-top:1px solid rgba(47,43,40,.09);
}
.pilar { min-width:0; }
.pilar-num {
  font-family:"Fredoka","Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:.82rem; font-weight:600; letter-spacing:.12em;
  color:var(--orange); margin-bottom:10px;
}
.pilar h3 {
  margin:0 0 8px;
  font-size: clamp(1rem,1.12vw,1.12rem);
  font-weight:600; line-height:1.25;
}
.pilar p {
  margin:0; color:var(--muted);
  font-size: clamp(.84rem,.92vw,.9rem); line-height:1.62;
}

/* ══════════════════════════════════════════════
   PRODUTOS — caixinhas de categoria c/ foto rotativa
══════════════════════════════════════════════ */
.produtos-section { background:var(--cream); }

.cat-grid {
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: clamp(14px,1.8vw,20px);
}

.cat-card {
  min-width:0; display:flex; flex-direction:column;
  border-radius:var(--radius-lg); overflow:hidden;
  background:var(--white);
  border:1px solid rgba(47,43,40,.06);
  box-shadow:var(--shadow-sm);
  transition:transform .24s ease, box-shadow .24s ease;
}
.cat-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }

/* ── palco da foto (crossfade) ── */
.cat-stage {
  position:relative; aspect-ratio:4/5;
  background:var(--stage); overflow:hidden;
  border-bottom:1px solid rgba(47,43,40,.05);
}
.cat-shots { position:absolute; inset:0; }
.cat-shots img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:contain;              /* mostra a peça inteira, seja qual for o formato */
  padding:7%;
  mix-blend-mode:multiply;         /* funde o fundo branco das fotos com o tom do palco */
  opacity:0; transition:opacity .9s ease;
}
.cat-shots img.is-active { opacity:1; }

/* barrinha de progresso discreta */
.cat-progress {
  position:absolute; left:14px; right:14px; bottom:12px;
  display:flex; gap:5px; z-index:2;
}
.cat-progress i {
  flex:1; height:3px; border-radius:99px;
  background:rgba(47,43,40,.14);
  transition:background .3s ease;
}
.cat-progress i.on { background:var(--orange); }

/* ── corpo do card ── */
.cat-body {
  display:flex; flex-direction:column; flex:1;
  padding: clamp(16px,1.8vw,22px);
}
.cat-badge {
  align-self:flex-start; margin-bottom:10px;
  padding:5px 11px; border-radius:999px;
  font-size:.66rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink);
}
.badge-orange { background:rgba(228,148,103,.28); }
.badge-green  { background:rgba(183,200,175,.5); }
.badge-yellow { background:rgba(237,197,123,.42); }
.badge-blue   { background:rgba(168,216,217,.55); }

.cat-body h3 {
  margin:0 0 7px;
  font-size: clamp(1.02rem,1.15vw,1.14rem);
  font-weight:600; line-height:1.25;
}
.cat-body > p {
  margin:0; color:var(--muted);
  font-size: clamp(.83rem,.9vw,.89rem); line-height:1.58;
}

/* ── swatches de cor ── */
.cat-colors {
  display:flex; align-items:center; flex-wrap:wrap; gap:6px;
  margin-top:14px;
}
.cat-colors-label {
  width:100%; margin-bottom:2px;
  font-size:.66rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
  color:var(--brown);
}
.swatch {
  width:20px; height:20px; border-radius:50%;
  background:var(--c);
  border:1px solid rgba(47,43,40,.12);
  box-shadow:inset 0 -2px 4px rgba(0,0,0,.05);
}
.swatch-white { border-color:rgba(47,43,40,.2); }

/* ── lista de características ── */
.cat-list {
  list-style:none; margin:14px 0 0; padding:0;
  display:flex; flex-direction:column; gap:6px;
}
.cat-list li {
  position:relative; padding-left:16px;
  color:var(--muted); font-size:.8rem; line-height:1.45;
}
.cat-list li::before {
  content:""; position:absolute; left:0; top:.5em;
  width:6px; height:6px; border-radius:50%;
  background:var(--peach);
}

/* ── CTA abaixo dos cards ── */
.produtos-cta {
  display:flex; flex-direction:column; align-items:center;
  gap:14px; margin-top: clamp(32px,4vw,46px); text-align:center;
}
.produtos-cta p {
  margin:0; max-width:520px;
  color:var(--muted); font-size:.88rem;
}
.produtos-cta-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }

/* ══════════════════════════════════════════════
   DIFERENCIAIS — redesenhado com dados reais
══════════════════════════════════════════════ */
.features { background:var(--white); }

.feature-grid {
  display:grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: clamp(12px,1.5vw,18px);
}
.feature-card {
  min-width:0; padding: clamp(20px,2vw,28px);
  border:1px solid rgba(47,43,40,.06); border-radius:var(--radius-md);
  background:var(--cream);
  transition:transform .22s ease, box-shadow .22s ease;
}
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }

.icon-wrap {
  width:52px; height:52px; display:grid; place-items:center;
  margin-bottom:18px; border-radius:16px;
}
.icon-wrap svg {
  width:28px; height:28px; fill:none;
  stroke:var(--ink); stroke-width:2.6;
  stroke-linecap:round; stroke-linejoin:round;
}
.icon-orange { background:rgba(228,148,103,.28); }
.icon-green  { background:rgba(183,200,175,.45); }
.icon-yellow { background:rgba(237,197,123,.4); }
.icon-blue   { background:rgba(168,216,217,.52); }
.icon-brown  { background:rgba(178,140,102,.22); }

.feature-card h3 {
  margin:0 0 8px; line-height:1.24;
  font-size: clamp(.96rem,1.02vw,1.06rem); font-weight:600;
}
.feature-card p {
  margin:0; color:var(--muted);
  font-size: clamp(.83rem,.9vw,.9rem); line-height:1.6;
}

/* ── badge Tilly 1970 ── */
.tilly-badge {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:14px; padding:8px 14px;
  border-radius:999px; background:var(--yellow);
  font-size:.78rem; font-weight:700; color:var(--ink);
}
.tilly-badge svg { width:16px; height:16px; fill:var(--ink); }

/* ── diferencial destaque "Algodão NÃO é tudo igual" ── */
.diferencial-banner {
  margin-top: clamp(40px,5vw,56px);
  padding: clamp(28px,3vw,36px);
  border-radius:var(--radius-lg);
  background: linear-gradient(135deg,#EFC2AD 0%,#F7D7C2 50%,#D4DECF 100%);
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap: clamp(20px,3vw,36px);
}
.diferencial-banner-copy h3 {
  margin:0 0 10px;
  font-size: clamp(1.1rem,1.6vw,1.4rem);
  font-weight:600; line-height:1.25;
}
.diferencial-banner-copy p {
  margin:0; color:rgba(47,43,40,.76);
  font-size: clamp(.85rem,.95vw,.92rem);
}
.diferencial-banner-copy p strong { color:var(--ink); }
.diferencial-banner-seal {
  flex:0 0 auto; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:5px;
}
.diferencial-banner-seal .seal {
  width:clamp(72px,8vw,90px); height:clamp(72px,8vw,90px);
  border-radius:50%; background:var(--yellow);
  display:grid; place-items:center;
  font-size: clamp(.72rem,.8vw,.8rem);
  font-weight:700; text-align:center; line-height:1.2;
  color:var(--ink); padding:6px;
  box-shadow:0 4px 16px rgba(237,197,123,.35);
}
.diferencial-banner-seal span {
  font-size:.7rem; font-weight:600; color:rgba(47,43,40,.65);
  letter-spacing:.04em;
}

/* ── 4 diferenciais extras ── */
.diferenciais-extra-grid {
  display:grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(12px,1.5vw,18px);
  margin-top: clamp(14px,1.6vw,18px);
}
.diferencial-extra-card {
  display:flex; gap:14px; align-items:flex-start;
  padding: clamp(16px,1.8vw,22px);
  border-radius:var(--radius-md);
  background:var(--white);
  border:1px solid rgba(47,43,40,.06);
  transition:transform .22s ease, box-shadow .22s ease;
}
.diferencial-extra-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.diferencial-extra-card .dif-icon {
  flex:0 0 44px; width:44px; height:44px;
  border-radius:14px; display:grid; place-items:center;
}
.diferencial-extra-card .dif-icon svg {
  width:24px; height:24px; fill:none;
  stroke:var(--ink); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
}
.diferencial-extra-card h4 {
  margin:0 0 5px;
  font-size: clamp(.9rem,.98vw,.98rem); font-weight:600;
  font-family:"Fredoka","Nunito Sans",Helvetica,Arial,sans-serif;
  line-height:1.2;
}
.diferencial-extra-card p { margin:0; color:var(--muted); font-size: clamp(.8rem,.88vw,.86rem); line-height:1.55; }
.dif-icon.dif-orange { background:rgba(228,148,103,.22); }
.dif-icon.dif-green  { background:rgba(183,200,175,.4); }
.dif-icon.dif-blue   { background:rgba(168,216,217,.46); }
.dif-icon.dif-yellow { background:rgba(237,197,123,.36); }
.dif-icon.dif-peach  { background:rgba(242,198,166,.5); }
.dif-icon.dif-lilac  { background:rgba(197,190,214,.42); }

/* ══════════════════════════════════════════════
   ONDE COMPRAR
══════════════════════════════════════════════ */
.shop { background:var(--cream); }
.shop-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap: clamp(12px,1.5vw,18px);
}
.shop-card {
  position:relative; min-width:0; min-height:290px;
  display:flex; flex-direction:column; align-items:flex-start;
  padding: clamp(22px,2.5vw,30px); border-radius:28px; overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.shop-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.shop-card::after {
  content:""; position:absolute; width:160px; height:160px;
  right:-60px; top:-60px; border-radius:50%;
  background:rgba(255,255,255,.3); pointer-events:none;
}
.shop-card > * { position:relative; z-index:2; }
.shop-card.ml      { background:#ECD58B; }
.shop-card.shopee  { background:#F7D7C2; }
.shop-card.whatsapp{ background:#DCE7D7; }
.shop-card.instagram{ background:#E7DFEC; }
.shop-brand-logo { width:auto; height:auto; margin:0 0 15px; object-fit:contain; object-position:left center; }
.shop-card.ml      .shop-brand-logo { max-width:200px; max-height:75px; }
.shop-card.shopee  .shop-brand-logo { max-width:148px; max-height:66px; }
.shop-card.whatsapp.shop-brand-logo { max-width:138px; max-height:34px; }
.shop-card.whatsapp .shop-brand-logo { max-width:138px; max-height:34px; }
.shop-card .ig-glyph { width:46px; height:46px; max-width:46px; max-height:46px; }
.shop-kicker {
  font-size:.68rem; font-weight:700; letter-spacing:.12em;
  line-height:1.3; text-transform:uppercase; opacity:.72;
}
.shop-card strong { margin-top:11px; font-size: clamp(1.32rem,1.55vw,1.58rem); line-height:1.15; letter-spacing:-.02em; }
.shop-card > span:not(.shop-kicker) { max-width:300px; margin-top:7px; font-size: clamp(.85rem,.92vw,.92rem); line-height:1.55; opacity:.8; }
.shop-card em { margin-top:auto; padding-top:16px; font-size:.88rem; font-style:normal; font-weight:700; }

/* ══════════════════════════════════════════════
   FECHAMENTO
══════════════════════════════════════════════ */
.closing-band {
  padding: clamp(64px,8vw,100px) 0;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.4), transparent 45%),
    var(--green);
}
.closing-inner {
  max-width:780px;
  display:flex; flex-direction:column; align-items:center;
  text-align:center;
}
.closing-mark {
  width: clamp(76px,8vw,96px); aspect-ratio:1;
  display:grid; place-items:center; padding:16px;
  margin-bottom: clamp(20px,2.5vw,28px);
  border-radius:50%; background:var(--cream);
}
.closing-mark img { width:100%; height:100%; object-fit:contain; }

.closing-copy .eyebrow { justify-content:center; color:rgba(47,43,40,.78); }
.closing-band h2 {
  margin:12px 0 0;
  font-size: clamp(1.45rem,2.5vw,2.5rem);
  font-weight:500; line-height:1.24; letter-spacing:-.01em;
}
.closing-copy > p {
  max-width:620px; margin:16px auto 0;
  color:rgba(47,43,40,.78);
  font-size: clamp(.9rem,1.02vw,1rem); line-height:1.75;
}
.closing-punch {
  margin-top: clamp(22px,2.6vw,30px) !important;
  font-family:"Fredoka","Nunito Sans",Helvetica,Arial,sans-serif;
  font-size: clamp(1.02rem,1.35vw,1.28rem) !important;
  font-weight:500; line-height:1.45 !important;
  color:var(--ink) !important;
}
.closing-punch em {
  font-style:normal; font-weight:600;
  color:#B5622F;
}

/* trio de provas */
.closing-points {
  list-style:none; margin: clamp(32px,4vw,44px) 0 0; padding:0;
  width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap: clamp(12px,1.6vw,18px);
}
.closing-points li {
  min-width:0; padding: clamp(14px,1.6vw,18px);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.6);
}
.closing-points strong {
  display:block; margin-bottom:4px;
  font-family:"Fredoka","Nunito Sans",Helvetica,Arial,sans-serif;
  font-size:.9rem; font-weight:600; line-height:1.25;
}
.closing-points span {
  display:block; color:rgba(47,43,40,.76);
  font-size:.78rem; line-height:1.45;
}

.closing-actions {
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  margin-top: clamp(28px,3.4vw,38px);
}
.btn-ghost {
  border:1px solid rgba(47,43,40,.28);
  background:transparent; color:var(--ink);
}
.btn-ghost:hover { background:rgba(255,255,255,.55); }

/* ══════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════ */
.site-footer { color:#F7F1E8; background:var(--ink); }

.simple-footer-inner {
  display:flex; align-items:center; justify-content:center;
  padding-block: clamp(20px,2.6vw,26px);
  border-top:1px solid rgba(247,241,232,.11);
}
.footer-note {
  margin:0; padding:0; border:0;
  text-align:center; font-size: clamp(.72rem,.8vw,.8rem); opacity:.62;
}

/* ══════════════════════════════════════════════
   WHATSAPP FLOAT
══════════════════════════════════════════════ */
.whatsapp-float {
  position:fixed; z-index:1100;
  right:max(16px,env(safe-area-inset-right));
  bottom:max(16px,env(safe-area-inset-bottom));
  width:clamp(50px,4vw,56px); height:clamp(50px,4vw,56px);
  display:grid; place-items:center;
  border-radius:50%; background:#25D366;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
  transition:transform .2s ease;
}
.whatsapp-float:hover { transform:translateY(-3px) scale(1.03); }
.whatsapp-float svg { width:27px; height:27px; fill:#fff; }

/* ══════════════════════════════════════════════
   REVEAL (scroll animation)
══════════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(14px); transition:opacity .55s ease, transform .55s ease; }
.reveal.in-view { opacity:1; transform:translateY(0); }

/* ══════════════════════════════════════════════
   RESPONSIVO — breakpoints
══════════════════════════════════════════════ */

/* ≤ 1180px — tablet landscape / laptop pequeno */
@media (max-width:1180px) {
  .hero-grid { grid-template-columns: minmax(0,1.05fr) minmax(300px,.95fr); gap:30px; }
  .floating-note { display:none; }
  .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* ≤ 980px — tablet portrait / menu hambúrguer */
@media (max-width:980px) {
  html { scroll-padding-top:86px; }

  .menu-toggle { display:block; }
  .main-nav {
    position:absolute; left:12px; right:12px; top:calc(100% - 3px);
    display:grid; grid-template-columns:1fr; gap:0; padding:8px;
    justify-content:stretch; justify-items:stretch; text-align:center;
    border:1px solid rgba(47,43,40,.08); border-radius:16px;
    background:rgba(255,253,249,.99); box-shadow:var(--shadow-md);
    opacity:0; transform:translateY(-10px); visibility:hidden;
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  }
  .main-nav.is-open { opacity:1; transform:translateY(0); visibility:visible; }
  .main-nav a { width:100%; padding:10px 14px; justify-content:center; }
  .nav-cta { justify-content:center; margin-top:4px; }
  .nav-social {
    width:100%; height:auto; min-height:44px;
    justify-content:center; border-radius:12px; margin-top:4px;
    font-size:.9rem; font-weight:600;
  }
  .nav-social-label { display:inline; }

  .hero-grid { min-height:auto; grid-template-columns:1fr; text-align:center; }
  .hero-copy { display:flex; flex-direction:column; align-items:center; }
  .hero h1 { font-size:clamp(1.8rem,7vw,3.2rem); }
  .hero-copy > p { max-width:680px; }
  .hero-actions,.trust-row { justify-content:center; }
  .hero-art { min-height:370px; }
  .hero-card { max-width:420px; }

  .split-grid { grid-template-columns:1fr; gap:28px; }
  .intro-text { max-width:720px; }

  .cat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

  .shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-card { min-height:230px; }

  .diferenciais-extra-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .diferencial-banner { grid-template-columns:1fr; }
  .diferencial-banner-seal { flex-direction:row; align-self:flex-start; }

  .sobre-pilares { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* ≤ 720px — celulares grandes */
@media (max-width:720px) {
  .container { width:min(var(--max-width),calc(100% - 24px)); }
  .nav-wrap { min-height:78px; }
  .brand { width:clamp(140px,36vw,175px); flex-basis:clamp(140px,36vw,175px); }
  .hero { padding-top:48px; }
  .hero h1 { font-size:clamp(1.65rem,9.5vw,2.9rem); }
  .hero-art { min-height:320px; }
  .hero-card { width:min(90%,380px); padding:clamp(38px,11vw,56px); border-radius:32px; }
  .section-heading h2 { font-size:clamp(1.5rem,8vw,2.4rem); }
  .feature-grid { grid-template-columns:1fr; }
  .shop-grid { grid-template-columns:1fr; }
  .cat-grid { grid-template-columns: 1fr; }
  .cat-stage { aspect-ratio:1/1; }
  .diferenciais-extra-grid { grid-template-columns:1fr; }
  .sobre-pilares { grid-template-columns:1fr; gap:22px; }
  .closing-points { grid-template-columns:1fr; }
  .intro-tilly-logo { justify-content:center; }
  .intro-tilly-logo img { width:min(100%,200px); object-position:center; }
}

/* ≤ 520px — celulares pequenos */
@media (max-width:520px) {
  body { font-size:14px; }
  .container { width:calc(100% - 20px); }
  .hero-actions { width:100%; flex-direction:column; }
  .hero-actions .btn { width:100%; }
  .trust-row span { width:100%; text-align:center; }
  .hero-art { min-height:290px; }
  .hero-card { width:min(94%,340px); padding:40px; }
  .mini-badges { left:10px; right:10px; bottom:12px; }
  .feature-card,.shop-card { padding:18px; }
  .cat-body { padding:16px; }
  .shop-card.ml .shop-brand-logo     { max-width:175px; max-height:68px; }
  .shop-card.shopee .shop-brand-logo  { max-width:136px; max-height:62px; }
  .shop-card.whatsapp .shop-brand-logo{ max-width:125px; max-height:30px; }
  .diferencial-extra-card { flex-direction:column; gap:10px; }
}

/* ≤ 360px — celulares muito pequenos */
@media (max-width:360px) {
  .container { width:calc(100% - 16px); }
  .brand { width:138px; flex-basis:138px; }
  .hero h1 { font-size:clamp(1.5rem,10.5vw,2rem); }
  .section-heading h2 { font-size:clamp(1.4rem,9vw,1.9rem); }
  .hero-card { padding:34px; }
}

/* ≥ 1500px — monitores grandes */
@media (min-width:1500px) {
  :root { --max-width:1360px; }
  .hero-grid { min-height:680px; }
  .hero h1 { font-size:clamp(3.2rem,3.6vw,4.4rem); }

  .closing-inner { max-width:840px; }
}

/* ≥ 2200px — ultrawide */
@media (min-width:2200px) {
  :root { --max-width:1560px; }
  .hero h1 { font-size:clamp(3.8rem,3.8vw,5rem); }
}

/* landscape + tela baixa (celular deitado) */
@media (orientation:landscape) and (max-height:600px) and (max-width:980px) {
  .hero { padding-top:32px; }
  .hero-art { min-height:260px; }
  .hero-card { max-width:280px; }
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .reveal { opacity:1; transform:none; }
}
