/* ===== Totem autoatendimento (visual grande, touch) ===== */
.kiosk{background:#0b0f17}
.hide{display:none !important}

/* ---- Tela inicial ---- */
.home{position:fixed;inset:0;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#1a0e12 0%,#0b0f17 55%)}
.home-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;flex:none}
.loja-fixa{font-size:13px;font-weight:800;color:#ffd166;background:rgba(255,209,102,.12);border:1px solid rgba(255,209,102,.35);border-radius:999px;padding:6px 14px}
.home-logo{font-size:30px;font-weight:900;color:#fff;letter-spacing:-1px;-webkit-user-select:none;user-select:none}
.home-logo span{color:var(--brand2)}

.home-scroll{flex:1;overflow-y:auto;padding:4px 16px 10px;-webkit-overflow-scrolling:touch}
.sect-ttl{font-size:17px;font-weight:900;color:#fff;margin:20px 4px 12px}

/* banner de promoção grande */
.promo-banner{position:relative;width:100%;min-height:230px;border-radius:24px;overflow:hidden;
  background:#161b26 center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;
  padding:22px;box-shadow:0 14px 36px rgba(0,0,0,.5);margin-top:6px}
.promo-banner::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.86) 100%)}
.promo-banner>*{position:relative;z-index:1}
.pb-tag{display:inline-block;align-self:flex-start;background:var(--brand);color:#fff;font-weight:900;
  font-size:12px;letter-spacing:1px;padding:6px 12px;border-radius:999px;margin-bottom:10px}
.pb-h1{font-size:30px;font-weight:900;color:#fff;line-height:1.05;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.pb-h2{font-size:15px;color:#ffe8c2;margin-top:6px;font-weight:600}

/* combos em destaque */
.combos-destaque{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:430px){.combos-destaque{grid-template-columns:1fr}}
.combo-card{position:relative;min-height:168px;border-radius:20px;overflow:hidden;cursor:pointer;
  background:#161b26 center/cover no-repeat;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.combo-card .cc-ov{position:absolute;inset:0;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.82))}
.combo-card.monte .cc-ov{background:linear-gradient(150deg,rgba(226,29,72,.78),rgba(255,122,60,.72))}
.cc-badge{align-self:flex-start;background:#ffd166;color:#3a1d00;font-weight:900;font-size:11px;
  padding:5px 10px;border-radius:999px;margin-bottom:auto}
.cc-t{font-size:20px;font-weight:900;color:#fff;margin-top:10px;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.cc-s{font-size:12.5px;color:#f3f4f6;margin-top:3px}
.cc-btn{margin-top:10px;align-self:flex-start;background:#fff;color:#111;font-weight:900;font-size:13px;padding:9px 14px;border-radius:999px}

/* categorias na home */
.home-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding-bottom:6px}
.hc-tile{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;cursor:pointer;
  background:linear-gradient(145deg,#2a1420,#161b26) center/cover no-repeat;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.4)}
.hc-tile .hc-emoji{font-size:46px}
.hc-tile .hc-txt{position:absolute;left:0;right:0;bottom:0;padding:14px 8px 10px;color:#fff;font-weight:900;font-size:14px;
  text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.85))}

/* barra fixa de começar */
.home-cta-wrap{flex:none;padding:12px 16px calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(11,15,23,0),#0b0f17 30%);text-align:center}
.home-sub{font-size:15px;color:#c3cad8;margin-bottom:8px}
.home-cta{background:var(--brand);color:#fff;border:none;border-radius:18px;
  font-size:26px;font-weight:900;padding:22px;width:100%;letter-spacing:.5px;
  box-shadow:0 12px 30px rgba(226,29,72,.45);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.home-foot{color:var(--fim);font-size:12px;padding-top:8px}

/* ---- App ---- */
.app{min-height:100vh;display:flex;flex-direction:column}
.app-hd{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;
  background:var(--brand);color:#fff;padding:12px 14px}
.hd-back,.hd-home{background:rgba(255,255,255,.18);border:none;color:#fff;
  font-size:22px;width:46px;height:46px;border-radius:12px;font-weight:800}
.hd-title{flex:1;text-align:center;font-size:20px;font-weight:900}
.view{flex:1;padding:14px 14px 100px}

/* ---- Quadrinhos de categoria ---- */
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.cattile{position:relative;aspect-ratio:1/1;border-radius:20px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(145deg,#2a1420,#161b26) center/cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.cattile .emoji{font-size:54px}
.cattile .ctxt{position:absolute;left:0;right:0;bottom:0;padding:12px 8px;
  background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-weight:900;font-size:16px;text-align:center}
.cattile.combo{grid-column:1/-1;aspect-ratio:auto;min-height:120px;
  background:linear-gradient(120deg,#e21d48,#ff7a3c)}
.cattile.combo .emoji{font-size:40px}
.cattile.combo .ctxt{position:static;background:none;font-size:20px}

/* ---- Produtos ---- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;text-align:left}
.pcard .pimg{width:100%;height:150px;background:#0b0f17 center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;font-size:42px;color:#44506a}
.pcard .pbody{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard h4{font-size:17px;color:#fff;font-weight:800}
.pcard p{font-size:12px;color:#aab2c2;flex:1;line-height:1.35}
.pcard .pfoot{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.pcard .pr{color:var(--brand2);font-weight:900;font-size:19px}
.pcard .add{background:var(--brand);color:#fff;border:none;border-radius:12px;padding:12px 18px;font-weight:900;font-size:15px}

/* ---- Modal foto grande ---- */
.sheet .mfoto{width:100%;height:210px;border-radius:14px;background:#0b0f17 center/cover no-repeat;
  margin-bottom:12px;display:flex;align-items:center;justify-content:center;font-size:60px;color:#44506a}

/* ---- Carrinho ---- */
.citem{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.citem .ci-img{width:60px;height:60px;border-radius:12px;background:#0b0f17 center/cover no-repeat;flex:none;
  display:flex;align-items:center;justify-content:center;font-size:26px;color:#44506a}
.citem .ci-mid{flex:1}
.citem .ci-mid b{font-size:15px;color:#fff;display:block}
.citem .ci-mid small{display:block;color:#9aa3b2;font-size:12px;margin-top:2px}
.citem .ci-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.citem .ci-pr{font-weight:900;color:var(--brand2)}
.qtybox{display:flex;align-items:center;gap:10px}
.qtybox button{width:34px;height:34px;border-radius:10px;border:none;background:var(--card2);color:#fff;font-size:20px;font-weight:900}
.qtybox b{min-width:22px;text-align:center;color:#fff}
.ci-rm{display:inline-block;margin-top:8px;background:rgba(255,138,138,.12);border:1px solid rgba(255,138,138,.3);color:#ff8a8a;font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px}

/* ---- Combo builder ---- */
.cbstep{margin:10px 0}
.cbstep .cbt{font-size:14px;font-weight:900;color:var(--brand2);margin-bottom:8px}
.cbopt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;border:1px solid var(--line);
  border-radius:12px;margin-bottom:8px;background:var(--card2);color:#fff}
.cbopt.on{border-color:var(--brand);background:rgba(226,29,72,.14)}
.cbopt .cbp{color:var(--brand2);font-weight:800;font-size:13px}
