/*
Theme Name: Ardennes Terre d'Aventures
Theme URI: https://www.ardennes-terre-aventures.com/
Author: Ardennes Terre d'Aventures
Description: Thème à blocs reprenant l'identité du site ardennes-terre-aventures.com (Elfy Park, Le Corsaire Volant, Wisplash) : rouge #e23621, verts forêt, police Jost, vagues et silhouettes de sapins. Polices hébergées localement (RGPD).
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ata-aventures
Tags: block-patterns, full-site-editing, custom-colors, editor-style, one-column, two-columns
*/

/* =========================================================
   Base
   ========================================================= */
:root {
	--ata-rouge: #e23621;
	--ata-vert: #41604c;
	--ata-vert-clair: #e3ebe7;
	--ata-ombre-carte: -5px 3px 6px rgba(0, 0, 0, .16);
	--ata-ombre-bouton: 0 3px 5px -2px rgba(37, 38, 39, .04), 0 7px 14px -5px rgba(37, 38, 39, .06);
}
body { -webkit-font-smoothing: antialiased; }
.ata-main { overflow-x: clip; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ata-entete { margin: 0; }
.screen-reader-text:focus { background: #fff; color: #000; }

/* =========================================================
   En-tête (couverture + navigations rouges)
   ========================================================= */
.ata-hero.wp-block-cover {
	position: relative;
	align-items: stretch;
	background: linear-gradient(90deg, #5d7a6c 0%, #dfe7e3 100%);
	overflow: hidden;
}
.ata-hero.wp-block-cover::before { /* lignes blanches */
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 70px;
	height: 300px;
	background: var(--ata-img-header-lines) no-repeat center bottom / 110% auto;
	opacity: .9;
	z-index: 1;
	pointer-events: none;
}
.ata-hero .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: none !important;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: inherit;
	position: relative;
	z-index: 2;
}
.ata-hero__haut { margin-top: 48px; gap: 0 !important; align-items: flex-start !important; }
.ata-hero__logo { padding: 0 96px; margin: 24px 0 !important; }
.ata-hero__logo .ata-logo__img { width: 232px; height: auto; display: block; filter: drop-shadow(0 2px 12px rgba(0,0,0,.18)); }
.ata-hero__logo .ata-logo__texte { font-weight: 800; font-size: 2.2rem; color: #fff; text-transform: uppercase; line-height: 1; }

/* carré rouge « Accueil » */
.ata-logo-lien--picto {
	display: grid; place-items: center;
	width: 64px; height: 64px;
	background: var(--ata-rouge);
	color: #fff; font-weight: 800; text-decoration: none !important;
}
.ata-logo-lien--picto .ata-logo__img { width: 36px; height: auto; display: block; filter: brightness(0) invert(1); }

/* barres de navigation rouges */
.ata-nav.wp-block-navigation {
	background: var(--ata-rouge);
	color: #fff;
	gap: 0;
	font-weight: 600;
	margin: 0 !important;
}
.ata-nav .wp-block-navigation__container { gap: 0 !important; }
.ata-nav .wp-block-navigation-item { position: relative; }
.ata-nav .wp-block-navigation-item + .wp-block-navigation-item::before {
	content: ""; position: absolute; left: 0; top: 14px; bottom: 14px;
	border-left: 1px solid rgba(255,255,255,.35);
}
.ata-nav .wp-block-navigation-item__content {
	display: block;
	padding: 24px !important;
	color: #fff !important;
	line-height: 1.15;
	text-decoration: none !important;
}
.ata-nav .wp-block-navigation-item__content::after { /* petit trait blanc de l'élément actif */
	content: ""; position: absolute; left: 50%; bottom: 14px;
	width: 14px; height: 4px; border-radius: 4px; background: #fff;
	transform: translateX(-50%) scaleX(0); transition: transform .2s ease;
}
.ata-nav .is-actif > .wp-block-navigation-item__content::after,
.ata-nav .wp-block-navigation-item__content:hover::after,
.ata-nav--parcs .is-site-courant > .wp-block-navigation-item__content::after { transform: translateX(-50%) scaleX(1); }
.ata-nav--parcs { font-size: .95rem !important; }
.ata-nav--site { align-self: flex-start; position: relative; }
/* menu mobile (hamburger) */
.ata-nav .wp-block-navigation__responsive-container-open { color: #fff; padding: 20px; }
.ata-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--ata-rouge) !important; color: #fff !important; }
.ata-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 14px 0 !important; font-size: 1.25rem; }

/* vague vert clair en bas de l'en-tête (pages intérieures) */
.ata-entete + .ata-main .ata-intro::before,
.ata-entete + .ata-main .ata-article::before {
	content: ""; position: absolute; left: 0; right: 0; top: -100px; height: 104px;
	background: var(--ata-img-wave-light-green) no-repeat center bottom / 100% 100%;
	pointer-events: none;
}

/* =========================================================
   Intro des pages : titre rouge incliné + chapô, fond forêt
   ========================================================= */
.ata-intro, .is-style-foret {
	position: relative;
	background-color: var(--ata-vert-clair);
	padding-top: 72px;
	padding-bottom: 200px;
	isolation: isolate;
}
.is-style-foret::after { /* silhouettes de sapins */
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 260px;
	background: var(--ata-img-forest) no-repeat center bottom / 100% 100%;
	z-index: -1; opacity: .85;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 40%);
	        mask-image: linear-gradient(to bottom, transparent 0, #000 40%);
}
.ata-intro__colonnes { gap: 80px !important; }
.ata-intro__titre, .ata-intro h1 {
	font-size: var(--wp--preset--font-size--huge) !important;
	font-weight: 900; font-style: italic; text-transform: uppercase;
	color: var(--ata-rouge) !important; line-height: 1.15; margin: 0;
	overflow-wrap: anywhere; hyphens: auto;
}
.ata-intro__chapo { font-weight: 300; line-height: 1.6; margin: 0; }
.ata-intro__chapo p { margin: 0; }

/* contenu des pages sur fond blanc avec bord en vague */
.ata-contenu { position: relative; background: #fff; padding-top: 32px; padding-bottom: 72px; }
.ata-contenu::before {
	content: ""; position: absolute; left: 0; right: 0; top: -99px; height: 100px;
	background: var(--ata-img-wave-white) no-repeat center bottom / 100% 100%;
}
.ata-contenu > * { position: relative; }
.ata-contenu p, .ata-contenu li { line-height: 1.5; }
.ata-contenu h2 { margin-top: 2.2em; margin-bottom: .4em; }
.ata-contenu h3 { margin-top: 2em; }

/* sections alternées (À propos) */
.ata-section { padding-top: 56px; padding-bottom: 56px; position: relative; }
.ata-section__colonnes { gap: 72px !important; }
.ata-section p { line-height: 1.5; }
.ata-section h2 { margin-top: 0; }
.is-style-vagues-vertes {
	position: relative; color: #fff;
	background: #507b5e var(--ata-img-green-waves) no-repeat center top / 100% auto;
	padding-top: clamp(140px, 18vw, 240px) !important;
	padding-bottom: 96px !important;
}
.is-style-vagues-vertes h2, .is-style-vagues-vertes h3, .is-style-vagues-vertes p { color: #fff !important; }
.is-style-vagues-vertes .ata-section__colonnes { flex-direction: row-reverse; }

/* =========================================================
   Galerie « curseur » (défilement horizontal sans JavaScript lourd)
   ========================================================= */
.wp-block-gallery.is-style-curseur {
	display: flex !important; flex-wrap: nowrap !important;
	overflow-x: auto; scroll-snap-type: x mandatory;
	gap: 16px !important; padding-bottom: 12px;
	scrollbar-width: thin; scrollbar-color: var(--ata-rouge) transparent;
	position: relative;
}
.wp-block-gallery.is-style-curseur > .wp-block-image {
	flex: 0 0 100% !important; width: 100% !important; max-width: 100%;
	scroll-snap-align: center; margin: 0 !important;
	display: flex; flex-direction: column; align-items: center;
}
.wp-block-gallery.is-style-curseur > .wp-block-image img {
	width: auto !important; max-width: 100%; height: 440px !important;
	object-fit: cover; border-radius: 18px; margin: 0 auto;
	flex: none !important;
}
.wp-block-gallery.is-style-curseur.has-nested-images figure.wp-block-image figcaption {
	position: static; background: none; color: inherit; text-align: left;
	font-style: italic; font-size: .875rem; padding: 12px 8px 0; max-height: none; overflow: visible;
	width: 100%; text-shadow: none;
}
.wp-block-gallery.is-style-curseur.has-nested-images figure.wp-block-image::before { display: none; }
.ata-curseur-nav { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 10px; }
.ata-curseur-nav button {
	width: 26px; height: 26px; border-radius: 50%; border: 0; cursor: pointer;
	background: #bdbdbd var(--ata-img-arrow-white) no-repeat center / 12px;
}
.ata-curseur-nav button.prec { transform: rotate(180deg); }
.ata-curseur-nav button:hover { background-color: var(--ata-rouge); }
.ata-curseur-nav .points { display: flex; gap: 6px; }
.ata-curseur-nav .points span { width: 8px; height: 8px; border-radius: 50%; border: 1px solid #999; }
.ata-curseur-nav .points span.on { background: #303030; border-color: #303030; width: 10px; height: 10px; }
.is-style-vagues-vertes .ata-curseur-nav .points span { border-color: #fff; }
.is-style-vagues-vertes .ata-curseur-nav .points span.on { background: #fff; }

/* =========================================================
   Titres et boutons
   ========================================================= */
.is-style-titre-section, .ata-titre-section {
	font-size: var(--wp--preset--font-size--giant) !important;
	font-weight: 900 !important; text-transform: uppercase;
	color: var(--ata-rouge) !important; text-align: center;
	display: grid; justify-items: center; gap: 12px; margin-bottom: 64px !important;
}
.is-style-titre-section::before, .ata-titre-section::before {
	content: ""; width: 120px; height: 50px;
	background: var(--ata-img-parcs-flag) no-repeat center / contain;
}
.is-style-titre-incline {
	font-size: clamp(2.5rem, 6vw, 4rem) !important; font-weight: 900 !important;
	text-transform: uppercase; color: #fff !important; line-height: 1 !important;
	transform: rotate(-6deg); margin: 0 auto 24px !important; max-width: 12ch;
}

.wp-block-button .wp-block-button__link { box-shadow: var(--ata-ombre-bouton); transition: transform .15s ease, filter .15s ease; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-1px); text-decoration: none; }
.wp-block-button[class*="is-style-"] .wp-block-button__link::after,
.wp-block-button.is-style-fleche .wp-block-button__link::after {
	content: ""; display: inline-block; width: 15px; height: 14px; margin-left: 12px; vertical-align: -1px;
	background: var(--ata-img-arrow-white) no-repeat center / contain;
}
.wp-block-button.is-style-noir .wp-block-button__link { background: #000; color: #fff; }
.wp-block-button.is-style-orange .wp-block-button__link { background: #de9439; color: #fff; }
.wp-block-button.is-style-bleu .wp-block-button__link { background: #0569a7; color: #fff; }
.wp-block-button.is-style-blanc .wp-block-button__link { background: #fff; color: #000; }
.wp-block-button.is-style-blanc .wp-block-button__link::after { background-image: var(--ata-img-arrow-black); }
.wp-block-button.is-style-outline .wp-block-button__link::after { display: none; }

/* =========================================================
   Accueil : cartes des parcs
   ========================================================= */
.ata-parcs {
	position: relative; isolation: isolate;
	background: var(--ata-vert-clair);
	padding-top: 48px !important; padding-bottom: 82px !important;
	margin-top: 0 !important; margin-bottom: 0 !important;
}
.ata-parcs::before {
	content: ""; position: absolute; left: 0; right: 0; top: 128px; height: 480px;
	background: var(--ata-img-forest) no-repeat center bottom / 100% 100%;
	z-index: -1; opacity: .8;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 35%, #000 70%, transparent 100%);
	        mask-image: linear-gradient(to bottom, transparent 0, #000 35%, #000 70%, transparent 100%);
}
.ata-parcs__liste { gap: 36px !important; justify-content: center; flex-wrap: wrap !important; }
.ata-parc-carte.wp-block-cover {
	flex: 0 1 336px; min-height: 556px !important;
	border-radius: 24px; overflow: hidden;
	padding: 140px 32px 20px !important;
	align-items: flex-end; text-align: center;
	box-shadow: var(--ata-ombre-carte);
	margin: 0 !important;
}
.ata-parc-carte .wp-block-cover__inner-container { display: grid; justify-items: center; gap: 0; }
.ata-parc-carte .wp-block-image { margin: 0 0 8px !important; }
.ata-parc-carte .wp-block-image img { width: 272px; max-height: 252px; object-fit: contain; border-radius: 0 !important; }
.ata-parc-carte .wp-block-buttons { margin: 16px 0 0 !important; }
.ata-parc-carte p { color: #fff; margin: 16px 0 !important; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
.ata-parc-carte .wp-block-cover__image-background { transition: transform .5s ease; }
.ata-parc-carte:hover .wp-block-cover__image-background { transform: scale(1.04); }

/* =========================================================
   Cartes d'actualités (accueil, liste, archives)
   ========================================================= */
.ata-actus { position: relative; padding-top: 32px !important; padding-bottom: 64px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.ata-actus--accueil { margin-top: 110px !important; }
.ata-actus--accueil::before {
	content: ""; position: absolute; left: 0; right: 0; top: -102px; height: 104px;
	background: var(--ata-img-wave-light-green) no-repeat center bottom / 100% 100%;
}
.ata-cartes-actus { list-style: none; padding: 0 !important; margin: 0 0 40px !important; }
.ata-cartes-actus > li { margin: 0 !important; }
.ata-carte-actu {
	position: relative; margin: 96px 0 0 !important;
	background: #fff; border-radius: 24px; box-shadow: var(--ata-ombre-carte);
	padding: 6px 64px 18px 28px !important;
}
.ata-cartes-actus > li:nth-child(even) .ata-carte-actu { margin-left: 40px !important; margin-right: -40px !important; }
.ata-carte-actu__image.wp-block-post-featured-image {
	position: absolute !important; top: -80px; left: -40px; margin: 0 !important;
	width: 144px !important; height: 144px !important;
	border-radius: 50% !important; overflow: hidden; box-shadow: var(--ata-ombre-carte);
	z-index: 2;
}
.ata-carte-actu__image img { width: 144px !important; height: 144px !important; object-fit: cover; border-radius: 50% !important; }
.ata-carte-actu__date {
	display: block; text-align: right; font-size: .875rem !important; font-weight: 600;
	text-transform: uppercase; color: #303030; margin: 6px -36px 44px 96px !important;
}
.ata-carte-actu__titre { font-size: 1.25rem !important; font-weight: 700 !important; text-transform: none !important; line-height: 1.1 !important; margin: 0 !important; color: #313131; }
.ata-carte-actu__titre a { color: inherit; text-decoration: none; }
.ata-carte-actu__titre a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* toute la carte est cliquable */
.ata-carte-actu__resume { margin: 12px 0 0 !important; line-height: 1.15; }
.ata-carte-actu__resume p { margin: 0; }
.ata-carte-actu__fleche.wp-block-read-more {
	position: absolute !important; right: -16px; top: 50%; transform: translateY(-50%);
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--ata-rouge) var(--ata-img-arrow-white) no-repeat center / 14px;
	font-size: 0 !important; color: transparent !important; overflow: hidden; z-index: 2;
	box-shadow: 0 0 0 4px var(--ata-vert-clair);
}
.ata-actus .wp-block-query-pagination { margin-top: 40px; font-weight: 600; }

/* =========================================================
   Accueil : météo
   ========================================================= */
.ata-meteo { background: var(--ata-rouge); color: #fff; margin-top: 0 !important; margin-bottom: 0 !important; gap: 0 !important; }
.ata-meteo > .wp-block-column:first-child {
	padding: 28px 32px 52px; display: grid; align-content: center; justify-items: center; text-align: center; gap: 16px;
}
.ata-meteo h2 { color: #fff !important; font-size: 1.1rem !important; text-transform: uppercase; font-weight: 600; margin: 0; }
.ata-meteo p { margin: 0; }
.ata-meteo .wp-block-image, .ata-meteo .wp-block-image img { margin: 0 !important; height: 320px; width: 100%; object-fit: cover; border-radius: 0 !important; }

/* =========================================================
   Article
   ========================================================= */
.ata-article { position: relative; padding-top: 48px !important; padding-bottom: 72px !important; margin: 0 !important; }
.ata-article__colonnes { gap: 62px !important; }
.ata-article__titre { font-size: clamp(1.9rem, 3.5vw, 2.625rem) !important; font-weight: 600 !important; font-style: normal !important; text-transform: none !important; color: #303030 !important; line-height: 1.2 !important; max-width: 496px; margin: 0 auto 32px !important; }
.ata-article__image img { border-radius: 18px; width: 100%; height: auto; }
.ata-article__date { color: var(--ata-rouge); font-weight: 600; text-transform: uppercase; margin: 32px 0 28px !important; font-size: 1rem !important; }
.ata-article__texte > * { margin-block: 0 1em; }
.ata-article__texte p, .ata-article__texte li { line-height: 1.5; }
.ata-article__texte h2 { font-size: 1.5rem; color: #303030; margin-top: 1.4em; }
.ata-article__texte h3 { margin-top: 1.4em; }

.ata-etiquettes { margin-top: 24px; font-size: .8rem; }
.ata-etiquettes a { display: inline-block; background: #fff; color: #303030; border-radius: 20px; padding: 3px 12px; margin: 0 4px 4px 0; text-decoration: none; }
.ata-etiquettes .wp-block-post-terms__separator { display: none; }

/* =========================================================
   Bandeau « déconnecter »
   ========================================================= */
.ata-deconnecter { padding-top: 96px !important; padding-bottom: 96px !important; margin: 0 !important; }
.ata-deconnecter .wp-block-buttons { gap: 12px; margin-top: 32px !important; }

/* =========================================================
   Pied de page
   ========================================================= */
.ata-footer {
	position: relative; margin: 0 !important;
	padding-top: 72px !important; padding-bottom: 28px !important;
	background-image: var(--ata-img-footer-waves) !important;
	background-repeat: no-repeat !important; background-position: right bottom !important; background-size: auto 100% !important;
	font-size: .875rem;
}
.ata-footer a { color: #fff; font-weight: 700; }
.ata-footer__grille { gap: 32px 48px !important; }
.ata-footer .ata-logo--blanc .ata-logo__img { width: 280px; height: auto; display: block; }
.ata-footer .ata-logo__texte { font-weight: 800; font-size: 1.5rem; text-transform: uppercase; }
.ata-partenaires { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 24px; }
.ata-partenaires img { height: 52px; width: auto; display: block; }
.ata-partenaires__region img { height: 48px; }
.ata-footer__nav { font-size: .875rem; font-weight: 700; }
.ata-footer__nav .wp-block-navigation__container { gap: 8px 36px !important; }
.ata-footer__adresse { margin: 0; line-height: 1.5; }

/* =========================================================
   Formulaire (Contact Form 7)
   ========================================================= */
.wpcf7 form { display: grid; gap: 14px; background: #fff; padding: 28px; border-radius: 24px; box-shadow: var(--ata-ombre-carte); }
.wpcf7 label { display: grid; gap: 6px; font-weight: 600; }
.wpcf7 input:not([type=submit]):not([type=checkbox]), .wpcf7 select, .wpcf7 textarea {
	width: 100%; font: inherit; padding: .75em 1em; border: 1px solid #dfe3e7; border-radius: 1.25rem; background: #fff;
}
.wpcf7 textarea { min-height: 140px; }
.wpcf7 input[type=submit] {
	justify-self: start; background: var(--ata-rouge); color: #fff; border: 0; cursor: pointer;
	font-weight: 600; letter-spacing: .2em; text-transform: uppercase; font-size: .875rem;
	padding: .6rem 1.75rem; border-radius: 20px;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1024px) {
	.ata-hero__logo { padding: 0 40px; }
	.ata-nav--parcs .wp-block-navigation-item__content { padding: 18px 14px !important; }
}
@media (max-width: 781px) {
	.ata-hero.wp-block-cover { min-height: 520px !important; }
	.ata-hero__haut { margin-top: 0; }
	.ata-nav--parcs { display: none !important; }
	.ata-hero__logo { padding: 0 24px; }
	.ata-hero__logo .ata-logo__img { width: 170px; }
	.ata-nav--site { align-self: flex-end; }
	.ata-intro, .is-style-foret { padding-top: 48px; padding-bottom: 150px; }
	.ata-intro__colonnes, .ata-section__colonnes, .ata-article__colonnes { gap: 24px !important; }
	.is-style-vagues-vertes .ata-section__colonnes { flex-direction: column-reverse; }
	.wp-block-gallery.is-style-curseur > .wp-block-image img { height: 340px !important; }
	.ata-carte-actu { margin-left: 24px !important; padding-right: 44px !important; }
	.ata-cartes-actus > li:nth-child(even) .ata-carte-actu { margin-left: 24px !important; margin-right: 0 !important; }
	.ata-carte-actu__image.wp-block-post-featured-image { width: 110px !important; height: 110px !important; left: -24px; top: -64px; }
	.ata-carte-actu__image img { width: 110px !important; height: 110px !important; }
	.ata-carte-actu__date { margin: 6px -20px 36px 80px !important; }
	.ata-carte-actu__fleche.wp-block-read-more { right: -12px; }
	.ata-meteo .wp-block-image img { height: 220px; }
	.ata-footer { background-size: auto 60% !important; }
	.ata-footer__grille { justify-content: center !important; text-align: center; }
	.ata-partenaires { justify-content: center; flex-wrap: wrap; }
}

/* Bouton de réservation Guidap */
.ata-reserver { margin: 1.4em 0 0; }
.ata-reserver guidap-activity-details-button { display: inline-block; }

/* Grille des 10 parcours (Corsaire Volant) */
.wp-block-gallery.ata-parcours { gap: 20px !important; }
.wp-block-gallery.ata-parcours .wp-block-image img { border-radius: 14px; aspect-ratio: 1/1; object-fit: cover; }
.wp-block-gallery.ata-parcours.has-nested-images figure.wp-block-image { flex-grow: 0 !important; max-width: 200px; }
.wp-block-gallery.ata-parcours.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: inherit; text-shadow: none; font-style: normal; font-size: .85rem; line-height: 1.35; padding: 8px 2px 0; text-align: center; max-height: none; overflow: visible; }
.wp-block-gallery.ata-parcours.has-nested-images figure.wp-block-image::before { display: none; }
.wp-block-gallery.ata-parcours.has-nested-images figure.wp-block-image { flex-direction: column; }
@media (max-width: 781px) { .wp-block-gallery.ata-parcours.columns-5 figure.wp-block-image:not(#individual-image) { width: calc(50% - 10px) !important; } }
/* FAQ dépliable */
.ata-faq { background: #fff; border-radius: 14px; box-shadow: var(--ata-ombre-carte); padding: 14px 20px; margin: 0 0 12px !important; }
.ata-faq summary { font-weight: 600; cursor: pointer; list-style: none; padding-right: 28px; position: relative; }
.ata-faq summary::-webkit-details-marker { display: none; }
.ata-faq summary::after { content: "+"; position: absolute; right: 0; top: -2px; font-size: 1.4rem; color: var(--ata-rouge); }
.ata-faq[open] summary::after { content: "–"; }
.ata-faq p { margin: 10px 0 0; line-height: 1.5; }
.is-style-vagues-vertes .ata-faq { color: #303030; }
.is-style-vagues-vertes .ata-faq p { color: #303030 !important; }

/* Bouton Guidap aux couleurs du site (police Jost, pilule, flèche) */
.ata-reserver guidap-activity-details-button .g-button,
.ata-reserver guidap-activity-details-button button {
	font-family: var(--wp--preset--font-family--jost) !important;
	font-size: .875rem !important; font-weight: 600 !important;
	text-transform: uppercase !important; letter-spacing: .2em !important; line-height: 1.5 !important;
	padding: .6rem 1.75rem !important; height: auto !important; min-height: 0 !important;
	border: 0 !important; border-radius: 20px !important;
	background: var(--ata-rouge) !important; color: #fff !important;
	box-shadow: var(--ata-ombre-bouton) !important; transition: transform .15s ease !important;
}
.ata-reserver guidap-activity-details-button button span { font: inherit !important; color: inherit !important; }
.ata-reserver guidap-activity-details-button button::after {
	content: ""; display: inline-block; width: 15px; height: 14px; margin-left: 12px; vertical-align: -1px;
	background: var(--ata-img-arrow-white) no-repeat center / contain;
}
.ata-reserver guidap-activity-details-button button:hover { transform: translateY(-1px); filter: brightness(.95); }
/* Elfy Park : orange — Corsaire Volant : noir */
.ata-reserver guidap-activity-details-button[activity-uuid="THgfBUMnQ3lhAjuwdF2et5PO4o9CNabc0z7V"] button { background: #de9439 !important; }
.ata-reserver guidap-activity-details-button[activity-uuid="a6LAfSI2GRgWmnVQ8UeElCyN9b4DoPidrBtY"] button,
.ata-reserver guidap-activity-details-button[activity-uuid="7tX6LGaUeuShKoOj8bckxqEV0HPy1RMv2s5Q"] button { background: #000 !important; }

/* H1 logo de l'accueil */
.ata-h1-logo { margin: 0; font-size: inherit; line-height: 1; }

/* Tableaux (distances, accès) */
.ata-tableau table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.ata-tableau th, .ata-tableau td { padding: .6rem .9rem; border-bottom: 1px solid rgba(65,96,76,.25); text-align: left; }
.ata-tableau thead th { background: var(--wp--preset--color--vert-fonce, #41604c); color: #fff; font-weight: 600; }
.ata-tableau tbody tr:nth-child(even) td { background: rgba(255,255,255,.55); }
@media (max-width: 600px) { .ata-tableau th, .ata-tableau td { padding: .45rem .5rem; font-size: .92rem; } }

/* Bandeau « événement terminé » */
.ata-evenement-termine { background: #fdecea; border-left: 4px solid var(--wp--preset--color--rouge, #e23621); padding: .8rem 1rem; }

/* Bandeau d'ouverture du jour */
.ata-bandeau-ouverture { padding: 0; }
.ata-ouverture {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem .9rem;
  margin: 0; padding: .95rem 1.25rem;
  font-family: "Jost", sans-serif;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem); font-weight: 700; letter-spacing: .02em; text-transform: uppercase;
  color: #fff; background: var(--wp--preset--color--vert-fonce, #41604c);
  text-align: center;
}
.ata-ouverture--ferme { background: #2b2b2b; }
.ata-ouverture__point {
  width: .85rem; height: .85rem; border-radius: 50%; flex: none;
  background: #7ed957; box-shadow: 0 0 0 .3rem rgba(126,217,87,.28);
  animation: ata-pulse 2.2s ease-in-out infinite;
}
.ata-ouverture--ferme .ata-ouverture__point { background: #ffb020; box-shadow: 0 0 0 .3rem rgba(255,176,32,.25); animation: none; }
@keyframes ata-pulse { 0%,100% { box-shadow: 0 0 0 .3rem rgba(126,217,87,.28); } 50% { box-shadow: 0 0 0 .62rem rgba(126,217,87,.10); } }
@media (prefers-reduced-motion: reduce) { .ata-ouverture__point { animation: none; } }
.ata-ouverture a {
  margin: 0; padding: .45rem 1.15rem; border-radius: 1.25rem;
  background: #fff; color: var(--wp--preset--color--rouge, #e23621);
  font-weight: 700; text-decoration: none; white-space: nowrap;
  transition: transform .15s ease, background-color .15s ease;
}
.ata-ouverture a:hover, .ata-ouverture a:focus-visible { background: var(--wp--preset--color--rouge, #e23621); color: #fff; transform: translateY(-1px); }
.ata-ouverture__etat { font-size: 1.1em; }
.ata-ouverture__detail { font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .92; font-size: .82em; }
@media (max-width: 600px) { .ata-ouverture { font-size: 1rem; padding: .8rem 1rem; gap: .4rem .7rem; } .ata-ouverture__detail { width: 100%; } }

/* Bouton Réserver dans l'en-tête */
.ata-nav-reserver { margin-left: auto; }
.ata-nav-reserver .wp-block-button__link { padding-block: .45rem; }

/* Barre de réservation fixe (mobile) */
.ata-barre-reserver { display: none; }
@media (max-width: 781px) {
  .ata-barre-reserver { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; display: block; padding: .9rem 1rem; text-align: center; font-weight: 700; text-decoration: none; color: #fff; background: var(--wp--preset--color--rouge, #e23621); box-shadow: 0 -2px 12px rgba(0,0,0,.18); }
  body { padding-bottom: 3.4rem; }
  .ata-ouverture a { margin-left: 0; }
}

/* Parcours par âge et Pass-Partout */
.ata-choix-age .wp-block-buttons { gap: .75rem; }
.ata-pass p { font-size: 1.05rem; }
.ata-wisplash-section .ata-parcs__liste { max-width: 100%; }
.ata-wisplash-section .ata-parc-carte { max-width: 560px; margin-inline: auto; }
.ata-wisplash-section .wp-block-cover { min-height: 340px !important; }
.ata-wisplash-section p { max-width: 62ch; }


/* =========================================================
   Calendrier de la saison (au survol du bandeau)
   ========================================================= */
.ata-bandeau-ouverture { position: relative; z-index: 90; }
/* Bandeau en carte, à cheval sur le bas de la photo (25/09/2026) */
@media (min-width: 782px) {
	.ata-bandeau-ouverture { margin-top: -2.5rem !important; }
	.ata-ouverture { border-radius: 18px; box-shadow: 0 12px 32px rgba(0,0,0,.24); }
}
.ata-ouverture-bloc { position: relative; z-index: 90; }
.ata-ouverture__calendrier {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem .9rem;
	background: none; border: 0; padding: 0; margin: 0; color: inherit; cursor: pointer;
	font: inherit; letter-spacing: inherit; text-transform: inherit;
}
.ata-ouverture__chevron {
	width: .55rem; height: .55rem; flex: none;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px); transition: transform .2s ease;
}
.ata-ouverture__calendrier[aria-expanded="true"] .ata-ouverture__chevron { transform: rotate(-135deg) translateY(-2px); }

.ata-calendrier {
	position: absolute; left: 50%; top: 100%; z-index: 80;
	transform: translateX(-50%); padding-top: .5rem;
	width: min(420px, calc(100vw - 2rem));
}
.ata-calendrier[hidden] { display: none; }
.ata-calendrier__carte {
	background: #fff; color: #303030; border-radius: 18px;
	box-shadow: 0 18px 44px rgba(0,0,0,.22); padding: 1.1rem 1.2rem 1.3rem;
	font-family: "Jost", sans-serif; text-align: center;
}
.ata-calendrier__tete { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .85rem; }
.ata-calendrier__mois { font-size: 1.05rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ata-calendrier__nav {
	width: 2rem; height: 2rem; flex: none; border: 0; border-radius: 50%; cursor: pointer;
	background: var(--ata-rouge, #e23621); color: #fff; font-size: 1.1rem; line-height: 1;
}
.ata-calendrier__nav[disabled] { opacity: .25; cursor: default; }
.ata-calendrier__grille { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.ata-calendrier__jour {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
	min-height: 46px; border-radius: 9px; font-size: .95rem; font-weight: 600;
}
.ata-calendrier__jour--nom { min-height: 0; font-size: .7rem; font-weight: 700; text-transform: uppercase; opacity: .5; padding-bottom: 2px; }
.ata-calendrier__jour--vide { background: none; }
.ata-calendrier__heures { font-size: .58rem; font-weight: 600; line-height: 1.1; letter-spacing: 0; }
.ata-calendrier__jour.est-ouvert { background: #e6f3ea; color: #1f5c36; }
.ata-calendrier__jour.est-ferme { background: #f2f2f2; color: #9a9a9a; }
.ata-calendrier__jour.est-ferme .ata-calendrier__heures { opacity: .75; }
.ata-calendrier__jour.est-aujourdhui { outline: 2px solid var(--ata-rouge, #e23621); outline-offset: -2px; }
.ata-calendrier__legende { display: flex; align-items: center; justify-content: center; gap: .45rem; margin: .9rem 0 .8rem; font-size: .78rem; color: #666; text-align: center; }
.ata-calendrier__pastille { width: .7rem; height: .7rem; border-radius: 3px; background: #e6f3ea; border: 1px solid #b9dcc6; flex: none; }
.ata-calendrier__bouton {
	display: inline-block; padding: .65rem 1.6rem; border-radius: 20px;
	background: var(--ata-rouge, #e23621); color: #fff !important; text-decoration: none !important;
	font-weight: 700; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase;
}
@media (max-width: 600px) {
	.ata-calendrier__carte { padding: .9rem .7rem 1.1rem; }
	.ata-calendrier__jour { min-height: 40px; font-size: .85rem; }
	.ata-calendrier__heures { font-size: .5rem; }
}


/* =========================================================
   Mouvements au défilement
   -----------------------------------------------------
   CSS natif : animations liées au défilement (animation-timeline)
   et transitions de vue entre les pages. Aucun JavaScript.
   Garde-fous : prefers-reduced-motion, @supports, et seules
   opacity / transform sont animées.
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {

	@supports (animation-timeline: view()) {

		@keyframes ata-monte {
			from { opacity: 0; transform: translateY(18px); }
			to   { opacity: 1; transform: none; }
		}

		.ata-contenu > h2, .ata-contenu > h3, .ata-contenu > p,
		.ata-contenu > ul, .ata-contenu > ol,
		.ata-contenu > .wp-block-buttons, .ata-contenu > .wp-block-table,
		.ata-contenu > details,
		.ata-main .wp-block-group > h2, .ata-main .wp-block-group > h3,
		.ata-main .wp-block-group > p, .ata-main .wp-block-group > ul,
		.ata-main .wp-block-group > .wp-block-buttons,
		.ata-main .wp-block-group > .wp-block-table,
		.ata-main .wp-block-group > details {
			animation: ata-monte linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 55%;
		}

		@keyframes ata-apparait {
			from { opacity: 0; transform: translateY(26px); }
			to   { opacity: 1; transform: none; }
		}
		@keyframes ata-zoom {
			from { scale: 1.06; }
			to   { scale: 1; }
		}

		.ata-main figure.wp-block-image,
		.ata-main .wp-block-columns,
		.ata-main .wp-block-gallery {
			animation: ata-apparait linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 60%;
		}

		.ata-main figure.wp-block-image img {
			animation: ata-zoom linear both;
			animation-timeline: view();
			animation-range: entry 0% exit 100%;
		}
		.ata-main .wp-block-gallery figure.wp-block-image img,
		.ata-parcours figure.wp-block-image img { animation: none; scale: 1; }
	}

	@supports (animation-timeline: scroll()) {
		@keyframes ata-teinte {
			from { background-color: #ffffff; }
			to   { background-color: #f4f8f5; }
		}
		body {
			animation: ata-teinte linear both;
			animation-timeline: scroll(root block);
		}
	}

	@keyframes ata-vt-entre {
		from { opacity: 0; transform: translateY(10px); }
		to   { opacity: 1; transform: none; }
	}
	@keyframes ata-vt-sort {
		from { opacity: 1; }
		to   { opacity: 0; }
	}
	::view-transition-old(root) { animation: ata-vt-sort .18s ease both; }
	::view-transition-new(root) { animation: ata-vt-entre .28s ease both; }

	.ata-entete { view-transition-name: ata-entete; }
	.ata-ouverture { view-transition-name: ata-bandeau; }
	.ata-barre-reserver { view-transition-name: ata-barre; }
}

@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
	@view-transition { navigation: none; }
}

@media print {
	* { animation: none !important; opacity: 1 !important; transform: none !important; }
}


/* =========================================================
   Bloc « Préparer votre visite » — grille bento
   Conçue mobile d'abord : une colonne, puis deux, puis la
   grille asymétrique à partir de 900 px.
   ========================================================= */
.ata-bento { display: grid; gap: 14px; grid-template-columns: 1fr; }
.ata-bento > * { margin: 0 !important; }
.ata-bento__tuile {
	background: #fff; border-radius: 20px; padding: 20px;
	box-shadow: 0 6px 22px rgba(0,0,0,.08);
	display: flex; flex-direction: column; gap: .7rem;
}
.ata-bento__tuile > * { margin: 0 !important; }
.ata-bento__tuile h3 {
	font-size: 1.15rem; font-weight: 700; line-height: 1.2; text-transform: none;
	color: var(--wp--preset--color--rouge, #e23621);
}
.ata-bento__tuile p { font-size: .975rem; line-height: 1.45; }
.ata-bento__tuile .wp-block-buttons { margin-top: auto !important; gap: .5rem !important; }
.ata-bento__tuile .wp-block-button { flex: 1 1 auto; }
.ata-bento__tuile .wp-block-button__link { width: 100%; text-align: center; padding-block: .75rem; }
.ata-bento__liste { list-style: none; padding: 0 !important; margin: 0 !important; display: grid; gap: .1rem; }
.ata-bento__liste li {
	display: flex; justify-content: space-between; gap: 1rem; align-items: baseline;
	font-size: .95rem; padding: .45rem 0; border-bottom: 1px dashed rgba(0,0,0,.14);
}
.ata-bento__liste li:last-child { border-bottom: 0; }
.ata-bento__liste strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ata-bento__note { font-size: .85rem !important; opacity: .75; }
.ata-bento__note a { text-decoration: underline; }
@media (max-width: 599px) {
	.ata-bento__note a { display: inline-block; padding-block: .8rem; }
}
.ata-bento__tuile--pass { background: var(--wp--preset--color--rouge, #e23621); color: #fff; }
.ata-bento__tuile--pass h3, .ata-bento__tuile--pass a { color: #fff; }
.ata-bento__tuile--pass .ata-bento__liste li { border-bottom-color: rgba(255,255,255,.35); }

@media (min-width: 600px) {
	.ata-bento { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.ata-bento__tuile--age { grid-column: 1 / -1; }
	.ata-bento__tuile--age .wp-block-buttons { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
	.ata-bento {
		gap: 18px;
		grid-template-columns: repeat(4, 1fr);
		grid-template-areas:
			"age age pass pass"
			"age age tarifs acces"
			"meteo meteo tarifs acces";
	}
	.ata-bento__tuile { padding: 26px; }
	.ata-bento__tuile--age { grid-area: age; }
	.ata-bento__tuile--pass { grid-area: pass; }
	.ata-bento__tuile--tarifs { grid-area: tarifs; }
	.ata-bento__tuile--acces { grid-area: acces; }
	.ata-bento__tuile--meteo { grid-area: meteo; }
	.ata-bento__tuile--age h3 { font-size: 1.6rem; }
	.ata-bento__tuile--meteo { flex-direction: row; align-items: center; gap: 1.5rem; }
	.ata-bento__tuile--meteo .wp-block-buttons { margin-top: 0 !important; flex: none; }
	.ata-bento__tuile--meteo .wp-block-button__link { width: auto; }
}

@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.ata-bento__tuile {
			animation: ata-apparait linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 50%;
		}
		.ata-bento__tuile > * { animation: none !important; }
	}
}


/* =========================================================
   Priorité mobile
   Le téléphone est le premier écran : menu accessible sans
   chercher, cibles tactiles de 44 px, rien sous 14 px.
   ========================================================= */
@media (max-width: 781px) {
	/* le menu remonte en haut à droite, au niveau du picto */
	.ata-entete .wp-block-cover__inner-container { position: relative; }
	.ata-nav--site { position: absolute; top: 0; right: 0; align-self: auto; z-index: 3; }
	.ata-nav--site .wp-block-navigation__responsive-container-open { padding: 20px; }

	/* en-tête moins haut : le contenu utile arrive plus tôt */
	.ata-entete .wp-block-cover { min-height: 430px !important; }

	/* cibles tactiles : 44 px au minimum */
	.wp-block-button__link {
		min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	}
	.ata-ouverture a {
		min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	}
	.ata-carte-actu__fleche { min-width: 44px !important; min-height: 44px !important; }
	.ata-faq summary { min-height: 44px; display: flex; align-items: center; padding-block: .5rem; }

	/* plus rien sous 14 px */
	.ata-ouverture__detail,
	.ata-calendrier__legende,
	.ata-bento__note,
	figcaption,
	.wp-block-table td,
	.wp-block-table th { font-size: .875rem !important; }
}


/* Liens vers les parcs voisins : uniquement dans le menu mobile,
   la barre des parcs les porte déjà sur ordinateur. */
.ata-nav--site .ata-lien-parc { display: none; }
@media (max-width: 781px) {
	.ata-nav--site .ata-lien-parc { display: block; }
	.ata-nav--site .ata-lien-parc--premier {
		margin-top: 1.25rem; padding-top: 1.25rem;
		border-top: 1px solid rgba(255,255,255,.35);
	}
	.ata-nav--site .ata-lien-parc .wp-block-navigation-item__content { opacity: .9; }
	.ata-nav--site .ata-lien-parc + .ata-lien-parc::before,
	.ata-nav--site .ata-lien-parc--premier::before { content: none; }
}


/* Bouton affiché avant le chargement de Guidap : même dessin que le bouton Guidap */
.ata-reserver .ata-reserver-btn {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--jost);
	font-size: .875rem; font-weight: 600;
	text-transform: uppercase; letter-spacing: .2em; line-height: 1.5;
	padding: .6rem 1.75rem; min-height: 44px;
	border: 0; border-radius: 20px; cursor: pointer;
	background: var(--ata-rouge); color: #fff;
	box-shadow: var(--ata-ombre-bouton); transition: transform .15s ease;
}
.ata-reserver .ata-reserver-btn::after {
	content: ""; display: inline-block; width: 15px; height: 14px; margin-left: 12px; flex: none;
	background: var(--ata-img-arrow-white) no-repeat center / contain;
}
.ata-reserver .ata-reserver-btn:hover { transform: translateY(-1px); filter: brightness(.95); }
.ata-reserver .ata-reserver-btn[disabled] { opacity: .7; cursor: progress; }
/* Elfy Park : orange — Corsaire Volant : noir */
.ata-reserver .ata-reserver-btn[data-activite="THgfBUMnQ3lhAjuwdF2et5PO4o9CNabc0z7V"] { background: #de9439; }
.ata-reserver .ata-reserver-btn[data-activite="a6LAfSI2GRgWmnVQ8UeElCyN9b4DoPidrBtY"] { background: #000; }


/* =========================================================
   Carte des temps de route (page du lac)
   Deux versions du même schéma : paysage sur grand écran,
   portrait sur téléphone, pour rester lisible.
   ========================================================= */
.ata-carte { margin: 0 0 2rem !important; }
.ata-carte-acces {
	display: block; width: 100%; height: auto;
	border-radius: 26px;
	box-shadow: 0 8px 28px rgba(0,0,0,.07);
}
.ata-carte-acces--mobile { display: none; }
@media (max-width: 781px) {
	.ata-carte-acces { display: none; }
	.ata-carte-acces--mobile { display: block; max-width: 420px; margin-inline: auto; }
}


/* Bouton « Réserver » de l'en-tête : décollé du bord bas, et lisible même
   sur une photo claire (voile sombre local + ombre portée). */
.ata-entete .ata-nav-reserver {
	margin-bottom: 26px !important;
	/* aligné sur la gouttière de la page, sinon le bouton touche le bord */
	margin-right: clamp(1rem, 3vw, 2.25rem) !important;
	position: relative; z-index: 3;
	/* La vague de la première section (.ata-intro / .ata-article) déborde de
	   100 px sur le bas de l'en-tête et recouvrait le bas du bouton. Comme
	   elle est en pointer-events:none, rien ne le signale au survol. Elle
	   appartient à .ata-main : impossible de passer le bouton au-dessus sans
	   masquer la vague, on remonte donc le bouton hors de son emprise.
	   Crête la plus haute de la vague : 24 px sous le haut de sa boîte,
	   soit 76 px au-dessus du bas de l'en-tête ; on vise 88 px. */
	transform: translateY(-62px);
}
.ata-entete .ata-nav-reserver .wp-block-button__link {
	min-height: 44px; display: inline-flex; align-items: center;
	box-shadow: 0 6px 18px rgba(0,0,0,.28) !important;
}
@media (max-width: 781px) {
	.ata-entete .ata-nav-reserver { margin-bottom: 18px !important; transform: translateY(-70px); }
}


/* =========================================================
   Bandeau cookies (CNIL) — refuser et accepter à égalité
   ========================================================= */
.ata-cookies { position: fixed; z-index: 1000; left: 1rem; right: 1rem; bottom: 1rem; max-width: 560px; margin-inline: auto; padding: 1.1rem 1.2rem 1rem; background: #fff; color: #1f2a24; border-radius: 16px; box-shadow: 0 10px 40px rgba(0,0,0,.28); font-size: 15px; line-height: 1.45; }
.ata-cookies[hidden], .ata-cookies [hidden] { display: none !important; }
.ata-cookies__titre { margin: 0 0 .35rem; font-weight: 700; font-size: 17px; }
.ata-cookies__texte { margin: 0 0 .8rem; }
.ata-cookies__texte a { color: var(--ata-vert, #41604c); text-decoration: underline; }
.ata-cookies__choix { margin: 0 0 .8rem; padding: .7rem .8rem; background: var(--ata-vert-clair, #e3ebe7); border-radius: 10px; }
.ata-cookies__option { display: flex; gap: .6rem; align-items: flex-start; cursor: pointer; font-size: 14px; }
.ata-cookies__option input { width: 22px; height: 22px; margin-top: 2px; flex: none; accent-color: var(--ata-vert, #41604c); }
.ata-cookies__boutons { display: flex; flex-wrap: wrap; gap: .5rem; }
.ata-cookies__btn { flex: 1 1 150px; min-height: 44px; padding: .55rem 1rem; border: 2px solid var(--ata-vert, #41604c); border-radius: 999px; background: var(--ata-vert, #41604c); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.ata-cookies__btn--lien { flex: 1 1 100%; order: 3; background: transparent; color: var(--ata-vert, #41604c); border-color: transparent; text-decoration: underline; min-height: 44px; }
.ata-cookies__btn:hover { filter: brightness(1.1); }
.ata-cookies__btn:focus-visible { outline: 3px solid var(--ata-rouge, #e23621); outline-offset: 2px; }
@media (max-width: 781px) {
  .ata-cookies { left: .6rem; right: .6rem; bottom: calc(3.4rem + .6rem); max-height: calc(100vh - 5rem); overflow-y: auto; }
}


/* =========================================================
   Actualités : événement terminé (méta ata_fin_evenement)
   ========================================================= */
.ata-badge-termine { display: inline-block; margin: 0; padding: .2rem .7rem; border-radius: 999px; background: #4a4a4a; color: #fff; font-size: 14px !important; font-weight: 700; line-height: 1.4; letter-spacing: .02em; text-transform: uppercase; }
.ata-carte-actu .ata-badge-termine { display: table; margin: 0 -36px 14px auto !important; }
.ata-evenement-termine .ata-carte-actu__date { margin-bottom: 8px !important; }
.ata-evenement-termine .ata-carte-actu__image img { filter: grayscale(.85); opacity: .8; }
.ata-avis-termine { margin: 32px 0 0; padding: 1rem 1.2rem; background: #fff; border-left: 5px solid #4a4a4a; border-radius: 12px; box-shadow: var(--ata-ombre-carte); }
.ata-avis-termine p { margin: 0; }
.ata-avis-termine p + p { margin-top: .6rem; }
.ata-avis-termine a { color: var(--ata-rouge, #e23621); font-weight: 600; }
.ata-avis-termine + .ata-article__date { margin-top: 20px !important; }
@media (max-width: 781px) {
  .ata-carte-actu .ata-badge-termine { margin-right: -20px !important; }
}
