/* =====================================================================
   AIGLE NOIR — Homepage design layer  ·  "DARK & ELECTRIC"
   A bold, sporty pro-club look layered over the existing Elementor
   content. Dark canvas, electric-lime accents, condensed poster type,
   diagonal cuts. Content stays fully editable in Elementor.
   ===================================================================== */

:root {
	--an-night:       #0b0e0c;
	--an-night-2:     #0e1310;
	--an-panel:       #121813;
	--an-line:        rgba(208, 212, 40, .28);
	--an-lime:        #d0d428;
	--an-lime-bright: #e6ec2d;
	--an-green:       #1d5025;
	--an-green-br:    #2c7a3c;
	--an-orange:      #db6437;
	--an-text:        #eaf0e6;
	--an-muted:       #98a596;
	--an-poster:      "Bebas Neue", "Oswald", sans-serif;
	--an-display:     "Oswald", "Montserrat", sans-serif;
	--an-shadow:      0 26px 60px -22px rgba(0, 0, 0, .8);
	--an-glow:        0 0 0 1px rgba(208,212,40,.3), 0 18px 40px -18px rgba(208,212,40,.35);
}

/* ---------- canvas ---------- */
body.page-id-75 {
	background: var(--an-night);
	color: var(--an-text);
	overflow-x: hidden;
}
/* ambient electric glows */
body.page-id-75::before {
	content: "";
	position: fixed; inset: 0;
	pointer-events: none; z-index: 0;
	background:
		radial-gradient(900px 600px at 88% -5%,  rgba(208,212,40,.10), transparent 60%),
		radial-gradient(800px 600px at -8% 35%,  rgba(44,122,60,.16),  transparent 55%),
		radial-gradient(900px 700px at 50% 120%, rgba(208,212,40,.08), transparent 60%);
}
/* keep real content above the ambient layer */
body.page-id-75 [data-elementor-type] { position: relative; z-index: 1; }
/* header sits above the hero so the enlarged crest can overflow OVER the
   photos (otherwise the hero, later in the DOM, paints over its bottom half).
   NOTE: the <header> is wrapped in an Elementor document
   [data-elementor-type="ehp-header"], which the rule above caps at z-index:1 —
   the SAME stacking level as the wp-page content document. Lifting only the
   inner .ehp-header is useless because it's confined inside that z-1 wrapper,
   so we must raise the whole header document above the content. */
body.page-id-75 [data-elementor-type="ehp-header"] { z-index: 50; }
body.page-id-75 .ehp-header { position: relative; z-index: 50; }

/* Neutralise the light section backgrounds Elementor set, so the dark
   canvas shows through. (Background photos on sub-containers are kept.) */
.page-id-75 .elementor-element-154c6d02,
.page-id-75 .elementor-element-1447213a,
.page-id-75 .elementor-element-fe6e309,
.page-id-75 .elementor-element-343d0d2,
.page-id-75 .elementor-element-5aec0f79 {
	background-color: transparent !important;
	background-image: none !important;
}

/* ---------- reveal-on-scroll (needs <html class="an-js">) ---------- */
.an-js [data-an-reveal] {
	opacity: 0; transform: translateY(40px);
	transition: opacity .8s cubic-bezier(.22,.61,.36,1),
	            transform .8s cubic-bezier(.22,.61,.36,1);
}
.an-js [data-an-reveal].an-in { opacity: 1; transform: none; }
/* Replace Elementor's JS-driven entrance animations with our reveal system,
   so headings can never be left permanently hidden. */
.page-id-75 .elementor-invisible { opacity: 1 !important; animation: none !important; }
@media (prefers-reduced-motion: reduce) {
	.an-js [data-an-reveal] { opacity: 1 !important; transform: none !important; }
	html { scroll-behavior: auto; }
}
html { scroll-behavior: smooth; }

/* =====================================================================
   HEADER
   ===================================================================== */
.page-id-75 .ehp-header {
	position: sticky; top: 0; z-index: 999;
	background: rgba(11, 14, 12, .55) !important;
	backdrop-filter: blur(10px) saturate(1.2);
	-webkit-backdrop-filter: blur(10px) saturate(1.2);
	transition: background .35s ease, box-shadow .35s ease;
}
.page-id-75.an-scrolled .ehp-header {
	background: rgba(11, 14, 12, .92) !important;
	box-shadow: 0 10px 30px -16px #000, 0 1px 0 0 var(--an-line);
}
.page-id-75 .ehp-header__item--top-level {
	font-family: var(--an-display) !important;
	text-transform: uppercase; letter-spacing: .06em;
	font-weight: 600 !important; color: var(--an-text) !important;
	transition: color .25s ease;
}
.page-id-75 .ehp-header__item--top-level:hover,
.page-id-75 .ehp-header__item.is-item-active { color: var(--an-lime) !important; }
.page-id-75 .ehp-header__site-logo img {
	filter: drop-shadow(0 4px 14px rgba(208,212,40,.35));
	transition: transform .4s ease;
}
.page-id-75 .ehp-header__site-logo:hover img { transform: scale(1.07) rotate(-2deg); }

/* =====================================================================
   BANNER  (#65939da → image #7a9efe5)  — two clear photos side by side
   The image widget is repurposed by home.js into an `.an-hero-split`
   holding two landscape match photos. No scrim / no opacity — the
   photos are shown clean and full-strength.
   ===================================================================== */
.page-id-75 .elementor-element-65939da {
	position: relative;
	max-width: 100% !important;
	padding: 0 !important;
	margin-top: 0 !important;
}
.page-id-75 .elementor-element-65939da > .e-con-inner { max-width: 100% !important; padding: 0 !important; }
.page-id-75 .elementor-element-7a9efe5,
.page-id-75 .elementor-element-7a9efe5 .elementor-widget-container { margin: 0 !important; width: 100%; line-height: 0; }

.page-id-75 .an-hero-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;                       /* thin dark seam between the two photos */
	width: 100%;
}
.page-id-75 .an-hero-split__item {
	margin: 0; padding: 0; overflow: hidden; position: relative;
}
.page-id-75 .an-hero-split__item img {
	display: block;
	width: 100%;
	height: auto;            /* keep full image — height follows width, no crop */
	aspect-ratio: 3 / 2;     /* source is 1600x1067; reserves space before load */
	/* clear — no filter, no opacity */
	transition: transform .6s cubic-bezier(.22,.61,.36,1);
}
.page-id-75 .an-hero-split__item:hover img { transform: scale(1.035); }
/* slim lime rule anchoring the hero to the brand */
.page-id-75 .elementor-element-65939da::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
	background: linear-gradient(90deg, var(--an-lime), var(--an-orange));
	z-index: 3; pointer-events: none;
}
@media (max-width: 720px) {
	.page-id-75 .an-hero-split { grid-template-columns: 1fr; }
	/* images keep their natural aspect ratio when stacked, too */
}

/* =====================================================================
   HERO TEXT  (#154c6d02 → flex-hero)  — overlaps the banner
   ===================================================================== */
.page-id-75 .elementor-element-154c6d02 {
	position: relative; z-index: 5;
	margin-top: clamp(-18px, -1.6vw, -6px) !important;   /* pull the block up toward the stat cards */
	padding-top: clamp(2px, 0.6vw, 8px) !important;
	padding-inline: clamp(20px, 6vw, 90px) !important;
	padding-bottom: clamp(2px, 0.6vw, 8px) !important;    /* tighten gap before À Propos */
}
.page-id-75 .ehp-flex-hero,
.page-id-75 .ehp-flex-hero__content-container { background: transparent !important; }
.page-id-75 .ehp-flex-hero__content-container {
	align-items: flex-start !important;
	text-align: left !important;
}

/* poster headline */
.page-id-75 .ehp-flex-hero__heading {
	font-family: var(--an-poster) !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: .015em;
	line-height: .86 !important;
	font-size: clamp(2.5rem, 7.4vw, 5.6rem) !important;
	color: #fff !important;
	margin: 0 0 .25em !important;
	transform: skewX(-7deg);
	transform-origin: left;
	text-shadow: 0 14px 40px rgba(0,0,0,.55);
}
.page-id-75 .ehp-flex-hero__heading .an-hl { color: var(--an-lime) !important; }
.page-id-75 .ehp-flex-hero__subheading {
	font-family: var(--an-display) !important;
	color: #ffffff !important;
	max-width: 640px;
	margin: 0 !important;
	font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
	line-height: 1.65 !important;
	letter-spacing: .015em;
	border-left: 3px solid var(--an-lime);
	padding-left: 18px;
}
.page-id-75 .ehp-flex-hero__ctas-container { justify-content: flex-start !important; margin-top: 26px; }
/* the storytelling preset reserves space for a side image + CTAs we don't use —
   collapse the empties so À Propos sits right under the subheading */
.page-id-75 .ehp-flex-hero__ctas-container:empty,
.page-id-75 .ehp-flex-hero__image-wrapper:empty { display: none !important; margin: 0 !important; }
.page-id-75 .elementor-element-638111a9,
.page-id-75 .elementor-element-638111a9 .elementor-widget-container,
.page-id-75 .ehp-flex-hero { min-height: 0 !important; }

/* =====================================================================
   HERO PLAYER  — faded squad portrait standing to the right of the
   "Nos Champions de Demain" copy. Purely decorative: sits BEHIND the
   text (z-index:-1 inside the hero's z-5 context), emerges from the
   dark canvas via a top mask-fade, and steps aside on small screens
   so the copy stays clean.
   ===================================================================== */
.page-id-75 .elementor-element-154c6d02::after {
	content: "";
	position: absolute;
	right: clamp(-10px, 1.5vw, 56px);
	bottom: 0;
	width: clamp(264px, 32vw, 492px);
	height: clamp(330px, 44vw, 612px);
	background: url("img/player-hero.png") no-repeat right bottom / contain;
	opacity: .55;
	z-index: -1;                 /* behind the headline / subheading */
	pointer-events: none;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%, #000 90%, transparent 100%);
	        mask-image: linear-gradient(to bottom, transparent 0, #000 22%, #000 90%, transparent 100%);
	filter: saturate(1.05) contrast(1.03) drop-shadow(0 18px 34px rgba(0,0,0,.55));
}
@media (max-width: 1024px) {
	.page-id-75 .elementor-element-154c6d02::after {
		opacity: .3; right: -48px; width: 48vw; height: 60vw;
	}
}
@media (max-width: 720px) {
	.page-id-75 .elementor-element-154c6d02::after { display: none; }
}

/* =====================================================================
   BUTTONS — electric skewed pills
   ===================================================================== */
.page-id-75 .ehp-flex-hero__button,
.page-id-75 .ehp-cta__button,
.page-id-75 .elementor-button {
	font-family: var(--an-display) !important;
	text-transform: uppercase; letter-spacing: .08em; font-weight: 700 !important;
	border: none !important; border-radius: 2px !important;
	padding: 15px 36px !important;
	background: var(--an-lime) !important;
	color: #10140d !important;
	transform: skewX(-7deg);
	box-shadow: 0 14px 28px -12px rgba(208,212,40,.6);
	transition: transform .25s ease, background .3s ease, color .25s ease, box-shadow .25s ease;
}
.page-id-75 .ehp-flex-hero__button > *,
.page-id-75 .ehp-cta__button > *,
.page-id-75 .elementor-button > * { display: inline-block; transform: skewX(7deg); }
.page-id-75 .ehp-flex-hero__button:hover,
.page-id-75 .ehp-cta__button:hover,
.page-id-75 .elementor-button:hover {
	transform: skewX(-7deg) translateY(-3px);
	background: var(--an-orange) !important; color: #fff !important;
	box-shadow: 0 20px 36px -12px rgba(219,100,55,.65);
}

/* =====================================================================
   STAT CARDS  (injected by JS after the hero)  — light cards that
   float up over the seam of the hero photos
   ===================================================================== */
.page-id-75 .an-stats {
	position: relative; z-index: 6;
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: clamp(14px, 1.8vw, 26px);
	background: transparent;
	border: 0;
	max-width: 1160px;
	margin: clamp(-58px, -5vw, -38px) auto 0;   /* lift over the hero bottom */
	padding: 0 clamp(18px, 5vw, 40px);
}
.page-id-75 .an-stats__cell {
	position: relative;
	padding: clamp(26px, 3vw, 40px) 18px clamp(22px, 2.6vw, 34px);
	text-align: center;
	background: linear-gradient(180deg, #ffffff 0%, #eef1e7 100%);
	border-radius: 14px;
	border-top: 4px solid var(--an-lime);
	box-shadow: 0 26px 50px -26px rgba(0,0,0,.9), 0 1px 0 rgba(255,255,255,.5) inset;
	transition: transform .35s ease, box-shadow .35s ease;
}
.page-id-75 .an-stats__cell:hover {
	transform: translateY(-7px);
	box-shadow: 0 34px 64px -24px rgba(0,0,0,.95), var(--an-glow);
}
.page-id-75 .an-stats__val {
	font-family: var(--an-poster);
	font-size: clamp(2.8rem, 5vw, 4.2rem);
	line-height: 1; color: var(--an-green);
	display: inline-block; letter-spacing: .01em;
}
.page-id-75 .an-stats__label {
	display: block; margin-top: 12px;
	font-family: var(--an-display); text-transform: uppercase;
	letter-spacing: .2em; font-size: .8rem; color: #5e6b58; font-weight: 600;
}
@media (max-width: 640px) {
	.page-id-75 .an-stats {
		grid-template-columns: 1fr;
		margin-top: clamp(-30px, -6vw, -20px);
	}
}

/* =====================================================================
   SECTION TITLES  (À Propos / Suivez-nous)  — poster, skewed
   ===================================================================== */
.page-id-75 .elementor-widget-heading .elementor-heading-title {
	font-family: var(--an-poster) !important;
	text-transform: uppercase; letter-spacing: .02em;
}
.page-id-75 .elementor-element-259a7dd .elementor-heading-title,
.page-id-75 .elementor-element-3f48c87c .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(1.9rem, 4.4vw, 3.2rem) !important;
	line-height: .9 !important;
	transform: skewX(-7deg); display: inline-block;
	position: relative;
}
.page-id-75 .elementor-element-259a7dd .elementor-heading-title::after,
.page-id-75 .elementor-element-3f48c87c .elementor-heading-title::after {
	content: ""; display: block;
	width: 64px; height: 5px; margin-top: 14px;
	background: linear-gradient(90deg, var(--an-lime), var(--an-orange));
}

/* =====================================================================
   ABOUT  (#1447213a)  — the whole section is one WHITE CARD holding the
   media (photo/video, #639b7612) + the text column (#5aec0f79).
   ===================================================================== */
.page-id-75 .elementor-element-1447213a {
	background: linear-gradient(180deg, #ffffff 0%, #f1f3ec 100%) !important;
	border-radius: 18px;
	border-top: 5px solid var(--an-lime);
	box-shadow: 0 34px 70px -32px rgba(0,0,0,.85);
	max-width: 1160px;
	margin: clamp(4px, 1vw, 14px) auto clamp(30px, 4.4vw, 60px) !important;
	padding: clamp(16px, 2.2vw, 30px) !important;
	gap: clamp(16px, 2.4vw, 38px);
	align-items: stretch !important;
}
/* media column — a vertical 9:16 "story" frame. Shows the poster image
   (mobile + pre-load); home.js drops a muted looping <video> on top on desktop. */
.page-id-75 .elementor-element-639b7612 {
	flex: 0 0 auto !important;
	width: clamp(230px, 32%, 330px) !important;
	aspect-ratio: 9 / 16;
	min-height: 0 !important;
	align-self: center !important;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 24px 48px -22px rgba(0,0,0,.6);
	border-left: 5px solid var(--an-lime);
	transition: transform .5s ease;
	position: relative;
	background-image: url("video/about-poster.jpg") !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}
.page-id-75 .elementor-element-639b7612:hover { transform: translateY(-4px); }
@media (max-width: 768px) {
	.page-id-75 .elementor-element-639b7612 {
		width: min(72%, 260px) !important;
		margin-inline: auto !important;
	}
}
/* lime corner accent */
.page-id-75 .elementor-element-639b7612::after {
	content: ""; position: absolute; right: 0; top: 0; z-index: 3;
	border-style: solid; border-width: 0 58px 58px 0;
	border-color: transparent var(--an-lime) transparent transparent;
	opacity: .9;
}
/* injected About video */
.page-id-75 .an-about-video {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; object-position: center;
	z-index: 1; display: block; background: #0b0e0c;
}

/* text column sits bare inside the white card */
.page-id-75 .elementor-element-5aec0f79 {
	flex: 1 1 auto !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: clamp(8px, 1.6vw, 22px) clamp(8px, 1.4vw, 24px) !important;
	justify-content: center !important;
}
.page-id-75 .elementor-element-5aec0f79 .ehp-cta,
.page-id-75 .elementor-element-5aec0f79 .ehp-cta__elements-container {
	background: transparent !important; box-shadow: none !important; border: none !important; padding: 0 !important;
}
.page-id-75 .elementor-element-5aec0f79 .ehp-cta__overlay { background: transparent !important; opacity: 0 !important; }
/* À Propos title is now on white — flip it dark (overrides the shared rule) */
.page-id-75 .elementor-element-259a7dd .elementor-heading-title { color: #16210f !important; }
/* the club motto / CTA heading */
.page-id-75 .elementor-element-5aec0f79 .ehp-cta__heading {
	color: var(--an-green) !important;
	font-family: var(--an-display) !important;
	text-transform: uppercase; letter-spacing: .06em;
	font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
	font-weight: 700 !important;
	margin-bottom: 14px !important;
}
.page-id-75 .elementor-element-5aec0f79 .ehp-cta__description,
.page-id-75 .elementor-element-5aec0f79 p { color: #2c3527 !important; line-height: 1.8 !important; }

/* =====================================================================
   INSTAGRAM  (#fe6e309 headings · #343d0d2 feed)
   ===================================================================== */
.page-id-75 .elementor-element-fe6e309 { padding-top: clamp(32px, 4.5vw, 58px) !important; padding-bottom: clamp(8px, 1.5vw, 18px) !important; text-align: center; }
.page-id-75 .elementor-element-343d0d2 { padding-top: clamp(8px, 1.5vw, 18px) !important; padding-bottom: clamp(32px, 4.5vw, 58px) !important; }
.page-id-75 .elementor-element-fe6e309 .elementor-widget-heading { text-align: center; }
/* @handle as electric gradient */
.page-id-75 .elementor-element-3688603f .elementor-heading-title {
	font-family: var(--an-display) !important; font-weight: 600 !important;
	letter-spacing: .12em !important;
	background: linear-gradient(100deg, var(--an-lime), var(--an-orange));
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent !important;
}
.page-id-75 .elementor-element-3f48c87c { text-align: center; }
.page-id-75 .elementor-element-3f48c87c .elementor-heading-title::after { margin-inline: auto; }
/* feed tiles */
.page-id-75 #sb_instagram .sbi_photo_wrap,
.page-id-75 #sb_instagram .sbi_item {
	overflow: hidden; border-radius: 3px;
	transition: transform .35s ease, box-shadow .35s ease, outline-color .35s ease;
	outline: 0 solid transparent;
}
.page-id-75 #sb_instagram .sbi_item:hover {
	transform: translateY(-6px); z-index: 2;
	box-shadow: var(--an-glow); outline: 2px solid var(--an-lime); outline-offset: -2px;
}

/* =====================================================================
   FOOTER  (<footer #f2b3161> → .ehp-flex-footer)
   ===================================================================== */
.page-id-75 .elementor-element-f2b3161,
.page-id-75 .ehp-flex-footer {
	background: #070907 !important;
	background-image: none !important;
	color: rgba(234,240,230,.82) !important;
	border-top: 3px solid var(--an-lime);
}
.page-id-75 .ehp-flex-footer__description,
.page-id-75 .ehp-flex-footer__copyright-text,
.page-id-75 .ehp-flex-footer .ehp-flex-footer__group * { color: rgba(234,240,230,.78) !important; }
.page-id-75 .ehp-flex-footer__group-title {
	color: #fff !important;
	font-family: var(--an-display) !important;
	text-transform: uppercase; letter-spacing: .08em;
}
.page-id-75 .ehp-flex-footer a { color: rgba(234,240,230,.82) !important; transition: color .25s ease; }
.page-id-75 .ehp-flex-footer a:hover { color: var(--an-lime) !important; }
.page-id-75 .ehp-flex-footer__site-logo img { filter: drop-shadow(0 4px 14px rgba(208,212,40,.3)); }

/* =====================================================================
   HOMEPAGE — "NOUVELLES" horizontal carousel (injected by home.js)
   Populated from posts tagged "À la une". Editor-controlled.
   ===================================================================== */
.an-news { position: relative; z-index: 1; padding: clamp(40px, 6vw, 84px) 0; }
.an-news__inner { max-width: 1240px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }
.an-news__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: clamp(18px, 2.5vw, 30px); flex-wrap: wrap; }
.an-news__kicker { display: block; font-family: var(--an-display); text-transform: uppercase; letter-spacing: .24em; font-size: .72rem; font-weight: 600; color: var(--an-lime); margin-bottom: .5em; }
.an-news__title { font-family: var(--an-poster), "Bebas Neue", sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .02em; line-height: .9; font-size: clamp(2rem, 5.5vw, 3.6rem); color: #fff; margin: 0; }
.an-news__title::after { content: ""; display: block; width: 64px; height: 5px; margin-top: .3em; background: linear-gradient(90deg, var(--an-lime), var(--an-orange)); border-radius: 3px; }
.an-news__controls { display: flex; align-items: center; gap: 10px; }
.an-news__all { font-family: var(--an-display); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: .78rem; color: var(--an-lime); text-decoration: none; margin-right: 6px; transition: color .25s ease; }
.an-news__all:hover { color: var(--an-lime-bright); }
.an-news__arrow {
	width: 42px; height: 42px; border-radius: 50%; flex: 0 0 auto;
	border: 1px solid rgba(208,212,40,.4); background: rgba(208,212,40,.06);
	color: var(--an-lime); font-size: 1.5rem; line-height: 1; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .25s ease, color .25s ease, transform .2s ease, opacity .25s ease;
}
.an-news__arrow:hover { background: var(--an-lime); color: #10140d; transform: translateY(-2px); }
.an-news__arrow:disabled { opacity: .3; cursor: default; pointer-events: none; }

.an-news__track {
	display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory;
	scroll-behavior: smooth; padding: 6px 0 20px; margin: 0;
	-webkit-overflow-scrolling: touch; scrollbar-width: none; cursor: grab;
}
.an-news__track::-webkit-scrollbar { display: none; }
.an-news__track.is-grabbing { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; }
.an-news__card {
	flex: 0 0 clamp(258px, 80vw, 332px); scroll-snap-align: start;
	display: flex; flex-direction: column; overflow: hidden; border-radius: 12px;
	background: var(--an-panel); border: 1px solid rgba(208,212,40,.12); text-decoration: none;
	box-shadow: 0 18px 38px -24px rgba(0,0,0,.8);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.an-news__card:hover { transform: translateY(-6px); box-shadow: var(--an-glow); border-color: rgba(208,212,40,.4); }
.an-news__media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: #0b0e0c; }
.an-news__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.18) contrast(1.03); transition: transform .5s ease, filter .4s ease; pointer-events: none; }
.an-news__card:hover .an-news__media img { transform: scale(1.06); filter: grayscale(0) contrast(1.05); }
.an-news__chip { position: absolute; top: 12px; left: 12px; font-family: var(--an-display); text-transform: uppercase; letter-spacing: .12em; font-size: .64rem; font-weight: 700; color: #10140d; background: var(--an-lime); padding: 5px 11px; border-radius: 999px; }
.an-news__noimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--an-poster); letter-spacing: .12em; color: rgba(208,212,40,.5); background: linear-gradient(135deg, var(--an-green), #0b0e0c); }
.an-news__cardbody { display: flex; flex-direction: column; gap: .45em; padding: 15px 17px 19px; flex: 1; }
.an-news__date { color: var(--an-lime); font-family: var(--an-display); text-transform: uppercase; letter-spacing: .1em; font-size: .66rem; font-weight: 600; }
.an-news__cardtitle { font-family: var(--an-display); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; color: #fff; font-size: 1.02rem; line-height: 1.22; }
.an-news__excerpt { color: var(--an-muted); font-size: .86rem; line-height: 1.5; flex: 1; }
.an-news__cta { color: var(--an-lime); font-family: var(--an-display); text-transform: uppercase; letter-spacing: .08em; font-size: .74rem; font-weight: 700; margin-top: .2em; }
@media (max-width: 600px) { .an-news__arrow { display: none; } }

/* =====================================================================
   UNIFIED SECTION GUTTERS (2026-06-15)
   Every block from the stat cards through the Instagram feed shares the
   same left/right inset, so their edges line up down the page. The shared
   content column is (--an-cw - 2*--an-edge) wide, centered; on narrow
   screens it falls back to a uniform --an-edge gutter each side.
   ===================================================================== */
.page-id-75 { --an-cw: 1180px; --an-edge: clamp(12px, 3.3vw, 37px); }

.page-id-75 .an-stats,
.page-id-75 .elementor-element-154c6d02,
.page-id-75 .an-news__inner,
.page-id-75 .elementor-element-fe6e309 > .e-con-inner,
.page-id-75 .elementor-element-343d0d2 > .e-con-inner {
	width: calc(100% - 2 * var(--an-edge)) !important;
	max-width: calc(var(--an-cw) - 2 * var(--an-edge)) !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}
/* boxed Elementor parents: drop their own side padding so the inner aligns */
.page-id-75 .elementor-element-fe6e309,
.page-id-75 .elementor-element-343d0d2 { padding-inline: 0 !important; }

/* À Propos is a card — align its OUTER edges to the column, but keep the
   card's internal padding so its text doesn't touch the white border. */
.page-id-75 .elementor-element-1447213a {
	width: calc(100% - 2 * var(--an-edge)) !important;
	max-width: calc(var(--an-cw) - 2 * var(--an-edge)) !important;
	margin-inline: auto !important;
}

/* the Hello Plus flex-hero adds its own responsive side padding at tablet/
   mobile widths — zero it so the hero copy aligns to the shared column edge. */
.page-id-75 .elementor-element-154c6d02 .elementor-widget-flex-hero,
.page-id-75 .elementor-element-154c6d02 .elementor-widget-flex-hero > .elementor-widget-container,
.page-id-75 .elementor-element-154c6d02 .ehp-flex-hero,
.page-id-75 .elementor-element-154c6d02 .ehp-flex-hero__content-container {
	padding-inline: 0 !important;
}
/* …and stop it from shrinking to a centered max-width at tablet widths. */
.page-id-75 .elementor-element-154c6d02 .ehp-flex-hero__content-container {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
}

/* =====================================================================
   HOMEPAGE — "NOS SPONSORS" card row (injected by home.js, data from the
   ANAC Sponsors plugin). White cards unify the mismatched logos.
   ===================================================================== */
.an-sponsors { position: relative; z-index: 1; padding: clamp(34px, 5vw, 76px) 0; }
.an-sponsors__inner {
	width: calc(100% - 2 * var(--an-edge)); max-width: calc(var(--an-cw) - 2 * var(--an-edge)); margin-inline: auto;
}
.an-sponsors__head { text-align: center; margin-bottom: clamp(20px, 3vw, 38px); }
.an-sponsors__kicker {
	display: block; font-family: var(--an-display); text-transform: uppercase; letter-spacing: .24em;
	font-size: .72rem; font-weight: 600; color: var(--an-lime); margin-bottom: .5em;
}
.an-sponsors__title {
	font-family: var(--an-poster), "Bebas Neue", sans-serif; font-weight: 400; text-transform: uppercase;
	letter-spacing: .02em; line-height: .9; font-size: clamp(2rem, 5.5vw, 3.6rem); color: #fff; margin: 0;
}
.an-sponsors__title::after {
	content: ""; display: block; width: 64px; height: 5px; margin: .3em auto 0;
	background: linear-gradient(90deg, var(--an-lime), var(--an-orange)); border-radius: 3px;
}
.an-sponsors__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: clamp(16px, 2vw, 26px); align-items: stretch; justify-content: center;
}
.an-sponsors__card {
	display: flex; flex-direction: column; align-items: center; gap: 14px; text-decoration: none;
	background: #ffffff; border: 1px solid rgba(11,14,12,.08); border-radius: 14px;
	padding: clamp(18px, 2.4vw, 28px) clamp(14px, 2vw, 24px);
	box-shadow: 0 18px 40px -24px rgba(0,0,0,.7);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.an-sponsors__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 50px -22px rgba(0,0,0,.6), 0 0 0 1px rgba(208,212,40,.45);
	border-color: rgba(208,212,40,.5);
}
.an-sponsors__logo {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: clamp(74px, 8vw, 104px);
}
.an-sponsors__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.an-sponsors__placeholder { font-family: var(--an-poster); color: #1d5025; font-size: 1.2rem; letter-spacing: .04em; }
.an-sponsors__name {
	font-family: var(--an-display); text-transform: uppercase; letter-spacing: .05em; font-weight: 700;
	font-size: .92rem; color: #10140d; text-align: center;
}
@media (max-width: 520px) { .an-sponsors__grid { grid-template-columns: 1fr 1fr; } }
