/* Segredo de Menina — estilos da vitrine */
:root{
  --blush:#FEEBEC; --blush-2:#FDF5F3; --ground:#FFFCFB; --surface:#FFFFFF;
  --cacau:#5C2E14; --cacau-soft:#8A6350; --rosa:#E8577A; --rosa-deep:#C93E62;
  --rosa-luz:#FBC0CC; --ouro:#C79A55; --ouro-luz:#EFDFC2; --linha:#F6DFE2;
  --laranja:#EE4D2D; --verde:#3FAE6A;
  --sombra:0 10px 30px rgba(140,72,90,.10); --sombra-alta:0 18px 44px rgba(140,72,90,.16);
  --r-g:26px; --r-m:18px; --r-s:12px;
  --f-disp:"Fraunces",Georgia,"Times New Roman",serif;
  --f-ui:"Jost","Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
/* Elementos com o atributo hidden precisam sumir mesmo quando o componente define display.
   Sem esta regra, o modal de busca e o contador de favoritos ficam sempre visíveis. */
[hidden]{display:none!important}
body{margin:0;background:var(--ground);color:var(--cacau);font-family:var(--f-ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
:focus-visible{outline:2px solid var(--rosa);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-disp);font-weight:600;line-height:1.12;margin:0;text-wrap:balance}
p{margin:0}
.wrap{width:min(1220px,100%);margin-inline:auto;padding-inline:20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- barra promocional ---------- */
.promo{background:linear-gradient(90deg,var(--rosa-deep),var(--rosa) 45%,#EE7C97);color:#fff;text-align:center;font-size:13px;letter-spacing:.03em;padding:9px 20px;min-height:38px;display:grid;place-items:center}
.promo b{font-weight:500}
.promo span{display:none}
.promo span.on{display:inline;animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- header ---------- */
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(255,252,251,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
.hd-in{display:flex;align-items:center;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand img{width:52px;height:52px;border-radius:50%}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt b{font-family:var(--f-disp);font-size:20px;font-weight:600;letter-spacing:-.01em}
.brand-txt small{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro);margin-top:4px}
.nav{display:flex;gap:26px;margin-inline:auto}
.nav a{font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:6px 0;position:relative;color:var(--cacau)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--ouro);transition:right .28s ease}
.nav a:hover::after,.nav a[aria-current]::after{right:0}
.nav a[aria-current]{color:var(--rosa-deep)}
.tools{display:flex;align-items:center;gap:6px;margin-left:auto}
.ic{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;transition:background .2s}
.ic:hover{background:var(--blush)}
.ic svg{width:21px;height:21px;fill:none;stroke:var(--cacau);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ic-shopee{background:var(--laranja);color:#fff;width:auto;height:38px;padding:0 16px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;gap:7px;display:inline-flex;align-items:center}
.ic-shopee:hover{background:#d9421f}
.ic-shopee svg{width:16px;height:16px;stroke:#fff}
.fav-n{position:absolute;transform:translate(12px,-12px);background:var(--rosa);color:#fff;font-size:10px;font-weight:600;min-width:17px;height:17px;border-radius:999px;display:grid;place-items:center;padding:0 4px}
.burger{display:none}
.mob{display:none}

/* ---------- hero ---------- */
.hero{padding-block:18px 8px}
.slides{position:relative;border-radius:var(--r-g);overflow:hidden;box-shadow:var(--sombra)}
.slide{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:420px;opacity:0;visibility:hidden;transition:opacity .6s ease}
.slide:not(:first-child){position:absolute;inset:0}
.slide.on{opacity:1;visibility:visible}
.s1{background:linear-gradient(115deg,#FEEBEC 0%,#FBD9DF 46%,#F6C7D2 100%)}
.s2{background:linear-gradient(115deg,#FDF3E8 0%,#F9E3E2 48%,#F3CBD6 100%)}
.s3{background:linear-gradient(115deg,#FBE9EF 0%,#F4D8E6 50%,#EFE0CB 100%)}
.slide-txt{padding:52px 20px 52px 56px}
.eyebrow{font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ouro);font-weight:500;display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--ouro)}
.slide h1{font-size:clamp(30px,4.2vw,50px);margin-top:16px;color:var(--cacau)}
.slide h1 em{font-style:italic;color:var(--rosa-deep)}
.slide p{margin-top:14px;max-width:38ch;color:var(--cacau-soft);font-size:16.5px}
.slide-art{position:relative;height:100%;min-height:420px}
.slide-art svg{position:absolute;inset:0;width:100%;height:100%}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:999px;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-rosa{background:var(--rosa);color:#fff;box-shadow:0 8px 20px rgba(232,87,122,.32)}
.btn-rosa:hover{background:var(--rosa-deep);box-shadow:0 12px 26px rgba(232,87,122,.4)}
.btn-ghost{border:1.5px solid var(--cacau);color:var(--cacau)}
.btn-ghost:hover{background:var(--cacau);color:#fff}
.btn-laranja{background:var(--laranja);color:#fff;box-shadow:0 8px 22px rgba(238,77,45,.3)}
.btn-laranja:hover{background:#d9421f}
.slide .btn{margin-top:28px}
.dots{position:absolute;left:56px;bottom:26px;display:flex;gap:9px;z-index:3}
.dots button{width:9px;height:9px;border-radius:50%;background:rgba(92,46,20,.24);transition:width .3s,background .3s}
.dots button[aria-current="true"]{width:30px;border-radius:999px;background:var(--rosa-deep)}

/* ---------- selos ---------- */
.selos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-block:26px}
.selo{display:flex;align-items:center;gap:13px;padding:16px 20px;background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-m)}
.selo svg{width:26px;height:26px;flex:0 0 auto;fill:none;stroke:var(--ouro);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.selo b{display:block;font-size:14.5px;font-weight:500}
.selo span{font-size:13px;color:var(--cacau-soft);line-height:1.4}

/* ---------- seções ---------- */
.sec{padding-block:54px}
.sec-blush{background:var(--blush-2)}
.sec-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.sec-hd h2{font-size:clamp(25px,3vw,34px)}
.sec-hd p{color:var(--cacau-soft);font-size:14.5px;margin-top:6px}
.link-mais{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--rosa-deep);font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;padding-bottom:3px;border-bottom:1px solid var(--rosa-luz)}
.link-mais:hover{border-color:var(--rosa-deep)}
.centro{text-align:center;max-width:62ch;margin-inline:auto}
.centro .eyebrow{justify-content:center}

/* ---------- cards de produto ---------- */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(162px,1fr));gap:18px}
@media(min-width:900px){.grade{grid-template-columns:repeat(4,1fr);gap:22px}}
.card{position:relative;background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-m);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta);border-color:transparent}
.media{position:relative;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden}
.media svg.art{width:56%;height:56%;fill:none;stroke:rgba(92,46,20,.42);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s ease}
.card:hover .media svg.art{transform:scale(1.06) rotate(-1.5deg)}
.g1{background:linear-gradient(150deg,#FDEDEF,#F7D3DC)}
.g2{background:linear-gradient(150deg,#FBF1E6,#F4DCD6)}
.g3{background:linear-gradient(150deg,#FCEAF1,#EFD9E6)}
.g4{background:linear-gradient(150deg,#FDF0EA,#F6D9CC)}
.g5{background:linear-gradient(150deg,#F8ECF4,#F3D5D9)}
.g6{background:linear-gradient(150deg,#FEF2EC,#F7DEE3)}
.tags{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.tag{font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#fff;color:var(--cacau);box-shadow:0 2px 8px rgba(140,72,90,.12)}
.tag-off{background:var(--rosa);color:#fff}
.tag-new{background:var(--cacau);color:#fff}
.tag-out{background:rgba(92,46,20,.72);color:#fff}
.fav{position:absolute;top:8px;right:8px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;z-index:2;transition:transform .2s,background .2s}
.fav svg{width:19px;height:19px;fill:none;stroke:var(--cacau);stroke-width:1.6}
.fav:hover{transform:scale(1.1)}
.fav[aria-pressed="true"] svg{fill:var(--rosa);stroke:var(--rosa)}
.card-b{padding:14px 15px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.card-cat{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro);font-weight:500}
.card-nome{font-family:var(--f-ui);font-size:15px;font-weight:500;line-height:1.35;color:var(--cacau)}
.precos{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.p-de{font-size:13px;color:var(--cacau-soft);text-decoration:line-through}
.p-por{font-size:19px;font-family:var(--f-disp);font-weight:600;color:var(--rosa-deep)}
.p-un{font-size:19px;font-family:var(--f-disp);font-weight:600}
.tam{font-size:12px;color:var(--cacau-soft);letter-spacing:.05em}
.cores{display:flex;gap:5px}
.cores i{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(92,46,20,.18)}
.btn-buy{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border-radius:999px;background:var(--cacau);color:#fff;font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:background .2s}
.btn-buy:hover{background:var(--rosa-deep)}
.btn-buy svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card.esgotado .media{filter:saturate(.45)}
.btn-buy.off{background:var(--blush);color:var(--cacau-soft);pointer-events:none}
.btn-buy.off svg{stroke:var(--cacau-soft)}

/* ---------- categorias ---------- */
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.cat{position:relative;aspect-ratio:4/5;border-radius:var(--r-m);overflow:hidden;display:flex;align-items:flex-end;padding:18px;transition:transform .25s}
.cat:hover{transform:translateY(-4px)}
.cat svg.art{position:absolute;top:14%;left:50%;transform:translateX(-50%);width:50%;height:50%;fill:none;stroke:rgba(92,46,20,.38);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.cat b{position:relative;font-family:var(--f-disp);font-size:19px;font-weight:600}
.cat b small{display:block;font-family:var(--f-ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);font-weight:500;margin-top:3px}

/* ---------- institucional ---------- */
.inst{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.inst-art{aspect-ratio:1;border-radius:var(--r-g);background:linear-gradient(150deg,#FEEBEC,#F7D3DC 60%,#EFDFC2);display:grid;place-items:center;position:relative;overflow:hidden}
.inst-art img{width:66%;height:auto;border-radius:50%}
.aspas{font-family:var(--f-disp);font-size:clamp(22px,2.6vw,30px);font-style:italic;line-height:1.35;color:var(--cacau)}
.inst p.corpo{margin-top:18px;color:var(--cacau-soft);font-size:16px;max-width:52ch}
.assin{margin-top:22px;font-family:var(--f-disp);font-size:17px;color:var(--ouro)}

/* ---------- shopee ---------- */
.shopee{background:linear-gradient(135deg,#FFF6F2,#FDEBEC 55%,#FBE0D6);border-radius:var(--r-g);padding:clamp(30px,4vw,50px);text-align:center;border:1px solid #F7DACC}
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 32px;text-align:left}
.passo{background:rgba(255,255,255,.7);border-radius:var(--r-m);padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.passo i{font-style:normal;font-family:var(--f-disp);font-size:17px;font-weight:700;color:var(--rosa);width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:0 0 auto}
.passo b{display:block;font-size:14.5px;font-weight:500}
.passo span{font-size:13px;color:var(--cacau-soft);line-height:1.45}
.nota-frete{margin-top:18px;font-size:12.5px;color:var(--cacau-soft);max-width:60ch;margin-inline:auto}

/* ---------- instagram ---------- */
.ig{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:26px}
.ig a{aspect-ratio:1;border-radius:var(--r-s);display:grid;place-items:center;position:relative;overflow:hidden;transition:transform .25s}
.ig a:hover{transform:scale(1.04)}
.ig svg.art{width:50%;height:50%;fill:none;stroke:rgba(92,46,20,.34);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}

/* ---------- newsletter / rodapé ---------- */
.nota-proto{text-align:center;font-size:12px;color:var(--cacau-soft);padding-block:26px;letter-spacing:.02em}
.ft{background:var(--cacau);color:#F6E3DC;padding-block:48px 0;margin-top:10px}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.ft h4{font-family:var(--f-ui);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-luz);margin:0 0 14px;font-weight:500}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ft a{font-size:14px;color:#F6E3DC;opacity:.86}
.ft a:hover{opacity:1;color:var(--rosa-luz)}
.ft-brand img{width:78px;height:78px;border-radius:50%}
.ft-brand p{font-size:14px;opacity:.8;margin-top:14px;max-width:34ch;line-height:1.55}
.sociais{display:flex;gap:10px;margin-top:18px}
.sociais a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.09);display:grid;place-items:center}
.sociais a:hover{background:var(--rosa)}
.sociais svg{width:19px;height:19px;fill:none;stroke:#F6E3DC;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ft-base{margin-top:40px;border-top:1px solid rgba(246,227,220,.16);padding-block:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;opacity:.72}

/* ---------- whatsapp ---------- */
.zap{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:13px 18px 13px 15px;border-radius:999px;box-shadow:0 10px 26px rgba(37,211,102,.38);font-size:13.5px;font-weight:500;transition:transform .2s}
.zap:hover{transform:translateY(-3px)}
.zap svg{width:22px;height:22px;fill:#fff}
.zap span{display:none}
@media(min-width:900px){.zap span{display:inline}}

/* ---------- busca ---------- */
.busca{position:fixed;inset:0;z-index:90;background:rgba(92,46,20,.32);backdrop-filter:blur(3px);display:grid;place-items:start center;padding:14vh 20px 20px}
.busca-cx{width:min(620px,100%);background:var(--surface);border-radius:var(--r-m);padding:22px;box-shadow:var(--sombra-alta)}
.busca-cx form{display:flex;gap:10px;align-items:center;border-bottom:1.5px solid var(--linha);padding-bottom:12px}
.busca-cx input{flex:1;border:0;font-size:19px;font-family:var(--f-disp);background:none;color:var(--cacau)}
.busca-cx input:focus{outline:none}
.sug{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.sug a{font-size:12.5px;padding:7px 13px;border-radius:999px;background:var(--blush);color:var(--cacau-soft)}
.sug a:hover{background:var(--rosa);color:#fff}

/* ---------- responsivo ---------- */
@media(max-width:980px){
  .nav{display:none}
  .burger{display:grid}
  .ic-shopee span{display:none}
  .ic-shopee{padding:0;width:42px;height:42px;justify-content:center}
  .slide{grid-template-columns:1fr;min-height:0}
  .slide-txt{padding:34px 24px 30px;order:2}
  .slide-art{order:1;min-height:200px;height:200px}
  .dots{left:24px;bottom:auto;top:172px}
  .selos{grid-template-columns:1fr}
  .inst{grid-template-columns:1fr;gap:28px}
  .inst-art{max-width:380px;margin-inline:auto;order:2}
  .passos{grid-template-columns:1fr}
  .ig{grid-template-columns:repeat(3,1fr)}
  .ft-grid{grid-template-columns:1fr 1fr}
  .mob{display:block}
}
@media(max-width:560px){
  .hd-in{gap:8px}
  .brand img{width:44px;height:44px}
  .brand-txt b{font-size:17px}
  .brand-txt small{font-size:8.5px;letter-spacing:.18em}
  .sec{padding-block:38px}
  .sec-hd{flex-direction:column;align-items:flex-start;gap:8px}
  .grade{gap:12px}
  .card-b{padding:12px 12px 14px}
  .ft-grid{grid-template-columns:1fr;gap:26px}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- menu mobile ---------- */
.gaveta{position:fixed;inset:0;z-index:95;background:rgba(92,46,20,.4);opacity:0;pointer-events:none;transition:opacity .25s}
.gaveta.on{opacity:1;pointer-events:auto}
.gaveta-cx{position:absolute;inset:0 22% 0 0;background:var(--ground);padding:22px;display:flex;flex-direction:column;gap:6px;transform:translateX(-100%);transition:transform .3s ease}
.gaveta.on .gaveta-cx{transform:none}
.gaveta-cx a{font-family:var(--f-disp);font-size:22px;padding:11px 4px;border-bottom:1px solid var(--linha)}
.gaveta-cx .btn{margin-top:18px;justify-content:center;text-align:center;font-family:var(--f-ui);font-size:13px;padding:15px 22px;border-bottom:0;line-height:1.3}

/* =====================================================================
   Telas internas — catálogo, produto, páginas, favoritos e LGPD
   ===================================================================== */

/* ---------- banner com imagem cadastrada no painel ---------- */
.slide-foto{position:relative;display:block;min-height:0;padding:0}
.slide-foto picture,.slide-foto img{display:block;width:100%;height:100%;object-fit:cover}
.slide.tem-foto{grid-template-columns:1fr;min-height:0;position:relative}
.slide.tem-foto:not(:first-child){position:absolute;inset:0}
.slide.tem-foto .slide-txt{position:absolute;inset:auto 0 0 0;padding:32px 56px 40px;
  background:linear-gradient(to top,rgba(92,46,20,.62),rgba(92,46,20,.18) 60%,transparent);color:#fff}
.slide.tem-foto .slide-txt h1,.slide.tem-foto .slide-txt p{color:#fff}
.slide.tem-foto .slide-txt h1 em{color:var(--rosa-luz)}
.slide.tem-foto .eyebrow{color:var(--ouro-luz)}
.slide.tem-foto .eyebrow::before{background:var(--ouro-luz)}
.banner-img{aspect-ratio:1200/520}
@media(max-width:980px){
  .slide.tem-foto .slide-txt{padding:24px 24px 28px}
  .banner-img{aspect-ratio:9/10;max-height:74vh}
}

/* ---------- breadcrumbs ---------- */
.trilha{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:var(--cacau-soft);padding-block:18px 0}
.trilha a:hover{color:var(--rosa-deep)}
.trilha span{opacity:.5}
.trilha b{font-weight:500;color:var(--cacau)}

/* ---------- cabeçalho de página ---------- */
.pg-hd{padding-block:26px 8px}
.pg-hd h1{font-size:clamp(28px,3.4vw,40px)}
.pg-hd p{color:var(--cacau-soft);margin-top:8px;max-width:62ch}

/* ---------- catálogo com filtros ---------- */
.cat-grid{display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:start;padding-block:22px 56px}
.filtros{position:sticky;top:110px;background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-m);padding:20px}
.filtros h3{font-family:var(--f-ui);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);margin:0 0 12px;font-weight:500}
.f-bloco{padding-block:16px;border-top:1px solid var(--linha)}
.f-bloco:first-of-type{border-top:0;padding-top:0}
.f-lista{display:flex;flex-direction:column;gap:9px}
.f-lista label,.f-check{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}
.f-lista input,.f-check input{accent-color:var(--rosa);width:16px;height:16px}
.f-chips{display:flex;flex-wrap:wrap;gap:7px}
.f-chip{font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(--linha);background:var(--surface);cursor:pointer;transition:all .18s}
.f-chip:hover{border-color:var(--rosa-luz)}
.f-chip.on{background:var(--rosa);border-color:var(--rosa);color:#fff}
.f-cores{display:flex;flex-wrap:wrap;gap:9px}
.f-cor{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(92,46,20,.16);cursor:pointer;position:relative}
.f-cor.on{box-shadow:inset 0 0 0 1px rgba(92,46,20,.16),0 0 0 2px var(--rosa)}
.f-preco{display:flex;gap:9px;align-items:center}
.f-preco input{width:100%;min-width:0;padding:9px 11px;border:1px solid var(--linha);border-radius:10px;font:inherit;font-size:14px;background:var(--ground);color:var(--cacau)}
.f-acoes{display:flex;flex-direction:column;gap:9px;margin-top:18px}
.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 16px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.btn-sm.cheio{background:var(--cacau);color:#fff}
.btn-sm.cheio:hover{background:var(--rosa-deep)}
.btn-sm.vazio{border:1px solid var(--linha);color:var(--cacau-soft)}
.btn-sm.vazio:hover{border-color:var(--rosa);color:var(--rosa-deep)}
.res-topo{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.res-topo p{font-size:14px;color:var(--cacau-soft)}
.ordenar{display:flex;align-items:center;gap:9px;font-size:13.5px}
.ordenar select{padding:10px 13px;border:1px solid var(--linha);border-radius:999px;background:var(--surface);font:inherit;font-size:13.5px;color:var(--cacau);cursor:pointer}
.abrir-filtros{display:none}
.vazio-msg{text-align:center;padding:56px 20px;background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-m)}
.vazio-msg svg{width:52px;height:52px;fill:none;stroke:var(--rosa-luz);stroke-width:1.2;margin-bottom:14px}
.vazio-msg h3{font-size:21px;margin-bottom:6px}
.vazio-msg p{color:var(--cacau-soft);font-size:14.5px}
.paginacao{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:36px}
.paginacao a,.paginacao span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:14px;border:1px solid var(--linha);background:var(--surface);padding-inline:12px}
.paginacao a:hover{border-color:var(--rosa);color:var(--rosa-deep)}
.paginacao .atual{background:var(--cacau);border-color:var(--cacau);color:#fff}
@media(max-width:980px){
  .cat-grid{grid-template-columns:1fr;gap:0}
  .filtros{position:fixed;inset:0;z-index:95;border-radius:0;border:0;overflow-y:auto;padding:22px 20px calc(30px + env(safe-area-inset-bottom,0px));display:none}
  .filtros.on{display:block}
  .filtros .fechar-filtros{display:grid}
  .abrir-filtros{display:inline-flex}
}
.fechar-filtros{display:none;position:absolute;top:14px;right:14px;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--blush)}
.fechar-filtros svg{width:20px;height:20px;fill:none;stroke:var(--cacau);stroke-width:1.7;stroke-linecap:round}

/* ---------- página de produto ---------- */
.prod{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:start;padding-block:22px 50px}
.galeria{display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:start}
.minis{display:flex;flex-direction:column;gap:10px}
.mini{width:78px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;border:1.5px solid transparent;background:var(--blush);cursor:pointer;padding:0}
.mini img{width:100%;height:100%;object-fit:cover}
.mini[aria-current="true"]{border-color:var(--rosa)}
.foto-grande{position:relative;aspect-ratio:4/5;border-radius:var(--r-g);overflow:hidden;background:var(--blush);box-shadow:var(--sombra)}
.foto-grande img{width:100%;height:100%;object-fit:cover}
.foto-grande .tags{top:16px;left:16px}
.foto-grande .art{width:44%;height:44%;position:absolute;top:28%;left:28%;fill:none;stroke:rgba(92,46,20,.32);stroke-width:1.1}
.prod-info h1{font-size:clamp(25px,3vw,35px);margin-top:10px}
.prod-cat{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);font-weight:500}
.prod-precos{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:18px;font-variant-numeric:tabular-nums}
.prod-precos .p-de{font-size:17px}
.prod-precos .agora{font-family:var(--f-disp);font-size:36px;font-weight:600;color:var(--rosa-deep);line-height:1}
.prod-precos .cheio{font-family:var(--f-disp);font-size:36px;font-weight:600;line-height:1}
.selo-off{background:var(--rosa);color:#fff;font-size:12px;font-weight:600;letter-spacing:.08em;padding:6px 12px;border-radius:999px}
.prod-resumo{margin-top:14px;color:var(--cacau-soft);font-size:16px;max-width:52ch}
.bloco-var{margin-top:24px}
.bloco-var h3{font-family:var(--f-ui);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cacau-soft);font-weight:500;margin-bottom:10px}
.var-chips{display:flex;flex-wrap:wrap;gap:8px}
.var-chip{padding:9px 15px;border-radius:999px;border:1px solid var(--linha);font-size:14px;background:var(--surface)}
.var-cores{display:flex;flex-wrap:wrap;gap:12px}
.var-cor{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--cacau-soft)}
.var-cor i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(92,46,20,.18)}
.estoque{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;padding:8px 14px;border-radius:999px;background:var(--blush-2)}
.estoque i{width:9px;height:9px;border-radius:50%;background:var(--verde)}
.estoque.fora i{background:var(--cacau-soft)}
.cta-shopee{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;margin-top:24px;padding:19px 24px;border-radius:999px;background:var(--laranja);color:#fff;font-size:15px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 28px rgba(238,77,45,.3);transition:transform .2s,box-shadow .2s,background .2s}
.cta-shopee:hover{background:#d9421f;transform:translateY(-2px);box-shadow:0 14px 32px rgba(238,77,45,.38)}
.cta-shopee svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cta-shopee.off{background:var(--blush);color:var(--cacau-soft);box-shadow:none;pointer-events:none}
.cta-shopee.off svg{stroke:var(--cacau-soft)}
.cta-nota{text-align:center;font-size:12.5px;color:var(--cacau-soft);margin-top:11px}
.prod-acoes{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.acao{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid var(--linha);background:var(--surface);font-size:13.5px;cursor:pointer;transition:all .2s}
.acao:hover{border-color:var(--rosa-luz);color:var(--rosa-deep)}
.acao svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.acao.salvo svg{fill:var(--rosa);stroke:var(--rosa)}
.acao.zap{border-color:#bfead0;color:#1f8a4c}
.detalhes{margin-top:30px;border-top:1px solid var(--linha)}
.det{border-bottom:1px solid var(--linha)}
.det summary{padding:17px 2px;font-size:15px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.det summary::-webkit-details-marker{display:none}
.det summary::after{content:"+";font-family:var(--f-disp);font-size:21px;color:var(--ouro);line-height:1}
.det[open] summary::after{content:"–"}
.det .corpo{padding:0 2px 20px;color:var(--cacau-soft);font-size:15px;line-height:1.7}
.det .corpo p{margin-bottom:10px}
.det .corpo ul{margin:0 0 10px;padding-left:20px}
@media(max-width:980px){
  .prod{grid-template-columns:1fr;gap:28px;padding-block:14px 36px}
  .galeria{grid-template-columns:1fr;gap:10px}
  .minis{flex-direction:row;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .minis::-webkit-scrollbar{display:none}
  .mini{width:66px;flex:0 0 auto}
}

/* ---------- texto institucional ---------- */
.texto{max-width:70ch;margin-inline:auto;padding-block:26px 56px;font-size:16.5px;line-height:1.75;color:var(--cacau-soft)}
.texto h1{color:var(--cacau);margin-bottom:22px;font-size:clamp(28px,3.4vw,40px)}
.texto h2{color:var(--cacau);font-size:23px;margin:32px 0 10px}
.texto h3{color:var(--cacau);font-size:19px;margin:26px 0 8px}
.texto p{margin-bottom:15px}
.texto ul,.texto ol{margin:0 0 15px;padding-left:22px}
.texto li{margin-bottom:7px}
.texto a{color:var(--rosa-deep);text-decoration:underline;text-underline-offset:3px}
.texto blockquote{border-left:3px solid var(--ouro-luz);padding-left:18px;font-family:var(--f-disp);font-style:italic;color:var(--cacau);margin:22px 0}

/* ---------- avisos e LGPD ---------- */
.cookies{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-m);box-shadow:var(--sombra-alta);padding:20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;max-width:860px;margin-inline:auto}
.cookies p{font-size:13.5px;color:var(--cacau-soft);flex:1;min-width:230px;line-height:1.5}
.cookies p a{color:var(--rosa-deep);text-decoration:underline}
.cookies .bts{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:560px){.cookies{padding:16px}.cookies .bts{width:100%}.cookies .bts .btn-sm{flex:1}}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%,14px);z-index:100;background:var(--cacau);color:#fff;padding:13px 22px;border-radius:999px;font-size:13.5px;box-shadow:var(--sombra-alta);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- 404 ---------- */
.erro{text-align:center;padding-block:80px 90px;max-width:52ch;margin-inline:auto}
.erro .num{font-family:var(--f-disp);font-size:78px;font-weight:600;color:var(--rosa-luz);line-height:1}
.erro h1{font-size:30px;margin:10px 0 12px}
.erro p{color:var(--cacau-soft);margin-bottom:26px}

/* ---------- imagens reais nos cards ---------- */
.media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .media img{transform:scale(1.05)}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(92,46,20,.55),transparent 55%)}
.cat.com-foto b{color:#fff}
.cat.com-foto b small{color:var(--ouro-luz)}
.ig img{width:100%;height:100%;object-fit:cover}
