/* Wonder Luck Casino — panel-smart.css */

:root {
	/* colors */
	--accent-main: #061119;
	--accent: #fad768;
	--highlight-active: #f7c53e;
	--surface: #040b10;
	--surface-raised: #0c1822;
	--gradient-from: #a79162;
	--gradient-to: #d2c2aa;
	--text: #ffffff;
	--ink-soft: #c1c0c0;
	--alert-bg: #dc2626;

	/* fonts */
	--display-font: "Poppins", Arial, sans-serif;
	--body-font: "Cinzel", "Times New Roman", serif;

	/* typography TYPO-02 (desktop) */
	--text-h1: 44px;
	--size-h2: 34px;
	--type-h3: 26px;
	--type-h4: 20px;
	--text-h5: 16px;
	--size-h6: 14px;
	--text-base: 16px;
	--text-sm: 14px;
	--type-micro: 12px;
	--leading-tight: 1.2;
	--lh-base: 1.55;
	--leading-loose: 1.7;
	--letter-tight: -0.01em;
	--ls-normal-x: 0;
	--letter-wide: 0.02em;
	--weight-regular: 400;
	--weight-medium: 500;
	--font-bold: 700;

	/* spacing SPACE-01 */
	--gap-2xs: 4px;
	--gap-xs: 8px;
	--gap-sm: 12px;
	--gutter-md: 16px;
	--gap-lg: 24px;
	--gap-xl: 40px;
	--gap-2xl: 64px;
	--gutter-3xl: 96px;

	/* container CONT-08 (+ spec container_site) */
	--container: 980px;
	--measure: 550px;
	--gutter-mobile: 16px;
	--container-padding-tablet-x: 32px;
	--inset-desktop: 56px;

	/* breakpoints BP-04 (reference) */
	--bp-sm-x: 540px;
	--bp-md-x: 880px;
	--bp-lg-x: 1120px;
	--bp-xl-x: 1440px;

	/* geometry GEO-07 */
	--round-xs: 4px;
	--corner-sm: 8px;
	--corner: 12px;
	--corner-lg: 16px;
	--round-full: 9999px;
	--circle: 50%;
	--depth-lg: 0 8px 24px rgba(0, 0, 0, 0.1);
	--border-width: 1px;
	--border-medium-x: 2px;
	--border-thick-x: 3px;

	/* motion MOTION-04 */
	--speed-fast: 80ms;
	--duration-base: 120ms;
	--transition-slow: 180ms;
	--easing: cubic-bezier(0.5, 0, 0.5, 1);

	--header-height-desktop-x: 96px;
	--header-h-mobile: 64px;
}

/* mobile typography overrides */
@media (max-width: 880px) {
	:root {
		--text-h1: 30px;
		--size-h2: 24px;
		--type-h3: 20px;
		--type-h4: 18px;
		--text-h5: 15px;
		--size-h6: 13px;
		--text-base: 15px;
		--text-sm: 13px;
		--type-micro: 11px;
	}
}

/* reset / base */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--surface);
	color: var(--text);
	font-family: var(--body-font);
	font-size: var(--text-base);
	font-weight: var(--weight-regular);
	line-height: var(--lh-base);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--highlight-active); }
h1, h2, h3, h4, h5, h6 { margin: 0 0 var(--gutter-md); line-height: var(--leading-tight); }
h1, h2 { font-family: var(--display-font); font-weight: var(--font-bold); letter-spacing: var(--letter-tight); }
h3 { font-family: var(--body-font); font-weight: var(--font-bold); }
h4, h5, h6 { font-family: var(--body-font); font-weight: var(--weight-medium); }
h1 { font-size: var(--text-h1); }
h2 { font-size: var(--size-h2); }
h3 { font-size: var(--type-h3); }
p { margin: 0 0 var(--gutter-md); }

/* a11y */
.skip-link {
	position: absolute;
	left: var(--gutter-md);
	top: var(--gutter-md);
	z-index: 999;
	background: var(--accent);
	color: var(--surface);
	padding: var(--gap-xs) var(--gutter-md);
	border-radius: var(--corner);
	font-family: var(--display-font);
	font-weight: var(--font-bold);
}
.skip-link:not(:focus) { top: -200px !important; }
.sr-only {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* shared frame */
.frame {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding-inline: var(--inset-desktop);
}
.btn {
	display: inline-block;
	font-family: var(--body-font);
	font-weight: var(--weight-medium);
	font-size: var(--text-base);
	letter-spacing: var(--letter-wide);
	background: var(--accent);
	color: var(--surface);
	border: var(--border-width) solid var(--accent);
	border-style: solid;
	border-radius: var(--corner);
	padding: var(--gap-sm) var(--gap-lg);
	cursor: pointer;
	transition: background var(--speed-fast) var(--easing), color var(--speed-fast) var(--easing);
}
.btn:hover { background: var(--highlight-active); color: var(--surface); }

/* ===== HEADER — HEAD-12 Drawer-Only + STICKY-02 ===== */
.baldaquin-secret {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--surface);
	transition: padding var(--duration-base) var(--easing);
}
.baldaquin-secret-inner {
	display: flex;
	align-items: center;
	gap: var(--gutter-md);
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gutter-md) var(--inset-desktop);
}
.baldaquin-secret-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.baldaquin-secret-logo img {
	flex-shrink: 0;
	height: var(--header-height-desktop-x);
	width: auto;
	transition: height var(--duration-base) var(--easing);
}
.baldaquin-secret.is-shrunk .baldaquin-secret-inner { padding-block: var(--gap-xs); }
.baldaquin-secret.is-shrunk .baldaquin-secret-logo img { height: 72px; }
.baldaquin-secret-actions {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: var(--gap-sm);
}
.baldaquin-secret-auth {
	white-space: nowrap;
	flex-shrink: 0;
	font-family: var(--display-font);
	font-weight: var(--font-bold);
	font-size: var(--text-sm);
	letter-spacing: var(--letter-wide);
	text-transform: uppercase;
	background: transparent;
	border: var(--border-width) solid var(--text);
	color: var(--text);
	border-radius: var(--corner);
	padding: var(--gap-xs) var(--gap-lg);
	transition: background var(--speed-fast) var(--easing), color var(--speed-fast) var(--easing);
}
.baldaquin-secret-auth:hover { background: var(--text); color: var(--surface); }
.baldaquin-secret-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--gap-xs);
	background: transparent;
	border: 0;
	color: var(--text);
	font-family: var(--display-font);
	font-weight: var(--font-bold);
	font-size: var(--text-h5);
	letter-spacing: var(--letter-wide);
	cursor: pointer;
	transition: color var(--speed-fast) var(--easing);
}
.baldaquin-secret-toggle:hover { color: var(--accent); }
.baldaquin-secret-toggle svg { width: 24px; height: 24px; }

/* drawer */
.baldaquin-secret-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 360px;
	max-width: 100vw;
	background: var(--accent-main);
	z-index: 210;
	transform: translateX(100%);
	transition: transform var(--transition-slow) var(--easing);
	padding: var(--gap-lg);
	overflow-y: auto;
}
body.is-open .baldaquin-secret-drawer { transform: translateX(0); }
.baldaquin-secret-drawer-close {
	width: 40px; height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	margin-bottom: var(--gutter-md);
	border: 0;
	border-radius: var(--circle);
	background: transparent;
	color: var(--text);
	cursor: pointer;
	transition: background var(--speed-fast) var(--easing);
}
.baldaquin-secret-drawer-close:hover { background: rgba(255, 255, 255, 0.1); }
.baldaquin-secret-drawer-close svg { width: 22px; height: 22px; }
.baldaquin-secret-drawer-nav ul { list-style: none; margin: 0; padding: 0; }
.baldaquin-secret-drawer-nav li { margin-bottom: var(--gap-sm); }
.baldaquin-secret-drawer-nav a {
	display: block;
	font-family: var(--display-font);
	font-weight: var(--font-bold);
	font-size: var(--text-h5);
	color: var(--text);
	padding: var(--gap-xs) 0;
	transition: color var(--speed-fast) var(--easing);
}
.baldaquin-secret-drawer-nav a:hover,
.baldaquin-secret-drawer-nav a[aria-current="page"] { color: var(--accent); }
.baldaquin-secret-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 205;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--duration-base) var(--easing);
}
body.is-open .baldaquin-secret-backdrop { opacity: 1; visibility: visible; }
@media (max-width: 540px) {
	.baldaquin-secret-inner { padding-inline: var(--gutter-mobile); }
	.baldaquin-secret-logo img { height: var(--header-h-mobile); }
	.baldaquin-secret.is-shrunk .baldaquin-secret-logo img { height: 56px; }
	.baldaquin-secret-drawer { width: 100vw; }
}
@media (min-width: 541px) and (max-width: 1120px) {
	.baldaquin-secret-inner { padding-inline: var(--container-padding-tablet-x); }
	.baldaquin-secret-logo img { height: 80px; }
}

/* ===== HERO — HERO-07 Top-Tile + Text Below ===== */
.tribune-classique { background: var(--surface); }
.tribune-classique-figure {
	margin: 0;
	width: 100%;
	position: relative;
}
.tribune-classique-figure img {
	width: 100%;
	height: 400px;
	object-fit: cover;
}
.tribune-classique-figure::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 120px;
	background: linear-gradient(to bottom, rgba(4, 11, 16, 0), var(--surface));
	pointer-events: none;
}
.tribune-classique-content {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-2xl) var(--inset-desktop);
	text-align: left;
}
.tribune-classique-eyebrow {
	font-family: var(--display-font);
	font-size: var(--text-sm);
	font-weight: var(--font-bold);
	text-transform: uppercase;
	letter-spacing: var(--letter-wide);
	color: var(--accent);
	margin-bottom: var(--gap-sm);
}
.tribune-classique h1 { font-size: var(--text-h1); margin-bottom: var(--gutter-md); }
.tribune-classique-subtitle {
	font-size: var(--text-h5);
	color: var(--ink-soft);
	max-width: 720px;
	margin-bottom: var(--gap-lg);
}
.tribune-classique-cta { margin-top: var(--gap-xs); }
@media (max-width: 880px) {
	.tribune-classique-figure img { height: 220px; }
	.tribune-classique-content { padding-block: var(--gap-xl); }
}

/* ===== PAGE HEADER — PHEAD-04 Two-Column ===== */
.stalle-brut { background: var(--surface); border-bottom: var(--border-width) dashed rgba(255, 255, 255, 0.12); }
.stalle-brut-inner {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-2xl) var(--inset-desktop);
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: var(--gap-2xl);
	align-items: end;
}
.stalle-brut-eyebrow {
	font-family: var(--display-font);
	font-size: var(--text-sm);
	font-weight: var(--font-bold);
	text-transform: uppercase;
	letter-spacing: var(--letter-wide);
	color: var(--accent);
	margin-bottom: var(--gap-sm);
}
.stalle-brut h1 { font-size: var(--text-h1); margin: 0; }
.stalle-brut-desc { font-size: var(--text-h5); color: var(--ink-soft); margin: 0; }
.stalle-brut-meta { font-size: var(--text-sm); color: var(--ink-soft); margin-top: var(--gap-sm); }
@media (max-width: 880px) {
	.stalle-brut-inner { grid-template-columns: 1fr; gap: var(--gutter-md); padding-block: var(--gap-xl); }
}

/* ===== BREADCRUMBS — BREAD-03 Chevron Editorial ===== */
.catafalque-vif {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gutter-md) var(--inset-desktop);
	font-family: var(--body-font);
	font-size: var(--text-sm);
}
.catafalque-vif ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; }
.catafalque-vif a { color: var(--ink-soft); }
.catafalque-vif a:hover { color: var(--accent); }
.catafalque-vif [aria-current="page"] { color: var(--text); }
.catafalque-vif-sep { color: rgba(250, 215, 104, 0.7); margin-inline: var(--gap-xs); }

/* ===== PROSE — PROSE-03 Bordered Sidebar Notes ===== */
.ecrin-dore {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-xl) var(--inset-desktop);
}
.ecrin-dore-column { max-width: var(--measure); }
.ecrin-dore h2 { font-size: var(--size-h2); margin-top: var(--gap-2xl); }
.ecrin-dore h2:first-child { margin-top: 0; }
.ecrin-dore p {
	padding-left: var(--gap-lg);
	border-left: var(--border-thick-x) solid rgba(167, 145, 98, 0.4);
	color: var(--text);
	line-height: var(--leading-loose);
}
.ecrin-dore section:nth-of-type(even) p { border-left-color: rgba(250, 215, 104, 0.45); }
.ecrin-dore ul {
	padding-left: calc(var(--gap-lg) + var(--gutter-md));
	border-left: var(--border-thick-x) solid rgba(167, 145, 98, 0.4);
	margin: 0 0 var(--gutter-md);
	color: var(--ink-soft);
	line-height: var(--leading-loose);
}
.ecrin-dore li { margin-bottom: var(--gap-2xs); }
.ecrin-dore a { text-decoration: underline; }

/* ===== ITEMS GRID — GRID-10 Compact 4-Column Tile ===== */
.ostensoir-austere {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-xl) var(--inset-desktop);
}
.ostensoir-austere h2 { font-size: var(--size-h2); margin-bottom: var(--gap-lg); }
.ostensoir-austere-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gutter-md);
	list-style: none;
	margin: 0;
	padding: 0;
}
.ostensoir-austere-card {
	background: rgba(6, 17, 25, 0.04);
	border: var(--border-width) dashed rgba(255, 255, 255, 0.14);
	border-radius: var(--corner-sm);
	padding: var(--gutter-md);
	min-height: 180px;
	display: flex;
	flex-direction: column;
	gap: var(--gap-xs);
	transition: border-color var(--speed-fast) var(--easing), background var(--speed-fast) var(--easing);
}
.ostensoir-austere-card:hover { border-color: var(--accent); background: rgba(250, 215, 104, 0.06); }
.ostensoir-austere-num {
	font-family: var(--display-font);
	font-weight: var(--font-bold);
	font-size: var(--type-h3);
	color: var(--accent);
}
.ostensoir-austere-card h3 { font-size: var(--text-h5); margin: 0; }
.ostensoir-austere-card p { font-size: var(--text-sm); color: var(--ink-soft); margin: 0; }
@media (max-width: 1120px) { .ostensoir-austere-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 880px) { .ostensoir-austere-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .ostensoir-austere-list { grid-template-columns: 1fr; } }

/* ===== REVIEWS — REV-07 Grid Color-Coded Ratings ===== */
.bosquet-profond {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-xl) var(--inset-desktop);
}
.bosquet-profond h2 { font-size: var(--size-h2); margin-bottom: var(--gap-lg); }
.bosquet-profond-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gutter-md);
	list-style: none;
	margin: 0;
	padding: 0;
}
.bosquet-profond-card {
	padding: var(--gap-lg);
	border-radius: var(--corner);
	background: var(--surface-raised);
	border: var(--border-width) dashed rgba(255, 255, 255, 0.1);
}
.bosquet-profond-card.is-high { background: rgba(250, 215, 104, 0.08); }
.bosquet-profond-card.is-low { background: rgba(6, 17, 25, 0.5); }
.bosquet-profond-head { display: flex; align-items: baseline; gap: var(--gap-sm); margin-bottom: var(--gap-xs); }
.bosquet-profond-rating {
	font-family: var(--display-font);
	font-weight: var(--font-bold);
	font-size: var(--size-h2);
	color: var(--accent);
	line-height: 1;
}
.bosquet-profond-dots { letter-spacing: 2px; color: var(--accent); font-size: var(--text-sm); }
.bosquet-profond-author { font-family: var(--display-font); font-weight: var(--font-bold); font-size: var(--text-base); }
.bosquet-profond-date { font-size: var(--type-micro); color: var(--ink-soft); }
.bosquet-profond-text { font-size: var(--text-base); color: var(--ink-soft); margin: var(--gap-xs) 0 0; line-height: var(--lh-base); }
@media (max-width: 880px) { .bosquet-profond-list { grid-template-columns: 1fr; } }

/* ===== FAQ — FAQ-01 Classic Accordion ===== */
.sanctuaire-robuste {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-2xl) var(--inset-desktop);
}
.sanctuaire-robuste h2 { font-size: var(--size-h2); margin-bottom: var(--gap-lg); }
.sanctuaire-robuste-list { margin: 0; }
.sanctuaire-robuste-item { border-bottom: var(--border-width) solid rgba(255, 255, 255, 0.1); padding-block: var(--gutter-md); }
.sanctuaire-robuste-question {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--gutter-md);
	text-align: left;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
	font-family: var(--body-font);
	font-weight: var(--font-bold);
	font-size: var(--text-h5);
	color: var(--text);
	transition: color var(--speed-fast) var(--easing);
}
.sanctuaire-robuste-question:hover { color: var(--accent); }
.sanctuaire-robuste-icon {
	color: var(--accent);
	font-size: 24px;
	line-height: 1;
	flex-shrink: 0;
	transition: transform var(--speed-fast) var(--easing);
}
.sanctuaire-robuste-question[aria-expanded="true"] .sanctuaire-robuste-icon { transform: rotate(45deg); }
.sanctuaire-robuste-answer { padding-top: var(--gap-sm); }
.sanctuaire-robuste-answer[hidden] { display: none; }
.sanctuaire-robuste-answer p { font-size: var(--text-base); line-height: var(--leading-loose); color: var(--ink-soft); margin: 0; }

/* ===== DATA TABLE — TABLE-02 Borderless Editorial ===== */
.garde-corps-pur {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-2xl) var(--inset-desktop);
}
.garde-corps-pur-scroll { overflow-x: auto; }
.garde-corps-pur table { width: 100%; border-collapse: collapse; }
.garde-corps-pur thead th {
	font-family: var(--display-font);
	font-weight: var(--font-bold);
	font-size: var(--text-sm);
	text-transform: uppercase;
	letter-spacing: var(--letter-wide);
	color: var(--text);
	text-align: left;
	padding-block: var(--gutter-md);
	padding-inline: var(--gutter-md);
	border-bottom: var(--border-medium-x) solid var(--accent);
}
.garde-corps-pur tbody td {
	padding: var(--gutter-md);
	font-size: var(--text-base);
	color: var(--ink-soft);
	border-bottom: var(--border-width) solid rgba(255, 255, 255, 0.06);
}
.garde-corps-pur tbody td:first-child { color: var(--text); font-weight: var(--weight-medium); }
.garde-corps-pur tbody tr:last-child td { border-bottom: none; }

/* ===== CTA — CTA-10 Magazine Pull-Quote ===== */
.presbytere-sombre {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gutter-3xl) var(--inset-desktop);
	text-align: center;
}
.presbytere-sombre-statement {
	margin: 0 auto var(--gutter-md);
	max-width: 900px;
	position: relative;
}
.presbytere-sombre-statement p {
	font-family: var(--display-font);
	font-size: var(--text-h1);
	font-style: italic;
	font-weight: var(--font-bold);
	line-height: var(--leading-tight);
	margin: 0;
}
.presbytere-sombre-statement::before {
	content: "\201C";
	display: block;
	font-family: var(--display-font);
	font-size: 96px;
	line-height: 0.6;
	color: var(--accent);
	margin-bottom: var(--gap-xs);
}
.presbytere-sombre-sub { font-size: var(--text-base); line-height: var(--leading-loose); color: var(--ink-soft); max-width: 580px; margin: 0 auto var(--gap-lg); }
.presbytere-sombre-link {
	font-family: var(--body-font);
	font-size: var(--text-h5);
	text-transform: uppercase;
	letter-spacing: var(--letter-wide);
	color: var(--accent);
	text-decoration: underline;
}
.presbytere-sombre-link:hover { color: var(--highlight-active); }

/* ===== AUTHOR BYLINE — BYLINE-01 Compact Inline ===== */
.crucifix-fin {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gutter-md) var(--inset-desktop) var(--gap-2xl);
}
.crucifix-fin-inner { display: flex; align-items: center; gap: var(--gap-sm); }
.crucifix-fin-portrait {
	width: 48px; height: 48px;
	border-radius: var(--circle);
	overflow: hidden;
	flex-shrink: 0;
	display: block;
}
.crucifix-fin-portrait img { width: 48px; height: 48px; object-fit: cover; object-position: center top; }
.crucifix-fin-text { display: block; }
.crucifix-fin-attribution { font-family: var(--body-font); font-size: var(--text-base); color: var(--ink-soft); margin: 0; }
.crucifix-fin-name { color: var(--accent); text-decoration: underline; }
.crucifix-fin-role { font-size: var(--text-sm); font-style: italic; color: var(--ink-soft); margin-top: var(--gap-2xs); }
.crucifix-fin-dates { font-size: var(--type-micro); color: var(--ink-soft); margin-top: var(--gap-2xs); }

/* ===== AUTHOR CARD — AUTH-06 Full-Hero Style ===== */
.receptacle-fluide { background: linear-gradient(135deg, var(--accent-main), var(--surface)); }
.receptacle-fluide-inner {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gutter-3xl) var(--inset-desktop);
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: var(--gap-2xl);
	align-items: center;
}
.receptacle-fluide-portrait {
	width: 280px;
	aspect-ratio: 4 / 5;
	border-radius: var(--corner-lg);
	object-fit: cover;
	object-position: center top;
	box-shadow: var(--depth-lg);
}
.receptacle-fluide-body { display: block; }
.receptacle-fluide-eyebrow {
	font-family: var(--body-font);
	font-size: var(--text-sm);
	text-transform: uppercase;
	letter-spacing: var(--letter-wide);
	color: var(--accent);
	margin-bottom: var(--gap-sm);
}
.receptacle-fluide h1 { font-size: clamp(40px, 6vw, 64px); margin-bottom: var(--gutter-md); }
.receptacle-fluide-bio { font-size: var(--text-h5); line-height: var(--lh-base); color: rgba(255, 255, 255, 0.85); max-width: 540px; margin-bottom: var(--gutter-md); }
.receptacle-fluide-expertise { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--gap-xs); }
.receptacle-fluide-expertise li {
	font-size: var(--text-sm);
	color: var(--text);
	border: var(--border-width) dashed rgba(250, 215, 104, 0.5);
	border-radius: var(--round-full);
	padding: var(--gap-2xs) var(--gap-sm);
}
@media (max-width: 880px) {
	.receptacle-fluide-inner { grid-template-columns: 1fr; gap: var(--gap-lg); }
	.receptacle-fluide-portrait { width: 220px; }
}

/* ===== LEGAL — LEGAL-08 Minimal Plain ===== */
.credence-lumineux {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-xl) var(--inset-desktop);
	background: var(--surface);
}
.credence-lumineux-column { max-width: var(--measure); }
.credence-lumineux h2 { font-family: var(--body-font); font-weight: var(--font-bold); font-size: var(--type-h3); margin-top: var(--gap-xl); }
.credence-lumineux h2:first-child { margin-top: 0; }
.credence-lumineux p { font-size: var(--text-base); line-height: var(--leading-loose); color: var(--ink-soft); }
.credence-lumineux ul { color: var(--ink-soft); line-height: var(--leading-loose); }
.credence-lumineux-meta { font-size: var(--text-sm); color: var(--ink-soft); }
.credence-lumineux-disclaimer { display: block; margin-top: var(--gap-lg); font-size: var(--text-sm); color: var(--ink-soft); }

/* ===== CONTACT FORM — FORM-08 Asymmetric Wide Submit ===== */
.calice-prime {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-2xl) var(--inset-desktop);
}
.calice-prime-box {
	background: var(--surface-raised);
	padding: var(--gap-xl);
	border-radius: var(--corner);
	max-width: var(--measure);
}
.calice-prime-form { display: block; }
.calice-prime-intro { color: var(--ink-soft); margin-bottom: var(--gap-lg); }
.calice-prime-field { margin-bottom: var(--gap-lg); }
.calice-prime-field label { display: block; font-family: var(--display-font); font-size: var(--text-sm); font-weight: var(--weight-medium); margin-bottom: var(--gap-xs); }
.calice-prime-field input,
.calice-prime-field textarea {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: var(--border-medium-x) dashed rgba(255, 255, 255, 0.3);
	color: var(--text);
	font-family: var(--body-font);
	font-size: var(--text-base);
	padding: var(--gap-xs) 0;
}
.calice-prime-field input:focus,
.calice-prime-field textarea:focus { outline: none; border-bottom-color: var(--accent); }
.calice-prime-field textarea { min-height: 120px; resize: vertical; }
.calice-prime-submit {
	width: 100%;
	height: 72px;
	font-family: var(--display-font);
	font-size: var(--type-h4);
	font-weight: var(--font-bold);
	text-transform: uppercase;
	letter-spacing: var(--letter-wide);
	background: var(--accent);
	color: var(--surface);
	border: 0;
	border-radius: var(--corner);
	cursor: pointer;
	transition: background var(--speed-fast) var(--easing), color var(--speed-fast) var(--easing);
}
.calice-prime-submit:hover { background: var(--highlight-active); color: var(--surface); }
.calice-prime-success {
	margin-top: var(--gutter-md);
	padding: var(--gutter-md);
	border: var(--border-width) dashed var(--accent);
	border-radius: var(--corner);
	color: var(--text);
}
.calice-prime-success[hidden] { display: none; }

/* ===== ERROR — ERR-06 Bordered Card ===== */
.guéridon-grand { padding: var(--gutter-3xl) var(--inset-desktop); }
.guéridon-grand-card {
	background: var(--surface-raised);
	border: var(--border-medium-x) solid var(--accent);
	border-radius: var(--corner-lg);
	padding: var(--gap-2xl);
	max-width: 720px;
	margin-inline: auto;
	box-shadow: var(--depth-lg);
	display: flex;
	flex-direction: column;
	gap: var(--gutter-md);
	align-items: center;
	text-align: center;
}
.guéridon-grand-card p { color: var(--ink-soft); margin: 0; }

/* ===== FOOTER — FOOT-07 Side-Anchored Asymmetric ===== */
.prie-dieu-profond { background: var(--accent-main); }
.prie-dieu-profond-inner {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding-block: var(--gap-2xl);
	padding-inline: var(--inset-desktop);
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: var(--gap-2xl);
}
.prie-dieu-profond-logo img { height: 72px; width: auto; margin-bottom: var(--gutter-md); }
.prie-dieu-profond-cols { display: flex; flex-wrap: wrap; gap: var(--gap-2xl); margin-bottom: var(--gap-lg); }
.prie-dieu-profond-col h2 { font-family: var(--display-font); font-size: var(--size-h6); text-transform: uppercase; letter-spacing: var(--letter-wide); color: var(--accent); margin-bottom: var(--gap-sm); }
.prie-dieu-profond-nav { list-style: none; margin: 0; padding: 0; }
.prie-dieu-profond-nav li { margin-bottom: var(--gap-xs); }
.prie-dieu-profond-nav a { color: var(--ink-soft); font-size: var(--text-sm); }
.prie-dieu-profond-nav a:hover { color: var(--accent); }
.prie-dieu-profond-copyright { display: block; color: var(--ink-soft); font-size: var(--text-sm); line-height: var(--lh-base); }
.prie-dieu-profond-accent-block {
	background: var(--accent);
	padding: var(--gap-xl);
	display: flex;
	align-items: center;
	justify-content: center;
}
.prie-dieu-profond-content { display: block; }
.prie-dieu-profond-accent-label {
	background: var(--accent);
	font-family: var(--display-font);
	font-weight: var(--font-bold);
	font-size: var(--size-h2);
	text-transform: uppercase;
	letter-spacing: var(--letter-tight);
	color: var(--surface);
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	white-space: nowrap;
}
@media (max-width: 880px) {
	.prie-dieu-profond-inner { grid-template-columns: 1fr; gap: var(--gap-lg); }
	.prie-dieu-profond-accent-label { writing-mode: horizontal-tb; transform: none; }
}

/* ===== COOKIE BANNER — COOK-08 Bordered Top Bar with Icon ===== */
.preau-calme {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 300;
	background: var(--surface);
	border-bottom: var(--border-medium-x) solid var(--accent);
	min-height: 56px;
	display: flex;
	align-items: center;
}
.preau-calme[hidden] { display: none; }
.preau-calme-inner {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	width: 100%;
	padding-inline: var(--inset-desktop);
	display: flex;
	align-items: center;
	gap: var(--gutter-md);
}
.preau-calme-icon { color: var(--accent); flex-shrink: 0; }
.preau-calme-icon svg { width: 24px; height: 24px; display: block; }
.preau-calme-message { font-size: var(--text-sm); flex: 1; color: var(--text); margin: 0; }
.preau-calme-actions { display: inline-flex; gap: var(--gap-xs); flex-shrink: 0; }
.preau-calme-button {
	height: 32px;
	padding-inline: var(--gutter-md);
	border-radius: var(--corner);
	font-family: var(--display-font);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	cursor: pointer;
	border: var(--border-width) solid var(--accent);
	transition: background var(--speed-fast) var(--easing), color var(--speed-fast) var(--easing);
}
.preau-calme-accept { background: var(--accent); color: var(--surface); }
.preau-calme-accept:hover { background: var(--highlight-active); color: var(--surface); }
.preau-calme-decline { background: transparent; color: var(--text); }
.preau-calme-decline:hover { background: var(--text); color: var(--surface); }
@media (max-width: 720px) {
	.preau-calme { min-height: 0; }
	.preau-calme-inner { flex-direction: column; align-items: stretch; padding-block: var(--gap-sm); padding-inline: var(--gutter-mobile); gap: var(--gap-xs); }
	.preau-calme-message { font-size: 13px; line-height: 1.35; }
	.preau-calme-actions { width: 100%; }
	.preau-calme-button { flex: 1; }
}

/* full-bleed page image */
.page-figure {
	max-width: calc(var(--container) + 2 * var(--inset-desktop));
	margin-inline: auto;
	padding: var(--gap-lg) var(--inset-desktop) 0;
}
.page-figure img { width: 100%; height: auto; border-radius: var(--corner); }
.page-figure figcaption { font-size: var(--text-sm); color: var(--ink-soft); margin-top: var(--gap-xs); }

main { display: block; }
