/* ===== Receitas do Chef TEA — App PWA (tema menta) ===== */
:root{
  --menta:#DCEEE1; --menta2:#EAF5ED; --verde:#5AA17C; --verde-esc:#3F8E6E; --verde-tx:#2F6B52;
  --creme:#FBFDFB; --areia:#E4EFE7; --texto:#2C3A33; --suave:#7B8A82;
  --branco:#fff; --amarelo:#F2C14E; --amarelo-bg:#FBF1DC;
  --pe:#F4C9A8; --az:#BBD8E8; --ve:#C7E6CE; --li:#D8CCE8; --ro:#F4C4C4;
  --c-cafe:#E0A53B; --c-lanche:#5E9B61; --c-almoco:#5189AB; --c-jantar:#9476AE;
  --sombra:0 6px 18px rgba(60,90,70,.10); --sombra2:0 14px 34px rgba(40,70,52,.18);
  --raio:20px;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{font-family:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;color:var(--texto);
  background:#cfe3d5;display:flex;justify-content:center}
#app{width:100%;max-width:480px;background:var(--menta);min-height:100vh;position:relative;
  display:flex;flex-direction:column;box-shadow:0 0 60px rgba(0,0,0,.10);overflow:hidden}
.hidden{display:none !important}
#main{display:flex;flex-direction:column;flex:1;min-height:100vh}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---- topbar ---- */
.topbar{position:sticky;top:0;z-index:30;background:var(--menta);padding:14px 16px 8px}
.topbar .row{display:flex;align-items:center;justify-content:space-between}
.greet{font-size:12.5px;color:var(--suave)}
.brand{font-size:19px;font-weight:800;letter-spacing:-.4px;color:var(--verde-tx);line-height:1.1}
.brand span{color:var(--verde)}
.avatar{width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:linear-gradient(135deg,#6FB98F,#3F8E6E);
  color:#fff;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--sombra)}
.search{margin-top:12px;display:flex;align-items:center;gap:9px;background:var(--branco);
  border:1.5px solid var(--areia);border-radius:16px;padding:12px 14px;box-shadow:var(--sombra)}
.search input{border:0;outline:0;flex:1;font-size:14px;background:transparent;color:var(--texto)}

.screen{flex:1;overflow-y:auto;padding-bottom:92px}
.screen::-webkit-scrollbar{width:0}
.sec-tit{padding:18px 16px 10px;font-size:16px;font-weight:800;display:flex;justify-content:space-between;align-items:center;color:var(--verde-tx)}
.sec-tit small{color:var(--suave);font-weight:600;font-size:12px}
.link{color:var(--verde);font-weight:700;font-size:12.5px;cursor:pointer;border:0;background:none}

/* aviso */
.aviso{background:var(--amarelo-bg);border:1px solid #EBD9A8;border-radius:14px;padding:11px 14px;margin:10px 16px 2px;
  font-size:11px;color:#8a6d2a;line-height:1.5}
.aviso b{color:#7a5e1f}

/* ---- pílulas de categoria ---- */
.pills{display:flex;gap:10px;padding:12px 16px 4px;overflow-x:auto}
.pills::-webkit-scrollbar{height:0}
.pill{flex:none;width:96px;background:var(--branco);border:0;border-radius:16px;padding:12px 8px;cursor:pointer;
  box-shadow:var(--sombra);display:flex;flex-direction:column;align-items:center;gap:7px;transition:transform .12s}
.pill:active{transform:scale(.96)}
.pill .pic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.pill span{font-size:11px;font-weight:700;color:var(--texto);text-align:center;line-height:1.2}
.pill.on{outline:2.5px solid var(--verde);outline-offset:1px}
.pb-cafe{background:#FBEFD3}.pb-lanche{background:#E1F0E3}.pb-almoco{background:#DDEAF3}.pb-jantar{background:#EEE6F4}.pb-perfil{background:#FBE3DF}

/* ---- banner cozinha amiga ---- */
.banner{margin:10px 16px 2px;background:linear-gradient(120deg,#6FB98F,#3F8E6E);border-radius:18px;
  padding:15px 16px;display:flex;align-items:center;gap:13px;cursor:pointer;color:#fff;box-shadow:var(--sombra);transition:transform .12s}
.banner:active{transform:scale(.98)}
.banner .bic{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex:none}
.banner h4{font-size:15px;font-weight:800}
.banner p{font-size:11.5px;opacity:.92;margin-top:2px;line-height:1.35}
.banner .chev{margin-left:auto;opacity:.9}

/* ---- grade de cards ---- */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:8px 16px}
.gcard{background:var(--branco);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);cursor:pointer;
  display:flex;flex-direction:column;transition:transform .12s;animation:fadeUp .3s ease both}
.gcard:active{transform:scale(.97)}
.gthumb{height:112px;position:relative;display:flex;align-items:center;justify-content:center;font-size:46px}
.gthumb .heart{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);
  border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#cbb9a0;box-shadow:var(--sombra)}
.gthumb .heart.on{color:var(--amarelo)}
.gthumb .time{position:absolute;bottom:8px;left:8px;background:rgba(255,255,255,.95);border-radius:9px;padding:3px 8px;
  font-size:10.5px;font-weight:700;color:var(--texto);display:flex;align-items:center;gap:4px}
.gthumb .pmatch{position:absolute;bottom:8px;right:8px;background:var(--verde-esc);color:#fff;border-radius:9px;padding:3px 7px;font-size:9.5px;font-weight:800;display:flex;align-items:center;gap:3px;max-width:72px}
.gthumb .pmatch svg{flex:none}
.gbody{padding:10px 11px 12px}
.gbody h4{font-size:13.5px;font-weight:800;line-height:1.22;color:var(--texto);min-height:33px}
.gbody .sub{font-size:11px;color:var(--suave);margin-top:2px}
.gbadges{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
.bdg{font-size:9.5px;font-weight:800;padding:3px 7px;border-radius:7px;display:flex;align-items:center;gap:3px}
.bdg.tex{background:var(--ve);color:var(--verde-tx)}
.bdg.meal{background:#EAF0F4;color:#4f6f86}

.empty{text-align:center;padding:50px 24px;color:var(--suave);font-size:13.5px;line-height:1.6}
.empty svg{margin-bottom:10px;color:#bcd0c2}

/* ---- chips textura ---- */
.chips{display:flex;gap:8px;padding:6px 16px 2px;overflow-x:auto}
.chips::-webkit-scrollbar{height:0}
.chip{flex:none;border:1.5px solid var(--areia);background:var(--branco);color:var(--suave);
  border-radius:20px;padding:7px 14px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.15s}
.chip.on{background:var(--verde);border-color:var(--verde);color:#fff}

/* ---- detalhe ---- */
.detail{position:absolute;inset:0;background:var(--menta);z-index:60;transform:translateX(100%);
  transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.detail.open{transform:translateX(0)}
.det-hero{height:200px;display:flex;align-items:center;justify-content:center;position:relative;flex:none;font-size:96px}
.det-top{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between}
.round-btn{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);border:0;display:flex;
  align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--sombra);color:var(--texto)}
.round-btn.on{color:var(--amarelo)}
.det-body{flex:1;overflow-y:auto;background:var(--creme);border-radius:24px 24px 0 0;margin-top:-22px;padding:22px 18px 110px}
.det-body::-webkit-scrollbar{width:0}
.det-cat{font-size:11px;font-weight:800;color:var(--verde);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.det-body h2{font-size:22px;font-weight:800;line-height:1.2;color:var(--texto)}
.det-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.tag{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:9px;background:var(--areia);color:var(--suave)}
.tag.tx{background:var(--ve);color:var(--verde-tx)}
.tag.profile-match-tag{display:inline-flex;align-items:center;gap:4px;background:#FBE3DF;color:#8A5148}
.infogrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:6px 0 18px}
.infobox{background:var(--menta2);border-radius:14px;padding:11px;text-align:center}
.infobox b{display:block;font-size:16px;color:var(--verde-esc)}
.infobox span{font-size:10px;color:var(--suave);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.block{margin-bottom:20px}
.block h3{font-size:14px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:7px;color:var(--texto)}
.block h3::before{content:"";width:4px;height:16px;background:var(--verde);border-radius:3px}
.ing{list-style:none}
.ing li{padding:9px 0;border-bottom:1px solid var(--areia);font-size:13.5px;display:flex;gap:9px;align-items:flex-start;justify-content:space-between}
.ing li .txt{display:flex;gap:9px;align-items:flex-start}
.ing li .txt::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amarelo);margin-top:6px;flex:none}
.add-ing{border:0;background:var(--ve);color:var(--verde-tx);font-size:11px;font-weight:700;border-radius:8px;padding:3px 9px;cursor:pointer;flex:none;white-space:nowrap}
.step{display:flex;gap:11px;margin-bottom:13px}
.step .n{width:26px;height:26px;border-radius:50%;background:var(--verde);color:#fff;font-size:12px;font-weight:700;
  display:flex;align-items:center;justify-content:center;flex:none}
.step p{font-size:13.5px;line-height:1.5;padding-top:2px}
.callout{background:var(--menta2);border-left:4px solid var(--verde);border-radius:0 12px 12px 0;padding:13px 15px;margin-bottom:14px}
.callout b{font-size:11px;color:var(--verde-tx);text-transform:uppercase;letter-spacing:.5px}
.callout p{font-size:13px;margin-top:5px;line-height:1.5}
.callout.nutri{background:var(--amarelo-bg);border-color:var(--amarelo)}
.callout.nutri b{color:#B5852A}

/* ---- nav ---- */
nav{position:absolute;bottom:0;left:0;right:0;height:74px;background:var(--branco);display:flex;
  border-top:1px solid var(--areia);padding-bottom:env(safe-area-inset-bottom);z-index:40}
.navbtn{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;cursor:pointer;color:var(--suave);font-size:10.5px;font-weight:700}
.navbtn.on{color:var(--verde-esc)}
.navbtn .badge{position:absolute;top:12px;margin-left:20px;background:var(--amarelo);color:#5a4410;font-size:9px;
  font-weight:800;border-radius:10px;padding:0 5px;min-width:15px;text-align:center}

/* ---- perfil sheet ---- */
.sheet{position:absolute;inset:0;background:var(--menta);z-index:70;transform:translateY(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.sheet.open{transform:translateY(0)}
.sheet-head{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--areia);background:var(--menta)}
.sheet-head h2{font-size:18px;font-weight:800;color:var(--verde-tx)}
.sheet-body{flex:1;overflow-y:auto;padding:18px 18px 40px}
.sheet-body::-webkit-scrollbar{width:0}
.field-lbl{font-size:13px;font-weight:800;margin:16px 0 4px}
.field-help{font-size:11.5px;color:var(--suave);margin-bottom:10px;line-height:1.5}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{border:1.5px solid var(--areia);background:var(--branco);color:var(--texto);border-radius:12px;
  padding:9px 13px;font-size:12.5px;font-weight:700;cursor:pointer;transition:.15s}
.opt.on{background:var(--verde);border-color:var(--verde);color:#fff}
.btn{width:100%;border:0;border-radius:15px;padding:15px;font-size:15px;font-weight:800;cursor:pointer;margin-top:22px}
.btn-primary{background:var(--verde-esc);color:#fff}
.btn-ghost{background:var(--areia);color:var(--texto);margin-top:10px}

/* lista de compras */
.list{padding:8px 16px}
.shop-item{display:flex;align-items:center;gap:11px;background:var(--branco);border-radius:13px;padding:12px;margin-bottom:8px;box-shadow:var(--sombra)}
.shop-item.checked{opacity:.55}
.shop-item.checked .si-txt{text-decoration:line-through}
.shop-check{width:24px;height:24px;border-radius:7px;border:2px solid var(--verde);flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff}
.shop-check.on{background:var(--verde)}
.si-txt{flex:1;font-size:13.5px}
.si-del{border:0;background:none;cursor:pointer;color:#c2d2c6}

/* ---- login ---- */
.gate{position:absolute;inset:0;z-index:90;background:linear-gradient(165deg,#6FB98F,#357C5E);
  display:flex;align-items:center;justify-content:center;padding:26px;color:#fff;overflow-y:auto}
.gate-inner{width:100%;max-width:340px;text-align:center;animation:fadeUp .4s ease both}
.glogo{width:124px;height:auto;min-height:104px;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.glogo img{width:124px;max-width:100%;height:auto;display:block;object-fit:contain}
.gate h1{font-size:27px;font-weight:800;margin-bottom:8px;line-height:1.15}
.gate>.gate-inner>p{font-size:13px;opacity:.92;line-height:1.55;margin-bottom:22px}
.gate-form{background:rgba(255,255,255,.12);border-radius:20px;padding:18px 16px;text-align:left}
.gfield{display:block;margin-bottom:12px}
.gfield span{font-size:12px;font-weight:700;opacity:.95;display:block;margin-bottom:5px}
.gfield input{width:100%;padding:13px;border-radius:13px;border:0;font-size:15px;background:#fff;color:var(--texto)}
.gate .btn-primary{background:var(--amarelo);color:#5a4410;margin-top:8px}
.gnote{font-size:11px;opacity:.8;margin-top:16px;line-height:1.5}

.toast{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);background:var(--texto);color:#fff;
  padding:11px 18px;border-radius:12px;font-size:13px;font-weight:600;z-index:100;box-shadow:var(--sombra2);opacity:0;transition:.3s;pointer-events:none;max-width:90%}
.toast.show{opacity:1}
@media(min-width:481px){#app{margin:0 auto}}

/* ---- logotipo header ---- */
.logo-head{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 16px 6px}
.logo-head .brand-logo-img{width:52px;height:52px;object-fit:contain;flex:none}
.logo-wm{font-size:23px;font-weight:800;color:var(--verde-tx);line-height:.95;letter-spacing:-.5px}
.logo-wm small{display:block;font-size:13.5px;font-weight:800;color:var(--verde);letter-spacing:.5px;margin-top:2px}
.det-intro{font-size:13px;color:var(--suave);line-height:1.55;margin:8px 0 4px}

/* ===== Revisão estratégica TEA — identidade e telas novas ===== */
.logo-wm small span{color:#F49A6B}
.quickchips{padding-top:10px}
.page-head{padding:18px 18px 10px}
.page-head h2{font-size:22px;font-weight:850;color:var(--verde-tx);letter-spacing:-.4px}
.page-head p{font-size:12.5px;color:var(--suave);line-height:1.55;margin-top:6px;max-width:390px}
.bdg.ok{background:#DFF3E7;color:#2F6B52}
.bdg.warn{background:#FFE4D8;color:#9A4C25}
.bdg.info{background:#E6EEF6;color:#476A85}
.detail-badges{margin:10px 0 12px}
.callout.restricao{background:#FFF2E8;border-left-color:#F49A6B}
.callout.restricao b{color:#A45D2C}
.callout.seguranca{background:#FFF7E6;border-left-color:#E0A53B}
.callout.seguranca b{color:#8C6427}
.callout.seguranca ul{margin:8px 0 0 16px;font-size:13px;line-height:1.5;color:#715423}
.callout.seguranca li{margin-bottom:4px}
.nutri-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-3px 0 18px}
.nutri-tags b{font-size:11px;color:#8C6427;text-transform:uppercase;letter-spacing:.5px}
.bdg.nutri-tag{background:#FBF1DC;color:#8C6427}

/* perfil sensorial como tela principal */
.profile-card{background:var(--branco);border:1px solid var(--areia);box-shadow:var(--sombra);border-radius:18px;margin:10px 16px;padding:15px}
.profile-card textarea{width:100%;min-height:82px;resize:vertical;border:1.5px solid var(--areia);border-radius:14px;padding:12px;font-family:inherit;font-size:13px;color:var(--texto);outline:none;background:#fff}
.profile-card textarea:focus{border-color:var(--verde)}
.color-opts .opt:nth-child(1){background:#FBF6EA}.color-opts .opt:nth-child(2){background:#FFF1C3}.color-opts .opt:nth-child(3){background:#FFE3A2}.color-opts .opt:nth-child(4){background:#FFE1C8}.color-opts .opt:nth-child(5){background:#E2F1DD}.color-opts .opt:nth-child(6){background:#F7D9E0}.color-opts .opt:nth-child(7){background:#E8D7C5}
.color-opts .opt.on{background:var(--verde);color:#fff}
.profile-actions{padding:0 16px 24px}
.profile-actions .btn{margin-top:12px}

/* passo a passo visual */
.visual-list{padding:6px 16px 24px;display:flex;flex-direction:column;gap:12px}
.visual-card{background:var(--branco);border-radius:18px;box-shadow:var(--sombra);display:flex;overflow:hidden;border:1px solid var(--areia)}
.vc-thumb{width:96px;min-height:130px;display:flex;align-items:center;justify-content:center;font-size:46px;flex:none}
.vc-body{padding:12px 12px 13px;flex:1;min-width:0}
.vc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.vc-top b{font-size:14px;line-height:1.25;color:var(--texto)}
.vc-top span{font-size:10.5px;font-weight:800;color:var(--verde-esc);background:var(--menta2);padding:4px 7px;border-radius:9px;white-space:nowrap}
.vc-tags{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0 8px}
.visual-card ol{padding-left:18px;color:var(--suave);font-size:12px;line-height:1.45;margin-bottom:10px}
.visual-card li{margin-bottom:4px}
.mini-btn{border:0;background:var(--verde-esc);color:#fff;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}

/* orientações */
.safe-card,.tips-card{background:var(--branco);border-radius:18px;box-shadow:var(--sombra);border:1px solid var(--areia);margin:10px 16px;padding:16px}
.safe-card{background:#FFF5E8;border-color:#EFD5AA;color:#7D5A24}
.safe-card b{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:#8C6427}
.safe-card p{font-size:12.5px;line-height:1.55;margin-top:6px}
.tips-card h3{font-size:17px;color:var(--verde-tx);margin-bottom:10px}
.tips-card.small{background:#FFF8E9;border-color:#F0D8A8}
.tip{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--areia);padding:11px 0}
.tip:first-of-type{border-top:0}
.tip b{font-size:13px;color:var(--texto);line-height:1.35}
.tip span{font-size:12px;color:var(--suave);line-height:1.45}
.tips-card .mini-btn{margin-top:6px;width:100%}

/* lista */
.si-del{font-size:22px;line-height:1;width:30px;height:30px;border-radius:10px;color:#94A39B}
.si-del:active{background:var(--areia)}

/* nav com 5 itens */
nav{height:80px}
.navbtn{font-size:9.5px;line-height:1.05;padding-top:4px;gap:4px}
.navbtn svg{width:21px;height:21px}
.screen{padding-bottom:100px}
.toast{bottom:102px}

@media(max-width:370px){
  .navbtn{font-size:8.6px}
  .pill{width:88px}
  .gbody h4{font-size:12.8px}
  .vc-thumb{width:82px}
}

/* ===== Correção 2 — layout igual ao mockup + nav fixa ===== */
html,body{height:100%;overflow:hidden;background:#eef6ef}
body{align-items:stretch}
#app{height:100dvh;min-height:100dvh;overflow:hidden;background:linear-gradient(180deg,#F7FBF8 0%,#EAF5ED 100%)}
#main{height:100dvh;min-height:100dvh;overflow:hidden;position:relative;background:#F7FBF8}
.topbar{display:none !important}
.screen{height:100%;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(112px + env(safe-area-inset-bottom));background:#F7FBF8}

nav{position:fixed !important;left:50% !important;right:auto !important;bottom:0 !important;transform:translateX(-50%);width:100%;max-width:480px;height:calc(78px + env(safe-area-inset-bottom));padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid #DDEAE1;box-shadow:0 -10px 28px rgba(41,82,61,.10);z-index:45}
.navbtn{border-radius:17px;font-size:9.4px;font-weight:750;color:#52625B;min-width:0;padding:7px 2px 5px;gap:4px}
.navbtn.on{background:#E2F3EA;color:#2F8A70}
.navbtn.on svg{stroke-width:2.4}
.navbtn .badge{top:7px;margin-left:24px}

.home-shell{padding-top:10px}
.home-top{display:flex;align-items:center;justify-content:center;position:relative;padding:0 14px 0}
.home-top .logo-head{padding:6px 48px 4px 8px;justify-content:flex-start;width:100%;gap:9px}
.home-top .logo-head .brand-logo-img{width:52px;height:52px}
.home-top .logo-wm{font-size:18.8px;line-height:.96;letter-spacing:-.35px}
.home-top .logo-wm small{font-size:13px;line-height:1.05;margin-top:0}
.header-ico{position:absolute;right:18px;top:13px;width:38px;height:38px;border:0;border-radius:14px;background:#F8FFFB;color:#2F6B52;box-shadow:var(--sombra);display:flex;align-items:center;justify-content:center}
.search.in-page{margin:10px 16px 8px;border-radius:18px;background:#fff;border:1px solid #E7ECE7;padding:12px 14px;box-shadow:0 8px 22px rgba(60,90,70,.08)}
.search.in-page input{font-size:14px;color:#23362D}
.quickchips{padding:5px 16px 8px;display:flex;flex-wrap:wrap;overflow:visible;gap:8px}
.quickchips .chip{border:0;color:#294038;font-weight:750;box-shadow:none;padding:8px 13px;border-radius:18px}
.quickchips .chip:nth-child(1){background:#BFE8D6}
.quickchips .chip:nth-child(2){background:#F2D1B4}
.quickchips .chip:nth-child(3){background:#D7EDCF}
.quickchips .chip:nth-child(4){background:#CDE8F5}
.quickchips .chip:nth-child(5){background:#FFE8BE}
.quickchips .chip:nth-child(n+6){background:#EEF2EF}
.quickchips .chip.on{background:#2F8A70;color:#fff}
.filter-group{padding:0 16px 4px}
.filter-label{font-size:11px;font-weight:850;color:var(--verde-tx);text-transform:uppercase;letter-spacing:.6px;margin:4px 0 2px}
.filter-group .chips{padding-left:0;padding-right:0}
.nutritionchips .chip{background:#F4E8C7}
.nutritionchips .chip:nth-child(2n){background:#DDEDF4}
.nutritionchips .chip:nth-child(3n){background:#E6EAD2}
.nutritionchips .chip.on{background:#2F8A70;color:#fff}

.banner.soft{margin:8px 16px 6px;background:linear-gradient(135deg,#DDF3EA,#BFEBDC);border:1px solid #A8DAC7;color:#133D35;box-shadow:0 10px 24px rgba(58,105,82,.12);padding:14px 15px;border-radius:19px}
.banner.soft .bic{background:#ECFFF7;color:#2F8A70;width:48px;height:48px;border-radius:16px}
.banner.soft h4{font-size:16px;color:#163C35}
.banner.soft p{font-size:12.5px;color:#3D655C;opacity:1}
.banner.soft .chev{color:#2F6B52}
.aviso.compact{font-size:10.5px;margin:12px 16px 18px;padding:10px 12px;border-radius:13px;background:#FFF8E7;color:#735B25}

.sec-tit{padding:16px 16px 8px;font-size:16.5px;color:#203A32}
.grid{gap:13px;padding:8px 16px 16px}
.gcard{border:1px solid #E6EEE8;border-radius:17px;box-shadow:0 8px 22px rgba(50,78,62,.09);overflow:hidden;background:#fff}
.gthumb{height:102px;font-size:52px;background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,0))}
.gthumb span:first-child{filter:drop-shadow(0 4px 4px rgba(0,0,0,.08))}
.gthumb .heart{top:7px;right:7px;color:#9cb4aa;background:rgba(255,255,255,.88)}
.gthumb .time{left:8px;bottom:7px;font-size:10px;padding:3px 7px}
.gbody{padding:9px 10px 11px}
.gbody h4{font-size:13.2px;min-height:34px;color:#20342E}
.gbody .sub{font-size:10.8px}
.gbadges{gap:4px;margin-top:7px}
.bdg{font-size:8.8px;padding:3px 6px;border-radius:99px}

.page-head{padding:22px 18px 10px;position:relative}
.page-head h2{font-size:22px;color:#153E36;text-align:left}
.page-head p{font-size:13px;color:#5E7069;line-height:1.45}
.page-head.profile-title{text-align:center;padding-top:24px}
.page-head.profile-title h2{text-align:center;font-size:23px}
.page-head.profile-title p{margin-left:auto;margin-right:auto;max-width:270px;text-align:center}
.back-lite{position:absolute;left:16px;top:22px;border:0;background:transparent;color:#236A5A;font-size:34px;line-height:1;width:34px;height:34px;display:flex;align-items:center;justify-content:center}
.with-back{display:flex;gap:10px;padding-left:54px}
.with-back .back-lite{top:18px}

.profile-card{border-radius:18px;margin:10px 22px;padding:15px;background:#fff;border:1px solid #E5ECE6;box-shadow:0 8px 20px rgba(45,80,62,.08)}
.pref-card{display:flex;align-items:center;gap:14px;min-height:88px}
.pc-ico{width:44px;height:44px;border-radius:15px;background:#EAF7F1;color:#2F8A70;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.pc-content{flex:1;min-width:0}
.field-lbl{font-size:13.5px;margin:0 0 9px;color:#20362F}
.field-lbl span{font-size:11px;color:#7B8A82;font-weight:600}
.opts{gap:8px}
.segmented .opt{border-radius:99px;padding:7px 13px;background:#fff;color:#6B7C74;border:1px solid #E3EAE5;box-shadow:none}
.segmented .opt.on,.opts .opt.on{background:#E1F4EC;border-color:#42A287;color:#23725F}
.color-opts.dots .opt{width:27px;height:27px;overflow:hidden;color:transparent;padding:0;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.color-opts.dots .opt.on{outline:2px solid #2F8A70;outline-offset:2px;color:transparent}
.profile-card textarea{min-height:66px;font-size:12.5px;background:#FCFEFC}
.profile-actions{padding:4px 22px 28px}
.profile-actions .btn-primary{background:linear-gradient(135deg,#3BA384,#23816C);box-shadow:0 10px 20px rgba(35,129,108,.20)}

.visual-list{padding-bottom:28px}
.visual-card{border:1px solid #E5ECE6;box-shadow:0 8px 20px rgba(45,80,62,.08);border-radius:18px;background:#fff}
.vc-thumb{font-size:50px}

.list-title h2{text-align:center}
.list-title p{text-align:center;margin-left:auto;margin-right:auto}
.shop-panel{background:#fff;border:1px solid #E6EEE8;border-radius:20px;margin:10px 16px 16px;padding:14px 14px 10px;box-shadow:0 9px 22px rgba(45,80,62,.08)}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.panel-head h3{font-size:16px;color:#1E3B34}
.shop-line{display:flex;align-items:center;gap:11px;padding:11px 2px;border-top:1px solid #EDF1EE}
.shop-line:first-of-type{border-top:0}
.shop-line.checked{opacity:.55}.shop-line.checked .si-txt{text-decoration:line-through}
.add-row{width:100%;border:0;background:#F4FBF7;color:#2F8A70;font-weight:800;border-radius:13px;margin-top:9px;padding:11px;text-align:left;font-size:13px}
.shop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 4px;}
.shop-actions .mini-btn{margin:0;width:100%;}
.list-empty{padding:18px 8px;color:#6B7C74;font-size:13px;line-height:1.45}
.orient-compact{background:#FFF8E9;border-color:#F0D8A8;margin-top:8px}
.row-tip{display:flex;flex-direction:row;gap:11px;align-items:flex-start}
.tip-ico{width:38px;height:38px;border-radius:50%;background:#E3F1E6;display:flex;align-items:center;justify-content:center;flex:none;font-size:19px}
.mini-btn.outline{background:#EAF7F1;color:#2F8A70;border:1px solid #A8DAC7}

.detail{position:fixed;left:50%;right:auto;top:0;bottom:0;max-width:480px;width:100%;transform:translateX(50%);}
.detail.open{transform:translateX(-50%)}
.det-body{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
.toast{bottom:calc(92px + env(safe-area-inset-bottom))}

@media(min-width:481px){
  #app{border-radius:0}
}
@media(max-width:360px){
  .home-top .logo-wm{font-size:17px}
  .home-top .logo-head .brand-logo-img{width:46px;height:46px}
  .navbtn{font-size:8.4px}
  .grid{gap:10px;padding-left:12px;padding-right:12px}
  .quickchips .chip{padding:7px 10px;font-size:12px}
}


/* ===== Mockup faithful overrides ===== */
body{background:#efe9df;}
#app{max-width:430px;background:#f8faf6;}
.topbar{display:none!important;}
.screen{padding:16px 16px 98px;background:linear-gradient(180deg,#f8faf6 0%,#f6f7f1 100%);}
.home-shell,.page-shell{animation:fadeUp .22s ease both;}
.home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.logo-head{display:flex;align-items:center;gap:10px;}
.logo-head .brand-logo-img{width:52px;height:52px;object-fit:contain;flex:none;}
.logo-wm{font-size:15px;font-weight:900;line-height:1;color:#365f62;letter-spacing:-.2px;display:flex;flex-direction:column;gap:3px;}
.logo-wm small{font-size:15px;font-weight:900;color:#365f62;}
.logo-wm small span{color:#ee9d57;}
.header-ico{width:40px;height:40px;border:0;border-radius:12px;background:#fff;color:#5f7b7d;box-shadow:0 6px 16px rgba(52,67,57,.08);display:flex;align-items:center;justify-content:center;}
.search.in-page{margin-top:2px;background:#fff;border:1px solid #e5e9e1;border-radius:16px;padding:13px 14px;box-shadow:0 6px 16px rgba(52,67,57,.05);}
.quickchips{padding:12px 0 2px;display:flex;gap:10px;flex-wrap:wrap;overflow:visible;}
.quickchips .chip{padding:10px 14px;border-radius:14px;border:0;background:#d9eee5;color:#315e55;font-size:13px;box-shadow:none;}
.quickchips .chip:nth-child(2){background:#f7e3c8;}
.quickchips .chip:nth-child(3){background:#dfead2;}
.quickchips .chip:nth-child(4){background:#dbeaf4;}
.quickchips .chip:nth-child(5){background:#f7e9bb;}
.quickchips .chip.on{outline:none;background:#4f9580;color:#fff;}
.filter-group{padding:0 0 6px}
.filter-label{font-size:11px;font-weight:850;color:#476764;text-transform:uppercase;letter-spacing:.6px;margin:8px 2px 0}
.filter-group .quickchips{padding-top:8px}
.nutritionchips .chip{background:#f5ead0;color:#5a4c27}
.nutritionchips .chip:nth-child(2n){background:#dcecf1;color:#345a68}
.nutritionchips .chip:nth-child(3n){background:#e7ead6;color:#4c6139}
.nutritionchips .chip.on{background:#4f9580;color:#fff}
.banner.soft{background:#d6eee7;color:#295052;border:1px solid #b9dfd3;box-shadow:none;padding:14px 14px;border-radius:18px;}
.banner .bic.art-slot{width:70px;height:56px;background:#cfe7de;border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.banner-pot{width:58px;height:auto;display:block;}
.banner h4{font-size:16px;color:#234b49;margin-bottom:2px;}
.banner p{font-size:12px;color:#345b5a;opacity:1;}
.banner .chev{color:#426b69;}
.sec-tit{padding:14px 2px 8px;font-size:18px;}
.sec-tit span{font-weight:900;color:#29484a;}
.sec-tit .link{font-size:13px;color:#5b9a8a;}
.sec-actions{display:flex;align-items:center;gap:10px;flex:none;}
.result-count{font-size:12px;font-weight:850;color:var(--secondary-text);white-space:nowrap;}
.grid{padding:0;gap:14px;}
.gcard{border-radius:18px;box-shadow:0 10px 20px rgba(40,70,52,.08);overflow:hidden;border:1px solid #edf0e9;}
.gthumb{height:128px;background:#eaf5ed;}
.gthumb.art .food-art{width:100%;height:100%;object-fit:cover;display:block;}
.food-art{pointer-events:none;}
.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#7d978a;background:linear-gradient(135deg,#eef7f1,#fff8ec);}
.detail-art.image-placeholder{width:240px!important;height:180px!important;}
.gthumb .heart{top:10px;right:10px;width:28px;height:28px;background:rgba(255,255,255,.92);}
.gthumb .time{left:8px;bottom:8px;border-radius:8px;padding:3px 6px;font-size:10.5px;gap:3px;}
.gthumb .pmatch{font-size:9px;padding:3px 6px;}
.gbody{padding:10px 12px 12px;}
.rating{font-size:10px;color:#e0b34b;letter-spacing:1px;margin-bottom:5px;}
.gbody h4{font-size:13.3px;min-height:36px;color:#26373a;}
.gbody .sub{font-size:11.5px;color:#6f7d7d;}
.mini-flags{display:flex;gap:6px;margin-top:8px;}
.mflag{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;}
.mflag.gold{background:#e6af45;}
.mflag.blue{background:#5ea3ca;}
.mflag.mint{background:#75b59d;}
.page-head{padding:2px 2px 14px;}
.page-head h2{font-size:19px;color:#29484a;margin-bottom:4px;}
.page-head p{font-size:13px;line-height:1.45;color:#647171;}
.page-head.with-back,.profile-title{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;}
.page-head.with-back h2,.profile-title h2{grid-column:2;}
.page-head.with-back p,.profile-title p{grid-column:2;}
.back-lite{width:32px;height:32px;border-radius:10px;border:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.06);font-size:24px;color:#506b69;line-height:1;}
.profile-card,.shop-panel,.tips-card,.safe-card,.visual-card{background:#fff;border:1px solid #e8ece3;border-radius:18px;box-shadow:0 8px 18px rgba(35,50,40,.05);}
.pref-card{display:flex;gap:12px;padding:14px;margin-bottom:12px;align-items:flex-start;}
.pc-ico{width:38px;height:38px;border-radius:12px;background:#eef7f3;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none;}
.pc-content{flex:1;}
.field-lbl{font-size:14px;font-weight:800;color:#29484a;margin-bottom:10px;}
.field-lbl span{font-weight:500;color:#7a8788;}
.opts{display:flex;gap:8px;flex-wrap:wrap;}
.opt{border:1px solid #dce3db;background:#fff;color:#728082;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;}
.opt.on{border-color:#5b9a8a;background:#eef7f3;color:#32685a;box-shadow:inset 0 0 0 1px #5b9a8a;}
.color-opts{display:flex;gap:10px;align-items:center;}
.color-opts .opt.color-dot{width:32px;height:32px;padding:0;border-radius:50%;font-size:0;position:relative;}
.color-opts .opt:nth-child(1){background:#f4e2b7;}
.color-opts .opt:nth-child(2){background:#f0d367;}
.color-opts .opt:nth-child(3){background:#b7d86b;}
.color-opts .opt:nth-child(4){background:#98c8ef;}
.color-opts .opt:nth-child(5){background:#c79ad9;}
.color-opts .opt:nth-child(6){background:#f2a0a0;}
.color-opts .opt:nth-child(7){background:#b68f73;}
.color-opts .opt.on::after{content:'';position:absolute;inset:-4px;border:2px solid #5b9a8a;border-radius:50%;}
textarea#profileObs{width:100%;min-height:86px;border:1px solid #dfe6dd;border-radius:14px;padding:12px;font:inherit;color:#445356;background:#fbfcfa;resize:vertical;}
.profile-actions{padding:6px 2px 0;}
.btn{border:0;border-radius:16px;padding:14px 16px;font-weight:800;font-size:15px;}
.btn-primary{width:100%;background:linear-gradient(180deg,#5db09a,#468e7c);color:#fff;box-shadow:0 10px 20px rgba(56,117,96,.22);}
.shop-panel,.tips-card{padding:16px;margin-bottom:14px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.panel-head h3,.tips-card h3{font-size:16px;color:#29484a;}
.shop-line{display:grid;grid-template-columns:24px 24px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eef0eb;}
.shop-check{width:20px;height:20px;border:1.8px solid #cfd9d1;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;}
.shop-check.on{background:#5b9a8a;border-color:#5b9a8a;}
.shop-icon{font-size:18px;display:flex;align-items:center;justify-content:center;}
.si-txt{font-size:14px;color:#35494a;}
.si-del{border:0;background:none;color:#9aada6;font-size:22px;line-height:1;}
.add-row{margin-top:12px;border:0;background:none;color:#5b9a8a;font-size:14px;font-weight:700;}
.orient-compact.warm{background:#fff9ec;border-color:#f0e1b3;}
.tip.row-tip{display:flex;gap:10px;margin:12px 0;align-items:flex-start;}
.tip-ico{width:34px;height:34px;border-radius:50%;background:#eaf5e7;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none;}
.tip.row-tip b{display:block;color:#29484a;font-size:13px;margin-bottom:2px;}
.tip.row-tip span:last-child{display:block;font-size:12px;color:#697777;line-height:1.45;}
.mini-btn{margin-top:8px;border:0;border-radius:999px;padding:10px 14px;background:#5b9a8a;color:#fff;font-weight:700;}
.mini-btn.outline{background:#fff;border:1px solid #84b6a7;color:#467b6c;}
.visual-list{display:flex;flex-direction:column;gap:12px;}
.visual-card{display:flex;gap:12px;padding:12px;}
.vc-thumb{width:98px;height:98px;border-radius:16px;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;background:#edf6f1;}
.vc-thumb img{width:100%;height:100%;object-fit:cover;}
.vc-body{flex:1;min-width:0;}
.vc-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:6px;}
.vc-top b{font-size:14px;color:#29484a;}
.vc-top span{font-size:11px;color:#7b8a82;white-space:nowrap;}
.vc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.vc-body ol{padding-left:16px;color:#5c696a;font-size:12px;line-height:1.45;display:flex;flex-direction:column;gap:4px;}
.detail{background:#f8faf6;}
.det-hero{height:220px;display:flex;align-items:center;justify-content:center;}
.detail-art{width:240px!important;height:180px!important;object-fit:contain!important;}
.det-body{background:#fff;margin-top:-8px;border-radius:24px 24px 0 0;padding-top:18px;}
.det-intro{font-size:13px;line-height:1.5;color:#607173;margin-top:8px;}
.detail-badges{margin:10px 0 14px;gap:6px;display:flex;flex-wrap:wrap;}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px;}
.detail-actions [data-cook-recipe]{grid-column:1 / -1;}
.detail-actions .mini-btn{margin:0;width:100%;}
.bdg{font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px;}
.bdg.ok{background:#e6f4ea;color:#397050;}
.bdg.warn{background:#fdf0dd;color:#b26b24;}
.bdg.info{background:#ebf2f7;color:#4b6f84;}
nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(430px,100vw);height:78px;background:#fff;border-top:1px solid #e8ece3;box-shadow:0 -6px 22px rgba(0,0,0,.05);z-index:80;}
.navbtn{font-size:10px;color:#7a8688;padding-top:4px;}
.navbtn.on{color:#3f8e6e;}
.navbtn svg{width:20px;height:20px;}
.gate{background:linear-gradient(180deg,#f7faf8,#eff4ef);}
.gate-inner{background:#fff;border:1px solid #e7ede6;border-radius:26px;box-shadow:0 18px 45px rgba(0,0,0,.08);}


/* ===== Imagens raster: Bloco 1 e Bloco 3 ===== */
.gate{padding:18px;background:linear-gradient(180deg,#f8fbf7 0%,#eaf3eb 100%);}
.gate-inner{max-width:370px;padding:18px 18px 20px;}
.gate-hero{display:block;width:168px;height:128px;object-fit:cover;object-position:center;border-radius:20px;margin:0 auto 10px;box-shadow:0 9px 22px rgba(51,98,73,.13);}
.glogo{width:124px;min-height:104px;border-radius:0;margin:0 auto 10px;background:transparent;box-shadow:none;}
.glogo img{width:124px;height:auto;object-fit:contain}
.gate h1{font-size:25px;color:#305b59;}
.gate>.gate-inner>p{color:#5c7070;opacity:1;margin-bottom:15px;font-size:12.5px;}
.gate-form{background:#eff7f0;border:1px solid #d8e9dc;padding:14px;border-radius:18px;}
.gfield span{color:#476563;opacity:1;}
.gate .btn-primary{background:linear-gradient(180deg,#5db09a,#468e7c);color:#fff;margin-top:4px;box-shadow:0 8px 16px rgba(56,117,96,.15);}
.gnote{color:#6c7a78;opacity:1;margin-top:12px;font-size:10.3px;}

.home-welcome-card{margin:12px 0 8px;min-height:116px;border-radius:20px;background:linear-gradient(135deg,#fff5e8,#e9f5ef);border:1px solid #e7eadf;display:flex;align-items:center;overflow:hidden;padding:12px 10px 12px 15px;box-shadow:0 8px 18px rgba(53,70,50,.045);}
.home-welcome-copy{position:relative;z-index:1;max-width:58%;}
.home-welcome-copy span{font-size:9px;letter-spacing:.8px;color:#55907d;font-weight:900;}
.home-welcome-copy h3{font-size:16px;line-height:1.13;color:#2f5553;margin:5px 0;font-weight:900;}
.home-welcome-copy p{font-size:11px;line-height:1.35;color:#667674;}
.home-welcome-art{display:block;width:43%;height:110px;object-fit:cover;object-position:center;border-radius:16px;margin-left:auto;mix-blend-mode:multiply;}
.banner-pot{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:15px;}

.section-hero-card,.orient-hero-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e6ebe3;border-radius:18px;margin:0 0 14px;padding:10px;box-shadow:0 7px 15px rgba(35,50,40,.045);overflow:hidden;}
.section-hero-art{width:96px;height:78px;object-fit:cover;object-position:center;border-radius:13px;flex:none;background:#eff7f0;}
.section-hero-card b,.orient-hero-card b{display:block;font-size:14px;color:#315a57;margin-bottom:4px;}
.section-hero-card span,.orient-hero-card span{display:block;font-size:11.5px;line-height:1.4;color:#6b7b79;}
.steps-hero{background:#edf6f1;}
.sensory-hero{background:#f0f7fb;}
.shopping-hero{background:#f9f7e9;}
.orient-hero-card{margin:2px 0 14px;background:#fff7e8;}
.orient-hero-art{width:105px;height:84px;object-fit:cover;border-radius:13px;flex:none;}

.empty-visual{padding:24px 16px 22px;border-radius:18px;background:#fff;border:1px solid #e8ece3;box-shadow:0 7px 15px rgba(35,50,40,.045);display:flex;flex-direction:column;align-items:center;gap:9px;}
.empty-visual .state-art{width:160px;height:138px;object-fit:contain;display:block;margin:0 auto 2px;}
.empty-visual b{display:block;color:#315a57;font-size:15px;}
.empty-visual span{display:block;margin-top:3px;color:#72817f;font-size:12px;line-height:1.45;}
.empty-visual .mini-btn{margin-top:3px;}
.loading-state{min-height:calc(100vh - 100px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:9px;color:#59716d;}
.loading-state .state-art{width:205px;height:175px;object-fit:contain;}
.loading-state b{font-size:16px;color:#315a57;}
.loading-state span{font-size:12px;}
.welcome-screen{padding:16px 2px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;animation:fadeUp .28s ease both;}
.welcome-screen .state-art{width:100%;max-width:278px;height:210px;object-fit:cover;border-radius:22px;box-shadow:0 10px 25px rgba(45,70,50,.09);margin:4px auto 16px;}
.welcome-screen .eyebrow{font-size:10px;color:#57947f;font-weight:900;letter-spacing:1px;}
.welcome-screen h2{font-size:23px;line-height:1.12;color:#315a57;margin:7px 8px;}
.welcome-screen p{font-size:13px;line-height:1.5;color:#667876;max-width:300px;}
.welcome-screen .btn{margin-top:18px;max-width:300px;}

.vc-food-art{width:100%;height:100%;object-fit:cover;display:block;}
.detail-art{background:#fffdf7;border-radius:20px;box-shadow:0 10px 22px rgba(54,74,48,.09);}
.mini-illustration{float:right;width:76px;height:76px;border-radius:14px;overflow:hidden;margin:0 0 8px 10px;}
.mini-illustration-img{width:100%;height:100%;object-fit:cover;display:block;}
.empty-shop-panel{padding-bottom:16px;}
.empty-shop-panel .empty-visual{box-shadow:none;border:0;background:transparent;padding:8px 0 0;}
.empty-shop-panel .empty-visual .state-art{width:140px;height:120px;}

@media(max-width:360px){
  .home-welcome-card{min-height:104px}.home-welcome-art{height:98px}.home-welcome-copy h3{font-size:14px}.section-hero-art{width:86px;height:70px}.gate-hero{width:145px;height:108px}
}

.home-compact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e4ebe5;border-radius:16px;padding:12px 13px;margin:8px 0 10px;box-shadow:0 7px 16px rgba(35,50,40,.045);}
.home-compact-head span{display:block;font-size:10px;font-weight:850;text-transform:uppercase;color:#689184;letter-spacing:.4px;margin-bottom:3px;}
.home-compact-head h2{font-size:18px;line-height:1.12;margin:0;color:#315a57;}
.home-compact-head .mini-btn{min-height:38px;margin:0;padding:8px 12px;white-space:nowrap;}
.child-switcher.compact{margin-top:-2px;}
.home-actions{display:grid;gap:10px;margin:10px 0 12px;}
.home-action-card{min-height:92px;width:100%;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;border:1px solid #e1ebe4;border-radius:18px;background:#fff;padding:14px;box-shadow:0 8px 18px rgba(35,50,40,.05);color:#315a57;font:inherit;cursor:pointer;}
.home-action-card:active{transform:scale(.99)}
.home-action-card .home-action-icon{grid-row:1/3;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef7f1;color:#3f8e6e;}
.home-action-card b{font-size:15px;line-height:1.18;margin:0;color:#315a57;}
.home-action-card small{font-size:11.5px;line-height:1.35;color:#6b7d78;margin-top:3px;}
.home-action-card.search-card .home-action-icon{background:#fff1d7;color:#9a6d22;}
.home-action-card.profile-card .home-action-icon{background:#eaf3fb;color:#4f7f9e;}
.home-action-card.planner-card .home-action-icon{background:#f7e6e1;color:#9c5e52;}
.home-search-panel{background:#fff;border:1px solid #e4ebe5;border-radius:18px;padding:2px 0 12px;margin:6px 0 10px;box-shadow:0 8px 18px rgba(35,50,40,.045);}
.home-search-panel .search.in-page{margin:10px 12px 8px;}
.home-search-panel .pills{padding-inline:10px;}
.home-filter-row{padding:0 12px;}
.home-filter-button{width:100%;min-height:46px;border:1px solid #cfe4da;border-radius:15px;background:#eef7f2;color:#315a57;font-weight:850;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;}
.home-filter-button:active{transform:scale(.99)}
.filter-sheet-backdrop{position:fixed;inset:0;background:rgba(21,34,28,.34);z-index:75;}
.filter-sheet{position:fixed;left:calc(50% - var(--app-frame-half));bottom:0;width:min(var(--app-frame),100vw);max-height:82dvh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -16px 36px rgba(24,42,32,.22);z-index:76;}
.filter-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.filter-sheet-head b{display:block;font-size:17px;color:#315a57;margin-bottom:3px;}
.filter-sheet-head span{display:block;font-size:12px;line-height:1.35;color:#6d7f7b;}
.filter-sheet-head .round-btn{width:36px;height:36px;min-width:36px;background:#eef4f0;color:#315a57;font-size:20px;}
.home-filter-section{padding:10px 0;border-top:1px solid #edf1ed;}
.home-filter-section:first-of-type{border-top:0;}
.home-filter-section .filter-label{font-size:11px;font-weight:900;color:#4c6d63;text-transform:uppercase;margin-bottom:7px;letter-spacing:.4px;}
.home-filter-section .quickchips{padding:0;gap:8px;}
.home-filter-section .chip{min-height:38px;}
.filter-sheet-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%);padding-top:18px;margin-top:2px;}
.filter-sheet-actions .mini-btn{margin:0;min-height:44px;}

.home-tools-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e6ebe3;border-radius:17px;padding:8px 10px;margin:10px 0;box-shadow:0 6px 14px rgba(35,50,40,.04);cursor:pointer;}
.home-tools-card:active{transform:scale(.985)}
.home-tools-art{width:58px;height:52px;border-radius:12px;object-fit:cover;flex:none;}
.trail-entry-icon{width:58px;height:52px;border-radius:12px;display:grid;place-items:center;flex:none;background:#eef7f1;color:#3f8e6e;}
.home-tools-card b{display:block;font-size:12.5px;color:#315a57;margin-bottom:2px;}
.home-tools-card span:not(.home-tools-arrow){display:block;font-size:10.8px;line-height:1.35;color:#70807d;}
.home-tools-arrow{margin-left:auto;color:#4d9983;font-size:28px;line-height:1;font-weight:300;}
.install-prompt{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;background:#fff;border:1px solid #dbeae1;border-radius:16px;padding:10px 10px 10px 12px;margin:8px 0 10px;box-shadow:0 6px 14px rgba(35,50,40,.045);}
.install-prompt b{display:block;font-size:12.5px;color:#315a57;margin-bottom:2px;}
.install-prompt span{display:block;font-size:10.8px;line-height:1.35;color:var(--secondary-text);}
.install-prompt small{display:inline-block;margin-left:4px;color:#3f8e6e;font-weight:850;}
.install-prompt .mini-btn{margin:0;padding:8px 12px;min-width:72px;}
.install-close{border:0;background:#eef7f3;color:#315a57;border-radius:12px;font-size:18px;font-weight:800;line-height:1;cursor:pointer;}
.install-sheet-backdrop{position:fixed;inset:0;background:rgba(21,34,28,.34);z-index:77;}
.install-sheet{position:fixed;left:calc(50% - var(--app-frame-half));bottom:0;width:min(var(--app-frame),100vw);background:#fff;border-radius:22px 22px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -16px 36px rgba(24,42,32,.22);z-index:78;}
.install-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.install-sheet-head b{display:block;font-size:17px;color:#315a57;margin-bottom:3px;}
.install-sheet-head span{display:block;font-size:12px;line-height:1.4;color:#6d7f7b;}
.install-sheet-head .round-btn{width:36px;height:36px;min-width:36px;background:#eef4f0;color:#315a57;font-size:20px;}
.install-sheet ol{margin:12px 0 0;padding:0;counter-reset:install-step;display:grid;gap:10px;}
.install-sheet li{list-style:none;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;font-size:13px;line-height:1.35;color:#415f57;}
.install-sheet li:before{counter-increment:install-step;content:counter(install-step);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef7f1;color:#3f8e6e;font-weight:900;}
.completion-strip{display:flex;align-items:center;gap:10px;background:#eff8f3;border:1px solid #d8eadf;border-radius:16px;padding:9px 10px;margin-top:12px;}
.completion-art{width:70px;height:58px;object-fit:cover;border-radius:11px;flex:none;}
.completion-strip b{display:block;font-size:12.5px;color:#315a57;margin-bottom:2px;}
.completion-strip span{font-size:10.8px;line-height:1.35;color:#6d7f7c;display:block;}
.trails-head h2{line-height:1.12;}
.trails-hero{background:#eef7f1;}
.trail-list{display:grid;gap:10px;margin-bottom:16px;}
.trail-card{background:#fff;border:1px solid #e6ebe3;border-radius:18px;padding:13px;box-shadow:0 7px 15px rgba(35,50,40,.045);cursor:pointer;}
.trail-card:active{transform:scale(.99)}
.trail-card-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;}
.trail-card-top b{font-size:14px;line-height:1.25;color:#315a57;}
.trail-card-top span{font-size:10.5px;font-weight:800;color:#3f8e6e;background:#eef7f1;border-radius:999px;padding:5px 8px;white-space:nowrap;}
.trail-card p{font-size:12px;line-height:1.45;color:#647571;margin:7px 0 10px;}
.trail-mini-flow{display:flex;gap:6px;flex-wrap:wrap;}
.trail-mini-flow span,.trail-role{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;text-transform:uppercase;}
.trail-mini-flow .base,.trail-role.base{background:#e7f3ec;color:#2f775f;}
.trail-mini-flow .ponte,.trail-role.ponte{background:#fff0d6;color:#8b6425;}
.trail-mini-flow .avanco,.trail-role.avanco{background:#fbe3df;color:#8a5148;}
.trail-stepper{display:grid;gap:12px;margin:2px 0 22px;}
.trail-step{display:grid;grid-template-columns:30px 70px 1fr;gap:10px;align-items:center;width:100%;border:1px solid #e6ebe3;border-radius:18px;background:#fff;padding:10px;box-shadow:0 7px 15px rgba(35,50,40,.045);text-align:left;font:inherit;color:inherit;cursor:pointer;position:relative;}
.trail-step:active{transform:scale(.99)}
.trail-rail{height:100%;display:flex;justify-content:center;position:relative;}
.trail-rail:after{content:"";position:absolute;top:34px;bottom:-24px;width:2px;background:#d9ebe2;}
.trail-step:last-child .trail-rail:after{display:none;}
.trail-rail span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#3f8e6e;color:#fff;font-size:12px;font-weight:850;z-index:1;}
.trail-step.papel .trail-rail span{background:#3f8e6e;}
.trail-step-thumb{width:70px;height:62px;border-radius:14px;overflow:hidden;display:grid;place-items:center;align-self:stretch;}
.trail-food-art{width:100%;height:100%;object-fit:cover;display:block;}
.trail-step-body{display:grid;gap:5px;min-width:0;}
.trail-step-body b{font-size:13.5px;line-height:1.25;color:#315a57;}
.trail-step-body p{font-size:11.5px;line-height:1.4;color:#647571;margin:0;}
.image-placeholder.food-art,
.image-placeholder.vc-food-art,
.image-placeholder.trail-food-art,
.image-placeholder.detail-art,
.image-placeholder.asset-art,
.image-placeholder.state-art,
.image-placeholder.section-hero-art,
.image-placeholder.completion-art,
.image-placeholder.mini-illustration-img{display:flex;align-items:center;justify-content:center;}

/* Tela Passo a Passo: topo dedicado para evitar conflitos do page-head */
.steps-intro{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:start;
  margin:0 0 12px;
  padding:4px 2px 0;
}
.steps-back{
  position:static;
  width:36px;
  height:36px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 14px rgba(34,54,45,.07);
  font-size:25px;
  color:#496966;
}
.steps-intro-copy{
  min-width:0;
  padding-top:1px;
}
.steps-intro-copy span{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  line-height:1.1;
  letter-spacing:.9px;
  font-weight:900;
  color:#5d9a86;
}
.steps-intro-copy h2{
  margin:0;
  font-size:22px;
  line-height:1.12;
  font-weight:900;
  color:#29484a;
}
.steps-intro-copy p{
  max-width:320px;
  margin-top:6px;
  font-size:13px;
  line-height:1.48;
  color:#657575;
}
.steps-hero{
  margin-top:0;
}

@media(max-width:360px){
  .steps-intro{grid-template-columns:34px 1fr;gap:10px}
  .steps-back{width:34px;height:34px;font-size:23px}
  .steps-intro-copy h2{font-size:20px}
  .steps-intro-copy p{font-size:12.5px}
}

/* Perfil alimentar */
.food-profile-screen{
  padding:2px 0 20px;
  animation:fadeUp .22s ease both;
}
.food-progress{
  height:6px;
  border-radius:999px;
  background:#e4ece5;
  overflow:hidden;
  margin:0 2px 12px;
}
.food-progress span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#5b9a8a;
  transition:width .2s ease;
}
.food-card{
  background:#fff;
  border:1px solid #e8ece3;
  border-radius:22px;
  padding:18px 16px 16px;
  box-shadow:0 10px 22px rgba(35,50,40,.06);
}
.food-eyebrow{
  display:block;
  font-size:10px;
  line-height:1.1;
  letter-spacing:.9px;
  font-weight:900;
  color:#5d9a86;
  margin-bottom:7px;
}
.food-card h2{
  font-size:22px;
  line-height:1.15;
  color:#29484a;
  margin:0 0 9px;
}
.food-card p{
  font-size:13px;
  line-height:1.5;
  color:#667674;
  margin:0 0 12px;
}
.food-hero{
  width:100%;
  display:flex;
  justify-content:center;
  margin:0 0 10px;
}
.food-hero .state-art{
  width:190px;
  height:138px;
  object-fit:contain;
}
.food-note{
  background:#fff8e9;
  border:1px solid #f0dfb8;
  border-radius:14px;
  color:#7f6840;
  font-size:11.5px;
  line-height:1.45;
  padding:10px 11px;
  margin:10px 0;
}
.food-field{
  display:block;
  margin:12px 0;
}
.food-field span{
  display:block;
  font-size:12px;
  font-weight:800;
  color:#496966;
  margin-bottom:6px;
}
.food-field input,
.tag-input-row input{
  width:100%;
  min-width:0;
  border:1px solid #dfe6dd;
  border-radius:14px;
  padding:12px;
  font:inherit;
  font-size:13px;
  color:#445356;
  background:#fbfcfa;
  outline:none;
}
.food-field input:focus,
.tag-input-row input:focus{
  border-color:#5b9a8a;
}
.food-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
.food-opt{
  border:1px solid #dce3db;
  background:#fff;
  color:#637475;
  border-radius:999px;
  padding:9px 12px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.food-opt.on{
  background:#eef7f3;
  border-color:#5b9a8a;
  color:#32685a;
  box-shadow:inset 0 0 0 1px #5b9a8a;
}
.food-nav{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:14px;
}
.food-nav:has(.outline){
  grid-template-columns:1fr 1fr;
}
.food-nav.result{
  grid-template-columns:1fr;
}
.tag-input-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  margin:10px 0;
}
.example-tags,
.tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:10px 0;
}
.example-tags button,
.tag-chip{
  border:0;
  border-radius:999px;
  padding:7px 10px;
  background:#edf6f1;
  color:#467b6c;
  font-size:11.5px;
  font-weight:800;
}
.tag-chip{
  background:#f7e8d2;
  color:#826238;
}
.food-summary{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:12px 0;
}
.food-summary-row{
  border:1px solid #e7ede6;
  border-radius:14px;
  padding:10px;
  background:#fbfcfa;
}
.food-summary-row b{
  display:block;
  color:#29484a;
  font-size:12px;
  margin-bottom:3px;
}
.food-summary-row span{
  display:block;
  color:#667674;
  font-size:12px;
  line-height:1.4;
}
.profile-reminder{
  margin:4px 0 12px;
  font-size:12px;
  line-height:1.45;
  color:var(--secondary-text);
}
.profile-reminder b{
  color:#315a57;
}
.food-profile-shortcut{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid #e8ece3;
  border-radius:18px;
  padding:11px;
  margin:0 0 14px;
  box-shadow:0 8px 18px rgba(35,50,40,.05);
  cursor:pointer;
}
.food-profile-shortcut .state-art{
  width:64px;
  height:54px;
  object-fit:cover;
  border-radius:13px;
  flex:none;
}
.food-profile-shortcut b{
  display:block;
  font-size:14px;
  color:#315a57;
  margin-bottom:3px;
}
.food-profile-shortcut span{
  display:block;
  font-size:11.5px;
  line-height:1.35;
  color:#6b7b79;
}
.profile-filter-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:8px 0 12px;
  padding:10px 12px;
  border:1px solid #f0d6ba;
  border-radius:16px;
  background:#fff8ef;
  color:#6f5538;
  font-size:12px;
  line-height:1.35;
}
.profile-filter-notice.open{
  border-color:#d9e8de;
  background:#f3faf5;
  color:#315a57;
}
.profile-filter-notice span{
  min-width:0;
}
.food-profile-dashboard{
  margin:0 0 16px;
  padding:14px;
  border:1px solid #e8ece3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 18px rgba(35,50,40,.05);
}
.food-edit-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.food-edit-head b,
.food-edit-row b{
  display:block;
  color:#315a57;
  font-size:14px;
}
.food-edit-head span,
.food-edit-row span{
  display:block;
  color:#6b7b79;
  font-size:11.5px;
  line-height:1.35;
}
.food-edit-rows{
  display:grid;
  gap:9px;
}
.food-edit-row{
  padding:10px;
  border:1px solid #e7ede6;
  border-radius:14px;
  background:#fbfcfa;
}
.child-switcher,
.children-panel{
  background:#fff;
  border:1px solid #e8ece3;
  border-radius:18px;
  box-shadow:0 8px 18px rgba(35,50,40,.05);
}
.child-switcher{
  display:grid;
  gap:10px;
  margin:8px 0 12px;
  padding:12px;
}
.child-switcher span,
.children-panel span{
  display:block;
  color:#6b7b79;
  font-size:11.5px;
  line-height:1.35;
}
.child-switcher b,
.children-panel b{
  display:block;
  color:#315a57;
  font-size:14px;
}
.child-switcher-options{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.child-switcher-options button{
  border:0;
  border-radius:14px;
  background:#e8f4ee;
  color:#315a57;
  font:inherit;
  font-size:12px;
  font-weight:750;
  padding:8px 10px;
}
.child-switcher-options button.on{
  background:#3F8E6E;
  color:#fff;
}
.children-panel{
  margin:0 0 14px;
  padding:12px;
}
.children-panel-head{
  display:grid;
  gap:10px;
  margin-bottom:10px;
}
.children-list{
  display:grid;
  gap:9px;
}
.child-row{
  display:grid;
  gap:9px;
  padding:10px;
  border:1px solid #e4ebe4;
  border-radius:15px;
  background:#fbfdfb;
}
.child-row.on{
  border-color:#8bcab1;
  background:#f0faf5;
}
.child-main{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  font:inherit;
}
.child-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.mini-btn.danger{
  border-color:#efd0ca;
  color:#9a5247;
  background:#fff8f6;
}
.explore-title span{
  font-size:16px;
  line-height:1.2;
}

@media(max-width:360px){
  .food-card{padding:16px 13px}
  .food-card h2{font-size:20px}
  .tag-input-row{grid-template-columns:1fr}
  .food-nav:has(.outline){grid-template-columns:1fr}
}

/* ===== Correcoes 1-3: layout desktop, imagens e acessibilidade ===== */
:root{
  --suave:#4d5b57;
  --secondary-text:#4d5b57;
  --focus-ring:#0f6c55;
  --app-frame:430px;
  --app-frame-half:215px;
}

html,
body{
  min-height:100%;
}

body{
  align-items:stretch;
}

#app{
  width:min(var(--app-frame),100vw);
  max-width:var(--app-frame);
  min-height:100dvh;
  height:100dvh;
  margin-inline:auto;
}

#main,
.screen{
  min-height:0;
}

.detail{
  position:fixed;
  top:0;
  bottom:0;
  left:100vw;
  right:auto;
  width:min(var(--app-frame),100vw);
  max-width:var(--app-frame);
  z-index:70;
  transform:none!important;
  box-shadow:0 0 44px rgba(35,50,40,.14);
}

.detail.open{
  left:calc(50% - var(--app-frame-half));
  transform:none!important;
}

nav{
  width:min(var(--app-frame),100vw);
  max-width:var(--app-frame);
}

.gthumb.art,
.vc-thumb,
.det-hero,
.banner .bic.art-slot,
.section-hero-art,
.orient-hero-art,
.empty-visual .state-art,
.loading-state .state-art,
.welcome-screen .state-art,
.food-hero .state-art,
.food-profile-shortcut .state-art,
.completion-art,
.gate-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(110deg,#eef7f1 8%,#f8fcf8 18%,#fff8ec 33%);
  background-size:220% 100%;
  animation:imageShimmer 1.35s linear infinite;
}

.ct-img{
  opacity:0;
  transition:opacity .22s ease;
}

.ct-img.is-loaded{
  opacity:1;
}

.ct-img.is-fallback{
  object-fit:contain!important;
  padding:14px;
  background:#f7fbf8;
}

.gthumb.art .ct-img,
.vc-thumb .ct-img,
.det-hero .ct-img{
  width:100%;
  height:100%;
  display:block;
}

.gthumb.art .ct-img,
.vc-thumb .ct-img{
  object-fit:cover;
}

.det-hero .ct-img{
  object-fit:contain;
}

@keyframes imageShimmer{
  from{background-position:140% 0}
  to{background-position:-80% 0}
}

.greet,
.sec-tit small,
.gbody .sub,
.empty,
.chip,
.field-lbl span,
.tag,
.infobox span,
.det-intro,
.page-head p,
.visual-card ol,
.tip span,
.tip.row-tip span:last-child,
.vc-top span,
.vc-body ol,
.gate>.gate-inner>p,
.gnote,
.home-welcome-copy p,
.home-tools-card span:not(.home-tools-arrow),
.section-hero-card span,
.orient-hero-card span,
.empty-visual span,
.list-empty,
.food-card p,
.food-note,
.food-field span,
.food-summary-row span,
.food-profile-shortcut span,
.steps-intro-copy p,
.completion-strip span,
.loading-state span{
  color:var(--secondary-text);
}

button,
[role="button"],
input,
textarea,
a,
.chip,
.pill,
.opt,
.food-opt,
.tag-chip,
.shop-check{
  -webkit-tap-highlight-color:transparent;
}

button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
textarea:focus-visible,
a:focus-visible,
.chip:focus-visible,
.pill:focus-visible,
.opt:focus-visible,
.food-opt:focus-visible,
.tag-chip:focus-visible,
.shop-check:focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:3px;
  box-shadow:0 0 0 5px rgba(31,122,98,.18);
}

.navbtn,
.round-btn,
.header-ico,
.avatar,
.heart,
.chip,
.pill,
.opt,
.food-opt,
.mini-btn,
.btn,
.add-ing,
.add-row,
.back-lite,
.steps-back,
.shop-check,
.si-del,
.tag-input-row button,
.example-tags button,
.tag-chip{
  min-width:44px;
  min-height:44px;
}

.gthumb .heart{
  width:44px;
  height:44px;
}

.shop-check{
  width:44px;
  height:44px;
}

@media(max-width:480px){
  #app{
    width:100vw;
    max-width:none;
  }

  .detail{
    left:100vw;
    width:100vw;
    max-width:none;
    transform:none!important;
    box-shadow:none;
  }

  .detail.open{
    left:0;
    transform:translateX(0)!important;
  }
}

body .detail.open{
  left:calc(50% - var(--app-frame-half));
  transform:none!important;
}

@media(max-width:480px){
  body .detail.open{
    left:0;
    transform:none!important;
  }
}

#printRoot{
  display:none;
}

.cooking-overlay{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
  flex-direction:column;
  gap:18px;
  padding:calc(20px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));
  background:#fbfdfb;
  color:#26373a;
}

.cooking-overlay.open{
  display:flex;
}

.cook-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.cook-head span{
  display:block;
  color:#0f6c55;
  font-size:11px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  margin-bottom:5px;
}

.cook-head h2{
  font-size:21px;
  line-height:1.15;
  color:#29484a;
}

.cook-close{
  flex:none;
  font-size:24px;
  line-height:1;
}

.cook-progress{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  background:#eaf7f1;
  color:#0f6c55;
  font-size:13px;
  font-weight:900;
  padding:8px 12px;
}

.cook-step-text{
  flex:1;
  display:flex;
  align-items:center;
  border:1px solid #dbeae1;
  border-radius:22px;
  background:#fff;
  padding:24px 20px;
  box-shadow:0 10px 24px rgba(35,50,40,.07);
  color:#26373a;
  font-size:24px;
  line-height:1.35;
  font-weight:800;
}

.cook-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.cook-nav .mini-btn{
  min-height:54px;
  margin:0;
  font-size:15px;
}

.cook-nav .mini-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.planner-entry-icon{width:58px;height:52px;border-radius:12px;display:grid;place-items:center;flex:none;background:#f4efe2;color:#8a6a2f;}
.planner-head{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding-left:2px;}
.planner-head .back-lite{position:static;}
.planner-head h2,.planner-head p{grid-column:2;}
.planner-head h2{line-height:1.12;}
.planner-hero{background:#f8f3e6;}
.planner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px;}
.planner-actions .mini-btn{margin:0;width:100%;}
.planner-actions .mini-btn:disabled{opacity:.45;cursor:not-allowed;}
.planner-week{display:grid;gap:12px;margin-bottom:18px;}
.planner-day{background:#fff;border:1px solid #e6ebe3;border-radius:18px;padding:12px;box-shadow:0 7px 15px rgba(35,50,40,.045);}
.planner-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.planner-day-head b{font-size:14px;color:#315a57;}
.planner-day-head .link{font-size:11px;}
.planner-meals{display:grid;gap:8px;}
.planner-slot{min-height:68px;border:1px solid #edf1ee;border-radius:14px;background:#fbfdfb;padding:9px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;}
.planner-slot.empty b,.planner-slot-main b{display:block;font-size:12.5px;line-height:1.25;color:#315a57;}
.planner-slot.empty span,.planner-slot-main small{display:block;font-size:10.5px;line-height:1.25;color:#70807d;}
.planner-plus{width:36px;height:36px;border:0;border-radius:12px;background:#eaf5ee;color:#3f8e6e;font-size:24px;line-height:1;font-weight:700;cursor:pointer;}
.planner-slot-main{display:grid;grid-template-columns:46px 1fr;gap:9px;align-items:center;border:0;background:transparent;text-align:left;font:inherit;color:inherit;padding:0;min-width:0;cursor:pointer;}
.planner-slot-main span:last-child{min-width:0;}
.planner-slot-main b{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.planner-remove{align-self:start;}
.planner-mini-thumb{width:46px;height:42px;border-radius:11px;display:grid;place-items:center;overflow:hidden;flex:none;}
.planner-mini-art{width:100%;height:100%;object-fit:cover;display:block;}
.image-placeholder.planner-mini-art{display:flex;align-items:center;justify-content:center;}
.planner-add-card,.planner-picker{background:#fff;border:1px solid #dbeae1;border-radius:18px;padding:12px;margin:10px 0 12px;box-shadow:0 9px 20px rgba(35,50,40,.06);}
.planner-add-top,.planner-picker-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:10px;}
.planner-add-top b,.planner-picker-head b{display:block;font-size:13px;color:#315a57;}
.planner-add-top span,.planner-picker-head span{display:block;font-size:11px;color:#70807d;line-height:1.35;}
.planner-choice-grid{display:grid;gap:10px;margin:8px 0 12px;}
.planner-label{display:block;font-size:10px;font-weight:850;letter-spacing:.02em;text-transform:uppercase;color:#6a7b77;margin-bottom:6px;}
.planner-choice-row{display:flex;gap:6px;flex-wrap:wrap;}
.planner-choice-row .chip{margin:0;}
.planner-pick-list{display:grid;gap:8px;margin-top:10px;max-height:420px;overflow:auto;padding-right:2px;}
.planner-pick-card{display:grid;grid-template-columns:46px 1fr;gap:9px;align-items:center;width:100%;border:1px solid #edf1ee;border-radius:14px;background:#fbfdfb;padding:8px;text-align:left;font:inherit;color:inherit;cursor:pointer;}
.planner-pick-card b{display:block;font-size:12.5px;color:#315a57;line-height:1.25;}
.planner-pick-card small{display:block;font-size:10.5px;color:#70807d;margin-top:2px;}

@media(min-width:760px){
  .planner-week{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(min-width:1060px){
  .planner-week{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:380px){
  .planner-actions{grid-template-columns:1fr;}
  .planner-add-top,.planner-picker-head{grid-template-columns:auto 1fr;}
  .planner-add-top .mini-btn,.planner-picker-head .mini-btn{grid-column:1 / -1;width:100%;margin:0;}
}

body.cooking-active{
  overflow:hidden;
}

@media print{
  @page{
    margin:14mm;
  }

  body.printing-recipe *,
  body.printing-list *{
    visibility:hidden!important;
  }

  body.printing-recipe #printRoot,
  body.printing-recipe #printRoot *,
  body.printing-list #printRoot,
  body.printing-list #printRoot *{
    visibility:visible!important;
  }

  body.printing-recipe #printRoot,
  body.printing-list #printRoot{
    display:block!important;
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    color:#111;
    background:#fff;
    font-family:Arial, sans-serif;
  }

  .print-page{
    break-after:page;
    page-break-after:always;
    font-size:12pt;
    line-height:1.45;
  }

  .print-page h1{
    font-size:22pt;
    margin:0 0 6mm;
  }

  .print-page h2{
    font-size:14pt;
    margin:7mm 0 2mm;
  }

  .print-page ul,
  .print-page ol{
    padding-left:7mm;
  }

  .print-page li{
    margin-bottom:2mm;
    break-inside:avoid;
  }

  .print-meta{
    font-weight:700;
    margin-bottom:5mm;
  }
}

/* ===== Tela de acesso criativa - override final ===== */
.gate{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;padding:22px 18px;align-items:flex-start;background:radial-gradient(circle at 8% 12%, rgba(128,176,146,.24) 0 118px, transparent 119px),radial-gradient(circle at 88% 4%, rgba(247,196,103,.20) 0 104px, transparent 105px),radial-gradient(circle at 92% 88%, rgba(128,176,146,.18) 0 132px, transparent 133px),linear-gradient(180deg,#fbfaf1 0%,#eef6ed 100%);color:#294f4b;overflow-y:auto}
.gate-inner{position:relative;z-index:2}
.gate-creative{width:100%;max-width:420px;min-height:auto;margin:auto;padding:10px 0 18px;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center;animation:fadeUp .24s ease both}
.gate-decor{position:absolute;z-index:1;pointer-events:none;user-select:none;opacity:.34;filter:drop-shadow(0 16px 22px rgba(43,78,65,.10))}
.decor-top-left{width:122px;top:-32px;left:-34px;transform:rotate(-9deg)}
.decor-top-right{width:116px;top:-28px;right:-30px;transform:rotate(8deg)}
.decor-bottom-left{width:132px;bottom:-54px;left:-38px;transform:rotate(8deg)}
.decor-bottom-right{width:124px;bottom:-48px;right:-34px;transform:rotate(-8deg)}
.gate-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 14px}
.gate-logo{width:138px;height:138px;object-fit:contain;display:block}
.gate-brand p{max-width:310px;margin:0 auto;color:#54716b;font-size:13px;line-height:1.45;font-weight:650}
.gate-card{width:100%;margin:0 auto;padding:20px 16px 16px;border-radius:28px;border:1px solid rgba(89,129,104,.18);background:rgba(255,255,255,.90);box-shadow:0 22px 48px rgba(50,75,62,.13);backdrop-filter:blur(8px)}
.gate-card-head{text-align:left;margin-bottom:16px}
.gate-eyebrow{display:block;color:#b77832;font-size:10px;font-weight:900;letter-spacing:1.2px;margin-bottom:7px}
.gate-card h1{margin:0 0 7px;color:#2e5d58;font-size:25px;line-height:1.1;font-weight:900}
.gate-card-head p{margin:0;color:#607a74;font-size:13px;line-height:1.45}
.gate-card .gate-form{background:transparent;border:0;padding:0;border-radius:0}
.gate-card .gfield{margin-bottom:13px}
.gate-card .gfield span{color:#365e59;font-size:12px;font-weight:850;opacity:1;margin-bottom:6px}
.gate-card .gfield input{min-height:56px;border-radius:17px;border:1px solid #dfeae0;background:#fbfdf9;color:#233f3b;padding:0 15px;font-size:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.gate-card .gfield input:focus{outline:3px solid rgba(91,160,133,.22);border-color:#70aa92}
.gate-submit.btn-primary{min-height:56px;margin-top:4px;border-radius:18px;background:linear-gradient(180deg,#68b29a 0%,#4a927c 100%);color:#fff;box-shadow:0 14px 22px rgba(65,132,109,.20)}
.gate-submit span{display:inline-block;margin-left:5px}
.gate-access-hint{margin:11px 0 0;color:#6f817c;font-size:11.5px;font-weight:700}
.gate-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 0}
.gate-benefits div{min-height:54px;border-radius:16px;border:1px solid rgba(98,138,115,.16);background:rgba(255,255,255,.62);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 4px}
.gate-benefit-icon{display:block;width:21px;height:21px;border-radius:50%;background:#fff4d9;color:#9d6d20;font-size:13px;line-height:21px;font-weight:900}
.gate-benefits b{color:#426660;font-size:10.2px;line-height:1.12}
.gate-creative .gnote{max-width:352px;margin:13px auto 0;color:#687a75;opacity:1;font-size:10.5px;line-height:1.45}
@media(max-width:360px){.gate{padding:16px 14px}.gate-logo{width:126px;height:126px}.gate-card{padding:17px 14px 14px;border-radius:24px}.gate-card h1{font-size:23px}.decor-bottom-right{display:none}.gate-benefits{grid-template-columns:1fr;gap:6px}.gate-benefits div{min-height:38px;flex-direction:row}}
@media(min-width:700px){.gate{align-items:center;padding:34px}.gate-creative{max-width:430px}.gate-card{max-width:430px;padding:24px 22px 18px}.decor-top-left{width:174px;top:18px;left:calc(50% - 350px)}.decor-top-right{width:168px;top:22px;right:calc(50% - 350px)}.decor-bottom-left{width:190px;bottom:12px;left:calc(50% - 365px)}.decor-bottom-right{width:178px;bottom:18px;right:calc(50% - 360px)}}
