/* ================================================================
   HEADER — Fixed site header: full → compact on scroll
   Depends on: layout.css
================================================================ */

@keyframes header-compact-in {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}

/* Full header — absolute, scrolls away with the page naturally */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-header);
  height: var(--header-height);
  background: transparent;
}

/* ── Non-home pages: non-compact is solid (variant-driven) ────── */
body:not(.home) .site-header:not(.header-compact).compact-variant--light {
  background-color: var(--bg-header-scrolled);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    0 1px 0 var(--border-standard),
    0 2px 12px rgba(7, 53, 86, 0.06);
}

body:not(.home) .site-header:not(.header-compact).compact-variant--light .site-logo { color: var(--color-blue-deep); }
body:not(.home) .site-header:not(.header-compact).compact-variant--light .header-nav__list a { color: var(--text-nav); }
body:not(.home) .site-header:not(.header-compact).compact-variant--light .lang-switcher a { color: var(--text-faint); }
body:not(.home) .site-header:not(.header-compact).compact-variant--light .lang-switcher a:hover,
body:not(.home) .site-header:not(.header-compact).compact-variant--light .lang-switcher a.current-lang { color: var(--text-primary); }
body:not(.home) .site-header:not(.header-compact).compact-variant--light .toggle-bar { background-color: var(--color-blue-deep); }

body:not(.home) .site-header:not(.header-compact).compact-variant--dark {
  background-color: var(--bg-dark);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 1px 0 var(--border-on-dark-subtle),
    0 2px 14px rgba(0, 0, 0, 0.18);
}

body:not(.home) .site-header:not(.header-compact).compact-variant--dark .header-nav__list a { color: var(--text-on-dark-nav); }
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .header-nav__list a:hover,
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .header-nav__list a:focus-visible { color: var(--accent); }
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .lang-switcher a { color: var(--text-on-dark-primary); }
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .lang-switcher a:hover,
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .lang-switcher a.current-lang,
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .lang-switcher a:focus-visible { color: var(--accent); }
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .toggle-bar { background-color: var(--color-white); }

/* Swap to white+gold logo only for dark variant (non-compact). */
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .site-logo__img--default { display: none; }
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .site-logo__svg--inline { display: block; }
body:not(.home) .site-header:not(.header-compact).compact-variant--dark .site-logo__svg--inline .cls-2 { fill: #ffffff !important; }

/* ── Compact state ───────────────────────────────────────────── */

.site-header.header-compact {
  position: fixed !important;
  height: var(--header-height-compact);
  background-color: var(--bg-header-scrolled);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    0 1px 0 var(--border-standard),
    0 2px 12px rgba(7, 53, 86, 0.06);
  animation: header-compact-in 0.28s ease;
}

/* ── Compact variant: dark (navy) ────────────────────────────── */
.site-header.header-compact.compact-variant--dark {
  background-color: var(--bg-dark);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 1px 0 var(--border-on-dark-subtle),
    0 2px 14px rgba(0, 0, 0, 0.18);
}

/* Compact: swap logo for pictogram, keep nav/CTA/lang */
.site-header.header-compact .site-logo             { display: none; }
.site-header.header-compact .header-nav__list a    { color: var(--text-nav); }
.site-header.header-compact .header-nav__list a:hover { color: var(--text-nav-hover); }
.site-header.header-compact .lang-switcher a       { color: var(--text-faint); }
.site-header.header-compact .lang-switcher a:hover,
.site-header.header-compact .lang-switcher a.current-lang { color: var(--text-primary); }
.site-header.header-compact .toggle-bar            { background-color: var(--color-blue-deep); }

/* Dark compact: nav/lang/burger colors on dark background */
.site-header.header-compact.compact-variant--dark .header-nav__list a {
  color: var(--text-on-dark-nav);
}
.site-header.header-compact.compact-variant--dark .header-nav__list a:hover,
.site-header.header-compact.compact-variant--dark .header-nav__list a:focus-visible {
  color: var(--accent);
}
.site-header.header-compact.compact-variant--dark .lang-switcher a {
  color: var(--text-on-dark-primary);
}
.site-header.header-compact.compact-variant--dark .lang-switcher a:hover,
.site-header.header-compact.compact-variant--dark .lang-switcher a.current-lang,
.site-header.header-compact.compact-variant--dark .lang-switcher a:focus-visible {
  color: var(--text-on-dark);
}
.site-header.header-compact.compact-variant--dark .toggle-bar {
  background-color: var(--color-white);
}

/* ── Compact pictogram ───────────────────────────────────────── */

.header-pictogram {
  display: none;
  align-items: center;
  flex-shrink: 0;
  line-height: 0;
  transition: opacity var(--duration-instant) var(--ease-default);
}

.site-header.header-compact .header-pictogram {
  display: flex;
}

.header-pictogram svg {
  height: 28px;
  width: auto;
}

/* Default pictogram colors (compact = white bg) */
.header-pictogram .pict-wave { fill: var(--color-navy); }
.header-pictogram .pict-mast { fill: var(--color-gold); }

/* Dark compact pictogram */
.site-header.header-compact.compact-variant--dark .header-pictogram .pict-wave { fill: var(--color-white); }
.site-header.header-compact.compact-variant--dark .header-pictogram .pict-mast { fill: var(--color-gold); }

.header-pictogram:hover { opacity: 0.75; }

/* ── Header inner ────────────────────────────────────────────── */

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
  gap: var(--space-10);
}

/* ── Logo ────────────────────────────────────────────────────── */

.site-logo {
  flex-shrink: 0;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--color-white);
  text-decoration: none;
  transition: color var(--duration-instant) var(--ease-default);
}

.site-logo img {
  height: 70px;
  width: auto;
}

.site-logo__svg--inline svg {
  height: 70px;
  width: auto;
  display: block;
}

/* ── Primary nav ─────────────────────────────────────────────── */

.header-nav {
  flex: 1;
}

.header-nav__list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-10);
  margin: 0;
  padding: 0;
}

.header-nav__list a {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  color: var(--text-on-dark-nav);
  text-decoration: none;
  transition: color var(--duration-instant) var(--ease-default);
}

/* ── Home (overlay header): add subtle shadow for readability ─── */
body.home .site-header:not(.header-compact) .header-nav__list a {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.55);
}

.header-nav__list a:hover {
  color: var(--text-nav-hover);
}

/* ── Home (overlay header): keep hover high-contrast on photos ── */
body.home .site-header:not(.header-compact) .header-nav__list a:hover,
body.home .site-header:not(.header-compact) .header-nav__list a:focus-visible {
  color: var(--accent);
}

body.home .site-header:not(.header-compact) .lang-switcher a:hover,
body.home .site-header:not(.header-compact) .lang-switcher a.current-lang,
body.home .site-header:not(.header-compact) .lang-switcher a:focus-visible {
  color: var(--accent);
}

/* ── Header actions (CTA + lang + burger) ───────────────────── */

.header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  flex-shrink: 0;
}

/* ── Language switcher ───────────────────────────────────────── */

.lang-switcher {
  display: flex;
  gap: var(--space-2);
}

.lang-switcher ul {
  display: flex;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
}

.lang-switcher li {
  display: flex;
  align-items: center;
}

.lang-switcher a {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--text-on-dark-faint);
  text-decoration: none;
  transition: color var(--duration-instant) var(--ease-default);
}

.lang-switcher a:hover,
.lang-switcher a.current-lang {
  color: var(--text-on-dark-primary);
}

/* ── Home (overlay header): languages are white by default ────── */
body.home .site-header:not(.header-compact) .lang-switcher a {
  color: var(--text-on-dark-primary);
}

/* Default: show original logo (keeps brand colors) */
.site-logo__img--dark { display: none; }
.site-logo__svg--inline { display: none; }

/* Home overlay must keep original coloration */
body.home .site-header:not(.header-compact) .site-logo__img--default { display: block; }
body.home .site-header:not(.header-compact) .site-logo__img--dark { display: none; }

/* ── Mobile menu toggle ──────────────────────────────────────── */

.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 24px;
  height: 24px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.toggle-bar {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-white);
  transition: background-color var(--duration-instant) var(--ease-default);
}

/* ── Mobile nav drawer ───────────────────────────────────────── */

.mobile-nav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: color-mix(in srgb, var(--color-navy) 96%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: var(--border-width) solid var(--border-gold);
  padding: var(--space-6) var(--gutter);
}

.mobile-nav.open {
  display: block;
}

.mobile-nav__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
}

.mobile-nav__list a {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  color: var(--text-on-dark-primary);
  text-decoration: none;
  transition: color var(--duration-instant) var(--ease-default);
}

.mobile-nav__list a:hover {
  color: var(--text-nav-hover);
}

.mobile-nav__cta {
  margin-top: var(--space-6);
  display: inline-block;
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 768px) {
  .site-header { height: var(--header-height-sm); }

  .header-nav,
  .lang-switcher { display: none; }

  .mobile-menu-toggle { display: flex; }

  .site-header.header-compact .mobile-menu-toggle { display: none; }
}
