/* /assets/course-code-homeb-20261014.css */
.balanced-course-path-details dt,
.balanced-course-path-details .course-code-inline-label {
  color: var(--brown-dark);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.7;
}

.course-code-inline { display: inline-block; max-width: 100%; vertical-align: top; overflow-wrap: anywhere; }
.course-code-inline .code-separator { margin: 0 10px; color: var(--brown-dark); }
.course-code-inline-label { margin-right: 8px; }
.course-code-inline .code-value { font-variant-numeric: tabular-nums; }
.course-code-value { overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }


@media (min-width: 601px) { .course-shared-facts.course-shared-facts--with-code { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.45fr) minmax(0, .75fr) minmax(0, 1fr); gap: 16px; } }

/* /assets/course-period-20261015.css */
.course-block-start { font-variant-numeric: tabular-nums; }

/* /assets/course-mobile-spacing-20261015.css */
@media (max-width: 600px) {
  .course-block-status[aria-hidden="true"] { display: none; }
  .course-block-status[aria-hidden="true"] + .course-block-action { margin-top: 18px; }
}

/* /assets/course-button-mobile-20261024.css */
@media (max-width: 600px) {
  .course-block-action--secondary { max-width: 100%; gap: 10px; padding: 7px 12px; line-height: 1.3; }
}

/* /assets/course-button-width-20261024.css */
@media (max-width: 600px) {
  .course-block-action--secondary { width: min(100%, 210px); max-width: 100%; gap: 10px; padding: 7px 12px; line-height: 1.3; }
}

/* /assets/course-dates-approved-20261024.css */
/* Approved course-period typography; year never affects separator alignment. */
.course-block .course-block-start:has(.course-period) { margin-top: 22px; }
.course-period { display: grid; grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 8px; row-gap: 8px; align-items: center; width: 100%; max-width: 390px; margin-inline: auto; text-align: center; }
.course-period-date { display: contents; }
.course-period-day { grid-row: 1; font-family: 'Libre Caslon Display', Georgia, serif; font-size: 28px; font-weight: 400; line-height: 1.1; white-space: nowrap; font-variant-numeric: normal; }
.course-period-year { grid-row: 2; font-family: 'DM Sans', Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.4; color: var(--brown-dark, #4e3d33); }
.course-period-date--start > span { grid-column: 1; }
.course-period-date--end > span { grid-column: 3; }
.course-period-separator { grid-column: 2; grid-row: 1; font-family: 'DM Sans', Arial, sans-serif; font-size: 22px; line-height: 1; font-weight: 300; color: var(--brown-dark, #4e3d33); }
@media (min-width: 601px) {
 .course-block .course-block-start:has(.course-period) + .course-block-status { margin-top: 38px; }
 .course-block .course-block-start:has(.course-period) + .course-block-differences { margin-top: 38px; }
}
@media (max-width: 600px) {
 .course-block-details--switchable .course-block .course-block-start:has(.course-period) { margin-top: 0; }
 .course-period-day { font-size: 30px; }
 .course-period-year { font-size: 14px; }
}
@media (max-width: 390px) { .course-period-day { font-size: 28px; } }
@media (max-width: 340px) { .course-period-day { font-size: 26px; } }

/* /assets/course-mobile-gap-20261024.css */
@media (max-width: 600px) {
 .course-block .course-block-start:has(.course-period) + .course-block-status { margin-top: 34px; }
 .course-block .course-block-start:has(.course-period) + .course-block-differences { margin-top: 34px; }
}

/* /assets/course-description-gap-20261024.css */
@media (max-width: 600px) {
 .place-course-layout .place-course-description { margin-top: 48px; }
}

/* /assets/course-date-gap-20261024.css */
@media (max-width: 600px) {
 .course-block .course-period { grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr); column-gap: 12px; }
}
@media (max-width: 350px) {
 .course-block .course-period { grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr); column-gap: 8px; }
}

/* /assets/course-date-content-gap-20261024.css */
@media (max-width: 600px) {
 .course-block .course-period { grid-template-columns: max-content 22px max-content; justify-content: center; column-gap: 20px; }
}
@media (max-width: 350px) {
 .course-block .course-period { column-gap: 12px; }
}

/* /assets/course-desktop-date-gap-20261024.css */
@media (min-width: 601px) {
 .course-block .course-period { grid-template-columns: max-content 22px max-content; justify-content: center; column-gap: 12px; }
}

/* /assets/course-mobile-no-arrows-20261024.css */
@media (max-width: 600px) {
 .course-block-details .course-block-navigation { display: none; }
}

/* /assets/course-desktop-numeric-20261025.css */
.course-period-numeric { display: none; }
@media (min-width: 601px) {
 .course-block .course-period-display > .course-period { display: none; }
 .course-block .course-period-display > .course-period-numeric { display: inline; font-family: 'DM Sans', Arial, sans-serif; font-size: 20px; font-weight: 400; line-height: 1.4; white-space: nowrap; }
 .course-block .course-block-start:has(.course-period-display) { font-size: 20px; line-height: 1.4; }
}

/* /assets/course-mobile-numeric-20261025.css */
@media (max-width: 600px) {
 .course-block .course-period-display > .course-period { display: none; }
 .course-block .course-period-display > .course-period-numeric { display: inline; font-family: 'DM Sans', Arial, sans-serif; font-size: 20px; font-weight: 400; line-height: 1.4; white-space: nowrap; }
 .course-block .course-block-start:has(.course-period-display) { font-size: 20px; line-height: 1.4; }
}
@media (max-width: 350px) {
 .course-block .course-block-start:has(.course-period-display) { margin-inline: -12px; }
 .course-block .course-period-display > .course-period-numeric, .course-block .course-block-start:has(.course-period-display) { font-size: 18px; }
}

/* /assets/booking-actions-20261025.css */
.course-block .course-question-action { display: block; width: fit-content; margin: 12px auto 0; color: #4e3d33; font-size: 17px; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.course-question-action svg { display: none; }
.course-question-action:focus-visible { outline: 2px solid #4e3d33; outline-offset: 4px; }
.course-question-action:hover { color: #20201d; }

/* /assets/contact-location-hierarchy-20261025.css */
/* The user's second full-form reference defines the hierarchy, not a uniform size. */
.contact-form>label>span,.contact-form .field-row label>span{font-size:12px;font-weight:400;letter-spacing:.035em}
.contact-form>label.newsletter-optin>span{font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}
.contact-form .contact-location-selection{border:0;padding:0;margin:0;min-width:0;display:block}
.contact-form .contact-location-selection>legend{padding:0;margin:0 0 16px;font:inherit;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.035em}
.contact-form .contact-location-fields{display:grid;gap:20px}
.contact-form .contact-location-fields label{display:grid;gap:8px;min-width:0}
.contact-form .contact-location-fields label>span{font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.5}
.contact-form fieldset.contact-location-selection .contact-location-fields select{display:block;width:100%;min-width:0;min-height:44px;background:#fffdf8;border:1px solid #765a49;border-radius:5px;padding:10px 12px;font:inherit;font-size:14px;font-weight:400;line-height:1.5;color:#20201d}
.contact-form .contact-other-inquiry{border:0;border-top:1px solid rgba(32,32,29,.18);padding:16px 0 0;margin:20px 0 0;min-width:0}
.contact-form .contact-other-inquiry>legend{float:left;width:100%;padding:0;margin:0 0 8px;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none}
.contact-form .contact-other-options{clear:both;display:flex;flex-wrap:wrap;gap:4px 24px}
.contact-form .contact-other-options label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.contact-form .contact-other-options label>span{font-size:14px;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400}
.contact-form .contact-other-options input{width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:#4e3d33;flex:none}
.contact-form .contact-selected-inquiry{margin-top:16px;padding-top:12px;border-top:1px solid rgba(32,32,29,.18);font-size:12px;font-weight:400;color:#4e3d33;line-height:1.5}
.contact-form .contact-selected-inquiry strong{display:block;margin-top:4px;color:#20201d;font-size:12px;font-weight:600;line-height:1.5}
.contact-form .contact-location-selection :focus-visible{outline:2px solid #765a49;outline-offset:3px}
@media(max-width:600px){.contact-form .contact-other-options{display:grid;gap:0}}

/* /assets/contact-selection-v1-20261025.css */
.contact-form .contact-v1{border:0;margin:0;padding:0;min-width:0;grid-column:1/-1;color:#20201d;font-family:'DM Sans',Arial,sans-serif}
.contact-v1 legend{padding:0;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.contact-v1 .contact-v1-trigger{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #765a49;padding:12px 0 16px;min-height:58px}
.contact-v1 .contact-v1-trigger::-webkit-details-marker{display:none}.contact-v1-current{font-size:17px;line-height:1.45}.contact-v1-current small{display:block;font-size:13px;color:#514b42;margin-top:3px}.contact-v1-chevron{font-size:20px}.contact-v1-trigger[aria-expanded=true] .contact-v1-chevron{transform:rotate(180deg)}
.contact-v1-menu{background:#fffdf8;border:1px solid #b2a794;border-radius:8px;margin-top:8px;overflow:hidden}
.contact-v1-place{font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:#f3f0e7;color:#4e3d33;padding:10px 18px;font-weight:650}
.contact-form .contact-v1-option{position:relative;display:flex;align-items:center;gap:14px;width:100%;margin:0;background:transparent;border:0;border-bottom:1px solid #e4dfd3;padding:12px 18px;min-height:61px;cursor:pointer;font-size:16px;letter-spacing:normal;text-transform:none;font-weight:400}
.contact-form .contact-v1-option:hover{background:#f2f4ed}.contact-form .contact-v1-option.is-selected{background:#edf2e9}
.contact-form .contact-v1-option input{position:absolute;width:1px;height:1px;opacity:0;padding:0;pointer-events:none}
.contact-v1-option::before{content:'';width:18px;flex:none;color:#4e3d33}.contact-v1-option.is-selected::before{content:'✓'}
.contact-v1-option:focus-within{outline:2px solid #765a49;outline-offset:-3px}.contact-v1 .contact-v1-trigger:focus-visible{outline:2px solid #765a49;outline-offset:4px}
.contact-form .contact-v1-facts{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;min-width:0}.contact-v1-name{min-width:0}.contact-v1-name strong{font-size:16px;font-weight:550;display:block}.contact-v1-name small{display:block;font-size:13px;color:#514b42;margin-top:3px}.contact-v1-date{font-size:14px;white-space:nowrap;text-align:right}
.contact-v1-extras{display:flex;flex-wrap:wrap;gap:0 20px;border-top:1px solid #b2a794;padding:12px 18px}.contact-form .contact-v1-extras .contact-v1-option{width:auto;min-height:44px;padding:4px 0;border:0;font-size:14px;gap:6px}.contact-v1-extras .contact-v1-option::before{display:none}.contact-v1-extras .contact-v1-option span{text-decoration:underline;text-underline-offset:4px}.contact-v1-extras .contact-v1-option.is-selected{font-weight:700}.contact-v1-error,.contact-v1-empty{font-size:14px;line-height:1.5;color:#4e3d33;padding:12px 18px;margin:0}
@media(max-width:650px){.contact-form .contact-v1-option{padding:12px;gap:8px}.contact-v1-name strong{font-size:14px}.contact-v1-date{font-size:12px}.contact-form .contact-v1-facts{gap:8px}.contact-v1-place{padding:10px 12px}.contact-v1-extras{padding:8px 12px;gap:0 16px}}

.contact-v1 .contact-v1-trigger{width:100%;background:transparent;border-top:0;border-left:0;border-right:0;border-radius:0;text-align:left;font:inherit;color:inherit}.contact-v1-menu[hidden]{display:none}

.contact-form .contact-v1-option span,.contact-form .contact-v1-option small{letter-spacing:normal;text-transform:none}
@media(max-width:360px){.contact-form .contact-v1-facts{align-items:flex-start;flex-direction:column;gap:5px}.contact-v1-date{text-align:left}.contact-form .contact-v1-option{gap:6px}}

/* /assets/contact-place-left-20261025.css */
/* Variante 5: gemeinsame Funktionstypografie, bestehender Nachrichten-Hintergrund. */
.contact-form.contact-form.contact-form{display:flex;flex-direction:column;gap:24px;font:400 16px/1.5 'DM Sans',Arial,sans-serif;color:#20201d}
#balanced-contact-form-title,#place-contact-form-title,#about-contact-form-title{font-family:'Libre Caslon Display',Georgia,serif;font-size:3rem;font-weight:400;line-height:1.08;letter-spacing:-.02em;margin-bottom:32px;text-wrap:balance}
.contact-form.contact-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-form.contact-form.contact-form label{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:normal;text-transform:none}
.contact-form.contact-form.contact-form label>span{font-size:16px;line-height:1.5;font-weight:500;letter-spacing:normal;text-transform:none}
.contact-form.contact-form.contact-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]){width:100%;background:transparent;border:0;border-bottom:1px solid #765a49;border-radius:0;padding:8px 0;min-height:44px;font:400 16px/1.5 'DM Sans',Arial,sans-serif;caret-color:#4e3d33}
.contact-form.contact-form.contact-form .newsletter-optin{flex-direction:row;align-items:flex-start;gap:12px;margin-top:-8px}
.contact-form.contact-form .newsletter-optin input{width:18px;height:18px;flex:none;margin:3px 0;accent-color:#4e3d33}
.contact-form.contact-form.contact-form .newsletter-optin span{font-size:16px;font-weight:400;line-height:1.5}
.contact-form.contact-form.contact-form .contact-message-field{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:8px}
.contact-form.contact-form.contact-form .contact-message-field textarea{width:100%;resize:vertical;min-height:136px;padding:12px;background:rgba(255,253,248,.52);border:1px solid #765a49;border-radius:0;font:400 16px/1.5 'DM Sans',Arial,sans-serif;caret-color:#4e3d33}
.contact-form.contact-form.contact-form .form-privacy{font-size:16px;line-height:1.5;margin:-8px 0 0;letter-spacing:normal;color:#20201d}
.contact-form.contact-form a{color:#4e3d33;text-underline-offset:3px}
.contact-form.contact-form.contact-form .button{align-self:flex-start;min-height:48px;border:1px solid #4e3d33;border-radius:5px;background:#4e3d33;color:#fffdf8;padding:12px 20px;font:500 16px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:normal;text-transform:none}
.contact-form.contact-form .button:hover{background:#20201d}.contact-form.contact-form .button:disabled{opacity:.65;cursor:wait}
.contact-form.contact-form :focus-visible{outline:2px solid #4e3d33;outline-offset:4px}.contact-form.contact-form ::selection{background:#dfe7d8;color:#20201d}
.contact-form.contact-form .contact-v1{border:0;margin:0;padding:0;min-width:0;font-family:inherit}
.contact-form.contact-form .contact-v1 legend{font-size:16px;font-weight:500;line-height:1.5;letter-spacing:normal;text-transform:none;margin-bottom:8px;padding:0}
.contact-form.contact-form .contact-v1-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border:0;border-bottom:1px solid #765a49;border-radius:0;background:transparent;min-height:48px;text-align:left;font:400 16px/1.5 'DM Sans',Arial,sans-serif}
.contact-form.contact-form .contact-v1-current,.contact-form.contact-form .contact-v1-current small{font-size:16px;font-weight:400;line-height:1.5}.contact-form.contact-form .contact-v1-current small{display:block;color:#4e3d33;margin-top:4px}
.contact-form.contact-form .contact-v1-chevron{font-size:0;width:20px;height:20px;position:relative}.contact-form.contact-form .contact-v1-chevron::after{content:'';display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);position:absolute;left:6px;top:3px}
.contact-form.contact-form .contact-v1-menu{background:transparent;border:0;border-bottom:1px solid #765a49;border-radius:0;margin-top:8px;overflow:hidden}.contact-form.contact-form .contact-v1-menu[hidden]{display:none}
.contact-form.contact-form .contact-v1-place{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:normal;text-transform:none;background:transparent;padding:16px 0 8px;color:#4e3d33}
.contact-form.contact-form.contact-form .contact-v1-option{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid rgba(32,32,29,.18);min-height:76px;cursor:pointer;font-size:16px;font-weight:400;letter-spacing:normal;text-transform:none;background:transparent}
.contact-form.contact-form .contact-v1-option::before{display:none;content:none}
.contact-form.contact-form .contact-v1-option input{position:static;opacity:1;pointer-events:auto;accent-color:#4e3d33;height:18px;width:18px;flex:none;margin:0;padding:0}
.contact-form.contact-form .contact-v1-option:hover{background:#edf2e9}.contact-form.contact-form .contact-v1-option.is-selected{background:#dfe7d8}
.contact-form.contact-form .contact-v1-facts{flex:1;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-start;gap:4px;min-width:0}
.contact-form.contact-form .contact-v1-name{min-width:0}.contact-form.contact-form .contact-v1-name strong,.contact-form.contact-form .contact-v1-name small{display:inline;margin:0;font-size:16px;line-height:1.5;letter-spacing:normal;text-transform:none}
.contact-form.contact-form .contact-v1-name strong{font-weight:600}.contact-form.contact-form .contact-v1-name small{font-weight:400;color:#4e3d33}.contact-form.contact-form .contact-v1-name small::before{content:' · '}
.contact-form.contact-form .contact-v1-date{font-size:16px;font-weight:400;line-height:1.5;white-space:normal;text-align:left;color:#4e3d33;font-variant-numeric:tabular-nums}
.contact-form.contact-form .contact-v1-extras{display:flex;flex-wrap:wrap;gap:0 20px;border-top:1px solid #765a49;padding:8px 0;background:transparent}
.contact-form.contact-form.contact-form .contact-v1-extras .contact-v1-option{width:auto;min-height:44px;padding:4px 0;border:0;gap:8px}
.contact-form.contact-form.contact-form .contact-v1-extras .contact-v1-option span{font-weight:400;font-size:16px;text-decoration:none}
.contact-form.contact-form .contact-v1-error,.contact-form.contact-form .contact-v1-empty,.contact-form.contact-form .form-status{font-size:16px;line-height:1.5;color:#4e3d33}
@media(max-width:600px){.contact-form.contact-form .field-row{gap:16px}.contact-form.contact-form .contact-v1-extras{gap:0 12px}}
@media(max-width:380px){.contact-form.contact-form .field-row{grid-template-columns:1fr}}

/* Native Radios bleiben für Tastatur, Validierung und Screenreader erhalten. */
.contact-form.contact-form .contact-v1-option input[type=radio]{position:absolute;width:1px;height:1px;padding:0;margin:0;opacity:0;clip-path:inset(50%);overflow:hidden;pointer-events:none}
.contact-form.contact-form .contact-v1-option:focus-within{outline:none}
.contact-form.contact-form .contact-v1-option:has(input:focus-visible){outline:2px solid #4e3d33;outline-offset:-3px}

/* Drei gleichwertige Anliegen, vollständige Auswahlflächen ohne Kreise. */
.contact-form.contact-form .contact-v1-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0}
.contact-form.contact-form.contact-form .contact-v1-extras .contact-v1-option{width:100%;min-height:56px;padding:12px 16px;justify-content:center;text-align:center;border:0}
.contact-form.contact-form.contact-form .contact-v1-extras .contact-v1-option+.contact-v1-option{border-left:1px solid rgba(32,32,29,.18)}
@media(max-width:600px){.contact-form.contact-form .contact-v1-extras{grid-template-columns:1fr}.contact-form.contact-form.contact-form .contact-v1-extras .contact-v1-option{justify-content:flex-start;text-align:left}.contact-form.contact-form.contact-form .contact-v1-extras .contact-v1-option+.contact-v1-option{border-left:0;border-top:1px solid rgba(32,32,29,.18)}}

/* Gleiche Textkante für alle Kurszeilen und Ortsüberschriften. */
.contact-form.contact-form.contact-form .contact-v1-menu>[role=group]>.contact-v1-option{padding-left:16px;padding-right:16px}
.contact-form.contact-form .contact-v1-place{padding-left:16px;padding-right:16px}


.contact-form.contact-form .contact-v1-place{padding-left:0;padding-right:0;text-align:left}

/* /assets/course-button-equal-v3-20261025.css */
@media (max-width: 600px) {
  .course-block-details .course-block .course-block-action {
    box-sizing: border-box;
    width: min(100%, 210px);
    max-width: 100%;
    min-height: 49px;
    gap: 10px;
    padding: 7px 12px;
    line-height: 1.3;
  }
}


/* Kompaktere Kurszeilen; ausreichend Platz auch bei mehrzeiligen Titeln. */
.contact-form.contact-form.contact-form .contact-v1-menu>[role=group]:not(.contact-v1-extras)>.contact-v1-option{padding-top:6px;padding-bottom:6px;min-height:60px}
