/* Local fonts, browser defaults and layout rules; shared components live in tailwind.css. */
@font-face {
  font-family: 'Geometria';
  src: url('../fonts/Geometria-Light.woff') format('woff');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: 'Geometria';
  src: url('../fonts/Geometria.woff') format('woff');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Geometria';
  src: url('../fonts/Geometria-Medium.woff') format('woff');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'Geometria';
  src: url('../fonts/Geometria-Bold.woff') format('woff');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Geometria';
  src: url('../fonts/Geometria-ExtraBold.woff') format('woff');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@layer base {
  html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
  * { box-sizing: border-box; letter-spacing: -0.02em; }
  body { margin: 0; }
  [hidden] { display: none !important; }
  button, a, input, summary { -webkit-tap-highlight-color: transparent; }
  button, summary { cursor: pointer; }
  button, input { font: inherit; }
  button { color: inherit; }
  button:disabled { cursor: wait; opacity: 0.6; }
  a { color: inherit; text-decoration: none; }
  img { display: block; max-width: 100%; }
  h1, h2, h3, h4, h5, p { margin-top: 0; }
  summary::-webkit-details-marker { display: none; }
  :focus-visible { outline: 3px solid #0035a3; outline-offset: 4px; }
  /* Inputs grow their focus outline out from the edge; zero width at rest stays invisible in forced-colors mode. */
  input, select, textarea { outline: 0 solid transparent; outline-offset: 0; transition-property: color, background-color, border-color, outline-color, outline-width, outline-offset; }
}

/* Extend the side-by-side hero photo beyond its container without moving its left edge, up to 1246px wide. */
#hero { container-type: inline-size; }
@media (min-width: 48rem) {
  #hero-image img {
    max-width: 1246px;
    width: calc(100% + max(var(--spacing) * 8, (100cqw - var(--container-7xl)) / 2 + var(--spacing) * 8));
  }
}

/* Team slider arrows move out onto the navy margin beside the cards, as far as the screen allows (up to 56px). */
#meeskond { container-type: inline-size; }
@media (min-width: 64rem) {
  [data-carousel-prev] { left: calc(-1 * clamp(-0.25rem, (100cqw - 100%) / 2 - 0.5rem, 3.5rem)); }
  [data-carousel-next] { right: calc(-1 * clamp(-0.25rem, (100cqw - 100%) / 2 - 0.5rem, 3.5rem)); }
}

/* Logged-in users: the WordPress admin bar is fixed above 600px, so the sticky header, anchor targets and the
   mobile menu sit below it. Unlayered on purpose, to win over the header's `top-0` utility and admin-bar.css. */
.admin-bar > header { top: var(--wp-admin--admin-bar--height, 0px); }
html:has(> body.admin-bar) { scroll-padding-top: calc(6rem + var(--wp-admin--admin-bar--height, 0px)); }
.admin-bar #mobile-menu { max-height: calc(100dvh - 4rem - var(--wp-admin--admin-bar--height, 0px)); }
@media (min-width: 48rem) {
  .admin-bar #mobile-menu { max-height: calc(100dvh - 5rem - var(--wp-admin--admin-bar--height, 0px)); }
}
@media (max-width: 600px) {
  .admin-bar > header { top: 0; }
  html:has(> body.admin-bar) { scroll-padding-top: 6rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

@media print {
  body > * { display: none !important; }
  #print-summary {
    display: block !important;
    color: #002868;
    font-family: 'Geometria', Arial, sans-serif;
    padding: 24px;
  }
  #print-summary h1 { font-size: 24px; }
  #print-summary h2 { font-size: 20px; margin: 24px 0 16px; }
  #print-summary p, #print-summary li { font-size: 12px; line-height: 1.65; }
  #print-summary table { width: 100%; border-collapse: collapse; font-size: 12px; }
  #print-summary td { padding: 8px; border-bottom: 1px solid #cee8f5; }
  @page { size: A4; margin: 18mm; }
}
