/* Base : remplace la base typographique d'InJob (13px gris clair). */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--irk-font-body);
	font-size: var(--irk-fs-base);
	line-height: 1.6;
	color: var(--irk-text);
	background: var(--irk-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--irk-font-display);
	color: var(--irk-ink);
	line-height: 1.12;
	font-weight: 700;
	letter-spacing: -0.015em;
	text-transform: none;
	margin: 0 0 var(--irk-s2);
}
h1 { font-size: var(--irk-fs-h1); letter-spacing: -0.03em; }
h2 { font-size: var(--irk-fs-h2); letter-spacing: -0.02em; }
h3, .irk-h3 { font-size: var(--irk-fs-h3); }
h4 { font-size: var(--irk-fs-h4); font-weight: 600; }
h5, h6 { font-size: var(--irk-fs-lg); font-weight: 600; }
p { margin: 0 0 var(--irk-s2); }
p:last-child { margin-bottom: 0; }
a { color: var(--irk-majorelle); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--irk-majorelle-dark); }
img { max-width: 100%; height: auto; }
ul, ol { list-style-position: outside; }
:lang(ar), [dir="rtl"] { font-family: "IBM Plex Sans Arabic", var(--irk-font-body); }

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px); position: absolute !important;
	height: 1px; width: 1px; overflow: hidden; white-space: nowrap;
}
.irk-skip {
	position: absolute; left: var(--irk-s2); top: -100px; z-index: 100000;
	background: var(--irk-white); color: var(--irk-ink); padding: 12px 16px; border-radius: var(--irk-r-button);
}
.irk-skip:focus { top: var(--irk-s2); }

/* Formulaires (y compris ceux d'InJob : connexion, publication, candidature). */
input[type="text"], input[type="email"], input[type="password"], input[type="search"],
input[type="tel"], input[type="url"], input[type="number"], input[type="date"],
select, textarea, .form-control {
	font: inherit;
	color: var(--irk-ink);
	background: var(--irk-white);
	border: 1px solid var(--irk-line);
	border-radius: var(--irk-r-field);
	min-height: 48px;
	padding: 10px 14px;
	box-shadow: none;
	max-width: 100%;
	transition: border-color .15s var(--irk-ease), box-shadow .15s var(--irk-ease);
}
textarea { min-height: 140px; }
input::placeholder, textarea::placeholder { color: var(--irk-muted); opacity: 1; }
input:focus, select:focus, textarea:focus, .form-control:focus {
	outline: none;
	border-color: var(--irk-majorelle);
	box-shadow: 0 0 0 3px var(--irk-majorelle-tint);
}
label { color: var(--irk-ink); font-weight: 700; font-size: var(--irk-fs-sm); }

/* Boutons : WordPress, InJob (Bootstrap) et Elementor. */
button, input[type="submit"], input[type="button"], .btn, .button, .irk-btn, .elementor-button {
	font-family: var(--irk-font-body);
	font-weight: 700;
	font-size: var(--irk-fs-base);
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.2;
	border-radius: var(--irk-r-button);
	min-height: 48px;
	padding: 12px 22px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
	transition: background-color .15s var(--irk-ease), color .15s var(--irk-ease), border-color .15s var(--irk-ease);
}
input[type="submit"], .btn-primary, .button-primary, .irk-btn--primary, .elementor-button {
	background: var(--irk-majorelle);
	border: 1px solid var(--irk-majorelle);
	color: var(--irk-white);
}
input[type="submit"]:hover, .btn-primary:hover, .btn-primary:focus, .button-primary:hover, .irk-btn--primary:hover, .elementor-button:hover {
	background: var(--irk-majorelle-dark);
	border-color: var(--irk-majorelle-dark);
	color: var(--irk-white);
}
.btn-default, .btn-secondary, .irk-btn--outline {
	background: var(--irk-white);
	border: 1px solid var(--irk-line);
	color: var(--irk-ink);
}
.btn-default:hover, .btn-secondary:hover, .irk-btn--outline:hover { border-color: var(--irk-ink); color: var(--irk-ink); }
.irk-btn--ghost { background: transparent; border: 1px solid rgba(255,255,255,.4); color: var(--irk-white); }
.irk-btn--ghost:hover { background: rgba(255,255,255,.1); color: var(--irk-white); }

a:focus-visible, button:focus-visible, .btn:focus-visible, .irk-btn:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
	outline: none;
	box-shadow: var(--irk-focus);
}

/* Écran de chargement d'InJob : retardait chaque page. */
#preview-area { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
