/* =====================================================================
   SITE NAVIGATION (shared by the rental page and the 3 guide pages)
   Edit colors and sizes here; every page updates.
   ===================================================================== */
.site-nav {
  --nav-text: #334155;        /* link color */
  --nav-brand: #0f172a;       /* "Oasis Getaway" color */
  --nav-accent: #0f766e;      /* hover / current page color */
  --nav-bg: #ffffff;               /* header background */
  --nav-border: #e2e8f0;
  --nav-button: linear-gradient(90deg, #3B65D7 0%, #2790FF 100%);

  background: var(--nav-bg);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--nav-border);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-family: 'Geist', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
  z-index: 50;
}

/* Rental page: stays pinned to the top while scrolling */
.site-nav--fixed { position: fixed; top: 0; left: 0; right: 0; }
/* Guide pages: sits above the page and sticks to the top on scroll */
.site-nav--sticky { position: sticky; top: 0; }

.site-nav__inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1rem;
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 2rem;
}

.site-nav a { text-decoration: none; }

.site-nav__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--nav-brand);
}
.site-nav__brand img { width: 28px; height: 28px; }

.site-nav__links {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-right: auto;
}

.site-nav__links a,
.site-nav__brand {
  transition: color 0.2s ease;
}

.site-nav__links a {
  color: var(--nav-text);
  font-size: 0.95rem;
  font-weight: 500;
  padding: 0.25rem 0;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}

.site-nav__links a:hover,
.site-nav__brand:hover { color: var(--nav-accent); }

/* Highlight the page you're on */
.site-nav__links a[aria-current="page"] {
  color: var(--nav-accent);
  border-bottom-color: var(--nav-accent);
}

.site-nav__book {
  display: inline-flex;
  align-items: center;
  background-image: var(--nav-button);
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.625rem 1.25rem;
  border-radius: 9999px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  transition: filter 0.2s ease, transform 0.2s ease;
}
.site-nav__book:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* Phones and small tablets: links move to a second row that can scroll sideways */
@media (max-width: 860px) {
  .site-nav__inner { min-height: 0; padding: 0.625rem 1rem 0; row-gap: 0.25rem; }
  .site-nav__brand { font-size: 1.15rem; }
  .site-nav__brand img { width: 24px; height: 24px; }
  .site-nav__book { padding: 0.5rem 1rem; font-size: 0.8rem; }
  .site-nav__links {
    order: 3;
    width: 100%;
    margin-right: 0;
    gap: 0.75rem;
    justify-content: space-between;
    overflow-x: auto;
    padding: 0.375rem 0 0.5rem;
    scrollbar-width: none;
  }
  .site-nav__links::-webkit-scrollbar { display: none; }
  .site-nav__links a { font-size: 0.8125rem; }
  /* Extra room under the taller two-row menu on the rental page */
  .site-nav--fixed + section { padding-top: 8rem; }
}

/* Very narrow phones */
@media (max-width: 380px) {
  .site-nav__links a { font-size: 0.75rem; }
}
