/* Verified responsive corrections to the exported prototype. */
@media (min-width: 961px) and (max-width: 1180px) {
  .site-header .site-nav { display: none; }
  .site-header .header-actions { margin-inline-start: auto; }
}
.course-detail > * { min-inline-size: 0; }
.course-detail h2 { overflow-wrap: anywhere; }
body.elementor-editor-active .hero-copy h1 { color: var(--fg); }
/* Xpro owns the global landmarks; imported Elementor roots retain the design geometry. */
.xpro-theme-builder-header, .xpro-theme-builder-header-nav, #xpro-theme-builder-footer,
.xpro-theme-builder-header-nav > .elementor, #xpro-theme-builder-footer > .elementor { display: contents; }
.ahse-wp-footer-menu { list-style: none; padding: 0; margin: 0; }
.footer-bottom .ahse-wp-legal-menu { display:flex; gap:1rem; flex-wrap:wrap; }
.footer-bottom .ahse-wp-legal-menu li { margin:0; }
.ahse-menu-branch { min-width:0; }
.ahse-menu-sublist { padding-inline-start:1rem; }
.ahse-menu-root-link a { display:block; padding-block:12px; }
/* Fixed Xpro header must not cover in-page anchor destinations. */
html { scroll-padding-top: 120px; }
/* Native WPForms replaces the non-submitting prototype wizard. */
.contact-layout--managed { grid-template-columns: minmax(0,1fr); }
.ahse-managed-form { width:100%; max-width:960px; }
.ahse-managed-form .wpforms-container { margin:24px 0 0; --wpforms-button-background-color:#13264c; --wpforms-button-border-color:#13264c; --wpforms-button-text-color:#fff; }
.ahse-managed-form .wpforms-container .wpforms-field { padding-block:14px; }
.ahse-managed-form .wpforms-container label { font-family:inherit; }
.ahse-managed-form .wpforms-container input,
.ahse-managed-form .wpforms-container select,
.ahse-managed-form .wpforms-container textarea { max-width:100%; font:inherit; }
.ahse-managed-form .wpforms-container button[type=submit] { background:#18231f; color:#fff; min-height:48px; padding:12px 24px; border-radius:4px; }
.ahse-managed-form > p { padding:12px 16px; border:1px solid currentColor; font-size:14px; }
.ahse-managed-calendar .elementor-widget { width:100%; min-width:0; }
.lang-switch :is(a,span).lang-button { display:inline-flex; align-items:center; justify-content:center; }
.lang-switch span.lang-button { cursor:default; }
.lang-switch a.lang-button { text-decoration:none; }
/* The design marks the active language via aria-pressed on buttons; real language links carry aria-current instead. */
.lang-switch .lang-button[aria-current=page] { font-weight:700; opacity:1; background:var(--surface-on-dark); color:var(--fg); }
.lang-switch a.lang-button:focus-visible { outline:2px solid var(--accent, #d49e5c); outline-offset:2px; }
.ahse-heading-link { color:inherit; font:inherit; text-decoration:inherit; }
.ahse-image-link { display:inline-block; max-width:100%; vertical-align:middle; }
.image-frame .ahse-image-link { display:block; width:100%; height:100%; }
.ahse-image-link:focus-visible img { outline:2px solid currentColor; outline-offset:3px; }
/* Keep the shared mobile logo clear of the social controls at 320px. */
@media(max-width:380px){.site-header .brand img,.menu-header img{width:min(240px,calc(100vw - 120px));}}
/* Im Elementor-Editor darf ein Klick in der Vorschau nicht auf eine andere Seite führen.
   Elementors Klicksperre greift nicht bei Links im Shadow DOM eines Custom Elements
   (das Kurs-Widget). Ohne diese Regel landet die Vorschau auf einer serverseitig
   gerenderten Kursseite, die keinen Elementor-Inhaltsbereich hat, und der Editor meldet
   "kein Inhaltsbereich gefunden". Der Wrapper bleibt klickbar, das Widget also auswählbar. */
body.elementor-editor-active ahse-course-widget { pointer-events: none; }
