/* Claire Tudela – Ergänzungen zu theme.json */

body { font-feature-settings: "tnum" 1, "lnum" 1; -webkit-font-smoothing: antialiased; }
:where(a) { text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Seitenraster: kein Abstand zwischen Kopfzeile, Inhalt und Fußzeile */
.wp-site-blocks > main, .wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0; }

/* Lesemaß: Fließtext und Überschriften höchstens ca. 70 Zeichen, linksbündig auf der Satzspalte */
.wp-block-post-content > :where(p, h2, h3, h4, ul.wp-block-list:not(.ct-liste), ol.wp-block-list) {
  box-sizing: border-box;
  padding-right: max(0px, calc(min(100%, 1240px) - 720px));
}

/* Erste Gruppe direkt unter dem Seitentitel ohne zusätzlichen Innenabstand */
.wp-block-post-content > .wp-block-group:not(.alignfull):first-child { padding-top: 0 !important; }

/* Kopfzeile */
.ct-header { border-bottom: 1px solid var(--wp--preset--color--haarlinie); }
.ct-header .wp-block-site-title a { text-decoration: none; }
.ct-header .wp-block-navigation a { text-decoration: none; }
.ct-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--bordeaux); font-weight: 600; }
.ct-sprachen { display: flex; gap: 10px; font-size: 13px; color: var(--wp--preset--color--grau); }
.ct-sprachen a { color: var(--wp--preset--color--grau); text-decoration: none; }
.ct-sprachen a[aria-current] { color: var(--wp--preset--color--tinte); font-weight: 600; }

/* Kleine Versal-Zeile über Titeln */
.ct-kicker { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--grau); margin: 0; }
.ct-dunkel .ct-kicker { color: #C9C4BC; }

/* Hero: Inhalt auf der Satzspalte (1240 px) wie Kopfzeile und Inhalt */
.ct-hero { padding: 48px clamp(20px, 4vw, 40px) clamp(32px, 6vw, 64px) !important; }
.ct-hero .wp-block-cover__inner-container { width: 100% !important; max-width: 1240px; margin-inline: auto !important; }
.ct-hero .wp-block-cover__inner-container > * { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.ct-hero .has-lead-font-size { max-width: 34em; }
.ct-hero h1 { color: var(--wp--preset--color--papier); }
.ct-hero .wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid var(--wp--preset--color--papier); color: var(--wp--preset--color--papier); background: transparent; }
.ct-hero .ct-bildnachweis { position: absolute; right: 0 !important; bottom: 0; margin: 0 !important; font-size: 11px; color: #A8A39A; }
@media (max-width: 600px) { .ct-hero .ct-bildnachweis { position: static; margin-top: 16px !important; } }

/* Eckdaten als Datenzeile (dl) */
.ct-eckdaten { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 24px; margin: 0; border-top: 1px solid var(--wp--preset--color--tinte); font-size: 14px; line-height: 1.45; }
.ct-eckdaten > div { padding: 12px 0; border-bottom: 1px solid var(--wp--preset--color--haarlinie); }
.ct-eckdaten dt { font-size: 12px; color: var(--wp--preset--color--grau); }
.ct-eckdaten dd { margin: 2px 0 0; }

/* Linierte Listen und Tabellen (Vita, Aktuell, Gesang) */
.ct-liste { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--wp--preset--color--tinte); }
.ct-liste > li { padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--haarlinie); }
.ct-credits { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.ct-credits caption { text-align: left; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; padding-bottom: 10px; }
.ct-credits th { text-align: left; font-weight: 500; font-size: 12px; color: var(--wp--preset--color--grau); padding: 8px 16px 8px 0; border-bottom: 1px solid var(--wp--preset--color--tinte); }
.ct-credits td { padding: 11px 16px 11px 0; border-bottom: 1px solid var(--wp--preset--color--haarlinie); vertical-align: top; }
.ct-credits td.ct-jahr { color: var(--wp--preset--color--grau); white-space: nowrap; width: 5.5em; }
.ct-credits td.ct-rolle { font-weight: 600; }
.ct-tabelle-scroll { overflow-x: auto; }

/* Dunkler Bereich (Showreel) */
.ct-dunkel { color: var(--wp--preset--color--papier); }
.ct-dunkel a { color: var(--wp--preset--color--papier); }
.ct-dunkel .ct-meta, .ct-dunkel figcaption { color: var(--wp--preset--color--grau-hell); }
.ct-meta { font-size: 13px; color: var(--wp--preset--color--grau); margin: 0; }

/* Video-Kacheln */
.ct-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.ct-videos > * { margin: 0 !important; }
.ct-videos .wp-block-embed { margin: 0; }

/* Filter-Knöpfe (von filter.js erzeugt) */
.ct-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.ct-filter button { min-height: 44px; min-width: 52px; padding: 0 14px; font: 500 13px var(--wp--preset--font-family--inter); cursor: pointer; border: 1px solid var(--wp--preset--color--haarlinie); background: transparent; color: inherit; }
.ct-filter button[aria-pressed="true"] { background: var(--wp--preset--color--tinte); border-color: var(--wp--preset--color--tinte); color: var(--wp--preset--color--papier); }
.ct-dunkel .ct-filter button { border-color: #6A6560; }
.ct-dunkel .ct-filter button[aria-pressed="true"] { background: var(--wp--preset--color--papier); color: var(--wp--preset--color--tinte); border-color: var(--wp--preset--color--papier); }
[data-ct-hidden] { display: none !important; }

/* Fotos: Spalten-Layout ohne Beschnitt */
.wp-block-gallery.ct-fotos { display: block !important; columns: 3 280px; column-gap: 24px; }
.wp-block-gallery.ct-fotos > figure.wp-block-image { width: 100% !important; margin: 0 0 28px !important; break-inside: avoid; display: block; }
.wp-block-gallery.ct-fotos > figure.wp-block-image img { height: auto !important; object-fit: contain !important; }
.wp-block-gallery.ct-fotos figure figcaption { position: static !important; background: none !important; color: var(--wp--preset--color--grau) !important; text-align: left !important; padding: 8px 0 0 !important; font-size: 12px; text-shadow: none !important; max-height: none !important; }

/* Fußzeile */
.ct-footer { border-top: 1px solid var(--wp--preset--color--tinte); }
.ct-label { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--grau); margin: 0 0 6px; }

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