.kin-training,
.kin-course-grid {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	color: inherit;
	font: inherit;
}
.kin-training *, .kin-course-grid * { box-sizing: border-box; }
.kin-badges { display:flex; align-items:center; gap:14px; margin:0 0 26px; min-height:74px; }
.kin-badges img { display:block; width:auto; height:72px; max-width:120px; object-fit:contain; }
.kin-tabs { display:flex; align-items:stretch; gap:8px; margin:0 0 38px; overflow-x:auto; }
.kin-tab { appearance:none; border:1px solid rgba(0,0,0,.12); background:transparent; color:inherit; font:inherit; font-weight:600; padding:16px 24px; min-height:50px; display:inline-flex; justify-content:center; align-items:center; gap:8px; cursor:pointer; white-space:nowrap; }
.kin-tab.is-active { border-color:currentColor; }
.kin-tab-icon { position:relative; display:inline-block; width:14px; height:14px; color:currentColor; opacity:.7; }
.kin-tab-bookmark { width:10px; height:14px; background:currentColor; clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%); }
.kin-tab-cube { width:13px; height:13px; border:2px solid currentColor; transform:rotate(30deg) skew(-5deg); }
.kin-tab-person::before { content:''; position:absolute; width:7px; height:7px; border-radius:50%; background:currentColor; left:3px; top:0; }
.kin-tab-person::after { content:''; position:absolute; width:13px; height:7px; border-radius:8px 8px 2px 2px; background:currentColor; left:0; bottom:0; }
.kin-panel[hidden] { display:none !important; }
.kin-description-grid { display:grid; grid-template-columns:minmax(0,2.25fr) minmax(245px,.95fr); gap:clamp(30px,5vw,70px); align-items:start; }
.kin-description-content { color:inherit; }
.kin-description-content p { margin-bottom:1em; }
.kin-course-sidebar h2 { margin-top:0; }
.kin-info-block { padding:18px 0 22px; border-bottom:1px solid rgba(0,0,0,.12); }
.kin-info-heading { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:center; margin-bottom:7px; }
.kin-info-heading-icon { width:18px; height:18px; display:grid; place-items:center; }
.kin-info-heading-icon img { width:17px; height:17px; object-fit:contain; }
.kin-info-values { list-style:none; margin:0 0 0 18px; padding:0; }
.kin-info-values li { position:relative; padding-left:22px; margin:5px 0; }
.kin-info-values li::before, .kin-square-list li::before { content:''; position:absolute; left:0; top:.48em; width:9px; height:9px; background:var(--ast-global-color-0, currentColor); }
.kin-secondary-link { display:flex; align-items:center; width:fit-content; gap:9px; font-weight:700; margin:38px 0 16px; }
.kin-info-circle { display:inline-grid; place-items:center; width:34px; height:34px; border:1px solid currentColor; border-radius:50%; font-weight:700; }
.kin-apply-button, .kin-calendar-button, .kin-course-card-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; width:fit-content; border:0; border-radius:999px; background:var(--ast-global-color-0, #4baec6); color:#fff !important; padding:10px 20px; text-decoration:none !important; }
.kin-calendar-button { border-radius:4px; margin:0 0 28px; }
.kin-curriculum-module { padding:0 0 24px; margin:0 0 22px; border-bottom:1px solid rgba(0,0,0,.12); }
.kin-curriculum-module h3 { margin:0 0 20px; }
.kin-square-list { list-style:none; margin:0 0 18px; padding:0; }
.kin-square-list li { position:relative; padding-left:26px; margin:8px 0; }
.kin-module-dates { margin-top:16px; }
.kin-teachers-list { display:grid; gap:42px; }
.kin-teacher { display:grid; grid-template-columns:92px minmax(0,1fr); gap:20px; align-items:start; }
.kin-teacher-image { width:92px; height:92px; border-radius:50%; overflow:hidden; background:rgba(0,0,0,.06); }
.kin-teacher-image img { width:100%; height:100%; object-fit:cover; display:block; }
.kin-teacher-content h3, .kin-teacher-content h4 { margin-top:0; }
.kin-teacher-description, .kin-teacher-description p { display:inline; margin:0; }
.kin-more-link { font-weight:700; white-space:nowrap; margin-left:4px; }

/* Automatic overview grids */
.kin-course-grid { display:grid; gap:clamp(22px,3vw,44px); align-items:start; }
.kin-course-grid.kin-columns-1 { grid-template-columns:1fr; }
.kin-course-grid.kin-columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kin-course-grid.kin-columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.kin-course-grid.kin-columns-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.kin-course-card { min-width:0; }
.kin-course-card-image { display:block; aspect-ratio:1/1; overflow:hidden; margin-bottom:18px; }
.kin-course-card-image img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .2s ease; }
.kin-course-card-image:hover img { transform:scale(1.02); }
.kin-course-card-body { text-align:center; }
.kin-course-card-title { margin:0 0 10px; line-height:1.3; }
.kin-course-card-title a { text-decoration:none; }
.kin-course-card-date { margin:0 0 14px; font-size:.9em; opacity:.78; }
.kin-course-card-excerpt { margin:0 auto 16px; max-width:42rem; }
.kin-course-card-excerpt p:last-child { margin-bottom:0; }
.kin-course-card-kompakt { padding:22px 0; border-bottom:1px solid rgba(0,0,0,.12); }
.kin-course-card-kompakt .kin-course-card-body { text-align:left; }
.kin-course-card-kompakt .kin-course-card-button { margin-top:4px; }
@media (max-width:900px) { .kin-course-grid.kin-columns-4,.kin-course-grid.kin-columns-3 { grid-template-columns:repeat(2,minmax(0,1fr)); } .kin-description-grid { grid-template-columns:1fr; gap:38px; } }
@media (max-width:600px) { .kin-course-grid.kin-columns-4,.kin-course-grid.kin-columns-3,.kin-course-grid.kin-columns-2 { grid-template-columns:1fr; } .kin-tabs { gap:6px; margin-bottom:28px; } .kin-tab { padding:13px 14px; font-size:.9em; } .kin-teacher { grid-template-columns:76px minmax(0,1fr); gap:14px; } .kin-teacher-image { width:76px; height:76px; } }

/* Integrated registration form */
.kin-registration-wrap,
.kin-my-courses,
.kin-account-box {
	--kin-navy: #004d69;
	--kin-blue: #4baec6;
	--kin-yellow: #f6c41f;
	--kin-green: #20a947;
	--kin-text: #62676a;
	--kin-border: #e2e7e9;
	font-family: inherit;
	box-sizing: border-box;
}
.kin-registration-wrap * , .kin-my-courses *, .kin-account-box * { box-sizing: border-box; }
.kin-registration-wrap { margin: 54px 0 0; padding: 34px; background: #f8fbfc; border: 1px solid #dfe9ec; border-top: 4px solid var(--kin-blue); scroll-margin-top: 32px; }
.kin-registration-head { max-width: 760px; margin-bottom: 24px; }
.kin-registration-kicker { display: inline-block; color: var(--kin-blue) !important; font: 700 12px/1.2 Arial, Helvetica, sans-serif !important; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.kin-registration-head h2, .kin-my-courses-head h2 { margin: 0 0 8px !important; color: #111 !important; font: 700 28px/1.2 Arial, Helvetica, sans-serif !important; }
.kin-registration-head p, .kin-my-courses-head p { margin: 0 !important; color: var(--kin-text) !important; }
.kin-registration-form { margin: 0; }
.kin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.kin-form-field { min-width: 0; }
.kin-form-field.kin-width-full { grid-column: 1 / -1; }
.kin-form-field label { display: block; margin: 0 0 6px !important; color: #263238 !important; font: 600 14px/1.3 Arial, Helvetica, sans-serif !important; }
.kin-form-field input:not([type="checkbox"]),
.kin-form-field textarea,
.kin-form-field select {
	width: 100% !important;
	min-height: 46px;
	border: 1px solid #cfd9dd !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #222 !important;
	font: 400 15px/1.35 Arial, Helvetica, sans-serif !important;
	padding: 10px 12px !important;
	box-shadow: none !important;
	outline: none !important;
}
.kin-form-field textarea { min-height: 108px; resize: vertical; }
.kin-form-field input:focus,
.kin-form-field textarea:focus,
.kin-form-field select:focus { border-color: var(--kin-blue) !important; box-shadow: 0 0 0 2px rgba(75,174,198,.15) !important; }
.kin-form-field input[readonly] { background: #f1f4f5 !important; }
.kin-account-fields { margin: 28px 0 0; padding: 22px; background: #fff; border: 1px solid var(--kin-border); }
.kin-account-fields h3 { margin: 0 0 5px !important; color: var(--kin-navy) !important; font: 700 18px/1.3 Arial, Helvetica, sans-serif !important; }
.kin-account-fields > p { margin: 0 0 18px !important; color: var(--kin-text) !important; }
.kin-password-note { margin: 10px 0 0 !important; font-size: 12px !important; color: #6b7174 !important; }
.kin-consents { margin: 24px 0 18px; display: grid; gap: 12px; }
.kin-consent, .kin-field-checkbox { display: flex !important; align-items: flex-start; gap: 10px; color: #42484b !important; font-size: 13px !important; line-height: 1.45 !important; cursor: pointer; }
.kin-consent input, .kin-field-checkbox input { flex: 0 0 auto; width: 17px !important; height: 17px !important; margin: 2px 0 0 !important; accent-color: var(--kin-blue); }
.kin-consent a { color: var(--kin-navy) !important; text-decoration: underline !important; }
.kin-registration-submit { appearance: none; border: 0 !important; border-radius: 4px !important; background: var(--kin-navy) !important; color: #fff !important; font: 700 15px/1 Arial, Helvetica, sans-serif !important; padding: 14px 24px !important; min-height: 46px; cursor: pointer; box-shadow: none !important; }
.kin-registration-submit:hover, .kin-registration-submit:focus-visible { background: #003c52 !important; }
.kin-form-security-note { margin: 12px 0 0 !important; color: #7a8082 !important; font-size: 12px !important; }
.kin-form-message { margin: 0 0 22px; padding: 14px 16px; border-left: 4px solid; background: #fff; color: #283033 !important; }
.kin-form-message ul { margin: 8px 0 0 20px !important; }
.kin-form-success { border-color: var(--kin-green); }
.kin-form-error { border-color: #c92a2a; background: #fff7f7; }
.kin-success-actions { margin-top: 10px; }
.kin-success-actions a { color: var(--kin-navy) !important; font-weight: 700 !important; }
.kin-hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Participant account */
.kin-my-courses, .kin-account-box { width: 100%; max-width: 1120px; margin: 0 auto; color: var(--kin-text) !important; }
.kin-my-courses-head { margin-bottom: 26px; }
.kin-course-account-list { display: grid; gap: 16px; }
.kin-course-account-card { background: #fff; border: 1px solid var(--kin-border); border-left: 4px solid var(--kin-blue); padding: 22px; }
.kin-course-account-top { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.kin-course-account-top h3 { margin: 0 0 10px !important; color: #15191b !important; font: 700 18px/1.3 Arial, Helvetica, sans-serif !important; }
.kin-status { display: inline-flex; align-items: center; min-height: 26px; padding: 5px 10px; border-radius: 999px; background: #eef3f4; color: #495154 !important; font-size: 12px !important; font-weight: 700 !important; }
.kin-status-confirmed { background: #dcf7e4; color: #17652d !important; }
.kin-status-waitlist { background: #fff3cd; color: #765600 !important; }
.kin-status-cancelled { background: #fde1e1; color: #8b1d1d !important; }
.kin-account-date { flex: 0 0 auto; min-width: 104px; text-align: right; }
.kin-account-date small { display: block; color: #7b8285 !important; margin-bottom: 3px; }
.kin-account-date strong { color: #1b2327 !important; }
.kin-course-account-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 18px 0 0; }
.kin-course-account-actions .kin-calendar-button { margin: 0 !important; }
.kin-account-course-link, .kin-account-login { display: inline-flex; align-items: center; min-height: 40px; padding: 10px 14px; border: 1px solid var(--kin-border); color: var(--kin-navy) !important; background: #fff; font-weight: 700 !important; text-decoration: none !important; }
.kin-course-dates { margin-top: 16px; border-top: 1px solid var(--kin-border); padding-top: 14px; }
.kin-course-dates summary { cursor: pointer; color: var(--kin-navy) !important; font-weight: 700 !important; list-style-position: outside; }
.kin-course-dates-inner { padding: 14px 0 0 18px; }
.kin-account-module { margin-bottom: 14px; }
.kin-account-module > strong { color: #252b2e !important; }
.kin-account-module-date { margin-top: 5px; color: var(--kin-text) !important; }
.kin-account-box { padding: 24px; background: #f8fbfc; border: 1px solid var(--kin-border); }

@media (max-width: 700px) {
	.kin-registration-wrap { padding: 22px 16px; margin-top: 38px; }
	.kin-form-grid { grid-template-columns: 1fr; gap: 13px; }
	.kin-form-field.kin-width-half, .kin-form-field.kin-width-full { grid-column: 1; }
	.kin-account-fields { padding: 18px 14px; }
	.kin-course-account-top { display: block; }
	.kin-account-date { text-align: left; margin-top: 14px; }
	.kin-course-account-actions { align-items: stretch; }
	.kin-course-account-actions .kin-calendar-button,
	.kin-account-course-link { width: 100% !important; justify-content: center; }
}
.kin-my-courses-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.kin-account-logout { flex: 0 0 auto; color: var(--kin-navy) !important; font-weight: 700 !important; text-decoration: none !important; border: 1px solid var(--kin-border); padding: 8px 12px; background: #fff; }
@media (max-width: 700px) {
	.kin-my-courses-head { display: block; }
	.kin-account-logout { display: inline-flex; margin-top: 14px; }
}

/* Frontend login for participant area */
.kin-login-box { max-width: 760px; padding: 32px; border-top: 4px solid var(--kin-blue); background: #f8fbfc; }
.kin-login-head { max-width: 620px; margin-bottom: 22px; }
.kin-login-head h2 { margin: 0 0 8px !important; color: #111 !important; font: 700 28px/1.2 Arial, Helvetica, sans-serif !important; }
.kin-login-head p { margin: 0 !important; color: var(--kin-text) !important; }
.kin-login-form { margin: 0; }
.kin-login-grid { display: grid; grid-template-columns: 1fr; gap: 15px; }
.kin-login-bottom { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 18px; }
.kin-login-remember { display: inline-flex; align-items: center; gap: 8px; color: #42484b !important; font-size: 13px !important; cursor: pointer; }
.kin-login-remember input { width: 17px !important; height: 17px !important; margin: 0 !important; accent-color: var(--kin-blue); }
.kin-login-submit { min-width: 150px; }
@media (max-width: 700px) {
	.kin-login-box { padding: 22px 16px; }
	.kin-login-bottom { align-items: stretch; flex-direction: column; }
	.kin-login-submit { width: 100%; }
}

.kin-module-note{margin:.7rem 0 1rem;line-height:1.6;}

/* v0.6.1: branded single-course header and robust Astra/theme-title suppression. */
/*
 * KIN renders its own H1/meta header on native course pages. Astra and some
 * child themes use slightly different markup depending on the version, so
 * hide the legacy title/meta by semantic classes instead of relying on one
 * exact DOM hierarchy.
 */
.single-kin_ausbildung header.entry-header,
.single-kin_ausbildung .entry-header,
.single-kin_ausbildung .entry-title,
.single-kin_ausbildung .entry-meta,
.single-kin_ausbildung .ast-post-meta,
.single-kin_ausbildung .posted-on,
.single-kin_ausbildung .byline,
.single-kin_ausbildung .author-name,
.single-kin_ausbildung .entry-header .post-meta,
.single-kin_ausbildung .entry-header .post-meta-in,
.single-kin_ausbildung .entry-header .ast-entry-meta {
	display: none !important;
}
.single-kin_ausbildung .entry-content,
.single-kin_ausbildung .ast-post-format-,
.single-kin_ausbildung .ast-article-single {
	margin-top: 0 !important;
}

.kin-course-hero {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-bottom: 42px;
	background: #FFD132;
	color: #0C475F;
	overflow: hidden;
}
.kin-course-hero-inner {
	width: min(1160px, 100%);
	margin: 0 auto;
	padding: 58px 36px 64px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(220px, .65fr);
	gap: clamp(36px, 7vw, 92px);
	align-items: center;
}
.kin-course-hero:not(.has-graphic) .kin-course-hero-inner { grid-template-columns: 1fr; }
.kin-course-hero-title {
	margin: 0 0 38px !important;
	max-width: 820px;
	color: #0C475F !important;
	font: inherit;
	font-size: clamp(32px, 4vw, 50px) !important;
	font-weight: 700 !important;
	line-height: 1.12 !important;
	overflow-wrap: anywhere;
}
.kin-course-hero-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 28px 56px;
	color: #111;
}
.kin-course-responsible {
	display: flex;
	align-items: center;
	gap: 18px;
	min-width: 280px;
}
.kin-course-responsible-image {
	flex: 0 0 68px;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	overflow: hidden;
	background: rgba(255,255,255,.45);
}
.kin-course-responsible-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kin-course-responsible span,
.kin-course-category span {
	display: block;
	margin-bottom: 7px;
	font-weight: 700;
	line-height: 1.25;
}
.kin-course-responsible strong,
.kin-course-category strong {
	display: block;
	font-weight: 700;
	line-height: 1.25;
	color: #111;
}
.kin-course-hero-graphic {
	justify-self: end;
	width: min(100%, 300px);
	max-height: 280px;
	display: grid;
	place-items: center;
}
.kin-course-hero-graphic img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 280px;
	object-fit: contain;
}

/* Card typography follows the legacy 4progress look. */
.kin-course-card-title,
.kin-course-card-title a { color: #0C475F !important; }
.kin-course-card-date { color: #6b6f72 !important; opacity: 1; }
.kin-course-card-excerpt,
.kin-course-card-excerpt p { color: #6b6f72 !important; }

/* Seminar cards: yellow circle behind the title, as on the former site. */
.kin-course-card.kin-area-seminare.kin-course-card-kompakt {
	border-bottom: 0;
	padding: 18px 0 30px;
}
.kin-course-card.kin-area-seminare .kin-course-card-title {
	position: relative;
	z-index: 0;
	min-height: 54px;
	display: flex;
	align-items: center;
	margin-left: 8px;
	padding-left: 2px;
}
.kin-course-card.kin-area-seminare .kin-course-card-title::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: -22px;
	top: 50%;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #FFD132;
	transform: translateY(-50%);
}

@media (max-width: 780px) {
	.kin-course-hero { margin-bottom: 30px; }
	.kin-course-hero-inner {
		width: 100%;
		padding: 38px 28px 40px;
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.kin-course-hero-title {
		margin-bottom: 28px !important;
		font-size: clamp(29px, 7.4vw, 40px) !important;
	}
	.kin-course-hero-meta { gap: 24px 34px; }
	.kin-course-responsible { min-width: 0; }
	.kin-course-hero-graphic {
		justify-self: end;
		width: min(52vw, 220px);
		max-height: 200px;
		margin-top: -4px;
	}
	.kin-course-hero-graphic img { max-height: 200px; }
}

@media (max-width: 520px) {
	.kin-course-hero-inner { padding: 30px 22px 34px; gap: 24px; }
	.kin-course-hero-title {
		font-size: clamp(27px, 7.6vw, 32px) !important;
		line-height: 1.12 !important;
		margin-bottom: 24px !important;
	}
	.kin-course-hero-meta {
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.kin-course-responsible { gap: 14px; align-items: center; }
	.kin-course-responsible-image { flex-basis: 58px; width: 58px; height: 58px; }
	.kin-course-hero-graphic {
		width: min(48vw, 180px);
		max-height: 165px;
		margin-top: 0;
	}
	.kin-course-hero-graphic img { max-height: 165px; }
}

