/*
 * CG Recruiting – Stellenprofil V2.1
 * Ausschließlich .cg-job-v21
 */

.cg-job-v21 {
	--cg-job-world-accent: #039ee6;
	--cg-job-world-accent-rgb: 3, 158, 230;
	width: 100%;
	background: #fff;
	color: #202124;
	font-size: 17px;
	line-height: 1.7;
}

.cg-job-v21[data-world="fitness"] {
	--cg-job-world-accent: #E5007E;
	--cg-job-world-accent-rgb: 229, 0, 126;
}

.cg-job-v21 *,
.cg-job-v21 *::before,
.cg-job-v21 *::after {
	box-sizing: border-box;
}

.cg-job-v21__shell {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
}

.cg-job-v21__eyebrow {
	margin: 0 0 14px;
	color: var(--cg-job-world-accent);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.cg-job-v21__hero {
	position: relative;
	overflow: hidden;
	padding: 88px 0 92px;
	background:
		linear-gradient(
			135deg,
			rgba(var(--cg-job-world-accent-rgb), 0.10),
			#fff 48%,
			rgba(87, 8, 1, 0.055)
		);
	border-bottom: 1px solid rgba(32, 33, 36, 0.08);
}

.cg-job-v21__hero::before {
	content: "";
	position: absolute;
	top: -180px;
	right: -120px;
	width: 430px;
	height: 430px;
	border-radius: 999px;
	background: rgba(var(--cg-job-world-accent-rgb), 0.07);
	pointer-events: none;
}

.cg-job-v21__hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.55fr);
	gap: 72px;
	align-items: start;
}

.cg-job-v21__hero-main {
	max-width: 760px;
}

.cg-job-v21__h1 {
	max-width: 800px;
	margin: 0 0 30px;
	color: #171717;
	font-size: clamp(42px, 5.2vw, 66px);
	font-weight: 650;
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.cg-job-v21__hero-copy {
	max-width: 720px;
	margin: 0 0 15px;
	font-size: 18px;
	line-height: 1.72;
}

.cg-job-v21__hero-copy:first-of-type {
	font-size: 21px;
	font-weight: 600;
	line-height: 1.55;
}

.cg-job-v21__hero-highlight,
.cg-job-v21__highlight {
	margin: 30px 0 0;
	padding: 20px 24px;
	border-left: 4px solid var(--cg-job-world-accent);
	background: rgba(var(--cg-job-world-accent-rgb), 0.07);
	color: #171717;
	font-size: 20px;
	font-weight: 650;
	line-height: 1.5;
}

.cg-job-v21__status {
	display: inline-flex;
	margin-top: 24px;
	padding: 8px 13px;
	border: 1px solid rgba(87, 8, 1, 0.22);
	border-radius: 999px;
	background: rgba(87, 8, 1, 0.06);
	color: #570801;
	font-size: 14px;
	font-weight: 700;
}

.cg-job-v21__summary {
	position: sticky;
	top: 28px;
	padding: 30px;
	border: 1px solid rgba(32, 33, 36, 0.10);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 20px 55px rgba(28, 42, 54, 0.10);
}

.cg-job-v21__summary-kicker {
	margin: 0 0 22px;
	color: #570801;
	font-size: 14px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cg-job-v21__summary-list {
	margin: 0;
}

.cg-job-v21__summary-list > div {
	padding: 15px 0;
	border-top: 1px solid rgba(32, 33, 36, 0.09);
}

.cg-job-v21__summary-list > div:last-child {
	border-bottom: 1px solid rgba(32, 33, 36, 0.09);
}

.cg-job-v21__summary-list dt {
	margin-bottom: 3px;
	color: #666a70;
	font-size: 13px;
	font-weight: 600;
}

.cg-job-v21__summary-list dd {
	margin: 0;
	color: #171717;
	font-size: 17px;
	font-weight: 700;
}

.cg-job-v21__summary-note {
	margin-top: 24px;
	padding: 18px 20px;
	border-radius: 14px;
	background: rgba(var(--cg-job-world-accent-rgb), 0.07);
}

.cg-job-v21__summary-note strong {
	display: block;
	margin-bottom: 5px;
	color: #171717;
	font-size: 15px;
}

.cg-job-v21__summary-note p {
	margin: 0;
	color: #4e5358;
	font-size: 14px;
	line-height: 1.55;
}

.cg-job-v21__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 20px;
	align-items: center;
	margin-top: 32px;
}

.cg-job-v21__button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	border: 2px solid #570801;
	border-radius: 7px;
	background: #570801;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition:
		transform 160ms ease,
		background 160ms ease,
		border-color 160ms ease;
}

.cg-job-v21__button:hover,
.cg-job-v21__button:focus-visible {
	background: #3f0601;
	border-color: #3f0601;
	color: #fff;
	transform: translateY(-1px);
}

.cg-job-v21__button:focus-visible,
.cg-job-v21__text-link:focus-visible {
	outline: 3px solid rgba(var(--cg-job-world-accent-rgb), 0.35);
	outline-offset: 3px;
}

.cg-job-v21__text-link {
	color: #570801;
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

/* Kapitel */

.cg-job-v21__chapter {
	padding: 92px 0;
	background: #fff;
}

.cg-job-v21__chapter--work {
	background: #fff;
}

.cg-job-v21__chapter--local {
	background: rgba(var(--cg-job-world-accent-rgb), 0.06);
	border-top: 1px solid rgba(var(--cg-job-world-accent-rgb), 0.10);
	border-bottom: 1px solid rgba(var(--cg-job-world-accent-rgb), 0.10);
}

.cg-job-v21__chapter--benefits {
	background:
		linear-gradient(
			180deg,
			#fff 0%,
			rgba(var(--cg-job-world-accent-rgb), 0.045) 100%
		);
}

.cg-job-v21__chapter--development {
	background: #f6f8fa;
}

.cg-job-v21__chapter--identity {
	background: rgba(var(--cg-job-world-accent-rgb), 0.055);
}

.cg-job-v21__chapter-grid {
	display: grid;
	grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.55fr);
	gap: 78px;
	align-items: start;
}

.cg-job-v21__chapter-head {
	position: sticky;
	top: 30px;
}

.cg-job-v21__h2 {
	max-width: 620px;
	margin: 0;
	color: #171717;
	font-size: clamp(31px, 3.2vw, 43px);
	font-weight: 650;
	line-height: 1.13;
	letter-spacing: -0.024em;
}

.cg-job-v21__chapter-body {
	max-width: 800px;
}

.cg-job-v21__topic {
	padding: 0 0 38px;
	margin: 0 0 38px;
	border-bottom: 1px solid rgba(32, 33, 36, 0.10);
}

.cg-job-v21__topic:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

.cg-job-v21__h3 {
	max-width: 700px;
	margin: 0 0 17px;
	color: #171717;
	font-size: 25px;
	font-weight: 650;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.cg-job-v21__copy {
	margin: 0 0 17px;
	font-size: 17px;
	line-height: 1.72;
}

.cg-job-v21__copy:last-child {
	margin-bottom: 0;
}

.cg-job-v21__highlight {
	background: #fff;
	box-shadow: 0 9px 30px rgba(28, 42, 54, 0.055);
}

/* Bildmomente */

.cg-job-v21__media {
	padding: 30px 0;
	background: #fff;
}

.cg-job-v21__media-placeholder {
	position: relative;
	display: flex;
	min-height: 390px;
	align-items: flex-end;
	overflow: hidden;
	border-radius: 22px;
	background:
		linear-gradient(
			135deg,
			rgba(var(--cg-job-world-accent-rgb), 0.22),
			rgba(var(--cg-job-world-accent-rgb), 0.06) 46%,
			rgba(87, 8, 1, 0.13)
		);
	border: 1px solid rgba(var(--cg-job-world-accent-rgb), 0.16);
}

.cg-job-v21__media-placeholder::before,
.cg-job-v21__media-placeholder::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.35);
}

.cg-job-v21__media-placeholder::before {
	width: 350px;
	height: 350px;
	right: 8%;
	top: -110px;
}

.cg-job-v21__media-placeholder::after {
	width: 220px;
	height: 220px;
	right: 32%;
	bottom: -100px;
}

.cg-job-v21__media-label {
	position: relative;
	z-index: 1;
	width: min(560px, calc(100% - 48px));
	margin: 24px;
	padding: 24px 28px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.90);
	box-shadow: 0 14px 35px rgba(28, 42, 54, 0.09);
}

.cg-job-v21__media-label span {
	display: block;
	margin-bottom: 5px;
	color: var(--cg-job-world-accent);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.10em;
	text-transform: uppercase;
}

.cg-job-v21__media-label strong {
	display: block;
	margin-bottom: 7px;
	color: #171717;
	font-size: 25px;
	line-height: 1.25;
}

.cg-job-v21__media-label p {
	margin: 0;
	color: #4e5358;
	font-size: 15px;
	line-height: 1.55;
}

/* Harte Fakten + Benefits */

.cg-job-v21__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 34px;
}

.cg-job-v21__fact {
	padding: 27px;
	border-radius: 17px;
	background: #fff;
	border: 1px solid rgba(32, 33, 36, 0.09);
	box-shadow: 0 10px 35px rgba(28, 42, 54, 0.055);
}

.cg-job-v21__fact > span {
	display: block;
	margin-bottom: 8px;
	color: var(--cg-job-world-accent);
	font-size: 13px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cg-job-v21__fact > strong {
	display: block;
	margin-bottom: 13px;
	color: #171717;
	font-size: clamp(25px, 2.8vw, 34px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.cg-job-v21__fact > p {
	margin: 0;
	color: #4e5358;
	font-size: 15px;
	line-height: 1.6;
}

.cg-job-v21__benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px;
}

.cg-job-v21__benefit {
	display: grid;
	grid-template-columns: 27px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 20px;
	border: 1px solid rgba(32, 33, 36, 0.09);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 7px 25px rgba(28, 42, 54, 0.04);
}

.cg-job-v21__benefit > span {
	display: flex;
	width: 27px;
	height: 27px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(var(--cg-job-world-accent-rgb), 0.12);
	color: #027cb5;
	font-size: 14px;
	font-weight: 800;
}

.cg-job-v21__benefit p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
}

/* Bordeaux-Abschluss */

.cg-job-v21__closing {
	padding: 92px 0;
	background: #570801;
	color: #fff;
}

.cg-job-v21__closing .cg-job-v21__eyebrow {
	color: rgba(255, 255, 255, 0.72);
}

.cg-job-v21__closing .cg-job-v21__h2,
.cg-job-v21__closing .cg-job-v21__copy {
	color: #fff;
}

.cg-job-v21__closing .cg-job-v21__topic {
	border-color: rgba(255, 255, 255, 0.16);
}

.cg-job-v21__closing .cg-job-v21__highlight {
	border-left-color: #fff;
	background: rgba(255, 255, 255, 0.10);
	box-shadow: none;
	color: #fff;
}

/* Bewerbung */

.cg-job-v21__application {
	padding: 78px 0 88px;
	background: rgba(var(--cg-job-world-accent-rgb), 0.075);
	text-align: center;
}

.cg-job-v21__application-inner {
	max-width: 820px;
	margin-inline: auto;
}

.cg-job-v21__application .cg-job-v21__h2 {
	margin-inline: auto;
}

.cg-job-v21__application .cg-job-v21__copy {
	max-width: 680px;
	margin: 20px auto 0;
}

.cg-job-v21__application .cg-job-v21__actions {
	justify-content: center;
	margin-top: 30px;
}

@media (max-width: 991px) {

	.cg-job-v21__hero {
		padding: 68px 0 72px;
	}

	.cg-job-v21__hero-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.cg-job-v21__summary {
		position: static;
		max-width: 720px;
	}

	.cg-job-v21__chapter,
	.cg-job-v21__closing {
		padding: 68px 0;
	}

	.cg-job-v21__chapter-grid {
		grid-template-columns: 1fr;
		gap: 31px;
	}

	.cg-job-v21__chapter-head {
		position: static;
	}

	.cg-job-v21__media-placeholder {
		min-height: 330px;
	}
}

@media (max-width: 767px) {

	.cg-job-v21 {
		font-size: 16px;
	}

	.cg-job-v21__shell {
		width: min(100% - 32px, 1180px);
	}

	.cg-job-v21__hero {
		padding: 52px 0 58px;
	}

	.cg-job-v21__h1 {
		margin-bottom: 24px;
		font-size: clamp(37px, 11vw, 50px);
		line-height: 1.07;
	}

	.cg-job-v21__hero-copy {
		font-size: 16px;
		line-height: 1.67;
	}

	.cg-job-v21__hero-copy:first-of-type {
		font-size: 18px;
	}

	.cg-job-v21__hero-highlight,
	.cg-job-v21__highlight {
		padding: 18px 19px;
		font-size: 18px;
	}

	.cg-job-v21__summary {
		padding: 24px;
		border-radius: 16px;
	}

	.cg-job-v21__chapter,
	.cg-job-v21__closing {
		padding: 55px 0;
	}

	.cg-job-v21__h2 {
		font-size: 29px;
	}

	.cg-job-v21__h3 {
		font-size: 22px;
	}

	.cg-job-v21__copy {
		font-size: 16px;
		line-height: 1.68;
	}

	.cg-job-v21__facts,
	.cg-job-v21__benefit-grid {
		grid-template-columns: 1fr;
	}

	.cg-job-v21__media {
		padding: 18px 0;
	}

	.cg-job-v21__media-placeholder {
		min-height: 280px;
		border-radius: 17px;
	}

	.cg-job-v21__media-label {
		width: calc(100% - 32px);
		margin: 16px;
		padding: 20px;
	}

	.cg-job-v21__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cg-job-v21__button {
		width: 100%;
	}

	.cg-job-v21__text-link {
		display: inline-flex;
		min-height: 42px;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.cg-job-v21__application {
		padding: 56px 0 64px;
	}
}

@media (max-width: 380px) {

	.cg-job-v21__shell {
		width: min(100% - 24px, 1180px);
	}

	.cg-job-v21__summary,
	.cg-job-v21__fact,
	.cg-job-v21__benefit {
		padding: 19px;
	}
}

/*
 * CG098 FITNESS COLOR DOSAGE
 *
 * Fitness-Magenta bleibt Welt-Akzent.
 * Große Flächen bleiben bewusst neutral.
 * Physio und Bordeaux-Abschluss unverändert.
 */

/* Hero: fast neutral, Weltfarbe nur als sehr leiser Einstieg */
.cg-job-v21[data-world="fitness"] .cg-job-v21__hero {
	background:
		linear-gradient(
			135deg,
			rgba(229, 0, 126, 0.025),
			#fff 46%,
			rgba(87, 8, 1, 0.045)
		);
}

/* Wiederkehrende Stellenanzeigen-Kugel bleibt erhalten */
.cg-job-v21[data-world="fitness"] .cg-job-v21__hero::before {
	background: rgba(229, 0, 126, 0.04);
}

/* Kleine Hero-Hervorhebung: Linie bleibt Magenta, Fläche neutral */
.cg-job-v21[data-world="fitness"] .cg-job-v21__hero-highlight {
	background: #faf8f7;
}

/* Infobox im Hero bewusst ruhig */
.cg-job-v21[data-world="fitness"] .cg-job-v21__summary-note {
	background: #f7f4f2;
}

/* Große Standortfläche nicht mehr rosa */
.cg-job-v21[data-world="fitness"] .cg-job-v21__chapter--local {
	background: #f7f4f2;
	border-top-color: rgba(32, 33, 36, 0.08);
	border-bottom-color: rgba(32, 33, 36, 0.08);
}

/* Benefits: nur noch sehr leichte neutrale Tiefenwirkung */
.cg-job-v21[data-world="fitness"] .cg-job-v21__chapter--benefits {
	background:
		linear-gradient(
			180deg,
			#fff 0%,
			#faf8f7 100%
		);
}

/* Standortidentität ebenfalls warm-neutral */
.cg-job-v21[data-world="fitness"] .cg-job-v21__chapter--identity {
	background: #f7f4f2;
}

/* Bildplatzhalter neutral – Magenta bleibt nur im Label/Akzent */
.cg-job-v21[data-world="fitness"] .cg-job-v21__media-placeholder {
	background:
		linear-gradient(
			135deg,
			#f3f5f6 0%,
			#faf8f7 54%,
			rgba(87, 8, 1, 0.09) 100%
		);
	border-color: rgba(32, 33, 36, 0.10);
}

/* Kleine Benefit-Checks dürfen die Fitness-Welt zeigen */
.cg-job-v21[data-world="fitness"] .cg-job-v21__benefit-check {
	color: var(--cg-job-world-accent);
}

/* Bewerbung ruhig auslaufen lassen */
.cg-job-v21[data-world="fitness"] .cg-job-v21__application {
	background: #f7f4f2;
}


/* ==================================================
   CG_JOB_MEDIA_REAL_IMAGES_V1
   Reale Bilder fuer Recruiting-Media-Slots

   WICHTIG:
   Echte Bilder uebernehmen NICHT die Geometrie
   der bisherigen Placeholder.
   Originales Seitenverhaeltnis bleibt erhalten.
   ================================================== */

.cg-job-v21__media-photo {
        display: block;

        width: 100%;
        height: auto !important;
        min-height: 0 !important;

        margin: 0;

        overflow: hidden;

        border-radius: 22px;

        background: #F3F5F6;
}

.cg-job-v21__media-image,
.cg-job-v21__media-photo img {
        display: block;

        width: 100%;
        max-width: 100%;

        height: auto !important;
        min-height: 0 !important;

        aspect-ratio: auto !important;

        object-fit: contain !important;
        object-position: center !important;
}


/*
 * Work und Team werden bewusst NICHT
 * unterschiedlich gecroppt.
 *
 * Das komplette freigegebene Motiv bleibt sichtbar.
 */

.cg-job-v21__media[data-cg-media-slot="work"]
.cg-job-v21__media-image,
.cg-job-v21__media[data-cg-media-slot="team"]
.cg-job-v21__media-image {
        width: 100%;
        height: auto !important;

        object-fit: contain !important;
        object-position: center !important;
}


@media (max-width: 767px) {

        .cg-job-v21__media-photo {
                height: auto !important;
                min-height: 0 !important;

                aspect-ratio: auto !important;

                border-radius: 17px;
        }

        .cg-job-v21__media-image,
        .cg-job-v21__media-photo img {
                width: 100%;
                height: auto !important;

                aspect-ratio: auto !important;

                object-fit: contain !important;
        }
}

/* /CG_JOB_MEDIA_REAL_IMAGES_V1 */
