/* La Única — Online ordering (pickup + delivery). Layers over table.css. */
[hidden]{display:none!important}

/* header: logo + "Order Online" title (no table badge) — matched to table ordering (74px logo) */
.t-top{padding:12px 16px;justify-content:space-between;position:sticky;left:0;width:100%;overflow:hidden}
.t-top .t-logo{height:74px;flex:0 0 auto}
.o-title{font-family:Montserrat;font-weight:900;font-size:24px;color:var(--pink);letter-spacing:.01em;
  white-space:nowrap;flex:0 0 auto}

/* Pickup / Delivery segmented toggle in the cart sheet */
.fulfill{display:flex;gap:8px;background:#0e0713;border:1px solid var(--line);border-radius:14px;padding:5px;margin-bottom:12px}
.fulfill .ff{flex:1;border:none;background:transparent;color:#b9a9c6;font-family:Montserrat;font-weight:800;font-size:16px;
  padding:12px 0;border-radius:10px;cursor:pointer;transition:all .15s}
.fulfill .ff.on{background:var(--pink);color:#fff;box-shadow:0 4px 14px rgba(216,30,91,.4)}
.fulfill .ff:active{transform:scale(.97)}

/* driver tip */
.tip-block{margin-bottom:14px}
.tip-title{font-family:Montserrat;font-weight:800;font-size:15px;margin-bottom:9px;color:#fff;display:flex;align-items:center;gap:8px}
.tip-sub{font-family:Inter;font-weight:600;font-size:12px;color:#7CB518}
.tip-opts{display:flex;gap:7px}
.tip-opt{flex:1;padding:12px 0;border:1px solid var(--line);background:#0e0713;color:#b9a9c6;border-radius:12px;
  font-family:Montserrat;font-weight:800;font-size:14px;cursor:pointer;transition:all .15s}
.tip-opt.on{background:var(--pink);color:#fff;border-color:var(--pink)}
.tip-opt:active{transform:scale(.95)}
.tip-custom{margin-top:10px;margin-bottom:0}

/* hours banner + order-ahead */
.hours-banner{padding:9px 16px;text-align:center;font-family:Montserrat;font-weight:800;font-size:14px;position:sticky;top:0;z-index:19}
.hours-banner.open{background:rgba(124,181,24,.16);color:#6aa015;border-bottom:1px solid rgba(124,181,24,.35)}
.hours-banner.closed{background:rgba(216,30,91,.14);color:var(--pink);border-bottom:1px solid rgba(216,30,91,.35)}
.when-block{margin-bottom:12px}
.when-label{display:block;font-family:Montserrat;font-weight:800;font-size:13px;color:#b9a9c6;margin-bottom:6px}
.when-select{margin-bottom:0}

/* item customization (modifiers) */
.c-custom{display:inline-block;margin-left:8px;font-family:Inter;font-weight:700;font-size:11px;color:var(--pink);
  border:1px solid var(--pink);border-radius:6px;padding:1px 6px;vertical-align:middle}
.c-add .c-qty{background:#fff;color:var(--pink);border-radius:6px;padding:0 5px;margin-right:5px;font-weight:900;font-size:14px}
.line-mods{font-size:13px;color:#b9a9c6;margin-top:2px;line-height:1.3}
.r-mods{display:block;font-weight:500;font-size:12px;color:#a99bb6;margin-top:1px}
.mod-sheet{z-index:34}
#mod-scrim{z-index:33}
.mg{padding:15px 0;border-bottom:1px solid var(--line)}
.mg:last-child{border-bottom:none}
.mg-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px;gap:10px}
.mg-name{font-family:Montserrat;font-weight:800;font-size:18px;color:#fff}
.mg-rule{font-size:12px;font-weight:700;color:#8b7d97;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.mg-rule.req{color:var(--pink)}
.mg-opts{display:flex;flex-direction:column;gap:8px}
.mo{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:14px 16px;border-radius:12px;
  border:1.5px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font-size:16px;cursor:pointer;transition:all .12s}
.mo .mo-name{flex:1;font-weight:600}
.mo .mo-price{color:var(--orange);font-weight:700;font-size:15px}
.mo .mo-check{opacity:0;color:#fff;font-weight:900}
.mo.on{border-color:var(--pink);background:rgba(216,30,91,.16)}
.mo.on .mo-check{opacity:1}
.mo:active{transform:scale(.99)}
.mod-qty{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;
  font-family:Montserrat;font-weight:800;font-size:16px;color:#fff}

/* ── address autocomplete (Photon / OpenStreetMap) ── */
.addr-wrap{position:relative;margin-bottom:10px}
.addr-in{margin-bottom:0!important;padding-right:46px}
.addr-locate{position:absolute;right:6px;top:8px;width:36px;height:36px;border:none;border-radius:10px;
  background:linear-gradient(150deg,rgba(94,15,128,.55),rgba(216,30,91,.4));color:#fff;font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;line-height:1}
.addr-locate:active{transform:scale(.9)}
.addr-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:#180b1f;
  border:1px solid var(--line);border-radius:12px;overflow:hidden auto;max-height:264px;box-shadow:0 14px 34px rgba(0,0,0,.55)}
.addr-opt{padding:12px 14px;font-size:14px;color:#e7dcee;cursor:pointer;line-height:1.3;
  border-bottom:1px solid rgba(255,255,255,.06)}
.addr-opt:last-child{border-bottom:none}
.addr-opt:hover,.addr-opt:active{background:rgba(216,30,91,.2)}

/* ── loyalty / rewards card on the confirmation screen ── */
.loyalty-card{margin:18px auto 4px;max-width:340px;padding:16px 18px;border-radius:16px;
  background:linear-gradient(135deg,rgba(243,146,0,.14),rgba(216,30,91,.12));
  border:1px solid rgba(243,146,0,.4);text-align:center}
.loyalty-card.ready{background:linear-gradient(135deg,rgba(243,146,0,.28),rgba(216,30,91,.22));
  border-color:var(--orange);box-shadow:0 6px 22px rgba(243,146,0,.3)}
.loyalty-card .ly-top{font-family:Montserrat;font-weight:800;font-size:16px;color:#4a2410;letter-spacing:.01em}
.loyalty-card .ly-dots{display:flex;justify-content:center;gap:6px;margin:12px 0 8px}
.loyalty-card .ly-dot{width:11px;height:11px;border-radius:50%;background:rgba(74,36,16,.1);border:1px solid rgba(74,36,16,.3)}
.loyalty-card .ly-dot.on{background:var(--orange);border-color:var(--orange);box-shadow:0 0 8px rgba(243,146,0,.6)}
.loyalty-card .ly-sub{color:#6d4a2f;font-size:13px;font-weight:600}
.loyalty-card .ly-reward{font-family:Montserrat;font-weight:900;font-size:19px;color:#c25e00;margin:6px 0 8px;text-transform:uppercase}
.loyalty-card .ly-code{color:#4a2410;font-size:14px}
.loyalty-card .ly-code b{font-family:Montserrat;font-weight:900;letter-spacing:.08em;color:var(--orange)}
