/* Clean, accessible navigation for Hocking Hills Premier Cabins */
.site-header { font-family:Montserrat, Arial, sans-serif; position:relative; z-index:100; }
.site-header *, .to-top * { box-sizing:border-box; }

/* Top utility bar */
.site-topbar { background:#000000; color:#FFFFFF; }
.site-topbar__inner {
  max-width:1200px; margin:0 auto; padding:8px 20px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:6px 16px; font-size:14px;
}
.site-topbar a { color:#FFFFFF; text-decoration:none; }
.site-topbar a:hover { text-decoration:underline; text-underline-offset:2px; }
.site-topbar__sep { color:#B8B8B8; }
.site-topbar__phone { font-weight:600; }

/* Main nav bar */
.site-nav { background:#49382E; }
.site-nav__inner { max-width:1300px; margin:0 auto; display:flex; align-items:stretch; gap:14px; padding:0 14px; }
.site-nav__logo { background:#FCF8EC; padding:8px 16px; display:inline-flex; align-items:center; }
.site-nav__logo img { display:block; width:150px; height:auto; }

.site-nav__toggle {
  margin-left:auto; display:none; align-items:center; gap:9px;
  background:transparent; border:1px solid rgba(255,255,255,0.5); color:#FFFFFF;
  font:600 15px/1 Montserrat, Arial, sans-serif; padding:0 16px; border-radius:6px; cursor:pointer;
}
.site-nav__toggle:hover { background:rgba(255,255,255,0.12); }
.site-nav__toggle .bars { display:inline-block; width:20px; height:14px; position:relative; }
.site-nav__toggle .bars span { position:absolute; left:0; width:100%; height:2px; background:#FFFFFF; border-radius:2px; }
.site-nav__toggle .bars span:nth-child(1) { top:0; }
.site-nav__toggle .bars span:nth-child(2) { top:6px; }
.site-nav__toggle .bars span:nth-child(3) { top:12px; }

.site-nav__menu { margin-left:auto; display:flex; align-items:stretch; }
.menu { list-style:none; margin:0; padding:0; display:flex; align-items:stretch; }
.menu > li { position:relative; display:flex; }
.menu__top {
  font:600 13px/1 Montserrat, Arial, sans-serif; letter-spacing:0.02em; text-transform:uppercase;
  color:#FFFFFF; background:transparent; border:0; cursor:pointer; text-decoration:none;
  padding:18px 12px; display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
}
.menu__top:hover, .menu__top:focus-visible,
.has-sub.open > .menu__top { background:#000000; color:#FFFFFF; outline:none; }
.menu__top .caret { width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; }

.submenu {
  list-style:none; margin:0; padding:4px 0; position:absolute; top:100%; left:0; min-width:230px;
  background:#000000; border:1px solid rgba(255,255,255,0.14); border-top:0; border-radius:0 0 6px 6px;
  box-shadow:0 12px 26px rgba(0,0,0,0.32); display:none; z-index:200;
}
.submenu a { display:block; padding:5px 18px; color:#FFFFFF; text-decoration:none; font-size:14px; line-height:1.35; white-space:nowrap; text-align:left; }
.submenu a:hover, .submenu a:focus-visible { background:#49382E; outline:none; }
.has-sub.open > .submenu { display:block; }

@media (min-width:1024px) {
  .has-sub:hover > .submenu,
  .has-sub:focus-within > .submenu { display:block; }

  /* Long lists flow into two columns on desktop */
  #sub-cabins, #sub-pet-friendly { columns:2; column-gap:0; min-width:460px; }
  #sub-cabins li, #sub-pet-friendly li { break-inside:avoid; }

  /* Keep right-side dropdowns from running off screen */
  .menu > li:nth-last-child(-n+2) > .submenu { left:auto; right:0; }
}

.submenu [aria-current="page"] { background:#49382E; }

@media (max-width:1023px) {
  .site-nav__inner { flex-wrap:wrap; align-items:center; padding:8px 12px; }
  .site-nav__toggle { display:inline-flex; height:44px; }
  .site-nav__menu { flex-basis:100%; margin:10px 0 0; display:none; }
  .site-nav__menu.open { display:block; }
  .menu { flex-direction:column; align-items:stretch; }
  .menu > li { display:block; }
  .menu__top { width:100%; justify-content:space-between; padding:14px 12px; border-top:1px solid rgba(255,255,255,0.14); }
  .submenu { position:static; display:none; box-shadow:none; border:0; border-radius:0; padding:0; background:rgba(0,0,0,0.28); min-width:0; }
  .submenu a { padding:12px 26px; }
}

/* Back to top (vanilla replacement for jquery.goup) */
.to-top {
  position:fixed; right:20px; bottom:20px; width:46px; height:46px; border-radius:50%;
  background:#C0C0C0; color:#000000; border:0; cursor:pointer; padding:0;
  display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,0.3);
  opacity:0; visibility:hidden; transition:opacity 0.3s ease, background-color 0.2s ease; z-index:1500;
}
.to-top.show { opacity:1; visibility:visible; }
.to-top:hover { background:#FFFFFF; }
.to-top svg { width:22px; height:22px; }
@media (max-width:500px) { .to-top { display:none; } }

/* Skip-to-content link — override legacy per-page rule so focus lands top-left */
a.skip-main {
  position:absolute; left:-9999px; top:0; width:1px; height:1px; overflow:hidden; z-index:2000;
}
a.skip-main:focus, a.skip-main:active {
  left:8px; top:8px; width:auto; height:auto; margin:0; padding:10px 16px; overflow:auto;
  background:#000000; color:#FFFFFF; font:600 15px/1 Montserrat, Arial, sans-serif;
  border-radius:6px; border:2px solid #FFFFFF;
}
