/* Tody · Pães doces e salgados — estilo
   Paleta da logo (marrom cacau + amarelo trigo) sobre creme de padaria.
   Escrito em px no desenho de 1440 e convertido para --u (px_para_u.py). */
:root{
  /* UNIDADE PROPORCIONAL — toda medida é N × --u */
  --u:calc(100vw / 1440);
  --creme:#f7efe3;
  --creme-2:#efe3d1;
  --papel:#fbf7f0;
  --cacau:#4a2412;
  --cacau-2:#6b3a1f;
  --cacau-3:#2e160a;
  --mel:#e9a81c;
  --mel-2:#f5c64f;
  --mel-claro:#fbe8b6;
  --terra:#b4532a;
  --tinta:#3a2416;
  --tinta-2:#7a6150;
  --linha:#e2d3bd;
  --wa:#1fa855;
  --raio:calc(var(--u)*18);
  --sombra:0 calc(var(--u)*18) calc(var(--u)*40) calc(var(--u)*-22) rgba(74,36,18,.35);
  --ff-tit:"Fraunces",Georgia,serif;
  --ff-script:"Caveat",cursive;
  --ff:"DM Sans",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{font-family:var(--ff);font-size:calc(var(--u)*17);line-height:1.6;color:var(--tinta);background:var(--creme);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
svg{flex:none}
h1,h2,h3{font-family:var(--ff-tit);font-weight:600;color:var(--cacau);line-height:1.08;letter-spacing:-.01em}
h2{font-size:calc(var(--u)*52)}
em{font-style:italic;color:var(--terra)}
[hidden]{display:none!important}

.script{font-family:var(--ff-script);font-size:calc(var(--u)*28);line-height:1;color:var(--terra);display:inline-flex;align-items:center;gap:calc(var(--u)*6)}
.coracao{width:calc(var(--u)*20);height:calc(var(--u)*20);fill:none;stroke:currentColor;stroke-width:1.8}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*10);height:calc(var(--u)*54);padding:0 calc(var(--u)*28);border-radius:calc(var(--u)*999);font-weight:600;font-size:calc(var(--u)*16);letter-spacing:.01em;transition:transform .25s,background .25s,box-shadow .25s,color .25s;white-space:nowrap}
.btn svg{width:calc(var(--u)*18);height:calc(var(--u)*18);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn:hover{transform:translateY(-2px)}
.btn--cacau{background:var(--cacau);color:var(--papel);box-shadow:0 calc(var(--u)*12) calc(var(--u)*26) calc(var(--u)*-14) rgba(74,36,18,.8)}
.btn--cacau:hover{background:var(--cacau-2)}
.btn--linha{border:1.5px solid var(--cacau);color:var(--cacau)}
.btn--linha:hover{background:var(--cacau);color:var(--papel)}
.btn--mel{background:var(--mel);color:var(--cacau-3);box-shadow:0 calc(var(--u)*12) calc(var(--u)*26) calc(var(--u)*-14) rgba(233,168,28,.9)}
.btn--mel:hover{background:var(--mel-2)}
.btn--wa{background:var(--wa);color:#fff}
.btn--wa:hover{background:#18924a}
.btn--largo{width:100%}

/* ---------- aviso ---------- */
.aviso{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*20);padding:calc(var(--u)*9) calc(var(--u)*60);background:var(--cacau);color:var(--mel-claro);font-size:calc(var(--u)*13.5);letter-spacing:.02em}
.aviso p{display:flex;align-items:center;gap:calc(var(--u)*8)}
.aviso svg{width:calc(var(--u)*15);height:calc(var(--u)*15);fill:none;stroke:var(--mel);stroke-width:2}
.aviso__meio{font-weight:600;color:var(--mel)}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:calc(var(--u)*30);padding:calc(var(--u)*10) calc(var(--u)*60);background:rgba(247,239,227,.92);backdrop-filter:blur(calc(var(--u)*10));-webkit-backdrop-filter:blur(calc(var(--u)*10));border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s,padding .3s}
.topo.rolou{border-color:var(--linha);box-shadow:0 calc(var(--u)*10) calc(var(--u)*30) calc(var(--u)*-24) rgba(74,36,18,.5);padding-top:calc(var(--u)*6);padding-bottom:calc(var(--u)*6)}
.topo__logo img{width:calc(var(--u)*84);height:auto;transition:width .3s}
.topo.rolou .topo__logo img{width:calc(var(--u)*66)}
.topo__nav{display:flex;gap:calc(var(--u)*32);margin:0 auto;font-weight:500;font-size:calc(var(--u)*15.5)}
.topo__nav a{position:relative;padding:calc(var(--u)*6) 0;color:var(--tinta)}
.topo__nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--mel);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.topo__nav a:hover::after{transform:scaleX(1)}
.topo__acoes{display:flex;align-items:center;gap:calc(var(--u)*10)}
.topo__ic{position:relative;display:grid;place-items:center;width:calc(var(--u)*46);height:calc(var(--u)*46);border-radius:50%;color:var(--cacau);transition:background .25s}
.topo__ic:hover{background:var(--creme-2)}
.topo__ic svg{width:calc(var(--u)*23);height:calc(var(--u)*23);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.badge{position:absolute;top:2px;right:0;min-width:calc(var(--u)*20);height:calc(var(--u)*20);padding:0 calc(var(--u)*5);border-radius:calc(var(--u)*999);background:var(--mel);color:var(--cacau-3);font-size:calc(var(--u)*11.5);font-weight:700;display:grid;place-items:center;transform:scale(0);transition:transform .3s}
.badge.tem{transform:scale(1)}
.badge.pula{animation:pula .5s}
@keyframes pula{40%{transform:scale(1.4)}}
.topo__cta{height:calc(var(--u)*46);padding:0 calc(var(--u)*22);font-size:calc(var(--u)*15)}
.topo__menu{display:none;flex-direction:column;justify-content:center;gap:calc(var(--u)*5);width:calc(var(--u)*46);height:calc(var(--u)*46);padding:0 calc(var(--u)*12)}
.topo__menu span{height:2px;background:var(--cacau);border-radius:2px;transition:transform .3s,opacity .3s}

/* ---------- hero ---------- */
.hero{position:relative;display:grid;grid-template-columns:calc(var(--u)*600) 1fr;gap:calc(var(--u)*56);align-items:center;padding:calc(var(--u)*56) calc(var(--u)*60) calc(var(--u)*70) calc(var(--u)*120);overflow:hidden}
.hero__txt{position:relative;z-index:2}
.hero h1{font-size:calc(var(--u)*78);line-height:1.02;margin:calc(var(--u)*16) 0 0;font-weight:600}
.hero h1 em{font-weight:500}
.tracinho{display:block;width:calc(var(--u)*70);height:2px;background:var(--cacau);margin:calc(var(--u)*30) 0 calc(var(--u)*24);opacity:.5}
.hero__lead{font-size:calc(var(--u)*18.5);color:var(--tinta-2);max-width:calc(var(--u)*520)}
.hero__btns{display:flex;gap:calc(var(--u)*14);margin-top:calc(var(--u)*34)}
.hero__prova{display:flex;gap:0;margin-top:calc(var(--u)*44);list-style:none}
.hero__prova li{display:flex;align-items:center;gap:calc(var(--u)*12);padding:0 calc(var(--u)*26);border-left:1px solid var(--linha)}
.hero__prova li:first-child{padding-left:0;border:0}
.hero__prova b{font-family:var(--ff-tit);font-size:calc(var(--u)*30);font-weight:600;color:var(--cacau);display:flex;align-items:center;gap:calc(var(--u)*4);white-space:nowrap}
.hero__prova b svg{width:calc(var(--u)*22);height:calc(var(--u)*22);fill:var(--mel);stroke:none}
.hero__prova span{font-size:calc(var(--u)*13);line-height:1.3;color:var(--tinta-2)}
.hero__foto{position:relative;height:calc(var(--u)*640)}
.hero__foto picture,.hero__foto img{width:100%;height:100%}
.hero__foto img{object-fit:cover;object-position:50% 55%;border-radius:46% 54% 40% 60% / 8% 10% 9% 12%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M3 4 Q 12 1 22 3 T 42 2 T 62 4 T 82 2 T 98 4 Q 100 20 98 36 T 99 62 T 97 84 T 98 97 Q 80 99 62 97 T 36 98 T 14 96 T 2 97 Q 0 80 2 62 T 1 38 T 3 4 Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M3 4 Q 12 1 22 3 T 42 2 T 62 4 T 82 2 T 98 4 Q 100 20 98 36 T 99 62 T 97 84 T 98 97 Q 80 99 62 97 T 36 98 T 14 96 T 2 97 Q 0 80 2 62 T 1 38 T 3 4 Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;border-radius:0}
.hero__foto::before{content:"";position:absolute;inset:calc(var(--u)*18) calc(var(--u)*-18) calc(var(--u)*-18) calc(var(--u)*18);border:1.5px dashed rgba(74,36,18,.28);border-radius:calc(var(--u)*28);z-index:-1}
.selo{position:absolute;left:calc(var(--u)*-58);bottom:calc(var(--u)*44);width:calc(var(--u)*150);height:calc(var(--u)*150);border-radius:50%;background:var(--papel);display:grid;place-items:center;box-shadow:var(--sombra);border:1.5px solid var(--cacau)}
.selo__giro{position:absolute;inset:calc(var(--u)*8);width:calc(100% - calc(var(--u)*16));height:calc(100% - calc(var(--u)*16));animation:gira 22s linear infinite}
.selo__giro text{font-family:var(--ff);font-size:calc(var(--u)*10.5);font-weight:700;letter-spacing:.2em;fill:var(--cacau)}
.selo__cor{width:calc(var(--u)*38);height:calc(var(--u)*38);fill:var(--terra);stroke:none}
@keyframes gira{to{transform:rotate(360deg)}}
.hero__trigo{position:absolute;right:calc(var(--u)*-6);top:calc(var(--u)*-30);width:calc(var(--u)*60);height:calc(var(--u)*160);fill:none;stroke:var(--mel);stroke-width:2;opacity:.9;transform:rotate(18deg)}

.onda{display:block;width:calc(100% - calc(var(--u)*240));height:calc(var(--u)*24);margin:0 auto;fill:none;stroke:var(--cacau);stroke-width:1.5;opacity:.35}

/* ---------- diferenciais ---------- */
.dif{padding:calc(var(--u)*36) calc(var(--u)*120) calc(var(--u)*30)}
.dif__lista{display:grid;grid-template-columns:repeat(4,1fr);list-style:none}
.dif__lista li{display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(var(--u)*10) calc(var(--u)*30);border-left:1.5px dashed var(--linha)}
.dif__lista li:first-child{border:0}
.dif__lista svg{width:calc(var(--u)*64);height:calc(var(--u)*64);fill:none;stroke:var(--cacau);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:calc(var(--u)*14)}
.dif__lista b{font-family:var(--ff-tit);font-size:calc(var(--u)*20);font-weight:600;color:var(--cacau)}
.dif__lista span{font-size:calc(var(--u)*14.5);color:var(--tinta-2);margin-top:calc(var(--u)*4);max-width:calc(var(--u)*230)}

/* ---------- cabeçalhos de seção ---------- */
.cabeca{text-align:center;max-width:calc(var(--u)*760);margin:0 auto calc(var(--u)*40)}
.cabeca h2{margin:calc(var(--u)*12) 0 calc(var(--u)*14)}
.cabeca>p:last-child{color:var(--tinta-2);font-size:calc(var(--u)*17.5)}
.cabeca--claro h2{color:var(--papel)}
.cabeca--claro .script{color:var(--mel)}
.cabeca--claro>p:last-child{color:rgba(251,232,182,.8)}
.cabeca--esq{display:flex;justify-content:space-between;align-items:flex-end;gap:calc(var(--u)*60);text-align:left;max-width:none}
.cabeca--esq h2{margin-bottom:0}
.cabeca--esq>p:last-child{max-width:calc(var(--u)*470)}

/* ---------- cardápio ---------- */
.cardapio{padding:calc(var(--u)*90) calc(var(--u)*120) calc(var(--u)*100)}
.abas{display:flex;justify-content:center;flex-wrap:wrap;gap:calc(var(--u)*10)}
.aba{display:inline-flex;align-items:center;gap:calc(var(--u)*10);height:calc(var(--u)*50);padding:0 calc(var(--u)*22);border-radius:calc(var(--u)*999);border:1.5px solid var(--linha);background:var(--papel);font-weight:600;font-size:calc(var(--u)*15.5);color:var(--tinta);transition:all .25s}
.aba img{width:calc(var(--u)*34);height:calc(var(--u)*34);border-radius:50%;object-fit:cover;margin-left:calc(var(--u)*-12);background:var(--creme)}
.aba small{font-size:calc(var(--u)*12.5);font-weight:700;background:var(--creme-2);border-radius:calc(var(--u)*999);padding:1px calc(var(--u)*8);color:var(--tinta-2)}
.aba:hover{border-color:var(--cacau)}
.aba.ativa{background:var(--cacau);border-color:var(--cacau);color:var(--papel)}
.aba.ativa small{background:var(--mel);color:var(--cacau-3)}
.abas__nota{text-align:center;margin:calc(var(--u)*18) 0 calc(var(--u)*34);font-family:var(--ff-script);font-size:calc(var(--u)*24);color:var(--terra)}
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*26)}
.card{position:relative;display:flex;flex-direction:column;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;transition:transform .35s,box-shadow .35s}
.card:hover{transform:translateY(calc(var(--u)*-6));box-shadow:var(--sombra)}
.card__foto{position:relative;display:block;width:100%;aspect-ratio:1/0.86;background:#f4ece0;overflow:hidden}
.card__foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card__foto img{transform:scale(1.06)}
.card__tag{position:absolute;top:calc(var(--u)*14);left:calc(var(--u)*14);padding:calc(var(--u)*5) calc(var(--u)*12);border-radius:calc(var(--u)*999);background:var(--mel);color:var(--cacau-3);font-size:calc(var(--u)*12);font-weight:700;letter-spacing:.02em}
.card__corpo{display:flex;flex-direction:column;flex:1;padding:calc(var(--u)*18) calc(var(--u)*20) calc(var(--u)*20)}
.card__nome{font-family:var(--ff-tit);font-size:calc(var(--u)*21);font-weight:600;color:var(--cacau);text-align:left;line-height:1.15}
.card__desc{font-size:calc(var(--u)*14);color:var(--tinta-2);margin:calc(var(--u)*7) 0 calc(var(--u)*16);line-height:1.45;flex:1}
.card__pe{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*10);padding-top:calc(var(--u)*14);border-top:1px dashed var(--linha)}
.preco{font-family:var(--ff-tit);font-size:calc(var(--u)*23);font-weight:600;color:var(--cacau);line-height:1}
.preco small{display:block;font-family:var(--ff);font-size:calc(var(--u)*12);font-weight:500;color:var(--tinta-2);margin-top:calc(var(--u)*4)}
.card__add{display:inline-flex;align-items:center;gap:calc(var(--u)*6);height:calc(var(--u)*42);padding:0 calc(var(--u)*16);border-radius:calc(var(--u)*999);background:var(--creme-2);color:var(--cacau);font-weight:700;font-size:calc(var(--u)*14);transition:background .25s,color .25s}
.card__add svg{width:calc(var(--u)*16);height:calc(var(--u)*16);fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.card__add:hover{background:var(--cacau);color:var(--papel)}

/* ---------- combos ---------- */
.combos{position:relative;padding:calc(var(--u)*100) calc(var(--u)*120) calc(var(--u)*110);background:var(--cacau-3);color:var(--mel-claro);overflow:hidden;isolation:isolate}
.combos__fundo{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 15% 10%,rgba(233,168,28,.18),transparent 40%),radial-gradient(circle at 85% 90%,rgba(180,83,42,.25),transparent 45%),var(--cacau-3)}
.combos__fundo::after{content:"";position:absolute;inset:calc(var(--u)*24);border:1px solid rgba(233,168,28,.35);border-radius:calc(var(--u)*6);pointer-events:none}
.combos__grade{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*24)}
.combo{position:relative;display:flex;flex-direction:column;background:rgba(251,247,240,.05);border:1px solid rgba(233,168,28,.3);border-radius:calc(var(--u)*22);overflow:hidden;transition:transform .35s,border-color .35s,background .35s}
.combo:hover{transform:translateY(calc(var(--u)*-6));border-color:var(--mel);background:rgba(251,247,240,.08)}
.combo__foto{aspect-ratio:4/3;background:#f4ece0;overflow:hidden}
.combo__foto img{width:100%;height:100%;object-fit:cover}
.combo__num{position:absolute;top:calc(var(--u)*16);left:calc(var(--u)*16);width:calc(var(--u)*52);height:calc(var(--u)*52);border-radius:50%;background:var(--cacau-3);border:1.5px solid var(--mel);color:var(--mel);display:grid;place-items:center;font-family:var(--ff-tit);font-size:calc(var(--u)*24);font-weight:600}
.combo__num--txt{width:auto;padding:0 calc(var(--u)*14);border-radius:calc(var(--u)*999);font-family:var(--ff);font-size:calc(var(--u)*13);font-weight:700;height:calc(var(--u)*36)}
.combo .card__tag{left:auto;right:calc(var(--u)*14)}
.combo__corpo{display:flex;flex-direction:column;flex:1;padding:calc(var(--u)*22) calc(var(--u)*24) calc(var(--u)*24)}
.combo h3{color:var(--papel);font-size:calc(var(--u)*25)}
.combo ul{list-style:none;margin:calc(var(--u)*14) 0 calc(var(--u)*20);flex:1}
.combo li{display:flex;gap:calc(var(--u)*10);align-items:baseline;font-size:calc(var(--u)*15);padding:calc(var(--u)*4) 0;color:rgba(251,232,182,.9)}
.combo li::before{content:"✓";color:var(--mel);font-weight:700}
.combo__pe{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*12)}
.combo .preco{color:var(--mel);font-size:calc(var(--u)*32)}
.combo .preco small{color:rgba(251,232,182,.7)}
.combo .btn{height:calc(var(--u)*46);padding:0 calc(var(--u)*20);font-size:calc(var(--u)*14.5)}

/* ---------- calculadora ---------- */
.festa{padding:calc(var(--u)*110) calc(var(--u)*120) calc(var(--u)*50)}
.festa__caixa{display:grid;grid-template-columns:1fr calc(var(--u)*480);gap:calc(var(--u)*70);align-items:center;background:var(--papel);border:1px solid var(--linha);border-radius:calc(var(--u)*32);padding:calc(var(--u)*60) calc(var(--u)*64);box-shadow:var(--sombra);position:relative}
.festa__caixa::before{content:"";position:absolute;inset:calc(var(--u)*10);border:1.5px dashed var(--linha);border-radius:calc(var(--u)*24);pointer-events:none}
.festa h2{margin:calc(var(--u)*10) 0 calc(var(--u)*14)}
.festa__txt>p{color:var(--tinta-2)}
.festa__pessoas{display:block;margin:calc(var(--u)*34) 0 calc(var(--u)*18)}
.festa__pessoas>span:first-child{font-family:var(--ff-tit);font-size:calc(var(--u)*26);color:var(--cacau)}
.festa__pessoas b{font-size:calc(var(--u)*58);font-weight:600;margin-right:calc(var(--u)*4)}
input[type=range]{--p:22%;-webkit-appearance:none;appearance:none;width:100%;height:calc(var(--u)*10);border-radius:calc(var(--u)*999);margin:calc(var(--u)*16) 0 calc(var(--u)*8);background:linear-gradient(90deg,var(--mel) var(--p),var(--creme-2) var(--p));outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:calc(var(--u)*34);height:calc(var(--u)*34);border-radius:50%;background:var(--cacau);border:calc(var(--u)*5) solid var(--papel);box-shadow:0 calc(var(--u)*4) calc(var(--u)*14) rgba(74,36,18,.4)}
input[type=range]::-moz-range-thumb{width:calc(var(--u)*24);height:calc(var(--u)*24);border-radius:50%;background:var(--cacau);border:calc(var(--u)*5) solid var(--papel);box-shadow:0 calc(var(--u)*4) calc(var(--u)*14) rgba(74,36,18,.4)}
.festa__escala{display:flex;justify-content:space-between;font-size:calc(var(--u)*12.5);color:var(--tinta-2)}
.festa__escala i{font-style:normal}
.festa__opcoes{display:flex;flex-wrap:wrap;gap:calc(var(--u)*10)}
.chip-check input{position:absolute;opacity:0;pointer-events:none}
.chip-check span{display:inline-flex;align-items:center;gap:calc(var(--u)*8);height:calc(var(--u)*42);padding:0 calc(var(--u)*18);border-radius:calc(var(--u)*999);border:1.5px solid var(--linha);font-weight:600;font-size:calc(var(--u)*14.5);cursor:pointer;transition:all .2s}
.chip-check span::before{content:"";width:calc(var(--u)*16);height:calc(var(--u)*16);border-radius:calc(var(--u)*5);border:1.5px solid var(--tinta-2);transition:all .2s}
.chip-check input:checked+span{border-color:var(--cacau);background:var(--creme)}
.chip-check input:checked+span::before{background:var(--cacau) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center/80% no-repeat;border-color:var(--cacau)}
.chip-check input:focus-visible+span{outline:2px solid var(--mel);outline-offset:2px}
.festa__regra{font-size:calc(var(--u)*13.5);color:var(--tinta-2);margin-top:calc(var(--u)*18);max-width:calc(var(--u)*520)}
.festa__sug{position:relative;z-index:1;background:var(--creme);border-radius:calc(var(--u)*24);padding:calc(var(--u)*30) calc(var(--u)*30) calc(var(--u)*26)}
.festa__titulo{font-family:var(--ff-script);font-size:calc(var(--u)*30);color:var(--terra);line-height:1;margin-bottom:calc(var(--u)*14)}
.festa__itens{list-style:none}
.festa__itens li{display:flex;align-items:center;gap:calc(var(--u)*14);padding:calc(var(--u)*12) 0;border-bottom:1px dashed var(--linha)}
.festa__itens img{width:calc(var(--u)*62);height:calc(var(--u)*62);border-radius:calc(var(--u)*14);object-fit:cover;background:#f4ece0}
.festa__itens div{flex:1;line-height:1.2}
.festa__itens b{display:block;font-family:var(--ff-tit);font-size:calc(var(--u)*27);font-weight:600;color:var(--cacau)}
.festa__itens span{font-size:calc(var(--u)*14);color:var(--tinta-2)}
.festa__itens small{font-weight:700;font-size:calc(var(--u)*15);color:var(--cacau)}
.festa__sabor{display:flex;flex-direction:column;gap:calc(var(--u)*6);margin-top:calc(var(--u)*16);font-size:calc(var(--u)*13);font-weight:600;color:var(--tinta-2)}
select,input:not([type=range]):not([type=radio]):not([type=checkbox]),textarea{width:100%;min-width:0;height:calc(var(--u)*48);padding:0 calc(var(--u)*14);border-radius:calc(var(--u)*12);border:1.5px solid var(--linha);background:var(--papel);font-size:calc(var(--u)*15.5);color:var(--tinta);outline:none;transition:border-color .2s}
textarea{height:auto;padding:calc(var(--u)*12) calc(var(--u)*14);resize:vertical}
select:focus,input:focus,textarea:focus{border-color:var(--cacau)}
.festa__total{display:flex;justify-content:space-between;align-items:baseline;margin:calc(var(--u)*20) 0 calc(var(--u)*16)}
.festa__total span{font-weight:600;color:var(--tinta-2)}
.festa__total b{font-family:var(--ff-tit);font-size:calc(var(--u)*34);font-weight:600;color:var(--cacau)}
.festa__obs{font-size:calc(var(--u)*12.5);color:var(--tinta-2);margin-top:calc(var(--u)*12);text-align:center}

/* ---------- vitrine ---------- */
.vitrine{padding:calc(var(--u)*90) 0 calc(var(--u)*80)}
.vitrine .cabeca{padding:0 calc(var(--u)*120)}
.vitrine__trilho{display:flex;gap:calc(var(--u)*22);overflow-x:auto;padding:calc(var(--u)*6) calc(var(--u)*120) calc(var(--u)*26);scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--linha) transparent;cursor:grab}
.vitrine__trilho.arrastando{cursor:grabbing;scroll-snap-type:none}
.vit{flex:0 0 calc(var(--u)*280);scroll-snap-align:start;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;user-select:none}
.vit img{width:100%;aspect-ratio:1/0.9;object-fit:cover;background:#f4ece0;pointer-events:none}
.vit div{padding:calc(var(--u)*16) calc(var(--u)*18) calc(var(--u)*18)}
.vit b{font-family:var(--ff-tit);font-size:calc(var(--u)*19);font-weight:600;color:var(--cacau);display:block;line-height:1.2}
.vit span{font-size:calc(var(--u)*13.5);color:var(--tinta-2);display:block;margin-top:calc(var(--u)*4);line-height:1.4}

/* ---------- datas ---------- */
.datas{padding:calc(var(--u)*90) calc(var(--u)*120) calc(var(--u)*100);background:var(--creme-2)}
.datas__grade{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*24)}
.data{display:grid;grid-template-columns:calc(var(--u)*210) 1fr;background:var(--papel);border-radius:var(--raio);overflow:hidden;border:1px solid var(--linha)}
.data img{width:100%;height:100%;object-fit:cover;background:#f4ece0}
.data>div{padding:calc(var(--u)*24) calc(var(--u)*28) calc(var(--u)*24)}
.data__quando{display:inline-block;font-size:calc(var(--u)*12);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-bottom:calc(var(--u)*6)}
.data h3{font-size:calc(var(--u)*24)}
.data p{font-size:calc(var(--u)*14.5);color:var(--tinta-2);margin:calc(var(--u)*8) 0 calc(var(--u)*12);line-height:1.5}
.data__preco{font-family:var(--ff-tit);font-size:calc(var(--u)*24);color:var(--cacau);font-weight:600}
.data__preco small{font-family:var(--ff);font-size:calc(var(--u)*13);font-weight:500;color:var(--tinta-2)}
.datas__lista{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*30);margin-top:calc(var(--u)*30);padding:calc(var(--u)*26) calc(var(--u)*34);border-radius:var(--raio);background:var(--cacau);color:var(--mel-claro)}
.datas__lista p{max-width:calc(var(--u)*720)}
.datas__lista b{color:var(--papel)}
.datas__lista .btn{background:var(--mel);color:var(--cacau-3)}

/* ---------- sobre ---------- */
.sobre{display:grid;grid-template-columns:calc(var(--u)*560) 1fr;gap:calc(var(--u)*90);align-items:center;padding:calc(var(--u)*120) calc(var(--u)*120) calc(var(--u)*110)}
.sobre__fotos{position:relative;height:calc(var(--u)*540)}
.polaroid{position:absolute;width:calc(var(--u)*290);background:#fff;padding:calc(var(--u)*12) calc(var(--u)*12) 0;box-shadow:0 calc(var(--u)*22) calc(var(--u)*40) calc(var(--u)*-22) rgba(46,22,10,.55);transition:transform .4s}
.polaroid img{width:100%;aspect-ratio:1;object-fit:cover}
.polaroid figcaption{font-family:var(--ff-script);font-size:calc(var(--u)*24);text-align:center;color:var(--cacau);padding:calc(var(--u)*8) 0 calc(var(--u)*10)}
.p1{left:0;top:calc(var(--u)*30);transform:rotate(-6deg);z-index:2}
.p2{left:calc(var(--u)*250);top:0;transform:rotate(5deg)}
.p3{left:calc(var(--u)*150);top:calc(var(--u)*230);transform:rotate(-1deg);z-index:3}
.polaroid:hover{transform:rotate(0) scale(1.04);z-index:5}
.sobre__txt h2{margin:calc(var(--u)*12) 0 calc(var(--u)*22);font-size:calc(var(--u)*50)}
.sobre__txt p{color:var(--tinta-2);margin-bottom:calc(var(--u)*16);font-size:calc(var(--u)*17.5)}
.sobre__txt p b{color:var(--cacau)}
.sobre__nums{display:flex;gap:calc(var(--u)*44);list-style:none;margin-top:calc(var(--u)*30);padding-top:calc(var(--u)*26);border-top:1.5px dashed var(--linha)}
.sobre__nums b{display:block;font-family:var(--ff-tit);font-size:calc(var(--u)*40);font-weight:600;color:var(--cacau);line-height:1}
.sobre__nums span{font-size:calc(var(--u)*14);color:var(--tinta-2)}

/* ---------- depoimentos ---------- */
.depo{display:grid;grid-template-columns:calc(var(--u)*260) 1fr;gap:calc(var(--u)*40);align-items:center;padding:0 calc(var(--u)*120) calc(var(--u)*110)}
.depo__nota{text-align:center;padding:calc(var(--u)*30) calc(var(--u)*20);border-radius:var(--raio);background:var(--papel);border:1px solid var(--linha)}
.depo__nota .g{width:calc(var(--u)*34);height:calc(var(--u)*34);margin:0 auto calc(var(--u)*8)}
.depo__nota>b{display:block;font-family:var(--ff-tit);font-size:calc(var(--u)*62);font-weight:600;color:var(--cacau);line-height:1}
.estrelas{color:var(--mel);letter-spacing:2px;font-size:calc(var(--u)*19)}
.estrelas i{font-style:normal;background:linear-gradient(90deg,var(--mel) 50%,var(--linha) 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.depo__nota p{font-size:calc(var(--u)*13.5);color:var(--tinta-2);margin-top:calc(var(--u)*4)}
.depo__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*22)}
.depo__card{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:calc(var(--u)*26) calc(var(--u)*26) calc(var(--u)*22);display:flex;flex-direction:column}
.depo__card p{font-family:var(--ff-tit);font-style:italic;font-size:calc(var(--u)*17);line-height:1.5;color:var(--tinta);margin:calc(var(--u)*10) 0 calc(var(--u)*16);flex:1}
.depo__card footer{font-size:calc(var(--u)*13.5);font-weight:600;color:var(--tinta-2)}

/* ---------- visite ---------- */
.visite{display:grid;grid-template-columns:calc(var(--u)*500) 1fr;gap:calc(var(--u)*60);padding:calc(var(--u)*100) calc(var(--u)*120);background:var(--papel);border-top:1px solid var(--linha)}
.visite h2{margin:calc(var(--u)*10) 0 calc(var(--u)*24)}
.visite__end{display:flex;gap:calc(var(--u)*12);font-size:calc(var(--u)*17);margin-bottom:calc(var(--u)*22)}
.visite__end svg{width:calc(var(--u)*24);height:calc(var(--u)*24);fill:none;stroke:var(--terra);stroke-width:1.8;margin-top:2px}
.horario{width:100%;border-collapse:collapse;font-size:calc(var(--u)*15.5)}
.horario th,.horario td{padding:calc(var(--u)*9) calc(var(--u)*14);border-bottom:1px dashed var(--linha);text-align:left;font-weight:500}
.horario td{text-align:right;color:var(--tinta-2)}
.horario tr.hoje{background:var(--mel-claro)}
.horario tr.hoje th,.horario tr.hoje td{font-weight:700;color:var(--cacau)}
.horario tr.hoje th::after{content:" · hoje";font-weight:500;font-size:calc(var(--u)*13);color:var(--terra)}
.pagamento{display:flex;align-items:center;flex-wrap:wrap;gap:calc(var(--u)*10);margin:calc(var(--u)*22) 0 calc(var(--u)*28)}
.pagamento>span{font-weight:600;font-size:calc(var(--u)*14);color:var(--tinta-2);margin-right:calc(var(--u)*4)}
.pagamento ul{display:flex;flex-wrap:wrap;gap:calc(var(--u)*8);list-style:none}
.pagamento li{padding:calc(var(--u)*5) calc(var(--u)*13);border-radius:calc(var(--u)*999);background:var(--creme);border:1px solid var(--linha);font-size:calc(var(--u)*13.5);font-weight:600}
.visite__btns{display:flex;flex-wrap:wrap;gap:calc(var(--u)*12)}
.visite__mapa{border-radius:calc(var(--u)*28);overflow:hidden;min-height:calc(var(--u)*520);border:1px solid var(--linha);box-shadow:var(--sombra)}
.visite__mapa iframe{width:100%;height:100%;border:0;display:block;filter:sepia(.15) saturate(.95)}

/* ---------- rodapé ---------- */
.rodape{background:var(--cacau-3);color:rgba(251,232,182,.75);padding:calc(var(--u)*70) calc(var(--u)*120) calc(var(--u)*30)}
.rodape__grade{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:calc(var(--u)*50)}
.rodape__marca img{width:calc(var(--u)*110);margin-bottom:calc(var(--u)*16);background:var(--papel);border-radius:50%;padding:calc(var(--u)*10)}
.rodape__marca p{max-width:calc(var(--u)*300);font-size:calc(var(--u)*15)}
.rodape h4{font-family:var(--ff-tit);font-weight:600;font-size:calc(var(--u)*19);color:var(--mel);margin-bottom:calc(var(--u)*14)}
.rodape a{display:block;font-size:calc(var(--u)*15);padding:calc(var(--u)*4) 0;transition:color .2s}
.rodape a:hover{color:var(--mel)}
.rodape p{font-size:calc(var(--u)*15)}
.rodape__base{margin-top:calc(var(--u)*50);padding-top:calc(var(--u)*24);border-top:1px solid rgba(233,168,28,.2);font-size:calc(var(--u)*13.5)!important;text-align:center}

/* ---------- WhatsApp flutuante ---------- */
.wa-flutua{position:fixed;right:calc(var(--u)*28);bottom:calc(var(--u)*28);z-index:60;width:calc(var(--u)*64);height:calc(var(--u)*64);border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 calc(var(--u)*14) calc(var(--u)*30) calc(var(--u)*-10) rgba(31,168,85,.7);transition:transform .3s}
.wa-flutua svg{width:calc(var(--u)*34);height:calc(var(--u)*34)}
.wa-flutua::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);animation:pulso 2.4s infinite;z-index:-1}
.wa-flutua:hover{transform:scale(1.08)}
@keyframes pulso{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}

.barra-sacola{position:fixed;left:calc(var(--u)*16);right:calc(var(--u)*16);bottom:calc(var(--u)*16);z-index:61;display:none;justify-content:space-between;align-items:center;height:calc(var(--u)*58);padding:0 calc(var(--u)*22);border-radius:calc(var(--u)*999);background:var(--cacau);color:var(--papel);font-size:calc(var(--u)*15);box-shadow:0 calc(var(--u)*16) calc(var(--u)*30) calc(var(--u)*-12) rgba(46,22,10,.7)}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:calc(var(--u)*30);background:rgba(46,22,10,.55);backdrop-filter:blur(calc(var(--u)*4));animation:aparece .25s}
@keyframes aparece{from{opacity:0}}
.modal__caixa{position:relative;display:grid;grid-template-columns:calc(var(--u)*440) calc(var(--u)*460);max-height:calc(100vh - calc(var(--u)*60));background:var(--papel);border-radius:calc(var(--u)*28);overflow:hidden;box-shadow:0 calc(var(--u)*40) calc(var(--u)*80) calc(var(--u)*-30) rgba(0,0,0,.6);animation:sobe .35s cubic-bezier(.2,.8,.2,1)}
@keyframes sobe{from{transform:translateY(calc(var(--u)*30));opacity:0}}
.fechar{position:absolute;top:calc(var(--u)*14);right:calc(var(--u)*14);z-index:2;width:calc(var(--u)*42);height:calc(var(--u)*42);border-radius:50%;background:var(--creme);display:grid;place-items:center;color:var(--cacau)}
.fechar svg{width:calc(var(--u)*20);height:calc(var(--u)*20);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.modal__img{background:#f4ece0}
.modal__img img{width:100%;height:100%;object-fit:cover}
.modal__corpo{padding:calc(var(--u)*36) calc(var(--u)*34) calc(var(--u)*30);overflow:auto;display:flex;flex-direction:column}
.modal__cat{font-size:calc(var(--u)*12);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra)}
.modal__corpo h3{font-size:calc(var(--u)*32);margin:calc(var(--u)*6) 0 calc(var(--u)*10)}
.modal__corpo>p{font-size:calc(var(--u)*15);color:var(--tinta-2)}
.modal__itens{list-style:none;margin:calc(var(--u)*12) 0 0}
.modal__itens li{font-size:calc(var(--u)*14.5);padding:calc(var(--u)*3) 0}
.modal__itens li::before{content:"✓ ";color:var(--mel);font-weight:700}
.vars{border:0;margin:calc(var(--u)*20) 0 calc(var(--u)*4);display:flex;flex-direction:column;gap:calc(var(--u)*8)}
.vars legend{font-size:calc(var(--u)*13);font-weight:700;color:var(--tinta-2);margin-bottom:calc(var(--u)*8)}
.vars label{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*10);padding:calc(var(--u)*12) calc(var(--u)*16);border-radius:calc(var(--u)*14);border:1.5px solid var(--linha);cursor:pointer;font-size:calc(var(--u)*15);transition:all .2s}
.vars label span{display:flex;align-items:center;gap:calc(var(--u)*10)}
.vars input{accent-color:var(--cacau);width:calc(var(--u)*18);height:calc(var(--u)*18)}
.vars label:has(input:checked){border-color:var(--cacau);background:var(--creme)}
.vars b{font-family:var(--ff-tit);font-weight:600;color:var(--cacau)}
.campo{display:flex;flex-direction:column;gap:calc(var(--u)*6);font-size:calc(var(--u)*13.5);font-weight:600;color:var(--tinta-2);margin-top:calc(var(--u)*14)}
.campo small{font-weight:400}
.campo__ajuda{font-size:calc(var(--u)*12.5);color:var(--tinta-2);margin-top:calc(var(--u)*6)}
.modal__pe{display:flex;gap:calc(var(--u)*12);margin-top:auto;padding-top:calc(var(--u)*22)}
.modal__pe .btn{flex:1}
.qtd{display:flex;align-items:center;height:calc(var(--u)*54);border-radius:calc(var(--u)*999);border:1.5px solid var(--linha);background:var(--papel)}
.qtd button{width:calc(var(--u)*44);height:100%;font-size:calc(var(--u)*20);color:var(--cacau)}
.qtd span{min-width:calc(var(--u)*26);text-align:center;font-weight:700}

/* ---------- sacola ---------- */
.sacola{position:fixed;inset:0;z-index:90}
.sacola__fundo{position:absolute;inset:0;background:rgba(46,22,10,.5);animation:aparece .25s}
.sacola__painel{position:absolute;top:0;right:0;bottom:0;width:calc(var(--u)*480);display:flex;flex-direction:column;background:var(--papel);animation:entra .35s cubic-bezier(.2,.8,.2,1)}
@keyframes entra{from{transform:translateX(100%)}}
.sacola__topo{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--u)*24) calc(var(--u)*28) calc(var(--u)*10)}
.sacola__topo h3{font-size:calc(var(--u)*28)}
.sacola__topo .fechar{position:static}
.passos{display:flex;gap:calc(var(--u)*8);list-style:none;padding:calc(var(--u)*6) calc(var(--u)*28) calc(var(--u)*14);border-bottom:1px solid var(--linha);counter-reset:p}
.passos li{counter-increment:p;font-size:calc(var(--u)*13);font-weight:600;color:var(--tinta-2);display:flex;align-items:center;gap:calc(var(--u)*6)}
.passos li::before{content:counter(p);width:calc(var(--u)*22);height:calc(var(--u)*22);border-radius:50%;display:grid;place-items:center;background:var(--creme-2);font-size:calc(var(--u)*12)}
.passos li+li::after{content:none}
.passos li.ativo{color:var(--cacau)}
.passos li.ativo::before{background:var(--cacau);color:var(--papel)}
.sacola__itens,.finalizar{flex:1;overflow:auto;padding:calc(var(--u)*10) calc(var(--u)*28) calc(var(--u)*20)}
.item{display:grid;grid-template-columns:calc(var(--u)*72) 1fr auto;gap:calc(var(--u)*14);padding:calc(var(--u)*16) 0;border-bottom:1px dashed var(--linha)}
.item img{width:calc(var(--u)*72);height:calc(var(--u)*72);border-radius:calc(var(--u)*14);object-fit:cover;background:#f4ece0}
.item b{font-size:calc(var(--u)*15);color:var(--cacau);line-height:1.25;display:block}
.item small{display:block;font-size:calc(var(--u)*12.5);color:var(--tinta-2);line-height:1.35;margin-top:2px}
.item .qtd{height:calc(var(--u)*34);margin-top:calc(var(--u)*8);width:max-content}
.item .qtd button{width:calc(var(--u)*32);font-size:calc(var(--u)*17)}
.item__dir{text-align:right;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}
.item__dir strong{font-family:var(--ff-tit);font-size:calc(var(--u)*17);color:var(--cacau);white-space:nowrap}
.item__dir button{font-size:calc(var(--u)*12.5);color:var(--terra);text-decoration:underline}
.sacola__vazia{text-align:center;padding:calc(var(--u)*60) calc(var(--u)*10)}
.sacola__vazia img{width:calc(var(--u)*110);margin:0 auto calc(var(--u)*16);opacity:.9}
.sacola__vazia p{color:var(--tinta-2);margin-bottom:calc(var(--u)*20)}
.sacola__pe{padding:calc(var(--u)*18) calc(var(--u)*28) calc(var(--u)*24);border-top:1px solid var(--linha);background:var(--creme)}
.sacola__total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:calc(var(--u)*14)}
.sacola__total span{font-weight:600;color:var(--tinta-2)}
.sacola__total b{font-family:var(--ff-tit);font-size:calc(var(--u)*30);color:var(--cacau)}
.sacola__voltar{display:block;margin:calc(var(--u)*12) auto 0;font-size:calc(var(--u)*14);color:var(--tinta-2);text-decoration:underline}
.seg,.pags{display:flex;flex-wrap:wrap;gap:calc(var(--u)*8)}
.seg label,.pags label{flex:1}
.seg input,.pags input{position:absolute;opacity:0;pointer-events:none}
.seg span,.pags span{display:grid;place-items:center;height:calc(var(--u)*46);padding:0 calc(var(--u)*12);border-radius:calc(var(--u)*12);border:1.5px solid var(--linha);font-weight:600;font-size:calc(var(--u)*14.5);color:var(--tinta);cursor:pointer;white-space:nowrap;transition:all .2s}
.seg input:checked+span,.pags input:checked+span{border-color:var(--cacau);background:var(--cacau);color:var(--papel)}
.seg input:focus-visible+span,.pags input:focus-visible+span{outline:2px solid var(--mel);outline-offset:2px}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*12)}
.duas>*{min-width:0}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(var(--u)*30);z-index:120;transform:translate(-50%,calc(var(--u)*40));opacity:0;padding:calc(var(--u)*14) calc(var(--u)*24);border-radius:calc(var(--u)*999);background:var(--cacau);color:var(--papel);font-weight:600;font-size:calc(var(--u)*15);box-shadow:0 calc(var(--u)*14) calc(var(--u)*30) calc(var(--u)*-12) rgba(0,0,0,.5);transition:all .35s;pointer-events:none;white-space:nowrap}
.toast.mostra{transform:translate(-50%,0);opacity:1}

/* ---------- revelar ---------- */
.js [data-rv]{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rv-delay,0ms)}
.js [data-rv=up]{transform:translateY(calc(var(--u)*28))}
.js [data-rv=image]{transform:scale(.96)}
.js [data-rv].vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .js [data-rv]{opacity:1;transform:none}
}

/* =================== tablet =================== */
@media (max-width:999px){
  h2{font-size:calc(var(--u)*44)}
  .aviso{padding:calc(var(--u)*8) calc(var(--u)*30);justify-content:center}
  .aviso p:not(.aviso__meio){display:none}
  .topo{padding:calc(var(--u)*10) calc(var(--u)*30)}
  .topo__nav,.topo__ig{display:none}
  .topo__acoes{margin-left:auto}
  .topo__menu{display:flex}
  .topo.aberto .topo__nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:calc(var(--u)*10) calc(var(--u)*30) calc(var(--u)*24);background:var(--creme);border-bottom:1px solid var(--linha);font-size:calc(var(--u)*20)}
  .topo.aberto .topo__nav a{padding:calc(var(--u)*14) 0;border-bottom:1px dashed var(--linha)}
  .topo.aberto .topo__menu span:nth-child(1){transform:translateY(calc(var(--u)*7)) rotate(45deg)}
  .topo.aberto .topo__menu span:nth-child(2){opacity:0}
  .topo.aberto .topo__menu span:nth-child(3){transform:translateY(calc(var(--u)*-7)) rotate(-45deg)}
  .hero{grid-template-columns:1fr;padding:calc(var(--u)*40) calc(var(--u)*40) calc(var(--u)*60);gap:calc(var(--u)*50)}
  .hero h1{font-size:calc(var(--u)*72)}
  .hero__foto{height:calc(var(--u)*560)}
  .selo{left:calc(var(--u)*-20)}
  .onda{width:calc(100% - calc(var(--u)*80))}
  .dif{padding:calc(var(--u)*30) calc(var(--u)*40)}
  .dif__lista{grid-template-columns:repeat(2,1fr);row-gap:calc(var(--u)*30)}
  .dif__lista li:nth-child(3){border:0}
  .cardapio{padding:calc(var(--u)*80) calc(var(--u)*40)}
  .grade{grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*22)}
  .combos{padding:calc(var(--u)*90) calc(var(--u)*40)}
  .combos__grade{grid-template-columns:repeat(2,1fr)}
  .festa{padding:calc(var(--u)*90) calc(var(--u)*40) calc(var(--u)*40)}
  .festa__caixa{grid-template-columns:1fr;gap:calc(var(--u)*40);padding:calc(var(--u)*50) calc(var(--u)*46)}
  .vitrine .cabeca{padding:0 calc(var(--u)*40)}
  .cabeca--esq{flex-direction:column;align-items:flex-start;gap:calc(var(--u)*16)}
  .vitrine__trilho{padding:calc(var(--u)*6) calc(var(--u)*40) calc(var(--u)*26)}
  .datas{padding:calc(var(--u)*80) calc(var(--u)*40)}
  .datas__grade{grid-template-columns:1fr}
  .datas__lista{flex-direction:column;align-items:flex-start}
  .sobre{grid-template-columns:1fr;padding:calc(var(--u)*90) calc(var(--u)*40);gap:calc(var(--u)*50)}
  .sobre__fotos{width:calc(var(--u)*560);margin:0 auto}
  .depo{grid-template-columns:1fr;padding:0 calc(var(--u)*40) calc(var(--u)*90)}
  .depo__grade{grid-template-columns:1fr}
  .visite{grid-template-columns:1fr;padding:calc(var(--u)*80) calc(var(--u)*40)}
  .visite__mapa{min-height:calc(var(--u)*440)}
  .rodape{padding:calc(var(--u)*60) calc(var(--u)*40) calc(var(--u)*30)}
  .rodape__grade{grid-template-columns:1fr 1fr}
  .modal__caixa{grid-template-columns:1fr;width:calc(var(--u)*600);max-height:calc(100vh - calc(var(--u)*40));overflow:auto}
  .modal__img img{max-height:calc(var(--u)*340)}
  .modal__corpo{overflow:visible}
}

/* =================== celular (desenho em 390) =================== */
@media (max-width:639px){
  body{font-size:calc(var(--u)*15.5)}
  h2{font-size:calc(var(--u)*34)}
  .script{font-size:calc(var(--u)*24)}
  .btn{height:calc(var(--u)*50);padding:0 calc(var(--u)*22);font-size:calc(var(--u)*15)}
  .aviso{font-size:calc(var(--u)*12);padding:calc(var(--u)*7) calc(var(--u)*16)}
  .topo{padding:calc(var(--u)*8) calc(var(--u)*16);gap:calc(var(--u)*10)}
  .topo__logo img{width:calc(var(--u)*58)}
  .topo.rolou .topo__logo img{width:calc(var(--u)*50)}
  .topo__cta{display:none}
  .topo.aberto .topo__nav{padding:calc(var(--u)*6) calc(var(--u)*18) calc(var(--u)*20);font-size:calc(var(--u)*18)}
  .hero{padding:calc(var(--u)*22) calc(var(--u)*18) calc(var(--u)*40);gap:calc(var(--u)*34)}
  .hero h1{font-size:calc(var(--u)*44);margin-top:calc(var(--u)*10)}
  .tracinho{margin:calc(var(--u)*20) 0 calc(var(--u)*16)}
  .hero__lead{font-size:calc(var(--u)*16)}
  .hero__btns{flex-direction:column;gap:calc(var(--u)*10);margin-top:calc(var(--u)*24)}
  .hero__prova{margin-top:calc(var(--u)*28);justify-content:space-between}
  .hero__prova li{flex-direction:column;align-items:flex-start;gap:calc(var(--u)*4);padding:0 0 0 calc(var(--u)*14)}
  .hero__prova b{font-size:calc(var(--u)*23)}
  .hero__prova b svg{width:calc(var(--u)*17);height:calc(var(--u)*17)}
  .hero__prova span{font-size:calc(var(--u)*11.5)}
  .hero__foto{height:calc(var(--u)*300);margin:0 calc(var(--u)*6)}
  .hero__foto::before{inset:calc(var(--u)*10) calc(var(--u)*-8) calc(var(--u)*-10) calc(var(--u)*10)}
  .selo{width:calc(var(--u)*96);height:calc(var(--u)*96);left:calc(var(--u)*-10);bottom:calc(var(--u)*-26)}
  .selo__giro text{font-size:calc(var(--u)*11)}
  .selo__cor{width:calc(var(--u)*26);height:calc(var(--u)*26)}
  .hero__trigo{width:calc(var(--u)*36);height:calc(var(--u)*96);top:calc(var(--u)*-22);right:calc(var(--u)*-4)}
  .onda{width:calc(100% - calc(var(--u)*36))}
  .dif{padding:calc(var(--u)*24) calc(var(--u)*18) calc(var(--u)*10)}
  .dif__lista{column-gap:0}
  .dif__lista li{padding:calc(var(--u)*6) calc(var(--u)*10)}
  .dif__lista svg{width:calc(var(--u)*48);height:calc(var(--u)*48);margin-bottom:calc(var(--u)*8)}
  .dif__lista b{font-size:calc(var(--u)*16.5)}
  .dif__lista span{font-size:calc(var(--u)*12.5)}
  .cabeca{margin-bottom:calc(var(--u)*26)}
  .cabeca>p:last-child{font-size:calc(var(--u)*15.5)}
  .cardapio{padding:calc(var(--u)*60) 0 calc(var(--u)*60)}
  .cardapio .cabeca{padding:0 calc(var(--u)*18)}
  .abas{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:calc(var(--u)*4) calc(var(--u)*18) calc(var(--u)*8);scrollbar-width:none}
  .abas::-webkit-scrollbar{display:none}
  .aba{flex:none;height:calc(var(--u)*44);padding:0 calc(var(--u)*16);font-size:calc(var(--u)*14)}
  .aba img{width:calc(var(--u)*28);height:calc(var(--u)*28);margin-left:calc(var(--u)*-8)}
  .abas__nota{font-size:calc(var(--u)*20);margin:calc(var(--u)*12) calc(var(--u)*18) calc(var(--u)*20)}
  .grade{grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*12);padding:0 calc(var(--u)*14)}
  .card__corpo{padding:calc(var(--u)*12) calc(var(--u)*12) calc(var(--u)*12)}
  .card__nome{font-size:calc(var(--u)*16)}
  .card__desc{display:none}
  .card__pe{flex-direction:column;align-items:stretch;gap:calc(var(--u)*10);padding-top:calc(var(--u)*10);margin-top:calc(var(--u)*10)}
  .preco{font-size:calc(var(--u)*19)}
  .preco small{font-size:calc(var(--u)*11)}
  .card__add{justify-content:center;height:calc(var(--u)*38);font-size:calc(var(--u)*13)}
  .card__tag{top:calc(var(--u)*8);left:calc(var(--u)*8);font-size:calc(var(--u)*10.5);padding:calc(var(--u)*3) calc(var(--u)*9)}
  .combos{padding:calc(var(--u)*70) calc(var(--u)*16)}
  .combos__fundo::after{inset:calc(var(--u)*10)}
  .combos__grade{grid-template-columns:1fr;gap:calc(var(--u)*16)}
  .combo h3{font-size:calc(var(--u)*22)}
  .combo .preco{font-size:calc(var(--u)*28)}
  .festa{padding:calc(var(--u)*60) calc(var(--u)*14) calc(var(--u)*20)}
  .festa__caixa{padding:calc(var(--u)*34) calc(var(--u)*20) calc(var(--u)*22);border-radius:calc(var(--u)*24);gap:calc(var(--u)*26)}
  .festa__caixa::before{inset:calc(var(--u)*6);border-radius:calc(var(--u)*19)}
  .festa__pessoas{margin:calc(var(--u)*22) 0 calc(var(--u)*12)}
  .festa__pessoas b{font-size:calc(var(--u)*46)}
  .festa__pessoas>span:first-child{font-size:calc(var(--u)*21)}
  .festa__sug{padding:calc(var(--u)*22) calc(var(--u)*16) calc(var(--u)*20);margin:0 calc(var(--u)*-6)}
  .festa__itens b{font-size:calc(var(--u)*23)}
  .festa__itens img{width:calc(var(--u)*52);height:calc(var(--u)*52)}
  .festa__total b{font-size:calc(var(--u)*28)}
  .vitrine{padding:calc(var(--u)*60) 0}
  .vitrine .cabeca{padding:0 calc(var(--u)*18)}
  .vitrine__trilho{padding:calc(var(--u)*4) calc(var(--u)*18) calc(var(--u)*20);gap:calc(var(--u)*12)}
  .vit{flex-basis:calc(var(--u)*220)}
  .datas{padding:calc(var(--u)*60) calc(var(--u)*14)}
  .data{grid-template-columns:calc(var(--u)*120) 1fr}
  .data>div{padding:calc(var(--u)*16) calc(var(--u)*16)}
  .data h3{font-size:calc(var(--u)*19)}
  .data p{font-size:calc(var(--u)*13)}
  .data__preco{font-size:calc(var(--u)*20)}
  .datas__lista{padding:calc(var(--u)*22) calc(var(--u)*20)}
  .sobre{padding:calc(var(--u)*70) calc(var(--u)*18);gap:calc(var(--u)*30)}
  .sobre__fotos{width:100%;height:calc(var(--u)*380)}
  .polaroid{width:calc(var(--u)*190);padding:calc(var(--u)*8) calc(var(--u)*8) 0}
  .polaroid figcaption{font-size:calc(var(--u)*18);padding:calc(var(--u)*4) 0 calc(var(--u)*6)}
  .p1{left:0;top:calc(var(--u)*20)}
  .p2{left:auto;right:0;top:0}
  .p3{left:calc(var(--u)*80);top:calc(var(--u)*150)}
  .sobre__txt h2{font-size:calc(var(--u)*34)}
  .sobre__txt p{font-size:calc(var(--u)*15.5)}
  .sobre__nums{gap:calc(var(--u)*24)}
  .sobre__nums b{font-size:calc(var(--u)*30)}
  .depo{padding:0 calc(var(--u)*14) calc(var(--u)*70);gap:calc(var(--u)*16)}
  .depo__card{padding:calc(var(--u)*20)}
  .depo__card p{font-size:calc(var(--u)*15.5)}
  .visite{padding:calc(var(--u)*60) calc(var(--u)*18);gap:calc(var(--u)*30)}
  .visite__mapa{min-height:calc(var(--u)*320);border-radius:calc(var(--u)*20)}
  .visite__btns{flex-direction:column}
  .rodape{padding:calc(var(--u)*50) calc(var(--u)*18) calc(var(--u)*100)}
  .rodape__grade{grid-template-columns:1fr;gap:calc(var(--u)*28)}
  .wa-flutua{right:calc(var(--u)*16);bottom:calc(var(--u)*16);width:calc(var(--u)*56);height:calc(var(--u)*56)}
  .wa-flutua svg{width:calc(var(--u)*30);height:calc(var(--u)*30)}
  body.tem-sacola .wa-flutua{bottom:calc(var(--u)*86)}
  .barra-sacola{display:flex}
  .modal{padding:0;align-items:end}
  .modal__caixa{width:100%;max-height:92vh;border-radius:calc(var(--u)*24) calc(var(--u)*24) 0 0}
  .modal__img img{max-height:calc(var(--u)*240)}
  .modal__corpo{padding:calc(var(--u)*22) calc(var(--u)*18) calc(var(--u)*18)}
  .modal__corpo h3{font-size:calc(var(--u)*26)}
  .sacola__painel{width:100%}
  .sacola__topo{padding:calc(var(--u)*18) calc(var(--u)*18) calc(var(--u)*8)}
  .passos{padding:calc(var(--u)*4) calc(var(--u)*18) calc(var(--u)*12)}
  .sacola__itens,.finalizar{padding:calc(var(--u)*6) calc(var(--u)*18) calc(var(--u)*16)}
  .sacola__pe{padding:calc(var(--u)*14) calc(var(--u)*18) calc(var(--u)*18)}
  .pags span{padding:0 calc(var(--u)*8);font-size:calc(var(--u)*13.5)}
  .toast{bottom:calc(var(--u)*90);font-size:calc(var(--u)*14)}
}

@media (max-width:999px){:root{--u:calc(100vw / 820)}}
@media (max-width:639px){:root{--u:calc(100vw / 390)}}

/* ---------- ajustes pós-captura ---------- */
.rodape__marca img,.topo__logo img,.sacola__vazia img{height:auto}
.visite__mapa{position:relative}
.visite__mapa iframe{position:absolute;inset:0}
.combo__pe{flex-direction:column;align-items:stretch;gap:calc(var(--u)*14)}
.combo .preco{display:flex;align-items:baseline;gap:calc(var(--u)*8);font-size:calc(var(--u)*34)}
.combo .preco small{display:inline;margin:0}
.combo .btn{width:100%}
.hero__prova span{white-space:nowrap}
.p2{left:calc(var(--u)*270)}
.p3{left:calc(var(--u)*130);top:calc(var(--u)*250)}
@media (max-width:639px){.p2{left:auto}.p3{left:calc(var(--u)*80);top:calc(var(--u)*150)}.combo .preco{font-size:calc(var(--u)*28)}}
