/* Korrekturen nach Jannos Inhaltsabnahme. Nur die sechs vorhandenen CD-Farben. */
.km-foto.km-ganz { aspect-ratio:3/4; max-height:580px; object-fit:cover; object-position:center; background:none; }
.km-news .km-foto { object-fit:cover; }
img[src$="/F072.jpg" i] { scale:1.065; }
.km-foto { object-fit:cover; }
#ablauf img[src$="/F209.jpg" i] { aspect-ratio:3/2; }
#ablauf img[src$="/F211.jpg" i] { aspect-ratio:1; }
.kr-fuss { margin-top:clamp(24px,3.5vw,44px); padding-top:20px; border-top:1px solid var(--gold); font-size:13px; line-height:1.6; }
.kr-fuss-zeile { display:flex; align-items:center; justify-content:space-between; gap:20px 32px; }
.kr-veranstalter { display:flex; flex-direction:column; min-width:0; }
.kr-veranstalter > :first-child { font-weight:700; }
.kr-fuss nav { display:flex; align-items:center; gap:24px; flex:none; }
.kr-fuss-zeit { margin-top:14px; color:var(--gold-hell); }
.kr-kielian { display:block; width:100%; height:auto; object-fit:contain; }
.kr-story-a { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:36px; align-items:start; }
.kr-story-a .kr-kielian { position:sticky; top:120px; }
.kr-story-b { display:flow-root; }
.kr-story-b .kr-kielian { width:190px; float:right; margin:0 0 24px 32px; shape-outside:inset(0 round 40%); }
.kr-story-b .km-text { max-width:none; }
.kr-story-c { display:grid; grid-template-columns:170px minmax(0,1fr); gap:36px; align-items:center; margin-bottom:24px; }
#geschichte .km-reihe { margin-top:60px; }
#geschichte .km-reihe > :first-child { max-width:360px; justify-self:end; width:100%; }
.kI-punkt, #wichtelflug [data-h~="flugbahn"] > [role="listitem"] > span[aria-hidden="true"] { box-shadow:0 0 0 4px var(--blau),0 0 0 6px var(--gold-hell),0 0 18px 4px color-mix(in srgb,var(--gold-hell) 50%,transparent) !important; }
body[data-kr-news] .kI-koerper { gap:8px; padding:12px 14px; }
body[data-kr-news] .kI-plakat { padding:6px 9px; gap:3px; flex:0 0 70px; box-sizing:border-box; min-height:0; }
body[data-kr-news] .kI-plakat:nth-child(1) { transform:rotate(-2deg); }
body[data-kr-news] .kI-plakat:nth-child(2) { transform:rotate(1.5deg); }
body[data-kr-news] .kI-plakat:nth-child(3) { transform:rotate(-1deg); }
body[data-kr-news] .kI-plakat:nth-child(n+4) { display:none; }
body[data-kr-news] .kI-pdatum { font-size:13px; line-height:16px; letter-spacing:.06em; }
body[data-kr-news] .kI-ptitel { font-size:16px; line-height:18px; height:36px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
body[data-kr-news] .kI-plakat:hover,body[data-kr-news] .kI-plakat:focus-visible { transform:rotate(0) scale(1.025); }
.kr-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; }
.kr-feature-bild { display:block; height:clamp(350px,31vw,410px); border-radius:24px; overflow:hidden; }
.kr-feature-bild img { height:100%; width:100%; aspect-ratio:auto; object-fit:cover; }
.kr-feature-text .km-dach { margin-top:0; margin-bottom:16px; }
.kr-feature-text .km-titel { font-size:clamp(27px,3.2vw,42px); line-height:1.13; margin:0 0 20px; }
.kr-feature-text .km-text { font-size:18px; line-height:1.65; margin:0; }
.kr-weiter { color:var(--blau); font-weight:700; text-decoration-color:var(--gold-dunkel); text-underline-offset:4px; }
.kr-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.kr-artikel { max-width:920px; margin:0 auto; display:flow-root; }
.kr-artikelfoto { margin:0; min-width:0; }
.kr-artikelfoto img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.kr-artikelfoto.kr-portrait img { aspect-ratio:3/4; object-position:center; }
.kr-artikelfoto figcaption { margin-top:10px; font-size:13px; line-height:1.5; color:var(--gold-dunkel); }
.kr-artikeltext { min-width:0; }
.kr-artikeltext .km-text { max-width:none; font-size:19px; line-height:1.75; }
.kr-artikel-a { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:36px; align-items:start; }
.kr-artikel-b .kr-artikelfoto { float:right; width:42%; max-width:380px; margin:0 0 24px 36px; }
/* Hochkant neben kurzem Text: kleiner, sonst bleibt unter dem Text eine große Lücke (16.10.). */
.kr-artikel-b .kr-artikelfoto.kr-portrait { width:30%; max-width:280px; }
.kr-artikel-c .kr-artikelfoto { max-width:620px; margin:0 auto 32px; }
.kr-artikel-c .kr-artikelfoto.kr-portrait { max-width:300px; }
.kr-artikel-c .kr-artikeltext { max-width:68ch; margin:0 auto; }
.kr-weitere { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.kr-weitere-karte { display:flex; flex-direction:column; color:inherit; text-decoration:none; border:1px solid var(--gold); border-radius:20px; overflow:hidden; transition:transform .2s ease; min-width:0; }
.kr-weitere-karte:hover { transform:translateY(-4px); }
.kr-kartenfoto { aspect-ratio:3/2; overflow:hidden; }
.kr-kartenfoto .km-foto { aspect-ratio:auto; height:100%; width:100%; border-radius:0; object-fit:cover; }
.kr-karteninhalt { padding:20px; }
.kr-karteninhalt .km-dach { font-size:13px; margin:0 0 12px; }
.kr-karteninhalt h3 { font-family:'Playfair Display',Georgia,serif; font-size:22px; line-height:1.25; margin:0; overflow-wrap:break-word; }
.kr-alle { margin:12px 0 0; text-align:right; font-size:15px; }
.kr-weitere-karte:focus-visible,.kr-weiter:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
@media(max-width:1100px) and (min-width:900px) {
 .kr-feature-text .km-text { font-size:17px; line-height:1.6; }
 .kr-feature-text .km-titel { font-size:30px; }
 .kr-feature-bild { height:390px; }
}
@media(max-width:899.98px) {
 .kr-fuss-zeile { align-items:flex-start; flex-direction:column; gap:12px; }
 .kr-fuss nav { flex-wrap:wrap; }
 .kr-feature,.kr-artikel-a { grid-template-columns:minmax(0,1fr); }
 .kr-feature-bild { height:auto; aspect-ratio:4/3; }
 .kr-feature-text .km-titel { font-size:clamp(28px,5vw,40px); }
 body[data-kr-news] .kI-m .kA-rechts.kI { zoom:1; }
 .kr-story-a { grid-template-columns:minmax(0,1fr) 130px; gap:20px; }
 .kr-story-b .kr-kielian { width:130px; margin-left:20px; margin-bottom:16px; }
 .kr-story-c { grid-template-columns:120px minmax(0,1fr); gap:20px; }
 #geschichte .km-reihe > :first-child { justify-self:start; max-width:360px; }
 .kr-artikel-b .kr-artikelfoto { width:40%; margin-left:24px; }
 .kr-weitere { grid-template-columns:minmax(0,1fr); }
 .kr-weitere-karte { display:grid; grid-template-columns:34% minmax(0,1fr); }
 .kr-kartenfoto { height:100%; aspect-ratio:auto; min-height:180px; }
 .kr-karteninhalt h3 { font-size:21px; }
}
@media(max-width:540px) {
 .kr-story-a { display:flex; flex-direction:column-reverse; }
 .kr-story-a .kr-kielian { width:150px; position:static; margin:0 auto 12px; }
 .kr-story-b .kr-kielian { width:100px; margin:0 0 12px 16px; }
 .kr-story-c { grid-template-columns:90px minmax(0,1fr); gap:16px; }
 .kr-story-c .km-text { font-size:17px; }
 .kr-artikel-b .kr-artikelfoto { float:none; width:auto; max-width:100%; margin:0 0 28px; }
 .kr-artikel-b .kr-artikelfoto.kr-portrait,.kr-artikel-a .kr-artikelfoto.kr-portrait { max-width:260px; margin-left:auto; margin-right:auto; }
 .kr-artikeltext .km-text { font-size:18px; }
 .kr-weitere-karte { display:block; }
 .kr-kartenfoto { aspect-ratio:3/2; min-height:0; }
}
/* Goldene Medaille im Titelbild: klein, Wortlaut und Quelle im Siegel. */
.kr-medaille { position:absolute; right:calc(clamp(24px,5vw,72px) - max(0px, (100vw - 1180px) / 2) * .6); top:58%; translate:0 -50%; width:clamp(120px,11vw,156px); margin:0; text-align:center; }
.kr-medaille svg { display:block; width:100%; height:auto; overflow:visible; rotate:-4deg; filter:drop-shadow(0 4px 10px rgb(26 32 48 / .25)); }
/* Die Bänder pendeln langsam hin und her, gegeneinander versetzt. */
.kr-band { transform-box:fill-box; transform-origin:50% 0; animation:kr-wehen 7s ease-in-out infinite alternate; }
.kr-band-r { animation-delay:-3.5s; }
@keyframes kr-wehen { from { transform:rotate(3.5deg) skewX(-2deg); } to { transform:rotate(-3.5deg) skewX(2deg); } }
@media (prefers-reduced-motion:reduce) { .kr-band { animation:none; } }
@media (max-width:860px) { .kr-medaille { position:relative; right:auto; top:auto; translate:none; width:120px; margin-top:clamp(28px,5vw,40px); } }
/* Gut zu wissen auf Gastronomie, Variante 8 von Janno gewählt (16.10.): Tasse groß mit Wert auf dem Foto,
   Bezahlen und Sitzen daneben. Der Abschnitt liegt auf Blau. */
.kr-g8 header { margin-bottom:clamp(8px,1.5vw,16px); }
.kr-g8 .km-text { font-size:17px; line-height:1.65; margin:0 0 10px; }
.kr-g8 .km-text:last-child { margin-bottom:0; }
.kr-g8 .km-dach { margin-bottom:8px; }
.kr-g5-wert { font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:clamp(28px,3vw,38px); line-height:1.1; color:var(--gold-hell); margin:0 0 16px; }
/* Auf dem Foto nur Überschrift und Wert, Verlauf von unten statt Schleier über das ganze Bild. */
.kr-g8-bild { position:relative; isolation:isolate; display:flex; align-items:flex-end; aspect-ratio:4/3; margin-bottom:20px; border-radius:20px; overflow:hidden; }
.kr-g8-bild > .km-foto { position:absolute; inset:0; z-index:-2; height:100%; aspect-ratio:auto; border-radius:0; }
.kr-g8-bild::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgb(26 32 48 / .92) 0%, rgb(26 32 48 / .74) 38%, rgb(26 32 48 / 0) 66%); }
.kr-g8-bild > div { padding:24px 28px; }
.kr-g8-bild .kr-g5-wert { margin:0; }
.kr-g8-raster { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); }
.kr-g8-rest { display:grid; gap:36px; align-content:start; }
.kr-g8-rest article { border-top:2px solid var(--gold); padding-top:20px; }
@media(max-width:899.98px) { .kr-g8-raster { grid-template-columns:minmax(0,1fr); } }
/* News-Karten: kurzer Anriss und „Weiterlesen“; der Titel bleibt beim Überfahren sichtbar (16.10.). */
.kr-weitere-karte:hover { color:inherit; }
.kr-auszug { margin:10px 0 0; font-size:15px; line-height:1.55; }
.kr-mehr { display:inline-block; margin-top:12px; font-size:15px; font-weight:700; text-decoration-line:underline; text-decoration-color:var(--gold); text-decoration-thickness:1px; text-underline-offset:4px; }
.kr-feature-bild { position:relative; }
.kr-neu { position:absolute; top:16px; left:16px; padding:6px 14px; border-radius:999px; background:var(--gold); color:var(--text); font-size:14px; font-weight:700; line-height:1.2; }
/* Serifen-Überschriften auf Creme immer blau, wie alle anderen Überschriften dort (16.10.). */
[data-bahn="hell"] :is(.km-reihe,.km-info,.km-news) h3,[data-bahn="hell"] .kr-karteninhalt h3 { color:var(--blau); }
/* Fuß: alle vier Spalten im selben Zeilenraster; Tippfläche bleibt 44 px über Polster. */
.kr-fussinfo a[href^="mailto:"],.kr-fussinfo a[href^="tel:"],.kr-fussinfo a[href*="haeufige-fragen"] { display:inline-block !important; min-height:0 !important; padding-block:10px; margin-block:-10px; }
/* Unter Artikeln weniger Polster bis zum nächsten Band (16.10.). */
section#text:has(.kr-artikel) { padding-bottom:clamp(16px,2vw,24px) !important; }
/* Weihnachtsdorf „Neu in diesem Jahr“ und „Auf dem Platz“: Link im Eintrag (16.10.). */
[data-kr-reihe] :is(#neu,#platz) .km-reihe .km-link { display:inline-flex; margin-top:16px; }
/* D: Foto und Text oben bündig, langer Text auf Fotohöhe gekürzt mit „Mehr anzeigen“ (mehr.js, 16.10.). */
[data-kr-reihe="d"] :is(#neu,#platz) .km-reihe { align-items:start; }
/* Alle Fotos im selben Querformat wie die übrigen, auch das hochkante Wichtelflug-Bild (Janno 16.10.). */
[data-kr-reihe="d"] :is(#neu,#platz) .km-foto.km-ganz { aspect-ratio:4/3; max-height:none; object-position:50% 12%; }  /* oben bleibt der eingebrannte Fotovermerk sichtbar */
/* Fotospalte rechts so breit wie links, damit alle Fotos gleich groß sind. */
@media(min-width:900px) { [data-kr-reihe="d"] :is(#neu,#platz) .km-reihe.km-umgekehrt { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); } }
/* Aufgeklappt wie B: Foto bleibt gleich groß, der Text fließt daneben und darunter über die volle Breite weiter. */
@media(min-width:900px) {
 [data-kr-reihe="d"] :is(#neu,#platz) .km-reihe.kr-offen { display:flow-root; --kr-luft:clamp(28px,4vw,56px); }
 [data-kr-reihe="d"] :is(#neu,#platz) .km-reihe.kr-offen > :first-child { float:left; width:calc((100% - var(--kr-luft)) / 2.15); margin:0 var(--kr-luft) 24px 0; }
 [data-kr-reihe="d"] :is(#neu,#platz) .km-reihe.kr-offen.km-umgekehrt > :first-child { float:right; margin:0 0 24px var(--kr-luft); }
 /* Die Höchstbreite der Absätze zählt ab der Reihenkante; neben dem Foto blieben sonst nur schmale Zeilen. */
 [data-kr-reihe="d"] :is(#neu,#platz) .km-reihe.kr-offen .kr-klapp p { max-width:none; }
}
[data-kr-reihe="d"] .kr-zu .kr-klapp { overflow:hidden; -webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - 72px), transparent); mask-image:linear-gradient(to bottom, #000 calc(100% - 72px), transparent); }
.kr-mehr-knopf { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:8px; padding:0; border:0; background:none; color:inherit; font:inherit; font-weight:700; text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:1px; text-underline-offset:4px; cursor:pointer; }
.kr-mehr-knopf[hidden] { display:none; }
.kr-mehr-knopf::after { content:"↓"; text-decoration:none; } .kr-offen .kr-mehr-knopf::after { content:"↑"; }
.kr-mehr-knopf:focus-visible { outline:3px solid var(--gold); outline-offset:4px; border-radius:4px; }
/* Häufige Fragen: das kursive Fragezeichen ragt rechts über seinen Kasten; mit Deckkraft schneidet der Browser dort ab (Janno 16.10.). Platz rechts, Lage gleich. */
.kA .kI-fragezeichen { padding-right:.35em; right:calc(40px - .35em); }
