/* Derby Irish Theme — Menu page styles (candlelit pub noir) */
:root{
  --green-deep:#0A2116; --green:#143B2A; --green-soft:#0e2b1d;
  --gold:#C6A24B; --gold-lit:#E7CC7E; --cream:#F6EFDE;
  --cream-dim:rgba(246,239,222,.62); --emerald:#5BB487;
  --line:rgba(198,162,75,.28);
  --hdr-h:112px;
}
.cm-page{
  position:relative; min-height:100vh; padding-top:var(--hdr-h);
  background:radial-gradient(120% 90% at 50% -8%, #1a4a34 0%, #0d2c1e 38%, #081a12 100%) fixed;
  color:var(--cream); font-family:'EB Garamond', Georgia, serif; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.cm-page:before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(140% 120% at 50% 30%, transparent 55%, rgba(0,0,0,.45) 100%);
}
.cm-wrap{position:relative; z-index:1; max-width:1140px; margin:0 auto; padding:0 26px;}

/* ---------- Fixed site header ---------- */
.cm-site-header{
  position:fixed; top:0; left:0; right:0; z-index:80; height:var(--hdr-h);
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 26px;
  background:rgba(8,24,16,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.cm-site-header .hdr-logo{display:flex; align-items:center;}
.cm-site-header .hdr-logo img{height:38px; width:auto; display:block;}
.cm-site-header .hdr-right{display:flex; align-items:center; gap:26px;}
.cm-hdr-menu{display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0;}
.cm-hdr-menu li{margin:0;}
.cm-hdr-menu a{font-family:'EB Garamond',serif; text-transform:uppercase; letter-spacing:2px;
  font-size:13px; color:var(--cream-dim); text-decoration:none; transition:color .2s;}
.cm-hdr-menu a:hover,.cm-hdr-menu .current-menu-item>a,.cm-hdr-menu .current_page_item>a{color:var(--gold-lit);}
.cm-hdr-cta{font-family:'EB Garamond',serif; text-transform:uppercase; letter-spacing:2px;
  font-size:12px; font-weight:600; color:var(--green-deep)!important; background:var(--gold);
  padding:9px 18px; border:1px solid var(--gold-lit); text-decoration:none; transition:background .2s;}
.cm-hdr-cta:hover{background:var(--gold-lit);}
@media(max-width:560px){ .cm-hdr-menu{display:none;} }

/* ---------- Masthead ---------- */
.cm-head{text-align:center; padding:44px 0 22px;}
.cm-logo{width:148px; height:auto; margin:0 auto 22px; display:block; filter:drop-shadow(0 6px 26px rgba(0,0,0,.5));}
.cm-eyebrow{font-family:'EB Garamond',serif; text-transform:uppercase; letter-spacing:7px; font-size:13px; color:var(--gold); margin-bottom:14px;}
.cm-title{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(52px,9vw,90px); line-height:.95; color:var(--cream); letter-spacing:.5px;}
.cm-place{font-family:'Caveat',cursive; font-size:26px; color:var(--gold-lit); margin-top:10px;}

/* ---------- Sticky sub-nav (pinned below the fixed topbar) ---------- */
.cm-cat{scroll-margin-top:calc(var(--hdr-h) + 68px);}
#drinks,#food{scroll-margin-top:calc(var(--hdr-h) + 56px);}
.cm-nav{position:sticky; top:var(--hdr-h); z-index:50; margin:14px -26px 0;
  background:rgba(8,24,16,.94); backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.cm-nav-inner{display:flex; align-items:center; gap:3px; overflow-x:auto; max-width:1140px; margin:0 auto; padding:10px 22px; scrollbar-width:none;}
.cm-nav-inner::-webkit-scrollbar{display:none;}
.cm-nav a{flex:none; font-family:'EB Garamond',serif; font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--cream-dim); text-decoration:none; padding:6px 12px; border-radius:3px; white-space:nowrap; transition:color .2s, background .2s;}
.cm-nav a:hover{color:var(--gold-lit);}
.cm-nav a.active{color:var(--green-deep); background:var(--gold); font-weight:600;}
.cm-nav .grp{font-family:'Fraunces',serif; font-weight:600; font-size:12px; letter-spacing:2px; color:var(--gold); padding-left:4px;}
.cm-nav .grp:hover{color:var(--gold-lit); background:transparent;}
.cm-nav .grp.active{color:var(--gold-lit); background:transparent;}
.cm-nav .sep{flex:none; width:1px; height:16px; background:var(--line); margin:0 9px;}

/* ---------- Section banner ---------- */
.cm-section-banner{display:flex; align-items:center; justify-content:center; gap:22px; margin:64px 0 40px;}
.cm-section-banner .rule{height:1px; width:min(160px,18vw); background:linear-gradient(90deg,transparent,var(--gold));}
.cm-section-banner .rule.r{background:linear-gradient(90deg,var(--gold),transparent);}
.cm-section-banner h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(30px,5vw,46px); color:var(--gold-lit); text-transform:uppercase; letter-spacing:6px;}
.laurel{width:44px; height:30px; flex:none;}
.laurel path,.laurel ellipse{fill:none; stroke:var(--gold); stroke-width:1.3;}
.laurel ellipse{fill:rgba(198,162,75,.18);}

/* ---------- Columns / categories / items ---------- */
.cm-cols{column-count:2; column-gap:58px;}
@media(max-width:760px){ .cm-cols{column-count:1;} }
.cm-cat{break-inside:avoid; margin:0 0 38px;}
.cm-cat-head{display:flex; align-items:baseline; gap:12px; margin-bottom:16px; padding-bottom:9px; border-bottom:1px solid var(--line);}
.cm-cat-title{font-family:'Fraunces',serif; font-weight:600; font-size:21px; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold);}
.cm-cat-price{font-family:'EB Garamond',serif; font-size:13px; letter-spacing:1px; color:var(--green-deep); background:var(--gold); padding:2px 9px; border-radius:2px; font-weight:600; transform:translateY(-2px);}
.cm-cat-note{font-family:'EB Garamond',serif; font-style:italic; font-size:13px; color:var(--cream-dim); margin:-8px 0 16px;}
.cm-units{font-family:'EB Garamond',serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--cream-dim); text-align:right; margin:-8px 0 12px;}
.cm-item{margin-bottom:15px;}
.cm-item-row{display:flex; align-items:baseline; gap:9px;}
.cm-name{font-family:'EB Garamond',serif; font-weight:600; font-size:18px; color:var(--cream); letter-spacing:.2px;}
.cm-qty{font-style:normal; color:var(--cream-dim); font-size:13px;}
.cm-lead{flex:1 1 auto; border-bottom:1px dotted rgba(198,162,75,.45); transform:translateY(-5px);}
.cm-price{font-family:'EB Garamond',serif; font-weight:600; font-size:16px; color:var(--gold-lit); white-space:nowrap;}
.cm-desc{font-family:'EB Garamond',serif; font-style:italic; font-size:14.5px; line-height:1.4; color:var(--cream-dim); margin-top:3px; padding-right:18%;}
.cm-sub{font-family:'EB Garamond',serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--emerald); margin:18px 0 12px;}
.cm-addon{color:var(--gold); font-style:italic;}

/* ---------- Footer ---------- */
.cm-foot{text-align:center; margin:60px 0 30px; padding-top:34px; border-top:1px solid var(--line);}
.cm-foot .fleuron{color:var(--gold); font-size:20px; letter-spacing:8px; margin-bottom:14px;}
.cm-foot .fai{font-family:'EB Garamond',serif; text-transform:uppercase; letter-spacing:5px; font-size:12px; color:var(--gold);}
.cm-foot .addr{font-family:'Fraunces',serif; font-size:19px; color:var(--cream); margin:10px 0 6px;}
.cm-foot .fine{font-family:'EB Garamond',serif; font-size:11.5px; color:var(--cream-dim); max-width:520px; margin:14px auto 0; line-height:1.5;}

/* ---------- page-load reveal ---------- */
.reveal{opacity:0; transform:translateY(14px); animation:cmrise .8s ease forwards;}
@keyframes cmrise{to{opacity:1; transform:none;}}
