/*
Theme Name: Oak & Ivy Taphouse
Theme URI: https://theoakandivytaphouse.com
Author: Lion Eye Creative
Author URI: https://lioneyecreative.com
Description: Custom WordPress block theme for The Oak & Ivy Taphouse — a sleek, modern take on the brand's vintage woodtype/letterpress identity: olive, cream, oxblood and gold with a bold slab display face.
Requires at least: 6.5
Tested up to: 7.0
Version: 0.7.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oak-ivy
*/

/* ---- helpers ---- */
.oi-crest svg { display:block; width:100%; height:auto; }
.oi-eyebrow{ font-family:var(--wp--preset--font-family--body); text-transform:uppercase; letter-spacing:.2em; font-size:.64rem; font-weight:700; }
/* all eyebrows gold — richer gold on light backgrounds, lighter gold-2 on dark ones for contrast */
.oi-eyebrow{ color:var(--wp--preset--color--gold) !important; }
.has-charcoal-background-color .oi-eyebrow,
.has-ink-background-color .oi-eyebrow,
.has-olive-background-color .oi-eyebrow,
footer .oi-eyebrow,
.oi-hero .oi-eyebrow{ color:var(--wp--preset--color--gold-2) !important; }
html{ scroll-behavior:smooth; }

/* seamless full-width section transitions — remove the block-gap that let the
   light body background show through as thin lines between colored sections */
.wp-site-blocks > *{ margin-block-start:0 !important; margin-block-end:0 !important; }

/* feature cards (homepage pillars) */
.oi-feature-card img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:6px; display:block; }

/* homepage welcome pillars — elevated, interactive feature cards */
.oi-pillars{ margin-top:var(--wp--preset--spacing--50) !important; }
.oi-pillars .oi-feature-card{ margin:0 0 1.2rem !important; border-radius:10px; overflow:hidden; box-shadow:0 20px 42px -30px rgba(34,28,20,.55); transition:transform .35s ease, box-shadow .35s ease; }
.oi-pillars .oi-feature-card img{ border-radius:0; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.oi-pillars .oi-feature-card:hover{ transform:translateY(-5px); box-shadow:0 30px 55px -26px rgba(34,28,20,.62); }
.oi-pillars .oi-feature-card:hover img{ transform:scale(1.07); }
.oi-pillars h3{ position:relative; padding-bottom:.75rem; margin:0 0 .7rem !important; }
.oi-pillars h3::after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; border-radius:2px; background:var(--wp--preset--color--gold); }
@media (prefers-reduced-motion:reduce){ .oi-pillars .oi-feature-card, .oi-pillars .oi-feature-card img{ transition:none; } }

/* homepage announcement marquee (replaces the flat olive tagline strip) */
.oi-marquee-band{ padding-inline:0 !important; overflow:hidden; border-block:1px solid rgba(220,183,104,.22); }
.oi-marquee{ overflow:hidden; width:100%; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%); }
.oi-marquee__track{ display:flex; width:max-content; animation:oi-marquee-scroll 36s linear infinite; }
.oi-marquee:hover .oi-marquee__track{ animation-play-state:paused; }
.oi-marquee__group{ display:flex; align-items:center; flex:none; }
.oi-marquee__group span{ flex:none; font-family:var(--wp--preset--font-family--display); text-transform:uppercase; letter-spacing:.09em; color:var(--wp--preset--color--gold-2); font-size:1.06rem; line-height:1; white-space:nowrap; padding:0 1.7rem; }
.oi-marquee__group i{ flex:none; font-style:normal; font-size:.6rem; color:var(--wp--preset--color--gold); transform:translateY(-1px); }
@keyframes oi-marquee-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-25%); } }
.oi-marquee-static{ display:none; text-align:center; font-family:var(--wp--preset--font-family--display); text-transform:uppercase; letter-spacing:.06em; color:var(--wp--preset--color--gold-2); font-size:1.0625rem; margin:0; padding-inline:1.2rem; }
@media (prefers-reduced-motion:reduce){ .oi-marquee{ display:none; } .oi-marquee-static{ display:block; } }

/* ── About page: journey timeline, value cards, gallery ── */
.oi-timeline{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.oi-timeline::before{ content:""; position:absolute; top:6px; left:12.5%; right:12.5%; height:2px; background:linear-gradient(90deg,transparent,rgba(190,143,56,.5) 10%,rgba(190,143,56,.5) 90%,transparent); }
.oi-timeline__item{ display:flex; flex-direction:column; align-items:center; text-align:center; padding-inline:.6rem; }
.oi-timeline__item .dot{ width:13px; height:13px; border-radius:50%; background:var(--wp--preset--color--gold); box-shadow:0 0 0 5px var(--wp--preset--color--charcoal); }
.oi-timeline__item .year{ font-family:var(--wp--preset--font-family--display); font-size:clamp(2rem,1.5rem + 1.3vw,2.55rem); line-height:1; color:var(--wp--preset--color--gold-2); margin-top:1.5rem; }
.oi-timeline__item .cap{ margin:.9rem 0 0; color:var(--wp--preset--color--cream); line-height:1.55; max-width:30ch; }
@media (max-width:900px){ .oi-timeline{ grid-template-columns:repeat(2,1fr); gap:2rem 1.2rem; } .oi-timeline::before{ display:none; } }
@media (max-width:520px){ .oi-timeline{ grid-template-columns:1fr; gap:2.2rem; } }

/* About — a century of changes */
.oi-tenants{ display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem .6rem; max-width:860px; margin:1.7rem auto 0; }
.oi-tenants span{ font-size:.88rem; letter-spacing:.01em; color:var(--wp--preset--color--ink); background:var(--wp--preset--color--cream); border:1px solid rgba(58,49,32,.16); border-radius:999px; padding:.5rem .95rem; line-height:1.2; }
.oi-tenants span.is-lead{ background:var(--wp--preset--color--gold); border-color:transparent; font-weight:600; }
.oi-shoe{ max-width:760px; margin:2.5rem auto 0; background:var(--wp--preset--color--charcoal); border:1px solid rgba(190,143,56,.35); border-radius:14px; padding:clamp(1.5rem,3vw,2.3rem); text-align:center; box-shadow:0 26px 54px -32px rgba(0,0,0,.65); }
.oi-shoe__tag{ display:inline-block; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--wp--preset--color--gold-2); }
.oi-shoe h3{ font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--paper); font-size:clamp(1.5rem,1.2rem + 1.1vw,2rem); line-height:1.1; margin:.45rem 0 0; }
.oi-shoe p{ color:var(--wp--preset--color--cream); line-height:1.65; margin:.85rem auto 0; max-width:56ch; }

.oi-values .wp-block-column{ background:#FBF8F1; border:1px solid rgba(190,143,56,.16); border-radius:12px; padding:clamp(1.4rem,1rem + 1.6vw,2rem); box-shadow:0 18px 40px -30px rgba(34,28,20,.45); transition:transform .35s ease, box-shadow .35s ease; }
.oi-values .wp-block-column:hover{ transform:translateY(-5px); box-shadow:0 28px 52px -28px rgba(34,28,20,.5); }
.oi-values h3{ margin:0 0 .5rem !important; }

.oi-gallery{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:var(--wp--preset--spacing--60); }
.oi-gallery .wp-block-column{ width:auto !important; flex:initial !important; margin:0 !important; }
.oi-gallery .wp-block-image{ margin:0; border-radius:10px; overflow:hidden; box-shadow:0 16px 36px -30px rgba(34,28,20,.5); }
.oi-gallery .wp-block-image img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.oi-gallery .wp-block-image:hover img{ transform:scale(1.06); }
@media (max-width:781px){ .oi-gallery{ grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion:reduce){ .oi-values .wp-block-column, .oi-gallery .wp-block-image img{ transition:none; } }
/* large split images (food/beer sections) fill their column as a big, consistent rectangle */
.oi-split-img img{ width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:6px; display:block; }
@media(max-width:781px){ .oi-split-img img{ aspect-ratio:16/10; } }

/* dramatic hero — cinematic slow zoom on the background image */
.oi-hero .wp-block-cover__image-background{ animation:oi-kenburns 28s ease-in-out infinite alternate; will-change:transform; }
@keyframes oi-kenburns{ from{ transform:scale(1.03); } to{ transform:scale(1.13); } }
@media (prefers-reduced-motion:reduce){ .oi-hero .wp-block-cover__image-background{ animation:none; } }
.oi-hero-crest img{ width:66px; height:auto; margin-bottom:0.4rem; }
/* hero scrim — richer, moodier overlay so the elegant headline pops on the busy ivy image,
   while the fairy lights still glow through on the right; plus a soft top/bottom vignette */
.oi-hero .wp-block-cover__background{
  background:
    linear-gradient(90deg, rgba(15,13,9,0.90) 0%, rgba(15,13,9,0.72) 42%, rgba(15,13,9,0.42) 72%, rgba(15,13,9,0.22) 100%),
    linear-gradient(180deg, rgba(15,13,9,0.35) 0%, rgba(15,13,9,0) 30%, rgba(15,13,9,0) 58%, rgba(15,13,9,0.52) 100%) !important;
}
.oi-hero h1{ text-shadow:0 2px 34px rgba(0,0,0,0.55); }
.oi-hero .oi-eyebrow,
.oi-hero .wp-block-cover__inner-container p{ text-shadow:0 1px 18px rgba(0,0,0,0.5); }

/* full-bleed media/text bands (edge-to-edge imagery) */
.wp-block-media-text.oi-band{ grid-template-columns:1fr 1fr; overflow:hidden; }
.wp-block-media-text.oi-band .wp-block-media-text__media{ align-self:stretch; }
.wp-block-media-text.oi-band .wp-block-media-text__media img{ width:100%; height:100%; object-fit:cover; min-height:480px; }
.wp-block-media-text.oi-band .wp-block-media-text__content{ padding-block:var(--wp--preset--spacing--70); padding-inline:clamp(1.8rem,4.5vw,4rem); }
/* extra breathing room on the outer (screen-edge) side so copy isn't tight to the edge */
@media (min-width:782px){
  .wp-block-media-text.oi-band:not(.has-media-on-the-right) .wp-block-media-text__content{ padding-right:clamp(3.5rem,10vw,11rem); }
  .wp-block-media-text.oi-band.has-media-on-the-right .wp-block-media-text__content{ padding-left:clamp(3.5rem,10vw,11rem); }
}
@media (max-width:781px){
  .wp-block-media-text.oi-band .wp-block-media-text__media img{ min-height:300px; }
  .wp-block-media-text.oi-band .wp-block-media-text__content{ padding:var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
}
/* seamless stacking when .oi-band bands live inside page content (e.g. Venue page) */
.oi-band{ margin-block:0 !important; }
.oi-band + *{ margin-block-start:0 !important; }

/* height-capped band photo — for portrait sources that would otherwise tower over the copy */
.oi-band.oi-cap{ align-items:center; }
.oi-band.oi-cap .wp-block-media-text__media{ align-self:center; }
.oi-band.oi-cap .wp-block-media-text__media img{ height:clamp(340px,42vw,480px); min-height:0; }
.oi-band.oi-cap .wp-block-media-text__content{ padding-block:var(--wp--preset--spacing--60); }

/* venue "room" bands: larger copy + a height-capped photo carousel (fixes too-tall images / tiny text) */
.oi-band.oi-room .wp-block-media-text__content{ padding-block:var(--wp--preset--spacing--60); }
.oi-band.oi-room h3{ line-height:1.12; margin-bottom:.25rem; }
.oi-band.oi-room .wp-block-media-text__content p:not(.oi-eyebrow){ line-height:1.55; max-width:38ch; }
/* photo carousel */
.oi-slider{ position:relative; width:100%; height:100%; min-height:clamp(360px,40vw,540px); max-height:620px; overflow:hidden; }
.oi-slider .oi-slide{ position:absolute; inset:0; opacity:0; transition:opacity .9s ease; }
.oi-slider .oi-slide.is-active{ opacity:1; }
.oi-slider .oi-slide img{ width:100%; height:100%; min-height:0; object-fit:cover; display:block; }
.oi-slider .oi-dots{ position:absolute; left:0; right:0; bottom:14px; z-index:2; display:flex; gap:9px; justify-content:center; }
.oi-slider .oi-dots button{ width:9px; height:9px; padding:0; border:0; border-radius:50%; cursor:pointer; background:rgba(244,238,224,.5); box-shadow:0 1px 4px rgba(0,0,0,.45); transition:background .3s, transform .3s; }
.oi-slider .oi-dots button.is-active{ background:var(--wp--preset--color--gold-2); transform:scale(1.3); }
@media (max-width:781px){ .oi-slider{ min-height:300px; } }
/* Multi-photo carousel variant — shows 2 portrait-friendly frames per slide so vertical photos crop far less; shorter than the single-image band. Scoped so single-photo rooms keep the full-bleed slider. */
.oi-slider.oi-slider-multi{ min-height:clamp(360px,38vw,480px); }
.oi-slider.oi-slider-multi .oi-slide{ display:flex; gap:.6rem; }
.oi-slider.oi-slider-multi .oi-slide img{ flex:1 1 0; width:auto; min-width:0; border-radius:6px; }
@media (max-width:781px){ .oi-slider.oi-slider-multi{ min-height:clamp(300px,66vw,440px); } }
/* Prev/next scroll arrows (injected by JS on .oi-slider-multi) */
.oi-slider .oi-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:42px; height:42px; display:flex; align-items:center; justify-content:center; padding:0; border:0; border-radius:50%; cursor:pointer; color:var(--wp--preset--color--ink); background:rgba(244,238,224,.85); box-shadow:0 3px 12px rgba(0,0,0,.4); transition:background .25s ease, transform .25s ease; }
.oi-slider .oi-arrow:hover{ background:var(--wp--preset--color--gold-2); transform:translateY(-50%) scale(1.08); }
.oi-slider .oi-arrow svg{ display:block; }
.oi-slider .oi-arrow-prev{ left:12px; }
.oi-slider .oi-arrow-next{ right:12px; }
@media (max-width:600px){ .oi-slider .oi-arrow{ width:36px; height:36px; } }
/* Film-reel photo marquee — infinite horizontal scroll of room photos (venue "The Atmosphere"); uniform height keeps portraits uncropped */
.oi-filmreel{ width:100vw; margin-left:calc(50% - 50vw); overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.oi-filmreel__track{ display:flex; gap:14px; width:max-content; will-change:transform; animation:oi-filmreel 55s linear infinite; }
.oi-filmreel:hover .oi-filmreel__track{ animation-play-state:paused; }
.oi-filmreel__track img{ height:clamp(200px,25vw,290px); width:auto; flex:0 0 auto; display:block; border-radius:8px; object-fit:cover; box-shadow:0 16px 34px -22px rgba(0,0,0,.7); }
@keyframes oi-filmreel{ from{ transform:translateX(0); } to{ transform:translateX(-33.333%); } }
.oi-filmreel.oi-filmreel--rev .oi-filmreel__track{ animation-direction:reverse; }
/* two-row film reel (rows scroll opposite directions, same speed) */
.oi-reel-2row{ display:flex; flex-direction:column; gap:14px; }
.oi-reel-2row .oi-filmreel{ margin-block:0; }
.oi-reel-2row .oi-filmreel__track img{ height:clamp(140px,17vw,210px); }

/* menu page — sticky Brunch/Dinner/Drinks jump bar (mobile only) */
.oi-menu-sticky{ display:none; }
#brunch, #dinner, #drinks{ scroll-margin-top:1.25rem; }
@media (max-width:781px){
  .oi-menu-sticky{ display:flex; gap:.5rem; position:fixed; left:0; right:0; bottom:0; z-index:100; margin:0 !important; padding:.5rem .55rem calc(.5rem + env(safe-area-inset-bottom,0px)); background:var(--wp--preset--color--charcoal); border-top:1px solid rgba(220,183,104,.3); box-shadow:0 -8px 22px -12px rgba(0,0,0,.55); }
  .oi-menu-sticky a{ flex:1 1 0; text-align:center; padding:.72rem .3rem; border-radius:6px; background:var(--wp--preset--color--gold); color:var(--wp--preset--color--ink); font-family:var(--wp--preset--font-family--body); font-weight:700; font-size:.8rem; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; line-height:1; }
  .oi-menu-sticky a:active{ transform:translateY(1px); }
  body:has(.oi-menu-sticky){ padding-bottom:64px; }
}
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }

/* homepage weekly events — 2×2 poster grid (larger posters); stacks 1-per-row on mobile */
.oi-events-2x2{ flex-wrap:wrap !important; max-width:900px; margin-left:auto !important; margin-right:auto !important; }
.oi-events-2x2 > .wp-block-column{ flex-basis:calc(50% - 0.7rem) !important; flex-grow:0 !important; }
@media (max-width:781px){ .oi-events-2x2 > .wp-block-column{ flex-basis:100% !important; } }
/* Food collage — masonry grid of dish/drink photos (menu page), natural aspect (uncropped) */
.oi-collage{ column-count:4; column-gap:10px; margin-top:var(--wp--preset--spacing--50); }
.oi-collage img{ width:100%; margin:0 0 10px; border-radius:8px; display:block; break-inside:avoid; box-shadow:0 12px 28px -20px rgba(34,28,20,.5); }
@media (max-width:900px){ .oi-collage{ column-count:3; } }
@media (max-width:560px){ .oi-collage{ column-count:2; column-gap:8px; } .oi-collage img{ margin-bottom:8px; } }
@media (prefers-reduced-motion:reduce){ .oi-filmreel__track{ animation:none; transform:none; } .oi-filmreel{ overflow-x:auto; -webkit-overflow-scrolling:touch; } }

/* event poster bands: show the WHOLE poster (contain, not crop) mounted on a dark panel */
.oi-band.oi-poster .wp-block-media-text__media{ background:var(--wp--preset--color--charcoal); display:flex; align-items:center; justify-content:center; padding:clamp(1.75rem,4.5vw,3.5rem); }
.oi-band.oi-poster .wp-block-media-text__media img{ width:auto; height:auto; max-width:100%; max-height:480px; min-height:0; object-fit:contain; border-radius:5px; box-shadow:0 24px 60px -28px rgba(0,0,0,.7); }
@media (max-width:781px){ .oi-band.oi-poster .wp-block-media-text__media img{ max-height:360px; } }

/* event detail pages — framed poster, details grid, FAQ accordion */
.oi-poster-card{ background:var(--wp--preset--color--charcoal); border-radius:8px; padding:clamp(0.9rem,2.2vw,1.5rem); box-shadow:0 26px 55px -30px rgba(0,0,0,0.6); }
.oi-poster-card img{ display:block; width:100%; height:auto; border-radius:4px; }
/* details = premium charcoal "spec card" (gold-accented cells on dark) */
.oi-details{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem 2.6rem; margin:0; background:var(--wp--preset--color--charcoal); border:1px solid rgba(190,143,56,.30); border-radius:14px; padding:clamp(1.9rem,4vw,2.9rem) clamp(1.6rem,4vw,2.9rem); box-shadow:0 34px 66px -38px rgba(0,0,0,.60); }
.oi-details > div{ padding-left:1.05rem; border-left:2px solid var(--wp--preset--color--gold); }
.oi-details dt{ font-family:var(--wp--preset--font-family--body); text-transform:uppercase; letter-spacing:.18em; font-size:.6rem; font-weight:700; color:var(--wp--preset--color--gold-2); margin:0 0 .5rem; }
.oi-details dd{ margin:0; font-family:var(--wp--preset--font-family--serif); font-size:1.14rem; line-height:1.35; color:var(--wp--preset--color--paper); }
@media (max-width:700px){ .oi-details{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:440px){ .oi-details{ grid-template-columns:1fr; } }

/* how-it-works = numbered step cards with big serif numerals */
.oi-steps.wp-block-list{ list-style:none; margin:1.6rem 0 0; padding:0; counter-reset:oi-step; display:grid; gap:1rem; }
.oi-steps.wp-block-list li{ counter-increment:oi-step; display:flex; align-items:center; gap:1.4rem; background:var(--wp--preset--color--cream); border-radius:12px; padding:1.2rem 1.7rem; color:var(--wp--preset--color--ink); font-size:1.06rem; line-height:1.5; box-shadow:0 14px 32px -28px rgba(0,0,0,.55); }
.oi-steps.wp-block-list li::before{ content:counter(oi-step,decimal-leading-zero); flex:0 0 auto; font-family:var(--wp--preset--font-family--display); font-weight:400; font-size:clamp(1.7rem,1.2rem + 1.4vw,2.2rem); line-height:1; color:var(--wp--preset--color--gold); min-width:2.3rem; text-align:center; padding-right:1.3rem; border-right:1px solid rgba(190,143,56,.35); }
@media (max-width:600px){ .oi-steps.wp-block-list li{ padding:1rem 1.2rem; gap:1.1rem; } .oi-steps.wp-block-list li::before{ padding-right:1rem; } }
.oi-faq{ max-width:760px; margin:0 auto; border-top:1px solid var(--wp--preset--color--cream); }
.oi-faq details{ border-bottom:1px solid var(--wp--preset--color--cream); }
.oi-faq summary{ cursor:pointer; list-style:none; padding:1.15rem .2rem; font-family:var(--wp--preset--font-family--serif); font-size:1.16rem; font-weight:600; color:var(--wp--preset--color--ink); display:flex; justify-content:space-between; gap:1.2rem; align-items:center; }
.oi-faq summary::-webkit-details-marker{ display:none; }
.oi-faq summary::after{ content:"+"; color:var(--wp--preset--color--gold); font-size:1.5rem; font-weight:400; line-height:1; flex:0 0 auto; }
.oi-faq details[open] summary::after{ content:"\2013"; }
.oi-faq details > p{ margin:0 .2rem 1.2rem; color:var(--wp--preset--color--muted); line-height:1.6; font-size:1rem; }

/* short gold tick used above pillar headings */
hr.oi-tick.wp-block-separator{ width:36px; height:3px; border:0; margin:0 0 1.1rem; opacity:1; }

/* header responsive nav is handled by the split-nav rules below (.oi-header-inner) */

/* text logo in header */
.oi-logo-img{ margin:0; line-height:0; }
.oi-logo-img img{ height:50px; width:auto; display:block; }
@media (max-width:600px){ .oi-logo-img img{ height:38px; } }

/* ── top utility bar (phone · email | social) above the main header ── */
.oi-topbar{ background:#18120b; border-bottom:1px solid rgba(220,183,104,.15); margin:0 !important; }
.oi-topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:.5rem 1.4rem; flex-wrap:wrap; padding-block:.42rem; font-family:var(--wp--preset--font-family--body); }
.oi-topbar-contact{ display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.oi-topbar a{ display:inline-flex; align-items:center; gap:.42rem; color:var(--wp--preset--color--cream); font-size:.78rem; letter-spacing:.01em; text-decoration:none; line-height:1; }
.oi-topbar a:hover{ color:var(--wp--preset--color--gold-2); }
.oi-topbar svg{ flex:none; opacity:.85; }
.oi-topbar-social{ display:flex; align-items:center; gap:.75rem; }
.oi-topbar-social a{ color:var(--wp--preset--color--gold-2); }
.oi-topbar-social a:hover{ color:var(--wp--preset--color--cream); }
@media (max-width:600px){
  .oi-topbar-inner{ flex-direction:column; align-items:center; gap:.3rem; }
  .oi-topbar-contact{ flex-wrap:nowrap; gap:.85rem; justify-content:center; max-width:100%; }
  .oi-topbar a{ font-size:.68rem; gap:.26rem; }
  .oi-topbar-contact svg{ width:11px; height:11px; }
  .oi-topbar-social{ display:none !important; } /* social moves to the footer on mobile */
}

/* split-nav centered-logo header: [left nav | logo | right nav + Reserve] on one line (desktop);
   swaps to logo-left + a single hamburger (≤991px). 3 nav blocks: left/right (overlayMenu:never,
   desktop-only) + one full mobile nav (overlayMenu:always, mobile-only) so mobile shows ONE hamburger. */
.oi-header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; }
.oi-header-inner > .oi-nav-left{ flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:flex-start; }
.oi-header-inner > .oi-logo-wrap{ flex:0 0 auto; display:flex; align-items:center; justify-content:center; line-height:0; }
.oi-header-inner > .oi-header-end{ flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:1rem; }
.oi-header-inner > *{ margin-block:0 !important; }
.oi-header-inner .wp-block-navigation{ align-items:center; }
.oi-header-cta{ margin:0 !important; display:flex; align-items:center; flex-wrap:nowrap !important; gap:.5rem; }
.oi-header-cta .wp-block-button,.oi-header-cta .wp-block-button__link{ margin:0; }
.oi-header-cta .wp-block-button__link{ white-space:nowrap; padding-left:1.05em; padding-right:1.05em; }
.oi-header-inner > .oi-nav-mobile{ display:none !important; }
/* mobile (≤991): flex row → logo-left + single hamburger-right */
@media (max-width:991px){
  .oi-header-inner{ display:flex; justify-content:space-between; }
  .oi-header-inner > .oi-nav-left,
  .oi-header-inner > .oi-header-end{ display:none !important; }
  .oi-header-inner > .oi-nav-mobile{ display:flex !important; justify-content:flex-end; }
}

/* mobile-only Delivery button next to the hamburger (hidden on desktop; desktop uses .oi-header-cta) */
.oi-mobile-cta{ display:none !important; margin:0 !important; }
@media (max-width:991px){ .oi-header-inner > .oi-mobile-cta{ display:flex !important; margin-left:auto; align-items:center; } }
.oi-mobile-cta .wp-block-button,.oi-mobile-cta .wp-block-button__link{ margin:0; }
.oi-mobile-cta .wp-block-button__link{ padding:.5em 1.05em; font-size:.78rem; white-space:nowrap; line-height:1.2; }

/* ── mobile nav overlay (hamburger dropdown): padding + centered items + inline submenu ── */
.wp-block-navigation__responsive-container.is-menu-open{ padding:2.5rem 1.5rem !important; }
/* full logo injected at the bottom of the open menu — flows with content, pushed to the bottom via margin-top:auto */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{ min-height:calc(100vh - 6rem); }
.oi-menu-logo{ display:block; width:185px; max-width:60vw; height:auto; margin:auto auto 0; padding-top:2.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{ width:100%; align-items:center !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{ align-items:center !important; text-align:center; gap:.15rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{ text-align:center; }
/* Events submenu: COLLAPSED by default in the overlay; tap the chevron to expand inline (kills the desktop floating box) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  position:static !important; width:auto !important; min-width:0 !important; transform:none !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
  opacity:1 !important; visibility:visible !important; padding:0 !important;
  display:none !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.oi-sub-open .wp-block-navigation__submenu-container{
  display:flex !important; flex-direction:column; padding:.15rem 0 .4rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{ align-items:center !important; text-align:center; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{ color:var(--wp--preset--color--gold-2) !important; font-size:.9em; letter-spacing:.06em; }
/* WP hides the submenu chevron in overlays (it normally auto-expands) — show it, inline with the label, so it can toggle */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child{ flex-direction:row !important; flex-wrap:wrap; align-items:center; justify-content:center; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container{ flex-basis:100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle{ display:inline-flex !important; align-items:center; width:auto !important; height:auto !important; min-height:0; padding:.3rem .5rem; color:inherit; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle svg{ width:15px; height:15px; stroke:currentColor; fill:none; transition:transform .2s ease; transform:none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.oi-sub-open .wp-block-navigation-submenu__toggle svg{ transform:rotate(180deg) !important; }
/* lock body scroll while the overlay is open */
html.has-modal-open, html.has-modal-open body{ overflow:hidden; }

/* dark header — force nav links light (override the global oxblood link color) + gold hover */
header.wp-block-group .wp-block-navigation a:not(.wp-element-button),
header.wp-block-group .wp-block-navigation .wp-block-navigation-item__content{ color:var(--wp--preset--color--cream); }
header.wp-block-group .wp-block-navigation a:not(.wp-element-button):hover,
header.wp-block-group .wp-block-navigation .wp-block-navigation-item__content:hover{ color:var(--wp--preset--color--gold-2); text-decoration:none; }
header.wp-block-group .wp-block-navigation__responsive-container-open,
header.wp-block-group .wp-block-navigation__responsive-container-close{ color:var(--wp--preset--color--cream); }

/* footer links — cream, gold on hover (replaces the harsh oxblood link color on dark) */
footer.wp-block-group a:not(.wp-element-button){ color:var(--wp--preset--color--cream); text-decoration:none; }
footer.wp-block-group a:not(.wp-element-button):hover{ color:var(--wp--preset--color--gold-2); text-decoration:underline; }
/* footer — centered content + social row */
footer.wp-block-group{ text-align:center; }
footer.wp-block-group .wp-block-columns{ justify-content:center; }
footer.wp-block-group .oi-footer-logo{ margin-left:auto; margin-right:auto; }
.oi-footer-social{ display:flex; justify-content:center; align-items:center; gap:1.2rem; margin-top:1.7rem; }
.oi-footer-social a{ color:var(--wp--preset--color--gold-2) !important; display:inline-flex; align-items:center; }
.oi-footer-social a:hover{ color:var(--wp--preset--color--cream) !important; }
.oi-footer-social svg{ display:block; }
/* inline links inside the olive CTA band — gold so they read as links, not oxblood */
.has-olive-background-color a:not(.wp-element-button){ color:var(--wp--preset--color--gold-2); text-decoration:underline; text-underline-offset:2px; }
.has-olive-background-color a:not(.wp-element-button):hover{ color:var(--wp--preset--color--paper); }

/* nav dropdown (Events submenu) — force dark bg + light readable text (override WP's default white submenu) */
header .wp-block-navigation__submenu-container{ background:var(--wp--preset--color--charcoal) !important; border:1px solid rgba(233,222,196,.16) !important; border-radius:5px; padding:.4rem 0; min-width:212px; box-shadow:0 18px 36px -22px rgba(0,0,0,.55); }
header .wp-block-navigation__submenu-container .wp-block-navigation-item,
header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{ background:transparent !important; color:var(--wp--preset--color--cream) !important; }
header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{ padding:.55rem 1.15rem; letter-spacing:.06em; }
header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{ color:var(--wp--preset--color--gold-2) !important; }

/* ---- menu lists ---- */
.oi-menu-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); max-width:1040px; margin:0 auto; }
.oi-cat + .oi-cat{ margin-top:2.4rem; }
.oi-cat-label{ font-family:var(--wp--preset--font-family--body); text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:700; color:var(--wp--preset--color--oxblood); margin:0 0 1.2rem; }
.oi-mi{ margin:0 0 1.25rem; }
.oi-mi-row{ display:flex; align-items:baseline; gap:.5rem; }
.oi-mi-name{ font-family:var(--wp--preset--font-family--body); font-size:1.05rem; font-weight:700; color:var(--wp--preset--color--ink); }
.oi-mi-dots{ flex:1 1 auto; border-bottom:1px dotted rgba(43,35,22,.4); transform:translateY(-.28em); }
.oi-mi-price{ font-family:var(--wp--preset--font-family--body); font-weight:700; color:var(--wp--preset--color--oxblood); font-variant-numeric:tabular-nums; }
.oi-mi-desc{ font-size:.9rem; line-height:1.45; color:var(--wp--preset--color--muted); margin:.15rem 0 0; }
@media(max-width:700px){ .oi-menu-grid{ grid-template-columns:1fr; } }

/* ---- tap board (on dark) ---- */
.oi-tap{ list-style:none; margin:2rem auto 0; padding:0; max-width:840px; border-top:1px solid rgba(233,222,196,.28); counter-reset:tap; }
.oi-tap li{ display:grid; grid-template-columns:2rem minmax(0,1.3fr) minmax(0,1.7fr) auto; gap:1rem; align-items:center; padding:.95rem .3rem; border-bottom:1px solid rgba(233,222,196,.16); }
.oi-tap li::before{ counter-increment:tap; content:counter(tap,decimal-leading-zero); font-family:var(--wp--preset--font-family--body); font-size:.76rem; font-weight:600; color:rgba(233,222,196,.5); }
.oi-tap .st{ font-family:var(--wp--preset--font-family--display); font-size:1.05rem; color:var(--wp--preset--color--paper); }
.oi-tap .src{ font-size:.9rem; color:var(--wp--preset--color--cream); }
.oi-tap .abv{ font-family:var(--wp--preset--font-family--body); font-weight:700; color:var(--wp--preset--color--gold-2); font-variant-numeric:tabular-nums; text-align:right; }
@media(max-width:640px){
  .oi-tap li{ grid-template-columns:1.6rem 1fr auto; row-gap:.1rem; }
  .oi-tap .src{ grid-column:2 / -1; }
}

/* ---- events ---- */
.oi-events{ list-style:none; margin:1.5rem auto 0; padding:0; max-width:760px; }
.oi-events li{ display:grid; grid-template-columns:auto 1fr auto; gap:1.2rem; align-items:center; padding:1.05rem .2rem; border-bottom:1px solid var(--wp--preset--color--cream); }
.oi-ev-day{ font-family:var(--wp--preset--font-family--body); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--wp--preset--color--paper); background:var(--wp--preset--color--olive); padding:.5em .7em; border-radius:3px; min-width:3.4em; text-align:center; }
.oi-ev-name{ font-family:var(--wp--preset--font-family--body); font-weight:700; font-size:1.05rem; color:var(--wp--preset--color--ink); }
.oi-ev-time{ font-family:var(--wp--preset--font-family--body); font-size:.86rem; color:var(--wp--preset--color--muted); }

/* ---- contact ---- */
.oi-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,3.5rem); max-width:1000px; margin:0 auto; align-items:start; }
.oi-info{ margin:0; }
.oi-info dt{ font-family:var(--wp--preset--font-family--body); text-transform:uppercase; letter-spacing:.18em; font-size:.7rem; font-weight:700; color:var(--wp--preset--color--oxblood); margin:1.4rem 0 .3rem; }
.oi-info dt:first-child{ margin-top:0; }
.oi-info dd{ margin:0; font-size:1.02rem; color:var(--wp--preset--color--ink); }
.oi-map{ aspect-ratio:16/11; border-radius:6px; border:1px solid var(--wp--preset--color--cream); background:var(--wp--preset--color--cream); display:grid; place-items:center; color:var(--wp--preset--color--muted); font-size:.85rem; letter-spacing:.04em; }
.oi-form{ display:grid; gap:.9rem; }
.oi-form label{ display:grid; gap:.35rem; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--wp--preset--color--muted); }
.oi-form input, .oi-form textarea{ font:inherit; padding:.75em .85em; border:1px solid var(--wp--preset--color--cream); border-radius:4px; background:#fff; color:var(--wp--preset--color--ink); }
.oi-form input:focus, .oi-form textarea:focus{ outline:2px solid var(--wp--preset--color--gold); outline-offset:1px; }
.oi-form button{ justify-self:start; background:var(--wp--preset--color--olive); color:var(--wp--preset--color--paper); border:0; border-radius:3px; padding:.85em 1.7em; font-weight:700; text-transform:uppercase; letter-spacing:.11em; font-size:.8rem; cursor:pointer; }

/* ── mobile refinements ── */
@media (max-width:781px){
  /* contact: stack info above the form instead of cramped 2-up */
  .oi-contact-grid{ grid-template-columns:1fr; gap:clamp(2rem,6vw,2.75rem); }
}
@media (max-width:500px){
  /* comfortable full-width, easy-to-tap buttons on phones */
  .wp-block-buttons:not(.oi-header-cta) .wp-block-button{ width:100%; }
  .wp-block-buttons:not(.oi-header-cta) .wp-block-button__link{ display:block; text-align:center; }
}

/* ---- placeholder note ---- */
.oi-note{ text-align:center; font-size:.78rem; font-style:italic; color:var(--wp--preset--color--muted); margin:1.8rem 0 0; }
