/* ==========================================================================
   MONT — HEADER
   ========================================================================== */

.site-topbar {
  background: var(--topbar-bg, var(--color-blush));
  color: var(--topbar-text, var(--color-olive));
  font-size: 0.8rem;
	font-weight: 600;
}

.site-topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 0.2rem;
  flex-wrap: wrap;
}

.site-topbar__contact {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.site-topbar__contact a:hover { opacity: 0.75; }

.site-topbar__social {
  display: flex;
  gap: 0.3rem;
}

.site-topbar__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  color: var(--topbar-social-color, var(--color-olive));
}
.site-topbar__social a:hover {
  background: var(--topbar-social-color, var(--color-terracotta));
  color: var(--color-white);
	border-radius: 50%;
}
.site-topbar__social svg { width: .9rem; height: .9rem; fill: currentColor; }

.site-header {
  background: var(--header-bg, var(--color-cream));
  position: sticky;
  top: 0;
  z-index: 500;
  box-shadow: var(--shadow-soft);
}

.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: 1.1rem;
}

.site-logo {
  font-family: var(--font-logo);
  font-size: 2.8rem;
  font-weight: 700;
	 transform: translateY(-8px);
  color: var(--color-olive);
  display: inline-flex;
  align-items: baseline;
  line-height: 1;
}

.site-logo .dot {
  color: var(--color-terracotta);
  background: var(--gradient-logo-dot);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.main-nav ul {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.main-nav ul a {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--nav-text, var(--color-ink));
}

.main-nav ul a:hover,
.main-nav ul .current-menu-item > a {
  color: var(--nav-hover, var(--color-terracotta));
}

.header-cta { flex-shrink: 0; }

.menu-toggle {
  display: none;
  background: none;
  border: none;
  padding: 0.4rem;
}
.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-ink);
  margin: 5px 0;
  transition: transform var(--transition-base), opacity var(--transition-base);
}
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
  .site-topbar__contact span:nth-child(2) { display: none; }

  .menu-toggle { display: block; order: 3; }

  .main-nav {
    position: fixed;
    inset: 0 0 0 30%;
    top: var(--header-h, 0);
    background: var(--color-cream);
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem 1.5rem;
    gap: 2rem;
    transform: translateX(100%);
    transition: transform var(--transition-base);
    overflow-y: auto;
    box-shadow: -10px 0 30px rgba(0,0,0,0.1);
  }
  .main-nav.is-open { transform: translateX(0); }
  .main-nav ul { flex-direction: column; align-items: flex-start; gap: 1.25rem; width: 100%; }
  .main-nav .header-cta { width: 100%; }
  .main-nav .btn { width: 100%; }
}
