/* Shared site header and navigation only. */
.skip-link { position: absolute; z-index: 1000; left: 20px; top: -120px; padding: 12px 20px; background: #fff; color: #111; font-weight: 700; }
.skip-link:focus { top: 12px; }
.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 50; display: flex; align-items: center; gap: 24px; padding: 25px clamp(20px,5vw,72px); color: #fff; }
.brand { display: flex; align-items: center; flex-shrink: 0; }
.brand-text { font-family: 'Playfair Display',Georgia,serif; font-size: 23px; line-height: 1.15; font-weight: 700; }
.brand-text > span { display: block; font-family: Inter,Arial,sans-serif; font-size: 12px; line-height: 1.6; letter-spacing: .08em; margin-top: 5px; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 24px; font-size: 14px; font-weight: 700; }
.main-nav a { padding: 8px 0; }
.main-nav a:hover, .nav-call:hover { color: #ffd5d0; }
.nav-call { font-size: 14px; font-weight: 800; white-space: nowrap; }
.book-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; background: var(--red,#bc2019); color: #fff; border-radius: 999px; padding: 12px 22px; font-weight: 800; font-size: 14px; line-height: 1.4; text-align: center; }
.book-btn:hover { background: var(--red-dark,#961812); }
.menu-toggle { display: none; border: 1px solid #777; color: #fff; background: transparent; border-radius: 999px; padding: 10px 16px; font-size: 14px; font-weight: 700; min-height: 44px; }
@media (max-width: 1160px) {
  .site-header { gap: 18px; padding-left: 28px; padding-right: 28px; }
  .main-nav { gap: 16px; }
  .nav-call { display: none; }
  .brand-text { font-size: 21px; }
}
@media (max-width: 900px) {
  .site-header { position: relative; flex-wrap: wrap; background: #080808; padding: 20px; gap: 14px; }
  .brand { margin-right: auto; }
  .main-nav { width: 100%; margin-left: 0; flex-wrap: wrap; order: 4; padding-top: 8px; gap: 8px 24px; }
  .menu-toggle:not([hidden]) { display: inline-flex; align-items: center; }
  .site-header.nav-enhanced .main-nav { display: none; }
  .site-header.nav-enhanced.menu-open .main-nav { display: flex; }
  .book-btn { font-size: 14px; padding: 11px 16px; }
}
@media (max-width: 480px) {
  .site-header { gap: 12px; }
  .brand-text { font-size: 21px; }
  .site-header .book-btn { flex-basis: 100%; }
}

/* Current blog section. Shared by the index and article pages. */
.main-nav .nav-active { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }

/* Product pages use a solid header above their photo gallery. */
.product-page .site-header { position: relative; background: #080808; }
@media (min-width: 901px) and (max-width: 1100px) {
  .site-header { gap: 14px; }
  .main-nav { gap: 12px; font-size: 13px; }
  .site-header .book-btn { padding-left: 16px; padding-right: 16px; }
}
