/**
 * Knewledge × Kleyr Grasso — Careers landing styles.
 *
 * Préfixe `.kg-career-` / `.kg-careers__` pour éviter toute collision avec
 * les classes du thème Astra ou des modules Elementor.
 *
 * Volontairement minimaliste — c'est au thème enfant `theme-knewledge-astra-child`
 * de raffiner. Ce CSS garantit une mise en forme acceptable même sans thème.
 */

.kg-careers { color: inherit; }

/* ─── Hero ──────────────────────────────────────────────────────── */
.kg-careers__hero {
	min-height: 320px;
	background-size: cover;
	background-position: center center;
	background-color: #1f2a44;
	display: flex;
	align-items: flex-end;
	color: #fff;
	margin-bottom: 2rem;
}
.kg-careers__hero-inner {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 2rem 1.5rem;
}
.kg-careers__title {
	margin: 0;
	font-size: clamp(1.6rem, 3.5vw, 2.6rem);
	letter-spacing: .02em;
}

/* ─── Container ─────────────────────────────────────────────────── */
.kg-careers__container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 1.5rem 4rem;
}

.kg-careers__intro,
.kg-careers__outro {
	margin: 0 0 2.5rem;
	font-size: 1.05rem;
	line-height: 1.6;
}

.kg-careers__empty {
	font-style: italic;
	color: #666;
	padding: 2rem 0;
}

/* ─── Tabs ──────────────────────────────────────────────────────── */
.kg-careers__tabs {
	margin: 2rem 0;
}

.kg-careers__tab-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	border-bottom: 1px solid #ccc;
	margin-bottom: 1.5rem;
}

.kg-careers__tab-radio {
	position: absolute;
	left: -9999px;
	opacity: 0;
}

.kg-careers__tab-label {
	display: inline-block;
	padding: .85rem 1.4rem;
	font-weight: 600;
	letter-spacing: .02em;
	cursor: pointer;
	border-bottom: 3px solid transparent;
	transition: border-color .15s ease, color .15s ease;
	color: #555;
	user-select: none;
}

.kg-careers__tab-radio:checked + .kg-careers__tab-label {
	color: #1f2a44;
	border-bottom-color: #c5a572;
}

.kg-careers__tab-label:hover {
	color: #1f2a44;
}

/* ─── Panels ────────────────────────────────────────────────────── */
.kg-careers__tab-panel {
	padding: 1rem 0;
}

/* ─── Accordion ─────────────────────────────────────────────────── */
.kg-career-accordion {
	border-top: 1px solid #e0e0e0;
	padding: 0;
	margin: 0;
}

.kg-career-accordion:last-of-type {
	border-bottom: 1px solid #e0e0e0;
}

.kg-career-accordion__summary {
	cursor: pointer;
	padding: 1.1rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	font-size: 1.1rem;
	font-weight: 600;
	color: #1f2a44;
}

.kg-career-accordion__summary::-webkit-details-marker {
	display: none;
}

.kg-career-accordion__icon {
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	line-height: 1.4rem;
	text-align: center;
	border-radius: 50%;
	border: 1px solid #c5a572;
	color: #c5a572;
	font-weight: 400;
	font-size: 1.3rem;
	transition: transform .2s ease;
}

.kg-career-accordion[open] .kg-career-accordion__icon {
	transform: rotate(45deg);
}

.kg-career-accordion__body {
	padding: 0 0 1.5rem;
	color: #333;
	line-height: 1.6;
}

.kg-career-accordion__intro {
	margin: 0 0 1rem;
	font-style: italic;
	color: #444;
}

.kg-career-accordion__description {
	margin: 0 0 1.5rem;
}

.kg-career-accordion__cta {
	margin: 1.5rem 0;
}

.kg-career-accordion__apply {
	background: #1f2a44;
	color: #fff;
	border: 0;
	padding: .85rem 1.8rem;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .04em;
	cursor: pointer;
	border-radius: 0;
	transition: background-color .15s ease;
}

.kg-career-accordion__apply:hover,
.kg-career-accordion__apply:focus {
	background: #c5a572;
}

.kg-career-accordion__form {
	margin-top: 1.25rem;
	padding: 1.5rem;
	background: #f7f5f0;
	border: 1px solid #e6dfd1;
}

/* ─── Form ──────────────────────────────────────────────────────── */
.kg-career-form .kg-career-form__row {
	margin-bottom: 1rem;
}

.kg-career-form label {
	display: block;
	font-weight: 600;
	margin-bottom: .35rem;
	color: #1f2a44;
}

.kg-career-form input[type="text"],
.kg-career-form input[type="email"],
.kg-career-form input[type="tel"],
.kg-career-form input[type="file"] {
	width: 100%;
	max-width: 480px;
	padding: .55rem .8rem;
	border: 1px solid #ccc;
	background: #fff;
	font-size: 1rem;
	box-sizing: border-box;
}

.kg-career-form input[type="checkbox"] {
	margin-right: .35rem;
}

.kg-career-form .kg-career-form__consent {
	font-size: .9rem;
	color: #555;
}

.kg-career-form .kg-career-form__submit input[type="submit"] {
	background: #1f2a44;
	color: #fff;
	border: 0;
	padding: .85rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: .04em;
}

.kg-career-form .kg-career-form__submit input[type="submit"]:hover {
	background: #c5a572;
}

.kg-career-form__missing {
	color: #b00;
	font-style: italic;
}

.kg-career-turnstile {
	margin: 1rem 0;
}
