/* Menu principal France Reno : barre, volets visuels, menu mobile */

.frm { display: flex; align-items: center; font-size: 17px; font-weight: 500; }
.frm-svg { display: block; flex: 0 0 auto; }

/* Barre */
.frm-barre { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 6px; }
.frm-item { margin: 0; }
.frm-haut {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	padding: 0 16px;
	border-radius: var(--fr-r, 8px);
	color: var(--fr-encre, #242324);
	text-decoration: none;
	transition: background-color 0.2s ease;
}
.frm-haut:hover, .frm-haut.est-ouvert { background: var(--fr-pierre, #F7F2E9); color: var(--fr-encre, #242324); }
.frm-haut .frm-svg { transition: transform 0.2s ease; }
.frm-haut.est-ouvert .frm-svg { transform: rotate(180deg); }
.frm-burger { display: none; }

/* Volets */
.frm-volet {
	position: absolute;
	top: calc(100% + 4px);
	z-index: 60;
	background: #fff;
	border-radius: var(--fr-r-l, 12px);
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(36, 35, 36, 0.06), 0 36px 64px -28px rgba(36, 35, 36, 0.42);
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.18s ease, transform 0.18s ease;
	font-size: 16px;
	font-weight: 400;
}
.frm-volet.est-ouvert { opacity: 1; transform: none; }
.frm-volet[hidden] { display: none; }
.frm-volet--large {
	left: max(var(--fr-marge, 72px), calc((100% - 1360px) / 2 + var(--fr-marge, 72px)));
	right: max(var(--fr-marge, 72px), calc((100% - 1360px) / 2 + var(--fr-marge, 72px)));
}
.frm-volet--pile {
	right: max(var(--fr-marge, 72px), calc((100% - 1360px) / 2 + var(--fr-marge, 72px)));
	width: min(880px, calc(100% - 2 * var(--fr-marge, 72px)));
}

/* Volet Références */
.frm-large { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 28px; padding: 24px 24px 28px; }
.frm-large-tete { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding: 4px 12px 16px; }
.frm-large-titre { margin: 0; font-family: var(--fr-serif, Georgia, serif); font-weight: 600; font-size: 30px; line-height: 1.1; }
.frm-large-sous { margin: 0; font-size: 15px; line-height: 1.4; color: var(--fr-gris, #5C5A5B); text-align: right; }
.frm-marches { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; }
.frm-marches li { margin: 0; }
.frm-marche {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 12px;
	border-radius: var(--fr-r, 8px);
	color: var(--fr-encre, #242324);
	text-decoration: none;
	transition: background-color 0.2s ease;
}
.frm-marche:hover, .frm-marche.est-actif { background: var(--fr-pierre, #F7F2E9); color: var(--fr-encre, #242324); }
.frm-vignette { display: block; width: 64px; height: 64px; flex: 0 0 auto; object-fit: cover; border-radius: var(--fr-r-s, 6px); background: var(--fr-trait, #ECE5D9); }
.frm-vignette--ico { display: flex; align-items: center; justify-content: center; background: var(--fr-pierre, #F7F2E9); transition: background-color 0.2s ease; }
.frm-marche:hover .frm-vignette--ico, .frm-marche.est-actif .frm-vignette--ico { background: var(--fr-or, #F8CC58); }
.frm-marche-texte { display: flex; flex-direction: column; gap: 5px; min-width: 0; flex: 1 1 auto; }
.frm-marche-titre { font-family: var(--fr-serif, Georgia, serif); font-weight: 600; font-size: 21px; line-height: 1.15; }
.frm-marche-court { font-size: 14px; line-height: 1.4; color: var(--fr-gris, #5C5A5B); }
.frm-fleche { display: flex; margin-right: 4px; opacity: 0; transform: translateX(-6px); transition: opacity 0.2s ease, transform 0.2s ease; }
.frm-marche:hover .frm-fleche, .frm-marche.est-actif .frm-fleche { opacity: 1; transform: none; }

.frm-apercus { display: flex; min-height: 368px; }
.frm-apercu {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 20px;
	border-radius: var(--fr-r, 8px);
	background: var(--fr-pierre, #F7F2E9);
	color: var(--fr-encre, #242324);
	text-decoration: none;
}
.frm-apercu:hover { color: var(--fr-encre, #242324); }
.frm-apercu[hidden] { display: none; }
.frm-apercu-visuel { display: block; height: 184px; overflow: hidden; border-radius: var(--fr-r-s, 6px); background: var(--fr-trait, #ECE5D9); }
.frm-apercu-visuel img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.frm-apercu:hover .frm-apercu-visuel img { transform: scale(1.03); }
.frm-apercu-visuel--logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px 32px; padding: 0 16px; background: #fff; }
.frm-apercu-tete { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.frm-apercu-titre { font-family: var(--fr-serif, Georgia, serif); font-weight: 600; font-size: 25px; line-height: 1.1; }
.frm-apercu-compte { font-size: 13px; font-weight: 500; white-space: nowrap; }
.frm-apercu-texte { margin-top: -10px; font-size: 14px; line-height: 1.5; color: var(--fr-gris, #5C5A5B); }
.frm-apercu-logos { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }

/* Pied des volets */
.frm-pied { display: flex; padding: 0 24px; background: var(--fr-pierre, #F7F2E9); }
.frm-volet--pile .frm-pied { padding: 0; }
.frm-pied a {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 64px;
	color: var(--fr-encre, #242324);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	transition: background-color 0.2s ease;
}
.frm-pied a:hover { background: var(--fr-pierre-fort, #EFE7D8); color: var(--fr-encre, #242324); }
.frm-sep { flex: 0 0 1px; width: 1px; margin: 18px 0; background: var(--fr-trait-fort, #DCD2C1); }

/* Volets Savoir-faire et L'entreprise */
.frm-pile { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 12px; padding: 12px; }
.frm-lignes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.frm-lignes li { margin: 0; }
.frm-ligne {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 16px;
	border-radius: var(--fr-r, 8px);
	color: var(--fr-encre, #242324);
	text-decoration: none;
	transition: background-color 0.2s ease;
}
.frm-ligne:hover { background: var(--fr-pierre, #F7F2E9); color: var(--fr-encre, #242324); }
.frm-ico { width: 48px; height: 48px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: var(--fr-r-s, 6px); background: var(--fr-pierre, #F7F2E9); transition: background-color 0.2s ease; }
.frm-ligne:hover .frm-ico { background: var(--fr-or, #F8CC58); }
.frm-ligne-texte { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding-top: 2px; }
.frm-ligne-titre { font-family: var(--fr-serif, Georgia, serif); font-weight: 600; font-size: 20px; line-height: 1.15; }
.frm-ligne-court { font-size: 14px; line-height: 1.45; color: var(--fr-gris, #5C5A5B); }
.frm-cote {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 22px;
	border-radius: var(--fr-r, 8px);
	background: var(--fr-pierre, #F7F2E9);
	color: var(--fr-encre, #242324);
	text-decoration: none;
}
.frm-cote:hover { color: var(--fr-encre, #242324); }
.frm-cote-coupe { display: block; padding: 14px 12px; border-radius: var(--fr-r-s, 6px); background: #fff; }
.frm-coupe { display: block; width: 100%; height: auto; font-family: var(--fr-sans, sans-serif); }
.frm-cote-titre { font-family: var(--fr-serif, Georgia, serif); font-weight: 600; font-size: 22px; line-height: 1.15; }
.frm-cote-texte { font-size: 14px; line-height: 1.5; color: var(--fr-gris, #5C5A5B); }
.frm-cote-annee { font-family: var(--fr-serif, Georgia, serif); font-weight: 600; font-size: 64px; line-height: 0.9; font-variant-numeric: lining-nums; }
/* Volet Savoir-faire : le titre sécurité, puis le zéro accident */
.frm-cote--securite { gap: 18px; }
.frm-cote--securite .frm-cote-titre { font-size: clamp(28px, 2.3vw, 34px); line-height: 1.08; text-wrap: balance; }
.frm-cote-zero { display: flex; align-items: center; gap: 18px; padding: 18px 0; border-top: 1px solid var(--fr-trait-pierre, #D6CAB6); border-bottom: 1px solid var(--fr-trait-pierre, #D6CAB6); }
.frm-cote-zero .frm-cote-annee { font-size: 72px; line-height: 0.85; }
.frm-cote-zero-texte { font-size: 17px; font-weight: 500; line-height: 1.35; }
.frm-portraits { display: flex; align-items: center; margin-top: auto; }
.frm-portrait { display: block; width: 52px; height: 52px; margin-left: -14px; border-radius: 50%; object-fit: cover; border: 3px solid var(--fr-pierre, #F7F2E9); background: var(--fr-trait, #ECE5D9); }
.frm-portrait:first-child { margin-left: 0; }
.frm-cote-legende { font-size: 14px; line-height: 1.45; }

/* Voile derrière les volets ouverts */
.frm-voile { position: fixed; inset: 0; z-index: 40; background: rgba(52, 44, 30, 0.34); opacity: 0; transition: opacity 0.2s ease; }
.frm-voile.est-ouvert { opacity: 1; }
.frm-voile[hidden] { display: none; }

/* Menu mobile */
.frm-mobile { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; background: #fff; font-size: 16px; line-height: 1.55; font-weight: 400; }
.frm-mobile[hidden] { display: none; }
.admin-bar .frm-mobile { top: var(--wp-admin--admin-bar--height, 32px); }
.frm-mobile-tete { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; height: 76px; padding: 0 var(--fr-marge, 20px); }
.frm-mobile-logo img { display: block; width: auto; height: 40px; }
.frm-fermer { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--fr-trait-fort, #DCD2C1); border-radius: var(--fr-r-s, 6px); background: #fff; color: var(--fr-encre, #242324); cursor: pointer; }
.frm-mobile-corps { display: flex; flex-direction: column; padding: 8px var(--fr-marge, 20px) 28px; }
.frm-acc-btn, .frm-acc-lien {
	width: 100%;
	display: flex;
	align-items: center;
	padding: 14px 0;
	border: 0;
	background: transparent;
	color: var(--fr-encre, #242324);
	font-family: var(--fr-serif, Georgia, serif);
	font-weight: 600;
	font-size: 32px;
	line-height: 1.1;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.frm-acc-libelle { flex: 1 1 auto; }
.frm-acc-chev { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: var(--fr-r-s, 6px); background: var(--fr-pierre, #F7F2E9); transition: background-color 0.2s ease; }
.frm-acc-chev .frm-svg { transition: transform 0.2s ease; }
.frm-acc-btn[aria-expanded="true"] .frm-acc-chev { background: var(--fr-or, #F8CC58); }
.frm-acc-btn[aria-expanded="true"] .frm-acc-chev .frm-svg { transform: rotate(180deg); }
.frm-acc-panneau { padding: 4px 0 22px; }
.frm-acc-panneau[hidden] { display: none; }
.frm-mobile .frm-lignes { gap: 0; }
.frm-mobile .frm-ligne { align-items: center; gap: 14px; padding: 10px 0; }
.frm-mobile .frm-ligne:hover { background: transparent; }
.frm-mobile .frm-ico { width: 44px; height: 44px; }
.frm-mobile .frm-ligne-titre { font-family: var(--fr-sans, sans-serif); font-size: 16px; line-height: 1.3; }
.frm-cartes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
.frm-cartes li { margin: 0; }
.frm-carte { display: flex; flex-direction: column; gap: 10px; color: var(--fr-encre, #242324); text-decoration: none; }
.frm-carte-visuel { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--fr-r, 8px); background: var(--fr-trait, #ECE5D9); }
.frm-carte-visuel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.frm-carte-ico { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--fr-pierre, #F7F2E9); }
.frm-carte-ico .frm-svg { box-sizing: content-box; padding: 13px; border-radius: var(--fr-r-s, 6px); background: var(--fr-or, #F8CC58); }
.frm-carte-titre { font-family: var(--fr-serif, Georgia, serif); font-weight: 600; font-size: 18px; line-height: 1.15; }
.frm-carte-compte { margin-top: -6px; font-size: 13px; color: var(--fr-gris, #5C5A5B); }
.frm-tout { display: flex; align-items: center; justify-content: space-between; height: 52px; margin-top: 22px; padding: 0 16px; border-radius: var(--fr-r, 8px); background: var(--fr-pierre, #F7F2E9); color: var(--fr-encre, #242324); text-decoration: none; font-size: 15px; font-weight: 500; }
.frm-mobile-pied { margin-top: auto; display: flex; flex-direction: column; gap: 16px; padding: 28px var(--fr-marge, 20px) 32px; background: var(--fr-pierre, #F7F2E9); font-size: 15px; }
.frm-mobile-pied p { margin: 0; }
.frm-mobile-pied .fr-badge { align-self: flex-start; }
body.frm-bloque { overflow: hidden; }

@media (max-width: 1080px) {
	.frm-barre, .frm-volet, .frm-voile { display: none !important; }
	.frm-burger {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		height: 44px;
		padding: 0 16px;
		border: 1px solid var(--fr-trait-fort, #DCD2C1);
		border-radius: var(--fr-r-s, 6px);
		background: #fff;
		color: var(--fr-encre, #242324);
		font: inherit;
		font-weight: 500;
		cursor: pointer;
	}
}
@media (min-width: 1081px) and (max-width: 1240px) {
	.frm { font-size: 16px; }
	.frm-haut { padding: 0 12px; }
	.frm-marche-titre { font-size: 19px; }
	.frm-large-sous { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.frm-volet, .frm-voile, .frm-haut .frm-svg, .frm-apercu-visuel img, .frm-fleche { transition: none; }
}


/* Logo plus grand (version 1.9.0). */
.fr-header .fr-logo img { width: 172px; }
@media (max-width: 600px) { .fr-header .fr-logo img { width: 146px; } }
.frm-mobile-logo img { height: 50px; }
