/* Item customization follows each restaurant's composition, not just its colors. */
.restaurant-site .item-order { animation:none; min-width:0; overflow:hidden; }
.item-order .order-surface { overflow:hidden; }
.item-order .panel-heading { min-height:36px; padding:6px 22px; }
.item-order .panel-heading .small-label { font-size:7px; letter-spacing:1.4px; }
.item-order .panel-close { width:30px; height:30px; flex-shrink:0; }
.item-order .panel-close svg { width:14px; height:14px; }
.item-order .item-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); flex:1; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; touch-action:pan-y pinch-zoom; -webkit-overflow-scrolling:touch; }
.item-order .item-visual { min-width:0; min-height:0; margin:0; position:relative; overflow:hidden; }
.item-order .item-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.item-order .item-visual figcaption { position:absolute; left:17px; bottom:15px; font-size:6px; letter-spacing:1.2px; line-height:1.5; text-transform:uppercase; }
.item-order .item-details { min-width:0; padding:23px 26px; align-self:center; }
.item-order .item-kicker { font-size:6px; line-height:1.5; letter-spacing:1.7px; text-transform:uppercase; color:var(--secondary); margin-bottom:10px; }
.item-order .item-title h3 { font:400 33px/1.02 var(--display); letter-spacing:-1px; overflow-wrap:anywhere; }
.item-order .item-price { font-size:12px; line-height:1.4; margin-top:11px; }
.item-order .item-description { font-size:10px; line-height:1.65; color:var(--secondary); margin:13px 0 19px; }
.item-order .option-group { margin:0; padding:0; border:0; min-width:0; }
.item-order .option-group legend { font-size:10px; margin:0 0 8px; padding:0; }
.item-order .option-group label { min-height:38px; padding:10px; gap:9px; cursor:pointer; }
.item-order .option-group input { width:15px; height:15px; flex-shrink:0; }
.item-order .option-group .option-copy { margin:0; font-size:10px; color:var(--fg); flex:1; }
.item-order .option-group .option-price { font-size:9px; white-space:nowrap; }
.item-order .option-group label:has(input:checked) { border-color:var(--accent); }
.item-order .quantity-line { margin-top:15px; font-size:9px; }
.item-order .quantity-control { padding:0; gap:8px; }
.item-order .quantity-control button { min-width:30px; height:30px; padding:4px; }
.item-order .item-note { margin-top:17px; font-size:6px; line-height:1.6; color:var(--secondary); }
.item-order .item-footer { margin:0; padding:13px 23px; flex-shrink:0; }
.item-order .order-action { min-height:39px; padding:11px 14px; font-size:10px; }
.item-order #item-total { font-variant-numeric:tabular-nums; white-space:nowrap; }

/* Editorial: a journal spread, with a framed photograph and ruled options. */
[data-theme=botanical] .item-order { left:0; width:100%; border:0; box-shadow:none; }
[data-theme=botanical] .item-order .panel-heading { margin:0 25px; padding-inline:0; border-bottom:3px double var(--border); }
[data-theme=botanical] .item-order .item-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; padding:22px 25px; }
[data-theme=botanical] .item-order .item-visual { min-height:170px; border:1px solid var(--border); padding:7px 7px 27px; }
[data-theme=botanical] .item-order .item-visual img { object-position:53% center; }
[data-theme=botanical] .item-order .item-visual figcaption { left:9px; bottom:8px; color:var(--secondary); font-size:5px; }
[data-theme=botanical] .item-order .item-details { padding:5px 8px 5px 0; }
[data-theme=botanical] .item-order .item-title h3 { font-style:italic; font-size:clamp(29px,4.1cqw,45px); }
[data-theme=botanical] .item-order .item-price { font:18px Georgia,serif; }
[data-theme=botanical] .item-order .option-group legend { font:italic 16px Georgia,serif; margin-bottom:10px; }
[data-theme=botanical] .item-order .option-group label { padding:10px 0; border-width:1px 0; background:none; border-radius:0; }
[data-theme=botanical] .item-order .item-footer { border-top:3px double var(--border); margin-inline:25px; padding-inline:0; }
[data-theme=botanical] .item-order .order-action { width:calc(47.6% - 14px); margin-left:auto; }

/* Cinema: an inset, dark photographic composition with a gold outline action. */
[data-theme=night] .item-order { left:6%; right:6%; top:calc(var(--header-height) + 4px); bottom:20px; width:auto; border:1px solid #a9977166; background:#1c251e; box-shadow:0 20px 50px #0005; }
[data-theme=night] .item-order .panel-heading { border-bottom:0; padding:7px 20px; }
[data-theme=night] .item-order .item-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.18fr); }
[data-theme=night] .item-order .item-visual { min-height:175px; }
[data-theme=night] .item-order .item-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#0e1914b8,transparent 65%); pointer-events:none; }
[data-theme=night] .item-order .item-visual img { object-position:58% center; filter:brightness(.83); }
[data-theme=night] .item-order .item-visual figcaption { color:#f6efdf; z-index:1; }
[data-theme=night] .item-order .item-details { padding:15px 25px; }
[data-theme=night] .item-order .item-kicker { color:var(--accent); }
[data-theme=night] .item-order .item-title h3 { font-style:italic; font-size:36px; }
[data-theme=night] .item-order .item-price { color:var(--accent); font:17px Georgia,serif; }
[data-theme=night] .item-order .option-group label { background:#28342b; border-color:#aa99745c; }
[data-theme=night] .item-order .item-footer { background:#243027; border:0; }
[data-theme=night] .item-order .order-action { background:none; border:1px solid var(--accent); color:var(--accent); }

/* Poster: a broad bottom sheet with bold type and a high-contrast option ticket. */
[data-theme=playful] .item-order { left:0; right:0; width:100%; top:calc(var(--header-height) + 14px); border:2px solid var(--fg); border-bottom:0; box-shadow:0 -12px 40px #40170622; }
[data-theme=playful] .item-order .panel-heading { border-bottom:2px solid var(--fg); padding:5px 20px; }
[data-theme=playful] .item-order .panel-heading .small-label { font-weight:900; }
[data-theme=playful] .item-order .item-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); }
[data-theme=playful] .item-order .item-visual { margin:20px; min-height:150px; border:3px solid var(--fg); box-shadow:5px 5px 0 var(--fg); }
[data-theme=playful] .item-order .item-visual figcaption { inset:auto 0 0; padding:9px 10px; background:var(--fg); color:var(--canvas); font-weight:800; font-size:7px; letter-spacing:1px; }
[data-theme=playful] .item-order .item-details { padding:20px 24px 20px 10px; }
[data-theme=playful] .item-order .item-kicker { color:var(--fg); font-weight:800; margin-bottom:8px; }
[data-theme=playful] .item-order .item-title { position:relative; padding-right:44px; }
[data-theme=playful] .item-order .item-title h3 { font:900 clamp(28px,4.4cqw,47px)/.9 Arial,sans-serif; letter-spacing:-1.7px; text-transform:uppercase; }
[data-theme=playful] .item-order .item-price { position:absolute; right:0; top:14px; margin:0; border:2px solid var(--fg); border-radius:50%; width:41px; height:41px; display:grid; place-items:center; font-size:13px; font-weight:800; transform:rotate(9deg); }
[data-theme=playful] .item-order .item-description { color:var(--fg); font-size:10px; }
[data-theme=playful] .item-order .option-group legend { font-size:9px; font-weight:800; text-transform:uppercase; }
[data-theme=playful] .item-order .option-group label { border:2px solid var(--fg); background:var(--fg); border-radius:0; }
[data-theme=playful] .item-order .option-group input { accent-color:var(--canvas); }
[data-theme=playful] .item-order .option-group .option-copy,
[data-theme=playful] .item-order .option-group .option-price { color:var(--canvas); font-weight:700; }
[data-theme=playful] .item-order .quantity-control { border:2px solid var(--fg); }
[data-theme=playful] .item-order .item-note { display:none; }
[data-theme=playful] .item-order .item-footer { border-top:2px solid var(--fg); background:var(--fg); padding:12px 22px; }
[data-theme=playful] .item-order .order-action { background:var(--canvas); color:var(--fg); font-weight:800; text-transform:uppercase; border-radius:0; }

/* Gallery: a restrained, image-led side drawer. */
[data-theme=minimal] .item-order { width:340px; max-width:94%; background:#faf9f6; box-shadow:-10px 0 35px #21332411; }
[data-theme=minimal] .item-order .panel-heading { padding:6px 22px; border-bottom:0; }
[data-theme=minimal] .item-order .item-layout { display:block; }
[data-theme=minimal] .item-order .item-visual { height:clamp(80px,calc(var(--preview-height) - 390px),190px); margin:0 22px; }
[data-theme=minimal] .item-order .item-visual figcaption { display:none; }
[data-theme=minimal] .item-order .item-details { padding:20px 23px; }
[data-theme=minimal] .item-order .item-kicker { font-size:5px; margin-bottom:8px; }
[data-theme=minimal] .item-order .item-title h3 { font-size:30px; font-style:italic; }
[data-theme=minimal] .item-order .item-price { font-size:10px; margin-top:9px; }
[data-theme=minimal] .item-order .item-description { margin:12px 0 17px; font-size:9px; }
[data-theme=minimal] .item-order .option-group label { background:none; padding:10px 0; border-width:1px 0; }
[data-theme=minimal] .item-order .item-note { display:none; }
[data-theme=minimal] .item-order .order-action { border:1px solid var(--fg); background:none; color:var(--fg); }

/* Bistro: a small, double-rule paper menu with a round dish portrait. */
[data-theme=bistro] .item-order { width:380px; max-width:90%; left:50%; right:auto; top:17px; bottom:17px; transform:translateX(-50%); border:4px double var(--fg); box-shadow:0 12px 35px #31101444; }
[data-theme=bistro] .item-order .panel-heading { justify-content:center; border-bottom:1px dashed var(--border); padding:6px 20px; }
[data-theme=bistro] .item-order .panel-close { position:absolute; right:9px; }
[data-theme=bistro] .item-order .item-layout { display:block; padding:18px 27px; }
[data-theme=bistro] .item-order .item-visual { width:clamp(64px,calc(var(--preview-height) - 390px),122px); height:clamp(64px,calc(var(--preview-height) - 390px),122px); border:1px solid var(--border); padding:4px; margin:0 auto 14px; border-radius:50%; }
[data-theme=bistro] .item-order .item-visual img { border-radius:50%; }
[data-theme=bistro] .item-order .item-visual figcaption { display:none; }
[data-theme=bistro] .item-order .item-details { padding:0; }
[data-theme=bistro] .item-order .item-title { text-align:center; }
[data-theme=bistro] .item-order .item-kicker { font-size:5px; letter-spacing:1.3px; }
[data-theme=bistro] .item-order .item-title h3 { font:italic 31px/1 Georgia,serif; }
[data-theme=bistro] .item-order .item-price { font:16px Georgia,serif; margin-top:8px; }
[data-theme=bistro] .item-order .item-description { text-align:center; font:italic 11px/1.55 Georgia,serif; margin:11px 0 17px; }
[data-theme=bistro] .item-order .option-group legend { width:100%; text-align:center; font:italic 14px Georgia,serif; }
[data-theme=bistro] .item-order .option-group label { border:0; border-block:1px dashed var(--border); padding:10px 0; background:none; }
[data-theme=bistro] .item-order .option-group .option-copy { font:13px Georgia,serif; }
[data-theme=bistro] .item-order .option-group .option-price { font:12px Georgia,serif; }
[data-theme=bistro] .item-order .quantity-line { font:12px Georgia,serif; }
[data-theme=bistro] .item-order .item-note { display:none; }
[data-theme=bistro] .item-order .item-footer { border-top:3px double var(--border); padding:12px 25px; }

/* Shop: a product-detail spread beside the storefront's persistent navigation. */
[data-theme=market] .item-order { left:var(--sidebar-width); top:0; width:calc(100% - var(--sidebar-width)); border:0; box-shadow:none; }
[data-theme=market] .item-order .panel-heading { padding:7px 24px; }
[data-theme=market] .item-order .item-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:23px; padding:23px; }
[data-theme=market] .item-order .item-visual { border-radius:7px; min-height:160px; }
[data-theme=market] .item-order .item-visual figcaption { background:var(--surface); color:var(--fg); border-radius:3px; padding:7px 10px; left:12px; bottom:12px; font-size:6px; letter-spacing:.2px; text-transform:none; }
[data-theme=market] .item-order .item-details { background:var(--surface); border-radius:7px; padding:23px; }
[data-theme=market] .item-order .item-title h3 { font:800 31px/.98 Arial,sans-serif; letter-spacing:-1.5px; }
[data-theme=market] .item-order .item-price { font-size:19px; font-weight:700; }
[data-theme=market] .item-order .option-group label { background:#eef2e7; }
[data-theme=market] .item-order .item-footer { background:#f6f8ef; border-top:1px solid var(--border); }

@container(max-width:650px) {
  .item-order .item-details { padding-inline:18px; }
  .item-order .item-title h3 { font-size:28px; }
  .item-order .item-description { font-size:9px; }
  [data-theme=botanical] .item-order .item-layout { gap:18px; padding:18px; }
  [data-theme=botanical] .item-order .item-details { padding:0; }
  [data-theme=night] .item-order { left:3%; right:3%; }
  [data-theme=night] .item-order .item-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1fr); }
  [data-theme=playful] .item-order .item-title { padding-right:0; }
  [data-theme=playful] .item-order .item-price { position:static; display:inline-block; width:auto; height:auto; border:0; margin-top:8px; transform:none; }
  [data-theme=playful] .item-order .item-visual { margin:18px 7px 18px 18px; }
  [data-theme=market] .item-order .item-layout { gap:14px; padding:16px; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); }
  [data-theme=market] .item-order .item-details { padding:16px; }
}

/* Keep every mobile customization scrollable above an always-visible add action. */
@container(max-width:480px) {
  .restaurant-site .item-order { left:0; right:0; width:100%; max-width:none; top:var(--header-height); bottom:0; height:auto; transform:none; }
  .item-order .panel-heading { min-height:32px; padding:2px 16px; }
  .item-order .item-layout { display:block; padding:0; }
  .item-order .item-visual { height:clamp(64px,calc(var(--preview-height) - 370px),130px); min-height:0; }
  .item-order .item-details { padding:12px 18px 14px; }
  .item-order .item-title { position:relative; padding-right:36px; }
  .item-order .item-kicker { font-size:5px; letter-spacing:1.2px; margin-bottom:5px; }
  .item-order .item-title h3 { font-size:27px; letter-spacing:-.7px; }
  .item-order .item-price { position:absolute; right:0; top:17px; margin:0; font-size:12px; line-height:1.2; }
  .item-order .item-description { font-size:9px; line-height:1.45; margin:8px 0 12px; }
  .item-order .option-group legend { font-size:9px; margin-bottom:6px; }
  .item-order .option-group label { min-height:34px; padding:8px; }
  .item-order .quantity-line { margin-top:10px; }
  .item-order .item-note { display:none; }
  .item-order .item-footer { padding:10px 17px; }
  .item-order .order-action { min-height:38px; font-size:10px; padding:10px 12px; }
  [data-theme=botanical] .item-order .panel-heading { margin-inline:17px; }
  [data-theme=botanical] .item-order .item-layout { display:block; padding:12px 17px 14px; }
  [data-theme=botanical] .item-order .item-visual { min-height:0; padding:4px; margin-bottom:12px; }
  [data-theme=botanical] .item-order .item-visual figcaption { display:none; }
  [data-theme=botanical] .item-order .item-details { padding:0; }
  [data-theme=botanical] .item-order .item-title h3 { font-size:29px; }
  [data-theme=botanical] .item-order .item-price { font-size:15px; }
  [data-theme=botanical] .item-order .option-group legend { font-size:13px; margin-bottom:6px; }
  [data-theme=botanical] .item-order .option-group label { padding:8px 0; }
  [data-theme=botanical] .item-order .item-footer { margin-inline:17px; padding-block:10px; }
  [data-theme=botanical] .item-order .order-action { width:100%; }
  [data-theme=night] .item-order { left:10px; right:10px; top:calc(var(--header-height) + 9px); bottom:12px; width:calc(100% - 20px); }
  [data-theme=night] .item-order .panel-heading { padding:2px 15px; }
  [data-theme=night] .item-order .item-layout { display:block; }
  [data-theme=night] .item-order .item-visual { height:clamp(58px,calc(var(--preview-height) - 385px),115px); min-height:0; }
  [data-theme=night] .item-order .item-visual img { object-position:center 58%; }
  [data-theme=night] .item-order .item-visual figcaption { font-size:5px; left:16px; bottom:10px; }
  [data-theme=night] .item-order .item-details { padding:12px 17px; }
  [data-theme=night] .item-order .item-title h3 { font-size:28px; }
  [data-theme=night] .item-order .item-price { font-size:15px; }
  [data-theme=playful] .item-order { top:calc(var(--header-height) + 10px); }
  [data-theme=playful] .item-order .panel-heading { padding:2px 15px; }
  [data-theme=playful] .item-order .item-layout { display:block; }
  [data-theme=playful] .item-order .item-visual { min-height:0; height:clamp(58px,calc(var(--preview-height) - 385px),110px); margin:11px 18px 0 15px; border-width:2px; box-shadow:3px 3px 0 var(--fg); }
  [data-theme=playful] .item-order .item-visual figcaption { padding:5px 8px; font-size:5px; inset:auto 0 0 auto; }
  [data-theme=playful] .item-order .item-details { padding:13px 17px; }
  [data-theme=playful] .item-order .item-title { padding-right:30px; }
  [data-theme=playful] .item-order .item-title h3 { font-size:30px; letter-spacing:-1.3px; }
  [data-theme=playful] .item-order .item-price { position:absolute; top:16px; right:0; margin:0; font-size:13px; }
  [data-theme=playful] .item-order .item-kicker { margin-bottom:5px; }
  [data-theme=playful] .item-order .item-description { font-size:9px; }
  [data-theme=playful] .item-order .item-footer { padding:10px 17px; }
  [data-theme=minimal] .item-order { left:auto; width:94%; }
  [data-theme=minimal] .item-order .panel-heading { padding:3px 18px; }
  [data-theme=minimal] .item-order .item-visual { margin:0 18px; height:clamp(68px,calc(var(--preview-height) - 360px),150px); }
  [data-theme=minimal] .item-order .item-details { padding:13px 19px; }
  [data-theme=minimal] .item-order .item-title h3 { font-size:27px; }
  [data-theme=minimal] .item-order .item-price { margin:0; }
  [data-theme=minimal] .item-order .item-description { margin:9px 0 12px; }
  [data-theme=minimal] .item-order .option-group label { padding:8px 0; }
  [data-theme=bistro] .item-order { left:12px; right:12px; width:calc(100% - 24px); top:12px; bottom:12px; }
  [data-theme=bistro] .item-order .panel-heading { padding:2px 15px; }
  [data-theme=bistro] .item-order .item-layout { padding:14px 21px; }
  [data-theme=bistro] .item-order .item-visual { width:clamp(62px,calc(var(--preview-height) - 365px),95px); height:clamp(62px,calc(var(--preview-height) - 365px),95px); margin-bottom:11px; }
  [data-theme=bistro] .item-order .item-details { padding:0; }
  [data-theme=bistro] .item-order .item-title { padding:0; }
  [data-theme=bistro] .item-order .item-title h3 { font-size:29px; }
  [data-theme=bistro] .item-order .item-price { position:static; margin-top:7px; font-size:15px; }
  [data-theme=bistro] .item-order .item-description { font-size:10px; margin:9px 0 12px; }
  [data-theme=bistro] .item-order .option-group legend { font-size:13px; }
  [data-theme=bistro] .item-order .option-group label { padding:8px 0; }
  [data-theme=bistro] .item-order .item-footer { padding:10px 20px; }
  [data-theme=market] .item-order .panel-heading { padding:3px 17px; }
  [data-theme=market] .item-order .item-layout { display:block; padding:12px 15px 14px; }
  [data-theme=market] .item-order .item-visual { min-height:0; height:clamp(68px,calc(var(--preview-height) - 370px),130px); margin-bottom:12px; }
  [data-theme=market] .item-order .item-visual figcaption { bottom:8px; left:8px; font-size:5px; padding:4px 7px; }
  [data-theme=market] .item-order .item-details { padding:13px; }
  [data-theme=market] .item-order .item-title h3 { font-size:27px; letter-spacing:-1px; }
  [data-theme=market] .item-order .item-price { font-size:15px; }
}
