/*
Theme Name:   Osons le Rail
Description:  Thème enfant d'Astra pour l'association Osons le Rail ! Reprend la charte du site d'origine (marine, vert, or ; Manrope et Inter) et fournit des compositions de blocs prêtes à l'emploi.
Author:       Intelligence Éditoriale
Author URI:   https://intelligence-editoriale.fr
Template:     astra
Version:      1.1.21
Requires at least: 6.4
Requires PHP: 8.0
License:      GPL-2.0-or-later
Text Domain:  osons-le-rail
*/

/* ============ Polices (hébergées sur le site, sans appel à Google) ============ */
@font-face { font-family: 'Manrope'; font-weight: 500; font-style: normal; font-display: swap; src: url('fonts/manrope-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-weight: 600; font-style: normal; font-display: swap; src: url('fonts/manrope-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-weight: 700; font-style: normal; font-display: swap; src: url('fonts/manrope-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-weight: 800; font-style: normal; font-display: swap; src: url('fonts/manrope-latin-800-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 400; font-style: normal; font-display: swap; src: url('fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 500; font-style: normal; font-display: swap; src: url('fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 600; font-style: normal; font-display: swap; src: url('fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 700; font-style: normal; font-display: swap; src: url('fonts/inter-latin-700-normal.woff2') format('woff2'); }

/* ============ Charte ============ */
:root {
	--olr-vert: #0e8f6e;
	--olr-vert-fonce: #0a6b53;
	--olr-vert-clair: #e6f4ef;
	--olr-marine: #0a2540;
	--olr-or: #e0a100;
	--olr-encre: #1c2b3a;
	--olr-encre-douce: #33475b;
	--olr-gris: #5b6b7b;
	--olr-gris-clair: #e2e8f0;
	--olr-fond: #f4f6f9;
	--olr-ombre: 0 1px 2px rgba(10,37,64,.06), 0 4px 12px -2px rgba(10,37,64,.08);
	--olr-ombre-forte: 0 12px 32px -8px rgba(10,37,64,.18), 0 4px 10px -4px rgba(10,37,64,.10);
	--olr-rayon: .65rem;
	--olr-titres: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--olr-texte: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ============ Palette Astra ============
   Astra colore boutons, liens et titres avec ses propres variables.
   On les redéfinit sur body, ce qui l'emporte sur les valeurs par défaut d'Astra. */
body, .editor-styles-wrapper {
	--ast-global-color-0: #0e8f6e; /* boutons, liens */
	--ast-global-color-1: #0a6b53; /* survol */
	--ast-global-color-2: #0a2540; /* titres */
	--ast-global-color-3: #1c2b3a; /* texte */
	--ast-global-color-4: #f4f6f9; /* fond clair */
	--ast-global-color-5: #ffffff;
	--ast-global-color-6: #e2e8f0;
	--ast-global-color-7: #33475b;
	--ast-global-color-8: #0a2540;
}

/* ============ Base ============ */
body, button, input, select, textarea, .ast-button, .ast-custom-button {
	font-family: var(--olr-texte);
	color: var(--olr-encre);
	-webkit-font-smoothing: antialiased;
}
body { background-color: var(--olr-fond); line-height: 1.65; }
h1, h2, h3, h4, h5, h6, .entry-title, .site-title, .site-title a {
	font-family: var(--olr-titres);
	color: var(--olr-marine);
	letter-spacing: -.02em;
}
a { color: var(--olr-vert); }
a:hover, a:focus { color: var(--olr-vert-fonce); }
.entry-content > p { margin-bottom: 1rem; }

/* ============ En-tête (Astra) ============ */
.site-header .ast-primary-header-bar,
.site-header .main-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
	background-color: var(--olr-marine);
	border-bottom: 3px solid var(--olr-vert);
}
.site-header .site-title a,
.site-header .site-description,
.site-header .main-header-menu .menu-link,
.site-header .ast-builder-menu .menu-item > .menu-link,
.site-header .ast-mobile-menu-trigger-minimal,
.site-header .menu-toggle {
	color: #fff;
}
.site-header .main-header-menu .menu-link { font-weight: 500; border-radius: var(--olr-rayon); }
.site-header .main-header-menu .menu-item:hover > .menu-link,
.site-header .main-header-menu .current-menu-item > .menu-link {
	color: #fff;
	background-color: rgba(255,255,255,.12);
}
.site-header .main-header-menu .current-menu-item > .menu-link { background-color: var(--olr-vert); }
.ast-mobile-header-content, .ast-header-break-point .main-header-menu { background-color: var(--olr-marine); }

/* Nom du site sur une seule ligne */
.site-header .site-title, .site-header .site-title a { white-space: nowrap; }

/* Menu resserré, pastille compacte sur la page active */
.ast-desktop .site-header .main-header-menu > .menu-item {
	display: flex;
	align-items: center;
}
.ast-desktop .site-header .main-header-menu > .menu-item > .menu-link {
	line-height: 1.4 !important;
	padding: .45rem .7rem !important;
	font-size: .95rem;
	height: auto;
}

/* Bouton « Adhérer » de l'en-tête */
.site-header .ast-custom-button,
.site-header .ast-builder-button-wrap .ast-custom-button {
	background-color: var(--olr-vert) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--olr-rayon) !important;
	font-weight: 600;
	padding: .6rem 1.3rem !important;
	box-shadow: var(--olr-ombre);
	transition: background-color .25s, transform .25s;
}
.site-header .ast-custom-button:hover,
.site-header .ast-builder-button-wrap .ast-custom-button:hover {
	background-color: var(--olr-vert-fonce) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

/* ============ Pied de page (Astra) ============ */
.site-footer, .site-footer .site-above-footer-wrap, .site-footer .site-primary-footer-wrap, .site-footer .site-below-footer-wrap {
	background-color: var(--olr-marine);
	color: rgba(255,255,255,.8);
}
.site-footer a { color: rgba(255,255,255,.8); }
.site-footer a:hover { color: var(--olr-vert); }
.site-footer h2, .site-footer h3, .site-footer .widget-title { color: #fff; }
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p,
.site-footer .ast-footer-copyright a {
	color: rgba(255,255,255,.7) !important;
	font-size: .875rem;
}
.site-footer .footer-nav-wrap .menu-link,
.site-footer .ast-footer-menu .menu-link { color: rgba(255,255,255,.85) !important; }
.site-footer .footer-nav-wrap .menu-link:hover,
.site-footer .ast-footer-menu .menu-link:hover { color: #7fe3c0 !important; }
.site-footer .site-below-footer-wrap[data-section] { border-top: 1px solid rgba(255,255,255,.12) !important; }
.site-footer .ast-scroll-top-icon, #ast-scroll-top { background-color: var(--olr-vert) !important; border-radius: var(--olr-rayon); }
.site-footer .site-above-footer-wrap { background-color: var(--olr-marine) !important; padding: 3rem 0 2rem; border: 0 !important; }
.site-footer .footer-widget-area p, .site-footer .footer-widget-area li { color: rgba(255,255,255,.8); font-size: .875rem !important; line-height: 1.6; }
.site-footer .footer-widget-area a { color: rgba(255,255,255,.85); text-decoration: none; }
.site-footer .footer-widget-area a:hover { color: #7fe3c0; }
.site-footer .olr-pied-titre {
	font-family: var(--olr-titres);
	font-weight: 700;
	font-size: 1rem !important;
	color: #fff !important;
	position: relative;
	padding-bottom: .5rem;
	margin-bottom: 1rem !important;
}
.site-footer .olr-pied-titre::after {
	content: ''; position: absolute; left: 0; bottom: 0;
	width: 45px; height: 3px; background: var(--olr-vert);
}
.site-footer ul.olr-pied-liens { list-style: none; margin: 0 !important; padding: 0 !important; }
.site-footer ul.olr-pied-liens li { margin-bottom: .45rem; }
.site-footer .footer-widget-area .wp-block-button__link { color: #fff !important; padding: .6rem 1.2rem; }
.site-footer .footer-widget-area .wp-block-buttons { margin-bottom: 1rem; justify-content: flex-start; }
.site-footer .footer-widget-area .wp-block-button { margin-left: 0 !important; }
.site-footer .footer-widget-area .wp-block-button__link { font-size: .875rem; }
.site-footer .site-above-footer-wrap .ast-builder-grid-row { padding-left: 1.25rem; padding-right: 1.25rem; }
/* Neutralise un surlignage collé par erreur dans le copyright */
.site-footer .ast-footer-copyright span { background: none !important; }
@media (max-width: 860px) {
	.site-footer .footer-widget-area { text-align: left !important; margin-bottom: 1.5rem; }
}

/* ============ Formulaire de contact (WPForms) ============ */
.wpforms-container .wpforms-submit,
.wpforms-container button[type="submit"] {
	background-color: var(--olr-vert) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--olr-rayon) !important;
	font-weight: 600 !important;
	padding: .8rem 1.6rem !important;
	height: auto !important;
}
.wpforms-container .wpforms-submit:hover,
.wpforms-container button[type="submit"]:hover { background-color: var(--olr-vert-fonce) !important; }
.wpforms-container input[type="text"], .wpforms-container input[type="email"], .wpforms-container textarea {
	border-radius: var(--olr-rayon) !important;
	border: 1px solid var(--olr-gris-clair) !important;
}
.wpforms-container input:focus, .wpforms-container textarea:focus {
	border-color: var(--olr-vert) !important;
	box-shadow: 0 0 0 2px var(--olr-vert-clair) !important;
}

/* ============ Boutons ============ */
.wp-block-button__link, .ast-button, button[type="submit"], input[type="submit"] {
	background-color: var(--olr-vert);
	color: #fff;
	border-radius: var(--olr-rayon);
	font-weight: 600;
	padding: .8rem 1.6rem;
	box-shadow: var(--olr-ombre);
	transition: background-color .25s, transform .25s, box-shadow .25s;
}
.wp-block-button__link:hover, .ast-button:hover, button[type="submit"]:hover, input[type="submit"]:hover {
	background-color: var(--olr-vert-fonce);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: var(--olr-ombre-forte);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
	box-shadow: none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.2); }

/* ============ Compositions « Osons le Rail » ============ */

/* Bandeau d'accueil */
.olr-hero {
	background: linear-gradient(135deg, rgba(10,37,64,.96) 0%, rgba(12,52,89,.92) 100%);
	color: #fff;
	text-align: center;
	padding: 5rem 1.25rem !important;
}
.olr-hero h1, .olr-hero h2 { color: #fff; font-weight: 800; line-height: 1.1; letter-spacing: -.03em; }
.olr-hero p { color: rgba(255,255,255,.88); font-size: 1.2rem; max-width: 700px; margin-left: auto; margin-right: auto; }
.olr-hero .olr-surtitre { color: #7fe3c0; }
.olr-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background-color: var(--olr-vert) !important;
	color: #fff !important;
}
.olr-hero .wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent !important;
	color: #fff !important;
	border: 2px solid #fff !important;
}
.olr-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background-color: rgba(255,255,255,.2) !important; }

/* Surtitre */
.olr-surtitre {
	font-family: var(--olr-titres);
	font-weight: 600;
	font-size: .8rem !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--olr-vert);
	margin-bottom: .5rem !important;
}

/* Chiffres clés */
.olr-chiffres { gap: 1.5rem; }
.olr-chiffre {
	background: #fff;
	border-top: 4px solid var(--olr-vert);
	border-radius: var(--olr-rayon);
	box-shadow: var(--olr-ombre);
	padding: 2rem 1rem !important;
	text-align: center;
	transition: transform .3s, box-shadow .3s;
}
.olr-chiffre:hover { transform: translateY(-5px); box-shadow: var(--olr-ombre-forte); }
.olr-chiffre .olr-nombre {
	font-family: var(--olr-titres);
	font-size: 2.4rem !important;
	font-weight: 800;
	line-height: 1;
	color: var(--olr-vert);
	margin-bottom: .4rem !important;
}
.olr-chiffre p { margin-top: 0 !important; }
.olr-chiffre p:last-child { color: var(--olr-gris); font-size: .95rem; margin-bottom: 0 !important; }

/* Cartes */
.olr-carte {
	background: #fff;
	border-radius: var(--olr-rayon);
	box-shadow: var(--olr-ombre);
	overflow: hidden;
	padding: 1.5rem !important;
	border-top: 3px solid var(--olr-vert);
	transition: transform .3s, box-shadow .3s;
}
.olr-carte:hover { transform: translateY(-4px); box-shadow: var(--olr-ombre-forte); }
.olr-carte h3 { font-size: 1.2rem; margin-bottom: .6rem; }
.olr-carte h3 { margin-top: 0 !important; }
.olr-carte p { color: var(--olr-gris); margin-bottom: 0 !important; }

/* Encadré */
.olr-encadre {
	background: #fff;
	border-left: 4px solid var(--olr-vert);
	border-radius: var(--olr-rayon);
	box-shadow: var(--olr-ombre);
	padding: 1.75rem !important;
}

/* Appel à l'action */
.olr-appel {
	background: linear-gradient(135deg, var(--olr-vert), var(--olr-vert-fonce));
	color: #fff;
	text-align: center;
	padding: 3.5rem 1.25rem !important;
	border-radius: var(--olr-rayon);
}
.olr-appel h2 { color: #fff; font-size: 2rem; }
.olr-appel p { color: rgba(255,255,255,.95); font-size: 1.1rem; max-width: 700px; margin-left: auto; margin-right: auto; }
.olr-appel .wp-block-button__link { background: #fff; color: var(--olr-vert-fonce); }
.olr-appel .wp-block-button__link:hover { background: var(--olr-vert-clair); color: var(--olr-vert-fonce); }

/* Frise historique
   Le trait vertical et la pastille sont dessinés par chaque étape :
   ils restent alignés quelle que soit la mise en page imposée par le thème. */
.olr-frise { max-width: 820px; margin-left: auto !important; margin-right: auto !important; padding: 0 !important; }
.olr-frise > .olr-etape { margin-block-start: 0 !important; }
.olr-etape { position: relative; padding: 0 0 1.25rem 2.25rem !important; }
.olr-etape > * { margin-top: 0 !important; margin-bottom: .2rem !important; }
.olr-etape::after {
	content: ''; position: absolute; left: 8.5px; top: 0; bottom: 0;
	width: 3px; background: var(--olr-vert);
}
.olr-etape:last-child::after { bottom: auto; height: 1rem; }
.olr-etape::before {
	content: ''; position: absolute; left: 0; top: .25rem; z-index: 2;
	width: 14px; height: 14px; border-radius: 50%;
	background: var(--olr-vert); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--olr-vert);
}
.olr-etape.olr-temps-fort::before { background: var(--olr-or); box-shadow: 0 0 0 2px var(--olr-or); }
.olr-etape .olr-date { font-weight: 700; color: var(--olr-vert); }
.olr-etape.olr-temps-fort .olr-date { color: var(--olr-or); }
.olr-etape p:last-child { color: var(--olr-gris); }

/* Tracé de la ligne (liste de haltes) */
ul.olr-haltes {
	list-style: none;
	margin: 0 !important;
	padding: 2rem 1rem !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background: #fff;
	border-radius: var(--olr-rayon);
	box-shadow: var(--olr-ombre);
}
ul.olr-haltes li {
	position: relative;
	flex: 1 1 0;
	min-width: 90px;
	margin: 0 !important;
	padding: 32px .25rem 0;
	text-align: center;
	font-size: .85rem;
	font-weight: 600;
}
ul.olr-haltes li::before {
	content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: 22px; height: 22px; border-radius: 50%;
	background: var(--olr-vert); border: 4px solid #fff; box-shadow: 0 0 0 2px var(--olr-vert); z-index: 2;
}
ul.olr-haltes li::after {
	content: ''; position: absolute; top: 9px; left: -50%; right: 50%; height: 4px; background: var(--olr-vert); z-index: 1;
}
ul.olr-haltes li:first-child::after { display: none; }
ul.olr-haltes li:first-child::before, ul.olr-haltes li:last-child::before {
	background: var(--olr-or); box-shadow: 0 0 0 2px var(--olr-or);
}

/* Pastille */
.olr-pastille {
	display: inline-block;
	background: var(--olr-vert-clair);
	color: var(--olr-vert-fonce);
	padding: .2rem .7rem;
	border-radius: 999px;
	font-size: .8rem !important;
	font-weight: 600;
}

/* Tableaux de données */
.wp-block-table table { background: #fff; border-collapse: collapse; box-shadow: var(--olr-ombre); border-radius: var(--olr-rayon); overflow: hidden; }
.wp-block-table th { background: #f9fafb; font-weight: 700; }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid var(--olr-gris-clair); padding: .75rem 1rem; }

/* ============ Respiration entre les compositions ============
   Chaque bloc flotte sur le fond du site, séparé du suivant et du pied de page. */
.entry-content > .olr-section,
.entry-content > ul.olr-haltes,
.entry-content > .olr-appel,
.entry-content > .olr-encadre,
.entry-content > .olr-frise {
	margin-top: 3.5rem !important;
}
.entry-content > .olr-hero + * { margin-top: 3rem !important; }
.entry-content > *:last-child { margin-bottom: 4.5rem !important; }
.olr-appel { box-shadow: var(--olr-ombre-forte); }
@media (max-width: 860px) {
	.entry-content > .olr-section,
	.entry-content > ul.olr-haltes,
	.entry-content > .olr-appel,
	.entry-content > .olr-encadre,
	.entry-content > .olr-frise { margin-top: 2.5rem !important; }
	.entry-content > *:last-child { margin-bottom: 3rem !important; }
}

/* ============ Tablette : cartes deux par deux ============ */
.olr-chiffre, .olr-carte, .olr-encadre, .olr-appel, .olr-hero { box-sizing: border-box; }
@media (max-width: 1024px) {
	.olr-chiffres, .olr-cartes { flex-wrap: wrap !important; gap: 1.5rem !important; }
	.olr-chiffres > .wp-block-column,
	.olr-cartes > .wp-block-column {
		flex-basis: calc(50% - .8rem) !important;
		max-width: calc(50% - .8rem);
		flex-grow: 0 !important;
	}
}
@media (max-width: 600px) {
	.olr-chiffres > .wp-block-column,
	.olr-cartes > .wp-block-column { flex-basis: 100% !important; max-width: 100%; }
}

/* ============ Mobile ============ */
@media (max-width: 860px) {
	.olr-hero { padding: 3.5rem 1rem !important; }
	.olr-hero h1, .olr-hero h2 { font-size: 2rem !important; }
	.olr-hero p { font-size: 1.05rem; }
	.olr-appel h2 { font-size: 1.6rem; }
	ul.olr-haltes { flex-direction: column; align-items: flex-start; padding-left: 1.5rem !important; }
	ul.olr-haltes li { flex: none; padding: 3px 0 1rem 2.6rem; text-align: left; min-width: 0; }
	ul.olr-haltes li::before { top: 0; left: 0; transform: none; }
	ul.olr-haltes li::after { top: -50%; bottom: 50%; left: 13px; right: auto; width: 4px; height: auto; }
}

/* Respect des préférences de mouvement réduit */
@media (prefers-reduced-motion: reduce) {
	.olr-chiffre, .olr-carte, .wp-block-button__link { transition: none; }
	.olr-chiffre:hover, .olr-carte:hover, .wp-block-button__link:hover { transform: none; }
}

/* ============ Bandeau de haut de page (pages intérieures, articles, catégories) — v1.0.7 ============ */
.olr-bandeau {
	position: relative;
	background-color: var(--olr-marine);
	background-image: linear-gradient(135deg, rgba(10,37,64,.96) 0%, rgba(12,52,89,.92) 100%);
	color: #fff;
	padding: 3rem 0 3.25rem;
	border-bottom: 3px solid var(--olr-vert);
}
.olr-bandeau--image {
	background-image:
		linear-gradient(135deg, rgba(10,37,64,.88) 0%, rgba(12,52,89,.80) 100%),
		var(--olr-bandeau-image);
	background-size: cover;
	background-position: center;
}
.olr-bandeau--compact { padding: 2.25rem 0 2.25rem; }
.olr-bandeau__interieur { display: block !important; }
.olr-bandeau .olr-surtitre { color: #7fe3c0; margin: 0 0 .6rem; }
.olr-bandeau__titre {
	color: #fff !important;
	font-family: var(--olr-titres);
	font-weight: 800;
	font-size: clamp(1.9rem, 3.6vw, 2.75rem);
	line-height: 1.1;
	letter-spacing: -.03em;
	margin: 0;
	max-width: 900px;
}
.olr-bandeau__chapeau {
	color: rgba(255,255,255,.9);
	font-size: 1.15rem;
	line-height: 1.6;
	max-width: 760px;
	margin: 1rem 0 0;
}
.olr-bandeau__meta { color: rgba(255,255,255,.7); font-size: .95rem; margin: .9rem 0 0; }
/* Astra n'affiche plus son propre titre / en-tête là où le bandeau est présent */
.olr-avec-bandeau .entry-header,
.olr-avec-bandeau .ast-archive-description,
.olr-avec-bandeau .ast-single-entry-banner,
.olr-avec-bandeau .ast-archive-entry-banner { display: none !important; }
.olr-avec-bandeau #primary { margin-top: 2rem !important; }
.olr-avec-bandeau .entry-content > :first-child { margin-top: 0 !important; padding-top: 0 !important; }
.olr-avec-bandeau .site-main > article, .olr-avec-bandeau .ast-article-single { padding-top: 0 !important; }
@media (max-width: 600px) {
	.olr-bandeau { padding: 2.25rem 0 2.5rem; }
	.olr-bandeau--compact { padding: 1.75rem 0; }
	.olr-bandeau__chapeau { font-size: 1.02rem; }
	.olr-avec-bandeau #primary { margin-top: 2rem; }
}

/* v1.0.9 : l'image mise en avant ne s'affiche qu'en fond de bandeau */
.page .ast-single-post-featured-section,
.olr-avec-bandeau .ast-single-post-featured-section { display: none !important; }

/* =====================================================================
   v1.1.0 — palette plus lumineuse (retour au ton du site présenté à l'asso)
   En-tête blanc, orange pour les appels à adhérer, voiles allégés.
   Pour revenir en arrière : supprimer ce bloc.
   ===================================================================== */
:root {
	--olr-orange: #f39c12;
	--olr-orange-fonce: #d9860b;
	--olr-or: #f39c12;
}

/* En-tête blanc */
.site-header .ast-primary-header-bar,
.site-header .main-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
	background-color: rgba(255,255,255,.97) !important;
	border-bottom: 1px solid var(--olr-gris-clair) !important;
	box-shadow: 0 2px 10px rgba(10,37,64,.06);
}
.site-header .site-title a { color: var(--olr-vert) !important; font-weight: 800; }
.site-header .site-description,
.site-header .main-header-menu .menu-link,
.site-header .ast-builder-menu .menu-item > .menu-link,
.site-header .ast-mobile-menu-trigger-minimal,
.site-header .menu-toggle { color: var(--olr-encre) !important; }
.site-header .ast-mobile-menu-trigger-minimal svg, .site-header .menu-toggle svg { fill: var(--olr-encre) !important; }
.site-header .main-header-menu .menu-item:hover > .menu-link {
	color: var(--olr-vert-fonce) !important;
	background-color: var(--olr-vert-clair);
}
.site-header .main-header-menu .current-menu-item > .menu-link {
	color: #fff !important;
	background-color: var(--olr-vert) !important;
}
.ast-mobile-header-content, .ast-header-break-point .main-header-menu { background-color: #fff !important; }

/* Orange pour tout ce qui appelle à adhérer */
.site-header .ast-custom-button,
.site-header .ast-builder-button-wrap .ast-custom-button,
.olr-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.olr-appel .wp-block-button .wp-block-button__link,
.site-footer .wp-block-button .wp-block-button__link {
	background-color: var(--olr-orange) !important;
	color: #fff !important;
	border-color: var(--olr-orange) !important;
}
.site-header .ast-custom-button:hover,
.site-header .ast-builder-button-wrap .ast-custom-button:hover,
.olr-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.olr-appel .wp-block-button .wp-block-button__link:hover,
.site-footer .wp-block-button .wp-block-button__link:hover {
	background-color: var(--olr-orange-fonce) !important;
	border-color: var(--olr-orange-fonce) !important;
}

/* Mot surligné en orange dans un titre (format « Surlignage » de l'éditeur) */
.olr-hero mark, .olr-bandeau mark { background: transparent !important; color: var(--olr-orange) !important; }

/* Bandeau d'accueil : titre plus grand, plus présent */
.home .olr-hero h1 { font-size: clamp(2.4rem, 5.2vw, 4rem) !important; }

/* Voile des bandeaux intérieurs allégé */
.olr-bandeau--image {
	background-image:
		linear-gradient(135deg, rgba(10,37,64,.62) 0%, rgba(12,52,89,.50) 100%),
		var(--olr-bandeau-image);
}
.olr-bandeau--image .olr-bandeau__titre,
.olr-bandeau--image .olr-bandeau__chapeau { text-shadow: 0 2px 16px rgba(10,37,64,.7); }

/* =====================================================================
   v1.1.1 — titres en Rubik (hébergée sur le site, licence SIL OFL),
   bande grise supprimée entre l'en-tête et le bandeau d'accueil.
   ===================================================================== */
@font-face { font-family: 'Rubik'; font-weight: 500; font-style: normal; font-display: swap; src: url('fonts/rubik-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-weight: 600; font-style: normal; font-display: swap; src: url('fonts/rubik-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-weight: 700; font-style: normal; font-display: swap; src: url('fonts/rubik-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-weight: 800; font-style: normal; font-display: swap; src: url('fonts/rubik-latin-800-normal.woff2') format('woff2'); }
:root { --olr-titres: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
h1, h2, h3, h4, h5, h6, .entry-title, .site-title, .site-title a,
.olr-hero h1, .olr-hero h2, .olr-bandeau__titre, .olr-nombre {
	font-family: var(--olr-titres) !important;
	font-weight: 700 !important;
	letter-spacing: -.01em !important;
}
.home .site-main > article { margin-top: 0 !important; }

/* =====================================================================
   v1.1.2 — trame typographique validée sur la page Projet (02/10)
   Texte courant en Source Sans 3 (plus compact), titres H2 orange brûlé,
   colonne de lecture centrée, tableau recentré. Les infographies gardent Inter.
   ===================================================================== */
@font-face { font-family: 'Source Sans 3'; font-weight: 400; font-style: normal; font-display: swap; src: url('fonts/source-sans-3-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-weight: 400; font-style: italic; font-display: swap; src: url('fonts/source-sans-3-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-weight: 500; font-style: normal; font-display: swap; src: url('fonts/source-sans-3-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-weight: 600; font-style: normal; font-display: swap; src: url('fonts/source-sans-3-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-weight: 700; font-style: normal; font-display: swap; src: url('fonts/source-sans-3-latin-700-normal.woff2') format('woff2'); }
:root {
	--olr-texte: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--olr-infographie: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--olr-orange-titre: #d35400; /* contraste 3,85:1 sur le fond clair, lisible pour les titres */
	--olr-colonne: 48rem;
}
body, button, input, select, textarea, .entry-content, .entry-content p, .entry-content li, .entry-content td, .entry-content th { font-family: var(--olr-texte); }
.entry-content p, .entry-content li { font-size: 1rem; line-height: 1.6; } /* 16 px (v1.1.4, au lieu de 17,6 px) */

/* Les infographies restent en Inter */
.olr-chiffre p, .olr-carte p, ul.olr-haltes li, .olr-frise p { font-family: var(--olr-infographie) !important; }
.olr-chiffre p, .olr-carte p, ul.olr-haltes li { font-size: revert; line-height: revert; }

/* Chapeau du bandeau */
.olr-bandeau__chapeau, .olr-hero p:not(.olr-surtitre) {
	font-family: var(--olr-texte) !important;
	font-weight: 500;
	font-size: 1.22rem !important;
	line-height: 1.45 !important;
}

/* Titres H2 du contenu en orange brûlé (pas dans les bandeaux ni l'appel à adhérer) */
.entry-content > h2,
.entry-content .olr-section h2 { color: var(--olr-orange-titre) !important; }

/* Colonne de lecture : environ 75 caractères par ligne ; infographies en pleine largeur */
.entry-content[data-ast-blocks-layout] > p,
.entry-content[data-ast-blocks-layout] > ul:not(.olr-haltes),
.entry-content[data-ast-blocks-layout] > ol,
.entry-content[data-ast-blocks-layout] > h2,
.entry-content[data-ast-blocks-layout] > h3,
.entry-content[data-ast-blocks-layout] > .olr-encadre {
	max-width: var(--olr-colonne) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.entry-content[data-ast-blocks-layout] > ul:not(.olr-haltes),
.entry-content[data-ast-blocks-layout] > ol { padding-left: 1.25rem; }

/* Tableau : plus étroit, centré, colonnes alignées sur leur contenu */
.entry-content .wp-block-table { max-width: 36rem !important; margin-left: auto !important; margin-right: auto !important; }
.entry-content .wp-block-table th,
.entry-content .wp-block-table td { text-align: left !important; }
.entry-content .wp-block-table th:last-child,
.entry-content .wp-block-table td:last-child { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.entry-content .wp-block-table thead { border-bottom: 2px solid var(--olr-vert) !important; }
.entry-content .wp-block-table th { font-family: var(--olr-texte); font-weight: 700; }

/* =====================================================================
   v1.1.3 — calage des titres H2 (02/10)
   Un H2 se détache de ce qui précède et se colle à ce qu'il annonce.
   Les cartes par deux s'alignent sur la colonne de lecture ; par trois ou plus, elles s'élargissent.
   ===================================================================== */
.entry-content[data-ast-blocks-layout] > * + h2 { margin-top: 3.25rem !important; }
.entry-content[data-ast-blocks-layout] > h2 { margin-bottom: 1rem !important; }
.entry-content[data-ast-blocks-layout] > h2 + * { margin-top: 0 !important; }
.entry-content[data-ast-blocks-layout] > h2 + .olr-cartes,
.entry-content[data-ast-blocks-layout] > h2 + .olr-section { padding-top: .5rem !important; }
.entry-content[data-ast-blocks-layout] > .wp-block-columns.olr-cartes {
	max-width: var(--olr-colonne) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.entry-content[data-ast-blocks-layout] > .wp-block-columns.olr-cartes:has(> .wp-block-column:nth-child(3)) { max-width: 64rem !important; }
@media (max-width: 860px) {
	.entry-content[data-ast-blocks-layout] > * + h2 { margin-top: 2.5rem !important; }
}

/* v1.1.5 — moins d'air au-dessus des H2 : 40 px partout, y compris après une composition
   (cartes, chiffres, sections), dont le rembourrage bas s'ajoutait jusqu'ici à la marge. */
.entry-content[data-ast-blocks-layout] > * + h2 { margin-top: 2.5rem !important; }
.entry-content[data-ast-blocks-layout] > .olr-section:has(+ h2),
.entry-content[data-ast-blocks-layout] > .olr-cartes:has(+ h2),
.entry-content[data-ast-blocks-layout] > .wp-block-columns:has(+ h2) { padding-bottom: 0 !important; margin-bottom: 0 !important; }
@media (max-width: 860px) {
	.entry-content[data-ast-blocks-layout] > * + h2 { margin-top: 2rem !important; }
}

/* v1.1.6 — Accueil resserré : environ 60 px entre les blocs (au lieu de 170 à 200),
   surtitre collé à son titre, titre rapproché de ses cartes. */
.home .entry-content > .olr-hero + * { margin-top: 2.5rem !important; }
.home .entry-content > .olr-section,
.home .entry-content > ul.olr-haltes { margin-top: 2.5rem !important; }
.home .entry-content > .olr-appel { margin-top: 2rem !important; }
.home .entry-content > .olr-section { padding-top: .75rem !important; padding-bottom: .75rem !important; }
.home .olr-section .wp-block-spacer { height: 0 !important; }
.home .olr-section .olr-surtitre { margin-bottom: .35rem !important; }
.home .olr-section h2 { margin-top: 0 !important; margin-bottom: 1.25rem !important; }
.home .olr-section > .wp-block-columns,
.home .olr-section > ul.olr-haltes { margin-top: 0 !important; padding-top: 0 !important; }
@media (max-width: 860px) {
	.home .entry-content > .olr-section,
	.home .entry-content > .olr-appel { margin-top: 1.75rem !important; }
}

/* v1.1.7 — un texte qui suit une composition (tracé, cartes, encadré, tableau, frise) ne lui colle plus. */
.entry-content[data-ast-blocks-layout] > :is(ul.olr-haltes, .olr-cartes, .olr-section, .olr-encadre, .olr-frise, .wp-block-table) + :is(p, ul:not(.olr-haltes), ol) {
	margin-top: 2rem !important;
}

/* v1.1.9 — exergue (bloc Citation, classe olr-exergue) : centrée, manuscrite (Caveat, licence SIL OFL),
   guillemets orange ouvrant et fermant, filet orange au-dessus de la signature. */
@font-face { font-family: 'Caveat'; font-weight: 700; font-style: normal; font-display: swap; src: url('fonts/caveat-latin-700-normal.woff2') format('woff2'); }
.entry-content[data-ast-blocks-layout] > .wp-block-quote.olr-exergue {
	max-width: 50rem !important;
	margin: 4rem auto 3.5rem !important;
	padding: 1.5rem 4.5rem !important;
	border: 0 !important;
	background: transparent;
	position: relative;
	text-align: center;
}
.wp-block-quote.olr-exergue::before,
.wp-block-quote.olr-exergue::after {
	position: absolute;
	font-family: 'Caveat', cursive;
	font-weight: 700;
	font-size: 7rem;
	line-height: 1;
	color: var(--olr-orange);
}
.wp-block-quote.olr-exergue::before { content: "\201C"; left: 0; top: -1.25rem; }
.wp-block-quote.olr-exergue::after { content: "\201D"; right: 0; bottom: -4rem; }
.wp-block-quote.olr-exergue p {
	font-family: 'Caveat', cursive !important;
	font-weight: 700;
	font-style: normal !important;
	font-size: 2.35rem !important;
	line-height: 1.25 !important;
	color: var(--olr-marine);
	margin: 0 0 1.25rem !important;
}
.wp-block-quote.olr-exergue cite {
	display: block;
	font-family: var(--olr-texte);
	font-style: normal;
	font-weight: 700;
	font-size: .85rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--olr-vert);
}
.wp-block-quote.olr-exergue cite::before {
	content: "";
	display: block;
	width: 3rem; height: 3px;
	margin: 0 auto .9rem;
	border-radius: 2px;
	background: var(--olr-orange);
}
@media (max-width: 600px) {
	.entry-content[data-ast-blocks-layout] > .wp-block-quote.olr-exergue { padding: 1rem 2.25rem !important; margin: 3rem auto 3rem !important; }
	.wp-block-quote.olr-exergue::before, .wp-block-quote.olr-exergue::after { font-size: 4.5rem; }
	.wp-block-quote.olr-exergue::after { bottom: -2.5rem; }
	.wp-block-quote.olr-exergue p { font-size: 1.75rem !important; }
}

/* v1.1.10 — pied de page « Nous soutenir » : trois boutons empilés (adhérer orange, don vert,
   pétition orange brûlé) et pictogramme Instagram devant le lien. */
.site-footer .olr-pied-boutons { flex-direction: column; align-items: stretch !important; gap: .6rem !important; max-width: 18rem; margin: .9rem 0 1.1rem; }
.site-footer .olr-pied-boutons .wp-block-button { width: 100%; }
.site-footer .olr-pied-boutons .wp-block-button__link { display: block; width: 100%; text-align: center; padding: .65rem 1rem !important; font-weight: 600; }
.site-footer .wp-block-button.olr-btn-don .wp-block-button__link { background-color: var(--olr-vert) !important; border-color: var(--olr-vert) !important; }
.site-footer .wp-block-button.olr-btn-don .wp-block-button__link:hover { background-color: var(--olr-vert-fonce) !important; border-color: var(--olr-vert-fonce) !important; }
.site-footer .wp-block-button.olr-btn-petition .wp-block-button__link { background-color: #d35400 !important; border-color: #d35400 !important; }
.site-footer .wp-block-button.olr-btn-petition .wp-block-button__link:hover { background-color: #b34700 !important; border-color: #b34700 !important; }
.olr-insta a { display: inline-flex; align-items: center; gap: .5rem; }
.olr-insta a::before {
	content: "";
	width: 1.25em; height: 1.25em; flex: none;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.2' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.2' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* v1.1.11 — en-tête affiché en double entre 922 et 1240 px : sous le seuil du menu replié,
   seul l'en-tête mobile s'affiche ; au-dessus, seul l'en-tête ordinateur. */
.ast-header-break-point #ast-desktop-header { display: none !important; }
.ast-header-break-point #ast-mobile-header { display: block !important; }
.ast-desktop #ast-mobile-header { display: none !important; }

/* v1.1.12 — la frise historique tient dans la colonne de lecture. */
.entry-content[data-ast-blocks-layout] > .olr-frise {
	max-width: var(--olr-colonne) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* v1.1.13 — images dans le contenu : dans la colonne de lecture, coins arrondis, légende discrète. */
.entry-content[data-ast-blocks-layout] > figure.wp-block-image {
	max-width: var(--olr-colonne) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.entry-content figure.wp-block-image img { border-radius: var(--olr-rayon); box-shadow: var(--olr-ombre); width: 100%; height: auto; }
.entry-content figure.wp-block-image figcaption {
	font-family: var(--olr-texte);
	font-size: .9rem;
	font-style: italic;
	color: var(--olr-gris);
	text-align: center;
	margin-top: .6rem;
}
.entry-content[data-ast-blocks-layout] > figure.wp-block-image + * { margin-top: 2rem !important; }

/* =====================================================================
   v1.1.14 — deux nouvelles lames d'accueil
   1. « Une ligne, des envies » (colonnes, classe olr-envies) : carte blanche, photo à gauche.
   2. « Dernières actus, derniers articles » (boucle de requête, classe olr-actus) :
      les 3 dernières publications, Blog et Actualités confondus, en cartes.
   ===================================================================== */

/* --- Lame « Une ligne, des envies » --- */
.entry-content > .wp-block-columns.olr-envies {
	background: #fff;
	border-radius: var(--olr-rayon);
	box-shadow: var(--olr-ombre-forte);
	overflow: hidden;
	gap: 0 !important;
	align-items: stretch !important;
	padding: 0 !important;
}
.home .entry-content > .wp-block-columns.olr-envies { margin-top: 2.5rem !important; }
.olr-envies > .wp-block-column:first-child { position: relative; min-height: 320px; }
.olr-envies > .wp-block-column:first-child figure,
.olr-envies > .wp-block-column:first-child .wp-block-image { position: absolute; inset: 0; margin: 0 !important; height: 100%; }
.olr-envies > .wp-block-column:first-child img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; box-shadow: none !important; }
.olr-envies > .wp-block-column:last-child { padding: 2.5rem 2.75rem !important; display: flex; flex-direction: column; justify-content: center; }
.olr-envies .olr-surtitre { text-align: left; margin-bottom: .35rem !important; }
.olr-envies h2 { color: var(--olr-orange-titre) !important; margin: 0 0 .9rem !important; text-align: left; }
.olr-envies p { font-size: 1rem; line-height: 1.6; }
.olr-envies ul { list-style: none; padding: 0 !important; margin: .4rem 0 1.4rem !important; display: flex; flex-wrap: wrap; gap: .5rem; }
.olr-envies ul li {
	background: var(--olr-vert-clair); color: var(--olr-vert-fonce);
	font-weight: 600; font-size: .9rem; border-radius: 999px; padding: .3rem .85rem; margin: 0 !important;
}
.olr-envies .wp-block-buttons { justify-content: flex-start !important; }
@media (max-width: 781px) {
	.olr-envies > .wp-block-column:first-child { min-height: 220px; }
	.olr-envies > .wp-block-column:last-child { padding: 1.75rem 1.5rem !important; }
}

/* --- Lame « Dernières actus, derniers articles » --- */
.olr-actus .wp-block-post-template { gap: 1.5rem !important; margin-top: 0 !important; }
.olr-actu {
	background: #fff; border-radius: var(--olr-rayon); box-shadow: var(--olr-ombre);
	overflow: hidden; height: 100%; display: flex; flex-direction: column;
	transition: transform .2s, box-shadow .2s;
}
.olr-actu:hover { transform: translateY(-3px); box-shadow: var(--olr-ombre-forte); }
.olr-actu .wp-block-post-featured-image { margin: 0 !important; aspect-ratio: 16 / 9; }
.olr-actu .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.olr-actu:not(:has(.wp-block-post-featured-image))::before {
	content: ""; display: block; aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, var(--olr-marine) 0%, #0c3459 100%);
}
.olr-actu-corps { padding: 1.1rem 1.4rem 1.4rem !important; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.olr-actu .olr-actu-cat, .olr-actu .olr-actu-cat a {
	font-family: var(--olr-texte); font-size: .78rem; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--olr-vert) !important; text-decoration: none; margin: 0 !important;
}
.olr-actu .wp-block-post-title { font-size: 1.15rem !important; line-height: 1.3 !important; margin: .1rem 0 0 !important; text-align: left !important; }
.olr-actu .wp-block-post-title a { color: var(--olr-marine); text-decoration: none; }
.olr-actu .wp-block-post-title a:hover { color: var(--olr-orange-titre); }
.olr-actu .olr-actu-date { font-size: .85rem; color: var(--olr-gris); margin: 0 !important; }
.olr-actu .wp-block-post-excerpt { margin: .3rem 0 0 !important; }
.olr-actu .wp-block-post-excerpt__excerpt { font-size: .95rem; line-height: 1.5; color: var(--olr-encre-douce); margin: 0; }
.olr-actu .wp-block-post-excerpt__more-text { display: none; }
.olr-actus .wp-block-query-no-results p { text-align: center; color: var(--olr-gris); font-style: italic; }
.olr-actus > .wp-block-buttons { margin-top: 1.5rem !important; gap: .75rem; }
@media (min-width: 561px) and (max-width: 860px) {
	/* v1.1.18 : deux colonnes sur tablette (une seule carte ne doit plus occuper tout l'écran) */
	.olr-actus .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
	.olr-actus .wp-block-post-template { grid-template-columns: 1fr !important; }
}

/* =====================================================================
   v1.1.15 — page carrefour « Une ligne, des envies » : grille de cartes destination
   (groupe en grille, classe olr-destinations ; chaque carte : groupe olr-dest).
   ===================================================================== */
.entry-content[data-ast-blocks-layout] > .olr-destinations {
	max-width: 66rem !important; margin-left: auto !important; margin-right: auto !important;
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 1.5rem !important;
}
.olr-dest {
	background: #fff; border-radius: var(--olr-rayon); box-shadow: var(--olr-ombre);
	overflow: hidden; display: flex; flex-direction: column; margin: 0 !important;
	transition: transform .2s, box-shadow .2s;
}
.olr-dest:hover { transform: translateY(-3px); box-shadow: var(--olr-ombre-forte); }
.olr-dest > .wp-block-image { margin: 0 !important; aspect-ratio: 3 / 2; }
.olr-dest > .wp-block-image a, .olr-dest > .wp-block-image img { display: block; width: 100%; height: 100% !important; }
.olr-dest > .wp-block-image img { object-fit: cover; border-radius: 0 !important; box-shadow: none !important; }
.olr-dest:not(:has(> .wp-block-image))::before {
	content: ""; display: block; aspect-ratio: 3 / 2;
	background: linear-gradient(135deg, var(--olr-vert) 0%, var(--olr-marine) 100%);
}
.olr-dest-corps { padding: 1.1rem 1.4rem 1.4rem !important; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.olr-dest .olr-surtitre { text-align: left !important; margin: 0 !important; font-size: .75rem !important; }
.olr-dest h3 { font-size: 1.3rem !important; margin: 0 !important; }
.olr-dest h3 a { color: var(--olr-marine); text-decoration: none; }
.olr-dest h3 a:hover { color: var(--olr-orange-titre); }
.olr-dest p { font-size: .95rem !important; line-height: 1.5 !important; margin: 0 !important; color: var(--olr-encre-douce); }
.olr-dest p.olr-dest-lien { margin-top: auto !important; padding-top: .5rem; }
.olr-dest p.olr-dest-lien a { color: var(--olr-orange-titre); font-weight: 700; text-decoration: none; }
@media (max-width: 1024px) {
	.entry-content[data-ast-blocks-layout] > .olr-destinations { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
	.entry-content[data-ast-blocks-layout] > .olr-destinations { grid-template-columns: 1fr !important; }
}

/* =====================================================================
   v1.1.16 — étiquettes thématiques des cartes destination
   (liste ul.olr-tags ; chaque li : olr-tag + famille culture | vie | bienetre | nature).
   Typo dédiée : Manrope, capitales espacées, distincte des titres (Rubik) et du texte (Source Sans 3).
   ===================================================================== */
.olr-dest ul.olr-tags {
	display: flex !important; flex-wrap: wrap; gap: .4rem;
	list-style: none !important; padding: 0 !important; margin: .35rem 0 .1rem !important;
}
.olr-dest ul.olr-tags li.olr-tag {
	font-family: 'Manrope', var(--olr-titres) !important; font-weight: 800; font-size: .66rem !important;
	line-height: 1 !important; letter-spacing: .08em; text-transform: uppercase;
	display: inline-flex; align-items: center; gap: .35rem;
	margin: 0 !important; padding: .38rem .6rem .36rem .5rem;
	border: 1px solid; border-radius: .3rem; white-space: nowrap;
}
.olr-dest ul.olr-tags li.olr-tag::before {
	content: ""; width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; flex: none;
}
.olr-tag--culture  { background: #e8eef6; color: #0a2540 !important; border-color: #b9c9de !important; }
.olr-tag--vie      { background: #fff4d1; color: #7a5600 !important; border-color: #ead18a !important; }
.olr-tag--bienetre { background: #fdeee0; color: #a84300 !important; border-color: #f2c79c !important; }
.olr-tag--nature   { background: #e3f3ec; color: #0a6b53 !important; border-color: #b3dccb !important; }

/* =====================================================================
   v1.1.18 — archives du blog (grille Astra) : deux colonnes sur tablette
   au lieu d'une carte pleine largeur dont la photo envahissait l'écran.
   ===================================================================== */
@media (min-width: 561px) and (max-width: 921px) {
	.ast-blog-layout-4-grid .ast-row > article { width: 50% !important; flex: 0 0 50% !important; max-width: 50%; }
}

/* =====================================================================
   v1.1.19 : formulaire de pétition SpeakOut! habillé aux couleurs du site
   (carte blanche alignée sur la colonne de texte, champs pleine largeur,
   bouton orange comme « Adhérer »).
   ===================================================================== */
.entry-content .dk-speakout-petition-wrap {
	width: auto !important; max-width: var(--olr-colonne) !important;
	margin: 1rem auto 1.5rem !important; padding: 1.75rem 2rem !important;
	background: #fff !important; border: 0 !important; border-radius: var(--olr-rayon) !important;
	box-shadow: var(--olr-ombre) !important; font-family: var(--olr-texte) !important; box-sizing: border-box;
}
.dk-speakout-petition-wrap > h3, .dk-speakout-petition-wrap .dk-speakout-readme { display: none !important; }
.dk-speakout-petition-wrap .dk-speakout-full,
.dk-speakout-petition-wrap .dk-speakout-half { width: 100% !important; float: none !important; margin: 0 0 .75rem !important; padding: 0 !important; }
.dk-speakout-petition-wrap input[type="text"],
.dk-speakout-petition-wrap input[type="email"] {
	width: 100% !important; box-sizing: border-box !important; margin: 0 !important;
	padding: .75rem .9rem !important; font-size: 1rem !important; font-family: var(--olr-texte) !important;
	color: var(--olr-encre) !important; background: #fff !important;
	border: 1px solid #cfd8e3 !important; border-radius: .5rem !important; box-shadow: none !important;
}
.dk-speakout-petition-wrap input:focus { border-color: var(--olr-vert) !important; outline: 2px solid var(--olr-vert-clair) !important; }
.dk-speakout-petition-wrap .dk-speakout-privacypolicy-wrap { margin: .25rem 0 1rem !important; }
.dk-speakout-petition-wrap .dk-speakout-options,
.dk-speakout-petition-wrap .dk-speakout-options a {
	text-transform: none !important; letter-spacing: 0 !important; font-size: .95rem !important;
	font-weight: 400 !important; color: var(--olr-encre-douce) !important;
}
.dk-speakout-petition-wrap .dk-speakout-options a { color: var(--olr-vert) !important; text-decoration: underline !important; }
.dk-speakout-petition-wrap .dk-speakout-submit {
	display: inline-block !important; width: auto !important; margin: 0 !important;
	padding: .8rem 1.8rem !important; border: 0 !important; border-radius: .6rem !important;
	background: var(--olr-orange) !important; color: #fff !important; text-transform: none !important;
	font-family: var(--olr-texte) !important; font-weight: 700 !important; font-size: 1.05rem !important;
	box-shadow: none !important; cursor: pointer; text-shadow: none !important;
}
.dk-speakout-petition-wrap .dk-speakout-submit:hover { background: var(--olr-orange-fonce) !important; }
.dk-speakout-response { max-width: var(--olr-colonne); margin: 0 auto 1.5rem; font-family: var(--olr-texte); }
.entry-content > .olr-petition-texte { max-width: var(--olr-colonne) !important; margin-left: auto !important; margin-right: auto !important; padding: 0 !important; }
.olr-petition-texte .petitionMessage ul { padding-left: 1.25rem; }
@media (max-width: 600px) {
	.entry-content .dk-speakout-petition-wrap { padding: 1.25rem 1.1rem !important; }
}

/* =====================================================================
   v1.1.21 : barre de partage [olr_partage]
   ===================================================================== */
.entry-content > .olr-partage,
.olr-partage {
	display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem;
	max-width: var(--olr-colonne); margin: .75rem auto 1.5rem !important;
}
.olr-partage__btn {
	display: inline-flex; align-items: center; padding: .5rem 1.05rem !important;
	border: 1px solid var(--olr-vert) !important; border-radius: 999px !important;
	background: #fff !important; color: var(--olr-vert-fonce) !important;
	font-family: var(--olr-texte) !important; font-size: .95rem !important; font-weight: 600 !important;
	line-height: 1.2 !important; text-decoration: none !important; cursor: pointer; box-shadow: none !important;
}
.olr-partage__btn:hover, .olr-partage__btn:focus-visible { background: var(--olr-vert) !important; color: #fff !important; }
.olr-partage__natif { background: var(--olr-vert) !important; color: #fff !important; }
.olr-partage__btn[hidden] { display: none !important; }
/* v1.1.21 : texte du bouton « Je signe la pétition » centré (l'extension imposait height: 50px et line-height: 40px) */
.dk-speakout-petition-wrap .dk-speakout-submit {
	height: auto !important; min-height: 0 !important; line-height: 1.25 !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
