*{box-sizing:border-box}
:root{
  --brand:#ea1d2c;
  --brand-dark:#c91626;
  --green:#168647;
  --text:#1f1f1f;
  --muted:#6f6f6f;
  --line:#ececec;
  --soft:#f7f7f7;
  --white:#fff;
  --shadow:0 8px 28px rgba(0,0,0,.08);
}
html{scroll-behavior:smooth;font-size:16px}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
img{max-width:100%;display:block}
.hidden{display:none!important}
.container{width:min(1180px,calc(100% - 36px));margin:auto}

/* HERO DESKTOP */
.hero-cover{height:300px;position:relative;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.10))}
.hero-copy{position:absolute;z-index:2;left:max(28px,calc((100% - 1180px)/2));top:64px;color:#fff;max-width:520px}
.hero-copy .pill{display:inline-flex;padding:7px 11px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.hero-copy h1{font-size:48px;line-height:1.05;letter-spacing:-1.5px;margin:12px 0 9px;font-weight:900}
.hero-copy p{font-size:17px;line-height:1.5;margin:0;opacity:.94}

/* INFO RESTAURANTE */
.restaurant-card{position:relative;z-index:5;margin-top:-38px;background:#fff;border:1px solid #eee;border-radius:18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px;padding:18px 22px}
.restaurant-logo{width:70px;height:70px;flex:0 0 70px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #eee}
.restaurant-logo img{width:100%;height:100%;object-fit:cover}
.restaurant-main{min-width:0}
.restaurant-main h2{font-size:23px;line-height:1.15;margin:0 0 5px;font-weight:850}
.restaurant-main h2 span{font-size:13px;color:#f08b00}
.restaurant-main p{font-size:13px;color:var(--muted);margin:0}
.restaurant-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:12px;font-weight:700;color:#5f5f5f}

/* BUSCA / CATEGORIAS */
.toolbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);padding:20px 0 10px}
.search{height:50px;display:flex;align-items:center;border:1px solid #ddd;border-radius:14px;background:#fafafa;padding:0 14px}
.search span{font-size:22px;color:#666}
.search input{width:100%;border:0;outline:0;background:transparent;padding:0 10px;font-size:15px;color:#222}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none;scroll-snap-type:x proximity}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;border:1px solid #e3e3e3;background:#fff;color:#535353;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer;scroll-snap-align:start}
.tab.active{background:var(--brand);border-color:var(--brand);color:#fff}

/* SEÇÃO DE DESTAQUES */
.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:24px 0 14px}
.section-title small,.eyebrow{font-size:10px;color:#e86617;font-weight:900;letter-spacing:.08em}
.section-title h2{font-size:26px;line-height:1.1;margin:3px 0 0;font-weight:900;letter-spacing:-.35px}
.section-title>span{font-size:12px;color:#888}
.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.feature-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;cursor:pointer;transition:.16s ease}
.feature-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.feature-photo{width:100%;aspect-ratio:4/3;background:#fafafa;overflow:hidden;display:flex;align-items:center;justify-content:center}
.real-feature-image{width:100%;height:100%;object-fit:cover;object-position:center}
.emoji-media{width:100%;height:100%;display:grid;place-items:center;font-size:52px;background:#f8f1e9}
.feature-body{padding:13px}
.feature-body h3{font-size:15px;line-height:1.26;font-weight:800;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.feature-body p{font-size:12px;line-height:1.38;color:#707070;margin:0 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.soft-divider{height:12px;background:#f7f7f7;margin:28px 0}

/* CATÁLOGO */
.menu-wrap{padding-bottom:100px}
.menu-section{scroll-margin-top:110px;margin-bottom:34px}
.menu-section>h2{font-size:24px;line-height:1.15;margin:0 0 13px;font-weight:900;letter-spacing:-.35px}
.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px}
.product-card{min-height:140px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:15px;cursor:pointer;transition:.15s ease}
.product-card:hover{border-color:#ddd;box-shadow:0 7px 18px rgba(0,0,0,.05)}
.product-card>div:first-child{flex:1 1 auto;min-width:0}
.product-card h3{font-size:16px;line-height:1.25;font-weight:800;margin:0 0 6px}
.product-card p{font-size:12.7px;line-height:1.42;color:#707070;margin:0 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-thumb{flex:0 0 116px;width:116px;height:100px;border-radius:10px;background:#fafafa;overflow:hidden}
.real-product-image{width:100%;height:100%;object-fit:cover;object-position:center}
.price-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.price-now{font-size:15px;font-weight:900;color:var(--green)}
.price-old{font-size:11.5px;color:#999;text-decoration:line-through}
.serves-badge{display:inline-flex;width:max-content;font-size:10.5px;color:#676767;background:#f5f5f5;border-radius:999px;padding:4px 7px;margin:0 0 7px}
.promo-badge{display:inline-flex;width:max-content;margin-bottom:6px;padding:4px 6px;border-radius:5px;background:#fff0f1;color:#d7192d;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}

/* CARRINHO FLUTUANTE */
.top-cart{position:fixed;right:18px;top:16px;z-index:80;border:0;border-radius:999px;background:#fff;padding:9px 13px;box-shadow:0 5px 18px rgba(0,0,0,.14);font-weight:900;cursor:pointer}
.floating-cart{position:fixed;z-index:90;bottom:18px;left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 28px));background:var(--brand);color:#fff;border:0;border-radius:15px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 28px rgba(0,0,0,.22);cursor:pointer}
.floating-cart span{display:flex;flex-direction:column;align-items:flex-start}
.floating-cart small{opacity:.85;margin-top:1px}

/* MODAIS */
.modal{position:fixed;inset:0;z-index:150;display:flex;align-items:flex-end;justify-content:center}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(2px)}
.sheet{position:relative;z-index:2;width:min(760px,100%);max-height:94dvh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -10px 34px rgba(0,0,0,.22)}
.cart-sheet{width:min(1040px,100%);padding:22px}
.pix-sheet{width:min(520px,100%);padding:26px;text-align:center}
.close{position:absolute;z-index:5;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:25px;cursor:pointer}
.close.inline{position:static;background:#f2f2f2}
.product-photo{height:280px;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.sheet-pad{padding:24px}
.sheet-pad h2{font-size:26px;line-height:1.15;margin:5px 0 9px;font-weight:900}
.muted{color:#666;line-height:1.5}
#productDesc{font-size:14px}
.big-price{display:block;font-size:22px;color:var(--green);margin:12px 0;font-weight:900}
.big-price del{font-size:13px;color:#999;font-weight:500;margin-left:6px}

/* COMPLEMENTOS */
.option-block{margin:20px 0;border:1px solid #e8e8e8;border-radius:14px;overflow:hidden;background:#fff}
.dynamic-group{border-bottom:8px solid #f6f6f6;scroll-margin-top:82px;transition:background .2s ease,box-shadow .2s ease}
.dynamic-group:last-child{border-bottom:0}
.dynamic-group.auto-focus{background:#fffdf8;box-shadow:inset 3px 0 0 var(--brand)}
.option-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 15px;background:#fafafa;border-bottom:1px solid #eee}
.option-title-wrap{min-width:0;flex:1}
.option-title-wrap h3{font-size:15px;line-height:1.25;margin:0 0 3px;font-weight:800}
.option-rule{display:block;font-size:11.5px;color:#747474}
.option-status{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.required-badge,.optional-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap}
.required-badge{background:#fff0e8;color:#df5a0b}
.optional-badge{background:#eee;color:#666}
.group-counter{font-size:11px;color:#666}
.group-counter.counter-complete{color:var(--green)}
.choice-list{display:flex;flex-direction:column}
.choice-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px;width:100%;min-height:58px;padding:11px 15px!important;margin:0!important;border-bottom:1px solid #f0f0f0;background:#fff;cursor:pointer}
.choice-row:last-child{border-bottom:0}
.choice-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.choice-copy b{font-size:13px;font-weight:650;line-height:1.3}
.choice-copy small{font-size:11.5px;color:#777;line-height:1.35}
.radio-choice input[type="radio"]{appearance:none;-webkit-appearance:none;flex:0 0 21px;width:21px!important;height:21px!important;margin:0!important;border:2px solid #aaa;border-radius:50%;background:#fff;cursor:pointer}
.radio-choice input[type="radio"]:checked{border-color:var(--brand);box-shadow:inset 0 0 0 4px #fff;background:var(--brand)}
.choice-qty{display:grid;grid-template-columns:30px 26px 30px;align-items:center;justify-items:center;flex:0 0 auto}
.choice-qty button{width:29px;height:29px;padding:0;display:grid;place-items:center;border:1px solid #ddd;border-radius:50%;background:#fff;color:var(--brand);font-size:18px;cursor:pointer}
.choice-count{font-size:13px;font-weight:800}
.choice-free{display:block;width:calc(100% - 30px)!important;margin:14px 15px!important;border:1px solid #ddd;border-radius:10px;padding:11px 12px}

/* FORMULÁRIOS */
.field{display:flex;flex-direction:column;gap:6px;margin:11px 0}
.field>span{font-size:12px;font-weight:800;color:#555}
.field input,.field textarea,.field select{border:1px solid #dcdcdc;border-radius:10px;padding:11px 12px;outline:0;background:#fff;min-height:44px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#e86617;box-shadow:0 0 0 3px rgba(232,102,23,.10)}
.field input[readonly]{background:#f5f5f5;color:#555}
.field textarea{min-height:74px;resize:vertical}
.add-row{display:flex;gap:12px;align-items:center}
.qty{display:flex;align-items:center;gap:12px;border:1px solid #ddd;border-radius:11px;padding:5px}
.qty button{border:0;background:#f1f1f1;width:32px;height:32px;border-radius:8px;font-size:19px}
.primary,.secondary{border:0;border-radius:11px;padding:12px 16px;font-weight:900;cursor:pointer;min-height:46px}
.primary{background:var(--brand);color:#fff}
.primary:hover{background:var(--brand-dark)}
.primary:disabled{background:#c8c8c8;cursor:not-allowed}
.secondary{background:#f3f3f3;color:#222;border:1px solid #ddd}
.wide{width:100%}

/* CHECKOUT */
.sheet-head{display:flex;justify-content:space-between;align-items:center}
.sheet-head h2{font-size:25px;margin:3px 0}
.cart-items{border-top:1px solid #eee;border-bottom:1px solid #eee;margin:14px 0}
.cart-item{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #f1f1f1}
.cart-item:last-child{border:0}
.cart-item h4{font-size:14px;margin:0 0 4px}
.cart-item small{display:block;color:#777;font-size:11.5px;margin-bottom:4px}
.cart-item button{border:0;background:none;color:#bf302b;cursor:pointer}
.empty{padding:22px;text-align:center;color:#777}
.mode-switch{display:grid;grid-template-columns:1fr 1fr;background:#f3f3f3;border-radius:12px;padding:5px;margin:17px 0}
.mode{border:0;background:transparent;border-radius:9px;padding:11px;font-weight:900;cursor:pointer}
.mode.active{background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.07)}
.checkout-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:26px}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.cep-row{grid-template-columns:1fr 145px;align-items:end}
.cep-row .secondary{margin-bottom:11px;height:44px}
.address-head{display:flex;justify-content:space-between;align-items:center;margin-top:15px}
.address-head h3{margin:0}
.status-badge{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}
.status-badge.neutral{background:#eee;color:#666}
.status-badge.ok{background:#e6f6ed;color:var(--green)}
.status-badge.error{background:#ffe9e7;color:#b8332e}
.address-card{background:#fff7eb;border:1px solid #f5d2aa;border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:3px;margin:9px 0}
.address-card small{color:#7c664f;line-height:1.35}
.delivery-calc{display:flex;justify-content:space-between;align-items:center;border:1px solid #d8eadf;background:#f3fbf6;border-radius:12px;padding:13px;margin:11px 0 18px}
.delivery-calc div{display:flex;flex-direction:column}
.delivery-calc small{color:#66766c}
.delivery-calc strong{font-size:18px;color:var(--green)}
.notice{border-left:4px solid #e86617;background:#fff7f1;padding:11px 13px;border-radius:8px;display:flex;flex-direction:column;gap:3px}
.notice span{font-size:12px;color:#666}
.summary{background:#f8f8f8;border-radius:14px;padding:17px;height:max-content;position:sticky;top:100px}
.summary>div{display:flex;justify-content:space-between;margin:9px 0}
.summary hr{border:0;border-top:1px solid #ddd}
.summary-total strong{font-size:20px;color:var(--green)}
.summary>small{display:block;color:#777;line-height:1.4;margin:11px 0}

/* PIX */
.pix-amount{font-size:27px;font-weight:950;color:var(--green);margin:12px 0}
.pix-receiver{display:flex;flex-direction:column;gap:2px;margin:0 auto 9px;color:#555}
.pix-receiver small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#888}
.pix-receiver b{font-size:14px;color:#222}
.pix-receiver span{font-size:12px;color:#777}
.pix-qr{display:block;width:min(260px,76vw);margin:9px auto 16px;border:9px solid #fff;box-shadow:0 3px 15px rgba(0,0,0,.10);border-radius:11px}
.payment-status{margin:15px 0 8px;padding:13px;border-radius:11px;text-align:left;display:flex;gap:11px;align-items:center;background:#fff7e7}
.payment-status div{display:flex;flex-direction:column}
.payment-status small{color:#71685b;margin-top:2px}
.link-btn{border:0;background:none;color:#666;padding:11px;cursor:pointer}
.approved-box{padding:22px 0}
.approved-icon{display:grid;place-items:center;margin:0 auto 17px;width:72px;height:72px;background:var(--green);color:#fff;border-radius:50%;font-size:38px;font-weight:900}
.success-icon{font-size:32px}
.toast{position:fixed;z-index:300;bottom:20px;left:50%;transform:translateX(-50%);background:#222;color:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 7px 22px rgba(0,0,0,.24)}

/* TABLET */
@media(max-width:980px) and (min-width:769px){
  .container{width:min(100% - 28px,1040px)}
  .featured-grid{grid-template-columns:repeat(4,minmax(200px,1fr));overflow-x:auto;padding-bottom:5px}
  .product-thumb{flex-basis:106px;width:106px;height:94px}
  .product-card{padding:13px}
}

/* MOBILE - estilo app, com cabeçalho compacto */
@media(max-width:768px){
  body{overflow-x:hidden}
  .container{width:calc(100% - 24px)}

  /* cabeçalho restaurante visível */
  .hero{display:block;background:#fff}
  .hero-cover{display:none}
  .restaurant-card{width:100%;margin:0;padding:12px 14px;border:0;border-bottom:1px solid #eee;border-radius:0;box-shadow:none;gap:11px}
  .restaurant-logo{width:54px;height:54px;flex-basis:54px}
  .restaurant-main h2{font-size:18px;margin-bottom:3px}
  .restaurant-main h2 span{display:none}
  .restaurant-main p{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .restaurant-meta{gap:8px;margin-top:5px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .restaurant-meta::-webkit-scrollbar{display:none}
  .restaurant-meta span{flex:0 0 auto;font-size:10.5px;white-space:nowrap}

  /* busca + tabs */
  .toolbar{width:100%!important;padding:10px 12px 0;top:0;border-bottom:1px solid #eee}
  .search{height:46px;border:0;border-radius:23px;background:#f3f3f3;padding:0 14px}
  .search input{font-size:14px;font-weight:600;color:#555}
  .tabs{gap:0;margin-top:7px;padding:0}
  .tab{border:0!important;background:#fff!important;color:#6d6d6d!important;border-radius:0!important;padding:14px 14px 11px!important;min-height:47px;font-size:13px;font-weight:500;position:relative}
  .tab.active{color:#111!important;font-weight:750}
  .tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:#222;border-radius:2px}

  /* destaque oculto no app mobile */
  .section-title,.featured-grid,.soft-divider{display:none}

  .menu-wrap{width:100%;max-width:none;margin:0;padding:10px 0 86px}
  .menu-section{margin:0;padding:0 16px}
  .menu-section>h2{font-size:24px;line-height:1.12;margin:20px 0 12px;padding-top:3px}

  .products{display:block}
  .product-card{min-height:142px;padding:15px 0;display:flex;align-items:flex-start;gap:12px;border:0;border-bottom:1px solid #eee;border-radius:0;box-shadow:none!important;transform:none!important}
  .product-card h3{font-size:16px;line-height:1.26;margin-bottom:4px}
  .product-card p{font-size:13.5px;line-height:1.38;-webkit-line-clamp:2;margin-bottom:8px;color:#727272}
  .product-thumb{flex:0 0 124px;width:124px;height:124px;border-radius:19px}
  .real-product-image{border-radius:19px;object-fit:cover}
  .serves-badge,.promo-badge{display:none}
  .price-now{font-size:16.5px;color:#1f1f1f;font-weight:550}
  .price-old{font-size:13.5px}
  .price-line:has(.price-old):after{content:"Oferta";display:inline-flex;align-items:center;height:24px;padding:0 7px;border-radius:999px;background:#21b573;color:#fff;font-size:10px;font-weight:800}

  /* carrinho */
  .floating-cart{display:none!important}
  .top-cart{top:auto;bottom:14px;right:13px;width:46px;height:46px;padding:0;display:grid;place-items:center;border-radius:50%}
  .top-cart span{position:absolute;top:-2px;right:-2px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:9px}

  /* modal */
  .sheet{max-height:95dvh}
  .product-photo{height:235px}
  .sheet-pad{padding:20px 16px 24px}
  .sheet-pad h2{font-size:23px}
  #productDesc{font-size:13.5px}
  .big-price{font-size:20px}
  .option-head{padding:13px 14px}
  .option-title-wrap h3{font-size:14.5px}
  .choice-row{padding:11px 14px!important}
  .choice-copy b{font-size:13px}
  .checkout-grid{grid-template-columns:1fr}
  .summary{position:static}
  .two-cols{grid-template-columns:1fr}
  .cep-row{grid-template-columns:1fr 112px}
  .add-row{position:sticky;bottom:0;background:#fff;padding-top:9px}
}

/* MOBILE pequeno */
@media(max-width:430px){
  .restaurant-card{padding:11px 12px}
  .restaurant-logo{width:50px;height:50px;flex-basis:50px}
  .restaurant-main h2{font-size:17px}
  .toolbar{padding-left:10px;padding-right:10px}
  .menu-section{padding:0 14px}
  .menu-section>h2{font-size:23px}
  .product-card{min-height:132px;gap:10px;padding:14px 0}
  .product-card h3{font-size:15px}
  .product-card p{font-size:12.8px}
  .product-thumb{flex-basis:112px;width:112px;height:112px;border-radius:17px}
  .real-product-image{border-radius:17px}
}

/* =========================================================
   V17 — CHECKOUT / FINALIZAR PEDIDO
   Encaixe perfeito em celular sem cortar conteúdo.
   ========================================================= */

@media(max-width:768px){
  /* modal ocupa exatamente a viewport */
  #cartModal{
    align-items:stretch !important;
    justify-content:stretch !important;
  }

  #cartModal .modal-backdrop{
    display:none !important;
  }

  #cartModal .cart-sheet{
    width:100% !important;
    max-width:none !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 0 calc(120px + env(safe-area-inset-bottom)) !important;
    border-radius:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff;
  }

  /* cabeçalho sempre acessível */
  #cartModal .sheet-head{
    position:sticky !important;
    top:0 !important;
    z-index:30 !important;
    min-height:67px;
    padding:12px 15px !important;
    background:rgba(255,255,255,.98) !important;
    backdrop-filter:blur(12px);
    border-bottom:1px solid #ededed;
  }

  #cartModal .sheet-head .eyebrow{
    font-size:9px;
  }

  #cartModal .sheet-head h2{
    font-size:22px !important;
    line-height:1.1;
    margin:2px 0 0 !important;
  }

  #cartModal .close.inline{
    width:38px;
    height:38px;
    flex:0 0 38px;
    font-size:23px;
  }

  /* produtos do carrinho */
  #cartModal .cart-items{
    margin:0 !important;
    padding:0 15px;
    border-top:0 !important;
  }

  #cartModal .cart-item{
    padding:12px 0 !important;
  }

  #cartModal .cart-item h4{
    font-size:14px !important;
  }

  #cartModal .cart-item small{
    font-size:11px !important;
    line-height:1.35;
  }

  /* entrega / retirada */
  #cartModal .mode-switch{
    margin:12px 15px 14px !important;
    padding:4px !important;
  }

  #cartModal .mode{
    min-height:42px;
    padding:9px 8px !important;
    font-size:13px;
  }

  /* checkout em uma coluna */
  #cartModal .checkout-grid{
    display:block !important;
    padding:0 15px;
  }

  #cartModal .checkout-grid>div{
    width:100%;
  }

  #cartModal .checkout-grid h3{
    font-size:17px;
    margin:18px 0 8px;
  }

  /* campos compactos, mas confortáveis */
  #cartModal .two-cols{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  #cartModal .field{
    margin:8px 0 !important;
    gap:4px !important;
  }

  #cartModal .field>span{
    font-size:11px !important;
  }

  #cartModal .field input,
  #cartModal .field select,
  #cartModal .field textarea{
    width:100%;
    min-height:43px !important;
    padding:9px 11px !important;
    font-size:14px !important;
    border-radius:9px !important;
  }

  #cartModal .field textarea{
    min-height:68px !important;
  }

  /* CEP: campo e botão lado a lado */
  #cartModal .cep-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 105px !important;
    gap:8px !important;
    align-items:end;
  }

  #cartModal .cep-row .field{
    min-width:0;
  }

  #cartModal #lookupCep{
    height:43px !important;
    min-height:43px !important;
    margin:8px 0 !important;
    padding:7px 8px !important;
    font-size:12px !important;
  }

  #cartModal .address-head{
    margin-top:14px !important;
    gap:8px;
  }

  #cartModal .address-head h3{
    font-size:16px !important;
    margin:0 !important;
  }

  #cartModal .status-badge{
    font-size:9px !important;
    padding:5px 7px !important;
    flex:0 0 auto;
  }

  #cartModal .address-card{
    padding:10px 11px !important;
    margin:8px 0 !important;
  }

  #cartModal .address-card b{
    font-size:12px;
  }

  #cartModal .address-card small{
    font-size:10px;
  }

  #cartModal .delivery-calc{
    padding:10px 11px !important;
    margin:9px 0 14px !important;
    gap:10px;
  }

  #cartModal .delivery-calc small{
    font-size:10px;
  }

  #cartModal .delivery-calc b{
    font-size:12px;
  }

  #cartModal .delivery-calc strong{
    font-size:16px !important;
  }

  #cartModal .notice{
    padding:10px 11px !important;
    margin-bottom:7px;
  }

  #cartModal .notice b{
    font-size:12px;
  }

  #cartModal .notice span{
    font-size:10.5px !important;
    line-height:1.35;
  }

  #cartModal #payerCityHelp{
    font-size:10px !important;
    line-height:1.3;
  }

  /*
   * Resumo fixo no rodapé.
   * O usuário sempre vê o total e o botão sem o formulário "comer" a tela.
   */
  #cartModal .summary{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:45 !important;
    width:100% !important;
    margin:0 !important;
    padding:10px 15px calc(10px + env(safe-area-inset-bottom)) !important;
    border-radius:16px 16px 0 0 !important;
    background:rgba(255,255,255,.985) !important;
    backdrop-filter:blur(14px);
    border-top:1px solid #e7e7e7;
    box-shadow:0 -8px 24px rgba(0,0,0,.10);
  }

  #cartModal .summary h3,
  #cartModal .summary hr,
  #cartModal .summary>div:not(.summary-total),
  #cartModal .summary>small{
    display:none !important;
  }

  #cartModal .summary-total{
    margin:0 0 7px !important;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
  }

  #cartModal .summary-total span{
    font-size:12px;
    font-weight:700;
    color:#666;
  }

  #cartModal .summary-total strong{
    font-size:20px !important;
    color:#168647;
  }

  #cartModal #finishOrder{
    min-height:48px !important;
    border-radius:11px !important;
    font-size:14px !important;
    margin:0 !important;
  }
}

/* celulares muito baixos / teclado aberto */
@media(max-width:768px) and (max-height:700px){
  #cartModal .cart-sheet{
    padding-bottom:106px !important;
  }

  #cartModal .sheet-head{
    min-height:58px;
    padding:8px 13px !important;
  }

  #cartModal .sheet-head h2{
    font-size:19px !important;
  }

  #cartModal .cart-items{
    padding:0 13px;
  }

  #cartModal .mode-switch{
    margin-left:13px !important;
    margin-right:13px !important;
  }

  #cartModal .checkout-grid{
    padding:0 13px;
  }

  #cartModal .field{
    margin:6px 0 !important;
  }

  #cartModal .summary{
    padding:8px 13px calc(8px + env(safe-area-inset-bottom)) !important;
  }

  #cartModal .summary-total{
    margin-bottom:5px !important;
  }

  #cartModal #finishOrder{
    min-height:44px !important;
  }
}

/* Desktop: formulário mais bem encaixado e menos alto */
@media(min-width:769px){
  #cartModal .cart-sheet{
    width:min(980px,calc(100% - 40px)) !important;
    max-height:92vh !important;
    padding:20px !important;
  }

  #cartModal .checkout-grid{
    grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr) !important;
    gap:22px !important;
  }

  #cartModal .summary{
    top:88px !important;
  }
}

/* =========================================================
   V18 — CHECKOUT SEM SOBREPOSIÇÃO
   O resumo deixa de ser fixed no celular e passa a fazer
   parte do fluxo normal da página. Nada cobre os campos.
   ========================================================= */

@media(max-width:768px){
  #cartModal{
    align-items:stretch !important;
    justify-content:stretch !important;
  }

  #cartModal .modal-backdrop{
    display:none !important;
  }

  #cartModal .cart-sheet{
    width:100% !important;
    max-width:none !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff !important;
  }

  #cartModal .sheet-head{
    position:sticky !important;
    top:0 !important;
    z-index:30 !important;
    min-height:66px !important;
    padding:12px 16px !important;
    background:rgba(255,255,255,.985) !important;
    backdrop-filter:blur(12px);
    border-bottom:1px solid #ededed !important;
  }

  #cartModal .sheet-head h2{
    font-size:22px !important;
    line-height:1.12 !important;
    margin:2px 0 0 !important;
  }

  #cartModal .cart-items{
    margin:0 !important;
    padding:0 16px !important;
    border-top:0 !important;
  }

  #cartModal .mode-switch{
    margin:12px 16px 14px !important;
  }

  #cartModal .checkout-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    width:100% !important;
    padding:0 16px 24px !important;
  }

  #cartModal .checkout-grid>div{
    width:100% !important;
    min-width:0 !important;
  }

  #cartModal .checkout-grid h3{
    font-size:18px !important;
    line-height:1.2 !important;
    margin:20px 0 9px !important;
  }

  #cartModal .two-cols{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  #cartModal .field{
    width:100% !important;
    margin:9px 0 !important;
    gap:5px !important;
  }

  #cartModal .field>span{
    font-size:12px !important;
    line-height:1.2 !important;
  }

  #cartModal .field input,
  #cartModal .field select,
  #cartModal .field textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    padding:10px 12px !important;
    font-size:14px !important;
    border-radius:10px !important;
  }

  #cartModal .field textarea{
    min-height:76px !important;
  }

  #cartModal .cep-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 112px !important;
    align-items:end !important;
    gap:9px !important;
  }

  #cartModal .cep-row .field{
    min-width:0 !important;
  }

  #cartModal #lookupCep{
    width:112px !important;
    min-width:112px !important;
    height:46px !important;
    min-height:46px !important;
    margin:9px 0 !important;
    padding:8px !important;
    font-size:12px !important;
    white-space:nowrap;
  }

  #cartModal .address-head{
    margin-top:17px !important;
  }

  #cartModal .address-head h3{
    margin:0 !important;
    font-size:17px !important;
  }

  #cartModal .address-card{
    margin:9px 0 !important;
  }

  #cartModal .delivery-calc{
    margin:10px 0 15px !important;
  }

  /* CRÍTICO: não fica mais sobre o formulário */
  #cartModal .summary{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    margin:22px 0 8px !important;
    padding:16px !important;
    border:1px solid #e7e7e7 !important;
    border-radius:14px !important;
    background:#f8f8f8 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  /* Restaura o resumo completo, pois agora há espaço real */
  #cartModal .summary h3{
    display:block !important;
    font-size:18px !important;
    margin:0 0 12px !important;
  }

  #cartModal .summary hr{
    display:block !important;
    margin:11px 0 !important;
  }

  #cartModal .summary>div{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:7px 0 !important;
    font-size:13px !important;
  }

  #cartModal .summary>small{
    display:block !important;
    margin:10px 0 12px !important;
    font-size:10.5px !important;
    line-height:1.4 !important;
    color:#777 !important;
  }

  #cartModal .summary-total{
    margin-top:10px !important;
  }

  #cartModal .summary-total span{
    font-size:14px !important;
    font-weight:800 !important;
  }

  #cartModal .summary-total strong{
    font-size:22px !important;
    color:#168647 !important;
  }

  #cartModal #finishOrder{
    width:100% !important;
    min-height:50px !important;
    margin-top:10px !important;
    font-size:14px !important;
    border-radius:11px !important;
  }

  /*
   * Espaço inferior real para barra de navegação/safe area.
   * Não é usado para compensar nenhum elemento sobreposto.
   */
  #cartModal .checkout-grid{
    padding-bottom:calc(28px + env(safe-area-inset-bottom)) !important;
  }
}

/* Em celulares estreitos, CEP ainda encaixa sem quebrar */
@media(max-width:380px){
  #cartModal .cep-row{
    grid-template-columns:minmax(0,1fr) 96px !important;
    gap:7px !important;
  }

  #cartModal #lookupCep{
    width:96px !important;
    min-width:96px !important;
    font-size:11px !important;
  }

  #cartModal .checkout-grid,
  #cartModal .cart-items{
    padding-left:13px !important;
    padding-right:13px !important;
  }

  #cartModal .mode-switch{
    margin-left:13px !important;
    margin-right:13px !important;
  }
}

/* Teclado/telas baixas: nada fica fixed além do cabeçalho */
@media(max-width:768px) and (max-height:700px){
  #cartModal .cart-sheet{
    padding-bottom:0 !important;
  }

  #cartModal .summary{
    position:static !important;
    margin-bottom:8px !important;
    padding:14px !important;
  }
}

/* =========================================================
   V19 — HEADER MOBILE PREMIUM
   ========================================================= */
.mobile-app-header{
  display:none;
}

@media(max-width:768px){
  /* remove o cabeçalho antigo do mobile para evitar duplicidade */
  .hero{
    display:none !important;
  }

  .mobile-app-header{
    display:block;
    position:relative;
    z-index:120;
    background:#fff;
    border-bottom:1px solid #ececec;
  }

  .mobile-app-header__top{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:10px;
    align-items:center;
    padding:12px 14px 10px;
    background:#fff;
  }

  .mobile-back,
  .mobile-cart-btn{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#f5f5f5;
    color:#202020;
    font-size:28px;
    line-height:1;
    cursor:pointer;
  }

  .mobile-cart-btn{
    position:relative;
    font-size:18px;
  }

  .mobile-cart-count{
    position:absolute;
    top:-3px;
    right:-3px;
    min-width:18px;
    height:18px;
    padding:0 4px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#ea1d2c;
    color:#fff;
    font-size:10px;
    font-weight:900;
    border:2px solid #fff;
  }

  .mobile-search-shell{
    height:44px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 16px;
    border-radius:22px;
    background:#f3f3f3;
    color:#666;
    font-size:14px;
    font-weight:700;
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .mobile-search-icon{
    flex:0 0 auto;
    font-size:19px;
    color:#222;
  }

  .mobile-merchant-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 16px 14px;
    background:#fff;
  }

  .mobile-merchant-logo{
    flex:0 0 58px;
    width:58px;
    height:58px;
    border-radius:50%;
    overflow:hidden;
    border:1px solid #e8e8e8;
    box-shadow:0 3px 10px rgba(0,0,0,.06);
    background:#fff;
  }

  .mobile-merchant-logo img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .mobile-merchant-info{
    min-width:0;
    flex:1;
  }

  .mobile-merchant-title-row{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
  }

  .mobile-merchant-title-row h1{
    margin:0;
    min-width:0;
    font-size:19px;
    line-height:1.15;
    font-weight:850;
    letter-spacing:-.25px;
    color:#171717;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-rating{
    flex:0 0 auto;
    color:#f39b00;
    font-size:12px;
    font-weight:900;
  }

  .mobile-merchant-info>p{
    margin:4px 0 6px;
    font-size:11px;
    line-height:1.3;
    color:#7a7a7a;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-merchant-meta{
    display:flex;
    align-items:center;
    gap:5px;
    overflow-x:auto;
    scrollbar-width:none;
    color:#5f5f5f;
    font-size:10.5px;
    white-space:nowrap;
  }

  .mobile-merchant-meta::-webkit-scrollbar{
    display:none;
  }

  .mobile-merchant-meta .free{
    color:#168647;
    font-weight:800;
  }

  /* toolbar do catálogo abaixo do header premium */
  .toolbar{
    position:sticky !important;
    top:0 !important;
    z-index:110 !important;
    border-top:1px solid #f2f2f2;
    background:rgba(255,255,255,.985) !important;
    backdrop-filter:blur(12px);
  }

  /* Esconde busca duplicada do toolbar; mantém apenas as categorias */
  .toolbar .search{
    display:none !important;
  }

  .toolbar{
    padding-top:0 !important;
  }

  .tabs{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* o botão flutuante antigo de carrinho fica oculto no mobile */
  .top-cart{
    display:none !important;
  }
}

@media(max-width:430px){
  .mobile-app-header__top{
    grid-template-columns:40px minmax(0,1fr) 40px;
    gap:8px;
    padding:10px 12px 9px;
  }

  .mobile-back,
  .mobile-cart-btn{
    width:40px;
    height:40px;
  }

  .mobile-search-shell{
    height:40px;
    font-size:13px;
    padding:0 13px;
  }

  .mobile-merchant-card{
    padding:11px 13px 12px;
  }

  .mobile-merchant-logo{
    flex-basis:52px;
    width:52px;
    height:52px;
  }

  .mobile-merchant-title-row h1{
    font-size:17px;
  }

  .mobile-merchant-info>p{
    font-size:10.5px;
  }

  .mobile-merchant-meta{
    font-size:10px;
  }
}

/* =========================================================
   V21 — SACOLA FIXA NO FOOTER MOBILE
   ========================================================= */
@media(max-width:768px){
  body{padding-bottom:82px!important}

  .floating-cart{
    display:flex!important;
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    transform:none!important;
    width:auto!important;
    min-height:58px!important;
    z-index:140!important;
    padding:11px 14px!important;
    border-radius:15px!important;
    background:#ea1d2c!important;
    color:#fff!important;
    box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
    border:0!important;
  }

  .floating-cart.hidden{
    display:flex!important;
  }

  .floating-cart.cart-empty{
    background:#3f3f3f!important;
  }

  .floating-cart span{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    min-width:0!important;
  }

  .floating-cart b{
    font-size:14px!important;
    line-height:1.15!important;
  }

  .floating-cart small{
    font-size:10px!important;
    opacity:.86!important;
  }

  .floating-cart strong{
    font-size:16px!important;
    white-space:nowrap!important;
    margin-left:12px!important;
  }

  .menu-wrap{
    padding-bottom:105px!important;
  }
}

/* V23 — entrega grátis programada */
.free-delivery-active{
  color:#168647!important;
  font-weight:950!important;
  letter-spacing:.02em;
}

/* V24 — INSTALAÇÃO PWA */
.install-app-banner{
  position:fixed;z-index:220;left:50%;transform:translateX(-50%);bottom:92px;
  width:min(620px,calc(100% - 24px));display:grid;
  grid-template-columns:52px minmax(0,1fr) auto 34px;align-items:center;gap:11px;
  padding:11px 12px;background:rgba(255,255,255,.985);border:1px solid #e8e8e8;
  border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.18);backdrop-filter:blur(14px)
}
.install-app-banner__icon{width:52px;height:52px;border-radius:13px;overflow:hidden;border:1px solid #ececec;background:#fff}
.install-app-banner__icon img{width:100%;height:100%;object-fit:cover}
.install-app-banner__copy{display:flex;flex-direction:column;min-width:0}
.install-app-banner__copy strong{font-size:14px;line-height:1.2}
.install-app-banner__copy span{margin-top:3px;font-size:11px;color:#707070;line-height:1.3}
#installAppBtn{border:0;min-height:40px;padding:0 13px;border-radius:10px;background:#ea1d2c;color:#fff;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}
.install-app-banner__close{width:32px;height:32px;border:0;border-radius:50%;background:#f2f2f2;color:#555;font-size:20px;cursor:pointer}
.ios-install-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}
.ios-install-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.ios-install-sheet{position:relative;z-index:2;width:min(520px,100%);padding:24px 20px calc(22px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0}
.ios-install-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f2f2f2;font-size:23px}
.ios-install-logo{width:72px;height:72px;border-radius:18px;margin:0 auto 14px;border:1px solid #eee}
.ios-install-sheet h2{font-size:22px;text-align:center;margin:0 0 9px}
.ios-install-sheet p{font-size:13px;color:#666;text-align:center;margin:0 0 14px}
.ios-install-sheet ol{margin:0 0 18px;padding-left:21px}
.ios-install-sheet li{margin:9px 0;font-size:14px;line-height:1.4}
@media(max-width:768px){
  .install-app-banner{bottom:84px;grid-template-columns:46px minmax(0,1fr) auto 30px;gap:9px;padding:10px}
  .install-app-banner__icon{width:46px;height:46px;border-radius:12px}
  .install-app-banner__copy strong{font-size:13px}
  .install-app-banner__copy span{font-size:10px}
  #installAppBtn{min-height:38px;padding:0 11px;font-size:11px}
  .install-app-banner__close{width:28px;height:28px;font-size:18px}
}
@media(max-width:430px){
  .install-app-banner{grid-template-columns:42px minmax(0,1fr) auto;bottom:80px}
  .install-app-banner__icon{width:42px;height:42px}
  .install-app-banner__close{position:absolute;right:5px;top:5px;width:23px;height:23px;font-size:15px}
  .install-app-banner__copy span{display:none}
}


/* =========================================================
   V31 — SPLASH ÚNICO PREMIUM
   Mesmo visual em desktop, mobile e PWA.
   ========================================================= */
.premium-app-splash{
  position:fixed;
  inset:0;
  z-index:999999;
  width:100%;
  height:100dvh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 48%,
      rgba(125,68,43,.24) 0%,
      rgba(81,42,28,.12) 30%,
      rgba(47,24,17,0) 58%),
    linear-gradient(145deg,#2a150f 0%,#47251a 50%,#2c160f 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .38s ease,visibility .38s ease;
}

.premium-app-splash.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.premium-app-splash__center{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.premium-app-splash__logo{
  width:min(44vw,680px);
  max-height:32vh;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.18));
  animation:v31LogoIn .52s ease-out both;
}

.premium-app-splash__loader{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:max(8vh,48px);
  width:min(190px,32vw);
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.18);
}

.premium-app-splash__loader span{
  display:block;
  width:44%;
  height:100%;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 10px rgba(255,255,255,.22);
  animation:v31Load 1.05s ease-in-out infinite;
}

@keyframes v31LogoIn{
  from{opacity:0;transform:scale(.965)}
  to{opacity:1;transform:scale(1)}
}

@keyframes v31Load{
  0%{transform:translateX(-135%)}
  50%{transform:translateX(75%)}
  100%{transform:translateX(250%)}
}

@media(max-width:768px){
  .premium-app-splash__logo{
    width:min(72vw,520px);
    max-height:26vh;
  }
  .premium-app-splash__loader{
    width:min(145px,34vw);
    bottom:max(7vh,42px);
    height:3px;
  }
}

@media(max-width:430px){
  .premium-app-splash__logo{width:76vw}
}

@media(prefers-reduced-motion:reduce){
  .premium-app-splash__logo,
  .premium-app-splash__loader span{animation:none}
}

/* =========================================================
   V32 — HEADER + LOGO CORRIGIDOS
   ========================================================= */

/* Logo do estabelecimento: nunca cortar / esticar */
.restaurant-logo,
.mobile-merchant-logo{
  background:linear-gradient(145deg,#3b1f15,#24120d) !important;
  border:1px solid rgba(112,68,45,.18) !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.restaurant-logo img,
.mobile-merchant-logo img{
  width:82% !important;
  height:82% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
}

/* DESKTOP — hero premium sem logo gigante no background */
@media(min-width:769px){
  .hero-cover{
    height:315px !important;
    background-image:
      linear-gradient(90deg,rgba(24,11,7,.78) 0%,rgba(24,11,7,.48) 42%,rgba(24,11,7,.18) 100%),
      url('https://static.ifood-static.com.br/image/upload/capa/904be0fe-801f-4030-86a3-e8addcc5a500/202506041101_3ZyB_@2x.jpeg') !important;
    background-size:cover !important;
    background-position:center 44% !important;
    background-repeat:no-repeat !important;
  }

  .hero-overlay{
    background:transparent !important;
  }

  .hero-copy{
    left:max(32px,calc((100% - 1480px)/2 + 20px)) !important;
    top:72px !important;
    max-width:610px !important;
  }

  .hero-copy h1{
    font-size:46px !important;
    line-height:1.06 !important;
    margin:14px 0 10px !important;
    text-shadow:0 3px 18px rgba(0,0,0,.26);
  }

  .hero-copy p{
    max-width:590px !important;
    font-size:17px !important;
    line-height:1.5 !important;
    text-shadow:0 2px 12px rgba(0,0,0,.22);
  }

  .restaurant-card{
    margin-top:-46px !important;
    min-height:126px !important;
    padding:18px 24px !important;
  }

  .restaurant-logo{
    width:82px !important;
    height:82px !important;
    flex-basis:82px !important;
    border-radius:18px !important;
  }
}

/* MOBILE — mantém capa, mas com proporção correta e sem logo ampliada */
@media(max-width:768px){
  .mobile-premium-cover{
    min-height:190px !important;
    background-image:
      linear-gradient(180deg,rgba(25,12,8,.18) 0%,rgba(25,12,8,.72) 100%),
      url('https://static.ifood-static.com.br/image/upload/capa/904be0fe-801f-4030-86a3-e8addcc5a500/202506041101_3ZyB_@2x.jpeg') !important;
    background-size:cover !important;
    background-position:center 46% !important;
    background-repeat:no-repeat !important;
  }

  .mobile-premium-cover__overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.52)) !important;
  }

  .mobile-premium-title{
    left:16px !important;
    right:16px !important;
    bottom:18px !important;
  }

  .mobile-premium-title h1{
    font-size:25px !important;
    line-height:1.08 !important;
    margin-bottom:5px !important;
  }

  .mobile-premium-title p{
    font-size:11.5px !important;
    line-height:1.38 !important;
    max-width:95% !important;
  }

  .mobile-merchant-panel{
    width:calc(100% - 24px) !important;
    margin:-12px auto 0 !important;
    padding:12px !important;
    gap:11px !important;
    border-radius:16px !important;
  }

  .mobile-merchant-logo{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
    border-radius:14px !important;
  }

  .mobile-merchant-title-row h2{
    font-size:17px !important;
  }
}

@media(max-width:430px){
  .mobile-premium-cover{
    min-height:176px !important;
  }

  .mobile-premium-title h1{
    font-size:23px !important;
  }

  .mobile-merchant-logo{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }
}

/* =========================================================
   V33 — HEADER / LOGO / INSTALAÇÃO
   ========================================================= */
.restaurant-logo,
.mobile-merchant-logo{
  background:linear-gradient(145deg,#4b281d,#25130e)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.restaurant-logo img,
.mobile-merchant-logo img{
  width:88%!important;
  height:88%!important;
  padding:5px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.18))!important;
}

.install-app-header-btn{
  margin-left:auto;
  flex:0 0 auto;
  min-height:44px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#432318,#70402b);
  color:#fff;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(55,28,18,.16);
}
.install-app-header-btn span{
  width:23px;height:23px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.12);
}

.install-app-mobile-btn{display:none}

body.pwa-installed .install-app-header-btn,
body.pwa-installed .install-app-mobile-btn,
body.pwa-installed #installAppBanner{
  display:none!important;
}

@media(min-width:769px){
  .hero-cover{
    background-image:
      linear-gradient(90deg,rgba(24,11,7,.74),rgba(24,11,7,.30)),
      url('https://static.ifood-static.com.br/image/upload/capa/904be0fe-801f-4030-86a3-e8addcc5a500/202506041101_3ZyB_@2x.jpeg')!important;
    background-size:cover!important;
    background-position:center 44%!important;
  }
  .restaurant-logo{
    width:84px!important;height:84px!important;flex-basis:84px!important;
    border-radius:18px!important;
  }
}

@media(max-width:768px){
  .mobile-premium-cover{
    min-height:190px!important;
    background-image:
      linear-gradient(180deg,rgba(18,8,5,.10),rgba(18,8,5,.68)),
      url('https://static.ifood-static.com.br/image/upload/capa/904be0fe-801f-4030-86a3-e8addcc5a500/202506041101_3ZyB_@2x.jpeg')!important;
    background-size:cover!important;
    background-position:center 45%!important;
  }
  .mobile-merchant-panel{
    padding-right:55px!important;
  }
  .mobile-merchant-logo{
    width:58px!important;height:58px!important;flex-basis:58px!important;
    border-radius:14px!important;
  }
  .install-app-header-btn{display:none!important}
  .install-app-mobile-btn{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    right:9px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:38px!important;height:38px!important;
    border:0!important;border-radius:50%!important;
    background:linear-gradient(145deg,#422217,#70402b)!important;
    color:#fff!important;
    font-size:17px!important;font-weight:900!important;
    box-shadow:0 5px 14px rgba(45,22,14,.18)!important;
  }
}

/* banner de instalação premium */
.install-app-banner{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:88px;
  z-index:230;
  width:min(650px,calc(100% - 24px));
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto 32px;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border:1px solid rgba(111,64,43,.28);
  border-radius:16px;
  background:rgba(45,23,16,.97);
  color:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.24);
  backdrop-filter:blur(14px);
}
.install-app-banner.hidden{display:none!important}
.install-app-banner__icon{
  width:52px;height:52px;border-radius:12px;overflow:hidden;
  background:#fff;border:1px solid rgba(255,255,255,.10)
}
.install-app-banner__icon img{width:100%;height:100%;object-fit:cover}
.install-app-banner__copy{display:flex;flex-direction:column;min-width:0}
.install-app-banner__copy strong{font-size:14px;line-height:1.2}
.install-app-banner__copy span{font-size:11px;color:#dccbc2;margin-top:3px}
#installAppBtn{
  min-height:40px;padding:0 15px;border:0;border-radius:10px;
  background:linear-gradient(135deg,#b97b3f,#d59c55);
  color:#fff;font-size:12px;font-weight:900;cursor:pointer
}
.install-app-banner__close{
  width:30px;height:30px;border:0;border-radius:50%;
  background:rgba(255,255,255,.10);color:#fff;font-size:19px
}

@media(max-width:520px){
  .install-app-banner{
    bottom:80px;
    grid-template-columns:44px minmax(0,1fr) auto;
    padding:9px 10px;
  }
  .install-app-banner__icon{width:44px;height:44px}
  .install-app-banner__copy strong{font-size:12.5px}
  .install-app-banner__copy span{display:none}
  .install-app-banner__close{
    position:absolute;right:5px;top:5px;width:22px;height:22px;font-size:14px
  }
}

/* modal iOS */
.ios-install-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}
.ios-install-modal.hidden{display:none!important}
.ios-install-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.ios-install-sheet{
  position:relative;z-index:2;width:min(520px,100%);
  padding:24px 20px calc(22px + env(safe-area-inset-bottom));
  background:#fff;border-radius:22px 22px 0 0
}
.ios-install-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f1f1;font-size:22px}
.ios-install-logo{width:72px;height:72px;border-radius:16px;margin:0 auto 14px}
.ios-install-sheet h2{text-align:center;font-size:21px;margin:0 0 8px}
.ios-install-sheet p{text-align:center;color:#666;font-size:13px}
.ios-install-sheet li{margin:9px 0;font-size:14px}

/* =========================================================
   V34 — CORREÇÃO DEFINITIVA DO HEADER / LOGO / INSTALL
   ========================================================= */

/* Logo do restaurante — sempre inteira, nunca circular/cortada */
.restaurant-logo,
.mobile-merchant-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#4c291d,#25130e) !important;
  border:1px solid rgba(117,69,46,.30) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 5px 14px rgba(42,20,13,.08) !important;
}

.restaurant-logo{
  border-radius:18px !important;
}

.mobile-merchant-logo{
  border-radius:14px !important;
}

.restaurant-logo img,
.mobile-merchant-logo img{
  display:block !important;
  width:90% !important;
  height:90% !important;
  max-width:90% !important;
  max-height:90% !important;
  padding:5px !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  background:transparent !important;
  filter:none !important;
}

/* ---------------- DESKTOP ---------------- */
@media(min-width:769px){
  .restaurant-card{
    display:flex !important;
    align-items:center !important;
    gap:17px !important;
    min-height:126px !important;
    padding:18px 22px !important;
  }

  .restaurant-logo{
    flex:0 0 92px !important;
    width:92px !important;
    height:78px !important;
  }

  .restaurant-main{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  .install-app-header-btn{
    margin-left:18px !important;
  }
}

/* ---------------- MOBILE ---------------- */
@media(max-width:768px){
  .mobile-app-header{
    display:block !important;
    background:#fff !important;
  }

  .mobile-premium-cover{
    display:block !important;
    min-height:205px !important;
    background-size:cover !important;
    background-position:center 44% !important;
  }

  .mobile-premium-nav{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) 44px !important;
    align-items:center !important;
    gap:10px !important;
    padding:12px 14px !important;
  }

  .mobile-premium-title{
    display:block !important;
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
  }

  .mobile-merchant-panel{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    width:calc(100% - 24px) !important;
    margin:-12px auto 0 !important;
    padding:11px 58px 11px 11px !important;
    border-radius:16px !important;
    background:#fff !important;
    border:1px solid #ececec !important;
    box-shadow:0 8px 22px rgba(0,0,0,.09) !important;
  }

  .mobile-merchant-logo{
    flex:0 0 76px !important;
    width:76px !important;
    height:60px !important;
  }

  .mobile-merchant-info{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .mobile-merchant-title-row h2{
    font-size:17px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .install-app-mobile-btn{
    right:10px !important;
    width:39px !important;
    height:39px !important;
  }
}

@media(max-width:430px){
  .mobile-premium-cover{
    min-height:190px !important;
  }

  .mobile-merchant-panel{
    padding-left:10px !important;
    padding-right:54px !important;
  }

  .mobile-merchant-logo{
    flex-basis:68px !important;
    width:68px !important;
    height:54px !important;
  }

  .mobile-merchant-title-row h2{
    font-size:16px !important;
  }
}

/* =========================================================
   INSTALL BANNER — não pode encobrir a sacola
   ========================================================= */
.install-app-banner{
  width:min(620px,calc(100% - 28px)) !important;
  bottom:112px !important;
  z-index:215 !important;
  grid-template-columns:50px minmax(0,1fr) auto 30px !important;
  padding:10px 11px !important;
  gap:10px !important;
  border-radius:15px !important;
}

.install-app-banner__icon{
  width:50px !important;
  height:50px !important;
  border-radius:12px !important;
}

.install-app-banner__icon img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Desktop: card discreto alinhado à direita e longe da sacola */
@media(min-width:769px){
  .install-app-banner{
    left:auto !important;
    right:24px !important;
    transform:none !important;
    width:min(560px,calc(100% - 48px)) !important;
    bottom:100px !important;
  }
}

/* Mobile: banner mais compacto e sempre acima da sacola */
@media(max-width:768px){
  .install-app-banner{
    left:12px !important;
    right:12px !important;
    transform:none !important;
    width:auto !important;
    bottom:108px !important;
    grid-template-columns:46px minmax(0,1fr) auto 28px !important;
  }

  .install-app-banner__icon{
    width:46px !important;
    height:46px !important;
  }

  .install-app-banner__copy strong{
    font-size:13px !important;
  }

  .install-app-banner__copy span{
    font-size:10.5px !important;
  }

  #installAppBtn{
    min-height:38px !important;
    padding:0 12px !important;
    font-size:11px !important;
  }
}

@media(max-width:430px){
  .install-app-banner{
    bottom:106px !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    padding:9px 10px !important;
  }

  .install-app-banner__icon{
    width:42px !important;
    height:42px !important;
  }

  .install-app-banner__close{
    position:absolute !important;
    top:5px !important;
    right:5px !important;
  }
}

/* A sacola continua sempre acima da safe area */
@media(max-width:768px){
  .floating-cart{
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    z-index:220 !important;
  }
}

/* =========================================================
   V35 — CONTRASTE MOBILE + ÍCONE DO APP
   ========================================================= */
@media(max-width:768px){
  /* Garante leitura do topo sobre a fotografia */
  .mobile-premium-label{
    color:#fff !important;
    text-shadow:0 2px 8px rgba(0,0,0,.65) !important;
    font-weight:900 !important;
  }

  .mobile-premium-title,
  .mobile-premium-title h1,
  .mobile-premium-title p{
    color:#fff !important;
  }

  .mobile-premium-title h1{
    font-weight:900 !important;
    text-shadow:0 3px 14px rgba(0,0,0,.65) !important;
  }

  .mobile-premium-title p{
    color:rgba(255,255,255,.96) !important;
    text-shadow:0 2px 9px rgba(0,0,0,.72) !important;
  }

  /* Overlay um pouco mais forte embaixo para o texto nunca escurecer */
  .mobile-premium-cover__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(15,7,4,.18) 0%,
        rgba(15,7,4,.28) 44%,
        rgba(15,7,4,.78) 100%
      ) !important;
  }

  /* Botões superiores com leitura melhor */
  .mobile-back,
  .mobile-cart-btn{
    background:rgba(255,255,255,.97) !important;
    color:#2b160f !important;
    border:1px solid rgba(255,255,255,.55) !important;
    box-shadow:0 5px 16px rgba(0,0,0,.20) !important;
  }

  /* Logo do estabelecimento clara sobre fundo café */
  .mobile-merchant-logo{
    background:linear-gradient(145deg,#53301f,#2a150f) !important;
  }

  .mobile-merchant-logo img{
    opacity:1 !important;
    filter:none !important;
  }
}

/* =========================================================
   V36 — REFINO DO TOPO MOBILE
   ========================================================= */
@media(max-width:768px){
  .mobile-premium-cover{
    min-height:220px !important;
  }

  .mobile-premium-nav{
    padding:
      max(14px, env(safe-area-inset-top))
      18px
      10px !important;
    grid-template-columns:46px minmax(0,1fr) 46px !important;
    gap:12px !important;
  }

  .mobile-back,
  .mobile-cart-btn{
    width:46px !important;
    height:46px !important;
  }

  .mobile-premium-label{
    justify-self:center !important;
    padding:0 6px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    letter-spacing:.05em !important;
    text-align:center !important;
  }

  .mobile-premium-title{
    left:22px !important;
    right:22px !important;
    bottom:24px !important;
    padding:0 !important;
  }

  .mobile-premium-title h1{
    margin:0 0 7px !important;
    font-size:27px !important;
    line-height:1.08 !important;
    letter-spacing:-.35px !important;
  }

  .mobile-premium-title p{
    margin:0 !important;
    max-width:94% !important;
    font-size:12.5px !important;
    line-height:1.45 !important;
  }
}

@media(max-width:430px){
  .mobile-premium-cover{
    min-height:210px !important;
  }

  .mobile-premium-nav{
    padding:
      max(12px, env(safe-area-inset-top))
      14px
      8px !important;
    grid-template-columns:44px minmax(0,1fr) 44px !important;
    gap:10px !important;
  }

  .mobile-back,
  .mobile-cart-btn{
    width:44px !important;
    height:44px !important;
  }

  .mobile-premium-label{
    font-size:10.5px !important;
  }

  .mobile-premium-title{
    left:18px !important;
    right:18px !important;
    bottom:21px !important;
  }

  .mobile-premium-title h1{
    font-size:25px !important;
  }

  .mobile-premium-title p{
    font-size:11.5px !important;
    line-height:1.42 !important;
  }
}

/* aparelhos muito estreitos */
@media(max-width:360px){
  .mobile-premium-nav{
    padding-left:11px !important;
    padding-right:11px !important;
  }

  .mobile-premium-label{
    font-size:9.5px !important;
    letter-spacing:.03em !important;
  }

  .mobile-premium-title{
    left:15px !important;
    right:15px !important;
  }

  .mobile-premium-title h1{
    font-size:23px !important;
  }
}

/* =========================================================
   V37 — HEADER MOBILE COM RESPIRO + SACOLA SEM SOBREPOSIÇÃO
   ========================================================= */

/* Quando qualquer modal estiver aberto, a sacola fixa desaparece.
   Assim ela nunca cobre observação, complementos ou botão do produto. */
body.modal-active .floating-cart{
  display:none !important;
}

/* Também funciona como fallback nos navegadores modernos */
body:has(.modal:not(.hidden)) .floating-cart{
  display:none !important;
}

/* Header mobile/tablet: mais margem real em todos os lados */
@media(max-width:900px){
  .mobile-premium-cover{
    min-height:232px !important;
  }

  .mobile-premium-nav{
    box-sizing:border-box !important;
    width:100% !important;
    padding:
      max(16px, env(safe-area-inset-top))
      22px
      12px !important;
    grid-template-columns:48px minmax(0,1fr) 48px !important;
    gap:14px !important;
  }

  .mobile-back,
  .mobile-cart-btn{
    width:48px !important;
    height:48px !important;
  }

  .mobile-premium-label{
    justify-self:center !important;
    max-width:calc(100% - 16px) !important;
    padding:0 8px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    letter-spacing:.055em !important;
    white-space:nowrap !important;
  }

  .mobile-premium-title{
    left:0 !important;
    right:0 !important;
    bottom:26px !important;
    width:auto !important;
    padding-left:24px !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
  }

  .mobile-premium-title h1{
    margin:0 0 8px !important;
    font-size:28px !important;
    line-height:1.08 !important;
    letter-spacing:-.4px !important;
  }

  .mobile-premium-title p{
    margin:0 !important;
    max-width:92% !important;
    font-size:12.5px !important;
    line-height:1.48 !important;
  }
}

@media(max-width:520px){
  .mobile-premium-cover{
    min-height:220px !important;
  }

  .mobile-premium-nav{
    padding:
      max(14px, env(safe-area-inset-top))
      18px
      10px !important;
    grid-template-columns:46px minmax(0,1fr) 46px !important;
    gap:12px !important;
  }

  .mobile-back,
  .mobile-cart-btn{
    width:46px !important;
    height:46px !important;
  }

  .mobile-premium-title{
    bottom:23px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .mobile-premium-title h1{
    font-size:26px !important;
  }

  .mobile-premium-title p{
    max-width:96% !important;
    font-size:12px !important;
  }
}

@media(max-width:390px){
  .mobile-premium-nav{
    padding-left:15px !important;
    padding-right:15px !important;
  }

  .mobile-premium-label{
    font-size:9.8px !important;
    letter-spacing:.035em !important;
  }

  .mobile-premium-title{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .mobile-premium-title h1{
    font-size:24px !important;
  }

  .mobile-premium-title p{
    font-size:11.5px !important;
  }
}

/* Sacola fixa: menor e sempre dentro da área segura */
@media(max-width:768px){
  .floating-cart{
    left:14px !important;
    right:14px !important;
    width:auto !important;
    bottom:calc(12px + env(safe-area-inset-bottom)) !important;
    min-height:58px !important;
    padding:11px 15px !important;
    border-radius:15px !important;
    box-sizing:border-box !important;
  }
}

@media(max-width:430px){
  .floating-cart{
    left:10px !important;
    right:10px !important;
    bottom:calc(9px + env(safe-area-inset-bottom)) !important;
  }
}

/* =========================================================
   KA'SMASH V2
   ========================================================= */
:root{
  --brand:#d97706;
  --brand-dark:#9a4e05;
}

.restaurant-logo,
.mobile-merchant-logo{
  background:#111 !important;
}
.restaurant-logo img,
.mobile-merchant-logo img{
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  object-fit:cover !important;
}
.floating-cart{
  background:#d97706 !important;
}
.install-app-header-btn,
.install-app-mobile-btn{
  background:linear-gradient(135deg,#111,#d97706) !important;
}

.hero-cover,
.mobile-premium-cover{
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.26)),
    url('https://static.ifood-static.com.br/image/upload/t_high/pratos/0a51f087-538e-49b6-b2d9-0616d15dfe68/202507221902_AM31_i.jpg') !important;
  background-size:cover !important;
  background-position:center !important;
}

@media(max-width:768px){
  .section-title{
    display:flex !important;
  }
  .featured-grid{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(215px,78vw) !important;
    grid-template-columns:none !important;
    gap:12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:2px 16px 12px !important;
    margin-left:-16px !important;
    margin-right:-16px !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .featured-grid::-webkit-scrollbar{
    display:none !important;
  }
  .featured-grid > *{
    scroll-snap-align:start !important;
  }
  .soft-divider{
    display:block !important;
  }
}

/* =========================================================
   KA'SMASH V3 — LOGO OFICIAL + SPLASH PRETO
   ========================================================= */
.restaurant-logo,
.mobile-merchant-logo{
  background:#000 !important;
  border-color:rgba(255,255,255,.12) !important;
}
.restaurant-logo img,
.mobile-merchant-logo img{
  width:92% !important;
  height:92% !important;
  object-fit:contain !important;
  padding:6px !important;
  background:#000 !important;
}

/* Splash interno */
.premium-app-splash{
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.06),transparent 34%),
    linear-gradient(160deg,#000 0%,#0b0b0b 52%,#000 100%) !important;
}
.premium-app-splash__logo{
  width:min(56vw,720px) !important;
  filter:drop-shadow(0 10px 28px rgba(255,255,255,.06)) !important;
}
.premium-app-splash__loader{
  background:rgba(255,255,255,.18) !important;
}
.premium-app-splash__loader span{
  background:#fff !important;
}

/* =========================================================
   KA'SMASH V4 — LOGO MAIOR + INSTALAÇÃO MOBILE LIMPA
   ========================================================= */

/* Logo no painel do restaurante */
@media(max-width:768px){
  .mobile-merchant-panel{
    padding:12px 132px 12px 12px !important;
    min-height:92px !important;
    gap:12px !important;
  }

  .mobile-merchant-logo{
    flex:0 0 94px !important;
    width:94px !important;
    height:70px !important;
    border-radius:14px !important;
    background:#000 !important;
  }

  .mobile-merchant-logo img{
    width:96% !important;
    height:96% !important;
    object-fit:contain !important;
    padding:3px !important;
  }

  .mobile-merchant-info{
    min-width:0 !important;
  }

  .mobile-merchant-title-row h2{
    font-size:18px !important;
  }

  /* troca o botão circular por um pill legível */
  .install-app-mobile-btn{
    position:absolute !important;
    right:12px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:auto !important;
    height:42px !important;
    min-width:104px !important;
    padding:0 13px !important;
    border-radius:13px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    background:linear-gradient(135deg,#111,#d97706) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 6px 16px rgba(0,0,0,.20) !important;
    font-size:12px !important;
    font-weight:900 !important;
  }

  .install-app-mobile-btn::after{
    content:"Instalar";
  }

  .install-app-mobile-btn{
    font-size:0 !important;
  }

  .install-app-mobile-btn::before{
    content:"↓";
    font-size:15px;
    line-height:1;
  }

  .install-app-mobile-btn::after{
    font-size:12px;
    line-height:1;
  }

  /* NÃO mostrar banner automático no mobile.
     A instalação é acionada pelo botão do header. */
  #installAppBanner{
    display:none !important;
  }
}

@media(max-width:430px){
  .mobile-merchant-panel{
    padding:10px 116px 10px 10px !important;
    min-height:86px !important;
  }

  .mobile-merchant-logo{
    flex-basis:82px !important;
    width:82px !important;
    height:62px !important;
  }

  .mobile-merchant-title-row h2{
    font-size:16px !important;
  }

  .mobile-merchant-info > p{
    font-size:10.5px !important;
  }

  .mobile-merchant-meta{
    font-size:9.8px !important;
  }

  .install-app-mobile-btn{
    right:9px !important;
    min-width:98px !important;
    height:40px !important;
    padding:0 11px !important;
  }
}

/* desktop mantém o CTA próprio, sem banner intrusivo */
@media(min-width:769px){
  #installAppBanner{
    display:none !important;
  }
}

/* =========================================================
   KA'SMASH V6 — LOGO RESTAURADA EM TODOS OS PONTOS
   ========================================================= */
.restaurant-logo,
.mobile-merchant-logo{
  background:#000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.restaurant-logo img,
.mobile-merchant-logo img{
  display:block !important;
  width:94% !important;
  height:94% !important;
  max-width:94% !important;
  max-height:94% !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:3px !important;
  margin:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  background:#000 !important;
}

.premium-app-splash__logo{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  object-fit:contain !important;
}

.install-app-banner__icon img,
.ios-install-logo{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  object-fit:contain !important;
  background:#000 !important;
}

/* =========================================================
   KA'SMASH V7 — LOGO EMBUTIDA / SEM DEPENDÊNCIA DE CAMINHO
   ========================================================= */
.restaurant-logo,
.mobile-merchant-logo{
  background:#000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.restaurant-logo img,
.mobile-merchant-logo img{
  display:block !important;
  width:96% !important;
  height:96% !important;
  max-width:96% !important;
  max-height:96% !important;
  object-fit:contain !important;
  object-position:center !important;
  opacity:1 !important;
  visibility:visible !important;
  background:transparent !important;
  padding:2px !important;
}
.premium-app-splash__logo{
  display:block !important;
  width:min(64vw,760px) !important;
  height:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  object-fit:contain !important;
}

.store-status-banner{width:min(1180px,calc(100% - 28px));margin:14px auto 0;padding:13px 16px;border-radius:14px;background:#fff0f0;border:1px solid #efb4b4;color:#8e1616}.store-status-banner div{display:flex;gap:6px;flex-direction:column}.store-status-banner b{font-size:14px}.store-status-banner span{font-size:12px}body.store-closed #finishOrder{opacity:.55;pointer-events:none}body.store-closed .floating-cart{background:#555!important}.mode.is-disabled{opacity:.4;pointer-events:none}@media(max-width:768px){.store-status-banner{width:calc(100% - 20px);margin-top:10px}}

/* =========================================================
   V11 — PAUSA VISÍVEL E BLOQUEIO DE PEDIDOS
   ========================================================= */
.store-status-banner{
  position:sticky;
  top:0;
  z-index:180;
  width:min(1180px,calc(100% - 24px));
  margin:10px auto;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:15px;
  background:#991b1b;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 28px rgba(87,0,0,.20);
}
.store-status-banner.hidden{display:none !important}
.store-status-banner__icon{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;flex:0 0 auto;
  background:rgba(255,255,255,.14);
  font-size:18px;font-weight:900;
}
.store-status-banner>div:last-child{display:flex;flex-direction:column;gap:2px}
.store-status-banner b{font-size:14px}
.store-status-banner span{font-size:12px;color:rgba(255,255,255,.90)}

body.store-closed .floating-cart{
  background:#555 !important;
  opacity:.80;
  pointer-events:none !important;
}
body.store-closed #finishOrder{
  opacity:.50 !important;
  pointer-events:none !important;
}
body.store-closed .featured-grid,
body.store-closed .menu-grid{
  filter:saturate(.72);
}
body.store-closed .store-action-disabled{
  opacity:.48 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}
.mode.is-disabled{
  opacity:.38 !important;
  pointer-events:none !important;
}

@media(max-width:768px){
  .store-status-banner{
    top:0;
    width:calc(100% - 16px);
    margin:8px auto;
    padding:12px 13px;
    border-radius:13px;
  }
}

.product-unavailable{opacity:.5;filter:grayscale(.35);cursor:not-allowed!important}
.unavailable-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eee;color:#666;font-size:11px;font-weight:900}
.notice-banner{width:min(1180px,calc(100% - 24px));margin:10px auto;padding:12px 14px;border-radius:13px;font-weight:800;font-size:13px}
.notice-banner.info{background:#eef6ff;color:#174b78;border:1px solid #c8def1}
.notice-banner.warning{background:#fff7e6;color:#7a4a00;border:1px solid #eed8a8}
.notice-banner.success{background:#effbf3;color:#186b35;border:1px solid #bde1c8}
.notice-banner.hidden{display:none!important}

/* V20 — indisponibilidade consistente em destaque e listagem */
.feature-card.product-unavailable,
.product-card.product-unavailable{
  position:relative !important;
  opacity:.58 !important;
  filter:grayscale(.42) saturate(.55) !important;
  cursor:not-allowed !important;
}
.feature-card.product-unavailable *,
.product-card.product-unavailable *{
  pointer-events:none !important;
}
.unavailable-cover{
  position:absolute;
  inset:auto 10px 10px auto;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#4b4b4b;
  color:#fff;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  box-shadow:0 3px 12px rgba(0,0,0,.18);
}

.coupon-box{margin:14px 0;padding:12px;border:1px solid #e7ded8;border-radius:13px;background:#fcfaf8}.coupon-row{display:grid;grid-template-columns:1fr 110px;gap:8px;align-items:end}.coupon-row .field{margin:0}.coupon-ok{display:block;margin-top:6px;color:#168240;font-size:11px;font-weight:800}.coupon-error{display:block;margin-top:6px;color:#b42020;font-size:11px;font-weight:800}
@media(max-width:520px){.coupon-row{grid-template-columns:1fr}.coupon-row button{width:100%}}

/* =========================================================
   V24 — MOBILE HEADER/CARD + BUSCA
   ========================================================= */
@media(max-width:768px){
  .store-card,
  .restaurant-card,
  .restaurant-summary,
  .restaurant-info-card{
    overflow:visible !important;
  }

  /* preserva espaço do botão instalar sem cortar endereço/tempo */
  .restaurant-info,
  .store-info,
  .restaurant-details{
    min-width:0 !important;
    padding-right:112px !important;
  }

  .restaurant-info p,
  .store-info p,
  .restaurant-details p,
  .restaurant-info .meta,
  .store-info .meta,
  .restaurant-details .meta{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:none !important;
    line-height:1.35 !important;
  }

  .restaurant-info .address,
  .restaurant-info .delivery-line,
  .store-info .address,
  .store-info .delivery-line{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    white-space:normal !important;
  }

  /* botão instalar fica fixo no lado direito sem cobrir o texto */
  #installButton,
  #installAppBtn,
  .install-app-button,
  .install-btn-header{
    position:absolute !important;
    right:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:4 !important;
    max-width:105px !important;
  }

  /* Busca no app */
  .app-search-wrap{
    padding:10px 14px 4px !important;
    background:#fff;
  }
  .app-search{
    width:100%;
    min-height:48px;
    border:1px solid #ececec;
    border-radius:16px;
    background:#f6f6f6;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 14px;
  }
  .app-search input{
    flex:1;
    min-width:0;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:14px !important;
    padding:0 !important;
  }
}

/* =========================================================
   V25 — HEADER MOBILE SEM CORTAR INFORMAÇÕES
   ========================================================= */
@media(max-width:768px){
  .mobile-merchant-panel{
    position:relative !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) 44px !important;
    align-items:center !important;
    column-gap:10px !important;
    row-gap:4px !important;
    width:calc(100% - 24px) !important;
    height:auto !important;
    min-height:94px !important;
    padding:12px !important;
    overflow:visible !important;
  }

  .mobile-merchant-logo{
    grid-column:1 !important;
    grid-row:1 !important;
    width:72px !important;
    height:72px !important;
    flex-basis:72px !important;
    border-radius:14px !important;
  }

  .mobile-merchant-info{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    width:100% !important;
    overflow:visible !important;
  }

  .mobile-merchant-title-row{
    display:flex !important;
    align-items:flex-start !important;
    gap:6px !important;
    min-width:0 !important;
    width:100% !important;
  }

  .mobile-merchant-title-row h2,
  .mobile-merchant-title-row h1{
    margin:0 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    font-size:16.5px !important;
    line-height:1.18 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    display:block !important;
  }

  .mobile-rating{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    margin-top:1px !important;
    font-size:11px !important;
  }

  .mobile-merchant-info>p{
    margin:6px 0 6px !important;
    padding:0 !important;
    width:100% !important;
    max-width:none !important;
    font-size:10.5px !important;
    line-height:1.3 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    display:block !important;
  }

  .mobile-merchant-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:3px 5px !important;
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
    white-space:normal !important;
    font-size:9.7px !important;
    line-height:1.3 !important;
  }

  .mobile-merchant-meta>span{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  /* CTA de instalação compacto para não roubar a largura dos dados */
  .install-app-mobile-btn{
    grid-column:3 !important;
    grid-row:1 !important;
    position:static !important;
    transform:none !important;
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    padding:0 !important;
    border-radius:50% !important;
    display:grid !important;
    place-items:center !important;
    font-size:0 !important;
    background:linear-gradient(135deg,#3d1d12,#d97706) !important;
  }

  .install-app-mobile-btn::before{
    content:"↓" !important;
    font-size:18px !important;
    line-height:1 !important;
    color:#fff !important;
    font-weight:900 !important;
  }
}

@media(max-width:430px){
  .mobile-merchant-panel{
    grid-template-columns:64px minmax(0,1fr) 42px !important;
    column-gap:8px !important;
    padding:10px !important;
    min-height:90px !important;
  }

  .mobile-merchant-logo{
    width:64px !important;
    height:64px !important;
    flex-basis:64px !important;
  }

  .mobile-merchant-title-row h2,
  .mobile-merchant-title-row h1{
    font-size:15.5px !important;
  }

  .mobile-merchant-info>p{
    font-size:10px !important;
  }

  .mobile-merchant-meta{
    font-size:9.3px !important;
    gap:2px 4px !important;
  }

  .install-app-mobile-btn{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
  }
}

/* =========================================================
   V26 — INSTALAR APP NO FOOTER
   ========================================================= */
#installButton,
#installAppBtn,
.install-app-mobile-btn,
.install-btn-header{
  display:none !important;
}

.install-footer-banner{
  position:fixed;
  left:50%;
  bottom:94px;
  transform:translateX(-50%);
  z-index:88;
  width:min(680px,calc(100% - 22px));
  padding:0;
}
.install-footer-banner.hidden{display:none!important}
.install-footer-content{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto 34px;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:16px;
  background:linear-gradient(135deg,#1d0e09,#5e2c18);
  color:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.30);
}
.install-footer-icon{
  width:48px;height:48px;border-radius:12px;overflow:hidden;background:#000;
}
.install-footer-icon img{width:100%;height:100%;object-fit:contain}
.install-footer-copy{min-width:0;display:flex;flex-direction:column}
.install-footer-copy b{font-size:13px;line-height:1.15}
.install-footer-copy span{font-size:10.5px;opacity:.80;line-height:1.3;margin-top:2px}
#installFooterBtn{
  min-width:82px;
  height:40px;
  border:0;
  border-radius:11px;
  background:#d98b36;
  color:#fff;
  font-size:11px;
  font-weight:900;
  padding:0 14px;
}
.install-footer-close{
  width:32px;height:32px;border:0;border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;font-size:20px;line-height:1;
}
@media(max-width:520px){
  .install-footer-banner{
    bottom:92px;
    width:calc(100% - 18px);
  }
  .install-footer-content{
    grid-template-columns:42px minmax(0,1fr) 76px 30px;
    gap:8px;
    padding:9px 10px;
    border-radius:15px;
  }
  .install-footer-icon{width:42px;height:42px}
  .install-footer-copy b{font-size:12px}
  .install-footer-copy span{font-size:9.7px}
  #installFooterBtn{min-width:76px;height:38px;padding:0 10px;font-size:10.5px}
  .install-footer-close{width:30px;height:30px;font-size:18px}
}

/* V27 — botão de instalação funcional */
#installFooterBtn:disabled{
  opacity:.72;
  cursor:wait;
}
html.kasmash-installed #installFooterBanner{
  display:none!important;
}
#installAppBanner,
#installButton,
#installAppBtn,
.install-app-mobile-btn,
.install-btn-header{
  display:none!important;
}

/* =========================================================
   V28 — instalação apenas no MOBILE e no footer
   ========================================================= */

/* remove qualquer botão de instalação legado no header/desktop */
#installButton,
#installAppBtn,
#installAppBanner,
.install-app-mobile-btn,
.install-btn-header,
.header-install-btn,
.store-install-btn,
.restaurant-install-btn{
  display:none !important;
}

/* por padrão (desktop/tablet grande), banner não aparece */
#installFooterBanner{
  display:none !important;
}

/* somente mobile */
@media(max-width:768px){
  #installFooterBanner.install-footer-banner:not(.hidden){
    display:block !important;
    position:fixed !important;
    left:50% !important;
    bottom:94px !important;
    transform:translateX(-50%) !important;
    z-index:95 !important;
    width:calc(100% - 18px) !important;
    max-width:680px !important;
  }

  .install-footer-content{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 76px 30px !important;
    gap:8px !important;
    align-items:center !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    background:linear-gradient(135deg,#1d0e09,#5e2c18) !important;
    color:#fff !important;
    box-shadow:0 12px 34px rgba(0,0,0,.30) !important;
  }

  .install-footer-icon{
    width:42px !important;
    height:42px !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#000 !important;
  }
  .install-footer-icon img{width:100% !important;height:100% !important;object-fit:contain !important}
  .install-footer-copy{min-width:0 !important;display:flex !important;flex-direction:column !important}
  .install-footer-copy b{font-size:12px !important;line-height:1.15 !important}
  .install-footer-copy span{font-size:9.5px !important;line-height:1.25 !important;opacity:.82 !important;margin-top:2px !important}
  #installFooterBtn{
    display:block !important;
    min-width:76px !important;
    width:76px !important;
    height:38px !important;
    padding:0 8px !important;
    border:0 !important;
    border-radius:11px !important;
    background:#d98b36 !important;
    color:#fff !important;
    font-size:10.5px !important;
    font-weight:900 !important;
  }
  .install-footer-close{
    display:grid !important;
    place-items:center !important;
    width:30px !important;
    height:30px !important;
    border:0 !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
    font-size:18px !important;
  }

  html.kasmash-installed #installFooterBanner{
    display:none !important;
  }
}

/* elimina campo de busca legado caso reste vazio */
#searchInput{display:none !important;}

/* V29 — indisponibilidade idêntica em Destaques e listagem */
.feature-card.product-unavailable,
.product-card.product-unavailable{
  position:relative !important;
  opacity:.48 !important;
  filter:grayscale(.72) saturate(.35) !important;
  cursor:not-allowed !important;
}
.feature-card.product-unavailable::after,
.product-card.product-unavailable::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:rgba(255,255,255,.12);
  border-radius:inherit;
  pointer-events:none;
}
.feature-card.product-unavailable .unavailable-cover,
.product-card.product-unavailable .unavailable-cover{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  z-index:5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  background:rgba(35,35,35,.92) !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  white-space:nowrap !important;
}
.feature-card.product-unavailable *,
.product-card.product-unavailable *{
  pointer-events:none !important;
}

/* V32 — uma única busca e instalação somente mobile */
#searchInput,.app-search-wrap{display:none!important}
.toolbar.container{display:flex;flex-direction:column;gap:10px}
.toolbar .search{order:1;width:100%;min-height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;border:1px solid #dedede;border-radius:15px;background:#fff}
.toolbar .search input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font:inherit}
.toolbar #categoryTabs{order:2}
#installButton,#installAppBtn,#installAppBanner,.install-app-mobile-btn,.install-btn-header,.header-install-btn,.store-install-btn,.restaurant-install-btn{display:none!important}
#installFooterBanner{display:none!important}
@media(max-width:768px){
  .toolbar #categoryTabs{order:1}
  .toolbar .search{order:2;min-height:48px;background:#f6f6f6;margin-top:2px}
  #installFooterBanner.install-footer-banner:not(.hidden){display:block!important;position:fixed!important;left:50%!important;bottom:94px!important;transform:translateX(-50%)!important;width:calc(100% - 18px)!important;z-index:95!important}
}

/* =========================================================
   V33 — correção definitiva mobile: busca + instalar
   ========================================================= */
.toolbar.container{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.toolbar .search{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
}
.toolbar .search input#appProductSearch{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  min-width:0 !important;
}

@media(max-width:768px){
  .toolbar.container{
    display:flex !important;
    padding:10px 14px 8px !important;
    background:#fff !important;
    overflow:visible !important;
  }

  .toolbar #categoryTabs{
    order:1 !important;
    display:flex !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    width:100% !important;
    padding-bottom:3px !important;
  }

  .toolbar .search{
    order:2 !important;
    display:flex !important;
    min-height:48px !important;
    margin:8px 0 0 !important;
    padding:0 14px !important;
    border:1px solid #e5e5e5 !important;
    border-radius:16px !important;
    background:#f5f5f5 !important;
  }

  .toolbar .search input#appProductSearch{
    display:block !important;
    font-size:14px !important;
    background:transparent !important;
    border:0 !important;
    outline:0 !important;
  }

  #installFooterBanner.install-footer-banner:not(.hidden){
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:fixed !important;
    left:50% !important;
    bottom:94px !important;
    transform:translateX(-50%) !important;
    width:calc(100% - 18px) !important;
    z-index:9999 !important;
  }
}

/* =========================================================
   V34 — botão/banner instalar sempre visível no mobile
   enquanto não estiver instalado
   ========================================================= */
@media(max-width:768px){
  body:not(.pwa-installed) #installFooterBanner.install-footer-banner{
    position:fixed !important;
    left:50% !important;
    bottom:92px !important;
    transform:translateX(-50%) !important;
    width:calc(100% - 18px) !important;
    max-width:520px !important;
    z-index:2147483000 !important;
  }

  body:not(.pwa-installed) #installFooterBanner.install-footer-banner:not(.hidden){
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  html.kasmash-installed #installFooterBanner,
  body.pwa-installed #installFooterBanner{
    display:none !important;
  }
}

/* =========================================================
   V35 — instalador independente e fallback de instruções
   ========================================================= */
#installFooterBtn{
  pointer-events:auto !important;
  touch-action:manipulation !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:10 !important;
}
#installFooterBanner,
#installFooterBanner *{
  pointer-events:auto !important;
}
.install-help-modal{
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:grid;
  place-items:center;
  padding:18px;
}
.install-help-modal.hidden{display:none!important}
.install-help-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.65);
}
.install-help-card{
  position:relative;
  z-index:2;
  width:min(430px,100%);
  background:#fff;
  border-radius:20px;
  padding:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.install-help-close{
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f0f0f0;
  font-size:22px;
}
.install-help-logo{
  width:64px;
  height:64px;
  border-radius:14px;
  overflow:hidden;
  margin-bottom:12px;
  background:#111;
}
.install-help-logo img{width:100%;height:100%;object-fit:contain}
.install-help-card h3{margin:0 0 10px;font-size:19px}
.install-help-steps p{margin:0 0 10px;color:#666;font-size:13px;line-height:1.4}
.install-help-steps ol{margin:0 0 18px;padding-left:20px}
.install-help-steps li{margin:7px 0;font-size:13px;line-height:1.4}
#installHelpOk{width:100%;min-height:44px}

/* V36 — instalador mobile revisado */
@media(max-width:768px){
  #installFooterBanner.install-footer-banner:not(.hidden){
    display:block!important;
    position:fixed!important;
    left:50%!important;
    bottom:94px!important;
    transform:translateX(-50%)!important;
    width:calc(100% - 18px)!important;
    max-width:620px!important;
    z-index:90!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  #installFooterBanner .install-footer-content{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 86px 32px!important;
    gap:9px!important;
    align-items:center!important;
    padding:10px!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#251008,#6b2f15)!important;
  }
  #installFooterBanner .install-footer-icon{width:44px!important;height:44px!important;border-radius:10px!important;overflow:hidden!important;background:#050505!important}
  #installFooterBanner .install-footer-icon img{width:100%!important;height:100%!important;object-fit:contain!important}
  #installFooterBanner .install-footer-copy{min-width:0!important;color:#fff!important}
  #installFooterBanner .install-footer-copy b{display:block!important;font-size:12px!important;line-height:1.2!important}
  #installFooterBanner .install-footer-copy span{display:block!important;margin-top:2px!important;font-size:9.5px!important;line-height:1.25!important;opacity:.84!important}
  #installFooterBtn.install-footer-button{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:86px!important;
    min-width:86px!important;
    height:42px!important;
    border:0!important;
    border-radius:11px!important;
    background:#e49335!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:900!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #installFooterClose{
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.14)!important;
    color:#fff!important;
    font-size:20px!important;
  }
}
@media(max-width:390px){
  #installFooterBanner .install-footer-content{grid-template-columns:40px minmax(0,1fr) 76px 28px!important;gap:7px!important;padding:8px!important}
  #installFooterBtn.install-footer-button{width:76px!important;min-width:76px!important;height:38px!important;font-size:10px!important}
  #installFooterClose{width:28px!important;height:28px!important;font-size:18px!important}
}
body:has(.modal:not(.hidden)) #installFooterBanner{display:none!important}

/* V38 — preços nos complementos */
.choice-copy .choice-price{
  display:block;
  margin-top:4px;
  font-size:12px;
  font-weight:800;
  color:#2e7d32;
}
.radio-choice .choice-copy{
  padding-right:8px;
}

/* =========================================================
   V41 — Total dinâmico no modal do produto
   ========================================================= */
.product-dynamic-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:14px 0 10px;
  padding:12px 14px;
  border:1px solid #e8e8e8;
  border-radius:14px;
  background:#f8f8f8;
}
.product-dynamic-total span{
  font-size:12px;
  font-weight:800;
  color:#666;
}
.product-dynamic-total strong{
  font-size:21px;
  line-height:1;
  color:#0b8f3c;
}
#addToCart{
  min-width:0;
}
@media(max-width:520px){
  .product-dynamic-total{
    margin:12px 0 9px;
    padding:11px 12px;
  }
  .product-dynamic-total strong{
    font-size:19px;
  }
  .add-row{
    align-items:stretch;
  }
  #addToCart{
    white-space:normal;
    line-height:1.15;
  }
}

/* =========================================================
   V42 — Header exclusivo Mais Sabor Café
   Remove a mesma imagem de capa usada no Ka'Smash.
   ========================================================= */
.mais-sabor-cover{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.15), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(255,190,110,.16), transparent 30%),
    linear-gradient(135deg,#17100d 0%,#4a2115 47%,#8d3f22 100%) !important;
}
.mais-sabor-cover::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.045) 38% 39%,transparent 39% 100%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px);
  pointer-events:none;
}
.mais-sabor-cover::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  right:-95px;
  bottom:-130px;
  box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018);
  pointer-events:none;
}
.mais-sabor-cover-brand{
  position:absolute;
  right:18px;
  bottom:15px;
  z-index:2;
  width:120px;
  opacity:.2;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));
  pointer-events:none;
}
.mais-sabor-cover-brand img{
  display:block;
  width:100%;
  height:auto;
}
.mais-sabor-cover-brand--desktop{
  right:40px;
  bottom:26px;
  width:190px;
  opacity:.22;
}
@media(max-width:768px){
  .mais-sabor-cover-brand{
    width:100px;
    right:12px;
    bottom:10px;
    opacity:.18;
  }
}

/* =========================================================
   V43 — Header com imagem enviada pelo cliente
   ========================================================= */
.header-photo-cover{
  background-image:
    linear-gradient(rgba(0,0,0,.30), rgba(0,0,0,.28)),
    url('/assets/images/header-mais-sabor.png?v=20260812-maissabor-v43') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}
.header-photo-cover::before,
.header-photo-cover::after{
  display:none !important;
}
@media(max-width:768px){
  .header-photo-cover{
    background-position:center center !important;
  }
}

.notification-optin{position:fixed;left:14px;right:14px;bottom:82px;z-index:1200;max-width:560px;margin:auto;background:#171717;color:#fff;border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.notification-optin.hidden{display:none}.notification-optin div{display:flex;flex-direction:column;flex:1}.notification-optin span{font-size:12px;color:#bbb;margin-top:3px}
.notification-optin button{border:0;border-radius:11px;padding:10px 13px;font-weight:800}.notification-optin #enableNotificationsBtn{background:#fff;color:#111}.notification-optin #dismissNotificationsBtn{background:transparent;color:#aaa;font-size:20px;padding:4px}

/* V59 — status Push no app do cliente */
.push-mini-control{display:flex;align-items:center;gap:10px;margin:12px auto;max-width:720px;padding:10px 12px;background:#fff;border:1px solid #ece8e5;border-radius:14px}
.push-mini-control button{border:0;background:#171717;color:#fff;border-radius:10px;padding:9px 12px;font-weight:800;white-space:nowrap}
.push-mini-control button.active{background:#158f4e}
.push-mini-control small{color:#777;line-height:1.3}
@media(max-width:600px){.push-mini-control{margin:10px 12px;align-items:flex-start}.push-mini-control{flex-direction:column}.push-mini-control button{width:100%}}
