/* Shared forms and contact page. Delivery-specific adapters do not change design. */
[hidden]{display:none!important}
.course-facts>div,.course-facts b,.course-facts span{text-align:center}.course-facts>div{align-items:center}.course-facts b{color:#000}
.calendar-filter label{flex:none;margin:0;white-space:nowrap}.calendar-filter #year-filter{width:auto;min-width:150px;max-width:210px;flex:none;margin:0}
.booking-form-wrap input:not([type=checkbox]),.booking-form-wrap select{height:auto;min-height:48px;padding:12px 16px}
.booking-error{padding:16px;background:#fff1eb;border:1px solid #c05831;border-radius:8px;color:#772300}
.form-confirmation,#bestaetigung{padding:clamp(22px,4vw,48px);border:1px solid #dbe5c8;border-radius:16px;background:#f7f9f2;scroll-margin-top:110px}
.form-confirmation h2,#bestaetigung h2{margin:12px 0 24px}.form-confirmation dl,#bestaetigung dl{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:14px 24px;text-align:left;margin:28px 0}.form-confirmation dt,#bestaetigung dt{font-weight:600}.form-confirmation dd,#bestaetigung dd{margin:0}
.contact-hero{background:#fff;color:var(--text);text-align:center}.contact-hero h1{color:var(--ink)}
.contact-section{padding-top:55px}.contact-layout{max-width:1000px;margin:0 auto}.contact-main>.section-heading{text-align:center;margin:0 auto 38px}.contact-main .booking-form-wrap{max-width:800px}
.contact-topics{border:0;margin:0 0 35px;padding:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-topics legend{width:100%;text-align:center;font-size:18px;font-weight:600;margin-bottom:18px}.contact-choice{display:flex;align-items:center;gap:15px;border:1px solid #d6dccd;border-radius:10px;padding:22px;margin:0;cursor:pointer;font-weight:400;min-height:110px}.contact-choice:has(input:checked){background:#f2f6e9;border-color:var(--pine)}.contact-choice input{width:20px;height:20px;accent-color:var(--pine);flex:none}.contact-choice small{display:block;font-size:14px;margin-top:6px;color:#5c6358;line-height:1.6}.contact-choice b{font-weight:600;font-size:17px}.contact-subheading{text-align:center;font-size:24px;margin:40px 0 18px}.contact-section .form-submit{margin:32px auto 0}.contact-section .caption{text-align:center;margin:20px auto 0}
.contact-company-section{text-align:center}.contact-company-icon{display:block;margin:0 auto 25px;object-fit:contain}.contact-company-logo{display:block;margin:0 auto 22px;width:128px;height:68px;object-fit:contain}.contact-company-section .section-heading{margin-bottom:28px}.contact-address{font-size:18px;line-height:1.8}.contact-workshop-note{max-width:600px;margin:35px auto 24px;font-size:18px}.header nav .nav-page{width:145px;min-width:145px;flex:none;padding-left:16px;padding-right:16px}.header nav .nav-contact{border-color:var(--pine)}
@media(max-width:1150px) and (min-width:901px){.header .primary-nav{gap:6px}.header nav .nav-page,.header .nav-contents-toggle{padding-left:13px;padding-right:13px}.header .product-brand img.product-wordmark{width:130px}.header .product-brand>img:not(.product-wordmark){width:44px;height:44px}}
@media(max-width:767px){.contact-section{padding-top:55px}.contact-topics{grid-template-columns:1fr;gap:12px}.contact-choice{padding:18px;min-height:95px}.contact-main>.section-heading{margin-bottom:28px}.contact-company-icon{margin-bottom:22px}.contact-address,.contact-workshop-note{font-size:16px}.form-confirmation dl,#bestaetigung dl{grid-template-columns:1fr;gap:8px}.form-confirmation dd,#bestaetigung dd{margin-bottom:12px}}

.contact-form-heading .section-heading{margin:0 auto}.contact-program-actions{max-width:500px;margin-top:0}.contact-program-actions>.button{flex:1;max-width:230px}
@media(max-width:1150px) and (min-width:901px){.header nav .nav-page{width:125px;min-width:125px;padding-left:12px;padding-right:12px}}
@media(max-width:620px){.contact-program-actions{gap:12px;flex-wrap:nowrap}.contact-program-actions>.button{padding:13px 18px;font-size:15px;gap:12px}}
