/* ========================================================================== 
   CSS 1 — BRAND TOKENS AND BASE RESET
========================================================================== */
#jetchef-order-app {
  --jc-green: #293b30;
  --jc-green-2: #364e3e;
  --jc-green-3: #1e2d24;
  --jc-black: #090909;
  --jc-ink: #151915;
  --jc-paper: #ffffff;
  --jc-ivory: #f5f4ef;
  --jc-soft: #eef1ed;
  --jc-muted: #68716b;
  --jc-line: rgba(41,59,48,.16);
  --jc-line-strong: rgba(41,59,48,.30);
  --jc-success: #1d6a43;
  --jc-danger: #8b2525;
  --jc-shadow: 0 22px 60px rgba(9,9,9,.11);
  --jc-shadow-soft: 0 10px 30px rgba(9,9,9,.07);
  color: var(--jc-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
#jetchef-order-app *, #jetchef-order-app *::before, #jetchef-order-app *::after { box-sizing: border-box; }
#jetchef-order-app button, #jetchef-order-app input, #jetchef-order-app textarea, #jetchef-order-app select { font: inherit; }
#jetchef-order-app .jc-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
#jetchef-order-app .jc-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

/* ========================================================================== 
   CSS 2 — PREMIUM GREEN / BLACK HERO
========================================================================== */
#jetchef-order-app .jc-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 310px;
  padding: clamp(30px, 5vw, 64px);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 10%, rgba(91,122,100,.38), transparent 33%),
    radial-gradient(circle at 8% 92%, rgba(41,59,48,.55), transparent 38%),
    linear-gradient(135deg, var(--jc-black) 0%, #111713 42%, var(--jc-green) 100%);
  color: #fff;
  box-shadow: 0 28px 80px rgba(9,9,9,.23);
}
#jetchef-order-app .jc-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.18;
  background-image: linear-gradient(120deg, transparent 0 46%, rgba(255,255,255,.16) 49%, transparent 52% 100%);
  background-size: 240px 100%;
}
#jetchef-order-app .jc-hero__glow { position:absolute; width:380px; height:380px; right:-150px; bottom:-210px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 54px rgba(255,255,255,.025),0 0 0 108px rgba(255,255,255,.018); }
#jetchef-order-app .jc-hero__brand { position:relative; z-index:1; max-width:800px; }
#jetchef-order-app .jc-logo { display:block; width:auto; object-fit:contain; }
#jetchef-order-app .jc-logo--hero { width:min(720px, 92%); max-height:210px; object-position:left center; filter:drop-shadow(0 10px 24px rgba(0,0,0,.22)); }
#jetchef-order-app .jc-hero__tagline { margin:16px 0 0; color:rgba(255,255,255,.78); font-size:clamp(.92rem,1.7vw,1.08rem); letter-spacing:.04em; }
#jetchef-order-app .jc-hero__meta { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
#jetchef-order-app .jc-hero__meta span { padding:8px 12px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.065); color:rgba(255,255,255,.91); font-size:.76rem; backdrop-filter:blur(10px); }

/* ========================================================================== 
   CSS 3 — PAID CONFIRMATION BANNER
========================================================================== */
#jetchef-order-app .jc-payment-confirmation { margin:22px auto 0; max-width:1380px; padding:22px 24px; border:1px solid rgba(29,106,67,.26); border-radius:18px; background:linear-gradient(135deg,#f7fbf8,#edf5ef); box-shadow:var(--jc-shadow-soft); }
#jetchef-order-app .jc-payment-confirmation__title { margin:0; color:var(--jc-green); font-size:1.25rem; font-weight:900; }
#jetchef-order-app .jc-payment-confirmation__number { margin:8px 0 0; font-size:1.05rem; font-weight:850; color:var(--jc-black); }
#jetchef-order-app .jc-payment-confirmation__text { margin:5px 0 0; color:var(--jc-muted); font-size:.88rem; }

/* ========================================================================== 
   CSS 4 — MAIN LAYOUT, PANELS AND HEADINGS
========================================================================== */
#jetchef-order-app .jc-shell { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:24px; align-items:start; max-width:1380px; margin:24px auto 0; }
#jetchef-order-app .jc-main { min-width:0; }
#jetchef-order-app .jc-panel, #jetchef-order-app .jc-summary-card { border:1px solid var(--jc-line); border-radius:22px; background:linear-gradient(180deg,#fff 0%,#fdfdfb 100%); box-shadow:var(--jc-shadow); }
#jetchef-order-app .jc-panel { margin-bottom:24px; padding:clamp(20px,3vw,34px); }
#jetchef-order-app .jc-section-heading { display:flex; gap:14px; align-items:flex-start; margin-bottom:24px; }
#jetchef-order-app .jc-step { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:13px; background:linear-gradient(145deg,var(--jc-green),var(--jc-black)); color:#fff; box-shadow:0 8px 18px rgba(9,9,9,.16); font-size:.74rem; font-weight:900; letter-spacing:.05em; }
#jetchef-order-app .jc-eyebrow { display:block; color:var(--jc-green); font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
#jetchef-order-app h2, #jetchef-order-app h3, #jetchef-order-app p { margin-top:0; }
#jetchef-order-app .jc-section-heading h2, #jetchef-order-app .jc-summary-card h2 { margin:4px 0 0; color:var(--jc-black); font-size:clamp(1.35rem,2.4vw,1.86rem); line-height:1.18; }

/* ========================================================================== 
   CSS 5 — FORM CONTROLS
========================================================================== */
#jetchef-order-app .jc-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#jetchef-order-app .jc-field--wide { grid-column:1/-1; }
#jetchef-order-app .jc-field label { display:block; margin:0 0 7px; color:#2e352f; font-size:.84rem; font-weight:780; }
#jetchef-order-app .jc-field label span { color:var(--jc-danger); }
#jetchef-order-app input, #jetchef-order-app textarea, #jetchef-order-app select { width:100%; border:1px solid rgba(41,59,48,.25); border-radius:12px; background:#fff; color:var(--jc-ink); padding:12px 13px; outline:none; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
#jetchef-order-app select { min-height:48px; cursor:pointer; }
#jetchef-order-app textarea { resize:vertical; min-height:92px; }
#jetchef-order-app input:focus, #jetchef-order-app textarea:focus, #jetchef-order-app select:focus { border-color:var(--jc-green); box-shadow:0 0 0 4px rgba(41,59,48,.12); }
#jetchef-order-app input:invalid:not(:placeholder-shown), #jetchef-order-app textarea:invalid:not(:placeholder-shown), #jetchef-order-app select:invalid:not(:focus) { border-color:rgba(139,37,37,.45); }

/* ========================================================================== 
   CSS 6 — CATEGORY NAVIGATION AND MENU SECTIONS
========================================================================== */
#jetchef-order-app .jc-category-nav { display:flex; gap:8px; overflow-x:auto; padding:0 0 10px; margin-bottom:8px; scrollbar-width:thin; }
#jetchef-order-app .jc-category-nav a { flex:0 0 auto; padding:8px 12px; border:1px solid var(--jc-line); border-radius:999px; background:#fff; color:var(--jc-green); font-size:.77rem; font-weight:800; text-decoration:none; }
#jetchef-order-app .jc-category-nav a:hover, #jetchef-order-app .jc-category-nav a:focus-visible { border-color:var(--jc-green); background:var(--jc-soft); }
#jetchef-order-app .jc-menu-section { margin-top:16px; border:1px solid var(--jc-line); border-radius:17px; overflow:hidden; background:#fff; }
#jetchef-order-app .jc-menu-section > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 18px; cursor:pointer; list-style:none; background:linear-gradient(110deg,#fff 0%,#f3f5f2 70%,#e8ede9 100%); }
#jetchef-order-app .jc-menu-section > summary::-webkit-details-marker { display:none; }
#jetchef-order-app .jc-menu-section > summary::after { content:"+"; flex:0 0 auto; color:var(--jc-green); font-size:1.45rem; line-height:1; font-weight:700; }
#jetchef-order-app .jc-menu-section[open] > summary::after { content:"−"; }
#jetchef-order-app .jc-menu-section__title { color:var(--jc-black); font-size:1rem; font-weight:900; }
#jetchef-order-app .jc-menu-section__intro { display:block; margin-top:2px; color:var(--jc-muted); font-size:.77rem; font-weight:500; }
#jetchef-order-app .jc-menu-body { padding:0 16px 18px; }
#jetchef-order-app .jc-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#jetchef-order-app .jc-group-title { grid-column:1/-1; margin:12px 0 0; color:var(--jc-green); font-size:.76rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }

/* ========================================================================== 
   CSS 7 — MENU ITEM CARDS, QUANTITY AND PER-ITEM INSTRUCTIONS
========================================================================== */
#jetchef-order-app .jc-item { display:flex; flex-direction:column; min-width:0; min-height:242px; padding:16px; border:1px solid rgba(41,59,48,.15); border-radius:15px; background:#fff; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
#jetchef-order-app .jc-item:hover { transform:translateY(-1px); border-color:rgba(41,59,48,.35); box-shadow:0 11px 26px rgba(9,9,9,.065); }
#jetchef-order-app .jc-item.is-selected { border-color:var(--jc-green); background:linear-gradient(180deg,#fff 0%,#f5f7f4 100%); box-shadow:inset 0 0 0 1px rgba(41,59,48,.11),0 10px 24px rgba(9,9,9,.055); }
#jetchef-order-app .jc-item__top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
#jetchef-order-app .jc-item h3 { margin:0; color:var(--jc-black); font-size:.94rem; line-height:1.28; }
#jetchef-order-app .jc-price { flex:0 0 auto; color:var(--jc-green); font-size:.92rem; font-weight:900; white-space:nowrap; }
#jetchef-order-app .jc-item__description { margin:8px 0 0; color:var(--jc-muted); font-size:.79rem; line-height:1.45; }
#jetchef-order-app .jc-item__image { width:100%; aspect-ratio:16 / 9; height:auto; object-fit:cover; object-position:center; border-radius:12px; margin:0 0 14px; display:block; background:var(--jc-soft); }
#jetchef-order-app .jc-customizations { margin:11px 0 0; border:1px solid rgba(41,59,48,.14); border-radius:11px; background:#f8faf7; overflow:hidden; }
#jetchef-order-app .jc-customizations > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; cursor:pointer; list-style:none; color:var(--jc-green); }
#jetchef-order-app .jc-customizations > summary::-webkit-details-marker { display:none; }
#jetchef-order-app .jc-customizations > summary::after { content:"+"; flex:0 0 auto; font-size:1rem; font-weight:900; line-height:1; }
#jetchef-order-app .jc-customizations[open] > summary::after { content:"−"; }
#jetchef-order-app .jc-customizations__title { font-size:.72rem; font-weight:850; letter-spacing:.03em; }
#jetchef-order-app .jc-customizations__selected { margin-left:auto; color:#6d756f; font-size:.67rem; font-weight:750; }
#jetchef-order-app .jc-customizations__body { padding:0 12px 7px; border-top:1px solid rgba(41,59,48,.08); }
#jetchef-order-app .jc-customization { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:9px; align-items:center; padding:8px 0; color:#485149; font-size:.78rem; border-top:1px solid rgba(41,59,48,.08); }
#jetchef-order-app .jc-customization:first-of-type { border-top:0; }
#jetchef-order-app .jc-customization em { color:var(--jc-green); font-size:.73rem; font-style:normal; font-weight:850; white-space:nowrap; }
#jetchef-order-app .jc-customization__controls { display:flex; align-items:center; gap:5px; }
#jetchef-order-app .jc-customization__controls button { min-width:31px; height:30px; border:1px solid rgba(41,59,48,.28); border-radius:8px; background:#fff; color:var(--jc-green); font-size:.78rem; font-weight:900; cursor:pointer; }
#jetchef-order-app .jc-customization__controls .jc-customization__add { min-width:48px; background:var(--jc-green); color:#fff; border-color:var(--jc-green); }
#jetchef-order-app .jc-customization__count { display:grid; place-items:center; min-width:25px; color:var(--jc-black); font-weight:900; }
#jetchef-order-app .jc-details-list { margin:10px 0 0; padding:10px 12px 10px 28px; border-radius:10px; background:var(--jc-soft); color:#59625c; font-size:.75rem; }
#jetchef-order-app .jc-details-list li + li { margin-top:3px; }
#jetchef-order-app .jc-qty { display:inline-grid; grid-template-columns:38px 54px 38px; gap:6px; align-items:center; margin-top:12px; padding-top:0; }
#jetchef-order-app .jc-qty button { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(41,59,48,.25); border-radius:10px; background:#fff; color:var(--jc-black); cursor:pointer; font-size:1.1rem; font-weight:900; }
#jetchef-order-app .jc-qty button:hover { border-color:var(--jc-green); background:var(--jc-soft); }
#jetchef-order-app .jc-qty input { height:38px; padding:5px; border-radius:10px; text-align:center; font-size:.9rem; font-weight:850; appearance:textfield; }
#jetchef-order-app .jc-qty input::-webkit-inner-spin-button, #jetchef-order-app .jc-qty input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#jetchef-order-app .jc-item-note { margin-top:10px; padding-top:10px; border-top:1px dashed rgba(41,59,48,.20); }
#jetchef-order-app .jc-item-note label { display:block; margin-bottom:6px; color:var(--jc-green); font-size:.73rem; font-weight:850; letter-spacing:.03em; }
#jetchef-order-app .jc-item-note textarea { min-height:68px; padding:9px 10px; font-size:.76rem; line-height:1.4; background:#fbfcfa; }
#jetchef-order-app .jc-item-note__count { display:block; margin-top:4px; text-align:right; color:#8a918c; font-size:.67rem; }

/* ========================================================================== 
   CSS 8 — ORDER SUMMARY, TOTALS AND ACTIONS
========================================================================== */
#jetchef-order-app .jc-aside { position:sticky; top:22px; }
#jetchef-order-app .jc-summary-card { padding:22px; background:linear-gradient(180deg,#fff 0%,#f7f8f6 100%); }
#jetchef-order-app .jc-logo--summary { width:170px; max-height:64px; padding:9px 12px; margin:0 0 17px; border-radius:12px; background:linear-gradient(135deg,var(--jc-black),var(--jc-green)); }
#jetchef-order-app .jc-summary-empty { margin:14px 0 18px; padding:14px; border-radius:12px; background:var(--jc-soft); color:var(--jc-muted); font-size:.84rem; }
#jetchef-order-app .jc-summary-items { max-height:370px; overflow:auto; margin:16px 0; padding-right:3px; }
#jetchef-order-app .jc-summary-line { padding:10px 0; border-bottom:1px solid rgba(41,59,48,.10); font-size:.81rem; }
#jetchef-order-app .jc-summary-line__row, #jetchef-order-app .jc-total-line { display:flex; justify-content:space-between; gap:12px; }
#jetchef-order-app .jc-summary-line strong { color:var(--jc-black); }
#jetchef-order-app .jc-summary-instruction { margin:5px 0 0; color:var(--jc-muted); font-size:.70rem; line-height:1.35; }
#jetchef-order-app .jc-summary-customization { margin:4px 0 0 18px; color:var(--jc-green); font-size:.69rem; line-height:1.35; }
#jetchef-order-app .jc-summary-line span:last-child, #jetchef-order-app .jc-total-line span:last-child { white-space:nowrap; }
#jetchef-order-app .jc-totals { padding-top:4px; border-top:1px solid var(--jc-line); }
#jetchef-order-app .jc-total-line { padding:5px 0; color:var(--jc-muted); font-size:.83rem; }
#jetchef-order-app .jc-total-line--grand { margin-top:7px; padding-top:13px; border-top:2px solid var(--jc-green); color:var(--jc-black); font-size:1.08rem; font-weight:900; }
#jetchef-order-app .jc-actions { display:grid; gap:9px; margin-top:18px; }
#jetchef-order-app .jc-btn { width:100%; min-height:50px; border:0; border-radius:12px; padding:12px 16px; cursor:pointer; font-weight:880; transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease; }
#jetchef-order-app .jc-btn:hover { transform:translateY(-1px); }
#jetchef-order-app .jc-btn:disabled { opacity:.62; cursor:wait; transform:none; }
#jetchef-order-app .jc-btn--primary { background:linear-gradient(135deg,var(--jc-green) 0%,#17221b 58%,var(--jc-black) 100%); color:#fff; box-shadow:0 11px 24px rgba(9,9,9,.20); }
#jetchef-order-app .jc-btn--secondary { border:1px solid var(--jc-green); background:linear-gradient(180deg,#fff,#f2f5f1); color:var(--jc-green); }
#jetchef-order-app .jc-order-note { margin:12px 0 0; color:var(--jc-muted); font-size:.71rem; line-height:1.45; }
#jetchef-order-app .jc-secure-note { display:flex; align-items:center; gap:7px; margin:10px 0 0; color:#5b655e; font-size:.70rem; }
#jetchef-order-app .jc-secure-note::before { content:"🔒"; font-size:.82rem; }

/* ========================================================================== 
   CSS 9 — STATUS TOAST
========================================================================== */
#jetchef-order-app .jc-live-status { position:fixed; z-index:99999; right:18px; bottom:18px; max-width:min(440px,calc(100vw - 36px)); padding:13px 15px; border:1px solid rgba(255,255,255,.10); border-radius:12px; background:linear-gradient(135deg,var(--jc-black),var(--jc-green)); color:#fff; box-shadow:0 16px 44px rgba(0,0,0,.24); opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity .18s ease,transform .18s ease; font-size:.84rem; }
#jetchef-order-app .jc-live-status.is-visible { opacity:1; transform:translateY(0); }
#jetchef-order-app .jc-live-status.is-error { background:linear-gradient(135deg,#651c1c,#932f2f); }
#jetchef-order-app .jc-live-status.is-success { background:linear-gradient(135deg,#123e29,#1d6a43); }

/* ========================================================================== 
   CSS 10 — RESPONSIVE BEHAVIOR
========================================================================== */
#jetchef-order-app .jc-review-mobile { display:none; }
@media (max-width:1050px) { #jetchef-order-app .jc-shell { grid-template-columns:1fr; } #jetchef-order-app .jc-aside { display:none; } #jetchef-order-app .jc-review-mobile { display:block; } }
@media (max-width:760px) { #jetchef-order-app .jc-hero { min-height:250px; border-radius:20px; padding:27px 19px; } #jetchef-order-app .jc-logo--hero { width:100%; max-height:150px; } #jetchef-order-app .jc-shell { gap:16px; margin-top:16px; } #jetchef-order-app .jc-panel { margin-bottom:16px; padding:19px 15px; border-radius:17px; } #jetchef-order-app .jc-form-grid { grid-template-columns:1fr; } #jetchef-order-app .jc-field--wide { grid-column:auto; } #jetchef-order-app .jc-menu-grid { grid-template-columns:1fr; } #jetchef-order-app .jc-item { min-height:0; } #jetchef-order-app .jc-menu-section > summary { padding:15px; } #jetchef-order-app .jc-menu-body { padding:0 12px 14px; } #jetchef-order-app .jc-summary-items { max-height:none; } }
@media (prefers-reduced-motion:reduce) { #jetchef-order-app *, #jetchef-order-app *::before, #jetchef-order-app *::after { scroll-behavior:auto!important; transition:none!important; } }


/* ==========================================================================
   CSS 11 — CONFIGURABLE POWERED-BY / OWNER CREDIT
========================================================================== */
#jetchef-order-app .jc-powered { max-width:1380px; margin:18px auto 0; padding:18px 8px 6px; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; text-align:center; color:rgba(41,59,48,.72); font-size:.72rem; font-weight:800; letter-spacing:.05em; }
#jetchef-order-app .jc-powered a { color:inherit; text-decoration:underline; text-underline-offset:3px; }

/* ========================================================================== 
   CSS 12 — JETCHEF FULL-SCREEN SITE / ELEMENTOR INTEGRATION
   Version 1.0.10. The ordering experience behaves as a separate full-screen
   application page. Elementor's compact-menu wrapper is REMOVED FROM PAINT
   while it is open; opacity/visibility alone are intentionally not used.
========================================================================== */
html.jc-site-modal-open,
body.jc-site-modal-open {
  overflow:hidden !important;
  overscroll-behavior:none;
}

/* ELEMENTOR MOBILE/TABLET MENU HARD GUARD (1.0.10)
   Elementor's Menu widget puts its dropdown near the maximum browser z-index.
   On iOS Safari that promoted layer can survive above another fixed layer even
   after opacity/visibility changes. display:none removes the layer entirely.
   The JS also sets aria-expanded=false and an inline display:none !important
   BEFORE JetChef is shown, so this is a second independent safety net. */
html.jc-site-modal-open .elementor-widget-n-menu .e-n-menu-wrapper,
body.jc-site-modal-open .elementor-widget-n-menu .e-n-menu-wrapper,
html.jc-site-modal-open nav.e-n-menu > .e-n-menu-wrapper,
body.jc-site-modal-open nav.e-n-menu > .e-n-menu-wrapper {
  --n-menu-wrapper-display:none !important;
  display:none !important;
  max-height:0 !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

#jetchef-order-modal[hidden] { display:none !important; }
#jetchef-order-modal.jc-site-modal {
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:block;
  width:100vw;
  height:100vh;
  height:100dvh;
  padding:0;
  margin:0;
  background:#f5f4ef;
  isolation:isolate;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
}

#jetchef-order-modal .jc-site-modal__backdrop { display:none !important; }
#jetchef-order-modal .jc-site-modal__dialog {
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#f5f4ef;
  box-shadow:none;
}
#jetchef-order-modal .jc-site-modal__toolbar {
  position:absolute;
  z-index:2147483647;
  top:max(10px, env(safe-area-inset-top));
  right:max(12px, env(safe-area-inset-right));
  left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  pointer-events:none;
}
#jetchef-order-modal .jc-site-modal__toolbar strong {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
#jetchef-order-modal .jc-site-modal__close {
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(9,20,14,.92);
  color:#fff;
  font:700 14px/1.1 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
#jetchef-order-modal .jc-site-modal__close:hover,
#jetchef-order-modal .jc-site-modal__close:focus-visible {
  background:#293b30;
  outline:2px solid #fff;
  outline-offset:2px;
}
#jetchef-order-modal .jc-site-modal__close span { font-size:20px; line-height:.8; }
#jetchef-order-modal .jc-site-modal__scroll {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:auto;
  overscroll-behavior:contain;
  padding:0;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  background:#f5f4ef;
}
#jetchef-order-modal #jetchef-order-app {
  min-height:100%;
  padding-top:0;
  padding-bottom:max(22px, env(safe-area-inset-bottom));
}
#jetchef-order-modal #jetchef-order-app .jc-hero {
  margin-top:0;
  border-radius:0 0 24px 24px;
  scroll-margin-top:0;
}
#jetchef-order-modal #jetchef-order-app .jc-flight-panel,
#jetchef-order-modal #jetchef-order-app .jc-menu-panel { scroll-margin-top:12px; }

@media (max-width:760px) {
  #jetchef-order-modal .jc-site-modal__toolbar {
    top:max(8px, env(safe-area-inset-top));
    right:max(8px, env(safe-area-inset-right));
  }
  #jetchef-order-modal .jc-site-modal__close { min-height:42px; padding:9px 13px; }
  #jetchef-order-modal #jetchef-order-app { padding-left:0; padding-right:0; }
  #jetchef-order-modal #jetchef-order-app .jc-hero { border-radius:0 0 20px 20px; }
  #jetchef-order-modal #jetchef-order-app .jc-shell,
  #jetchef-order-modal #jetchef-order-app .jc-powered,
  #jetchef-order-modal #jetchef-order-app .jc-payment-confirmation {
    margin-left:10px;
    margin-right:10px;
  }
}

/* v1.0.15: all mobile categories remain visible; the summary logo scales with its card. */
#jetchef-order-app .jc-logo--summary { width:min(100%, 360px); height:auto; max-height:150px; min-height:74px; object-fit:contain; object-position:center; box-sizing:border-box; }
@media (max-width:760px) {
  #jetchef-order-app .jc-category-nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr)); overflow:visible; gap:8px; }
  #jetchef-order-app .jc-category-nav a { min-width:0; white-space:normal; text-align:center; overflow-wrap:anywhere; border-radius:12px; line-height:1.3; }
  #jetchef-order-app .jc-logo--summary { width:min(100%, 360px); max-height:160px; }
}
@media (max-width:400px) { #jetchef-order-app .jc-category-nav { grid-template-columns:repeat(2,minmax(0,1fr)); } }
