/* Commpagnie — pages légales (mentions légales, politique de confidentialité)
   + plan du site. Hero bleu + panneau blanc arrondi, accordéon sobre. */

/* ---------------------------------------------------------------- HERO */
.lg-hero {
	position: relative;
	background: var(--cmp-primary);
	color: #fff;
	padding: clamp(140px, 16vw, 220px) 0 clamp(120px, 14vw, 200px);
	overflow: hidden;
}
.lg-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 1.125rem;
	line-height: 1.1;
	color: #fff;
}
.lg-hero__eyebrow::before {
	content: '';
	width: 60px;
	height: 1.5px;
	background: currentColor;
}
.lg-hero__title {
	margin: 0;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: clamp(2rem, 4.6vw, 3.4375rem);
	line-height: 1.05;
	max-width: 18ch;
}
.lg-hero__sub {
	margin: 22px 0 0;
	font-family: 'Manrope', sans-serif;
	font-weight: 600;
	font-size: 1.0625rem;
	color: rgba(255, 255, 255, 0.85);
}
/* Cercle décoratif. */
.lg-hero::after {
	content: '';
	position: absolute;
	right: -120px;
	top: 50%;
	transform: translateY(-50%);
	width: 460px;
	height: 460px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.18);
	pointer-events: none;
}

/* ------------------------------------------------------------- PANNEAU */
.lg-panel {
	position: relative;
	z-index: 2;
	background: var(--cmp-blanc, #fafafa);
	border-radius: clamp(40px, 6vw, 85px) clamp(40px, 6vw, 85px) 0 0;
	margin-top: clamp(-180px, -13vw, -110px);
	padding: clamp(48px, 6vw, 96px) 0 clamp(60px, 8vw, 120px);
}
.lg-panel__inner {
	max-width: 920px;
}
.lg-intro {
	margin: 0 0 clamp(28px, 4vw, 48px);
	font-family: 'Archivo', sans-serif;
	font-weight: 500;
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	line-height: 1.5;
	color: var(--cmp-ink, #242424);
}

/* ----------------------------------------------------------- ACCORDÉON */
.lg-acc {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.lg-acc__item {
	border: 1px solid rgba(36, 36, 36, 0.16);
	border-radius: 18px;
	background: #fff;
	transition: border-color .3s ease, box-shadow .3s ease;
}
.lg-acc__item.is-open {
	border-color: var(--cmp-primary);
	box-shadow: 0 18px 50px -32px rgba(58, 49, 255, 0.55);
}
.lg-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	margin: 0;
	padding: clamp(18px, 2.4vw, 26px) clamp(20px, 3vw, 34px);
	background: none;
	border: 0;
	text-align: left;
	cursor: pointer;
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	font-size: clamp(1.0625rem, 1.6vw, 1.35rem);
	line-height: 1.25;
	color: var(--cmp-ink, #242424);
}
.lg-acc__item.is-open .lg-acc__head { color: var(--cmp-primary); }
.lg-acc__head:focus-visible { outline: 2px solid var(--cmp-primary); outline-offset: 3px; border-radius: 12px; }
/* Icône +/− */
.lg-acc__ico {
	position: relative;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1.5px solid rgba(36, 36, 36, 0.45);
	transition: background-color .3s ease, border-color .3s ease;
}
.lg-acc__ico::before,
.lg-acc__ico::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13px;
	height: 1.8px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: opacity .3s ease, transform .3s ease;
}
.lg-acc__ico::after { transform: translate(-50%, -50%) rotate(90deg); }
.lg-acc__item.is-open .lg-acc__ico {
	background: var(--cmp-primary);
	border-color: var(--cmp-primary);
	color: #fff;
}
.lg-acc__item.is-open .lg-acc__ico::after { opacity: 0; }
/* Ascenseur : grid-template-rows 0fr → 1fr (hauteur fluide). */
.lg-acc__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .35s ease;
}
.lg-acc__item.is-open .lg-acc__panel { grid-template-rows: 1fr; }
.lg-acc__panel-in {
	overflow: hidden;
}
.lg-acc__body {
	padding: 0 clamp(20px, 3vw, 34px) clamp(22px, 2.6vw, 30px);
	font-family: 'Manrope', sans-serif;
	font-weight: 500;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--cmp-grey, #6c6c6c);
}

/* ----------------------------------------------------- RICH TEXT (RTE) */
.lg-rte p { margin: 0 0 1em; }
.lg-rte p:last-child { margin-bottom: 0; }
.lg-rte strong, .lg-rte b { color: var(--cmp-ink, #242424); font-weight: 700; }
.lg-rte a {
	color: var(--cmp-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.lg-rte ul, .lg-rte ol { margin: 0 0 1em; padding-left: 1.4em; }
.lg-rte li { margin: 0 0 .5em; }
.lg-rte ul ul, .lg-rte ol ol, .lg-rte ul ol, .lg-rte ol ul { margin: .5em 0 0; }
.lg-rte i, .lg-rte em { color: var(--cmp-ink, #242424); font-style: italic; }

/* --------------------------------------------------------- PLAN DU SITE */
.lg-sitemap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(24px, 3vw, 40px);
}
.lg-smcol {
	border: 1px solid rgba(36, 36, 36, 0.14);
	border-radius: 20px;
	padding: clamp(24px, 3vw, 34px);
	background: #fff;
}
.lg-smcol__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--cmp-ink, #242424);
}
.lg-smcol__title::before {
	content: '';
	width: 26px;
	height: 2px;
	background: var(--cmp-primary);
}
.lg-smlist { list-style: none; margin: 0; padding: 0; }
.lg-smlist li { margin: 0 0 12px; }
.lg-smlist li:last-child { margin-bottom: 0; }
.lg-smlist a {
	font-family: 'Manrope', sans-serif;
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--cmp-ink, #242424);
	text-decoration: none;
	transition: color .2s ease, padding-left .2s ease;
}
.lg-smlist a:hover { color: var(--cmp-primary); padding-left: 4px; }
.lg-smlist--sub { margin-top: 10px; padding-left: 16px; border-left: 2px solid rgba(36, 36, 36, 0.1); }
.lg-smlist--sub a { font-weight: 500; font-size: 1rem; color: var(--cmp-grey, #6c6c6c); }

@media (max-width: 720px) {
	.lg-hero::after { right: -200px; width: 320px; height: 320px; }
}
