/* A La Carte design tokens, ported from the mockup HTML files' own :root
   block (ala-carte-catalog-browse.html etc.) so every real template shares
   one source instead of re-declaring these per page. */
:root{
  --plum:#3D002B; --plum-deep:#28001C; --plum-mid:#4F0F3B;
  --gold:#345748; --gold-deep:#294539;
  --term-gold:#C6A15B;
  --silver:#C4BBBF; --silver-soft:#EFEBEC;
  --cream:#FAF8F5; --surface:#FFFFFF; --surface-2:#F1ECE3;
  --border:#E6E1D6; --border-strong:#D8D0BF;
  --ink:#2D2D2D; --ink-muted:#6E6A66; --ink-faint:#9C9793;
  --bad:#8C3B34; --bad-soft:#F3E1DE;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --plum:#C77FA4; --plum-deep:#150A11; --plum-mid:#3A1A2C;
    --gold:#5B9C86; --gold-deep:#417B69;
    --term-gold:#D9B876;
    --silver:#9A9295; --silver-soft:#2A2628;
    --cream:#17111B; --surface:#20141F; --surface-2:#261A24;
    --border:#3E2A38; --border-strong:#513A48;
    --ink:#F0EDEA; --ink-muted:#BFB9B6; --ink-faint:#8C8886;
    --bad:#E08B80; --bad-soft:#3B211F;
  }
}

body.alacarte-portal{
  background:var(--cream);
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
body.alacarte-portal h1, body.alacarte-portal h2{
  font-family:"Abril Fatface",Georgia,serif;font-weight:400;
}

.alacarte-header{background:var(--surface);border-bottom:1px solid var(--border);}
/* Rebuilt as plain flexbox, matching the mockup's own .navbar layout --
   the previous Materialize grid columns (l2/l6/l4) reserve a FIXED
   percentage width regardless of actual content size, so enlarging the
   logo image made it overflow past its column's boundary and collide with
   the nav links sitting in the next column. Flex items just take their own
   natural width, so this can't happen regardless of image size. */
.alacarte-header .alacarte-nav-flex{
  max-width:1120px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;
}
.alacarte-header .logo-wrapper img{display:block;max-width:none;}
.header-nav-links{display:flex;align-items:center;gap:28px;font-family:system-ui,sans-serif;font-weight:700;font-size:13px;letter-spacing:0.04em;}
.header-nav-links a{color:var(--ink-muted);text-decoration:none;padding-bottom:6px;border-bottom:2px solid transparent;}
.header-nav-links a:hover{color:var(--plum);}
.header-nav-links a.active{color:var(--plum);border-bottom-color:var(--gold,#345748);}
.header-right{font-size:13px;color:var(--ink-muted);white-space:nowrap;text-align:right;}
.header-right .button-ln{font-size:11px;color:var(--plum);font-weight:700;text-decoration:none;margin-left:10px;vertical-align:middle;}
.alacarte-switch-portal-wrap{display:inline-block;vertical-align:middle;text-align:right;white-space:normal;margin-right:6px;}
.header-right .alacarte-switch-portal{font-size:11px;white-space:nowrap;background:var(--plum);color:#fff;padding:8px 14px;border-radius:6px;margin:0;display:inline-block;}
.alacarte-switch-portal-note{display:block;font-size:12px;color:var(--ink-faint);white-space:nowrap;margin:5px 0 0;font-weight:400;text-align:right;}

#footer-alacarte{background:var(--surface-2);padding:20px 0;border-top:1px solid var(--border);}
