/*
 * Correctifs de rendu Archigène (04/11/2026), chargés après main.css.
 * Fichier écrit à la main : il n'est pas généré par src/. Voir assets/README.md.
 */

/* 1. Ordinateurs à écran peu haut (pagePiling actif dès 1200 px de large).
 *    Une section plus haute que l'écran reçoit la classe pp-scrollable (js/correctifs.js) :
 *    la molette la fait défiler jusqu'au bout avant de passer à la section suivante. */
@media (min-width: 1200px) {
	#pagepiling > section.pp-scrollable {
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}

	#pagepiling > section.pp-scrollable > .technologies__svg {
		max-height: 100%;
		width: auto;
	}

	/* Accueil : le panneau grandit avec son contenu au lieu de couper le bouton. */
	.hero__wrap {
		bottom: auto;
		min-height: 100%;
	}
}

@media (min-width: 1200px) and (max-height: 820px) {
	.hero__wrap {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.hero__logo {
		margin-bottom: 10px;
	}

	.hero__title {
		font-size: 32px;
		margin-bottom: 1.5rem;
	}

	.hero__desk {
		margin-bottom: 1.5rem;
	}
}

/* 2. Nos réalisations : règles d'origine rendues inopérantes par une imbrication
 *    dans @media (min-width: 1730px) du SCSS. Rétablies avec leurs conditions d'origine. */
@media (max-width: 1199px) {
	.nos_realisations .data-row {
		column-gap: 100px;
	}
}

@media (max-width: 1025px) {
	.nos_realisations .data-col:first-child {
		width: auto;
		margin-bottom: 40px;
		padding-bottom: 0;
	}

	.nos_realisations .data-slider-nav {
		display: none;
	}

	.nos_realisations .data-row {
		flex-direction: column;
		column-gap: 60px;
		margin-bottom: 20px;
	}

	.nos_realisations .data-col {
		width: auto !important;
	}

	.nos_realisations .data-slider-2:not(.swiper-initialized) .data-item {
		margin-right: 20px;
	}

	.nos_realisations .data-slider-2-item-img {
		border-radius: 16px;
	}
}

@media (min-width: 1200px) and (max-height: 950px) {
	.nos_realisations .data-slider-item-img {
		max-height: 38vh;
	}

	.nos_realisations .min-\[1730px\]\:mb-16 {
		margin-bottom: 3rem;
	}
}

@media (min-width: 1200px) and (max-height: 900px) {
	.nos_realisations .min-\[1730px\]\:mb-16 {
		margin-bottom: 2rem;
	}
}

/* 3. La Formation, tablette paysage (992 à 1199 px) : le texte pivoté de la première carte
 *    débordait à gauche de la carte. */
@media (min-width: 992px) and (max-width: 1199px) {
	.technologies__inner {
		left: 115px;
	}
}

/* 4. Mobile : texte aligné à gauche (le justifié crée de grands blancs sur écran étroit),
 *    et titres de section dégagés de la barre fixe lors d'un saut d'ancre. */
@media (max-width: 767px) {
	.hero__desk p,
	.description-text,
	.description-text p,
	.nos_realisations .data-desc,
	.nos_realisations .data-desc p {
		text-align: left;
	}

	#pagepiling > section {
		scroll-margin-top: 70px;
	}
}

/* 5. Pages intérieures : un titre long (« Conditions générales de vente ») passait sous le logo
 *    posé en haut à droite (.page-heading__logo, left 70 % au-dessus de 1400 px, 60 % en dessous).
 *    La largeur du titre s'arrête avant le logo ; il passe sur deux lignes si besoin. */
@media (min-width: 1401px) {
	.page-heading .section-heading__title {
		max-width: calc(20vw + 490px);
	}
}

@media (min-width: 992px) and (max-width: 1400px) {
	.page-heading .section-heading__title {
		max-width: min(calc(10vw + 490px), calc(60vw - 110px));
	}
}

/* 6. Mention d'information sous les formulaires de contact et d'inscription (05/11/2026). */
.ml-contact-form__rgpd {
	margin-top: 16px;
	font-size: 12px;
	line-height: 1.5;
	opacity: 0.8;
}

.ml-contact-form__rgpd a {
	text-decoration: underline;
}

/* 7. Partenaires (accueil, ordinateur) : les 10 logos sur 4 lignes dépassaient l'écran jusqu'en 1920x945
 *    et la section devenait défilable. Logos et espacements proportionnels à la hauteur d'écran
 *    pour que la section tienne sans défilement (05/11/2026). Rien ne change sous 1200 px. */
@media (min-width: 1200px) {
	.partenaires .partenaires__list {
		padding-top: clamp(16px, 4vh, 48px);
		padding-bottom: clamp(16px, 4vh, 48px);
		row-gap: clamp(16px, 3vh, 40px);
	}

	.partenaires .partenaires__item img {
		max-height: clamp(40px, 10vh, 110px);
		max-width: 100%;
	}
}

/* 8. Archive équipe (/equipe/) : le fond décoratif du bas de page (::after, archive-bg.png) était posé par-dessus
 *    le dernier formateur et l'assombrissait (photo, nom et lien presque invisibles). Le contenu repasse au-dessus. */
.traitements-archive > .container {
	position: relative;
	z-index: 1;
}

/* 9. La Formation (accueil) : les cartes affichent au survol le programme de chaque journée sous forme de liste
 *    (05/11/2026). Puces blanches (elles étaient noires sur fond sombre) et texte aligné à gauche.
 *    Titre vertical des cartes fermées (992 px et plus) : sa position dépendait de son nombre de lignes et il sortait
 *    de la carte à gauche (jusqu'à 31 px à 1280). Le décalage de 55 % de sa hauteur compense l'origine de rotation
 *    du bloc (55 %) : le titre commence au même endroit quel que soit son nombre de lignes. */
@media (min-width: 992px) {
	.technologies__name {
		transition: transform .3s;
	}

	.technologies__item:not(:hover) .technologies__name {
		transform: translateY(55%);
	}
}

.technologies__desk ul li {
	color: #fff;
	text-align: left;
}

.technologies__desk ul li::before {
	background: #fff;
}
