/* Shared website shell. Keep controls readable at every viewport width. */
:root { --site-header-offset: 150px; }
html { scroll-padding-top: var(--site-header-offset); }
header.site-header .nav-wrap {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center; gap: 12px 24px; width: 100%; max-width: 1200px;
  min-height: 88px; margin-inline: auto; padding: 16px 24px;
}
header.site-header .logo { grid-column: 1; grid-row: 1; order: 0; min-width: 0; }
header.site-header .site-logo { width: min(225px, 100%); }
header.site-header .language-wrap { grid-column: 2; grid-row: 1; margin: 0 !important; min-width: 0; }
header.site-header .language-selector {
  min-width: 0; width: 150px; max-width: 100%; margin: 0; padding: 9px 10px;
  font-size: .875rem; box-shadow: none; border-width: 1px; font-weight: 500;
}
header.site-header .nav-actions { grid-column: 3; grid-row: 1; order: 0; min-width: 0; }
header.site-header .nav-actions .btn { padding: 10px 16px; font-size: .875rem; text-align: center; }
header.site-header nav.main-nav {
  display: flex; grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap;
  justify-content: center; gap: 4px 12px; border-top: 1px solid var(--border); padding-top: 12px; order: 0;
}
header.site-header nav.main-nav a.nav-link { white-space: normal; padding: 8px 12px; font-size: .9rem; }
.site-menu-toggle { display: none; }
.skip-link { position: fixed; top: 8px; left: 16px; z-index: 1000; padding: 12px 18px; background: var(--primary); color: white; border-radius: 8px; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); color: white; }
@media (max-width: 700px) {
  header.site-header .nav-wrap { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 12px 16px; min-height: 78px; }
  header.site-header .site-logo { width: min(210px, 100%); }
  header.site-header .language-wrap { grid-column: 1; grid-row: 2; justify-self: start; }
  header.site-header .language-selector { width: 145px; }
  header.site-header .nav-actions { grid-column: 2; grid-row: 2; display: flex; }
  header.site-header .nav-actions .btn { max-width: 145px; padding: 9px 10px; font-size: .8rem; line-height: 1.4; }
  .site-menu-toggle { display: inline-flex; grid-column: 2; grid-row: 1; align-items: center; justify-content: center; min-height: 44px; gap: 8px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; background: white; color: var(--secondary); font: 600 .9rem var(--font-family); cursor: pointer; }
  header.site-header nav.main-nav { grid-column: 1 / -1; grid-row: 3; display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; padding-top: 12px; }
  header.site-header nav.main-nav a.nav-link { min-height: 44px; display: flex; align-items: center; font-size: .95rem; }
  header.site-header nav.main-nav[hidden] { display: none; }
  header.site-header.is-menu-open { max-height: 100dvh; overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
