/* ==========================================================================
   Thème Halloween — chargé uniquement la semaine du 31 octobre (voir functions.php).
   Base claire conservée : on habille en orange citrouille + violet nuit.
   ========================================================================== */
.lu-halloween {
	--hw-nuit: #1b1030;
	--hw-violet: #4a2a7a;
	--hw-citrouille: #f79007;
	--hw-brume: #fff3e3;
	accent-color: var(--hw-citrouille);
	scrollbar-color: var(--hw-violet) #fff3e3;
}
.lu-halloween ::selection { background: var(--hw-violet); color: #fff; }

/* Bandeau en tête de page */
.lu-hw-ribbon {
	padding: 7px 14px;
	background: repeating-linear-gradient(135deg, var(--hw-citrouille) 0 18px, #e07b00 18px 36px);
	color: var(--hw-nuit);
	font-size: 0.86rem;
	font-weight: 800;
	text-align: center;
	letter-spacing: 0.02em;
}

/* Barre du haut + navbar */
.lu-halloween .lu-topbar {
	background: var(--hw-nuit) !important;
}
.lu-halloween .lu-topbar a:hover { color: var(--hw-citrouille); }
.lu-halloween .lu-navbar {
	border-bottom: 3px solid var(--hw-citrouille);
	background-image: linear-gradient(90deg, transparent, rgba(247, 144, 7, 0.07), transparent);
}
.lu-halloween .lu-navbar .wp-block-site-title a::after {
	content: " 🎃";
}

/* Étiquettes de section et boutons */
.lu-halloween .lu-eyebrow::before {
	content: "🎃 ";
}
.lu-halloween .wp-block-button__link {
	box-shadow: 0 0 0 0 rgba(247, 144, 7, 0.5);
}
.lu-halloween .wp-block-button__link:hover {
	box-shadow: 0 6px 18px rgba(74, 42, 122, 0.35);
}

/* Titres de page : petite toile d'araignée dans le coin du hero */
.lu-halloween .wp-block-cover:first-of-type,
.lu-halloween .lu-hero-panel {
	position: relative;
}
.lu-halloween .wp-block-cover:first-of-type::after {
	content: "🕸️";
	position: absolute;
	top: 6px;
	right: 14px;
	font-size: clamp(2.2rem, 6vw, 4.5rem);
	line-height: 1;
	opacity: 0.85;
	pointer-events: none;
	z-index: 3;
}

/* Cartes : liseré violet au survol */
.lu-halloween .lu-ev-card:hover,
.lu-halloween .lu-round:hover {
	outline: 2px solid rgba(74, 42, 122, 0.55);
	outline-offset: 2px;
}

/* Pied de page violet nuit */
.lu-halloween .wp-site-blocks > footer .has-background,
.lu-halloween footer.wp-block-template-part > .has-background {
	background-color: var(--hw-nuit) !important;
	border-top: 4px solid var(--hw-citrouille);
}
.lu-halloween footer.wp-block-template-part > .has-background::before {
	content: "👻   🎃   🦇   🎃   👻";
	display: block;
	margin-bottom: 8px;
	text-align: center;
	letter-spacing: 0.3em;
	font-size: 1.1rem;
}

/* Chauves-souris qui traversent l'écran (derrière le contenu cliquable) */
.lu-hw-bats {
	position: fixed;
	inset: 0;
	z-index: 40;
	overflow: hidden;
	pointer-events: none;
}
.lu-hw-bats span {
	position: absolute;
	left: -60px;
	font-size: 1.6rem;
	opacity: 0.9;
	animation: lu-hw-vol 22s linear infinite;
}
.lu-hw-bats span:nth-child(1) { top: 18%; animation-delay: 0s; }
.lu-hw-bats span:nth-child(2) { top: 42%; animation-delay: 8s; font-size: 1.2rem; animation-duration: 28s; }
.lu-hw-bats span:nth-child(3) { top: 68%; animation-delay: 15s; font-size: 1.9rem; animation-duration: 32s; }
@keyframes lu-hw-vol {
	0%   { transform: translate(0, 0) scaleX(1); }
	25%  { transform: translate(30vw, -28px) scaleX(-1); }
	50%  { transform: translate(60vw, 18px) scaleX(1); }
	75%  { transform: translate(90vw, -22px) scaleX(-1); }
	100% { transform: translate(115vw, 0) scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
	.lu-hw-bats { display: none; }
}

/* ==========================================================================
   ÉDITION « NUIT DES SORCIÈRES » — ambiance sombre complète
   ========================================================================== */
.lu-halloween {
	color-scheme: dark;
	--hw-encre: #0e0719;
	--hw-carte: #231338;
	--hw-carte-2: #2d1a47;
	--hw-texte: #eadcff;
	--hw-texte-doux: #bfa8e6;
	--hw-lueur: 0 0 12px rgba(247, 144, 7, 0.85), 0 0 32px rgba(247, 144, 7, 0.45);
}
.lu-halloween,
.lu-halloween .wp-site-blocks {
	background:
		radial-gradient(ellipse 60% 40% at 85% 0%, rgba(247, 144, 7, 0.16), transparent 70%),
		radial-gradient(ellipse 70% 50% at 10% 100%, rgba(120, 60, 200, 0.22), transparent 70%),
		var(--hw-encre);
	color: var(--hw-texte);
}
/* Étoiles discrètes */
.lu-halloween::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		radial-gradient(1.5px 1.5px at 12% 18%, #fff8, transparent),
		radial-gradient(1px 1px at 33% 72%, #fff7, transparent),
		radial-gradient(1.5px 1.5px at 58% 34%, #fff8, transparent),
		radial-gradient(1px 1px at 79% 61%, #fff7, transparent),
		radial-gradient(1.5px 1.5px at 91% 14%, #fff9, transparent),
		radial-gradient(1px 1px at 45% 90%, #fff6, transparent);
	background-size: 420px 420px;
	animation: lu-hw-scintille 5s ease-in-out infinite alternate;
}
@keyframes lu-hw-scintille { from { opacity: 0.45; } to { opacity: 1; } }

/* Tout fond clair devient nuit */
.lu-halloween .has-base-background-color,
.lu-halloween .has-white-background-color,
.lu-halloween .has-fond-clair-background-color,
.lu-halloween [style*="background-color:#fff"],
.lu-halloween [style*="background-color:#ffffff"],
.lu-halloween [style*="background-color:#F5FAFD"],
.lu-halloween [style*="background-color:#f5fafd"],
.lu-halloween .wp-block-group.has-background:not(.lu-topbar):not(.lu-navbar):not([class*="orange"]) {
	background-color: var(--hw-encre) !important;
}
.lu-halloween .has-fond-clair-background-color,
.lu-halloween [style*="background-color:#F5FAFD"],
.lu-halloween [style*="background-color:#f5fafd"] {
	background-color: #170c2a !important;
}
.lu-halloween .lu-navbar {
	background-color: #150a26 !important;
	background-image: none;
	box-shadow: 0 6px 30px rgba(247, 144, 7, 0.28) !important;
}
.lu-halloween .lu-navbar a,
.lu-halloween .lu-navbar .wp-block-site-title a { color: #ffd9a0 !important; }
.lu-halloween .lu-navbar a:hover { color: #fff !important; text-shadow: var(--hw-lueur); }

/* Textes */
.lu-halloween h1, .lu-halloween h2, .lu-halloween h3, .lu-halloween h4,
.lu-halloween .wp-block-heading {
	color: #fff1d6 !important;
}
.lu-halloween h1, .lu-halloween h2 { text-shadow: 0 0 18px rgba(247, 144, 7, 0.45); }
.lu-halloween p, .lu-halloween li, .lu-halloween .has-texte-color,
.lu-halloween .has-sombre-color { color: var(--hw-texte) !important; }
.lu-halloween .lu-hero-panel p, .lu-halloween .lu-hero-title { color: #fff !important; }
.lu-halloween .wp-site-blocks a:not(.wp-block-button__link):not(.lu-ev-btn):not(.lu-btn-hero) { color: #ffa83a; }
.lu-halloween .lu-ev-chip--past { background: #3a2a55; color: #bfa8e6; }

/* Cartes */
.lu-halloween .lu-card,
.lu-halloween .lu-ev-card,
.lu-halloween .lu-news-card,
.lu-halloween .lu-infos-card,
.lu-halloween .lu-stat,
.lu-halloween .lu-ics-card,
.lu-halloween .lu-honneur-card {
	background: linear-gradient(160deg, var(--hw-carte-2), var(--hw-carte)) !important;
	border: 1px solid rgba(247, 144, 7, 0.35) !important;
	box-shadow: 0 10px 34px rgba(0, 0, 0, 0.55), 0 0 22px rgba(247, 144, 7, 0.12) !important;
	color: var(--hw-texte);
}
.lu-halloween .lu-ev-card:hover,
.lu-halloween .lu-card:hover,
.lu-halloween .lu-news-card:hover {
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6), var(--hw-lueur) !important;
	transform: translateY(-4px) rotate(-0.4deg);
	outline: none;
}
.lu-halloween .lu-ev-card, .lu-halloween .lu-card, .lu-halloween .lu-news-card {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.lu-halloween .lu-ev-card *, .lu-halloween .lu-card *, .lu-halloween .lu-news-card * { border-color: rgba(247, 144, 7, 0.25); }
.lu-halloween .lu-icon-circle { background: rgba(247, 144, 7, 0.18) !important; box-shadow: 0 0 18px rgba(247, 144, 7, 0.35); }
.lu-halloween .lu-stat strong, .lu-halloween .lu-stat .lu-stat-num { color: #ff9f1c !important; text-shadow: var(--hw-lueur); }

/* Hero : voile violet-orangé */
.lu-halloween .wp-block-cover:first-of-type .wp-block-cover__background {
	background: linear-gradient(120deg, #1b0a33 0%, #5a1d7a 55%, #f79007 130%) !important;
	opacity: 0.82 !important;
}
.lu-halloween .lu-hero-panel {
	background: rgba(14, 7, 25, 0.72) !important;
	border: 1px solid rgba(247, 144, 7, 0.55);
	box-shadow: var(--hw-lueur);
}
.lu-halloween .lu-hero-title {
	text-shadow: 0 0 22px rgba(247, 144, 7, 0.8), 3px 3px 0 #4a2a7a;
	animation: lu-hw-vacille 4.5s infinite;
}
@keyframes lu-hw-vacille {
	0%, 92%, 100% { opacity: 1; }
	93% { opacity: 0.55; }
	95% { opacity: 1; }
	97% { opacity: 0.7; }
}

/* Boutons : citrouille incandescente */
.lu-halloween .wp-block-button__link,
.lu-halloween .lu-btn-hero,
.lu-halloween .lu-ev-btn {
	background: linear-gradient(180deg, #ffa83a, #f77f00) !important;
	color: #1b0a33 !important;
	border: 2px solid #ffd08a !important;
	font-weight: 800;
	box-shadow: 0 0 18px rgba(247, 144, 7, 0.55);
}
.lu-halloween .wp-block-button__link:hover,
.lu-halloween .lu-ev-btn:hover {
	box-shadow: var(--hw-lueur) !important;
	transform: scale(1.04);
}
.lu-halloween .lu-ev-btn--ghost, .lu-halloween .is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: #ffb04a !important;
}

/* Toiles d'araignée dans les coins + araignées qui pendent de la navbar */
.lu-halloween .lu-navbar { position: sticky; }
.lu-halloween .lu-navbar::before,
.lu-halloween .lu-navbar::after {
	position: absolute;
	top: 100%;
	z-index: 60;
	line-height: 1;
	pointer-events: none;
	transform-origin: top center;
	animation: lu-hw-balance 3.6s ease-in-out infinite alternate;
	border-left: 1.5px solid rgba(255, 255, 255, 0.55);
	padding-top: 0;
}
.lu-halloween .lu-navbar::before { content: "🕷️"; left: 22%; height: 0; font-size: 1.7rem; animation-delay: 0s; }
.lu-halloween .lu-navbar::after  { content: "🕷️"; right: 12%; height: 0; font-size: 1.3rem; animation-delay: 1.4s; }
@keyframes lu-hw-balance {
	from { transform: rotate(-7deg) translateY(10px); }
	to   { transform: rotate(7deg) translateY(34px); }
}

/* Lune et fantôme flottants */
.lu-hw-bats::before {
	content: "🌕";
	position: absolute;
	right: 3vw;
	bottom: 6vh;
	font-size: clamp(3rem, 8vw, 6rem);
	filter: drop-shadow(0 0 28px rgba(255, 220, 140, 0.8));
	opacity: 0.9;
}
.lu-hw-bats::after {
	content: "👻";
	position: absolute;
	left: 3vw;
	bottom: 10vh;
	font-size: clamp(2.2rem, 5vw, 3.8rem);
	filter: drop-shadow(0 0 16px rgba(255, 255, 255, 0.7));
	animation: lu-hw-flotte 5s ease-in-out infinite alternate;
}
@keyframes lu-hw-flotte {
	from { transform: translate(0, 0) rotate(-6deg); opacity: 0.55; }
	to   { transform: translate(24px, -34px) rotate(6deg); opacity: 0.95; }
}
.lu-hw-bats span { font-size: 2.2rem !important; filter: drop-shadow(0 0 8px rgba(247, 144, 7, 0.7)); }

/* Brume au pied de l'écran */
.lu-hw-ribbon { position: relative; z-index: 70; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); }
.lu-halloween .wp-site-blocks { position: relative; z-index: 1; }
.lu-halloween .wp-site-blocks::after {
	content: "";
	position: fixed;
	left: 0; right: 0; bottom: 0;
	height: 22vh;
	z-index: 30;
	pointer-events: none;
	background: linear-gradient(to top, rgba(120, 60, 200, 0.28), transparent);
	animation: lu-hw-brume 7s ease-in-out infinite alternate;
}
@keyframes lu-hw-brume { from { opacity: 0.5; } to { opacity: 1; } }

/* Curseur citrouille */
.lu-halloween {
	cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'><text y='26' font-size='26'>🎃</text></svg>") 4 4, auto;
}
.lu-halloween a, .lu-halloween button, .lu-halloween .wp-block-button__link { cursor: pointer; }

/* Pied de page : cimetière */
.lu-halloween footer.wp-block-template-part > .has-background {
	background: linear-gradient(to top, #000, #170c2a) !important;
}
.lu-halloween footer.wp-block-template-part > .has-background::before {
	content: "🪦  👻  🎃  🕯️  🎃  👻  🪦";
	font-size: 1.6rem;
	filter: drop-shadow(0 0 10px rgba(247, 144, 7, 0.7));
}
.lu-halloween .lu-footer-btn .wp-block-button__link { color: #1b0a33 !important; }

@media (prefers-reduced-motion: reduce) {
	.lu-halloween::before, .lu-halloween .lu-hero-title, .lu-halloween .lu-navbar::before,
	.lu-halloween .lu-navbar::after, .lu-hw-bats::after, .lu-halloween .wp-site-blocks::after { animation: none; }
}

/* ---- Correctifs de lisibilité (textes sombres sur fond nuit) ---- */
.lu-halloween .lu-ev-card .lu-ev-title,
.lu-halloween .lu-ev-card .lu-ev-lieu,
.lu-halloween .lu-ev-card-link,
.lu-halloween .lu-news-card a,
.lu-halloween .lu-news-card h3,
.lu-halloween .lu-news-meta,
.lu-halloween .lu-news-cat,
.lu-halloween .lu-stat span,
.lu-halloween .lu-stat small,
.lu-halloween .lu-events-coming p,
.lu-halloween .lu-events-coming strong,
.lu-halloween .lu-events-coming a,
.lu-halloween .lu-events-empty,
.lu-halloween .lu-events-empty * {
	color: var(--hw-texte) !important;
}
.lu-halloween .lu-ev-card .lu-ev-title,
.lu-halloween .lu-events-coming strong,
.lu-halloween .lu-news-card h3 { color: #ffd9a0 !important; }
.lu-halloween .lu-events-coming, .lu-halloween .lu-events-empty {
	background: rgba(35, 19, 56, 0.85) !important;
	border-color: rgba(247, 144, 7, 0.4) !important;
}
.lu-halloween .lu-ev-chip--past { color: #cdb8f0 !important; background: #3a2a55 !important; border-color: transparent; }
.lu-halloween .lu-ev-image-placeholder,
.lu-halloween .lu-news-img--placeholder {
	background: linear-gradient(160deg, #3b1d63, #1b0a33) !important;
}
.lu-halloween .lu-ev-dialog, .lu-halloween .lu-ev-dialog-inner { background: #1b0f2e !important; color: var(--hw-texte); }
.lu-halloween .lu-strip--inverse { filter: saturate(1.15) brightness(0.92); }

/* Accordéons (abonnement calendrier, FAQ…) */
.lu-halloween details,
.lu-halloween .wp-block-details {
	background: #2d1a47 !important;
	border: 1px solid rgba(247, 144, 7, 0.35) !important;
	color: var(--hw-texte) !important;
}
.lu-halloween details summary,
.lu-halloween details * { color: var(--hw-texte) !important; }

/* ---- Pages Bureau / Membres d'honneur / articles : fonds clairs → nuit ---- */
.lu-halloween .lu-bureau-page,
.lu-halloween .lu-honneur-page,
.lu-halloween .lu-bureau-hero,
.lu-halloween .lu-bureau-missions-section,
.lu-halloween .lu-bureau-cta,
.lu-halloween .lu-bureau-participation,
.lu-halloween .lu-anciens,
.lu-halloween .lu-bienfaiteurs,
.lu-halloween .lu-honneur-wall {
	background: #0e0719 !important;
	background-image: radial-gradient(ellipse 60% 70% at 90% 0%, rgba(247, 144, 7, 0.18), transparent 70%) !important;
}
.lu-halloween .lu-bureau-missions-section,
.lu-halloween .lu-bureau-participation { background-color: #170c2a !important; background-image: none !important; }
.lu-halloween .lu-bureau-card,
.lu-halloween .lu-bureau-card-body,
.lu-halloween .lu-bureau-mission,
.lu-halloween .lu-bureau-note,
.lu-halloween .lu-anciens-item,
.lu-halloween .lu-post-nav-link,
.lu-halloween .lu-pagination a,
.lu-halloween .lu-pagination .page-numbers {
	background: linear-gradient(160deg, #2d1a47, #231338) !important;
	border-color: rgba(247, 144, 7, 0.35) !important;
	color: var(--hw-texte) !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
.lu-halloween .lu-bureau-card *, .lu-halloween .lu-bureau-mission *, .lu-halloween .lu-bureau-note *,
.lu-halloween .lu-anciens-item *, .lu-halloween .lu-bienfaiteurs *, .lu-halloween .lu-honneur-card * {
	color: var(--hw-texte) !important;
}
.lu-halloween .lu-bureau-card h3, .lu-halloween .lu-bureau-card h2,
.lu-halloween .lu-bureau-title, .lu-halloween .lu-honneur-title,
.lu-halloween .lu-honneur-card h3, .lu-halloween .lu-bureau-mission h3 { color: #ffd9a0 !important; }
.lu-halloween .lu-bureau-role,
.lu-halloween .lu-bureau-mission-number,
.lu-halloween .lu-eyebrow,
.lu-halloween .lu-honneur-card [class*="badge"],
.lu-halloween .lu-honneur-card [class*="since"],
.lu-halloween .lu-honneur-card [class*="role"] {
	background: rgba(247, 144, 7, 0.22) !important;
	color: #ffb04a !important;
	text-shadow: none;
}
.lu-halloween .lu-eyebrow { background: transparent !important; }
.lu-halloween .lu-bureau-lead, .lu-halloween .lu-bureau-section-intro,
.lu-halloween .lu-bureau-hero p, .lu-halloween .lu-bureau-cta-text { color: var(--hw-texte) !important; }

/* Filet de sécurité : tout encadré à fond clair encore présent reçoit un fond sombre */
.lu-halloween .wp-site-blocks .has-background:not(.lu-topbar):not(.lu-navbar):not(.has-orange-background-color):not(.has-luminous-vivid-orange-background-color):not(.has-rouge-background-color) {
	background-color: #170c2a !important;
}
.lu-halloween .wp-site-blocks .has-background:not(.lu-topbar):not(.lu-navbar) :is(p, li, span, h1, h2, h3, h4, strong, em, small) {
	color: inherit;
}

/* Encadré « Une plume dans l'équipe ? », dates et métadonnées d'articles, champs de formulaire */
.lu-halloween .lu-news-cta {
	background: linear-gradient(135deg, #3b1d63, #231338) !important;
	border: 1px solid rgba(247, 144, 7, 0.45) !important;
	box-shadow: 0 0 26px rgba(247, 144, 7, 0.2) !important;
}
.lu-halloween .lu-news-cta *:not(.wp-block-button__link) { color: var(--hw-texte) !important; }
.lu-halloween .lu-news-cta h2 { color: #ffd9a0 !important; }
.lu-halloween .lu-news-cta .lu-eyebrow { color: #ffb04a !important; }
.lu-halloween time,
.lu-halloween .lu-news-meta,
.lu-halloween .lu-news-meta *,
.lu-halloween .wp-block-post-date,
.lu-halloween .wp-block-post-date *,
.lu-halloween .wp-block-post-terms,
.lu-halloween .wp-block-post-terms a { color: #cdb8f0 !important; }
.lu-halloween input, .lu-halloween textarea, .lu-halloween select {
	background: #2d1a47 !important;
	color: #fff1d6 !important;
	border-color: rgba(247, 144, 7, 0.5) !important;
}
.lu-halloween ::placeholder { color: #bfa8e6 !important; opacity: 1; }
.lu-halloween .wp-block-post-content, .lu-halloween .wp-block-post-content :is(p, li, blockquote, td, th) { color: var(--hw-texte) !important; }
.lu-halloween blockquote { border-left-color: #f79007 !important; background: rgba(247, 144, 7, 0.08) !important; }
.lu-halloween table, .lu-halloween td, .lu-halloween th { border-color: rgba(247, 144, 7, 0.3) !important; }

/* Boutons « fantômes » (contour) : texte clair */
.lu-halloween .lu-btn-blanc .wp-block-button__link,
.lu-halloween .lu-news-cta .wp-block-button__link,
.lu-halloween .wp-block-button.is-style-outline > .wp-block-button__link,
.lu-halloween .lu-bureau-btn-secondary .wp-block-button__link {
	background: transparent !important;
	color: #ffd9a0 !important;
	border: 2px solid #f79007 !important;
}
/* Les conteneurs de boutons restent sans cadre ni fond (seul le lien porte le contour). */
.lu-halloween .wp-block-button,
.lu-halloween .lu-bureau-btn-primary,
.lu-halloween .lu-bureau-btn-secondary {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
.lu-halloween .lu-news-cta .wp-block-button:first-child .wp-block-button__link,
.lu-halloween .lu-bureau-btn-primary .wp-block-button__link {
	background: linear-gradient(180deg, #ffa83a, #f77f00) !important;
	color: #1b0a33 !important;
}

/* Bandeau « Vous avez votre mot à dire » : violet nuit au lieu du vert d'origine */
.lu-halloween .lu-bureau-cta {
	background: linear-gradient(135deg, #3b1d63 0%, #231338 70%) !important;
	border: 1px solid rgba(247, 144, 7, 0.45) !important;
	box-shadow: 0 0 30px rgba(247, 144, 7, 0.22) !important;
}
.lu-halloween .lu-bureau-cta::before {
	opacity: 1;
	background-image:
		linear-gradient(90deg, #2a1546 0%, #2a1546 44%, rgba(42, 21, 70, 0.98) 53%, rgba(42, 21, 70, 0.7) 70%, rgba(42, 21, 70, 0.18) 100%),
		url('/wp-content/uploads/2026/04/cropped-IMG_3844-scaled-1.jpg');
	filter: brightness(1.25) saturate(1.1);
}

/* La photo d'équipe garde son image ; on ne lui ajoute qu'un liseré lumineux */
.lu-halloween .lu-bureau-team-photo {
	border: 1px solid rgba(247, 144, 7, 0.4) !important;
	box-shadow: 0 10px 34px rgba(0, 0, 0, 0.55), 0 0 22px rgba(247, 144, 7, 0.2) !important;
}

/* « Ce que fait le bureau » : lignes à plat, numéros sans pastille */
.lu-halloween .lu-bureau-mission {
	background: rgba(35, 19, 56, 0.55) !important;
	box-shadow: none !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(247, 144, 7, 0.3) !important;
	border-radius: 0 !important;
}
.lu-halloween .lu-bureau-mission-number,
.lu-halloween .lu-bureau-mission-number * {
	background: transparent !important;
	color: #ffb04a !important;
	box-shadow: none !important;
	text-shadow: 0 0 10px rgba(247, 144, 7, 0.7);
}
.lu-halloween .lu-bureau-mission .lu-bureau-mission-number {
	color: #ffb04a !important;
	padding-left: 14px;
}

/* ==========================================================================
   HERO « SPOOKY » : slime qui goutte, titre qui grésille et qui change de texte
   ========================================================================== */
.lu-halloween .lu-hero-panel {
	padding-top: 76px;
	border-color: rgba(247, 144, 7, 0.7);
	background:
		radial-gradient(ellipse 50% 60% at 20% 110%, rgba(150, 90, 220, 0.35), transparent 70%),
		radial-gradient(ellipse 40% 50% at 85% 100%, rgba(247, 144, 7, 0.22), transparent 70%),
		rgba(10, 4, 20, 0.82) !important;
	background-size: 160% 100%, 160% 100%, auto;
	animation: lu-hw-brume-panneau 9s ease-in-out infinite alternate;
}
@keyframes lu-hw-brume-panneau {
	from { background-position: 0% 0%, 100% 0%, 0 0; }
	to   { background-position: 100% 0%, 0% 0%, 0 0; }
}

/* Slime orange qui goutte du bord supérieur */
.lu-halloween .lu-hero-panel::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	height: 72px;
	border-radius: 22px 22px 0 0;
	background: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27340%27%20height%3D%2772%27%20viewBox%3D%270%200%20340%2072%27%3E%0A%3Cdefs%3E%3ClinearGradient%20id%3D%27g%27%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%271%27%3E%3Cstop%20offset%3D%270%27%20stop-color%3D%27%23ffa83a%27/%3E%3Cstop%20offset%3D%271%27%20stop-color%3D%27%23e25b1b%27/%3E%3C/linearGradient%3E%3C/defs%3E%0A%3Cg%20fill%3D%27url%28%23g%29%27%3E%0A%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%27340%27%20height%3D%2713%27/%3E%0A%3Crect%20x%3D%2736%27%20y%3D%270%27%20width%3D%279%27%20height%3D%2742%27%20rx%3D%274.5%27/%3E%3Ccircle%20cx%3D%2740.5%27%20cy%3D%2744%27%20r%3D%277%27/%3E%0A%3Crect%20x%3D%27118%27%20y%3D%270%27%20width%3D%277%27%20height%3D%2724%27%20rx%3D%273.5%27/%3E%3Ccircle%20cx%3D%27121.5%27%20cy%3D%2726%27%20r%3D%275.5%27/%3E%0A%3Crect%20x%3D%27196%27%20y%3D%270%27%20width%3D%2711%27%20height%3D%2760%27%20rx%3D%275.5%27/%3E%3Ccircle%20cx%3D%27201.5%27%20cy%3D%2762%27%20r%3D%278.5%27/%3E%0A%3Crect%20x%3D%27268%27%20y%3D%270%27%20width%3D%277%27%20height%3D%2732%27%20rx%3D%273.5%27/%3E%3Ccircle%20cx%3D%27271.5%27%20cy%3D%2734%27%20r%3D%275.5%27/%3E%0A%3Crect%20x%3D%27318%27%20y%3D%270%27%20width%3D%279%27%20height%3D%2719%27%20rx%3D%274.5%27/%3E%3Ccircle%20cx%3D%27322.5%27%20cy%3D%2721%27%20r%3D%276%27/%3E%0A%3C/g%3E%3C/svg%3E") repeat-x 0 0 / 340px 72px;
	filter: drop-shadow(0 0 8px rgba(247, 144, 7, 0.75));
	pointer-events: none;
	transform-origin: top center;
	animation: lu-hw-goutte 5s ease-in-out infinite alternate;
	z-index: 1;
}
@keyframes lu-hw-goutte {
	from { transform: scaleY(0.88); }
	to   { transform: scaleY(1.1); }
}

/* Titre : lueur de bougie + grésillement fantomatique (décalage orange / violet) */
.lu-halloween .lu-hero-title {
	text-shadow: 0 0 22px rgba(247, 144, 7, 0.8), 3px 3px 0 #4a2a7a;
	animation: lu-hw-vacille 4.5s infinite, lu-hw-gresille 7s infinite;
}
@keyframes lu-hw-gresille {
	0%, 90%, 100% { transform: none; text-shadow: 0 0 22px rgba(247, 144, 7, 0.8), 3px 3px 0 #4a2a7a; }
	91% { transform: translate(-3px, 1px) skewX(-3deg); text-shadow: -5px 0 0 rgba(247, 144, 7, 0.9), 5px 0 0 rgba(150, 90, 255, 0.9); }
	92% { transform: translate(4px, -1px) skewX(3deg); text-shadow: 5px 0 0 rgba(247, 144, 7, 0.9), -5px 0 0 rgba(150, 90, 255, 0.9); }
	93% { transform: translate(-2px, 0); text-shadow: 0 0 30px #f77f00, 2px 2px 0 #4a2a7a; }
	94% { transform: none; }
}

/* Étiquette du hero : tête de mort */
.lu-halloween .lu-hero-panel .lu-eyebrow::before {
	content: "💀 ";
}

/* Boutons du hero : battement de coeur */
.lu-halloween .lu-hero-panel .wp-block-button__link {
	animation: lu-hw-pulse 2.8s ease-in-out infinite;
}
@keyframes lu-hw-pulse {
	0%, 100% { box-shadow: 0 0 14px rgba(247, 144, 7, 0.5); }
	50%      { box-shadow: 0 0 30px rgba(247, 144, 7, 0.95), 0 0 6px #fff3; }
}

@media (max-width: 700px) {
	.lu-halloween .lu-hero-panel { padding-top: 64px; }
}
@media (prefers-reduced-motion: reduce) {
	.lu-halloween .lu-hero-panel, .lu-halloween .lu-hero-panel::before,
	.lu-halloween .lu-hero-panel .wp-block-button__link { animation: none; }
}

/* Changement de mot discret façon Luigi's Mansion : Life → Dead, puis retour */
.lu-hw-swap {
	display: inline-grid;
	vertical-align: baseline;
}
.lu-hw-swap > span {
	grid-area: 1 / 1;
	white-space: nowrap;
}
.lu-hw-swap .lu-hw-a { animation: lu-hw-mot-a 16s ease-in-out infinite; }
.lu-hw-swap .lu-hw-b {
	opacity: 0;
	color: #ffb04a;
	text-shadow: 0 0 26px #f77f00, 0 0 8px #f77f00, 3px 3px 0 #4a2a7a;
	animation: lu-hw-mot-b 16s ease-in-out infinite;
}
@keyframes lu-hw-mot-a {
	0%, 30%   { opacity: 1; filter: none; }
	34%       { opacity: 0.2; filter: blur(1px); }
	38%, 72%  { opacity: 0; filter: blur(2px); }
	76%       { opacity: 0.4; }
	80%, 100% { opacity: 1; filter: none; }
}
@keyframes lu-hw-mot-b {
	0%, 32%   { opacity: 0; }
	38%, 70%  { opacity: 1; }
	76%, 100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.lu-hw-swap .lu-hw-a, .lu-hw-swap .lu-hw-b { animation: none; }
	.lu-hw-swap .lu-hw-b { display: none; }
}

/* Lettres du titre : extinction (grésillement), disparition le temps de la chute, retour */
.lu-hw-l { display: inline; }
.lu-hw-l.lu-hw-flick { animation: lu-hw-eteint 1.5s linear forwards; }
@keyframes lu-hw-eteint {
	0%   { opacity: 1; }
	8%   { opacity: 0.15; text-shadow: none; }
	16%  { opacity: 1; }
	26%  { opacity: 0.1; text-shadow: none; }
	40%  { opacity: 0.9; }
	52%  { opacity: 0.08; text-shadow: none; }
	66%  { opacity: 0.6; }
	78%, 100% { opacity: 0.1; text-shadow: none; }
}
.lu-hw-l.lu-hw-gone { visibility: hidden; }
.lu-hw-l.lu-hw-back { animation: lu-hw-reviens 1.4s ease-out both; }
@keyframes lu-hw-reviens {
	0%   { opacity: 0; }
	30%  { opacity: 0.9; }
	45%  { opacity: 0.2; }
	70%  { opacity: 1; }
	85%  { opacity: 0.5; }
	100% { opacity: 1; }
}

/* Carrousel : le conteneur défilant coupe les ombres → pas de halo sur les bords */
.lu-halloween .lu-carousel .lu-ev-card,
.lu-halloween .lu-carousel .lu-ev-card:hover {
	box-shadow: none !important;
}
.lu-halloween .lu-carousel .lu-ev-card:hover {
	border-color: #f79007 !important;
	transform: translateY(-3px);
}
.lu-halloween .lu-carousel,
.lu-halloween .lu-carousel-outer {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* ---- Page « Nos événements » : prestations, formules, contact ---- */
.lu-halloween .lu-event-offer,
.lu-halloween .lu-event-offer__inner {
	background: transparent !important;
}
.lu-halloween .lu-event-format,
.lu-halloween .lu-event-format--competition,
.lu-halloween .lu-event-format--family,
.lu-halloween .lu-event-format__body,
.lu-halloween .lu-event-package,
.lu-halloween .lu-event-contact {
	background: linear-gradient(160deg, #2d1a47, #231338) !important;
	border: 1px solid rgba(247, 144, 7, 0.35) !important;
	box-shadow: 0 10px 34px rgba(0, 0, 0, 0.5) !important;
	color: var(--hw-texte) !important;
}
.lu-halloween .lu-event-format__body { border: 0 !important; box-shadow: none !important; background: transparent !important; }
.lu-halloween .lu-event-format :is(p, li, span, strong, small),
.lu-halloween .lu-event-package :is(p, li, span, strong, small, ul),
.lu-halloween .lu-event-contact :is(p, li, span, strong, small, a:not(.wp-block-button__link)),
.lu-halloween .lu-event-offer__intro :is(p, li, span, strong) {
	color: var(--hw-texte) !important;
}
.lu-halloween .lu-event-format h3, .lu-halloween .lu-event-package h3,
.lu-halloween .lu-event-contact h2, .lu-halloween .lu-event-contact h3,
.lu-halloween .lu-event-offer h2, .lu-halloween .lu-event-offer h3 { color: #ffd9a0 !important; }
.lu-halloween .lu-event-format__label,
.lu-halloween .lu-event-package__price,
.lu-halloween .lu-event-package__price * { color: #ffb04a !important; }
.lu-halloween .lu-event-format__detail { border-top-color: rgba(247, 144, 7, 0.3) !important; }
.lu-halloween .lu-event-format__detail strong { color: #ffd9a0 !important; }
.lu-halloween .lu-event-format__badge {
	background: rgba(14, 7, 25, 0.88) !important;
	color: #ffd9a0 !important;
	border: 1px solid rgba(247, 144, 7, 0.6);
}
.lu-halloween .lu-event-package__note, .lu-halloween .lu-event-contact__note { color: var(--hw-texte-doux) !important; }

/* Bandeau orange de fin de page : violet nuit, boutons lisibles */
.lu-halloween .wp-block-group:has(> .wp-block-buttons .lu-btn-blanc),
.lu-halloween .wp-block-group:has(.lu-btn-blanc):not(.lu-bureau-cta):not(.lu-news-cta) {
	background: linear-gradient(120deg, #3b1d63 0%, #231338 60%, #4a2a1a 130%) !important;
	border-top: 2px solid rgba(247, 144, 7, 0.6);
	box-shadow: inset 0 0 60px rgba(247, 144, 7, 0.12);
}
.lu-halloween .lu-btn-blanc .wp-block-button__link {
	background: transparent !important;
	color: #ffd9a0 !important;
	border: 2px solid #f79007 !important;
	box-shadow: none !important;
}
.lu-halloween .lu-btn-blanc .wp-block-button__link:hover {
	background: rgba(247, 144, 7, 0.2) !important;
	color: #fff !important;
}

/* ---- Pastilles de date, fenêtre de détail d'événement, chiffres clés ---- */
.lu-halloween .lu-ev-chip {
	background: #3a2a55 !important;
	color: #ffd9a0 !important;
	border: 1px solid rgba(247, 144, 7, 0.55) !important;
}
.lu-halloween .lu-ev-chip--live {
	background: #e25b1b !important;
	color: #fff !important;
	border-color: #ffb04a !important;
}
.lu-halloween .lu-ev-chip--past {
	background: #2a1c40 !important;
	color: #cdb8f0 !important;
	border-color: rgba(205, 184, 240, 0.35) !important;
}
.lu-halloween .lu-ev-dialog-body {
	background: #1b0f2e !important;
	color: var(--hw-texte) !important;
}
.lu-halloween .lu-ev-dialog-body :is(h3, h2) { color: #ffd9a0 !important; }
.lu-halloween .lu-ev-dialog-lieu {
	background: rgba(247, 144, 7, 0.14) !important;
	border-left: 4px solid #f79007 !important;
	color: var(--hw-texte) !important;
}
.lu-halloween .lu-ev-dialog-lieu * { color: var(--hw-texte) !important; }
.lu-halloween .lu-ev-dialog-lieu strong, .lu-halloween .lu-ev-dialog-lieu b { color: #ffb04a !important; }
.lu-halloween .lu-ev-dialog-desc, .lu-halloween .lu-ev-dialog-desc :is(p, li, span, strong) { color: var(--hw-texte) !important; }
.lu-halloween .lu-ev-dialog-close { background: #2d1a47 !important; color: #ffd9a0 !important; border: 1px solid #f79007 !important; }
.lu-halloween .lu-ev-dialog-close * { color: #ffd9a0 !important; stroke: #ffd9a0; }
.lu-halloween .lu-ev-dialog::backdrop { background: rgba(8, 3, 16, 0.82) !important; }

/* Chiffres clés : à plat, sans cadre (ce ne sont pas des cartes) */
.lu-halloween .lu-stat,
.lu-halloween .lu-stats .lu-stat {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* ---- Menu hamburger (mobile / tablette) : panneau plein écran nuit ---- */
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container.is-menu-open {
	background:
		radial-gradient(ellipse 80% 40% at 90% 0%, rgba(247, 144, 7, 0.22), transparent 70%),
		linear-gradient(180deg, #1b0f2e, #0e0719) !important;
	color: var(--hw-texte) !important;
}
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.lu-halloween .lu-navbar .is-menu-open .wp-block-navigation-item__content {
	color: #ffd9a0 !important;
}
.lu-halloween .lu-navbar .is-menu-open .wp-block-navigation-item {
	border-bottom-color: rgba(247, 144, 7, 0.28) !important;
}
.lu-halloween .lu-navbar .is-menu-open .wp-block-navigation-item__content:hover,
.lu-halloween .lu-navbar .is-menu-open .wp-block-navigation-item__content:focus-visible {
	color: #fff !important;
	text-shadow: var(--hw-lueur);
}
/* Contour de focus : fin, arrondi et discret au lieu d'un rectangle épais */
.lu-halloween .lu-navbar .is-menu-open .wp-block-navigation-item__content:focus,
.lu-halloween .lu-navbar .is-menu-open .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid rgba(247, 144, 7, 0.7) !important;
	outline-offset: -2px;
	border-radius: 10px;
}
/* Boutons ouvrir / fermer (hamburger et croix) */
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container-open,
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container-close {
	color: #ffd9a0 !important;
	background: transparent !important;
}
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container-open svg,
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container-close svg {
	fill: #ffd9a0 !important;
	stroke: #ffd9a0;
}
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container-open:hover,
.lu-halloween .lu-navbar .wp-block-navigation__responsive-container-close:hover {
	background: rgba(247, 144, 7, 0.2) !important;
}
/* « Suivez-nous » et réseaux sociaux */
.lu-halloween .lu-navbar .lu-mobile-socials { border-top-color: rgba(247, 144, 7, 0.35) !important; }
.lu-halloween .lu-navbar .lu-mobile-socials-label { color: #ffb04a !important; }
.lu-halloween .lu-navbar .lu-mobile-socials .wp-social-link a {
	background: rgba(247, 144, 7, 0.18) !important;
	border: 1px solid rgba(247, 144, 7, 0.6);
	color: #ffd9a0 !important;
}
.lu-halloween .lu-navbar .lu-mobile-socials .wp-social-link a svg { fill: #ffd9a0 !important; }
.lu-halloween .lu-navbar .lu-mobile-socials .wp-social-link:hover a { background: #f79007 !important; }
.lu-halloween .lu-navbar .lu-mobile-socials .wp-social-link:hover a svg { fill: #1b0a33 !important; }
/* Pendant que le menu est ouvert, les décors volants restent derrière */
.lu-halloween:has(.is-menu-open) .lu-hw-bats { z-index: 1; }
