/* ==========================================================================
   BASE
   ========================================================================== */
body { overflow-x: clip; }

/* Liens ne contenant qu'une icône SVG : supprime l'espace fantôme sous l'icône */
a:has(> svg:only-child) { line-height: 0; }

/* Focus clavier visible et uniforme */
body.bricks-is-frontend :focus-visible {
	outline: 2px solid var(--neutral-400) !important;
	transition: none !important;
}

/* ==========================================================================
   TEXTES LÉGAUX (.legals-text)
   ========================================================================== */
.legals-text {
	color: var(--neutral-600);
	font-size: 1rem;
}

.legals-text a {
	color: var(--blue-600);
	transition: var(--t300);
}

.legals-text a:is(:hover, :focus-visible) {
	opacity: .7;
	text-decoration: underline;
}

.legals-text h2 {
	margin: 2.5rem 0 1.25rem;
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--neutral-900);
}

.legals-text h3,
.legals-text h4 {
	margin: 0 0 .75rem;
	font-size: 1.5rem;
	font-weight: 500;
}

.legals-text p { margin: 0 0 1rem; }

.legals-text ul,
.legals-text ol {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
	list-style-position: outside;
}

.legals-text ul { list-style-type: disc; }
.legals-text ol { list-style-type: decimal; }
.legals-text li { margin-bottom: .5rem; }
.legals-text strong { font-weight: 600; }

.legals-text h2:first-child { margin-top: 0; }
.legals-text p:last-child { margin-bottom: 0; }

/* ==========================================================================
   UTILITAIRES
   ========================================================================== */
.nodrag,
.noselect {
	-webkit-user-select: none !important;
	user-select: none !important;
}

.nodrag { -webkit-user-drag: none !important; }
.noselect { -webkit-touch-callout: none !important; }

/* ==========================================================================
   RESPONSIVE (breakpoints Bricks)
   ========================================================================== */
@media (max-width: 991px) {
	:root {
		--padding-horizontal: 4rem !important;
		--navbar-height: 68px !important;
	}
}

@media (max-width: 767px) {
	:root { --padding-horizontal: 3rem !important; }
}

@media (max-width: 478px) {
	:root { --padding-horizontal: 1.5rem !important; }
}