/* ==========================================================================
   Santé Solid'R : feuille de style principale
   Direction « Kaz kréol » : lambrequins, relief des cirques, bleu et pêche.
   ========================================================================== */

:root {
	--petrole: #1B4E68;
	--nuit: #123A4F;
	--peche: #F7AD68;
	--peche-clair: #FCE3C8;
	--peche-vif: #E0883C;
	--terre: #A9531A;
	--sable: #FCE9D6;
	--creme: #FFF7EE;
	--encre: #16303D;
	--texte: #36505D;
	--texte-doux: #46606C;
	--gris: #5A7280;
	--trait: #E9D9C7;
	--trait-fort: #C9B8A5;
	--bleu-pale: #E3EDF2;
	--bleu-clair: #D6E3EA;
	--blanc: #FFFFFF;

	--font-titre: "Bricolage Grotesque", "Arial Black", "Segoe UI", system-ui, sans-serif;
	--font-texte: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
	--font-main: "Caveat", "Segoe Script", cursive;

	--container: 1240px;
	--gutter: clamp(20px, 4vw, 32px);
	--section: clamp(64px, 8vw, 96px);
	--radius-pill: 999px;
	--ombre: 0 18px 40px rgba(10, 30, 40, .28);
	--lambrequin-h: 38px;
}

/* ---------- Base ---------- */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 24px; }

body {
	margin: 0;
	background: var(--creme);
	color: var(--encre);
	font-family: var(--font-texte);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }

a { color: var(--petrole); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--terre); }

:focus-visible { outline: 3px solid var(--peche); outline-offset: 3px; border-radius: 2px; }

h1, h2, h3, h4 { font-family: var(--font-titre); line-height: 1.08; margin: 0; color: inherit; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }

address { font-style: normal; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

.skip-link {
	position: absolute; left: 16px; top: -100px; z-index: 100;
	background: var(--peche); color: var(--nuit);
	padding: 12px 18px; font-weight: 700; border-radius: 8px; text-decoration: none;
}
.skip-link:focus { top: 16px; }

.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }

.text-peche { color: var(--peche); }
.bg-sable { background: var(--sable); }
.bg-petrol { background-color: var(--petrole); color: var(--blanc); }

/* ---------- Motifs ---------- */

.topo { background-image: url("../img/topo-clair.svg"); background-repeat: no-repeat; background-position: center top; background-size: cover; }
.topo-fonce { background: url("../img/topo-fonce.svg") no-repeat center / cover; }

.lambrequin {
	height: var(--lambrequin-h);
	background-repeat: repeat-x;
	background-position: left top;
	background-size: 26px var(--lambrequin-h);
}
.lambrequin--petrol { background-image: url("../img/lamb-petrol.svg"); }
.lambrequin--creme { background-image: url("../img/lamb-creme.svg"); }
.lambrequin.bg-petrol { background-color: var(--petrole); }
.ssr-ends-dark .site-main + .lambrequin--creme { display: none; }

/* ---------- Typographie utilitaire ---------- */

.kicker { font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--terre); }
.kicker--peche { color: var(--peche); }

.manuscrit { font-family: var(--font-main); font-weight: 700; font-size: clamp(26px, 2.6vw, 31px); line-height: 1.05; color: var(--terre); }
.manuscrit--clair { color: var(--peche-clair); }
.manuscrit--peche { color: var(--peche); }

.h-display { font-weight: 800; font-size: clamp(34px, 4.2vw, 54px); line-height: 1.02; letter-spacing: -.01em; color: var(--petrole); }
.h-section { font-weight: 800; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.05; letter-spacing: -.01em; color: var(--petrole); }
.bg-petrol .h-section, .bg-petrol .h-display { color: var(--blanc); }

.lead { font-size: clamp(17px, 1.4vw, 19px); color: var(--texte); }
.bg-petrol .lead { color: var(--bleu-clair); }

.link-arrow { font-weight: 700; color: var(--terre); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.link-arrow::after { content: "→"; transition: transform .2s; }
.link-arrow:hover { color: var(--petrole); }
.link-arrow:hover::after { transform: translateX(4px); }
.link-arrow--clair { color: var(--peche); }
.link-arrow--clair:hover { color: var(--blanc); }

/* ---------- Boutons ---------- */

.btn,
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 26px;
	border-radius: var(--radius-pill); border: 2px solid transparent;
	font-family: var(--font-texte); font-weight: 700; font-size: 17px; line-height: 1.2;
	text-decoration: none; text-align: center; cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s;
}
.btn:active { transform: translateY(1px); }
.btn--sm { min-height: 44px; padding: 10px 20px; font-size: 16px; }
.btn--lg { min-height: 56px; padding: 15px 30px; font-size: 18px; }
.btn--block { display: flex; width: 100%; }

.btn--don { background: var(--peche); color: var(--nuit); }
.btn--don:hover { background: #FFC48C; color: var(--nuit); }
.btn--petrol, .wp-block-button__link { background: var(--petrole); color: var(--blanc); }
.btn--petrol:hover, .wp-block-button__link:hover { background: var(--nuit); color: var(--blanc); }
.btn--nuit { background: var(--nuit); color: var(--blanc); }
.btn--nuit:hover { background: var(--encre); color: var(--blanc); }
.btn--ghost { border-color: var(--blanc); color: var(--blanc); background: transparent; }
.btn--ghost:hover { background: rgba(255, 255, 255, .12); color: var(--blanc); }
.btn--outline { border-color: var(--petrole); color: var(--petrole); background: transparent; }
.btn--outline:hover { background: var(--petrole); color: var(--blanc); }

.btn-row { display: flex; flex-wrap: wrap; gap: 14px; }
.btn-row--intro { padding-top: 40px; }

/* ---------- En-tête ---------- */

.top { background-color: var(--petrole); color: var(--blanc); }

.site-header__bar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "brand nav actions";
	align-items: center; gap: 24px;
	padding-block: 18px;
}
.site-header__brand { grid-area: brand; display: block; }
.site-logo { height: 64px; width: auto; }
.site-nav { grid-area: nav; justify-self: end; }
.site-header__don-short { display: none; }
@media (max-width: 600px) { .site-header__don-short { display: inline; } }
.site-header__actions { grid-area: actions; display: flex; align-items: center; gap: 10px; }

.site-nav .menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 26px; }
.site-nav .menu > li { position: relative; }
.site-nav a { color: var(--blanc); text-decoration: none; font-weight: 600; font-size: 16px; padding-block: 8px; display: inline-block; }
.site-nav a:hover,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a,
.site-nav .current_page_item > a,
.site-nav .current-menu-parent > a { color: var(--peche); }
.site-nav .sub-menu {
	list-style: none; margin: 0; padding: 10px 0;
	position: absolute; left: -16px; top: 100%; min-width: 230px; z-index: 30;
	background: var(--nuit); border-radius: 10px; box-shadow: var(--ombre);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s;
}
.site-nav .sub-menu a { display: block; padding: 8px 18px; }
.site-nav li:hover > .sub-menu,
.site-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

.nav-toggle {
	display: none; width: 48px; height: 48px; border-radius: var(--radius-pill);
	border: 1.5px solid rgba(255, 255, 255, .5); background: transparent; color: var(--blanc);
	align-items: center; justify-content: center; cursor: pointer;
}
.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; }

/* ---------- Héro d'accueil ---------- */

.hero__inner {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 56px; align-items: center;
	padding-block: 48px 96px;
}
.hero__text { display: flex; flex-direction: column; gap: 24px; }
.hero__title { font-weight: 800; font-size: clamp(52px, 7vw, 92px); line-height: .95; letter-spacing: -.02em; }
.hero__traduction { margin-top: -10px; }
.hero__lead { font-size: 19px; color: #E6EEF2; max-width: 34em; }

.hero__media { position: relative; min-height: 470px; }
.hero__photo { position: absolute; right: 0; top: 0; width: 78%; height: 400px; }
.hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.hero__polaroid { position: absolute; left: 0; bottom: 0; width: 46%; }

.photo-offset { position: relative; }
.photo-offset::before { content: ""; position: absolute; inset: 0; background: var(--peche); transform: translate(18px, -18px); }
.photo-offset > * { position: relative; }

.polaroid {
	margin: 0; background: var(--creme); padding: 10px 10px 12px;
	box-shadow: var(--ombre); transform: rotate(-3deg);
}
.polaroid img { width: 100%; height: 190px; object-fit: cover; }
.polaroid figcaption { font-family: var(--font-main); font-weight: 700; font-size: 22px; color: var(--petrole); margin-top: 6px; line-height: 1.1; }

/* ---------- Héro des pages intérieures ---------- */

.page-hero__inner { padding-block: 20px 56px; display: grid; gap: 48px; align-items: center; }
.page-hero--media .page-hero__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.page-hero__text { display: flex; flex-direction: column; gap: 14px; }
.page-hero__title { font-weight: 800; font-size: clamp(40px, 5.6vw, 72px); line-height: 1; letter-spacing: -.02em; max-width: 17ch; }
.page-hero__lead { font-size: 19px; color: #E6EEF2; max-width: 36em; }
.page-hero__media img { width: 100%; height: 360px; object-fit: cover; }
.page-hero__media.photo-offset::before { transform: translate(-16px, 16px); }
.page-hero__aside { justify-self: end; }

.secure-badge { display: inline-flex; align-items: center; gap: 10px; color: var(--bleu-clair); font-size: 15px; border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-pill); padding: 10px 18px; }
.secure-badge .icon { color: var(--peche); }

.breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: #B5C9D4; }
.breadcrumb li + li::before { content: "/"; margin-right: 6px; opacity: .7; }
.breadcrumb a { color: #B5C9D4; }
.breadcrumb a:hover { color: var(--blanc); }

/* ---------- Pastilles ---------- */

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
	display: inline-flex; align-items: center; min-height: 28px;
	background: var(--bleu-pale); color: var(--petrole);
	font-size: 13px; font-weight: 700; line-height: 1.2;
	padding: 5px 12px; border-radius: var(--radius-pill); text-decoration: none;
}
a.chip:hover { background: var(--petrole); color: var(--blanc); }
.chip--done { background: var(--peche-clair); color: var(--terre); }
.chip--peche { background: var(--peche); color: var(--nuit); }
.chip--clair { background: transparent; border: 1.5px solid #8FAFC0; color: var(--blanc); }

/* ---------- Sections et mises en page ---------- */

.section { padding-block: var(--section); }
.section--tight { padding-block: 0 var(--section); }
.section--top { padding-block: 48px var(--section); }
.section--mission { padding-bottom: calc(var(--section) - 8px); }

.split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: clamp(36px, 5vw, 56px); }
.split--end { align-items: end; }
.split--center { align-items: center; }
.split--start { align-items: start; }

.stack { display: flex; flex-direction: column; gap: 20px; }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.section-head > div { display: flex; flex-direction: column; gap: 8px; }
.h-section + .cards { margin-top: 32px; }

/* ---------- Axes ---------- */

.axes {
	list-style: none; margin: 40px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 20px;
}
.axe-card { background: var(--blanc); border: 1.5px solid var(--trait); padding: 28px 26px 26px; display: flex; flex-direction: column; gap: 14px; transition: border-color .2s, transform .2s; }
.axe-card:hover { border-color: var(--peche); transform: translateY(-3px); }
.axe-card__icon { color: var(--peche-vif); width: 44px; height: 44px; }
.axe-card__title { font-weight: 700; font-size: 22px; color: var(--petrole); }
.axe-card__text { font-size: 16px; color: var(--texte-doux); }
.axe-card__link { margin-top: auto; font-size: 15px; }

/* ---------- Cartes ---------- */

.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); gap: 24px; }
.card { background: var(--blanc); display: flex; flex-direction: column; min-width: 0; }
.bg-sable .card, .section--top .card { box-shadow: 0 1px 0 var(--trait); }
.section--top .card { border: 1.5px solid var(--trait); }
.card__media { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: var(--petrole); }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.card:hover .card__media img { transform: scale(1.04); }
.card__placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: var(--peche); }
.card__body { padding: 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.card__title { font-weight: 700; font-size: 23px; line-height: 1.15; color: var(--encre); }
.card__title a { color: inherit; text-decoration: none; }
.card__title a:hover { color: var(--petrole); text-decoration: underline; }
.card__meta { font-size: 14px; font-weight: 600; color: var(--terre); }
.card__text { font-size: 16px; color: var(--texte-doux); }
.card__foot { margin-top: auto; padding-top: 8px; display: flex; flex-direction: column; gap: 14px; }
.card .btn--petrol, .card .btn--outline { border-radius: 0; }
.card__more { margin-top: auto; }

/* ---------- Progression ---------- */

.progress { display: flex; flex-direction: column; gap: 8px; }
.progress__bar { height: 8px; background: #F1E4D6; border-radius: 99px; overflow: hidden; }
.progress__bar span { display: block; height: 100%; background: var(--peche-vif); border-radius: 99px; }
.progress__label { font-size: 14px; color: var(--gris); }
.progress__label strong { color: var(--encre); }
.progress--dark .progress__bar { background: rgba(255, 255, 255, .18); height: 10px; }
.progress--dark .progress__bar span { background: var(--peche); }
.progress--dark .progress__label, .progress--dark .progress__label strong { color: var(--bleu-clair); }

/* ---------- Carte de l'île ---------- */

.map-wrap { padding: 24px; }
.island-map { width: 100%; height: auto; display: block; overflow: visible; }
.island-map__land { fill: var(--petrole); }
.island-map__sites circle { fill: var(--peche); stroke: var(--creme); stroke-width: 2.5; }
.island-map__labels text {
	font-family: var(--font-texte); font-size: 13px; font-weight: 600;
	fill: var(--blanc); stroke: var(--petrole); stroke-width: 4; stroke-linejoin: round; paint-order: stroke;
}

.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); border-top: 2px solid var(--petrole); margin: 8px 0 0; }
.stat { padding: 18px 16px 0 0; }
.stat__value { font-family: var(--font-titre); font-weight: 800; font-size: 40px; line-height: 1; color: var(--petrole); }
.stat__label { margin: 6px 0 0; font-size: 15px; color: var(--texte-doux); }

/* ---------- Mosaïque des réalisations ---------- */

.mosaic { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 14px; }
.mosaic__item a { display: block; position: relative; aspect-ratio: 1 / 1; overflow: hidden; color: var(--encre); text-decoration: none; background: var(--nuit); }
.mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s, opacity .3s; }
.mosaic__item a:hover img { transform: scale(1.04); opacity: .9; }
.mosaic__caption { position: absolute; left: 0; bottom: 0; right: 24px; background: var(--creme); padding: 8px 12px; font-size: 14px; line-height: 1.3; display: flex; flex-direction: column; }
.mosaic__caption strong { font-weight: 700; }

/* ---------- Parrain ---------- */

.split--parrain { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); }
.parrain__photo { position: relative; isolation: isolate; }
.parrain__photo::before { content: ""; position: absolute; z-index: -1; inset: 0; background: var(--peche); transform: translate(18px, -18px); }
.parrain__photo img { position: relative; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; }
.parrain__photo .placeholder { position: relative; }
.placeholder { text-decoration: none;
	aspect-ratio: 4 / 5; background: var(--bleu-pale); border: 2px dashed #8FAFC0;
	display: flex; align-items: center; justify-content: center; text-align: center;
	color: var(--petrole); font-weight: 600; padding: 24px;
}
.split--solo { grid-template-columns: minmax(0, 860px); justify-content: center; text-align: center; }
.split--solo .stack { align-items: center; }
.quote-big { margin: 0; }
.quote-big p { font-family: var(--font-titre); font-weight: 700; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.12; color: var(--petrole); }

/* ---------- Niveaux de mécénat (accueil) ---------- */

.levels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 16px; }
.level { background: var(--blanc); border: 1.5px solid var(--trait); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.level--dark { background: var(--petrole); border-color: var(--petrole); color: var(--blanc); }
.level__amount { font-family: var(--font-titre); font-weight: 800; font-size: 34px; line-height: 1; color: var(--petrole); }
.level--dark .level__amount { color: var(--blanc); }
.level__text { font-size: 15px; color: var(--texte-doux); }
.level--dark .level__text { color: var(--bleu-clair); }

/* ---------- Événement et partenaires ---------- */

.gala__photo { width: 100%; height: 360px; object-fit: cover; }

.partners { border-top: 1.5px solid var(--trait); margin-top: 64px; padding-top: 40px; display: flex; flex-direction: column; gap: 24px; }
.partners__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 32px; }
.partners__title { margin: 0; font-family: var(--font-titre); font-weight: 800; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.15; color: var(--petrole); }
.partners__intro { margin: 0; max-width: 46ch; font-size: 15px; color: var(--texte-doux); }
.partners__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.partners__card {
	position: relative; display: flex; align-items: center; justify-content: center; height: 128px; padding: 18px 22px;
	background: var(--blanc); border: 1.5px solid var(--trait); border-radius: 14px; text-decoration: none; color: inherit;
	transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s, border-color .3s;
}
.partners__card:hover, .partners__card:focus-visible { transform: translateY(-3px); border-color: var(--trait-fort); box-shadow: 0 16px 30px -22px rgba(18, 58, 79, .45); }
.partners__logo { display: block; width: auto; height: auto; max-width: 78%; max-height: 72px; object-fit: contain; }
.partners__go {
	position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
	background: var(--sable); color: var(--petrole); opacity: 0; transform: scale(.7);
	transition: opacity .25s, transform .3s cubic-bezier(.16, 1, .3, 1), background .25s, color .25s;
}
.partners__card--link:hover .partners__go, .partners__card--link:focus-visible .partners__go { opacity: 1; transform: none; background: var(--peche); color: var(--nuit); }
.partners__card--link:focus-visible { outline: 3px solid var(--peche-vif); outline-offset: 3px; }
@media (hover: none) { .partners__go { opacity: .9; transform: none; width: 20px; height: 20px; top: 7px; right: 7px; } }
.partners__name { color: var(--texte-doux); font-family: var(--font-titre); font-weight: 700; font-size: 16px; text-align: center; line-height: 1.25; }
.partners__card--cta { flex-direction: column; gap: 4px; background: var(--peche-clair); border: 1.5px dashed var(--peche-vif); text-align: center; }
.partners__card--cta:hover, .partners__card--cta:focus-visible { background: var(--peche); border-style: solid; border-color: var(--peche); }
.partners__cta-title { font-family: var(--font-titre); font-weight: 800; font-size: 17px; color: var(--nuit); line-height: 1.2; }
.partners__cta-link { font-weight: 700; font-size: 14px; color: var(--terre); }
.partners__card--cta:hover .partners__cta-link { color: var(--nuit); }
@media (max-width: 900px) {
	.partners__list { gap: 12px; }
	.partners__card { height: 108px; padding: 14px 16px; }
	.partners__logo { max-height: 60px; }
	.partners__cta-title { font-size: 15px; }
}
@media (max-width: 600px) {
	.partners { margin-top: 48px; padding-top: 32px; gap: 18px; }
	.partners__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.partners__card { height: 96px; padding: 14px; border-radius: 12px; }
	.partners__logo { max-width: 82%; max-height: 56px; }
	.partners__cta-title { font-size: 14px; }
	.partners__cta-link { font-size: 13px; }
}

/* ---------- Bandeau don ---------- */

.don-band { background: var(--peche); padding: clamp(28px, 4vw, 48px); display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; }
.don-band__text { display: flex; flex-direction: column; gap: 6px; max-width: 640px; color: #2B3F49; }
.don-band__title { font-weight: 800; font-size: clamp(26px, 3vw, 40px); line-height: 1.05; color: var(--nuit); }

/* ---------- Pied de page ---------- */

.site-footer { background: var(--petrole); color: var(--bleu-clair); font-size: 15px; }
.site-footer a { color: var(--blanc); }
.site-footer a:hover { color: var(--peche); }
.site-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 36px; padding-block: 48px 32px; }
.site-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.site-footer__logo { height: 76px; width: auto; }
.site-footer__col { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.site-footer__title { font-family: var(--font-texte); font-size: 15px; font-weight: 700; color: var(--blanc); margin-bottom: 4px; }
.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.footer-menu a { color: var(--bleu-clair); text-decoration: none; }
.footer-menu a:hover { color: var(--peche); text-decoration: underline; }
.site-footer .btn--don { color: var(--nuit); margin-top: 8px; }
.site-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .15); padding-block: 18px 28px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; color: #B5C9D4; }
.site-footer__merci { font-weight: 600; color: var(--peche); }
.site-footer__bottom > p { margin: 0; }
.site-footer__credit { flex-basis: 100%; font-size: 12px; color: #8FA9B7; }
.site-footer__credit a { color: #B5C9D4; font-weight: 600; text-decoration: none; transition: color .2s; }
.site-footer__credit a:hover, .site-footer__credit a:focus-visible { color: var(--peche); text-decoration: underline; }
.legal-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.legal-menu a { color: #B5C9D4; text-decoration: none; }
.legal-menu a:hover { color: var(--blanc); text-decoration: underline; }

.social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.social a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 600; }
.social--footer { flex-direction: column; gap: 8px; }
.social--footer a { color: var(--bleu-clair); }

/* ---------- Contenu éditorial (éditeur de blocs) ---------- */

.entry-content { max-width: 760px; margin-inline: auto; padding-block: 56px var(--section); font-size: 18px; color: var(--texte); }
.entry-content--wide { max-width: none; padding-block: 48px 24px; }
.entry-content--flush { max-width: none; padding: 0; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-weight: 800; font-size: clamp(28px, 3vw, 38px); color: var(--petrole); margin-top: 1.6em; }
.entry-content h3 { font-weight: 700; font-size: 23px; color: var(--encre); margin-top: 1.4em; }
.entry-content h2 + *, .entry-content h3 + * { margin-top: .6em; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content li + li { margin-top: .35em; }
.entry-content li::marker { color: var(--peche-vif); }
.entry-content a:not(.wp-block-button__link) { color: var(--petrole); font-weight: 600; }
.entry-content strong { color: var(--encre); }
.entry-content blockquote { margin-inline: 0; padding-left: 24px; border-left: 3px solid var(--peche); }
.entry-content figure { margin-inline: 0; }
.entry-content figcaption { font-size: 14px; color: var(--gris); margin-top: 8px; }
.entry-content hr, .wp-block-separator { border: 0; border-top: 1.5px solid var(--trait); margin-block: 2.4em; }
.entry-content .alignwide { max-width: min(1240px, calc(100vw - 2 * var(--gutter))); margin-inline: calc(50% - min(620px, 50vw - var(--gutter))); }
.entry-content .alignfull { max-width: 100vw; margin-inline: calc(50% - 50vw); }
.entry-content .wp-block-image img { width: 100%; }
.entry-content > .wp-block-group, .entry-content > .wp-block-columns { margin-top: 2em; }
.entry-content--wide > * + * { margin-top: 0; }

.has-text-align-center { text-align: center; }

/* Blocs : styles propres au thème */
.is-style-chapo { font-size: clamp(19px, 1.8vw, 23px); line-height: 1.5; color: var(--encre); font-weight: 500; }
.is-style-manuscrit { font-family: var(--font-main); font-weight: 700; font-size: 32px; line-height: 1.1; color: var(--terre); }
.is-style-coches { list-style: none; padding-left: 0 !important; }
.is-style-coches li { position: relative; padding-left: 32px; }
.is-style-coches li::before { content: ""; position: absolute; left: 0; top: .3em; width: 20px; height: 20px; border-radius: 50%; background: var(--peche) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23123A4F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.wp-block-quote.is-style-grande { position: relative; border: 0; margin-block: 28px; padding: 30px 32px 26px 34px; background: var(--sable, #FBE9D7); border-left: 5px solid var(--peche); }
.wp-block-quote.is-style-grande::before { content: "\201C"; position: absolute; top: -18px; left: 22px; font-family: var(--font-titre); font-weight: 800; font-size: 84px; line-height: 1; color: var(--peche); }
.wp-block-quote.is-style-grande p { font-family: var(--font-titre); font-weight: 700; font-size: clamp(21px, 2.1vw, 26px); line-height: 1.3; color: var(--petrole); margin: 0; }
.wp-block-quote.is-style-grande cite { display: block; margin-top: 14px; font-style: normal; font-weight: 600; font-size: 15px; color: var(--texte-doux, var(--gris)); }

.wp-block-group.is-style-carte { background: var(--blanc); border: 1.5px solid var(--trait); padding: clamp(24px, 3vw, 36px); }
.wp-block-group.is-style-sable { background: var(--sable); padding: clamp(28px, 4vw, 56px); }
.wp-block-group.is-style-petrole { background: var(--petrole); color: var(--bleu-clair); padding: clamp(24px, 3vw, 36px); }
.wp-block-group.is-style-petrole h2, .wp-block-group.is-style-petrole h3, .wp-block-group.is-style-petrole strong, .wp-block-group.is-style-petrole .ssr-big { color: var(--blanc); }
.wp-block-group.is-style-petrole .ssr-kicker { color: var(--peche); }
.wp-block-group.is-style-petrole a:not(.wp-block-button__link) { color: var(--peche); }
.wp-block-group.is-style-peche { background: var(--peche); color: #2B3F49; padding: clamp(28px, 4vw, 48px); }
.wp-block-group.is-style-peche h2, .wp-block-group.is-style-peche h3 { color: var(--nuit); }
.wp-block-group > * + * { margin-top: 1em; }
.wp-block-group.is-style-carte > :first-child, .wp-block-group.is-style-petrole > :first-child, .wp-block-group.is-style-sable > :first-child, .wp-block-group.is-style-peche > :first-child { margin-top: 0; }

.wp-block-button.is-style-peche .wp-block-button__link { background: var(--peche); color: var(--nuit); }
.wp-block-button.is-style-peche .wp-block-button__link:hover { background: #FFC48C; }
.wp-block-button.is-style-nuit .wp-block-button__link { background: var(--nuit); color: var(--blanc); }
.wp-block-button.is-style-contour .wp-block-button__link { background: transparent; border-color: currentColor; color: var(--petrole); }
.wp-block-button.is-style-contour .wp-block-button__link:hover { background: var(--petrole); color: var(--blanc); border-color: var(--petrole); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }

.wp-block-columns { display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 32px); }
.wp-block-column { flex: 1 1 0; min-width: 0; }
.wp-block-column > * + * { margin-top: 1em; }
.wp-block-columns.ssr-cards > .wp-block-column { display: flex; flex-direction: column; }
.wp-block-columns.ssr-cards > .wp-block-column > .wp-block-group { flex: 1; display: flex; flex-direction: column; }
.wp-block-columns.ssr-cards > .wp-block-column > .wp-block-group > .wp-block-buttons { margin-top: auto; padding-top: 8px; }

/* Compositions */
.ssr-section { margin-block: clamp(40px, 6vw, 72px) 0; }
.entry-content > .ssr-section:first-child { margin-top: 0; }
.ssr-section > h2:first-child, .ssr-section > .ssr-accroche + h2 { margin-top: .1em; margin-bottom: .9em; }
.ssr-accroche { font-family: var(--font-main); font-weight: 700; font-size: 30px; line-height: 1; color: var(--terre); }
.ssr-numbered { border-top: 2px solid var(--petrole); }
.ssr-numbered > .wp-block-column { padding-top: 26px; }
.ssr-num { font-family: var(--font-titre); font-weight: 800; font-size: 44px; line-height: 1; color: var(--peche-vif); }
.ssr-numbered h3 { margin-top: .5em !important; color: var(--encre); }
.ssr-kicker { font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--terre); }
.ssr-big { font-family: var(--font-titre); font-weight: 800; font-size: clamp(36px, 4vw, 48px); line-height: 1; color: var(--petrole); margin-top: .4em !important; }
.ssr-big + p { margin-top: .5em !important; }
.ssr-note { font-size: 15px; color: var(--gris); }
.ssr-exemple { font-family: var(--font-titre); font-size: clamp(20px, 2vw, 24px); line-height: 1.3; color: var(--encre); padding-block: 14px; border-top: 1.5px solid var(--trait); }
.ssr-exemple strong { color: var(--terre); }
.entry-content .ssr-section h2 { margin-top: 0; }

/* ---------- Fiche projet ---------- */

.project { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; padding-block: 40px var(--section); }
.project__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.project__aside { flex: 1 1 340px; min-width: 0; position: sticky; top: 24px; }
.project__photo { margin: 0; }
.project__photo img { width: 100%; max-height: 520px; object-fit: cover; }
.project__lead { font-family: var(--font-titre); font-weight: 600; font-size: clamp(22px, 2.2vw, 27px); line-height: 1.3; color: var(--petrole); }
.project .entry-content { font-size: 18px; }
.project__amounts h2 { font-weight: 800; font-size: 30px; color: var(--encre); margin-bottom: 16px; }
.amounts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 14px; }
.amount { background: var(--blanc); border: 1.5px solid var(--trait); padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.amount__value { font-family: var(--font-titre); font-weight: 800; font-size: 30px; line-height: 1; color: var(--peche-vif); }
.amount__text { font-size: 15px; color: var(--texte-doux); }
.testimony { margin: 0; background: var(--sable); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.testimony blockquote { margin: 0; }
.testimony p { font-family: var(--font-main); font-weight: 700; font-size: 32px; line-height: 1.15; color: var(--petrole); }
.testimony figcaption { font-size: 15px; color: var(--texte-doux); }

/* ---------- Boîte de don ---------- */

.don-box { background: var(--blanc); border: 1.5px solid var(--trait); }
.don-box__head { background: var(--petrole); color: var(--blanc); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.don-box__head p { color: var(--bleu-clair); font-size: 15px; }
.don-box__head .don-box__big, .don-box__head .don-box__huge, .don-box__head .don-box__real { color: var(--blanc); }
.don-box__big { font-family: var(--font-titre); font-weight: 800; font-size: 34px !important; line-height: 1.05; }
.don-box__huge { font-family: var(--font-titre); font-weight: 800; font-size: 56px !important; line-height: 1; }
.don-box__recap { font-size: 16px !important; }
.don-box__cost { border-top: 1px solid rgba(255, 255, 255, .2); padding-top: 14px; display: flex; flex-direction: column; gap: 4px; }
.don-box__real { font-family: var(--font-titre); font-weight: 800; font-size: 40px !important; line-height: 1.1; color: var(--peche) !important; }
.don-box__body { padding: 24px 26px; display: flex; flex-direction: column; gap: 16px; }
.don-box__label { font-weight: 700; }
.don-box__amounts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.don-box__amounts li { border: 1.5px solid var(--trait-fort); padding: 10px 6px; text-align: center; display: flex; flex-direction: column; }
.don-box__amounts span { font-family: var(--font-titre); font-weight: 800; font-size: 20px; color: var(--encre); }
.don-box__amounts small { font-size: 12.5px; color: var(--gris); }
.don-box__note { font-size: 15px; color: var(--texte-doux); }
.don-box__secure { font-size: 13px; color: var(--gris); display: flex; align-items: center; justify-content: center; gap: 6px; }
.don-box__secure .icon { flex: none; }
.don-box__fine { font-size: 13px !important; color: #B5C9D4 !important; text-align: center; }
.don-box__fine--warn { background: rgba(255, 255, 255, .08); padding: 12px; color: var(--peche-clair) !important; text-align: left; }
.don-box__fine--warn a { color: var(--peche); }
.don-box__foot { background: var(--sable); padding: 20px 24px; font-size: 15px; color: var(--texte); }
.don-box__foot strong { color: var(--petrole); }
.don-box--sticky { position: sticky; top: 24px; }

/* ---------- Page « Faire un don » ---------- */

.don { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.don__form { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 36px; }
.don__summary { flex: 1 1 340px; min-width: 0; align-self: stretch; }
.don__step { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.don__legend { font-family: var(--font-titre); font-weight: 800; font-size: 25px; color: var(--petrole); padding: 0; margin-bottom: 14px; }
.don__legend span { color: var(--peche-vif); }
.don__cheque { margin-top: 32px; font-size: 16px; color: var(--texte); }
.don__widget { margin-top: 56px; }
.don__widget iframe { width: 100%; height: 760px; border: 1.5px solid var(--trait); margin-top: 20px; background: var(--blanc); }

.choices { display: grid; gap: 10px; }
.choices--2 { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.choices--amounts { grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr)); }
.choices--causes { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); }
.choices--pills { display: flex; flex-wrap: wrap; gap: 8px; }
.choice { position: relative; display: block; cursor: pointer; }
.choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.choice__box {
	display: flex; flex-direction: column; justify-content: center; gap: 2px;
	min-height: 54px; padding: 12px 16px; height: 100%;
	background: var(--blanc); border: 1.5px solid var(--trait-fort); color: var(--encre);
	font-weight: 600; font-size: 16px; line-height: 1.3; transition: border-color .15s, background-color .15s;
}
.choice:hover .choice__box { border-color: var(--petrole); }
.choice input:checked + .choice__box { border: 2px solid var(--petrole); background: var(--bleu-pale); color: var(--petrole); font-weight: 700; }
.choice input:focus-visible + .choice__box { outline: 3px solid var(--peche); outline-offset: 2px; }
.choice--big .choice__box { min-height: 72px; padding: 14px 18px; }
.choice--big strong { font-size: 18px; }
.choice--big small { font-size: 14px; font-weight: 500; color: var(--gris); }
.choice--big input:checked + .choice__box { background: var(--petrole); border-color: var(--petrole); color: var(--blanc); }
.choice--big input:checked + .choice__box small { color: var(--bleu-clair); }
.choice--amount .choice__box { align-items: center; font-family: var(--font-titre); font-weight: 800; font-size: 22px; min-height: 60px; }
.choice--pill .choice__box { min-height: 44px; padding: 0 20px; border-radius: var(--radius-pill); }
.choice--pill input:checked + .choice__box { border-color: var(--peche-vif); background: var(--peche-clair); color: var(--nuit); }

.field label { display: block; font-weight: 600; font-size: 15px; color: var(--texte); margin-bottom: 6px; }
.field__euro { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--texte); }
.field input, .form input:not([type="checkbox"]), .form select, .form textarea, .search-form__input {
	width: 100%; min-height: 52px; padding: 10px 16px;
	background: var(--blanc); border: 1.5px solid var(--trait-fort); border-radius: 0;
	font: 500 17px/1.4 var(--font-texte); color: var(--encre);
}
.field input { max-width: 240px; font-weight: 600; font-size: 18px; }
.form textarea { min-height: 140px; resize: vertical; }
.field input:focus, .form input:focus, .form select:focus, .form textarea:focus, .search-form__input:focus { outline: 3px solid var(--peche); outline-offset: 1px; border-color: var(--petrole); }

/* ---------- Formulaires ---------- */

.form-card { background: var(--creme); color: var(--encre); padding: clamp(24px, 3vw, 36px); }
.form-card--light { border: 1.5px solid var(--trait); background: var(--blanc); }
.form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 16px; }
.form__field { display: flex; flex-direction: column; gap: 6px; }
.form__field--full { grid-column: 1 / -1; }
.form__field label { font-weight: 600; font-size: 15px; }
.form .req { color: var(--terre); }
.form__consent { flex-direction: row; align-items: flex-start; gap: 10px; }
.form__consent input { width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: var(--petrole); }
.form__consent label { font-weight: 500; font-size: 14px; color: var(--texte); }
.form__actions { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.form__note { font-size: 13px; color: var(--gris); }
.form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__notice { padding: 14px 16px; margin-bottom: 18px; font-size: 15px; }
.form__notice--ok { background: #E3F1E6; color: #1E5631; border-left: 4px solid #2E7D46; }
.form__notice--erreur { background: #FBE7DF; color: #8A2E0E; border-left: 4px solid var(--terre); }

.contact-band .form-card { box-shadow: var(--ombre); }
.contact-details { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.contact-details li { display: flex; gap: 12px; align-items: flex-start; }
.contact-details .icon { flex: none; color: var(--peche-vif); margin-top: 2px; }
.bg-petrol .contact-details { color: var(--bleu-clair); }
.bg-petrol .contact-details .icon { color: var(--peche); }
.bg-petrol .contact-details a { color: var(--blanc); font-weight: 600; }
.contact-card { background: var(--sable); padding: 28px; display: flex; flex-direction: column; gap: 18px; }

/* ---------- Listes, filtres, pagination ---------- */

.filters { display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px; }
.filters__group { display: flex; flex-wrap: wrap; gap: 8px; }
.filter {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px;
	border: 1.5px solid var(--trait-fort); border-radius: var(--radius-pill);
	background: var(--blanc); color: var(--encre); font-weight: 600; font-size: 15px; text-decoration: none;
}
.filter:hover { border-color: var(--petrole); color: var(--petrole); }
.filter.is-active { background: var(--petrole); border-color: var(--petrole); color: var(--blanc); }
.filter--small { min-height: 38px; font-size: 14px; padding: 0 14px; }
.filters__group--statut .filter.is-active { background: var(--peche-clair); border-color: var(--peche-vif); color: var(--nuit); }

.pagination { margin-top: 48px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pagination .page-numbers { min-width: 44px; min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--trait-fort); background: var(--blanc); color: var(--encre); text-decoration: none; font-weight: 600; }
.pagination .page-numbers.current { background: var(--petrole); border-color: var(--petrole); color: var(--blanc); }
.pagination a.page-numbers:hover { border-color: var(--petrole); }

.post-nav { display: flex; justify-content: space-between; gap: 24px; border-top: 1.5px solid var(--trait); padding-block: 28px var(--section); max-width: 760px; margin-inline: auto; font-weight: 600; }
.post-nav div:last-child { text-align: right; }

.search-form { display: flex; gap: 10px; flex-wrap: wrap; max-width: 620px; }
.search-form__input { flex: 1 1 260px; }
.search-again { margin-bottom: 36px; }
.empty { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; font-size: 18px; color: var(--texte); }

/* ---------- Responsive ---------- */

@media (max-width: 1080px) {
	.site-header__bar { grid-template-columns: auto 1fr; grid-template-areas: "brand actions" "nav nav"; }
	.site-header__actions { justify-self: end; }
	.nav-toggle { display: inline-flex; }
	.site-nav { justify-self: stretch; padding-bottom: 12px; }
	.site-nav .menu { flex-direction: column; align-items: stretch; gap: 0; border-top: 1px solid rgba(255,255,255,.15); }
	.site-nav .menu > li { border-bottom: 1px solid rgba(255,255,255,.12); }
	.site-nav a { display: block; padding-block: 14px; font-size: 18px; }
	.site-nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; padding: 0 0 8px 16px; }
	.site-nav .sub-menu a { padding: 8px 0; font-size: 16px; }
	.js .site-nav { display: none; }
	.js .site-nav.is-open { display: block; }
	html:not(.js) .nav-toggle { display: none; }
}

@media (max-width: 900px) {
	.hero__inner { grid-template-columns: 1fr; gap: 40px; padding-block: 24px 64px; }
	.hero__media { min-height: 0; height: 330px; }
	.hero__photo { width: 84%; height: 280px; }
	.hero__polaroid { width: 46%; }
	.polaroid img { height: 120px; }
	.polaroid figcaption { font-size: 18px; }
	.page-hero--media .page-hero__inner { grid-template-columns: 1fr; }
	.page-hero__media img { height: 260px; }
	.page-hero__aside { justify-self: start; }
	.split--parrain { grid-template-columns: 1fr; }
	.parrain__photo { max-width: 360px; }
	.project__aside { position: static; }
	.don-box--sticky { position: static; }
}

@media (max-width: 600px) {
	body { font-size: 16px; }
	:root { --lambrequin-h: 29px; }
	.lambrequin { background-size: 20px var(--lambrequin-h); }
	.site-logo { height: 46px; }
	.site-header__bar { padding-block: 12px; gap: 12px; }
	.site-header__don-long { display: none; }
	.site-header__don { padding-inline: 16px; }
	.hero__title { font-size: 52px; }
	.hero__lead { font-size: 17px; }
	.btn-row .btn { width: 100%; }
	.hero__media { height: 250px; }
	.hero__photo { height: 200px; }
	.photo-offset::before { transform: translate(10px, -10px); }
	.polaroid { padding: 6px 6px 8px; }
	.polaroid img { height: 96px; }
	.polaroid figcaption { font-size: 16px; }
	.page-hero__title { font-size: 40px; }
	.stat__value { font-size: 32px; }
	.don-box__huge { font-size: 46px !important; }
	.don-band .btn { width: 100%; }
	.mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.mosaic__caption { right: 0; font-size: 12.5px; padding: 6px 8px; }
	.mosaic__caption strong { font-size: 13px; }
	.wp-block-columns { flex-direction: column; }
	.site-footer__bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media print {
	.site-header__actions, .site-nav, .lambrequin, .don-band, .site-footer__grid .btn { display: none !important; }
	.top, .bg-petrol, .site-footer { background: none !important; color: #000 !important; }
}

/* ---------- Ajustements v1.2 ---------- */
.container--pb { padding-bottom: clamp(56px, 7vw, 88px); }
.btn-row--intro .btn--outline { background: transparent; }
