@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap');
:root{--red:#8d1723;--red2:#b62a36;--gold:#e7b85a;--ink:#201b1b;--muted:#766d6c;--paper:#fffaf5;--line:#eee3dc;--green:#19784b;--shadow:0 10px 30px #4d1c1510}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:var(--red)}.hero{background:linear-gradient(120deg,#67101a,#a51e2c);color:#fff;padding:28px 20px 34px}.hero-inner{max-width:1120px;margin:auto;display:flex;gap:18px;align-items:center}.brand-mark{border:2px solid var(--gold);color:var(--gold);font-weight:800;line-height:1.05;padding:12px 10px;text-align:center;letter-spacing:2px}.hero h1{font-size:clamp(22px,4vw,38px);line-height:1.12;margin:3px 0 8px;font-family:'Playfair Display',serif}.hero h1 span{display:block;font:700 12px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:8px}.hero select{margin-left:auto;max-width:130px}.hero-sub{margin:0;color:#f4ded7}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--gold);margin:0 0 8px}.container{max-width:1120px;margin:auto;padding:24px 18px 60px}.notice{display:flex;gap:12px;align-items:center;padding:14px 16px;background:#fff0d6;border:1px solid #f1d8a6;border-radius:12px;margin-bottom:28px;color:#6e4b11}.notice span{font-size:13px}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:22px 0 14px}.section-heading h2,.panel h2{margin:0;font-size:25px}.section-heading input{max-width:260px}.section-heading .eyebrow{color:var(--red)}input,select,textarea{width:100%;padding:12px;border:1px solid #ded3cd;border-radius:9px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #e8b85b;outline-offset:1px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.chip{border:1px solid var(--line);border-radius:99px;padding:8px 13px;background:#fff;color:var(--ink)}.chip.active{background:var(--red);color:#fff;border-color:var(--red)}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.product-image{height:155px;background:linear-gradient(135deg,#f7e5d0,#f9f2e9);display:flex;align-items:center;justify-content:center;color:var(--red);font-size:40px;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-info{padding:14px;display:flex;flex-direction:column;flex:1}.product-info h3{margin:0 0 6px;font-size:17px}.product-info p{color:var(--muted);font-size:13px;margin:0 0 14px;flex:1}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-weight:800;color:var(--red)}.btn{border:0;border-radius:9px;padding:11px 15px;font-weight:700}.btn-primary{background:var(--red);color:white}.btn-primary:hover{background:var(--red2)}.btn-light{background:#f4ece7;color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.checkout-section{margin-top:38px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.cart-items{display:grid;gap:8px}.cart-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.cart-row .cart-name{flex:1}.cart-row small{display:block;color:var(--muted)}.qty-controls{display:flex;align-items:center;gap:8px}.qty-controls button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 9px}.cart-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0;font-size:18px}.checkout-form{border-top:1px solid var(--line);padding-top:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,.login-panel label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:13px}.form-grid .full{grid-column:1/-1}.btn-wide{width:100%;padding:14px}.muted{color:var(--muted)}.small{font-size:12px}.status-message{font-size:13px;min-height:18px}.status-message.error{color:#b51e2a}.status-message.success{color:var(--green)}footer{background:#271a1b;color:#f9e8d2;padding:25px 20px;display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:13px}footer a{color:var(--gold)}.loading{padding:30px;color:var(--muted)}.admin-body{background:#f7f3ef}.admin-top{background:#68121b;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:15px 22px;gap:12px;position:sticky;top:0;z-index:4}.admin-brand{color:white;text-decoration:none;font-weight:800;letter-spacing:1px}.admin-brand span{color:var(--gold);font-size:11px;margin-left:8px}.admin-actions{display:flex;gap:8px;align-items:center}.connection{font-size:12px;color:#f9dfad}.admin-container{max-width:1200px;margin:25px auto;padding:0 18px 60px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}.login-panel{max-width:440px;margin:55px auto}.login-panel h1,.dashboard-heading h1{font-size:28px;margin:0 0 8px}.login-panel form{display:grid;gap:14px;margin-top:20px}.hidden{display:none!important}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.dashboard-heading .eyebrow{color:var(--red)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stat{padding:16px;background:white;border:1px solid var(--line);border-radius:12px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:27px;margin-top:6px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tab{padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:white;font-weight:700}.tab.active{background:var(--red);color:white}.tab span{margin-left:5px}.orders-list{display:grid;gap:12px}.order-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.order-card.is-new{border-left:5px solid var(--gold);background:#fffdf7}.order-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.order-header h3{margin:0 0 4px}.order-meta{font-size:12px;color:var(--muted)}.order-status{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--red);background:#fae9e8;padding:6px 9px;border-radius:99px;height:max-content}.order-lines{padding:12px 0;margin:0;list-style:none;border-bottom:1px solid var(--line);font-size:14px}.order-lines li{display:flex;justify-content:space-between;gap:10px;padding:4px 0}.order-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px}.order-actions{display:flex;gap:7px;flex-wrap:wrap}.order-actions select{width:auto;min-width:140px}.admin-form{margin:18px 0 22px;padding:15px;background:#fffaf5;border:1px solid var(--line);border-radius:12px}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-label input{width:auto}.form-actions{display:flex;gap:8px;align-items:center}.admin-menu-list{display:grid;gap:9px}.admin-menu-row{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px}.admin-menu-row img{width:58px;height:58px;object-fit:cover;border-radius:8px;background:#eee}.admin-menu-row .grow{flex:1}.admin-menu-row strong{display:block}.admin-menu-row small{color:var(--muted)}.toast{position:fixed;right:18px;bottom:18px;background:#251719;color:#fff;padding:15px 18px;border-radius:10px;box-shadow:var(--shadow);z-index:20;max-width:360px}.toast strong{color:var(--gold)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:760px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-image{height:120px}.product-info{padding:11px}.product-info h3{font-size:15px}.product-bottom{align-items:flex-start;flex-direction:column}.product-bottom .btn{width:100%}.hero-inner{align-items:flex-start}.hero select{max-width:100px}.hero h1{font-size:22px}.hero h1 span{font-size:9px;letter-spacing:1px}.brand-mark{font-size:13px;padding:10px 7px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.notice{align-items:flex-start;flex-direction:column;gap:4px}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading input{max-width:100%}.admin-top{padding:12px;align-items:flex-start;flex-wrap:wrap}.admin-actions{flex-wrap:wrap}.admin-actions .connection{display:none}.admin-container{padding:0 10px 40px;margin-top:15px}.panel{padding:15px}.stats{gap:7px}.stat{padding:11px}.stat strong{font-size:22px}.stat span{font-size:10px}.dashboard-heading{align-items:flex-start}.order-actions select{width:100%}.order-actions{width:100%}.order-actions .btn{flex:1}.admin-menu-row{align-items:flex-start}.admin-menu-row .grow{min-width:0}.admin-menu-row .btn{padding:8px}.login-panel{margin:25px auto}}
@media(max-width:390px){.menu-grid{grid-template-columns:1fr}.product-image{height:170px}.hero-inner{gap:10px}.hero h1{font-size:18px}}


/* AL SHAMI installable app polish */
.install-note {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: -10px 0 24px;
  padding: 15px 17px;
  border: 1px solid #e4c27b;
  border-radius: 14px;
  background: linear-gradient(115deg, #fff3d8 0%, #fffaf1 72%);
  color: #54202a;
  box-shadow: 0 8px 24px #4d1c1509;
}
.install-note-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #8d1723;
  color: #f6d78c;
  font-size: 25px;
}
.install-note strong,
.admin-install-note strong {
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
}
.install-note p,
.admin-install-note span {
  display: block;
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}
.admin-install-note {
  max-width: 1080px;
  margin: 14px auto 0;
  padding: 13px 16px;
  border: 1px solid #e4c27b;
  border-radius: 13px;
  background: linear-gradient(115deg, #fff3d8 0%, #fffaf1 72%);
  color: #54202a;
}
.admin-tabs {
  flex-wrap: wrap;
}
.admin-tabs .tab {
  white-space: nowrap;
}
#ops-subtabs {
  gap: 7px;
  margin-top: 18px;
}
html.app-installed #install-note,
html.app-installed #admin-install-note {
  display: none !important;
}
@media (max-width: 760px) {
  .install-note {
    align-items: flex-start;
    margin: -10px 0 20px;
    padding: 13px;
  }
  .install-note-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }
  .admin-install-note {
    margin: 10px 10px 0;
  }
  .admin-tabs {
    gap: 7px;
  }
  .admin-tabs .tab {
    padding: 9px 11px;
    font-size: 12px;
  }
}


/* Refined AL SHAMI premium mobile experience */
:root {
  --shami-burgundy: #67101a;
  --shami-burgundy-deep: #4f0b13;
  --shami-gold-soft: #f7dda1;
}
.hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(231,184,90,.16), transparent 28%),
    linear-gradient(125deg, var(--shami-burgundy-deep) 0%, #76131f 52%, #a51e2c 100%);
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -135px;
  bottom: -205px;
  border: 1px solid rgba(247,221,161,.22);
  border-radius: 50%;
  pointer-events: none;
}
.brand-mark {
  border-radius: 12px;
  box-shadow: 0 0 0 5px rgba(231,184,90,.045);
  background: rgba(255,255,255,.035);
}
.notice {
  box-shadow: 0 7px 22px rgba(75,40,14,.045);
}
.product-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-card:hover {
  transform: translateY(-3px);
  border-color: #e3c47f;
  box-shadow: 0 16px 35px rgba(77,28,21,.10);
}
.product-image {
  position: relative;
}
.product-info h3 {
  line-height: 1.35;
}
.btn {
  transition: background-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.btn:active {
  transform: translateY(1px) scale(.99);
}
.btn-primary {
  background: linear-gradient(120deg, #76131f, #9c1e2b);
  box-shadow: 0 5px 13px rgba(141,23,35,.12);
}
.btn-primary:hover:not(:disabled) {
  box-shadow: 0 8px 18px rgba(141,23,35,.20);
}
input, select, textarea {
  min-height: 43px;
}
.checkout-section {
  border-radius: 20px;
}
.admin-body {
  background:
    radial-gradient(circle at 10% 0%, rgba(231,184,90,.10), transparent 24%),
    #f7f3ef;
}
.admin-top {
  background:
    radial-gradient(circle at 90% 0%, rgba(231,184,90,.13), transparent 30%),
    linear-gradient(110deg, #4f0b13 0%, #68121b 60%, #811723 100%);
  box-shadow: 0 6px 24px rgba(47,9,15,.18);
}
.admin-brand {
  letter-spacing: 1.3px;
}
.panel {
  border-radius: 17px;
  box-shadow: 0 9px 27px rgba(77,28,21,.045);
}
.stat {
  border-radius: 14px;
  background: linear-gradient(145deg, #fff 0%, #fffaf5 100%);
}
.stat strong {
  color: var(--red);
  font-variant-numeric: tabular-nums;
}
.tab {
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.tab:hover:not(.active) {
  border-color: #d7b46b;
  background: #fffaf2;
}
.tab.active {
  background: linear-gradient(120deg, #68121b, #8d1723);
  border-color: #8d1723;
  box-shadow: 0 4px 12px rgba(141,23,35,.12);
}
.ops-stat {
  background: linear-gradient(145deg, #fff 0%, #fff8eb 100%) !important;
  box-shadow: 0 6px 18px rgba(77,28,21,.035);
}
.ops-stat strong {
  display: block;
  margin-top: 5px;
  color: var(--red);
  font-variant-numeric: tabular-nums;
}
.ops-table {
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.ops-table th {
  background: #fff5e5;
  color: #5d2026;
  font-weight: 800;
}
.ops-table tbody tr:nth-child(even) {
  background: #fffdf9;
}
.ops-table tbody tr:hover {
  background: #fff5e5;
}
.ops-form input:focus,
.ops-form select:focus {
  border-color: #cba34f;
  box-shadow: 0 0 0 3px rgba(231,184,90,.14);
  outline: none;
}
.btn:focus-visible,
.tab:focus-visible,
a:focus-visible {
  outline: 3px solid #e7b85a;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}


/* Premium AL SHAMI welcome screen */
.welcome-screen{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;overflow:hidden;padding:28px 22px;background:radial-gradient(ellipse at 50% 8%,rgba(235,192,105,.22),transparent 34%),linear-gradient(145deg,#31070e 0%,#67101a 42%,#9d1b2a 100%);color:#fffaf0;isolation:isolate}
.welcome-screen::before,.welcome-screen::after{content:"";position:absolute;z-index:-1;pointer-events:none;border:1px solid rgba(247,221,161,.28);border-radius:50%;width:min(86vw,520px);aspect-ratio:1}
.welcome-screen::before{top:-30%;right:-24%;box-shadow:0 0 0 24px rgba(247,221,161,.025),0 0 0 52px rgba(247,221,161,.025)}
.welcome-screen::after{bottom:-38%;left:-28%;width:min(76vw,420px);box-shadow:0 0 0 20px rgba(247,221,161,.025),0 0 0 44px rgba(247,221,161,.025)}
.welcome-glow{position:absolute;z-index:-1;width:240px;height:240px;border-radius:50%;filter:blur(70px);opacity:.2;background:#e7b85a}
.welcome-glow-one{top:10%;left:-100px}.welcome-glow-two{right:-100px;bottom:8%;background:#ff7d55}
.welcome-content{width:100%;max-width:510px;text-align:center;padding:34px 22px;border:1px solid rgba(247,221,161,.42);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:0 28px 90px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:welcome-rise .75s cubic-bezier(.2,.8,.2,1) both}
.welcome-emblem{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:98px;height:98px;margin:0 auto 22px;border:2px solid #e7b85a;border-radius:28px;color:#f8d98f;font-family:'Playfair Display',serif;font-weight:800;line-height:1;letter-spacing:2px;transform:rotate(-3deg);box-shadow:0 0 0 6px rgba(231,184,90,.06),0 12px 36px rgba(0,0,0,.15)}
.welcome-emblem span:first-child{font-size:27px}.welcome-emblem span:nth-child(2){font-size:17px;margin-top:4px}.welcome-emblem i{position:absolute;right:-7px;top:-10px;font-size:23px;font-style:normal;color:#fff1bd}
.welcome-kicker{font-size:10px;font-weight:800;letter-spacing:2.4px;color:#f8d98f;margin:0 0 19px}
.welcome-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:#f8d98f;font-size:15px;margin:0 auto 22px}
.welcome-divider span{height:1px;width:48px;background:linear-gradient(90deg,transparent,#e7b85a)}
.welcome-divider span:last-child{transform:rotate(180deg)}
.welcome-content h1{font-family:'Playfair Display',serif;font-size:clamp(27px,6.5vw,43px);line-height:1.35;margin:0 auto 7px;color:#fff8e9;text-shadow:0 3px 18px rgba(0,0,0,.18)}
.welcome-tagline{font-size:clamp(24px,5.5vw,34px);font-weight:800;letter-spacing:.4px;color:#f6d486;margin:0 0 16px}
.welcome-description{font-size:15px;line-height:1.8;color:rgba(255,250,240,.82);margin:0 auto 28px;max-width:330px}
.welcome-enter{width:100%;max-width:310px;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto;padding:0 22px;border:1px solid #ffe3a2;border-radius:16px;background:linear-gradient(110deg,#f7dda1,#d9a847);color:#4c1118;font-size:16px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .2s,filter .2s}
.welcome-enter span:last-child{font-size:22px}.welcome-enter:hover{filter:brightness(1.04);transform:translateY(-2px)}.welcome-enter:active{transform:scale(.99)}
.welcome-foot{margin-top:27px;color:rgba(255,240,204,.7);font-size:10px;letter-spacing:2px}
.welcome-leaving{animation:welcome-out .42s ease forwards;pointer-events:none}
@keyframes welcome-rise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes welcome-out{to{opacity:0;visibility:hidden;transform:scale(1.025)}}
@media(max-height:650px){.welcome-content{padding:22px 18px}.welcome-emblem{width:72px;height:72px;margin-bottom:13px;border-radius:21px}.welcome-emblem span:first-child{font-size:21px}.welcome-emblem span:nth-child(2){font-size:13px}.welcome-kicker{margin-bottom:10px}.welcome-divider{margin-bottom:12px}.welcome-description{margin-bottom:16px}.welcome-foot{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.welcome-content,.welcome-leaving{animation:none!important}}


/* Splash-style intro: automatically transitions into the menu */
.welcome-loading{display:flex;align-items:center;justify-content:center;gap:7px;margin:2px auto 0;height:24px}
.welcome-loading span{width:7px;height:7px;border-radius:50%;background:#f8d98f;animation:welcome-dot 1s ease-in-out infinite}
.welcome-loading span:nth-child(2){animation-delay:.16s}
.welcome-loading span:nth-child(3){animation-delay:.32s}
@keyframes welcome-dot{0%,60%,100%{opacity:.35;transform:translateY(0) scale(.85)}30%{opacity:1;transform:translateY(-4px) scale(1.1)}}
.welcome-screen{cursor:pointer}
@media(prefers-reduced-motion:reduce){.welcome-loading span{animation:none!important}}

/* Customer ordering reliability and availability states */
.retry-menu{margin:0 0 14px;min-height:44px}
.retry-menu[hidden]{display:none!important}
.unavailable-badge{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border-radius:9px;background:#f3eeee;color:#6b5555;border:1px solid #d8caca;font-weight:800;text-align:center}
.product-unavailable{opacity:.82}
.product-unavailable .product-image img{filter:grayscale(.5)}
@media(max-width:360px){.container{padding-left:10px;padding-right:10px}.checkout-section{padding:13px}.cart-row{flex-wrap:wrap}.cart-row .cart-name{min-width:120px}.qty-controls{flex-wrap:wrap;gap:5px}}
.restaurant-address-wrap{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.copy-address-button{min-height:44px;padding:9px 12px;border:1px solid #e7b85a;border-radius:9px;background:#fff7e8;color:#6b111b;font-weight:800}
.skip-link{position:absolute;top:-100px;left:10px;z-index:30000;padding:12px 16px;border-radius:8px;background:#fff;color:#67101a;font-weight:800}
.skip-link:focus{top:10px;outline:3px solid #e7b85a;outline-offset:2px}
@media(max-width:360px){.restaurant-address-wrap{align-items:stretch}.copy-address-button{width:100%}.quick-contact{gap:6px;padding:8px}.quick-contact a{font-size:12px;padding:9px 10px}}


/* Customer-ordering accessibility finishing rules */
.chip,.product-bottom .btn,#clear-cart,#place-order,.copy-address-button,
.site-contact-links a,.quick-contact a,.btn-remove-item,.retry-menu {
  min-height:44px;
}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #e7b85a;
  outline-offset:2px;
}
.copy-address-status {
  display:block;
  min-height:18px;
  color:#f9e8d2;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}
.copy-address-status:empty { display:none; }
.product-info p { overflow-wrap:anywhere; }
.notice span { overflow-wrap:anywhere; }
@media(max-width:360px) {
  .menu-tools #search { min-width:0; }
  .menu-grid { gap:8px; }
  .product-info { padding:9px; }
  .cart-row { min-width:0; }
}


/* Floating order shortcut for long menus */
.floating-cart-button {
 position:fixed;z-index:1200;right:max(16px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));
 display:flex;align-items:center;justify-content:center;gap:9px;max-width:calc(100vw - 24px);min-height:54px;padding:10px 16px;
 border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#741522;color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.3);
 font:inherit;font-weight:800;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);
 transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.floating-cart-button.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.floating-cart-button:focus-visible{outline:3px solid #e7b85a;outline-offset:3px}
.floating-cart-icon{font-size:20px;line-height:1}
.floating-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:#e7b85a;color:#351015;font-size:13px;font-variant-numeric:tabular-nums}
.floating-cart-total{padding-left:7px;border-left:1px solid rgba(255,255,255,.35);white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:480px){.floating-cart-button{right:12px;bottom:calc(86px + env(safe-area-inset-bottom));min-height:52px;padding:9px 13px;gap:7px}.floating-cart-label{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.floating-cart-button{transition:none;transform:none}}


/* Separate customer history page */
.customer-orders-nav{display:flex;justify-content:flex-start;gap:10px;margin:0 0 16px;flex-wrap:wrap}
.history-page #welcome-screen,.history-page .notice,.history-page #install-note,.history-page #app-status,.history-page #retry-menu,.history-page #active-offers,.history-page #categories,.history-page #menu,.history-page .menu-tools,.history-page .checkout-section,.history-page .floating-cart-button,.history-page .quick-contact{display:none!important}
.history-page #main-content>.section-heading:not(:first-child){display:none!important}
.history-page #customer-orders-panel{margin-top:22px}
.history-page .customer-orders-help{display:none!important}
