/* Meikes bestätigte Inhalte in den vorhandenen N03-Vorlagen. */
.km-innen { position:relative; z-index:1; max-width:1180px; margin:0 auto; padding-left:max(clamp(16px,5vw,72px),clamp(0px,(100vw - 898px)*100,180px)); padding-right:clamp(24px,5vw,72px); min-width:0; }
.km-dach { font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dunkel); margin:0 0 16px; }
.km-titel { font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:clamp(30px,4.2vw,52px); line-height:1.12; color:var(--blau); margin:0 0 28px; text-wrap:pretty; }
.km-titel:not(:first-child) { margin-top:48px; }
.kA .kA-innen h1 { font-size:min(clamp(40px,6.4vw,80px),13cqi); overflow-wrap:break-word; hyphens:auto; text-wrap:balance; }
body[data-km-meldung] .kA h1 { font-size:clamp(32px,4.4vw,56px); line-height:1.12; hyphens:none; }
.km-saisonjahr { font-size:76px; }
.km-fototext { max-width:calc(100% - 52px); overflow-wrap:break-word; }
.km-text { margin:0 0 20px; font-size:clamp(17px,1.6vw,21px); line-height:1.72; max-width:68ch; color:inherit; }
.km-text:last-child { margin-bottom:0; }
.km-kartentext { margin:0; font-size:16px; line-height:1.65; color:var(--text); }
.km-reihe { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(28px,4vw,56px); align-items:center; margin-block:36px 64px; }
.km-reihe:last-child { margin-bottom:0; }
.km-reihe > * { min-width:0; }
.km-reihe.km-umgekehrt > :first-child { order:2; }
.km-reihe h3,.km-info h3,.km-news h3 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(24px,2.6vw,34px); line-height:1.16; margin:0 0 18px; color:inherit; text-wrap:pretty; }
.km-foto { display:block; width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; border-radius:24px; }
.km-foto.km-ganz { aspect-ratio:auto; max-height:580px; object-fit:contain; background:var(--blau); }
.km-foto-fehlt { min-height:240px; aspect-ratio:4/3; border:2px dashed var(--gold-dunkel); border-radius:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:var(--gold-hell); color:var(--blau); padding:24px; text-align:center; }
.km-foto-fehlt span { font-family:'Playfair Display',Georgia,serif; font-size:32px; font-weight:700; }
.km-foto-fehlt small { font-size:16px; }
.km-offen { margin:20px 0; padding-left:16px; border-left:3px dashed var(--gold); font-size:16px; line-height:1.65; font-style:italic; }
.km-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.km-info h3 { font-size:26px; }
[data-bahn="dunkel"] .km-titel { color:var(--grund); }
[data-bahn="dunkel"] .km-dach { color:var(--gold-hell); }
.km-trailer { display:block; width:100%; height:auto; aspect-ratio:16/9; border-radius:24px; background:var(--blau); }
.km-bildtext { margin:12px 0 0; font-size:14px; line-height:1.5; }
.km-link { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-decoration:underline; text-decoration-color:var(--gold-dunkel); text-underline-offset:5px; font-weight:600; }
.km-link:hover { text-decoration-thickness:2px; }
.km-link:focus-visible,.km-trailer:focus-visible { outline:3px solid var(--gold-dunkel); outline-offset:5px; }
.km-news { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.km-news article { min-width:0; }
.km-news .km-dach { margin-top:24px; }
.km-news .km-foto { aspect-ratio:4/3; object-fit:contain; background:var(--blau); }
#teaser .km-text { font-size:17px; line-height:1.72; }
@media(max-width:899.98px) {
 .km-reihe,.km-info { grid-template-columns:minmax(0,1fr); }
 .km-reihe.km-umgekehrt > :first-child { order:0; }
 .km-innen .km-titel { overflow-wrap:break-word; }
 #angebot [data-h~="zwei"],#huetten-liste [data-h~="zwei"] { grid-template-columns:minmax(0,1fr) !important; gap:36px !important; }
 #angebot [data-h~="zwei"] h4,#huetten-liste [data-h~="zwei"] h4 { font-size:24px !important; }
 .km-news { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
}
