/* ===== 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}
.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)}
.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:92px;height:92px;border-radius:26px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.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 svg{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 svg{width:58px;height:48px}
.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}
.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 svg{width:52px;height:44px}
  .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 svg{width:70px;height:auto;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;}
.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;}
.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:58px;height:58px;border-radius:18px;margin:0 auto 10px;background:linear-gradient(135deg,#68b59b,#478d7b);box-shadow:none;}
.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-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;}
.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;}
.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;}
.image-placeholder.food-art,
.image-placeholder.vc-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;
}
.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;
}
.food-profile-dashboard .food-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.food-child-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #e7ede6;
  border-radius:14px;
  padding:10px;
  background:#fbfcfa;
}
.food-child-head span{
  color:#647574;
  font-size:12.5px;
  line-height:1.35;
}
.food-edit-block{
  border:1px solid #e7ede6;
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.food-edit-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.food-edit-head b{
  display:block;
  font-size:14px;
  color:#29484a;
  margin-bottom:3px;
}
.food-edit-head span{
  display:block;
  font-size:11.5px;
  line-height:1.35;
  color:#6b7b79;
}
.food-edit-head .mini-btn,
.food-child-head .mini-btn{
  width:auto;
  flex:none;
  padding:8px 10px;
  font-size:11.5px;
}
.food-edit-rows{
  display:grid;
  gap:7px;
}
.food-edit-rows div{
  display:grid;
  grid-template-columns:1fr auto;
  gap:2px 8px;
  align-items:center;
  padding-top:7px;
  border-top:1px solid #eef2ed;
}
.food-edit-rows div:first-child{
  border-top:0;
  padding-top:0;
}
.food-edit-rows strong{
  grid-column:1;
  color:#496966;
  font-size:11.5px;
}
.food-edit-rows span{
  grid-column:1;
  color:#667674;
  font-size:12px;
  line-height:1.4;
}
.food-edit-rows .mini-btn{
  grid-column:2;
  grid-row:1 / span 2;
  width:auto;
  padding:7px 9px;
  font-size:11px;
}
.profile-filter-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #f0dfb8;
  border-radius:14px;
  background:#fff8e9;
  color:#7f6840;
  padding:10px 11px;
  margin:10px 0 12px;
}
.profile-filter-notice span{
  font-size:11.5px;
  line-height:1.4;
}
.profile-filter-notice .link{
  flex:none;
  font-size:11.5px;
  color:#32685a;
}
.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:#56645e;
  --secondary-text:#56645e;
  --focus-ring:#1f7a62;
  --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;
  }
}
