/* Criando Memórias — Floricultura Afetiva
   Verde da logo (#29432F) + verde da parede da loja + creme da logo + blush dos papéis de embrulho */

:root{
  /* UNIDADE PROPORCIONAL — toda medida é N × --u */
  --u:calc(100vw / 1440);
  --verde:#29432F;
  --verde-2:#2F5B4A;
  --verde-3:#3F7360;
  --salvia:#DCE6D9;
  --creme:#EBDDB8;
  --papel:#FBF7F0;
  --branco:#FFFDF9;
  --blush:#F6E2D8;
  --blush-2:#EFCFC2;
  --rosa:#B84A5E;
  --rosa-2:#D9788A;
  --texto:#24322A;
  --suave:#66726A;
  --linha:rgba(41,67,47,.14);
  --sombra:0 calc(var(--u)*18) calc(var(--u)*40) calc(var(--u)*-22) rgba(41,67,47,.45);
  --raio:calc(var(--u)*22);
  --gut:clamp(calc(var(--u)*16),4vw,calc(var(--u)*48));
  --max:calc(var(--u)*1560);
  --topo:calc(var(--u)*72);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --script:"Pinyon Script","Segoe Script",cursive;
  --corpo:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rotulo:"Oswald","Arial Narrow",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + calc(var(--u)*16));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--texto);font:400 calc(var(--u)*16)/1.6 var(--corpo);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.08;color:var(--verde)}
h1 em,h2 em{font-family:var(--script);font-style:normal;font-weight:400;color:var(--rosa);font-size:1.18em;letter-spacing:0;line-height:.8}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--rosa);outline-offset:calc(var(--u)*3);border-radius:calc(var(--u)*6)}
svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.secao{padding:clamp(calc(var(--u)*56),8vw,calc(var(--u)*104)) var(--gut);max-width:calc(var(--max) + var(--gut)*2);margin:0 auto}
.cabeca{margin-bottom:clamp(calc(var(--u)*26),4vw,calc(var(--u)*44))}
.cabeca h2{font-size:clamp(calc(var(--u)*32),5vw,calc(var(--u)*52))}
.cabeca--centro{text-align:center}
.cabeca--linha{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:calc(var(--u)*18)}
.selo-linha{display:inline-flex;align-items:center;gap:calc(var(--u)*10);margin:0 0 calc(var(--u)*12);font:300 calc(var(--u)*13)/1 var(--rotulo);letter-spacing:.22em;text-transform:uppercase;color:var(--verde-3)}
.selo-linha::before{content:"✿";font-size:calc(var(--u)*13);color:var(--rosa-2);letter-spacing:0}
.selo-linha--creme{color:var(--creme)}

.btn{--h:calc(var(--u)*50);display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*10);height:var(--h);padding:0 calc(var(--u)*24);border-radius:calc(var(--u)*999);border:1.5px solid transparent;font:700 calc(var(--u)*15)/1 var(--corpo);text-decoration:none;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s,color .2s}
.btn svg{width:calc(var(--u)*18);height:calc(var(--u)*18);stroke-width:2}
.btn:hover{transform:translateY(-2px)}
.btn--verde{background:var(--verde);color:var(--creme);box-shadow:var(--sombra)}
.btn--verde:hover{background:var(--verde-2)}
.btn--linha{border-color:var(--verde);color:var(--verde);background:transparent}
.btn--linha:hover{background:var(--verde);color:var(--creme)}
.btn--creme{background:var(--creme);color:var(--verde)}
.btn--wa{background:#1FAF5A;color:#fff}
.btn--p{--h:calc(var(--u)*42);padding:0 calc(var(--u)*18);font-size:calc(var(--u)*14)}
.btn--bloco{width:100%}
.link{font-weight:700;color:var(--verde);text-decoration:none;border-bottom:1.5px solid var(--rosa-2)}

/* ---------- aviso ---------- */
.aviso{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(var(--u)*38);padding:calc(var(--u)*6) calc(var(--u)*44);background:var(--blush-2);color:var(--verde);text-align:center}
.aviso p{margin:0;display:flex;align-items:center;gap:calc(var(--u)*8);font-size:calc(var(--u)*13);font-weight:500}
.aviso svg{width:calc(var(--u)*18);height:calc(var(--u)*18);flex:none;color:var(--rosa)}
.aviso__x{position:absolute;right:calc(var(--u)*10);top:50%;transform:translateY(-50%);width:calc(var(--u)*30);height:calc(var(--u)*30);border:0;background:none;font-size:calc(var(--u)*22);color:var(--verde)}
.aviso[hidden]{display:none}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:40;height:var(--topo);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:calc(var(--u)*12);padding:0 var(--gut);background:rgba(251,247,240,.92);backdrop-filter:blur(calc(var(--u)*12));-webkit-backdrop-filter:blur(calc(var(--u)*12));border-bottom:1px solid transparent;transition:border-color .3s}
.topo.rolou{border-color:var(--linha)}
.topo__marca{justify-self:center}
.topo__marca img{height:calc(var(--u)*52);width:auto}
.topo__nav{display:none}
.topo__acoes{display:flex;gap:calc(var(--u)*4)}
.ic-btn{position:relative;width:calc(var(--u)*42);height:calc(var(--u)*42);display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--verde);text-decoration:none;transition:background .2s}
.ic-btn:hover{background:var(--blush)}
.ic-btn svg{width:calc(var(--u)*22);height:calc(var(--u)*22)}
.badge{position:absolute;right:2px;top:2px;min-width:calc(var(--u)*18);height:calc(var(--u)*18);padding:0 calc(var(--u)*5);border-radius:calc(var(--u)*9);background:var(--rosa);color:#fff;font:700 calc(var(--u)*11)/calc(var(--u)*18) var(--corpo);text-align:center;transform:scale(0);transition:transform .25s}
.badge.tem{transform:scale(1)}
.badge.pula{animation:pula .45s}
@keyframes pula{40%{transform:scale(1.4)}}
.topo__menu-btn{width:calc(var(--u)*42);height:calc(var(--u)*42);border:0;background:none;display:grid;place-content:center;gap:calc(var(--u)*5)}
.topo__menu-btn span{display:block;width:calc(var(--u)*20);height:1.6px;background:var(--verde);transition:transform .3s,opacity .3s}
.topo.aberto .topo__menu-btn span:nth-child(1){transform:translateY(calc(var(--u)*6.6)) rotate(45deg)}
.topo.aberto .topo__menu-btn span:nth-child(2){opacity:0}
.topo.aberto .topo__menu-btn span:nth-child(3){transform:translateY(calc(var(--u)*-6.6)) rotate(-45deg)}
.topo.aberto .topo__nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:var(--topo);background:var(--papel);padding:calc(var(--u)*8) var(--gut) calc(var(--u)*24);border-bottom:1px solid var(--linha);box-shadow:0 calc(var(--u)*20) calc(var(--u)*30) calc(var(--u)*-20) rgba(0,0,0,.2)}
.topo.aberto .topo__nav a{font:500 calc(var(--u)*26)/2 var(--serif);color:var(--verde);text-decoration:none}
.topo:not(.aberto) .topo__nav{display:none}
.ic-btn[data-abrir-busca]{display:none}

@media (min-width:1000px){
  :root{--topo:calc(var(--u)*86)}
  .topo{grid-template-columns:auto 1fr auto}
  .topo__menu-btn{display:none}
  .topo__marca{justify-self:start;order:-1}
  .topo__marca img{height:calc(var(--u)*62)}
  .topo:not(.aberto) .topo__nav,.topo__nav{display:flex;justify-content:center;gap:calc(var(--u)*30)}
  .topo__nav a{font:400 calc(var(--u)*13)/1 var(--rotulo);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--texto);padding:calc(var(--u)*8) 0;border-bottom:1.5px solid transparent;transition:border-color .2s,color .2s}
  .topo__nav a:hover{color:var(--verde);border-color:var(--rosa-2)}
  .ic-btn[data-abrir-busca]{display:grid}
}

/* ---------- hero ---------- */
.hero{padding:calc(var(--u)*14) var(--gut) 0;max-width:calc(var(--max) + var(--gut)*2);margin:0 auto}
.hero__painel{position:relative;display:grid;gap:calc(var(--u)*30);padding:calc(var(--u)*34) calc(var(--u)*22) calc(var(--u)*26);border-radius:calc(var(--u)*30);background:radial-gradient(120% 90% at 100% 100%,var(--blush-2),transparent 60%),var(--blush);overflow:hidden}
.hero__painel::before{content:"";position:absolute;right:-12%;bottom:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:var(--salvia);opacity:.7}
.hero__texto{position:relative;z-index:2}
.hero h1{font-size:clamp(calc(var(--u)*44),11vw,calc(var(--u)*84));line-height:1;margin-bottom:calc(var(--u)*18)}
.hero h1 em{display:inline-block;margin-top:calc(var(--u)*4)}
.hero__sub{font-size:calc(var(--u)*17);color:#4c5a51;max-width:calc(var(--u)*440)}
.hero__acoes{display:flex;flex-wrap:wrap;gap:calc(var(--u)*10);margin:calc(var(--u)*24) 0 calc(var(--u)*18)}
.hero__acoes .btn{flex:1 1 calc(var(--u)*200)}
.hero__assina{font-size:calc(var(--u)*14);color:var(--suave);margin:0}
.hero__assina span{font-family:var(--script);font-size:calc(var(--u)*24);color:var(--rosa)}
.hero__fotos{position:relative;z-index:1;min-height:calc(var(--u)*420)}
.hero__arco{position:relative;margin:0 0 0 auto;width:78%;aspect-ratio:3/4;border-radius:calc(var(--u)*999) calc(var(--u)*999) calc(var(--u)*26) calc(var(--u)*26);overflow:hidden;box-shadow:0 calc(var(--u)*30) calc(var(--u)*50) calc(var(--u)*-25) rgba(41,67,47,.6)}
.hero__arco img{width:100%;height:100%;object-fit:cover}
.hero__mini{position:absolute;left:0;bottom:6%;width:40%;aspect-ratio:4/5;margin:0;border-radius:calc(var(--u)*20);overflow:hidden;border:calc(var(--u)*6) solid var(--papel);box-shadow:var(--sombra);transform:rotate(-5deg)}
.hero__mini img{width:100%;height:100%;object-fit:cover}
.hero__flor{position:absolute;left:12%;top:4%;font-size:calc(var(--u)*42);color:var(--rosa-2);animation:gira 18s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.hero__cartao{position:absolute;right:-2%;bottom:3%;display:flex;flex-direction:column;padding:calc(var(--u)*14) calc(var(--u)*18);background:var(--branco);border-radius:calc(var(--u)*6);box-shadow:var(--sombra);transform:rotate(4deg);font-size:calc(var(--u)*12);color:var(--suave)}
.hero__cartao b{font:400 calc(var(--u)*30)/1 var(--script);color:var(--rosa);margin:2px 0 calc(var(--u)*4)}
.hero__cartao i{font-style:normal;font:300 calc(var(--u)*10)/1 var(--rotulo);letter-spacing:.14em;text-transform:uppercase;color:var(--verde-3)}

.confianca{list-style:none;margin:calc(var(--u)*16) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*10)}
.confianca li{display:grid;grid-template-columns:calc(var(--u)*40) 1fr;column-gap:calc(var(--u)*10);align-items:center;padding:calc(var(--u)*14);border-radius:calc(var(--u)*18);background:var(--branco);border:1px solid var(--linha)}
.confianca svg{grid-row:span 2;width:calc(var(--u)*38);height:calc(var(--u)*38);color:var(--rosa);stroke-width:1.4}
.confianca b{font-size:calc(var(--u)*13);line-height:1.25;color:var(--verde)}
.confianca span{font-size:calc(var(--u)*12);color:var(--suave)}

@media (min-width:900px){
  .hero__painel{grid-template-columns:1fr 1.05fr;align-items:center;padding:calc(var(--u)*56) calc(var(--u)*56) calc(var(--u)*48);min-height:min(calc(100svh - var(--topo) - calc(var(--u)*140)),calc(var(--u)*640))}
  .hero__fotos{min-height:calc(var(--u)*520)}
  .hero h1{font-size:clamp(calc(var(--u)*54),5.4vw,calc(var(--u)*76))}
  .hero__arco{width:70%;margin-right:4%}
  .hero__acoes .btn{flex:0 0 auto}
  .confianca{grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*14)}
}

/* ---------- ocasiões ---------- */
.ocasioes__lista{display:flex;gap:calc(var(--u)*14);overflow-x:auto;padding:calc(var(--u)*4) 2px calc(var(--u)*12);scroll-snap-type:x mandatory;scrollbar-width:none}
.ocasioes__lista::-webkit-scrollbar{display:none}
.ocasiao{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*10);width:calc(var(--u)*96);border:0;background:none;padding:0;text-align:center}
.ocasiao__ic{width:calc(var(--u)*86);height:calc(var(--u)*86);border-radius:50%;display:grid;place-items:center;background:var(--blush);border:1.5px solid transparent;color:var(--rosa);transition:all .25s}
.ocasiao__ic svg{width:calc(var(--u)*44);height:calc(var(--u)*44);stroke-width:1.3}
.ocasiao span{font:400 calc(var(--u)*12)/1.3 var(--rotulo);letter-spacing:.12em;text-transform:uppercase;color:var(--texto)}
.ocasiao:hover .ocasiao__ic{border-color:var(--rosa);background:var(--branco);transform:translateY(calc(var(--u)*-4))}
@media (min-width:900px){.ocasioes__lista{justify-content:center;gap:calc(var(--u)*26);overflow:visible}.ocasiao{width:calc(var(--u)*110)}.ocasiao__ic{width:calc(var(--u)*104);height:calc(var(--u)*104)}}

/* ---------- coleções ---------- */
.colecoes{padding-top:0}
.colecoes__grade{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*12)}
.colecao{position:relative;display:block;border-radius:var(--raio);overflow:hidden;background:var(--blush);text-decoration:none;aspect-ratio:3/4;border:0;padding:0;text-align:left}
.colecao img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.colecao:hover img{transform:scale(1.06)}
.colecao__pe{position:absolute;left:calc(var(--u)*10);right:calc(var(--u)*10);bottom:calc(var(--u)*10);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*8);padding:calc(var(--u)*12) calc(var(--u)*12) calc(var(--u)*12) calc(var(--u)*14);border-radius:calc(var(--u)*16);background:rgba(255,253,249,.94);backdrop-filter:blur(calc(var(--u)*6))}
.colecao__pe b{display:block;font:500 calc(var(--u)*17)/1.15 var(--serif);color:var(--verde)}
.colecao__pe small{font-size:calc(var(--u)*12);color:var(--suave)}
.seta{flex:none;width:calc(var(--u)*34);height:calc(var(--u)*34);border-radius:50%;display:grid;place-items:center;background:var(--rosa);color:#fff}
.seta svg{width:calc(var(--u)*16);height:calc(var(--u)*16);stroke-width:2.2}
@media (min-width:760px){.colecoes__grade{grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*16)}}
@media (min-width:1100px){.colecao{aspect-ratio:4/3.4}.colecao img{object-position:50% 35%}}

/* ---------- quantas rosas ---------- */
.rosas{background:var(--verde);color:var(--creme);padding:clamp(calc(var(--u)*56),8vw,calc(var(--u)*96)) var(--gut);position:relative;overflow:hidden}
.rosas::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 2px,transparent 2px calc(var(--u)*46))}
.rosas__grade{position:relative;max-width:calc(var(--u)*1280);margin:0 auto;display:grid;gap:calc(var(--u)*34);align-items:center}
.rosas__foto{position:relative;margin:0 auto;width:min(100%,calc(var(--u)*380));aspect-ratio:3/4;border-radius:calc(var(--u)*999) calc(var(--u)*999) calc(var(--u)*24) calc(var(--u)*24);overflow:hidden;border:calc(var(--u)*6) solid rgba(235,221,184,.25)}
.rosas__foto img{width:100%;height:100%;object-fit:cover;transition:opacity .25s,transform .4s}
.rosas__foto img.troca{opacity:.2;transform:scale(1.04)}
.rosas__foto figcaption{position:absolute;left:50%;bottom:calc(var(--u)*16);transform:translateX(-50%);padding:calc(var(--u)*7) calc(var(--u)*14);border-radius:calc(var(--u)*999);background:var(--creme);color:var(--verde);font:400 calc(var(--u)*12)/1 var(--rotulo);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.rosas__foto figcaption:empty{display:none}
.rosas h2{color:var(--creme);font-size:clamp(calc(var(--u)*34),5vw,calc(var(--u)*56))}
.rosas h2 em{color:var(--blush-2)}
.rosas__dica{color:rgba(235,221,184,.8);margin:calc(var(--u)*14) 0 calc(var(--u)*22)}
.rosas__num{display:flex;align-items:baseline;gap:calc(var(--u)*10);margin-bottom:calc(var(--u)*8)}
.rosas__num b{font:500 clamp(calc(var(--u)*72),12vw,calc(var(--u)*120))/1 var(--serif);color:var(--branco)}
.rosas__num span{font:300 calc(var(--u)*18)/1 var(--rotulo);letter-spacing:.2em;text-transform:uppercase}
#rosas-range{width:100%;height:calc(var(--u)*30);-webkit-appearance:none;appearance:none;background:transparent}
#rosas-range::-webkit-slider-runnable-track{height:calc(var(--u)*6);border-radius:calc(var(--u)*3);background:linear-gradient(90deg,var(--rosa-2) var(--p,30%),rgba(235,221,184,.25) var(--p,30%))}
#rosas-range::-webkit-slider-thumb{-webkit-appearance:none;width:calc(var(--u)*30);height:calc(var(--u)*30);margin-top:calc(var(--u)*-12);border-radius:50%;background:var(--creme);border:calc(var(--u)*6) solid var(--rosa);box-shadow:0 calc(var(--u)*4) calc(var(--u)*12) rgba(0,0,0,.3)}
#rosas-range::-moz-range-track{height:calc(var(--u)*6);border-radius:calc(var(--u)*3);background:rgba(235,221,184,.25)}
#rosas-range::-moz-range-progress{height:calc(var(--u)*6);border-radius:calc(var(--u)*3);background:var(--rosa-2)}
#rosas-range::-moz-range-thumb{width:calc(var(--u)*20);height:calc(var(--u)*20);border-radius:50%;background:var(--creme);border:calc(var(--u)*6) solid var(--rosa)}
.rosas__marcas{display:flex;justify-content:space-between;font:300 calc(var(--u)*12)/1 var(--rotulo);letter-spacing:.1em;color:rgba(235,221,184,.6);margin:calc(var(--u)*4) 2px calc(var(--u)*26)}
.rosas__produto{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*14);padding:calc(var(--u)*16) calc(var(--u)*16) calc(var(--u)*16) calc(var(--u)*20);border-radius:calc(var(--u)*18);background:rgba(235,221,184,.1);border:1px solid rgba(235,221,184,.2)}
.rosas__produto span{display:block;font:500 calc(var(--u)*19)/1.2 var(--serif)}
.rosas__produto b{font:600 calc(var(--u)*24)/1.2 var(--serif);color:var(--branco)}
@media (min-width:900px){.rosas__grade{grid-template-columns:.9fr 1.1fr;gap:calc(var(--u)*70)}.rosas__foto{width:100%;max-width:calc(var(--u)*420)}}

/* ---------- produtos ---------- */
.produtos{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*12)}
.produtos--trilho{grid-auto-flow:column;grid-auto-columns:46%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:calc(var(--u)*10);scrollbar-width:thin}
.produtos--trilho>*{scroll-snap-align:start}
.card{position:relative;display:flex;flex-direction:column;border-radius:calc(var(--u)*20);background:var(--branco);border:1px solid var(--linha);overflow:hidden;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(calc(var(--u)*-4));box-shadow:var(--sombra)}
.card__foto{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--blush);border:0;padding:0;cursor:pointer}
.card__foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card__foto img{transform:scale(1.05)}
.card__tag{position:absolute;left:calc(var(--u)*10);top:calc(var(--u)*10);padding:calc(var(--u)*5) calc(var(--u)*10);border-radius:calc(var(--u)*999);background:var(--branco);color:var(--rosa);font:400 calc(var(--u)*11)/1 var(--rotulo);letter-spacing:.12em;text-transform:uppercase}
.card__corpo{display:flex;flex-direction:column;gap:calc(var(--u)*4);padding:calc(var(--u)*12) calc(var(--u)*12) calc(var(--u)*14);flex:1}
.card__cat{font:300 calc(var(--u)*11)/1 var(--rotulo);letter-spacing:.14em;text-transform:uppercase;color:var(--verde-3)}
.card__nome{font:500 calc(var(--u)*17)/1.2 var(--serif);color:var(--verde);margin:2px 0 0;border:0;background:none;padding:0;text-align:left;cursor:pointer}
.card__desc{font-size:calc(var(--u)*13);line-height:1.4;color:var(--suave);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.card__pe{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*8);margin-top:auto;padding-top:calc(var(--u)*10)}
.card__preco{font:600 calc(var(--u)*17)/1.1 var(--serif);color:var(--texto)}
.card__preco small{display:block;font:400 calc(var(--u)*11)/1.2 var(--corpo);color:var(--suave)}
.card__add{flex:none;width:calc(var(--u)*40);height:calc(var(--u)*40);border-radius:50%;border:0;background:var(--verde);color:var(--creme);display:grid;place-items:center;transition:background .2s,transform .2s}
.card__add:hover{background:var(--rosa);transform:scale(1.08)}
.card__add svg{width:calc(var(--u)*20);height:calc(var(--u)*20);stroke-width:2}
@media (min-width:760px){.produtos{grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*18)}.produtos--trilho{grid-template-columns:none;grid-auto-columns:31%}.card__corpo{padding:calc(var(--u)*16)}}
@media (min-width:1100px){.produtos{grid-template-columns:repeat(4,1fr)}.produtos--trilho{grid-template-columns:none;grid-auto-columns:23.6%}}

/* ---------- história ---------- */
.historia{padding:0 var(--gut);max-width:calc(var(--max) + var(--gut)*2);margin:0 auto}
.historia__painel{display:grid;gap:calc(var(--u)*34);padding:calc(var(--u)*34) calc(var(--u)*22);border-radius:calc(var(--u)*30);background:var(--salvia);overflow:hidden}
.historia h2{font-size:clamp(calc(var(--u)*32),5vw,calc(var(--u)*52));margin-bottom:calc(var(--u)*18)}
.historia__texto>p:not(.selo-linha){color:#46544b}
.historia blockquote{margin:calc(var(--u)*22) 0 calc(var(--u)*26);padding:calc(var(--u)*18) calc(var(--u)*20);border-left:calc(var(--u)*3) solid var(--rosa-2);background:rgba(255,253,249,.6);border-radius:0 calc(var(--u)*14) calc(var(--u)*14) 0;font:italic 400 calc(var(--u)*18)/1.45 var(--serif);color:var(--verde)}
.historia__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--u)*18)}
.historia__fotos{position:relative;padding:0 16% 14% 0}
.historia__f1{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--u)*24)}
.historia__f2{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--u)*18);border:calc(var(--u)*6) solid var(--salvia)}
.historia__selo{position:absolute;left:calc(var(--u)*-6);bottom:6%;display:flex;align-items:center;gap:calc(var(--u)*10);padding:calc(var(--u)*12) calc(var(--u)*16) calc(var(--u)*12) calc(var(--u)*12);border-radius:calc(var(--u)*16);background:var(--branco);box-shadow:var(--sombra)}
.historia__selo img{width:calc(var(--u)*30);height:auto}
.historia__selo span{font:400 calc(var(--u)*12)/1.25 var(--rotulo);letter-spacing:.14em;text-transform:uppercase;color:var(--verde)}
@media (min-width:900px){.historia__painel{grid-template-columns:1.05fr .95fr;align-items:center;padding:calc(var(--u)*60)}}

/* ---------- cestas ---------- */
.cestas__banner{display:grid;gap:calc(var(--u)*22);align-items:center;padding:calc(var(--u)*28) calc(var(--u)*22) 0;margin-bottom:calc(var(--u)*22);border-radius:calc(var(--u)*30);background:linear-gradient(120deg,var(--blush),var(--blush-2));overflow:hidden}
.cestas__banner h2{font-size:clamp(calc(var(--u)*30),4.6vw,calc(var(--u)*48));margin-bottom:calc(var(--u)*14)}
.cestas__banner p:not(.selo-linha){color:#5b5250;max-width:calc(var(--u)*440)}
.cestas__banner img{width:min(100%,calc(var(--u)*360));height:auto;aspect-ratio:4/4.6;object-fit:cover;border-radius:calc(var(--u)*999) calc(var(--u)*999) 0 0;margin:0 auto}
@media (min-width:900px){.cestas__banner{grid-template-columns:1fr auto;padding:calc(var(--u)*44) calc(var(--u)*60) 0}.cestas__banner>div{padding-bottom:calc(var(--u)*44)}}

/* ---------- loja ---------- */
.loja{scroll-margin-top:calc(var(--topo) + calc(var(--u)*10))}
.busca{display:flex;align-items:center;gap:calc(var(--u)*10);height:calc(var(--u)*50);padding:0 calc(var(--u)*18);border-radius:calc(var(--u)*999);background:var(--branco);border:1px solid var(--linha);width:100%;max-width:calc(var(--u)*380)}
.busca svg{width:calc(var(--u)*20);height:calc(var(--u)*20);color:var(--suave);flex:none}
.busca input{border:0;outline:0;background:none;width:100%;font-size:calc(var(--u)*15)}
.filtros{display:flex;gap:calc(var(--u)*8);overflow-x:auto;padding-bottom:calc(var(--u)*6);scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.filtro{flex:none;height:calc(var(--u)*40);padding:0 calc(var(--u)*16);border-radius:calc(var(--u)*999);border:1px solid var(--linha);background:var(--branco);font-size:calc(var(--u)*14);font-weight:500;color:var(--texto);transition:all .2s}
.filtro:hover{border-color:var(--verde)}
.filtro.ativo{background:var(--verde);border-color:var(--verde);color:var(--creme)}
.filtro--oc{border-style:dashed;color:var(--rosa)}
.loja__barra{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*12);margin:calc(var(--u)*16) 0}
.loja__barra p{margin:0;font-size:calc(var(--u)*14);color:var(--suave)}
.loja__barra select{height:calc(var(--u)*40);padding:0 calc(var(--u)*12);border-radius:calc(var(--u)*12);border:1px solid var(--linha);background:var(--branco);font-size:calc(var(--u)*14)}
.loja__obs{margin:calc(var(--u)*26) 0 0;font-size:calc(var(--u)*13);color:var(--suave);text-align:center}
.vazio{grid-column:1/-1;text-align:center;padding:calc(var(--u)*40) 0;color:var(--suave)}

/* ---------- depoimentos ---------- */
.depo{background:var(--verde-2);color:var(--creme)}
.depo h2{color:var(--creme)}
.depo h2 em{color:var(--blush-2)}
.depo__grade{display:grid;gap:calc(var(--u)*16)}
.depo__card{margin:0;padding:calc(var(--u)*26);border-radius:calc(var(--u)*22);background:rgba(255,255,255,.06);border:1px solid rgba(235,221,184,.18)}
.estrelas{color:#F2C46D;letter-spacing:calc(var(--u)*3);margin-bottom:calc(var(--u)*12)}
.depo__card blockquote{margin:0 0 calc(var(--u)*18);font:400 calc(var(--u)*18)/1.5 var(--serif);color:var(--branco)}
.depo__card b{display:block;font-weight:700}
.depo__card span{font-size:calc(var(--u)*13);color:rgba(235,221,184,.75)}
@media (min-width:900px){.depo__grade{grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*22)}}

/* ---------- encomenda ---------- */
.encomenda__caixa{display:grid;gap:calc(var(--u)*26);align-items:center;padding:calc(var(--u)*16);border-radius:calc(var(--u)*30);background:var(--branco);border:1px solid var(--linha)}
.encomenda__caixa img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--u)*22)}
.encomenda__caixa>div{padding:calc(var(--u)*6) calc(var(--u)*10) calc(var(--u)*18)}
.encomenda h2{font-size:clamp(calc(var(--u)*28),4.2vw,calc(var(--u)*44));margin-bottom:calc(var(--u)*14)}
.encomenda p:not(.selo-linha){color:var(--suave)}
@media (min-width:900px){.encomenda__caixa{grid-template-columns:.8fr 1.2fr;gap:calc(var(--u)*50)}.encomenda__caixa img{aspect-ratio:4/4.6}}

/* ---------- visite ---------- */
.visite__grade{display:grid;gap:calc(var(--u)*30)}
.visite h2{font-size:clamp(calc(var(--u)*32),5vw,calc(var(--u)*52));margin-bottom:calc(var(--u)*24)}
.visite__lista{list-style:none;padding:0;margin:0 0 calc(var(--u)*26);display:grid;gap:calc(var(--u)*18)}
.visite__lista li{display:grid;grid-template-columns:calc(var(--u)*44) 1fr;gap:calc(var(--u)*14);align-items:start}
.visite__lista svg{width:calc(var(--u)*44);height:calc(var(--u)*44);padding:calc(var(--u)*10);border-radius:50%;background:var(--blush);color:var(--rosa)}
.visite__lista b{display:block;font:500 calc(var(--u)*18)/1.3 var(--serif);color:var(--verde)}
.visite__lista span{color:var(--suave);font-size:calc(var(--u)*15)}
.visite__acoes{display:flex;gap:calc(var(--u)*10);flex-wrap:wrap}
.visite__midia{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*12)}
.visite__midia img,.visite__midia iframe{width:100%;height:100%;min-height:calc(var(--u)*300);border:0;border-radius:calc(var(--u)*22);object-fit:cover}
@media (min-width:900px){.visite__grade{grid-template-columns:.9fr 1.1fr;align-items:center;gap:calc(var(--u)*60)}.visite__midia img,.visite__midia iframe{min-height:calc(var(--u)*440)}}

/* ---------- rodapé ---------- */
.rodape{background:var(--verde);color:var(--creme);padding:calc(var(--u)*56) var(--gut) calc(var(--u)*110)}
.rodape__grade{max-width:var(--max);margin:0 auto;display:grid;gap:calc(var(--u)*32)}
.rodape__marca img{width:calc(var(--u)*200);margin-bottom:calc(var(--u)*14)}
.rodape__marca p{color:rgba(235,221,184,.75);font-size:calc(var(--u)*14)}
.rodape nav,.rodape__pag{display:flex;flex-direction:column;gap:calc(var(--u)*9);font-size:calc(var(--u)*14)}
.rodape b{font:400 calc(var(--u)*13)/1 var(--rotulo);letter-spacing:.18em;text-transform:uppercase;color:var(--creme);margin-bottom:calc(var(--u)*4)}
.rodape__pag b:not(:first-child){margin-top:calc(var(--u)*12)}
.rodape a{color:rgba(235,221,184,.8);text-decoration:none}
.rodape a:hover{color:var(--branco)}
.rodape__pag span{color:rgba(235,221,184,.8)}
.rodape__fim{max-width:var(--max);margin:calc(var(--u)*40) auto 0;padding-top:calc(var(--u)*20);border-top:1px solid rgba(235,221,184,.18);display:flex;flex-wrap:wrap;justify-content:space-between;gap:calc(var(--u)*10);font-size:calc(var(--u)*13);color:rgba(235,221,184,.6)}
@media (min-width:900px){.rodape{padding-bottom:calc(var(--u)*40)}.rodape__grade{grid-template-columns:1.6fr 1fr 1fr 1.2fr}}

/* ---------- barra da sacola ---------- */
.barra-sacola{position:fixed;z-index:45;left:calc(var(--u)*12);right:calc(var(--u)*12);bottom:calc(calc(var(--u)*12) + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;height:calc(var(--u)*56);padding:0 calc(var(--u)*20);border:0;border-radius:calc(var(--u)*999);background:var(--verde);color:var(--creme);font-size:calc(var(--u)*15);box-shadow:0 calc(var(--u)*16) calc(var(--u)*30) calc(var(--u)*-12) rgba(41,67,47,.7);animation:sobe .35s}
.barra-sacola[hidden]{display:none}
@keyframes sobe{from{transform:translateY(120%)}}
@media (min-width:1000px){.barra-sacola{left:auto;right:calc(var(--u)*24);bottom:calc(var(--u)*24);width:calc(var(--u)*340)}}

/* ---------- modal produto ---------- */
.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:rgba(24,34,27,.55);backdrop-filter:blur(calc(var(--u)*4));-webkit-backdrop-filter:blur(calc(var(--u)*4))}
.modal[hidden]{display:none}
.modal__caixa{position:relative;width:100%;max-height:92svh;overflow:auto;background:var(--papel);border-radius:calc(var(--u)*26) calc(var(--u)*26) 0 0;animation:folha .3s cubic-bezier(.2,.8,.2,1)}
@keyframes folha{from{transform:translateY(100%)}}
.fechar{position:absolute;right:calc(var(--u)*12);top:calc(var(--u)*12);z-index:3;width:calc(var(--u)*40);height:calc(var(--u)*40);border-radius:50%;border:0;background:rgba(255,253,249,.92);font-size:calc(var(--u)*24);line-height:1;color:var(--verde);box-shadow:0 calc(var(--u)*4) calc(var(--u)*12) rgba(0,0,0,.12)}
.mp__foto{aspect-ratio:4/3;background:var(--blush)}
.mp__foto img{width:100%;height:100%;object-fit:cover}
.mp__info{padding:calc(var(--u)*20) calc(var(--u)*20) calc(var(--u)*24);display:flex;flex-direction:column;gap:calc(var(--u)*14)}
.mp__cat{margin:0;font:300 calc(var(--u)*12)/1 var(--rotulo);letter-spacing:.16em;text-transform:uppercase;color:var(--verde-3)}
.mp__info h3{font-size:calc(var(--u)*30)}
.mp__desc{margin:0;color:var(--suave)}
.mp__vars{border:0;margin:0;padding:0;display:grid;gap:calc(var(--u)*8)}
.mp__vars legend{font-weight:700;font-size:calc(var(--u)*14);margin-bottom:calc(var(--u)*8)}
.mp__vars label{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*10);padding:calc(var(--u)*12) calc(var(--u)*14);border-radius:calc(var(--u)*14);border:1.5px solid var(--linha);background:var(--branco);cursor:pointer;transition:border-color .2s}
.mp__vars label:has(input:checked){border-color:var(--verde);background:#F2F6F0}
.mp__vars input{accent-color:var(--verde);margin-right:calc(var(--u)*8)}
.mp__vars b{font-family:var(--serif)}
.mp__extras{border-radius:calc(var(--u)*14);background:var(--blush);padding:0 calc(var(--u)*14)}
.mp__extras summary{list-style:none;cursor:pointer;padding:calc(var(--u)*14) 0;font-weight:700;color:var(--verde);display:flex;justify-content:space-between;gap:calc(var(--u)*10)}
.mp__extras summary::-webkit-details-marker{display:none}
.mp__extras summary span{font-weight:400;font-size:calc(var(--u)*13);color:var(--suave)}
.mp__extras summary::after{content:"+";font-size:calc(var(--u)*20);line-height:1}
.mp__extras[open] summary::after{content:"−"}
.extra{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*10);padding:calc(var(--u)*10) 0;border-top:1px solid rgba(184,74,94,.15);font-size:calc(var(--u)*14)}
.extra .qtd{transform:scale(.85);transform-origin:right}
.mp__msg{display:grid;gap:calc(var(--u)*6);font-weight:700;font-size:calc(var(--u)*14)}
.mp__msg small{font-weight:400;color:var(--suave)}
.mp__msg textarea,.sacola__form input,.sacola__form select{width:100%;padding:calc(var(--u)*12) calc(var(--u)*14);border-radius:calc(var(--u)*12);border:1px solid var(--linha);background:var(--branco);font-size:calc(var(--u)*16);resize:vertical;outline:none}
.mp__msg textarea:focus,.sacola__form input:focus,.sacola__form select:focus{border-color:var(--verde)}
.mp__rodape{display:flex;gap:calc(var(--u)*12);align-items:center;position:sticky;bottom:0;background:var(--papel);padding:calc(var(--u)*10) 0 calc(var(--u)*4)}
.qtd{flex:none;display:flex;align-items:center;height:calc(var(--u)*48);border-radius:calc(var(--u)*999);border:1px solid var(--linha);background:var(--branco)}
.qtd button{width:calc(var(--u)*42);height:100%;border:0;background:none;font-size:calc(var(--u)*20);color:var(--verde)}
.qtd span{min-width:calc(var(--u)*22);text-align:center;font-weight:700}
.mp__obs{margin:0;font-size:calc(var(--u)*12);color:var(--suave)}
@media (min-width:860px){
  .modal{align-items:center;padding:calc(var(--u)*24)}
  .modal__caixa{max-width:calc(var(--u)*920);border-radius:calc(var(--u)*26);display:grid;grid-template-columns:1fr 1fr;max-height:88svh}
  .modal__caixa--produto .mp__foto{aspect-ratio:auto;position:sticky;top:0;height:88svh;max-height:calc(var(--u)*720)}
  .mp__info{padding:calc(var(--u)*30)}
}

/* ---------- sacola ---------- */
.sacola{position:fixed;inset:0;z-index:70}
.sacola[hidden]{display:none}
.sacola__fundo{position:absolute;inset:0;background:rgba(24,34,27,.5)}
.sacola__painel{position:absolute;right:0;top:0;bottom:0;width:min(100%,calc(var(--u)*440));display:flex;flex-direction:column;background:var(--papel);animation:lado .3s cubic-bezier(.2,.8,.2,1)}
@keyframes lado{from{transform:translateX(100%)}}
.sacola__topo{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--u)*18) calc(var(--u)*20);border-bottom:1px solid var(--linha)}
.sacola__topo h3{font-size:calc(var(--u)*24)}
.sacola__topo .fechar{position:static;box-shadow:none;background:var(--blush)}
.sacola__itens{flex:1;overflow:auto;padding:calc(var(--u)*8) calc(var(--u)*20)}
.item{display:grid;grid-template-columns:calc(var(--u)*70) 1fr auto;gap:calc(var(--u)*12);padding:calc(var(--u)*14) 0;border-bottom:1px solid var(--linha)}
.item img{width:calc(var(--u)*70);height:calc(var(--u)*88);object-fit:cover;border-radius:calc(var(--u)*12)}
.item b{display:block;font:500 calc(var(--u)*16)/1.2 var(--serif);color:var(--verde)}
.item small{display:block;font-size:calc(var(--u)*12);color:var(--suave);line-height:1.4}
.item__msg{font-style:italic}
.item__dir{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:calc(var(--u)*6)}
.item__dir strong{font-family:var(--serif)}
.item__dir button{border:0;background:none;color:var(--rosa);font-size:calc(var(--u)*13);text-decoration:underline;padding:0}
.sacola__vazia{text-align:center;padding:calc(var(--u)*50) calc(var(--u)*10);color:var(--suave)}
.sacola__vazia img{width:calc(var(--u)*60);margin:0 auto calc(var(--u)*14);opacity:.6}
.sacola__form{overflow:auto;padding:calc(var(--u)*4) calc(var(--u)*20) calc(var(--u)*10);display:grid;gap:calc(var(--u)*12);flex:1}
.sacola__form[hidden]{display:none}
.sacola__form h4{font-size:calc(var(--u)*20);margin-top:calc(var(--u)*10)}
.sacola__form label{display:grid;gap:calc(var(--u)*5);font-size:calc(var(--u)*13);font-weight:700;color:var(--texto)}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*10)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*6);padding:calc(var(--u)*4);border-radius:calc(var(--u)*14);background:var(--blush)}
.seg label{display:block}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;padding:calc(var(--u)*10);border-radius:calc(var(--u)*10);font-weight:700;font-size:calc(var(--u)*14);color:var(--suave);cursor:pointer}
.seg input:checked+span{background:var(--branco);color:var(--verde);box-shadow:0 2px calc(var(--u)*8) rgba(0,0,0,.08)}
.seg input:focus-visible+span{outline:2px solid var(--rosa)}
.check{display:flex!important;align-items:center;gap:calc(var(--u)*10);font-weight:500!important}
.check input{width:calc(var(--u)*18);height:calc(var(--u)*18);accent-color:var(--verde)}
.so-entrega{display:grid;gap:calc(var(--u)*12)}
.so-entrega[hidden]{display:none}
.sacola__pe{padding:calc(var(--u)*16) calc(var(--u)*20) calc(calc(var(--u)*16) + env(safe-area-inset-bottom));border-top:1px solid var(--linha);background:var(--branco);display:grid;gap:calc(var(--u)*10)}
.sacola__pe[hidden]{display:none}
.sacola__total{display:flex;justify-content:space-between;align-items:baseline}
.sacola__total b{font:600 calc(var(--u)*24)/1 var(--serif);color:var(--verde)}
.sacola__nota{margin:0;font-size:calc(var(--u)*12);color:var(--suave)}
.btn[hidden]{display:none}

/* ---------- toast ---------- */
.toast{position:fixed;z-index:90;left:50%;top:calc(var(--topo) + calc(var(--u)*12));transform:translate(-50%,calc(var(--u)*-20));opacity:0;pointer-events:none;padding:calc(var(--u)*12) calc(var(--u)*18);border-radius:calc(var(--u)*999);background:var(--verde);color:var(--creme);font-size:calc(var(--u)*14);font-weight:500;box-shadow:var(--sombra);transition:all .3s;white-space:nowrap}
.toast.mostra{opacity:1;transform:translate(-50%,0)}

/* ---------- revelar ---------- */
.js [data-rv]{opacity:0;translate:0 calc(var(--u)*26);transition:opacity .75s cubic-bezier(.22,1,.36,1),translate .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--rv-delay,0ms)}
.js [data-rv="image"]{translate:0 calc(var(--u)*16);scale:1.025;transition:opacity .95s cubic-bezier(.22,1,.36,1),translate 1s cubic-bezier(.22,1,.36,1),scale 1.1s cubic-bezier(.22,1,.36,1);transition-delay:var(--rv-delay,0ms)}
.js [data-rv].vis{opacity:1;translate:0 0;scale:1}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js [data-rv],.js [data-rv].vis{opacity:1;translate:none;scale:1}html{scroll-behavior:auto}}

/* celular: fotos primeiro no hero, aviso curto */
.aviso__mais{display:none}
@media (min-width:700px){.aviso__mais{display:inline}}
@media (max-width:899px){
  .hero__painel{padding:calc(var(--u)*18) calc(var(--u)*18) calc(var(--u)*26);gap:calc(var(--u)*18)}
  .hero__fotos{order:-1;min-height:0;height:calc(var(--u)*330)}
  .hero__arco{width:62%;height:100%;aspect-ratio:auto;margin-right:4%}
  .hero__mini{width:38%;bottom:4%}
  .hero__cartao{right:0;bottom:-2%;transform:rotate(4deg) scale(.85)}
  .hero h1{font-size:clamp(calc(var(--u)*38),10.4vw,calc(var(--u)*60))}
  .hero__assina{display:none}
}
@media (max-width:899px){
  .confianca li{grid-template-columns:1fr;row-gap:calc(var(--u)*4);padding:calc(var(--u)*14) calc(var(--u)*12)}
  .confianca svg{grid-row:auto;width:calc(var(--u)*30);height:calc(var(--u)*30);margin-bottom:calc(var(--u)*4)}
}

.loja__mais{text-align:center;margin-top:calc(var(--u)*26)}

/* celular: sem a faixa de confiança */
@media (max-width:899px){.confianca{display:none}}

/* telas largas: aproveita a largura */
@media (min-width:1440px){
  :root{--gut:calc(var(--u)*56)}
  .produtos{grid-template-columns:repeat(5,1fr)}
  .produtos--trilho{grid-template-columns:none;grid-auto-columns:19%}
  .colecao{aspect-ratio:16/11}
  .hero__painel{padding:calc(var(--u)*64) calc(var(--u)*72) calc(var(--u)*56)}
  .historia__painel{padding:calc(var(--u)*72)}
}
@media (max-width:1439px){#cestas-grade .card:nth-child(5){display:none}}

@media (max-width:999px){:root{--u:calc(100vw / 820)}}
@media (max-width:639px){:root{--u:calc(100vw / 390)}}
