/* ============================================================
   SVD Bambinis – Style
   ============================================================ */

/* Inter Variable Font */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("fonts/InterVariable.woff2") format("woff2-variations"),
       url("fonts/InterVariable.woff2") format("woff2");
}

:root {
  --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-feature-settings: 'cv11', 'ss01', 'ss03', 'cv02';
}

html { text-size-adjust: 100%; }

body {
  font-family: var(--font-sans);
  font-feature-settings: var(--font-feature-settings);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  color: rgb(31, 42, 68);
}

h1 { letter-spacing: -0.02em; font-weight: 700; }
h2 { letter-spacing: -0.015em; font-weight: 600; }
h3 { letter-spacing: -0.01em; font-weight: 600; }

.tabular-nums,
table td.tabular-nums,
.num { font-variant-numeric: tabular-nums; }

.card {
  box-shadow: rgba(15, 23, 42, 0.04) 0px 1px 2px,
              rgba(15, 23, 42, 0.03) 0px 1px 1px;
}
.card-hover:hover {
  box-shadow: rgba(15, 23, 42, 0.08) 0px 4px 16px,
              rgba(15, 23, 42, 0.05) 0px 2px 4px;
  transition: box-shadow 0.15s;
}

:focus-visible {
  outline: rgb(34, 86, 179) solid 2px;
  outline-offset: 2px;
  border-radius: 4px;
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: rgba(34, 86, 179, 0.25) 0px 0px 0px 3px;
  border-color: rgb(34, 86, 179);
}

.eyebrow {
  font-size: 0.7rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgb(100, 116, 139);
}

.btn, button, a.btn {
  transition: background-color 0.12s, color 0.12s, box-shadow 0.12s, transform 0.12s;
}
button:active, .btn:active { transform: translateY(1px); }

/* Im normalen Browser-Modus ist der Druckinhalt ausgeblendet */
.print-only { display: none; }

/* ============================================================
   PRINT — überarbeitet, damit Inhalte sauber paginieren
   ============================================================ */
@media print {
  @page { size: A4; margin: 12mm; }

  body {
    color: black;
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Alles ausblenden, das nicht zum Druckbereich gehört.
     Die Ahnen-Kette (body, main) bleibt sichtbar, alle Geschwister werden weggenommen. */
  body > *:not(main) { display: none !important; }
  main > *:not(.print-only) { display: none !important; }

  /* .print-only läuft jetzt im normalen Block-Layout-Fluss
     (statt position: absolute, was die Pagination kaputtmacht) */
  .print-only {
    display: block !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
  }
  .print-only * { visibility: visible !important; }

  /* Saubere Seitenumbrüche */
  .print-only h1,
  .print-only h2,
  .print-only h3 {
    break-after: avoid;
    page-break-after: avoid;
  }
  .print-only li,
  .print-only > section,
  .print-only > div {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

@media (max-width: 640px) {
  input, select, textarea { font-size: 16px !important; }
}

/* Tabelle hover & active row leichter */
tbody tr { transition: background-color .1s; }

/* Spalten-Hide-Helper für JS */
[data-col].col-hidden { display: none !important; }
