/* Footer partenaires : chaque catégorie occupe toute la largeur disponible. */
@media screen {
	#footer .hm-footer-partners-row--logos-large {
		--hm-footer-logo-wide-height: 46px;
		--hm-footer-logo-standard-height: 64px;
		--hm-footer-logo-compact-height: 80px;
		--hm-footer-logo-vertical-height: 96px;
		--hm-footer-logo-max-width: 240px;
		--hm-footer-wordmark-size: 1.83em;
	}

	#footer .hm-footer-partners-row--logos-medium {
		--hm-footer-logo-wide-height: 38px;
		--hm-footer-logo-standard-height: 51px;
		--hm-footer-logo-compact-height: 64px;
		--hm-footer-logo-vertical-height: 82px;
		--hm-footer-logo-max-width: 190px;
		--hm-footer-wordmark-size: 1.22em;
	}

	#footer .hm-footer-partners-row--logos-small {
		--hm-footer-logo-wide-height: 30px;
		--hm-footer-logo-standard-height: 38px;
		--hm-footer-logo-compact-height: 48px;
		--hm-footer-logo-vertical-height: 60px;
		--hm-footer-logo-max-width: 150px;
		--hm-footer-wordmark-size: 1.05em;
	}

	#footer .hm-footer-builders__list {
		display: grid;
		align-items: center;
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
		gap: 16px clamp(20px, 3vw, 32px);
	}

	#footer .hm-footer-builders__item {
		width: auto;
		min-width: 0;
	}

	#footer .hm-footer-partners-row[class*="hm-footer-partners-row--logos-"] .hm-footer-builders__item img {
		max-height: var(--hm-footer-logo-standard-height);
		max-width: min(var(--hm-footer-logo-max-width), 100%);
	}

	#footer .hm-footer-partners-row[class*="hm-footer-partners-row--logos-"] .hm-footer-builders__item .hm-footer-builders__logo--wide {
		max-height: var(--hm-footer-logo-wide-height);
		max-width: min(var(--hm-footer-logo-max-width), 92%);
	}

	#footer .hm-footer-partners-row[class*="hm-footer-partners-row--logos-"] .hm-footer-builders__item .hm-footer-builders__logo--compact {
		max-height: var(--hm-footer-logo-compact-height);
	}

	#footer .hm-footer-partners-row[class*="hm-footer-partners-row--logos-"] .hm-footer-builders__item .hm-footer-builders__logo--vertical {
		max-height: var(--hm-footer-logo-vertical-height);
	}

	#footer .hm-footer-partners-row[class*="hm-footer-partners-row--logos-"] .hm-footer-builders__wordmark {
		font-size: var(--hm-footer-wordmark-size);
		max-width: min(var(--hm-footer-logo-max-width), 100%);
	}

	#footer .hm-footer-partners-row--compact .hm-footer-builders__list {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	}
}

@media screen and (max-width: 768px) {
	#footer .hm-footer-builders__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 16px;
	}

	#footer .hm-footer-builders__item,
	#footer .hm-footer-partners-row--compact .hm-footer-builders__item {
		width: auto;
		max-width: none;
	}

	#footer .hm-footer-builders__item img,
	#footer .hm-footer-partners-row--compact .hm-footer-builders__item img {
		max-width: min(140px, 100%);
	}
}

/* Un volet du footer reste toujours sur une seule rangée, écran et impression. */
#footer .hm-footer-builders__list[data-footer-panel-list] {
	grid-template-columns: repeat(var(--hm-footer-panel-count), minmax(0, 1fr));
}

#footer .hm-footer-builders__list[data-footer-panel-list] > .hm-footer-builders__item:last-child:nth-child(odd) {
	grid-column: auto;
}

.hm-footer-partners-print {
	display: none;
}

#footer .hm-footer-builders h2 .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

@media print {
	#footer .hm-footer-partners-row--screen {
		display: none !important;
	}

	#footer:has(.hm-footer-partners-print) .hm-footer-partners-slider.is-ready {
		display: none !important;
	}

	#footer .hm-footer-partners-print {
		display: block !important;
	}

	#footer .hm-footer-partners-slider.is-ready {
		display: block !important;
		overflow: visible !important;
	}

	#footer .hm-footer-partners-slider.is-ready .hm-footer-partners-row,
	#footer .hm-footer-partners-slider.is-ready .hm-footer-partners-row.is-active,
	#footer .hm-footer-partners-slider.is-ready .hm-footer-partners-row.is-entering,
	#footer .hm-footer-partners-slider.is-ready .hm-footer-partners-row.is-leaving {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
	}

	#footer .hm-footer-partners-slider.is-ready .hm-footer-partners-row h2,
	#footer .hm-footer-partners-slider.is-ready .hm-footer-builders__list {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Page partenaires : répartit chaque ligne aussi équitablement que les volets du footer. */
.hm-partners-2026__grid--logos[data-partner-balanced-grid] {
	display: flex;
	flex-wrap: wrap;
}

.hm-partners-2026__grid--logos[data-partner-balanced-grid] > .hm-partners-2026__item {
	box-sizing: border-box;
	flex: 0 0 calc(100% / var(--hm-partners-row-columns));
}

@media screen and (max-width: 768px) {
	.hm-partners-2026__grid--logos[data-partner-balanced-grid] > .hm-partners-2026__item {
		flex-basis: calc(100% / var(--hm-partners-mobile-row-columns));
	}
}

@media print {
	body.hm-partners-page .hm-partners-2026__grid--logos[data-partner-balanced-grid] {
		display: flex !important;
		flex-wrap: wrap !important;
	}

	body.hm-partners-page .hm-partners-2026__grid--logos[data-partner-balanced-grid] > .hm-partners-2026__item {
		box-sizing: border-box !important;
		flex: 0 0 calc(100% / var(--hm-partners-row-columns)) !important;
	}

	body.hm-partners-page .hm-partners-2026__logo--hover {
		display: none !important;
	}
}

/* Échelle desktop commune des titres de section 2026 : réduction de 25 %. */
@media screen and (min-width: 769px) {
	.hm-page-base-2026__content h2 {
		font-size: clamp(1.5rem, 2.55vw, 2.4375rem);
	}

	.hm-partners-2026__heading,
	.hm-page-base-2026__content .hm-member-rates__title,
	.hm-page-base-2026__content .hm-member-benefits__title,
	.hm-archive-activites-page .hm-archive-activites-section-heading h2 {
		font-size: clamp(1.5rem, 2.4vw, 2.5875rem);
	}
}

/* Accueil 2026 — menu et hero mobiles renforcés. */
.hm-menu-panel__top {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
}

.hm-menu-panel__language {
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media screen and (max-width: 760px) {
	/* La langue quitte la barre d'outils et reste accessible dans le menu. */
	#header .hm-header-tools .language-switcher {
		display: none;
	}

	#header .hm-menu-panel__language {
		display: flex;
		align-items: center;
		margin-left: auto;
	}

	#header .hm-menu-panel__language li {
		display: block;
		margin: 0;
	}

	#header .hm-menu-panel__language a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 48px;
		height: 48px;
		padding: 0 10px;
		border: 2px solid var(--hm-primary, #0a0a0d);
		border-radius: 7px;
		background: transparent;
		color: var(--hm-primary, #0a0a0d) !important;
		font-family: "BrownStd-Bold", Arial, sans-serif;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: .08em;
		line-height: 1;
		text-decoration: none;
		text-transform: uppercase;
	}

	#header .hm-menu-panel__language a:hover,
	#header .hm-menu-panel__language a:focus-visible {
		background: var(--hm-primary, #0a0a0d);
		color: #fff !important;
	}

	/* Burger plus lisible : cible plus large et traits nettement dessinés. */
	#header #trigger-menu-mobile.hm-menu-trigger {
		flex-basis: 48px;
		width: 48px;
		height: 44px;
		border-width: 2px;
		border-radius: 8px;
	}

	#header #trigger-menu-mobile .hm-menu-trigger__icon {
		gap: 5px;
		width: 22px;
	}

	#header #trigger-menu-mobile .hm-menu-trigger__icon i {
		width: 22px;
		height: 2px;
	}

	.hm-menu-trigger.is-active .hm-menu-trigger__icon i:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.hm-menu-trigger.is-active .hm-menu-trigger__icon i:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	/* Marque plus présente, sans gêner les deux contrôles latéraux. */
	#header .hm-header-logo,
	#header .hm-header-logo img,
	body.hm-header-2026.isFrontPage #header.hm-site-header .hm-header-logo {
		width: 148px;
	}

	/* Actions du panneau et de la hero : angles plus francs et cibles agrandies. */
	#header .hm-menu-panel__action {
		min-height: 54px;
		padding: 12px 13px;
		border-width: 2px;
		border-radius: 7px;
		font-size: 13px;
	}

	body.isFrontPage #header .hm-home-hero__action,
	body.isFrontPage #header .hm-home-hero__action:first-child,
	body.isFrontPage #header .hm-home-hero__action:last-child {
		min-height: 72px;
		padding: 13px 14px;
		border-width: 2px;
		border-radius: 6px;
		font-size: clamp(13px, 3.65vw, 14.25px);
	}

	body.isFrontPage #header .hm-home-hero__action i {
		align-self: center;
		font-size: 22px;
	}

	/* Échelle mobile de la top bar : +15 %, catégorie en Brown gras. */
	.hm-special-banner__category {
		font-family: "BrownStd-Bold", Arial, sans-serif;
		font-size: 11.5px;
		font-weight: 700;
	}

	.hm-special-banner__text {
		font-size: 13.8px;
	}
}

@media screen and (max-width: 350px) {
	#header .hm-header-logo,
	#header .hm-header-logo img,
	body.hm-header-2026.isFrontPage #header.hm-site-header .hm-header-logo {
		width: 134px;
	}
}

