.termin-page .subpage-hero { padding: 56px 0 42px; }
.termin-page .subpage-hero-inner { max-width: 1000px; }
.termin-page .subpage-hero h1 { font-size: clamp(2.4rem, 5vw, 4.2rem); }
.termin-section { padding: 40px 0 80px; }
.termin-panel { max-width: 1100px; margin: auto; border: 1px solid #dce2e7; border-radius: 24px; background: #fff; box-shadow: 0 20px 54px rgba(10,37,64,.07); overflow: hidden; }
.termin-consent { max-width: 660px; margin: auto; padding: 48px 28px; text-align: center; }
.termin-consent h2 { font: 700 clamp(1.5rem, 3vw, 2rem)/1.2 'Outfit', sans-serif; color: var(--anthracite); }
.termin-consent p { line-height: 1.7; }
.termin-consent a, .termin-help a { text-decoration: underline; text-underline-offset: 3px; }
.termin-consent .btn { margin: 12px 0 20px; min-height: 48px; white-space: normal; }
.termin-page :is(a, button):focus-visible { outline: 3px solid var(--green-dark); outline-offset: 4px; }
.termin-page [hidden] { display: none !important; }
.termin-widget { width: 100%; height: 900px; min-width: 280px; }
.termin-widget iframe { display: block; width: 100%; height: 100%; border: 0; }
.termin-status { padding: 0 24px; text-align: center; }
.termin-status:empty { display: none; }
.termin-help { max-width: 900px; margin: 24px auto 0; text-align: center; font-size: .9rem; line-height: 1.7; }
@media (max-width: 600px) {
    .termin-page .subpage-hero { padding: 36px 0; }
    .termin-section > .container { width: 100%; padding: 0 10px; }
    .termin-section { padding: 24px 0 56px; }
    .termin-consent { padding: 32px 20px; }
    .termin-panel { border-radius: 16px; }
    .termin-widget { height: 1100px; }
    .termin-help { padding: 0 16px; }
}
