/* Statische Tabellenseiten je Disziplin (werkzeuge/tabellenseiten.py) und die
   Linkliste auf der Startseite. Baut auf atlas.css auf. */
.seite-tabelle { max-width: 860px; }
.krumen { font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.krumen a { color: var(--navy); text-decoration: none; }
.sprung { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }
.sprung a { background: #fff; border: 1px solid var(--line); color: var(--navy); text-decoration: none; padding: 6px 11px; border-radius: var(--radius); font-size: 14px; font-weight: 600; }
.klasse { margin-top: 30px; scroll-margin-top: 12px; }
.klasse h2, .herkunft h2, .weiter h2, .andere h2 { font-size: 1.35rem; margin: 0 0 10px; }
table.noten { width: 100%; max-width: 560px; border-collapse: collapse; background: var(--card); border: 1px solid var(--line); font-variant-numeric: tabular-nums; }
table.noten caption { text-align: left; font-size: 13px; color: var(--muted); padding-bottom: 6px; }
table.noten th, table.noten td { padding: 8px 12px; border-bottom: 1px solid var(--line); text-align: left; }
table.noten thead th { background: var(--navy); color: #fff; font-weight: 600; font-size: 14px; }
table.noten tbody th { font-weight: 600; white-space: nowrap; }
table.noten tbody th span { font-weight: 400; color: var(--muted); font-size: 13px; }
table.noten td { font-size: 15.5px; }
table.noten td.leer { color: var(--muted); font-size: 13px; }
.seite-tabelle .small { font-size: 13px; color: var(--muted); max-width: 62ch; }
.herkunft, .weiter, .andere { margin-top: 40px; }
.herkunft p { max-width: 62ch; color: #334155; }
ul.disziplinen { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 6px 18px; }
ul.disziplinen a { color: var(--navy); font-weight: 600; text-decoration: none; }
ul.disziplinen a:hover { text-decoration: underline; }
ul.disziplinen span { color: var(--muted); font-size: 13px; }
.tabellen-liste { margin: 26px 0 8px; }
.tabellen-liste h2 { margin-bottom: 4px; }
@media (max-width: 560px) {
  table.noten th, table.noten td { padding: 7px 8px; }
  table.noten tbody th span { display: block; }
}
/* Logo links oben in der blauen Leiste, auf weißem Grund (die Schrift im Logo ist schwarz) */
.top .wortmarke.mit-logo { display: inline-flex; align-items: center; background: #fff; border-radius: 12px; padding: 5px 14px; margin: 6px 0; box-shadow: 0 2px 8px rgba(5,10,60,.25); }
.top .wortmarke.mit-logo img { display: block; height: 34px; width: auto; }
@media (max-width: 560px) { .top .wortmarke.mit-logo img { height: 28px; } }
/* Auf der Tabellenseite steht das Logo schon in der Leiste: das große nur im Ausdruck/PDF */
@media screen { .markenkopf .marke-logo { display: none; } .markenkopf { border-bottom-width: 4px; padding-bottom: 10px; } .markenkopf .marke-zusatz { text-align: left; } }
/* Markenkopf: das Logo groß und fett, auf dem Bildschirm und im PDF */
.markenkopf { display: flex; align-items: center; justify-content: space-between; gap: 18px 28px; flex-wrap: wrap; margin: 0 0 16px; padding: 0 0 14px; border-bottom: 6px solid #8cc80c; }
.marke-logo { display: block; flex: 0 1 560px; min-width: 240px; }
.marke-logo img { display: block; width: 100%; height: auto; }
.marke-zusatz { margin: 0; text-align: right; line-height: 1.25; }
.marke-zusatz strong { display: block; font-size: clamp(18px, 2.6vw, 26px); color: var(--navy); letter-spacing: -.01em; }
.marke-zusatz span { display: block; font-size: 14px; color: var(--muted); }
@media (max-width: 560px) { .marke-zusatz { text-align: left; } }
/* Fuß: Text links, Logo rechts unten in der Ecke */
footer.fuss { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px 28px; flex-wrap: wrap; }
.fuss-text > div + div { margin-top: 2px; }
.fuss-logo { display: block; margin-left: auto; flex: 0 1 230px; }
.fuss-logo img { display: block; width: 100%; max-width: 230px; height: auto; margin-left: auto; }
@media (max-width: 560px) { .fuss-logo { flex-basis: 170px; } }
.nur-druck { display: none; }
.pdf-link { margin: 4px 0 0; }
.pdf-link a { display: inline-block; background: var(--neon-blau, #00c2ff); color: #00222e; font-weight: 700; font-size: 14px; text-decoration: none; padding: 9px 14px; border-radius: 10px; }
.pdf-link a:hover { background: #4ad6ff; }
@media print {
  .markenkopf { display: flex !important; margin-bottom: 14px; border-bottom-width: 7px; }
  .marke-logo { flex: 0 0 100%; }
  .marke-logo img { width: 78%; }
  .marke-zusatz { text-align: left; flex: 1 1 100%; }
  .klasse { margin-top: 14px; }
  .klasse h2 { font-size: 1.15rem; margin-bottom: 6px; }
  table.noten th, table.noten td { padding: 5px 10px; }
  table.noten td { font-size: 14px; }
  h1 { font-size: 24px; margin: 6px 0 8px; }
  .seite-tabelle .small { margin: 4px 0 0; }
  .nur-druck { display: block; font-size: 11px; color: #555; margin: 0 0 10px; }
  .pdf-link, .notice { display: none; }
  .top, .sprung, .weiter, .andere, footer, .krumen { display: none; }
  .klasse { break-inside: avoid; }
}
/* Nur am Ende von tabellen.css anhängen. */
.la-seiten { color: #172b46; }
.la-seiten section { margin-top: 2rem; }
.la-seiten h2 { margin: 1.6rem 0 .7rem; font-size: 1.35rem; }
.la-seiten h3 { margin: 1.4rem 0 .6rem; font-size: 1.1rem; }
.la-seiten a { color: #174b80; text-decoration: underline; }
.la-seiten p { line-height: 1.6; }
.la-seiten [id] { scroll-margin-top: 1rem; }
.la-seiten .la-stand, .la-seiten .la-quelle { color: #334155; font-size: .92rem; }
.la-seiten .la-hinweis, .la-seiten .la-abgrenzung {
  padding: 1rem; border-left: 4px solid #174b80; background: #edf4fb; color: #172b46;
}
.la-scroll {
  max-width: 100%; overflow-x: auto; margin: 1rem 0;
  border: 1px solid #bac7d5; border-radius: .3rem;
}
.la-scroll:focus-visible, .la-seiten a:focus-visible {
  outline: 3px solid #9a3f00; outline-offset: 3px;
}
.la-seiten table.la-breit {
  width: max-content; min-width: 100%; max-width: none;
  background: #fff; color: #172b46; border-collapse: collapse;
}
.la-seiten table.la-breit caption { padding: .7rem; color: #334155; }
.la-seiten table.la-breit th, .la-seiten table.la-breit td {
  white-space: nowrap; padding: .65rem .8rem; border-bottom: 1px solid #cbd5e1;
}
.la-seiten table.la-breit thead th { background: #172b46; color: #fff; }
.la-seiten table.la-breit thead span { display: block; font-size: .75rem; font-weight: 400; }
.la-seiten table.la-breit tbody tr:nth-child(even) { background: #f2f6fa; }
.la-seiten table.la-breit td small { display: block; color: #334155; font-size: .75rem; }
.la-laender { padding-left: 1.3rem; }
.la-laender li { margin-bottom: .8rem; line-height: 1.5; }
.la-weiter { margin-top: 2rem; }
@media print {
  .la-seiten nav { display: none !important; }
  .la-seiten .la-hinweis { display: block !important; }
  .la-seiten { color: #000; }
  .la-seiten section, .la-scroll { break-inside: auto; }
  .la-scroll { overflow: visible; border: 0; }
  .la-seiten table.la-breit { width: 100%; min-width: 0; table-layout: fixed; }
  .la-seiten table.la-breit th, .la-seiten table.la-breit td {
    white-space: normal; overflow-wrap: anywhere; padding: 3px; font-size: 7pt;
  }
  .la-seiten table.la-breit thead th { background: #fff; color: #000; }
  .la-seiten table.la-breit td small, .la-seiten table.la-breit thead span { font-size: 6pt; }
  .la-seiten table.la-breit thead { display: table-header-group; }
  .la-seiten table.la-breit tr { break-inside: avoid; page-break-inside: avoid; }
  .la-seiten h2, .la-seiten h3 { break-after: avoid; }
}
/* Durchführung (Hürdenmaße, Absprungzone) auf den Tabellenseiten – aus daten/durchfuehrung.json */
.durchfuehrung-seite { margin-top: 1.6rem; }
.durchfuehrung-eintrag { margin: .8rem 0; padding: .7rem 1rem; border-left: 4px solid #00a5d9; background: #f2fbff; }
.durchfuehrung-eintrag h3 { margin: 0 0 .4rem; font-size: 1.05rem; }
.durchfuehrung-eintrag p, .durchfuehrung-eintrag li { line-height: 1.5; }
.durchfuehrung-eintrag ul { margin: .4rem 0; padding-left: 1.2rem; }
@media print { .durchfuehrung-eintrag { break-inside: avoid; background: #fff; } }
details.durchfuehrung-eintrag > summary { cursor: pointer; list-style: revert; }
details.durchfuehrung-eintrag > summary h3 { display: inline; color: #174b80; text-decoration: underline; }
@media print { details.durchfuehrung-eintrag { display: none; } }
