/*
 * Le troisième interlocuteur — interface éditoriale V14.3.5
 * Aucune police, bibliothèque ou ressource externe n'est requise.
 */

:root {
	--lti-night: #081a2b;
	--lti-night-2: #0b243b;
	--lti-ink: #12283d;
	--lti-ink-soft: #40566b;
	--lti-paper: #f6f3ec;
	--lti-paper-2: #eee9df;
	--lti-surface: #ffffff;
	--lti-surface-soft: #fbfaf6;
	--lti-line: #d8dfe4;
	--lti-line-strong: #aebbc5;
	--lti-cobalt: #2d68df;
	--lti-cobalt-dark: #174bb1;
	--lti-cyan: #61d1e3;
	--lti-teal: #167f80;
	--lti-teal-dark: #0e6667;
	--lti-gold: #d7aa4a;
	--lti-access: #b94a36;
	--lti-access-soft: #f9e5df;
	--lti-panorama: #3478aa;
	--lti-panorama-soft: #e2eef7;
	--lti-focus: #7656a7;
	--lti-focus-soft: #ece5f7;
	--lti-danger: #a53030;
	--lti-success: #237349;
	--lti-shadow-soft: 0 18px 50px rgba(6, 24, 39, 0.12);
	--lti-shadow-card: 0 12px 32px rgba(6, 24, 39, 0.10);
	--lti-shadow-book: 0 28px 50px rgba(1, 13, 25, 0.35);
	--lti-radius-sm: 0.55rem;
	--lti-radius-md: 0.9rem;
	--lti-radius-lg: 1.5rem;
	--lti-radius-xl: 2rem;
	--lti-pill: 999px;
	--lti-container: 76rem;
	--lti-container-wide: 88rem;
	--lti-header-height: 5.2rem;
	--lti-collection-subnav-height: 4.1rem;
	--lti-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--lti-font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
	--lti-font-scale: 1;
	--lti-text-spacing: normal;
	--lti-focus-ring: 0 0 0 3px rgba(97, 209, 227, 0.5), 0 0 0 6px rgba(8, 26, 43, 0.8);
	--lti-transition: 180ms ease;
	color-scheme: light;
}

html[data-font-scale="large"] {
	--lti-font-scale: 1.12;
}

html[data-spacing="wide"] {
	--lti-text-spacing: 0.035em;
}

html[data-contrast="high"] {
	--lti-ink-soft: #20384e;
	--lti-line: #8293a1;
	--lti-cobalt: #184fae;
	--lti-teal: #085f60;
}

html[data-theme="dark"] {
	--lti-night: #050f19;
	--lti-night-2: #0b1c2b;
	--lti-ink: #edf3f6;
	--lti-ink-soft: #b9c8d2;
	--lti-paper: #081723;
	--lti-paper-2: #0c1d2b;
	--lti-surface: #102434;
	--lti-surface-soft: #0d202e;
	--lti-line: #2e4556;
	--lti-line-strong: #60798a;
	--lti-cobalt: #78a5ff;
	--lti-cobalt-dark: #a9c3ff;
	--lti-cyan: #75ddec;
	--lti-teal: #6fd0cf;
	--lti-teal-dark: #99e1df;
	--lti-access-soft: #422923;
	--lti-panorama-soft: #17344a;
	--lti-focus-soft: #302641;
	--lti-shadow-soft: 0 18px 50px rgba(0, 0, 0, 0.32);
	--lti-shadow-card: 0 12px 32px rgba(0, 0, 0, 0.24);
	color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] {
		--lti-night: #050f19;
		--lti-night-2: #0b1c2b;
		--lti-ink: #edf3f6;
		--lti-ink-soft: #b9c8d2;
		--lti-paper: #081723;
		--lti-paper-2: #0c1d2b;
		--lti-surface: #102434;
		--lti-surface-soft: #0d202e;
		--lti-line: #2e4556;
		--lti-line-strong: #60798a;
		--lti-cobalt: #78a5ff;
		--lti-cobalt-dark: #a9c3ff;
		--lti-cyan: #75ddec;
		--lti-teal: #6fd0cf;
		--lti-teal-dark: #99e1df;
		--lti-access-soft: #422923;
		--lti-panorama-soft: #17344a;
		--lti-focus-soft: #302641;
		--lti-shadow-soft: 0 18px 50px rgba(0, 0, 0, 0.32);
		--lti-shadow-card: 0 12px 32px rgba(0, 0, 0, 0.24);
		color-scheme: dark;
	}
}

html[data-contrast="high"][data-theme="dark"] {
	--lti-ink: #ffffff;
	--lti-ink-soft: #dce7ed;
	--lti-line: #7790a0;
	--lti-cobalt: #a6c2ff;
	--lti-teal: #a7f0ed;
}

@media (prefers-color-scheme: dark) {
	html[data-contrast="high"][data-theme="system"] {
		--lti-ink: #ffffff;
		--lti-ink-soft: #dce7ed;
		--lti-line: #7790a0;
		--lti-cobalt: #a6c2ff;
		--lti-teal: #a7f0ed;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: calc(100% * var(--lti-font-scale));
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 1.5rem);
	background: var(--lti-paper);
}

html[data-motion="reduce"] {
	scroll-behavior: auto;
}

body {
	margin: 0;
	min-width: 20rem;
	background: var(--lti-paper);
	color: var(--lti-ink);
	font-family: var(--lti-font-sans);
	font-size: 1rem;
	line-height: 1.65;
	letter-spacing: var(--lti-text-spacing);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.nav-open,
body.dialog-open {
	overflow: hidden;
}

img,
picture,
svg,
video,
canvas {
	max-width: 100%;
	height: auto;
}

svg {
	width: 1.25em;
	height: 1.25em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

button,
input,
select,
textarea {
	font: inherit;
	letter-spacing: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

a {
	color: var(--lti-teal);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--lti-cobalt-dark);
}

:focus-visible {
	outline: none;
	box-shadow: var(--lti-focus-ring);
}

::selection {
	background: var(--lti-cyan);
	color: #061521;
}

[hidden] {
	display: none !important;
}

.sr-only,
.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.skip-link {
	position: fixed;
	z-index: 10000;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: var(--lti-radius-sm);
	background: #fff;
	color: #071927;
	font-weight: 800;
	transform: translateY(-160%);
	transition: transform var(--lti-transition);
}

.skip-link:focus {
	transform: translateY(0);
}

.container {
	width: min(calc(100% - 2rem), var(--lti-container));
	margin-inline: auto;
}

.container--wide {
	width: min(calc(100% - 2rem), var(--lti-container-wide));
}

.site-main {
	min-height: 55vh;
	overflow: clip;
}

.section {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.section-heading {
	max-width: 52rem;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.section-heading--split {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	max-width: none;
}

.section-heading--split > div {
	max-width: 48rem;
}

.section-heading--center {
	margin-inline: auto;
	text-align: center;
}

.section-heading h2,
.archive-header h1,
.entry-header h1,
.not-found h1 {
	margin: 0 0 0.9rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(2.2rem, 4.8vw, 4.5rem);
	line-height: 1.06;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.section-heading p,
.archive-header p,
.entry-lead {
	margin: 0;
	color: var(--lti-ink-soft);
	font-size: clamp(1.04rem, 1.5vw, 1.25rem);
}

.eyebrow {
	margin: 0 0 0.75rem !important;
	color: var(--lti-teal) !important;
	font-family: var(--lti-font-sans);
	font-size: 0.76rem !important;
	font-weight: 850;
	letter-spacing: 0.14em !important;
	line-height: 1.3;
	text-transform: uppercase;
}

/* Buttons and controls */
.button,
button.button,
input[type="submit"],
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 2.85rem;
	padding: 0.72rem 1.2rem;
	border: 1px solid var(--lti-night);
	border-radius: var(--lti-pill);
	background: var(--lti-night);
	color: #fff;
	font-weight: 780;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--lti-transition), background var(--lti-transition), border-color var(--lti-transition), color var(--lti-transition), box-shadow var(--lti-transition);
}

.button:hover,
button.button:hover,
input[type="submit"]:hover,
.wp-element-button:hover {
	background: var(--lti-cobalt-dark);
	border-color: var(--lti-cobalt-dark);
	color: #fff;
	transform: translateY(-1px);
}

/* En thème sombre, --lti-cobalt-dark est volontairement clair pour les liens.
 * Les boutons génériques gardent donc un bleu plus profond au survol afin de
 * conserver un contraste AA avec leur texte blanc. */
html[data-theme="dark"] .button:not(.button--accent):not(.button--secondary):not(.button--ghost):not(.button--ghost-on-dark):hover,
html[data-theme="dark"] input[type="submit"]:hover,
html[data-theme="dark"] .wp-element-button:hover {
	background: #315fba;
	border-color: #315fba;
	color: #fff;
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] .button:not(.button--accent):not(.button--secondary):not(.button--ghost):not(.button--ghost-on-dark):hover,
	html[data-theme="system"] input[type="submit"]:hover,
	html[data-theme="system"] .wp-element-button:hover {
		background: #315fba;
		border-color: #315fba;
		color: #fff;
	}
}

.button svg {
	width: 1.05rem;
	height: 1.05rem;
}

.button--accent {
	background: var(--lti-cyan);
	border-color: var(--lti-cyan);
	color: #071927;
}

.button--accent:hover {
	background: #fff;
	border-color: #fff;
	color: #071927;
}

.button--secondary {
	background: var(--lti-cobalt);
	border-color: var(--lti-cobalt);
}

html[data-theme="dark"] .button--secondary,
html[data-theme="dark"] .button--secondary:hover,
html[data-theme="dark"] .icon-button[aria-pressed="true"] {
	color: #071927;
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] .button--secondary,
	html[data-theme="system"] .button--secondary:hover,
	html[data-theme="system"] .icon-button[aria-pressed="true"] {
		color: #071927;
	}
}

.button--ghost {
	background: transparent;
	border-color: var(--lti-line-strong);
	color: var(--lti-ink);
}

.button--ghost:hover {
	background: var(--lti-surface);
	border-color: var(--lti-teal);
	color: var(--lti-teal-dark);
}

.button--ghost-on-dark {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.34);
	color: #fff;
}

.button--ghost-on-dark:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: #fff;
	color: #fff;
}

.button--full {
	width: 100%;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--lti-teal);
	font-weight: 780;
	text-decoration: none;
	cursor: pointer;
}

.text-link svg {
	width: 1rem;
	height: 1rem;
	transition: transform var(--lti-transition);
}

.text-link:hover {
	color: var(--lti-cobalt-dark);
}

.text-link:hover svg {
	transform: translateX(0.2rem);
}

.text-link--large {
	font-size: 1.03rem;
	white-space: nowrap;
}

.icon-button {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--lti-transition), border-color var(--lti-transition), color var(--lti-transition), transform var(--lti-transition);
}

.icon-button:hover {
	background: rgba(45, 104, 223, 0.10);
	border-color: rgba(45, 104, 223, 0.18);
	color: var(--lti-cobalt-dark);
}

.icon-button[aria-pressed="true"] {
	background: var(--lti-cobalt);
	color: #fff;
}

.tool-count,
.cart-count {
	position: absolute;
	top: 0.08rem;
	right: -0.05rem;
	display: grid;
	place-items: center;
	min-width: 1.1rem;
	height: 1.1rem;
	padding-inline: 0.25rem;
	border: 2px solid var(--lti-surface);
	border-radius: var(--lti-pill);
	background: var(--lti-access);
	color: #fff;
	font-size: 0.63rem;
	font-weight: 850;
	line-height: 1;
}

.icon-flip {
	display: inline-flex;
	transform: rotate(180deg);
}

/* Header */
.site-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	min-height: var(--lti-header-height);
	border-bottom: 1px solid transparent;
	background: color-mix(in srgb, var(--lti-surface) 88%, transparent);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	transition: box-shadow var(--lti-transition), border-color var(--lti-transition), background var(--lti-transition);
}

.site-header.is-scrolled {
	border-color: var(--lti-line);
	box-shadow: 0 8px 24px rgba(5, 20, 33, 0.08);
}

.site-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 1.6rem);
	min-height: var(--lti-header-height);
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	color: var(--lti-ink);
	text-decoration: none;
}

.site-brand:hover {
	color: var(--lti-ink);
}

.site-brand__mark {
	display: grid;
	place-items: center;
	width: 2.8rem;
	height: 2.8rem;
	flex: 0 0 auto;
}

.site-brand__logo,
.site-brand__mark > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}


.site-brand__text {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.site-brand__eyebrow {
	margin-bottom: 0.25rem;
	color: var(--lti-cobalt);
	font-size: 0.59rem;
	font-weight: 900;
	letter-spacing: 0.19em;
}

.site-brand__name {
	font-family: var(--lti-font-serif);
	font-size: clamp(1rem, 1.6vw, 1.28rem);
	font-weight: 750;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.site-brand__tagline {
	margin-top: 0.38rem;
	color: currentColor;
	font-size: 0.62rem;
	font-weight: 760;
	letter-spacing: 0.18em;
	line-height: 1.25;
	opacity: 0.72;
	text-transform: uppercase;
}

.primary-navigation {
	justify-self: center;
}

.primary-menu,
.footer-menu,
.legal-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: 0.15rem;
}

.primary-menu a {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.55rem 0.72rem;
	border-radius: var(--lti-pill);
	color: var(--lti-ink);
	font-size: 0.9rem;
	font-weight: 680;
	text-decoration: none;
	transition: background var(--lti-transition), color var(--lti-transition);
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
	background: rgba(45, 104, 223, 0.10);
	color: var(--lti-cobalt-dark);
}

.primary-menu .menu-item-has-children {
	position: relative;
}

.primary-menu .sub-menu {
	position: absolute;
	top: calc(100% + 0.4rem);
	left: 0;
	z-index: 20;
	width: max-content;
	min-width: 14rem;
	margin: 0;
	padding: 0.55rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-card);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-0.35rem);
	transition: opacity var(--lti-transition), transform var(--lti-transition), visibility var(--lti-transition);
}

.primary-menu .menu-item-has-children:hover > .sub-menu,
.primary-menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.site-header__tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.05rem;
}

.market-switcher,
.language-switcher {
	display: flex;
	align-items: center;
	gap: 0.3rem;
	margin-right: 0.3rem;
	padding: 0.32rem 0.55rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: var(--lti-surface-soft);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.03em;
}

.market-switcher a,
.language-switcher a {
	color: var(--lti-ink-soft);
	text-decoration: none;
}

.market-switcher a:hover,
.market-switcher a[aria-current="true"],
.language-switcher a:hover,
.language-switcher a[aria-current="page"] {
	color: var(--lti-cobalt-dark);
}

.nav-toggle {
	display: none;
	justify-self: end;
}

.nav-toggle__close {
	display: none;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__open {
	display: none;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__close {
	display: inline-flex;
}

/* Hero */
.hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 20%, rgba(97, 209, 227, 0.20), transparent 30%),
		radial-gradient(circle at 20% 80%, rgba(45, 104, 223, 0.22), transparent 36%),
		linear-gradient(135deg, #061522 0%, #0b2944 54%, #102d48 100%);
	color: #f8fbfc;
}

.hero::before,
.hero::after,
.hero__ambient::before,
.hero__ambient::after {
	position: absolute;
	z-index: -1;
	content: "";
	pointer-events: none;
}

.hero::before {
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 4rem 4rem;
	mask-image: linear-gradient(to bottom, black, transparent 92%);
}

.hero::after {
	width: 28rem;
	height: 28rem;
	top: -14rem;
	right: -8rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgba(255, 255, 255, 0.016), 0 0 0 10rem rgba(255, 255, 255, 0.012);
}

.hero__ambient::before {
	width: 0.7rem;
	height: 0.7rem;
	top: 28%;
	left: 54%;
	border-radius: 50%;
	background: var(--lti-cyan);
	box-shadow:
		8rem -6rem 0 -0.12rem rgba(97, 209, 227, 0.65),
		13rem 6rem 0 -0.18rem rgba(255, 255, 255, 0.65),
		-4rem 12rem 0 -0.18rem rgba(45, 104, 223, 0.85),
		19rem 15rem 0 -0.1rem rgba(215, 170, 74, 0.8);
}

.hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(30rem, 1.08fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 6rem);
	min-height: min(52rem, calc(100svh - var(--lti-header-height) - var(--lti-collection-subnav-height)));
	padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.hero__content {
	position: relative;
	z-index: 5;
	max-width: 43rem;
}

.hero__brand {
	margin-bottom: 2rem;
}

.hero .site-brand {
	color: #fff;
}

.hero .site-brand__mark {
	width: 3.5rem;
	height: 3.5rem;
}

.hero .site-brand__name {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.hero__kicker {
	margin: 0 0 1rem;
	color: var(--lti-cyan);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.hero__title {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(3.35rem, 7vw, 7rem);
	font-weight: 620;
	letter-spacing: -0.055em;
	line-height: 0.93;
	text-wrap: balance;
}

.hero__title span,
.hero__title strong {
	display: block;
}

.hero__title strong {
	margin-top: 0.18em;
	color: var(--lti-cyan);
	font-weight: 760;
}

.hero__intro {
	max-width: 40rem;
	margin: 1.8rem 0 0;
	color: rgba(248, 251, 252, 0.80);
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.65;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 2rem;
}

.hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin: 2rem 0 0;
	padding: 0;
	color: rgba(248, 251, 252, 0.78);
	font-size: 0.85rem;
	font-weight: 650;
	list-style: none;
}

.hero__proof li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.hero__proof svg {
	color: var(--lti-cyan);
	width: 1rem;
	height: 1rem;
}

.hero__visual {
	position: relative;
	z-index: 3;
	min-height: 36rem;
	perspective: 1500px;
}

.hero-covers {
	position: absolute;
	inset: 0;
}

.hero-cover {
	position: absolute;
	display: block;
	color: #fff;
	text-decoration: none;
	transform-style: preserve-3d;
	transition: transform 320ms ease, filter 320ms ease, z-index 0ms 160ms;
}

.hero-cover:hover {
	color: #fff;
	filter: brightness(1.06);
	z-index: 10;
	transition-delay: 0ms;
}

/* Livres 1 et 8 rapprochés ; Livre 2 conservé comme point focal à droite. */
.hero-cover--book-1 {
	left: 1%;
	top: 20%;
	z-index: 3;
	width: min(31%, 12.8rem);
	transform: rotateY(10deg) rotateZ(-7deg) translateZ(-1.5rem);
	animation: lti-float-book-one 6.6s ease-in-out infinite;
}

.hero-cover--book-8 {
	left: 27%;
	top: 15%;
	z-index: 4;
	width: min(30%, 12.4rem);
	transform: rotateY(-6deg) rotateZ(5deg) translateZ(-0.5rem);
	animation: lti-float-book-eight 7.1s ease-in-out -1.1s infinite;
}

.hero-cover--book-2 {
	right: 0;
	top: 7%;
	z-index: 5;
	width: min(47%, 20rem);
	transform: rotateY(-5deg) rotateZ(1.5deg) translateZ(2.5rem);
	animation: lti-float-book-two 7.4s ease-in-out -0.6s infinite;
}

.hero-cover--book-1:hover {
	transform: rotateY(3deg) rotateZ(-2deg) translateY(-0.8rem) translateZ(4rem);
}

.hero-cover--book-2:hover {
	transform: rotateY(0) rotateZ(0) translateY(-0.8rem) translateZ(5rem);
}

.hero-cover--book-8:hover {
	transform: rotateY(-2deg) rotateZ(1deg) translateY(-0.8rem) translateZ(4rem);
}

@keyframes lti-float-book-one {
	0%, 100% { translate: 0 0; }
	25% { translate: 0.12rem -0.35rem; }
	50% { translate: 0 -0.85rem; }
	75% { translate: -0.14rem -0.4rem; }
}

@keyframes lti-float-book-two {
	0%, 100% { translate: 0 0; }
	25% { translate: -0.14rem -0.45rem; }
	50% { translate: 0 -1rem; }
	75% { translate: 0.16rem -0.5rem; }
}

@keyframes lti-float-book-eight {
	0%, 100% { translate: 0 0; }
	25% { translate: -0.1rem -0.28rem; }
	50% { translate: 0 -0.7rem; }
	75% { translate: 0.12rem -0.32rem; }
}

.book-cover {
	position: relative;
	width: 100%;
	aspect-ratio: 1055 / 1491;
	border-radius: 0.38rem 0.65rem 0.65rem 0.38rem;
	background: var(--lti-surface-soft);
	overflow: hidden;
}

.book-cover::after {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(6, 24, 39, 0.08);
	content: "";
	pointer-events: none;
}

.hero-cover .book-cover {
	box-shadow: var(--lti-shadow-book);
}


.book-cover__coming-soon {
	position: absolute;
	z-index: 4;
	inset: auto 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(2rem, 6.5%, 3rem);
	padding: 0.35rem 0.55rem;
	background: linear-gradient(90deg, #b80f16 0%, #e01820 52%, #b80f16 100%);
	color: #fff;
	font-size: clamp(0.62rem, 1.15vw, 0.95rem);
	font-weight: 900;
	letter-spacing: 0.055em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(70, 0, 0, 0.42);
	box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.16), 0 -5px 14px rgba(50, 0, 0, 0.18);
}

.hero-cover .book-cover__coming-soon {
	font-size: clamp(0.7rem, 1.2vw, 1rem);
}

.book-cover__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	background: var(--lti-surface-soft);
}

.book-cover__fallback {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding: 8% 8% 7%;
	background:
		radial-gradient(circle at 88% 16%, rgba(255, 255, 255, 0.26), transparent 23%),
		linear-gradient(150deg, var(--book-color, var(--lti-cobalt)) 0%, #0a263e 78%);
	color: #fff;
	text-align: left;
}

.book-cover--access .book-cover__fallback {
	--book-color: #c85a48;
}

.book-cover--panorama .book-cover__fallback {
	--book-color: #2d70a2;
}

.book-cover--focus .book-cover__fallback {
	--book-color: #6e50a0;
}

.book-cover__collection {
	font-size: clamp(0.48rem, 1vw, 0.68rem);
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.book-cover__number {
	margin-top: auto;
	font-size: clamp(0.55rem, 1vw, 0.8rem);
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.book-cover__title {
	margin-top: 0.6rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1rem, 2.5vw, 2.1rem);
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.book-cover__subtitle {
	margin-top: 0.5rem;
	font-size: clamp(0.58rem, 1.1vw, 0.9rem);
	line-height: 1.3;
}

.book-cover__publisher {
	margin-top: auto;
	padding-top: 1rem;
	font-size: clamp(0.45rem, 0.8vw, 0.62rem);
	font-weight: 650;
}

.hero-cover__label {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	max-width: 14rem;
	margin: 0.8rem auto 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.72rem;
	line-height: 1.25;
	text-align: center;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

.hero-cover__label strong {
	color: #fff;
	font-size: 0.85rem;
}

/* Trust strip */
.trust-strip {
	position: relative;
	z-index: 4;
	border-bottom: 1px solid var(--lti-line);
	background: var(--lti-surface);
}

.trust-strip__inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	min-height: 6rem;
}

.trust-strip__inner > div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 1.25rem;
	border-right: 1px solid var(--lti-line);
	text-align: center;
}

.trust-strip__inner > div:last-child {
	border-right: 0;
}

.trust-strip strong {
	color: var(--lti-cobalt);
	font-family: var(--lti-font-serif);
	font-size: 2rem;
	line-height: 1;
}

.trust-strip span {
	max-width: 9rem;
	color: var(--lti-ink-soft);
	font-size: 0.8rem;
	font-weight: 720;
	line-height: 1.25;
}

/* Catalogue */
.section--catalogue {
	background: var(--lti-paper);
}

.catalogue-controls {
	display: grid;
	grid-template-columns: minmax(0, auto) minmax(15rem, 1fr) auto;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.filter-pill {
	min-height: 2.75rem;
	padding: 0.55rem 0.95rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: var(--lti-surface);
	color: var(--lti-ink-soft);
	font-size: 0.8rem;
	font-weight: 820;
	cursor: pointer;
	transition: background var(--lti-transition), border-color var(--lti-transition), color var(--lti-transition), transform var(--lti-transition);
}

.filter-pill:hover {
	border-color: var(--lti-line-strong);
	color: var(--lti-ink);
	transform: translateY(-1px);
}

.filter-pill.is-active {
	border-color: var(--lti-night);
	background: var(--lti-night);
	color: #fff;
}

.filter-pill--access.is-active {
	border-color: var(--lti-access);
	background: var(--lti-access);
}

.filter-pill--panorama.is-active {
	border-color: var(--lti-panorama);
	background: var(--lti-panorama);
}

.filter-pill--focus.is-active {
	border-color: var(--lti-focus);
	background: var(--lti-focus);
}

.catalogue-search,
.resource-filter label {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 2.85rem;
	padding: 0 0.9rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: var(--lti-surface);
	color: var(--lti-ink-soft);
}

.catalogue-search:focus-within,
.resource-filter label:focus-within {
	border-color: var(--lti-cobalt);
	box-shadow: var(--lti-focus-ring);
}

.catalogue-search svg,
.resource-filter svg {
	flex: 0 0 auto;
	width: 1.1rem;
	height: 1.1rem;
}

.catalogue-search input,
.resource-filter input {
	width: 100%;
	min-width: 0;
	padding: 0.5rem 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--lti-ink);
}

.carousel-buttons {
	display: flex;
	gap: 0.35rem;
}

.carousel-buttons .icon-button {
	border-color: var(--lti-line);
	background: var(--lti-surface);
}

.book-carousel__viewport {
	display: grid;
	grid-auto-columns: minmax(17.5rem, 22rem);
	grid-auto-flow: column;
	gap: 1.25rem;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0.3rem 0.15rem 1.5rem;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-color: var(--lti-line-strong) transparent;
	scrollbar-width: thin;
}

html[data-motion="reduce"] .book-carousel__viewport {
	scroll-behavior: auto;
}

/* V10 — catalogue des livres sur deux colonnes, mobile conservé en une colonne/carrousel. */
@media (min-width: 721px) {
	.section--catalogue .book-carousel__viewport {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-columns: unset;
		grid-auto-flow: row;
		overflow-x: visible;
		overflow-y: visible;
		scroll-snap-type: none;
	}

	.section--catalogue .book-carousel .book-card {
		scroll-snap-align: none;
	}

	.section--catalogue .carousel-buttons {
		display: none;
	}
}

.book-carousel__viewport::-webkit-scrollbar {
	height: 0.45rem;
}

.book-carousel__viewport::-webkit-scrollbar-thumb {
	border-radius: var(--lti-pill);
	background: var(--lti-line-strong);
}

.book-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	box-shadow: 0 1px 0 rgba(5, 20, 33, 0.03);
	overflow: hidden;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.book-card:hover {
	border-color: color-mix(in srgb, var(--lti-cobalt) 38%, var(--lti-line));
	box-shadow: var(--lti-shadow-card);
	transform: translateY(-0.3rem);
}

.book-card[hidden] {
	display: none !important;
}

.book-carousel .book-card {
	scroll-snap-align: start;
}

.book-card__cover-link {
	display: block;
	padding: 1.35rem 1.35rem 0;
	text-decoration: none;
}

.book-card__cover-link .book-cover {
	width: min(100%, 14rem);
	margin-inline: auto;
	box-shadow: 0 18px 30px rgba(5, 20, 33, 0.18);
	transition: transform 250ms ease, box-shadow 250ms ease;
}

.book-card:hover .book-card__cover-link .book-cover {
	box-shadow: 0 24px 38px rgba(5, 20, 33, 0.24);
	transform: translateY(-0.25rem) rotate(-0.4deg);
}

.book-card--no-landing .book-card__cover-link {
	cursor: default;
}

.book-card--no-landing:hover .book-card__cover-link .book-cover {
	box-shadow: 0 18px 30px rgba(5, 20, 33, 0.18);
	transform: none;
}

.book-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.3rem;
}

.book-card__eyebrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	margin-bottom: 0.85rem;
	color: var(--lti-ink-soft);
	font-size: 0.7rem;
	font-weight: 760;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.group-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.3rem 0.55rem;
	border-radius: var(--lti-pill);
	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
}

.group-badge--access {
	background: var(--lti-access-soft);
	color: color-mix(in srgb, var(--lti-access) 85%, #38120c);
}

.group-badge--panorama {
	background: var(--lti-panorama-soft);
	color: color-mix(in srgb, var(--lti-panorama) 85%, #071c2c);
}

.group-badge--focus {
	background: var(--lti-focus-soft);
	color: color-mix(in srgb, var(--lti-focus) 88%, #1d0b32);
}

/* En mode sombre, les mélanges de teintes des badges tombaient sous WCAG AA.
 * Un texte blanc dépasse largement 4,5:1 sur les trois fonds sombres. */
html[data-theme="dark"] .group-badge--access,
html[data-theme="dark"] .group-badge--panorama,
html[data-theme="dark"] .group-badge--focus {
	color: #fff;
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] .group-badge--access,
	html[data-theme="system"] .group-badge--panorama,
	html[data-theme="system"] .group-badge--focus {
		color: #fff;
	}
}

.book-card__title {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.28rem, 2vw, 1.65rem);
	letter-spacing: -0.025em;
	line-height: 1.14;
}

.book-card__title a {
	color: var(--lti-ink);
	text-decoration: none;
}

.book-card__title a:hover {
	color: var(--lti-cobalt-dark);
}

.book-card__subtitle {
	margin: 0.55rem 0 0;
	color: var(--lti-ink-soft);
	font-size: 0.9rem;
	line-height: 1.45;
}

.book-card__excerpt {
	margin: 0.9rem 0 0;
	color: var(--lti-ink-soft);
	font-size: 0.92rem;
}

.book-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.7rem;
	margin-top: auto;
	padding-top: 1.2rem;
}

.status-pill,
.result-type {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.34rem 0.62rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: var(--lti-surface-soft);
	color: var(--lti-ink-soft);
	font-size: 0.7rem;
	font-weight: 760;
	line-height: 1.15;
}

.book-card__price {
	font-weight: 850;
	white-space: nowrap;
}

.book-card__purchase {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--lti-line);
}

.book-card__purchase .book-card__price {
	font-family: var(--lti-font-serif);
	font-size: 1.2rem;
	font-weight: 850;
}

.button--small {
	min-height: 2.75rem;
	padding: 0.55rem 0.82rem;
	font-size: 0.78rem;
}

.book-card__order svg {
	width: 0.95rem;
	height: 0.95rem;
}

.book-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.72rem;
}

.reader-toolbar {
	display: flex;
	align-items: center;
	gap: 0.1rem;
}

.reader-toolbar .icon-button {
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
}

.catalogue-empty {
	margin: 2rem 0 0;
	padding: 1rem 1.25rem;
	border: 1px dashed var(--lti-line-strong);
	border-radius: var(--lti-radius-md);
	color: var(--lti-ink-soft);
	text-align: center;
}

/* Commercial packs */
.section--packs {
	background: linear-gradient(180deg, var(--lti-surface), var(--lti-surface-soft));
}

.cross-discount-note {
	display: flex;
	flex: 0 1 27rem;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1rem 1.1rem;
	border: 1px solid color-mix(in srgb, var(--lti-cobalt) 30%, var(--lti-line));
	border-radius: var(--lti-radius-md);
	background: color-mix(in srgb, var(--lti-cobalt) 8%, var(--lti-surface));
}

.cross-discount-note strong {
	color: var(--lti-cobalt-dark);
}

.cross-discount-note span {
	color: var(--lti-ink-soft);
	font-size: 0.88rem;
}

.commercial-pack-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.6rem);
	margin-top: 2rem;
}

.commercial-pack {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.85rem;
	min-height: 100%;
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid var(--lti-line);
	border-top: 0.38rem solid var(--lti-cobalt);
	border-radius: var(--lti-radius-xl);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-card);
	overflow: hidden;
}

.commercial-pack--access { border-top-color: var(--lti-access); }
.commercial-pack--panorama { border-top-color: var(--lti-panorama); }

.commercial-pack::after {
	position: absolute;
	width: 12rem;
	height: 12rem;
	top: -6rem;
	right: -5rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--lti-cobalt) 10%, transparent);
	content: "";
	pointer-events: none;
}

.commercial-pack__head {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
}

.commercial-pack__saving {
	color: var(--lti-success);
	font-size: 0.76rem;
	font-weight: 820;
}

.commercial-pack h3 {
	margin: 0.1rem 0 0;
	font-size: clamp(1.6rem, 3vw, 2.25rem);
}

.commercial-pack p {
	margin: 0;
	color: var(--lti-ink-soft);
}

.commercial-pack__price {
	display: flex;
	align-items: baseline;
	gap: 0.7rem;
	margin-top: auto;
}

.commercial-pack__price del {
	color: var(--lti-ink-soft);
	font-size: 0.92rem;
}

.commercial-pack__price strong {
	font-family: var(--lti-font-serif);
	font-size: clamp(1.8rem, 4vw, 2.7rem);
	line-height: 1;
}

.commercial-pack small {
	color: var(--lti-ink-soft);
	font-size: 0.76rem;
}

.featured-book__purchase {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1.3rem;
}

.featured-book__purchase > strong {
	font-family: var(--lti-font-serif);
	font-size: 1.65rem;
}

/* Path cards */
.section--paths {
	border-block: 1px solid var(--lti-line);
	background: var(--lti-surface-soft);
}

.path-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.path-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 19rem;
	padding: clamp(1.5rem, 3vw, 2.2rem);
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	overflow: hidden;
}

.path-card::after {
	position: absolute;
	right: -3rem;
	bottom: -4rem;
	width: 10rem;
	height: 10rem;
	border-radius: 50%;
	background: var(--path-soft);
	content: "";
	opacity: 0.8;
}

.path-card--access {
	--path-soft: var(--lti-access-soft);
}

.path-card--panorama {
	--path-soft: var(--lti-panorama-soft);
}

.path-card--focus {
	--path-soft: var(--lti-focus-soft);
}

.path-card h3 {
	position: relative;
	z-index: 1;
	margin: 1.1rem 0 0.8rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.55rem, 2.6vw, 2.25rem);
	letter-spacing: -0.03em;
	line-height: 1.08;
}

.path-card p {
	position: relative;
	z-index: 1;
	margin: 0 0 1.4rem;
	color: var(--lti-ink-soft);
}

.path-card .text-link {
	position: relative;
	z-index: 1;
	margin-top: auto;
}

/* Featured book */
.section--featured-book {
	background:
		radial-gradient(circle at 10% 50%, rgba(97, 209, 227, 0.10), transparent 32%),
		linear-gradient(135deg, var(--lti-night), #123a5e);
	color: #fff;
}

.featured-book {
	display: grid;
	grid-template-columns: minmax(14rem, 22rem) minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
	max-width: 70rem;
}

.featured-book__cover .book-cover {
	box-shadow: var(--lti-shadow-book);
}

.featured-book__content {
	max-width: 42rem;
}

.featured-book__content .eyebrow {
	color: var(--lti-cyan) !important;
}

.featured-book__content .book-card__eyebrow {
	justify-content: flex-start;
	color: rgba(255, 255, 255, 0.68);
}

.featured-book__content h2 {
	margin: 1rem 0 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(2.4rem, 5vw, 5rem);
	letter-spacing: -0.045em;
	line-height: 0.99;
}

.featured-book__subtitle {
	margin: 0.8rem 0 0;
	color: var(--lti-cyan);
	font-size: 1.2rem;
	font-weight: 700;
}

.featured-book__content > p:not(.eyebrow):not(.featured-book__subtitle) {
	color: rgba(255, 255, 255, 0.76);
	font-size: 1.05rem;
}

.featured-book__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.7rem;
}

.featured-book .reader-toolbar .icon-button {
	border-color: rgba(255, 255, 255, 0.25);
	color: #fff;
}

.featured-book .reader-toolbar .icon-button:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

/* Trust centre section */
.section--trust {
	background: var(--lti-paper);
}

.trust-layout {
	display: grid;
	grid-template-columns: minmax(17rem, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: start;
}

.trust-layout__intro {
	position: sticky;
	top: calc(var(--lti-header-height) + 2rem);
}

.trust-layout__intro h2 {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(2.2rem, 4vw, 4rem);
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.trust-layout__intro > p:not(.eyebrow) {
	color: var(--lti-ink-soft);
}

.trust-grid,
.trust-center-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.trust-card {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	min-height: 10rem;
	padding: 1.4rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	color: var(--lti-ink);
	text-decoration: none;
	transition: transform var(--lti-transition), border-color var(--lti-transition), box-shadow var(--lti-transition);
}

.trust-card:hover {
	border-color: var(--lti-cobalt);
	box-shadow: var(--lti-shadow-card);
	color: var(--lti-ink);
	transform: translateY(-0.2rem);
}

.trust-card > span {
	display: grid;
	place-items: center;
	width: 2.8rem;
	height: 2.8rem;
	flex: 0 0 auto;
	border-radius: 0.75rem;
	background: rgba(45, 104, 223, 0.10);
	color: var(--lti-cobalt-dark);
}

.trust-card h2,
.trust-card h3 {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: 1.35rem;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.trust-card p {
	margin: 0.5rem 0 0;
	color: var(--lti-ink-soft);
	font-size: 0.9rem;
	line-height: 1.5;
}

/* Commerce */
.section--commerce {
	border-block: 1px solid var(--lti-line);
	background: var(--lti-surface-soft);
}

.market-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
	max-width: 66rem;
	margin-inline: auto;
}

.market-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 26rem;
	padding: clamp(1.6rem, 4vw, 2.6rem);
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-xl);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-soft);
	overflow: hidden;
}

.market-card::before {
	position: absolute;
	inset: 0 0 auto;
	height: 0.36rem;
	background: var(--market-accent);
	content: "";
}

.market-card--ch {
	--market-accent: #d72f3f;
}

.market-card--eu {
	--market-accent: var(--lti-cobalt);
}

.market-card__flag {
	font-size: 2rem;
}

.market-card h3 {
	margin: 0.8rem 0 0;
	font-family: var(--lti-font-serif);
	font-size: 2.4rem;
	letter-spacing: -0.03em;
}

.market-card > p {
	margin: 0.7rem 0 0;
	color: var(--lti-ink-soft);
}

.market-card ul {
	display: grid;
	gap: 0.65rem;
	margin: 1.4rem 0 1.7rem;
	padding: 0;
	list-style: none;
}

.market-card li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.92rem;
}

.market-card li svg {
	width: 1.05rem;
	height: 1.05rem;
	margin-top: 0.2rem;
	color: var(--lti-success);
}

.market-card .button {
	margin-top: auto;
}

.pack-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	max-width: 66rem;
	margin: 1.25rem auto 0;
}

.pack-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	padding: 1.25rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
}

.pack-card__icon {
	display: grid;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-bottom: 0.35rem;
	border-radius: 0.7rem;
	background: rgba(45, 104, 223, 0.10);
	color: var(--lti-cobalt-dark);
}

.pack-card strong {
	font-family: var(--lti-font-serif);
	font-size: 1.3rem;
}

.pack-card span:not(.group-badge):not(.pack-card__icon),
.pack-card small {
	color: var(--lti-ink-soft);
	font-size: 0.82rem;
}

/* Updates and cards */
.section--updates {
	background: var(--lti-paper);
}

.updates-grid,
.content-grid,
.search-results {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.update-card,
.content-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.5rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
}

.update-card time,
.content-card__meta time {
	color: var(--lti-ink-soft);
	font-size: 0.75rem;
}

.update-card h3,
.content-card h2 {
	margin: 1rem 0 0;
	font-family: var(--lti-font-serif);
	font-size: 1.45rem;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.update-card h3 a,
.content-card h2 a {
	color: var(--lti-ink);
	text-decoration: none;
}

.update-card p,
.content-card p {
	color: var(--lti-ink-soft);
	font-size: 0.9rem;
}

.update-card .text-link,
.content-card .text-link {
	margin-top: auto;
}

.content-card {
	padding: 0;
	overflow: hidden;
}

.content-card__image {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.content-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.content-card:hover .content-card__image img {
	transform: scale(1.025);
}

.content-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.4rem;
}

.content-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
}

.section--newsletter {
	padding-top: 0;
}

.newsletter-panel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 2rem;
	padding: clamp(1.6rem, 4vw, 3rem);
	border-radius: var(--lti-radius-xl);
	background: var(--lti-night);
	color: #fff;
}

.newsletter-panel h2 {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.8rem, 3.5vw, 3.2rem);
	line-height: 1.05;
}

.newsletter-panel .eyebrow {
	color: var(--lti-cyan) !important;
}


.newsletter-panel__form .lti-newsletter-form {
	display: grid;
	gap: 0.85rem;
}

.newsletter-panel__form .lti-newsletter-form p {
	margin: 0;
}

.newsletter-panel__form .lti-newsletter-form label {
	display: block;
	margin-bottom: 0.3rem;
	font-weight: 700;
	color: #fff;
}

.newsletter-panel__form .lti-newsletter-form input[type="text"],
.newsletter-panel__form .lti-newsletter-form input[type="email"] {
	width: 100%;
	min-height: 2.9rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.newsletter-panel__form .lti-newsletter-form .description,
.newsletter-panel__form .lti-newsletter-form .description a {
	color: rgba(255, 255, 255, 0.78);
}

/* Footer */
.site-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background: #061522;
	color: rgba(255, 255, 255, 0.78);
}

.site-footer__main {
	display: grid;
	grid-template-columns: minmax(18rem, 1.5fr) repeat(3, minmax(9rem, 0.75fr));
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.site-footer .site-brand {
	color: #fff;
}

.site-footer .site-brand__eyebrow {
	color: var(--lti-cyan);
}

.site-footer__brand > p {
	max-width: 27rem;
	color: rgba(255, 255, 255, 0.62);
}

.site-footer__column h2,
.footer-widget__title {
	margin: 0 0 1rem;
	color: #fff;
	font-family: var(--lti-font-sans);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.footer-menu {
	display: grid;
	gap: 0.62rem;
}

.footer-menu a,
.legal-menu a {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.88rem;
	text-decoration: none;
}

.footer-menu a:hover,
.legal-menu a:hover {
	color: var(--lti-cyan);
}

.footer-menu--contact li {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
}

.footer-menu--contact a {
	overflow-wrap: anywhere;
}

.site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1.4rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__bottom p {
	margin: 0;
	font-size: 0.78rem;
}

.legal-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.45rem 1rem;
}

.legal-menu a {
	font-size: 0.75rem;
}

/* Dialogs */
.site-dialog {
	width: min(calc(100% - 2rem), 42rem);
	max-height: min(82vh, 48rem);
	padding: 0;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-xl);
	background: var(--lti-surface);
	color: var(--lti-ink);
	box-shadow: 0 36px 90px rgba(2, 14, 25, 0.38);
	overflow: auto;
}

.site-dialog--library,
.site-dialog--compare {
	width: min(calc(100% - 2rem), 58rem);
}

.site-dialog::backdrop {
	background: rgba(2, 14, 25, 0.68);
	backdrop-filter: blur(4px);
}

.site-dialog__header {
	position: sticky;
	z-index: 2;
	top: 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.4rem 1.4rem 1rem;
	border-bottom: 1px solid var(--lti-line);
	background: color-mix(in srgb, var(--lti-surface) 92%, transparent);
	backdrop-filter: blur(12px);
}

.site-dialog__header h2 {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: 1.7rem;
	letter-spacing: -0.025em;
}

.site-dialog__header p {
	margin: 0.3rem 0 0;
	color: var(--lti-ink-soft);
	font-size: 0.85rem;
}

.site-search-form,
.theme-choice,
.accessibility-settings,
.saved-books,
.compare-grid,
.site-dialog__actions {
	padding: 1.4rem;
}

.site-search-form label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 750;
}

.site-search-form__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.6rem;
}

.site-search-form input[type="search"] {
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--lti-line-strong);
	border-radius: var(--lti-pill);
	background: var(--lti-surface-soft);
	color: var(--lti-ink);
}

.theme-choice {
	display: grid;
	gap: 0.7rem;
}

.theme-choice__button {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	width: 100%;
	min-height: 4rem;
	padding: 0.8rem 1rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface-soft);
	color: var(--lti-ink);
	text-align: left;
	cursor: pointer;
}

.theme-choice__button[aria-checked="true"] {
	border-color: var(--lti-cobalt);
	background: rgba(45, 104, 223, 0.09);
}

.theme-choice__button > svg {
	width: 1.5rem;
	height: 1.5rem;
	color: var(--lti-cobalt);
}

.theme-choice__button span {
	display: flex;
	flex-direction: column;
}

.theme-choice__button small {
	color: var(--lti-ink-soft);
}

.accessibility-settings {
	padding-top: 0;
	border-top: 1px solid var(--lti-line);
}

.accessibility-settings h3 {
	margin: 1.3rem 0 1rem;
	font-family: var(--lti-font-serif);
	font-size: 1.25rem;
}

.accessibility-setting {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0.65rem;
	border-bottom: 1px solid var(--lti-line);
}

.accessibility-setting:last-child {
	border-bottom: 0;
}

.accessibility-setting > span {
	font-size: 0.9rem;
	font-weight: 700;
}

.segmented-control {
	display: inline-flex;
	padding: 0.2rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: var(--lti-paper-2);
}

.segmented-control button {
	min-height: 2.25rem;
	padding: 0.38rem 0.7rem;
	border: 0;
	border-radius: var(--lti-pill);
	background: transparent;
	color: var(--lti-ink-soft);
	font-size: 0.75rem;
	font-weight: 780;
	cursor: pointer;
}

.segmented-control button[aria-checked="true"] {
	background: var(--lti-surface);
	box-shadow: 0 2px 8px rgba(5, 20, 33, 0.12);
	color: var(--lti-cobalt-dark);
}

.saved-books,
.compare-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.9rem;
}

.saved-book,
.compare-book {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 1rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface-soft);
}

.saved-book h3,
.compare-book h3 {
	margin: 0.8rem 0 0;
	font-family: var(--lti-font-serif);
	font-size: 1.1rem;
	line-height: 1.16;
}

.saved-book p,
.compare-book p {
	margin: 0.4rem 0;
	color: var(--lti-ink-soft);
	font-size: 0.78rem;
}

.saved-book__number,
.compare-book__number {
	font-size: 0.7rem;
	font-weight: 820;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.saved-book__actions,
.compare-book__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 0.75rem;
}

.saved-book__remove,
.compare-book__remove {
	min-height: 2.25rem;
	padding: 0.4rem 0.65rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: transparent;
	color: var(--lti-danger);
	font-size: 0.72rem;
	font-weight: 760;
	cursor: pointer;
}

.site-dialog__actions {
	display: flex;
	justify-content: flex-end;
	padding-top: 0;
}

.empty-state {
	grid-column: 1 / -1;
	margin: 0;
	padding: 2rem;
	border: 1px dashed var(--lti-line-strong);
	border-radius: var(--lti-radius-md);
	color: var(--lti-ink-soft);
	text-align: center;
}

.toast {
	position: fixed;
	z-index: 12000;
	right: 1rem;
	bottom: 1rem;
	max-width: min(24rem, calc(100% - 2rem));
	padding: 0.85rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--lti-radius-md);
	background: #071927;
	color: #fff;
	box-shadow: 0 16px 36px rgba(2, 14, 25, 0.28);
	font-size: 0.86rem;
	font-weight: 680;
}

/* Breadcrumbs and inner pages */
.breadcrumbs {
	padding-top: 1.2rem;
}

.breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	color: var(--lti-ink-soft);
	font-size: 0.76rem;
	list-style: none;
}

.breadcrumbs li {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.breadcrumbs li:not(:last-child)::after {
	content: "/";
	opacity: 0.55;
}

.breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.page-shell {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.page-shell--wide {
	--lti-container: var(--lti-container-wide);
}

.archive-header,
.entry-header {
	max-width: 54rem;
	margin-bottom: clamp(2rem, 5vw, 4rem);
}

.archive-header--center {
	margin-inline: auto;
	text-align: center;
}

.archive-header--catalogue {
	max-width: 60rem;
}

.archive-description {
	color: var(--lti-ink-soft);
}

.entry-hero-image {
	margin: 0 0 2.5rem;
	border-radius: var(--lti-radius-lg);
	overflow: hidden;
}

.entry-hero-image img {
	display: block;
	width: 100%;
}

.prose {
	max-width: 48rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.05rem, 1.4vw, 1.18rem);
	line-height: 1.75;
}

.prose--wide {
	max-width: 68rem;
}

.prose > *:first-child {
	margin-top: 0;
}

.prose h2,
.prose h3,
.prose h4 {
	margin-top: 2em;
	font-family: var(--lti-font-serif);
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.prose h2 {
	font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.prose h3 {
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
}

.prose a {
	font-weight: 650;
}

.prose blockquote {
	margin: 2rem 0;
	padding: 0.5rem 0 0.5rem 1.4rem;
	border-left: 0.28rem solid var(--lti-gold);
	color: var(--lti-ink-soft);
	font-size: 1.12em;
	font-style: italic;
}

.prose img {
	border-radius: var(--lti-radius-md);
}

.prose table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--lti-font-sans);
	font-size: 0.9rem;
}

.prose th,
.prose td {
	padding: 0.7rem;
	border: 1px solid var(--lti-line);
	text-align: left;
	vertical-align: top;
}

.prose th {
	background: var(--lti-surface-soft);
}

.entry-meta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.8rem;
	color: var(--lti-ink-soft);
	font-size: 0.8rem;
}

.entry-footer {
	max-width: 48rem;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--lti-line);
}

.generic-share {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.resource-filter {
	max-width: 34rem;
	margin-bottom: 1.4rem;
}

.pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin: 2.5rem 0 0;
	padding: 0;
	list-style: none;
}

.pagination a,
.pagination span {
	display: grid;
	place-items: center;
	min-width: 2.7rem;
	min-height: 2.7rem;
	padding: 0.4rem 0.7rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: var(--lti-surface);
	color: var(--lti-ink);
	font-size: 0.82rem;
	font-weight: 740;
	text-decoration: none;
}

.pagination .current {
	border-color: var(--lti-night);
	background: var(--lti-night);
	color: #fff;
}

.book-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.book-grid--catalogue {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.book-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Single book */
.single-book__hero {
	display: grid;
	grid-template-columns: minmax(13rem, 20rem) minmax(0, 1fr);
	align-items: start;
	gap: clamp(2rem, 4vw, 4rem);
	padding-block: clamp(3rem, 7vw, 6rem);
}

.single-book__cover {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.single-book__cover .book-cover {
	box-shadow: var(--lti-shadow-book);
}

.single-book__intro {
	grid-column: 2;
}

.single-book__intro h1 {
	margin: 1rem 0 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(2.7rem, 5vw, 5.4rem);
	letter-spacing: -0.05em;
	line-height: 0.98;
}

.single-book__subtitle {
	margin: 0.9rem 0 0;
	color: var(--lti-teal);
	font-size: 1.25rem;
	font-weight: 700;
}

.single-book__summary,
.single-book__lead {
	max-width: 52rem;
	color: var(--lti-ink-soft);
	font-size: 1.05rem;
}

.single-book__status {
	margin-top: 1.3rem;
}

.single-book__tools {
	margin-top: 1rem;
}

.purchase-box {
	grid-column: 2;
	max-width: 38rem;
	padding: 1.4rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-card);
}

.purchase-box__price {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
}

.purchase-box__price--pending {
	font-size: 1.4rem;
}

.purchase-box > p:not(.purchase-box__price) {
	color: var(--lti-ink-soft);
	font-size: 0.8rem;
}

.purchase-box .button + .button {
	margin-top: 0.55rem;
}

.purchase-box small {
	display: block;
	margin-top: 0.8rem;
	color: var(--lti-ink-soft);
	font-size: 0.68rem;
}

.book-subnav {
	position: sticky;
	z-index: 20;
	top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height));
	border-block: 1px solid var(--lti-line);
	background: color-mix(in srgb, var(--lti-surface) 92%, transparent);
	backdrop-filter: blur(16px);
}

.book-subnav > div {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	overflow-x: auto;
}

.book-subnav a {
	display: flex;
	align-items: center;
	min-height: 3.4rem;
	padding-inline: 0.85rem;
	color: var(--lti-ink-soft);
	font-size: 0.8rem;
	font-weight: 760;
	text-decoration: none;
	white-space: nowrap;
}

.book-subnav a:hover {
	color: var(--lti-cobalt-dark);
}

.single-book__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(14rem, 20rem);
	gap: clamp(2rem, 6vw, 6rem);
	padding-block: clamp(3rem, 7vw, 6rem);
}

.book-facts {
	align-self: start;
	padding: 1.3rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface-soft);
}

.book-facts h2 {
	margin: 0 0 1rem;
	font-family: var(--lti-font-serif);
	font-size: 1.35rem;
}

.book-facts dl {
	margin: 0;
}

.book-facts dl > div {
	display: grid;
	grid-template-columns: 5.5rem 1fr;
	gap: 0.7rem;
	padding-block: 0.55rem;
	border-top: 1px solid var(--lti-line);
	font-size: 0.78rem;
}

.book-facts dt {
	color: var(--lti-ink-soft);
	font-weight: 700;
}

.book-facts dd {
	margin: 0;
	font-weight: 650;
}

.book-facts .text-link {
	margin-top: 1rem;
	font-size: 0.78rem;
}

.section--related {
	border-top: 1px solid var(--lti-line);
	background: var(--lti-surface-soft);
}

/* Trust center */
.trust-center-page .archive-header {
	max-width: 62rem;
}

.trust-center-grid {
	grid-template-columns: repeat(3, 1fr);
}

.trust-center-content {
	margin: 4rem auto 0;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
	max-width: 100%;
	min-height: 2.85rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--lti-line-strong);
	border-radius: var(--lti-radius-sm);
	background: var(--lti-surface);
	color: var(--lti-ink);
}

textarea {
	min-height: 8rem;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--lti-cobalt);
	outline: none;
	box-shadow: 0 0 0 3px rgba(45, 104, 223, 0.14);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	box-shadow: var(--lti-focus-ring);
}

.search-form {
	display: flex;
	gap: 0.5rem;
}

.search-form label {
	flex: 1;
}

.search-form input[type="search"] {
	width: 100%;
}

.comments-area {
	max-width: 48rem;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--lti-line);
}

.comment-list {
	padding-left: 1.4rem;
}

.comment-body {
	margin-bottom: 1rem;
	padding: 1rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface);
}

/* 404 */
.not-found {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 70vh;
	padding-block: 4rem;
	text-align: center;
}

.not-found__code {
	margin: 0;
	color: color-mix(in srgb, var(--lti-cobalt) 18%, transparent);
	font-family: var(--lti-font-serif);
	font-size: clamp(8rem, 28vw, 20rem);
	font-weight: 900;
	letter-spacing: -0.08em;
	line-height: 0.65;
}

.not-found > p:not(.eyebrow):not(.not-found__code) {
	max-width: 38rem;
	color: var(--lti-ink-soft);
}

.not-found__search {
	width: min(100%, 34rem);
	margin-top: 1.4rem;
}

.not-found__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.7rem;
	margin-top: 1rem;
}

/* Admin bar */
.admin-bar .site-header {
	top: 32px;
}

.admin-bar .book-subnav {
	top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 32px);
}

@media (max-width: 1180px) {
	.admin-bar .primary-navigation {
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 32px);
		max-height: calc(100vh - var(--lti-header-height) - var(--lti-collection-subnav-height) - 32px);
	}
}

/* Responsive */
@media (max-width: 1180px) {
	.site-header__inner {
		grid-template-columns: auto auto 1fr;
	}

	.nav-toggle {
		display: inline-grid;
		grid-column: 2;
	}

	.primary-navigation {
		position: fixed;
		z-index: 999;
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height));
		left: 0;
		width: 100%;
		max-height: calc(100vh - var(--lti-header-height) - var(--lti-collection-subnav-height));
		padding: 1rem;
		border-bottom: 1px solid var(--lti-line);
		background: var(--lti-surface);
		box-shadow: var(--lti-shadow-card);
		overflow: auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-0.6rem);
		transition: opacity var(--lti-transition), transform var(--lti-transition), visibility var(--lti-transition);
	}

	.primary-navigation.is-open {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.primary-menu {
		align-items: stretch;
		flex-direction: column;
		max-width: var(--lti-container-wide);
		margin-inline: auto;
	}

	.primary-menu a {
		padding-inline: 1rem;
		border-radius: var(--lti-radius-md);
	}

	.primary-menu .sub-menu {
		position: static;
		width: auto;
		margin: 0 0 0.5rem 1rem;
		padding: 0;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.site-header__tools {
		grid-column: 3;
		grid-row: 1;
	}

	.hero__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(28rem, 1.1fr);
	}

	.book-grid--catalogue {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-book__hero {
		grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr);
	}

	.purchase-box {
		grid-column: 2;
		max-width: 38rem;
	}
}

@media (max-width: 940px) {
	.site-brand__eyebrow {
		display: none;
	}

	.market-switcher {
		display: none;
	}

	.hero__inner {
		grid-template-columns: 1fr;
		min-height: auto;
		padding-top: 4rem;
	}

	.hero__content {
		max-width: 48rem;
	}

	.hero__visual {
		min-height: 34rem;
	}

	.hero-covers {
		inset-inline: 5%;
	}

	.trust-strip__inner {
		grid-template-columns: repeat(2, 1fr);
	}

	.trust-strip__inner > div:nth-child(2) {
		border-right: 0;
	}

	.trust-strip__inner > div:nth-child(-n + 2) {
		border-bottom: 1px solid var(--lti-line);
	}

	.catalogue-controls {
		grid-template-columns: 1fr auto;
	}

	.filter-pills {
		grid-column: 1 / -1;
	}

	.path-grid,
	.trust-center-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.path-card:last-child {
		grid-column: 1 / -1;
	}

	.trust-layout {
		grid-template-columns: 1fr;
	}

	.trust-layout__intro {
		position: static;
		max-width: 48rem;
	}

	.updates-grid,
	.content-grid,
	.search-results {
		grid-template-columns: repeat(2, 1fr);
	}

	.site-footer__main {
		grid-template-columns: 1.5fr 1fr 1fr;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.book-grid--catalogue,
	.book-grid--three {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-book__body {
		grid-template-columns: 1fr;
	}

	.book-facts {
		max-width: 28rem;
	}
}

@media (max-width: 720px) {
	:root {
		--lti-header-height: 4.6rem;
		--lti-collection-subnav-height: 3.75rem;
	}

	.container,
	.container--wide {
		width: min(calc(100% - 1.25rem), var(--lti-container-wide));
	}

	.site-header__inner {
		grid-template-columns: auto 1fr auto;
		gap: 0.2rem;
	}

	.site-brand__mark {
		width: 2.45rem;
		height: 2.45rem;
	}

	.site-brand__name {
		max-width: 9.5rem;
		font-size: 0.94rem;
		white-space: normal;
	}

	.nav-toggle {
		grid-column: 3;
	}

	.site-header__tools {
		position: fixed;
		z-index: 1001;
		right: 0.7rem;
		bottom: 0.7rem;
		grid-column: auto;
		grid-row: auto;
		padding: 0.25rem;
		border: 1px solid var(--lti-line);
		border-radius: var(--lti-pill);
		background: color-mix(in srgb, var(--lti-surface) 94%, transparent);
		box-shadow: var(--lti-shadow-card);
		backdrop-filter: blur(14px);
	}

	.site-header__tools .market-switcher,
	.site-header__tools .language-switcher {
		display: none;
	}

	.site-header__tools .icon-button {
		width: 2.75rem;
		height: 2.75rem;
		min-width: 2.75rem;
	}

	/* Mobile : recherche et panier en premier, outils secondaires ensuite. */
	.site-header__tools .header-tool--search { order: 1; }
	.site-header__tools .header-tool--cart { order: 2; }
	.site-header__tools .header-tool--favorites { order: 3; }
	.site-header__tools .header-tool--appearance { order: 5; }

	.primary-navigation {
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height));
	}

	.hero__inner {
		padding-block: 3.2rem 2rem;
	}

	.commercial-pack-grid {
		grid-template-columns: 1fr;
	}

	.commercial-pack__head,
	.book-card__purchase {
		align-items: flex-start;
		flex-direction: column;
	}

	.book-card__order {
		width: 100%;
	}

	.hero__brand {
		margin-bottom: 1.4rem;
	}

	.hero__title {
		font-size: clamp(3rem, 15vw, 5rem);
	}

	.hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.hero__actions .button {
		width: 100%;
	}

	.hero__proof {
		align-items: flex-start;
		flex-direction: column;
	}

	.hero__visual {
		min-height: 29rem;
		margin-top: 1rem;
	}

	.hero-covers {
		position: relative;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		align-items: end;
		gap: 0.35rem;
		inset: auto;
	}

	.hero-cover,
	.hero-cover--1,
	.hero-cover--2,
	.hero-cover--3,
	.hero-cover--book-1,
	.hero-cover--book-2,
	.hero-cover--book-8 {
		position: relative;
		inset: auto;
		width: 100%;
		transform: none;
	}

	.hero-cover--2 {
		margin-bottom: 1.2rem;
	}

	.hero-cover:hover,
	.hero-cover--1:hover,
	.hero-cover--2:hover,
	.hero-cover--3:hover,
	.hero-cover--book-1:hover,
	.hero-cover--book-2:hover,
	.hero-cover--book-8:hover {
		transform: translateY(-0.35rem);
	}

	.hero-cover__label strong {
		display: none;
	}

	.trust-strip__inner {
		min-height: 0;
	}

	.trust-strip__inner > div {
		flex-direction: column;
		gap: 0.25rem;
		padding: 1rem 0.5rem;
	}

	.section-heading--split {
		align-items: flex-start;
		flex-direction: column;
	}

	.catalogue-controls {
		grid-template-columns: 1fr;
	}

	.filter-pills {
		grid-column: auto;
		overflow-x: auto;
		padding-bottom: 0.25rem;
		flex-wrap: nowrap;
	}

	.filter-pill {
		flex: 0 0 auto;
	}

	.carousel-buttons {
		display: none;
	}

	.book-carousel__viewport {
		grid-auto-columns: minmax(16.5rem, 84vw);
	}

	.path-grid,
	.market-grid,
	.pack-grid,
	.trust-grid,
	.trust-center-grid,
	.updates-grid,
	.content-grid,
	.search-results,
	.book-grid,
	.book-grid--catalogue,
	.book-grid--three,
	.newsletter-panel,
	.saved-books,
	.compare-grid {
		grid-template-columns: 1fr;
	}

	.path-card:last-child {
		grid-column: auto;
	}

	.featured-book {
		grid-template-columns: minmax(9rem, 13rem) 1fr;
		gap: 1.3rem;
	}

	.featured-book__content h2 {
		font-size: clamp(2rem, 9vw, 3.5rem);
	}

	.featured-book__content > p:not(.eyebrow):not(.featured-book__subtitle) {
		display: none;
	}

	.market-card {
		min-height: 0;
	}

	.site-footer__main {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		padding-bottom: 5rem;
	}

	.legal-menu {
		justify-content: flex-start;
	}

	.site-dialog {
		width: calc(100% - 1rem);
		max-height: calc(100vh - 1rem);
		border-radius: var(--lti-radius-lg);
	}

	.accessibility-setting {
		align-items: flex-start;
		flex-direction: column;
	}

	.segmented-control {
		width: 100%;
	}

	.segmented-control button {
		flex: 1;
	}

	.single-book__hero {
		grid-template-columns: minmax(8rem, 10.5rem) 1fr;
		gap: 1.2rem;
	}

	.single-book__intro {
	grid-column: 2;
}

.single-book__intro h1 {
		font-size: clamp(2.1rem, 9vw, 3.2rem);
	}


	.purchase-box {
		grid-column: 1 / -1;
		max-width: none;
	}

	.book-subnav {
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height));
	}

	.generic-share {
		align-items: flex-start;
		flex-direction: column;
	}

	.admin-bar .site-header {
		top: 46px;
	}

	.admin-bar .book-subnav {
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 46px);
	}

	.admin-bar .primary-navigation {
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 46px);
		max-height: calc(100vh - var(--lti-header-height) - var(--lti-collection-subnav-height) - 46px);
	}
}

@media (max-width: 480px) {
	.site-brand__name {
		display: none;
	}

	.hero .site-brand__name,
	.collection-hero .site-brand__name {
		display: inline;
		max-width: none;
	}

	.hero .site-brand__mark,
	.collection-hero .site-brand__mark {
		width: 3rem;
		height: 3rem;
	}

	.hero__visual {
		min-height: 24rem;
	}

	.hero-cover__label {
		display: none;
	}

	.featured-book {
		grid-template-columns: 8rem 1fr;
	}

	.featured-book__actions .reader-toolbar {
		display: none;
	}

	.single-book__hero {
		grid-template-columns: 1fr;
	}

	.single-book__cover,
	.single-book__intro,
	.purchase-box {
		grid-column: 1;
		grid-row: auto;
	}

	.single-book__cover {
		width: min(14rem, 70vw);
		margin-inline: auto;
	}

	.single-book__subtitle {
		font-size: 0.95rem;
	}

	.single-book__tools {
		display: none;
	}

	.search-form,
	.site-search-form__row {
		grid-template-columns: 1fr;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	:root:not([data-motion="system"]),
	html[data-motion="system"] {
		--lti-transition: 0ms;
	}

	html[data-motion="system"] *,
	html[data-motion="system"] *::before,
	html[data-motion="system"] *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

html[data-motion="reduce"] *,
html[data-motion="reduce"] *::before,
html[data-motion="reduce"] *::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
	transition-duration: 0.01ms !important;
}


/* V10.0.6 — Collection Vie pratique */
.collection-hero--vie-pratique {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 15%, rgba(215, 234, 190, 0.24), transparent 32%),
		radial-gradient(circle at 88% 18%, rgba(131, 196, 149, 0.18), transparent 28%),
		linear-gradient(135deg, #123a2a 0%, #21553f 42%, #5f9f71 100%);
	color: #f8fcf8;
	padding: clamp(4.5rem, 7vw, 6.5rem) 0 clamp(3.5rem, 5vw, 5rem);
}

.collection-hero__ambient,
.collection-hero__ambient::before,
.collection-hero__ambient::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.collection-hero__ambient::before,
.collection-hero__ambient::after {
	content: "";
	filter: blur(18px);
	opacity: 0.62;
}

.collection-hero__ambient::before {
	background: radial-gradient(circle at 24% 22%, rgba(205, 230, 177, 0.38), transparent 26%);
}

.collection-hero__ambient::after {
	background: radial-gradient(circle at 75% 72%, rgba(255, 243, 206, 0.18), transparent 26%);
}

.collection-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}

.collection-hero__kicker {
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(248, 252, 248, 0.8);
}

.collection-hero__title {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	line-height: 0.98;
	letter-spacing: -0.02em;
}

.collection-hero__title span,
.collection-hero__title strong {
	display: block;
}

.collection-hero__title strong {
	color: #eff8da;
}

.collection-hero__intro {
	max-width: 40rem;
	margin: 1.2rem 0 0;
	font-size: 1.08rem;
	line-height: 1.75;
	color: rgba(248, 252, 248, 0.88);
}

.collection-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.65rem;
}

.collection-hero__actions .button--accent {
	background: #d6e9b5;
	border-color: #d6e9b5;
	color: #153224;
}

.collection-hero__actions .button--accent:hover {
	background: #e4f2cb;
	border-color: #e4f2cb;
}

.collection-hero__actions .button--ghost-on-dark {
	border-color: rgba(248, 252, 248, 0.28);
	background: rgba(255, 255, 255, 0.08);
}

.collection-hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.25rem;
	padding: 0;
	margin: 1.75rem 0 0;
	list-style: none;
}

.collection-hero__proof li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.98rem;
	color: rgba(248, 252, 248, 0.88);
}

.collection-hero__proof svg {
	width: 1rem;
	height: 1rem;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.8;
}

.collection-covers--vie-pratique {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	align-items: end;
}

.collection-cover {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 26rem;
	padding: 1.15rem 1.1rem 1rem;
	border-radius: 1.65rem;
	box-shadow: 0 24px 55px rgba(4, 18, 10, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #f7fbf7;
	isolation: isolate;
}

.collection-cover::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 4.4rem;
	border-radius: 0 0 1.65rem 1.65rem;
	background: linear-gradient(90deg, #b42020 0%, #d34242 100%);
	z-index: -1;
}

.collection-cover--deep {
	background: linear-gradient(180deg, #173727 0%, #23523c 62%, #41755a 100%);
}

.collection-cover--mid {
	background: linear-gradient(180deg, #21553f 0%, #3f7a59 62%, #7cb383 100%);
}

.collection-cover--light {
	background: linear-gradient(180deg, #4b7f61 0%, #78a96f 52%, #cfe4a9 100%);
	color: #173324;
}

.collection-cover--light .collection-cover__status,
.collection-cover--light .collection-cover__collection,
.collection-cover--light footer,
.collection-cover--light p {
	color: inherit;
}

.collection-cover--1 {
	transform: translateY(1rem) rotate(-4deg);
}

.collection-cover--2 {
	transform: translateY(-0.75rem);
}

.collection-cover--3 {
	transform: translateY(1.25rem) rotate(4deg);
}

.collection-cover__status,
.collection-cover__collection,
.collection-cover__number,
.collection-cover footer {
	display: block;
}

.collection-cover__status {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}

.collection-cover__collection {
	margin-top: 0.6rem;
	font-size: 0.88rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.collection-cover__number {
	margin-top: 1.15rem;
	font-size: 3rem;
	font-weight: 800;
	line-height: 1;
}

.collection-cover h2 {
	margin: 1.3rem 0 0.75rem;
	font-family: var(--lti-font-serif);
	font-size: 1.55rem;
	line-height: 1.05;
}

.collection-cover p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.9);
}

.collection-cover footer {
	padding-top: 1rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.9);
}

.collection-strip--vie-pratique {
	background: linear-gradient(90deg, #183a2a 0%, #27553e 48%, #5d9369 100%);
	color: #f8fcf8;
}

.collection-strip__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	padding: 1.1rem 0;
}

.collection-strip__inner > div {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
}

.collection-strip__inner strong {
	font-size: 1.85rem;
	line-height: 1;
}

.collection-strip__inner span {
	font-size: 0.98rem;
	color: rgba(248, 252, 248, 0.9);
}

.section--vie-pratique-intro {
	background: linear-gradient(180deg, rgba(222, 239, 221, 0.68) 0%, rgba(246, 243, 236, 0.88) 100%);
}

.collection-values {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem;
	margin-top: 2rem;
}

.collection-value-card,
.vie-pratique-book-card {
	background: var(--lti-surface);
	border: 1px solid rgba(43, 94, 63, 0.14);
	border-radius: 1.45rem;
	padding: 1.35rem;
	box-shadow: var(--lti-shadow-card);
}

.collection-value-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background: rgba(68, 126, 89, 0.12);
	color: #21553f;
	margin-bottom: 0.95rem;
}

.collection-value-card__icon svg {
	width: 1.25rem;
	height: 1.25rem;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.8;
}

.collection-value-card h3,
.vie-pratique-book-card h3 {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: 1.45rem;
	line-height: 1.1;
}

.collection-value-card p,
.vie-pratique-book-card p {
	margin-bottom: 0;
}

.section--vie-pratique-books {
	background: linear-gradient(180deg, rgba(246, 243, 236, 0.95) 0%, rgba(229, 240, 220, 0.72) 100%);
}

.vie-pratique-book-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.vie-pratique-book-card {
	position: relative;
	overflow: hidden;
}

.vie-pratique-book-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 0.45rem;
	background: linear-gradient(180deg, #1e4d38 0%, #8ac38e 100%);
}

.vie-pratique-book-card--light::before {
	background: linear-gradient(180deg, #5e916a 0%, #c6dd96 100%);
}

.vie-pratique-book-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.group-badge--collection-vp {
	background: rgba(42, 98, 64, 0.12);
	color: #19462f;
}

.vie-pratique-book-card__number {
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #537261;
}

.vie-pratique-book-card__subtitle {
	margin-top: 0.55rem;
	font-size: 1.02rem;
	color: #2a6346;
}

.section--vie-pratique-content {
	padding-top: 0;
}

.collection-extra-content {
	margin-top: 0;
	padding: 1.5rem;
	border: 1px solid var(--lti-line);
	border-radius: 1.25rem;
	background: var(--lti-surface);
}

html[data-theme="dark"] .collection-hero--vie-pratique {
	background: linear-gradient(135deg, #0b1d16 0%, #153324 45%, #35664a 100%);
}

html[data-theme="dark"] .collection-value-card,
html[data-theme="dark"] .vie-pratique-book-card,
html[data-theme="dark"] .collection-extra-content {
	border-color: rgba(160, 207, 174, 0.12);
}

html[data-theme="dark"] .group-badge--collection-vp {
	background: rgba(133, 204, 152, 0.16);
	color: #b7e6c3;
}

html[data-theme="dark"] .vie-pratique-book-card__subtitle,
html[data-theme="dark"] .vie-pratique-book-card__number {
	color: #aed7b7;
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] .collection-hero--vie-pratique {
		background: linear-gradient(135deg, #0b1d16 0%, #153324 45%, #35664a 100%);
	}

	html[data-theme="system"] .collection-value-card,
	html[data-theme="system"] .vie-pratique-book-card,
	html[data-theme="system"] .collection-extra-content {
		border-color: rgba(160, 207, 174, 0.12);
	}

	html[data-theme="system"] .group-badge--collection-vp {
		background: rgba(133, 204, 152, 0.16);
		color: #b7e6c3;
	}

	html[data-theme="system"] .vie-pratique-book-card__subtitle,
	html[data-theme="system"] .vie-pratique-book-card__number {
		color: #aed7b7;
	}
}

@media (max-width: 72rem) {
	.collection-hero__inner,
	.collection-values,
	.vie-pratique-book-grid {
		grid-template-columns: 1fr;
	}

	.collection-covers--vie-pratique {
		max-width: 40rem;
		margin-inline: auto;
	}
}

@media (max-width: 56rem) {
	.collection-strip__inner,
	.collection-covers--vie-pratique {
		grid-template-columns: 1fr;
	}

	.collection-cover--1,
	.collection-cover--2,
	.collection-cover--3 {
		transform: none;
	}

	.collection-cover {
		min-height: 22rem;
	}
}

@media (max-width: 40rem) {
	.collection-hero--vie-pratique {
		padding-top: 4rem;
	}

	.collection-hero__title {
		font-size: 2.35rem;
	}

	.collection-hero__actions {
		flex-direction: column;
	}

	.collection-strip__inner > div {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* V10.0.7 — Intégration visuels Vie pratique */
.collection-hero__visual {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.collection-hero__art {
	position: relative;
	padding: 0.85rem;
	border-radius: 1.85rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 22px 50px rgba(4, 18, 10, 0.24);
	backdrop-filter: blur(8px);
}

.collection-hero__art-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1.25rem;
}

.collection-covers--vie-pratique {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 0.6rem;
	padding: 0 1rem 0.5rem;
}

.collection-cover {
	position: relative;
	flex: 0 1 28%;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.collection-cover::after {
	display: none;
}

.collection-cover img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1rem;
	box-shadow: 0 22px 45px rgba(7, 17, 11, 0.34);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.collection-cover--1 {
	transform: translateY(1.1rem) rotate(-6deg);
}

.collection-cover--2 {
	transform: translateY(-0.35rem);
	z-index: 2;
}

.collection-cover--3 {
	transform: translateY(1rem) rotate(6deg);
}

.vie-pratique-book-card__cover-wrap {
	margin: -0.15rem -0.15rem 1rem;
	padding: 0.35rem;
	border-radius: 1.15rem;
	background: linear-gradient(180deg, rgba(34, 90, 58, 0.12) 0%, rgba(126, 174, 113, 0.1) 100%);
}

.vie-pratique-book-card__cover {
	display: block;
	width: 100%;
	max-width: 17rem;
	height: auto;
	margin: 0 auto;
	border-radius: 0.95rem;
	box-shadow: 0 18px 34px rgba(12, 28, 18, 0.22);
}

@media (max-width: 72rem) {
	.collection-hero__visual {
		max-width: 42rem;
		margin-inline: auto;
	}
}

@media (max-width: 56rem) {
	.collection-covers--vie-pratique {
		padding-inline: 0;
	}
	.collection-cover {
		flex-basis: 31%;
	}
}

@media (max-width: 40rem) {
	.collection-covers--vie-pratique {
		gap: 0.35rem;
	}
	.collection-cover--1,
	.collection-cover--2,
	.collection-cover--3 {
		transform: none;
	}
}


/* V10.1.0 — sous-menu chromatique des collections */
.collection-subnav {
	position: relative;
	z-index: 5;
	border-top: 1px solid color-mix(in srgb, var(--lti-line) 70%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--lti-line) 76%, transparent);
	background: color-mix(in srgb, var(--lti-surface) 95%, transparent);
}

.collection-subnav__scroller {
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.collection-subnav__list {
	display: flex;
	align-items: stretch;
	gap: 0.55rem;
	width: max-content;
	min-width: 100%;
	margin: 0;
	padding: 0.62rem 0;
	list-style: none;
}

.collection-subnav__entry {
	display: flex;
	flex: 1 0 auto;
}

.collection-subnav__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.8rem;
	padding: 0.55rem clamp(0.9rem, 1.6vw, 1.35rem);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 0.65rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 18px rgba(4, 18, 28, 0.08);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 760;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition: transform var(--lti-transition), filter var(--lti-transition), box-shadow var(--lti-transition), opacity var(--lti-transition);
}

.collection-subnav__item--sante {
	background: linear-gradient(135deg, #174d82, #246da9);
}

.collection-subnav__item--vie-pratique {
	background: linear-gradient(135deg, #285b35, #3e7b49);
}

.collection-subnav__item--economie {
	background: linear-gradient(135deg, #665317, #7b6420);
}

.collection-subnav__item--administration-droits {
	background: linear-gradient(135deg, #743a3f, #965055);
}

.collection-subnav__item--societe-citoyennete {
	background: linear-gradient(135deg, #7b472d, #9e5b34);
}

.collection-subnav__item--science-futur {
	background: linear-gradient(135deg, #355657, #476e6d);
}

.collection-subnav__item--travail-metiers {
	background: linear-gradient(135deg, #51465f, #6b5877);
}

.collection-subnav__item--monde-geopolitique {
	background: linear-gradient(135deg, #515638, #686b42);
}

.collection-subnav__item.is-available:hover,
.collection-subnav__item.is-available:focus-visible {
	color: #fff;
	filter: brightness(1.12) saturate(1.04);
	transform: translateY(-1px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 10px 24px rgba(4, 18, 28, 0.16);
}

.collection-subnav__item.is-current {
	outline: 2px solid rgba(255, 255, 255, 0.88);
	outline-offset: -4px;
}

.collection-subnav__item.is-upcoming {
	opacity: 1;
	filter: none;
	cursor: default;
	user-select: none;
}

/* V10.1.0 — Vie pratique : identité uniquement verte pour les surfaces */
.is-collection-vie-pratique {
	background: #0a2117;
}

.is-collection-vie-pratique .site-main {
	background: #0a2117;
}

.is-collection-vie-pratique .site-header {
	border-bottom-color: rgba(180, 205, 164, 0.16);
	background: color-mix(in srgb, #0a2719 94%, transparent);
}

.is-collection-vie-pratique .site-header.is-scrolled {
	border-color: rgba(180, 205, 164, 0.22);
	box-shadow: 0 8px 26px rgba(2, 15, 9, 0.26);
}

.is-collection-vie-pratique .site-header .site-brand,
.is-collection-vie-pratique .site-header .primary-menu a,
.is-collection-vie-pratique .site-header .icon-button {
	color: #f3f6e8;
}

.is-collection-vie-pratique .site-header .site-brand__eyebrow {
	color: #c7d991;
}


.is-collection-vie-pratique .site-header .primary-menu a:hover,
.is-collection-vie-pratique .site-header .primary-menu .current-menu-item > a,
.is-collection-vie-pratique .site-header .primary-menu .current_page_item > a {
	background: rgba(188, 218, 157, 0.12);
	color: #e7f3cf;
}

.is-collection-vie-pratique .site-header .market-switcher,
.is-collection-vie-pratique .site-header .language-switcher {
	border-color: rgba(182, 211, 162, 0.22);
	background: #123622;
}

.is-collection-vie-pratique .site-header .market-switcher a,
.is-collection-vie-pratique .site-header .language-switcher a {
	color: #dbe7cf;
}

.is-collection-vie-pratique .site-header .market-switcher a:hover,
.is-collection-vie-pratique .site-header .language-switcher a:hover {
	color: #f6f8ee;
}

.is-collection-vie-pratique .collection-subnav {
	border-color: rgba(180, 205, 164, 0.16);
	background: #0b2a1b;
}

.is-collection-vie-pratique .breadcrumbs {
	background: #0a2117;
}

.is-collection-vie-pratique .breadcrumbs ol,
.is-collection-vie-pratique .breadcrumbs a {
	color: #b9caae;
}

.collection-hero--vie-pratique {
	background:
		radial-gradient(circle at 12% 14%, rgba(197, 222, 164, 0.18), transparent 31%),
		radial-gradient(circle at 86% 18%, rgba(122, 169, 107, 0.18), transparent 29%),
		linear-gradient(135deg, #0c2719 0%, #17482e 48%, #4f7f4d 100%);
}

.collection-hero--vie-pratique .collection-hero__brand {
	margin-bottom: 1.8rem;
}

.collection-hero--vie-pratique .site-brand {
	color: #f7f7ed;
}

.collection-hero--vie-pratique .site-brand__mark {
	width: 3.5rem;
	height: 3.5rem;
}

.collection-hero--vie-pratique .site-brand__name {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.collection-hero--vie-pratique .site-brand__tagline {
	color: #d6e3bd;
	opacity: 0.88;
}

.is-collection-vie-pratique .section--vie-pratique-intro {
	background: linear-gradient(180deg, #dfe9c9 0%, #cdddb5 100%);
	color: #173523;
}

.is-collection-vie-pratique .section--vie-pratique-intro .section-heading p,
.is-collection-vie-pratique .section--vie-pratique-intro .collection-value-card p {
	color: #425c45;
}

.is-collection-vie-pratique .section--vie-pratique-intro .eyebrow {
	color: #426b3d;
}

.is-collection-vie-pratique .collection-value-card {
	border-color: rgba(51, 92, 52, 0.24);
	background: linear-gradient(180deg, #eef3df 0%, #dce8c6 100%);
	color: #173523;
	box-shadow: 0 14px 30px rgba(24, 61, 35, 0.10);
}

.is-collection-vie-pratique .collection-value-card__icon {
	background: #224f31;
	color: #eef4de;
}

.is-collection-vie-pratique .section--vie-pratique-books {
	background: linear-gradient(180deg, #0b291b 0%, #123923 44%, #1c4a2d 100%);
	color: #f1f4e8;
}

.is-collection-vie-pratique .section--vie-pratique-books .section-heading p {
	color: #c7d7bb;
}

.is-collection-vie-pratique .section--vie-pratique-books .eyebrow {
	color: #b6cd80;
}

.is-collection-vie-pratique .vie-pratique-book-card {
	border-color: rgba(183, 210, 163, 0.18);
	color: #f3f5ea;
	box-shadow: 0 18px 38px rgba(2, 16, 9, 0.22);
}

.is-collection-vie-pratique .vie-pratique-book-card--deep {
	background: linear-gradient(180deg, #0b291b 0%, #103621 100%);
}

.is-collection-vie-pratique .vie-pratique-book-card--mid {
	background: linear-gradient(180deg, #17452b 0%, #21583a 100%);
}

.is-collection-vie-pratique .vie-pratique-book-card--light {
	background: linear-gradient(180deg, #3e6940 0%, #527b49 100%);
}

.is-collection-vie-pratique .vie-pratique-book-card p,
.is-collection-vie-pratique .vie-pratique-book-card__number {
	color: #d8e2cf;
}

.is-collection-vie-pratique .vie-pratique-book-card__subtitle {
	color: #c7dc9a;
}

.is-collection-vie-pratique .group-badge--collection-vp {
	background: #315d32;
	color: #f1f5df;
}

.is-collection-vie-pratique .vie-pratique-book-card__cover-wrap {
	background: linear-gradient(180deg, rgba(159, 190, 126, 0.16), rgba(65, 112, 68, 0.14));
}

.is-collection-vie-pratique .section--vie-pratique-content {
	background: #0b291b;
}

.is-collection-vie-pratique .collection-extra-content {
	border-color: rgba(176, 205, 158, 0.2);
	background: #143823;
	color: #edf3e4;
}

.is-collection-vie-pratique .site-footer {
	border-top-color: rgba(180, 205, 164, 0.12);
	background: #071d12;
	color: rgba(245, 248, 237, 0.78);
}

.is-collection-vie-pratique .site-footer .site-brand__eyebrow,
.is-collection-vie-pratique .site-footer a:hover {
	color: #b9d184;
}

@media (max-width: 1180px) {
	.collection-subnav__scroller {
		width: 100%;
		padding-inline: max(0.65rem, calc((100% - var(--lti-container-wide)) / 2));
	}

	.is-collection-vie-pratique .primary-navigation {
		border-color: rgba(180, 205, 164, 0.2);
		background: #0c2a1b;
	}
}

@media (max-width: 720px) {
	.collection-subnav__list {
		gap: 0.42rem;
		padding-block: 0.48rem;
	}

	.collection-subnav__item {
		min-height: 2.75rem;
		padding-inline: 0.85rem;
		font-size: 0.77rem;
	}

	.is-collection-vie-pratique .site-header__tools {
		border-color: rgba(180, 205, 164, 0.22);
		background: color-mix(in srgb, #0d2c1d 94%, transparent);
	}
}


.text-link--disabled {
	color: currentColor;
	opacity: 0.7;
	cursor: default;
	pointer-events: none;
	text-decoration: none;
}

/* V10.1.0 — accès protégé Livre 1 */
.access-page {
	max-width: 68rem;
}

.access-page__header {
	margin-bottom: 1.8rem;
}

.access-gate {
	max-width: 38rem;
	padding: clamp(1.4rem, 4vw, 2.4rem);
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-card);
}

.access-gate__clue {
	margin: 0 0 0.55rem;
	font-size: 17px;
	font-weight: 800;
}

/* V14.3.3 — message d'accès du Livre 1, volontairement très visible. */
.access-gate__clue--book1 {
	margin-bottom: 1rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.65rem, 4vw, 2.35rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.access-gate__form {
	margin-top: 1.3rem;
}

.access-gate__form label {
	display: block;
	margin-bottom: 0.45rem;
	font-weight: 760;
}

.access-gate__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem;
}

.access-gate__controls input {
	width: 100%;
	min-height: 3rem;
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--lti-line-strong);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface-soft);
	color: var(--lti-ink);
}

.form-message--error {
	padding: 0.75rem 0.85rem;
	border-left: 4px solid var(--lti-danger);
	background: color-mix(in srgb, var(--lti-danger) 10%, transparent);
	color: var(--lti-ink);
}

.access-content {
	display: grid;
	gap: 2rem;
}

.access-content__status {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	width: fit-content;
	margin: 0;
	padding: 0.55rem 0.8rem;
	border-radius: var(--lti-pill);
	background: color-mix(in srgb, var(--lti-success) 14%, var(--lti-surface));
	color: var(--lti-ink);
	font-weight: 760;
}

.access-resource-section {
	padding: clamp(1.2rem, 3vw, 2rem);
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
}

.access-resource-section > h2 {
	margin-top: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.book-access-inline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface-soft);
}

.book-access-inline p {
	margin: 0;
}

.book-subnav__access--disabled {
	display: flex;
	align-items: center;
	min-height: 3.4rem;
	padding-inline: 0.85rem;
	color: var(--lti-ink-soft);
	font-size: 0.8rem;
	font-weight: 760;
	opacity: 0.48;
	white-space: nowrap;
	cursor: default;
}

.book-subnav__access {
	font-weight: 850 !important;
}

@media (max-width: 520px) {
	.access-gate__controls {
		grid-template-columns: 1fr;
	}
	.access-gate__controls .button {
		width: 100%;
	}
	.book-access-inline {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* V10.1.1 — états commerciaux non interactifs et accessibilité */
.button--disabled,
.button[aria-disabled="true"] {
	pointer-events: none;
	cursor: default;
	background: #4b5963;
	border-color: #65737c;
	color: #fff;
	filter: none;
	opacity: 1;
	box-shadow: none;
}

.purchase-box__availability {
	margin: 0.9rem 0 0;
	padding: 0.85rem 1rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface-soft);
}

.purchase-box__availability strong {
	color: var(--lti-access);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* V10.2.0 — garde-fous anti-régression */
.collection-subnav {
	display: block;
	visibility: visible;
	opacity: 1;
}

.collection-subnav__scroller {
	display: block;
}

.collection-subnav__list {
	display: flex;
}

/* En mode nuit, le header et le sous-menu restent sombres même si un ancien
   réglage CSS personnalisé a laissé des surfaces claires. */
html[data-theme="dark"] .site-header {
	background: color-mix(in srgb, var(--lti-surface) 96%, transparent);
}

html[data-theme="dark"] .collection-subnav {
	background: color-mix(in srgb, var(--lti-surface) 97%, #071827 3%);
}

/* Repère plus clair sur iPad/tablette : le sous-menu ne doit jamais se réduire
   à zéro hauteur et peut défiler horizontalement. */
@media (max-width: 1180px) {
	.collection-subnav {
		min-height: var(--lti-collection-subnav-height);
	}
}

/* V11.1.0 — pages livres structurées et espaces lecteurs génériques */
.book-content-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
	gap: clamp(1.5rem, 4vw, 3rem);
	padding-top: clamp(2.5rem, 5vw, 4.5rem);
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.book-content-section__main > h2,
.book-editorial-section h2,
.book-online-section h2 {
	margin-top: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.9rem, 4vw, 3rem);
}

.book-editorial-section {
	border-top: 1px solid var(--lti-line);
}

.book-editorial-section:nth-of-type(even) {
	background: var(--lti-surface-soft);
}

.editor-placeholder {
	padding: 0.9rem 1rem;
	border: 1px dashed var(--lti-line-strong);
	border-radius: var(--lti-radius-md);
	background: color-mix(in srgb, var(--lti-cyan) 7%, var(--lti-surface));
	color: var(--lti-ink-soft);
	font-style: italic;
}

.book-online-section {
	border-top: 1px solid var(--lti-line);
	background: var(--lti-paper-2);
}

.book-online-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

.book-online-card {
	padding: 1.25rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-card);
}

.book-online-card__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding-inline: 0.65rem;
	border-radius: var(--lti-pill);
	background: color-mix(in srgb, var(--lti-cyan) 14%, var(--lti-surface));
	color: var(--lti-ink);
	font-weight: 850;
}

.book-online-card h3 {
	margin: 0.85rem 0 0.35rem;
	font-family: var(--lti-font-serif);
	font-size: 1.45rem;
}

.book-online-card p {
	margin: 0;
	color: var(--lti-ink-soft);
}

.book-maintenance-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.2rem;
}

.book-maintenance-links a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-pill);
	background: var(--lti-surface);
	color: var(--lti-ink);
	font-weight: 700;
	text-decoration: none;
}

.access-gate--pending {
	border-left: 4px solid var(--lti-gold);
}

.access-section-intro {
	margin-bottom: 1.1rem;
}

.access-empty {
	margin: 0;
	padding: 0.9rem 1rem;
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface-soft);
	color: var(--lti-ink-soft);
}

@media (max-width: 780px) {
	.book-content-section,
	.book-online-grid {
		grid-template-columns: 1fr;
	}
}

/* V11.2.0 — page d’arrivée générale sombre et dorée */
.is-editorial-front-page{--landing-night:#06131f;--landing-night-2:#0a1c2a;--landing-panel:#0d2231;--landing-gold:#d5a247;--landing-gold-soft:#edc979;--landing-ivory:#f4efe2;--landing-muted:#b6c1c9;--landing-line:rgba(213,162,71,.23);background:var(--landing-night)}
.is-editorial-front-page .site-header{background:rgba(4,15,24,.97);border-bottom-color:rgba(213,162,71,.18)}
.is-editorial-front-page .site-header .site-brand__eyebrow,.is-editorial-front-page .site-header .site-brand__name,.is-editorial-front-page .site-header .primary-menu>li>a{color:var(--landing-ivory)}
.is-editorial-front-page .site-header .primary-menu>li.current-menu-item>a,.is-editorial-front-page .site-header .primary-menu>li>a:hover,.is-editorial-front-page .site-header .primary-menu>li>a:focus-visible{color:var(--landing-gold-soft)}
.is-editorial-front-page .site-header .icon-button,.is-editorial-front-page .site-header .market-switcher{color:var(--landing-ivory);border-color:rgba(213,162,71,.24)}
.landing-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(36,76,100,.32),transparent 32%),linear-gradient(145deg,#05111b 0%,#071925 55%,#07131f 100%);color:var(--landing-ivory);border-bottom:1px solid var(--landing-line)}
.landing-hero__glow,.landing-hero__glow:before,.landing-hero__glow:after{position:absolute;inset:0;pointer-events:none}.landing-hero__glow:before,.landing-hero__glow:after{content:"";position:absolute;width:28rem;height:28rem;border-radius:50%;filter:blur(60px);opacity:.16}.landing-hero__glow:before{left:-12rem;top:5rem;background:var(--landing-gold)}.landing-hero__glow:after{right:-10rem;bottom:0;background:#2f6680}
.landing-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(17rem,1.16fr) minmax(0,.92fr);gap:clamp(2rem,4vw,4.25rem);align-items:center;min-height:clamp(37rem,63vw,48rem);padding-block:clamp(4rem,7vw,7rem)}
.landing-eyebrow{margin:0 0 .8rem;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--landing-gold-soft)}
.landing-hero__title{margin:0;font-family:var(--lti-font-serif);font-size:clamp(3rem,5vw,5.6rem);line-height:.98;letter-spacing:-.025em;color:var(--landing-ivory)}.landing-hero__title span,.landing-hero__title strong{display:block}.landing-hero__title strong{font-weight:500;color:var(--landing-gold-soft)}
.landing-hero__intro{max-width:35rem;margin:1.5rem 0 0;font-family:var(--lti-font-serif);font-size:clamp(1.15rem,1.65vw,1.45rem);line-height:1.55;color:#d5dde2}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.landing-button{background:var(--landing-gold);border-color:var(--landing-gold);color:#06131f}.landing-button:hover,.landing-button:focus-visible{background:var(--landing-gold-soft);border-color:var(--landing-gold-soft);color:#06131f}.landing-button--ghost{background:transparent;border-color:rgba(237,201,121,.38);color:var(--landing-ivory)}.landing-button--ghost:hover,.landing-button--ghost:focus-visible{background:rgba(213,162,71,.1);color:var(--landing-gold-soft)}
.landing-hero__emblem{text-align:center}.landing-hero__emblem-frame{position:relative;width:min(100%,29rem);aspect-ratio:1;margin-inline:auto;padding:clamp(1.25rem,2.7vw,2.2rem);border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.98),rgba(246,241,229,.94) 62%,rgba(213,162,71,.24));border:1px solid rgba(237,201,121,.34);box-shadow:0 0 0 .7rem rgba(213,162,71,.03),0 32px 80px rgba(0,0,0,.35);overflow:hidden}.landing-hero__emblem-frame img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.landing-hero__publisher{margin:1.3rem 0 0;font-family:var(--lti-font-serif);font-size:clamp(1.4rem,2.4vw,2.15rem);line-height:1.05;color:var(--landing-gold-soft)}.landing-hero__publisher span{display:block;margin-bottom:.25rem;font-family:var(--lti-font-sans);font-size:.72rem;font-weight:800;letter-spacing:.38em;color:var(--landing-muted)}
.landing-hero__principles{display:grid;gap:1.45rem}.landing-principle{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:1rem;align-items:start}.landing-principle__icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border:1px solid rgba(213,162,71,.48);border-radius:50%;color:var(--landing-gold-soft)}.landing-principle__icon svg,.landing-collection-card svg,.landing-text-link svg,.landing-proof svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8}.landing-principle h2{margin:0 0 .28rem;font-family:var(--lti-font-sans);font-size:1rem;color:var(--landing-ivory)}.landing-principle p{margin:0;font-size:.98rem;line-height:1.5;color:var(--landing-muted)}
.landing-collections{background:#0a1925;color:var(--landing-ivory);border-bottom:1px solid rgba(213,162,71,.12)}.landing-collections__inner{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:0;align-items:stretch;padding-block:1.1rem;border:1px solid rgba(255,255,255,.06);border-radius:1rem}.landing-collections__inner>h2{display:flex;align-items:center;margin:0;padding:0 1.4rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--landing-gold-soft)}.landing-collection-card{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;gap:.85rem;align-items:center;min-width:0;padding:.45rem 1.4rem;border-left:1px solid rgba(255,255,255,.08);color:var(--landing-ivory);text-decoration:none}.landing-collection-card--upcoming{grid-template-columns:2.75rem minmax(0,1fr);color:#b7c2ca}.landing-collection-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%}.landing-collection-card--health .landing-collection-card__icon{background:#325f50;color:#dff0df}.landing-collection-card--practical .landing-collection-card__icon{background:#244d6e;color:#dce9f7}.landing-collection-card--upcoming .landing-collection-card__icon{background:#6f3e25;color:#ffe0c5}.landing-collection-card strong,.landing-collection-card small{display:block}.landing-collection-card strong{font-size:.98rem}.landing-collection-card small{margin-top:.18rem;color:#aebac3}.landing-collection-card[href]:hover,.landing-collection-card[href]:focus-visible{background:rgba(213,162,71,.06);color:var(--landing-gold-soft)}
.landing-books{background:linear-gradient(180deg,#07151f 0%,#091a26 100%);color:var(--landing-ivory);padding:clamp(3.8rem,6vw,6rem) 0}.landing-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.landing-section-heading h2{margin:0;font-family:var(--lti-font-serif);font-size:clamp(2.1rem,4vw,3.3rem);color:var(--landing-ivory)}.landing-text-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:750;color:var(--landing-gold-soft);text-decoration:none}.landing-text-link:hover,.landing-text-link:focus-visible{color:#fff3cf}.landing-book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.landing-book-card{display:grid;grid-template-columns:minmax(9.5rem,.78fr) minmax(0,1.22fr);gap:1.25rem;align-items:center;padding:1.15rem;border:1px solid rgba(213,162,71,.18);border-radius:1rem;background:linear-gradient(145deg,rgba(18,40,54,.94),rgba(10,29,42,.96));box-shadow:0 20px 44px rgba(0,0,0,.18)}.landing-book-card__cover{display:block;text-decoration:none}.landing-book-card .book-cover{width:100%;max-width:13rem;margin-inline:auto}.landing-book-card .book-cover__image{display:block;width:100%;height:auto;border-radius:.45rem;box-shadow:0 18px 34px rgba(0,0,0,.36)}.landing-book-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.65rem;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#aab7c1}.landing-status{padding:.3rem .55rem;border:1px solid rgba(213,162,71,.23);border-radius:999px;color:var(--landing-gold-soft)}.landing-book-card h3{margin:0;font-family:var(--lti-font-serif);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.05}.landing-book-card h3 a{color:var(--landing-ivory);text-decoration:none}.landing-book-card h3 a:hover{color:var(--landing-gold-soft)}.landing-book-card p{margin:.55rem 0 1.25rem;color:#b9c4cc;line-height:1.5}
.landing-proof{background:#07151f;color:var(--landing-ivory);padding:0 0 clamp(3rem,5vw,4rem)}.landing-proof__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(213,162,71,.2);border-radius:1rem;background:#0b1d2a;overflow:hidden}.landing-proof article{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.8rem;align-items:center;padding:1.2rem 1.35rem;border-left:1px solid rgba(213,162,71,.13)}.landing-proof article:first-child{border-left:0}.landing-proof article>span{color:var(--landing-gold-soft)}.landing-proof strong,.landing-proof small{display:block}.landing-proof strong{font-family:var(--lti-font-serif);font-size:1.05rem;color:var(--landing-gold-soft)}.landing-proof small{margin-top:.22rem;color:#aebac3;line-height:1.4}
@media(max-width:76rem){.landing-hero__grid{grid-template-columns:minmax(0,1fr) minmax(17rem,.9fr)}.landing-hero__principles{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-collections__inner{grid-template-columns:1fr 1fr}.landing-collections__inner>h2{grid-column:1/-1;padding-block:.5rem 1rem}.landing-collection-card{border-top:1px solid rgba(255,255,255,.07)}.landing-book-card{grid-template-columns:1fr;align-items:start}.landing-proof__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-proof article:nth-child(3){border-top:1px solid rgba(213,162,71,.13);border-left:0}.landing-proof article:nth-child(4){border-top:1px solid rgba(213,162,71,.13)}}
@media(max-width:48rem){.landing-hero__grid{grid-template-columns:1fr;min-height:0;padding-block:3.5rem}.landing-hero__emblem{order:2}.landing-hero__principles{order:3;grid-template-columns:1fr}.landing-hero__emblem-frame{width:min(18rem,80vw)}.landing-collections__inner{grid-template-columns:1fr}.landing-collection-card{border-left:0;border-top:1px solid rgba(255,255,255,.07)}.landing-section-heading{align-items:flex-start;flex-direction:column}.landing-book-grid{grid-template-columns:1fr}.landing-book-card{grid-template-columns:minmax(8rem,.55fr) minmax(0,1.45fr)}.landing-proof__grid{grid-template-columns:1fr}.landing-proof article{border-left:0;border-top:1px solid rgba(213,162,71,.13)}.landing-proof article:first-child{border-top:0}}
@media(max-width:34rem){.landing-book-card{grid-template-columns:1fr}.landing-hero__actions{flex-direction:column}.landing-hero__actions .button{width:100%;justify-content:center}}

/* V12.1.0 — Accueil restauré selon la composition validée */
.home .site-header {
	background: #06131d;
	border-bottom-color: rgba(213, 162, 71, 0.16);
}

.home .site-header__inner {
	min-height: 5rem;
}

.landing-header-brand {
	display: inline-flex;
	align-items: center;
	max-width: 17.5rem;
	text-decoration: none;
}

.landing-header-brand img {
	display: block;
	width: min(17.5rem, 100%);
	height: auto;
}

.home .primary-menu > .menu-item > a {
	color: #e7edf1;
}

.home .primary-menu > .menu-item > a:hover,
.home .primary-menu > .menu-item > a:focus-visible,
.home .primary-menu > .current-menu-item > a {
	color: #edc979;
}

.home .site-header__tools .icon-button,
.home .site-header__tools .market-switcher {
	border-color: rgba(213, 162, 71, 0.26);
}

.home .collection-subnav {
	border-top-color: rgba(213, 162, 71, 0.12);
	border-bottom-color: rgba(213, 162, 71, 0.16);
	background: #081925;
}

.landing-hero--approved {
	background:
		radial-gradient(circle at 49% 27%, rgba(213, 162, 71, 0.08), transparent 25%),
		linear-gradient(180deg, #06131d 0%, #071722 100%);
	border-bottom: 1px solid rgba(213, 162, 71, 0.12);
}

.landing-hero__grid--approved {
	grid-template-columns: minmax(0, .92fr) minmax(22rem, 1.16fr) minmax(0, .92fr);
	gap: clamp(2rem, 4vw, 4rem);
	min-height: clamp(25rem, 42vw, 34rem);
	padding-block: clamp(2.4rem, 4.5vw, 4.4rem);
}

.landing-hero__rule {
	display: block;
	width: 3rem;
	height: 2px;
	margin: 1.45rem 0 1.35rem;
	background: #d5a247;
}

.landing-hero__emblem--approved {
	display: flex;
	align-items: center;
	justify-content: center;
}

.landing-hero__approved-visual {
	display: block;
	width: min(100%, 31rem);
	height: auto;
	mix-blend-mode: normal;
	filter: drop-shadow(0 28px 48px rgba(0, 0, 0, .25));
}

.landing-collections--approved {
	background: #081722;
}

.landing-collections__inner--approved {
	border-color: rgba(213, 162, 71, 0.15);
	background: #0a1b27;
}

.landing-books--approved {
	padding-top: 1.45rem;
	background: linear-gradient(180deg, #07151f 0%, #081925 100%);
}

.landing-section-heading--approved {
	margin-bottom: 1rem;
	padding-inline: .4rem;
	border-bottom: 0;
}

.landing-section-heading--approved .landing-eyebrow {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: 1rem;
	letter-spacing: .04em;
	color: #d5a247;
}

.landing-book-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.landing-book-grid--four {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.landing-book-tile {
	position: relative;
	display: grid;
	grid-template-columns: minmax(8rem, 42%) minmax(0, 1fr);
	gap: 1rem;
	align-items: stretch;
	min-height: 20rem;
	padding: 1rem;
	border: 1px solid rgba(213, 162, 71, .18);
	border-radius: .9rem;
	background: linear-gradient(145deg, rgba(15, 34, 47, .96), rgba(8, 25, 37, .98));
	box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
	overflow: hidden;
}

.landing-book-tile__release {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 .55rem;
	background: #b77c2d;
	color: #fff5df;
	font-weight: 800;
}

.landing-book-tile__cover {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	text-decoration: none;
}

.landing-book-tile .book-cover {
	width: min(100%, 12rem);
	margin-inline: auto;
}

.landing-book-tile .book-cover__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: .35rem;
	box-shadow: 0 18px 34px rgba(0, 0, 0, .4);
}

.landing-book-tile__standalone-cover {
	display: block;
	width: min(100%, 12rem);
	height: auto;
	margin-inline: auto;
	border-radius: .35rem;
	box-shadow: 0 18px 34px rgba(0, 0, 0, .4);
}

.landing-book-tile__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-width: 0;
}

.landing-status--plain {
	padding: 0;
	border: 0;
	border-radius: 0;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #d5a247;
}

.landing-book-tile h3 {
	margin: .55rem 0 .25rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.15rem, 1.8vw, 1.55rem);
	line-height: 1.08;
}

.landing-book-tile h3 a {
	color: #f5f0e5;
	text-decoration: none;
}

.landing-book-tile p {
	margin: 0 0 1.1rem;
	color: #b9c4cc;
	line-height: 1.45;
}

.landing-proof--approved {
	padding-top: 0;
}

@media (max-width: 76rem) {
	.landing-hero__grid--approved {
		grid-template-columns: minmax(0, 1fr) minmax(20rem, .95fr);
	}

	.landing-hero__principles {
		grid-column: 1 / -1;
	}

	.landing-book-grid--three {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.landing-book-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.landing-book-tile {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 48rem) {
	.landing-header-brand {
		max-width: 12rem;
	}

	.landing-hero__grid--approved {
		grid-template-columns: 1fr;
		padding-block: 2.5rem;
	}

	.landing-hero__emblem--approved {
		order: 2;
	}

	.landing-hero__principles {
		order: 3;
	}

	.landing-book-grid--three,
	.landing-book-grid--four {
		grid-template-columns: 1fr;
	}

	.landing-book-tile {
		grid-template-columns: minmax(8rem, .6fr) minmax(0, 1.4fr);
	}
}

@media (max-width: 34rem) {
	.landing-book-tile {
		grid-template-columns: 1fr;
	}
}


/* V14.3.1 (reprises ciblées) — navigation, footer, ressources et pages institutionnelles */
.collections-menu-panel {
	position: absolute;
	z-index: 80;
	top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height));
	left: 0;
	right: 0;
	padding: 0.85rem 0 1rem;
	border-top: 1px solid var(--lti-line);
	border-bottom: 1px solid var(--lti-line);
	background: color-mix(in srgb, var(--lti-surface) 97%, transparent);
	box-shadow: 0 18px 36px rgba(4, 18, 28, 0.18);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
}

.collections-menu-panel__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.7rem;
}

.collections-menu-panel__item,
.collections-overview__card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.25rem;
	min-height: 4.7rem;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 0.75rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09), 0 10px 22px rgba(4, 18, 28, 0.11);
	color: #fff;
	text-decoration: none;
	transition: transform var(--lti-transition), filter var(--lti-transition), box-shadow var(--lti-transition);
}

.collections-menu-panel__item:hover,
.collections-menu-panel__item:focus-visible,
.collections-overview__card:hover,
.collections-overview__card:focus-visible {
	color: #fff;
	filter: brightness(1.12) saturate(1.04);
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 14px 28px rgba(4, 18, 28, 0.2);
}

.collections-menu-panel__item strong,
.collections-overview__card strong {
	font-size: 0.95rem;
	line-height: 1.15;
}

.collections-menu-panel__item small,
.collections-overview__card span {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.75rem;
}

.collection-tone--sante { background: linear-gradient(135deg, #174d82, #246da9); }
.collection-tone--vie-pratique { background: linear-gradient(135deg, #285b35, #3e7b49); }
.collection-tone--economie { background: linear-gradient(135deg, #665317, #8a6e20); }
.collection-tone--administration-droits { background: linear-gradient(135deg, #743a3f, #a35359); }
.collection-tone--societe-citoyennete { background: linear-gradient(135deg, #7b472d, #a86136); }
.collection-tone--science-futur { background: linear-gradient(135deg, #355657, #4d7b79); }
.collection-tone--travail-metiers { background: linear-gradient(135deg, #51465f, #725e80); }
.collection-tone--monde-geopolitique { background: linear-gradient(135deg, #515638, #74784a); }

.collections-overview {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.collections-overview__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.entry--collection-placeholder {
	max-width: 52rem;
	margin-inline: auto;
	padding-block: clamp(3rem, 8vw, 7rem);
}

/* Le visuel validé de l'accueil doit toujours rester intégralement visible. */
.landing-hero__emblem--approved {
	min-width: 0;
	overflow: visible;
}

.landing-hero__approved-visual {
	width: min(100%, 34rem);
	max-width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
}

/* Qui sommes-nous : texte canonique + véritable identité de la page initiale. */
.about-canonical-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(15rem, 0.75fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: start;
}

.about-canonical-layout__text {
	min-width: 0;
}

.about-canonical-layout__brand {
	position: sticky;
	top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 2rem);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	min-width: 0;
	padding: 1.25rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: #06131d;
	box-shadow: var(--lti-shadow-card);
}

.about-canonical-layout__brand img {
	display: block;
	width: min(100%, 23rem);
	height: auto;
	object-fit: contain;
	object-position: center;
}

/* Ressources : porte d'entrée claire par livre. */
.resource-books {
	margin-block: clamp(2rem, 5vw, 4rem);
	padding-block: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--lti-line);
	border-bottom: 1px solid var(--lti-line);
}

.resource-books__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.resource-book-card {
	display: grid;
	grid-template-columns: minmax(8rem, 0.8fr) minmax(0, 1.2fr);
	gap: 1rem;
	align-items: center;
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-card);
}

.resource-book-card__cover {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	text-decoration: none;
}

.resource-book-card__cover .book-cover {
	width: min(100%, 12rem);
	margin-inline: auto;
}

.resource-book-card__body {
	min-width: 0;
}

.resource-book-card__body h3 {
	margin: 0.65rem 0 0.35rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.08;
}

.resource-book-card__body p {
	margin: 0.4rem 0 0.9rem;
	color: var(--lti-ink-soft);
}

.resource-book-card__status {
	font-size: 0.8rem;
	font-weight: 700;
}

/* Footer : largeur contrôlée, aucun chevauchement sur iPad. */
.site-footer__main {
	grid-template-columns: minmax(17rem, 1.35fr) repeat(3, minmax(0, 0.9fr));
	gap: clamp(1.5rem, 3vw, 3.25rem);
}

.site-footer__brand,
.site-footer__column {
	min-width: 0;
}

.site-footer__column .footer-menu {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.62rem;
}

.site-footer__column .footer-menu li,
.site-footer__column .footer-menu a {
	min-width: 0;
	max-width: 100%;
}

.site-footer__column .footer-menu a {
	display: inline-block;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

@media (max-width: 76rem) {
	.collections-menu-panel__inner,
	.collections-overview__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.about-canonical-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(14rem, 0.8fr);
		gap: 2rem;
	}

	.resource-books__grid {
		grid-template-columns: 1fr;
	}

	.resource-book-card {
		grid-template-columns: minmax(9rem, 0.4fr) minmax(0, 1.6fr);
	}

	.site-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2.25rem;
	}
}

@media (max-width: 48rem) {
	.collections-menu-panel {
		position: fixed;
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height));
		max-height: calc(100svh - var(--lti-header-height) - var(--lti-collection-subnav-height));
		overflow-y: auto;
	}

	.collections-menu-panel__inner,
	.collections-overview__grid {
		grid-template-columns: 1fr;
	}

	.about-canonical-layout {
		grid-template-columns: 1fr;
	}

	.about-canonical-layout__brand {
		position: static;
		order: -1;
	}

	.resource-book-card {
		grid-template-columns: minmax(8rem, 0.65fr) minmax(0, 1.35fr);
	}

	.site-footer__main {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 34rem) {
	.resource-book-card {
		grid-template-columns: 1fr;
	}
}

/* V14.3.1 (reprises ciblées) — le panneau Collections du thème remplace tout sous-menu natif éventuel. */
.primary-menu > .menu-item > a[data-collections-trigger] + .sub-menu {
	display: none !important;
}


/* V14.3.1 — collections futures non interactives. */
.collections-menu-panel__item.is-upcoming,
.collections-overview__card.is-upcoming {
	cursor: default;
	filter: saturate(.62) brightness(.86);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.collections-menu-panel__item.is-upcoming:hover,
.collections-overview__card.is-upcoming:hover {
	transform: none;
	filter: saturate(.62) brightness(.86);
}

/* V14.3.1 — identité dorée et contact sans e-mail public dans le footer. */
.site-footer__gold-brand {
	display: inline-flex;
	max-width: min(100%, 18rem);
	text-decoration: none;
}
.site-footer__gold-brand img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}
.site-footer__contact p {
	margin: 0 0 1rem;
	color: var(--lti-ink-soft);
	line-height: 1.55;
}
.site-footer__contact .button {
	width: fit-content;
}

/* V14.3.1 — formulaire de contact. */
.contact-page {
	padding-block: clamp(3rem, 6vw, 5rem);
}
.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(16rem, .7fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
	margin-top: 2rem;
}
.contact-form-card,
.contact-aside {
	min-width: 0;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	box-shadow: var(--lti-shadow-card);
}
.contact-form-card {
	padding: clamp(1.25rem, 3vw, 2rem);
}
.contact-aside {
	padding: 1.4rem;
}
.contact-aside h2 {
	margin-top: 0;
	font-family: var(--lti-font-serif);
}
.contact-form {
	display: grid;
	gap: 1rem;
}
.contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 1rem;
}
.contact-form label {
	display: grid;
	gap: .45rem;
	font-weight: 700;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--lti-line-strong, var(--lti-line));
	border-radius: .65rem;
	background: var(--lti-surface-2, var(--lti-surface));
	color: var(--lti-ink);
	padding: .78rem .9rem;
	font: inherit;
}
.contact-form textarea {
	resize: vertical;
}
.contact-form input:focus-visible,
.contact-form textarea:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--lti-accent) 48%, transparent);
	outline-offset: 2px;
}
.contact-consent {
	grid-template-columns: auto minmax(0,1fr);
	align-items: start;
	font-weight: 500 !important;
}
.contact-consent input {
	margin-top: .25rem;
}
.contact-notice {
	margin-bottom: 1rem;
	padding: .9rem 1rem;
	border-radius: .65rem;
	font-weight: 700;
}
.contact-notice--success {
	border: 1px solid #4a8a64;
	background: color-mix(in srgb, #2d7a4b 18%, var(--lti-surface));
}
.contact-notice--error {
	border: 1px solid #aa5f5f;
	background: color-mix(in srgb, #9d3e3e 16%, var(--lti-surface));
}
.contact-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 58rem) {
	.contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 38rem) {
	.contact-form__grid { grid-template-columns: 1fr; }
}


.collections-menu-panel__overview {
	grid-column: 1 / -1;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: .45rem;
	padding: .35rem .15rem 0;
	color: var(--lti-accent);
	font-weight: 800;
	text-decoration: none;
}
.collections-menu-panel__overview svg {
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

/* V14.3.1 — un compteur à zéro ne doit pas attirer l’attention ni être annoncé. */
.tool-count[hidden] { display: none !important; }


/* V14.3.4 — présentation auteur validée pour le site. */
.about-author {
	display: grid;
	grid-template-columns: minmax(10rem, 0.42fr) minmax(0, 1.58fr);
	gap: clamp(1.75rem, 4vw, 3.5rem);
	align-items: start;
	margin-top: clamp(3rem, 7vw, 6rem);
	padding-top: clamp(2.25rem, 5vw, 4rem);
	border-top: 1px solid var(--lti-line);
}

.about-author__portrait {
	position: sticky;
	top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 2rem);
	min-width: 0;
}

.about-author__portrait img {
	display: block;
	width: min(100%, 18rem);
	height: auto;
	object-fit: contain;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	box-shadow: var(--lti-shadow-card);
}

.about-author__content {
	min-width: 0;
}

.about-author__content h2 {
	margin-top: 0.2rem;
}

@media (max-width: 48rem) {
	.about-author {
		grid-template-columns: 1fr;
	}

	.about-author__portrait {
		position: static;
	}

	.about-author__portrait img {
		width: min(72vw, 15rem);
	}
}

/* V14.3.5 — robustesse accessibilité : le focus reste visible dans les panneaux. */
.site-dialog :focus-visible {
	outline: 3px solid var(--lti-cobalt);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.site-dialog,
	.site-dialog::backdrop {
		scroll-behavior: auto;
	}
}


/* V14.4 — documents juridiques */
.legal-page .lti-legal-summary {
	margin: 1.5rem 0 2rem;
	padding: 1rem 1.2rem;
	border-left: 3px solid var(--lti-teal);
	background: var(--lti-surface);
}
.legal-page .lti-legal-contact {
	padding: 1rem 1.2rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-md);
	background: var(--lti-surface);
}


/* V15.0.0 — FAQ commerciale, réassurance et grille d’accueil à quatre titres. */
.commercial-trust-strip {
	margin: 1rem 0 1.5rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
}
.commercial-trust-strip__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.commercial-trust-strip__list li {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
	color: var(--lti-ink-soft);
	font-size: .9rem;
}
.commercial-trust-strip__list svg {
	width: 1.1rem;
	height: 1.1rem;
	flex: 0 0 auto;
	color: var(--lti-teal);
}
.faq-page__intro {
	max-width: 52rem;
}
.faq-list {
	display: grid;
	gap: .8rem;
	margin-top: 2rem;
}
.faq-item {
	border: 1px solid var(--lti-line);
	border-radius: var(--lti-radius-lg);
	background: var(--lti-surface);
	overflow: clip;
}
.faq-item summary {
	cursor: pointer;
	padding: 1rem 1.2rem;
	font-weight: 800;
	color: var(--lti-ink);
}
.faq-item summary:focus-visible {
	outline: 3px solid var(--lti-focus);
	outline-offset: -3px;
}
.faq-item__answer {
	padding: 0 1.2rem 1.2rem;
	color: var(--lti-ink-soft);
}
@media (max-width: 62rem) {
	.commercial-trust-strip__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 34rem) {
	.commercial-trust-strip__list { grid-template-columns: 1fr; }
}

/* V16.0.0 — fiches individuelles et liens directs des livres. */
.collection-cover {
	color: inherit;
	text-decoration: none;
	transition: transform var(--lti-transition), filter var(--lti-transition);
}

.collection-cover:hover {
	filter: brightness(1.05);
}

.collection-cover:focus-visible,
.vie-pratique-book-card__cover-wrap:focus-visible,
.vie-pratique-book-card h3 a:focus-visible {
	outline: 3px solid #d6e9b5;
	outline-offset: 4px;
}

.vie-pratique-book-card__cover-wrap {
	display: block;
	text-decoration: none;
}

.vie-pratique-book-card h3 a {
	color: inherit;
	text-decoration: none;
}

.vie-pratique-book-card h3 a:hover {
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.vie-pratique-book-card > .text-link {
	margin-top: 1.15rem;
}

.practical-book-landing__cover img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1.2rem;
	box-shadow: var(--lti-shadow-book);
}

.single-book--practical .single-book__subtitle {
	color: #2a6346;
}

.single-book--practical .purchase-box {
	border-color: color-mix(in srgb, #2a6346 32%, var(--lti-line));
	background: color-mix(in srgb, #dce8c6 36%, var(--lti-surface));
}

.single-book--practical .book-subnav__access {
	color: #2a6346;
}

.vie-pratique-book-grid--related {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.is-practical-book .section--related {
	background: color-mix(in srgb, #dce8c6 32%, var(--lti-surface-soft));
}

html[data-theme="dark"] .single-book--practical .single-book__subtitle,
html[data-theme="dark"] .single-book--practical .book-subnav__access {
	color: #b7e6c3;
}

html[data-theme="dark"] .single-book--practical .purchase-box {
	border-color: rgba(160, 207, 174, 0.2);
	background: color-mix(in srgb, #173727 45%, var(--lti-surface));
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] .single-book--practical .single-book__subtitle,
	html[data-theme="system"] .single-book--practical .book-subnav__access {
		color: #b7e6c3;
	}

	html[data-theme="system"] .single-book--practical .purchase-box {
		border-color: rgba(160, 207, 174, 0.2);
		background: color-mix(in srgb, #173727 45%, var(--lti-surface));
	}
}

@media (max-width: 56rem) {
	.vie-pratique-book-grid--related {
		grid-template-columns: 1fr;
	}
}

/* V16 ACCESS ILLUSTRATION */
.lti-access-prompts-illustration{width:min(100%,980px);margin:0 auto clamp(1.5rem,4vw,3rem);text-align:center}.lti-access-prompts-illustration img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.24)}

/* V16.0.1 — correction visuelle stricte des couvertures 3D. */
.book-cover:has(.book-cover__image){aspect-ratio:auto;background:transparent;overflow:visible;border-radius:0;}
.book-cover:has(.book-cover__image)::after{display:none;}
.book-cover__image,.landing-book-tile .book-cover__image,.landing-book-tile__standalone-cover,.vie-pratique-book-card__cover{object-fit:contain;object-position:center;background:transparent;border-radius:0;box-shadow:none;}







/* V16.2.0 — hero Vie pratique consolidé, priorité à « L’IA dans la vraie vie ». */
.collection-hero--vie-pratique .collection-hero__visual.hero__visual {
	display: block;
	min-height: 36rem;
	perspective: 1500px;
}
.collection-hero--vie-pratique .collection-hero__art--practical {
	position: relative;
	min-height: 36rem;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}
.collection-hero--vie-pratique .hero-covers--practical {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
}
.collection-hero--vie-pratique .hero-covers--practical .hero-cover {
	pointer-events: auto;
}
.collection-hero--vie-pratique .hero-cover--practical-1 {
	right: 0;
	top: 7%;
	z-index: 5;
	width: min(47%, 20rem);
	transform: rotateY(-5deg) rotateZ(1.5deg) translateZ(2.5rem);
	animation: lti-float-book-two 7.4s ease-in-out -0.6s infinite;
}
.collection-hero--vie-pratique .hero-cover--practical-2 {
	left: 1%;
	top: 20%;
	z-index: 3;
	width: min(31%, 12.8rem);
	transform: rotateY(10deg) rotateZ(-7deg) translateZ(-1.5rem);
	animation: lti-float-book-one 6.6s ease-in-out infinite;
}
.collection-hero--vie-pratique .hero-cover--practical-3 {
	left: 27%;
	top: 15%;
	z-index: 4;
	width: min(30%, 12.4rem);
	transform: rotateY(-6deg) rotateZ(5deg) translateZ(-0.5rem);
	animation: lti-float-book-eight 7.1s ease-in-out -1.1s infinite;
}
.collection-hero--vie-pratique .hero-cover--practical-1:hover {
	transform: rotateY(0) rotateZ(0) translateY(-0.8rem) translateZ(5rem);
}
.collection-hero--vie-pratique .hero-cover--practical-2:hover {
	transform: rotateY(3deg) rotateZ(-2deg) translateY(-0.8rem) translateZ(4rem);
}
.collection-hero--vie-pratique .hero-cover--practical-3:hover {
	transform: rotateY(-2deg) rotateZ(1deg) translateY(-0.8rem) translateZ(4rem);
}
@media (max-width: 72rem) {
	.collection-hero--vie-pratique .collection-hero__visual.hero__visual,
	.collection-hero--vie-pratique .collection-hero__art--practical {
		min-height: 32rem;
	}
	.collection-hero--vie-pratique .hero-cover--practical-1 { width: min(42%, 17rem); }
	.collection-hero--vie-pratique .hero-cover--practical-2 { width: min(29%, 11.2rem); }
	.collection-hero--vie-pratique .hero-cover--practical-3 { width: min(29%, 11rem); }
}
@media (max-width: 56rem) {
	.collection-hero--vie-pratique .collection-hero__visual.hero__visual,
	.collection-hero--vie-pratique .collection-hero__art--practical {
		min-height: auto;
	}
	.collection-hero--vie-pratique .hero-covers--practical {
		position: relative;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.75rem;
		inset: auto;
		margin-top: 1rem;
		pointer-events: auto;
	}
	.collection-hero--vie-pratique .hero-cover--practical-1,
	.collection-hero--vie-pratique .hero-cover--practical-2,
	.collection-hero--vie-pratique .hero-cover--practical-3 {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		width: 100%;
		max-width: 10rem;
		margin: 0 auto;
		transform: none !important;
		animation: none;
	}
}


/* V16.2.1 — mise en avant commerciale du Pack Accès sur l'accueil. */
.landing-access-pack{padding:clamp(1.4rem,3vw,2.6rem) 0;background:linear-gradient(180deg,#081722 0%,#07151f 100%);}
.landing-access-pack__panel{position:relative;display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(1.4rem,3vw,2.4rem);border:1px solid rgba(213,162,71,.55);border-radius:1.2rem;background:radial-gradient(circle at 22% 42%,rgba(68,147,201,.11),transparent 35%),linear-gradient(145deg,rgba(13,34,48,.98),rgba(5,20,30,.99));box-shadow:0 24px 60px rgba(0,0,0,.24);overflow:hidden;}
.landing-access-pack__panel::after{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);content:"";pointer-events:none;}
.landing-access-pack__badge{position:absolute;top:0;left:50%;z-index:3;transform:translate(-50%,-1px);padding:.48rem 1.35rem;border-radius:0 0 .55rem .55rem;background:linear-gradient(180deg,#e1b65d,#c69235);color:#07151f;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 22px rgba(0,0,0,.22);}
.landing-access-pack__covers{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:23rem;padding:1.5rem 1rem .2rem;perspective:1200px;}
.landing-access-pack__cover{display:block;width:min(47%,13.5rem);text-decoration:none;transition:transform .28s ease,filter .28s ease;}
.landing-access-pack__cover .book-cover{width:100%;background:transparent;overflow:visible;border-radius:0;box-shadow:none;}
.landing-access-pack__cover .book-cover::after,.landing-access-pack__cover .book-cover__coming-soon{display:none;}
.landing-access-pack__cover .book-cover__image{width:100%;height:auto;object-fit:contain;background:transparent;filter:drop-shadow(0 20px 22px rgba(0,0,0,.42));}
.landing-access-pack__cover--one{z-index:2;transform:rotateY(8deg) rotateZ(-3deg) translateX(.7rem);}
.landing-access-pack__cover--two{z-index:3;transform:rotateY(-7deg) rotateZ(2deg) translateX(-.7rem) scale(1.03);}
.landing-access-pack__cover:hover{filter:brightness(1.06);}
.landing-access-pack__cover--one:hover{transform:rotateY(3deg) rotateZ(-1deg) translateX(.4rem) translateY(-.45rem);}
.landing-access-pack__cover--two:hover{transform:rotateY(-2deg) rotateZ(1deg) translateX(-.4rem) translateY(-.45rem) scale(1.03);}
.landing-access-pack__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;}
.landing-access-pack__eyebrow{margin:0 0 .5rem;color:#d5a247;font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;}
.landing-access-pack h2{max-width:18ch;margin:0;font-family:var(--lti-font-serif);font-size:clamp(1.65rem,3vw,2.7rem);line-height:1.04;color:#f5f0e5;}
.landing-access-pack__content>p:not(.landing-access-pack__eyebrow){max-width:46rem;margin:1rem 0 1.3rem;color:#c3cdd3;font-size:1rem;line-height:1.6;}
.landing-access-pack__price{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.2rem;}
.landing-access-pack__price-label{color:#e5bd70;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.landing-access-pack__price div{display:flex;align-items:baseline;gap:.8rem;}
.landing-access-pack__price del{color:#8f9ca5;font-size:1rem;}
.landing-access-pack__price strong{color:#f4c96f;font-family:var(--lti-font-serif);font-size:clamp(2rem,4vw,3.1rem);line-height:1;}
.landing-access-pack__price small{color:#b9c4cc;}
.landing-access-pack__cta{min-width:13.5rem;justify-content:center;}
@media(max-width:64rem){.landing-access-pack__panel{grid-template-columns:1fr;}.landing-access-pack__covers{min-height:20rem;}.landing-access-pack__content{align-items:center;text-align:center;}.landing-access-pack h2{max-width:22ch;}.landing-access-pack__content>p:not(.landing-access-pack__eyebrow){max-width:42rem;}.landing-access-pack__price div{justify-content:center;}}
@media(max-width:38rem){.landing-access-pack{padding-block:1rem;}.landing-access-pack__panel{padding:1.4rem 1rem 1.2rem;}.landing-access-pack__covers{min-height:16rem;padding-inline:0;}.landing-access-pack__cover{width:min(48%,10.5rem);}.landing-access-pack__badge{font-size:.68rem;}.landing-access-pack__cta{width:100%;}}

/* V16.4.0 — collection Regards d’IA et catalogue multi-collections. */
.collection-subnav__item--regards-dia {
	background: linear-gradient(135deg, #30315f, #63518a);
	color: #fff8e6;
}
.collection-tone--regards-dia {
	background: linear-gradient(135deg, #2d315e, #5a477d);
}
.landing-collections__inner,
.landing-collections__inner--approved {
	grid-template-columns: auto repeat(4, minmax(0, 1fr));
}
.landing-collection-card--regards .landing-collection-card__icon {
	background: #4b3d70;
	color: #ffe7a1;
}
.landing-regards-feature {
	padding: clamp(2.25rem, 5vw, 4.75rem) 0;
	border-top: 1px solid rgba(213, 162, 71, .16);
	border-bottom: 1px solid rgba(213, 162, 71, .16);
	background:
		radial-gradient(circle at 78% 36%, rgba(48, 92, 180, .22), transparent 34%),
		linear-gradient(145deg, #070e1d 0%, #0d1d36 52%, #11152d 100%);
	color: #f7f2e7;
}
.landing-regards-feature__grid {
	display: grid;
	grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.landing-regards-feature__cover {
	display: flex;
	justify-content: center;
}
.landing-regards-feature__cover img {
	display: block;
	width: min(100%, 23rem);
	height: auto;
	filter: drop-shadow(0 2rem 2.6rem rgba(0, 0, 0, .38));
}
.landing-regards-feature__eyebrow,
.regards-hero__kicker {
	margin: 0 0 .8rem;
	color: #f1b83d;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.landing-regards-feature__content h2,
.regards-hero h1 {
	margin: 0;
	font-family: var(--lti-font-serif);
	color: #fffaf1;
	line-height: 1.02;
}
.landing-regards-feature__content h2 {
	font-size: clamp(2.3rem, 5vw, 4.6rem);
}
.landing-regards-feature__subtitle {
	margin: .7rem 0 1.35rem;
	color: #f5cc68;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
}
.landing-regards-feature__content > p:not(.landing-regards-feature__eyebrow):not(.landing-regards-feature__subtitle) {
	max-width: 50rem;
	color: #dce5ef;
	font-size: 1.05rem;
	line-height: 1.7;
}

.regards-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 7vw, 6rem) 0;
	background:
		radial-gradient(circle at 72% 26%, rgba(36, 101, 200, .28), transparent 30%),
		radial-gradient(circle at 86% 72%, rgba(232, 150, 35, .18), transparent 26%),
		linear-gradient(145deg, #050b17 0%, #0b1830 58%, #181326 100%);
	color: #f6f3ec;
}
.regards-hero::after {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255,255,255,.18) .6px, transparent .6px);
	background-size: 28px 28px;
	opacity: .18;
	content: "";
	pointer-events: none;
}
.regards-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.regards-hero h1 {
	font-size: clamp(3rem, 7vw, 6.4rem);
}
.regards-hero__lead {
	max-width: 48rem;
	margin: 1.4rem 0 1.8rem;
	color: #dce5f2;
	font-size: clamp(1.08rem, 2vw, 1.35rem);
	line-height: 1.65;
}
.regards-hero__visual {
	display: flex;
	justify-content: center;
	perspective: 1400px;
}
.regards-hero__cover {
	display: block;
	transition: transform var(--lti-transition), filter var(--lti-transition);
}
.regards-hero__cover:hover,
.regards-hero__cover:focus-visible {
	transform: translateY(-.5rem) rotateY(-2deg);
	filter: brightness(1.05);
}
.regards-hero__cover img {
	display: block;
	width: min(100%, 25rem);
	height: auto;
	filter: drop-shadow(0 2.3rem 3rem rgba(0,0,0,.45));
}
.section--regards-book {
	background: linear-gradient(180deg, #f7f3e8 0%, #eef2f9 100%);
}
.regards-book-feature {
	max-width: 60rem;
}
.regards-book-feature__copy {
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid rgba(35, 48, 83, .14);
	border-radius: 1.25rem;
	background: rgba(255,255,255,.82);
	box-shadow: 0 1.4rem 3rem rgba(15, 31, 59, .09);
}
.regards-book-feature__subtitle {
	color: #755620;
	font-weight: 700;
}
.single-book--regards .single-book__subtitle,
.single-book--regards .book-subnav__access {
	color: #96691d;
}
.single-book--regards .purchase-box--regards {
	border-color: rgba(142, 98, 27, .28);
	background: linear-gradient(145deg, rgba(255, 245, 213, .8), rgba(241, 245, 255, .95));
}
.regards-book-landing__cover img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 2rem 2.7rem rgba(7, 15, 31, .28));
}
.group-badge--regards {
	background: linear-gradient(135deg, #34326b, #685184);
	color: #fff1bd;
}
.catalogue-collection-block {
	margin-top: clamp(2.5rem, 6vw, 5rem);
	padding-top: clamp(1.5rem, 4vw, 3rem);
	border-top: 1px solid var(--lti-line);
}
.regards-catalogue-card {
	display: grid;
	grid-template-columns: minmax(12rem, .42fr) minmax(0, 1.58fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	max-width: 62rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid rgba(83, 66, 124, .2);
	border-radius: 1.25rem;
	background: linear-gradient(145deg, rgba(14, 27, 52, .05), rgba(115, 86, 39, .06));
}
.regards-catalogue-card__cover img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 1.2rem 1.5rem rgba(10, 20, 38, .22));
}
.regards-catalogue-card h3 {
	margin: .75rem 0 .35rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}
.regards-catalogue-card h3 a {
	color: inherit;
	text-decoration: none;
}
.regards-catalogue-card__subtitle {
	color: #7e5a20;
	font-weight: 700;
}

@media (max-width: 76rem) {
	.landing-collections__inner,
	.landing-collections__inner--approved {
		grid-template-columns: 1fr 1fr;
	}
	.landing-collections__inner > h2,
	.landing-collections__inner--approved > h2 {
		grid-column: 1 / -1;
	}
}
@media (max-width: 56rem) {
	.landing-regards-feature__grid,
	.regards-hero__grid,
	.regards-catalogue-card {
		grid-template-columns: 1fr;
	}
	.landing-regards-feature__cover,
	.regards-hero__visual {
		order: 2;
	}
	.landing-regards-feature__content,
	.regards-hero__content {
		order: 1;
	}
	.regards-catalogue-card__cover {
		max-width: 16rem;
		margin-inline: auto;
	}
}
@media (max-width: 48rem) {
	.landing-collections__inner,
	.landing-collections__inner--approved {
		grid-template-columns: 1fr;
	}
}

/* V16.6 — informations discrètes associées aux couvertures et au checkout UE. */
.book-visual-disclaimer {
	max-width: 28rem;
	margin: .8rem auto 0;
	font-size: .78rem;
	line-height: 1.45;
	color: var(--lti-muted);
	text-align: center;
}
.book-visual-disclaimer strong {
	color: var(--lti-text);
}
.woocommerce .book-visual-disclaimer {
	max-width: 34rem;
	margin: .75rem 0 0;
	text-align: left;
}
.lti-eu-shipping-notice {
	margin-block: .8rem 1rem;
}

/* V16.7.1 — couvertures entières et cartes éditoriales premium.
 * Référence visuelle : le bloc « Je vous ai observés » de l’accueil.
 * Aucun bandeau n’est découpé, masqué ou reconstruit : chaque couverture reste
 * un objet visuel unique. Les statuts éditoriaux restent dans le texte de la carte.
 */

.landing-book-grid--four {
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.landing-book-tile {
	grid-template-columns: minmax(17rem, .68fr) minmax(0, 1.32fr);
	gap: clamp(1.75rem, 4vw, 4rem);
	align-items: center;
	min-height: clamp(25rem, 34vw, 30rem);
	padding: clamp(1.4rem, 2.6vw, 2.25rem) clamp(1.4rem, 3.6vw, 3.2rem);
	border-color: rgba(213, 162, 71, .2);
	background:
		radial-gradient(circle at 20% 42%, rgba(42, 91, 155, .17), transparent 30%),
		linear-gradient(145deg, #081524 0%, #0b2033 58%, #0c1929 100%);
	box-shadow: 0 24px 58px rgba(0, 0, 0, .22);
	overflow: hidden;
}

.landing-book-tile__cover {
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: .25rem 0;
}

.landing-book-tile .book-cover,
.landing-book-tile__cover .practical-cover--landing {
	width: min(100%, 20rem);
	max-width: 20rem;
	margin-inline: auto;
	background: transparent;
	box-shadow: none;
}

.landing-book-tile .book-cover__image,
.landing-book-tile .practical-cover__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	filter: drop-shadow(0 1.7rem 1.75rem rgba(0, 0, 0, .38));
}

.landing-book-tile__body {
	align-items: flex-start;
	justify-content: center;
	max-width: 46rem;
	padding-block: 1rem;
}

.landing-book-tile h3 {
	margin: .55rem 0 .45rem;
	font-size: clamp(1.8rem, 3.3vw, 3.15rem);
	line-height: 1.03;
	letter-spacing: -.025em;
}

.landing-book-tile p {
	max-width: 38rem;
	margin: 0 0 1.35rem;
	font-size: clamp(1rem, 1.4vw, 1.18rem);
	line-height: 1.55;
}

.landing-book-tile .landing-text-link { font-size: 1rem; }

.book-grid--catalogue .book-card {
	display: grid;
	grid-template-columns: minmax(10.5rem, .72fr) minmax(0, 1.28fr);
	align-items: stretch;
}

.book-grid--catalogue .book-card__cover-link {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.4rem 1rem 1.4rem 1.35rem;
	background:
		radial-gradient(circle at 48% 45%, color-mix(in srgb, var(--lti-cobalt) 12%, transparent), transparent 56%),
		linear-gradient(180deg, color-mix(in srgb, var(--lti-surface-soft) 72%, transparent), transparent);
}

.book-grid--catalogue .book-card__cover-link .book-cover {
	width: min(100%, 12.75rem);
	margin-inline: auto;
	box-shadow: none;
}

.book-grid--catalogue .book-card__cover-link .book-cover__image {
	filter: drop-shadow(0 1.15rem 1.25rem rgba(5, 20, 33, .24));
}

.book-grid--catalogue .book-card__body { padding: 1.45rem 1.45rem 1.45rem .45rem; }

.vie-pratique-book-grid {
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.vie-pratique-book-card {
	display: grid;
	grid-template-columns: minmax(14rem, .62fr) minmax(0, 1.38fr);
	grid-auto-rows: auto;
	column-gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
	padding: clamp(1.3rem, 2.5vw, 2rem);
}

.vie-pratique-book-card__cover-wrap {
	grid-column: 1;
	grid-row: 1 / span 6;
	align-self: center;
	margin: 0;
	padding: .35rem;
	background: transparent;
}

.vie-pratique-book-card__cover-wrap .practical-cover--card {
	width: min(100%, 18rem);
	max-width: 18rem;
}

.vie-pratique-book-card__cover-wrap .practical-cover__image {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 1.4rem 1.5rem rgba(4, 18, 10, .3));
}

.vie-pratique-book-card__header,
.vie-pratique-book-card > h3,
.vie-pratique-book-card > .vie-pratique-book-card__subtitle,
.vie-pratique-book-card > p:not(.vie-pratique-book-card__subtitle),
.vie-pratique-book-card > .text-link { grid-column: 2; }

.vie-pratique-book-card__header { margin: .4rem 0 .8rem; }
.vie-pratique-book-card > h3 { font-size: clamp(1.7rem, 2.7vw, 2.5rem); }
.vie-pratique-book-card > .vie-pratique-book-card__subtitle { font-size: 1.05rem; }
.hero-cover--practical .practical-cover,
.practical-book-landing__cover .practical-cover--single { background: transparent; }

@media (max-width: 68rem) {
	.book-grid--catalogue { grid-template-columns: 1fr; }
	.book-grid--catalogue .book-card__cover-link .book-cover { width: min(100%, 14rem); }
}

@media (max-width: 62rem) {
	.landing-book-tile {
		grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
		gap: 1.5rem;
		min-height: 23rem;
		padding: 1.35rem;
	}
	.landing-book-tile .book-cover,
	.landing-book-tile__cover .practical-cover--landing { width: min(100%, 17rem); }
	.landing-book-tile h3 { font-size: clamp(1.65rem, 4vw, 2.45rem); }
}

@media (max-width: 48rem) {
	.landing-book-tile,
	.book-grid--catalogue .book-card,
	.vie-pratique-book-card { grid-template-columns: 1fr; }
	.landing-book-tile { min-height: 0; padding: 1.4rem 1rem 1.5rem; }
	.landing-book-tile__cover { padding: .5rem 0 .8rem; }
	.landing-book-tile .book-cover,
	.landing-book-tile__cover .practical-cover--landing { width: min(78vw, 17.5rem); }
	.landing-book-tile__body {
		align-items: center;
		max-width: 40rem;
		margin-inline: auto;
		padding: 0 .35rem .25rem;
		text-align: center;
	}
	.landing-book-tile__body .landing-status--plain { align-self: center; }
	.book-grid--catalogue .book-card__cover-link { padding: 1.4rem 1.25rem .75rem; }
	.book-grid--catalogue .book-card__body { padding: 1.25rem; }
	.vie-pratique-book-card__cover-wrap {
		grid-column: 1;
		grid-row: auto;
		justify-self: center;
		margin-bottom: .8rem;
	}
	.vie-pratique-book-card__header,
	.vie-pratique-book-card > h3,
	.vie-pratique-book-card > .vie-pratique-book-card__subtitle,
	.vie-pratique-book-card > p:not(.vie-pratique-book-card__subtitle),
	.vie-pratique-book-card > .text-link { grid-column: 1; }
}

/* V16.7.3 — parité visuelle réelle avec le hero « Je vous ai observés ».
 * Même grille, même échelle de couverture, même ombre et même breakpoint.
 * Aucun palier intermédiaire ne réduit désormais les livres sur iPad.
 */
.landing-books--approved {
	padding-bottom: 0;
}

.landing-books--approved .landing-section-heading {
	margin-bottom: 1rem;
}

.landing-book-grid--four {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	gap: 0;
}

.landing-book-tile {
	grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	padding-block: clamp(2.25rem, 5vw, 4.75rem);
	padding-inline: max(1rem, calc((100vw - var(--lti-container-wide)) / 2 + 1rem));
	border: 0;
	border-top: 1px solid rgba(213, 162, 71, .16);
	border-radius: 0;
	background:
		radial-gradient(circle at 78% 36%, rgba(48, 92, 180, .22), transparent 34%),
		linear-gradient(145deg, #070e1d 0%, #0d1d36 52%, #11152d 100%);
	box-shadow: none;
	overflow: visible;
}

.landing-book-tile:last-child {
	border-bottom: 1px solid rgba(213, 162, 71, .16);
}

.landing-book-tile__release {
	display: none;
}

.landing-book-tile__cover {
	display: flex;
	align-self: center;
	justify-content: center;
	padding: 0;
}

.landing-book-tile .book-cover,
.landing-book-tile__cover .practical-cover--landing {
	width: min(100%, 23rem);
	max-width: 23rem;
	margin-inline: auto;
}

.landing-book-tile .book-cover__image,
.landing-book-tile .practical-cover__image {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 2rem 2.6rem rgba(0, 0, 0, .38));
}

.landing-book-tile__body {
	max-width: 48rem;
	padding: 0;
}

.landing-book-tile .landing-status--plain {
	margin: 0 0 .8rem;
	color: #f1b83d;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.landing-book-tile h3 {
	margin: 0;
	font-size: clamp(2.3rem, 5vw, 4.6rem);
	line-height: 1.02;
	letter-spacing: -.03em;
}

.landing-book-tile p {
	max-width: 44rem;
	margin: .85rem 0 1.6rem;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	line-height: 1.55;
}

.landing-book-tile__cta {
	width: fit-content;
	margin-top: .15rem;
}

@media (max-width: 56rem) {
	.landing-book-tile {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding: 2.5rem 1rem 2.75rem;
	}
	.landing-book-tile .book-cover,
	.landing-book-tile__cover .practical-cover--landing {
		width: min(82vw, 23rem);
		max-width: 23rem;
	}
	.landing-book-tile__body {
		align-items: center;
		max-width: 46rem;
		margin-inline: auto;
		text-align: center;
	}
	.landing-book-tile h3 {
		font-size: clamp(2.15rem, 7vw, 3.8rem);
	}
	.landing-book-tile__cta {
		margin-inline: auto;
	}
}

@media (max-width: 36rem) {
	.landing-book-tile {
		padding-block: 2rem 2.25rem;
	}
	.landing-book-tile .book-cover,
	.landing-book-tile__cover .practical-cover--landing {
		width: min(86vw, 21rem);
	}
	.landing-book-tile h3 {
		font-size: clamp(2rem, 10vw, 3.25rem);
	}
}


/* V17.0.0 — Administration & droits / feuille de route Vie pratique. */
.collection-hero--administration-droits{background:linear-gradient(135deg,#111d2d 0%,#3a2434 100%);color:#fff}
.collection-hero--administration-droits .collection-hero__intro{color:#e9e1e5}
.catalogue-collection-block--administration{border-block-start:1px solid var(--line);padding-block-start:clamp(34px,6vw,64px)}
.collection-roadmap-note{margin-top:clamp(20px,4vw,32px);padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface,#fff) 94%,#2f7a5a 6%)}


/* V17.1.0 — pack de couvertures canoniques à dégradés : ratios intrinsèques mixtes. */
.book-cover:has(.book-cover__image){aspect-ratio:auto;}


/* V17.1.2 — visuels dynamiques Pack Accès / Pack Panorama. */
.lti-pack-product-visual {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: .7rem;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	padding: clamp(.75rem, 2.2vw, 1.3rem);
	border: 1px solid color-mix(in srgb, var(--lti-border) 78%, transparent);
	border-radius: 1.15rem;
	background:
		radial-gradient(circle at 50% 42%, rgba(56, 130, 181, .18), transparent 48%),
		linear-gradient(145deg, #071c2c 0%, #0a263b 68%, #0e3148 100%);
	box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
	isolation: isolate;
}

.lti-pack-product-visual--access {
	border-top: 4px solid var(--lti-access);
}

.lti-pack-product-visual--panorama {
	border-top: 4px solid var(--lti-panorama);
}

.lti-pack-product-visual__badge,
.lti-pack-product-visual__range {
	position: relative;
	z-index: 4;
	width: max-content;
	max-width: 100%;
	border-radius: 999px;
	font-weight: 800;
	letter-spacing: .06em;
}

.lti-pack-product-visual__badge {
	padding: .42rem .72rem;
	background: rgba(255,255,255,.92);
	color: #071c2c;
	font-size: .72rem;
}

.lti-pack-product-visual__range {
	justify-self: end;
	padding: .34rem .62rem;
	background: rgba(7, 28, 44, .82);
	color: #fff;
	font-size: .68rem;
	border: 1px solid rgba(255,255,255,.14);
}

.lti-pack-product-visual__covers {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: .35rem 0;
}

.lti-pack-product-visual__cover {
	display: block;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 12px 12px rgba(0,0,0,.34));
	transform-origin: 50% 90%;
}

.lti-pack-product-visual--access .lti-pack-product-visual__cover {
	width: 43%;
}

.lti-pack-product-visual--access .lti-pack-product-visual__cover--1 {
	transform: rotate(-5deg) translateX(7%);
	z-index: 1;
}

.lti-pack-product-visual--access .lti-pack-product-visual__cover--2 {
	margin-left: -8%;
	transform: rotate(5deg) translateX(-3%);
	z-index: 2;
}

.lti-pack-product-visual--panorama .lti-pack-product-visual__cover {
	width: 26%;
	margin-left: -9%;
}

.lti-pack-product-visual--panorama .lti-pack-product-visual__cover:first-child {
	margin-left: 0;
}

.lti-pack-product-visual--panorama .lti-pack-product-visual__cover--1 { transform: rotate(-9deg) translateY(7%); z-index: 1; }
.lti-pack-product-visual--panorama .lti-pack-product-visual__cover--2 { transform: rotate(-5deg) translateY(3%); z-index: 2; }
.lti-pack-product-visual--panorama .lti-pack-product-visual__cover--3 { transform: rotate(0deg); z-index: 5; }
.lti-pack-product-visual--panorama .lti-pack-product-visual__cover--4 { transform: rotate(5deg) translateY(3%); z-index: 4; }
.lti-pack-product-visual--panorama .lti-pack-product-visual__cover--5 { transform: rotate(9deg) translateY(7%); z-index: 3; }

.woocommerce ul.products li.product .lti-pack-product-visual {
	margin-bottom: 1rem;
}

.woocommerce-product-gallery--pack .lti-pack-product-visual {
	max-width: 38rem;
	margin-inline: auto;
}

@media (max-width: 640px) {
	.lti-pack-product-visual {
		border-radius: .9rem;
	}
	.lti-pack-product-visual--panorama .lti-pack-product-visual__cover {
		width: 28%;
	}
}

/* V17.1.4 — lisibilité stricte et précommandes 2026. */
.single-book--regards .single-book__summary,.single-book--regards .book-content-section__main{color:#eef4f7}
.single-book--regards .single-book__summary strong,.single-book--regards .book-content-section__main strong{color:#fff}
.editor-placeholder:empty{display:none!important}

/* SITE-001 V17.2.0 */
.header-account-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.55rem;padding:.55rem .8rem;border:1px solid var(--lti-line);border-radius:999px;color:var(--lti-ink);font-weight:800;font-size:.82rem;white-space:nowrap;text-decoration:none}
.header-account-link:hover,.header-account-link:focus-visible{background:var(--lti-surface-strong);color:var(--lti-ink)}
.access-gate__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.woocommerce-account .le3i-library{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))!important;gap:1rem!important}
.woocommerce-account .le3i-library-card,.woocommerce-account .le3i-book-card{width:100%!important;max-width:none!important;min-width:0!important}
.woocommerce-account .le3i-library-card img,.woocommerce-account .le3i-book-card img{max-width:10rem!important;height:auto!important;object-fit:contain!important}
.woocommerce-account .le3i-library-card .button,.woocommerce-account .le3i-book-card .button{white-space:normal!important;word-break:normal!important;min-width:9rem!important;line-height:1.2!important}
.woocommerce-account .woocommerce-MyAccount-navigation a{color:#f7f3ea!important}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:#fff!important;background:#24557f!important}

/* SITE-001 V17.2.2 */
.woocommerce-account .le3i-page-header h2{color:#f5f1e8!important}
.woocommerce-account .le3i-page-header p{color:#aebccd!important}
.woocommerce-account .le3i-page-header .le3i-eyebrow{color:#d6ad4b!important}
.woocommerce-account .le3i-resource-card,.woocommerce-account .le3i-newsletter-card,.woocommerce-account .le3i-activation-form{color:#182235!important}
.woocommerce-account .le3i-resource-card h3,.woocommerce-account .le3i-newsletter-card strong,.woocommerce-account .le3i-activation-form label{color:#182235!important}
.woocommerce-account .le3i-resource-card p,.woocommerce-account .le3i-newsletter-card p{color:#667085!important}
.woocommerce-account .le3i-resource-card__image img{object-fit:contain!important;background:#071725}
.woocommerce-account .le3i-resource-card__footer .button{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;min-width:10rem!important}
@media(max-width:650px){.woocommerce-account .le3i-resource-card{grid-template-columns:110px minmax(0,1fr)!important}.woocommerce-account .le3i-resource-card__image{height:auto!important;min-height:220px}}
@media(max-width:480px){.woocommerce-account .le3i-resource-card{grid-template-columns:1fr!important}.woocommerce-account .le3i-resource-card__image{height:220px!important;min-height:0}}

/* V17.2.4 — SITE-001 : en-tête lisible sur ordinateur étroit */
@media (min-width: 1181px) and (max-width: 1360px) {
	.home .site-header__inner {
		grid-template-columns: auto auto 1fr;
	}

	.home .nav-toggle {
		display: inline-grid;
		grid-column: 2;
	}

	.home .primary-navigation {
		position: fixed;
		z-index: 999;
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height));
		left: 0;
		width: 100%;
		max-height: calc(100vh - var(--lti-header-height) - var(--lti-collection-subnav-height));
		padding: 1rem;
		border-bottom: 1px solid var(--lti-line);
		background: #06131d;
		box-shadow: var(--lti-shadow-card);
		overflow: auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-0.6rem);
		transition: opacity var(--lti-transition), transform var(--lti-transition), visibility var(--lti-transition);
	}

	.admin-bar.home .primary-navigation {
		top: calc(var(--lti-header-height) + var(--lti-collection-subnav-height) + 32px);
		max-height: calc(100vh - var(--lti-header-height) - var(--lti-collection-subnav-height) - 32px);
	}

	.home .primary-navigation.is-open {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.home .primary-menu {
		align-items: stretch;
		flex-direction: column;
		max-width: var(--lti-container-wide);
		margin-inline: auto;
	}

	.home .primary-menu a {
		padding-inline: 1rem;
		border-radius: var(--lti-radius-md);
	}

	.home .primary-menu .sub-menu {
		position: static;
		width: auto;
		margin: 0 0 0.5rem 1rem;
		padding: 0;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.home .site-header__tools {
		grid-column: 3;
		grid-row: 1;
	}

	.home .collection-subnav__list {
		gap: 0.3rem;
	}

	.home .collection-subnav__item {
		padding-inline: 0.7rem;
		font-size: 0.72rem;
	}
}

/* V17.2.4 — SITE-001 : couverture détourée Regards mise en avant */
.home .landing-book-tile--featured .landing-book-tile__cover {
	animation: lti-float-featured-regards 5.2s ease-in-out -0.7s infinite;
	filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.24));
	will-change: transform;
}

.home .landing-book-tile--featured .landing-book-tile__standalone-cover {
	width: min(112%, 28rem);
	max-width: none;
}

@keyframes lti-float-featured-regards {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.15deg); }
	25% { transform: translate3d(0.12rem, -0.45rem, 0) rotate(0.25deg); }
	50% { transform: translate3d(0, -1.15rem, 0) rotate(-0.1deg); }
	75% { transform: translate3d(-0.12rem, -0.55rem, 0) rotate(0.2deg); }
}

/* V17.2.4 — SITE-001 : appel newsletter visible sur l’accueil */
.home .landing-newsletter .lti-newsletter-form .button {
	border-color: #d5a247;
	background: #d5a247;
	color: #06131d;
}

.home .landing-newsletter .lti-newsletter-form .button:hover,
.home .landing-newsletter .lti-newsletter-form .button:focus-visible {
	border-color: #edc979;
	background: #edc979;
	color: #06131d;
}

/* V17.2.4 — SITE-001 : philosophie éditoriale sur l’accueil */
.home .landing-philosophy {
	padding: clamp(3.4rem, 6vw, 5.6rem) 0;
	background: linear-gradient(180deg, #091a26 0%, #07151f 100%);
	color: var(--landing-ivory);
}

.home .landing-philosophy__panel {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
	padding: clamp(1.7rem, 4vw, 3.5rem);
	border: 1px solid rgba(213, 162, 71, .28);
	border-radius: 1.2rem;
	background: radial-gradient(circle at 8% 14%, rgba(213, 162, 71, .12), transparent 36%), #0b1d2a;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .2);
}

.home .landing-philosophy .eyebrow {
	margin: 0 0 .8rem;
	color: var(--landing-gold-soft);
}

.home .landing-philosophy h2 {
	margin: 0;
	font-family: var(--lti-font-serif);
	font-size: clamp(2rem, 3.8vw, 3.25rem);
	line-height: 1.08;
	color: var(--landing-ivory);
}

.home .landing-philosophy__body p {
	margin: 0 0 1rem;
	font-size: clamp(1rem, 1.35vw, 1.13rem);
	line-height: 1.7;
	color: #d5dde2;
}

.home .landing-philosophy__body .button {
	margin-top: .55rem;
}

@media (max-width: 48rem) {
	.home .landing-philosophy__panel {
		grid-template-columns: 1fr;
	}
}

/* V17.2.4 — SITE-001 : ressources de l’espace lecteur sur l’accueil */
.home .landing-reader-resources {
	padding: 0 0 clamp(3.5rem, 6vw, 5.5rem);
	background: #07151f;
	color: var(--landing-ivory);
}

.home .landing-reader-resources__panel {
	display: grid;
	grid-template-columns: minmax(12rem, .42fr) minmax(0, 1.58fr);
	gap: clamp(1.6rem, 4vw, 3.6rem);
	align-items: center;
	padding: clamp(1.5rem, 3.5vw, 3rem);
	border: 1px solid rgba(213, 162, 71, .22);
	border-radius: 1.2rem;
	background: linear-gradient(135deg, rgba(14, 42, 59, .98), rgba(8, 27, 40, .98));
}

.home .landing-reader-resources__visual {
	display: grid;
	place-items: center;
	gap: .85rem;
	min-height: 12rem;
	padding: 1.5rem;
	border: 1px solid rgba(237, 201, 121, .24);
	border-radius: 1rem;
	background: radial-gradient(circle, rgba(213, 162, 71, .15), transparent 68%);
	color: var(--landing-gold-soft);
	text-align: center;
}

.home .landing-reader-resources__visual span {
	display: inline-grid;
	place-items: center;
	width: 4.75rem;
	height: 4.75rem;
	border: 1px solid rgba(237, 201, 121, .42);
	border-radius: 50%;
}

.home .landing-reader-resources__visual svg {
	width: 2rem;
	height: 2rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.home .landing-reader-resources__visual strong {
	font-size: .78rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.home .landing-reader-resources .eyebrow {
	margin: 0 0 .65rem;
	color: var(--landing-gold-soft);
}

.home .landing-reader-resources h2 {
	margin: 0 0 1.1rem;
	font-family: var(--lti-font-serif);
	font-size: clamp(1.9rem, 3.4vw, 3rem);
	line-height: 1.1;
	color: var(--landing-ivory);
}

.home .landing-reader-resources__copy > p:not(.eyebrow) {
	max-width: 52rem;
	margin: 0 0 .8rem;
	line-height: 1.65;
	color: #d5dde2;
}

.home .landing-reader-resources__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 1.35rem;
}

@media (max-width: 48rem) {
	.home .landing-reader-resources__panel {
		grid-template-columns: 1fr;
	}

	.home .landing-reader-resources__visual {
		min-height: 9rem;
	}
}

/* V17.2.4 — SITE-002 : couvertures Vie pratique et contraste Regards d’IA. */
.practical-cover {
	position: relative;
	display: block;
	overflow: visible;
}

.practical-cover__status {
	position: absolute;
	z-index: 5;
	left: 18.4%;
	right: 12.2%;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 15%;
	min-height: 0;
	padding: .15em .45em .08em;
	background: #dc0812;
	box-shadow: 0 .35rem .7rem rgba(0, 0, 0, .18);
	color: #fff;
	font-size: clamp(.55rem, 1vw, 1rem);
	font-weight: 950;
	letter-spacing: .045em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
}

.section--regards-book .regards-book-feature__copy {
	color: #26354a;
}

.section--regards-book .regards-book-feature__copy h2 {
	color: #17243a;
}

.section--regards-book .regards-book-feature__copy > p:not(.eyebrow):not(.regards-book-feature__subtitle) {
	color: #415168;
}

.section--regards-book .regards-book-feature__copy .eyebrow {
	color: #237b7b;
}

.section--regards-book .regards-book-feature__copy .regards-book-feature__subtitle {
	color: #755620;
}

.section--regards-book .regards-book-feature__copy .button--ghost {
	border-color: #37536d;
	color: #17243a;
}

.section--regards-book .regards-book-feature__copy .button--ghost:hover,
.section--regards-book .regards-book-feature__copy .button--ghost:focus-visible {
	border-color: #17243a;
	background: #17243a;
	color: #fff;
}

/* V17.2.4 — SITE-002 : résumé vendeur du premier titre sur l’accueil. */
.home .landing-book-tile--featured .landing-book-tile__subtitle {
	margin: .75rem 0 .4rem;
	color: #c4d0d8;
	font-size: clamp(1rem, 1.35vw, 1.16rem);
}

.home .landing-book-tile--featured .landing-book-tile__pitch {
	max-width: 43rem;
	margin: 0 0 1.55rem;
	color: #e3e9ed;
	font-size: clamp(1.05rem, 1.5vw, 1.24rem);
	line-height: 1.62;
}

