.course-information{margin-bottom:30px}.course-information h2{font-size:26px;color:var(--purple);margin:0 0 20px}.course-information dl{margin:0}.course-information dl>div{margin:0 0 14px}.course-information dt{font-weight:700}.course-information dd{margin:0}.course-paragraph{margin-bottom:22px}.course-paragraph p{margin:0}.detail-prose>h2{font-size:26px;color:var(--purple);margin:30px 0 20px}.generated-hero{margin:0;max-height:330px;overflow:hidden;box-shadow:0 2px 5px #32273875}.generated-hero img{width:100%;height:330px;object-fit:cover;object-position:center 25%;display:block}.course-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:28px}.course-gallery figure{margin:0}.course-gallery img{width:100%;height:auto;display:block;border-radius:10px}.course-gallery figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}.booking-panel>h2{font-size:26px;margin-bottom:24px}.generated-event h3{font-size:25px;line-height:1.3;margin:0}.generated-event+.generated-event{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.generated-layout-below{grid-template-columns:1fr}.generated-layout-below .booking-panel{grid-row:auto;position:static;max-width:700px;width:100%}.detail-layout{padding-bottom:35px}.course-lightbox{max-width:95vw;width:min(1100px,95vw);border:0;border-radius:12px;padding:50px 45px 20px;background:#fffaf3;color:#322738}.course-lightbox::backdrop{background:#1b1023dc}.course-lightbox figure{margin:0}.course-lightbox img{max-height:75vh;width:100%;object-fit:contain}.course-lightbox figcaption{text-align:center;margin:12px 0}.course-lightbox button{position:absolute;border:0;background:#80137c;color:white;border-radius:50%;width:36px;height:36px;font-size:26px;cursor:pointer}.lightbox-close{right:12px;top:10px}.lightbox-prev{left:5px;top:45%}.lightbox-next{right:5px;top:45%}@media(max-width:550px){.course-gallery{grid-template-columns:1fr}.generated-hero{max-height:none}.generated-hero img{height:auto;max-height:none;object-fit:contain}.detail-intro h1{font-size:30px;overflow-wrap:anywhere}.course-lightbox{padding-inline:35px}}
/* Feldmodell: feste Positionen, bewusst gewählte Ausgabearten. */
.course-field{margin:0 0 22px;min-width:0;overflow-wrap:anywhere}.course-field h2{font-size:26px;color:var(--purple);margin:26px 0 18px}.course-field p{margin:0 0 14px}.course-field p:last-child{margin-bottom:0}.field-inline{display:flex;align-items:baseline;gap:.4em;flex-wrap:wrap}.field-inline .field-label{flex:0 0 auto}.field-value{flex:1 1 180px;min-width:0}.course-field ul,.course-field ol{padding-left:1.5em}.course-field li{margin:.3em 0}.course-information .course-field{margin-bottom:14px}.course-information .field-section h2{font-size:21px;margin:18px 0 8px}
.detail-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.detail-layout .booking-panel{grid-column:2;grid-row:1}.detail-prose{min-width:0}
.gallery-controls{display:flex;justify-content:flex-end;gap:8px;margin:22px 0 8px}.gallery-controls button{border:0;border-radius:50%;background:var(--purple);color:white;width:40px;height:40px;cursor:pointer}.gallery-controls button:disabled{opacity:.35;cursor:default}.course-gallery{display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;margin:0 0 28px}.course-gallery figure{flex:0 0 calc((100% - 32px)/3);min-width:0;scroll-snap-align:start}.course-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px}.course-gallery a{display:block}.course-gallery figcaption{overflow-wrap:anywhere}
.course-lightbox{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:0;background:#130e16;color:white;overflow:hidden}.course-lightbox figure{width:100%;height:100%;margin:0}.course-lightbox img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}.course-lightbox figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:10px 60px;text-align:center;background:#0008;font-size:13px}.course-lightbox button{z-index:1;background:#201128aa;width:44px;height:44px}.lightbox-close{top:12px;right:12px}.lightbox-prev{left:12px;top:calc(50% - 22px)}.lightbox-next{right:12px;top:calc(50% - 22px)}
@media(max-width:900px){.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-layout .booking-panel{grid-column:1;grid-row:auto;position:static;max-width:none}.course-gallery figure{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:400px){.course-gallery figure{flex-basis:75%}}
/* Galerie ist ein eigener Bereich über die gesamte Inhaltsbreite. */
.course-gallery-wide{padding-bottom:35px;min-width:0}.course-gallery-wide .gallery-controls{margin-top:0}.gallery-controls button,.course-lightbox .lightbox-prev,.course-lightbox .lightbox-next{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff}.gallery-controls button:hover:not(:disabled),.course-lightbox .lightbox-prev:hover,.course-lightbox .lightbox-next:hover{filter:brightness(.92)}.gallery-controls svg,.course-lightbox button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Winkelpfeile und zentrierte Bedienung unter der Bilderreihe. */
.course-gallery-wide{display:flex;flex-direction:column}.course-gallery-wide .course-gallery{order:0;margin-bottom:12px}.course-gallery-wide .gallery-controls{order:1;justify-content:center;margin:0 0 28px}.gallery-controls svg,.course-lightbox button svg{stroke-width:3}
/* Untereinander: dieselbe Beschriftung, nur ein Zeilenumbruch zum Wert. */
.field-section>.field-label{font-size:inherit;line-height:inherit;color:inherit;font-weight:700}.field-section>.field-value{display:inline}.field-section>.field-value>p:first-child{display:inline;margin:0}.field-section>.field-value>:first-child{margin-top:0}
/* Kurstitel: Orange und Original-Schlagschatten. */
body[data-generated-course] .detail-intro h1{color:#f28f16;text-shadow:2px 5px 6px #00000069}
/* Schatten skaliert proportional mit der responsiven Titelgröße. */
body[data-generated-course] .detail-intro h1{text-shadow:.04em .1em .12em #00000069}
.field-richtext h2{font-size:26px;color:var(--purple);margin:26px 0 18px}.field-richtext h3{font-size:22px;color:var(--purple);margin:22px 0 14px}.field-richtext h4{font-size:18px;color:var(--purple);margin:18px 0 12px}.field-richtext> :first-child{margin-top:0}

/* Schriftversuch: gleiche Groesse/Zeilenhoehe, originale Josefin-Schrift. */
body[data-generated-course] .detail-intro h1{font-style:italic}
body[data-generated-course] .detail-prose{font-family:Josefin,sans-serif}
/* Inline-Angaben fliessen nach dem Umbruch wieder ab dem linken Rand. */
.field-inline{display:block}
.field-inline>.field-value{display:inline}
.field-inline>.field-value>p:first-child{display:inline;margin:0}
.field-inline>.field-value>:first-child{margin-top:0}
/* Keine Trennlinie unter dem Kurstitel. */
body[data-generated-course] .detail-intro{border-bottom:0}

/* Themenfarbe folgt automatisch der violetten bzw. gruenen Seitenvariante. */
.course-field .text-accent{color:var(--purple)}
.course-field .text-orange{color:var(--orange)}
/* Abstand unter dem Kurstitel halbieren; Text und Terminbox ruecken gemeinsam auf. */
body[data-generated-course] .detail-intro{padding-bottom:17.5px}
body[data-generated-course] .detail-intro h1{margin-bottom:11px}
body[data-generated-course] .detail-layout{padding-top:20px}
body[data-generated-course] .course-information>h2:empty{margin-bottom:10px}
@media(max-width:550px){
 body[data-generated-course] .detail-intro{padding-bottom:12.5px}
 body[data-generated-course] .detail-intro h1{margin-bottom:6.5px}
 body[data-generated-course] .detail-layout{padding-top:12.5px}
}

.course-field ol.list-lower-alpha{list-style-type:lower-alpha}

/* Centre complete rows and remove unnecessary scrolling controls. */
.course-gallery.gallery-fits{justify-content:center}
.gallery-controls[hidden]{display:none!important}
.course-overview-return{margin:0 0 24px}.course-overview-return a{display:inline-flex;align-items:center;min-height:44px;color:#781476;font:700 15px/1.6 Josefin,sans-serif;text-decoration:underline;text-underline-offset:5px}.course-return-bottom{padding-bottom:24px}.site-blocks table tr[id]{scroll-margin-top:24px}
.booking-chooser{margin:0 0 22px}.booking-chooser label{display:block;font-weight:700;margin:0 0 8px}.booking-chooser select{display:block;width:100%;max-width:100%;min-width:0;padding:12px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px}.booking-events .generated-event[hidden]{display:none}.booking-panel[data-booking-chooser] .generated-event{border-top:0;margin-top:0;padding-top:0}
