:root {
  --rrr-cream: #F9F2DC;
  --rrr-black: #0D0B08;
  --rrr-gold: #B8934A;
  --rrr-gold-light: #D4B573;
  --rrr-gold-dark: #8C6B31;
  --rrr-white: #FDFBF5;
  --font-serif: 'Bodoni Moda', Georgia, serif;
  --font-sans: 'Montserrat', sans-serif;
}

/* ---------- Utility bar ---------- */
.site-utility-bar {
  background: var(--rrr-cream);
  padding: 10px 40px;
}

.follow-label {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  color: var(--rrr-gold-dark);
  text-transform: uppercase;
}

.social-icons a {
  width: 32px;
  height: 32px;
  border: 1.5px solid var(--rrr-gold-dark);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rrr-gold-dark);
  transition: background 0.2s ease, color 0.2s ease;
}

.social-icons a:hover {
  background: var(--rrr-gold-dark);
  color: var(--rrr-cream);
}

.social-icons svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

/* ---------- Main nav (Bootstrap navbar overrides) ---------- */
.site-header-main {
  background: var(--rrr-black);
  padding: 5px 40px;
}

/* Logo */
.site-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
}

.site-logo img{
  width:125px;
}

.site-logo .logo-mark {
  display: flex;
  align-items: center;
  gap: 10px;
}

.site-logo .logo-letters {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 32px;
  color: var(--rrr-gold-light);
  letter-spacing: 2px;
  line-height: 1;
  border-top: 2px solid var(--rrr-gold);
  border-bottom: 2px solid var(--rrr-gold);
  padding: 4px 12px;
}

.site-logo .logo-sub {
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 3px;
  color: var(--rrr-gold-light);
  margin-top: 2px;
}

.site-logo .tagline {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 15px;
  color: var(--rrr-white);
  margin-top: 4px;
  white-space: nowrap;
}

/* Nav links */
.primary-nav {
  gap: 34px;
}
#primaryNav{
  gap:34px;
}

.primary-nav .nav-link {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--rrr-white) !important;
  padding-bottom: 6px;
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s ease;
}

.primary-nav .nav-link:hover,
.primary-nav .nav-link.is-active {
  border-bottom-color: var(--rrr-white);
}

/* CTA buttons */
.btn-contact,
.btn-book {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 14px 26px;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.btn-contact {
  background: var(--rrr-white);
  color: var(--rrr-black);
}

.btn-book {
  background: linear-gradient(180deg, var(--rrr-gold-light) 0%, var(--rrr-gold-dark) 100%);
  color: var(--rrr-black);
}

.btn-contact:hover,
.btn-book:hover {
  opacity: 0.85;
}

/* Bootstrap navbar-toggler — recolor for dark background */
.site-header-main .navbar-toggler {
  border-color: var(--rrr-gold);
}

.site-header-main .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23D4B573' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (max-width: 991px) {
  .site-header-main .navbar-collapse {
    background: var(--rrr-black);
    padding-top: 20px;
  }
  .primary-nav {
    gap: 14px;
    margin-bottom: 16px;
  }
  .header-ctas .btn-contact { display: none; }
}

@media (max-width: 600px) {
  .site-utility-bar,
  .site-header-main { padding: 10px 20px; }
  .follow-label { display: none; }
}