/* NEVERLAN V8.0 — cabecera común
   La geometría del logo y de la marca es la misma en todas las páginas.
   El color continúa dependiendo del tono de cada página. */

.site-header:not(.home-header) {
  height: 92px !important;
  padding: 0 clamp(38px, 3.2vw, 72px) !important;
}

.site-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 22px !important;
}

.site-header .brand-logo {
  --brand-logo-url: url("svg/logo-neverlan-web.svg");
  display: block !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  opacity: .96;
  background: var(--brand-logo-color, currentColor) !important;
  -webkit-mask: var(--brand-logo-url) center / contain no-repeat !important;
  mask: var(--brand-logo-url) center / contain no-repeat !important;
  object-fit: initial !important;
  filter: none;
}

.site-header .brand-name {
  display: inline !important;
  font-family: var(--serif, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.35rem !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: .27em !important;
}

@media (max-width: 760px) {
  .site-header:not(.home-header) {
    height: 82px !important;
    padding: 0 24px !important;
  }

  .site-header .brand {
    gap: 13px !important;
  }

  .site-header .brand-logo {
    flex-basis: 30px !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
  }

  .site-header .brand-name {
    font-size: .96rem !important;
    letter-spacing: .20em !important;
  }
}

@media (max-width: 420px) {
  .site-header .brand-name {
    font-size: .84rem !important;
    letter-spacing: .16em !important;
  }
}

/* NEVERLAN V9.9 — contraste inteligente del header por sección
   Dos estados completos (claro/oscuro) y una sombra mínima.
   No añade placas, fondos ni nuevos elementos al header. */
.site-header.header-theme-light,
.site-header.header-theme-dark {
  transition: color .45s ease, text-shadow .45s ease;
}

.site-header.header-theme-light,
.site-header.header-theme-light .brand,
.site-header.header-theme-light .brand-name,
.site-header.header-theme-light .menu-button {
  color: #fffdf8 !important;
}

.site-header.header-theme-dark,
.site-header.header-theme-dark .brand,
.site-header.header-theme-dark .brand-name,
.site-header.header-theme-dark .menu-button {
  color: #111310 !important;
}

.site-header.header-theme-light .brand-name,
.site-header.header-theme-light .menu-button {
  text-shadow: 0 1px 4px rgba(0, 0, 0, .16);
}

.site-header.header-theme-dark .brand-name,
.site-header.header-theme-dark .menu-button {
  text-shadow: 0 1px 3px rgba(255, 255, 255, .10);
}

.site-header.header-theme-light .brand-logo,
.site-header.header-theme-dark .brand-logo {
  --brand-logo-color: currentColor !important;
  background: currentColor !important;
  transition: background-color .45s ease, filter .45s ease, opacity .45s ease;
}

.site-header.header-theme-light .brand-logo {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .16)) !important;
}

.site-header.header-theme-dark .brand-logo {
  filter: drop-shadow(0 1px 2px rgba(255, 255, 255, .09)) !important;
}

.site-header.header-theme-light .menu-lines i,
.site-header.header-theme-dark .menu-lines i {
  background: currentColor !important;
  transition: background-color .45s ease, box-shadow .45s ease;
}

.site-header.header-theme-light .menu-lines i {
  box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}

.site-header.header-theme-dark .menu-lines i {
  box-shadow: 0 1px 2px rgba(255, 255, 255, .09);
}
