/*
Theme Name: TMR Executive
Theme URI: https://tmr-executive.fr
Description: Thème sur mesure pour TMR Executive, cabinet de recrutement hôtellerie. Thème enfant de Hello Elementor : charte graphique, configuration automatique du site et des pages.
Author: TMR Executive
Template: hello-elementor
Version: 2.5.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tmr-executive
License: GNU General Public License v3 or later
*/

/* ==========================================================
   Charte TMR Executive
   ========================================================== */
:root {
	--tmr-dark: #0B0F17;       /* fond principal sombre */
	--tmr-dark-2: #1E222A;     /* cartes sur fond sombre */
	--tmr-navy: #0F1E33;       /* section « Notre approche » */
	--tmr-gold: #C8BE8A;       /* doré signature */
	--tmr-gold-light: #D9D2A8; /* cartes sur fond doré */
	--tmr-black: #000000;      /* footer */
	--tmr-white: #FFFFFF;
	--tmr-grey-bar: #E6EEF0;   /* barre copyright */
	--tmr-text-muted: #9AA0A6;
	--tmr-radius: 14px;
	--tmr-radius-pill: 50px;
	--tmr-font: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
}

body {
	font-family: var(--tmr-font);
	-webkit-font-smoothing: antialiased;
}

/* ---------- Boutons pilule (classe à ajouter dans Elementor : Avancé > Classes CSS) ---------- */
.tmr-btn .elementor-button,
.tmr-btn-dark .elementor-button {
	border-radius: var(--tmr-radius-pill);
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: .02em;
	padding: 14px 26px;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tmr-btn .elementor-button {
	background-color: var(--tmr-gold);
	color: var(--tmr-dark);
}
.tmr-btn-dark .elementor-button {
	background-color: var(--tmr-dark);
	color: var(--tmr-gold);
}
.tmr-btn .elementor-button:hover,
.tmr-btn-dark .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
}

/* ---------- Cartes ---------- */
.tmr-card {
	background: var(--tmr-dark-2);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--tmr-radius);
	transition: transform .25s ease, border-color .25s ease;
}
.tmr-card:hover {
	transform: translateY(-4px);
	border-color: var(--tmr-gold);
}
.tmr-card-gold {
	background: var(--tmr-gold-light);
	border-radius: var(--tmr-radius);
	padding: 10px;
}
.tmr-card-white {
	background: var(--tmr-white);
	border: 1px solid #E5E7EB;
	border-radius: var(--tmr-radius);
	box-shadow: 0 4px 18px rgba(0, 0, 0, .06);
}

/* ---------- Images aux coins arrondis avec liseré blanc ---------- */
.tmr-photo img {
	border-radius: var(--tmr-radius);
	border: 3px solid var(--tmr-white);
}

/* ---------- Badges « check » (Notre approche / Secteurs) ---------- */
.tmr-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: rgba(200, 190, 138, .2);
	border-radius: var(--tmr-radius-pill);
	padding: 8px 18px;
}

/* ---------- Menu : élément actif en pilule dorée ---------- */
.tmr-nav .elementor-nav-menu--main .elementor-item {
	border-radius: var(--tmr-radius-pill);
	text-transform: uppercase;
	font-size: 13px;
	padding: 8px 14px;
}
.tmr-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.tmr-nav .elementor-nav-menu--main .elementor-item:hover {
	background: var(--tmr-gold);
	color: var(--tmr-white) !important;
}

/* ---------- Footer ---------- */
.tmr-footer {
	background: var(--tmr-black);
	color: var(--tmr-white);
}
.tmr-footer a { color: var(--tmr-white); }
.tmr-footer a:hover { color: var(--tmr-gold); }
.tmr-copyright {
	background: var(--tmr-grey-bar);
	color: var(--tmr-dark);
	font-size: 12px;
	text-align: center;
	padding: 18px 0;
}

/* ---------- Frise « process » page Entreprise ---------- */
.tmr-steps {
	display: flex;
	justify-content: space-between;
	position: relative;
	gap: 8px;
}
.tmr-steps::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 5%;
	right: 5%;
	height: 10px;
	background: var(--tmr-gold);
	border-radius: 10px;
}
.tmr-step {
	position: relative;
	flex: 1;
	text-align: center;
	color: var(--tmr-white);
	font-size: 12px;
	font-weight: 600;
}
.tmr-step span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 auto 10px;
	border-radius: 50%;
	background: var(--tmr-white);
	border: 3px solid var(--tmr-gold);
	color: var(--tmr-gold);
}
@media (max-width: 767px) {
	.tmr-steps { flex-direction: column; gap: 18px; }
	.tmr-steps::before { display: none; }
}

/* ---------- Pastilles avec coche (Notre approche, Secteurs) ---------- */
.tmr-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.tmr-pills-col {
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.tmr-pills .tmr-pill {
	color: var(--tmr-white);
	font-size: 16px;
	font-weight: 500;
	background: rgba(200, 190, 138, .25);
}
.tmr-pills-dark .tmr-pill {
	color: var(--tmr-dark);
	background: rgba(255, 255, 255, .35);
}
.tmr-check {
	position: relative;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--tmr-gold);
}
.tmr-pills-dark .tmr-check { background: var(--tmr-dark); }
.tmr-check::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 4px;
	width: 5px;
	height: 10px;
	border: solid var(--tmr-dark);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.tmr-pills-dark .tmr-check::after { border-color: var(--tmr-gold); }

/* ==========================================================
   Témoignages (carrousel Elementor Pro 4.x)
   Structure : .elementor-main-swiper.swiper > .swiper-wrapper >
   .swiper-slide > .elementor-testimonial (footer au-dessus du texte)
   ========================================================== */

/* Zone du carrousel : pleine largeur + marge intérieure qui laisse
   la place aux ombres et aux flèches (le swiper coupe tout ce qui dépasse). */
.elementor-widget-testimonial-carousel .elementor-main-swiper,
.elementor-widget-testimonial-carousel .elementor-arrows-yes .elementor-main-swiper {
	width: 100% !important;
	overflow: hidden;
	padding: 24px 24px 90px !important;
}

/* La diapositive ne coupe plus son contenu et ne porte plus de style. */
.elementor-widget-testimonial-carousel .elementor-main-swiper .swiper-slide {
	height: auto !important;
	overflow: visible !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	display: flex;
}

/* Carte */
.elementor-widget-testimonial-carousel .elementor-testimonial {
	position: relative;
	flex: 1 1 auto;
	box-sizing: border-box;
	width: 100%;
	background: var(--tmr-white);
	border: 1px solid #ECE8D8;
	border-radius: 20px;
	padding: 40px 32px 34px;
	box-shadow: 0 6px 18px rgba(11, 15, 23, .06);
	transition: box-shadow .3s ease, border-color .3s ease;
}
.elementor-widget-testimonial-carousel .elementor-testimonial:hover {
	border-color: var(--tmr-gold);
	box-shadow: 0 10px 22px rgba(11, 15, 23, .10);
}

/* Guillemet doré en filigrane */
.elementor-widget-testimonial-carousel .elementor-testimonial::before {
	content: "\201C";
	position: absolute;
	top: 14px;
	right: 24px;
	font: 700 90px/1 Georgia, "Times New Roman", serif;
	color: var(--tmr-gold);
	opacity: .3;
	pointer-events: none;
}

/* Photo + nom + fonction */
.elementor-widget-testimonial-carousel .elementor-testimonial__footer {
	flex-direction: column !important;
	align-items: center !important;
	margin-bottom: 18px !important;
}
.elementor-widget-testimonial-carousel .elementor-testimonial__image img {
	display: block;
	width: 76px !important;
	height: 76px !important;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid var(--tmr-white);
	box-shadow: 0 0 0 2px var(--tmr-gold);
}
.elementor-widget-testimonial-carousel .elementor-testimonial__image + cite,
.elementor-widget-testimonial-carousel .elementor-testimonial__cite {
	margin: 16px 0 0 !important;
	align-items: center;
	text-align: center;
}
.elementor-widget-testimonial-carousel .elementor-testimonial__cite::after {
	content: "";
	display: block;
	width: 36px;
	height: 2px;
	margin: 14px auto 0;
	background: var(--tmr-gold);
	border-radius: 2px;
}
.elementor-widget-testimonial-carousel .elementor-testimonial__name {
	font-family: var(--tmr-font);
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--tmr-dark) !important;
}
.elementor-widget-testimonial-carousel .elementor-testimonial__title {
	margin-top: 4px;
	font-family: var(--tmr-font);
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #A69A5B !important;
}

/* Citation */
.elementor-widget-testimonial-carousel .elementor-testimonial__text {
	font-family: var(--tmr-font);
	font-size: 15px !important;
	font-style: italic;
	line-height: 1.75 !important;
	color: #3A3F47 !important;
	text-align: center;
}

/* Flèches : sous les cartes, centrées */
.elementor-widget-testimonial-carousel .elementor-swiper-button {
	position: absolute;
	top: auto !important;
	bottom: 24px !important;
	transform: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	border-radius: 50%;
	background: var(--tmr-white);
	border: 1.5px solid var(--tmr-gold);
	color: var(--tmr-gold) !important;
	font-size: 16px !important;
	cursor: pointer;
	z-index: 5;
	transition: background-color .2s ease, color .2s ease;
}
.elementor-widget-testimonial-carousel .elementor-swiper-button svg {
	width: 16px;
	height: 16px;
	fill: currentColor !important;
}
.elementor-widget-testimonial-carousel .elementor-swiper-button:hover {
	background: var(--tmr-gold);
	color: var(--tmr-white) !important;
}
.elementor-widget-testimonial-carousel .elementor-swiper-button-prev {
	left: calc(50% - 58px) !important;
	right: auto !important;
}
.elementor-widget-testimonial-carousel .elementor-swiper-button-next {
	left: calc(50% + 10px) !important;
	right: auto !important;
}
.elementor-widget-testimonial-carousel .swiper-pagination {
	display: none !important;
}

@media (max-width: 767px) {
	.elementor-widget-testimonial-carousel .elementor-main-swiper,
	.elementor-widget-testimonial-carousel .elementor-arrows-yes .elementor-main-swiper {
		padding: 20px 16px 84px !important;
	}
	.elementor-widget-testimonial-carousel .elementor-testimonial {
		padding: 36px 22px 28px;
	}
}

/* ==========================================================
   Page Salaires
   ========================================================== */
.tmr-eyebrow .elementor-heading-title {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid rgba(200, 190, 138, .5);
	border-radius: var(--tmr-radius-pill);
}
.tmr-btn-outline .elementor-button {
	background: transparent !important;
	color: var(--tmr-white) !important;
	border: 1.5px solid rgba(255, 255, 255, .35) !important;
	border-radius: var(--tmr-radius-pill);
	text-transform: uppercase;
	font-weight: 600;
	padding: 14px 26px;
}
.tmr-btn-outline .elementor-button:hover {
	border-color: var(--tmr-gold) !important;
	color: var(--tmr-gold) !important;
}

/* Grille interactive [tmr_grille_salaires] */
.tmr-grille {
	display: flex;
	flex-direction: column;
	gap: 22px;
	font-family: var(--tmr-font);
	color: var(--tmr-dark);
}
.tmr-grille__filters {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 6px;
	background: #F4F2EA;
	border-radius: var(--tmr-radius-pill);
	align-self: flex-start;
	margin-top: 8px;
}
.tmr-grille__filters button {
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--tmr-radius-pill);
	background: transparent;
	color: #4A4F57;
	font: 600 14px/1 var(--tmr-font);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.tmr-grille__filters button:hover { background: rgba(11, 15, 23, .06); }
.tmr-grille__filters button.is-active {
	background: var(--tmr-dark);
	color: var(--tmr-gold);
}
.tmr-grille__table {
	border: 1px solid #ECE8D8;
	border-radius: 20px;
	overflow: hidden;
}
.tmr-grille__head,
.tmr-grille__row {
	display: grid;
	grid-template-columns: 30% 15% minmax(0, 1fr) 16%;
	gap: 24px;
	align-items: center;
	padding: 20px 32px;
}
.tmr-grille__head {
	padding-block: 18px;
	background: var(--tmr-dark);
	color: #C9CCD1;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.tmr-grille__scale {
	display: flex;
	justify-content: space-between;
}
.tmr-grille__scale i { font-style: normal; }
.tmr-grille__row { border-top: 1px solid #F0EDE2; background: var(--tmr-white); }
.tmr-grille__row:nth-child(odd) { background: #FCFBF7; }
.tmr-grille__row[hidden] { display: none; }
.tmr-grille__poste { display: flex; flex-direction: column; gap: 4px; }
.tmr-grille__poste strong { font-size: 16px; font-weight: 600; }
.tmr-grille__poste small,
.tmr-grille__range small { display: block; font-size: 12px; font-weight: 500; color: #6B7079; }
.tmr-grille__new {
	display: inline-block;
	margin-left: 6px;
	padding: 3px 8px;
	border-radius: var(--tmr-radius-pill);
	background: var(--tmr-dark);
	color: var(--tmr-gold);
	font-size: 10px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	vertical-align: middle;
}
.tmr-grille__cat { font-size: 13px; color: #4A4F57; }
.tmr-grille__bar {
	position: relative;
	height: 10px;
	background: #F1EEE3;
	border-radius: 10px;
}
.tmr-grille__bar b {
	position: absolute;
	top: 0;
	height: 10px;
	border-radius: 10px;
	background: var(--tmr-gold);
}
.tmr-grille__bar b.is-groupe { background: var(--tmr-dark); }
.tmr-grille__bar b.is-hors { background: #8A7D3C; }
.tmr-grille__right { text-align: right; }
.tmr-grille__range { font-size: 15px; font-weight: 700; white-space: nowrap; }

@media (max-width: 767px) {
	.tmr-grille__head { display: none; }
	.tmr-grille__row {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px 16px;
		padding: 18px 20px;
	}
	.tmr-grille__cat { display: none; }
	.tmr-grille__bar { grid-column: 1 / -1; grid-row: 2; }
	.tmr-grille__filters button { flex: 1 1 auto; padding: 0 14px; font-size: 13px; }
}

/* ---------- Salaires : hero + grille qui le chevauche ---------- */
.tmr-salaires-hero {
	position: relative;
	overflow: hidden;
}
.tmr-salaires-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(200, 190, 138, .5), transparent);
}
.tmr-salaires-hero .tmr-eyebrow .elementor-heading-title { background: rgba(200, 190, 138, .08); }
.tmr-grille-section { position: relative; }
.tmr-grille-section .tmr-grille__filters {
	align-self: center;
	margin-top: 0;
	background: var(--tmr-white);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.tmr-grille-section .tmr-grille__table {
	background: var(--tmr-white);
	box-shadow: 0 30px 70px rgba(11, 15, 23, .14);
}
.tmr-grille__row { transition: background-color .2s ease; }
.tmr-grille__row:hover { background: #F7F4E8 !important; }

/* ---------- Salaires : cartes ---------- */
.tmr-tip {
	box-shadow: 0 8px 24px rgba(11, 15, 23, .05);
	transition: box-shadow .3s ease;
}
.tmr-tip:hover { box-shadow: 0 14px 34px rgba(11, 15, 23, .10); }
.tmr-path { transition: transform .3s ease, box-shadow .3s ease; }
.tmr-path:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px rgba(11, 15, 23, .18);
}

/* ==========================================================
   Liens : remplace le rose/rouge par défaut de Hello Elementor
   ========================================================== */
a { color: #8A7D3C; }
a:hover, a:focus { color: var(--tmr-dark); }

/* ==========================================================
   Formulaires Elementor Pro — style TMR
   ========================================================== */
.elementor-form .elementor-field-group { margin-bottom: 20px !important; }

.elementor-form .elementor-field-label {
	margin-bottom: 8px !important;
	font-family: var(--tmr-font) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .02em;
	color: #3A3F47 !important;
}
/* Astérisque « obligatoire » doré au lieu de rouge */
.elementor-form .elementor-mark-required .elementor-field-label::after {
	color: #A69A5B !important;
	padding-left: 2px;
}

.elementor-form .elementor-field-textual,
.elementor-form .elementor-select-wrapper select {
	min-height: 54px;
	padding: 14px 18px !important;
	background-color: #F8F7F2 !important;
	border: 1px solid #E3DFD0 !important;
	border-radius: 12px !important;
	font-family: var(--tmr-font) !important;
	font-size: 15px !important;
	color: var(--tmr-dark) !important;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.elementor-form textarea.elementor-field-textual {
	min-height: 150px;
	line-height: 1.6;
	resize: vertical;
}
.elementor-form .elementor-field-textual::placeholder { color: #9AA0A6; opacity: 1; }
.elementor-form .elementor-field-textual:hover,
.elementor-form .elementor-select-wrapper select:hover { border-color: #CFC7A4 !important; }
.elementor-form .elementor-field-textual:focus,
.elementor-form .elementor-select-wrapper select:focus {
	outline: none;
	background-color: var(--tmr-white) !important;
	border-color: var(--tmr-gold) !important;
	box-shadow: 0 0 0 4px rgba(200, 190, 138, .25) !important;
}
.elementor-form .elementor-select-wrapper::before {
	right: 18px;
	color: #8A7D3C;
	font-size: 12px;
}

/* Mention RGPD */
.elementor-form .elementor-field-type-html p,
.elementor-form .elementor-field-type-html {
	font-size: 13px !important;
	line-height: 1.7 !important;
	color: #6B7079 !important;
}
.elementor-form .elementor-field-type-html a {
	color: var(--tmr-dark);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--tmr-gold);
	text-underline-offset: 3px;
}
.elementor-form .elementor-field-type-html a:hover { color: #8A7D3C; }

/* Bouton d'envoi : pilule noire, texte doré */
.elementor-form .elementor-field-type-submit { margin-top: 6px; }
.elementor-form .elementor-button[type="submit"],
.elementor-form button.elementor-button {
	min-height: 54px;
	padding: 0 34px !important;
	background-color: var(--tmr-dark) !important;
	color: var(--tmr-gold) !important;
	border: 0 !important;
	border-radius: var(--tmr-radius-pill) !important;
	font-family: var(--tmr-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.elementor-form .elementor-button[type="submit"]:hover,
.elementor-form button.elementor-button:hover {
	background-color: var(--tmr-gold) !important;
	color: var(--tmr-dark) !important;
	transform: translateY(-1px);
}

/* Messages de retour */
.elementor-message { font-family: var(--tmr-font); font-size: 14px; }
.elementor-message.elementor-message-success { color: #3F6B3A; }
.elementor-message.elementor-message-danger,
.elementor-form .elementor-error .elementor-field-textual { border-color: #B4533B !important; }

/* ==========================================================
   Accueil : portrait du hero, calé sur la maquette Figma
   Mesures du PNG (1348 px) : le portrait occupe x 455→881 (centre 49,5 %),
   y 232→976 (17,2 % → 72,4 %, soit 55,2 % de la hauteur).
   Réglage : portrait = 80 % de la hauteur du hero, centré à 78 %
   de la largeur, tête à 4 % du haut. Les cercles sont coupés par le hero.
   ========================================================== */
@media (min-width: 768px) {
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) {
		/* Taille de l'image carrée : le portrait visible en fait 55,2 % */
		--tmr-hero-img: min(58vw, 850px);
		position: relative !important;
		overflow: hidden;
		min-height: calc(var(--tmr-hero-img) * .552 + 130px) !important;
	}
	/* Les conteneurs intermédiaires ne servent plus de repère :
	   l'image se positionne par rapport au hero entier */
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) > .e-con-inner,
	.e-con:has(> .elementor-widget-image img[src*="HERO-IMAGE"]),
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]),
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) > .elementor-widget-container {
		position: static !important;
	}
	.elementor-widget-image img[src*="HERO-IMAGE"] {
		position: absolute;
		z-index: 0;
		/* Tête du portrait à 36 px sous le haut du hero */
		top: calc(36px - var(--tmr-hero-img) * .172);
		left: 78%;
		width: var(--tmr-hero-img) !important;
		max-width: none !important;
		height: var(--tmr-hero-img) !important;
		aspect-ratio: 1 / 1;
		transform: translateX(-49.55%);
		pointer-events: none;
	}
	/* Signature centrée sous le portrait */
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor {
		position: absolute !important;
		z-index: 2;
		/* Juste sous le bas du portrait */
		top: calc(36px + var(--tmr-hero-img) * .552 + 16px);
		left: 78%;
		width: max-content;
		margin: 0 !important;
		transform: translateX(-50%);
	}
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p {
		text-align: center !important;
		white-space: nowrap;
	}
	/* Le texte reste au-dessus des cercles */
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) .e-con:not(:has(img[src*="HERO-IMAGE"])) {
		position: relative;
		z-index: 2;
	}
}

@media (max-width: 767px) {
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) {
		width: 100%;
		max-width: 340px;
		margin: 70px auto 60px;
		overflow: visible;
	}
	.elementor-widget-image img[src*="HERO-IMAGE"] {
		display: block;
		width: 100%;
		max-width: none;
		transform: scale(1.7);
		transform-origin: 49.5% 44%;
	}
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) { overflow: hidden; }
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p { text-align: center !important; }
}

/* Entrée du portrait (sur l'image elle-même, pour ne pas casser son positionnement) */
.tmr-motion .elementor-widget-image img[src*="HERO-IMAGE"] {
	animation: tmr-hero-photo 1.5s cubic-bezier(.16, 1, .3, 1) .2s both;
}
@keyframes tmr-hero-photo {
	from { opacity: 0; translate: 50px 0; scale: .94; }
	to   { opacity: 1; translate: 0 0; scale: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.tmr-motion .elementor-widget-image img[src*="HERO-IMAGE"] { animation: none; }
}

/* ==========================================================
   Notre cabinet : hero avec image pleine hauteur à droite
   ========================================================== */
@media (min-width: 768px) {
	/* Le texte s'aligne sur la grille de 1200 px du reste du site */
	.tmr-align-boxed-left {
		padding-left: max(20px, calc((100vw - 1200px) / 2 + 20px)) !important;
	}
}
.tmr-hero-visual { position: relative; overflow: hidden; }
/* Léger fondu en haut et en bas, en plus du fondu Elementor à gauche */
.tmr-hero-visual::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(11, 15, 23, .35) 0%, rgba(11, 15, 23, 0) 18%, rgba(11, 15, 23, 0) 82%, rgba(11, 15, 23, .35) 100%);
}

/* ==========================================================
   Notre cabinet : deux téléphones LinkedIn
   ========================================================== */
.tmr-phones { padding-block: 10px 40px; }
.tmr-phone img {
	/* Les visuels contiennent déjà le cadre du téléphone : aucun habillage ajouté */
	display: block;
	height: auto !important;
	object-fit: contain !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0;
	background: transparent !important;
	box-shadow: none !important;
	/* Ombre qui suit la forme du téléphone (fond transparent) */
	filter: drop-shadow(0 28px 40px rgba(0, 0, 0, .45));
}
.tmr-phone--second { margin-top: 80px; }

/* ==========================================================
   RESPONSIVE — corrections globales (tablette ≤ 1024 px, mobile ≤ 767 px)
   ========================================================== */

/* Aucun élément agrandi (portrait, cercles, grille) ne crée de défilement horizontal */
html, body { overflow-x: clip; }
img { max-width: 100%; }

/* Liens longs (URL LinkedIn du pied de page) : retour à la ligne au lieu de déborder */
.elementor-icon-list-text,
.elementor-widget-text-editor a { overflow-wrap: anywhere; }

/* Textes à contenu large (Conditions générales) : jamais plus larges que l'écran */
.elementor-widget-text-editor { max-width: 100%; }

@media (max-width: 1024px) {
	/* Paragraphes d'introduction centrés : on retire les grosses marges latérales
	   (60 à 220 px) qui rendaient la colonne de texte trop étroite sur tablette */
	.e-con.e-parent > .e-con-inner > .elementor-widget-text-editor,
	.e-con.e-parent > .e-con-inner > .elementor-widget-text-editor > .elementor-widget-container,
	.e-con.e-parent > .e-con-inner > .elementor-widget-heading,
	.e-con.e-parent > .e-con-inner > .elementor-widget-heading > .elementor-widget-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Accueil : le titre du hero tient dans sa colonne */
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) h1.elementor-heading-title { font-size: 40px !important; }
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) h2.elementor-heading-title { font-size: 30px !important; }

	/* Notre cabinet : téléphones LinkedIn réduits pour tenir dans la demi-colonne */
	.tmr-phones { gap: 16px !important; }
	.tmr-phone--main img { width: 190px !important; }
	.tmr-phone--second img { width: 160px !important; }
	.tmr-phone--second { margin-top: 56px; }
}

@media (max-width: 767px) {
	/* Titres du hero d'accueil */
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) h1.elementor-heading-title { font-size: 34px !important; }
	.e-con.e-parent:has(img[src*="HERO-IMAGE"]) h2.elementor-heading-title { font-size: 25px !important; }

	/* Formulaires : un champ par ligne sur mobile */
	.elementor-form .elementor-field-group { width: 100% !important; max-width: 100% !important; flex-basis: 100% !important; }
	.elementor-form .elementor-field-type-submit .elementor-button { width: 100%; }

	/* Téléphones LinkedIn */
	.tmr-phones { gap: 12px !important; }
	.tmr-phone--main img { width: 165px !important; }
	.tmr-phone--second img { width: 140px !important; }
	.tmr-phone--second { margin-top: 44px; }

	/* Boutons pilule : pleine largeur possible sans déborder */
	.elementor-button { white-space: normal; text-align: center; }

	/* Cartes témoignages : texte un peu plus compact */
	.elementor-widget-testimonial-carousel .elementor-testimonial__text { font-size: 14px !important; }

	/* Frise « process » (Entreprise) en liste verticale lisible */
	.tmr-step { display: flex; align-items: center; gap: 14px; text-align: left; font-size: 14px; }
	.tmr-step span { margin: 0; flex: 0 0 44px; }
}

/* ==========================================================
   ANIMATIONS — apparition au défilement (style Framer)
   Seulement opacity + translate/scale : aucun recalcul de mise en page.
   Les classes sont posées par assets/js/tmr-motion.js ; sans JS, rien n'est masqué.
   ========================================================== */
:root { --tmr-ease: cubic-bezier(.16, 1, .3, 1); }

.tmr-motion .tmr-reveal {
	opacity: 0;
	translate: 0 26px;
	transition:
		opacity .9s var(--tmr-ease),
		translate .9s var(--tmr-ease),
		scale 1.1s var(--tmr-ease);
}
.tmr-motion .tmr-reveal--img { scale: .97; translate: 0 18px; }
.tmr-motion .tmr-reveal.is-in {
	opacity: 1;
	translate: 0 0;
	scale: 1;
}
/* Hero : caché dès le premier affichage, puis entrée ample et lente */
.tmr-motion-ready [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget:not(.is-in) {
	opacity: 0;
	animation: tmr-failsafe 0s 3s forwards; /* s'affiche quoi qu'il arrive après 3 s */
}
@keyframes tmr-failsafe { to { opacity: 1; } }
.tmr-motion .tmr-reveal--hero {
	translate: 0 44px;
	transition:
		opacity 1.2s var(--tmr-ease),
		translate 1.3s var(--tmr-ease),
		scale 1.6s var(--tmr-ease);
}
.tmr-motion .tmr-reveal--hero-img {
	translate: 60px 10px;
	scale: .92;
}
@media (prefers-reduced-motion: reduce) {
	.tmr-motion .tmr-reveal { opacity: 1 !important; translate: none !important; scale: none !important; transition: none !important; }
}

/* ==========================================================
   BOUTONS — survol signature : reflet doré qui balaie, flèche qui glisse
   ========================================================== */
.elementor-button {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition:
		background-color .35s var(--tmr-ease),
		color .35s var(--tmr-ease),
		border-color .35s var(--tmr-ease),
		box-shadow .45s var(--tmr-ease),
		transform .45s var(--tmr-ease) !important;
}
/* Reflet : une bande de lumière oblique traverse le bouton */
.elementor-button::after {
	content: "";
	position: absolute;
	top: -20%;
	bottom: -20%;
	left: 0;
	width: 60%;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, .7) 50%, rgba(255, 255, 255, 0) 85%, transparent 100%);
	transform: translateX(-170%) skewX(-18deg);
	transition: transform .95s var(--tmr-ease);
}
.elementor-button:hover::after,
.elementor-button:focus-visible::after {
	transform: translateX(260%) skewX(-18deg);
}
/* Sur les boutons sombres, le reflet prend une teinte dorée */
.tmr-btn-dark .elementor-button::after,
.elementor-form .elementor-button::after {
	background: linear-gradient(100deg, transparent 0%, rgba(200, 190, 138, 0) 15%, rgba(200, 190, 138, .55) 50%, rgba(200, 190, 138, 0) 85%, transparent 100%);
}
/* Halo doré discret + légère montée */
.elementor-button:hover,
.elementor-button:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px -10px rgba(200, 190, 138, .75), 0 0 0 2px rgba(200, 190, 138, .45);
}
.elementor-button:active { transform: translateY(0) scale(.98); transition-duration: .15s !important; }
/* L'icône (flèche, +, téléchargement) glisse vers l'avant */
.elementor-button .elementor-button-icon {
	transition: transform .45s var(--tmr-ease);
}
.elementor-button:hover .elementor-button-icon { transform: translateX(5px); }
.elementor-button:hover .elementor-button-icon:has(.fa-plus-circle, [class*="plus"]) { transform: rotate(90deg); }
/* Focus clavier visible */
.elementor-button:focus-visible { outline: 2px solid var(--tmr-gold); outline-offset: 3px; }

/* Filtres de la grille des salaires : même rythme */
.tmr-grille__filters button { transition: background-color .35s var(--tmr-ease), color .35s var(--tmr-ease), transform .35s var(--tmr-ease); }
.tmr-grille__filters button:active { transform: scale(.97); }

/* ==========================================================
   Accueil : photo « Vous êtes dirigeant » au format portrait (maquette ≈ 5:6)
   ========================================================== */
.home .tmr-photo,
.tmr-photo--portrait {
	display: flex;
	justify-content: flex-end;
}
.home .tmr-photo img,
.tmr-photo--portrait img {
	width: 100% !important;
	max-width: 440px;
	height: auto !important;
	aspect-ratio: 5 / 6;
	object-fit: cover;
	object-position: center top;
	border-radius: 16px !important;
	border: 0 !important;
	box-shadow: 0 24px 50px rgba(0, 0, 0, .35);
}
@media (max-width: 767px) {
	.home .tmr-photo,
	.tmr-photo--portrait { justify-content: center; }
	.home .tmr-photo img,
	.tmr-photo--portrait img { max-width: 360px; }
}

/* Notre cabinet : téléphones agrandis visuellement (scale) sans changer la hauteur de la section */
@media (min-width: 1025px) {
	.tmr-phones { gap: 90px !important; }
	.tmr-phone img { scale: 1.3; transform-origin: center; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.tmr-phones { gap: 44px !important; }
	.tmr-phone img { scale: 1.15; transform-origin: center; }
}

/* Entreprise : frise en timeline verticale sur mobile (ligne dorée qui relie les étapes) */
@media (max-width: 767px) {
	.tmr-steps {
		flex-direction: column;
		gap: 26px !important;
		padding-left: 4px;
	}
	.tmr-steps::before {
		display: block !important;
		top: 22px;
		bottom: 22px;
		left: 23px;
		right: auto;
		width: 4px;
		height: auto;
		border-radius: 4px;
		background: linear-gradient(180deg, var(--tmr-gold) 0%, rgba(200, 190, 138, .35) 100%);
	}
	.tmr-step {
		display: flex;
		align-items: center;
		gap: 18px;
		text-align: left;
		font-size: 15px;
		line-height: 1.35;
	}
	.tmr-step span {
		position: relative;
		z-index: 1;
		flex: 0 0 44px;
		margin: 0;
		box-shadow: 0 0 0 6px var(--tmr-dark); /* détache le cercle de la ligne */
	}
}

/* ==========================================================
   POPUP « Envoyez-nous votre CV »
   ========================================================== */
.tmr-cv-popup .dialog-message { overflow-x: hidden; overflow-y: auto; max-height: 92vh; }
/* Les animations d'apparition ne s'appliquent jamais dans une popup */
.elementor-location-popup .tmr-reveal,
[data-elementor-type="popup"] .tmr-reveal {
	opacity: 1 !important;
	translate: none !important;
	scale: none !important;
}
.tmr-cv-popup .dialog-close-button {
	top: 18px !important;
	right: 18px !important;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #F4F2EA;
	transition: background-color .3s var(--tmr-ease), transform .3s var(--tmr-ease);
}
.tmr-cv-popup .dialog-close-button:hover { background: var(--tmr-gold); transform: rotate(90deg); }

/* Filet doré en haut de la popup */
.tmr-cv { position: relative; }
.tmr-cv::before {
	content: "";
	position: absolute;
	top: 0; left: 44px; right: 44px;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: var(--tmr-gold);
}

/* Champ CV : zone de dépôt en pointillés */
.tmr-cv .elementor-field-type-upload input[type="file"] {
	width: 100%;
	min-height: 64px;
	padding: 18px !important;
	background: #FBFAF5 !important;
	border: 1.5px dashed #CFC7A4 !important;
	border-radius: 12px !important;
	font: 500 14px/1.4 var(--tmr-font);
	color: #4A4F57;
	cursor: pointer;
	transition: border-color .25s ease, background-color .25s ease;
}
.tmr-cv .elementor-field-type-upload input[type="file"]:hover { border-color: var(--tmr-gold) !important; background: #F7F4E8 !important; }
.tmr-cv .elementor-field-type-upload input[type="file"]::file-selector-button {
	margin-right: 14px;
	padding: 10px 18px;
	border: 0;
	border-radius: 50px;
	background: var(--tmr-dark);
	color: var(--tmr-gold);
	font: 700 12px/1 var(--tmr-font);
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}
.tmr-cv .elementor-field-type-upload::after {
	content: "PDF ou Word, 5 Mo maximum";
	display: block;
	width: 100%;
	margin-top: 6px;
	font-size: 12px;
	color: #6B7079;
}
.tmr-cv .elementor-field-type-textarea textarea { min-height: 96px !important; }
.tmr-cv .elementor-form .elementor-field-group { margin-bottom: 14px !important; }

/* Le message Elementor par défaut est remplacé par notre remerciement */
.tmr-cv .elementor-message-success { display: none !important; }

/* Remerciement : caché tant que rien n'est envoyé */
.tmr-cv .tmr-cv-thanks-widget { display: none; }
.tmr-cv.is-sent .tmr-cv-body { display: none; }
.tmr-cv.is-sent .tmr-cv-thanks-widget { display: block; }
.tmr-cv-thanks {
	padding: 64px 44px 52px;
	text-align: center;
	font-family: var(--tmr-font);
	animation: tmr-thanks-in .8s var(--tmr-ease) both;
}
.tmr-cv-thanks__icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--tmr-dark);
	color: var(--tmr-gold);
	box-shadow: 0 0 0 8px rgba(200, 190, 138, .22);
	animation: tmr-thanks-pop .7s .15s var(--tmr-ease) both;
}
.tmr-cv-thanks__icon path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: tmr-thanks-check .6s .45s ease forwards; }
.tmr-cv-thanks__eyebrow { margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .16em; color: #8A7D3C; }
.tmr-cv-thanks__title { margin: 0 0 14px; font-size: 26px; line-height: 1.2; font-weight: 700; color: var(--tmr-dark); }
.tmr-cv-thanks__text { max-width: 420px; margin: 0 auto 28px; font-size: 15px; line-height: 1.7; color: #5B6470; }
.tmr-cv-close {
	min-height: 48px;
	padding: 0 30px;
	border: 1.5px solid var(--tmr-dark);
	border-radius: var(--tmr-radius-pill);
	background: transparent;
	color: var(--tmr-dark);
	font: 700 13px/1 var(--tmr-font);
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s var(--tmr-ease), color .3s var(--tmr-ease);
}
.tmr-cv-close:hover, .tmr-cv-close:focus-visible { background: var(--tmr-dark); color: var(--tmr-gold); }
@keyframes tmr-thanks-in { from { opacity: 0; translate: 0 16px; } to { opacity: 1; translate: 0 0; } }
@keyframes tmr-thanks-pop { from { opacity: 0; scale: .6; } to { opacity: 1; scale: 1; } }
@keyframes tmr-thanks-check { to { stroke-dashoffset: 0; } }
@media (max-width: 767px) {
	.tmr-cv-thanks { padding: 52px 22px 40px; }
	.tmr-cv::before { left: 22px; right: 22px; }
}

/* ==========================================================
   Sélecteur de langue FR / EN (ajouté au menu principal)
   ========================================================== */
.tmr-nav .elementor-nav-menu--main .tmr-lang-item { margin-left: 10px; }
.tmr-nav .elementor-nav-menu--main .elementor-item.tmr-lang {
	min-width: 42px;
	justify-content: center;
	padding: 7px 12px !important;
	border: 1.5px solid var(--tmr-gold);
	border-radius: var(--tmr-radius-pill);
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	color: #8A7D3C !important;
	background: transparent !important;
}
.tmr-nav .elementor-nav-menu--main .elementor-item.tmr-lang:hover {
	background: var(--tmr-gold) !important;
	color: var(--tmr-dark) !important;
}
.tmr-nav .elementor-nav-menu--dropdown .tmr-lang {
	font-weight: 700 !important;
	letter-spacing: .08em;
	color: #8A7D3C !important;
}

/* ==========================================================
   Salaires — version mobile de la grille
   Filtres : rangée de pastilles qui défile au doigt (une seule ligne)
   Lignes : poste + fourchette en haut, niveau, puis barre pleine largeur
   ========================================================== */
@media (max-width: 767px) {
	.tmr-grille { gap: 16px; }

	.tmr-grille-section .tmr-grille__filters,
	.tmr-grille__filters {
		align-self: stretch;
		flex-wrap: nowrap;
		gap: 8px;
		margin: 0 -16px;              /* va jusqu'aux bords de l'écran */
		padding: 4px 16px 6px;
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		-webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
		        mask-image: linear-gradient(90deg, #000 85%, transparent);
	}
	.tmr-grille__filters::-webkit-scrollbar { display: none; }
	.tmr-grille__filters button {
		flex: 0 0 auto !important;
		min-height: 40px;
		padding: 0 16px !important;
		border: 1px solid rgba(255, 255, 255, .28) !important;
		background: rgba(255, 255, 255, .06) !important;
		color: #FFFFFF !important;
		font-size: 13px !important;
		white-space: nowrap;
		scroll-snap-align: start;
	}
	.tmr-grille__filters button.is-active {
		border-color: var(--tmr-gold) !important;
		background: var(--tmr-gold) !important;
		color: var(--tmr-dark) !important;
	}

	.tmr-grille__table { border-radius: 16px; }
	.tmr-grille__row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"poste range"
			"bar   bar";
		align-items: start;
		gap: 10px 14px;
		padding: 16px 18px !important;
	}
	.tmr-grille__poste { grid-area: poste; min-width: 0; }
	.tmr-grille__poste strong { font-size: 15px; line-height: 1.35; }
	.tmr-grille__range { grid-area: range; font-size: 14px; line-height: 1.35; }
	.tmr-grille__range small { font-size: 11px; }
	.tmr-grille__bar { grid-area: bar; grid-column: auto; grid-row: auto; height: 8px; }
	.tmr-grille__bar b { height: 8px; }
	.tmr-grille__cat { display: none; }
	.tmr-grille__new { margin-left: 4px; font-size: 9px; padding: 2px 7px; }
}

/* Filtres de la grille : une ligne filtrée reste masquée, même sur mobile */
.tmr-grille .tmr-grille__row[hidden] { display: none !important; }

/* ==========================================================
   Pages légales (Conditions générales, Politique de données)
   ========================================================== */
.tmr-legal-hero .elementor-heading-title { text-wrap: balance; }
.tmr-legal-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 6px;
}
.tmr-legal-meta__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 220px;
	padding: 14px 22px;
	text-align: left;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(200, 190, 138, .28);
	border-radius: var(--tmr-radius);
	backdrop-filter: blur(6px);
}
.tmr-legal-meta__item span {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--tmr-gold);
}
.tmr-legal-meta__item strong { font-size: 15px; font-weight: 500; color: var(--tmr-white); }
.tmr-legal-meta__item a { color: var(--tmr-white); text-decoration: none; border-bottom: 1px solid rgba(200, 190, 138, .6); }
.tmr-legal-meta__item a:hover { color: var(--tmr-gold); }

/* Sommaire collant */
.tmr-legal-aside { position: sticky; top: 110px; align-self: flex-start; }
.tmr-legal-nav {
	padding: 26px 24px;
	background: #F7F6F1;
	border: 1px solid #ECE8D8;
	border-radius: 18px;
}
.tmr-legal-nav__title {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.6px;
	color: #8A7D3C;
}
.tmr-legal-nav ol { list-style: none; margin: 0; padding: 0; }
.tmr-legal-nav li + li { border-top: 1px solid #ECE8D8; }
.tmr-legal-nav a {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	font-size: 14px;
	line-height: 1.4;
	color: #3A404A !important;
	text-decoration: none;
	transition: color .2s ease, translate .25s ease;
}
.tmr-legal-nav a span { flex: 0 0 22px; font-weight: 600; color: #A69A5B; font-variant-numeric: tabular-nums; }
.tmr-legal-nav a:hover { color: var(--tmr-dark) !important; translate: 3px 0; }
.tmr-legal-nav a.is-active { color: var(--tmr-dark) !important; font-weight: 600; }
.tmr-legal-nav a.is-active span { color: var(--tmr-dark); }
.tmr-legal-nav__updated { margin: 14px 0 0; font-size: 12px; color: #7A808A; }

/* Articles */
.tmr-legal-sec { scroll-margin-top: 120px; }
.tmr-legal-sec + .tmr-legal-sec { padding-top: 40px !important; border-top: 1px solid #EEEBE0; }
.tmr-legal-num {
	display: inline-block;
	min-width: 44px;
	margin-right: 6px;
	font-weight: 300;
	color: #A69A5B;
	font-variant-numeric: tabular-nums;
}
.tmr-legal-text p { margin: 0 0 14px; }
.tmr-legal-text p:last-child { margin-bottom: 0; }
.tmr-legal-text ul { list-style: none; margin: 4px 0 14px; padding: 0; }
.tmr-legal-text li { position: relative; padding: 5px 0 5px 22px; }
.tmr-legal-text li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: calc(.875em + 1px);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--tmr-gold);
}
.tmr-legal-text strong { color: var(--tmr-dark); font-weight: 600; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Encadré contact */
.tmr-legal-cta { position: relative; overflow: hidden; }
.tmr-legal-cta::before {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 190, 138, .18), transparent 70%);
	pointer-events: none;
}

@media (max-width: 767px) {
	.tmr-legal-aside { position: static; }
	.tmr-legal-meta__item { min-width: 0; width: 100%; }
	.tmr-legal-nav { padding: 20px 18px; }
	.tmr-legal-num { min-width: 36px; }
	.tmr-legal-sec + .tmr-legal-sec { padding-top: 32px !important; }
}

/* ==========================================================
   Accueil : slogan et signature mis en avant (retours cliente)
   ========================================================== */
.tmr-slogan .elementor-heading-title {
	position: relative;
	padding-left: 20px;
	border-left: 3px solid var(--tmr-gold);
	text-wrap: balance;
	letter-spacing: -.2px;
}
.tmr-slogan { margin: 4px 0 10px !important; }

/* Signature « TALENT • MATCHING • RELATION » sous le portrait */
.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p {
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 2.5px !important;
	line-height: 1.4 !important;
}
@media (min-width: 1300px) {
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p {
		font-size: 18px !important;
		letter-spacing: 3px !important;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p {
		font-size: 13px !important;
		letter-spacing: 1.5px !important;
	}
}
@media (max-width: 767px) {
	.tmr-slogan .elementor-heading-title { padding-left: 16px; }
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p {
		font-size: 14px !important;
		letter-spacing: 1.5px !important;
	}
}

/* ==========================================================
   Blog : page de listing ([tmr_blog]) et article (single.php)
   ========================================================== */
.tmr-blog, .tmr-article {
	--b-bg: #0B0F17; --b-card: #151A23; --b-line: rgba(255, 255, 255, .1);
	--b-text: #FFFFFF; --b-muted: #A9AEB6; --b-gold: #C8BE8A;
	background: var(--b-bg);
	color: var(--b-text);
	font-family: var(--tmr-font);
}
.tmr-blog a, .tmr-article a { text-decoration: none; }
.tmr-blog__hero {
	position: relative;
	padding: 110px 20px 70px;
	text-align: center;
	background: radial-gradient(900px 420px at 50% -10%, rgba(200, 190, 138, .14), transparent 65%);
	border-bottom: 1px solid var(--b-line);
}
.tmr-blog__eyebrow, .tmr-article__cat {
	display: inline-block;
	margin: 0 0 18px;
	padding: 7px 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	color: var(--b-gold);
	border: 1px solid rgba(200, 190, 138, .5);
	border-radius: var(--tmr-radius-pill);
	background: rgba(200, 190, 138, .08);
}
.tmr-blog__title { margin: 0 0 16px; font-size: clamp(36px, 5vw, 60px); font-weight: 700; line-height: 1.06; letter-spacing: -1.2px; color: var(--b-text); }
.tmr-blog__intro { max-width: 620px; margin: 0 auto; font-size: 18px; line-height: 1.6; color: var(--b-muted); }
.tmr-blog__wrap { max-width: 1200px; margin: 0 auto; padding: 50px 20px 110px; }

.tmr-blog__cats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.tmr-blog__cats a {
	padding: 9px 18px;
	font-size: 14px;
	font-weight: 500;
	color: var(--b-text) !important;
	background: var(--b-card);
	border: 1px solid var(--b-line);
	border-radius: var(--tmr-radius-pill);
	transition: border-color .2s ease, background .2s ease;
}
.tmr-blog__cats a:hover { border-color: var(--b-gold); }
.tmr-blog__cats a.is-active { background: var(--b-gold); border-color: var(--b-gold); color: var(--tmr-dark) !important; font-weight: 600; }

.tmr-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tmr-blog-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--b-card);
	border: 1px solid var(--b-line);
	border-radius: 16px;
	transition: transform .4s cubic-bezier(.16, 1, .3, 1), border-color .3s ease;
}
.tmr-blog-card:hover { transform: translateY(-5px); border-color: rgba(200, 190, 138, .55); }
.tmr-blog-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #1E222A; }
.tmr-blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16, 1, .3, 1); }
.tmr-blog-card:hover .tmr-blog-card__media img { transform: scale(1.04); }
.tmr-blog-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 22px 22px 24px; }
.tmr-blog-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: 12.5px; color: var(--b-muted); }
.tmr-blog-card__meta span { font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--b-gold); }
.tmr-blog-card__meta span + time::before { content: "·"; margin-right: 10px; color: var(--b-muted); }
.tmr-blog-card__title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; }
.tmr-blog-card__title a { color: var(--b-text) !important; }
.tmr-blog-card__title a:hover { color: var(--b-gold) !important; }
.tmr-blog-card__excerpt { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--b-muted); }
.tmr-blog-card__more { margin-top: auto; padding-top: 8px; font-size: 13px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: var(--b-gold) !important; }
.tmr-blog-card__more span { display: inline-block; transition: translate .25s ease; }
.tmr-blog-card:hover .tmr-blog-card__more span { translate: 4px 0; }

/* Article à la une : sur toute la largeur */
.tmr-blog-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.25fr 1fr; }
.tmr-blog-card--featured .tmr-blog-card__media { aspect-ratio: auto; min-height: 380px; }
.tmr-blog-card--featured .tmr-blog-card__body { justify-content: center; gap: 14px; padding: 44px; }
.tmr-blog-card--featured .tmr-blog-card__title { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.15; }
.tmr-blog-card--featured .tmr-blog-card__excerpt { font-size: 16px; }
.tmr-blog-card--featured .tmr-blog-card__more { margin-top: 10px; }

/* Visuel de remplacement (article sans image) */
.tmr-blog-ph {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 18px 20px;
	background:
		radial-gradient(circle at 85% 80%, transparent 0 14%, rgba(200, 190, 138, .22) 14.3% 14.6%, transparent 15% 25%, rgba(200, 190, 138, .22) 25.3% 25.6%, transparent 26% 37%, rgba(200, 190, 138, .22) 37.3% 37.6%, transparent 38%),
		radial-gradient(90% 90% at 10% 0%, rgba(200, 190, 138, .16), transparent 60%),
		#0F1E33;
}
.tmr-blog-ph--1 { background-color: #151A23; }
.tmr-blog-ph--2 { background-color: #2A2618; }
.tmr-blog-ph__brand { font-size: 10.5px; font-weight: 600; letter-spacing: 2.2px; color: var(--b-gold); }
.tmr-blog-ph__mark { font-size: 18px; color: var(--b-gold); }

/* Aucun article */
.tmr-blog__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	max-width: 760px;
	margin: 10px auto 0;
	padding: 60px 30px 64px;
	text-align: center;
	border: 1px dashed rgba(200, 190, 138, .35);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(200, 190, 138, .06), transparent);
}
.tmr-blog__empty-cards { display: flex; gap: 12px; margin-bottom: 14px; }
.tmr-blog__empty-cards span {
	width: 92px;
	height: 116px;
	border-radius: 12px;
	border: 1px solid var(--b-line);
	background: linear-gradient(180deg, #1E222A 0 52%, var(--b-card) 52%);
	box-shadow: inset 0 -30px 0 -22px rgba(200, 190, 138, .35);
}
.tmr-blog__empty-cards span:nth-child(2) { translate: 0 -10px; border-color: rgba(200, 190, 138, .45); }
.tmr-blog__empty h2 { margin: 0; font-size: 26px; font-weight: 700; color: var(--b-text); }
.tmr-blog__empty p { max-width: 520px; margin: 0 0 8px; font-size: 16px; line-height: 1.6; color: var(--b-muted); }
.tmr-blog__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 26px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--tmr-dark) !important;
	background: var(--b-gold);
	border-radius: var(--tmr-radius-pill);
	transition: background .25s ease, translate .25s ease;
}
.tmr-blog__btn:hover { background: #D8CF9F; translate: 0 -2px; }

.tmr-blog__pages { display: flex; justify-content: center; gap: 8px; margin-top: 50px; flex-wrap: wrap; }
.tmr-blog__pages .page-numbers { min-width: 44px; padding: 11px 16px; text-align: center; font-size: 14px; color: var(--b-text) !important; border: 1px solid var(--b-line); border-radius: var(--tmr-radius-pill); }
.tmr-blog__pages .page-numbers.current, .tmr-blog__pages a.page-numbers:hover { background: var(--b-gold); border-color: var(--b-gold); color: var(--tmr-dark) !important; }

/* Article */
.tmr-article__hero { padding: 80px 20px 56px; background: radial-gradient(900px 420px at 80% -10%, rgba(200, 190, 138, .12), transparent 65%); }
.tmr-article__inner { max-width: 820px; margin: 0 auto; }
.tmr-article__back { display: inline-flex; gap: 8px; margin-bottom: 30px; font-size: 14px; color: var(--b-muted) !important; }
.tmr-article__back:hover { color: var(--b-gold) !important; }
.tmr-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 0 0 18px; font-size: 14px; color: var(--b-muted); }
.tmr-article__meta .tmr-article__cat { margin: 0; }
.tmr-article__title { margin: 0 0 18px; font-size: clamp(34px, 4.8vw, 56px); font-weight: 700; line-height: 1.08; letter-spacing: -1px; color: var(--b-text); }
.tmr-article__lead { margin: 0; font-size: 20px; line-height: 1.6; color: #C9CCD1; }
.tmr-article__cover { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.tmr-article__cover img { width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 20px; }
.tmr-article__body { max-width: 760px; margin: 0 auto; padding: 60px 20px 40px; font-size: 18px; line-height: 1.8; color: #D5D7DA; }
.tmr-article__body > * + * { margin-top: 1.1em; }
.tmr-article__body h2 { margin-top: 1.8em; font-size: 30px; line-height: 1.2; color: var(--b-text); }
.tmr-article__body h3 { margin-top: 1.6em; font-size: 23px; color: var(--b-text); }
.tmr-article__body a { color: var(--b-gold) !important; text-decoration: underline; text-underline-offset: 3px; }
.tmr-article__body strong { color: var(--b-text); }
.tmr-article__body blockquote { margin: 1.6em 0; padding: 6px 0 6px 24px; font-size: 22px; line-height: 1.5; color: var(--b-text); border-left: 3px solid var(--b-gold); }
.tmr-article__body img { max-width: 100%; height: auto; border-radius: 14px; }
.tmr-article__body ul, .tmr-article__body ol { padding-left: 22px; }
.tmr-article__related { max-width: 1200px; margin: 0 auto; padding: 40px 20px 20px; }
.tmr-article__related h2 { margin: 0 0 24px; font-size: 28px; color: var(--b-text); }
.tmr-article__cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	max-width: 1160px;
	margin: 50px auto 100px;
	padding: 40px 44px;
	border: 1px solid rgba(200, 190, 138, .35);
	border-radius: 20px;
	background: linear-gradient(120deg, rgba(200, 190, 138, .12), rgba(200, 190, 138, .03));
}
.tmr-article__cta h2 { margin: 0 0 6px; font-size: 26px; color: var(--b-text); }
.tmr-article__cta p { margin: 0; color: var(--b-muted); }

@media (max-width: 1024px) {
	.tmr-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.tmr-blog-card--featured { grid-template-columns: 1fr; }
	.tmr-blog-card--featured .tmr-blog-card__media { min-height: 0; aspect-ratio: 16 / 9; }
	.tmr-blog-card--featured .tmr-blog-card__body { padding: 30px; }
}
@media (max-width: 767px) {
	.tmr-blog__hero { padding: 70px 16px 46px; }
	.tmr-blog__intro { font-size: 16px; }
	.tmr-blog__wrap { padding: 34px 16px 70px; }
	.tmr-blog__cats { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 28px; padding: 0 16px 4px; scrollbar-width: none; }
	.tmr-blog__cats a { flex: 0 0 auto; }
	.tmr-blog__grid { grid-template-columns: 1fr; }
	.tmr-blog-card--featured .tmr-blog-card__body { padding: 22px; }
	.tmr-blog__empty { padding: 44px 20px; }
	.tmr-blog__empty-cards span { width: 70px; height: 90px; }
	.tmr-article__hero { padding: 50px 16px 40px; }
	.tmr-article__lead { font-size: 17px; }
	.tmr-article__body { padding: 40px 16px 30px; font-size: 17px; }
	.tmr-article__cta { margin: 30px 16px 70px; padding: 28px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.tmr-blog-card, .tmr-blog-card__media img, .tmr-blog__btn { transition: none; }
}

/* Sections offres / vidéos (extension TMR Manager) : espacements resserrés */
.tmr-videos-section .tmrm-wrap { padding-bottom: 40px; }
.tmr-offres-section .tmrm-carousel__track { padding-bottom: 14px; }
@media (max-width: 767px) { .tmr-videos-section .tmrm-wrap { padding-bottom: 24px; } }

/* ==========================================================
   Logos clients : défilement continu (assets/js/tmr-marquee.js)
   ========================================================== */
.tmr-logos-source { display: none !important; }
.tmr-marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 10px 0;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.tmr-marquee__track { display: flex; width: max-content; }
.tmr-marquee.is-ready .tmr-marquee__track { animation: tmr-marquee var(--tmr-marquee-duration, 30s) linear infinite; }
.tmr-marquee:hover .tmr-marquee__track,
.tmr-marquee:focus-within .tmr-marquee__track { animation-play-state: paused; }
.tmr-marquee__set { display: flex; align-items: center; flex-shrink: 0; margin: 0; padding: 0; list-style: none; }
.tmr-marquee__item { flex-shrink: 0; padding: 0 clamp(28px, 4vw, 56px); }
.tmr-marquee__item img {
	display: block;
	width: auto !important;
	max-width: 180px;
	height: 64px !important;
	object-fit: contain;
	opacity: .85;
	transition: opacity .3s ease, transform .3s ease;
}
.tmr-marquee__item img:hover { opacity: 1; transform: scale(1.05); }
@keyframes tmr-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 767px) {
	.tmr-marquee__item img { height: 44px !important; max-width: 130px; }
	.tmr-marquee__item { padding: 0 24px; }
}
@media (prefers-reduced-motion: reduce) {
	.tmr-marquee.is-ready .tmr-marquee__track { animation: none; }
	.tmr-marquee { -webkit-mask-image: none; mask-image: none; }
	.tmr-marquee__track { width: 100%; justify-content: center; flex-wrap: wrap; }
	.tmr-marquee__set[aria-hidden="true"] { display: none; }
	.tmr-marquee__set { flex-wrap: wrap; justify-content: center; row-gap: 20px; }
}

/* ==========================================================
   Notre cabinet : « Notre équipe »
   ========================================================== */
.tmr-team-section .tmr-eyebrow--light .elementor-heading-title { border-color: rgba(138, 125, 60, .45); background: rgba(138, 125, 60, .06); }
.tmr-team-grid { width: 100%; }
.tmr-team-card { transition: transform .45s cubic-bezier(.16, 1, .3, 1); }
.tmr-team-card:hover { transform: translateY(-6px); }
.tmr-team-card__photo { position: relative; overflow: hidden; border-radius: 18px; }
.tmr-team-card__photo img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 5;
	height: auto !important;
	object-fit: cover;
	border-radius: 18px;
	filter: grayscale(35%);
	transition: transform .7s cubic-bezier(.16, 1, .3, 1), filter .5s ease;
}
.tmr-team-card:hover .tmr-team-card__photo img { transform: scale(1.04); filter: grayscale(0); }
/* Filet doré qui se dessine sous la photo au survol */
.tmr-team-card__photo::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 0;
	height: 3px;
	background: var(--tmr-gold);
	border-radius: 3px;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .5s cubic-bezier(.16, 1, .3, 1);
}
.tmr-team-card:hover .tmr-team-card__photo::after { transform: scaleX(1); }
.tmr-team-card__role .elementor-heading-title { text-transform: uppercase; }
.tmr-team-card__bio p { margin: 0; line-height: 1.6; }
.tmr-team-card__social { margin-top: 6px; }
.tmr-team-card__social .elementor-social-icon { transition: transform .25s ease, background-color .25s ease; }
.tmr-team-card__social .elementor-social-icon:hover { transform: translateY(-2px); background-color: var(--tmr-gold) !important; }
.tmr-team-card__social .elementor-social-icon:hover i { color: var(--tmr-dark) !important; }
@media (min-width: 768px) and (max-width: 1024px) {
	.tmr-team-grid > .tmr-team-card { width: calc(50% - 14px) !important; }
}
@media (max-width: 767px) {
	.tmr-team-card__photo img { aspect-ratio: 4 / 4.2; }
}
@media (prefers-reduced-motion: reduce) {
	.tmr-team-card, .tmr-team-card__photo img, .tmr-team-card__photo::after { transition: none; }
}

/* Équipe v2 : cartes plus compactes, 4 sur une ligne */
.tmr-team-grid { max-width: 1140px; margin: 0 auto !important; flex-wrap: nowrap !important; }
.tmr-team-grid > .e-con.tmr-team-card {
	--width: calc(25% - 21px);
	width: calc(25% - 21px) !important;
	flex: 0 0 auto;
	padding: 10px 10px 22px !important;
	background: #FFFFFF;
	border: 1px solid #E9E4D3;
	border-radius: 22px;
	box-shadow: 0 1px 0 rgba(11, 15, 23, .02);
	transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s ease, border-color .3s ease;
}
.tmr-team-grid > .e-con.tmr-team-card:hover { box-shadow: 0 24px 50px rgba(11, 15, 23, .10); border-color: rgba(200, 190, 138, .8); }
.tmr-team-card__photo, .tmr-team-card__photo img { border-radius: 14px !important; }
.tmr-team-card__photo img { aspect-ratio: 1 / 1.08; }
.tmr-team-card__photo::after { left: 14px; right: 14px; }
.tmr-team-card > .elementor-element:not(.tmr-team-card__photo) { padding: 0 8px; }
.tmr-team-card__name .elementor-heading-title { font-size: 19px !important; }
.tmr-team-card__role .elementor-heading-title { font-size: 11.5px !important; letter-spacing: 1px !important; line-height: 1.45 !important; min-height: 2.9em; }
.tmr-team-card__bio p { font-size: 13.5px; }
@media (max-width: 1024px) {
	.tmr-team-grid { flex-wrap: wrap !important; }
	.tmr-team-grid > .e-con.tmr-team-card { --width: calc(50% - 14px); width: calc(50% - 14px) !important; }
}
@media (max-width: 767px) {
	.tmr-team-grid { flex-wrap: nowrap !important; flex-direction: row !important; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 16px 16px !important; margin: 0 -16px !important; width: calc(100% + 32px) !important; max-width: none; gap: 14px !important; scrollbar-width: none; }
	.tmr-team-grid::-webkit-scrollbar { display: none; }
	.tmr-team-grid > .e-con.tmr-team-card { --width: 78%; width: 78% !important; scroll-snap-align: start; }
	.tmr-team-card__role .elementor-heading-title { min-height: 0; }
}

/* ---------- Équipe v3 : mot de la fondatrice + sourceurs par fonction ---------- */
.tmr-founder {
	width: 100%; max-width: 940px; margin: 0 auto !important;
	background: #F9F7F0; border: 1px solid rgba(200, 190, 138, .4); border-radius: 24px;
	padding: 32px 40px !important; gap: 44px !important;
}
.tmr-founder__media { max-width: 250px; }
.tmr-founder__photo img { width: 100%; max-width: 250px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px !important; display: block; }
.tmr-founder__quote p { font-size: 18px; }
.tmr-founder__body { position: relative; }
.tmr-founder__quote { position: relative; padding-top: 34px; }
.tmr-founder__quote::before {
	content: "\201C"; position: absolute; top: -18px; left: -4px;
	font-family: Georgia, "Times New Roman", serif; font-size: 96px; line-height: 1; color: #C8BE8A;
}
.tmr-founder__quote p { margin: 0; line-height: 1.65; font-style: italic; }
.tmr-founder__role .elementor-heading-title { text-transform: uppercase; }
.tmr-founder__eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
.tmr-founder__eyebrow .elementor-heading-title::before { content: ""; width: 28px; height: 1px; background: #C8BE8A; }
.tmr-sourcers__title { width: 100%; }
.tmr-sourcers-wrap { position: relative; width: 100%; max-width: 1000px; margin: 0 auto; }
.tmr-sourcers {
	width: 100%; max-width: 1000px; margin: 0 auto !important;
	display: flex !important; flex-wrap: nowrap !important; justify-content: center;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	padding: 6px 4px 18px !important; scrollbar-width: none;
}
.tmr-sourcers::-webkit-scrollbar { display: none; }
.tmr-sourcers.is-overflow { justify-content: flex-start; }
.tmr-sourcers > .e-con.tmr-sourcer {
	--width: 280px; width: 280px !important; flex: 0 0 280px !important; scroll-snap-align: start;
	background: #fff; border: 1px solid rgba(11, 15, 23, .06); border-radius: 18px;
	padding: 24px 20px 22px !important; text-align: center;
	transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s ease, border-color .45s ease;
}
.tmr-sourcers > .e-con.tmr-sourcer:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11, 15, 23, .09); border-color: rgba(200, 190, 138, .8); }
.tmr-sourcer__avatar img {
	width: 76px !important; height: 76px !important; object-fit: cover; border-radius: 50% !important;
	border: 2px solid #C8BE8A; padding: 3px; background: #fff; display: block; margin: 0 auto;
}
.tmr-sourcer__kicker .elementor-heading-title { text-transform: uppercase; line-height: 1.4 !important; }
.tmr-sourcer__text p { margin: 0; line-height: 1.55; }
.tmr-sourcers-nav { display: none; justify-content: center; gap: 10px; margin-top: 4px; }
.tmr-sourcers-wrap.is-overflow .tmr-sourcers-nav { display: flex; }
.tmr-sourcers-nav button {
	width: 40px; height: 40px; border-radius: 50% !important; padding: 0 !important;
	border: 1px solid rgba(11, 15, 23, .15) !important; background: #fff !important; color: #0B0F17 !important;
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .25s ease, opacity .25s ease;
}
.tmr-sourcers-nav button:hover { background: #C8BE8A !important; border-color: #C8BE8A !important; }
.tmr-sourcers-nav button:disabled { opacity: .35; cursor: default; background: #fff !important; }
@media (max-width: 767px) {
	.tmr-founder { padding: 22px !important; gap: 18px !important; }
	.tmr-founder__media { max-width: 150px; margin: 0 auto; }
	.tmr-founder__photo img { aspect-ratio: 1 / 1; max-width: 150px; border-radius: 50% !important; }
	.tmr-founder__quote p { font-size: 17px !important; }
	.tmr-sourcers { gap: 12px !important; padding: 6px 16px 14px !important; margin: 0 -16px !important; width: calc(100% + 32px) !important; max-width: none; scroll-padding-left: 16px; }
	.tmr-sourcers > .e-con.tmr-sourcer { --width: 72%; width: 72% !important; flex: 0 0 72% !important; }
}
@media (prefers-reduced-motion: reduce) {
	.tmr-sourcers > .e-con.tmr-sourcer { transition: none; }
}

/* ---------- Salaires : volet explicatif sous l'intro ---------- */
.tmr-explain-widget { margin-top: 10px; }
.tmr-explain {
	position: relative; text-align: center; color: #C9CCD1;
	border: 1px solid rgba(200, 190, 138, .35); border-radius: 20px;
	background: rgba(255, 255, 255, .04); backdrop-filter: blur(4px);
	padding: 34px 40px 30px;
}
.tmr-explain::before {
	content: ""; position: absolute; top: -1px; left: 50%; transform: translateX(-50%);
	width: 64px; height: 3px; border-radius: 0 0 3px 3px; background: #C8BE8A;
}
.tmr-explain__title { margin: 0 0 16px !important; color: #FFFFFF !important; font-size: 24px !important; font-weight: 700 !important; line-height: 1.25 !important; }
.tmr-explain p { margin: 0 0 12px; font-size: 16px; line-height: 1.7; }
.tmr-explain p.tmr-explain__cta-wrap { margin: 22px 0 0; }
.tmr-explain__cta {
	display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px; border-radius: 999px;
	background: #C8BE8A; color: #0B0F17 !important; font-size: 13px; font-weight: 700; letter-spacing: 1px;
	text-transform: uppercase; text-decoration: none !important; transition: background-color .25s ease, transform .25s ease;
}
.tmr-explain__cta:hover { background: #FFFFFF; transform: translateY(-2px); }
.tmr-explain__cta span { transition: transform .25s ease; }
.tmr-explain__cta:hover span { transform: translateX(4px); }
@media (max-width: 767px) {
	.tmr-explain { padding: 26px 20px 24px; }
	.tmr-explain__title { font-size: 20px !important; }
	.tmr-explain p { font-size: 15px; }
	.tmr-explain__cta { padding: 13px 22px; font-size: 12px; }
}

/* ---------- Mot de la fondatrice v2 : section centrée ---------- */
.tmr-founder-section .tmr-founder__avatar img {
	width: 132px !important; height: 132px !important; object-fit: cover; border-radius: 50% !important;
	border: 2px solid #C8BE8A; padding: 4px; background: #fff; display: block; margin: 0 auto;
}
.tmr-founder__intro p { margin: 0 0 12px; line-height: 1.75; }
.tmr-founder__intro p:last-child { margin-bottom: 0; }
.tmr-fsteps, .tmr-fvalues { width: 100%; max-width: 1000px; margin-left: auto !important; margin-right: auto !important; }
.tmr-fsteps > .e-con.tmr-fstep {
	background: #F9F7F0; border-radius: 18px; padding: 28px 24px !important;
	border: 1px solid rgba(200, 190, 138, .35);
}
.tmr-fstep__text p, .tmr-fvalue__text p { margin: 0; line-height: 1.6; }
.tmr-fvalues > .e-con.tmr-fvalue {
	background: #fff; border: 1px solid rgba(11, 15, 23, .08); border-radius: 18px; padding: 28px 30px !important;
}
.tmr-founder__quote { position: relative; padding-top: 26px; }
.tmr-founder__quote::before {
	content: "\201C"; position: absolute; top: -26px; left: 50%; transform: translateX(-50%);
	font-family: Georgia, "Times New Roman", serif; font-size: 80px; line-height: 1; color: #C8BE8A;
}
.tmr-founder__quote p { margin: 0; font-style: italic; line-height: 1.5; font-weight: 500; }
.tmr-founder__role .elementor-heading-title { text-transform: uppercase; }
@media (max-width: 767px) {
	.tmr-founder-section .tmr-founder__avatar img { width: 108px !important; height: 108px !important; }
	.tmr-fsteps, .tmr-fvalues { gap: 14px !important; }
	.tmr-founder__quote p { font-size: 19px !important; }
}

/* Secteurs d'activité : l'image a déjà son propre cadre, pas de liseré blanc. */
.e-con:has(.tmr-pills-col.tmr-pills-dark) .tmr-photo img { border: 0 !important; box-shadow: 0 24px 50px rgba(11, 15, 23, .18) !important; border-radius: 22px !important; object-fit: cover; object-position: center; }

/* ---------- Fondatrice v3 : photo à côté, en grand, fond beige ---------- */
.tmr-founder__top { width: 100%; max-width: 1100px; margin: 0 auto !important; }
.tmr-founder-section--v2 .tmr-founder__media {
	max-width: none; background: #EDE6D5; border-radius: 28px; overflow: hidden;
	padding: 0 !important; align-self: stretch;
}
.tmr-founder-section--v2 .tmr-founder__photo,
.tmr-founder-section--v2 .tmr-founder__photo .elementor-widget-container { height: 100%; }
.tmr-founder-section--v2 .tmr-founder__photo img {
	width: 100% !important; max-width: none !important; height: 100% !important; min-height: 460px;
	aspect-ratio: 4 / 5; object-fit: cover; object-position: center top;
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; background: transparent;
}
.tmr-founder-section--v2 .tmr-founder__body .tmr-eyebrow .elementor-heading-title { margin-left: 0; }
.tmr-founder-section--v2 .tmr-founder__intro p { margin: 0 0 12px; line-height: 1.75; }

/* ---------- Équipe : Elsa en grand + sourceurs freelances ---------- */
.tmr-lead {
	width: 100%; max-width: 960px; margin: 0 auto !important;
	background: #FFFFFF; border: 1px solid rgba(200, 190, 138, .5); border-radius: 26px;
	padding: 26px !important; box-shadow: 0 22px 50px rgba(11, 15, 23, .06);
}
.tmr-lead__media { background: #EDE6D5; border-radius: 20px; overflow: hidden; padding: 0 !important; }
.tmr-lead__photo img {
	width: 100% !important; aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; display: block;
	border: 0 !important; border-radius: 0 !important;
}
.tmr-lead__role .elementor-heading-title { text-transform: uppercase; }
.tmr-lead__text p { margin: 0; line-height: 1.7; }
.tmr-sourcer__initial .elementor-heading-title {
	width: 64px; height: 64px; margin: 0 auto; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #EDE6D5; border: 1px solid rgba(200, 190, 138, .7);
	font-family: Georgia, "Times New Roman", serif !important;
}
.tmr-sourcers > .e-con.tmr-sourcer { --width: 226px; width: 226px !important; flex: 0 0 226px !important; }
@media (max-width: 1024px) {
	.tmr-founder-section--v2 .tmr-founder__photo img { min-height: 380px; }
}
@media (max-width: 767px) {
	.tmr-founder-section--v2 .tmr-founder__media { max-width: 420px; margin: 0 auto; }
	.tmr-founder-section--v2 .tmr-founder__photo img { min-height: 0; }
	.tmr-lead { padding: 18px !important; gap: 20px !important; }
	.tmr-lead__media { max-width: 360px; margin: 0 auto; }
	.tmr-sourcers > .e-con.tmr-sourcer { --width: 72%; width: 72% !important; flex: 0 0 72% !important; }
}

/* « Notre approche » sur fond beige : pastilles plus lisibles */
.e-con:has(> .elementor-widget-html .tmr-pills-dark):not(:has(.tmr-pills-col)) .tmr-pills-dark .tmr-pill { background: rgba(255, 255, 255, .65); }

/* Mon approche : titres des étapes en capitales */
.tmr-fstep__title .elementor-heading-title { text-transform: uppercase; letter-spacing: 1.5px; }

/* ==========================================================
 * Notre cabinet v4 : plus de contraste noir / or (moins « fade »)
 * ======================================================== */
/* -- Le mot de la fondatrice sur fond noir -- */
.e-con.tmr-founder-section--v2 { background-color: #0B0F17 !important; background-image: radial-gradient(70% 60% at 85% 0%, rgba(200, 190, 138, .10), transparent 70%) !important; }
.tmr-founder-section--v2 .elementor-heading-title { color: #FFFFFF !important; }
.tmr-founder-section--v2 .tmr-eyebrow .elementor-heading-title,
.tmr-founder-section--v2 .tmr-founder__role .elementor-heading-title,
.tmr-founder-section--v2 .tmr-fstep__num .elementor-heading-title { color: #C8BE8A !important; }
.tmr-founder-section--v2 .tmr-eyebrow .elementor-heading-title { border-color: rgba(200, 190, 138, .5) !important; background: rgba(200, 190, 138, .08) !important; }
.tmr-founder-section--v2 .elementor-widget-text-editor,
.tmr-founder-section--v2 .elementor-widget-text-editor p { color: #C9CCD1 !important; }
.tmr-founder-section--v2 .tmr-founder__media { background: #EDE6D5; box-shadow: 0 30px 70px rgba(0, 0, 0, .45); outline: 1px solid rgba(200, 190, 138, .45); outline-offset: 10px; }
.tmr-founder-section--v2 .tmr-fsteps > .e-con.tmr-fstep,
.tmr-founder-section--v2 .tmr-fvalues > .e-con.tmr-fvalue {
	background: rgba(255, 255, 255, .035) !important; border: 1px solid rgba(200, 190, 138, .35) !important;
	transition: border-color .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1), background-color .3s ease;
}
.tmr-founder-section--v2 .tmr-fsteps > .e-con.tmr-fstep:hover,
.tmr-founder-section--v2 .tmr-fvalues > .e-con.tmr-fvalue:hover { border-color: #C8BE8A !important; background: rgba(200, 190, 138, .07) !important; transform: translateY(-4px); }
.tmr-founder-section--v2 .tmr-fstep__num .elementor-heading-title { font-weight: 400 !important; }
.tmr-founder-section--v2 .tmr-founder__quote p { color: #FFFFFF !important; }
.tmr-founder-section--v2 .tmr-btn-dark .elementor-button { background: #C8BE8A !important; color: #0B0F17 !important; }
.tmr-founder-section--v2 .tmr-btn-dark .elementor-button:hover { background: #FFFFFF !important; }
.tmr-founder-section--v2 .tmr-btn-dark .elementor-button .elementor-button-icon,
.tmr-founder-section--v2 .tmr-btn-dark .elementor-button svg { color: #0B0F17 !important; fill: #0B0F17 !important; }

/* -- Équipe : Elsa en carte noire, initiales noir & or -- */
.tmr-team-section .tmr-lead { background: #0B0F17 !important; border-color: rgba(200, 190, 138, .55) !important; box-shadow: 0 30px 70px rgba(11, 15, 23, .25) !important; }
.tmr-team-section .tmr-lead .elementor-heading-title { color: #FFFFFF !important; }
.tmr-team-section .tmr-lead .tmr-lead__role .elementor-heading-title { color: #C8BE8A !important; }
.tmr-team-section .tmr-lead .tmr-lead__text p { color: #C9CCD1 !important; }
.tmr-team-section .tmr-lead .elementor-social-icon { background-color: #C8BE8A !important; }
.tmr-team-section .tmr-lead .elementor-social-icon i { color: #0B0F17 !important; }
.tmr-team-section .tmr-sourcer__initial .elementor-heading-title { background: #0B0F17 !important; color: #C8BE8A !important; border-color: #C8BE8A !important; }
.tmr-team-section .tmr-sourcers > .e-con.tmr-sourcer { border-top: 3px solid #C8BE8A !important; }

/* Fondatrice : accroche avant le texte */
.tmr-founder__intro p.tmr-founder__hook {
	margin: 0 0 18px !important; font-size: 23px !important; line-height: 1.4 !important;
	font-style: italic; font-weight: 500; color: #C8BE8A !important;
	padding-left: 18px; border-left: 2px solid #C8BE8A;
}
@media (max-width: 767px) { .tmr-founder__intro p.tmr-founder__hook { font-size: 19px !important; } }

/* ==========================================================
 * Retours cliente v3 — Accueil & Notre cabinet
 * ======================================================== */
/* Accueil : signature plus grande */
.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p {
	font-size: 22px !important; letter-spacing: 3.5px !important; font-weight: 700 !important; color: #FFFFFF !important;
}
@media (min-width: 1300px) {
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p { font-size: 26px !important; letter-spacing: 4px !important; }
}
@media (max-width: 767px) {
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor,
	.elementor-widget-image:has(img[src*="HERO-IMAGE"]) + .elementor-widget-text-editor p { font-size: 17px !important; letter-spacing: 2px !important; }
}
/* Accueil : chiffres et légendes centrés */
.elementor-widget-counter .elementor-counter { text-align: center; align-items: center !important; }
.elementor-widget-counter .elementor-counter-number-wrapper { justify-content: center !important; }
.elementor-widget-counter .elementor-counter-title { text-align: center !important; justify-content: center !important; width: 100%; }

/* Accueil : dirigeant / candidat */
.tmr-home-split .tmr-split-card { border-radius: 24px; position: relative; overflow: hidden; }
.tmr-home-split .tmr-split-card--dark { background: #151A23; border: 1px solid rgba(200, 190, 138, .45); }
.tmr-home-split .tmr-split-card--gold { background: #C8BE8A; }
.tmr-home-split .tmr-split-card--gold .elementor-heading-title { color: #0B0F17 !important; }
.tmr-home-split .tmr-split-card--gold .tmr-split-card__eyebrow .elementor-heading-title { color: #3A3520 !important; }
.tmr-home-split .tmr-split-card--gold .elementor-widget-text-editor, .tmr-home-split .tmr-split-card--gold .elementor-widget-text-editor p { color: #2A2A22 !important; }
.tmr-home-split .tmr-split-card__text p { margin: 0; line-height: 1.7; }

/* Accueil : bandeau grille des salaires */
.tmr-salaires-band {
	width: 100%; max-width: 1100px; margin: 0 auto !important; background: #0B0F17; border-radius: 24px;
	padding: 40px 48px !important; border: 1px solid rgba(200, 190, 138, .45);
	background-image: radial-gradient(60% 120% at 100% 0%, rgba(200, 190, 138, .14), transparent 60%);
}
.tmr-salaires-band .elementor-widget-text-editor p { margin: 0; }
@media (max-width: 767px) { .tmr-salaires-band { padding: 28px 22px !important; } .tmr-salaires-band .elementor-widget-button { text-align: left !important; } .tmr-salaires-band .elementor-button-wrapper { text-align: left !important; } }

/* Accueil : témoignages sans photo */
.tmr-testimonials .elementor-testimonial__image { display: none !important; }
.tmr-testimonials .elementor-testimonial__footer { margin-top: 14px; }

/* Notre cabinet : fondatrice en tête de page */
.e-con.tmr-founder-section--v2:first-child { padding-top: 110px !important; }
.tmr-founder-section--v2 h1.elementor-heading-title { font-size: 38px; line-height: 1.15; }
@media (max-width: 767px) { .tmr-founder-section--v2 h1.elementor-heading-title { font-size: 28px; } .e-con.tmr-founder-section--v2:first-child { padding-top: 60px !important; } }

/* Notre cabinet : Nos valeurs (4 cartes noires, pictogramme doré) */
.tmr-fvals { width: 100%; max-width: 1000px; margin: 0 auto !important; }
.tmr-fvals > .e-con.tmr-fval {
	background: #05070B !important; border: 1px solid rgba(200, 190, 138, .4); border-radius: 18px;
	padding: 28px 16px !important; transition: border-color .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1);
}
.tmr-fvals > .e-con.tmr-fval:hover { border-color: #C8BE8A; transform: translateY(-4px); }
.tmr-fval__icon .elementor-icon { color: #C8BE8A !important; fill: #C8BE8A !important; }
.tmr-fval__icon .elementor-icon i, .tmr-fval__icon .elementor-icon svg { color: #C8BE8A !important; fill: #C8BE8A !important; }
.tmr-founder-section--v2 .tmr-fval__title .elementor-heading-title { color: #FFFFFF !important; text-transform: uppercase; letter-spacing: 1.2px; font-size: 14px !important; }
@media (max-width: 767px) { .tmr-fvals { flex-wrap: wrap !important; gap: 12px !important; } .tmr-fvals > .e-con.tmr-fval { width: calc(50% - 6px) !important; --width: calc(50% - 6px); } }

/* Notre cabinet : Elsa */
.tmr-team-section .tmr-lead__quote p { margin: 0; font-style: italic; font-size: 19px; line-height: 1.5; color: #C8BE8A !important; }
/* Sourceurs : pictogramme doré par métier */
.tmr-sourcer__icon .elementor-icon { background-color: #0B0F17 !important; color: #C8BE8A !important; border: 1px solid #C8BE8A; }
.tmr-sourcer__icon .elementor-icon i, .tmr-sourcer__icon .elementor-icon svg { color: #C8BE8A !important; fill: #C8BE8A !important; }

/* Notre cabinet : Nos domaines d'expertise */
.tmr-domains-section .elementor-widget-html { width: 100%; }
.tmr-domains {
	width: 100%; max-width: 1140px; margin: 0 auto; display: grid; gap: 16px;
	grid-template-columns: repeat(6, 1fr);
}
.tmr-domain {
	grid-column: span 2; position: relative; min-height: 300px; border-radius: 20px; overflow: hidden;
	background: #0B0F17 center / cover no-repeat; display: flex; align-items: flex-end; isolation: isolate;
	transition: transform .5s cubic-bezier(.16, 1, .3, 1), box-shadow .5s ease;
}
.tmr-domain--wide { grid-column: span 3; min-height: 360px; }
.tmr-domain::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(11, 15, 23, .15) 0%, rgba(11, 15, 23, .55) 55%, rgba(11, 15, 23, .92) 100%), linear-gradient(135deg, rgba(200, 190, 138, .28), rgba(11, 15, 23, .1) 60%);
	transition: opacity .4s ease;
}
.tmr-domain::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(200, 190, 138, 0); border-radius: 14px; transition: border-color .4s ease; pointer-events: none; }
.tmr-domain:hover { transform: translateY(-4px); box-shadow: 0 24px 50px rgba(11, 15, 23, .3); }
.tmr-domain:hover::after { border-color: rgba(200, 190, 138, .7); }
.tmr-domain--ph { background: radial-gradient(80% 90% at 80% 10%, rgba(200, 190, 138, .25), transparent 60%), repeating-radial-gradient(circle at 85% 15%, transparent 0 34px, rgba(200, 190, 138, .12) 35px 36px), #0B0F17; }
.tmr-domain__icon { position: absolute; top: 22px; left: 24px; font-size: 22px; color: #C8BE8A; width: 50px; height: 50px; border: 1px solid rgba(200, 190, 138, .6); border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(11, 15, 23, .45); }
.tmr-domain__text { padding: 26px 26px 24px; text-align: left; width: 100%; }
.tmr-domain__title { margin: 0 0 6px !important; color: #FFFFFF !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.2 !important; }
.tmr-domain__sub { margin: 0 !important; color: #E3DDC2 !important; font-size: 14px !important; line-height: 1.5 !important; }
@media (max-width: 1024px) { .tmr-domains { grid-template-columns: repeat(2, 1fr); } .tmr-domain, .tmr-domain--wide { grid-column: span 1; min-height: 260px; } .tmr-domain:last-child { grid-column: span 2; } }
@media (max-width: 600px) { .tmr-domains { grid-template-columns: 1fr; } .tmr-domain, .tmr-domain--wide, .tmr-domain:last-child { grid-column: span 1; min-height: 240px; } }
@media (prefers-reduced-motion: reduce) { .tmr-domain, .tmr-fvals > .e-con.tmr-fval { transition: none; } }

/* Accueil : cartes dirigeant / candidat avec photo */
.tmr-home-split .tmr-split-card { padding: 0 !important; }
.tmr-split-card__photo, .tmr-split-card__photo .elementor-widget-container { width: 100%; margin: 0 !important; }
.tmr-split-card__photo img { width: 100% !important; height: 300px !important; object-fit: cover; object-position: center 20%; display: block; border-radius: 0 !important; border: 0 !important; }
.tmr-home-split .tmr-split-card--dark .tmr-split-card__photo img { filter: saturate(.9); }
.tmr-split-card__body { flex-grow: 1; }
.tmr-split-card__body .elementor-widget-button { margin-top: auto; }
@media (max-width: 767px) { .tmr-split-card__photo img { height: 230px !important; } }

/* Accueil : postes qui défilent sous le hero */
.tmr-home-ticker .elementor-widget-html { width: 100%; }
.tmr-ticker {
	position: relative; overflow: hidden; width: 100%; background: #0B0F17;
	border-top: 1px solid rgba(200, 190, 138, .18); border-bottom: 1px solid rgba(200, 190, 138, .18);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.tmr-ticker__track { display: flex; width: max-content; animation: tmr-ticker 60s linear infinite; }
.tmr-ticker:hover .tmr-ticker__track { animation-play-state: paused; }
.tmr-ticker__group { display: flex; align-items: center; flex-shrink: 0; }
.tmr-ticker__item {
	display: inline-flex; align-items: center; white-space: nowrap; padding: 22px 0;
	font-family: Inter, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 2.6px; text-transform: uppercase; color: #C8BE8A;
}
.tmr-ticker__item::after { content: ""; width: 5px; height: 5px; margin: 0 34px; border-radius: 50%; background: rgba(200, 190, 138, .55); }
@keyframes tmr-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 767px) { .tmr-ticker__item { font-size: 11.5px; letter-spacing: 2px; padding: 16px 0; } .tmr-ticker__item::after { margin: 0 22px; } .tmr-ticker__track { animation-duration: 45s; } }
@media (prefers-reduced-motion: reduce) { .tmr-ticker__track { animation: none; } .tmr-ticker { overflow-x: auto; } }

/* Mobile : « Nos valeurs » en grille de 2 */
@media (max-width: 767px) {
	.e-con.tmr-fvals { flex-direction: row !important; flex-wrap: wrap !important; gap: 12px !important; justify-content: center; }
	.e-con.tmr-fvals > .e-con.tmr-fval { --width: calc(50% - 6px); width: calc(50% - 6px) !important; max-width: calc(50% - 6px); flex: 0 0 calc(50% - 6px) !important; padding: 22px 10px !important; }
	.tmr-founder-section--v2 .tmr-fval__title .elementor-heading-title { font-size: 12px !important; letter-spacing: .8px; line-height: 1.35; }
	.tmr-fval__icon .elementor-icon { font-size: 26px !important; }
}

/* Page Candidat : « Nos conseils » (3 cartes noires, pictogramme doré) */
.tmr-conseils { width: 100%; max-width: 1140px; margin: 0 auto !important; }
.tmr-conseils > .e-con.tmr-conseil {
	background: #0B0F17 !important; border: 1px solid rgba(200, 190, 138, .35); border-radius: 22px;
	padding: 34px 30px 30px !important; transition: border-color .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1);
}
.tmr-conseils > .e-con.tmr-conseil:hover { border-color: #C8BE8A; transform: translateY(-4px); }
.tmr-conseil__icon .elementor-icon, .tmr-conseil__icon .elementor-icon i, .tmr-conseil__icon .elementor-icon svg { color: #C8BE8A !important; fill: #C8BE8A !important; }
.tmr-conseil__title .elementor-heading-title { color: #FFFFFF !important; }
.tmr-conseil__lead p { margin: 0; font-style: italic; color: #C8BE8A !important; line-height: 1.5; }
.tmr-conseil__list ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 11px; }
.tmr-conseil__list li { position: relative; padding-left: 20px; line-height: 1.55; color: #C9CCD1; }
.tmr-conseil__list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: #C8BE8A; }
@media (max-width: 767px) { .tmr-conseils { gap: 14px !important; } .tmr-conseils > .e-con.tmr-conseil { padding: 26px 22px !important; } }

/* « Nos domaines d'expertise » en blocs Elementor */
.e-con.tmr-domains--el { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 16px !important; width: 100%; max-width: 1140px; margin: 0 auto !important; }
.e-con.tmr-domains--el > .e-con.tmr-domain { --width: auto; width: auto !important; max-width: none; grid-column: span 2; border-radius: 20px; overflow: hidden; }
.e-con.tmr-domains--el > .e-con.tmr-domain--wide { grid-column: span 3; }
.e-con.tmr-domain--el > .elementor-element { position: relative; z-index: 1; width: 100%; }
.tmr-domain__icon-el { margin-bottom: auto !important; }
.tmr-domain__icon-el .elementor-icon { border-width: 1px !important; border-color: rgba(200, 190, 138, .7) !important; background: rgba(11, 15, 23, .45); color: #C8BE8A !important; }
.tmr-domain__icon-el .elementor-icon svg, .tmr-domain__icon-el .elementor-icon i { fill: #C8BE8A !important; color: #C8BE8A !important; }
.tmr-domain__title-el .elementor-heading-title { color: #FFFFFF !important; font-size: 22px !important; line-height: 1.2 !important; }
.tmr-domain__sub-el p { margin: 0; color: #E3DDC2 !important; font-size: 14px; line-height: 1.5; }
@media (max-width: 1024px) {
	.e-con.tmr-domains--el { grid-template-columns: repeat(2, 1fr); }
	.e-con.tmr-domains--el > .e-con.tmr-domain, .e-con.tmr-domains--el > .e-con.tmr-domain--wide { grid-column: span 1; }
	.e-con.tmr-domains--el > .e-con.tmr-domain:last-child { grid-column: span 2; }
}
@media (max-width: 600px) {
	.e-con.tmr-domains--el { grid-template-columns: 1fr; }
	.e-con.tmr-domains--el > .e-con.tmr-domain, .e-con.tmr-domains--el > .e-con.tmr-domain:last-child { grid-column: span 1; }
}

/* ==========================================================
 * Entreprise / Nos offres (v2.4)
 * ======================================================== */
.tmr-offers-grid > .tmr-offer-card { width: calc((100% - 60px) / 4) !important; --width: calc((100% - 60px) / 4) !important; }
.tmr-offer-card { cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.tmr-offer-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(11, 15, 23, .28); border-color: #C8BE8A !important; }
.tmr-offer-card .tmr-offer-card__title .elementor-heading-title { min-height: 2.4em; }
.tmr-offer-card .tmr-offer-card__text p { margin: 0; }
.tmr-offer-card .tmr-offer-card__list .elementor-icon-list-item { align-items: flex-start; }
.tmr-offer-card .tmr-offer-card__list .elementor-icon-list-icon { padding-top: 4px; }
.tmr-offer-card .tmr-offer-card__price { margin-top: auto !important; padding-top: 14px; border-top: 1px solid rgba(200, 190, 138, .25); }
.tmr-offer-card .tmr-offer-card__btn .elementor-button { width: 100%; justify-content: center; }
@media (max-width: 1024px) {
	.tmr-offers-grid > .tmr-offer-card { width: calc((100% - 20px) / 2) !important; --width: calc((100% - 20px) / 2) !important; }
}
@media (max-width: 767px) {
	.tmr-offers-grid > .tmr-offer-card { width: 100% !important; --width: 100% !important; }
	.tmr-offer-card .tmr-offer-card__title .elementor-heading-title { min-height: 0; }
}

/* Accroche dorée sous le process */
.tmr-process-accroche { margin-top: -6px !important; }

/* Pourquoi faire appel à un cabinet de chasse de têtes ? */
.tmr-why-grid > .tmr-why-card { width: calc((100% - 44px) / 3) !important; --width: calc((100% - 44px) / 3) !important; box-shadow: 0 10px 30px rgba(11, 15, 23, .06); transition: transform .25s ease, box-shadow .25s ease; }
.tmr-why-grid > .tmr-why-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(11, 15, 23, .12); }
.tmr-why-card p { margin: 0; }
@media (max-width: 1024px) {
	.tmr-why-grid > .tmr-why-card { width: calc((100% - 22px) / 2) !important; --width: calc((100% - 22px) / 2) !important; }
}
@media (max-width: 767px) {
	.tmr-why-grid > .tmr-why-card { width: 100% !important; --width: 100% !important; }
}

/* Fenêtre « Demander cette offre » : cachée sur le site, visible (encadrée) dans l'éditeur */
body:not(.elementor-editor-active) .tmr-offer-modal { display: none !important; }
body:not(.elementor-editor-active) .tmr-offer-modal.is-open {
	display: flex !important; position: fixed; inset: 0; z-index: 99999; margin: 0 !important;
	align-items: center; justify-content: center; padding: 20px !important;
	background: rgba(11, 15, 23, .78); overflow-y: auto; animation: tmrFade .25s ease;
}
.tmr-offer-modal.is-open > .e-con-inner {
	position: relative; width: 100%; max-width: 640px; max-height: calc(100vh - 40px); overflow-y: auto;
	background: #FFFFFF; border-radius: 18px; padding: 38px 34px 30px; box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
	animation: tmrPop .3s ease;
}
.tmr-offer-modal .tmr-reveal { opacity: 1 !important; transform: none !important; }
.tmr-offer-modal__close {
	position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%;
	background: #F4F1E6; color: #0B0F17; font-size: 24px; line-height: 40px; text-align: center; cursor: pointer; padding: 0;
}
.tmr-offer-modal__close:hover { background: #C8BE8A; }
.tmr-offer-modal .elementor-field-group { margin-bottom: 12px; }
.tmr-offer-modal select.elementor-field { font-weight: 600; color: #0B0F17; }
.elementor-editor-active .tmr-offer-modal { border: 2px dashed #C8BE8A; background: #FFFFFF; }
body.tmr-modal-open { overflow: hidden; }
@keyframes tmrFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tmrPop { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
	.tmr-offer-modal.is-open > .e-con-inner { padding: 30px 18px 22px; border-radius: 14px; }
}

/* Design v1 : sections qui se distinguent (Entreprise / Candidat) */
.tmr-candidat-hero { position: relative; overflow: hidden; }
.tmr-candidat-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(200, 190, 138, .55), transparent); }
.tmr-offres-section--light .tmrm-carousel__all { color: #8A7D3C !important; }
.tmr-offres-section--light .tmrm-arrow { color: #0B0F17; border-color: rgba(11, 15, 23, .2); }
.tmr-offres-section--light .tmrm-carousel__progress { background: rgba(11, 15, 23, .12); }
.tmr-why-grid > .tmr-why-card { box-shadow: none; border: 1px solid rgba(138, 125, 60, .18); }
.tmr-roles-section .tmr-card { box-shadow: 0 14px 34px rgba(11, 15, 23, .12); }
.tmr-offer-card .tmr-offer-card__btn .elementor-button { padding: 14px 14px; white-space: nowrap; font-size: 12px; letter-spacing: .3px; }
.tmr-offer-card .tmr-offer-card__btn .elementor-button-content-wrapper { flex-wrap: nowrap; }
.tmr-offer-modal.is-open > .e-con-inner { flex-wrap: nowrap !important; flex: 0 1 auto !important; height: auto !important; margin: auto !important; }
.tmr-offer-modal.is-open > .e-con-inner > .elementor-widget { width: 100%; flex: 0 0 auto; }

/* ==========================================================
 * Entreprise v2 : version premium (filets dorés, colonnes éditoriales)
 * ======================================================== */
/* Offres : 4 colonnes séparées par des filets, sans cartes */
.tmr-offers-lux { border-top: 1px solid rgba(200, 190, 138, .28); border-bottom: 1px solid rgba(200, 190, 138, .28); }
.tmr-offers-lux > .tmr-offer { width: 25% !important; --width: 25% !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; transition: background-color .35s ease; }
@media (min-width: 1025px) {
	.tmr-offers-lux > .tmr-offer + .tmr-offer { border-left: 1px solid rgba(200, 190, 138, .2) !important; }
}
.tmr-offers-lux > .tmr-offer:hover { background: rgba(200, 190, 138, .06) !important; }
.tmr-offer .tmr-offer__title .elementor-heading-title { min-height: 2.5em; }
.tmr-offer .tmr-offer__text p, .tmr-offer .tmr-offer__list ul { margin: 0; }
.tmr-lux-list { list-style: none; padding: 0; margin: 0; }
.tmr-lux-list li { position: relative; padding: 0 0 0 22px; margin: 0 0 9px; line-height: 1.5; }
.tmr-lux-list li::before { content: ""; position: absolute; left: 0; top: .72em; width: 12px; height: 1px; background: #C8BE8A; }
.tmr-offer .tmr-offer__price { margin-top: auto !important; padding-top: 18px; border-top: 1px solid rgba(200, 190, 138, .2); }
.tmr-offer .tmr-offer__link .elementor-button { padding: 4px 0 !important; background: transparent !important; border-bottom: 1px solid rgba(200, 190, 138, .5) !important; border-radius: 0 !important; transition: color .25s ease, border-color .25s ease, gap .25s ease; }
.tmr-offer:hover .tmr-offer__link .elementor-button { color: #FFFFFF !important; border-color: #FFFFFF !important; }
.tmr-offer .tmr-offer__link .elementor-button-icon svg { width: 11px; transition: transform .25s ease; }
.tmr-offer:hover .tmr-offer__link .elementor-button-icon svg { transform: translateX(4px); }
@media (min-width: 768px) and (max-width: 1024px) {
	.tmr-offers-lux > .tmr-offer { width: 50% !important; --width: 50% !important; }
	.tmr-offers-lux > .tmr-offer:nth-child(2n) { border-left: 1px solid rgba(200, 190, 138, .2) !important; }
	.tmr-offers-lux > .tmr-offer:nth-child(n+3) { border-top: 1px solid rgba(200, 190, 138, .2) !important; }
}
@media (max-width: 767px) {
	.tmr-offers-lux > .tmr-offer { width: 100% !important; --width: 100% !important; }
	.tmr-offers-lux > .tmr-offer + .tmr-offer { border-top: 1px solid rgba(200, 190, 138, .2) !important; }
	.tmr-offer .tmr-offer__title .elementor-heading-title { min-height: 0; }
	.tmr-offers-lux > .tmr-offer:hover { background: transparent !important; }
}

/* Process sur fond ivoire */
.tmr-process-light .tmr-step { color: #0B0F17; }
.tmr-process-light .tmr-steps::before { height: 2px; top: 21px; background: #C8BE8A; }
.tmr-process-light .tmr-step span { background: #F4F1E6; border-width: 1px; border-color: #8A7D3C; color: #8A7D3C; }
@media (max-width: 767px) {
	.tmr-process-light .tmr-steps::before { width: 1px; left: 25px; height: auto; background: linear-gradient(180deg, #8A7D3C 0%, rgba(138, 125, 60, .25) 100%); }
	.tmr-process-light .tmr-step span { box-shadow: 0 0 0 6px #F4F1E6; }
}

/* Pourquoi : titre à gauche (fixe au défilement), liste numérotée à droite */
.tmr-why-lux__list { border-top: 1px solid rgba(255, 255, 255, .12); }
.tmr-why-row { border-bottom: 1px solid rgba(255, 255, 255, .12); transition: padding-left .3s ease; }
.tmr-why-row:hover { padding-left: 8px !important; }
.tmr-why-row__num { flex: 0 0 34px; padding-top: 5px; }
.tmr-why-row__body p, .tmr-why-lux__intro p { margin: 0; }
.tmr-why-lux__intro { max-width: 420px; }

/* Organisation : vraie photo, sans cadre ni filtre */
.tmr-orga .elementor-widget-image img { border: 0 !important; border-radius: 18px !important; box-shadow: 0 30px 60px rgba(11, 15, 23, .18); object-fit: cover; }
.tmr-orga .elementor-icon-list-icon svg { fill: #8A7D3C !important; }

/* Fonctions recrutées : grille aérée à filets, sans cartes */
.tmr-roles-lux { border-top: 1px solid rgba(138, 125, 60, .3); }
.tmr-roles-lux > .tmr-role { width: 33.333% !important; --width: 33.333% !important; border-bottom: 1px solid rgba(138, 125, 60, .3); }
.tmr-role p { margin: 0; line-height: 1.7; }
@media (min-width: 1025px) {
	.tmr-roles-lux > .tmr-role:not(:nth-child(3n+1)) { padding-left: 28px !important; border-left: 1px solid rgba(138, 125, 60, .3); }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.tmr-roles-lux > .tmr-role { width: 50% !important; --width: 50% !important; }
	.tmr-roles-lux > .tmr-role:nth-child(2n) { padding-left: 28px !important; border-left: 1px solid rgba(138, 125, 60, .3); }
}
@media (max-width: 767px) {
	.tmr-roles-lux > .tmr-role { width: 100% !important; --width: 100% !important; }
}

/* Fonctions recrutées : cartes noires, grande icône dorée */
.tmr-roles-boxes > .tmr-role-box { width: calc((100% - 44px) / 3) !important; --width: calc((100% - 44px) / 3) !important; box-shadow: 0 18px 40px rgba(11, 15, 23, .14); transition: transform .3s ease, box-shadow .3s ease; }
.tmr-roles-boxes > .tmr-role-box:hover { transform: translateY(-4px); box-shadow: 0 26px 50px rgba(11, 15, 23, .22); }
.tmr-role-box__icon .elementor-icon { border: 1px solid rgba(200, 190, 138, .35); }
.tmr-role-box p { margin: 0; line-height: 1.7; }
@media (max-width: 1024px) { .tmr-roles-boxes > .tmr-role-box { width: calc((100% - 22px) / 2) !important; --width: calc((100% - 22px) / 2) !important; } }
@media (max-width: 767px) { .tmr-roles-boxes > .tmr-role-box { width: 100% !important; --width: 100% !important; } }

/* Pourquoi : grille moderne (1 grande carte dorée + 4 cartes) */
.tmr-bento { display: grid !important; grid-template-columns: 1.25fr 1fr 1fr; grid-auto-rows: auto; gap: 20px !important; }
.tmr-bento > .tmr-bento__card { width: auto !important; --width: auto !important; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.tmr-bento > .tmr-bento__card--feature { grid-row: span 2; min-height: 460px; position: relative; overflow: hidden; box-shadow: 0 30px 60px rgba(11, 15, 23, .22); }
.tmr-bento > .tmr-bento__card--feature::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 15, 23, .15) 0%, rgba(11, 15, 23, .35) 40%, rgba(11, 15, 23, .9) 100%); pointer-events: none; }
.tmr-bento > .tmr-bento__card--feature > * { position: relative; z-index: 1; }
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature):hover { transform: translateY(-4px); border-color: rgba(138, 125, 60, .45) !important; box-shadow: 0 20px 44px rgba(11, 15, 23, .1); }
.tmr-bento__card p { margin: 0; line-height: 1.65; }
.tmr-bento__icon .elementor-icon { border-color: rgba(138, 125, 60, .45) !important; }
@media (max-width: 1024px) { .tmr-bento > .tmr-bento__card--feature { min-height: 360px; } }
.tmr-bento__top { width: 100%; }
@media (max-width: 1024px) {
	.tmr-bento { grid-template-columns: 1fr 1fr; }
	.tmr-bento > .tmr-bento__card--feature { grid-row: auto; grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 767px) {
	.tmr-bento { grid-template-columns: 1fr; gap: 16px !important; }
}
.tmr-roles-boxes > .tmr-role-box { background-color: #1E222A !important; }

/* Nos offres : cartes blanches avec photo, fond beige */
.tmr-offers-boxes { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px !important; }
.tmr-offers-boxes > .tmr-offer-box { width: auto !important; --width: auto !important; overflow: hidden; border: 1px solid rgba(138, 125, 60, .14) !important; box-shadow: 0 18px 44px rgba(11, 15, 23, .08); transition: transform .3s ease, box-shadow .3s ease; }
.tmr-offers-boxes > .tmr-offer-box:hover { transform: translateY(-5px); box-shadow: 0 28px 60px rgba(11, 15, 23, .14); border-color: rgba(138, 125, 60, .35) !important; }
.tmr-offer-box__img { margin: 0 !important; }
.tmr-offer-box__img img { width: 100% !important; height: 190px !important; object-fit: cover; border-radius: 0 !important; display: block; transition: transform .6s ease; }
.tmr-offer-box:hover .tmr-offer-box__img img { transform: scale(1.04); }
.tmr-offer-box__img .elementor-widget-container { overflow: hidden; }
.tmr-offer-box > .tmr-offer-box__body { flex: 1 1 auto !important; --flex-grow: 1; }
.tmr-offers-boxes > .tmr-offer-box { height: 100%; }
.tmr-offer-box .tmr-offer-box__title .elementor-heading-title { min-height: 2.5em; }
.tmr-offer-box p, .tmr-offer-box ul { margin: 0; }
.tmr-offer-box .tmr-lux-list li::before { background: #8A7D3C; }
.tmr-offer-box .tmr-offer-box__price { margin-top: auto !important; padding-top: 16px; border-top: 1px solid rgba(138, 125, 60, .2); }
.tmr-offer-box .tmr-offer-box__btn .elementor-button { width: 100%; justify-content: center; padding: 13px 14px; white-space: nowrap; }
@media (max-width: 1024px) { .tmr-offers-boxes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
	.tmr-offers-boxes { grid-template-columns: 1fr; gap: 18px !important; }
	.tmr-offer-box .tmr-offer-box__title .elementor-heading-title { min-height: 0; }
	.tmr-offer-box__img img { height: 200px !important; }
}

/* ==========================================================
 * Entreprise : mêmes règles que « Notre cabinet »
 * ======================================================== */
/* Fond noir avec halo doré (comme le mot de la fondatrice) */
.e-con.tmr-glow { background-image: radial-gradient(70% 60% at 85% 0%, rgba(200, 190, 138, .10), transparent 70%) !important; }
.tmr-glow .tmr-eyebrow .elementor-heading-title { border-color: rgba(200, 190, 138, .5) !important; background: rgba(200, 190, 138, .08) !important; color: #C8BE8A !important; }

/* Process : 7 étapes en cases bordées (comme « Mon approche ») */
.tmr-process-dark .tmr-steps { display: grid !important; grid-template-columns: repeat(7, 1fr); gap: 14px !important; counter-reset: tmrstep; padding: 0 !important; }
.tmr-process-dark .tmr-steps::before { display: none !important; }
.tmr-process-dark .tmr-step {
	counter-increment: tmrstep; display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start; gap: 12px !important;
	text-align: center !important; color: #FFFFFF; font-size: 12.5px !important; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; line-height: 1.45 !important;
	background: rgba(255, 255, 255, .035); border: 1px solid rgba(200, 190, 138, .35); border-radius: 18px; padding: 24px 12px 22px;
	transition: border-color .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1), background-color .3s ease;
}
.tmr-process-dark .tmr-step:hover { border-color: #C8BE8A; background: rgba(200, 190, 138, .07); transform: translateY(-4px); }
.tmr-process-dark .tmr-step span { width: auto !important; height: auto !important; flex: none !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-size: 0 !important; }
.tmr-process-dark .tmr-step span::before { content: counter(tmrstep, decimal-leading-zero); font-size: 30px; font-weight: 400; color: #C8BE8A; letter-spacing: 0; }
@media (max-width: 1024px) { .tmr-process-dark .tmr-steps { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 767px) {
	.tmr-process-dark .tmr-steps { grid-template-columns: 1fr 1fr; gap: 12px !important; }
	.tmr-process-dark .tmr-step { padding: 20px 10px 18px; font-size: 12px !important; }
	.tmr-process-dark .tmr-step:last-child { grid-column: 1 / -1; }
}

/* Offres : cartes blanches à liseré doré en haut (comme les sourceurs) */
.tmr-offers-boxes > .tmr-offer-box { border: 1px solid rgba(11, 15, 23, .06) !important; border-top: 3px solid #C8BE8A !important; border-radius: 18px !important; box-shadow: none; transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s ease, border-color .45s ease; }
.tmr-offers-boxes > .tmr-offer-box:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11, 15, 23, .09); border-color: rgba(200, 190, 138, .8) !important; }
.tmr-offer-box .tmr-offer-box__btn .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, .2); }

/* Pourquoi : fond ivoire, petites cartes blanches à liseré doré, grande carte photo cadrée d'or */
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature) { background: #FFFFFF !important; border: 1px solid rgba(11, 15, 23, .06) !important; border-top: 3px solid #C8BE8A !important; border-radius: 18px !important; transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s ease, border-color .45s ease; }
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature):hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11, 15, 23, .09); border-color: rgba(200, 190, 138, .8) !important; }
.tmr-bento > .tmr-bento__card--feature { border-radius: 18px !important; outline: 1px solid rgba(200, 190, 138, .45); outline-offset: 8px; }
.tmr-why-bento .tmr-eyebrow--light .elementor-heading-title { border-color: rgba(138, 125, 60, .45); background: rgba(138, 125, 60, .06); }

/* Fonctions recrutées : fond noir à halo, cartes comme « Les postes que nous recrutons » */
.tmr-roles-dark { position: relative; }
.tmr-roles-dark::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(200, 190, 138, .5), transparent); }
.tmr-roles-dark .tmr-roles-boxes > .tmr-role-box { background-color: #1E222A !important; border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px !important; box-shadow: none; transition: transform .25s ease, border-color .25s ease; }
.tmr-roles-dark .tmr-roles-boxes > .tmr-role-box:hover { transform: translateY(-4px); border-color: #C8BE8A; box-shadow: none; }
.tmr-roles-dark .tmr-role-box__icon .elementor-icon { border: 0 !important; background: transparent !important; }

/* Pourquoi : petites cartes sur fond noir (comme la carte d'Elsa) */
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature) { background: #0B0F17 !important; border: 1px solid rgba(200, 190, 138, .35) !important; border-top: 3px solid #C8BE8A !important; box-shadow: 0 22px 50px rgba(11, 15, 23, .18); }
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature):hover { background: #11161F !important; border-color: #C8BE8A !important; box-shadow: 0 30px 60px rgba(11, 15, 23, .28); }
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature) .elementor-heading-title { color: #FFFFFF !important; }
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature) .elementor-widget-text-editor,
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature) .elementor-widget-text-editor p { color: #C9CCD1 !important; }
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature) .elementor-icon { color: #C8BE8A !important; border-color: rgba(200, 190, 138, .55) !important; }
.tmr-bento > .tmr-bento__card:not(.tmr-bento__card--feature) .elementor-icon svg { fill: #C8BE8A !important; }

/* Nos offres : en-tête foncé, cartes blanches avec icône moderne */
.tmr-offres-top--dark .tmr-eyebrow .elementor-heading-title { border-color: rgba(200, 190, 138, .5) !important; background: rgba(200, 190, 138, .08) !important; color: #C8BE8A !important; }
.tmr-offer-box__icon .elementor-icon { box-shadow: 0 10px 24px rgba(11, 15, 23, .22), inset 0 0 0 1px rgba(200, 190, 138, .35); transition: transform .4s cubic-bezier(.16, 1, .3, 1), background-color .3s ease, color .3s ease; }
.tmr-offer-box:hover .tmr-offer-box__icon .elementor-icon { transform: rotate(-6deg) scale(1.06); background-color: #C8BE8A !important; color: #0B0F17 !important; }
.tmr-offer-box:hover .tmr-offer-box__icon .elementor-icon svg { fill: #0B0F17 !important; }
.tmr-offres-top--dark .tmr-offers-boxes > .tmr-offer-box { border-color: rgba(200, 190, 138, .25) !important; border-top: 3px solid #C8BE8A !important; }
.tmr-offres-top--dark .tmr-offers-boxes > .tmr-offer-box:hover { box-shadow: 0 26px 60px rgba(0, 0, 0, .45); }

/* Comment recruter : frise d'origine sur fond beige foncé */
.tmr-process-beige .tmr-step { color: #0B0F17; }
.tmr-process-beige .tmr-steps::before { background: #B3A86E; }
.tmr-process-beige .tmr-step span { background: #FFFFFF; border-color: #B3A86E; color: #8A7D3C; }
@media (max-width: 767px) {
	.tmr-process-beige .tmr-steps::before { background: linear-gradient(180deg, #8A7D3C 0%, rgba(138, 125, 60, .35) 100%); }
	.tmr-process-beige .tmr-step span { box-shadow: 0 0 0 6px #D9D2A8; }
}
.tmr-offer-box .tmr-offer-box__btn .elementor-button { background-color: #C8BE8A !important; color: #0B0F17 !important; }
.tmr-offer-box .tmr-offer-box__btn .elementor-button svg { fill: #0B0F17 !important; }
.tmr-offer-box .tmr-offer-box__btn .elementor-button:hover { background-color: #0B0F17 !important; color: #C8BE8A !important; }
.tmr-offer-box .tmr-offer-box__btn .elementor-button:hover svg { fill: #C8BE8A !important; }

/* Frise beige : ligne et bordures en noir (lisibilité) */
.tmr-process-beige .tmr-steps::before { background: #0B0F17 !important; height: 6px; top: 24px; }
.tmr-process-beige .tmr-step span { background: #FFFFFF !important; border: 3px solid #0B0F17 !important; color: #0B0F17 !important; }
@media (max-width: 767px) {
	.tmr-process-beige .tmr-steps::before { background: #0B0F17 !important; width: 3px; left: 24px; top: 22px; height: auto; }
}

/* Domaines (version HTML) : icône SVG dans le cercle */
.tmr-domain__icon svg { width: 22px; height: 22px; fill: #C8BE8A; display: block; }
.tmr-domain__icon i { font-size: 22px; color: #C8BE8A; }

/* Témoignages sans photo (accueil, candidat) : le texte commence en haut, plus de blanc au-dessus */
.elementor-widget-testimonial-carousel .elementor-testimonial:has(.elementor-testimonial__footer:not(:has(img))) {
	flex-direction: column !important; justify-content: center !important; padding-top: 52px !important;
}
.elementor-widget-testimonial-carousel .elementor-testimonial__footer:not(:has(img)) { display: none !important; }
.elementor-widget-testimonial-carousel .elementor-testimonial:has(.elementor-testimonial__footer:not(:has(img))) .elementor-testimonial__cite { margin-top: 18px !important; }

/* Fondatrice : icône LinkedIn dorée */
.tmr-founder__linkedin .elementor-social-icon { background-color: #C8BE8A !important; transition: transform .25s ease, background-color .25s ease; }
.tmr-founder__linkedin .elementor-social-icon svg { fill: #0B0F17 !important; }
.tmr-founder__linkedin .elementor-social-icon i { color: #0B0F17 !important; }
.tmr-founder__linkedin .elementor-social-icon:hover { background-color: #FFFFFF !important; transform: translateY(-2px); }
