/*
 * Largeur max. responsive des lignes WPBakery "boxed" (.vc_row), en
 * complément du .container Bootstrap déjà porté (même logique dégressive
 * mobile-first, palier supplémentaire à 1370px pour les grands écrans).
 *
 * Exclut volontairement les lignes en "Full Width Row" (attribut
 * data-vc-full-width="true", posé par vc_templates/vc_row.php) : celles-ci
 * doivent pouvoir s'étirer plein écran via le mécanisme natif WPBakery, sans
 * être plafonnées par cette règle.
 */

div.vc_row:not([data-vc-full-width="true"]) {
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	div.vc_row:not([data-vc-full-width="true"]) {
		max-width: 750px;
	}
}

@media (min-width: 992px) {
	div.vc_row:not([data-vc-full-width="true"]) {
		max-width: 970px;
	}
}

@media (min-width: 1200px) {
	div.vc_row:not([data-vc-full-width="true"]) {
		max-width: 1170px;
	}
}

@media (min-width: 1400px) {
	div.vc_row:not([data-vc-full-width="true"]) {
		max-width: 1370px;
	}
}

/*
 * Header des pages intérieures (.sub-page, tout sauf la home) : position
 * normale (pas fixed) + fond sombre tant que la page n'est pas scrollée.
 * Redevient sticky (position:fixed + fond gris .shrink déjà existant, cf.
 * imevent-base.css/cibm-identity.css) une fois la classe "shrink" ajoutée
 * par theme.js au scroll — aucun JS supplémentaire nécessaire ici.
 */
.sub-page .header.fixed:not(.shrink) {
	position: relative;
	background-color: rgb(25, 26, 26);
}

/*
 * Extra logo affiché en haut du menu mobile plein écran (.navigation), sous
 * le hamburger — markup ajouté dans header.php, en plus du logo déjà présent
 * dans .header-wrapper (resté à sa place, visible derrière le panneau une
 * fois le menu ouvert). Masqué par défaut, ne s'affiche qu'en mobile
 * (demande utilisateur 2026-09-16).
 */
.navigation__logo {
	display: none;
}

/*
 * Header/menu mobile (demande utilisateur 2026-09-16) — même breakpoint que
 * le menu plein écran .navigation existant (imevent-base.css, @media
 * max-width:991px), chargé ici APRÈS pour primer sur ces réglages legacy à
 * spécificité égale.
 */
@media (max-width: 991px) {
	.header.fixed {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.logo img,
	.shrink .logo img {
		width: 150px;
		height: auto;
	}

	.navigation {
		/* 300px (au lieu de 250px) : le ".closed" ci-dessous doit repousser le
		   panneau de la même distance, sinon un liseré resterait visible à
		   l'écran quand le menu est fermé. */
		width: 300px;
		background-color: rgb(45 45 45);

		/* Centre tous les éléments du panneau (menu, sélecteur de langue,
		   panier, compte) : float/pull-right n'ont aucun effet sur un enfant
		   direct d'un conteneur flex (neutralisés automatiquement), et
		   text-align:center hérité centre leur contenu (texte, icônes, logo). */
		display: flex;
		flex-direction: column;
		text-align: center;
	}

	.navigation.closed {
		right: -300px;
	}

	body.rtl .navigation.closed {
		left: -300px;
	}

	.navigation__logo {
		display: block;
		margin: 20px 0 0;
	}

	.navigation__logo img {
		width: 150px;
		height: auto;
		margin: 0 auto;
	}

	/* ul.sf-menu garde un float:left hérité (cibm-identity.css) : pas neutralisé
	   par le flex ci-dessus, elle n'est pas un enfant direct de .navigation
	   (wp_nav_menu() l'enveloppe dans un conteneur intermédiaire). */
	.navigation .sf-menu {
		float: none;
		width: 100%;
		margin: 0;
	}
}
