/* Easy Light Menu — printable letter-size menu (print + PDF) */
@page {
  size: letter portrait;
  margin: 0.55in 0.6in 0.65in;
}
:root {
  --pm-ink: #1a1a1a;
  --pm-muted: #5d5d5d;
  --pm-rule: #b9a27a;
  --pm-head: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --pm-body: "Source Serif 4", "Iowan Old Style", Georgia, serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: #e9e7e3; color: var(--pm-ink); }
body.pm { font-family: var(--pm-body); -webkit-print-color-adjust: exact; print-color-adjust: exact; }

/* Screen toolbar (never printed) */
.pm-toolbar {
  position: sticky; top: 0; z-index: 5;
  display: flex; flex-wrap: wrap; gap: 0.6rem 1rem; align-items: center; justify-content: center;
  padding: 0.75rem 1rem; background: #111; color: #fff;
  font: 500 14px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
.pm-toolbar a, .pm-toolbar button {
  font: inherit; color: #111; background: #fff; border: 0; border-radius: 999px;
  padding: 0.55rem 1.05rem; cursor: pointer; text-decoration: none;
}
.pm-toolbar a.pm-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); }
.pm-toolbar .pm-opts { display: flex; flex-wrap: wrap; gap: 0.35rem 0.8rem; align-items: center; opacity: .9; }
.pm-toolbar label { display: inline-flex; gap: .3rem; align-items: center; cursor: pointer; }
.pm-hint { width: 100%; text-align: center; font-size: 12px; opacity: .7; margin: 0; }

/* Paper preview on screen */
.pm-paper {
  width: 8.5in; min-height: 11in; margin: 1.25rem auto 3rem; background: #fff;
  padding: 0.55in 0.6in 0.65in; box-shadow: 0 6px 30px rgba(0,0,0,.12);
}

.pm-head { text-align: center; margin: 0 0 0.18in; }
.pm-logo { display: block; margin: 0 auto 0.08in; max-height: 1.15in; max-width: 2.6in; width: auto; }
.pm-name {
  font-family: var(--pm-head); font-weight: 600; font-size: 34pt; line-height: 1; margin: 0;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.pm-sub { margin: 0.07in 0 0; font-size: 9pt; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pm-muted); }
.pm-orn { display: flex; align-items: center; gap: 0.12in; margin: 0.12in auto 0; width: 60%; color: var(--pm-rule); }
.pm-orn::before, .pm-orn::after { content: ""; flex: 1; border-top: 0.75pt solid var(--pm-rule); }
.pm-orn span { font-size: 8pt; }

.pm-section { break-before: auto; }
.pm-section.pm-newpage { break-before: page; }
.pm-section:first-of-type { break-before: auto; }
.pm-section-title {
  font-family: var(--pm-head); font-weight: 600; font-size: calc(21pt * var(--s, 1)); letter-spacing: 0.16em;
  text-transform: uppercase; text-align: center; margin: 0.06in 0 0.12in;
  break-after: avoid;
}
.pm-section-title::after {
  content: ""; display: block; width: 0.9in; margin: 0.06in auto 0; border-top: 0.75pt solid var(--pm-rule);
}
.pm-cols { column-count: 2; column-gap: 0.42in; column-rule: 0.5pt solid #e4ddd0; column-fill: balance; }
.pm-cat { break-inside: auto; margin: 0 0 calc(0.16in * var(--s, 1)); }
.pm-cat-title {
  font-family: var(--pm-head); font-weight: 700; font-size: calc(13.5pt * var(--s, 1)); letter-spacing: 0.1em;
  text-transform: uppercase; margin: 0 0 0.02in; break-after: avoid; color: #000;
}
.pm-cat-note { font-size: calc(7.8pt * var(--s, 1)); font-style: italic; color: var(--pm-muted); margin: 0 0 0.07in; break-after: avoid; line-height: 1.3; }
.pm-item { break-inside: avoid; margin: 0 0 calc(0.075in * var(--s, 1)); }
.pm-row { display: flex; align-items: baseline; gap: 0.06in; }
.pm-iname { font-family: var(--pm-head); font-weight: 700; font-size: calc(11.6pt * var(--s, 1)); line-height: 1.12; }
.pm-fav { font-size: 7pt; color: var(--pm-rule); vertical-align: 1pt; margin-left: 2pt; }
.pm-dots { flex: 1; border-bottom: 0.6pt dotted #9c9c9c; transform: translateY(-2.5pt); min-width: 0.15in; }
.pm-price { font-weight: 600; font-size: calc(9.6pt * var(--s, 1)); white-space: nowrap; font-variant-numeric: lining-nums; }
.pm-desc { font-size: calc(8.3pt * var(--s, 1)); line-height: 1.32; color: #333; margin: 0.015in 0 0; }
.pm-inline { font-size: calc(8.8pt * var(--s, 1)); line-height: 1.5; margin: 0; }
.pm-inline { margin-bottom: 0.06in; }
.pm-inline-label { font-family: var(--pm-head); font-size: 10pt; letter-spacing: .08em; text-transform: uppercase; margin-right: 3pt; }
.pm-inline span + span::before { content: " · "; color: var(--pm-rule); }

.pm-notes {
  break-inside: avoid; margin: 0.16in auto 0; padding-top: 0.08in; border-top: 0.6pt solid #d8cfbe;
  text-align: center; font-size: 7.6pt; color: var(--pm-muted); line-height: 1.4;
}
.pm-notes p { margin: 0 0 2pt; }
.pm-loading { text-align: center; font-style: italic; color: var(--pm-muted); padding: 2in 0; }

@media print {
  html, body { background: #fff; }
  .pm-toolbar { display: none !important; }
  .pm-paper { width: auto; min-height: 0; margin: 0; padding: 0; box-shadow: none; }
}
@media screen and (max-width: 8.9in) {
  .pm-paper { width: 100%; padding: 0.4in 0.35in; margin: 0; min-height: 0; }
  .pm-cols { column-count: 1; }
}
@media screen {
  .pm-section.pm-newpage { position: relative; margin-top: 0.45in; padding-top: 0.35in; border-top: 1px dashed #c9c2b4; }
  .pm-section.pm-newpage::before { content: "page break"; position: absolute; top: -0.09in; left: 50%; transform: translateX(-50%); background: #fff; padding: 0 8px; font: 10px/1 -apple-system, system-ui, sans-serif; color: #a39a88; letter-spacing: .08em; text-transform: uppercase; }
}

/* Print the latest menu (features.print) */
.pm-cal { font-size: 0.86em; color: #8a7a55; white-space: nowrap; letter-spacing: 0.02em; }
.pm-updated { margin-top: 4pt !important; font-size: 7pt; letter-spacing: 0.1em; text-transform: uppercase; color: #8a7a55; }
