/* Existing Playfair Display/Open Sans, shared website color variables. */
.events-hero,.events-section,.events-home { --event-heading:var(--nav); --event-muted:var(--text-warm); color:var(--nav); }
.events-hero h1,.events-section h2,.events-section h3,.events-home h2 { color:var(--event-heading); }
.events-hero { padding:145px 0 70px; background:linear-gradient(120deg,var(--bg-light),var(--bg)); }
.events-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:center; }
.events-hero h1 { max-width:660px; font-size:clamp(2.6rem,5vw,4.5rem); font-weight:400; margin:24px 0; }
.events-eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.76rem; font-weight:600; color:var(--accent); }
.events-bridge { font-size:.9rem; }
.events-lead { font-family:var(--font-serif); font-size:1.45rem; }
.events-flyer { max-height:590px; width:auto; margin:auto; box-shadow:0 16px 40px rgba(0,0,0,0.08); border-radius:120px 120px 4px 4px; }
.events-location { font-size:.85rem; margin-top:23px; }
.events-button { background:var(--accent-warm); border:1px solid var(--accent-light); color:var(--text); min-height:48px; font-size:.88rem; white-space:normal; text-align:center; }
.events-button:hover { background:var(--accent-light); color:var(--text); border-color:var(--accent); }
.events-button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.events-section { padding-top:75px; padding-bottom:70px; }
.events-intro { text-align:center; margin-bottom:50px; }
.events-intro h2 { margin-bottom:15px; }
.event-card { display:grid; grid-template-columns:1.25fr .85fr; margin-bottom:28px; border:1px solid var(--accent-light); background:var(--bg-light); border-radius:12px; overflow:hidden; scroll-margin-top:100px; }
.event-description { padding:38px 42px; }
.event-number { color:var(--accent); font-family:var(--font-serif); font-size:1.15rem; display:block; margin-bottom:14px; }
.event-description h2 { font-size:1.7rem; margin-bottom:16px; font-weight:400; }
.event-subtitle { font-weight:600; }
.event-description p { font-size:.95rem; }
.event-price { font-family:var(--font-serif); font-size:1.3rem!important; margin-top:24px; color:var(--nav); }
.event-combo { border-top:1px solid var(--accent-light); padding-top:14px; font-size:.84rem!important; }
.event-dates { background:var(--bg); padding:42px 32px; }
.event-dates h3 { font-size:1.25rem; margin-bottom:12px; }
.event-time { font-size:.86rem; }
.event-dates ul { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 26px; }
.event-dates li { background:var(--bg-light); border:1px solid var(--accent-light); border-radius:5px; padding:7px 11px; font-size:.88rem; }
.event-small { font-size:.78rem!important; line-height:1.6; margin-top:14px; color:var(--text-warm); }
.events-venue { text-align:center; padding:40px 15px 0; }
.events-venue h2 { font-size:1.65rem; margin-bottom:20px; }
.events-venue a { color:var(--nav); text-decoration:underline; overflow-wrap:anywhere; }
.events-home { padding:50px 0; background:var(--bg-light); border-top:1px solid var(--accent-light); border-bottom:1px solid var(--accent-light); }
.events-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.events-home h2 { font-size:2rem; font-weight:400; margin:12px 0 18px; }
.events-home-list li { padding:12px 0; border-bottom:1px solid var(--accent-light); font-size:.88rem; }
.events-home-list time { display:block; color:var(--accent); font-weight:600; }
.events-home-list a { color:var(--nav); }
.preview-bar { background:var(--nav); color:var(--white); padding:7px 16px; font-size:.75rem; text-align:center; position:relative; z-index:1100; }
body:has(.events-hero) .site-nav { background:var(--nav-bg); }
body:has(.events-hero) .site-nav .nav-link,body:has(.events-hero) .site-nav .nav-logo { color:var(--nav); text-shadow:none; }
body:has(.events-hero) .site-nav .nav-toggle span { background:var(--nav); }
@media (min-width:901px) { .nav-inner { max-width:1440px; } .nav-menu { gap:16px; } .nav-link { font-size:.8rem; } }
@media(max-width:1100px) and (min-width:901px) { .nav-menu { gap:10px; } .nav-link { font-size:.7rem; } }
@media(max-width:760px) {
 .events-hero { padding:115px 0 40px; } .events-hero-grid { grid-template-columns:1fr; gap:35px; } .events-flyer { max-height:470px; max-width:100%; }
 .event-card,.events-home-grid { grid-template-columns:1fr; gap:0; } .event-description { padding:27px 24px; } .event-dates { padding:28px 24px; }
 .events-home-grid { gap:25px; } .events-home { padding:35px 0; } .events-section { padding-top:45px; }

 .event-dates .events-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

body:has(.preview-bar) .site-nav { top:34px; }
.preview-bar { min-height:34px; }

/* Revised hierarchy, readable dates, direct registration. */
.event-label { font-size:1.4rem!important; font-weight:700; letter-spacing:.075em; color:var(--nav); margin-bottom:14px; }
.event-description h2 { font-size:clamp(1.6rem,2.5vw,2rem); }
.event-subtitle { font-family:var(--font-serif); font-size:1.08rem!important; font-weight:400; font-style:italic; }
.event-heading-caps { text-transform:uppercase; font-size:clamp(1.35rem,2.25vw,1.85rem)!important; line-height:1.4; }
.event-prices { margin-top:24px; }
.event-prices .event-price { margin:8px 0; font-size:1.25rem!important; }
.price-amount { white-space:nowrap; font-weight:600; }
.event-dates li { color:var(--nav); background:var(--bg-light); border-color:var(--accent-light); padding:10px 13px; font-size:1.12rem; font-weight:600; white-space:nowrap; }
.event-time { color:var(--nav); font-size:1rem; font-weight:600; }
.event-phone { margin-top:16px; font-size:.95rem; }
.event-phone a { white-space:nowrap; color:var(--nav); text-decoration:underline; text-underline-offset:4px; }
.event-package { display:grid; grid-template-columns:1.1fr .8fr; align-items:center; gap:28px; border:1px solid var(--accent-light); border-radius:12px; background:var(--bg); padding:34px; margin:8px 0 42px; }
.event-package h2 { font-family:var(--font-serif); font-size:1.1rem; font-weight:700; letter-spacing:.05em; line-height:1.5; margin-bottom:8px; }
.event-package p { margin-bottom:0; }
.package-price>span { display:block; font-size:1rem; }
.package-price>strong { font-family:var(--font-serif); font-size:2.75rem; color:var(--nav); }
.package-price p { font-size:.85rem; }
.events-contact { text-align:center; margin-top:50px; padding:45px 20px; background:var(--bg-light); border:1px solid var(--accent-light); border-radius:12px; }
.events-contact h2 { margin-bottom:24px; }
.events-contact h3 { font-size:1.35rem; margin-bottom:18px; }
.events-contact>a { margin-top:10px; }
.events-contact a:not(.btn) { color:var(--nav); text-decoration:underline; overflow-wrap:anywhere; }
.events-home-list time { color:var(--nav); font-size:1.08rem; }
@media(max-width:1000px) { .event-package { grid-template-columns:1fr; gap:20px; } }
@media(max-width:420px) { .event-description,.event-dates { padding:24px 18px; } .event-heading-caps { font-size:1.25rem!important; overflow-wrap:normal; hyphens:auto; } .event-package { padding:25px 22px; } }

/* Shared category/title hierarchy for all four offers. */
.event-label { font-family:var(--font-sans); font-size:1.4rem!important; font-weight:700; line-height:1.5; letter-spacing:.055em; overflow-wrap:normal; hyphens:auto; }
.event-description h2 { font-family:var(--font-serif); font-size:clamp(1.6rem,2.5vw,2rem); font-weight:400; line-height:1.3; }
.event-contact-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.event-contact-actions .btn { width:100%; font-size:.84rem; padding-left:14px; padding-right:14px; }
.events-button-phone { background:transparent; color:var(--nav); border:1px solid var(--accent-light); }
.events-button-phone:hover { background:var(--bg); color:var(--nav); }
.event-confirmation { font-size:.85rem; line-height:1.6; margin-top:15px; color:var(--text-warm); }
.events-contact .event-contact-actions { max-width:390px; margin:24px auto 0; }
.events-hero .events-welcome { font-size:clamp(2.1rem,4vw,3.3rem); }
@media(max-width:420px) { .event-label { font-size:1.25rem!important; letter-spacing:.035em; } }

.events-contact .contact-address-button { text-transform:none; letter-spacing:normal; overflow-wrap:anywhere; }

/* Six restrained photographic accents, with alternating warm surfaces. */
.event-card { box-shadow:0 10px 28px rgba(0,0,0,0.08); margin-bottom:34px; }
.event-description { display:flow-root; }
.event-motif { width:150px; aspect-ratio:506 / 398; float:right; margin:0 0 18px 24px; border-radius:8px 36px 8px 8px; background-image:url('/static/images/angebote-motive.png'); background-size:303.56% 257.29%; background-repeat:no-repeat; box-shadow:0 5px 16px rgba(0,0,0,0.08); }
.motif-wahrnehmen { background-position:0 0; }
.motif-vertiefung { background-position:50.1% 0; }
.motif-gruppenarbeit { background-position:100% 0; }
.motif-aufstellungen { background-position:0 77%; }
.motif-package { background-position:50.1% 77%; }
.motif-contact { background-position:100% 77%; }
#vertiefung { background:var(--accent-warm); color:var(--text); border-color:var(--accent-light); }
#vertiefung .event-label,#vertiefung h2,#vertiefung .event-price { color:var(--text); }
#vertiefung .event-dates { background:transparent; }
#vertiefung .event-dates h3,#vertiefung .event-time { color:var(--text); }
#gruppenarbeit { background:var(--accent-warm); }
#gruppenarbeit .event-dates { background:transparent; }
#aufstellungen { background:var(--bg-light); }
#aufstellungen .event-dates { background:transparent; }
.event-package { background:var(--bg-light); color:var(--text); padding:34px 38px; box-shadow:0 10px 28px rgba(0,0,0,0.08); }
.event-package h2,.event-package .package-price>strong { color:var(--text); }
.event-package .event-motif { float:left; margin:0 24px 10px 0; width:124px; }
.events-contact { position:relative; background:var(--accent-warm); padding:42px 38px; }
.events-contact .event-motif { float:none; position:absolute; left:38px; top:42px; width:140px; }
@media(min-width:1100px) { .events-contact { padding-left:210px; padding-right:210px; } }
@media(max-width:1099px) { .events-contact .event-motif { position:static; margin:0 auto 24px; width:120px; } }
@media(max-width:760px) {
 .event-motif { width:100px; margin:0 0 14px 18px; border-radius:6px 25px 6px 6px; }
 .event-description h2 { clear:both; }
 .event-description .event-label { min-height:79px; display:flex; align-items:center; }
 .event-package { padding:28px 24px; }
 .event-package .event-motif { width:100px; margin:0 18px 16px 0; }
 .events-contact { padding:30px 20px; }
 .events-contact .event-motif { width:100px; }
}
.motif-aufstellungen,.motif-package,.motif-contact { aspect-ratio:506 / 350; background-size:303.56% 292.57%; background-position-y:76.41%; }

/* A single continuous surface unites each offer and its schedule. */
.event-card .event-dates { background:transparent; }
.event-card .event-dates li { background:var(--bg-light); color:var(--nav); border-color:var(--accent-light); }

.events-program-period { font-family:var(--font-sans); font-size:clamp(1.1rem,2vw,1.35rem); font-weight:600; color:var(--text); margin:0 0 24px; }
