  :root {
    --bg:         #F2F2F2;
    --bg2:        #FFFFFF;
    --bg3:        #FFF0E8;
    --card:       #FFFFFF;
    --orange:     #E8491E;
    --orange2:    #FF6B35;
    --orange-dim: rgba(232,73,30,0.10);
    --orange-glow:rgba(232,73,30,0.28);
    --rose:       #E8491E;
    --rose-light: rgba(232,73,30,0.13);
    --rose-dim:   rgba(232,73,30,0.10);
    --rose-glow:  rgba(232,73,30,0.28);
    --gold:       #E8491E;
    --text:       #111111;
    --text2:      #3D3D3D;
    --cream:      #111111;
    --cream-dim:  rgba(26,26,26,0.55);
    --muted:      #777777;
    --border:     rgba(0,0,0,0.11);
    --radius:     16px;
    --transition: 0.25s cubic-bezier(0.4,0,0.2,1);
    --shadow:     0 2px 16px rgba(0,0,0,0.07);
    /* dark hero palette */
    --hero-bg:    #1A0F00;
    --hero-card:  #241500;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html {
    scroll-behavior: smooth;
    background: var(--bg, #fff);
    min-height: 100%;
  }

  body {
    background: var(--bg, #fff);
    color: #111111;
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    overflow-x: clip;
    overscroll-behavior-x: none;
    /* iOS safe-area: evitar faixa branca no bottom */
    padding-bottom: env(safe-area-inset-bottom, 0px);
    min-height: 100dvh;
  }


  /* ─── CUPOM ─── */
  .coupon-success { color: #16a34a; font-weight:700; }
  .coupon-error   { color: #dc2626; }
  .coupon-badge   {
    display:inline-flex; align-items:center; gap:6px;
    background:#f0fdf4; border:1px solid #bbf7d0; color:#166534;
    border-radius:8px; padding:4px 10px; font-size:12px; font-weight:700;
    margin-top:4px;
  }
  .delivery-opt.hidden, .pay-opt.hidden { display:none; }

  /* ─── SCROLLBAR ─── */
  ::-webkit-scrollbar { width: 6px; }
  ::-webkit-scrollbar-track { background: var(--bg); }
  ::-webkit-scrollbar-thumb { background: var(--orange); border-radius: 3px; }

  /* ─── HERO (dark — estilo Banzé) ─── */
  .hero {
    position: relative;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    padding: 56px 24px 48px;
    background: var(--hero-bg);
  }
  /* subtle texture overlay */
  .hero::before {
    content: '';
    position: absolute; inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23FF6B35' fill-opacity='0.04'%3E%3Ccircle cx='40' cy='40' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
  }
  /* warm glow at bottom */
  .hero::after {
    content: '';
    position: absolute;
    bottom: -60px; left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 200px;
    background: radial-gradient(ellipse, rgba(232,73,30,0.18) 0%, transparent 70%);
    pointer-events: none;
  }
  .hero-bg { display: none; }  /* não usado no dark mode */
  .hero-content { position: relative; z-index: 1; }

  /* status pill — "ABERTO AGORA" / "FECHADO" */
  .hero-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 100px;
    padding: 7px 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.85);
    margin-bottom: 28px;
    animation: fadeUp 0.5s ease both;
    transition: background 0.4s, border-color 0.4s;
  }
  .hero-status-pill.closed {
    background: rgba(220,38,38,0.18);
    border-color: rgba(220,38,38,0.4);
  }
  .hero-status-pill .dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 8px #4ade80;
    animation: pulse 2s infinite;
    flex-shrink: 0;
    transition: background 0.4s, box-shadow 0.4s;
  }
  .hero-status-pill.closed .dot {
    background: #f87171;
    box-shadow: 0 0 8px #f87171;
    animation: none;
  }

  .logo-badge { display: none; } /* substituído por hero-status-pill */

  /* big title — duas linhas, cream + orange */
  .hero h1 {
    font-family: 'Baloo 2', cursive;
    font-size: clamp(64px, 14vw, 110px);
    line-height: 0.9;
    letter-spacing: -2px;
    font-weight: 800;
    color: #F5ECD7;           /* cream quente */
    animation: fadeUp 0.55s 0.08s ease both;
    margin-bottom: 0;
  }
  .hero h1 .hero-line2 {
    display: block;
    color: var(--orange);    /* laranja vibrante */
  }
  .hero h1 span:not(.hero-line2) { color: #F5ECD7; }
  .hero h1 .sub-word { display: none; }  /* remove tagline antiga */

  .hero-sub {
    font-family: 'Nunito', sans-serif;
    font-style: normal;
    font-size: clamp(13px, 2vw, 16px);
    color: rgba(245,236,215,0.65);
    margin-top: 18px;
    max-width: 420px;
    width: 100%;
    line-height: 1.6;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    animation: fadeUp 0.55s 0.16s ease both;
  }

  .hero-pills {
    display: flex;
    gap: 10px;
    margin-top: 30px;
    flex-wrap: wrap;
    justify-content: center;
    animation: fadeUp 0.55s 0.24s ease both;
  }
  .hero-pill {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 100px;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(245,236,215,0.80);
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .hero-pill .dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 8px #4ade80;
    animation: pulse 2s infinite;
  }
  @keyframes pulse {
    0%,100% { opacity:1; } 50% { opacity:.35; }
  }
  @keyframes fadeUp {
    from { opacity:0; transform:translateY(22px); }
    to   { opacity:1; transform:translateY(0); }
  }

  /* ─── STICKY NAV ─── */
  .sticky-nav {
    position: sticky;
    top: 60px;           /* exactly below the topbar (60px tall) */
    z-index: 90;
    background: #ffffff;
    border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  }
  .sticky-nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .sticky-nav-inner::-webkit-scrollbar { display: none; }

  .cat-btn {
    flex-shrink: 0;
    background: #F2F2F2;
    border: none;
    border-radius: 100px;
    cursor: pointer;
    color: #444444;
    font-family: 'Baloo 2', cursive;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2px;
    padding: 10px 20px;
    transition: var(--transition);
    white-space: nowrap;
  }
  .cat-btn:hover { background: #E5E5E5; color: #111111; }
  .cat-btn.active {
    background: var(--orange);
    color: #ffffff;
    font-weight: 700;
    box-shadow: 0 3px 12px rgba(232,73,30,0.35);
  }

  /* ─── MAIN LAYOUT ─── */
  .main-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px 120px;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 32px;
    align-items: start;
  }
  /* ─── SECTION ─── */
  .menu-section { margin-bottom: 52px; }
  .section-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
  }
  .section-title {
    font-family: 'Baloo 2', cursive;
    font-size: 1.35rem;
    font-weight: 800;
    color: #111111;
    white-space: nowrap;
    letter-spacing: -0.2px;
  }
  .section-line { flex:1; height:1px; background:var(--border); }
  .section-count { font-size:12px; color:#666666; font-weight:600; white-space:nowrap; }

  /* ─── PRODUCT CARDS ─── */
  .products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
  }
  .products-grid.list { grid-template-columns: 1fr; }

  .product-card {
    background: var(--card);
    border: 1px solid var(--border);
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    border-radius: var(--radius);
    overflow: hidden;
    cursor: pointer;
    transition: var(--transition);
    animation: cardIn 0.4s ease both;
    display: flex;
    flex-direction: column;
  }
  .product-card:hover {
    border-color: var(--orange-glow);
    transform: translateY(-3px);
    box-shadow: 0 12px 36px var(--orange-glow);
  }
  @keyframes cardIn {
    from { opacity:0; transform:translateY(16px); }
    to   { opacity:1; transform:translateY(0); }
  }

  .card-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--bg3);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .card-img-wrap img {
    width:100%; height:100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }
  .product-card:hover .card-img-wrap img { transform: scale(1.07); }

  .card-badge {
    position: absolute;
    top:10px; left:10px;
    background: var(--rose);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 6px;
  }
  .card-badge.gold { background: var(--gold); color: #000; }

  .card-body {
    padding: 14px 16px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .card-name { font-family:'Baloo 2',cursive; font-size:14px; font-weight:700; color:#111111; line-height:1.3; }
  .card-desc { font-size:12px; color:#3D3D3D; line-height:1.5; flex:1; }
  .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
  }
  .card-price { font-family:'Baloo 2',cursive; font-size:15px; font-weight:800; color:var(--orange); }
  .card-price-promo { font-size:12px; color:var(--muted); text-decoration:line-through; margin-right:4px; }
  .card-price-sale  { font-size:16px; font-weight:700; color:var(--rose); }

  .card-add {
    background: var(--orange);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    padding: 0;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(232,73,30,0.35);
  }
  .card-add:hover { background: var(--orange2); transform: scale(1.12); box-shadow: 0 5px 16px rgba(232,73,30,0.50); }

  /* List variant — Bebidas & Adicionais */
  .products-grid.list .product-card {
    flex-direction: row;
    height: 88px;
    align-items: stretch;
  }
  .products-grid.list .card-img-wrap {
    width: 88px;
    min-width: 88px;
    aspect-ratio: unset;
    height: 100%;
    border-radius: var(--radius) 0 0 var(--radius);
    flex-shrink: 0;
  }
  .products-grid.list .card-body {
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    flex: 1;
    min-width: 0;
  }
  .products-grid.list .card-desc {
    font-size: 11.5px;
    color: var(--muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    -webkit-line-clamp: unset;
  }
  .products-grid.list .card-footer {
    margin-top: 6px;
    align-items: center;
  }
  .products-grid.list .card-price {
    font-size: 15px;
    font-weight: 800;
    color: var(--orange);
  }
  /* round + button for list cards — perfectly centered */
  .products-grid.list .card-add {
    width: 36px;
    height: 36px;
    font-size: 22px;
    align-self: center;
    margin-top: 0;
    margin-left: auto;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .products-grid.list .card-footer {
    margin-top: 4px;
    align-items: center;
    justify-content: space-between;
    display: flex;
    gap: 8px;
  }
  /* No list view, card-add is placed directly inside the card row, not card-footer */
  .products-grid.list .product-card {
    position: relative;
  }
  .products-grid.list .card-add-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    padding: 0 14px 0 10px;
    flex-shrink: 0;
  }

  /* Quando oculto, zera tudo para não ocupar espaço no grid */
  /* ── Track wrapper: clip horizontal, sem cortar vertical ── */
  /* ── Track: scroll horizontal com cards fixos ── */
  /* ── Cards: tamanho baseado em vw para ser fluido ── */
  /* Estilos dark / light / gradient */
  /* Dots indicadores */
  /* Setas de navegação (só desktop) */
  /* ── Responsivo: tablet ── */

  @media(max-width:900px){
    }
  @media(max-width:640px){
    
    }
  @media(max-width:400px){
    
    }

  /* ─── CART SIDEBAR ─── */
  .cart-sidebar {
    position: sticky;
    top: 118px;          /* topbar(60) + sticky-nav(~56) + 2px gap */
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    max-height: calc(100vh - 130px);
    display: flex;
    flex-direction: column;
    /* Sempre na segunda coluna, abrangendo todas as linhas do grid */
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
  }
  .cart-header {
    padding: 20px 20px 16px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
  }
  .cart-title {
    font-family: 'Baloo 2', cursive;
    font-size: 1.05rem;
    font-weight: 800;
    color: #111111;
  }
  .cart-count-badge {
    background: var(--rose);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 100px;
    padding: 2px 9px;
    min-width: 24px;
    text-align: center;
  }
  .cart-items {
    flex:1; overflow-y:auto; padding:16px;
    scrollbar-width: thin;
    scrollbar-color: var(--muted) transparent;
  }
  .cart-empty { text-align:center; padding:36px 16px; color:var(--muted); }
  .cart-empty-icon { font-size:48px; display:block; margin-bottom:12px; }
  .cart-empty p { font-size:13px; }

  .cart-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
    animation: slideIn 0.25s ease;
  }
  @keyframes slideIn {
    from { opacity:0; transform:translateX(12px); }
    to   { opacity:1; transform:translateX(0); }
  }
  .cart-item-img {
    width:48px; height:48px;
    border-radius: 10px;
    object-fit: cover;
    background: var(--bg3);
    flex-shrink: 0;
    display: flex; align-items:center; justify-content:center;
    font-size: 20px;
  }
  .cart-item-info { flex:1; min-width:0; }
  .cart-item-name { font-size:13px; font-weight:700; color:#111111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .cart-item-extras { font-size:11px; color:var(--muted); margin-top:2px; }
  .cart-item-price { font-size:13px; font-weight:700; color:var(--gold); flex-shrink:0; }
  .cart-item-qty { display:flex; align-items:center; gap:8px; margin-top:6px; }

  .qty-btn {
    width:22px; height:22px;
    background: var(--bg3);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    line-height: 1;
  }
  .qty-btn:hover { border-color:var(--rose); color:var(--rose); }
  .qty-num { font-size:13px; font-weight:600; min-width:16px; text-align:center; }

  .cart-footer { padding:16px 20px 20px; border-top:1px solid var(--border); flex-shrink:0; }
  .cart-totals { margin-bottom:16px; }
  .cart-row {
    display:flex; justify-content:space-between; align-items:center;
    padding:5px 0; font-size:13px; color:#3D3D3D;
  }
  .cart-row.total {
    font-size:15px; font-weight:900; color:#111111;
    margin-top:8px; padding-top:4px;
  }
  .cart-row.total span:last-child { color:var(--gold); }

  .checkout-btn {
    width:100%;
    background: linear-gradient(135deg, var(--rose), #c1121f);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 14px;
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    letter-spacing: 0.5px;
  }
  .checkout-btn:hover { transform:translateY(-1px); box-shadow:0 8px 28px rgba(247,37,133,0.4); }
  .checkout-btn:disabled { background:var(--muted); cursor:not-allowed; transform:none; box-shadow:none; }

  /* ─── FLOATING CART BAR (mobile — estilo Banzé) ─── */
  .floating-cart {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 200;
    background: var(--bg2, #1A0F00);
    border-top: 1px solid var(--border);
    /* Safe area iOS: cobre o home indicator */
    padding: 14px 20px calc(20px + env(safe-area-inset-bottom, 0px));
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.4);
  }
  .floating-cart-badge {
    display: none; /* badge not needed in bar layout */
  }

  /* ─── MODAL ─── */
  .modal-overlay {
    display: none;
    position: fixed; inset:0;
    background: rgba(0,0,0,0.88);
    z-index: 300;
    backdrop-filter: blur(10px);
    align-items: flex-end;
    justify-content: center;
    padding: 0;
  }
  .modal-overlay.open { display:flex; animation:overlayIn 0.25s ease; }
  @keyframes overlayIn { from{opacity:0} to{opacity:1} }

  .modal {
    background: var(--bg2);
    border-radius: 24px 24px 0 0;
    width: 100%;
    max-width: 560px;
    max-height: 92vh;
    overflow-y: auto;
    animation: modalUp 0.35s cubic-bezier(0.34,1.56,0.64,1);
    scrollbar-width: none;
  }
  @media(min-width:640px){
    .modal-overlay { align-items:center; padding:20px; }
    .modal { border-radius:24px; max-height:88vh; }
  }
  .modal::-webkit-scrollbar { display:none; }
  @keyframes modalUp { from{transform:translateY(100%)} to{transform:translateY(0)} }

  .modal-img { width:100%; height:240px; object-fit:cover; display:block; }
  .modal-img-placeholder {
    width:100%; height:240px;
    background: linear-gradient(135deg, var(--bg3) 0%, #1e1520 100%);
    display:flex; align-items:center; justify-content:center;
    font-size: 72px;
  }

  .modal-body { padding:24px 24px 32px; }
  .modal-close {
    position:absolute; top:16px; right:16px;
    width:36px; height:36px;
    background: rgba(0,0,0,0.55);
    border:none; border-radius:50%;
    color:#fff; font-size:18px;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    z-index:10; transition:var(--transition);
  }
  .modal-close:hover { background:var(--orange); }
  .modal-top { position:relative; }

  .modal-name {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 32px;
    letter-spacing: 2px;
    color: var(--cream);
    margin-bottom: 8px;
    line-height: 1;
  }
  .modal-desc { font-size:14px; color:var(--cream-dim); line-height:1.6; margin-bottom:24px; }

  /* Extras */
  .extras-section { margin-bottom:24px; }
  .extras-title {
    font-size: 12px; font-weight:700; letter-spacing:1.5px;
    text-transform: uppercase; color:var(--rose);
    margin-bottom: 12px; display:flex; align-items:center; gap:8px;
  }
  .extras-title::after {
    content:'opcional'; font-size:10px; font-weight:400;
    color:var(--muted); letter-spacing:.5px; text-transform:lowercase;
    border:1px solid var(--muted); border-radius:4px; padding:1px 5px;
  }
  .extras-grid { display:flex; flex-direction:column; gap:6px; }

  /* Grupo de categoria */
  .ext-cat-group { margin-bottom:14px; border-radius:12px; overflow:hidden; border:1px solid var(--border); }
  .ext-cat-hd {
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 14px;
    background:linear-gradient(135deg,var(--orange),var(--orange2));
  }
  .ext-cat-nm { font-size:13px; font-weight:800; color:#fff; letter-spacing:-.01em; }
  .ext-cat-sub {
    font-size:11px; color:rgba(255,255,255,.85); font-weight:500;
    background:rgba(255,255,255,.15); padding:2px 8px; border-radius:20px;
  }
  .ext-cat-group .extra-item { border-radius:0; border-left:none; border-right:none; border-top:none; }
  .ext-cat-group .extra-item:last-child { border-bottom:none; }

  /* Item de adicional */
  .extra-item {
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 14px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 10px;
    transition: var(--transition);
    user-select: none;
  }
  .extra-item.selected { border-color:var(--orange); background:var(--orange-dim); }
  .extra-item-info { display:flex; flex-direction:column; gap:2px; }
  .extra-name { font-size:14px; font-weight:500; color:var(--cream); }
  .extra-price { font-size:12px; font-weight:600; color:var(--gold); }

  /* Stepper +/- */
  .ext-stepper { display:flex; align-items:center; gap:8px; flex-shrink:0; }
  .ext-step-btn {
    width:30px; height:30px; border-radius:50%;
    border:none; background:var(--card); border:1.5px solid var(--border);
    color:var(--cream); font-size:16px; font-weight:700;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:var(--transition); line-height:1;
  }
  .ext-step-btn:active { transform:scale(.92); }
  .extra-item.selected .ext-step-btn { border-color:var(--orange); color:var(--orange); }
  .ext-step-num {
    min-width:20px; text-align:center;
    font-size:15px; font-weight:700; color:var(--cream);
  }
  .extra-item.selected .ext-step-num { color:var(--orange); }
  /* Limite atingido */
  .ext-step-disabled { opacity:.3; pointer-events:none; }
  .ext-cat-hd { transition: all .15s; }
  .ext-cat-limit-hit { animation: limitShake .3s ease; }
  @keyframes limitShake {
    0%,100% { transform:translateX(0); }
    25% { transform:translateX(-4px); }
    75% { transform:translateX(4px); }
  }

  /* Obs */
  .obs-label {
    font-size:12px; font-weight:600; letter-spacing:1px;
    text-transform:uppercase; color:var(--muted);
    display:block; margin-bottom:8px;
  }
  .obs-textarea {
    width:100%;
    background:var(--card); border:1px solid var(--border);
    border-radius:10px; color:var(--cream);
    font-family:'Nunito', sans-serif; font-size:14px;
    padding:12px 14px; resize:none; height:72px;
    transition:var(--transition); outline:none; margin-bottom:24px;
  }
  .obs-textarea:focus { border-color:var(--orange); box-shadow: 0 0 0 3px var(--orange-dim); }

  /* Modal footer */
  .modal-footer { display:flex; align-items:center; gap:16px; }
  .qty-control {
    display:flex; align-items:center; gap:12px;
    background:var(--card); border:1px solid var(--border);
    border-radius:12px; padding:8px 16px;
  }
  .qty-control-btn {
    width:28px; height:28px;
    background:var(--bg3); border:1px solid var(--border);
    border-radius:8px; color:var(--cream); font-size:16px;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:var(--transition);
  }
  .qty-control-btn:hover { border-color:var(--orange); color:var(--orange); }
  .qty-control-num { font-size:16px; font-weight:700; min-width:20px; text-align:center; }

  .add-to-cart-btn {
    flex:1;
    background: linear-gradient(135deg, var(--rose), #c1121f);
    color:#fff; border:none; border-radius:12px;
    padding:14px 20px;
    font-family:'Nunito', sans-serif; font-size:15px; font-weight:700;
    cursor:pointer; transition:var(--transition);
    display:flex; align-items:center; justify-content:center; gap:8px;
  }
  .add-to-cart-btn:hover { filter:brightness(1.1); }

  /* ─── CHECKOUT MODAL ─── */
  /* ═══════════════════════════════════════════════════
     CHECKOUT REDESIGN — Sofisticado
  ══════════════════════════════════════════════════ */
  .checkout-modal-overlay {
    display:none;
    position:fixed; inset:0;
    background:rgba(0,0,0,0.88);
    z-index:400;
    backdrop-filter:blur(14px);
    align-items:flex-end;
    justify-content:center;
    padding:0;
  }
  .checkout-modal-overlay.open { display:flex; animation:coFade .2s ease; }
  @keyframes coFade { from{opacity:0} to{opacity:1} }

  .checkout-modal {
    background:var(--bg, #fff);
    border-radius:24px 24px 0 0;
    width:100%;
    max-width:100%;
    max-height:96vh; overflow:hidden;
    padding:0;
    animation:coSlide .25s cubic-bezier(.32,1.4,.64,1);
    scrollbar-width:none;
    display:flex; flex-direction:column;
  }
  @media(min-width:640px){
    .checkout-modal-overlay { align-items:center; padding:24px; }
    .checkout-modal { border-radius:24px; max-width:520px; max-height:92vh; }
  }
  /* Allow internal body to scroll, not the outer modal */
  .co-body { overflow-y:auto; -webkit-overflow-scrolling:touch; }
  @keyframes coSlide { from{transform:translateY(60px);opacity:0} to{transform:translateY(0);opacity:1} }
  .checkout-modal::-webkit-scrollbar { display:none; }

  /* Header laranja */
  .co-header {
    background:var(--orange);
    padding:16px 20px 14px;
    border-radius:24px 24px 0 0;
    display:flex; align-items:center; justify-content:space-between;
    flex-shrink:0;
  }
  .co-header-title {
    font-family:'Baloo 2',cursive;
    font-size:1.1rem; font-weight:900; color:#fff;
    display:flex; align-items:center; gap:8px;
    letter-spacing:-.2px;
  }
  .co-header-cart-info {
    font-size:11px; color:#fff;
    text-align:right; font-weight:700;
  }
  .co-close {
    width:30px; height:30px; background:rgba(0,0,0,.15);
    border:none;
    border-radius:8px; color:#fff;
    cursor:pointer; font-size:13px; display:flex;
    align-items:center; justify-content:center;
    transition:all .15s; flex-shrink:0;
  }
  .co-close:hover { background:rgba(0,0,0,.28); }

  /* Body */
  .co-body { padding:18px 18px 28px; flex:1; overflow-y:auto; background:var(--bg,#fff); }

  /* Step labels */
  .co-step {
    font-family:'Baloo 2',cursive;
    font-size:10px; font-weight:900; text-transform:uppercase;
    letter-spacing:1px; color:var(--orange); margin-bottom:10px;
    display:flex; align-items:center; gap:8px;
    white-space:nowrap;
  }
  @media(min-width:600px){
    .co-step { font-size:12px; letter-spacing:.7px; margin-bottom:12px; }
  }
  .co-step::after { content:''; flex:1; height:1px; background:var(--orange-dim); }

  /* Card section */
  .co-card {
    background:var(--bg3,#f8f8f8); border-radius:14px;
    padding:14px 16px; margin-bottom:14px;
    border:1px solid var(--border,#e8e8e8);
  }
  .co-card:focus-within { background:var(--bg2,#fff); }

  /* Form inputs redesigned */
  .form-group { margin-bottom:12px; }
  .form-label {
    display:block; font-size:10px; font-weight:800;
    letter-spacing:.7px; text-transform:uppercase;
    color:var(--muted); margin-bottom:5px;
  }
  .form-input {
    width:100%;
    background:var(--bg2,#f0f0f0); border:1.5px solid var(--border,transparent);
    border-radius:10px; color:var(--text,#111);
    font-family:'Nunito',sans-serif; font-size:16px;
    padding:11px 13px; outline:none; transition:var(--transition);
  }
  .form-input:focus { border-color:var(--orange); background:var(--bg2,#fff); box-shadow:0 0 0 3px var(--orange-dim); }
  .form-input::placeholder { color:var(--muted,#bbb); }

  /* Address selector cards */
  .addr-sel-card {
    background:#fff; border:1.5px solid var(--border);
    border-radius:12px; padding:11px 14px; margin-bottom:8px;
    cursor:pointer; transition:var(--transition);
    display:flex; align-items:center; gap:10px;
  }
  .addr-sel-card:hover { border-color:var(--orange-glow); background:#fff8f5; }
  .addr-sel-card.sel  { border-color:var(--orange); background:var(--orange-dim); }
  .addr-sel-radio {
    width:18px; height:18px; border-radius:50%;
    border:2px solid var(--orange); flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  .addr-sel-card.sel .addr-sel-radio::after {
    content:''; width:8px; height:8px; border-radius:50%;
    background:var(--orange); display:block;
  }
  .addr-sel-info { flex:1; min-width:0; }
  .addr-sel-label { font-size:11px; font-weight:800; color:var(--orange); }
  .addr-sel-text  { font-size:12px; color:#555; margin-top:2px; line-height:1.4; word-break:break-word; }

  /* Add new addr toggle */
  .addr-add-btn {
    display:flex; align-items:center; gap:8px;
    background:#f0f9f0; border:1.5px dashed #22c55e;
    border-radius:12px; padding:10px 14px; cursor:pointer;
    font-size:12px; font-weight:700; color:#16a34a;
    transition:var(--transition); width:100%; margin-bottom:10px;
  }
  .addr-add-btn:hover { background:#dcfce7; }

  /* Delivery pills */
  .delivery-options {
    display:grid; grid-template-columns:1fr 1fr;
    gap:10px; margin-top:0;
  }
  .delivery-opt {
    background:var(--bg2,#fff); border:1.5px solid var(--border,#e8e8e8);
    border-radius:12px; padding:13px 10px 11px; cursor:pointer;
    transition:all .16s ease;
    user-select:none; display:flex; flex-direction:column;
    align-items:center; gap:6px; position:relative;
    -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  }
  .delivery-opt span:first-child {
    width:36px; height:36px; border-radius:10px;
    background:var(--bg3,#f5f5f5);
    display:flex; align-items:center; justify-content:center;
    font-size:18px; line-height:1; transition:all .16s ease;
  }
  .delivery-opt span:last-child {
    font-family:'Baloo 2',cursive;
    font-size:12px; font-weight:800; color:var(--muted); line-height:1;
    transition:color .16s ease;
  }
  .delivery-opt:hover { border-color:var(--orange); background:var(--orange-dim); transform:translateY(-1px); box-shadow:0 3px 10px var(--orange-glow); }
  .delivery-opt:hover span:first-child { background:rgba(232,73,30,.15); }
  .delivery-opt:hover span:last-child { color:var(--text); }
  .delivery-opt.selected { border-color:var(--orange); background:var(--orange-dim); box-shadow:0 4px 14px var(--orange-glow); transform:translateY(-1px); }
  .delivery-opt.selected span:first-child { background:var(--orange); }
  .delivery-opt.selected span:last-child { color:var(--orange); }
  .delivery-opt.selected::after { content:''; position:absolute; top:7px; right:7px; width:7px; height:7px; border-radius:50%; background:var(--orange); }

  /* Payment grid */
  .payment-options {
    display:grid; grid-template-columns:1fr 1fr;
    gap:8px; margin-top:0;
  }
  .pay-opt {
    background:var(--bg2,#fff);
    border:1.5px solid var(--border,#e8e8e8);
    border-radius:12px;
    padding:13px 10px 11px;
    cursor:pointer;
    transition:all .16s ease;
    user-select:none;
    display:flex; flex-direction:column; align-items:center; gap:6px;
    position:relative;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .pay-opt-icon {
    width:36px; height:36px;
    border-radius:10px;
    background:var(--bg3,#f5f5f5);
    display:flex; align-items:center; justify-content:center;
    transition:all .16s ease;
    flex-shrink:0;
  }
  .pay-opt-icon svg { display:block; }
  .pay-opt-label {
    font-family:'Baloo 2',cursive;
    font-size:12px; font-weight:800;
    color:var(--muted);
    letter-spacing:.1px;
    line-height:1;
    transition:color .16s ease;
  }
  .pay-opt:hover {
    border-color:var(--orange);
    background:var(--orange-dim);
    transform:translateY(-1px);
    box-shadow:0 3px 10px var(--orange-glow);
  }
  .pay-opt:hover .pay-opt-icon { background:rgba(232,73,30,.15); }
  .pay-opt:hover .pay-opt-label { color:var(--text); }
  .pay-opt.selected {
    border-color:var(--orange);
    background:var(--orange-dim);
    box-shadow:0 4px 14px var(--orange-glow);
    transform:translateY(-1px);
  }
  .pay-opt.selected .pay-opt-icon { background:var(--orange); }
  .pay-opt.selected .pay-opt-icon svg { color:#fff; }
  .pay-opt.selected .pay-opt-label { color:var(--orange); }
  .pay-opt.selected::after {
    content:''; position:absolute; top:7px; right:7px;
    width:7px; height:7px; border-radius:50%;
    background:var(--orange);
  }

  /* Coupon */
  .co-coupon-row { display:flex; gap:8px; }
  .co-coupon-btn {
    background:var(--orange); color:#fff; border:none;
    border-radius:10px; padding:0 16px; font-weight:800;
    font-size:13px; cursor:pointer; white-space:nowrap;
    transition:var(--transition); flex-shrink:0;
  }
  .co-coupon-btn:hover { background:var(--orange2); }

  /* Summary */
  .checkout-divider { border:none; border-top:1px solid var(--border); margin:16px 0; }
  .order-summary { margin-bottom:16px; }
  .summary-item {
    display:flex; justify-content:space-between; align-items:flex-start;
    padding:8px 0; font-size:13px; color:var(--text2,#333);
    border-bottom:1px solid var(--border,#f0f0f0); gap:12px;
  }
  .summary-item-name { flex:1; font-weight:600; }
  .summary-item-price { color:var(--orange); font-weight:800; flex-shrink:0; }
  .summary-total {
    display:flex; justify-content:space-between;
    font-size:16px; font-weight:900; color:var(--text,#111); padding-top:12px;
    font-family:'Baloo 2',cursive;
  }
  .summary-total span:last-child { color:var(--orange); font-size:19px; }

  /* Confirm button */
  .confirm-btn {
    width:100%;
    background:var(--orange);
    color:#fff; border:none; border-radius:14px;
    padding:15px; font-family:'Baloo 2',cursive;
    font-size:15px; font-weight:900;
    cursor:pointer; transition:all .18s ease;
    box-shadow:0 4px 18px var(--orange-glow);
    letter-spacing:.3px;
  }
  .confirm-btn:hover { transform:translateY(-2px); box-shadow:0 8px 28px var(--orange-glow); filter:brightness(1.08); }
  .confirm-btn:active { transform:translateY(0); filter:brightness(.95); }
  .cancel-btn {
    width:100%; background:transparent; color:var(--muted);
    border:1.5px solid var(--border); border-radius:14px;
    padding:13px; font-family:'Nunito',sans-serif; font-size:14px;
    cursor:pointer; margin-top:10px; transition:var(--transition);
  }
  .cancel-btn:hover { color:var(--text); border-color:#bbb; }

  /* ─── SUCCESS ─── */
  .success-screen {
    display:none; position:fixed; inset:0;
    background: #F2F2F2;
    z-index:500; align-items:center; justify-content:center;
    flex-direction:column; text-align:center; padding:40px;
  }
  .success-screen.show { display:flex; animation:fadeIn 0.4s ease; }
  @keyframes fadeIn { from{opacity:0} to{opacity:1} }
  .success-icon { font-size:80px; margin-bottom:24px; animation:bounceIn 0.6s 0.2s ease both; }
  @keyframes bounceIn { 0%{transform:scale(0)} 60%{transform:scale(1.2)} 100%{transform:scale(1)} }
  .success-title {
    font-family:'Bebas Neue',sans-serif;
    font-size:52px; color:var(--cream); letter-spacing:4px; margin-bottom:12px;
  }
  .success-title span { color:var(--rose); }
  .success-sub { font-size:16px; color:var(--cream-dim); margin-bottom:32px; max-width:360px; line-height:1.7; }
  .success-back {
    background: linear-gradient(135deg, var(--orange), var(--orange2));
    color:#fff; border:none; border-radius:100px;
    padding:14px 36px; font-size:15px; font-weight:700;
    cursor:pointer; font-family:'Nunito',sans-serif; transition:var(--transition);
    box-shadow:0 6px 24px rgba(247,37,133,0.4);
  }
  .success-back:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,73,30,0.35); }

  /* ─── CART BOTTOM SHEET ─── */
  .cart-sheet-overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.72);
    z-index: 350;
    backdrop-filter: blur(4px);
    align-items: flex-end;
    justify-content: center;
    padding: 0;
  }
  .cart-sheet-overlay.open { display: flex; animation: sheetFadeIn 0.22s ease; }
  @keyframes sheetFadeIn { from{opacity:0} to{opacity:1} }

  .cart-sheet {
    background: var(--bg2);
    border-radius: 24px 24px 0 0;
    width: 100%;
    max-width: 560px;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    animation: sheetUp 0.32s cubic-bezier(0.34,1.2,0.64,1);
    overflow: hidden;
  }
  @media(min-width:640px){
    .cart-sheet-overlay { align-items:center; padding:20px; }
    .cart-sheet { border-radius:24px; max-height:85vh; }
    .cart-sheet-handle { display:none; }
  }
  @keyframes sheetUp {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
  }

  /* drag handle */
  .cart-sheet-handle {
    width: 40px; height: 4px;
    background: rgba(255,255,255,0.2);
    border-radius: 2px;
    margin: 12px auto 0;
    flex-shrink: 0;
  }

  /* sheet header */
  .cart-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 14px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
  }
  .cart-sheet-title {
    font-family: 'Baloo 2', cursive;
    font-size: 1rem;
    font-weight: 800;
    color: #111;
    letter-spacing: 1px;
    text-transform: uppercase;
  }
  .cart-sheet-close {
    width: 32px; height: 32px;
    background: rgba(0,0,0,0.07);
    border: none; border-radius: 50%;
    color: #444; font-size: 16px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: var(--transition);
  }
  .cart-sheet-close:hover { background: rgba(255,255,255,0.20); }

  /* sheet items */
  .cart-sheet-items {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
    scrollbar-width: none;
  }
  .cart-sheet-items::-webkit-scrollbar { display: none; }

  .cart-sheet-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 20px;
    border-bottom: 1px solid var(--border);
    animation: sheetItemIn 0.22s ease;
  }
  @keyframes sheetItemIn {
    from { opacity:0; transform: translateX(10px); }
    to   { opacity:1; transform: translateX(0); }
  }
  .cart-sheet-item-img {
    width: 52px; height: 52px;
    border-radius: 10px;
    object-fit: cover;
    background: rgba(255,255,255,0.08);
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px;
    overflow: hidden;
  }
  .cart-sheet-item-img img {
    width: 100%; height: 100%; object-fit: cover;
  }
  .cart-sheet-item-info { flex: 1; min-width: 0; }
  .cart-sheet-item-name {
    font-size: 14px; font-weight: 700;
    color: #111;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .cart-sheet-item-extras {
    font-size: 11px; color: #888;
    margin-top: 2px;
  }
  .cart-sheet-item-price {
    font-size: 14px; font-weight: 800;
    color: var(--orange);
    flex-shrink: 0;
  }

  /* qty row inside sheet item */
  .cart-sheet-qty {
    display: flex; align-items: center; gap: 10px;
    margin-top: 8px;
  }
  .cs-qty-btn {
    width: 26px; height: 26px;
    background: rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 7px;
    color: #333; font-size: 15px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: var(--transition);
    line-height: 1;
  }
  .cs-qty-btn:hover { border-color: var(--orange); color: var(--orange); }
  .cs-qty-num {
    font-size: 14px; font-weight: 700;
    min-width: 18px; text-align: center;
    color: #111;
  }

  /* empty state inside sheet */
  .cart-sheet-empty {
    text-align: center;
    padding: 48px 24px;
    color: rgba(245,236,215,0.4);
  }
  .cart-sheet-empty-icon { font-size: 44px; display: block; margin-bottom: 10px; }
  .cart-sheet-empty p { font-size: 14px; line-height: 1.5; }

  /* totals + CTA */
  .cart-sheet-footer {
    padding: 16px 20px 28px;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
    background: var(--bg2);
  }
  .cart-sheet-totals { margin-bottom: 14px; }
  .cs-row {
    display: flex; justify-content: space-between;
    font-size: 13px; color: var(--muted);
    padding: 4px 0;
  }
  .cs-row.cs-total {
    font-size: 17px; font-weight: 900;
    color: var(--text);
    margin-top: 4px; padding-top: 4px;
  }
  .cs-row.cs-total span:last-child { color: var(--orange); }

  /* "Finalizar pedido" inside sheet */
  .cs-finalizar-btn {
    width: 100%;
    background: var(--orange);
    color: #fff;
    border: none; border-radius: 14px;
    padding: 15px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px; font-weight: 800;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    transition: var(--transition);
    letter-spacing: 0.3px;
    box-shadow: 0 6px 24px rgba(232,73,30,0.45);
  }
  .cs-finalizar-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
  .cs-finalizar-btn:disabled { background: #555; color: #999; cursor: not-allowed; transform: none; box-shadow: none; }
  .cs-finalizar-arrow { font-size: 18px; }

  /* ─── FLOATING CART BAR (mobile — replaces old pill) ─── */
  /* floating cart left side — item count + price */
  .floating-cart-left {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .floating-cart-count {
    font-size: 12px;
    font-weight: 600;
    color: rgba(0,0,0,0.55);
  }
  .floating-cart-price {
    font-size: 20px;
    font-weight: 900;
    color: var(--orange);
    font-family: 'Baloo 2', cursive;
    line-height: 1.1;
  }
  /* floating cart right side — "Ver carrinho" button */
  .floating-cart-btn {
    background: var(--orange);
    color: #fff;
    border: none;
    border-radius: 14px;
    padding: 14px 24px;
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
    box-shadow: 0 4px 18px rgba(232,73,30,0.40);
    white-space: nowrap;
    flex-shrink: 0;
  }
  .floating-cart-btn:hover { background: var(--orange2); }
  /* safe area padding for notched phones */
  /* safe-area já aplicado diretamente no .floating-cart */

  /* ─── FOOTER ─── */
  footer {
    text-align:center; padding:28px 24px;
    border-top:1px solid var(--border);
    color:var(--muted); font-size:12px;
    letter-spacing:.5px;
  }
  footer span { color:var(--rose); }
  footer .gold { color:var(--gold); }

  /* ══════════════════════════════════════════════════
     RESPONSIVE — Mobile / Tablet / Desktop
     Breakpoints:
       xs  < 480px   → small phones
       sm  < 640px   → phones
       md  < 900px   → large phones / portrait tablet
       lg  < 1200px  → landscape tablet / small desktop
  ══════════════════════════════════════════════════ */

  /* ── Landscape tablet / small desktop (< 1200px) ── */
  @media (max-width: 1200px) {
    .main-wrap {
      grid-template-columns: 1fr 300px;
      gap: 24px;
      padding: 32px 20px 100px;
    }
    .products-grid {
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
  }

  /* ── Large phone / portrait tablet (< 900px) ── */
  @media (max-width: 900px) {
    .main-wrap {
      grid-template-columns: 1fr;
      padding: 24px 16px 100px;
    }
    .cart-sidebar { display: none !important; }

    .hero {
      height: auto;
      min-height: 320px;
      padding: 40px 20px;
    }
    .hero h1 { font-size: clamp(42px, 10vw, 72px); }
    .hero-pills { gap: 8px; }
    .hero-pill { font-size: 12px; padding: 6px 14px; }

    .topbar-inner { padding: 0 16px; }

    .sticky-nav-inner { padding: 8px 16px; gap: 6px; }
    .cat-btn { font-size: 12px; padding: 7px 14px; }

    .products-grid {
      grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
      gap: 12px;
    }
    .products-grid.list .product-card { height: 80px; }
    .products-grid.list .card-img-wrap { width: 80px; min-width: 80px; }
    .products-grid.list .card-add { width: 30px; height: 30px; font-size: 18px; }

    .section-title { font-size: 1.15rem; }
    .menu-section { margin-bottom: 36px; }

    /* Product modal: keep centered on tablet, full on phone */
    .modal { max-width:520px; }
  }

  /* ── Phone (< 640px) ── */
  @media (max-width: 640px) {
    .products-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
    }
    .products-grid.list { grid-template-columns: 1fr; }
    .products-grid.list .product-card { height: 80px; }
    .products-grid.list .card-img-wrap { width: 80px; min-width: 80px; }
    .products-grid.list .card-add { width: 30px; height: 30px; font-size: 18px; }

    .card-body { padding: 10px 12px 12px; }
    .card-name { font-size: 13px; }
    .card-desc { font-size: 11px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .card-price { font-size: 14px; }
    /* Only override grid (non-list) card-add size on phone */
    .products-grid:not(.list) .card-add { width: 32px; height: 32px; font-size: 20px; }

    .hero { min-height: 280px; padding: 32px 16px; }
    .hero h1 { font-size: clamp(36px, 11vw, 56px); }
    .hero-status-pill { font-size: 10px; padding: 6px 14px; }
    .hero-sub { font-size: 13px; margin-top: 10px; }
    .hero-pills { gap: 6px; margin-top: 20px; }
    .hero-pill { font-size: 11px; padding: 5px 11px; gap: 5px; }

    .topbar-inner { height: 54px; padding: 0 14px; }
    .sticky-nav { top: 54px; }  /* topbar shrinks to 54px on mobile */
    .topbar-logo-icon { width: 32px; height: 32px; font-size: .95rem; border-radius: 9px; }
    .topbar-logo-name { font-size: .95rem; }
    .topbar-cart-btn { width: 36px; height: 36px; font-size: .95rem; }

    .sticky-nav-inner { padding: 8px 12px; gap: 5px; }
    .cat-btn { font-size: 11.5px; padding: 6px 12px; }

    .section-header { gap: 10px; margin-bottom: 16px; }
    .section-title { font-size: 1.05rem; }
    .main-wrap { padding: 18px 12px 110px; gap: 28px; }
    .menu-section { margin-bottom: 28px; }

    .modal-img { height: 190px; }
    .modal-img-placeholder { height: 160px; font-size: 56px; }
    .modal-body { padding: 18px 16px 28px; }
    .modal-name { font-size: 1.2rem; }
    .modal-footer { gap: 12px; }
    .qty-control { padding: 7px 12px; gap: 10px; }
    .add-to-cart-btn { padding: 13px 14px; font-size: 14px; }

    .checkout-modal h2 { font-size: 1.15rem; margin-bottom: 18px; }
    .form-input { padding: 10px 12px; font-size: 16px; /* must stay 16px — prevents iOS auto-zoom */ }
    .pay-opt { padding: 14px 8px; font-size: 12px; }
    .pay-opt-icon { font-size: 22px; }
    .delivery-opt { padding: 14px 8px; font-size: 12px; }
    .confirm-btn { padding: 14px; font-size: 15px; }

    .floating-cart-btn { padding: 12px 18px; font-size: 14px; }

    .success-title { font-size: 1.8rem; }
    .success-icon { font-size: 64px; }
    .success-sub { font-size: 14px; }

    footer { padding: 20px 16px; font-size: 11px; }
  }

  /* ── Small phones (< 400px) ── */
  @media (max-width: 400px) {
    .products-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 8px;
    }
    .card-img-wrap { aspect-ratio: 3/2; }
    .card-body { padding: 8px 10px 10px; }
    .card-name { font-size: 12px; }
    .card-add { font-size: 10px; padding: 5px 8px; }
    .card-price { font-size: 13px; }

    .cat-btn { font-size: 11px; padding: 5px 10px; }
    .hero h1 { font-size: clamp(30px, 12vw, 46px); }
    .hero-pill { display: flex; }

    .main-wrap { padding: 14px 10px 100px; gap: 22px; }
    .section-title { font-size: .95rem; }

    .products-grid:not(.list) .card-add { width: 28px; height: 28px; font-size: 18px; }
    .products-grid:not(.list) .card-price { font-size: 13px; }

    .modal-footer { flex-direction: column; }
    .qty-control { width: 100%; justify-content: center; }
    .add-to-cart-btn { width: 100%; }

    .payment-options { grid-template-columns: repeat(2, 1fr); }

    .floating-cart-btn { padding: 11px 16px; font-size: 13px; }
  }

  /* ── RESPONSIVIDADE GLOBAL LOJA — todos os celulares ── */

  /* Impede overflow horizontal em tudo */
  * { box-sizing: border-box; }

  /* Topbar: padding lateral adaptado */
  @media (max-width: 900px) {
    .topbar-inner { padding: 0 16px; }
    .hero { padding: 36px 16px 32px; min-height: 380px; }
    .main-wrap { padding: 18px 12px 110px; }
  }
  @media (max-width: 600px) {
    .topbar-inner { padding: 0 12px; height: 54px; }
    .hero { padding: 28px 12px 24px; min-height: 300px; }
    .hero h1 { font-size: clamp(26px, 10vw, 40px); line-height: 1.15; }
    .hero p  { font-size: 13px; }
    .main-wrap { padding: 12px 10px 100px; gap: 18px; }
    .section-title { font-size: .92rem; }
    /* Cart sheet */
    .cart-header  { padding: 14px 16px; }
    .cart-footer  { padding: 12px 16px 16px; }
    /* Checkout */
    .co-body { padding: 14px 14px 24px; }
    .co-card { padding: 12px; }
    .co-step { margin-bottom: 6px; }
    /* Auth modal */
    .auth-box-body { padding: 20px 16px 24px; }
    /* Perfil modal */
    .perfil-header-bg { padding: 20px 16px 14px; }
    .perfil-content   { padding: 14px 14px 20px; }
    /* Produto modal */
    .modal-body { padding: 14px 14px 20px; }
    /* Status pill */
    .hero-status-pill { font-size: 10px; padding: 5px 12px; }
    /* Cart button floating */
    .floating-cart-btn { left: 12px; right: 12px; width: auto; }
  }
  @media (max-width: 380px) {
    .topbar-inner { padding: 0 10px; }
    .hero { padding: 22px 10px 20px; min-height: 260px; }
    .main-wrap { padding: 10px 8px 100px; }
    .co-body { padding: 12px 10px 20px; }
    .products-grid { gap: 6px; }
    .card-body { padding: 6px 8px 8px; }
    .card-name { font-size: 11px; }
    .card-price { font-size: 12px; }
    .auth-box-body { padding: 16px 12px 20px; }
  }

  /* ─── VER MAIS ─── */
  .ver-mais-wrap { text-align:center; margin-top:18px; }
  .ver-mais-btn {
    display:inline-flex; align-items:center; gap:8px;
    background:#fff; color:var(--orange);
    border: 1.5px solid var(--orange-glow);
    border-radius:100px; padding:10px 24px;
    font-family:'Baloo 2',cursive; font-size:13px; font-weight:700;
    cursor:pointer; transition:var(--transition);
    box-shadow:0 2px 12px rgba(232,73,30,0.08);
  }
  .ver-mais-btn:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
  .ver-mais-btn .arrow { display:inline-block; transition:transform .25s; }
  .ver-mais-btn.expanded .arrow { transform:rotate(180deg); }

  /* Topbar */
  .topbar {
    position: sticky; top: 0; z-index: 100;
    background: #fff; border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  .topbar-inner {
    max-width: 1200px; margin: 0 auto; padding: 0 24px;
    height: 60px; display:flex; align-items:center; justify-content:space-between;
  }
  .topbar-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
  .topbar-logo-icon {
    width:36px; height:36px; border-radius:10px;
    background:linear-gradient(135deg,var(--orange),var(--orange2));
    display:flex; align-items:center; justify-content:center;
    font-size:1rem; font-weight:900; color:#fff;
  }
  .topbar-logo-name { font-family:'Baloo 2',cursive; font-size:1.1rem; font-weight:800; color:#111111; }
  .topbar-logo-name span { color:var(--orange); }
  .topbar-cart-btn {
    width:40px; height:40px; background:var(--orange);
    border:none; border-radius:50%; color:#fff; font-size:1rem;
    cursor:pointer; position:relative;
    display:flex; align-items:center; justify-content:center;
    transition:var(--transition);
  }
  .topbar-cart-btn:hover { background:var(--orange2); transform:scale(1.07); }
  .topbar-cart-count {
    position:absolute; top:-4px; right:-4px;
    background:var(--text); color:#fff;
    width:17px; height:17px; border-radius:50%;
    font-size:9px; font-weight:900;
    display:flex; align-items:center; justify-content:center;
  }

  /* ── TOPBAR — botão usuário ── */
  .topbar-user-btn {
    display:flex; align-items:center; gap:7px;
    background: var(--bg3); border: 1px solid var(--border);
    border-radius:100px; padding:5px 13px 5px 8px;
    cursor:pointer; transition:var(--transition);
    font-family:'Nunito',sans-serif; font-size:13px; font-weight:700;
    color:var(--text); text-decoration:none; flex-shrink:0;
  }
  .topbar-user-btn:hover { border-color:var(--orange); background:#fff5f1; }
  .topbar-user-avatar {
    width:26px; height:26px; border-radius:50%;
    background:linear-gradient(135deg,var(--orange),var(--orange2));
    color:#fff; font-size:11px; font-weight:900;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .topbar-login-btn {
    display:flex; align-items:center; gap:6px;
    background:transparent; border:1.5px solid var(--border);
    border-radius:100px; padding:5px 14px;
    cursor:pointer; transition:var(--transition);
    font-family:'Nunito',sans-serif; font-size:13px; font-weight:700;
    color:var(--text2); flex-shrink:0;
  }
  .topbar-login-btn:hover { border-color:var(--orange); color:var(--orange); }

  /* ── MODAL AUTH ── */
  .auth-overlay {
    display:none; position:fixed; inset:0;
    background:rgba(0,0,0,0.88); z-index:600;
    backdrop-filter:blur(12px);
    align-items:flex-end; justify-content:center; padding:0;
  }
  .auth-overlay.open { display:flex; animation:overlayIn .2s ease; }

  /* Box container */
  .auth-box {
    background:#fff; border-radius:24px 24px 0 0;
    width:100%; max-width:440px;
    max-height:94vh; overflow:hidden;
    animation:coSlide .25s cubic-bezier(.32,1.4,.64,1);
    scrollbar-width:none;
    display:flex; flex-direction:column;
    position:relative;
  }
  .auth-box::-webkit-scrollbar { display:none; }
  @media(min-width:520px){
    .auth-overlay { align-items:center; padding:20px; }
    .auth-box { border-radius:24px; max-height:90vh; }
  }

  .auth-close {
    position:absolute; top:12px; right:12px; z-index:5;
    width:34px; height:34px; background:rgba(0,0,0,.06);
    border:none; border-radius:50%; color:#999;
    font-size:15px; cursor:pointer; display:flex;
    align-items:center; justify-content:center;
    transition:background .2s; flex-shrink:0;
  }
  .auth-close:hover { background:rgba(0,0,0,.12); color:#666; }

  /* Body scrolls internally */
  .auth-box-body {
    overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:28px 24px 28px; flex:1;
  }
  @media(max-width:520px){ .auth-box-body { padding:24px 18px 24px; } }
  @media(max-width:380px){ .auth-box-body { padding:20px 14px 20px; } }
  .auth-logo {
    width:80px; height:80px; border-radius:20px;
    background:linear-gradient(135deg,var(--orange),var(--orange2));
    display:flex; align-items:center; justify-content:center;
    font-size:2rem; margin:0 auto 16px;
    overflow:hidden;
  }
  .auth-logo img {
    width:100%; height:100%; object-fit:contain;
  }
  .auth-logo:has(img) {
    background:var(--bg2);
    box-shadow:0 2px 12px rgba(0,0,0,.12);
  }
  .auth-title {
    font-family:'Baloo 2',cursive; font-size:22px; font-weight:800;
    color:var(--text); text-align:center; margin-bottom:4px;
  }
  .auth-sub { font-size:13px; color:var(--muted); text-align:center; margin-bottom:24px; }
  .auth-tabs {
    display:flex; background:var(--bg3); border-radius:12px;
    padding:4px; gap:4px; margin-bottom:22px;
  }
  .auth-tab {
    flex:1; padding:9px; border:none; border-radius:9px;
    font-family:'Nunito',sans-serif; font-size:13px; font-weight:700;
    cursor:pointer; transition:var(--transition);
    background:transparent; color:var(--muted);
  }
  .auth-tab.active { background:#fff; color:var(--orange); box-shadow:0 2px 8px rgba(0,0,0,.09); }
  .auth-panel { display:none; }
  .auth-panel.active { display:block; }
  .auth-form-group { margin-bottom:14px; }
  .auth-label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--muted); margin-bottom:5px; }
  .auth-input {
    width:100%; background:var(--bg); border:1.5px solid var(--border);
    border-radius:10px; color:var(--text); font-family:'Nunito',sans-serif;
    font-size:16px; padding:11px 13px; outline:none; transition:var(--transition);
  }
  .auth-input:focus { border-color:var(--orange); box-shadow:0 0 0 3px var(--orange-dim); }
  .auth-btn {
    width:100%; background:linear-gradient(135deg,var(--orange),var(--orange2));
    color:#fff; border:none; border-radius:12px; padding:14px;
    font-family:'Nunito',sans-serif; font-size:15px; font-weight:800;
    cursor:pointer; transition:var(--transition); margin-top:6px;
    display:flex; align-items:center; justify-content:center; gap:8px;
  }
  .auth-btn:hover { filter:brightness(1.08); transform:translateY(-1px); }
  .auth-btn:disabled { background:var(--muted); cursor:not-allowed; transform:none; filter:none; }
  .auth-link {
    display:block; text-align:center; margin-top:14px;
    font-size:13px; color:var(--muted); cursor:pointer;
  }
  .auth-link span { color:var(--orange); font-weight:700; cursor:pointer; }
  .auth-link span:hover { text-decoration:underline; }
  .auth-err { font-size:12px; color:#dc2626; margin-top:8px; min-height:16px; text-align:center; }
  .auth-ok  { font-size:12px; color:#16a34a; margin-top:8px; min-height:16px; text-align:center; font-weight:700; }
  .auth-divider { border:none; border-top:1px solid var(--border); margin:20px 0; }
  .auth-spinner { display:inline-block; width:16px; height:16px; border:2px solid rgba(255,255,255,.3); border-top-color:#fff; border-radius:50%; animation:spin .7s linear infinite; }
  @keyframes spin { to { transform:rotate(360deg); } }

  /* ── MODAL PERFIL ── */
  .perfil-overlay {
    display:none; position:fixed; inset:0;
    background:rgba(0,0,0,0.88); z-index:600;
    backdrop-filter:blur(12px);
    align-items:flex-end; justify-content:center; padding:0;
  }
  .perfil-overlay.open { display:flex; animation:overlayIn .2s ease; }
  .perfil-box {
    background:#fff; border-radius:24px 24px 0 0;
    width:100%; max-width:460px;
    max-height:94vh; overflow:hidden;
    padding:0; animation:coSlide .25s cubic-bezier(.32,1.4,.64,1);
    scrollbar-width:none; box-shadow:0 -8px 40px rgba(0,0,0,.18);
    position:relative; display:flex; flex-direction:column;
  }
  @media(min-width:520px){
    .perfil-overlay { align-items:center; padding:20px; }
    .perfil-box { border-radius:24px; max-height:92vh; }
    .perfil-header-bg { border-radius:24px 24px 0 0; }
  }
  .perfil-content { overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .perfil-box::-webkit-scrollbar { display:none; }

  /* Header laranja */
  .perfil-header-bg {
    background:linear-gradient(135deg, var(--orange) 0%, var(--orange2) 100%);
    padding:28px 24px 20px; text-align:center; border-radius:24px 24px 0 0; position:relative; flex-shrink:0;
  }
  .perfil-avatar {
    width:68px; height:68px; border-radius:50%;
    background:rgba(255,255,255,.25);
    color:#fff; font-size:1.7rem; font-weight:900;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 2px; letter-spacing:-1px;
    border:3px solid rgba(255,255,255,.5);
    background-size:cover; background-position:center;
    cursor:pointer; transition:var(--transition);
  }
  .perfil-avatar:hover { opacity:.88; }
  .perfil-foto-hint { font-size:10px; color:rgba(255,255,255,.75); margin-bottom:8px; }
  .perfil-nome { font-family:'Baloo 2',cursive; font-size:18px; font-weight:900; color:#fff; }
  .perfil-email { font-size:12px; color:rgba(255,255,255,.8); margin-bottom:0; }

  /* Tabs estilo pill com fundo branco sobre laranja */
  .perfil-tabs-row {
    display:flex; gap:4px; padding:12px 16px 0;
    background:linear-gradient(135deg, var(--orange) 0%, var(--orange2) 100%);
    flex-shrink:0;
  }
  .perfil-tab-btn {
    flex:1; padding:9px 6px; border:none;
    background:rgba(255,255,255,.18); border-radius:10px 10px 0 0;
    font-family:'Nunito',sans-serif; font-size:11px; font-weight:800;
    color:rgba(255,255,255,.85); cursor:pointer; transition:var(--transition);
    white-space:nowrap;
  }
  .perfil-tab-btn.active {
    background:#fff; color:var(--orange);
    box-shadow:0 -2px 8px rgba(0,0,0,.08);
  }
  .perfil-tab-btn:not(.active):hover { background:rgba(255,255,255,.3); }

  /* Body content */
  .perfil-content { padding:20px 20px 24px; flex:1; overflow-y:auto; }

  /* Address cards */
  .addr-card {
    background:#fff8f5; border:1.5px solid var(--orange-dim);
    border-radius:12px; padding:12px 14px; margin-bottom:10px;
    display:flex; align-items:flex-start; gap:10px; cursor:pointer;
    transition:var(--transition);
  }
  .addr-card.selected { border-color:var(--orange); background:var(--orange-dim); }
  .addr-card:hover { border-color:var(--orange); }
  .addr-card-radio { width:18px; height:18px; border-radius:50%; border:2px solid var(--orange); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
  .addr-card.selected .addr-card-radio::after { content:''; width:8px; height:8px; border-radius:50%; background:var(--orange); display:block; }
  .addr-card-info { flex:1; min-width:0; }
  .addr-card-label { font-size:11px; font-weight:800; color:var(--orange); text-transform:uppercase; letter-spacing:.5px; }
  .addr-card-text { font-size:13px; color:var(--text2); margin-top:2px; line-height:1.4; }
  .addr-card-del { background:none; border:none; cursor:pointer; color:var(--muted); font-size:14px; padding:2px 4px; flex-shrink:0; border-radius:6px; transition:var(--transition); }
  .addr-card-del:hover { background:#fee2e2; color:#dc2626; }

  .perfil-section-title {
    font-size:11px; font-weight:700; text-transform:uppercase;
    letter-spacing:.8px; color:var(--muted); margin:18px 0 10px;
    display:flex; align-items:center; gap:8px;
  }
  .perfil-section-title::after { content:''; flex:1; height:1px; background:var(--border); }
  .perfil-save-btn {
    width:100%; background:linear-gradient(135deg,var(--orange),var(--orange2));
    color:#fff; border:none; border-radius:14px; padding:13px;
    font-family:'Nunito',sans-serif; font-size:14px; font-weight:800;
    cursor:pointer; transition:var(--transition); margin-top:10px;
    display:flex; align-items:center; justify-content:center; gap:8px;
    box-shadow:0 4px 16px var(--orange-glow);
  }
  .perfil-save-btn:hover { filter:brightness(1.06); transform:translateY(-1px); }
  .perfil-save-btn:active { transform:translateY(0); }
  .perfil-logout-btn {
    width:100%; background:transparent; color:var(--muted);
    border:1.5px solid var(--border); border-radius:14px; padding:12px;
    font-family:'Nunito',sans-serif; font-size:13px; font-weight:700;
    cursor:pointer; transition:var(--transition); margin-top:8px;
  }
  .perfil-logout-btn:hover { color:#dc2626; border-color:#dc2626; }

  /* ── MODAL HISTÓRICO DE PEDIDOS ── */
  .hist-overlay {
    display:none; position:fixed; inset:0;
    background:rgba(0,0,0,0.9); z-index:600;
    backdrop-filter:blur(12px);
    align-items:flex-end; justify-content:center; padding:0;
  }
  .hist-overlay.open { display:flex; animation:overlayIn .2s ease; }
  .hist-box {
    background:#fff; border-radius:24px 24px 0 0;
    width:100%; max-width:520px;
    max-height:90vh; display:flex; flex-direction:column;
    animation:coSlide .25s cubic-bezier(.32,1.4,.64,1); overflow:hidden;
  }
  @media(min-width:640px){
    .hist-overlay { align-items:center; padding:20px; }
    .hist-box { border-radius:24px; max-height:88vh; }
  }
  .hist-header {
    padding:20px 24px 16px; border-bottom:1px solid var(--border);
    display:flex; align-items:center; justify-content:space-between; flex-shrink:0;
  }
  .hist-title { font-family:'Baloo 2',cursive; font-size:20px; font-weight:800; color:var(--text); }
  .hist-body  { overflow-y:auto; padding:16px; scrollbar-width:none; flex:1; }
  .hist-body::-webkit-scrollbar { display:none; }
  .hist-pedido {
    background:var(--bg); border:1.5px solid var(--border);
    border-radius:16px; padding:16px; margin-bottom:12px;
    cursor:default; transition:var(--transition);
  }
  .hist-pedido:hover { border-color:var(--orange); box-shadow:0 2px 12px rgba(232,73,30,.1); }
  .hist-pedido-header {
    display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;
  }
  .hist-pedido-id   { font-size:11px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.6px; }
  .hist-pedido-data { font-size:12px; color:var(--muted); }
  .hist-pedido-total { font-size:18px; font-weight:900; color:var(--orange); }
  .hist-status {
    display:inline-flex; align-items:center; gap:5px;
    font-size:11px; font-weight:700; padding:3px 10px;
    border-radius:100px; margin-bottom:10px;
  }
  .hist-status.entregue  { background:#dcfce7; color:#16a34a; }
  .hist-status.novo      { background:#fef3c7; color:#d97706; }
  .hist-status.preparando{ background:#dbeafe; color:#2563eb; }
  .hist-status.saiu      { background:#f3e8ff; color:#7c3aed; }
  .hist-status.cancelado { background:#fee2e2; color:#dc2626; }
  .hist-status.confirmado{ background:#dcfce7; color:#16a34a; }
  .hist-itens { border-top:1px solid var(--border); padding-top:10px; margin-top:6px; }
  .hist-item  { display:flex; justify-content:space-between; align-items:center; padding:4px 0; font-size:13px; }
  .hist-item-name { color:var(--text); flex:1; }
  .hist-item-price{ color:var(--muted); font-size:12px; }
  .hist-info-row  { display:flex; gap:16px; flex-wrap:wrap; margin-top:10px; padding-top:10px; border-top:1px solid var(--border); }
  .hist-info-chip { font-size:11px; color:var(--muted); display:flex; align-items:center; gap:4px; }
  .hist-empty { text-align:center; padding:48px 20px; color:var(--muted); }
  .hist-loading { text-align:center; padding:48px 20px; color:var(--muted); }



  /* ── Extra item radio (limite = 1) — estilo iFood ── */
  .extra-item-radio {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--border);
    transition: background .15s;
  }
  .extra-item-radio:last-child { border-bottom: none; }
  .extra-item-radio:active { background: rgba(0,0,0,.03); }
  .extra-item-radio.selected { background: rgba(232,73,30,.05); }

  .ext-radio-circle {
    width: 22px; height: 22px; border-radius: 50%;
    border: 2px solid #ccc;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .15s, background .15s;
    position: relative;
  }
  .ext-radio-circle.checked {
    border-color: var(--orange);
    background: var(--orange);
  }
  .ext-radio-circle.checked::after {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #fff;
    display: block;
  }

    /* ═══════════════════════════════════════════════════
     TELA DE PAGAMENTO (após confirmar pedido)
  ═══════════════════════════════════════════════════ */

  /* ── Extra item radio (limite = 1) — estilo iFood ── */
  .extra-item-radio {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--border);
    transition: background .15s;
  }
  .extra-item-radio:last-child { border-bottom: none; }
  .extra-item-radio:active { background: rgba(0,0,0,.03); }
  .extra-item-radio.selected { background: rgba(232,73,30,.05); }

  .ext-radio-circle {
    width: 22px; height: 22px; border-radius: 50%;
    border: 2px solid #ccc;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .15s, background .15s;
    position: relative;
  }
  .ext-radio-circle.checked {
    border-color: var(--orange);
    background: var(--orange);
  }
  .ext-radio-circle.checked::after {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #fff;
    display: block;
  }

    /* ═══════════════════════════════════════════════════
     TELA DE PAGAMENTO — Premium Redesign
  ══════════════════════════════════════════════════ */

  /* ── Extra item radio (limite = 1) — estilo iFood ── */
  .extra-item-radio {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--border);
    transition: background .15s;
  }
  .extra-item-radio:last-child { border-bottom: none; }
  .extra-item-radio:active { background: rgba(0,0,0,.03); }
  .extra-item-radio.selected { background: rgba(232,73,30,.05); }

  .ext-radio-circle {
    width: 22px; height: 22px; border-radius: 50%;
    border: 2px solid #ccc;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .15s, background .15s;
    position: relative;
  }
  .ext-radio-circle.checked {
    border-color: var(--orange);
    background: var(--orange);
  }
  .ext-radio-circle.checked::after {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #fff;
    display: block;
  }

    /* ═══════════════════════════════════════════════════
     TELA DE PAGAMENTO — Redesign Profissional Deelivu
  ═══════════════════════════════════════════════════ */

  /* Screen container */
  .pag-screen {
    display:none; position:fixed; inset:0; z-index:400;
    background:rgba(0,0,0,.88); backdrop-filter:blur(16px);
    overflow-y:auto; padding:0;
    align-items:flex-end; justify-content:center;
    -webkit-overflow-scrolling:touch;
  }
  .pag-screen.show { display:flex; animation:coFade .22s ease; }

  /* Inner card */
  .pag-inner {
    background:var(--bg,#fff);
    border-radius:24px 24px 0 0;
    width:100%; max-width:500px;
    max-height:96vh; overflow:hidden;
    animation:coSlide .25s cubic-bezier(.32,1.4,.64,1);
    scrollbar-width:none;
    display:flex; flex-direction:column;
  }
  @media(min-width:600px){
    .pag-screen { align-items:center; padding:24px; overflow-y:hidden; }
    .pag-inner  { border-radius:24px; max-height:92vh; }
  }
  .pag-body { overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .pag-inner::-webkit-scrollbar { display:none; }

  /* Header */
  .pag-header {
    background:var(--orange);
    padding:16px 20px 14px;
    border-radius:24px 24px 0 0;
    display:flex; align-items:center; gap:12px;
    flex-shrink:0; position:sticky; top:0; z-index:10;
  }
  @media(min-width:600px){ .pag-header { border-radius:24px 24px 0 0; } }

  .pag-back {
    width:32px; height:32px; background:rgba(0,0,0,.15);
    border:none;
    border-radius:8px; color:#fff;
    cursor:pointer; display:flex;
    align-items:center; justify-content:center;
    transition:background .15s; flex-shrink:0;
    touch-action:manipulation;
  }
  .pag-back:hover { background:rgba(0,0,0,.28); }
  .pag-back svg { display:block; }

  .pag-htitle {
    font-family:'Baloo 2',cursive;
    font-size:1.1rem; font-weight:900; color:#fff;
    flex:1; letter-spacing:-.2px;
    display:flex; align-items:center; gap:8px;
  }
  .pag-header-total {
    font-size:14px; font-weight:900; color:#fff;
    background:rgba(0,0,0,.18); border-radius:8px; padding:4px 12px;
    font-family:'Baloo 2',cursive; white-space:nowrap;
  }

  /* Body */
  .pag-body { padding:16px 16px 28px; flex:1; overflow-y:auto; }
  @media(min-width:600px){ .pag-body { padding:20px 20px 32px; } }

  /* Sections */
  .pag-section { margin-bottom:16px; }
  .pag-section-title {
    font-family:'Baloo 2',cursive;
    font-size:10px; font-weight:900; text-transform:uppercase;
    letter-spacing:1px; color:var(--orange); margin-bottom:10px;
    display:flex; align-items:center; gap:7px;
    white-space:nowrap;
  }
  @media(min-width:600px){
    .pag-section-title { font-size:12px; letter-spacing:.8px; margin-bottom:12px; }
  }
  .pag-section-title svg { flex-shrink:0; }
  .pag-section-title::after { content:''; flex:1; height:1px; background:var(--orange-dim); }

  /* Card base */
  .pag-card {
    background:var(--bg2,#f8f8f8);
    border:1px solid var(--border,#ebebeb);
    border-radius:16px; overflow:hidden;
  }

  /* Itens do pedido */
  .pag-item {
    display:flex; align-items:center; gap:12px;
    padding:11px 14px; border-bottom:1px solid var(--border,#f0f0f0);
  }
  .pag-item:last-of-type { border:none; }
  .pag-item-img {
    width:48px; height:48px; border-radius:12px;
    background:var(--bg3,#fef3f0); flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    font-size:22px; overflow:hidden;
  }
  .pag-item-img img { width:100%; height:100%; object-fit:cover; border-radius:12px; }
  .pag-item-info { flex:1; min-width:0; }
  .pag-item-name {
    font-family:'Baloo 2',cursive;
    font-size:13px; font-weight:800; color:var(--text,#111); line-height:1.3;
  }
  .pag-item-extras { font-size:11px; color:var(--muted,#aaa); margin-top:2px; line-height:1.4; }
  .pag-item-price {
    font-family:'Baloo 2',cursive;
    font-size:14px; font-weight:900; color:var(--orange); flex-shrink:0;
  }

  /* Total row */
  .pag-total-row {
    display:flex; justify-content:space-between; align-items:center;
    padding:12px 14px; border-top:1px solid var(--border,#ebebeb);
    background:var(--bg3,#fafafa);
  }
  .pag-total-label {
    font-size:11px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.8px;
  }
  .pag-total-value {
    font-size:22px; font-weight:900; color:var(--orange); font-family:'Baloo 2',cursive;
  }

  /* Endereço */
  .pag-addr-row { display:flex; align-items:flex-start; gap:12px; padding:14px; }
  .pag-addr-icon { flex-shrink:0; margin-top:2px; display:flex; align-items:flex-start; }
  .pag-addr-label {
    font-family:'Baloo 2',cursive;
    font-size:10px; font-weight:800; color:var(--orange);
    text-transform:uppercase; letter-spacing:.6px; margin-bottom:3px;
  }
  .pag-addr-text { font-size:13px; color:var(--text2,#444); line-height:1.5; font-weight:600; }

  /* PIX Block */
  .pag-pix-block {
    background:var(--bg2,#f8f8f8);
    border-radius:16px; overflow:hidden;
    border:1px solid var(--border);
  }
  .pag-pix-header {
    background:linear-gradient(135deg,#00a36c,#059669);
    padding:16px 18px; display:flex; align-items:center; gap:12px;
  }
  .pag-pix-logo {
    width:42px; height:42px; border-radius:12px;
    background:rgba(255,255,255,.2);
    display:flex; align-items:center; justify-content:center;
    font-size:20px; flex-shrink:0;
  }
  .pag-pix-header-info { flex:1; min-width:0; }
  .pag-pix-header-title {
    font-family:'Baloo 2',cursive;
    font-size:15px; font-weight:900; color:#fff;
  }
  .pag-pix-header-sub { font-size:11px; color:rgba(255,255,255,.8); margin-top:1px; }
  .pag-pix-amount {
    font-family:'Baloo 2',cursive;
    font-size:14px; font-weight:900; color:#fff;
    background:rgba(0,0,0,.15); border-radius:8px;
    padding:5px 11px; white-space:nowrap;
  }
  .pag-pix-body { padding:16px; }
  .pag-pix-qr-wrap {
    display:flex; flex-direction:column; align-items:center;
    background:var(--bg,#fff); border-radius:12px;
    padding:18px 16px 14px; margin-bottom:12px;
    border:1px solid var(--border,#e8e8e8);
  }
  .pag-pix-qr-wrap img {
    width:min(180px,60vw); height:min(180px,60vw);
    border-radius:10px; display:block; margin-bottom:10px;
    box-shadow:0 2px 12px rgba(0,0,0,.1);
  }
  .pag-pix-timer {
    display:flex; align-items:center; gap:6px;
    font-size:11px; font-weight:700; color:#059669;
  }
  .pag-pix-timer-dot {
    width:7px; height:7px; border-radius:50%; background:#10b981;
    animation:pixPulse 1.5s ease infinite; flex-shrink:0;
  }
  @keyframes pixPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }
  .pag-pix-copy-row {
    background:var(--bg,#fff); border-radius:12px;
    padding:12px 14px; margin-bottom:10px;
    border:1.5px solid rgba(5,150,105,.3);
  }
  .pag-pix-copy-label {
    font-size:9px; font-weight:900; color:#065f46;
    text-transform:uppercase; letter-spacing:.8px; margin-bottom:5px;
  }
  .pag-pix-copy-code {
    font-size:10px; color:#065f46; font-family:monospace;
    word-break:break-all; line-height:1.6; max-height:50px; overflow:hidden;
  }
  .pag-pix-copy-btn {
    width:100%; background:#059669;
    color:#fff; border:none; border-radius:12px; padding:14px;
    font-family:'Baloo 2',cursive;
    font-size:14px; font-weight:900; cursor:pointer; transition:all .16s ease;
    display:flex; align-items:center; justify-content:center; gap:8px;
    box-shadow:0 4px 14px rgba(5,150,105,.25);
    touch-action:manipulation;
  }
  .pag-pix-copy-btn:hover { filter:brightness(1.08); transform:translateY(-1px); }

  /* Suporte */
  .pag-support {
    background:var(--bg2,#f8f8f8); border-radius:14px; padding:14px 16px;
    display:flex; align-items:center; gap:12px;
    border:1px solid var(--border);
  }
  .pag-support-icon { font-size:1.4rem; flex-shrink:0; }
  .pag-support-text { font-size:13px; color:var(--text2,#555); line-height:1.5; }
  .pag-support-link { color:var(--orange); font-weight:800; text-decoration:none; }

  /* Retirada banner */
  .pag-retirada-banner {
    background:var(--bg2,#f0fdf4); border:1px solid rgba(34,197,94,.3);
    border-radius:14px; padding:14px 16px;
    display:flex; align-items:center; gap:12px;
  }
  .pag-retirada-icon {
    width:44px; height:44px; border-radius:12px;
    background:#22c55e; display:flex; align-items:center;
    justify-content:center; font-size:22px; flex-shrink:0;
  }
  .pag-retirada-title {
    font-family:'Baloo 2',cursive;
    font-size:14px; font-weight:900; color:#166534; margin-bottom:2px;
  }
  .pag-retirada-sub { font-size:12px; color:#16a34a; line-height:1.5; }

  /* Confirm button */
  .pag-confirm-btn {
    width:100%;
    background:var(--orange);
    color:#fff; border:none; border-radius:14px;
    padding:15px; cursor:pointer;
    font-family:'Baloo 2',cursive;
    font-size:16px; font-weight:900; letter-spacing:.2px;
    transition:all .16s ease;
    box-shadow:0 4px 16px var(--orange-glow);
    -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  }
  .pag-confirm-btn:hover { filter:brightness(1.08); transform:translateY(-1px); box-shadow:0 8px 24px var(--orange-glow); }
  .pag-confirm-btn:active { filter:brightness(.94); transform:translateY(0); }
  .pag-confirm-btn:disabled { opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }

  @media(max-width:380px){
    .pag-header { padding:16px 14px 12px; }
    .pag-body   { padding:14px 12px 24px; }
    .pag-confirm-btn { font-size:15px; padding:14px; }
  }

  /* ═══════════════════════════════════════════════════
     TELA DE OBRIGADO + RASTREIO
  ═══════════════════════════════════════════════════ */
  .thanks-screen {
    display: none; position: fixed; inset: 0; z-index: 410;
    background: var(--bg); overflow-y: auto;
  }
  .thanks-screen.show { display: block; animation: fadeIn .35s ease; }
  .thanks-inner { max-width: 520px; margin: 0 auto; padding: 40px 20px 80px; }

  .thanks-badge {
    width: 72px; height: 72px; border-radius: 50%;
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    border: 3px solid #86efac;
    display: flex; align-items: center; justify-content: center;
    font-size: 36px; margin: 0 auto 20px;
  }
  .thanks-title {
    font-family: 'Baloo 2',cursive; font-size: 26px; font-weight: 900;
    color: var(--text); text-align: center; margin-bottom: 6px;
  }
  .thanks-title span { color: var(--orange); }
  .thanks-pednum {
    text-align: center; font-size: 13px; color: var(--muted);
    margin-bottom: 6px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px;
  }
  .thanks-sub {
    text-align: center; font-size: 14px; color: var(--muted);
    line-height: 1.6; margin-bottom: 28px;
  }

  /* Tracking card */
  .track-card {
    background: #fff; border: 1.5px solid var(--border);
    border-radius: 20px; padding: 22px; margin-bottom: 20px;
  }
  .track-time-msg {
    font-size: 16px; color: #111; margin-bottom: 20px;
  }
  .track-time-msg strong { color: var(--orange); }

  .track-progress-bar {
    position: relative; height: 6px; background: #e5e7eb;
    border-radius: 100px; margin-bottom: 28px;
  }
  .track-progress-fill {
    position: absolute; left: 0; top: 0; height: 100%;
    background: #22c55e; border-radius: 100px;
    transition: width 1.2s cubic-bezier(.4,0,.2,1);
  }
  .track-moto {
    position: absolute; top: 50%; transform: translate(-50%,-50%);
    width: 36px; height: 36px; border-radius: 50%;
    background: #22c55e; display: flex; align-items: center; justify-content: center;
    font-size: 18px; box-shadow: 0 2px 8px rgba(34,197,94,.4);
    transition: left 1.2s cubic-bezier(.4,0,.2,1);
  }

  .track-steps {
    display: flex; justify-content: space-between;
    text-align: center;
  }
  .track-step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; }
  .track-step-label {
    font-size: 12px; font-weight: 700; color: #9ca3af;
    transition: color .3s;
  }
  .track-step-label.active { color: #22c55e; }
  .track-step-sub { font-size: 11px; color: #d1d5db; }
  .track-step-sub.active { color: #6b7280; }

  .thanks-new-btn {
    width: 100%; padding: 15px; border: none; border-radius: 16px;
    background: linear-gradient(135deg, var(--orange) 0%, #d4420f 100%);
    color: #fff; font-family:'Baloo 2',cursive; font-size: 16px; font-weight: 800;
    cursor: pointer; margin-top: 8px;
    box-shadow: 0 6px 20px rgba(232,73,30,.35);
  }
  .thanks-support-link {
    display: block; text-align: center; margin-top: 14px;
    font-size: 13px; color: var(--muted);
  }
  .thanks-support-link a { color: var(--orange); font-weight: 700; text-decoration: none; }



/* Inline animation */
@keyframes closedBoxIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}

/* ══════════════════════════════════════
   TEMA ESCURO — data-theme="dark"
══════════════════════════════════════ */
[data-theme="dark"] {
  --bg:         #0f1117;
  --bg2:        #16192a;
  --bg3:        #16192a;
  --card:       #1e2130;
  --card-bg:    #1e2130;
  --text:       #f0f0f0;
  --text2:      #c0c0c0;
  --cream:      #f0f0f0;
  --cream-dim:  rgba(240,240,240,0.55);
  --muted:      rgba(200,200,200,0.6);
  --border:     rgba(255,255,255,.09);
  --surface:    #1e2130;
  --nav-bg:     #1a1d27;
  --shadow:     0 2px 16px rgba(0,0,0,.4);
}
[data-theme="dark"] body { background:var(--bg); color:var(--text); }
[data-theme="dark"] .topbar { background:var(--bg2)!important; border-bottom:1px solid var(--border)!important; }
/* Nav seções */
[data-theme="dark"] .sticky-nav { background:var(--bg2)!important; border-bottom:1px solid var(--border)!important; }
[data-theme="dark"] .sticky-nav-inner { background:var(--bg2)!important; }
/* Seções não ativas — fundo escuro */
[data-theme="dark"] .cat-btn {
  background:#1E2130!important;
  color:rgba(255,255,255,.65)!important;
  border-color:rgba(255,255,255,.08)!important;
}
/* Seção ativa — mantém a cor do tenant */
[data-theme="dark"] .cat-btn.active {
  background:var(--orange)!important;
  color:#fff!important;
}
[data-theme="dark"] .nav-pill, [data-theme="dark"] .nav-tab {
  background:var(--bg3)!important; color:var(--text2)!important;
}
[data-theme="dark"] .nav-pill.active, [data-theme="dark"] .nav-tab.active {
  background:var(--orange)!important; color:#fff!important;
}

/* Carrinho sheet — fundo marrom */
[data-theme="dark"] .cart-sheet { background:var(--bg2)!important; }
[data-theme="dark"] .cart-sheet-head { background:var(--bg2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .cart-sheet-title { color:var(--text)!important; }
[data-theme="dark"] .cart-sheet-handle { background:var(--border)!important; }
[data-theme="dark"] .cart-sheet-body { background:var(--bg2)!important; }
[data-theme="dark"] .cart-sheet-overlay { background:rgba(0,0,0,.6)!important; }
[data-theme="dark"] .cart-sidebar { background:var(--bg2)!important; border-color:var(--border)!important; }

/* Perfil e meus pedidos */
[data-theme="dark"] .profile-modal, [data-theme="dark"] .profile-box,
[data-theme="dark"] .orders-modal, [data-theme="dark"] .orders-box,
[data-theme="dark"] .account-modal { background:var(--bg2)!important; color:var(--text)!important; }
[data-theme="dark"] .profile-header { background:var(--bg3)!important; }
[data-theme="dark"] .profile-tabs { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .profile-tab { color:var(--text2)!important; }
[data-theme="dark"] .profile-tab.active { background:var(--bg2)!important; color:var(--text)!important; }
[data-theme="dark"] .profile-field label, [data-theme="dark"] .field-lbl { color:var(--muted)!important; }
[data-theme="dark"] .profile-input, [data-theme="dark"] .field-inp {
  background:var(--bg3)!important; color:var(--text)!important;
  border-color:var(--border)!important;
}
[data-theme="dark"] .profile-input:disabled { background:var(--bg)!important; color:var(--muted)!important; }

/* Pedidos */
[data-theme="dark"] .order-card { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .order-header { color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .order-id, [data-theme="dark"] .order-date { color:var(--muted)!important; }
[data-theme="dark"] .order-total { color:var(--orange)!important; }
[data-theme="dark"] .order-item { color:var(--text2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .order-track { background:var(--bg)!important; border-color:var(--border)!important; }
[data-theme="dark"] .track-label { color:var(--muted)!important; }
[data-theme="dark"] .track-label.active { color:var(--text)!important; }
[data-theme="dark"] .modal-close-btn, [data-theme="dark"] .close-btn {
  background:var(--bg3)!important; color:var(--text)!important;
  border-color:var(--border)!important;
}
[data-theme="dark"] .product-card { background:var(--card)!important; border:1px solid var(--border)!important; }
[data-theme="dark"] .card-name { color:var(--text)!important; }
[data-theme="dark"] .card-desc { color:var(--muted)!important; }
[data-theme="dark"] .card-price { color:var(--orange)!important; }
[data-theme="dark"] .section-title { color:var(--text)!important; }
[data-theme="dark"] .section-line { background:var(--border)!important; }
[data-theme="dark"] .menu-section { background:transparent; }
[data-theme="dark"] .cart-sidebar { background:var(--bg2)!important; border-left:1px solid var(--border)!important; }
[data-theme="dark"] .cart-item-name { color:var(--text)!important; }
[data-theme="dark"] .logo-name { color:var(--text)!important; }
[data-theme="dark"] .logo-name span { color:var(--orange)!important; }
[data-theme="dark"] .topbar-logo-name { color:var(--text)!important; }
[data-theme="dark"] .ver-mais-btn { background:var(--bg3)!important; color:var(--text2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .checkout-panel, [data-theme="dark"] .modal-content { background:var(--bg2)!important; }
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea { background:var(--bg3)!important; color:var(--text)!important; border-color:var(--border)!important; }

/* Seções nav */
[data-theme="dark"] .nav-btn { background:var(--bg3)!important; color:var(--text2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .nav-btn.active { color:#fff!important; }

/* Textos gerais */
[data-theme="dark"] p, [data-theme="dark"] span, [data-theme="dark"] label,
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3 { color:var(--text)!important; }
[data-theme="dark"] .section-count { color:var(--muted)!important; }
[data-theme="dark"] .topbar-logo-icon { color:var(--text)!important; }

/* Carrinho sidebar */
[data-theme="dark"] .cart-sidebar { background:var(--bg2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .cart-header { background:var(--bg2)!important; color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .cart-item { border-color:var(--border)!important; }
[data-theme="dark"] .cart-item-name { color:var(--text)!important; }
[data-theme="dark"] .cart-item-price { color:var(--orange)!important; }
[data-theme="dark"] .cart-total { background:var(--bg3)!important; color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .cart-subtotal, [data-theme="dark"] .cart-fee { color:var(--muted)!important; }
[data-theme="dark"] .qty-btn { background:var(--bg3)!important; color:var(--text)!important; border-color:var(--border)!important; }

/* Modal checkout/carrinho */
[data-theme="dark"] .modal-overlay { background:rgba(0,0,0,.75)!important; }
[data-theme="dark"] .modal-content, [data-theme="dark"] .sheet-content,
[data-theme="dark"] .cart-sheet { background:var(--bg2)!important; color:var(--text)!important; }
[data-theme="dark"] .modal-title, [data-theme="dark"] .sheet-title { color:var(--text)!important; }
[data-theme="dark"] .modal-close, [data-theme="dark"] .sheet-close { background:var(--bg3)!important; color:var(--text)!important; }
[data-theme="dark"] .subtotal-row, [data-theme="dark"] .fee-row { color:var(--muted)!important; }
[data-theme="dark"] .total-row { color:var(--text)!important; }

/* Sistema de login/cadastro */
[data-theme="dark"] .auth-modal, [data-theme="dark"] .auth-box,
[data-theme="dark"] .auth-panel { background:var(--bg2)!important; }
[data-theme="dark"] .auth-title { color:var(--text)!important; }
[data-theme="dark"] .auth-sub { color:var(--muted)!important; }
[data-theme="dark"] .auth-tab { background:var(--bg3)!important; color:var(--text2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .auth-tab.active { background:var(--bg2)!important; color:var(--text)!important; }
[data-theme="dark"] .input-group label, [data-theme="dark"] .field-label { color:var(--muted)!important; }
[data-theme="dark"] .input-wrap, [data-theme="dark"] .field-wrap { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .input-wrap input { background:transparent!important; color:var(--text)!important; }
[data-theme="dark"] .auth-link { color:var(--orange)!important; }
[data-theme="dark"] .forgot-link { color:var(--orange)!important; }
[data-theme="dark"] .no-account { color:var(--muted)!important; }

/* Produto modal */
[data-theme="dark"] .product-modal, [data-theme="dark"] .prod-modal { background:var(--bg2)!important; }
[data-theme="dark"] .prod-name { color:var(--text)!important; }
[data-theme="dark"] .prod-desc { color:var(--muted)!important; }
[data-theme="dark"] .prod-price { color:var(--orange)!important; }
[data-theme="dark"] .obs-input { background:var(--bg3)!important; color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .extra-item { background:var(--bg3)!important; border-color:var(--border)!important; color:var(--text)!important; }
[data-theme="dark"] .extra-item.selected { border-color:var(--orange)!important; background:rgba(232,73,30,.1)!important; }
[data-theme="dark"] .ext-step-btn { background:var(--bg2)!important; border-color:var(--border)!important; color:var(--text)!important; }
[data-theme="dark"] .extra-item.selected .ext-step-btn { border-color:var(--orange)!important; color:var(--orange)!important; }
[data-theme="dark"] .ext-step-num { color:var(--text)!important; }
[data-theme="dark"] .extra-item.selected .ext-step-num { color:var(--orange)!important; }

/* ── CHECKOUT E PAGAMENTO — tema dark ── */
[data-theme="dark"] .checkout-modal { background:var(--bg2)!important; }
[data-theme="dark"] .checkout-modal-overlay { background:rgba(0,0,0,.88)!important; }
[data-theme="dark"] .co-header { background:var(--orange)!important; }
[data-theme="dark"] .co-body { background:var(--bg2)!important; }
[data-theme="dark"] .co-step-title { color:var(--orange)!important; }
[data-theme="dark"] .co-card { background:var(--card,#1e2130)!important; border-color:rgba(255,255,255,.12)!important; box-shadow:0 1px 6px rgba(0,0,0,.3)!important; }
[data-theme="dark"] .co-card h3, [data-theme="dark"] .co-card label,
[data-theme="dark"] .co-card p, [data-theme="dark"] .co-card span { color:var(--text)!important; }
[data-theme="dark"] .co-input { background:var(--bg)!important; color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .delivery-opt { background:var(--bg3)!important; border-color:var(--border)!important; color:var(--text)!important; }
[data-theme="dark"] .delivery-opt.selected { border-color:var(--orange)!important; background:rgba(232,73,30,.1)!important; }
[data-theme="dark"] .pay-opt { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .pay-opt-icon { background:rgba(255,255,255,.06)!important; }
[data-theme="dark"] .pay-opt-label { color:var(--muted)!important; }
[data-theme="dark"] .pay-opt:hover .pay-opt-icon { background:rgba(232,73,30,.2)!important; }
[data-theme="dark"] .pay-opt.selected { border-color:var(--orange)!important; background:rgba(232,73,30,.1)!important; }
[data-theme="dark"] .pay-opt.selected .pay-opt-icon { background:var(--orange)!important; }
[data-theme="dark"] .pay-opt.selected .pay-opt-label { color:var(--orange)!important; }
[data-theme="dark"] .checkout-divider { border-color:var(--border)!important; }
[data-theme="dark"] .co-order-item { border-color:var(--border)!important; color:var(--text)!important; }
[data-theme="dark"] .co-total-row { color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .co-total-row.total { color:var(--text)!important; }
[data-theme="dark"] .co-total-row.total span:last-child { color:var(--orange)!important; }
[data-theme="dark"] .confirm-btn { background:var(--orange)!important; }
[data-theme="dark"] .obs-textarea { background:var(--bg)!important; color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .troco-input { background:var(--bg)!important; color:var(--text)!important; border-color:var(--border)!important; }

/* ── TELA DE PAGAMENTO PIX ── */
[data-theme="dark"] .pag-inner { background:var(--bg2)!important; }
[data-theme="dark"] .pag-card { background:var(--card,#1e2130)!important; border-color:rgba(255,255,255,.12)!important; box-shadow:0 1px 6px rgba(0,0,0,.3)!important; }
[data-theme="dark"] .pag-item { border-color:var(--border)!important; }
[data-theme="dark"] .pag-item-name { color:var(--text)!important; }
[data-theme="dark"] .pag-item-extras { color:var(--muted)!important; }
[data-theme="dark"] .pag-total-row { background:rgba(255,255,255,.04)!important; border-color:rgba(255,255,255,.1)!important; }
[data-theme="dark"] .pag-total-label { color:var(--muted)!important; }
[data-theme="dark"] .pag-addr-text { color:var(--text2)!important; }
[data-theme="dark"] .pag-pix-block { background:var(--card,#1e2130)!important; border-color:rgba(255,255,255,.12)!important; box-shadow:0 1px 6px rgba(0,0,0,.3)!important; }
[data-theme="dark"] .pag-pix-qr-wrap { background:var(--bg2,#16192a)!important; border-color:rgba(255,255,255,.1)!important; }
[data-theme="dark"] .pag-support { background:var(--card,#1e2130)!important; border-color:rgba(255,255,255,.12)!important; box-shadow:0 1px 6px rgba(0,0,0,.3)!important; }
[data-theme="dark"] .pag-support-text { color:var(--text2)!important; }
[data-theme="dark"] .pag-retirada-banner { background:rgba(34,197,94,.08)!important; border-color:rgba(34,197,94,.2)!important; }
[data-theme="dark"] .pag-header { background:var(--orange)!important; }
[data-theme="dark"] .pag-body { background:var(--bg2)!important; }
[data-theme="dark"] .pag-card { background:var(--card,#1e2130)!important; border:1px solid rgba(255,255,255,.12)!important; }
[data-theme="dark"] .pag-item { border-color:var(--border)!important; color:var(--text)!important; }
[data-theme="dark"] .pag-item-name { color:var(--text)!important; }
[data-theme="dark"] .pag-item-price { color:var(--orange)!important; }
[data-theme="dark"] .pag-section-title { color:var(--orange)!important; }
[data-theme="dark"] .pag-section-title::after { background:var(--border)!important; }
[data-theme="dark"] .pag-confirm-btn { background:var(--orange)!important; }
[data-theme="dark"] .pag-total { color:var(--text)!important; }
[data-theme="dark"] .pag-total span { color:var(--orange)!important; }

/* ── CO-CARD e PERFIL — tema dark ── */
[data-theme="dark"] .co-card { background:var(--card,#1e2130)!important; }
[data-theme="dark"] .co-card:focus-within { background:#232640!important; }
[data-theme="dark"] .form-label { color:var(--muted)!important; }
[data-theme="dark"] .form-input, [data-theme="dark"] .form-select,
[data-theme="dark"] .co-input { background:var(--bg)!important; color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .co-step { color:var(--orange)!important; }
[data-theme="dark"] .co-step::after { background:rgba(232,73,30,.2)!important; }
[data-theme="dark"] .co-divider { border-color:var(--border)!important; }

/* Perfil */
[data-theme="dark"] .perfil-box { background:var(--bg2)!important; }
[data-theme="dark"] .perfil-content { background:var(--bg2)!important; }
[data-theme="dark"] .perfil-tab-btn { background:rgba(255,255,255,.08)!important; color:var(--text2)!important; }
[data-theme="dark"] .perfil-tab-btn.active { background:rgba(255,255,255,.18)!important; color:#fff!important; }
[data-theme="dark"] .perfil-field-label { color:var(--muted)!important; }
[data-theme="dark"] .perfil-input { background:var(--bg3)!important; color:var(--text)!important; border-color:var(--border)!important; }
[data-theme="dark"] .perfil-input:disabled { background:var(--bg)!important; color:var(--muted)!important; }
[data-theme="dark"] .perfil-input-wrap { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .perfil-save-btn { background:var(--orange)!important; }
[data-theme="dark"] .perfil-link-btn { background:transparent!important; border-color:var(--border)!important; color:var(--text2)!important; }
[data-theme="dark"] .perfil-sair { color:var(--muted)!important; }
[data-theme="dark"] .perfil-sair:hover { color:var(--text)!important; }

/* Meus pedidos no perfil */
[data-theme="dark"] .hist-card { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .hist-header { border-color:var(--border)!important; }
[data-theme="dark"] .hist-id, [data-theme="dark"] .hist-date { color:var(--muted)!important; }
[data-theme="dark"] .hist-total { color:var(--orange)!important; }
[data-theme="dark"] .hist-item { color:var(--text2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .hist-status { filter:brightness(.8); }
[data-theme="dark"] .hist-reorder-btn { background:var(--bg)!important; color:var(--text)!important; border-color:var(--border)!important; }

/* Área branca do checkout — body */
[data-theme="dark"] .checkout-modal .co-body { background:var(--bg2,#16192a)!important; }
[data-theme="dark"] .co-card .form-input { background:var(--bg2,#16192a)!important; border-color:rgba(255,255,255,.1)!important; }
[data-theme="dark"] .co-body { background:var(--bg2,#16192a)!important; }
[data-theme="dark"] .pag-inner .pag-body { background:var(--bg2)!important; }
[data-theme="dark"] .pag-card { background:var(--card,#1e2130)!important; }
[data-theme="dark"] .pag-card p, [data-theme="dark"] .pag-card span,
[data-theme="dark"] .pag-card div { color:var(--text)!important; }

/* ── MEUS PEDIDOS — tema dark ── */
[data-theme="dark"] .hist-box { background:var(--bg2)!important; }
[data-theme="dark"] .hist-header { background:var(--bg2)!important; border-color:var(--border)!important; }
[data-theme="dark"] .hist-title { color:var(--text)!important; }
[data-theme="dark"] .hist-body { background:var(--bg2)!important; }
[data-theme="dark"] .hist-pedido { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .hist-pedido:hover { border-color:var(--orange)!important; }
[data-theme="dark"] .hist-pedido-id { color:var(--muted)!important; }
[data-theme="dark"] .hist-pedido-data { color:var(--muted)!important; }
[data-theme="dark"] .hist-pedido-total { color:var(--orange)!important; }
[data-theme="dark"] .hist-itens { border-color:var(--border)!important; }
[data-theme="dark"] .hist-item-nome { color:var(--text)!important; }
[data-theme="dark"] .hist-item-preco { color:var(--text2)!important; }
[data-theme="dark"] .hist-info { color:var(--muted)!important; border-color:var(--border)!important; }
[data-theme="dark"] .hist-track { background:var(--bg)!important; border-color:var(--border)!important; }
[data-theme="dark"] .hist-track-title { color:var(--text)!important; }
[data-theme="dark"] .hist-track-bar-bg { background:var(--border)!important; }
[data-theme="dark"] .track-step-label { color:var(--muted)!important; }
[data-theme="dark"] .track-step-label.active { color:var(--text)!important; }
[data-theme="dark"] .hist-reorder { background:var(--orange)!important; color:#fff!important; }
[data-theme="dark"] .hist-close { background:var(--bg3)!important; color:var(--text)!important; border-color:var(--border)!important; }

/* ── ACOMPANHAR PEDIDO e STATUS — tema dark ── */
[data-theme="dark"] .track-step-label { color:rgba(255,255,255,.4)!important; }
[data-theme="dark"] .track-step-label.active { color:#22c55e!important; }
[data-theme="dark"] .track-step-sub { color:rgba(255,255,255,.25)!important; }
[data-theme="dark"] .track-step-sub.active { color:rgba(255,255,255,.55)!important; }

/* Status badges — versão dark mais suave */
[data-theme="dark"] .hist-status.entregue   { background:rgba(34,197,94,.15)!important;  color:#4ade80!important; }
[data-theme="dark"] .hist-status.novo       { background:rgba(251,191,36,.15)!important;  color:#fbbf24!important; }
[data-theme="dark"] .hist-status.preparando { background:rgba(59,130,246,.15)!important;  color:#60a5fa!important; }
[data-theme="dark"] .hist-status.saiu       { background:rgba(167,139,250,.15)!important; color:#a78bfa!important; }
[data-theme="dark"] .hist-status.cancelado  { background:rgba(239,68,68,.15)!important;   color:#f87171!important; }
[data-theme="dark"] .hist-status.confirmado { background:rgba(34,197,94,.15)!important;   color:#4ade80!important; }
[data-theme="dark"] .hist-status.em\ andamento { background:rgba(251,191,36,.15)!important; color:#fbbf24!important; }

/* Track bar */
[data-theme="dark"] .trackFill { background:#22c55e!important; }

/* Acompanhar pedido box */
[data-theme="dark"] .hist-track-box,
[data-theme="dark"] [class*="track-wrap"],
[data-theme="dark"] [class*="acompanhar"] { background:var(--bg)!important; border-color:var(--border)!important; }
[data-theme="dark"] [class*="track-title"],
[data-theme="dark"] [class*="ACOMPANHAR"] { color:var(--text)!important; }

/* ── TRACK CARD (Acompanhar Pedido) — tema dark ── */
[data-theme="dark"] .track-card { background:var(--bg3)!important; border-color:var(--border)!important; }
[data-theme="dark"] .track-time-msg { color:var(--text)!important; }
[data-theme="dark"] .track-time-msg strong { color:var(--orange)!important; }
[data-theme="dark"] .track-progress-bar { background:rgba(255,255,255,.1)!important; }
[data-theme="dark"] .track-progress-fill { background:#22c55e!important; }

/* ── PIX e CARTÃO — tema dark ── */
[data-theme="dark"] .pag-pix-block { background:var(--bg3)!important; }
[data-theme="dark"] .pag-pix-body { background:var(--bg3)!important; }
[data-theme="dark"] .pag-pix-qr-wrap { background:var(--bg)!important; border:1px solid var(--border)!important; }
[data-theme="dark"] .pag-pix-copy-row { background:var(--bg)!important; border-color:rgba(0,179,126,.2)!important; }
[data-theme="dark"] .pag-pix-copy-label { color:#34d399!important; }
[data-theme="dark"] .pag-pix-copy-code { color:#6ee7b7!important; }
[data-theme="dark"] .pag-pix-timer { color:#34d399!important; }

/* Cartão/débito/dinheiro */
[data-theme="dark"] .pag-card-pay { background:var(--bg3)!important; }
[data-theme="dark"] .pag-card-pay-icon { background:var(--bg)!important; }
[data-theme="dark"] .pag-card-pay-title { color:var(--text)!important; }
[data-theme="dark"] .pag-card-pay-desc { color:var(--muted)!important; }

/* Inputs do cartão */
[data-theme="dark"] .card-input-wrap { background:var(--bg)!important; border-color:var(--border)!important; }
[data-theme="dark"] .card-input { background:transparent!important; color:var(--text)!important; }
[data-theme="dark"] .card-input::placeholder { color:var(--muted)!important; }
[data-theme="dark"] .card-form-label { color:var(--muted)!important; }
[data-theme="dark"] .mp-secure-badge { background:var(--bg)!important; color:var(--muted)!important; border-color:var(--border)!important; }

/* Suporte WhatsApp no rodapé */
[data-theme="dark"] .pag-wpp-row { background:var(--bg3)!important; color:var(--muted)!important; }

/* ── SUPORTE E CARDS PAGAMENTO — tema dark ── */
[data-theme="dark"] .pag-support { background:var(--bg3)!important; border:1px solid var(--border)!important; }
[data-theme="dark"] .pag-support-text { color:var(--muted)!important; }
[data-theme="dark"] .pag-support-link { color:var(--orange)!important; }
[data-theme="dark"] .pag-card-pay-title { color:var(--text)!important; }
[data-theme="dark"] .pag-card-pay-desc { color:var(--muted)!important; }

/* ── TOPBAR dark ── */
[data-theme="dark"] .topbar-cart-count {
  background:var(--text)!important;
  color:var(--bg)!important;
}
[data-theme="dark"] .topbar-user-btn {
  background:var(--bg3)!important;
  border-color:var(--border)!important;
}
[data-theme="dark"] .topbar-user-btn:hover {
  background:var(--bg)!important;
  border-color:var(--orange)!important;
}
[data-theme="dark"] .topbar-user-name { color:var(--text)!important; }
[data-theme="dark"] .topbar-user-avatar { color:#fff!important; }

[data-theme="dark"] .auth-tabs { background:#0F1117!important; }
[data-theme="dark"] .auth-tab { color:rgba(255,255,255,.5)!important; }
[data-theme="dark"] .auth-tab.active { background:#0F1117!important; color:var(--orange)!important; box-shadow:0 2px 8px rgba(0,0,0,.4)!important; }

[data-theme="dark"] .cart-sheet-overlay { background:rgba(0,0,0,.7)!important; }
[data-theme="dark"] .cart-items { background:var(--bg2)!important; }
[data-theme="dark"] .cart-item { border-color:var(--border)!important; }
[data-theme="dark"] .cart-item-name { color:var(--text)!important; }
[data-theme="dark"] .cart-item-obs { color:var(--muted)!important; }

[data-theme="dark"] .floating-cart { background:#16192a!important; border-top:1px solid rgba(255,255,255,.09)!important; padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))!important; }
[data-theme="dark"] .floating-cart-count { color:var(--text)!important; }
[data-theme="dark"] .floating-cart-price { color:var(--orange)!important; }

[data-theme="dark"] .hero {
  background: linear-gradient(180deg, #0a0c14 0%, #0f1117 60%, #13161f 100%) !important;
}
[data-theme="dark"] .hero::after {
  background: radial-gradient(ellipse, rgba(232,73,30,0.10) 0%, transparent 70%) !important;
}
[data-theme="dark"] .hero h1 { color: #fff !important; }
[data-theme="dark"] .hero h1 .hero-line2 { color: var(--orange) !important; }
[data-theme="dark"] .hero h1 span:not(.hero-line2) { color: rgba(255,255,255,.85) !important; }
[data-theme="dark"] .hero-sub { color: rgba(255,255,255,.55) !important; }
[data-theme="dark"] .hero-pill {
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.7) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
}
[data-theme="dark"] .hero-status-pill {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.8) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
}
[data-theme="dark"] .hero-status-pill.closed {
  background: rgba(239,68,68,.12) !important;
  color: #f87171 !important;
}

[data-theme="dark"] .cart-sheet-item-name { color: #fff !important; }
[data-theme="dark"] .cart-sheet-item-extras { color: rgba(255,255,255,.4) !important; }
[data-theme="dark"] .cs-qty-btn { background: rgba(255,255,255,.1) !important; color: #fff !important; }
[data-theme="dark"] .cs-qty-val { color: #fff !important; }

[data-theme="dark"] .cart-sheet { border-top: 1px solid rgba(255,255,255,.08)!important; }
[data-theme="dark"] .cart-sheet-head { border-bottom: 1px solid rgba(255,255,255,.08)!important; }
[data-theme="dark"] .cart-sheet-item { border-bottom: 1px solid rgba(255,255,255,.06)!important; }
[data-theme="dark"] .floating-cart { border-top: 1px solid rgba(255,255,255,.08)!important; }

/* ── Prevenir double-tap zoom iOS em botões e elementos clicáveis ── */
button,
a,
[onclick],
.btn,
.add-to-cart-btn,
.qty-btn,
.topbar-cart-btn,
.floating-cart-btn,
.nav-item,
.tab-btn,
.card,
.product-card,
.category-item,
.prd-card,
input[type="submit"],
input[type="button"],
select,
label {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Prevenir seleção de texto ao clicar rápido */
button, a, [onclick] {
  user-select: none;
  -webkit-user-select: none;
}
