/* App AuMiau: área do cliente (PWA). Coluna central de 480px, pensada primeiro para o celular.
   Mesma família da página de vendas e da calculadora: creme, pêssego, menta e chocolate;
   Fredoka nos títulos e Nunito no texto. Tema único e claro, de propósito. */
:root{
  color-scheme: light;
  --creme:#FFF6EC;
  --creme-escuro:#F7E9DA;
  --papel:#FFFFFF;
  --pessego:#FF8A3D;
  --pessego-forte:#E4691C;   /* fundo de botão com texto branco */
  --pessego-texto:#B9520F;   /* texto pêssego sobre fundo claro (contraste) */
  --pessego-claro:#FFE9D8;
  --menta:#3FAE84;
  --menta-forte:#2A8F69;     /* fundo de botão com texto branco (contraste melhor que o menta puro) */
  --menta-escura:#2F7F60;
  --menta-claro:#E3F4EC;
  --amarelo:#F2B84B;
  --amarelo-claro:#FFF1CC;
  --amarelo-texto:#8A5A0B;
  --chocolate:#5A3624;
  --chocolate-suave:#8A6A58;
  --linha:#F1DFCF;
  --erro:#C2410C;
  --f-display:"Fredoka","Nunito",ui-rounded,system-ui,sans-serif;
  --f-texto:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:22px;
  --sombra:0 2px 0 var(--linha),0 12px 30px rgba(90,54,36,.07);
  --sat:env(safe-area-inset-top,0px);
  --sab:env(safe-area-inset-bottom,0px);
  --sal:env(safe-area-inset-left,0px);
  --sar:env(safe-area-inset-right,0px);
  --abas-h:70px;
  --aviso-h:0px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:90px;scroll-padding-bottom:calc(var(--abas-h) + var(--aviso-h) + 24px)}
body{
  margin:0;min-height:100vh;min-height:100dvh;
  background:var(--creme);color:var(--chocolate);
  font-family:var(--f-texto);font-size:16.5px;line-height:1.5;
  overflow-x:hidden;-webkit-tap-highlight-color:transparent;
}
h1,h2,h3,p,ol,ul,figure{margin:0}
ol,ul{padding:0;list-style:none}
img,svg{display:block}
a{color:inherit}
button{font:inherit;color:inherit}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Coluna ---------- */
.app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--creme);position:relative}
@media (min-width:600px){
  body{background:#F6E6D4 url("/img/bg-desktop.webp") center/cover fixed no-repeat}
  .app{box-shadow:0 0 0 1px var(--linha),0 30px 80px rgba(90,54,36,.14)}
}

/* ---------- Topo ---------- */
.topo{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;gap:10px;
  padding:calc(8px + var(--sat)) max(16px,var(--sar)) 8px max(16px,var(--sal));
  background:rgba(255,246,236,.9);-webkit-backdrop-filter:saturate(1.5) blur(12px);backdrop-filter:saturate(1.5) blur(12px);
  border-bottom:1px solid transparent;transition:border-color .2s;
}
.topo.rolou{border-bottom-color:var(--linha)}
.topo-logo{display:block;border-radius:10px;margin-right:auto}
.topo-logo img{height:40px;width:auto}
.topo-logo:focus-visible{outline:3px solid var(--pessego);outline-offset:2px}
.avatar{
  appearance:none;border:0;cursor:pointer;flex:none;
  width:44px;height:44px;border-radius:50%;
  background:var(--pessego-claro);color:var(--pessego-texto);
  font-family:var(--f-display);font-weight:600;font-size:19px;
  display:grid;place-items:center;box-shadow:0 0 0 2px #fff,0 3px 10px rgba(90,54,36,.12);
}
.avatar:focus-visible{outline:3px solid var(--pessego);outline-offset:3px}
.pilula-demo{
  flex:none;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--pessego-texto);background:var(--pessego-claro);border:1.5px dashed #FFC49A;
  padding:3px 9px;border-radius:999px;white-space:nowrap;
}

.faixa-offline{
  position:sticky;top:calc(60px + var(--sat));z-index:19;
  margin:0 max(16px,var(--sar)) 0 max(16px,var(--sal));
  display:flex;align-items:center;gap:10px;
  background:var(--chocolate);color:#fff;border-radius:14px;padding:9px 12px;font-size:14px;font-weight:700;line-height:1.3;
  box-shadow:0 6px 18px rgba(90,54,36,.2);
}
.faixa-offline svg{width:20px;height:20px;flex:none;fill:none;stroke:#FFD2B0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.faixa-offline button{margin-left:auto;flex:none;appearance:none;border:0;background:#fff;color:var(--chocolate);font-weight:800;font-size:13.5px;border-radius:999px;padding:0 12px;min-height:36px;cursor:pointer}

/* ---------- Área de conteúdo ---------- */
.tela{
  display:block;outline:none;
  padding:6px max(16px,var(--sar)) calc(var(--abas-h) + var(--sab) + var(--aviso-h) + 28px) max(16px,var(--sal));
}
body.sem-abas .tela{padding-bottom:calc(28px + var(--sab))}
.entra{animation:entra .28s cubic-bezier(.2,.8,.2,1)}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.splash{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;color:var(--chocolate-suave);font-weight:700}
.splash img{width:min(240px,64%);height:auto}
.patinha-gira{width:30px;height:30px;fill:var(--pessego);animation:gira 1.4s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.noscript{text-align:center;padding:40px 0;font-weight:700}

/* Títulos */
.titulo-pg{font-family:var(--f-display);font-weight:600;font-size:31px;line-height:1.1;margin:10px 0 4px;text-wrap:balance}
.titulo-pg:focus{outline:none}
.sub-pg{color:var(--chocolate-suave);font-size:16px;margin-bottom:18px;text-wrap:pretty}
.secao{margin-top:30px}
.secao-tit{font-family:var(--f-display);font-weight:600;font-size:22px;line-height:1.2;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.secao-tit svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--pessego);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.secao-sub{color:var(--chocolate-suave);font-size:15px;margin-bottom:14px}
.pilha{display:flex;flex-direction:column;gap:14px}

/* ---------- Cartões ---------- */
.cartao{background:var(--papel);border-radius:var(--r);padding:18px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:12px;position:relative}
.cartao h2,.cartao h3{font-family:var(--f-display);font-weight:600;line-height:1.2;text-wrap:balance}
.cartao h2{font-size:22px}
.cartao h3{font-size:19px}
.cartao p{text-wrap:pretty}
.kicker{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--chocolate-suave);line-height:1.2}
.kicker svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.texto-suave{color:var(--chocolate-suave);font-size:15px}
.nota{font-size:13px;line-height:1.45;color:var(--chocolate-suave)}

/* Saudação */
.ola{padding:6px 2px 4px;margin-bottom:16px}
.ola h1{font-family:var(--f-display);font-weight:600;font-size:clamp(28px,8vw,33px);line-height:1.1;text-wrap:balance}
.ola h1:focus{outline:none}
.ola p{color:var(--chocolate-suave);font-size:15.5px;margin-top:4px}
.ola p::first-letter{text-transform:uppercase}

/* Dica do dia */
.c-dica{background:var(--pessego-claro);box-shadow:none;display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}
.c-dica .bola{width:48px;height:48px;border-radius:16px;background:#fff;display:grid;place-items:center;box-shadow:0 3px 0 #FFD3B3}
.c-dica .bola svg{width:26px;height:26px;fill:none;stroke:var(--pessego-forte);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.c-dica .kicker{color:var(--pessego-texto);margin-bottom:4px}
.c-dica h2{font-size:20px;margin-bottom:4px}
.c-dica p{font-size:15.5px;line-height:1.5}

/* Hoje no cardápio */
.c-hoje{padding:0;overflow:hidden;gap:0}
.c-hoje .faixa{background:linear-gradient(135deg,var(--menta-claro),#F2FAF6);padding:16px 18px 14px;display:grid;grid-template-columns:1fr 92px;gap:10px;align-items:center}
.c-hoje .faixa .kicker{color:var(--menta-escura)}
.c-hoje .faixa h2{font-size:23px;margin-top:8px}
.c-hoje .faixa svg.pote{width:92px;height:auto}
.c-hoje .corpo{padding:14px 18px 18px;display:flex;flex-direction:column;gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800;line-height:1.2;padding:5px 10px;border-radius:999px;background:var(--creme);color:var(--chocolate-suave);border:1.5px solid var(--linha)}
.chip svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.chip.menta{background:#fff;border-color:#BFE6D5;color:var(--menta-escura)}
.meta-receita{display:flex;align-items:center;gap:10px}
.semana-mini{border-top:2px dashed var(--linha);padding-top:12px;display:grid;gap:4px}
.semana-mini .rot{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--chocolate-suave);margin-bottom:2px}
.mini-linha{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;gap:10px;align-items:center;min-height:48px;text-decoration:none;color:inherit;font-weight:700;font-size:15px;line-height:1.3;border-radius:12px}
.mini-linha > svg{width:18px;height:18px;stroke:#C9AE9C;stroke-width:2.4}
.mini-linha:active{background:#FFF9F3}
.mini-linha:focus-visible{outline:3px solid var(--pessego);outline-offset:2px}

/* Letras A/B/C do cardápio */
.letra{flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-family:var(--f-display);font-weight:600;font-size:20px;line-height:1}
.letra.A{background:var(--pessego-claro);color:var(--pessego-texto)}
.letra.B{background:var(--menta-claro);color:var(--menta-escura)}
.letra.C{background:var(--amarelo-claro);color:var(--amarelo-texto)}
.letra.p{width:30px;height:30px;border-radius:10px;font-size:16px}

/* Porção */
.c-porcao .numero{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;line-height:1}
.c-porcao .numero strong{font-family:var(--f-display);font-weight:600;font-size:52px;color:var(--menta-forte);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.c-porcao .numero span{font-family:var(--f-display);font-weight:500;font-size:20px}
.grade-porcao{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grade-porcao div{background:var(--creme);border-radius:16px;padding:10px 12px;display:grid;gap:1px}
.grade-porcao b{font-family:var(--f-display);font-weight:600;font-size:21px;line-height:1.15}
.grade-porcao span{font-size:13.5px;color:var(--chocolate-suave);line-height:1.3}
.medida{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;background:var(--pessego-claro);border-radius:16px;padding:10px 12px}
.medida svg{width:48px;height:48px}
.medida small{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--pessego-texto)}
.medida b{display:block;font-family:var(--f-display);font-weight:600;font-size:19px;line-height:1.2}
.c-chamada{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.c-chamada svg.rosto{width:64px;height:64px}
.c-chamada .acoes{grid-column:1/-1}

/* Transição */
.c-trans .dia-x{font-family:var(--f-display);font-weight:600;font-size:26px;line-height:1.1}
.c-trans .dia-x span{color:var(--chocolate-suave);font-weight:500;font-size:20px}
.bolinhas{display:flex;gap:6px}
.bolinhas i{flex:1;height:10px;border-radius:999px;background:var(--linha)}
.bolinhas i.feito{background:var(--menta)}
.bolinhas i.hoje{background:var(--pessego);box-shadow:0 0 0 3px rgba(255,138,61,.22)}
.mistura{display:grid;gap:6px}
.mistura .barra{height:16px;border-radius:999px;background:#FFE0C7;overflow:hidden;display:flex}
.mistura .barra span{display:block;height:100%;background:var(--menta);border-radius:999px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.mistura .leg{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:800;color:var(--chocolate-suave)}
.mistura .leg b{color:var(--menta-escura)}
.c-trans .texto{font-size:16px;font-weight:700}
.duas-acoes{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Atalhos */
.atalhos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.atalho{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;
  min-height:104px;padding:14px 6px 12px;border-radius:20px;background:#fff;box-shadow:var(--sombra);
  text-decoration:none;font-weight:800;font-size:14px;line-height:1.2;color:var(--chocolate);
  border:0;cursor:pointer;transition:transform .12s;
}
.atalho:active{transform:scale(.96)}
.atalho:focus-visible{outline:3px solid var(--pessego);outline-offset:3px}
.atalho .ic{width:46px;height:46px;border-radius:15px;display:grid;place-items:center}
.atalho .ic svg{width:25px;height:25px;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.atalho .ic.menta{background:var(--menta-claro)} .atalho .ic.menta svg{stroke:var(--menta-escura)}
.atalho .ic.pessego{background:var(--pessego-claro)} .atalho .ic.pessego svg{stroke:var(--pessego-forte)}
.atalho .ic.zap{background:#DDF7E6} .atalho .ic.zap svg{fill:#1A9E4B;stroke:none}

/* ---------- Botões ---------- */
.btn{
  appearance:none;border:0;font:inherit;font-family:var(--f-display);font-weight:600;font-size:18px;line-height:1.2;
  min-height:52px;padding:12px 22px;border-radius:999px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;text-align:center;
  transition:transform .12s,box-shadow .12s,opacity .15s,background .15s;
  -webkit-user-select:none;user-select:none;
}
.btn svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.btn:focus-visible{outline:3px solid var(--chocolate);outline-offset:3px}
.btn-principal{background:var(--menta-forte);color:#fff;box-shadow:0 4px 0 var(--menta-escura)}
.btn-principal:active{transform:translateY(3px);box-shadow:0 1px 0 var(--menta-escura)}
.btn-pessego{background:var(--pessego-forte);color:#fff;box-shadow:0 4px 0 #B9520F}
.btn-pessego:active{transform:translateY(3px);box-shadow:0 1px 0 #B9520F}
.btn-sec{background:#fff;color:var(--chocolate);box-shadow:inset 0 0 0 2px var(--linha)}
.btn-sec:active{transform:scale(.97)}
.btn-suave{background:var(--menta-claro);color:var(--menta-escura)}
.btn-suave:active{transform:scale(.97)}
.btn-zap{background:#1FA855;color:#fff;box-shadow:0 4px 0 #157A3D}
.btn-zap svg{fill:#fff;stroke:none}
.btn-zap:active{transform:translateY(3px);box-shadow:0 1px 0 #157A3D}
.btn-perigo{background:#fff;color:var(--erro);box-shadow:inset 0 0 0 2px #F5C9B0}
.btn-largo{width:100%}
.btn-peq{min-height:48px;font-size:16.5px;padding:8px 18px}
.btn[disabled],.btn.carregando{opacity:.62;pointer-events:none}
.btn.carregando::before{content:"";width:18px;height:18px;border-radius:50%;border:3px solid currentColor;border-right-color:transparent;animation:gira .8s linear infinite}
.link-btn{
  appearance:none;background:none;border:0;cursor:pointer;
  font-weight:800;font-size:15.5px;color:var(--chocolate);text-decoration:underline;text-underline-offset:3px;
  min-height:48px;padding:8px 10px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
.link-btn:focus-visible{outline:3px solid var(--pessego);outline-offset:2px}
.link-btn[disabled]{color:var(--chocolate-suave);text-decoration:none;cursor:default}
.link-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.acoes{display:flex;flex-direction:column;gap:10px}

/* ---------- Segmentado e filtros ---------- */
.seg{display:flex;gap:4px;background:var(--creme-escuro);padding:4px;border-radius:999px;margin-bottom:16px}
.seg button{
  flex:1;min-width:0;appearance:none;border:0;background:none;cursor:pointer;min-height:46px;border-radius:999px;padding:6px 4px;
  font-family:var(--f-display);font-weight:600;font-size:15.5px;color:var(--chocolate-suave);white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,color .15s,box-shadow .15s;
}
.seg button svg{width:24px;height:24px}
.seg button[aria-pressed="true"]{background:#fff;color:var(--chocolate);box-shadow:0 2px 8px rgba(90,54,36,.12)}
.seg button:focus-visible{outline:3px solid var(--pessego);outline-offset:1px}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px}
.filtro{
  appearance:none;cursor:pointer;min-height:44px;padding:6px 16px;border-radius:999px;
  background:#fff;border:2px solid var(--linha);font-weight:800;font-size:14.5px;color:var(--chocolate-suave);
}
.filtro[aria-pressed="true"]{background:var(--chocolate);border-color:var(--chocolate);color:#fff}
.filtro:focus-visible{outline:3px solid var(--pessego);outline-offset:2px}

/* ---------- Cardápio ---------- */
.semana-receitas{padding:6px 0}
.dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:12px -4px 0}
.dia{appearance:none;border:0;background:none;padding:3px;min-height:76px;display:flex;cursor:pointer;text-decoration:none;color:inherit}
.dia .caixa{flex:1;border-radius:15px;background:var(--creme);border:2px solid var(--linha);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:transform .12s}
.dia:active .caixa{transform:scale(.94)}
.dia .d{font-size:11.5px;font-weight:800;color:var(--chocolate-suave);text-transform:uppercase;letter-spacing:.02em}
.dia .letra{width:30px;height:30px;border-radius:10px;font-size:16px}
.dia.hoje .caixa{border-color:var(--menta);background:#fff;box-shadow:0 0 0 3px rgba(63,174,132,.22)}
.dia.hoje .d{color:var(--menta-escura)}
.dia:focus-visible{outline:none}
.dia:focus-visible .caixa{outline:3px solid var(--pessego);outline-offset:1px}

/* ---------- Listas ---------- */
.lista{background:#fff;border-radius:var(--r);box-shadow:var(--sombra);overflow:hidden}
.linha{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:12px 14px;min-height:66px;text-decoration:none;color:inherit;
  border-top:1px solid var(--linha);background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;cursor:pointer;
  transition:background .12s;
}
.linha:first-child{border-top:0}
.linha:active{background:#FFF9F3}
.linha:focus-visible{outline:3px solid var(--pessego);outline-offset:-3px;border-radius:14px}
.linha b{display:block;font-family:var(--f-display);font-weight:600;font-size:17px;line-height:1.25}
.linha small{display:block;font-size:13.5px;color:var(--chocolate-suave);line-height:1.35;margin-top:2px}
.linha .chev{width:20px;height:20px;fill:none;stroke:#C9AE9C;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.num{flex:none;width:42px;height:42px;border-radius:13px;background:var(--creme);border:1.5px solid var(--linha);display:grid;place-items:center;font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--chocolate-suave);font-variant-numeric:tabular-nums}
.linha.hoje-linha .num{background:var(--menta-claro);border-color:#BFE6D5;color:var(--menta-escura)}
.tag-hoje{display:inline-block;vertical-align:2px;margin-left:6px;font-family:var(--f-texto);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--menta-forte);padding:2px 7px;border-radius:999px}
.vazio{padding:26px 18px;text-align:center;color:var(--chocolate-suave);font-weight:700}

.busca{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid var(--linha);border-radius:999px;padding:0 4px 0 16px;min-height:54px;transition:border-color .15s}
.busca:focus-within{border-color:var(--menta)}
.busca > svg{width:21px;height:21px;flex:none;fill:none;stroke:var(--chocolate-suave);stroke-width:2.3;stroke-linecap:round}
.busca input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:17px;color:var(--chocolate);padding:10px 4px;-webkit-appearance:none;appearance:none}
.busca input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.busca input::placeholder{color:#B59A88}
.busca .limpar{appearance:none;border:0;background:var(--creme);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none}
.busca .limpar svg{width:18px;height:18px;fill:none;stroke:var(--chocolate-suave);stroke-width:2.5;stroke-linecap:round}

/* Receitas de gato */
.rec-ilu{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--pessego-claro)}
.rec-ilu.petisco{background:var(--menta-claro)}
.rec-ilu svg{width:40px;height:auto}
.linha .resumo{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.linha .mini{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:12.5px;font-weight:800;color:var(--chocolate-suave)}
.linha .mini span{display:inline-flex;align-items:center;gap:4px}
.linha .mini svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}

/* Detalhe da receita */
.det-topo{display:flex;align-items:center;gap:10px;margin:6px 0 12px}
.voltar{
  appearance:none;border:0;cursor:pointer;flex:none;width:48px;height:48px;border-radius:50%;
  background:#fff;box-shadow:var(--sombra);display:grid;place-items:center;
}
.voltar svg{width:22px;height:22px;fill:none;stroke:var(--chocolate);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.voltar:focus-visible{outline:3px solid var(--pessego);outline-offset:2px}
.det-topo span{font-weight:800;font-size:14px;color:var(--chocolate-suave)}
.det-hero{border-radius:28px;background:linear-gradient(165deg,#FFE3CC 0%,#FFF1E3 55%,#FFF6EC 100%);padding:22px 18px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;overflow:hidden}
.det-hero.petisco{background:linear-gradient(165deg,#D6F0E4 0%,#EAF7F1 55%,#FFF6EC 100%)}
.det-hero svg.pote{width:118px;height:auto;filter:drop-shadow(0 10px 14px rgba(90,54,36,.14))}
.det-hero h1{font-family:var(--f-display);font-weight:600;font-size:27px;line-height:1.15;text-wrap:balance}
.det-hero h1:focus{outline:none}
.det-hero p{color:var(--chocolate-suave);font-size:16px;max-width:34ch;text-wrap:balance}
.det-hero .chips{justify-content:center}
.det-hero .chip{background:#fff}
.ingredientes{display:grid}
.ingredientes li{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:10px 0;border-top:1px dashed var(--linha);align-items:baseline}
.ingredientes li:first-child{border-top:0;padding-top:2px}
.ingredientes b{font-family:var(--f-display);font-weight:600;font-size:16.5px;color:var(--menta-escura)}
.passos{display:grid;gap:14px;counter-reset:passo}
.passos li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;counter-increment:passo;line-height:1.5}
.passos li::before{content:counter(passo);width:34px;height:34px;border-radius:50%;background:var(--menta-claro);color:var(--menta-escura);font-family:var(--f-display);font-weight:600;font-size:17px;display:grid;place-items:center}
.caixa-info{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;border-radius:20px;padding:14px 16px;font-size:15.5px;line-height:1.5}
.caixa-info .bola{width:40px;height:40px;border-radius:13px;background:#fff;display:grid;place-items:center}
.caixa-info .bola svg{width:22px;height:22px;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.caixa-info b{display:block;font-family:var(--f-display);font-weight:600;font-size:17px;margin-bottom:2px}
.caixa-info.dica{background:var(--pessego-claro)} .caixa-info.dica svg{stroke:var(--pessego-forte)}
.caixa-info.conserva{background:var(--menta-claro)} .caixa-info.conserva svg{stroke:var(--menta-escura)}
.caixa-info.vet{background:#fff;border:2px dashed var(--linha)} .caixa-info.vet svg{stroke:var(--chocolate-suave)}

/* ---------- Materiais ---------- */
.mat{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;text-decoration:none;color:inherit}
.mat + .mat{border-top:1px solid var(--linha);padding-top:14px}
.pdf{width:52px;height:60px;border-radius:12px;background:var(--pessego-claro);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative}
.pdf svg{width:26px;height:26px;fill:none;stroke:var(--pessego-forte);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pdf span{font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--pessego-texto)}
.mat b{display:block;font-family:var(--f-display);font-weight:600;font-size:17.5px;line-height:1.25}
.mat p{font-size:14.5px;color:var(--chocolate-suave);line-height:1.4;margin:3px 0 10px}
.mat .btn{min-height:48px;font-size:16px;padding:6px 18px}
.c-calc{background:var(--menta-claro);box-shadow:none;display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center}
.c-calc .bola{width:56px;height:56px;border-radius:18px;background:#fff;display:grid;place-items:center;box-shadow:0 3px 0 #C3E8D7}
.c-calc .bola svg{width:30px;height:30px;fill:none;stroke:var(--menta-escura);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.c-calc h3{font-size:19px}
.c-calc p{font-size:14.5px;color:var(--chocolate-suave);line-height:1.4}
.c-calc .btn{grid-column:1/-1}

.bloq{background:#fff;border-radius:var(--r);padding:14px;box-shadow:var(--sombra);display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center;border:2px dashed #FFCFAE}
.bloq-img{position:relative;width:88px;height:88px}
.bloq-img .moldura{width:88px;height:88px;border-radius:20px;overflow:hidden;background:var(--pessego-claro);display:grid;place-items:center}
.bloq-img img{width:100%;height:100%;object-fit:cover}
.bloq-img img.contem{object-fit:contain;padding:6px}
.cadeado{position:absolute;right:-6px;bottom:-6px;width:32px;height:32px;border-radius:50%;background:var(--chocolate);display:grid;place-items:center;border:3px solid #fff}
.cadeado svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.bloq b{display:block;font-family:var(--f-display);font-weight:600;font-size:18px;line-height:1.2}
.bloq p{font-size:14px;color:var(--chocolate-suave);line-height:1.4;margin-top:3px}
.bloq .preco{font-family:var(--f-display);font-weight:600;font-size:17px;color:var(--pessego-texto);margin-top:6px}
.bloq .btn{grid-column:1/-1}
.bloq .aguardando-tag{grid-column:1/-1;margin-bottom:-4px}

/* ---------- Formulários ---------- */
.form{display:flex;flex-direction:column;gap:20px}
.campo{display:grid;gap:8px}
.campo > label,.campo > legend,.rotulo{font-weight:800;font-size:15.5px;line-height:1.3;margin-bottom:0}
.campo > legend{margin-bottom:8px}
.campo .ajuda-campo{font-size:13.5px;color:var(--chocolate-suave);margin-top:-4px;line-height:1.35}
.entrada{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--linha);border-radius:16px;padding:0 16px;min-height:56px;transition:border-color .15s}
.entrada:focus-within{border-color:var(--menta)}
.entrada.invalida{border-color:var(--erro)}
.entrada > svg{width:21px;height:21px;flex:none;fill:none;stroke:var(--chocolate-suave);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.entrada input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:18px;color:var(--chocolate);padding:12px 0}
.entrada input::placeholder{color:#C2A794}
.entrada .un{font-family:var(--f-display);font-weight:600;font-size:18px;color:var(--chocolate-suave)}
.msg-erro{color:var(--erro);font-weight:700;font-size:14.5px;line-height:1.35}
.erro-caixa{background:#FFF1E8;border:2px solid #F9C9A8;color:var(--erro);font-weight:700;font-size:15px;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.erro-caixa .btn{align-self:flex-start}

.opcoes{display:grid;gap:8px}
.opcoes.duas{grid-template-columns:1fr 1fr}
.opcoes.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.op{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.op input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.op > span{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;
  min-height:54px;padding:8px 6px;border-radius:16px;border:2px solid var(--linha);background:#fff;
  font-family:var(--f-display);font-weight:600;font-size:17px;line-height:1.15;transition:border-color .15s,background .15s,transform .1s;
}
.op > span small{font-family:var(--f-texto);font-weight:700;font-size:12px;color:var(--chocolate-suave);line-height:1.2}
.op:active > span{transform:scale(.97)}
.op input:checked + span{border-color:var(--menta);background:var(--menta-claro);color:var(--menta-escura)}
.op input:checked + span small{color:var(--menta-escura)}
.op input:focus-visible + span{outline:3px solid var(--pessego);outline-offset:2px}
.op.grande > span{min-height:108px;gap:6px;font-size:19px}
.op.grande svg{width:58px;height:58px}
.op.linha-op > span{flex-direction:row;justify-content:flex-start;text-align:left;gap:12px;padding:12px 14px;min-height:64px}
.op.linha-op > span .txt{display:grid;gap:2px}
.op.linha-op > span small{font-size:13.5px}
.op.linha-op svg{width:34px;height:52px;flex:none}
.op.linha-op .marca{margin-left:auto;flex:none;width:26px;height:26px;border-radius:50%;border:2.5px solid #D4BBA8;background:#fff;display:grid;place-items:center}
.op.linha-op input:checked + span .marca{background:var(--menta);border-color:var(--menta)}
.op.linha-op input:checked + span .marca::after{content:"";width:7px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:translateY(-1px) rotate(45deg)}
.fieldset-erro .op > span{border-color:#F5C9B0}

/* Resumo do pet */
.pet-topo{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.pet-topo svg.rosto{width:64px;height:64px}
.pet-topo h2{font-size:24px}
.pet-topo p{font-size:14.5px;color:var(--chocolate-suave)}
.link-linha{appearance:none;background:none;border:0;padding:0;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:15.5px;color:var(--menta-escura);text-decoration:none;min-height:48px;align-self:flex-start;text-align:left}
.link-linha svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.link-linha:focus-visible{outline:3px solid var(--pessego);outline-offset:2px;border-radius:8px}

/* ---------- Ajuda ---------- */
.passo-a-passo{display:grid;gap:12px;counter-reset:pp}
.passo-a-passo li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;counter-increment:pp;font-size:15.5px;line-height:1.45}
.passo-a-passo li::before{content:counter(pp);width:32px;height:32px;border-radius:50%;background:var(--pessego-claro);color:var(--pessego-texto);font-family:var(--f-display);font-weight:600;font-size:16px;display:grid;place-items:center}
.ico-inline{display:inline-grid;place-items:center;vertical-align:-7px;width:28px;height:28px;border-radius:8px;background:#fff;border:1.5px solid var(--linha);margin:0 2px}
.ico-inline svg{width:18px;height:18px;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ico-inline.ios svg{stroke:#0A7AFF}
.ico-inline.cinza svg{stroke:#3C3C43}
.ico-inline.pontos svg{fill:#3C3C43;stroke:none}
.instalado-ok{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;background:var(--menta-claro);border-radius:18px;padding:12px 14px;font-weight:700}
.instalado-ok .bola{width:44px;height:44px;border-radius:50%;background:var(--menta-forte);display:grid;place-items:center}
.instalado-ok svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.estado-push{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px}
.estado-push i{width:10px;height:10px;border-radius:50%;background:#D4BBA8;flex:none}
.estado-push.on i{background:var(--menta);box-shadow:0 0 0 4px rgba(63,174,132,.2)}
.conta{display:grid;gap:2px;font-size:14.5px;color:var(--chocolate-suave)}
.conta b{color:var(--chocolate);overflow-wrap:anywhere}
.rodape-app{text-align:center;font-size:12.5px;color:var(--chocolate-suave);margin-top:26px;line-height:1.5}

/* ---------- Entrar ---------- */
.entrar{min-height:calc(100vh - 40px);min-height:calc(100dvh - 40px);display:flex;flex-direction:column;justify-content:center;gap:18px;padding:calc(16px + var(--sat)) 0 12px}
.entrar-logo{width:min(250px,70%);height:auto;margin:0 auto}
.entrar .cartao{padding:22px 18px;gap:16px}
.entrar h1{font-family:var(--f-display);font-weight:600;font-size:clamp(25px,7vw,28px);line-height:1.15;text-wrap:balance}
.entrar h1:focus{outline:none}
.entrar .sub{color:var(--chocolate-suave);font-size:16px;margin-top:-6px}
.entrar .sub b{color:var(--chocolate);overflow-wrap:anywhere}
.entrar-vantagens{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.entrar-ajuda{text-align:center;font-size:14.5px;color:var(--chocolate-suave);line-height:1.5;padding:0 8px}
.entrar-ajuda a{color:#1A8746;font-weight:800}
.entrar .pilula-demo{align-self:center}
.codigo{
  width:100%;font-family:var(--f-display);font-weight:600;font-size:36px;letter-spacing:.42em;text-indent:.42em;text-align:center;
  color:var(--chocolate);background:var(--creme);border:2.5px solid var(--linha);border-radius:20px;min-height:76px;padding:8px 0;
  font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s;
}
.codigo:focus{outline:none;border-color:var(--menta);background:#fff}
.codigo::placeholder{color:#E2CDBB;letter-spacing:.42em}
.codigo.invalida{border-color:var(--erro);animation:treme .35s}
@keyframes treme{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.voltar-link{align-self:flex-start;margin:-6px 0 -6px -10px;text-decoration:none;color:var(--chocolate-suave)}

/* ---------- Aviso de instalação ---------- */
.aviso-instalar{
  position:fixed;z-index:25;left:50%;transform:translateX(-50%);
  bottom:calc(var(--abas-h) + var(--sab) + 10px);
  width:calc(100% - 24px);max-width:456px;max-height:calc(100dvh - 160px);overflow-y:auto;
  background:#fff;border-radius:22px;padding:14px 14px 10px;
  box-shadow:0 14px 38px rgba(90,54,36,.22),0 0 0 2px var(--menta-claro);
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 12px;
  animation:sobe-aviso .38s cubic-bezier(.2,.8,.2,1);
}
@keyframes sobe-aviso{from{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%,0)}}
.aviso-instalar > img{width:52px;height:52px;border-radius:14px;box-shadow:0 0 0 1px var(--linha)}
.aviso-instalar h2{font-family:var(--f-display);font-weight:600;font-size:17.5px;line-height:1.25}
.aviso-instalar p,.aviso-instalar li{font-size:14.5px;line-height:1.45}
.aviso-instalar .passo-a-passo{grid-column:1/-1;gap:6px;margin-top:8px}
.aviso-instalar .passo-a-passo li{grid-template-columns:24px 1fr;gap:10px;font-size:14.5px;line-height:1.6}
.aviso-instalar .passo-a-passo li::before{width:24px;height:24px;font-size:13px;margin-top:1px}
.aviso-instalar .ico-inline{width:24px;height:24px;vertical-align:-6px;border-radius:7px}
.aviso-instalar .ico-inline svg{width:15px;height:15px}
.aviso-instalar .nota{margin-top:8px;background:var(--creme);border-radius:12px;padding:8px 10px}
.aviso-instalar .botoes{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:6px}
.aviso-instalar .btn{min-height:48px;font-size:16.5px;padding:8px 22px}
.aviso-fechar{position:absolute;top:6px;right:6px;appearance:none;border:0;background:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.aviso-fechar svg{width:18px;height:18px;fill:none;stroke:var(--chocolate-suave);stroke-width:2.5;stroke-linecap:round}
.aviso-instalar .txt{padding-right:24px}

/* ---------- Barra de abas ---------- */
.abas{
  position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:480px;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-top:1px solid var(--linha);box-shadow:0 -8px 26px rgba(90,54,36,.07);
  padding:6px max(6px,var(--sar)) calc(6px + var(--sab)) max(6px,var(--sal));
}
.aba{
  appearance:none;border:0;background:none;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:58px;padding:2px 0;
  font-size:11.5px;font-weight:800;letter-spacing:.01em;color:var(--chocolate-suave);line-height:1.1;
  -webkit-tap-highlight-color:transparent;
}
.aba .ic{width:58px;height:32px;border-radius:999px;display:grid;place-items:center;transition:background .2s,transform .15s}
.aba svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aba:active .ic{transform:scale(.92)}
.aba[aria-current="page"]{color:var(--menta-escura)}
.aba[aria-current="page"] .ic{background:var(--menta-claro)}
.aba[aria-current="page"] svg{stroke-width:2.3}
.aba:focus-visible{outline:none}
.aba:focus-visible .ic{outline:3px solid var(--pessego);outline-offset:1px}

/* ---------- Folha de baixo ---------- */
.folha-fundo{position:fixed;inset:0;z-index:50;background:rgba(58,34,22,.46);display:flex;align-items:flex-end;justify-content:center;animation:surge .2s ease}
.folha-fundo.saindo{animation:some .2s ease forwards}
@keyframes surge{from{opacity:0}}
@keyframes some{to{opacity:0}}
.folha{
  width:100%;max-width:480px;max-height:94vh;max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;
  background:var(--creme);border-radius:28px 28px 0 0;position:relative;outline:none;
  padding:10px max(18px,var(--sar)) calc(20px + var(--sab)) max(18px,var(--sal));
  box-shadow:0 -12px 40px rgba(0,0,0,.18);animation:sobe .3s cubic-bezier(.2,.8,.2,1);
  display:flex;flex-direction:column;gap:14px;
}
.folha-fundo.saindo .folha{animation:desce .2s ease forwards}
@keyframes sobe{from{transform:translateY(100%)}}
@keyframes desce{to{transform:translateY(100%)}}
.alca{width:44px;height:5px;border-radius:9px;background:#E3CDBA;margin:0 auto 2px;flex:none}
.folha-fechar{position:absolute;top:8px;right:max(8px,var(--sar));appearance:none;border:0;background:#fff;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(90,54,36,.12)}
.folha-fechar svg{width:18px;height:18px;fill:none;stroke:var(--chocolate);stroke-width:2.6;stroke-linecap:round}
.folha-fechar:focus-visible{outline:3px solid var(--pessego);outline-offset:2px}
.folha h2{font-family:var(--f-display);font-weight:600;font-size:24px;line-height:1.2;text-align:center;text-wrap:balance;padding:0 40px}
.folha h2:focus{outline:none}
.folha-img{width:140px;height:140px;border-radius:30px;overflow:hidden;background:var(--pessego-claro);margin:4px auto 0;display:grid;place-items:center;box-shadow:0 10px 24px rgba(90,54,36,.12)}
.folha-img img{width:100%;height:100%;object-fit:cover}
.folha-img img.contem{object-fit:contain;padding:8px}
.folha-desc{text-align:center;color:var(--chocolate-suave);font-size:16px;text-wrap:balance}
.folha-preco{text-align:center;font-family:var(--f-display);font-weight:600;font-size:40px;color:var(--menta-forte);line-height:1}
.folha-preco small{display:block;font-family:var(--f-texto);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--chocolate-suave);margin-bottom:6px}
.vantagens{display:grid;gap:8px;background:#fff;border-radius:18px;padding:14px 16px}
.vantagens li{display:grid;grid-template-columns:24px 1fr;gap:10px;font-size:15px;line-height:1.4}
.vantagens li svg{width:22px;height:22px;fill:none;stroke:var(--menta-forte);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.processadora{font-size:11.5px;line-height:1.45;color:var(--chocolate-suave);text-align:center}

/* Pix */
.pix{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.pix .valor{font-family:var(--f-display);font-weight:600;font-size:32px;color:var(--menta-forte);font-variant-numeric:tabular-nums;line-height:1}
.qr{background:#fff;padding:12px;border-radius:20px;border:3px solid var(--menta-claro);width:224px;height:224px;display:grid;place-items:center;color:var(--chocolate-suave);font-weight:700;font-size:14px}
.qr img,.qr canvas{width:196px!important;height:196px!important}
.copia{width:100%;display:grid;gap:10px}
.copia code{display:block;font-size:12px;line-height:1.4;word-break:break-all;background:#fff;border:2px dashed var(--linha);border-radius:14px;padding:10px 12px;color:var(--chocolate-suave);text-align:left;-webkit-user-select:all;user-select:all;max-height:84px;overflow:auto}
.aguardando{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;color:var(--chocolate-suave);font-size:15.5px;background:#fff;border-radius:999px;padding:8px 16px}
.aguardando .patinha-gira{width:22px;height:22px}
.passos-pix{display:grid;gap:8px;font-size:14.5px;color:var(--chocolate-suave);text-align:left;width:100%;counter-reset:px}
.passos-pix li{display:grid;grid-template-columns:24px 1fr;gap:8px;counter-increment:px;line-height:1.4}
.passos-pix li::before{content:counter(px);width:22px;height:22px;border-radius:50%;background:var(--menta-claro);color:var(--menta-escura);font-weight:800;font-size:12px;display:grid;place-items:center}
.pago{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:10px 0 4px}
.pago .selo{width:96px;height:96px;border-radius:50%;background:var(--menta-forte);display:grid;place-items:center;box-shadow:0 0 0 10px var(--menta-claro);animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.pago .selo svg{width:50px;height:50px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.pago h2{color:var(--menta-escura);font-size:30px;padding:0}
.pago p{color:var(--chocolate-suave);font-size:16px;text-wrap:balance}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.aguardando-tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--pessego-texto);background:var(--pessego-claro);border-radius:999px;padding:4px 10px;align-self:flex-start;justify-self:start}

/* Confete */
.confete{position:fixed;inset:0;pointer-events:none;z-index:80;overflow:hidden}
.confete i{position:absolute;top:-16px;width:9px;height:14px;border-radius:3px;opacity:.95;animation:cai var(--d,2.2s) cubic-bezier(.25,.6,.5,1) var(--atraso,0s) forwards}
.confete i.bola{width:10px;height:10px;border-radius:50%}
@keyframes cai{
  0%{transform:translate3d(0,0,0) rotate(0)}
  100%{transform:translate3d(var(--x,0px),105vh,0) rotate(var(--r,540deg));opacity:.9}
}

/* Toast */
.toast{
  position:fixed;z-index:90;left:50%;top:calc(12px + var(--sat));transform:translateX(-50%);
  width:max-content;max-width:calc(100% - 32px);
  background:var(--chocolate);color:#fff;border-radius:18px;padding:10px 10px 10px 16px;
  font-weight:700;font-size:15px;line-height:1.35;box-shadow:0 12px 30px rgba(58,34,22,.28);
  display:flex;align-items:center;gap:12px;animation:desce-toast .3s cubic-bezier(.2,.8,.2,1);
}
.toast.so-texto{padding-right:16px}
.toast button{flex:none;appearance:none;border:0;background:#fff;color:var(--chocolate);font-weight:800;font-size:14px;border-radius:999px;min-height:40px;padding:0 14px;cursor:pointer}
@keyframes desce-toast{from{opacity:0;transform:translate(-50%,-14px)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .patinha-gira,.btn.carregando::before{animation:none!important}
}

/* ---------- Oferta "receba primeiro, pague depois": pagamento aguardando ---------- */
.c-pendente{background:var(--pessego-claro);box-shadow:0 2px 0 #FFD2B0;border:2px solid #FFD2B0}
.c-pendente-topo{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center}
.c-pendente-topo img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #fff}
.c-pendente .kicker{color:var(--pessego-texto)}
.c-pendente h2{font-size:21px;margin-top:2px}
.bloq.travado{border-style:solid;border-color:var(--linha)}
.bloq.travado .bloq-img img{filter:blur(7px) saturate(.8);transform:scale(1.15)}
.bloq.travado .borrado{filter:blur(4px);user-select:none}

/* Chat no estilo WhatsApp com a atendente da AuMiau */
.chat-fundo{position:fixed;inset:0;z-index:60;background:rgba(20,30,26,.55);display:flex;align-items:flex-end;justify-content:center;animation:surge .2s ease}
@media (min-width:560px){.chat-fundo{align-items:center;padding:16px}}
.chat{width:100%;max-width:440px;height:min(640px,88dvh);background:#EFEAE2;border-radius:24px 24px 0 0;display:flex;flex-direction:column;overflow:hidden;outline:none;animation:sobe .28s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 40px rgba(0,0,0,.25)}
@media (min-width:560px){.chat{border-radius:24px}}
.chat-topo{display:grid;grid-template-columns:44px 1fr 40px;gap:10px;align-items:center;padding:12px 12px 12px 14px;background:#008069;color:#fff}
.chat-topo img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#fff}
.chat-topo b{display:block;font-family:var(--f-texto);font-weight:800;font-size:17px;line-height:1.2}
.chat-topo span{display:block;font-size:13px;opacity:.85}
.chat-fechar{appearance:none;border:0;background:rgba(255,255,255,.14);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff}
.chat-fechar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.chat-corpo{flex:1;overflow-y:auto;padding:14px 12px 10px;display:flex;flex-direction:column;gap:6px;overscroll-behavior:contain}
.chat-dia{align-self:center;font-size:12.5px;font-weight:700;color:#54656F;background:#fff;border-radius:8px;padding:4px 10px;margin-bottom:6px;box-shadow:0 1px .5px rgba(0,0,0,.13)}
.chat .msg{align-self:flex-start;max-width:86%;background:#fff;border-radius:0 12px 12px 12px;padding:7px 10px 6px;box-shadow:0 1px .5px rgba(0,0,0,.13);position:relative;animation:pop .22s ease-out}
.chat .msg + .msg{border-radius:12px}
.chat .msg p{font-size:15.5px;line-height:1.4;color:#111B21}
.chat .msg .hora{display:flex;justify-content:flex-end;align-items:center;gap:3px;font-size:11px;color:#667781;margin-top:2px}
.chat .msg .hora svg{width:16px;height:11px;color:#53BDEB}
.chat .digitando{display:flex;gap:4px;padding:12px 14px}
.chat .digitando i{width:7px;height:7px;border-radius:50%;background:#8696A0;animation:pula 1s infinite ease-in-out}
.chat .digitando i:nth-child(2){animation-delay:.15s}
.chat .digitando i:nth-child(3){animation-delay:.3s}
@keyframes pula{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.chat-acoes{padding:12px 14px calc(14px + var(--sab));background:#F0F2F5;display:flex;flex-direction:column;gap:6px;align-items:stretch}
.chat-acoes .link-linha{align-self:center;justify-content:center}
