/* Print Page Setup */
@page { size: 1656px 1080px; margin: 0; }

/* Design Tokens */
:root {
  --color-gold: #eaa34b;
  --color-gold-alpha-35: rgba(234,163,75,.35);
  --color-gold-alpha-3: rgba(234,163,75,.3);
  --color-gold-alpha-6: rgba(234,163,75,.6);
  --color-bg: #172F21;
  --color-text: #e7d9be;
  --color-white: #fff;
  --color-white-alpha-55: rgba(255,255,255,.55);
  --font-heading: 'Inder', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-script: 'Playwrite US Modern', cursive;
}

/* Base Styles */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #555; font-family: var(--font-body); }

/* Layout */
.page { width: 828px; height: 1080px; position: relative; overflow: hidden; page-break-after: always; }
.panel { width: 1656px; height: 1080px; position: relative; overflow: hidden; background: var(--color-bg); }
.bg { position: absolute; inset: 0; z-index: 0; }
.bg-other { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }
.blk { position: absolute; z-index: 2; color: var(--color-white); }

/* Typography */
h1, h2, h3 { font-family: var(--font-heading); font-weight: 400; letter-spacing: 2px; }
h1 { font-size: 48px; color: var(--color-gold); margin-bottom: 20px; }
h2 { font-size: 34px; margin-bottom: 22px; }
h3 { font-size: 26px; margin: 26px 0 16px; }
h4 { font-family: var(--font-heading); font-size: 14px; color: var(--color-gold); margin-top: 16px; margin-bottom: 12px; }

/* Menu Items */
.item { display: flex; justify-content: space-between; align-items: baseline; font-size: 16px; font-weight: 500; margin-bottom: 9px; line-height: 1.3; }
.item .p { font-size: 14px; font-weight: 400; white-space: nowrap; margin-left: 14px; }
.item .p::before { content: '\20B9'; }

/* Chef's Pick */
.pickname { position: relative; padding-left: 18px; }
.pickname::before { content: '\2726'; color: var(--color-gold); position: absolute; left: 0; font-size: 13px; }
.desc { color: var(--color-text); font-size: 10px; font-weight: 300; line-height: 1.4; margin: -4px 0 8px 18px; max-width: 280px; }

/* Add-ons */
.addonhead { color: var(--color-gold); font-size: 12px; font-weight: 500; letter-spacing: 1px; margin: 14px 0 8px; }
.addon { display: flex; justify-content: space-between; font-size: 13px; font-weight: 400; margin-bottom: 6px; }
.addon .p { font-size: 12px; }
.addon .p::before { content: '\20B9'; }

/* Decorative Elements */
.scallop { position: absolute; top: 0; left: 0; right: 0; height: 16px; background: radial-gradient(circle 8px at 16px 16px, transparent 7px, var(--color-gold) 7.5px, var(--color-gold) 8px, transparent 8.5px); background-size: 32px 16px; opacity: .9; z-index: 5; }
.scallop.b { top: auto; bottom: 0; }
.foldline { position: absolute; left: 828px; top: 0; bottom: 0; width: 1px; background: var(--color-gold-alpha-35); z-index: 1; }

/* Photos */
.photo { position: absolute; border-radius: 50%; box-shadow: 0 0 0 6px var(--color-gold-alpha-3), 0 0 0 7px rgba(234, 163, 75, .12), 0 18px 40px rgba(0, 0, 0, .45); background-size: cover; background-position: center; z-index: 1; }

/* Special Sections */
.big { font-family: var(--font-script); color: var(--color-gold); font-size: 40px; text-align: center; margin-top: 40px; }
.note { color: var(--color-text); font-size: 15px; font-weight: 300; text-align: center; line-height: 1.7; margin-top: 24px; }

/* Footer */
.footer { position: absolute; bottom: 24px; left: 0; right: 0; text-align: center; z-index: 2; color: var(--color-white-alpha-55); font-size: 10px; letter-spacing: 3px; }
.footer-left { position: absolute; bottom: 24px; left: 56px; right: auto; text-align: left; z-index: 2; color: var(--color-white-alpha-55); font-size: 10px; letter-spacing: 3px; }
.footer-right { position: absolute; bottom: 24px; right: 56px; left: auto; text-align: right; z-index: 2; color: var(--color-white-alpha-55); font-size: 10px; letter-spacing: 3px; }

/* Page Numbers */
.pagenum { position: absolute; bottom: 12px; right: 24px; font-size: 11px; color: var(--color-gold-alpha-6); letter-spacing: 1px; z-index: 3; }

/* Header */
.header-sticky { position: sticky; top: 0; z-index: 50; background: #0e1d15; border-bottom: 1px solid rgba(234,163,75,0.267); color: var(--color-text); font-family: var(--font-body); font-size: 13px; padding: 8px 16px; letter-spacing: 1px; }

/* PDF Export Support */
@media print {
  body { background: white; }
  .header-sticky { display: none; }
}


/* v2.1: portrait pages clip a 1656-wide spread */
.spread { position: absolute; top: 0; width: 1656px; height: 1080px; }
.spread .panel { position: relative; width: 1656px; height: 1080px; }
.spread .pagenum { position: absolute; bottom: 12px; z-index: 3; }
