/* Uma Caixa de Festa: estilos do site e da loja */
:root{
  --canvas:#FBF3EE;
  --canvas-2:#F7E9E6;
  --panel:#FFFAF7;
  --accent:#D9466F;
  --accent-hover:#C2365E;
  --accent-muted:#F4C9D5;
  --lilac:#B7A2D8;
  --lilac-soft:#EDE5F6;
  --gold:#C49A5A;
  --gold-soft:#E9D6B4;
  --text-secondary:#6E5872;
  --text-primary:#432C4A;
  --line:#E8D6D9;
  --line-strong:#B98B9B;
  --ok:#2E7D5B;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.45,.05,.25,1);
  --radius:22px;
  --shadow:0 18px 50px -24px rgba(90,40,70,.35);
  --tglow:0 0 2px rgba(255,248,244,.95),0 0 14px rgba(255,246,242,.9),0 0 40px rgba(255,244,240,.85);
  --f-display:"Fredoka",system-ui,sans-serif;
  --f-script:"Dancing Script",cursive;
  --f-body:"Nunito",system-ui,sans-serif;
  --f-mono:"DM Mono",ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;animation:pageIn .7s var(--ease-out) both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--text-primary);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;transition:top .3s var(--ease-out)}
.skip:focus{top:12px}
main:focus{outline:none}

/* ambiente fixo: confetes que derivam bem devagar */
.ambiente{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60vw 50vh at 12% 8%,rgba(244,201,213,.45),transparent 70%),
  radial-gradient(50vw 50vh at 90% 30%,rgba(237,229,246,.7),transparent 70%),
  radial-gradient(60vw 40vh at 50% 100%,rgba(233,214,180,.28),transparent 70%),var(--canvas)}
.ambiente::after{content:"";position:absolute;inset:-20%;background-image:
  radial-gradient(circle,rgba(196,154,90,.55) 1.2px,transparent 1.6px),
  radial-gradient(circle,rgba(217,70,111,.28) 1.4px,transparent 1.8px),
  radial-gradient(circle,rgba(183,162,216,.4) 1.3px,transparent 1.7px);
  background-size:180px 220px,260px 300px,220px 260px;background-position:0 0,60px 90px,120px 30px;
  animation:deriva 90s linear infinite;animation-delay:-20s;opacity:.7}
@keyframes deriva{to{transform:translate3d(-40px,240px,0)}}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* tipografia */
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em;color:var(--text-primary)}
h2{font-size:clamp(2rem,4.4vw,3.3rem)}
h3{font-size:1.35rem;font-weight:500}
.script{font-family:var(--f-script);font-weight:600;color:var(--accent)}
.rotulo{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.lede{font-size:1.15rem;color:var(--text-secondary);max-width:52ch}
p{margin:0}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;border:0;cursor:pointer;text-decoration:none;font-family:var(--f-display);font-weight:500;font-size:1.06rem;padding:.9em 1.6em;border-radius:999px;background:var(--accent);color:#fff;box-shadow:0 10px 24px -12px rgba(217,70,111,.8);transition:background .3s var(--ease-out),transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(217,70,111,.9)}
.btn:active{transform:translateY(0)}
.btn.sec{background:var(--panel);color:var(--text-primary);box-shadow:inset 0 0 0 2px var(--line-strong)}
.btn.sec:hover{background:#fff;box-shadow:inset 0 0 0 2px var(--accent)}
.btn.zap{background:#1F9D57;box-shadow:0 10px 24px -12px rgba(31,157,87,.8)}
.btn.zap:hover{background:#178248}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn svg{width:1.15em;height:1.15em;flex:none}
@media (pointer:coarse){.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}}

/* navegação */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,4vw,44px);transition:background .4s var(--ease-out),box-shadow .4s var(--ease-out),padding .4s var(--ease-out)}
.nav.solid{background:rgba(251,243,238,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding-top:8px;padding-bottom:8px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca img{width:54px;height:54px;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}
.marca span{font-family:var(--f-script);font-size:1.5rem;font-weight:700;color:var(--accent);line-height:1}
.nav-links{display:flex;align-items:center;gap:clamp(12px,2.2vw,30px)}
.nav-links a{text-decoration:none;font-weight:600;color:var(--text-primary);font-size:.98rem;position:relative}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.nav-links a:not(.btn):hover::after{transform:scaleX(1)}
.carrinho-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:0;background:var(--panel);box-shadow:inset 0 0 0 2px var(--line-strong);cursor:pointer;transition:box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}
.carrinho-btn:hover{box-shadow:inset 0 0 0 2px var(--accent);transform:translateY(-1px)}
.carrinho-btn svg{width:22px;height:22px}
.carrinho-btn .qtd{position:absolute;top:-3px;right:-3px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .4s var(--ease-out)}
.carrinho-btn .qtd.on{transform:scale(1)}
.carrinho-btn.pulo{animation:pulo .6s var(--ease-out)}
@keyframes pulo{30%{transform:scale(1.15) rotate(-6deg)}60%{transform:scale(.95) rotate(3deg)}}
@media (max-width:860px){.nav-links a.so-desk{display:none}.marca span{display:none}}

/* HERO */
.hero{position:relative;height:520vh}
.palco{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--canvas)}
.poster,.palco video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.poster{background-size:cover;background-position:center}
.palco video{opacity:0;transition:opacity .8s var(--ease-out);will-change:transform;transform:translateZ(0)}
.palco.video-ready video{opacity:1}
.palco.video-failed video{display:none}
.vela{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 48%,rgba(251,243,238,0) 40%,rgba(251,243,238,.5) 100%)}
.anel{position:absolute;right:28px;bottom:28px;width:44px;height:44px;color:var(--accent);opacity:.9;transition:opacity .6s var(--ease-out)}
.anel.fim{opacity:0}
.seta{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);transition:opacity .5s var(--ease-out)}
.seta i{width:2px;height:34px;border-radius:2px;background:linear-gradient(var(--accent),transparent);animation:respira 2.4s var(--ease-soft) infinite;animation-delay:-.8s}
@keyframes respira{50%{transform:translateY(8px);opacity:.4}}
.seta.fora{opacity:0}
@media (max-height:560px){.seta,.anel{display:none}}

.band{position:absolute;left:50%;top:50%;width:min(860px,88vw);transform:translate(-50%,-50%);text-align:center;opacity:0;pointer-events:none;text-shadow:var(--tglow)}
.band::before{content:"";position:absolute;inset:-18% -10%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 70% 62% at 50% 50%,rgba(251,243,238,.86) 0%,rgba(251,243,238,.62) 46%,rgba(251,243,238,0) 76%)}
.band.on{pointer-events:auto}
.band .btn{text-shadow:none}
.band h1,.band .t{font-family:var(--f-display);font-weight:600;font-size:clamp(2.3rem,5.6vw,4.6rem);line-height:1.04;color:var(--text-primary)}
.band .s{margin-top:14px;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:600;color:var(--text-secondary)}
.b1{top:44%}
.b3{top:40%}
.b4{top:max(76px,9vh);transform:translate(-50%,0);width:min(980px,92vw)}
.b4::before{inset:-30% -14% -40%}
.b4 .t{font-size:clamp(2.2rem,min(5vw,7.4vh),4.4rem)}
.b4 .script{display:block;font-size:clamp(1.3rem,min(2.4vw,3.6vh),2rem);margin-top:4px}
.b4 .acoes{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:min(18px,2vh)}

/* divisão em palavras e letras */
.w{display:inline-block;white-space:nowrap}
.c{display:inline-block}
/* b1: deriva para baixo */
.b1 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-28px))}
/* b2: confete (dispersão) */
.b2 .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translate(calc((1 - var(--kc))*var(--jx,0px)),calc((1 - var(--kc))*var(--jy,0px))) rotate(calc((1 - var(--kc))*var(--jr,0deg)))}
/* b3: metades se abrindo */
.b3 .meia{display:inline-block;--kc:clamp(0,var(--k,0)*1.6,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--dx,0px)))}
/* b4: subida em etapas */
.b4 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*26px))}
.b4 .script,.b4 .s{--ks:clamp(0,(var(--k,0) - .6)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}
.b4 .acoes{--kb:clamp(0,(var(--k,0) - .74)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.b2 .s,.b1 .s,.b3 .s{--ks:clamp(0,(var(--k,0) - .5)*3,1);opacity:var(--ks)}

/* hero estático: celular e movimento reduzido */
.hero-estatico{display:none}
@media (orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
  .hero{display:none}
  .hero-estatico{display:block;position:relative;padding:96px 16px 40px;text-align:center;overflow:hidden}
}
.hero-estatico .foto{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;margin:22px auto 0;max-width:640px}
.hero-estatico .foto img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.hero-estatico h1{font-size:clamp(2.2rem,9vw,3.4rem)}
.hero-estatico .s{margin:12px auto 0;color:var(--text-secondary);font-weight:600;max-width:34ch}
.hero-estatico .acoes{display:flex;flex-direction:column;gap:10px;margin:22px auto 0;max-width:340px}
.hero-estatico .script{display:block;font-size:1.5rem;margin-top:16px}

/* seções */
.secao{position:relative;padding:clamp(72px,10vw,130px) clamp(16px,4vw,44px)}
.wrap{max-width:1180px;margin:0 auto}
.cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(30px,4vw,52px)}
.cab .rotulo{display:block;margin-bottom:12px}
.cab h2{max-width:16ch}
.cab .lede{max-width:44ch}

/* a fita (assinatura) */
.fita{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:0;overflow:visible}
.fita path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.fita .f-ouro{stroke:var(--gold);stroke-width:15;opacity:.55}
.fita .f-rosa{stroke:#EFA3B9;stroke-width:11}
.fita .f-brilho{stroke:rgba(255,255,255,.55);stroke-width:2.5}
.conteudo{position:relative}
.conteudo>section{position:relative;z-index:1}
@media (max-width:720px){.fita{opacity:.55}}

/* temas */
.filtros{display:flex;flex-wrap:wrap;gap:10px}
.filtro{border:0;cursor:pointer;padding:.55em 1.15em;border-radius:999px;background:var(--panel);box-shadow:inset 0 0 0 2px var(--line);font-weight:700;color:var(--text-secondary);transition:background .3s var(--ease-out),color .3s var(--ease-out),box-shadow .3s var(--ease-out)}
.filtro:hover{box-shadow:inset 0 0 0 2px var(--line-strong);color:var(--text-primary)}
.filtro[aria-pressed="true"]{background:var(--text-primary);color:#fff;box-shadow:none}
@media (pointer:coarse){.filtro{min-height:44px}}
.grade-temas{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(16px,2vw,26px)}
.tema{position:relative;display:flex;flex-direction:column;background:var(--panel);border-radius:var(--radius);overflow:hidden;text-decoration:none;box-shadow:0 1px 0 var(--line),var(--shadow);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),opacity .4s var(--ease-out)}
.tema:hover{transform:translateY(-6px);box-shadow:0 1px 0 var(--line),0 28px 60px -26px rgba(90,40,70,.45)}
.tema .img{aspect-ratio:1;overflow:hidden;background:var(--canvas-2)}
.tema img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.tema:hover img{transform:scale(1.05)}
.tema .info{padding:14px 18px 18px;display:flex;flex-direction:column;gap:2px}
.tema h3{font-size:1.2rem}
.tema .preco{font-size:.86rem;color:var(--text-secondary);white-space:nowrap}
.tema .preco b{color:var(--text-primary);font-size:1rem}
.tema .faixa{position:absolute;left:0;right:0;top:0;height:5px;background:var(--cor,var(--accent))}
.tema.esconde{display:none}

/* produtos */
.abas{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.aba{border:0;cursor:pointer;padding:.65em 1.3em;border-radius:999px;background:var(--panel);box-shadow:inset 0 0 0 2px var(--line);font-family:var(--f-display);font-weight:500;font-size:1.02rem;color:var(--text-secondary);transition:background .3s var(--ease-out),color .3s var(--ease-out),box-shadow .3s var(--ease-out)}
.aba:hover{box-shadow:inset 0 0 0 2px var(--line-strong);color:var(--text-primary)}
.aba[aria-selected="true"]{background:var(--text-primary);color:#fff;box-shadow:none}
@media (pointer:coarse){.aba{min-height:44px}}
.grade-produtos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:clamp(14px,1.8vw,22px)}
.produto-card{background:var(--panel);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 0 var(--line),var(--shadow);display:flex;flex-direction:column;animation:surge .6s var(--ease-out) both}
@keyframes surge{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.produto-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:var(--canvas-2)}
.pc-info{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pc-info h3{font-size:1.12rem}
.pc-info p{font-size:.9rem;color:var(--text-secondary);line-height:1.45}
.pc-precos{display:flex;gap:16px;margin-top:auto;padding-top:8px}
.pc-precos span{display:flex;flex-direction:column;line-height:1.25}
.pc-precos small{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.pc-precos b{font-size:1.08rem}
.nota-precos{margin-top:22px;font-size:.92rem;color:var(--text-secondary);max-width:70ch}
@media (max-width:520px){.grade-produtos{grid-template-columns:repeat(2,1fr)}.pc-info p{display:none}.pc-precos{gap:10px}.pc-precos b{font-size:.98rem}}

/* galeria do tema */
.galeria-tema{position:sticky;top:96px}
.galeria-tema .principal{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:var(--canvas-2)}
.galeria-tema .principal img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:opacity .35s var(--ease-out)}
.miniaturas{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px}
.miniaturas button{padding:0;border:0;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:inset 0 0 0 2px transparent;opacity:.7;transition:opacity .25s,box-shadow .25s,transform .25s var(--ease-out);background:none}
.miniaturas button img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}
.miniaturas button:hover{opacity:1;transform:translateY(-2px)}
.miniaturas button[aria-current="true"]{opacity:1;box-shadow:0 0 0 3px var(--accent)}
@media (max-width:880px){.galeria-tema{position:relative;top:0}.miniaturas{grid-template-columns:repeat(6,1fr)}}
.grupo-qtd{margin-top:16px}
.grupo-qtd>h3{font-size:1.02rem;font-family:var(--f-mono);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}
.qtd-linha.com-foto{grid-template-columns:56px 1fr auto auto}
.qtd-linha .mini{width:56px;height:56px;border-radius:12px;object-fit:cover}
@media (max-width:520px){.qtd-linha.com-foto{grid-template-columns:48px 1fr auto}.qtd-linha.com-foto .mini{width:48px;height:48px}.qtd-linha.com-foto .pu{grid-column:2;grid-row:2}.qtd-linha.com-foto .passo-qtd{grid-row:1/3;grid-column:3}}

/* pegue e monte x montada */
.monte{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.dobra{position:relative;isolation:isolate;border-radius:32px;padding:30px 20px 26px;text-align:center;box-shadow:0 30px 70px -34px rgba(120,50,90,.55),inset 0 0 0 1px rgba(255,255,255,.6);overflow:hidden;background:#F9E3EA}
.dobra-fundo{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.dobra-fundo::before{content:"";position:absolute;inset:-6%;background:url('hero-poster.jpg') center/cover;filter:blur(4px) saturate(1.08);opacity:.85}
.dobra-fundo::after{content:"";position:absolute;inset:0;background:
  radial-gradient(55% 45% at 50% 40%,rgba(255,250,247,.82) 0%,rgba(255,250,247,.35) 55%,rgba(255,250,247,0) 75%),
  linear-gradient(180deg,rgba(249,227,234,.15) 0%,rgba(249,227,234,0) 40%,rgba(250,240,245,.88) 78%,#FBF1F4 100%)}
.bk{position:absolute;z-index:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,236,214,.55) 35%,rgba(255,255,255,0) 70%);animation:boia 9s var(--ease-soft) infinite alternate}
.bk:nth-child(1){width:46px;height:46px;left:9%;top:14%;animation-delay:-2s}
.bk:nth-child(2){width:26px;height:26px;left:24%;top:46%;animation-delay:-5s}
.bk:nth-child(3){width:60px;height:60px;right:8%;top:10%;animation-delay:-1s}
.bk:nth-child(4){width:22px;height:22px;right:22%;top:40%;animation-delay:-7s}
.bk:nth-child(5){width:34px;height:34px;left:42%;top:6%;animation-delay:-3s}
.bk:nth-child(6){width:18px;height:18px;right:38%;top:58%;animation-delay:-6s}
@keyframes boia{from{transform:translate3d(0,0,0);opacity:.55}to{transform:translate3d(10px,-18px,0);opacity:1}}
.cena{position:relative;height:330px;display:flex;align-items:center;justify-content:center;perspective:1000px}
.pedestal{position:absolute;left:50%;bottom:22px;width:250px;height:64px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% 35%,#FFFFFF 0%,#FBEFF3 55%,#EFD3DE 100%);box-shadow:0 14px 0 -2px #E8C5D3,0 26px 40px -12px rgba(120,50,90,.45)}
.pedestal::after{content:"";position:absolute;inset:6px 18px auto;height:14px;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(196,154,90,.55),transparent);opacity:.7}
.sombra{position:absolute;left:50%;bottom:44px;width:150px;height:26px;border-radius:50%;transform:translateX(-50%) scale(calc(.75 + .25*var(--p,0)));background:radial-gradient(ellipse,rgba(110,40,80,.35),transparent 70%)}
.flutua{position:relative;transform-style:preserve-3d;translate:0 18px}
.dobra.pronta .flutua{animation:flutuar 4.5s var(--ease-soft) infinite;animation-delay:-1s}
@keyframes flutuar{0%,100%{translate:0 18px}50%{translate:0 10px}}
.planta{position:relative;width:110px;height:110px;transform-style:preserve-3d;transform:rotateX(calc(60deg - 22deg*var(--p,0))) rotateZ(calc(-40deg + 8deg*var(--p,0))) translateZ(calc(-55px*var(--p,0)))}
.pn{position:absolute;width:110px;height:110px;transform-style:preserve-3d;backface-visibility:visible;border-radius:3px;
  background:radial-gradient(circle,rgba(196,154,90,.7) 1.1px,transparent 1.6px) 0 0/12px 12px,linear-gradient(150deg,#FCD9E3 0%,#F4B9CB 100%);
  box-shadow:inset 0 0 0 1px rgba(196,154,90,.55),inset 0 -10px 18px -10px rgba(140,60,90,.25)}
.pn::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:rgba(80,30,60,var(--sh,0))}
.pn.fundo{left:0;top:0;--sh:.12}
.pn.frente{left:0;top:110px;transform-origin:50% 0;transform:rotateX(calc(90deg*var(--p,0)))}
.pn.tras{left:0;top:-110px;transform-origin:50% 100%;transform:rotateX(calc(-90deg*var(--p,0)));--sh:.16}
.pn.esq{left:-110px;top:0;transform-origin:100% 50%;transform:rotateY(calc(90deg*var(--p,0)));--sh:.2}
.pn.dir{left:110px;top:0;transform-origin:0 50%;transform:rotateY(calc(-90deg*var(--p,0)));--sh:.1}
.pn.tampa{left:-4px;top:-114px;width:118px;height:114px;transform-origin:50% 100%;transform:rotateX(calc(-90deg*var(--q,0)));--sh:0;
  background:radial-gradient(circle,rgba(196,154,90,.7) 1.1px,transparent 1.6px) 0 0/12px 12px,linear-gradient(150deg,#EEE4FA 0%,#D6C4EE 100%)}
.fita-v,.fita-h{position:absolute;z-index:1;background:linear-gradient(90deg,#C49A5A 0 1.5px,#E06F93 1.5px,#F8BFD0 50%,#E06F93 calc(100% - 1.5px),#C49A5A 0)}
.fita-v{top:0;bottom:0;left:50%;width:20px;transform:translateX(-50%)}
.fita-h{left:0;right:0;top:50%;height:20px;transform:translateY(-50%);background:linear-gradient(180deg,#C49A5A 0 1.5px,#E06F93 1.5px,#F8BFD0 50%,#E06F93 calc(100% - 1.5px),#C49A5A 0)}
.pn .cor{position:absolute;z-index:2;left:50%;top:58%;width:34px;height:34px;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 2px rgba(120,60,20,.35))}
.laco{position:absolute;left:50%;top:29%;width:118px;transform:translate(-50%,-50%) translateY(calc((1 - var(--r,0))*-34px)) scale(calc(.5 + .5*var(--r,0)));opacity:var(--r,0);pointer-events:none;filter:drop-shadow(0 6px 8px rgba(160,60,100,.3))}
.dobra.pronta .laco{animation:flutuarL 4.5s var(--ease-soft) infinite;animation-delay:-1s}
@keyframes flutuarL{0%,100%{translate:0 0}50%{translate:0 -8px}}
.faiscas{position:absolute;left:50%;top:44%;width:0;height:0;pointer-events:none}
.faiscas i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;opacity:0;background:radial-gradient(circle,#fff 0 20%,#F3D9A4 40%,transparent 70%);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.dobra.pronta .faiscas i{animation:faisca 1.1s var(--ease-out) forwards}
.dobra.pronta .faiscas i:nth-child(odd){animation-duration:1.4s}
@keyframes faisca{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateY(-130px) scale(1.6)}}
.dobra .dica{margin-top:6px;font-weight:700;color:var(--text-secondary);min-height:1.6em}
.segurar{position:relative;margin-top:14px;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none}
.segurar .barra{position:absolute;left:0;top:0;bottom:0;width:100%;background:rgba(255,255,255,.28);transform-origin:left;transform:scaleX(var(--h,0))}
.segurar span{position:relative}
.dobra.pronta .segurar{background:var(--ok)}
.dobra .dica,.dobra .segurar{position:relative;z-index:1}
.dobra .dica{color:var(--text-primary)}
.lado{display:grid;gap:16px}
.opcao{background:var(--panel);border-radius:var(--radius);padding:22px 24px;box-shadow:inset 0 0 0 1px var(--line)}
.opcao .topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.opcao h3{font-size:1.4rem}
.opcao .de{font-family:var(--f-mono);font-size:.78rem;color:var(--text-secondary)}
.opcao p{margin-top:8px;color:var(--text-secondary)}
.opcao ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.opcao li{display:flex;gap:10px;align-items:baseline}
.opcao li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}
.opcao.mont li::before{background:var(--lilac)}
@media (max-width:880px){.monte{grid-template-columns:1fr}}

/* passos */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p}
.passo{position:relative;padding:26px 22px 24px;border-radius:var(--radius);background:linear-gradient(180deg,var(--panel),rgba(255,250,247,.6));box-shadow:inset 0 0 0 1px var(--line)}
.passo .n{font-family:var(--f-display);font-size:3rem;font-weight:600;line-height:1;color:var(--accent-muted);-webkit-text-stroke:1.5px var(--accent)}
.passo h3{margin-top:14px;font-size:1.2rem}
.passo p{margin-top:8px;color:var(--text-secondary);font-size:.98rem}
@media (max-width:900px){.passos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.passos{grid-template-columns:1fr}}

/* promessas: faixa com a foto do kit */
.promessas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.promessas .foto{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
.promessas .foto img{width:100%;height:100%;object-fit:cover}
.lista-prom{display:grid;gap:22px;margin-top:26px}
.prom{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start}
.prom .ic{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--accent-muted);color:var(--accent)}
.prom .ic svg{width:26px;height:26px}
.prom h3{font-size:1.15rem}
.prom p{color:var(--text-secondary);margin-top:4px}
@media (max-width:880px){.promessas{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,60px)}
.faq details{border-bottom:1px solid var(--line-strong)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--f-display);font-size:1.18rem;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--line-strong);position:relative;transition:transform .4s var(--ease-out),background .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--text-primary);transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);background:var(--accent-muted)}
.faq .resp{padding:0 0 22px;color:var(--text-secondary);max-width:62ch}
@media (max-width:820px){.faq{grid-template-columns:1fr}}

/* cta final */
.final{text-align:center}
.final .caixa-final{position:relative;max-width:900px;margin:0 auto;padding:clamp(40px,6vw,70px) clamp(18px,4vw,60px);border-radius:40px;background:linear-gradient(150deg,#FFF6F2,#F6E3EC 55%,#EDE5F6);box-shadow:var(--shadow);overflow:hidden}
.final h2{max-width:18ch;margin:0 auto}
.final .lede{margin:16px auto 0}
.final .acoes{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.passos-pedido{list-style:none;counter-reset:passo;max-width:560px;margin:26px auto 0;padding:0;text-align:left;display:grid;gap:12px}
.passos-pedido li{counter-increment:passo;position:relative;padding:14px 16px 14px 56px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid #F1D9E2;line-height:1.5;color:var(--text-secondary,#6b5670)}
.passos-pedido li::before{content:counter(passo);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font:600 .95rem Fredoka,sans-serif}
.passos-pedido b{color:var(--text-primary,#432C4A)}
.passos-pedido[hidden]{display:none}
.final .laco-final{width:120px;margin:0 auto 14px;transform:scale(calc(.6 + .4*var(--lf,0))) rotate(calc((1 - var(--lf,0))*-14deg));opacity:var(--lf,0);transition:transform .9s var(--ease-out),opacity .9s var(--ease-out)}

/* rodapé */
footer{padding:56px clamp(16px,4vw,44px) 40px;background:var(--text-primary);color:#EDE1EF}
footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
footer h3{color:#fff;font-size:1.05rem;margin-bottom:10px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer .marca-r{font-family:var(--f-script);font-size:2rem;color:#F7B6C9;line-height:1}
footer .base{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:10px;font-size:.86rem;color:#CDBBD0}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}

/* entradas coreografadas */
.entra .e{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.entra.in .e{opacity:1;transform:none}
.entra.in .e:nth-child(2){transition-delay:.08s}
.entra.in .e:nth-child(3){transition-delay:.16s}
.entra.in .e:nth-child(4){transition-delay:.24s}
.entra.in .e:nth-child(5){transition-delay:.32s}
.entra.in .e:nth-child(6){transition-delay:.4s}
.entra.in.feito .e,.entra.in.feito .e:nth-child(n){transition-delay:0s}

/* carrinho lateral */
.veu{position:fixed;inset:0;z-index:60;background:rgba(67,44,74,.35);opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out)}
.veu.on{opacity:1;pointer-events:auto}
.gaveta{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(440px,100vw);background:var(--canvas);box-shadow:-20px 0 60px -30px rgba(67,44,74,.6);transform:translateX(105%);transition:transform .5s var(--ease-out);display:flex;flex-direction:column}
.gaveta.on{transform:none}
.gaveta header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.gaveta header h2{font-size:1.5rem}
.fechar{width:44px;height:44px;border-radius:50%;border:0;background:var(--panel);box-shadow:inset 0 0 0 2px var(--line);cursor:pointer;font-size:1.4rem;line-height:1}
.itens{flex:1;overflow:auto;padding:14px 20px;display:grid;gap:12px;align-content:start}
.item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;background:var(--panel);border-radius:16px;padding:12px;box-shadow:inset 0 0 0 1px var(--line)}
.item img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.item h3{font-size:1.02rem}
.item .det{font-size:.84rem;color:var(--text-secondary);line-height:1.4;margin-top:2px}
.item .val{font-weight:700;white-space:nowrap}
.item .tirar{background:none;border:0;padding:0;margin-top:6px;color:var(--accent);font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:underline}
.vazio{text-align:center;color:var(--text-secondary);padding:40px 10px}
.vazio .btn{margin-top:16px}
.gaveta footer{background:none;color:inherit;padding:16px 20px 20px;border-top:1px solid var(--line);display:grid;gap:12px}
.linha-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem}
.linha-total b{font-family:var(--f-display);font-size:1.5rem}

/* página do tema */
.pagina{padding:110px clamp(16px,4vw,44px) 80px}
.produto{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:start}
.produto .galeria{position:sticky;top:96px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:var(--canvas-2)}
.produto .galeria img{width:100%;aspect-ratio:1;object-fit:cover}
.migalha{font-size:.9rem;color:var(--text-secondary);margin-bottom:14px}
.migalha a{text-decoration:none;font-weight:700}
.produto h1{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.passo-form{margin-top:28px}
.passo-form>h2{font-size:1.25rem;font-weight:600;display:flex;gap:10px;align-items:center;margin-bottom:12px}
.passo-form>h2 em{font-style:normal;font-family:var(--f-mono);font-size:.78rem;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.acab{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.acab label{position:relative;cursor:pointer;display:block;background:var(--panel);border-radius:18px;padding:16px;box-shadow:inset 0 0 0 2px var(--line);transition:box-shadow .3s var(--ease-out),background .3s}
.acab input{position:absolute;opacity:0}
.acab label:has(input:checked){box-shadow:inset 0 0 0 2.5px var(--accent);background:#fff}
.acab label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.acab b{display:block;font-family:var(--f-display);font-weight:500;font-size:1.12rem}
.acab small{display:block;color:var(--text-secondary);line-height:1.4;margin-top:4px}
.qtds{display:grid;gap:10px}
.qtd-linha{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;background:var(--panel);border-radius:16px;padding:12px 14px;box-shadow:inset 0 0 0 1px var(--line)}
.qtd-linha.kit{box-shadow:inset 0 0 0 2px var(--gold-soft);background:#FFF8EE}
.qtd-linha b{display:block;font-weight:700}
.qtd-linha small{color:var(--text-secondary)}
.qtd-linha .pu{font-size:.9rem;color:var(--text-secondary);white-space:nowrap}
.passo-qtd{display:flex;align-items:center;gap:4px}
.passo-qtd button{width:40px;height:40px;border-radius:12px;border:0;background:var(--canvas-2);font-size:1.2rem;font-weight:700;cursor:pointer;transition:background .2s}
.passo-qtd button:hover{background:var(--accent-muted)}
.passo-qtd input{width:58px;height:40px;text-align:center;border:0;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font:inherit;font-weight:700;-moz-appearance:textfield}
.passo-qtd input::-webkit-outer-spin-button,.passo-qtd input::-webkit-inner-spin-button{-webkit-appearance:none}
@media (pointer:coarse){.passo-qtd button{width:44px;height:44px}}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.campo{display:grid;gap:6px}
.campo.cheio{grid-column:1/-1}
.campo label{font-weight:700;font-size:.92rem}
.campo input,.campo textarea,.campo select{width:100%;font:inherit;padding:.75em .9em;border-radius:14px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--text-primary);transition:box-shadow .25s}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--accent)}
.campo .ajuda{font-size:.82rem;color:var(--text-secondary)}
.campo.erro input{box-shadow:inset 0 0 0 2.5px #B3261E}
.msg-erro{color:#B3261E;font-weight:700;font-size:.9rem;min-height:1.4em}
.resumo-fixo{position:sticky;bottom:12px;margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;background:var(--text-primary);color:#fff;border-radius:22px;padding:16px 18px 16px 22px;box-shadow:0 20px 50px -20px rgba(67,44,74,.7)}
.resumo-fixo .tot small{display:block;color:#D9C6DC;font-size:.82rem}
.resumo-fixo .tot b{font-family:var(--f-display);font-size:1.7rem;font-weight:500}
@media (max-width:880px){.produto{grid-template-columns:1fr}.produto .galeria{position:relative;top:0}}
@media (max-width:520px){.campos,.acab{grid-template-columns:1fr}.qtd-linha{grid-template-columns:1fr auto}.qtd-linha .pu{grid-column:1;grid-row:2}}

/* checkout */
.checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,50px);align-items:start}
.bloco{background:var(--panel);border-radius:26px;padding:clamp(20px,3vw,30px);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:18px}
.bloco h2{font-size:1.4rem;margin-bottom:16px}
.entrega-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.resumo{position:sticky;top:96px}
.resumo .linha{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.resumo .linha span:first-child{color:var(--text-secondary)}
.resumo .total{border:0;font-size:1.2rem;padding-top:14px}
.resumo .total b{font-family:var(--f-display);font-size:1.7rem}
.selo{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--text-secondary);margin-top:12px}
.selo svg{width:20px;height:20px;flex:none;color:var(--ok)}
.aviso{background:#FFF4E5;border-radius:16px;padding:14px 16px;font-size:.92rem;box-shadow:inset 0 0 0 1px #F0D2A4;margin-top:14px}
@media (max-width:900px){.checkout{grid-template-columns:1fr}.resumo{position:relative;top:0}}
@media (max-width:520px){.entrega-opts{grid-template-columns:1fr}}

/* toast */
.toast{transition:transform .5s var(--ease-out),visibility 0s .5s;position:fixed;left:50%;bottom:24px;z-index:80;transform:translate(-50%,calc(100% + 40px));visibility:hidden;background:var(--text-primary);color:#fff;padding:14px 20px;border-radius:16px;font-weight:700;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}
.toast.on{transform:translate(-50%,0);visibility:visible;transition:transform .5s var(--ease-out),visibility 0s}

/* movimento reduzido: tudo no estado final */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .entra .e{opacity:1;transform:none}
  .final .laco-final{opacity:1;transform:none}
}
@media (max-width:520px){.resumo-fixo{flex-wrap:nowrap;padding:10px 10px 10px 16px;gap:10px;border-radius:18px}.resumo-fixo .tot small{font-size:.74rem}.resumo-fixo .tot b{font-size:1.3rem}.resumo-fixo .btn{padding:.75em 1em;font-size:.95rem;white-space:nowrap}}
.bandeirola-linha .campo-band{grid-column:1/-1;margin-top:4px}
.bandeirola-linha .btn-band{padding:.55em 1.1em;font-size:.95rem}
.bandeirola-linha .pu{font-weight:700;color:var(--text-primary)}
@media (max-width:520px){.qtd-linha.com-foto.bandeirola-linha .btn-band{grid-row:1/3;grid-column:3}}

/* tema sob medida */
.cria-tema{position:relative;margin-top:clamp(30px,4vw,48px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(18px,3vw,36px);padding:clamp(22px,3vw,34px) clamp(20px,3.5vw,44px);border-radius:32px;overflow:hidden;
  background:radial-gradient(120% 140% at 0% 0%,#FFE4EC 0%,transparent 55%),radial-gradient(120% 140% at 100% 100%,#E9DDF8 0%,transparent 60%),linear-gradient(120deg,#FFF6F2,#F8E6EF);
  box-shadow:inset 0 0 0 2px #F1C9D6,0 24px 60px -30px rgba(217,70,111,.55)}
.cria-tema::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(196,154,90,.55) 1.4px,transparent 2px),radial-gradient(circle,rgba(217,70,111,.35) 1.6px,transparent 2.2px);background-size:46px 46px,70px 70px;background-position:0 0,23px 30px;opacity:.6;-webkit-mask-image:linear-gradient(90deg,#000,transparent 45%,transparent 70%,#000);mask-image:linear-gradient(90deg,#000,transparent 45%,transparent 70%,#000)}
.ct-arte{position:relative;width:clamp(84px,9vw,112px)}
.ct-arte svg{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 18px rgba(217,70,111,.28))}
.cria-tema.in .ct-arte svg{animation:balanca 5s var(--ease-soft) infinite;animation-delay:-1.5s}
@keyframes balanca{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-6px)}}
.ct-texto{position:relative}
.ct-texto h3{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:600;margin-top:6px}
.ct-texto p{margin-top:8px;color:var(--text-secondary);max-width:52ch}
.ct-btn{position:relative;font-size:1.08rem;padding:1em 1.6em;white-space:nowrap}
.ct-btn::after{content:"";position:absolute;inset:-4px;border-radius:999px;box-shadow:0 0 0 3px rgba(31,157,87,.35);opacity:0;animation:pulsa 2.8s var(--ease-out) infinite;animation-delay:-1s}
@keyframes pulsa{0%{opacity:.9;transform:scale(.96)}70%,100%{opacity:0;transform:scale(1.12)}}
@media (max-width:860px){.cria-tema{grid-template-columns:auto 1fr}.ct-btn{grid-column:1/-1;justify-self:stretch}}
@media (max-width:520px){.cria-tema{grid-template-columns:1fr;text-align:center;justify-items:center}.ct-texto p{margin-inline:auto}}
@media (max-width:520px){.cena{height:290px}.flutua{scale:.74}.pedestal{width:200px;height:54px}.sombra{width:120px}.laco{width:96px}}

/* abertura no celular (vídeo vertical) */
@media (max-width:720px),(orientation:portrait) and (max-width:1024px),(orientation:portrait) and (pointer:coarse){
  .hero{height:460vh}
  .band{width:min(560px,90vw)}
  .band h1,.band .t{font-size:clamp(2.05rem,8.6vw,3.2rem);line-height:1.06}
  .band .s{font-size:clamp(1rem,4.2vw,1.2rem);margin-top:10px}
  .band::before{inset:-26% -8%}
  .b1{top:34%}
  .b2{top:30%}
  .b3{top:26%}
  .b3 .meia{display:block}
  .b4{top:max(72px,9svh)}
  .b4 .t{font-size:clamp(2.1rem,9vw,3rem)}
  .b4 .script{font-size:clamp(1.15rem,5vw,1.5rem)}
  .b4 .acoes{flex-direction:column;align-items:center;gap:10px;margin-top:14px}
  .b4 .acoes .btn{width:min(300px,78vw);padding:.8em 1.2em}
  .anel{right:16px;bottom:18px;width:38px;height:38px}
  .seta{bottom:18px}
}
@media (max-width:560px){
  .grade-temas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tema{border-radius:18px}
  .tema .info{padding:10px 12px 12px}
  .tema h3{font-size:1rem;line-height:1.2}
  .tema .preco{font-size:.76rem;white-space:normal}
  .tema .preco b{font-size:.9rem}
  .filtros{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
  .filtros::-webkit-scrollbar{display:none}
  .filtro{flex:none}
  .cab{margin-bottom:22px}
}
/* vídeo vertical: encaixa pela largura e alinha embaixo, para o kit aparecer inteiro em celulares compridos.
   Acima do vídeo fica a cor do topo da cena, e uma camada em degradê dissolve a emenda. */
.palco.vertical{--topo:#FADFD3;background:var(--topo)}
.palco.vertical video{object-fit:contain;object-position:50% 100%}
.palco.vertical .poster{background-size:100% auto;background-position:50% 100%;background-repeat:no-repeat}
.palco.vertical::after{content:"";position:absolute;left:0;right:0;z-index:0;pointer-events:none;bottom:calc(100vw * 1.769 - 36vw);height:36vw;background:linear-gradient(180deg,var(--topo) 0%,rgba(250,223,211,.85) 30%,rgba(250,223,211,0) 100%)}
.palco.vertical .band{z-index:1}
@media (min-aspect-ratio:9/16){.palco.vertical video{object-fit:cover}.palco.vertical .poster{background-size:cover}.palco.vertical::after{display:none}}
/* frete na hora */
.frete-calc{display:grid;gap:6px}
.frete-calc label{font-weight:700;font-size:.9rem}
.fc-linha{display:flex;align-items:center;gap:12px}
.fc-linha input{width:9.5em;font:inherit;padding:.6em .8em;border-radius:12px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.fc-linha input:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--accent)}
.fc-linha span{font-size:.95rem;color:var(--text-secondary)}
.fc-linha span b{color:var(--text-primary)}
.cep-topo{max-width:260px;margin-bottom:16px}
.cep-topo input{font-size:1.1rem;font-weight:700;letter-spacing:.04em}
.preco-opc{float:right;font-family:var(--f-body);font-size:.95rem;font-weight:700;color:var(--accent)}
/* trocar acabamento no checkout */
.linha.linha-item{flex-wrap:wrap}
.acab-mini{flex-basis:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.acab-mini button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border:0;border-radius:12px;background:var(--panel);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;text-align:left;font:inherit;transition:box-shadow .25s,background .25s}
.acab-mini button b{font-size:.84rem}
.acab-mini button span{font-weight:700;font-size:.95rem;color:var(--text-primary)}
.acab-mini button small{font-size:.76rem;color:var(--text-secondary)}
.acab-mini button[aria-checked="true"]{background:#fff;box-shadow:inset 0 0 0 2.5px var(--accent)}
.acab-mini button:hover{box-shadow:inset 0 0 0 2px var(--line-strong)}
.acab-mini button[aria-checked="true"]:hover{box-shadow:inset 0 0 0 2.5px var(--accent)}
.nota-acab{font-size:.84rem;color:var(--text-secondary);margin:8px 0 0}
@media (pointer:coarse){.acab-mini button{min-height:48px}}
/* campo-isca anti-robô: fora da tela, invisível para pessoas */
.isca{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* página de texto (política de privacidade) */
.texto-legal{max-width:760px;margin:0 auto}
.texto-legal h1{font-size:clamp(2rem,4vw,2.8rem)}
.texto-legal .atualizada{margin-top:8px;color:var(--text-secondary);font-family:var(--f-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.texto-legal h2{font-size:1.35rem;margin-top:34px}
.texto-legal p,.texto-legal li{color:var(--text-secondary);max-width:68ch;margin-top:10px}
.texto-legal ul{padding-left:1.2em;margin:6px 0 0}
.texto-legal li{margin-top:6px}
.texto-legal a{color:var(--accent);font-weight:700}
.texto-legal .caixa-contato{margin-top:30px;background:var(--panel);border-radius:20px;padding:20px 22px;box-shadow:inset 0 0 0 1px var(--line)}
