/* ==========================================================================
   CSZ site.css -- globale Korrekturen ueber Elementor hinaus.
   Geladen in functions.php (Handle csz-site, nach Elementor).
   Stand: 2026-10-09 (Website-Audit)
   ========================================================================== */

/* Sicherheitsnetz gegen seitliches Scrollen ('clip' statt 'hidden', damit
   position: sticky weiter funktioniert). Ersetzt Code-Snippet 7. */
html,
body {
	overflow-x: clip;
}

:root {
	/* Gleicher Seitenrand wie der CSZ-Header (csz-header/assets/header.css). */
	--csz-page-gutter: clamp(16px, 2.2vw, 32px);
}

/* --------------------------------------------------------------------------
   1. Seitenraender
   Boxed-Container der Seiten, Beitraege, Archive und des Footers bekommen
   mindestens den Header-Rand -- unabhaengig vom Innenabstand, der im
   Container eingestellt ist. Listing-Karten und Popups sind ausgenommen.
   -------------------------------------------------------------------------- */
:is(
	.elementor[data-elementor-type="wp-page"],
	.elementor[data-elementor-type="wp-post"],
	.elementor[data-elementor-type="single-post"],
	.elementor[data-elementor-type="archive"],
	.elementor[data-elementor-type="footer"],
	.elementor[data-elementor-type="section"] /* eingebettete Vorlagen, z. B. CTA Ausbildungsstart */
) > .e-con.e-con-boxed > .e-con-inner {
	max-width: min(
		var(--content-width),
		calc(100% - 2 * max(0px, var(--csz-page-gutter) - var(--padding-left, 10px)))
	);
}

/* --------------------------------------------------------------------------
   2. Kontraste
   CI: Chiemsee-Blau #3E96DB bleibt die Primaerfarbe (Text, Links, Buttons).
   Blau dunkel #1F6AAE nur vereinzelt -- nicht flaechig einsetzen.
   Bronze #9E7B54 bleibt Bronze; keine flaechige dunkle Stufe (Bernd, 2026-10-09).
   -------------------------------------------------------------------------- */
/* Kategorie-Zeile auf Job-Karten wie auf den News-Karten in Bronze */
.csz-joblist-row .csz-eyebrow .jet-listing-dynamic-terms__link,
.csz-jobcard .csz-eyebrow .jet-listing-dynamic-terms__link {
	color: var(--bronze-500);
}

/* --------------------------------------------------------------------------
   3. Zeilenumbruch
   Ueberschriften ausgewogen, Fliesstext ohne Hurenkinder. Weiche Trennungen
   (&shy;) bleiben wirksam, automatische Silbentrennung nur ueber die
   bewusst gesetzte Klasse .silbentrennung (YellowPencil).
   -------------------------------------------------------------------------- */
.elementor-heading-title,
h1, h2, h3, h4 {
	text-wrap: balance;
}

.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-icon-list-text,
dd {
	text-wrap: pretty;
}

/* --------------------------------------------------------------------------
   4. Formulare: einheitliche Checkboxen und Auswahlfelder
   (Store, Online-Bewerbung, Jobangebot-Formular -- Kontaktformular
   ist im Elementor-Widget selbst gestaltet)
   -------------------------------------------------------------------------- */
.csz-consent input[type="checkbox"],
.csz-form__checkbox input[type="checkbox"],
.csz-jobform input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	border: 1px solid var(--ink-300, #b9bdc2);
	border-radius: 3px;
	background: #fff center / 12px 12px no-repeat;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
.csz-consent input[type="checkbox"]:checked,
.csz-form__checkbox input[type="checkbox"]:checked,
.csz-jobform input[type="checkbox"]:checked {
	background-color: var(--blue-500, #3e96db);
	border-color: var(--blue-500, #3e96db);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2 6.5 5 9.5 10 3'/%3E%3C/svg%3E");
}
.csz-consent input[type="checkbox"]:focus-visible,
.csz-form__checkbox input[type="checkbox"]:focus-visible,
.csz-jobform input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--blue-500, #3e96db);
	outline-offset: 2px;
}

.csz-store select,
.csz-sorting select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.2rem;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2326282B' stroke-width='1.5' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .8rem center;
	cursor: pointer;
}

/* --------------------------------------------------------------------------
   5. Store: Artikel ueber die volle Breite, darunter Formular links und
   Bestelluebersicht rechts (mitlaufend). Nicht Lieferbares ans Ende.
   -------------------------------------------------------------------------- */
.csz-store__grid .csz-card--blocked {
	order: 1;
}

@media (min-width: 1025px) {
	.csz-store__form:has(> .csz-store__grid) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
		column-gap: 56px;
		grid-auto-flow: row dense;
		align-items: start;
	}
	.csz-store__form:has(> .csz-store__grid) > * {
		grid-column: 1;
	}
	.csz-store__form:has(> .csz-store__grid) > .csz-store__grid,
	.csz-store__form:has(> .csz-store__grid) > .csz-store__vat,
	.csz-store__form:has(> .csz-store__grid) > .csz-store__hp {
		grid-column: 1 / -1;
	}
	.csz-store__form:has(> .csz-store__grid) > .csz-store__summary {
		grid-column: 2;
		grid-row: span 4;
		position: sticky;
		top: 110px;
		margin-top: 0;
	}
}

/* --------------------------------------------------------------------------
   6. Job-Einzelseite: Bild in der Kontaktkarte ist das Arbeitgeber-Logo
   -------------------------------------------------------------------------- */
.single-physio_jobangebote .elementor-widget-theme-post-featured-image img,
.single-physio_jobangebote .csz-job-logo img {
	width: auto;
	max-width: 100%;
	max-height: 96px;
	object-fit: contain;
}

/* --------------------------------------------------------------------------
   7. Mobil
   -------------------------------------------------------------------------- */
/* Rechtstexte: Zwischenueberschriften im Fliesstext */
.elementor-widget-text-editor h2 {
	font-size: var(--fs-h3);
	margin: 1.8em 0 .5em;
}
.elementor-widget-text-editor h3 {
	font-size: var(--fs-body);
	margin: 1.4em 0 .4em;
}
.elementor-widget-text-editor > :first-child,
.elementor-widget-text-editor > .elementor-widget-container > :first-child {
	margin-top: 0;
}