/* Seminar-Anmeldung 2026 (page-seminar-anmeldung.php). Tokens, header and footer live in chrome.css. */

body.ba-anmeldung-2026 {
	margin: 0;
	background: var(--bah-sand);
	color: var(--bah-text);
	font-family: var(--bah-font);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
.bah-anm *, .bah-anm *::before, .bah-anm *::after { box-sizing: border-box; }
.bah-anm img { max-width: 100%; height: auto; display: block; }
.bah-anm a { color: inherit; text-decoration: none; }
.bah-anm h1, .bah-anm h2, .bah-anm h3 { margin: 0; color: var(--bah-ink); }
.bah-anm p { margin: 0; }
.bah-anm ul, .bah-anm ol { margin: 0; padding: 0; list-style: none; }
.bah-anm svg { width: 1em; height: 1em; flex: none; }
.bah-anm svg:not([fill]) { fill: currentColor; }

/* Shared bits (same look as on the start page) */
.bah-anm .bah-card { background: #fff; border: 1px solid var(--bah-line); border-radius: var(--bah-radius); box-shadow: 0 10px 26px -20px rgba(20, 30, 60, .5); }
.bah-anm .bah-tag { display: inline-block; padding: 3px 9px; border-radius: 3px; background: var(--bah-navy-2); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.3; }
.bah-anm .bah-more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--bah-head); font-weight: 700; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: var(--bah-orange); }
.bah-anm .bah-more svg { width: 16px; height: 16px; }
.bah-kurs__facts { display: grid; gap: 8px; margin: 14px 0 0 !important; font-size: 15px; color: var(--bah-ink); }
.bah-kurs__facts li { display: flex; gap: 10px; align-items: flex-start; }
.bah-kurs__facts svg { width: 18px; height: 18px; margin-top: 2px; color: var(--bah-orange); }

/* Hero */
.bah-anm-hero {
	position: relative; overflow: hidden; background: var(--bah-navy); color: #fff;
}
.bah-anm-hero::before {
	content: ""; position: absolute; inset: 0 0 0 45%;
	background: #fff var(--bah-anm-img, none) center / cover no-repeat;
}
.bah-anm-hero::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, var(--bah-navy) 0%, var(--bah-navy) 45%, rgba(36, 54, 95, .55) 62%, rgba(36, 54, 95, 0) 85%);
}
.bah-anm-hero__inner { position: relative; z-index: 1; padding-top: 28px; padding-bottom: 40px; }
.bah-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: rgba(255, 255, 255, .7); }
.bah-crumbs li + li::before { content: "›"; margin-right: 6px; }
.bah-crumbs a:hover { color: #fff; text-decoration: underline; }
.bah-crumbs [aria-current] { color: #fff; }
.bah-anm-hero .bah-tag { margin-top: 22px; background: var(--bah-orange); }
.bah-anm-hero__title {
	max-width: 620px; margin-top: 10px !important; color: #fff !important;
	font-family: var(--bah-head); font-weight: 700; font-size: clamp(34px, 4.6vw, 56px); line-height: 1; text-transform: uppercase;
}

/* Layout */
.bah-anm__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; padding-top: 32px; padding-bottom: 56px; }
.bah-anm__form { padding: 32px 32px 36px; background: #fff; border: 1px solid var(--bah-line); border-radius: var(--bah-radius); box-shadow: 0 10px 26px -20px rgba(20, 30, 60, .5); }
.bah-anm__h2 { font-family: var(--bah-head); font-weight: 700; font-size: 32px; line-height: 1; text-transform: uppercase; }
.bah-anm__lead { margin-top: 8px !important; color: var(--bah-muted); }
.bah-anm__side { display: grid; gap: 20px; position: sticky; top: 112px; }
.admin-bar .bah-anm__side { top: 144px; }

/* Seminar card */
.bah-anm-sem { overflow: hidden; }
.bah-anm-sem__media { position: relative; aspect-ratio: 16 / 10; background: #fff; border-bottom: 1px solid var(--bah-line); }
.bah-anm-sem__media img { width: 100%; height: 100%; object-fit: contain; }
.bah-anm-sem__tag { position: absolute; left: 12px; top: 12px; }
.bah-anm-sem__body { padding: 20px 22px 22px; }
.bah-anm-sem__title { font-size: 21px; font-weight: 700; line-height: 1.25; }
.bah-anm-note { display: flex; gap: 10px; margin: 18px 0 16px !important; padding: 12px 14px; border-radius: var(--bah-radius); background: #fdeee7; color: #a33a0c; font-size: 14px; line-height: 1.45; }
.bah-anm-note svg { width: 18px; height: 18px; margin-top: 1px; }
.bah-anm-sem__body > .bah-more { margin-top: 16px; }

/* Contact card */
.bah-anm-contact { padding: 22px; }
.bah-anm-contact__title { font-size: 20px; font-weight: 700; }
.bah-anm-contact > p { margin-top: 4px !important; color: var(--bah-muted); font-size: 15px; }
.bah-anm-contact ul { display: grid; gap: 10px; margin-top: 14px !important; font-size: 15px; }
.bah-anm-contact li { display: flex; gap: 10px; align-items: flex-start; }
.bah-anm-contact svg { width: 18px; height: 18px; margin-top: 2px; color: var(--bah-orange); }
.bah-anm-contact a:hover { color: var(--bah-orange); }

/*
 * Contact Form 7 form 3799, restyled without touching its markup (field names
 * and the mail template stay as they are). Six-column grid: section titles
 * and texts span all, the three participant columns two each, the company
 * and billing fields three each.
 */
.bah-anm .wpcf7 form > .row.fullpagem { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 18px; margin: 0; }
.bah-anm .wpcf7 .row > [class*="col-"] { grid-column: span 6; width: auto; max-width: none; padding: 0; flex: none; }
.bah-anm .wpcf7 .row > .custom { grid-column: span 2; }
.bah-anm .wpcf7 .row > .ifull { grid-column: span 3; }
.bah-anm .wpcf7 .row > .col-xl-8.custom { grid-column: span 4; }
.bah-anm .wpcf7 .row > p { grid-column: span 6; margin: 0; }
/* The seminar fields are filled from the link and shown in the side card. */
.bah-anm .wpcf7 .row > div:has(input[name="event-id"]) { display: none; }
/* The form markup has stray headings that hold only a space: the untitled
   first block, a second <h3> after every title and one before the quiz. */
.bah-anm .wpcf7 .row > .col-12:first-child,
.bah-anm .wpcf7 .row > .col-12 > h3:not(.form-title),
.bah-anm .wpcf7 .row > p:has(h3),
.bah-anm .wpcf7 .row > h3 { display: none; }
.bah-anm .wpcf7 h3.form-title {
	margin: 28px 0 14px; padding: 0 0 8px; border-bottom: 2px solid var(--bah-line);
	font-family: var(--bah-head); font-weight: 700; font-size: 20px; letter-spacing: .04em; text-transform: uppercase; color: var(--bah-navy);
}
.bah-anm .wpcf7 .d-flex { display: block !important; margin-bottom: 14px; }
.bah-anm .wpcf7 .d-flex > p { margin: 0; }
.bah-anm .wpcf7 label { display: block; margin: 0 0 5px; font-size: 13px; font-weight: 600; color: var(--bah-ink); }
.bah-anm .wpcf7 br { display: none; }
.bah-anm .wpcf7 input[type="text"], .bah-anm .wpcf7 input[type="email"], .bah-anm .wpcf7 input[type="tel"], .bah-anm .wpcf7 input[type="number"], .bah-anm .wpcf7 textarea {
	width: 100%; height: 46px; padding: 10px 14px; margin: 0;
	border: 1px solid #d5d9e3; border-radius: var(--bah-radius); background: #fff;
	font: inherit; font-size: 15px; color: var(--bah-ink); box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.bah-anm .wpcf7 input:focus, .bah-anm .wpcf7 textarea:focus { outline: none; border-color: var(--bah-navy-2); box-shadow: 0 0 0 3px rgba(52, 73, 124, .15); }
.bah-anm .wpcf7 .wpcf7-not-valid { border-color: #c62828 !important; }
.bah-anm .wpcf7 .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; color: #c62828; }
.bah-anm .wpcf7 .desc { margin-top: 10px; padding: 18px 20px; border-radius: var(--bah-radius); background: var(--bah-sand); font-size: 14px; line-height: 1.55; }
.bah-anm .wpcf7 .desc p + p { margin-top: 10px; }
.bah-anm .wpcf7 .desc strong { color: var(--bah-navy) !important; }
.bah-anm .wpcf7 .desc a { color: var(--bah-navy-2) !important; text-decoration: underline; }
.bah-anm .wpcf7 .check-input { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; font-weight: 600; }
.bah-anm .wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.bah-anm .wpcf7 input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--bah-orange); }
.bah-anm .wpcf7 .row > .col-xl-4.custom:has(input[name="c-date"]), .bah-anm .wpcf7 .row > .col-xl-8.custom { margin-top: 18px; }
.bah-anm .wpcf7 .wpcf7-quiz-label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 600; color: var(--bah-ink); }
.bah-anm .wpcf7 .row > .desc:has(.wpcf7-quiz) { margin-top: 4px; padding: 0; background: none; max-width: 260px; }
.bah-anm .wpcf7 .submt-btm { margin-top: 18px; }
.bah-anm .wpcf7 input[type="submit"] {
	width: 100%; height: auto; padding: 16px 22px; border: 0; border-radius: 4px; cursor: pointer;
	background: var(--bah-orange); color: #fff;
	font-family: var(--bah-head); font-weight: 700; font-size: 18px; letter-spacing: .06em; text-transform: uppercase;
	box-shadow: 0 6px 16px -8px rgba(232, 88, 29, .8); transition: background-color .2s;
}
.bah-anm .wpcf7 input[type="submit"]:hover { background: var(--bah-orange-dark); }
.bah-anm .wpcf7 .wpcf7-spinner { display: block; margin: 10px auto 0; }
.bah-anm .wpcf7 .wpcf7-response-output { margin: 18px 0 0; padding: 12px 16px; border-radius: var(--bah-radius); font-size: 15px; }

@media (max-width: 1020px) {
	/* One column: the seminar card goes above the form, so date and place
	   are visible before filling in; the contact card goes below it. */
	.bah-anm__grid { grid-template-columns: 1fr; }
	.bah-anm__side { display: contents; }
	.bah-anm-sem { order: -1; }
	.bah-anm-sem__media, .bah-anm-sem__title { display: none; }
	.bah-anm-contact { order: 1; }
}
@media (max-width: 760px) {
	.bah-anm .wpcf7 .row > .custom, .bah-anm .wpcf7 .row > .ifull, .bah-anm .wpcf7 .row > .col-xl-8.custom { grid-column: span 6; }
	/* The participant fields sit in three columns (Vorname/Straße/PLZ,
	   Name/Tel., Geburtsdatum/E-Mail). Stacked, that reads Vorname, Straße,
	   PLZ, Name: dissolve the columns and put the fields in reading order. */
	.bah-anm .wpcf7 .row > .custom:is(:has([name="t-first-name"]), :has([name="t-name"]), :has([name="t-email"])) { display: contents; }
	.bah-anm .wpcf7 .row > .custom > .d-flex { grid-column: 1 / -1; }
	.bah-anm .wpcf7 .d-flex:has([name="t-first-name"]) { order: 1; }
	.bah-anm .wpcf7 .d-flex:has([name="t-name"]) { order: 2; }
	.bah-anm .wpcf7 .d-flex:has([name="t-date-of-birth"]) { order: 3; }
	.bah-anm .wpcf7 .d-flex:has([name="t-email"]) { order: 4; }
	.bah-anm .wpcf7 .d-flex:has([name="t-phone"]) { order: 5; }
	.bah-anm .wpcf7 .d-flex:has([name="t-address"]) { order: 6; }
	.bah-anm .wpcf7 .d-flex:has([name="t-postcode"]) { order: 7; }
	.bah-anm .wpcf7 .row > .custom:has([name="t-email"]) ~ * { order: 10; }
	.bah-anm__form { padding: 22px 18px 26px; }
	.bah-anm-hero::before { inset: 0; opacity: .25; }
	.bah-anm-hero::after { background: linear-gradient(180deg, rgba(36, 54, 95, .85), var(--bah-navy)); }
}
