

/* Global */

* {
	box-sizing: border-box !important;
}

section {
	position: relative;
}

/* Typography */

body {
	font-family: 'League Spartan', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'League Spartan', sans-serif;
	font-weight: 700;
}

p {
	font-family: 'League Spartan', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 30px;
}

a {
	font-family: 'League Spartan', sans-serif;
}

button {
	font-family: 'League Spartan', sans-serif;
}

input {
	font-family: 'League Spartan', sans-serif;
}

select {
	font-family: 'League Spartan', sans-serif;
}

textarea {
	font-family: 'League Spartan', sans-serif;
}

option {
	font-family: 'League Spartan', sans-serif;
}

select option {
	font-family: 'League Spartan', sans-serif;
}

/* ============================================================
   BUTTONS
   ============================================================ */

/* Base */
/* ============================================================
   BUTTONS
   ============================================================ */

/* Base */
.button {
	font-family: var(--font-primary);
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	transition: all 300ms cubic-bezier(0.22, 1, 0.36, 1);
  
	/* Default md size */
	font-size: 0.75rem;
	padding: 0.5rem 2rem;
	border-radius: 4px;
  }
  
  /* ---- Sizes ---- */
  .button.large {
	font-size: 0.85rem;
	padding: 1rem 3rem;
  }
  
  .button.small {
	font-size: 0.65rem;
	padding: 0.25rem 1rem;
  }
  
  /* ---- Solid Variants ---- */
  .button.primary {
	background: var(--navy);
	color: var(--white);
  }
  .button.primary:hover {
	background: var(--navy-deep);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(27, 45, 79, 0.12);
  }
  
  .button.secondary, .button.secondary:visited {
	background: var(--red);
	color: var(--white);
  }
  .button.secondary:hover {
	background: var(--red-dark);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(27, 45, 79, 0.12);
  }
  
  .button.tertiary {
	background: var(--cream);
	color: var(--navy);
  }
  .button.tertiary:hover {
	background: var(--cream-dark);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(27, 45, 79, 0.12);
  }
  
  /* ---- Outline Variants ---- */
  .button.outline-navy {
	background: transparent;
	color: var(--navy);
	border: 2px solid var(--navy);
  }
  .button.outline-navy:hover {
	background: var(--navy);
	color: var(--white);
  }
  
  .button.outline-red {
	background: transparent;
	color: var(--red);
	border: 2px solid var(--red);
  }
  .button.outline-red:hover {
	background: var(--red);
	color: var(--white);
  }
  
  .button.outline-white {
	background: transparent;
	color: var(--white);
	border: 2px solid var(--white);
  }
  .button.outline-white:hover {
	background: var(--white);
	color: var(--navy);
  }
  
  /* ---- Table Display Utilities ---- */
  .d-table {
	display: table;
  }
  
  .d-table-center {
	display: table;
	margin-left: auto;
	margin-right: auto;
  }
  
/* Header */

.ashers-header {
	position: fixed;
	top: 1.5rem;
	left: 0;
	right: 0;
	width: calc(100% - 3rem);
	margin: 0 auto;
	z-index: 9990;
	background-color: var(--cream);
	border-radius: 10px;
	-webkit-box-shadow: -1px 9px 18px 1px rgba(0,0,0,0.36);
	-moz-box-shadow: -1px 9px 18px 1px rgba(0,0,0,0.36);
	box-shadow: -1px 9px 18px 1px rgba(0,0,0,0.36);
}

.ashers-header__inner {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .75rem 1.25rem;
}

.ashers-header__menu {
	position: relative;
	width: 50px;
}

.ashers-header__logo {
	position: relative;
	width: 100%;
	max-width: 85px;
}

.ashers-header__logo a {
	position: relative;
}

.ashers-header__logo a img {
	position: relative;
	width: 100%;
	height: auto;
}

.ashers-header__socials {
	position: relative;
	width: 50px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.ashers-header__socials ul {
	position: relative;
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}

.ashers-header__socials li {
	position: relative;
}

.ashers-header__socials li a img {
	position: relative;
	width: 100%;
	max-width: 25px;
}

/* Mobile Menu */

/* CSS */
/* ============================================================
   MOBILE MENU — Fullscreen Overlay
   ============================================================ */

/* The UL itself is the fullscreen overlay (wp_nav_menu applies
   menu_class to the <ul>, so .nav-links IS the ul). */
   .nav-links {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	height: 100dvh; /* handles mobile browser chrome */

	background-color: var(--navy);
	z-index: 9980; /* sits beneath .header (9990) — hamburger stays clickable */

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px;
	padding: 8rem 2rem 4rem;
	margin: 0;
	list-style: none;
	border-radius: 0;
	box-shadow: none;

	/* Hidden state */
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	pointer-events: none;
	transition:
		opacity 400ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 400ms cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 400ms;
}

/* Red accent bar at top — brand flourish */


/* Open state */
.nav-links.open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	transition:
		opacity 400ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 400ms cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 0s;
}

/* Menu items — staggered entrance */
.nav-links li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;

	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 500ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.nav-links.open li {
	opacity: 1;
	transform: translateY(0);
}

/* Cascade — each link drops in behind the last */
.nav-links.open li:nth-child(1) { transition-delay: 150ms; }
.nav-links.open li:nth-child(2) { transition-delay: 220ms; }
.nav-links.open li:nth-child(3) { transition-delay: 290ms; }
.nav-links.open li:nth-child(4) { transition-delay: 360ms; }
.nav-links.open li:nth-child(5) { transition-delay: 430ms; }
.nav-links.open li:nth-child(6) { transition-delay: 500ms; }
.nav-links.open li:nth-child(7) { transition-delay: 570ms; }
.nav-links.open li:nth-child(8) { transition-delay: 640ms; }

/* Link styling */
.nav-links li a {
	display: inline-block;
	font-family: 'League Spartan', sans-serif;
	font-size: 48px;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	color: var(--cream);
	padding: 10px 24px;
	margin: 0;
	border: none;
	border-bottom: 2px solid transparent;
	transition: all 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.nav-links li a:hover,
.nav-links li a:focus {
	color: var(--white);
	border-bottom-color: var(--red);
	transform: translateY(-2px);
	filter: none;
}

.nav-links li:hover a {
	filter: none;
	border-bottom: 2px solid var(--red);
}

@media (max-width: 992px) {
	.nav-links li a {
		font-size: 38px;
	}
}

@media (max-width: 480px) {
	.nav-links {
		gap: 4px;
	}
	.nav-links li a {
		font-size: 32px;
		padding: 8px 16px;
	}
}

/* Lock body scroll while menu is open */
body.menu-open {
	overflow: hidden;
}

/* ============================================================
   HAMBURGER — unchanged, morphs to X
   ============================================================ */
   .hamburger {
	position: relative;
	display: block;
	cursor: pointer;
	z-index: 9999 !important; /* sits above .nav-links (9980) inside header's stacking context */
}

.line {
	width: 20px;
	height: 3px;
	margin: 5px 0;
	transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
	border-radius: 3px;
	background-color: var(--navy);
}

.line:first-child { width: 30px; }
.line:last-child  { width: 25px; }

.hamburger.open .line {
	background-color: var(--cream);
}

.hamburger.open .line:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
	width: 30px;
}

.hamburger.open .line:nth-child(2) {
	opacity: 0;
}

.hamburger.open .line:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
	width: 30px;
}

/* Promo Bar */

.promo-bar {
	position: relative;
	width: 100%;
	background-color: var(--red);
	color: var(--white);
	text-align: center;
	border-radius: 10px 10px 0px 0px;
}

.promo-bar p {
	position: relative;
	padding: 0px;
	margin: 0px;
	font-size: 12px;
	letter-spacing: 2px;
	font-weight: 700;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	margin-top: 2px;
	padding: 0;
}

.promo-bar__icon {
	position: relative;
	width: 100%;
	max-width: 12px;
	margin-top: -3px;
	margin-right: .75rem;
}

.promo-bar__divider {
	position: relative;
	height: 100%;
	width: 1px;
	background-color: rgba(255,255,255,0.20);
	margin: 0px 1rem;
}

/* Hero Slideshow */ 

.hero-slideshow {
	width: 100%;
	height: 100dvh;
	max-height: 850px;
}

.hero-slideshow__content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	z-index: 3;
	color: var(--white);
	text-align: center;
	margin-top: 4rem;
	padding: 0px 1rem;
}

.hero-slideshow__microheading__icon {
	position: relative;
	width: 100%;
	max-width: 20px;
	margin-right: .75rem;
	top: 5px;
}

.hero-slideshow__microheading {
	font-size: 12px;
	font-weight: 400;
	color: var(--white);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: 0px;
}

.hero-slideshow__title {
	font-size: 80px;
	font-weight: 800;
	color: var(--white);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: 0px 0px 1.5rem 0px;
}

@media screen and (max-width: 992px) {
	.hero-slideshow__title {
		font-size: 48px;
	}
}

.hero-slideshow__subtitle {
	font-size: 24px;
	font-weight: 400;
	color: var(--white);
}

.hero-slideshow__slides {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

@media screen and (max-width: 992px) {
	.hero-slideshow__buttons a:first-child {
		margin-bottom: 1rem;
	}
}

.hero-slideshow__slides::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 2;
}

.hero-slideshow__slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity var(--slideshow-transition-duration, 1000ms) ease-in-out;
}

.hero-slideshow__slide.is-active {
	opacity: 1;
}

.hero-slideshow__slide img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Menu Hours */

.menu-hours {
	padding: 4rem 0px;
}

.menu-hours__inner {
	position: relative;
	width: 100%;
	max-width: var(--site-max-width);
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	padding: 0px 2rem;
}

.menu-hours__header {
	position: relative;
	width: 100%;
	padding: 0px 2rem;
	text-align: center;
	margin-bottom: 1.5rem;
}

.menu-hours__header__content {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.menu-hours__header__title {
	font-size: 80px;
	font-weight: 800;
	color: var(--navy);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: 0px 0px 1rem 0px;
}

/* Menu Hours Sidebar */

.menu-hours__sidebar {
	position: relative;
	width: 100%;
	max-width: 300px;
}

.menu-hours__sidebar__inner {
	position: relative;
	width: 100%;

	background-color: var(--white);
	box-shadow: -1px 9px 18px 1px rgba(0, 0, 0, 0.36);
	border-radius: 10px;
}

.menu-hours__sidebar__title {
	font-size: 32px;
	font-weight: 800;
	color: var(--navy);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: 0px 0px 1.5rem 0px;
}

.menu-hours__sidebar__list {
	position: relative;
	width: 100%;
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}

.menu-hours__sidebar__item {
	position: relative;
	width: 100%;
	padding: 0px;
	margin: 0px 0px 2rem 0px;
}

.menu-hours__sidebar__item:last-child {
	margin-bottom: 0px;
}

.menu-hours__sidebar__list li:last-child .menu-hours__sidebar__item__happyhour__time {
	margin-bottom: 0px;
}

.menu-hours__sidebar__item__day {
	position: relative;
	display: block;
	font-size: 20px;
	font-weight: 600;
	color: var(--navy);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0px 0px .5rem 0px;
}

.menu-hours__sidebar__item__time {
	position: relative;
	display: block;
	font-size: 18px;
	font-weight: 400;
	color: var(--navy);
	margin: 0px 0px .75rem 0px;
}

.menu-hours__sidebar__item__happyhour {
	position: relative;
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--navy);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0px 0px .5rem 0px;
}

.menu-hours__sidebar__item__happyhour__time {
	position: relative;
	display: block;
	font-size: 14px;
	font-weight: 400;
	color: var(--navy);
	margin: 0px 0px 2rem 0px;
}

/* Restaurant hours row (flexible content) — horizontal strip */

.menu-hours--hours-strip {
	padding: 2.5rem 0px;
}

.menu-hours__inner--hours-only {
	justify-content: center;
}

.menu-hours__sidebar--horizontal {
	max-width: none;
	width: 100%;
	flex: 1 1 100%;
}

.menu-hours__sidebar--horizontal .menu-hours__sidebar__inner {
	max-width: var(--site-max-width);
	margin: 0 auto;
}

.menu-hours__sidebar--horizontal .menu-hours__sidebar__title {
	text-align: center;
}

.menu-hours__sidebar--horizontal .menu-hours__sidebar__list {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 2rem 2.5rem;
}

.menu-hours__sidebar--horizontal .menu-hours__sidebar__item {
	flex: 1 1 200px;
	max-width: 320px;
	margin: 0px;
	text-align: center;
}

.menu-hours__sidebar--horizontal .menu-hours__sidebar__item__happyhour__time {
	margin-bottom: 0px;
}

/* Menu Hours Main */

.menu-hours__main {
	position: relative;
	width: 100%;
	background-color: var(--white);
	box-shadow: -1px 9px 18px 1px rgba(0, 0, 0, 0.36);
	border-radius: 10px;
}

.menu-hours__main__tabs {
	position: relative;
	width: 100%;
}

.menu-hours__main__tabs__list {
	position: relative;
	width: 100%;
	list-style-type: none;
	padding: 0px;
	margin: 0px;
	display: flex;
}

.menu-hours__main__tabs__item {
	position: relative;
	width: 50%;
	text-align: center;
}

.menu-hours__main__tabs__item:first-child {
	border-radius: 10px 0px 0px 0px;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.menu-hours__main__tabs__item:last-child {
	border-radius: 0px 10px 0px 0px;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.menu-hours__main__tabs__item.active {
	background-color: var(--cream);
}

button.menu-hours__main__tabs__btn {
    background: none;
    outline: none;
    border: none;
    position: relative;
    width: 100%;
    height: 100%;
	padding: 1rem 2rem;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--navy);
	margin-top: 2px;
}

.menu-hours__main__content {
	position: relative;
	width: 100%;
	padding: 0px;
	margin: 0px;
	border-left: 1px solid rgba(0, 0, 0, 0.1);
	border-right: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 0px 0px 10px 10px;
}

/* ============================================================
       TAGLINE BAR
    ============================================================ */
    .menu-tagline {
		background-color: var(--cream-dark);
		padding: 0.65rem 2.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1.5rem;
		border-top: 2px solid var(--navy);
		border-bottom: 2px solid var(--navy);
	  }
  
	  .menu-tagline span {
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.25em;
		text-transform: uppercase;
		color: var(--navy);
	  }
  
	  .menu-tagline .dot {
		width: 4px;
		height: 4px;
		background-color: var(--red);
		border-radius: 50%;
		display: inline-block;
		flex-shrink: 0;
	  }
  
	  /* ============================================================
		 MENU BODY — THREE-COLUMN GRID
	  ============================================================ */
	  .menu-body {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 0;
		padding: 2rem 1.5rem;
		background-color: var(--white);
	  }
  
	  .menu-col {
		padding: 0 1.25rem;
	  }
  
	  .menu-col + .menu-col {
		border-left: 1px solid var(--cream-dark);
	  }
  
	  /* ============================================================
		 SECTION
	  ============================================================ */
	  .menu-section {
		margin-bottom: 1.75rem;
	  }
  
	  /* ============================================================
		 SECTION HEADER
	  ============================================================ */
	  .section-header {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		margin-bottom: 0.75rem;
		padding-bottom: 0.5rem;
		border-bottom: 2px solid var(--navy);
		gap: 0.5rem;
	  }
  
	  .section-title {
		font-family: 'League Spartan', sans-serif;
		font-size: 1.5rem;
		font-weight: 800;
		color: var(--red);
		line-height: 1;
		letter-spacing: 2px;
		text-transform: uppercase;
	  }
  
	  .section-badge {
		font-size: 0.65rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--navy);
		line-height: 1.4;
		text-align: right;
		padding-bottom: 2px;
		white-space: nowrap;
	  }
  
	  .section-badge em {
		display: block;
		font-style: italic;
		font-weight: 400;
		font-size: 0.65rem;
		letter-spacing: 0.05em;
		text-transform: none;
	  }
  
	  /* ============================================================
		 SECTION INTRO / UPGRADE NOTE
	  ============================================================ */
	  .section-intro {
		font-size: 0.68rem;
		font-weight: 400;
		color: var(--navy);
		line-height: 1.5;
		margin-bottom: 0.85rem;
		padding-bottom: 0.65rem;
		border-bottom: 1px dashed var(--cream-dark);
	  }
  
	  .section-intro strong {
		font-weight: 700;
		font-style: italic;
	  }
  
	  .section-intro em {
		font-style: italic;
		color: var(--navy-light);
	  }
  
	  /* ============================================================
		 KIDS MENU INTRO
	  ============================================================ */
	  .kids-intro {
		font-size: 0.68rem;
		font-style: italic;
		font-weight: 400;
		color: var(--navy);
		line-height: 1.5;
		margin-bottom: 0.75rem;
	  }
  
	  /* ============================================================
		 MENU ITEMS
	  ============================================================ */
	  .menu-item {
		display: grid;
		grid-template-columns: 1fr auto;
		column-gap: 0.75rem;
		margin-bottom: 0.9rem;
	  }
  
	  .menu-item__info {
		grid-column: 1;
	  }
  
	  .menu-item__price {
		grid-column: 2;
		grid-row: 1;
		font-size: 0.85rem;
		font-weight: 700;
		color: var(--navy);
		text-align: right;
		white-space: nowrap;
		padding-top: 1px;
	  }
  
	  .menu-item__name {
		font-size: 0.75rem;
		font-weight: 800;
		color: var(--navy);
		text-transform: uppercase;
		letter-spacing: 0.06em;
		line-height: 1.25;
		margin-bottom: 0.2rem;
	  }
  
	  .menu-item__name .badge {
		font-size: 0.65rem;
		font-weight: 700;
		color: var(--red);
		margin-left: 0.2rem;
	  }
  
	  .menu-item__desc {
		font-size: 0.68rem;
		font-weight: 400;
		color: #4a5568;
		line-height: 1.45;
	  }
  
	  .menu-item__desc .add-on {
		font-style: italic;
		color: var(--navy-light);
	  }
  
	  /* ============================================================
		 ENTRÉES — dotted right-edge decoration
	  ============================================================ */
	  .entrees-title {
		font-family: 'League Spartan', sans-serif;
		font-size: 1rem;
		font-weight: 900;
		letter-spacing: 2px;
		color: var(--navy);
		text-transform: uppercase;
		line-height: 1;
	  }
  
	  .entrees-items {
		position: relative;
		padding-right: 1rem;
	  }
  
	  .entrees-items::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: 6px;
		height: 100%;
		background-image: repeating-linear-gradient(
		  to bottom,
		  var(--red) 0,
		  var(--red) 4px,
		  transparent 4px,
		  transparent 9px
		);
		border-radius: 2px;
	  }
  
	  /* ============================================================
		 FOOTER BAR
	  ============================================================ */
	  .menu-footer {
		background-color: var(--navy);
		padding: 0.85rem 2.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		border-radius: 0px 0px 10px 10px;
	  }
  
	  .menu-footer__key {
		display: flex;
		gap: 1.5rem;
		flex-wrap: wrap;
	  }
  
	  .menu-footer__key span {
		font-size: 0.68rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--cream);
	  }
  
	  .menu-footer__cta {
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--white);
		background-color: var(--red);
		padding: 0.5rem 1.5rem;
		border-radius: 4px;
		white-space: nowrap;
	  }
  
	  /* ============================================================
		 RESPONSIVE
	  ============================================================ */
	  @media (max-width: 900px) {
		.menu-body {
		  grid-template-columns: 1fr 1fr;
		}
		.menu-col:nth-child(3) {
		  grid-column: 1 / -1;
		  border-left: none;
		  border-top: 1px solid var(--cream-dark);
		  padding-top: 1.5rem;
		  margin-top: 0.5rem;
		}
	  }
  
	  @media (max-width: 600px) {
		.menu-body {
		  grid-template-columns: 1fr;
		  padding: 1.25rem 1rem;
		}
		.menu-col + .menu-col {
		  border-left: none;
		  border-top: 1px solid var(--cream-dark);
		  padding-top: 1.25rem;
		  margin-top: 0.5rem;
		}
		.menu-header__logo { font-size: 2.5rem; }
	  }

	  /* ============================================================
       BEER LIST — compact two-column price list
    ============================================================ */
    .beer-list {
		list-style: none;
		margin: 0;
		padding: 0;
	  }
  
	  .beer-list li {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		margin-bottom: 0.35rem;
	  }
  
	  .beer-list__name {
		font-size: 0.75rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: var(--navy);
		padding-right: 0.5rem;
	  }
  
	  .beer-list__price {
		font-size: 0.85rem;
		font-weight: 700;
		color: var(--navy);
		flex-shrink: 0;
	  }
  
	  /* ============================================================
		 SPIRITS BLOCK
	  ============================================================ */
	  .spirits-block {
		margin-bottom: 0.6rem;
	  }
  
	  .spirits-block__category {
		font-size: 0.75rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: var(--navy);
		margin-bottom: 0.2rem;
	  }
  
	  .spirits-block__items {
		font-size: 0.68rem;
		font-weight: 400;
		color: #4a5568;
		line-height: 1.5;
	  }
  
	  /* ============================================================
		 HAPPY HOUR BLOCK
	  ============================================================ */
	  .happy-hour-box {
		background-color: var(--navy);
		border-radius: 6px;
		padding: 1rem 1.1rem 1.1rem;
		margin-bottom: 1.5rem;
	  }
  
	  .happy-hour-box__title {
		font-family: 'League Spartan', sans-serif;
		font-size: 1rem;
		font-weight: 900;
		letter-spacing: 2px;
		text-transform: uppercase;
		color: var(--white);
		text-align: center;
		margin-bottom: 0.2rem;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
	  }
  
	  .happy-hour-box__title::before,
	  .happy-hour-box__title::after {
		content: '';
		flex: 1;
		height: 2px;
		background: repeating-linear-gradient(
		  to right,
		  var(--red) 0,
		  var(--red) 4px,
		  transparent 4px,
		  transparent 8px
		);
	  }
  
	  .happy-hour-box__schedule {
		font-size: 0.68rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--cream);
		text-align: center;
		margin-bottom: 0.85rem;
		line-height: 1.6;
	  }
  
	  .happy-hour-box__schedule span {
		display: block;
		font-weight: 400;
		letter-spacing: 0.1em;
		font-style: italic;
		margin-top: 0.1rem;
	  }

	  .happy-hour-box__subtitle {
	  	color: var(--white);
	  	text-transform: uppercase;
	  	letter-spacing: 1px;
	  	font-weght: 800;
	  }
  
	  .happy-hour-list {
		list-style: none;
		margin: 0;
		padding: 0;
	  }
  
	  .happy-hour-list li {
		font-size: 0.68rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: var(--cream);
		padding: 0.35rem 0;
		border-bottom: 1px solid rgba(255,255,255,0.12);
		line-height: 1.3;
	  }
  
	  .happy-hour-list li:last-child {
		border-bottom: none;
	  }
  
	  /* ============================================================
		 WINE SECTION
	  ============================================================ */
	  .wine-category {
		font-size: 0.75rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: var(--navy);
		margin: 0.75rem 0 0.4rem;
		padding-bottom: 0.25rem;
		border-bottom: 1px solid var(--cream-dark);
	  }
  
	  .wine-item {
		display: grid;
		grid-template-columns: 1fr auto;
		column-gap: 0.6rem;
		margin-bottom: 0.4rem;
		align-items: baseline;
	  }
  
	  .wine-item__name {
		font-size: 0.75rem;
		font-weight: 700;
		color: var(--navy);
		line-height: 1.3;
	  }
  
	  .wine-item__origin {
		font-size: 0.68rem;
		font-weight: 400;
		font-style: italic;
		color: #4a5568;
		display: block;
	  }
  
	  .wine-item__price {
		font-size: 0.85rem;
		font-weight: 700;
		color: var(--navy);
		text-align: right;
		white-space: nowrap;
	  }
  
	  /* Victory pours — slightly larger price treatment */
	  .wine-item--victory .wine-item__price {
		color: var(--red);
	  }
  
	  /* ============================================================
		 THC ITEMS — same as menu-item but slightly different desc
	  ============================================================ */
	  .thc-item {
		display: grid;
		grid-template-columns: 1fr auto;
		column-gap: 0.75rem;
		margin-bottom: 0.6rem;
	  }
  
	  .thc-item__name {
		font-size: 0.75rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: var(--navy);
		margin-bottom: 0.12rem;
	  }
  
	  .thc-item__flavors {
		font-size: 0.68rem;
		font-style: italic;
		color: #4a5568;
	  }
  
	  .thc-item__price {
		font-size: 0.85rem;
		font-weight: 700;
		color: var(--navy);
		text-align: right;
		white-space: nowrap;
	  }

	  /* ============================================================
		 COCKTAILS BOX
	  ============================================================ */
	  .cocktails-box {
		margin-bottom: 1.75rem;
	  }

	  .cocktails-box__title {
		font-family: 'League Spartan', sans-serif;
		font-size: 1.5rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 2px;
		color: var(--red);
		line-height: 1;
		margin-bottom: 1rem;
		padding-bottom: 0.5rem;
		border-bottom: 2px solid var(--navy);
	  }

	  /* ============================================================
		 SUBSECTION HEADERS (spirit categories within cocktails)
	  ============================================================ */
	  .subsection-header {
		margin-top: 1.25rem;
		margin-bottom: 0.6rem;
		padding-bottom: 0.35rem;
		border-bottom: 1px dashed var(--cream-dark);
	  }

	  .subsection-title {
		font-family: 'League Spartan', sans-serif;
		font-size: 0.85rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 2px;
		color: var(--navy);
		line-height: 1;
	  }

	  /* ============================================================
		 FLAVOR NOTES & BADGES (cocktails)
	  ============================================================ */
	  .flavor-note {
		font-size: 0.68rem;
		font-style: italic;
		font-weight: 400;
		color: var(--navy-light);
		display: block;
		margin-top: 0.15rem;
	  }

	  .fan-fav {
		font-family: 'League Spartan', sans-serif;
		font-size: 0.6rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 2px;
		color: var(--red);
		margin-left: 0.35rem;
	  }
  
	  /* ============================================================
		 FOOTER BAR
	  ============================================================ */
	  .menu-footer {
		background-color: var(--navy);
		padding: 0.85rem 2.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
	  }
  
	  .menu-footer__note {
		font-size: 0.68rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--cream);
	  }
  
	  .menu-footer__cta {
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--white);
		background-color: var(--red);
		padding: 0.5rem 1.5rem;
		border-radius: 4px;
		white-space: nowrap;
	  }
  
	  /* ============================================================
		 RESPONSIVE
	  ============================================================ */
	  @media (max-width: 900px) {
		.menu-body {
		  grid-template-columns: 1fr 1fr;
		}
		.menu-col:nth-child(3) {
		  grid-column: 1 / -1;
		  border-left: none;
		  border-top: 1px solid var(--cream-dark);
		  padding-top: 1.5rem;
		  margin-top: 0.5rem;
		}
	  }
  
	  @media (max-width: 600px) {
		.menu-body {
		  grid-template-columns: 1fr;
		  padding: 1.25rem 1rem;
		}
		.menu-col + .menu-col {
		  border-left: none;
		  border-top: 1px solid var(--cream-dark);
		  padding-top: 1.25rem;
		  margin-top: 0.5rem;
		}
		.menu-header__logo { font-size: 2.5rem; }
	  }

	   /* ============================================================
       HOURS BAR
       Copy everything below into ashers-styles.css
    ============================================================ */
    .hours-bar {
		background-color: var(--navy);
		width: 100%;
		border-top: 1px solid rgba(255, 255, 255, 0.06);
		border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	  }
   
	  .hours-bar__inner {
		max-width: var(--site-max-width);
		margin: 0 auto;
		padding: 2rem;
		display: flex;
		align-items: center;
		justify-content: center;
	  }
   
	  .hours-col {
		flex: 1;
		text-align: center;
		padding: 0 2rem;
	  }
   
	  .hours-col__label {
		font-family: 'League Spartan', sans-serif;
		font-size: 12px;
		font-weight: 800;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		color: var(--red-light);
		margin: 0 0 0.55rem;
	  }
   
	  .hours-col__times {
		font-family: 'League Spartan', sans-serif;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		color: var(--cream);
		line-height: 1.8;
		margin: 0;
	  }
   
	  .hours-col__note {
		font-family: 'League Spartan', sans-serif;
		font-size: 12px;
		font-weight: 400;
		font-style: italic;
		letter-spacing: 0.05em;
		color: var(--cream-dark);
		margin: 0.45rem 0 0;
		line-height: 1.5;
	  }
   
	  .hours-col__coming-soon {
		font-family: 'League Spartan', sans-serif;
		font-size: 14px;
		font-weight: 700;
		color: var(--cream);
		margin: 0;
		text-transform: uppercase;
		letter-spacing: 2px;
	  }
   
	  .hours-divider {
		width: 1px;
		height: 56px;
		background: rgba(255, 255, 255, 0.12);
		flex-shrink: 0;
	  }
   
	  @media (max-width: 900px) {
		.hours-bar__inner {
		  flex-wrap: wrap;
		  gap: 1.75rem 0;
		  padding: 2rem 1.5rem;
		}
   
		.hours-col {
		  flex: 0 0 50%;
		  padding: 0 1.5rem;
		}
   
		.hours-divider {
		  display: none;
		}
	  }
   
	  @media (max-width: 480px) {
		.hours-col {
		  flex: 0 0 100%;
		  padding: 0;
		}
   
		.hours-bar__inner {
		  gap: 1.5rem;
		}
	  }

	  /* ============================================================
   GALLERY SECTION
   ============================================================ */
.gallery-section {
	background-color: var(--cream);
  }

  .gallery-section__inner {
	position: relative;
	width: 100%;
	max-width: var(--site-max-width);
	margin: 0 auto;
	padding: 4rem 2rem;
  }
   
  .gallery-section__header {
	text-align: center;
	margin-bottom: 2.5rem;
  }
   
  .gallery-section__title {
	font-size: 80px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--navy);
	line-height: 1;
	margin: 0px 0px 1.5rem 0px;
  }
   
  /* ============================================================
	 GRID
	 ============================================================ */
  .gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1rem;
  }
   
  .gallery-grid__item {
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	overflow: hidden;
	cursor: pointer;
	background-color: var(--cream-dark);
  }
   
  .gallery-grid__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
				filter 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
   
  .gallery-grid__item::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(15, 30, 54, 0.55) 0%, transparent 50%);
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
  }
   
  .gallery-grid__item:hover img {
	transform: scale(1.06);
  }
   
  .gallery-grid__item:hover::after {
	opacity: 1;
  }
   
  /* ============================================================
	 LIGHTBOX OVERLAY
	 ============================================================ */
  .lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(15, 30, 54, 0.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
  }
   
  .lightbox.is-open {
	opacity: 1;
	visibility: visible;
  }
   
  /* Image container */
  .lightbox__image-wrap {
	position: relative;
	max-width: 90vw;
	max-height: 85vh;
	display: flex;
	align-items: center;
	justify-content: center;
  }
   
  .lightbox__image-wrap img {
	max-width: 90vw;
	max-height: 85vh;
	object-fit: contain;
	border-radius: 6px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	opacity: 0;
	transform: scale(0.96) translateY(8px);
	transition: opacity 0.3s ease 0.05s, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.05s;
  }
   
  .lightbox.is-open .lightbox__image-wrap img {
	opacity: 1;
	transform: scale(1) translateY(0);
  }
   
  /* Counter */
  .lightbox__counter {
	position: absolute;
	bottom: 1.5rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--cream);
	opacity: 0.7;
  }
   
  /* ============================================================
	 LIGHTBOX CONTROLS
	 ============================================================ */
   
  /* Shared button base */
  .lightbox__btn {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--cream);
	transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 2;
	-webkit-tap-highlight-color: transparent;
  }
   
  /* Close */
  .lightbox__close {
	top: 1.25rem;
	right: 1.5rem;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(27, 45, 79, 0.5);
  }
   
  .lightbox__close:hover {
	background: var(--red);
	transform: rotate(90deg);
  }
   
  .lightbox__close svg {
	width: 22px;
	height: 22px;
  }
   
  /* Prev / Next */
  .lightbox__prev,
  .lightbox__next {
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgba(27, 45, 79, 0.45);
  }
   
  .lightbox__prev { left: 1.25rem; }
  .lightbox__next { right: 1.25rem; }
   
  .lightbox__prev:hover,
  .lightbox__next:hover {
	background: var(--red);
	transform: translateY(-50%) scale(1.08);
  }
   
  .lightbox__prev svg,
  .lightbox__next svg {
	width: 24px;
	height: 24px;
  }
   
  /* ============================================================
	 RESPONSIVE
	 ============================================================ */
  @media (max-width: 768px) {
	.gallery-section { padding: 3rem 1rem; }
	.gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
	.gallery-grid__item { border-radius: 4px; }
   
	.lightbox__prev,
	.lightbox__next {
	  width: 42px;
	  height: 42px;
	}
	.lightbox__prev { left: 0.5rem; }
	.lightbox__next { right: 0.5rem; }
	.lightbox__close { top: 0.75rem; right: 0.75rem; width: 40px; height: 40px; }
  }
   
  @media (max-width: 480px) {
	.gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 0.4rem; }
	.gallery-grid__item { aspect-ratio: 1; }
  }

  /* ============================================================
   FC: TEXT + IMAGE BANNER
   Flexible content layout — fc-text-image-banner.php
   ============================================================ */

/* ---- Base ---- */
.fc-banner {
	width: 100%;
	position: relative;
	/* padding: 4rem 0px; */
}


/* ============================================================
   SPLIT LAYOUT — image_left / image_right
   ============================================================ */
.fc-banner--split .fc-banner__inner {
	/* max-width: var(--site-max-width); */
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 520px;
	/* padding: 0px 2rem; */
}

/* Image panel */
.fc-banner--split .fc-banner__image {
	position: relative;
	overflow: hidden;
	background-color: var(--cream-dark);

	/* border-radius: 10px;
	box-shadow: -1px 9px 18px 1px rgba(0, 0, 0, 0.36); */
}

.fc-banner--split .fc-banner__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Text panel */
.fc-banner--split .fc-banner__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 4rem 5rem;
}

/* Image right — swap column order */
.fc-banner--image-right .fc-banner__inner {
	direction: rtl;
}

.fc-banner--image-right .fc-banner__text {
	direction: ltr;
}


/* ============================================================
   BACKGROUND IMAGE LAYOUT — image_background
   ============================================================ */
.fc-banner--bg-image {
	background-image: var(--fc-banner-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 600px;
	display: flex;
	align-items: center;
}

.fc-banner__overlay {
	display: none;
}

.fc-banner--bg-image .fc-banner__overlay {
	display: block;
	position: absolute;
	inset: 0;
	background-color: rgba(15, 30, 54, 0.72); /* --navy-deep at 72% */
	z-index: 1;
}

.fc-banner__bg-content {
	position: relative;
	z-index: 2;
	max-width: var(--site-max-width);
	width: 100%;
	margin: 0 auto;
	padding: 5rem;
	max-width: 760px;
	text-align: center;
}


/* ============================================================
   TYPOGRAPHY — shared
   ============================================================ */
.fc-banner__eyebrow {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--red);
	margin: 0 0 1rem;
	display: block;
}

.fc-banner__eyebrow--light {
	color: var(--red-light);
}

.fc-banner__heading {
	font-size: 48px;
	font-weight: 900;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--navy);
	line-height: 1;
	margin: 0px;
}

.fc-banner__heading--light {
	color: var(--white);
}

.fc-banner__body {
	font-size: 16px;
	font-weight: 400;
	color: var(--navy-light);
	line-height: 1.7;
	margin: 0 0 2rem;
}

.fc-banner__body--light {
	color: var(--cream);
}

/* Normalize wysiwyg output inside body */
.fc-banner__body p         { margin-bottom: 0.85rem; }
.fc-banner__body p:last-child { margin-bottom: 0; }
.fc-banner__body strong    { font-weight: 700; }
.fc-banner__body a         { color: var(--red); text-underline-offset: 3px; }


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {

	/* Split layouts stack vertically */
	.fc-banner--split .fc-banner__inner {
		grid-template-columns: 1fr;
		min-height: unset;
	}

	.fc-banner--split .fc-banner__image {
		min-height: 320px;
	}

	/* Reset direction so image always shows above text on mobile */
	.fc-banner--image-right .fc-banner__inner {
		direction: ltr;
	}

	.fc-banner--split .fc-banner__text {
		padding: 3rem 2rem;
	}

	.fc-banner__heading {
		font-size: 36px;
	}

	/* Background image */
	.fc-banner--bg-image {
		min-height: 480px;
	}

	.fc-banner__bg-content {
		padding: 4rem 2rem;
	}
}

@media (max-width: 480px) {

	.fc-banner__heading {
		font-size: 28px;
	}

	.fc-banner--split .fc-banner__text {
		padding: 2.5rem 1.5rem;
	}

	.fc-banner--bg-image {
		min-height: 400px;
	}

	.fc-banner__bg-content {
		padding: 3rem 1.5rem;
	}
}

/* BIG TEXT BANNER */

.text-banner {
    background-color: var(--cream);
    width: 100%;
  }
 
  .text-banner__inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 4rem 2rem;
    text-align: center;
  }
 
  .text-banner__title {
	font-size: 42px;
	line-height: 48px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--red);
	margin: .5rem 0px 1rem 0px;
  }
  .text-banner__eyebrow {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--red);
    margin: 0 0 1.5rem;
    display: block;
  }
 
  .text-banner__body {
    font-size: 24px;
    font-weight: 400;
    color: var(--navy);
    margin: 0 auto;
	line-height: 30px;
  }
 
  .text-banner__body strong {
    font-weight: 700;
    color: var(--red);
  }
 
  .text-banner__tagline {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--red-light);
    margin: 2rem 0 0;
  }
 
  @media (max-width: 900px) {
    .text-banner__inner {
      padding: 4rem 2rem;
    }
    .text-banner__body {
      font-size: 22px;
    }
    .text-banner__tagline {
      font-size: 17px;
    }
  }
 
  @media (max-width: 480px) {
    .text-banner__inner {
      padding: 3rem 1.5rem;
    }
    .text-banner__body {
      font-size: 18px;
    }
    .text-banner__tagline {
      font-size: 15px;
    }
  }

  /* PAGE HEADER */

  .page-header {
	padding: 4rem 0px;
	height: 500px;
	width: 100%;
  }

  .page-header::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 5;
	background-color: rgba(0, 0, 0, 0.5);
  }

  .page-header__inner {
	position: absolute;
	width: 100%;
	max-width: var(--site-max-width);
	margin: 0 auto;
	padding: 0px 2rem;
	top: 50%;
	left: 0;
	right: 0;
	z-index: 10;
  }

  .page-header__title {
	position: relative;
	font-size: 48px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--white);
	margin: 0px;
	text-align: center;
  }

  .page-header__description {
	position: relative;
	font-size: 16px;
	font-weight: 400;
	color: var(--white);
	margin: 0px;
	text-align: center;
  }

  .page-header__inner .button.download-menu {
	display: table;
	margin: 0 auto;
  }

  .page-header__image {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
  }

  .page-header__image__inner {
	position: relative;
	width: 100%;
	height: 100%;
  }

  .page-header__image__inner img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
  }


  /* About Page */

  /* ============================================================
       IMAGE PLACEHOLDERS — replace in production
    ============================================================ */
    .img-placeholder {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: var(--navy-light);
	  }
	  .img-placeholder span {
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: rgba(255,255,255,0.35);
	  }
   
   
	  /* ============================================================
		 EDITORIAL SECTION — full-width text-heavy layout
	  ============================================================ */
	  .editorial {
		background-color: var(--cream-light);
		width: 100%;
	  }
   
	  .editorial--cream { background-color: var(--cream); }
   
	  .editorial__inner {
		max-width: var(--site-max-width);
		margin: 0 auto;
		padding: 5rem;
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: 5rem;
		align-items: start;
	  }
   
	  .editorial__header {}
   
	  .editorial__heading {
		font-size: 44px;
		font-weight: 900;
		letter-spacing: -0.01em;
		text-transform: uppercase;
		color: var(--navy);
		line-height: 1;
		margin: 0;
		position: sticky;
		top: 2rem;
	  }
   
	  .editorial__heading em {
		font-style: normal;
		color: var(--red);
		display: block;
	  }
   
	  .editorial__body {}
   
	  .editorial__body p {
		font-size: 18px;
		font-weight: 400;
		color: var(--navy-light);
		line-height: 1.75;
		margin: 0 0 1.25rem;
	  }
   
	  .editorial__body p:last-child { margin-bottom: 0; }
   
	  .editorial__signature {
		font-size: 16px;
		font-weight: 400;
		font-style: italic;
		color: var(--navy-light);
		margin: 2rem 0 0;
		padding-top: 1.5rem;
		border-top: 1px solid var(--cream-dark);
	  }
   
   
   
   
	  /* ============================================================
		 EDITORIAL IMAGE BLOCK — inline image within editorial body
	  ============================================================ */
	  .editorial__image {
		position: relative;
		overflow: hidden;
		border-radius: 6px;
		min-height: 320px;
		background-color: var(--navy-light);
		margin: 2rem 0;
	  }
   
	  .editorial__image img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	  }
   
	  .editorial__image--tall {
		min-height: 420px;
	  }
   
   
	  /* ============================================================
		 IMAGE GALLERY — side-by-side images within editorial body
	  ============================================================ */
	  .editorial__gallery {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.25rem;
		margin: 2rem 0;
	  }
   
	  .editorial__gallery-item {
		position: relative;
		overflow: hidden;
		border-radius: 6px;
		min-height: 240px;
		background-color: var(--navy-light);
	  }
   
	  .editorial__gallery-item img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	  }
   
   
	  /* ============================================================
		 FULL-WIDTH IMAGE DIVIDER between sections
	  ============================================================ */
	  .image-divider {
		width: 100%;
		position: relative;
		min-height: 360px;
		background-color: var(--navy-light);
		overflow: hidden;
	  }
   
	  .image-divider img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	  }
   
   
	  /* ============================================================
		 SECTION DIVIDER
	  ============================================================ */
	  .section-divider {
		width: 100%;
		height: 1px;
		background-color: var(--cream-dark);
	  }
   
   
	  /* ============================================================
		 RESPONSIVE
	  ============================================================ */
	  @media (max-width: 900px) {
		.editorial__inner {
		  grid-template-columns: 1fr;
		  padding: 3rem 2rem;
		  gap: 2.5rem;
		}
		.editorial__heading {
		  font-size: 34px;
		  position: static;
		}
		.editorial__image { min-height: 240px; }
		.editorial__image--tall { min-height: 300px; }
		.image-divider { min-height: 260px; }
	  }
   
	  @media (max-width: 480px) {
		.editorial__heading { font-size: 28px; }
		.editorial__inner { padding: 2.5rem 1.5rem; }
		.editorial__gallery {
		  grid-template-columns: 1fr;
		}
		.editorial__gallery-item { min-height: 200px; }
		.image-divider { min-height: 200px; }
	  }
   

/* ============================================================
   SITE FOOTER — MAIN
   ============================================================ */
   .site-footer {
    position: relative;
    background-color: var(--navy-deep);
    color: var(--cream);
}

.site-footer__inner {
    position: relative;
    width: 100%;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding: 4rem 2rem 3rem;
}

/* ---- Brand lockup ---- */
.site-footer__brand {
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__logo {
    display: inline-block;
    text-decoration: none;
}

.site-footer__logo-img {
    width: 100%;
    max-width: 180px;
    height: auto;
    display: block;
}

/* ---- 3-column grid ---- */
.site-footer__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
}

.site-footer__col {
    display: flex;
    flex-direction: column;
}

/* ---- Column titles ---- */
.site-footer__col-title {
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: var(--white);
    margin: 0 0 1.25rem 0;
    padding-bottom: 0.65rem;
    border-bottom: 2px solid var(--red);
    align-self: flex-start;
}

/* ---- Address ---- */
.site-footer__address {
    font-style: normal;
}

.site-footer__address a {
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--cream);
    text-decoration: none;
    line-height: 1.7;
    transition: color 300ms ease;
}

.site-footer__address a:hover {
    color: var(--white);
}

/* ---- Hours list ---- */
.site-footer__hours-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__hours-list li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--cream);
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__hours-list li:last-child {
    border-bottom: none;
}

.site-footer__hours-list li span:first-child {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.72rem;
}

/* ---- Contact column ---- */
.site-footer__phone {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--white);
    text-decoration: none;
    letter-spacing: 0.03em;
    margin-bottom: 1.5rem;
    transition: color 300ms ease;
    display: inline-block;
    align-self: flex-start;
}

.site-footer__phone:hover {
    color: var(--red-light);
}

.site-footer__cta {
    align-self: flex-start;
}

/* ============================================================
   BOTTOM BAR
   ============================================================ */
.site-footer__bottom {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-footer__bottom::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--red);
}

.site-footer__copy {
    font-size: 0.68rem;
    font-weight: 400;
    color: rgba(243, 232, 210, 0.5);
    letter-spacing: 0.04em;
    margin: 0;
}

.site-footer__socials {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1rem;
}

.site-footer__socials li a {
    color: var(--cream);
    transition: color 300ms ease, transform 300ms ease;
    display: block;
}

.site-footer__socials li a:hover {
    color: var(--white);
    transform: translateY(-2px);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    .site-footer__inner {
        padding: 3rem 1.5rem 2rem;
    }

    .site-footer__brand {
        margin-bottom: 2rem;
        padding-bottom: 1.75rem;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .site-footer__bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
        padding: 1.25rem 1.5rem;
    }
}

/* Feature Cards */

.feature-cards {
    padding: 4rem 0px;
    background-color: var(--cream-light);
}

.feature-cards__inner {
    position: relative;
    width: 100%;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding: 0px 2rem;
}

.feature-cards__grid {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.feature-card {
    position: relative;
    background-color: var(--white);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.feature-card__image {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--cream-dark);
}

.feature-card__image img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.feature-card__image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: var(--red);
}

.feature-card__content {
    position: relative;
    padding: 2rem 2rem 2.25rem 2rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.feature-card__kicker {
    position: relative;
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--red);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0px 0px 1rem 0px;
}

.feature-card__title {
    position: relative;
    font-size: 26px;
    font-weight: 800;
    color: var(--navy);
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.15;
    margin: 0px 0px 1rem 0px;
}

.feature-card__body {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    color: var(--navy);
    line-height: 1.55;
    margin: 0px 0px 1.75rem 0px;
}

.feature-card__cta {
    position: relative;
    align-self: flex-start;
    margin-top: auto;
}

/* Responsive */

@media (max-width: 900px) {
    .feature-cards__grid {
        grid-template-columns: 1fr 1fr;
    }

    .feature-cards__grid .feature-card:nth-child(3) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .feature-cards__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .feature-cards__grid .feature-card:nth-child(3) {
        grid-column: auto;
    }
}

/* ==========================================================================
   Text Page Template
   ========================================================================== */

 .page-id-201 {
 	background-color: var(--cream);
 }

.textpage {
	padding: 200px 24px 80px;
	color: var(--navy);
}

.textpage__inner {
	max-width: 720px;
	margin: 0 auto;
}

.textpage__title {
	font-size: 48px;
	line-height: 1.1;
	margin: 0 0 32px;
}

/* --------------------------------------------------------------------------
   WYSIWYG body — handles anything the classic editor outputs
   -------------------------------------------------------------------------- */

.textpage__body {
	font-size: 18px;
	line-height: 1.6;
}

/* Vertical rhythm: consistent bottom spacing, no trailing space */
.textpage__body > * {
	margin-top: 0;
	margin-bottom: 24px;
}

.textpage__body > *:last-child {
	margin-bottom: 0;
}

/* Headings get extra breathing room above, tighter below */
.textpage__body h2,
.textpage__body h3,
.textpage__body h4,
.textpage__body h5,
.textpage__body h6 {
	margin-bottom: 16px;
}

.textpage__body h2 {
	font-size: 32px;
	line-height: 1.2;
	margin-top: 48px;
}

.textpage__body h3 {
	font-size: 24px;
	line-height: 1.3;
	margin-top: 40px;
}

.textpage__body h4 {
	font-size: 20px;
	line-height: 1.4;
	margin-top: 32px;
}

.textpage__body h5,
.textpage__body h6 {
	font-size: 18px;
	line-height: 1.4;
	margin-top: 32px;
}

/* First heading in the body shouldn't push down */
.textpage__body > h2:first-child,
.textpage__body > h3:first-child,
.textpage__body > h4:first-child {
	margin-top: 0;
}

/* Links */
.textpage__body a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.textpage__body a:hover {
	text-decoration: none;
}

/* Lists */
.textpage__body ul,
.textpage__body ol {
	padding-left: 24px;
}

.textpage__body li {
	margin-bottom: 8px;
}

.textpage__body li:last-child {
	margin-bottom: 0;
}

/* Images */
.textpage__body img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 32px auto;
}

/* Figure / caption */
.textpage__body figure {
	margin: 32px 0;
}

.textpage__body figcaption {
	font-size: 14px;
	text-align: center;
	margin-top: 8px;
	opacity: 0.7;
}

/* WordPress alignment classes */
.textpage__body .alignleft {
	float: left;
	margin: 8px 24px 16px 0;
	max-width: 50%;
}

.textpage__body .alignright {
	float: right;
	margin: 8px 0 16px 24px;
	max-width: 50%;
}

.textpage__body .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.textpage__body .alignleft + *,
.textpage__body .alignright + * {
	clear: none;
}

/* Blockquote */
.textpage__body blockquote {
	border-left: 2px solid currentColor;
	padding-left: 24px;
	margin: 32px 0;
	font-style: italic;
}

/* Horizontal rule */
.textpage__body hr {
	border: 0;
	border-top: 1px solid currentColor;
	opacity: 0.2;
	margin: 48px 0;
}

/* Tables */
.textpage__body table {
	width: 100%;
	border-collapse: collapse;
}

.textpage__body th,
.textpage__body td {
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid currentColor;
}

.textpage__body th {
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 640px) {
	.textpage {
		padding: 200px 20px 48px;
	}

	.textpage__title {
		font-size: 36px;
		margin-bottom: 24px;
	}

	.textpage__body {
		font-size: 16px;
	}

	.textpage__body h2 {
		font-size: 26px;
		margin-top: 36px;
	}

	.textpage__body h3 {
		font-size: 22px;
		margin-top: 32px;
	}

	.textpage__body .alignleft,
	.textpage__body .alignright {
		float: none;
		max-width: 100%;
		margin: 24px auto;
	}
}