﻿.technip-jobs {
	font-family: "Space Grotesk", sans-serif;
	color: #1F2937;
}

.technip-jobs__empty {
	background: #F4F7FB;
	border: 1px solid #E3E8F0;
	border-radius: 10px;
	padding: 32px;
	text-align: center;
	color: #4B5563;
	font-size: 15px;
}

.technip-jobs__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
	margin-bottom: 40px;
}

.technip-job-card {
	background: #fff;
	border: 1px solid #E3E8F0;
	border-radius: 10px;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: box-shadow .25s ease, transform .25s ease;
}
.technip-job-card:hover {
	box-shadow: 0 20px 44px -24px rgba(10,19,48,.28);
	transform: translateY(-2px);
}

.technip-job-card__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: #0A1330;
}

.technip-job-card__meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
}
.technip-job-card__meta li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #6B7280;
}
.technip-job-card__meta svg {
	width: 14px;
	height: 14px;
	flex: none;
	color: #EC2229;
}

.technip-job-card__summary {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #4B5563;
	flex: 1 1 auto;
}

.technip-job-card__apply {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	background: #EC2229;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .02em;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none;
	transition: background .25s ease, transform .2s ease;
}
.technip-job-card__apply:hover { background: #B81017; transform: translateY(-2px); }

.technip-jobs__cv {
	background: #F4F7FB;
	border: 1px solid #E3E8F0;
	border-radius: 10px;
	padding: 32px;
	text-align: center;
}
.technip-jobs__cv h3 { margin: 0 0 8px; font-size: 1.3rem; color: #0A1330; }
.technip-jobs__cv p { margin: 0 0 20px; color: #4B5563; font-size: 14px; }
.technip-jobs__cv .technip-job-card__apply { align-self: center; }

/* ---------- Application modal ---------- */
.technip-apply-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	visibility: hidden;
	font-family: "Space Grotesk", sans-serif;
}
.technip-apply-modal.is-open { visibility: visible; }
.technip-apply-modal__veil {
	position: absolute; inset: 0;
	background: rgba(10,19,48,.6);
	opacity: 0;
	transition: opacity .3s ease;
}
.technip-apply-modal.is-open .technip-apply-modal__veil { opacity: 1; }
.technip-apply-modal__panel {
	position: absolute;
	top: 50%; left: 50%;
	width: min(760px, 94vw);
	max-height: 90vh;
	overflow-y: auto;
	background: #fff;
	border-radius: 12px;
	padding: 0 32px 28px;
	transform: translate(-50%, -48%) scale(.97);
	opacity: 0;
	transition: transform .3s ease, opacity .3s ease;
	box-shadow: 0 40px 90px -30px rgba(10,19,48,.5);
}
.technip-apply-modal.is-open .technip-apply-modal__panel { transform: translate(-50%, -50%) scale(1); opacity: 1; }

.technip-apply-modal__head {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	background: #fff;
	padding: 24px 0 16px;
	margin-bottom: 12px;
	border-bottom: 1px solid #E3E8F0;
}
.technip-apply-modal__close {
	flex: none;
	width: 34px; height: 34px;
	padding: 0;
	box-sizing: border-box;
	display: flex; align-items: center; justify-content: center;
	background: #F4F7FB;
	border: 1px solid #E3E8F0;
	border-radius: 50%;
	color: #4B5563;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.technip-apply-modal__close svg { width: 13px; height: 13px; }
.technip-apply-modal__close:hover { background: #EC2229; border-color: #EC2229; color: #fff; transform: rotate(90deg); }
.technip-apply-modal h3 { margin: 0 0 2px; font-size: 1.25rem; color: #0A1330; }
.technip-apply-modal__subtitle { margin: 0; color: #6B7280; font-size: 13px; }

.technip-apply-form .technip-field {
	width: 100%;
	height: 44px;
	padding: 8px 14px;
	border: 1px solid #E3E8F0;
	border-radius: 4px;
	font-family: inherit;
	font-size: 13.5px;
	color: #1F2937;
}
.technip-apply-form textarea.technip-field { height: 44px !important; min-height: 44px; padding-top: 10px; resize: vertical; }
.technip-apply-form select.technip-select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 36px;
	cursor: pointer;
}
.technip-apply-form .technip-file-row label { display: block; font-size: 12px; color: #4B5563; margin-bottom: 6px; }
.technip-file-hint { color: #9CA3AF; }
.technip-field-file {
	width: 100%;
	height: 44px;
	box-sizing: border-box;
	padding: 9px 10px;
	border: 1px dashed #C7D2E3;
	border-radius: 4px;
	font-size: 12px;
	background: #F9FAFC;
}

.technip-apply-form .technip-consent-row { margin: 6px 0 4px; }
.technip-apply-form .technip-consent-row label {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 12.5px; line-height: 1.5; color: #4B5563; cursor: pointer;
}
.technip-apply-form .technip-consent-row input[type="checkbox"] {
	margin-top: 3px; width: 16px; height: 16px; flex: none; accent-color: #EC2229;
}
.technip-apply-disclaimer { margin: 8px 0 0; font-size: 12px; color: #9CA3AF; }

.technip-apply-form .technip-submit {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; margin-top: 14px;
	padding: 13px 24px;
	background: #EC2229;
	color: #fff; font-size: 14px; font-weight: 700;
	letter-spacing: .03em; text-transform: uppercase;
	border: 0; border-radius: 4px; cursor: pointer;
	transition: background .2s ease;
}
.technip-apply-form .technip-submit:hover { background: #B81017; }
.technip-apply-form .technip-submit[disabled] { opacity: .6; cursor: default; }

.technip-apply-form .technip-response {
	margin-top: 14px; padding: 12px 16px; border-radius: 4px; font-size: 13px; display: none;
}
.technip-apply-form .technip-response.is-success { display: block; background: #e9f9ee; color: #1e7a3d; border: 1px solid #b7e8c6; }
.technip-apply-form .technip-response.is-error { display: block; background: #fdeceb; color: #a4231a; border: 1px solid #f5c2bd; }

.technip-apply-form .row { display: flex; flex-wrap: wrap; margin: 0 -7px; }
.technip-apply-form .row > div { padding: 0 7px; margin-bottom: 10px; }
.technip-apply-form .row p { margin: 0; }
.technip-apply-form .col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; }
.technip-apply-form .col-md-5 { flex: 0 0 41.666%; max-width: 41.666%; }
.technip-apply-form .col-md-6 { flex: 0 0 50%; max-width: 50%; }
.technip-apply-form .col-md-7 { flex: 0 0 58.333%; max-width: 58.333%; }
.technip-apply-form .col-12 { flex: 0 0 100%; max-width: 100%; }
@media (max-width: 640px) {
	.technip-apply-form .col-md-4,
	.technip-apply-form .col-md-5,
	.technip-apply-form .col-md-6,
	.technip-apply-form .col-md-7 { flex: 0 0 100%; max-width: 100%; }
	.technip-apply-modal__panel { padding: 0 20px 20px; }
	.technip-apply-modal__head { padding: 18px 0 12px; }
}

.technip-hp-field { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }