/* ═══════════════════════════════════════════════════════════════
   HEADER — 2-Row Layout  (CORRECTED v2)
   Row 1: Dark top info bar
   Row 2: Gold main nav bar with DARK dropdown menus
═══════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════
   ROW 1 — TOP INFO BAR
════════════════════════════════════════════ */
.topbar-strip {
  background: #1e0e18;
  color: rgba(255,255,255,.82);
  font-size: .78rem;
  position: fixed;
  top: 0; left: 0; width: 100%;
  z-index: 1001;
  height: 36px;
  display: flex;
  align-items: center;
  transition: transform .3s ease;
}

.topbar-strip.hide { transform: translateY(-100%); }

.topbar-strip-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.topbar-left  { display: flex; align-items: center; gap: .75rem; }
.topbar-right { display: flex; align-items: center; gap: .55rem; }

.topbar-item {
  display: flex; align-items: center; gap: .38rem;
  color: rgba(255,255,255,.8); text-decoration: none;
  font-size: .77rem; white-space: nowrap;
  transition: color .15s;
}
.topbar-item:hover { color: #F5A623; }
.topbar-item strong { color: #fff; font-weight: 600; }
.topbar-item svg { flex-shrink: 0; stroke: #F5A623; }

.topbar-divider { color: rgba(255,255,255,.2); font-size: .9rem; }

.topbar-social {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px;
  border-radius: 4px;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.75);
  text-decoration: none;
  transition: background .15s, color .15s;
}
.topbar-social:hover { background: #F5A623; color: #1C1410; }
.topbar-social svg { fill: currentColor; }

.topbar-search form {
  display: flex; align-items: center;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  height: 24px;
}
.topbar-search input {
  border: none; outline: none; background: transparent;
  padding: 0 .6rem; font-size: .76rem; color: #1C1410;
  width: 130px; font-family: inherit;
}
.topbar-search input::placeholder { color: #aaa; }
.topbar-search button {
  background: transparent; border: none;
  padding: 0 .5rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  height: 100%; color: #666; transition: color .15s;
}
.topbar-search button:hover { color: #7B1C4E; }
.topbar-search button svg { stroke: currentColor; fill: none; }

/* ════════════════════════════════════════════
   ROW 2 — MAIN GOLD HEADER
════════════════════════════════════════════ */
#site-header {
  position: fixed !important;
  top: 36px !important;
  left: 0; width: 100%;
  height: 68px !important;
  background: #F5A623 !important;
  z-index: 1000 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.15);
  border-bottom: none !important;
  backdrop-filter: none !important;
}

#site-header.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,.2); }

/* When user scrolls down, slide topbar up and move header to top */
body.topbar-hidden .topbar-strip { transform: translateY(-100%); }
body.topbar-hidden #site-header  { top: 0 !important; }

.main-header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: 1rem;
}

.header-logo { flex-shrink: 0; display: block; }
.header-logo img {
  height: 52px; width: auto; display: block;
}

/* ════════════════════════════════════════════
   DESKTOP NAV LIST
════════════════════════════════════════════ */
.main-nav { display: flex; align-items: stretch; height: 68px; }

.main-nav-list {
  display: flex; align-items: stretch;
  list-style: none; margin: 0; padding: 0; gap: 0; height: 100%;
}

.nav-item {
  position: relative;
  display: flex; align-items: stretch;
}

/* ── Nav link ── */
.nav-link {
  display: flex; align-items: center; gap: .28rem;
  padding: 0 .7rem;
  height: 68px;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  color: #2a1020;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: background .15s, border-color .15s;
  cursor: pointer;
}

.nav-link:hover,
.nav-link.active,
.nav-item.open > .nav-link {
  background: rgba(0,0,0,.1);
  border-bottom-color: #2a1020;
  color: #2a1020;
}

.nav-chevron {
  flex-shrink: 0;
  stroke: #2a1020;
  transition: transform .25s ease;
}
.nav-item:hover > .nav-link .nav-chevron,
.nav-item.open  > .nav-link .nav-chevron { transform: rotate(180deg); }

/* ════════════════════════════════════════════
   DROPDOWN MENU — DARK MAROON bg, NOT gold
════════════════════════════════════════════ */
.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  /* DARK background — NOT gold */
  background: #2a1020 !important;
  border-top: 3px solid #F5A623;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 10px 35px rgba(0,0,0,.3);
  list-style: none;
  padding: .5rem 0;
  margin: 0;
  /* Hidden state */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 9000 !important;
}

/* Show on hover OR .open class (click) */
.nav-item:hover > .dropdown,
.nav-item.open  > .dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.dropdown li { list-style: none; }

.dropdown-link {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem 1.3rem;
  font-size: .8rem;
  font-weight: 500;
  color: rgba(255,255,255,.82) !important;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background .15s, color .15s, padding-left .15s, border-color .15s;
  white-space: nowrap;
}

.dropdown-link::before {
  content: '›';
  font-size: 1rem;
  color: #F5A623;
  line-height: 1;
  flex-shrink: 0;
}

.dropdown-link:hover {
  background: rgba(245,166,35,.12);
  color: #F5A623 !important;
  padding-left: 1.6rem;
  border-left-color: #F5A623;
}

/* ════════════════════════════════════════════
   HAMBURGER
════════════════════════════════════════════ */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px; height: 40px;
  cursor: pointer;
  border: 2px solid rgba(0,0,0,.25);
  background: rgba(0,0,0,.1);
  padding: .4rem;
  border-radius: 6px;
  flex-shrink: 0;
}
.hamburger span {
  display: block; width: 20px; height: 2px;
  background: #2a1020; border-radius: 2px;
  transition: transform .25s, opacity .25s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ════════════════════════════════════════════
   MOBILE DRAWER — slides from LEFT
════════════════════════════════════════════ */
#mobile-nav {
  position: fixed;
  top: 0;
  left: -310px;           /* hidden off-left */
  width: 280px;
  max-width: 88vw;
  height: 100vh;
  background: #fff;
  z-index: 9999 !important;
  overflow-y: auto;
  box-shadow: 4px 0 40px rgba(0,0,0,.22);
  transition: left .28s ease;
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem;
}

#mobile-nav.open { left: 0 !important; }

/* Overlay */
#nav-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 9998 !important;
}
#nav-overlay.show { display: block; }

/* Mobile nav header */
#mobile-nav::before {
  content: 'MENU';
  display: block;
  background: #F5A623;
  color: #2a1020;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-align: center;
  padding: .85rem;
  position: sticky;
  top: 0;
  z-index: 1;
}

/* Plain links (no children) */
.mob-link {
  display: block;
  padding: .85rem 1.4rem;
  font-size: .87rem;
  font-weight: 600;
  color: #2E2A27;
  text-decoration: none;
  border-bottom: 1px solid #E2DDD8;
  transition: background .15s, color .15s;
}
.mob-link:hover, .mob-link.active {
  background: rgba(123,28,78,.06);
  color: #7B1C4E;
}

/* Group (has children) */
.mob-group { border-bottom: 1px solid #E2DDD8; }

.mob-parent {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: .85rem 1.4rem;
  font-size: .87rem; font-weight: 600;
  color: #2E2A27; background: none; border: none;
  cursor: pointer; text-align: left;
  transition: background .15s, color .15s;
}
.mob-parent:hover, .mob-parent.active {
  background: rgba(123,28,78,.06);
  color: #7B1C4E;
}

.mob-chevron {
  flex-shrink: 0;
  stroke: #7B1C4E;
  transition: transform .25s;
}
.mob-parent.expanded .mob-chevron { transform: rotate(180deg); }

.mob-children {
  display: none;
  background: rgba(123,28,78,.03);
  border-top: 1px solid #E2DDD8;
}
.mob-children.open { display: block; }

.mob-child {
  display: flex; align-items: center; gap: .4rem;
  padding: .65rem 1.4rem .65rem 2rem;
  font-size: .83rem; font-weight: 500;
  color: #6B6560; text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.04);
  transition: background .15s, color .15s;
}
.mob-child::before {
  content: '›'; color: #F5A623; font-size: 1rem; line-height: 1;
}
.mob-child:hover { background: rgba(123,28,78,.07); color: #7B1C4E; }

/* ════════════════════════════════════════════
   BODY / PAGE OFFSET
════════════════════════════════════════════ */
body  { padding-top: 104px !important; }   /* 36px topbar + 68px header */

/* Hero fills full viewport */
.hero {
  margin-top: -104px !important;
  padding-top: 104px !important;
  height: 100vh !important;
  min-height: 620px !important;
}

/* Inner page hero */
.page-hero {
  margin-top: 0 !important;
}

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .nav-link { padding: 0 .5rem; font-size: .69rem; }
}
@media (max-width: 1024px) {
  .main-nav  { display: none !important; }
  .hamburger { display: flex !important; }
}
@media (max-width: 600px) {
  /* Hide phone number on very small screens */
  .topbar-item:nth-child(3),
  .topbar-item:nth-child(4) { display: none; }
  .topbar-search input { width: 80px; }
}
@media (max-width: 420px) {
  .topbar-search { display: none; }
}
