/* ==================================================================
   Aya Atma Blocs : page d'accueil du site
   Identité Aya Atma, distincte du Loto Tekno : nuit cosmique et
   particules, Exo droit (l'italique BD reste au Loto), jaune #FFD200
   en accent rare, cartes douces sans traits épais. Chaque événement
   garde sa couleur à l'intérieur de sa carte.
   Tout est rangé sous .aya-accueil (classe de chaque section).
   ================================================================== */

.wp-block-group.aya-accueil {
	--acc-nuit: #02060f;
	--acc-nuit-2: #07101f;
	--acc-carte: #0d1a2e;
	--acc-ligne: rgba(255, 255, 255, .1);
	--acc-doux: #9aa6ba;
	--acc-loto: #ffd200;
	--acc-otv: #8f7bff;
	--acc-mnt: #ff7a45;
	--acc-rayon: 22px;
	--wp--style--global--wide-size: var(--aya-max);
	-webkit-font-smoothing: antialiased;
}

/* ---------- Section « nuit » ---------- */
.wp-block-group.is-style-aya-nuit {
	--aya-titre: #fff;
	--aya-texte: #e9edf5;
	--aya-doux: #9aa6ba;
	position: relative;
	margin-top: 0;
	margin-bottom: 0;
	padding: clamp(64px, 9vw, 120px) 16px;
	background: linear-gradient(180deg, #02060f 0%, #050c19 100%);
	color: var(--aya-texte);
}
.wp-block-group.is-style-aya-nuit.aya-acc-alt { background: #07101f; }
.wp-block-group.is-style-aya-creme.aya-accueil { padding: clamp(64px, 9vw, 120px) 16px; }

/* ---------- Typographie ---------- */
.wp-block-group.aya-accueil :is(h1, h2, h3) { font-style: normal; letter-spacing: -.02em; }
.wp-block-group.aya-accueil h1 {
	font-size: clamp(2.8rem, 7.4vw, 6rem);
	font-weight: 900;
	line-height: .98;
	letter-spacing: -.035em;
	max-width: 13ch;
	margin-bottom: .35em;
}
.wp-block-group.aya-accueil h2 { font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 800; line-height: 1.05; }
.wp-block-group.aya-accueil h3 { font-size: 1.3rem; font-weight: 800; line-height: 1.15; }
.wp-block-group.aya-accueil p.is-style-aya-chapo { color: var(--aya-doux); font-size: 1.1rem; }
.wp-block-group.is-style-aya-cosmos.aya-accueil p.is-style-aya-chapo { color: #c3cbd8; font-size: clamp(1.05rem, 1.6vw, 1.25rem); }
.wp-block-group.aya-accueil p.aya-acc-surtitre {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--aya-titres);
	font-weight: 800;
	font-size: .78rem;
	line-height: 1.3;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--aya-jaune);
	margin: 0 0 18px;
}
.wp-block-group.aya-accueil p.aya-acc-surtitre::before { content: ""; flex: none; width: 28px; height: 2px; background: currentColor; }
.wp-block-group.is-style-aya-creme.aya-accueil p.aya-acc-surtitre { color: #8a6d00; }
.wp-block-group.aya-accueil p.aya-acc-fleche { font-family: var(--aya-titres); font-weight: 800; font-size: .95rem; }

/* ---------- Boutons : pilules douces, sans trait BD ---------- */
.wp-block-group.aya-accueil .wp-block-button[class*="is-style-aya-"] .wp-block-button__link {
	border: 0;
	box-shadow: none;
	font-size: 1rem;
	padding: 1em 1.6em;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wp-block-group.aya-accueil .wp-block-button.is-style-aya-jaune .wp-block-button__link { box-shadow: 0 10px 30px -10px rgba(255, 210, 0, .6); }
.wp-block-group.aya-accueil .wp-block-button[class*="is-style-aya-"] .wp-block-button__link:hover,
.wp-block-group.aya-accueil .wp-block-button[class*="is-style-aya-"] .wp-block-button__link:focus-visible { transform: translateY(-2px); }
.wp-block-group.aya-accueil .wp-block-button.is-style-aya-jaune .wp-block-button__link:hover { box-shadow: 0 16px 40px -12px rgba(255, 210, 0, .8); }
.wp-block-group.aya-accueil .wp-block-button.is-style-aya-contour .wp-block-button__link { box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .4); color: #fff; }
.wp-block-group.aya-accueil .wp-block-button.is-style-aya-contour .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px #fff; background: rgba(255, 255, 255, .06); }
.wp-block-group.aya-accueil .wp-block-buttons { gap: 14px; }

/* Liens étirés : toute la carte est cliquable (un seul lien pour les lecteurs d'écran) */
.wp-block-group.aya-accueil :is(.aya-acc-evt, .aya-acc-reseau, .aya-acc-carte) h3 a { text-decoration: none !important; color: inherit; }
.wp-block-group.aya-accueil :is(.aya-acc-evt, .aya-acc-reseau, .aya-acc-carte) h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.editor-styles-wrapper .aya-accueil :is(.aya-acc-evt, .aya-acc-reseau, .aya-acc-carte) h3 a::after,
.editor-styles-wrapper .aya-accueil .aya-acc-ticket__cta a::after,
.editor-styles-wrapper .aya-accueil .aya-acc-articles a::after { display: none; }

/* ------------------------------------------------------------------
   1. Haut de page
   ------------------------------------------------------------------ */
.wp-block-group.aya-acc-hero {
	min-height: 88vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-bottom: 0 !important;
}
/* Sur un écran haut, le haut de page (88 % de la hauteur) a de la place en trop : elle va autour
   du texte (marges auto), jamais sous le bandeau, qui reste collé au bas de la section. */
.wp-block-group.aya-acc-hero > .wp-block-columns { width: 100%; margin-top: auto !important; margin-bottom: auto !important; }
.wp-block-group.aya-acc-hero mark { background: none !important; color: var(--aya-jaune) !important; }
.wp-block-group.aya-acc-hero .wp-block-buttons { margin-top: 30px; }
.aya-acc-logo { margin: 0 auto !important; max-width: 340px; }
.aya-acc-logo img { width: 100%; height: auto; filter: drop-shadow(0 0 60px rgba(120, 170, 255, .25)); }
@media (max-width: 781px) {
	.wp-block-group.aya-acc-hero { min-height: 0; }
	.wp-block-group.aya-acc-hero .wp-block-column:has(.aya-acc-logo) { order: -1; }
	.aya-acc-logo { max-width: 96px; margin: 0 !important; }
}

/* Bandeau « Prochain rendez-vous », collé au bas du haut de page */
.wp-block-group.aya-acc-ticket {
	position: relative;
	max-width: none !important;
	margin: clamp(48px, 8vh, 90px) -16px 0 !important;
	padding: 20px max(16px, calc((100% - var(--aya-max)) / 2 + 16px));
	gap: 8px 28px;
	border-top: 1px solid var(--acc-ligne);
	background: rgba(2, 6, 15, .5);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background .2s;
}
.wp-block-group.aya-acc-ticket:hover { background: rgba(2, 6, 15, .75); }
.wp-block-group.aya-acc-ticket p { margin: 0 !important; }
.aya-acc-ticket p.aya-acc-ticket__label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--aya-titres);
	font-weight: 600;
	font-size: .75rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--acc-doux);
}
.aya-acc-ticket p.aya-acc-ticket__label::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #3ddc84;
	animation: aya-acc-pouls 2s infinite;
}
@keyframes aya-acc-pouls {
	0% { box-shadow: 0 0 0 0 rgba(61, 220, 132, .6); }
	70%, 100% { box-shadow: 0 0 0 10px rgba(61, 220, 132, 0); }
}
.aya-acc-ticket p.aya-acc-ticket__event { font-family: var(--aya-titres); font-weight: 800; font-size: 1.15rem; color: #fff; }
.aya-acc-ticket p.aya-acc-ticket__date { font-family: var(--aya-titres); font-weight: 800; color: var(--aya-jaune); }
.aya-acc-ticket p.aya-acc-ticket__cta { margin-left: auto !important; font-family: var(--aya-titres); font-weight: 800; font-size: .95rem; }
.aya-acc-ticket p.aya-acc-ticket__cta a { color: var(--aya-jaune) !important; text-decoration: none !important; }
.aya-acc-ticket p.aya-acc-ticket__cta a::after { content: ""; position: absolute; inset: 0; }
@media (max-width: 600px) { .aya-acc-ticket p.aya-acc-ticket__cta { margin-left: 0 !important; width: 100%; } }

/* ------------------------------------------------------------------
   2. À l'affiche
   ------------------------------------------------------------------ */
.wp-block-columns.aya-acc-affiche {
	gap: 0 !important;
	margin-bottom: 0 !important;
	border-radius: 28px;
	overflow: hidden;
	background: #0b0b0b;
	border: 1px solid rgba(255, 210, 0, .35);
	box-shadow: 0 40px 100px -40px rgba(255, 210, 0, .35);
}
.aya-acc-affiche__photo { position: relative; min-height: 440px; }
.aya-acc-affiche__photo .wp-block-image { position: absolute; inset: 0; margin: 0 !important; }
.aya-acc-affiche__photo .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.aya-acc-affiche__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, transparent 55%, #0b0b0b 100%), linear-gradient(0deg, rgba(0, 0, 0, .55), transparent 45%);
}
.wp-block-group.aya-accueil p.aya-acc-badge {
	position: absolute;
	left: 20px;
	bottom: 20px;
	z-index: 1;
	margin: 0;
	background: var(--aya-rose);
	color: #fff;
	font-family: var(--aya-titres);
	font-weight: 800;
	font-size: .85rem;
	padding: 8px 14px;
	border-radius: 999px;
}
.aya-acc-affiche__texte { padding: clamp(28px, 4vw, 52px); }
.aya-acc-affiche__tete { gap: 14px !important; margin-bottom: 14px; }
.aya-acc-affiche__tete .wp-block-image { margin: 0 !important; flex: none; }
.wp-block-group.aya-accueil .aya-acc-affiche__tete p.aya-acc-surtitre { margin: 0; }
.wp-block-group.aya-accueil .aya-acc-affiche__tete p.aya-acc-surtitre::before { display: none; }
.wp-block-group.aya-accueil .aya-acc-affiche__texte h2 { font-size: clamp(2.2rem, 4vw, 3.1rem); margin-bottom: .2em; }
.wp-block-group.aya-accueil p.aya-acc-slogan { font-family: var(--aya-titres); font-weight: 800; font-size: 1.15rem; color: var(--aya-jaune); margin-bottom: 16px; }
.wp-block-group.aya-accueil .aya-acc-affiche__texte > p:not([class]) { color: var(--aya-doux); }
ul.aya-acc-infos {
	list-style: none;
	padding: 0;
	margin: 8px 0 22px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
ul.aya-acc-infos li {
	margin: 0;
	background: #161616;
	border: 1px solid #262626;
	border-radius: 14px;
	padding: 12px 14px;
	font-size: .85rem;
	line-height: 1.4;
	color: var(--acc-doux);
}
ul.aya-acc-infos li strong { display: block; font-family: var(--aya-titres); font-weight: 800; font-size: 1.05rem; color: #fff; margin-bottom: 2px; }
@media (max-width: 520px) { ul.aya-acc-infos { grid-template-columns: 1fr; } }

/* Compte à rebours, version sobre */
.aya-accueil .aya-compte { background: none; padding: 0; margin: 0 0 26px; text-align: left; }
.aya-accueil p.aya-compte__texte { color: var(--acc-doux) !important; font-size: .75rem !important; letter-spacing: .14em !important; }
.aya-accueil .aya-compte__cases { justify-content: flex-start; gap: 12px; }
.aya-accueil .aya-compte__case { min-width: 60px; }
.aya-accueil .aya-compte__case b { color: #fff !important; font-weight: 800; font-size: 2rem; }
.aya-accueil .aya-compte__case small { color: var(--acc-doux); letter-spacing: .1em; }

@media (max-width: 781px) {
	.aya-acc-affiche__photo { min-height: 260px; }
	.aya-acc-affiche__photo::after { background: linear-gradient(0deg, #0b0b0b 0%, transparent 60%); }
}

/* ------------------------------------------------------------------
   3. Nos événements
   ------------------------------------------------------------------ */
.wp-block-group.aya-acc-evts { gap: 20px; margin-top: 44px; grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)) !important; }
.wp-block-group.aya-acc-evt {
	--c: #fff;
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: var(--acc-rayon);
	overflow: hidden;
	background: var(--acc-carte);
	border: 1px solid var(--acc-ligne);
	transition: transform .3s ease, border-color .3s ease;
}
.wp-block-group.aya-acc-evt--loto { --c: var(--acc-loto); }
.wp-block-group.aya-acc-evt--otv { --c: var(--acc-otv); }
.wp-block-group.aya-acc-evt--mnt { --c: var(--acc-mnt); }
.wp-block-group.aya-acc-evt:hover,
.wp-block-group.aya-acc-evt:focus-within { transform: translateY(-6px); border-color: var(--c); }
.aya-acc-evt > .wp-block-image { margin: 0 0 22px !important; aspect-ratio: 4 / 3; overflow: hidden; }
.aya-acc-evt > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.aya-acc-evt:hover > .wp-block-image img { transform: scale(1.05); }
.wp-block-group.aya-accueil .aya-acc-evt > :not(.wp-block-image):not(.aya-acc-statut) { margin-left: 24px; margin-right: 24px; }
.wp-block-group.aya-accueil .aya-acc-evt p.aya-acc-statut {
	position: absolute;
	top: 14px;
	left: 14px;
	margin: 0;
	font-family: var(--aya-titres);
	font-weight: 800;
	font-size: .8rem;
	padding: 7px 12px;
	border-radius: 999px;
	color: #fff;
	background: rgba(2, 6, 15, .75);
	border: 1px solid rgba(255, 255, 255, .2);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.wp-block-group.aya-accueil .aya-acc-evt p.aya-acc-statut--chaud { background: var(--c); color: #0a0a0a; border-color: transparent; }
.wp-block-group.aya-accueil .aya-acc-evt p.aya-acc-meta {
	font-family: var(--aya-titres);
	font-weight: 700;
	font-size: .75rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c);
	margin-bottom: 8px;
}
.wp-block-group.aya-accueil .aya-acc-evt p:not([class]) { color: var(--acc-doux); font-size: .98rem; }
.wp-block-group.aya-accueil .aya-acc-evt p.aya-acc-fleche { margin-top: auto; padding-bottom: 26px; margin-bottom: 0; color: #fff; }

/* ------------------------------------------------------------------
   4. L'asso en bref
   ------------------------------------------------------------------ */
.wp-block-group.aya-acc-alt .wp-block-columns { gap: clamp(32px, 6vw, 80px); }
ul.aya-acc-chiffres {
	list-style: none;
	padding: 0;
	margin: 32px 0 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: var(--acc-ligne);
	border-radius: var(--acc-rayon);
	overflow: hidden;
}
ul.aya-acc-chiffres li { margin: 0; background: #07101f; padding: 22px; font-size: .92rem; line-height: 1.4; color: var(--acc-doux); }
ul.aya-acc-chiffres li strong {
	display: block;
	font-family: var(--aya-titres);
	font-weight: 900;
	font-size: clamp(1.9rem, 3.4vw, 2.6rem);
	line-height: 1;
	color: var(--aya-jaune);
	margin-bottom: 6px;
}
ul.aya-acc-chiffres li strong sub { font-size: .45em; vertical-align: baseline; font-weight: 800; }
.wp-block-group.aya-acc-piliers { display: grid; gap: 14px; }
.wp-block-group.aya-acc-piliers > * { margin: 0 !important; }
.wp-block-group.aya-acc-pilier {
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: 18px;
	align-content: start;
	padding: 22px;
	border-radius: 18px;
	background: rgba(255, 255, 255, .03);
	border: 1px solid var(--acc-ligne);
}
.wp-block-group.aya-accueil .aya-acc-pilier > * { grid-column: 2; margin: 0; }
.wp-block-group.aya-accueil .aya-acc-pilier h3 { font-size: 1.15rem; margin-bottom: .3em; }
.wp-block-group.aya-accueil .aya-acc-pilier p:not(.aya-acc-ico) { color: var(--acc-doux); font-size: .96rem; }
.wp-block-group.aya-accueil p.aya-acc-ico {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	font-size: 1.5rem;
	line-height: 1;
	background: rgba(255, 210, 0, .1);
}
.wp-block-group.aya-accueil .aya-acc-pilier p.aya-acc-ico { grid-column: 1; grid-row: 1 / span 2; }

/* ------------------------------------------------------------------
   5. Réseaux et actu
   ------------------------------------------------------------------ */
.wp-block-group.aya-acc-reseaux {
	display: grid;
	grid-template-columns: 1fr 1fr 1.25fr;
	gap: 14px;
	margin-top: 36px;
}
.wp-block-group.aya-acc-reseaux > * { margin: 0 !important; }
@media (max-width: 900px) { .wp-block-group.aya-acc-reseaux { grid-template-columns: 1fr; } }
.wp-block-group.aya-acc-reseau {
	--bg: #333;
	--ico: none;
	position: relative;
	min-height: 88px;
	padding: 20px 20px 20px 84px;
	border-radius: 18px;
	background: rgba(255, 255, 255, .03);
	border: 1px solid var(--acc-ligne);
	transition: transform .25s ease, border-color .25s ease;
}
.wp-block-group.aya-acc-reseau::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 20px;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--bg);
}
.wp-block-group.aya-acc-reseau::after {
	content: "";
	position: absolute;
	left: 32px;
	top: 32px;
	width: 24px;
	height: 24px;
	background: #fff;
	-webkit-mask: var(--ico) center / contain no-repeat;
	mask: var(--ico) center / contain no-repeat;
}
.wp-block-group.aya-acc-reseau:hover,
.wp-block-group.aya-acc-reseau:focus-within { transform: translateY(-3px); border-color: var(--bord, var(--bg)); }
.wp-block-group.aya-acc-reseau--instagram { --bg: linear-gradient(45deg, #f9ce34, #ee2a7b 50%, #6228d7); --bord: #ee2a7b; --ico: url("icones/instagram.svg"); }
.wp-block-group.aya-acc-reseau--facebook { --bg: #1877f2; --ico: url("icones/facebook.svg"); }
.wp-block-group.aya-acc-reseau--discord { --bg: #5865f2; --ico: url("icones/discord.svg"); background: rgba(88, 101, 242, .12); border-color: rgba(88, 101, 242, .45); }
.wp-block-group.aya-accueil .aya-acc-reseau h3 { font-size: 1.1rem; margin: 0 0 2px; }
.wp-block-group.aya-accueil .aya-acc-reseau p { margin: 0; color: var(--acc-doux); font-size: .9rem; line-height: 1.4; }
.wp-block-group.aya-accueil .aya-acc-reseau p.aya-acc-fleche { margin-top: 10px; color: #aab2ff; font-size: .95rem; }

/* Bloc « Derniers posts Instagram » */
.aya-insta { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 28px; }
@media (max-width: 900px) { .aya-insta { grid-template-columns: repeat(3, 1fr); } }
.aya-insta__post { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; background: #0d1a2e; }
.aya-insta__post img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.aya-insta__post:hover img { transform: scale(1.06); }
.aya-insta__type { position: absolute; top: 8px; right: 10px; color: #fff; font-size: .9rem; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); }
.aya-insta__texte {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding: 12px;
	font-size: .8rem;
	line-height: 1.35;
	color: #fff;
	background: linear-gradient(0deg, rgba(0, 0, 0, .85), transparent 60%);
	opacity: 0;
	transition: opacity .3s ease;
}
.aya-insta__post:hover .aya-insta__texte,
.aya-insta__post:focus-visible .aya-insta__texte { opacity: 1; }
.aya-insta-vide { margin-top: 28px; padding: 18px; border: 2px dashed #5865f2; border-radius: 14px; color: #9aa6ba; font-size: .9rem; }

/* Derniers articles (bloc natif « Derniers articles ») */
.wp-block-group.aya-accueil h3.aya-acc-petit-titre {
	margin: 56px 0 6px;
	padding-top: 22px;
	border-top: 1px solid var(--acc-ligne);
	font-family: var(--aya-titres);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--acc-doux);
}
ul.aya-acc-articles { list-style: none; padding: 0; margin: 0; }
ul.aya-acc-articles li {
	position: relative;
	display: grid;
	grid-template-columns: 140px 1fr auto;
	grid-template-areas: "date titre fleche";
	gap: 20px;
	align-items: center;
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--acc-ligne);
}
ul.aya-acc-articles li::after { content: "→"; grid-area: fleche; transition: transform .2s ease; }
ul.aya-acc-articles li:hover::after { transform: translateX(4px); }
ul.aya-acc-articles .wp-block-latest-posts__post-date { grid-area: date; color: var(--acc-doux); font-size: .9rem; margin: 0; }
.wp-block-group.aya-accueil ul.aya-acc-articles a.wp-block-latest-posts__post-title {
	grid-area: titre;
	font-family: var(--aya-titres);
	font-weight: 800;
	font-size: 1.1rem;
	color: #fff;
	text-decoration: none;
	transition: color .2s ease;
}
ul.aya-acc-articles a.wp-block-latest-posts__post-title::after { content: ""; position: absolute; inset: 0; }
.wp-block-group.aya-accueil ul.aya-acc-articles li:hover a.wp-block-latest-posts__post-title { color: var(--aya-jaune); }
@media (max-width: 600px) {
	ul.aya-acc-articles li { grid-template-columns: 1fr; grid-template-areas: "date" "titre"; gap: 2px; }
	ul.aya-acc-articles li::after { display: none; }
}

/* ------------------------------------------------------------------
   6. Rejoins notre association (section crème)
   ------------------------------------------------------------------ */
.wp-block-group.aya-acc-trio { gap: 20px; margin-top: 40px; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)) !important; }
.wp-block-group.aya-acc-carte {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 28px;
	border-radius: var(--acc-rayon);
	background: #fff;
	border: 1px solid #eadfb0;
	transition: transform .25s ease, box-shadow .25s ease;
}
.wp-block-group.aya-acc-carte > * { margin-top: 0 !important; }
.wp-block-group.aya-acc-carte:hover,
.wp-block-group.aya-acc-carte:focus-within { transform: translateY(-4px); box-shadow: 0 24px 50px -24px rgba(80, 60, 0, .35); }
.wp-block-group.aya-accueil .aya-acc-carte p.aya-acc-ico { background: none; width: auto; height: auto; place-items: start; font-size: 2rem; margin-bottom: 12px; }
.wp-block-group.aya-accueil .aya-acc-carte h3 { margin-bottom: 6px; }
.wp-block-group.aya-accueil .aya-acc-carte p:not([class]) { color: #5a5a5a; font-size: .97rem; margin-bottom: 14px; }
.wp-block-group.aya-accueil .aya-acc-carte p.aya-acc-fleche { margin-top: auto !important; margin-bottom: 0; color: #0a0a0a; }

@media (prefers-reduced-motion: reduce) {
	.aya-accueil *,
	.aya-accueil *::before,
	.aya-accueil *::after { transition: none !important; animation: none !important; }
}

/* Mention « Nouveau : le Quine Runner » sous les boutons du bloc À l'affiche */
.wp-block-group.aya-accueil p.aya-acc-nouveau { margin: 18px 0 0; }
.wp-block-group.aya-accueil p.aya-acc-nouveau a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(255, 62, 143, .14);
	border: 1px solid rgba(255, 62, 143, .55);
	color: #fff;
	font-family: var(--aya-titres);
	font-weight: 700;
	font-size: .92rem;
	text-decoration: none !important;
	transition: background .2s ease;
}
.wp-block-group.aya-accueil p.aya-acc-nouveau a:hover { background: rgba(255, 62, 143, .28); }
.wp-block-group.aya-accueil p.aya-acc-nouveau strong { color: #ff7cb3; flex: none; white-space: nowrap; } /* « Nouveau : » ne se coupe jamais */

/* ==================================================================
   Page Contact (1.9.0) : mêmes bases que l'accueil, classes .aya-ct-*
   ================================================================== */
.wp-block-group.aya-ct-hero { padding-top: clamp(110px, 14vw, 160px); padding-bottom: clamp(64px, 8vw, 96px); }
.wp-block-group.aya-ct-hero h1 { font-size: clamp(2.6rem, 7vw, 5.2rem); max-width: var(--wp--style--global--content-size, 1180px); text-wrap: balance; }
.wp-block-group.aya-ct-hero mark { background: none !important; color: var(--aya-jaune) !important; }
.wp-block-group.aya-ct-hero .wp-block-buttons { margin-top: 30px; }
.wp-block-group.aya-accueil[id] { scroll-margin-top: 70px; }

/* Raccourcis vers la FAQ */
.wp-block-group.aya-ct-raccourcis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 36px; }
.wp-block-group.aya-ct-raccourcis > * { margin: 0 !important; }
@media (max-width: 960px) { .wp-block-group.aya-ct-raccourcis { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .wp-block-group.aya-ct-raccourcis { grid-template-columns: 1fr; } }
.wp-block-group.aya-ct-rac {
	position: relative; display: flex; flex-direction: column; gap: 4px; padding: 22px; border-radius: 18px;
	background: rgba(255, 255, 255, .03); border: 1px solid var(--acc-ligne); transition: transform .25s ease, border-color .25s ease;
}
.wp-block-group.aya-ct-rac > * { margin: 0 !important; }
.wp-block-group.aya-ct-rac:hover, .wp-block-group.aya-ct-rac:focus-within { transform: translateY(-3px); border-color: var(--aya-jaune); }
.wp-block-group.aya-accueil .aya-ct-rac p.aya-ct-emo { font-size: 1.6rem; line-height: 1.2; }
.wp-block-group.aya-accueil .aya-ct-rac h3 { font-size: 1.05rem; }
.wp-block-group.aya-accueil .aya-ct-rac h3 a { text-decoration: none !important; color: inherit; }
.wp-block-group.aya-accueil .aya-ct-rac h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.editor-styles-wrapper .aya-accueil .aya-ct-rac h3 a::after { display: none; }
.wp-block-group.aya-accueil .aya-ct-rac p:not([class]) { color: var(--acc-doux); font-size: .92rem; line-height: 1.45; }
.wp-block-group.aya-accueil .aya-ct-rac p.aya-acc-fleche { margin-top: auto !important; padding-top: 10px; color: var(--aya-jaune); font-size: .9rem; }
.wp-block-group.aya-accueil p.aya-ct-liens-faq { margin-top: 22px; color: var(--acc-doux); font-size: .95rem; }
.wp-block-group.aya-accueil p.aya-ct-liens-faq a { color: #fff; }

/* À qui écrire ? */
.wp-block-group.aya-ct-annuaire { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; align-items: start; }
.wp-block-group.aya-ct-annuaire > * { margin: 0 !important; }
@media (max-width: 960px) { .wp-block-group.aya-ct-annuaire { grid-template-columns: 1fr; } }
.wp-block-group.aya-ct-pole { --c: #fff; border-radius: var(--acc-rayon); background: var(--acc-carte); border: 1px solid var(--acc-ligne); border-top: 4px solid var(--c); padding: 24px 22px 10px; }
.wp-block-group.aya-ct-pole > * { margin-top: 0 !important; }
.wp-block-group.aya-ct-pole--loto { --c: var(--acc-loto); }
.wp-block-group.aya-ct-pole--otv { --c: var(--acc-otv); }
.wp-block-group.aya-ct-pole--asso { --c: #7fd1ff; }
.wp-block-group.aya-accueil .aya-ct-pole h3 { margin-bottom: 4px; }
.wp-block-group.aya-accueil .aya-ct-pole p.aya-ct-sous { color: var(--acc-doux); font-size: .9rem; margin-bottom: 8px; }
.wp-block-group.aya-ct-ligne { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--acc-ligne); margin: 0 !important; }
.wp-block-group.aya-ct-ligne > * { margin: 0 !important; }
.wp-block-group.aya-accueil .aya-ct-ligne p:first-child { flex: 1; min-width: 0; color: var(--acc-doux); font-size: .88rem; line-height: 1.35; }
.wp-block-group.aya-accueil .aya-ct-ligne p:first-child strong { font-family: var(--aya-titres); font-size: 1rem; color: #fff; }
.wp-block-group.aya-accueil p.aya-ct-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; flex: none; max-width: 60%; }
.wp-block-group.aya-accueil p.aya-ct-actions a {
	display: inline-block; font-family: var(--aya-titres); font-weight: 800; font-size: .82rem; line-height: 1; text-decoration: none;
	padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .25); color: #fff; white-space: nowrap;
	transition: border-color .2s, color .2s, filter .2s;
}
.wp-block-group.aya-accueil p.aya-ct-actions a[href^="#motif="] { background: var(--c); border-color: transparent; color: #0a0a0a; }
.wp-block-group.aya-accueil p.aya-ct-actions a[href^="#motif="]:hover { filter: brightness(1.1); }
.wp-block-group.aya-accueil p.aya-ct-actions a:not([href^="#motif="]):hover { border-color: var(--c); color: var(--c); }
.wp-block-group.aya-accueil p.aya-ct-actions a.is-revelee { white-space: normal; word-break: break-all; text-align: right; font-family: inherit; font-weight: 500; }

/* Devenir membre */
.wp-block-group.aya-accueil p.aya-ct-gratuit { margin-top: -.2em; margin-bottom: 14px; }
.wp-block-group.aya-accueil p.aya-ct-gratuit strong {
	display: inline-block; background: #0a0a0a; color: var(--aya-jaune); font-family: var(--aya-titres); font-weight: 800;
	font-size: .85rem; padding: 6px 12px; border-radius: 999px;
}
.wp-block-group.aya-ct-etapes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 44px 0 32px; counter-reset: aya-etape; }
.wp-block-group.aya-ct-etapes > * { margin: 0 !important; }
@media (max-width: 900px) { .wp-block-group.aya-ct-etapes { grid-template-columns: 1fr; gap: 32px; } }
.wp-block-group.aya-ct-etape { position: relative; padding: 30px 26px 24px; border-radius: var(--acc-rayon); background: #fff; border: 1px solid #eadfb0; }
.wp-block-group.aya-ct-etape::before {
	counter-increment: aya-etape; content: counter(aya-etape); position: absolute; top: -18px; left: 22px; width: 40px; height: 40px;
	border-radius: 50%; display: grid; place-items: center; background: #0a0a0a; color: var(--aya-jaune); font: 900 1.15rem var(--aya-titres);
}
.wp-block-group.aya-accueil .aya-ct-etape h3 { color: #0a0a0a; margin: 4px 0 6px; }
.wp-block-group.aya-accueil .aya-ct-etape p { color: #5a5a5a; font-size: .97rem; margin: 0; }

/* Formulaire (WPForms 460, habillé) */
.wp-block-group.aya-accueil p.aya-ct-delai { margin-top: 26px; padding: 18px 20px; border-radius: 16px; border: 1px dashed rgba(255, 255, 255, .2); color: var(--acc-doux); font-size: .95rem; }
.wp-block-column.aya-ct-form { background: var(--acc-carte); border: 1px solid var(--acc-ligne); border-radius: var(--acc-rayon); padding: clamp(22px, 4vw, 36px); }
/* WPForms écrit ses propres couleurs (texte noir) sur #wpforms-460, plus fort que nos classes : d'où les !important. */
.aya-ct-form .wpforms-container {
	--wpforms-field-background-color: rgba(255, 255, 255, .04) !important;
	--wpforms-field-border-color: rgba(255, 255, 255, .18) !important;
	--wpforms-field-border-color-spare: rgba(255, 255, 255, .18) !important;
	--wpforms-field-border-radius: 12px !important;
	--wpforms-field-text-color: #ffffff !important;
	--wpforms-field-menu-color: #ffffff !important;
	--wpforms-label-color: #ffffff !important;
	--wpforms-label-sublabel-color: #c3cbd8 !important;
	--wpforms-label-error-color: #ff8a8a !important;
	--wpforms-button-background-color: #ffd200 !important;
	--wpforms-button-text-color: #0a0a0a !important;
	--wpforms-button-border-radius: 999px !important;
	--wpforms-field-size-input-height: 48px;
	margin: 0 !important;
}
/* Texte et curseur blancs dans tous les champs, y compris quand le navigateur remplit tout seul (e-mail). */
.aya-ct-form .wpforms-container :is(input:not([type=hidden]):not([type=submit]), select, textarea) { color: #fff !important; caret-color: #fff; }
.aya-ct-form .wpforms-container :is(input, textarea):-webkit-autofill {
	-webkit-text-fill-color: #fff !important; caret-color: #fff;
	-webkit-box-shadow: 0 0 0 1000px #13223a inset !important; box-shadow: 0 0 0 1000px #13223a inset !important;
	transition: background-color 9999s ease-out 0s;
}
.aya-ct-form .wpforms-container ::placeholder { color: rgba(255, 255, 255, .45); }
.aya-ct-form .wpforms-container :is(.wpforms-field-medium, .wpforms-field-row.wpforms-field-medium) { max-width: 100% !important; } /* tous les champs pleine largeur, comme le message */
/* Champ Nom : un seul libellé par case. « Nom » (le titre du champ) est masqué à l'écran mais lu par les lecteurs d'écran ;
   « Prénom » et « Nom » passent au-dessus de leur case, en blanc, avec l'astérisque. */
.aya-ct-form .wpforms-field-name legend.wpforms-field-label {
	position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important;
	overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
}
.aya-ct-form .wpforms-field-name .wpforms-field-row-block { display: flex; flex-direction: column; }
.aya-ct-form .wpforms-field-name .wpforms-field-sublabel {
	order: -1; margin: 0 0 10px !important; color: #fff !important; font-family: var(--aya-titres); font-weight: 600;
	font-size: var(--wpforms-label-size-font-size, 16px) !important; line-height: 1.3 !important;
}
.aya-ct-form .wpforms-field-name .wpforms-field-sublabel::after { content: " *"; color: var(--aya-jaune); }
.aya-ct-form .wpforms-container :is(.wpforms-field-label, .wpforms-field-sublabel) { font-family: var(--aya-titres); }
.aya-ct-form .wpforms-container .wpforms-field-label { color: #fff; font-weight: 600; }
.aya-ct-form .wpforms-container .wpforms-required-label { color: var(--aya-jaune); }
.aya-ct-form .wpforms-container :is(input:not([type=hidden]):not([type=submit]), select, textarea) {
	background-color: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px;
}
.aya-ct-form .wpforms-container select option { color: #0a0a0a; background: #fff; }
.aya-ct-form .wpforms-container :is(input, select, textarea):focus { outline: 2px solid var(--aya-jaune); outline-offset: 1px; border-color: transparent; box-shadow: none; }
.aya-ct-form .wpforms-container button[type=submit] {
	background: var(--aya-jaune) !important; color: #0a0a0a !important; border: 0 !important; border-radius: 999px !important;
	font-family: var(--aya-titres); font-weight: 800; font-size: 1rem; padding: 14px 28px !important; height: auto !important;
	box-shadow: 0 10px 30px -10px rgba(255, 210, 0, .6);
}
.aya-ct-form .wpforms-confirmation-container-full { background: rgba(61, 220, 132, .12); border-color: rgba(61, 220, 132, .5); color: #fff; border-radius: 14px; }
.aya-ct-form select.aya-ct-flash { animation: aya-ct-flash 1.2s ease-out; }
@keyframes aya-ct-flash { 0% { box-shadow: 0 0 0 0 rgba(255, 210, 0, .8); } 100% { box-shadow: 0 0 0 14px rgba(255, 210, 0, 0); } }

/* Réseaux : 4 cartes, newsletter en jaune */
.wp-block-group.aya-acc-reseaux.aya-ct-reseaux { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 960px) { .wp-block-group.aya-acc-reseaux.aya-ct-reseaux { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .wp-block-group.aya-acc-reseaux.aya-ct-reseaux { grid-template-columns: 1fr; } }
.wp-block-group.aya-acc-reseau--newsletter { --bg: #ffd200; --ico: url("icones/newsletter.svg"); }
.wp-block-group.aya-acc-reseau--newsletter::after { background: #0a0a0a; }

/* Message « Adresse copiée » */
.aya-ct-toast {
	position: fixed; left: 50%; bottom: 24px; z-index: 9999; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
	background: #fff; color: #0a0a0a; font-family: var(--aya-titres, sans-serif); font-weight: 700; font-size: .95rem;
	padding: 12px 18px; border-radius: 999px; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); transition: opacity .25s, transform .25s;
}
.aya-ct-toast.is-vu { opacity: 1; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) {
	.wp-block-group.aya-ct-rac, .aya-ct-toast { transition: none; }
	.aya-ct-form select.aya-ct-flash { animation: none; }
}
