/* Menu et footer communs ; les règles de contenu restent limitées aux accueils. */
body.jokoani-saison .header-logo-container .saison-logo path,
body.jokoani-saison .header-logo-container .logo path { fill: var(--jokoani-logo-color); }
body.jokoani-saison header .pupil { background: var(--jokoani-logo-color); }
body.jokoani-saison footer .logo path,
body.jokoani-saison footer .logo_pin path:not(#Soustraction_1) { fill: var(--jokoani-footer-logo, var(--jokoani-logo-color)); }
body.jokoani-saison .header-logo-container .logo-sticky { display: none; }
body.jokoani-saison .header-logo-container .logo-full { height: auto; }
body.jokoani-saison header.sticky .logo-full { display: none; }
body.jokoani-saison header.sticky .logo-sticky { display: block; }
/* Seul le fond est découpé : les contenus personnalisés restent lisibles. */
body.jokoani-saison .badge_infos { max-width: 100%; }
body.jokoani-saison .saison-badge-content {
  min-width: 0; max-width: 100%; min-height: 250px; aspect-ratio: auto;
  padding: 30px 25px 40px; overflow: visible; overflow-wrap: anywhere;
  mask-image: none; -webkit-mask-image: none; isolation: isolate;
}
body.jokoani-saison .saison-badge-background {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-size: cover; background-position: center; background-repeat: no-repeat;
  mask: url('../images/masque-badge-infos.svg') center / 100% 100% no-repeat;
  -webkit-mask: url('../images/masque-badge-infos.svg') center / 100% 100% no-repeat;
}
body.jokoani-saison:not(.saison-neutre) .badge_infos.image .saison-badge-background { background-blend-mode: multiply; background-color: #0007; }
body.jokoani-saison .saison-badge-link { display: inline-flex; align-items: center; gap: 5px; color: inherit; text-decoration: underline; }
body.jokoani-saison .badge_infos_mobile { flex-wrap: wrap; }
/* Cibler aussi le <button> de Gravity Forms 3, avec priorité sur son thème Orbital. */
body.jokoani-saison .block-newsletter .newsletter-form { max-width: 100%; }
body.jokoani-saison .block-newsletter .newsletter-form .gform_wrapper { width: 100%; }
body.jokoani-saison .block-newsletter .newsletter-form form { width: 100%; gap: 10px; }
body.jokoani-saison .block-newsletter .newsletter-form .gform-body { flex: 1; min-width: 0; }
body.jokoani-saison .block-newsletter .newsletter-form .gform-footer { flex: 0 0 60px; margin: 0; padding: 0; align-items: center; }
body.jokoani-saison .block-newsletter .newsletter-form .gform_wrapper .gform-footer :is(button, input).gform_button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 60px; min-width: 60px; height: 60px; min-height: 60px;
  position: static; margin: 0; padding: 0; border: 0; border-radius: 50%;
  background: transparent; box-shadow: none; color: inherit;
}
body.jokoani-saison .block-newsletter .newsletter-form .gform-footer .gform_button img { display: block; width: 60px; height: 60px; object-fit: contain; }
body.jokoani-saison .block-newsletter .newsletter-form .gform_wrapper .gform-footer :is(button, input).gform_button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
/* Formats photo différents : conserver un pied de slider commun, sans recadrer. */
body.jokoani-saison .home-banner-slider .slick-track,
body.jokoani-saison .espace-banner-slider .slick-track { display: flex; align-items: flex-end; }
body.jokoani-saison .home-banner-slider .slick-slide,
body.jokoani-saison .espace-banner-slider .slick-slide { height: auto; flex-shrink: 0; }
body.jokoani-saison .home-banner-slider .slick-slide > div,
body.jokoani-saison .espace-banner-slider .slick-slide > div { display: flex; }
body.jokoani-saison .home-banner-slider .cloud-shape,
body.jokoani-saison .espace-banner-slider .cloud-shape { display: block; }
/* Même pagination sur les deux bannières, y compris pour le thème Neutre. */
body.jokoani-saison :is(.home-banner-slider, .espace-banner-slider) .slick-dots button:before {
  color: #fff; opacity: 1; font-size: 10px;
}
body.jokoani-saison :is(.home-banner-slider, .espace-banner-slider) .slick-dots .slick-active button:before {
  color: #86c9cf;
}

body.jokoani-saison.saison-contenu:not(.saison-neutre) {
  background-color: #fdfbf4;
  color: #004291;
}
body.jokoani-saison.saison-contenu:not(.saison-neutre) main { padding-top: 0; }
body.jokoani-saison .top-header { background-color: var(--saison-primary) !important; }
body.jokoani-saison .top-header a { color: #fff; }
body.jokoani-saison .top-header svg path { fill: var(--saison-primary); }
body.jokoani-saison:not(.saison-neutre) .home-banner,
body.jokoani-saison:not(.saison-neutre) .espace-banner { background-color: var(--saison-hero); padding-top: 6vh; padding-bottom: 0; }
/* Garder la marge des accès rapides à l'intérieur du fond de la bannière. */
body.jokoani-saison:not(.saison-neutre) .espace-banner { display: flow-root; }
body.jokoani-saison.saison-contenu:not(.saison-neutre) main .btn-green { background-color: var(--saison-primary); }
body.jokoani-saison.saison-contenu:not(.saison-neutre) main .btn-green:hover { background-color: var(--saison-accent); }
body.jokoani-saison:not(.saison-neutre) .home-activites { background-color: var(--saison-activity); }
body.jokoani-saison:not(.saison-neutre) .home-acces-slider { margin-top: 5vh; }
body.jokoani-saison:not(.saison-neutre) .block-newsletter { background-color: var(--saison-hero); color: var(--saison-ink); }
body.jokoani-saison:not(.saison-neutre) footer { background-color: var(--saison-hero); color: var(--saison-ink); }
body.jokoani-saison:not(.saison-neutre) .header-menu-container .navbar .nav-link { color: var(--saison-primary); }
body.jokoani-saison:not(.saison-neutre) .saison-mascotte-activites { max-height: 500px; max-width: 100%; object-fit: contain; margin: -70px 0 -10px; }

/* Couleurs par rôle : le bleu de lecture ne devient jamais la couleur du pack. */
body.jokoani-saison:not(.saison-neutre) :is(.home-valeurs, .espace-introduction, .home-jokoaniversaire) h2 { color: var(--saison-primary); }
body.jokoani-saison:not(.saison-neutre) :is(.home-banner .item-espace, .home-acces-slider .item-acces, .home-valeurs, .espace-introduction) { color: #004291; }
body.jokoani-saison:not(.saison-neutre) :is(.home-banner .item-espace, .home-valeurs, .espace-introduction) a:not([class*="btn-"]) { color: #004291; }
body.jokoani-saison.saison-contenu:not(.saison-neutre) main .btn-blue,
body.jokoani-saison:not(.saison-neutre) footer .btn-blue { background-color: var(--saison-primary); }
body.jokoani-saison.saison-contenu:not(.saison-neutre) main .btn-blue:hover,
body.jokoani-saison:not(.saison-neutre) footer .btn-blue:hover { background-color: var(--saison-accent); }
body.jokoani-saison:not(.saison-neutre) footer .btn-blue svg path[fill="#004291"] { fill: var(--saison-primary); }
body.jokoani-saison:not(.saison-neutre) footer .btn-blue:hover svg path[fill="#004291"] { fill: var(--saison-accent); }
body.jokoani-saison.saison-contenu:not(.saison-neutre) main :is(.btn-blue, .btn-green) svg path[fill="#004291"] { fill: var(--saison-primary); }
body.jokoani-saison.saison-contenu:not(.saison-neutre) main :is(.btn-blue, .btn-green):hover svg path[fill="#004291"] { fill: var(--saison-accent); }
/* Couleurs des actions du menu, corrigées lors de la recette Halloween. */
body.jokoani-saison:not(.saison-neutre) .header-menu-container .navbar li.btn-menu-orange .nav-link { background-color: #de2625; }
body.jokoani-saison.saison-halloween .header-menu-container .navbar li.btn-menu-orange .nav-link { background-color: #ee6f15; }
body.jokoani-saison:not(.saison-neutre) .header-menu-container .navbar li.btn-menu-green .nav-link { background-color: #75b782; }
body.jokoani-saison:not(.saison-neutre) .header-menu-container .navbar li.btn-menu-blue .nav-link { background-color: #004291; }
body.jokoani-saison:not(.saison-neutre) .header-menu-container .navbar li:is(.btn-menu-orange, .btn-menu-green, .btn-menu-blue):hover .nav-link { background-color: var(--saison-primary); }
body.jokoani-saison.saison-contenu.saison-halloween main :is(.block-anniversaire, .espace-activites) .btn-blue { background-color: #ee6f15; }
body.jokoani-saison.saison-contenu.saison-halloween main :is(.block-anniversaire, .espace-activites) .btn-blue:hover { background-color: #5e1fa5; }
body.jokoani-saison.saison-contenu.saison-halloween main :is(.block-anniversaire, .espace-activites) .btn-blue svg path[fill="#004291"] { fill: #ee6f15; }
body.jokoani-saison.saison-contenu.saison-halloween main :is(.block-anniversaire, .espace-activites) .btn-blue:hover svg path[fill="#004291"] { fill: #5e1fa5; }
@media (prefers-reduced-motion: reduce) {
  body.jokoani-saison footer .socials:before { animation: none !important; }
}

/* Halloween : palettes et dessins extraits de Jokoani-theme2.xd, voir sources.json. */
/* Logo et tagline du pied de page : même violet foncé que les icônes et titres Horaires / Tarifs. */
body.saison-halloween { --jokoani-footer-logo: #26153b; }
body.jokoani-saison.saison-halloween footer :is(.logo, .logo_pin) path:not(#Soustraction_1) { fill: #26153b; }
body.saison-halloween .home-banner h1,
body.saison-halloween .espace-banner h1 { color: #fff; line-height: 1.4; text-wrap: pretty; }
body.saison-halloween .home-banner h1:after,
body.saison-halloween .espace-banner h1:after { background-image: url('../images/saisons/halloween/chauve-souris-titre.svg'); width: 147px; height: 146px; transform: none; }
body.saison-halloween .home-banner h1 strong:after,
body.saison-halloween .espace-banner h1 strong:after { background-image: url('../images/saisons/halloween/soulignement.svg?v=2'); height: .45em; bottom: 0; }
body.saison-halloween .home-banner h1 strong,
body.saison-halloween .espace-banner h1 strong { display: inline-block; line-height: 1.1; padding-bottom: .5em; }
body.saison-halloween .espace-banner h1 strong:after { background-image: url('../images/saisons/halloween/soulignement-espace.svg?v=2'); }
/* Les deux traits couvrent tout le mot, quelle que soit sa longueur. */
body.saison-halloween :is(.home-banner, .espace-banner) h1 strong:after { background-size: 100% 100%; }
body.saison-halloween .home-banner .horaires { color: #26153b; }
body.saison-halloween .home-banner .horaires .title { color: #fff; font-weight: 400; }
body.saison-halloween .home-banner .horaires .title svg { color: #fff; }
body.saison-halloween .home-banner .horaires strong u { font-weight: 400; }
body.saison-halloween .home-banner-slider:before { background-image: url('../images/saisons/halloween/toile.svg'); width: 36%; height: 42%; top: -5%; left: auto; right: -2%; transform: none; pointer-events: none; }
body.saison-halloween .home-banner-slider:after { background-image: url('../images/saisons/halloween/patte-accueil.svg'); width: 17%; height: 22%; left: -2%; top: 48%; transform: none; }
body.saison-halloween .espace-banner-slider { isolation: isolate; }
body.saison-halloween .espace-banner-slider:before { background-image: url('../images/saisons/halloween/forme-orange-espace.svg'); pointer-events: none; }
body.saison-halloween .espace-banner-slider:after { background-image: url('../images/saisons/halloween/points-violets-espace.svg'); width: 24%; height: auto; aspect-ratio: 1; top: 35%; left: -4%; pointer-events: none; }
body.saison-halloween .home-banner .list-espaces:after { background-image: url('../images/saisons/halloween/patte-accueil.svg'); transform: none; }
body.saison-halloween .badge_infos { margin-top: 130px; }
body.saison-halloween .badge_infos:before { content: ''; position: absolute; width: 253px; height: 253px; background: url('../images/saisons/halloween/magicien-badge.webp') center / contain no-repeat; left: -10px; top: -130px; z-index: 3; pointer-events: none; }
body.saison-halloween .badge_infos .mask-wrapper { padding-top: 130px; text-align: center; }
body.saison-halloween .badge_infos .icon { display: none; }
body.saison-halloween .espace-banner .badge_infos { margin-top: 130px; }
body.saison-halloween .espace-banner .badge_infos:before { width: 250px; height: 250px; left: -10px; top: -130px; }
body.saison-halloween .espace-banner .saison-badge-content { padding-top: 130px; }
body.saison-halloween .home-activites:after { background-image: url('../images/saisons/halloween/vague-orange.svg'); }
body.saison-halloween .home-activites h2:after { background-image: url('../images/saisons/halloween/patte-activites-accueil.svg'); transform: none; }
body.saison-halloween .home-coffee { color: #ee6f15; }
body.saison-halloween .home-coffee h2 { color: #004291; }
body.saison-halloween .home-coffee:after { background-image: url('../images/saisons/halloween/chauve-souris-coffee-accueil.svg'); width: 316px; height: 314px; left: auto; right: 4%; top: 8%; transform: none; pointer-events: none; }
body.saison-halloween .home-coffee .left { position: relative; }
body.saison-halloween .home-coffee .left:after { content: ''; position: absolute; right: -170px; top: 8%; width: 168px; height: 298px; background: url('../images/saisons/halloween/decor-coffee-accueil.svg') center / contain no-repeat; pointer-events: none; }
body.saison-halloween .home-coffee .wombat { max-width: 204px; width: 100%; margin-top: -45px; }
body.saison-halloween .home-ateliers:before { background-color: #ee6f15; }
body.saison-halloween .home-ateliers:after { background-image: url('../images/saisons/halloween/vague.svg'); }
body.saison-halloween .home-ateliers .ateliers-list:before { background-image: url('../images/saisons/halloween/fantome-cadre.svg'); width: 178px; height: 208px; transform: none; }
body.saison-halloween .home-ateliers .ateliers-list:after { background-image: url('../images/saisons/halloween/araignee-ateliers-accueil.svg'); width: 169px; height: 177px; transform: none; }
body.saison-halloween .home-ateliers .ateliers-list .col-10:nth-child(1) .atelier-card-categorie:before { background-image: url('../images/saisons/halloween/cible.svg'); }
body.saison-halloween .home-jokoaniversaire { background-color: #ececec; }
body.saison-halloween .home-jokoaniversaire .bg:after { background-image: url('../images/saisons/halloween/guirlande.svg'); width: 35%; height: 35%; transform: rotate(-25deg); }
body.saison-halloween .home-jokoaniversaire .wombat { width: 360px; transform: rotate(-30deg); }
body.saison-halloween.saison-contenu .block-temoignages .container:before,
body.saison-halloween .espace-temoignages .container:before { background-image: url('../images/saisons/halloween/patte-temoignages.svg'); transform: none; }
body.saison-halloween.saison-contenu .block-temoignages .container:after { background-image: url('../images/saisons/halloween/citrouille-point-temoignages.svg'); width: 261px; height: 226px; bottom: -130px; }
body.saison-halloween.saison-contenu .block-temoignages:after { background-image: url('../images/saisons/halloween/bande-orange.svg'); }
body.saison-halloween footer:after { background-image: url('../images/saisons/halloween/bottom-footer.svg'); }
/* Le badge appartient à la colonne sociale, pas aux dimensions globales du footer. */
body.saison-halloween footer:before { display: none; }
body.saison-halloween footer .footer-socks {
  display: block !important; position: relative; z-index: 1;
  width: min(220px, 48%); height: auto;
  /* Seuls les fonds se recouvrent : le badge reste devant le rond, au-dessus du texte. */
  margin: 0 0 max(-130px, -24cqw) 2% !important;
}
@media (min-width: 992px) {
  body.saison-halloween footer { padding-top: clamp(32px, 4vw, 64px); padding-bottom: 64px; }
  body.saison-halloween footer > .container > .row:first-child { align-items: flex-start !important; }
}
body.saison-halloween footer .footer-espace-coordinates,
body.saison-halloween footer .footer-espace-coordinates a { color: #fff; }
body.saison-halloween footer .copyright a:is(:hover, :focus-visible) { color: #fff; }
body.saison-halloween .block-newsletter .newsletter-form .gform-body a { color: #fff; }
body.saison-halloween .block-newsletter .gform_button img { content: url('../images/saisons/halloween/newsletter-violet.png'); }
/* Phrase d'accroche du pied de page : même violet foncé que le logo et la tagline. */
body.saison-halloween footer .slogan { color: #26153b; }
/* XD : le cadre du squelette mesure 74 % du rond, à 65 % / 59 % de son origine.
 * Réserver la largeur du décor entier, puis centrer les liens sur le rond. */
body.saison-halloween footer .col-lg-5 { container: saison-footer / inline-size; }
body.saison-halloween footer .socials { width: min(380px, 65%); height: auto; aspect-ratio: 1; margin: 30px 0 min(19px, 3.25%); margin-left: max(4.5%, calc(50% - 266px)); overflow: visible; isolation: isolate; container-type: inline-size; }
body.saison-halloween footer .socials:before { background-image: url('../images/saisons/halloween/socials-cadre.svg'); z-index: -1; animation: spin 10s linear infinite; }
body.saison-halloween footer .socials:after { background-image: url('../images/saisons/halloween/squelette.webp'); width: 74%; height: 74%; left: 65%; top: 59%; right: auto; bottom: auto; z-index: 3; pointer-events: none; }
body.saison-halloween footer .socials p { font-size: clamp(16px, 6cqw, 24px); margin-bottom: 4cqw; }
body.saison-halloween footer .socials > .d-flex { gap: clamp(6px, 3cqw, 16px) !important; }
body.saison-halloween footer .socials a svg { width: clamp(36px, 15cqw, 60px); }
body.saison-halloween footer .socials + .btn-blue { width: max-content; max-width: calc(100% - 24px); margin-left: max(37%, calc(50% - 76px)) !important; margin-right: 0 !important; transform: translateX(-50%); margin-bottom: min(90px, 15.4%); }
@container saison-footer (max-width: 520px) {
  /* Dans une colonne étroite, garder le bouton lisible sous les pieds. */
  body.saison-halloween footer .socials + .btn-blue { margin-top: 20.8cqw; margin-left: 50% !important; margin-bottom: 0; }
}
body.saison-halloween footer .socials .pseudo-elements:before { background-image: url('../images/saisons/halloween/points.svg'); width: 65%; height: 70%; top: -7%; right: -15%; z-index: -2; }
body.saison-halloween footer .socials .pseudo-elements:after { background-image: url('../images/saisons/halloween/etoile.svg'); width: 55px; height: 55px; left: -8%; bottom: 1%; }
body.saison-halloween footer .socials a[href*="facebook"] { order: 1; }
body.saison-halloween footer .socials a[href*="instagram"] { order: 2; }
body.saison-halloween footer .socials a[href*="linkedin"] { order: 3; }
body.saison-halloween footer .socials a[href*="youtube"] { order: 4; }
body.saison-halloween footer .horaires .title,
body.saison-halloween footer .tarifs .title { color: #26153b; }
body.saison-halloween footer > .container > .row > .col-12 > .btn-blue { background: #5e1fa5; }
body.saison-halloween .offcanvas.offcanvas-end .socials:before { background-image: url('../images/saisons/halloween/magicien-badge.webp'); width: 155px; height: 155px; }
body.saison-halloween .navbar-toggler { background-image: url('../images/saisons/halloween/burger.svg'); }
/* Chaque plan espace a ses propres décors : ils ne reprennent pas ceux de l'accueil. */
body.saison-halloween.saison-contenu .block-anniversaire h2:before,
body.saison-halloween.saison-contenu .block-anniversaire h2:after { content: none; }
body.saison-halloween .espace-ateliers:before { background-image: url('../images/saisons/halloween/vague.svg'); width: 120px; height: 130px; }
body.saison-halloween .espace-ateliers:after { background-color: #ee6f15; }
body.saison-halloween .espace-ateliers > .row:after { content: ''; position: absolute; right: 3%; top: 35%; width: 32%; height: 288px; background: url('../images/saisons/halloween/patte-ateliers-espace.svg') right center / 168px 166px no-repeat, url('../images/saisons/halloween/points-ateliers-espace.svg') left center / 288px 288px no-repeat; pointer-events: none; z-index: 0; }
body.saison-halloween .espace-ateliers > .row > *,
body.saison-halloween .espace-ateliers .ateliers-list-slider { position: relative; z-index: 1; }
body.saison-halloween .espace-activites:after { background-image: url('../images/saisons/halloween/patte-activites-espace.svg'); width: 236px; height: 236px; transform: none; top: 0; right: 30%; }
body.saison-halloween .espace-coffee .right:before { background-image: url('../images/saisons/halloween/empreinte-coffee-espace.svg'); width: 154px; height: 155px; right: -20px; top: -50px; }
body.saison-halloween .espace-coffee .right:after { background-image: url('../images/saisons/halloween/etoile-coffee-espace.svg'); width: 95px; height: 89px; }
body.saison-halloween .espace-coffee .wombat { width: 243px; max-width: none; margin-left: 50%; transform: translateX(-50%); }
/* Titres en bleu Jokoani, comme le thème normal. */
body.saison-halloween :is(.home-actualites, .block-temoignages, .espace-temoignages, .espace-actualites, .espace-coffee, .questions-jokopass) h2 { color: #004291; }
body.jokoani-saison.saison-halloween :is(.home-valeurs, .espace-introduction, .home-jokoaniversaire) h2 { color: #004291; }
body.saison-halloween :is(.home-coffee, .espace-coffee) .btn-blue-transparent { color: #5e1fa5; border-color: #5e1fa5; }
body.saison-halloween :is(.home-coffee, .espace-coffee) .btn-blue-transparent svg path[fill="#004291"] { fill: #5e1fa5; }
body.saison-halloween :is(.home-coffee, .espace-coffee) .btn-blue-transparent:hover { background-color: #5e1fa5; color: #fff; }
body.saison-halloween :is(.block-temoignages, .espace-temoignages) h2 { position: relative; }
body.saison-halloween :is(.block-temoignages, .espace-temoignages) h2:before { content: ''; position: absolute; width: 80px; height: 77px; top: 0; right: -70px; background: url('../images/saisons/halloween/coeur-temoignages.svg') center / contain no-repeat; transform: none; }
body.saison-halloween .espace-temoignages .container:after { content: ''; position: absolute; right: 0; bottom: -100px; width: 240px; height: 208px; background: url('../images/saisons/halloween/citrouille-point-temoignages.svg') center / contain no-repeat; pointer-events: none; }
body.saison-halloween .espace-temoignages { padding-bottom: 180px; }
body.saison-halloween .block-temoignages .temoignage-card { border-color: #de2625; }
body.saison-halloween .block-temoignages .slick-dots .slick-active button { background-color: #de2625; }
/* Les pas sont placés au début du parcours dans XD, pas par-dessus les autres blocs. */
body.saison-halloween.saison-contenu #icon-pied { display: none; }
@media (min-width: 992px) {
  body.saison-halloween .home-coffee .gallery-coffee .img2 { right: 25%; }
  body.saison-halloween .home-coffee .gallery-coffee:hover .img2 { right: 20%; }
  body.saison-halloween .home-coffee .wombat { margin-right: 40px; }
  body.saison-halloween .home-activites h2:before { content: ''; position: absolute; left: -36px; bottom: -370px; width: 105px; height: 112px; background: url('../images/saisons/halloween/cible-activites-accueil.svg') center / contain no-repeat; pointer-events: none; }
  body.saison-halloween .espace-introduction { position: relative; }
  body.saison-halloween .espace-introduction h2 { position: relative; }
  body.saison-halloween .espace-introduction h2:after { content: ''; position: absolute; right: -105px; top: 0; width: 122px; height: 120px; background: url('../images/saisons/halloween/patte-introduction-espace.svg') center / contain no-repeat; pointer-events: none; }
  body.saison-halloween .espace-introduction:before { content: ''; position: absolute; left: -97px; top: 55%; width: 195px; height: 208px; background: url('../images/saisons/halloween/cible-introduction-espace.svg') center / contain no-repeat; pointer-events: none; }
  body.saison-halloween :is(.home-activites > .row:first-child, .espace-introduction > .container) { position: relative; }
  body.saison-halloween :is(.home-activites > .row:first-child, .espace-introduction > .container):before { content: ''; position: absolute; left: 2%; top: -85px; width: 130px; height: 130px; background: url('../images/icon-pieds.svg') center / contain no-repeat; pointer-events: none; }
}

/* Fonds des plans espace du XD : distincts des aplats de l'accueil général. */
body.jokoani-saison.single-espace.saison-halloween { background-color: #fff7f2; }
body.jokoani-saison.single-espace.saison-noel { background-color: #eff6ff; }
body.jokoani-saison.single-espace:is(.saison-halloween, .saison-noel) .espace-banner { background-color: transparent; }
body.single-espace.saison-halloween .espace-banner h1 { color: #004291; }
body.single-espace.saison-noel .espace-banner h1 { color: #0a7231; }
body.single-espace.saison-halloween {
  --saison-espace-anniversaire: url('../images/saisons/halloween/bg-anniversaire-espace.svg?v=20260915');
  --saison-espace-activites: url('../images/saisons/halloween/bg-activites-espace.svg');
  --saison-espace-coffee: url('../images/saisons/halloween/bg-coffee-espace.svg');
}
body.single-espace.saison-noel {
  --saison-espace-anniversaire: url('../images/saisons/noel/bg-anniversaire-espace.svg');
  --saison-espace-activites: url('../images/saisons/noel/bg-activites-espace.svg');
  --saison-espace-coffee: url('../images/saisons/noel/bg-coffee-espace.svg');
}
body.single-espace:is(.saison-halloween, .saison-noel) .block-anniversaire {
  background-image: var(--saison-espace-anniversaire);
  background-size: 100% 100%;
}
body.single-espace:is(.saison-halloween, .saison-noel) .espace-activites {
  background-color: transparent;
  /* Le bas de la vague violette/verte rejoint le beige du Coffee House. */
  background-image: var(--saison-espace-activites), linear-gradient(transparent 50%, #faebcb 50%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  border-radius: 0;
}
body.single-espace:is(.saison-halloween, .saison-noel) .espace-coffee {
  background-image: var(--saison-espace-coffee);
  background-color: #eff6ff;
  background-size: 100% 100%;
  margin-top: 0;
}
body.single-espace:is(.saison-halloween, .saison-noel) .espace-actualites { background-color: #eff6ff; }
body.single-espace.saison-noel .espace-ateliers:after { background-color: #df2625; }
body.jokoani-saison.single-espace.saison-noel footer { background-color: #0a7231; }

/* Noël : mascottes du XD et dessins du pack historique, désormais limités aux accueils. */
body.saison-noel { --jokoani-footer-logo: #fff; }
body.jokoani-saison.saison-noel .home-banner,
body.saison-noel .home-banner .horaires .title,
body.saison-noel .espace-banner h1,
body.jokoani-saison.saison-noel footer,
body.saison-noel footer .horaires .title,
body.saison-noel footer .tarifs .title,
body.jokoani-saison.saison-noel .block-newsletter { color: #fff; }
body.saison-noel .espace-banner .horaires { color: #0a7231; }
body.saison-noel .espace-banner .horaires.mobile .accordion-button { color: #fff; }
body.saison-noel .home-banner h1:after,
body.saison-noel .espace-banner h1:after { background-image: url('../images/etoile-rouge.svg'); }
body.saison-noel .home-banner h1 strong:after,
body.saison-noel .espace-banner h1 strong:after { background-image: url('../images/soulignement-rouge.svg'); }
body.saison-noel .home-banner-slider:before { background-image: url('../images/patte-rouge.svg'); }
body.saison-noel .home-banner-slider:after { background-image: url('../images/points-blanc.svg'); }
body.saison-noel footer:after { background-image: url('../images/bottom-footer-noel.svg'); }
body.saison-noel footer:before { background-image: url('../images/saisons/chaussettes-blanc-texte-bleu.svg'); }
body.saison-noel footer .socials:before { background-image: url('../images/socials-footer-rouge.svg'); }
body.saison-noel footer .socials:after,
body.saison-noel .offcanvas.offcanvas-end .socials:before { background-image: url('../images/saisons/noel/cadeau.webp'); }
body.saison-noel footer .socials .pseudo-elements:after { background-image: url('../images/etoile-rouge.svg'); }
body.saison-noel .navbar-toggler { background-image: url('../images/bg-burger-menu-noel.svg'); }
body.saison-noel .top-header.footer-top-header { background-color: #de2625 !important; }
body.saison-noel .home-ateliers:before { background-color: #de2625; }

/* Pâques / été : décorations fixes, couleurs de logo personnalisables séparément. */
body.saison-paques .home-banner h1:after,
body.saison-paques .espace-banner h1:after,
body.saison-paques .home-banner-slider:before,
body.saison-paques .espace-banner-slider:before,
body.saison-paques .home-ateliers .ateliers-list:before { background-image: url('../images/saisons/paques/oeufs.svg'); transform: rotate(-12deg); }
body.saison-paques .home-ateliers:before { background-color: #668b3f; }
body.saison-paques .home-jokoaniversaire .bg:after { background-image: url('../images/saisons/paques/guirlande.svg'); }
body.saison-paques.saison-contenu .block-temoignages .container:after,
body.saison-paques footer .socials .pseudo-elements:after { background-image: url('../images/saisons/paques/oeufs.svg'); }
body.saison-ete .home-banner h1:after,
body.saison-ete .espace-banner h1:after,
body.saison-ete .home-banner-slider:before,
body.saison-ete .espace-banner-slider:before,
body.saison-ete .home-ateliers .ateliers-list:after { background-image: url('../images/saisons/ete/soleil.svg'); }
body.saison-ete .home-ateliers:before { background-color: #0b8c92; }
body.saison-ete footer .socials:after,
body.saison-ete .offcanvas.offcanvas-end .socials:before { background-image: url('../images/saisons/ete/sauveteur.webp'); }
body.saison-ete.saison-contenu .block-temoignages .container:after,
body.saison-ete footer .socials .pseudo-elements:after { background-image: url('../images/saisons/ete/soleil.svg'); }

@media (min-width: 992px) {
  body.saison-halloween .home-banner .horaires { border-left-color: #004291; }
  /* Même rythme que Neutre : le titre ne repousse plus toute la seconde ligne. */
  body.jokoani-saison.saison-halloween .home-banner { padding-top: 3vh; }
  body.saison-halloween .home-banner h1 { font-size: clamp(2rem, 2.7vw, 3.25rem); line-height: 1.25; }
  body.saison-halloween .home-banner h1 strong { padding-bottom: .35em; }
  body.saison-halloween .home-banner-slider { margin-top: -15vh; }
  body.saison-halloween .espace-ateliers { position: relative; }
  body.jokoani-saison .espace-banner-details { display: grid; grid-template-columns: minmax(0, 1fr) 274px; }
  body.jokoani-saison .espace-banner-details > div { width: auto; min-width: 0; }
}
@media (min-width: 992px) and (max-width: 1599px) {
  body.jokoani-saison .espace-banner-details { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
  body.jokoani-saison .espace-banner-details .badge_infos { margin-left: auto; margin-right: auto; }
}
@media (max-width: 991px) {
  body.single-espace.saison-halloween :is(.block-anniversaire, .espace-activites, .espace-coffee) { background-size: auto 100%; background-position: center; }
  body.saison-halloween.saison-contenu .block-temoignages .container:before { display: none; }
  body.saison-halloween.saison-contenu .block-temoignages .container:after { content: ''; position: absolute; right: 12px; bottom: -160px; width: 120px; height: 104px; background-size: contain; background-repeat: no-repeat; }
  body.saison-halloween .espace-coffee .right:before { width: 90px; height: 90px; right: 6px; top: -10px; }
  body.saison-halloween .espace-coffee .right:after { width: 60px; height: 60px; left: 0; bottom: 0; }
  body.jokoani-saison:not(.saison-neutre) .home-banner,
  body.jokoani-saison:not(.saison-neutre) .espace-banner { padding-top: 30px; }
  body.saison-halloween .home-banner h1:after,
  body.saison-halloween .espace-banner h1:after { width: 32px; height: 38px; right: -12px; top: -8px; }
  body.saison-halloween .home-banner-slider:before { right: 2%; width: 27%; height: 32%; }
  body.saison-halloween .home-coffee:after,
  body.saison-halloween .home-coffee .left:after { display: none; }
  body.saison-halloween .home-coffee .wombat { width: 160px; margin: 0 0 20px; }
  body.saison-halloween .espace-coffee .wombat { width: 175px; margin: 0 0 20px; transform: none; }
  body.saison-halloween :is(.block-temoignages, .espace-temoignages) h2:before { display: none; }
  body.saison-halloween .espace-temoignages .container:after { width: 120px; height: 104px; bottom: -110px; }
  body.saison-halloween .espace-ateliers > .row:after { display: none; }
  body.saison-halloween .home-jokoaniversaire .wombat { width: 175px; }
  body.saison-halloween footer .socials .pseudo-elements:after { width: 40px; height: 40px; }
}
