/* Qui sommes-nous ? (spec 02) : variantes propres à la page. */

/* ---- Hero : paragraphe en REM Regular (maquette), texte sur la moitié droite de la photo */
.nl-qui-hero .elementor-widget-text-editor { font-weight: 400; }
.nl-qui-hero .nl-ariane { width: auto; }

/* ---- Frise (Logia Timeline) sur la bande de bois en flèche (fond de la section) */
.nl-qui-timeline .lt-item { padding-left: 0; }
.nl-qui-timeline .lt-head,
.nl-qui-timeline .lt-body { padding-left: 25px; }
.nl-qui-timeline .lt-date { white-space: nowrap; }
.nl-qui-timeline.lt-layout-top .lt-line-zone { margin: 0 0 11px; }
/* Le trait traverse la bande puis descend le long de l'année (168 px en tout). */
.nl-qui-timeline .lt-marker { top: 0; bottom: -64px; }
.nl-qui-timeline .lt-desc { margin: 0; }
/* 1920 : les retours de la maquette font les lignes (certaines débordent un peu dans l'écart, comme la maquette). */
@media (min-width: 1600px) { .nl-qui-timeline .lt-desc { white-space: nowrap; } }
/* Ordinateur : les 6 étapes tiennent, pas de défilement (la dernière ligne peut dépasser de la piste). */
@media (min-width: 1025px) { .nl-qui-timeline .lt-scroller { overflow: visible; } }
@media (max-width: 1599px) {
	.nl-qui-timeline .lt-head, .nl-qui-timeline .lt-body { padding-left: 18px; }
	.nl-qui-timeline.lt-layout-top .lt-line-zone { margin-bottom: 8px; }
	.nl-qui-timeline .lt-marker { bottom: -48px; }
	.nl-qui-timeline .lt-desc br { display: none; }
}
@media (max-width: 1024px) {
	.nl-qui-timeline .lt-head, .nl-qui-timeline .lt-body { padding-left: 16px; }
	.nl-qui-timeline .lt-marker { bottom: -44px; }
}
/* Téléphone : liste verticale du widget, ligne or à gauche (la bande en flèche disparaît). */
@media (max-width: 767px) {
	.nl-qui-frise.e-con { background-image: none !important; }
	.nl-qui-timeline .lt-timeline { --lt-line-color: var(--nl-or) !important; --lt-line-weight: 2px !important; --lt-connector-color: var(--nl-or) !important; }
	.nl-qui-timeline .lt-head, .nl-qui-timeline .lt-body { padding-left: 0; }
	.nl-qui-timeline .lt-marker { bottom: auto; }
}

/* ---- Dirigeants : encarts de citation plus larges que la colonne, glissés sous le portrait */
.nl-qui-citation.e-con { max-width: none; flex-shrink: 0; }
.nl-qui-citation .nl-signature .elementor-heading-title { white-space: normal; }
@media (max-width: 1024px) {
	.nl-qui-citation.e-con { width: 100% !important; margin-left: 0 !important; }
	.nl-qui-portrait.e-con { align-self: center; }
}

/* ---- Recrutement : e-mail en gras, sur la même ligne que la phrase */
.nl-qui-mention .elementor-icon-list-items.elementor-inline-items { margin: 0 !important; column-gap: .3em; row-gap: 0; }
.nl-qui-mention .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.nl-qui-mention .elementor-icon-list-item::after { display: none !important; }
.nl-qui-mention .elementor-icon-list-icon { display: none; }
.nl-qui-mention .elementor-icon-list-item:last-child .elementor-icon-list-text { font-weight: 700; }
.nl-qui-mention--stage .elementor-icon-list-items { justify-content: center; }

/* ---- Chiffres clés : exposant de « m² » (Mevac), nombre sur une ligne */
.nl-qui-nombre .elementor-heading-title { white-space: nowrap; }
.nl-qui-exposant { font-size: .58em; letter-spacing: 0; vertical-align: top; position: relative; top: .02em; margin-left: .08em; }

/* ---- Labels : bandeau sombre de l'accueil */
.nl-qui-labels .nl-grille-labels { width: 100%; }

/* ---- Distinction CAPEB : photo sans rayon ni ombre */
.nl-qui-trophee img { width: 100%; }

/* ---- Essences : seule la 1re vignette (haut gauche) et la 6e (bas droit) sont arrondies */
.nl-qui-grille-essences .e-loop-item:nth-of-type(1) .nl-essence-img { border-top-left-radius: 110px; }
.nl-qui-grille-essences .e-loop-item:nth-of-type(6) .nl-essence-img { border-bottom-right-radius: 110px; }
@media (max-width: 1599px) {
	.nl-qui-grille-essences .e-loop-item:nth-of-type(1) .nl-essence-img { border-top-left-radius: 82px; }
	.nl-qui-grille-essences .e-loop-item:nth-of-type(6) .nl-essence-img { border-bottom-right-radius: 82px; }
}
@media (max-width: 1024px) {
	.nl-qui-grille-essences .e-loop-item:nth-of-type(1) .nl-essence-img { border-top-left-radius: 72px; }
	.nl-qui-grille-essences .e-loop-item:nth-of-type(6) .nl-essence-img { border-bottom-right-radius: 72px; }
}
/* Téléphone : rangée tactile (une vignette et l'amorce de la suivante) plutôt que 6 vignettes empilées. */
@media (max-width: 767px) {
	.nl-qui-grille-essences .elementor-loop-container {
		display: flex !important;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: -20px;
		padding: 0 20px 8px;
		scroll-padding-inline: 20px;
	}
	.nl-qui-grille-essences .elementor-loop-container::-webkit-scrollbar { display: none; }
	.nl-qui-grille-essences .e-loop-item { flex: 0 0 78%; scroll-snap-align: start; }
	.nl-qui-grille-essences .e-loop-item:nth-of-type(1) .nl-essence-img { border-top-left-radius: 56px; }
	.nl-qui-grille-essences .e-loop-item:nth-of-type(6) .nl-essence-img { border-bottom-right-radius: 56px; }
}

/* ---- Architectes : drapeau du Canada posé sur le coin de la photo */
.nl-qui-carte-visuel.e-con { position: relative; }

/* ---- Stage + CTA de bas de page : un seul bloc photo (maquette). La section « stage » (fin de la page) porte le haut
   de la photo, le CTA du pied de page le bas ; l'écart entre les deux est celui de la maquette (coordonnées → stage). */
.nl-qui-stage .nl-qui-mention { margin-top: 0; }

/* ---- Hero : le titre déborde à droite de la colonne de contenu dans la maquette (boîte de 971 px à x 874) */
@media (min-width: 1600px) {
	.nl-qui-hero .elementor-widget-heading.elementor-widget__width-initial { max-width: none !important; }
}
/* Retours du titre : 2 lignes en 1920 (maquette), 3 lignes plus étroit (« depuis 2011 » ne reste pas seul). */
@media (min-width: 1600px) { .nl-qui-hero .nl-qui-br-l { display: none; } }
@media (max-width: 1599px) { .nl-qui-hero .nl-qui-br-d { display: none; } }
/* Tablette et téléphone : la colonne de texte des dirigeants prend toute la largeur (les titres ont une largeur max). */
@media (max-width: 1024px) {
	.nl-qui-col-texte.e-con { width: 100% !important; max-width: 100%; }
	.nl-qui-col-texte .elementor-widget__width-initial { max-width: 100%; }
}

/* Passe 1 : hero plus haut (maquette 832 px) ; tablette : texte sur la moitié droite, dégagé des visages. */
@media (min-width: 1600px) { .nl-hero-page.e-con { min-height: 860px !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .nl-hero-page .nl-hero-contenu.e-con { margin-left: auto !important; max-width: 56% !important; } }
@media (max-width: 767px) { .nl-hero-page.e-con { background-position: 18% 50% !important; } }
