/* Non-HOME navigation only. Values are copied from the approved HOME header.
   The doubled component class wins over old embedded HOME-header selectors,
   without extending any selector into page content, body, hero or footer. */
nav.gvs-canonical-nav.gvs-canonical-nav {
  --hr-ink:#292826; --hr-muted:#615b53; --hr-paper:#f8f3eb; --hr-line:#d5cbbd; --hr-gold:#9b7544;
  box-sizing:border-box; position:relative; z-index:30; display:flex; align-items:center; gap:24px;
  width:min(1280px,calc(100% - 80px)); min-height:96px; height:auto;
  margin:0 auto; padding:10px 18px 10px 24px;
  border:1px solid #fff9; border-radius:54px; background:#fbf7f0ed;
  box-shadow:0 8px 30px #433a2b0d; color:#292826;
  font:17px/1.65 "Manrope",Arial,sans-serif; letter-spacing:normal; text-transform:none;
  top:0; left:auto; right:auto; overflow:visible; backdrop-filter:none;
}
nav.gvs-canonical-nav.gvs-canonical-nav--inner { top:20px; }
nav.gvs-canonical-nav.gvs-canonical-nav *,
nav.gvs-canonical-nav.gvs-canonical-nav *::before,
nav.gvs-canonical-nav.gvs-canonical-nav *::after { box-sizing:border-box; }
nav.gvs-canonical-nav.gvs-canonical-nav a { color:inherit; text-decoration:none; }
nav.gvs-canonical-nav.gvs-canonical-nav img { display:block; max-width:100%; height:auto; }
nav.gvs-canonical-nav.gvs-canonical-nav :is(button,summary) { font:inherit; }
nav.gvs-canonical-nav.gvs-canonical-nav :is(a,button,summary):focus-visible { outline:3px solid #9b7544; outline-offset:4px; }
nav.gvs-canonical-nav.gvs-canonical-nav [hidden] { display:none!important; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-brand { flex:0 0 76px; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-brand img { width:76px; height:76px; object-fit:contain; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-links { display:flex; justify-content:center; align-items:center; gap:24px; flex:1; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-links > a,
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-menu > summary { display:flex; align-items:center; min-height:44px; font-size:16px; font-weight:650; white-space:nowrap; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-links > a:hover { text-decoration:underline; text-underline-offset:6px; }
nav.gvs-canonical-nav.gvs-canonical-nav .nav-phone { display:block; white-space:nowrap; font-size:.76rem; font-weight:800; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:52px; padding:13px 25px; border:1px solid #292826; border-radius:30px; background:#292826; color:#fffaf2; font-size:15px; font-weight:750; line-height:1.45; text-align:center; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-button:hover { background:#453d34; border-color:#453d34; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-book { flex:0 0 auto; min-width:156px; }
nav.gvs-canonical-nav.gvs-canonical-nav summary { list-style:none; cursor:pointer; }
nav.gvs-canonical-nav.gvs-canonical-nav summary::-webkit-details-marker { display:none; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-menu { position:relative; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-menu > summary { gap:10px; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-chevron { width:8px; height:8px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-menu[open] > summary .hr-chevron { transform:rotate(225deg) translate(-2px,-1px); }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-panel { position:absolute; top:calc(100% + 12px); left:-22px; width:340px; padding:12px; border:1px solid #d2c3ad; border-radius:18px; background:#fffaf3; box-shadow:0 18px 42px #33291924; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-panel a { display:flex; align-items:center; min-height:46px; padding:10px 13px; border-radius:8px; font-size:16px; line-height:1.45; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-panel a:first-child { margin-bottom:6px; border-bottom:1px solid #ded3c2; border-radius:0; font-weight:800; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-hair-panel a:hover { background:#eee4d6; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu { display:none; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

/* Only header-owned utility UI and clipping are affected, never hero geometry. */
.utility-bar:has(+ .gvs-inner-page-header > nav.gvs-canonical-nav) { display:none; }
.gvs-inner-page-header:has(> nav.gvs-canonical-nav details[open]) { overflow:visible; }

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-button { transition:background .25s ease,border-color .25s ease; }
}
@media(max-width:1180px) {
  nav.gvs-canonical-nav.gvs-canonical-nav .nav-phone { display:none; }
}
@media(max-width:1120px) {
  nav.gvs-canonical-nav.gvs-canonical-nav { gap:18px; min-height:88px; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-brand { flex:1; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-brand img { width:64px; height:64px; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-links { display:none; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu { display:block; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu > summary { display:flex; flex-direction:column; justify-content:center; gap:6px; width:48px; height:48px; border:1px solid #cbbba2; border-radius:50%; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu > summary > span:not(.hr-sr) { width:20px; height:1.5px; margin-inline:auto; background:#393129; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links { position:absolute; top:calc(100% + 10px); left:0; right:0; max-height:calc(100svh - 210px); overflow-y:auto; overscroll-behavior:contain; padding:16px 22px; border:1px solid #cbbba2; border-radius:20px; background:#fffaf3; box-shadow:0 18px 42px #33291924; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links > a,
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links .hr-hair-menu > summary { display:flex; justify-content:space-between; align-items:center; min-height:48px; border-bottom:1px solid #e2d7c6; font-size:16px; padding-block:10px; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links .hr-hair-panel { position:static; width:auto; margin-top:8px; padding:4px 8px; box-shadow:none; border:0; border-left:2px solid #c3a678; border-radius:0; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links .hr-hair-panel a { min-height:44px; font-size:15px; }

  /* Preserve the existing mobile layer's exact approved menu styles. */
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links.gvs-mobile-panel {
    max-height:calc(100vh - 150px); max-height:calc(100svh - 150px);
    display:block; color:#292826; font:16px/1.45 "Manrope",Arial,sans-serif; text-align:left;
    background:#fffaf3; border:1px solid #cbbba2; border-radius:20px;
    box-shadow:0 18px 42px rgba(51,41,25,.14);
  }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links.gvs-mobile-panel > .gvs-mobile-link {
    display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px;
    margin:0; padding:10px 0; color:#292826; background:transparent; border:0;
    border-bottom:1px solid #e2d7c6; border-radius:0; font:650 16px/1.45 "Manrope",Arial,sans-serif;
    letter-spacing:normal; text-transform:none; text-decoration:none; white-space:normal;
  }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links.gvs-mobile-panel > .gvs-mobile-book {
    justify-content:center; min-height:48px; margin-top:12px; padding:11px 18px;
    color:#fffaf2; background:#292826; border:1px solid #292826; border-radius:30px;
    font-weight:750; text-align:center;
  }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links.gvs-mobile-panel > .gvs-mobile-book:hover { color:#fffaf2; background:#453d34; border-color:#453d34; }
}
@media(max-width:700px) {
  nav.gvs-canonical-nav.gvs-canonical-nav { width:calc(100% - 36px); min-height:76px; padding:8px 12px; gap:10px; font-size:16px; }
  nav.gvs-canonical-nav.gvs-canonical-nav--inner { top:12px; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-brand img { width:56px; height:56px; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-book { min-width:0; min-height:46px; padding:11px 17px; font-size:14px; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu > summary { width:44px; height:44px; }
}
@media(max-width:600px) {
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links.gvs-mobile-panel { top:calc(100% + 8px); padding:12px 17px 16px; }
}
@media(max-width:380px) {
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-brand img { width:50px; height:50px; }
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-book { padding-inline:14px; }
}
@media(prefers-reduced-motion:reduce) {
  nav.gvs-canonical-nav.gvs-canonical-nav *,
  nav.gvs-canonical-nav.gvs-canonical-nav *::before,
  nav.gvs-canonical-nav.gvs-canonical-nav *::after { animation:none!important; transition:none!important; }
}

/* Only the four verified legacy global-header regions use this wrapper. */
header.gvs-canonical-standalone-header {
  position:relative; overflow:visible; padding:20px 0;
}
@media(max-width:700px) {
  header.gvs-canonical-standalone-header { padding:12px 0; }
}


/* Precise Shop navigation treatment: existing warm gold, Shop-only spacing. */
nav.gvs-canonical-nav.gvs-canonical-nav .hr-nav-links > a.gvs-nav-shop { color:#765f40; margin-inline-start:8px; }
nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links > a.gvs-nav-shop,
nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links.gvs-mobile-panel > a.gvs-mobile-link.gvs-nav-shop { color:#765f40; }
@media(max-width:1120px) {
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links > a.gvs-nav-shop,
  nav.gvs-canonical-nav.gvs-canonical-nav .hr-menu-links.gvs-mobile-panel > a.gvs-mobile-link.gvs-nav-shop { margin-inline-start:0; margin-block-start:8px; }
}
