/*
 Theme Name:   Chit Club Child Theme
 Theme URI:    http://chit-club.ancorathemes.com/
 Description:  Chit Club Child Theme
 Author:       AncoraThemes
 Author URI:   http://ancorathemes.com/
 Template:     chit-club
 Version:      1.0
 Tags:         flexible-header, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, full-width-template, microformats, post-formats, theme-options, threaded-comments, translation-ready
 Text Domain:  chit-club
*/


/* =Theme customization starts here
------------------------------------------------------------ */

/* Bande décorative multicolore tout en haut de la page, reprise de la démo
   Chit Club (6 segments égaux de 8px de haut, couleurs exactes de la démo). */
.eviajeux_bande_couleurs {
	display: flex;
	height: 8px;
}
.eviajeux_bande_couleurs span {
	flex: 1;
}
.eviajeux_bande_couleurs span:nth-child(1) { background-color: #00105a; }
.eviajeux_bande_couleurs span:nth-child(2) { background-color: #1dd5ca; }
.eviajeux_bande_couleurs span:nth-child(3) { background-color: #5725cb; }
.eviajeux_bande_couleurs span:nth-child(4) { background-color: #ffc94a; }
.eviajeux_bande_couleurs span:nth-child(5) { background-color: #f22f2f; }
.eviajeux_bande_couleurs span:nth-child(6) { background-color: #001780; }

/* En-tête moins haut : le thème met un padding de 2em au-dessus et en dessous
   du logo ; on le réduit pour que la rangée colle à la hauteur du logo. */
.top_panel_navi.sc_layouts_row_type_normal {
	padding: 0.4em 0;
}

/* En-tête sur mobile : logo ferré à gauche, menu burger à droite
   (le thème centrait les deux au milieu de la rangée). */
@media (max-width: 767px) {
	.top_panel_navi.sc_layouts_row {
		position: relative;
	}
	.top_panel_navi.sc_layouts_row .content_wrap {
		width: 100% !important;
	}
	/* Logo ferré à gauche… */
	.top_panel_navi.sc_layouts_row .columns_wrap > .sc_layouts_column:first-child {
		width: auto !important;
		float: none !important;
		padding: 0 0 0 14px !important;
		text-align: left !important;
	}
	/* …et burger épinglé à droite, hors du flux de la grille du thème. */
	.top_panel_navi.sc_layouts_row .columns_wrap > .sc_layouts_column:last-child {
		position: absolute !important;
		right: 14px;
		top: 50%;
		transform: translateY(-50%);
		width: auto !important;
		padding: 0 !important;
	}
}

/* Blocs pleine largeur réellement bord à bord : le thème laisse 8px de marge
   de chaque côté (width: calc(100vw - 16px)). Le 100vw incluant l'ascenseur
   vertical, on masque le débordement horizontal résiduel sur html. */
body.sidebar_hide .alignfull {
	margin-left: calc(-100vw / 2 + 100% / 2);
	margin-right: calc(-100vw / 2 + 100% / 2);
	width: 100vw;
	max-width: 100vw; /* le thème plafonne à 100vw - 16px → barre blanche à droite */
}
html {
	overflow-x: hidden;
}

/* Accueil : le bandeau touche l'en-tête, et le footer se rapproche du
   contenu (le thème met 7.8rem de padding au-dessus ET en dessous du
   contenu de chaque page ; on les garde sur les autres pages). */
.home .page_content_wrap {
	padding-top: 0;
	padding-bottom: 0; /* la section « Ils parlent de nous » (turquoise) touche le pied de page */
}

/* Titre « Nos partenaires » : la bande grise qui le précède fournit déjà
   l'espacement, la grande marge haute des titres du thème est de trop. */
.eviajeux-section-adhesion + h2 {
	margin-top: 0;
}

/* ------------------------------------------------------------------
   Typographie : Fredoka (titres) & Nunito Sans (texte courant),
   choisies le 25 août 2026 — polices variables auto-hébergées dans
   fonts/ (pas d'appel aux serveurs de Google, reco CNIL). Les
   sélecteurs reprennent ceux où le thème impose FivoSans.
   ------------------------------------------------------------------ */
@font-face {
	font-family: "Fredoka";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('fonts/fredoka-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Fredoka";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('fonts/fredoka-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Nunito Sans";
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url('fonts/nunito-sans-italic-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Nunito Sans";
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url('fonts/nunito-sans-italic-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Nunito Sans";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('fonts/nunito-sans-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Nunito Sans";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('fonts/nunito-sans-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------------
   Carrousel « Évènements à venir » (accueil) — cartes défilantes
   horizontalement (scroll-snap), inspiré du bloc Upcoming Events de
   la démo. Une carte = un groupe .eviajeux-carte-evenement, duplicable
   dans l'éditeur ; le lien du titre rend toute la carte cliquable.
   ------------------------------------------------------------------ */
.eviajeux-section-evenements {
	background: #5725cb;
	padding: 3.2rem max(1.6rem, calc((100% - 1200px) / 2)) 2.6rem;
	margin: 2.5rem 0 0;
}

/* Bloc jaune « Nos activités », collé sous la bande violette (comme les
   bandes de couleur qui s'enchaînent sur la démo). */
.eviajeux-section-activites {
	background: #ffc94a;
	padding: 3.2rem max(1.6rem, calc((100% - 1200px) / 2));
	margin: 0;
}

/* Boutons des sections (Rejoindre, fiches évènements) : rappel du bouton du
   bandeau (bleu nuit, blanc), arrondi marqué mais moins que la pilule. */
.eviajeux-fiche-evenement .wp-block-button__link,
.eviajeux-section-adhesion .wp-block-button__link {
	background-color: #001780 !important;
	color: #ffffff !important;
	border-radius: 18px;
	transition: background-color 0.2s ease;
}
.eviajeux-fiche-evenement .wp-block-button__link:hover,
.eviajeux-fiche-evenement .wp-block-button__link:focus,
.eviajeux-section-adhesion .wp-block-button__link:hover,
.eviajeux-section-adhesion .wp-block-button__link:focus {
	background-color: #0a2ac0 !important;
	color: #ffffff !important;
}

/* Bouton inactif sur une fiche évènement (ex. « M'inscrire » avant
   l'ouverture des inscriptions) : gris, sans lien ni survol ; la note en
   dessous précise quand il s'activera. */
.eviajeux-fiche-evenement .wp-block-button.eviajeux-bouton-inactif .wp-block-button__link,
.eviajeux-fiche-evenement .wp-block-button.eviajeux-bouton-inactif .wp-block-button__link:hover,
.eviajeux-fiche-evenement .wp-block-button.eviajeux-bouton-inactif .wp-block-button__link:focus {
	background-color: #c9cbd6 !important;
	color: #5f6378 !important;
	cursor: not-allowed;
	pointer-events: none;
	box-shadow: none;
}
.eviajeux-fiche-evenement .wp-block-buttons.eviajeux-boutons-centres {
	justify-content: center;
}
/* Bouton au milieu du texte d'une fiche : même espace au-dessus et en
   dessous. Les paragraphes du thème n'ont qu'une marge basse (1.76em) et le
   bloc bouton aucune : on lui donne la même marge basse, sauf s'il est suivi
   de sa note (« Ouverture des inscriptions… ») ou s'il termine le texte. */
.eviajeux-fiche-evenement .wp-block-buttons:not(:last-child):not(:has(+ .eviajeux-note-bouton)) {
	margin-bottom: 1.76em;
}
/* Groupe conditionnel (eviajeux-avant-fin / eviajeux-apres-fin) autour d'un
   bouton : même espacement que le bouton seul. */
.eviajeux-fiche-evenement .wp-block-group.eviajeux-avant-fin:not(:last-child),
.eviajeux-fiche-evenement .wp-block-group.eviajeux-apres-fin:not(:last-child) {
	margin-bottom: 1.76em;
}
.eviajeux-fiche-evenement .eviajeux-note-bouton {
	font-size: 0.9rem;
	font-style: italic;
	color: #5f6378;
	text-align: center;
	margin-top: 0.6rem;
}

/* Bande grise « 🤝 Rejoindre l'association », dans la continuité des bandes
   violette et jaune (gris clair légèrement bleuté, accordé à la palette). */
.eviajeux-section-adhesion {
	background: #f2f3f8;
	padding: 3.2rem max(1.6rem, calc((100% - 1200px) / 2));
	margin: 0 0 2.5rem;
}
.eviajeux-section-adhesion h2 {
	margin: 0 0 1.2rem;
}
/* Bloc de texte centré dans la bande, contenu aligné à gauche : paragraphe
   et liste partagent la même largeur maximale, centrée. */
.eviajeux-section-adhesion .wp-block-group__inner-container > p,
.eviajeux-section-adhesion .wp-block-group__inner-container > ul {
	max-width: 44rem;
	margin-left: auto;
	margin-right: auto;
}
.eviajeux-section-activites h2 {
	color: #00105a;
	margin: 0 0 1.2rem;
}
.eviajeux-section-activites .wp-block-media-text__content {
	color: #1c1c38;
}
.eviajeux-section-activites ul {
	margin: 0;
}
/* Icônes des réseaux sociaux dans l'en-tête (à droite du menu),
   aux couleurs officielles des plateformes pour ressortir sur le blanc. */
.eviajeux_header_socials .socials_wrap {
	margin: 0;
	vertical-align: middle;
}
.eviajeux_header_socials .social_item {
	margin: 0 0 0 0.5em;
	font-size: 1.25em;
}
/* Glyphe agrandi au centre de la pastille (la pastille, elle, ne bouge pas ;
   le centrage vertical vient de la hauteur de ligne héritée de la pastille). */
.eviajeux_header_socials .social_icon [class^="icon-"] {
	font-size: 1.3em;
}
/* Glyphes aux couleurs officielles, pastille grise du thème conservée.
   Le dégradé Instagram est posé sur l'élément intérieur pour ne pas
   rogner la pastille (background-clip: text rogne tous les fonds). */
.eviajeux_header_socials .social_icon_facebook .icon-facebook,
.eviajeux_header_socials .social_icon_facebook .icon-facebook::before {
	color: #1877f2 !important;
}
.eviajeux_header_socials .social_icon_instagramm .icon-instagramm,
.eviajeux_header_socials .social_icon_instagramm .icon-instagramm::before {
	color: #d6249f !important;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
	.eviajeux_header_socials .social_icon_instagramm .icon-instagramm {
		background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
		-webkit-background-clip: text;
		background-clip: text;
	}
	.eviajeux_header_socials .social_icon_instagramm .icon-instagramm,
	.eviajeux_header_socials .social_icon_instagramm .icon-instagramm::before {
		color: transparent !important;
	}
}
.eviajeux_header_socials .social_item:hover {
	opacity: 0.75;
}

/* Bouton « Adhérer » : pilule bleu nuit assortie aux boutons du site
   (Fredoka, arrondi 99px) — dans l'en-tête desktop et le menu mobile. */
.eviajeux_bouton_adherer {
	display: inline-block;
	background: #001780;
	color: #ffffff !important; /* le thème force sinon un gris foncé illisible */
	font-family: "Fredoka", "Segoe UI", sans-serif;
	font-weight: 600;
	font-size: 0.95em;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 0.85em 1.6em;
	border-radius: 99px;
	transition: background-color 0.2s ease;
}
.eviajeux_bouton_adherer:hover,
.eviajeux_bouton_adherer:focus {
	background: #0a2ac0;
	color: #ffffff !important;
}
/* Variante du panneau mobile (fond sombre) : pilule jaune, texte bleu nuit. */
.menu_mobile .eviajeux_menu_mobile_adherer {
	text-align: center;
	margin-top: 2em;
}
.eviajeux_bouton_adherer_mobile {
	background: #ffc94a;
	color: #00105a !important;
	font-size: 1.1em;
}
.eviajeux_bouton_adherer_mobile:hover,
.eviajeux_bouton_adherer_mobile:focus {
	background: #ffd46e;
	color: #00105a !important;
}

/* Bouton « remonter en haut de page » en cercle, pour rester dans la
   famille des arrondis du site. */
.trx_addons_scroll_to_top {
	border-radius: 50%;
}

/* Le thème donne une grande marge haute aux titres : inutile en tête du
   contenu d'un bloc Média & texte (le centrage vertical s'en charge). */
.home .wp-block-media-text .wp-block-media-text__content > :first-child {
	margin-top: 0;
}

/* Bandeau sur mobile : le thème rapetisse les h1 plus que la devise
   (taille fixe « x-large ») — on rétablit la hiérarchie. */
@media (max-width: 767px) {
	.home .wp-block-cover h1 {
		font-size: 2.6rem;
	}
	.home .wp-block-cover .has-x-large-font-size {
		font-size: 1.35rem !important; /* la classe de taille de l'éditeur est en !important */
	}
}

/* Sur mobile (empilement des blocs Média & texte) : l'image du bloc
   « Bienvenue ! » disparaît, celle du bloc jaune passe sous le texte. */
@media (max-width: 600px) {
	.home .wp-block-media-text:not(.eviajeux-bloc-jaune) .wp-block-media-text__media {
		display: none;
	}
	.eviajeux-bloc-jaune.is-stacked-on-mobile {
		row-gap: 1.4rem; /* espace entre l'image et le titre « Le concept » une fois empilés */
	}
	.eviajeux-bloc-jaune.is-stacked-on-mobile .wp-block-media-text__media {
		grid-row: 2;
		margin-top: 1.2rem;
	}
	.eviajeux-bloc-jaune.is-stacked-on-mobile .wp-block-media-text__content {
		grid-row: 1;
	}
}

/* Coins arrondis sur les images des blocs Média & texte de l'accueil
   (bloc jaune et bloc « Bienvenue ! »). */
.home .wp-block-media-text .wp-block-media-text__media img {
	border-radius: 12px;
}

/* Bloc jaune : partage 60/40 (texte/image) pour laisser respirer le texte,
   image aux ¾ de sa colonne (taille visuelle inchangée), centrée. */
.eviajeux-bloc-jaune.wp-block-media-text {
	grid-template-columns: auto 40%;
}
.eviajeux-bloc-jaune .wp-block-media-text__media img {
	width: 75%;
	display: block;
	margin: 0 auto;
}
.eviajeux-section-evenements h2 {
	color: #ffffff;
	margin: 0 0 1.6rem;
}
/* Sections « à venir » sans évènement programmé : une phrase d'attente
   remplace le carrousel (accueil) ou la grille (page Évènements). */
.eviajeux-a-venir-vide {
	text-align: center;
	margin: 0.5rem 0 1rem;
}
.eviajeux-section-evenements .eviajeux-a-venir-vide {
	color: #ffffff;
	font-size: 1.1rem;
	margin: 0;
}
/* Le thème enveloppe chaque groupe dans un .wp-block-group__inner-container :
   c'est lui qui contient les cartes, donc c'est lui le conteneur flex. */
.eviajeux-carrousel > .wp-block-group__inner-container {
	display: flex;
	gap: 1.6rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 0.25rem 0.25rem 1.2rem;
	-webkit-overflow-scrolling: touch;
}
/* Bande de titre des pages intérieures : la photo du bandeau de l'accueil,
   avec le même voile sombre (20 %), titre blanc et fil d'Ariane contrasté. */
body:not(.home) .top_panel_title {
	position: relative;
	background-image: url('https://eviajeux.fr/wp-content/uploads/2026/08/fond-jeu-de-societe.jpg');
	background-size: cover;
	background-position: center;
}
body:not(.home) .top_panel_title::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.2);
}
body:not(.home) .top_panel_title .content_wrap {
	position: relative;
}
body:not(.home) .top_panel_title .sc_layouts_title_caption {
	color: #ffffff;
}
body:not(.home) .top_panel_title .breadcrumbs,
body:not(.home) .top_panel_title .breadcrumbs_item.current {
	color: rgba(255, 255, 255, 0.9);
}
body:not(.home) .top_panel_title .breadcrumbs a {
	color: rgba(255, 255, 255, 0.9) !important; /* même couleur que le texte courant */
	text-decoration: underline;
	text-underline-offset: 3px;
}
body:not(.home) .top_panel_title .breadcrumbs a:hover {
	color: #ffc94a !important;
}

/* ------------------------------------------------------------------
   Page Contact : image à gauche, formulaire à droite.
   ------------------------------------------------------------------ */
.eviajeux-contact {
	gap: 2.5rem;
}
.eviajeux-contact .contact-photo {
	margin: 0;
	height: 100%;
}
.eviajeux-contact .contact-photo img {
	border-radius: 12px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.eviajeux-contact .wpcf7 form > p,
.eviajeux-contact .wpcf7 form > div {
	margin: 0 0 1rem; /* espacement unique entre les lignes du formulaire */
}
/* CF7 sème des <br> (entre étiquette et champ, après les champs) : nos
   champs sont des blocs, ces <br> ne créent que des lignes vides. */
.eviajeux-contact .wpcf7 form br {
	display: none;
}
.eviajeux-contact .wpcf7 label {
	display: block;
	font-weight: 700;
	font-size: 0.95rem;
	color: #10123c;
	margin: 0;
}
.eviajeux-form-envoyer {
	text-align: center;
}
.eviajeux-contact .wpcf7 input[type="text"],
.eviajeux-contact .wpcf7 input[type="email"],
.eviajeux-contact .wpcf7 select,
.eviajeux-contact .wpcf7 textarea {
	display: block;
	width: 100%;
	margin-top: 0.4rem;
	padding: 0.7em 1em;
	border: 1px solid #d9dcec;
	border-radius: 10px;
	background: #ffffff;
	font-family: "Nunito Sans", "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	color: #10123c;
}
.eviajeux-contact .wpcf7 input:focus,
.eviajeux-contact .wpcf7 select:focus,
.eviajeux-contact .wpcf7 textarea:focus {
	outline: none;
	border-color: #001780;
	box-shadow: 0 0 0 3px rgba(0, 23, 128, 0.12);
}
.eviajeux-contact .wpcf7 textarea {
	min-height: 160px;
	resize: vertical;
}
/* CF7 enveloppe les deux étiquettes dans un <p> avec des <br> : c'est lui
   qu'on passe en flex, et on neutralise les <br> parasites. */
.eviajeux-form-ligne,
.eviajeux-form-ligne > p {
	display: flex;
	gap: 1rem;
	margin: 0;
}
.eviajeux-form-ligne .eviajeux-form-moitie {
	flex: 1;
}
.eviajeux-form-ligne > p > br {
	display: none;
}
@media (max-width: 600px) {
	.eviajeux-form-ligne,
	.eviajeux-form-ligne > p {
		flex-direction: column;
		gap: 0;
	}
}
/* Bouton Envoyer : pilule noire (cousin sombre du bouton Adhérer). */
.eviajeux-contact .wpcf7 input[type="submit"] {
	background: #12101c !important;
	color: #ffffff !important;
	font-family: "Fredoka", "Segoe UI", sans-serif;
	font-weight: 600;
	border: none;
	border-radius: 99px;
	padding: 0.9em 2.2em;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.eviajeux-contact .wpcf7 input[type="submit"]:hover,
.eviajeux-contact .wpcf7 input[type="submit"]:focus {
	background: #001780 !important;
}
/* Après envoi réussi : le formulaire s'efface au profit du message. */
.eviajeux-contact form.eviajeux-envoye > *:not(.wpcf7-response-output) {
	display: none;
}
.eviajeux-contact .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 1em 1.2em;
	border-radius: 10px;
	border: 1px solid #d9dcec;
}
.eviajeux-contact form.sent .wpcf7-response-output {
	border-color: #1a7f37;
	background: #e9f7ee;
	color: #14532d;
}
.eviajeux-contact form.failed .wpcf7-response-output,
.eviajeux-contact form.aborted .wpcf7-response-output {
	border-color: #c62828;
	background: #fdecea;
	color: #7f1d1d;
}

/* Widgets HelloAsso (adhésion, billetteries) : le widget n'annonce pas sa
   hauteur à la page (constaté par de nombreux intégrateurs, sans réponse de
   HelloAsso) et une iframe d'un autre domaine ne se mesure pas. On lui donne
   donc d'emblée la hauteur de son étape la plus longue, pour qu'il n'ait
   jamais à défiler à l'intérieur ; scrolling="auto" reste en filet de
   sécurité si une étape dépassait. Le pied de page descend d'autant. */
#haWidget {
	display: block;
	width: 100%;
	border: none;
	height: 1500px;
}
.page-id-4204 #haWidget { /* formulaire d'adhésion : plus long (bienfaiteur, mineur·es, cases à cocher) */
	height: 1700px;
}
@media (max-width: 600px) {
	#haWidget {
		height: 1900px;
	}
	.page-id-4204 #haWidget {
		height: 2200px;
	}
}

/* Fiche évènement : image arrondie, contenu calé en haut de colonne. */
.eviajeux-fiche-evenement .wp-block-media-text__media img {
	border-radius: 12px;
}
.eviajeux-fiche-evenement .wp-block-media-text__content > :first-child {
	margin-top: 0;
}
/* Sur mobile, l'image passe au-dessus du texte : on rétablit un espace
   sous la photo (sinon les badges, en tête du texte, lui sont collés) et on
   retire les marges latérales de 8 % du bloc, pour que le texte s'aligne
   sur les bords de l'image au lieu d'être resserré sur ~235 px. */
@media (max-width: 600px) {
	.eviajeux-fiche-evenement.is-stacked-on-mobile .wp-block-media-text__content {
		padding: 1.25rem 0 0;
	}
	/* Badges à la taille des tuiles : deux badges tiennent sur une ligne
	   dans la colonne de texte d'un téléphone (≈ 275 px utiles). */
	.eviajeux-fiche-evenement .eviajeux-badges p.eviajeux-badge {
		font-size: 0.78rem;
		padding: 0.45em 0.8em;
	}
}

/* Page Évènements : mêmes tuiles que l'accueil, en grille qui passe à la
   ligne (pas de défilement horizontal sur une page de liste). */
.eviajeux-grille-evenements > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	justify-content: center;
	padding: 0.25rem;
}

/* Titres de section de la page Évènements : h2 discrets et centrés. */
h2.eviajeux-titre-section {
	font-size: 1.6rem;
	margin: 1.5rem 0 1.75rem;
}
/* Trait de séparation centré (le thème force ses marges en !important). */
hr.wp-block-separator {
	margin: 3em auto !important;
}

/* Évènements passés : tuiles atténuées, photos en noir et blanc — la
   couleur revient au survol. */
.eviajeux-grille-passes .eviajeux-carte-evenement {
	opacity: 0.8;
}
.eviajeux-grille-passes .eviajeux-carte-evenement .carte-photo img {
	filter: grayscale(1);
	transition: filter 0.3s ease;
}
.eviajeux-grille-passes .eviajeux-carte-evenement:hover {
	opacity: 1;
}
.eviajeux-grille-passes .eviajeux-carte-evenement:hover .carte-photo img {
	filter: grayscale(0);
}
.eviajeux-grille-passes .eviajeux-carte-evenement .carte-contenu p.carte-date {
	background: #d5d7e2;
	color: #3a3e5c;
}

/* Cartes centrées quand elles tiennent dans la largeur, sans casser le
   défilement quand elles débordent (marges auto aux extrémités). */
.eviajeux-carrousel .eviajeux-carte-evenement:first-child {
	margin-left: auto;
}
.eviajeux-carrousel .eviajeux-carte-evenement:last-child {
	margin-right: auto;
}
.eviajeux-carte-evenement {
	position: relative;
	flex: 0 0 min(340px, 82vw);
	scroll-snap-align: start;
	background: #ffffff;
	border: 1px solid #e4e6f2;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(10, 14, 60, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.eviajeux-carte-evenement:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(10, 14, 60, 0.14);
}
.eviajeux-carte-evenement .carte-photo {
	margin: 0;
}
.eviajeux-carte-evenement .carte-photo img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
}
.eviajeux-carte-evenement .carte-contenu {
	padding: 1.15rem 1.3rem 1.5rem;
}
.eviajeux-carte-evenement .carte-contenu p {
	margin: 0;
}
.eviajeux-carte-evenement .carte-contenu p.carte-date {
	display: inline-block;
	background: #ffc94a;
	color: #00105a;
	font-family: "Fredoka", "Segoe UI", sans-serif;
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	padding: 0.25em 0.95em;
	border-radius: 99px;
	margin: 0 0 1.2rem;
}
.eviajeux-carte-evenement .carte-titre {
	margin: 0 0 0.35rem;
	font-size: 1.35rem;
}
.eviajeux-carte-evenement .carte-titre a {
	text-decoration: none;
	color: #10123c;
}
.eviajeux-carte-evenement .carte-titre a:hover {
	color: #001780;
}
.eviajeux-carte-evenement .carte-titre a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.eviajeux-carte-evenement .carte-meta {
	color: #5a5f83;
	font-size: 0.92rem;
}

/* Badges des évènements : pratiques du jour (🎲 société, ⚔️ figurines,
   🐉 jeu de rôle — couleurs de la bande, en teintes pastel) et accès
   (🔒 membres, 📝 inscription, ✨ ouvert — gris neutre). Un groupe
   `eviajeux-badges` contient un paragraphe `eviajeux-badge` par badge ;
   il se place sous la ligne horaire des tuiles et en tête des fiches. */
.eviajeux-badges > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}
/* Dimensionné pour que deux badges (ex. « Jeux de figurines » +
   « Réservé aux membres ») tiennent sur une ligne dans une tuile de 340px. */
.eviajeux-badges p.eviajeux-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
	margin: 0;
	padding: 0.42em 0.65em;
	border-radius: 99px;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	background: #f2f3f8;
	color: #4a4f70;
}
.eviajeux-badges p.eviajeux-badge-societe {
	background: #d3f7f4;
	color: #0b6f69;
}
.eviajeux-badges p.eviajeux-badge-figurines {
	background: #fde1e1;
	color: #b3191c;
}
.eviajeux-badges p.eviajeux-badge-jdr {
	background: #e9def9;
	color: #4a1fb0;
}
.eviajeux-carte-evenement .eviajeux-badges {
	margin-top: 0.75rem;
}
.eviajeux-fiche-evenement .eviajeux-badges {
	margin-bottom: 0.9rem;
}
.eviajeux-fiche-evenement .eviajeux-badges p.eviajeux-badge {
	font-size: 0.86rem;
	padding: 0.5em 1em;
}
/* Évènements passés : badges grisés comme la pastille de date. */
.eviajeux-grille-passes .eviajeux-badges p.eviajeux-badge {
	background: #eceef5;
	color: #4a4f70;
}

/* Section « 📰 Ils parlent de nous » (bas de l'accueil) : fond turquoise
   pâle (teinte de la bande), cartes presse horizontales — logo du journal à
   gauche, surtitre (journal) / titre / signature (date · auteur·rice) à
   droite — toute la carte cliquable vers l'article, ouvert dans un nouvel
   onglet. Sur mobile, le logo passe au-dessus du texte. */
.eviajeux-section-presse {
	background: #e0f7f5;
	padding: 3.2rem max(1.6rem, calc((100% - 1200px) / 2));
	margin: 2.5rem 0 0;
}
.eviajeux-section-presse h2 {
	margin: 0 0 1.6rem;
}
.eviajeux-presse > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	justify-content: center;
}
.eviajeux-carte-presse {
	position: relative;
	flex: 0 1 560px;
	display: flex; /* la rangée intérieure remplit la carte, même étirée à la hauteur de sa voisine */
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e4e6f2;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(10, 14, 60, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.eviajeux-carte-presse:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(10, 14, 60, 0.14);
}
.eviajeux-carte-presse > .wp-block-group__inner-container {
	flex: 1;
	display: flex;
	align-items: stretch;
}
.eviajeux-carte-presse .presse-logo {
	flex: 0 0 170px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 1.2rem;
	border-right: 1px solid #eef0f6;
}
.eviajeux-carte-presse .presse-logo img {
	width: 100%;
	max-height: 70px;
	object-fit: contain;
	display: block;
}
/* Pas de hauteur en pourcentage ici : la colonne de texte donne sa hauteur
   à la carte, et son contenu est centré verticalement par le flex. */
.eviajeux-carte-presse .presse-texte {
	flex: 1;
	display: flex;
}
.eviajeux-carte-presse .presse-texte > .wp-block-group__inner-container {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.2rem 1.4rem;
}
.eviajeux-carte-presse .presse-texte p {
	margin: 0;
}
.eviajeux-carte-presse p.presse-journal {
	margin-bottom: 0.4rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #5a5f83;
}
.eviajeux-carte-presse .presse-titre {
	margin: 0 0 0.5rem;
	font-size: 1.22rem;
	line-height: 1.3;
}
.eviajeux-carte-presse .presse-titre a {
	color: #10123c;
	text-decoration: none;
}
.eviajeux-carte-presse .presse-titre a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.eviajeux-carte-presse p.presse-signature {
	font-size: 0.88rem;
	color: #5a5f83;
}
.eviajeux-carte-presse p.presse-lire {
	margin-top: 0.6rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: #001780;
}
@media (max-width: 600px) {
	.eviajeux-carte-presse > .wp-block-group__inner-container {
		flex-direction: column;
	}
	.eviajeux-carte-presse .presse-logo {
		flex: 0 0 auto;
		padding: 1.2rem 1.2rem 0.4rem;
		border-right: 0;
	}
	.eviajeux-carte-presse .presse-logo img {
		max-width: 220px;
		max-height: 56px;
		margin: 0 auto;
	}
	.eviajeux-carte-presse .presse-texte > .wp-block-group__inner-container {
		padding: 0.4rem 1.2rem 1.2rem;
	}
}

/* Variante « encart » de la section presse, sous une fiche évènement
   (« 📰 Ils en ont parlé ») : même fond et mêmes cartes, mais dans un cadre
   arrondi à la largeur du contenu plutôt qu'en bande pleine largeur. */
.eviajeux-presse-encart.eviajeux-section-presse {
	margin: 3rem 0 0;
	padding: 2rem 1.6rem 2.2rem;
	border-radius: 16px;
}
.eviajeux-presse-encart h2.eviajeux-titre-section {
	margin: 0 0 1.4rem;
}
/* Dans l'encart (largeur du contenu), deux cartes côte à côte : elles
   partagent la largeur au lieu de garder 560 px chacune. */
.eviajeux-presse-encart .eviajeux-carte-presse {
	flex: 1 1 420px;
}

/* Carrousel des logos partenaires : bande de logos centrée, défilement
   horizontal (l'avance automatique est gérée par js/eviajeux.js). */
.eviajeux-carrousel-logos > .wp-block-group__inner-container {
	display: flex;
	align-items: center;
	gap: 3.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 1rem 0.25rem;
}
.eviajeux-carrousel-logos .wp-block-image {
	flex: 0 0 auto;
	margin: 0;
	scroll-snap-align: start;
}
.eviajeux-carrousel-logos .wp-block-image:first-child {
	margin-left: auto;
}
.eviajeux-carrousel-logos .wp-block-image:last-child {
	margin-right: auto;
}
.eviajeux-carrousel-logos img {
	height: 120px;
	width: auto;
	display: block;
}
/* Logo JouéClub (format très panoramique) : moitié de hauteur pour une
   largeur comparable aux autres logos. */
.eviajeux-carrousel-logos img.wp-image-4236 {
	height: 60px;
}
/* Logo CadoJeux (panoramique lui aussi, lettres fines) : hauteur réduite. */
.eviajeux-carrousel-logos img.wp-image-4245 {
	height: 75px;
}
/* Légende facultative sous un logo (ex. « Thonon et Évian » sous Jeux, rêves
   et jouets, à la demande de la boutique) : saisie comme légende du bloc Image,
   positionnée hors du flux pour que les logos restent alignés entre eux ; le
   carrousel réserve la place en dessous dès qu'une légende existe. */
.eviajeux-carrousel-logos > .wp-block-group__inner-container:has(figcaption) {
	padding-bottom: 2.6rem;
}
.eviajeux-carrousel-logos .wp-block-image {
	position: relative;
	overflow: visible; /* le thème parent met overflow:hidden sur toute figure, ce qui couperait la légende */
}
/* Le thème parent impose aux légendes padding 10px !important, majuscules,
   gras et pleine largeur : tout est remis à plat ici. */
.eviajeux-carrousel-logos .wp-block-image > figcaption.wp-element-caption {
	position: absolute;
	top: 100%;
	left: 50%;
	width: auto;
	transform: translateX(-50%);
	margin: 0.4rem 0 0;
	padding: 0 !important;
	white-space: nowrap;
	font-family: "Nunito Sans", "Segoe UI", sans-serif;
	font-size: 0.85rem;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #555;
	text-align: center;
}

/* Texte courant, menus, éléments d'interface. */
body,
.mejs-container *,
.search_wrap .search_results .post_meta_item,
.menu_main_nav_area > ul, .sc_layouts_menu_nav, .sc_layouts_menu_dir_vertical .sc_layouts_menu_nav,
.menu_main_nav > li > ul, .sc_layouts_menu_nav > li > ul, .sc_layouts_menu_popup .sc_layouts_menu_nav,
.menu_mobile .menu_mobile_nav_area > ul,
.menu_mobile .menu_mobile_nav_area > ul > li ul {
	font-family: "Nunito Sans", "Segoe UI", sans-serif;
}

/* Titres, boutons, logo texte et éléments d'accent. */
h1, .front_page_section_caption,
h2, h3, h4, h5, h6,
form button:not(.components-button), input[type="button"], input[type="reset"], input[type="submit"],
.theme_button, .sc_layouts_row .sc_button, .gallery_preview_show .post_readmore, .wp-block-button__link,
.post_item .more-link, .mptt-navigation-tabs li a, .chit_club_tabs .chit_club_tabs_titles li a,
blockquote, mark, ins, .logo_text, .post_price.price, .theme_scroll_down,
.logo_footer_text,
.sc_item_subtitle, .sc_icons_item_title, .sc_price_item_title,
.sc_button, .sc_button_simple, .sc_form button {
	font-family: "Fredoka", "Segoe UI", sans-serif;
}

/* … mais on garde une respiration entre le bandeau et la section suivante. */
.home .wp-block-cover.alignfull {
	margin-bottom: 4rem;
}

/* Section « Média et texte » de bienvenue : colonne image fixée à 338px
   (60 % de la largeur naturelle du fichier, soit 40 % de hauteur en moins —
   le texte est court) ; le bloc jaune, lui, garde le 50/50 par défaut. */
.home .wp-block-media-text:not(.eviajeux-bloc-jaune) {
	grid-template-columns: 338px auto;
}
@media (max-width: 1023px) {
	.home .wp-block-media-text:not(.eviajeux-bloc-jaune) {
		grid-template-columns: 50% auto;
	}
}