/* ------------------------------------------------------------ *\
	Biovancia v3 — Legal pages (Mentions légales, CGV, Confidentialité…)
	Narrow left text column + global FAQ. Tokens only (--bva-*),
	scoped to the shared .v3 body class. base.css styles the FAQ.
\* ------------------------------------------------------------ */

/* Header v3 is fixed (h=80); push the first heading to its maquette y. */
.v3 .legal-content {
	padding-top: 164px;
	padding-bottom: 120px;
}

.v3 .legal-content__inner {
	width: 100%;
	max-width: var(--bva-rail); /* same 1440 rail as header/footer */
	margin: 0 auto;
	padding: 0 40px;
}

.v3 .legal-content__col {
	max-width: 673px;
	margin-left: 115px; /* 40px padding + 115 = 155px maquette left edge @1440 */
}

.v3 .legal-content__title {
	font: var(--bva-t-header-l);
	color: var(--bva-black);
	margin: 0 0 64px;
}

.v3 .legal-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

/* Divider + 64px breathing room on each side, between consecutive blocks. */
.v3 .legal-block + .legal-block {
	margin-top: 64px;
	padding-top: 64px;
	border-top: 1px solid var(--bva-line);
}

.v3 .legal-block__heading {
	font: var(--bva-t-header-s);
	color: var(--bva-black);
	margin: 0;
}

.v3 .legal-block__body {
	font: var(--bva-t-paragraphe);
	color: var(--bva-black);
}
.v3 .legal-block__body p { margin: 0 0 12px; }
.v3 .legal-block__body p:last-child { margin-bottom: 0; }
.v3 .legal-block__body strong,
.v3 .legal-block__body b { font-weight: 600; }
.v3 .legal-block__body a { color: inherit; }

/* Plain text CTA with a full-width underline bar (Figma "CTA White"). */
.v3 .legal-block__cta {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-decoration: none;
}
.v3 .legal-block__cta span {
	font: 500 12px/1.1 var(--bva-font-sans);
	text-transform: uppercase;
	color: var(--bva-black);
}
.v3 .legal-block__cta::after {
	content: "";
	align-self: stretch;
	height: 1px;
	background: var(--bva-black);
}

/* ------------------------------------------------------------ *\
	Cookie-preferences link (opens the Didomi CMP, see legal.js).
	Rendered inside a legal-block body, so it inherits paragraph flow.
\* ------------------------------------------------------------ */
.v3 .legal-consent-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border: 1px solid var(--bva-black);
	border-radius: 999px;
	font: 500 13px/1 var(--bva-font-sans);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--bva-black);
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.v3 .legal-consent-link:hover {
	background: var(--bva-black);
	color: var(--bva-white);
}

/* ------------------------------------------------------------ *\
	Cookie declaration — full-width category tables (ISO V2 export).
	Breaks out of the 673px text column to fit the 5-column tables.
\* ------------------------------------------------------------ */
.v3 .legal-cookies-section {
	padding-bottom: 120px;
}

.v3 .legal-cookies-section__inner {
	width: 100%;
	max-width: var(--bva-rail);
	margin: 0 auto;
	padding: 0 40px;
}

.v3 .legal-cookies__title {
	font: var(--bva-t-header-m);
	color: var(--bva-black);
	margin: 0 0 48px;
}

.v3 .legal-cookies__cat + .legal-cookies__cat {
	margin-top: 56px;
}

.v3 .legal-cookies__cat-name {
	font: var(--bva-t-header-s);
	color: var(--bva-black);
	margin: 0 0 12px;
}

.v3 .legal-cookies__cat-intro {
	font: var(--bva-t-paragraphe);
	color: var(--bva-black);
	max-width: 860px;
	margin: 0 0 24px;
}

/* Horizontal scroll keeps the 5-column table from overflowing the page. */
.v3 .legal-cookies__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.v3 .legal-cookie-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	font: 300 14px/1.4 var(--bva-font-sans);
	color: var(--bva-black);
}
.v3 .legal-cookie-table th {
	background: var(--bva-black);
	color: var(--bva-white);
	font: 500 13px/1.3 var(--bva-font-sans);
	text-align: left;
	padding: 12px 14px;
	white-space: nowrap;
}
.v3 .legal-cookie-table td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--bva-line);
	vertical-align: top;
}
.v3 .legal-cookie-table tbody tr:nth-child(even) {
	background: var(--bva-canelle-100);
}
.v3 .legal-cookie-table a {
	color: var(--bva-canelle-400);
	text-decoration: underline;
}
/* Cookie name column: keep technical tokens on one line, monospace. */
.v3 .legal-cookie-table td:first-child {
	font-family: var(--bva-font-mono);
	font-size: 13px;
	white-space: nowrap;
}

@media (max-width: 860px) {
	.v3 .legal-content { padding-top: 120px; }
	.v3 .legal-content__col { max-width: 100%; margin-left: 0; }
	.v3 .legal-cookies-section__inner { padding: 0 20px; }
	.v3 .legal-cookies__title { margin-bottom: 32px; }
	.v3 .legal-cookies__cat + .legal-cookies__cat { margin-top: 40px; }
}
