/* Themify Customize Styling */
:root {	
	--theme_accent: #b5543b;
	--theme_accent_semi: #6b7a54;
	--theme_accent_hover: #33291f; 
}
a, .post-nav .arrow {	
	color: #b5543b; 
}
body,h1,h2,h3,h4,h5,h6 {	
	color: #33291f; 
}
h1 {	
	font-family: "DM Serif Display";	font-weight:400;
 
}
body #site-logo a img {		width: 100px; 
}
#footer-logo a img {		width: 150px; 
}
#footer {	
	color: #ffffff; 
}
#footer a:hover {	
	color: var(--theme_accent); 
}
#footer-nav a:hover, #footer-nav li:hover > a {	
	color: var(--theme_accent); 
}
#footer .footer-widgets .widgettitle {	
	color: var(--b9-sand);	text-transform:uppercase; 
}
@media(max-width: 1024px) { /* Themify Customize Styling */
body #site-logo a img {		width: 100px; 
}
#footer-logo a img {		width: 150px; 
}
 }@media(max-width: 768px) { /* Themify Customize Styling */
body #site-logo a img {		width: 100px; 
}
#footer-logo a img {		width: 150px; 
}
 }@media(max-width: 680px) { /* Themify Customize Styling */
body #site-logo a img {		width: 100px; 
}
#footer-logo a img {		width: 150px; 
}
 }
/* Themify Custom CSS */
/* ============================================================
   BISTRO 933 — site-wide custom CSS  (consolidated, single-source)
   Brand: Navy #133159 primary · Green #9FA949 accent · Red #A0423D occasional
   Neutrals cooled slightly to sit with navy.
   Each selector defined ONCE. No duplicate/override blocks.
   ============================================================ */

:root {
  /* brand core */
  --b9-navy:   #133159;   /* PRIMARY */
  --b9-navy-d: #0D2340;   /* navy hover / deeper */
  --b9-green:  #9FA949;   /* accent band + accents */
  --b9-green-d:#868F3C;   /* green hover */
  --b9-red:    #A0423D;   /* occasional emphasis only */

  /* neutrals */
  --b9-ink:    #1E2A38;   /* body text (navy-tinted charcoal) */
  --b9-linen:  #FBFAF7;   /* off-white base */
  --b9-sand:   #ECE7DC;   /* light tint band */
  --b9-stone:  #E4E6E8;   /* cool light gray (optional) */
  --b9-white:  #FFFFFF;
  --b9-muted:  #6E7681;   /* muted text (menu desc / notes) */

  /* role aliases — existing class names keep working */
  --b9-espresso: var(--b9-navy);
  --b9-brick:    var(--b9-navy);
  --b9-olive:    var(--b9-green);
  --espresso: var(--b9-navy);
  --brick:    var(--b9-navy);
  --olive:    var(--b9-green);
  --sand:     var(--b9-sand);
  --linen:    var(--b9-linen);
}

body { color: var(--b9-ink); }

/* ---------- Bands (backgrounds via class) */
.b9-band { padding: 70px 0; }
.b9-band-white    { background: var(--b9-white); }
.b9-band-linen    { background: var(--b9-linen); }
.b9-band-sand     { background: var(--b9-sand); }
/* In-Room CTA band — was green, now neutral */
.b9-band-olive { background: var(--b9-stone); }   /* or var(--b9-stone) */
.b9-band-espresso { background: var(--b9-navy); }    /* NAVY band */

/* Text on NAVY band = white */
.b9-band-espresso, .b9-band-espresso h2, .b9-band-espresso h3,
.b9-band-espresso p, .b9-band-espresso a { color: var(--b9-white); }

/* Text on GREEN band = navy (green is light; navy reads best) */
.b9-band-olive, .b9-band-olive h2, .b9-band-olive h3,
.b9-band-olive p, .b9-band-olive a { color: var(--b9-navy); }

/* ---------- Hero (homepage) */
.b9-hero {
  background: url('/wp-content/uploads/2026/07/Bistro933-hero.jpg') center/cover no-repeat;
  min-height: 78vh;
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.b9-hero::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(rgba(19,49,89,0.18), rgba(19,49,89,0.30));
}
.b9-hero-inner { position: relative; z-index: 1; text-align: center; }
.b9-hero-logo  { max-width: 340px; width: 60vw; height: auto; }

/* ---------- Interior page heroes (reusable, 50vh) */
.b9-page-hero {
  min-height: 50vh;
  display: flex; align-items: center; justify-content: center;
  position: relative; padding: 0 20px;
}
.b9-page-hero::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(rgba(19,49,89,0.30), rgba(19,49,89,0.46));
}
.b9-page-hero .b9-hero-inner {
  position: relative; z-index: 1; text-align: center;
  max-width: 820px; margin-left: auto; margin-right: auto;
}
.b9-page-hero h1 {
  color: var(--b9-linen); margin-bottom: .3em;
  text-shadow: 0 1px 4px rgba(19,49,89,.5);
}
.b9-page-hero .b9-lead {
  color: var(--b9-sand);
  text-shadow: 0 1px 4px rgba(19,49,89,.5);
}

/* ---------- Typography helpers */
.b9-center { text-align: center; max-width: 820px; margin: 0 auto; }
.b9-lead { font-size: 1.25em; font-style: italic; color: var(--b9-navy); }
.b9-band-olive .b9-lead { color: var(--b9-navy); }
.b9-band-espresso .b9-lead { color: var(--b9-sand); }
.b9-sub { font-size: 1.15em; letter-spacing: .02em; }
.b9-services { letter-spacing: .12em; text-transform: uppercase; font-size: .85em; }
.b9-tagline h1 { margin-bottom: .3em; }

/* ---------- Buttons (pill) */
.b9-btn {
  display: inline-block; padding: 13px 30px; margin: 6px 4px;
  background: var(--b9-navy); color: #fff !important;
  border: 2px solid var(--b9-navy); border-radius: 40px;
  text-transform: uppercase; letter-spacing: .08em; font-size: .82em;
  text-decoration: none; transition: all .2s ease;
}
.b9-btn:hover { background: var(--b9-navy-d); border-color: var(--b9-navy-d); }
.b9-btn-outline { background: transparent; color: var(--b9-navy) !important; }
.b9-btn-outline:hover { background: var(--b9-navy); color: #fff !important; }
/* light button — used on NAVY bands: white pill, navy text */
.b9-btn-light { background: #fff; border-color: #fff; color: var(--b9-navy) !important; }
.b9-btn-light:hover { background: var(--b9-sand); border-color: var(--b9-sand); }
/* on the GREEN band, buttons should be solid navy (not the light pill) */
.b9-band-olive .b9-btn-light {
  background: var(--b9-navy); border-color: var(--b9-navy); color: #fff !important;
}
.b9-band-olive .b9-btn-light:hover { background: var(--b9-navy-d); border-color: var(--b9-navy-d); }
/* red — occasional, opt-in only */
.b9-accent-red { color: var(--b9-red) !important; }
.b9-btn-red { background: var(--b9-red); border-color: var(--b9-red); color: #fff !important; }
.b9-btn-red:hover { background: #8A3833; border-color: #8A3833; }

/* ---------- Photos */
.b9-photo { width: 100%; height: auto; border-radius: 6px; display: block; }

/* ---------- Resto skin nav fix (light interior pages) */
#headerwrap .main-nav a,
#headerwrap #site-logo a,
#headerwrap .site-description {
  color: var(--b9-navy);
  -webkit-text-fill-color: var(--b9-navy);
}
#headerwrap .main-nav a:hover {
  color: var(--b9-green-d);
  -webkit-text-fill-color: var(--b9-green-d);
}
/* Homepage transparent hero: light nav over the photo */
.page-id-18 #headerwrap .main-nav a,
.page-id-18 #headerwrap #site-logo a,
.page-id-18 #headerwrap .site-description {
  color: var(--b9-linen);
  -webkit-text-fill-color: var(--b9-linen);
}
.page-id-18 #headerwrap .main-nav a:hover {
  color: var(--b9-sand);
  -webkit-text-fill-color: var(--b9-sand);
}

/* ---------- Visit strip */
.b9-visit a { text-decoration: none; }
.b9-visit p { margin-bottom: 1.1em; }

/* ---------- Hours strip */
.b9-band-strip { padding: 14px 0; }
.b9-hours-strip p { margin: 0; font-size: .88em; letter-spacing: .04em; }
.b9-hours-strip a { color: var(--b9-sand); text-decoration: none; }

/* ---------- On-page menu pattern */
.b9-menu { max-width: 760px; margin: 0 auto; }
.b9-menu h3 {
  margin: 1.8em 0 .8em; text-transform: uppercase;
  letter-spacing: .14em; font-size: 1em; color: var(--b9-navy);
  border-bottom: 1px solid var(--b9-green); padding-bottom: .4em;  /* green accent rule */
}
.b9-menu-item { margin-bottom: 1.1em; }
.b9-menu-name { font-weight: 600; color: var(--b9-navy); }
.b9-menu-price { float: right; font-weight: 600; color: var(--b9-navy); }
.b9-menu-desc { margin: .15em 0 0; font-size: .92em; color: var(--b9-muted); clear: both; }
.b9-menu-note { font-size: .8em; color: var(--b9-muted); font-style: italic; }
.b9-menu-nav .b9-btn { font-size: 1em; padding: 16px 42px; }

/* ---------- Team cards */
.b9-team-card { text-align: center; padding: 0 10px; }
.b9-team-card .b9-photo {
  border-radius: 50%; aspect-ratio: 1/1; object-fit: cover;
  max-width: 220px; margin: 0 auto 18px;
}
.b9-team-card h3 { margin-bottom: .15em; }
.b9-team-role {
  text-transform: uppercase; letter-spacing: .12em;
  font-size: .78em; color: var(--b9-green-d); margin-bottom: .8em;
}

/* ---------- OpenTable placeholder wrapper */
.b9-opentable {
  margin: 28px auto; padding: 34px 20px; max-width: 640px;
  border: 2px dashed var(--b9-sand); border-radius: 8px;
  color: var(--b9-muted); font-style: italic;
}

/* ---------- Image grids */
.b9-grid { display: grid; gap: 10px; }
.b9-grid img {
  width: 100%; height: 100%; object-fit: cover;
  display: block; border-radius: 6px; aspect-ratio: 1 / 1;
}
.b9-grid-5 { grid-template-columns: repeat(5, 1fr); }
.b9-grid-4 { grid-template-columns: repeat(4, 1fr); }
.b9-grid-3 { grid-template-columns: repeat(3, 1fr); }
.b9-grid-bleed { gap: 0; }
.b9-grid-bleed img { border-radius: 0; }

/* ---------- Footer (native/dark; keep credit in-palette) */
.b9-footer { padding: 54px 0 34px; }
.b9-foot-col { padding: 0 14px; }
.b9-foot-col h4 {
  text-transform: uppercase; letter-spacing: .12em;
  font-size: .82em; margin: 0 0 .9em; color: var(--b9-sand);
}
.b9-foot-col p { margin: 0 0 .8em; font-size: .92em; line-height: 1.6; }
.b9-foot-logo img { max-width: 150px; height: auto; }
.b9-foot-links { list-style: none; margin: 0; padding: 0; }
.b9-foot-links li { margin: 0 0 .5em; }
.b9-foot-links a, .b9-foot-col a { color: #fff; text-decoration: none; }
.b9-foot-links a:hover, .b9-foot-col a:hover { color: var(--b9-green); }
.b9-foot-social { margin-top: 1.2em; }
.b9-foot-social a {
  display: inline-block; margin-right: .8em; font-size: .82em;
  text-transform: uppercase; letter-spacing: .06em;
}
.b9-footer-credit { padding: 16px 0; border-top: 1px solid rgba(255,255,255,.12); }
.b9-foot-credit { text-align: center; margin: 0; font-size: .8em; color: var(--b9-sand); }

/* ---------- Homepage map row */
.b9-map-row .themify_map,
.b9-map-row iframe, .b9-map-row #b9-map {
  width: 100%; min-height: 420px; border: 0; border-radius: 6px;
}
.b9-map-row .b9-visit h2 { margin-top: 0; }

/* ---------- Map info window */
.b9-infowindow { font-family: inherit; color: var(--b9-navy); padding: 4px 6px; min-width: 200px; }
.b9-infowindow h3 {
  font-family: inherit; font-size: 1.1em; font-weight: 700; line-height: 1.2;
  margin: 0 0 .5em; color: var(--b9-navy);
}
.b9-infowindow p { margin: 0 0 .5em; font-size: .9em; line-height: 1.5; color: var(--b9-navy); }
.b9-infowindow a { color: var(--b9-navy); text-decoration: none; }
.b9-infowindow .b9-iw-directions {
  display: inline-block; margin-top: .3em; font-weight: 600;
  text-transform: uppercase; letter-spacing: .05em; font-size: .82em; color: var(--b9-green-d);
}

/* ---------- Mobile */
@media (max-width: 900px) {
  .b9-grid-5, .b9-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .b9-band { padding: 46px 0; }
  .b9-hero { min-height: 58vh; }
  .b9-page-hero { min-height: 40vh; }
  .b9-cta-group .b9-btn { display: block; max-width: 320px; margin: 8px auto; }
  .b9-foot-col { margin-bottom: 26px; text-align: center; }
  .b9-map-row .themify_map, .b9-map-row iframe, .b9-map-row #b9-map { min-height: 300px; }
}
@media (max-width: 560px) {
  .b9-grid-5, .b9-grid-4, .b9-grid-3 { grid-template-columns: repeat(2, 1fr); }
}

.page-id-18 #site-logo .site-logo-image { visibility: hidden; }
.page-id-18 #site-logo a {
  display: inline-block;
  width: 100px;
  height: 63px;
  background: url('/wp-content/uploads/2026/07/bistro933-logo.png') left center / contain no-repeat;
}