/* --------------------------------------------------------------------------
   Polices auto-hébergées (assets/fonts, sous-ensemble latin de Google Fonts).
   font-display: fallback = texte invisible 100 ms max puis police finale si
   arrivée (préchargée dans le <head>), sinon police de repli sans re-flash.
   La police de repli « Quicksand Fallback » (Arial ajustée) limite le décalage
   de mise en page si la vraie police tarde.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300 700;
  font-display: fallback;
  src: url('/assets/fonts/quicksand-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: 'Yellowtail';
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url('/assets/fonts/yellowtail-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: 'Quicksand Fallback';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  size-adjust: 104%;
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
}

/* ==========================================================================
   Le Jakadi – feuille de style
   Tokens issus du handoff (design_handoff_le_jakadi/README.md)
   ========================================================================== */

:root {
  /* Couleurs */
  --ardoise-nav: #2C2A2B;
  --ardoise: #1F1E1E;
  --ardoise-2: #262525;
  --carte: #2A2929;
  --footer: #171616;
  --craie: #F0F0F0;
  --craie-2: #DADADA;
  --craie-3: #CFCFCF;
  --craie-4: #BDBDBD;
  --craie-5: #A3A3A3;
  --rose: #EE9FEA;
  --bleu: #8FCFE0;
  --bleu-hover: #A9DBE8;
  --filet: rgba(240, 240, 240, 0.22);
  --filet-leger: rgba(240, 240, 240, 0.16);
  --filet-fort: rgba(240, 240, 240, 0.3);

  /* Typo */
  --font-texte: 'Quicksand', 'Quicksand Fallback', system-ui, sans-serif;
  --font-craie: 'Yellowtail', cursive;

  /* Layout */
  --conteneur: 1240px;
  --pad-x: clamp(16px, 4vw, 40px);
  --pad-section: clamp(48px, 6vw, 80px);
  --header-h: 76px;

  /* Rayons */
  --r-photo: 14px;
  --r-carte: 16px;
  --r-pilule: 999px;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--ardoise);
  color: var(--craie);
  font-family: var(--font-texte);
  -webkit-font-smoothing: antialiased;
}

/* <picture> transparent pour la mise en page : les règles ciblent l'<img> */
picture { display: contents; }

a { color: var(--bleu); text-decoration: none; }
a:hover { color: var(--rose); }

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--bleu);
  outline-offset: 3px;
}

img { max-width: 100%; }

ul[role="list"],
ul.liste-nue {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Marges des listes nommées (spécificité > ul.liste-nue) */
ul.galerie { margin: 32px 0 0; }
ul.categories { margin: 48px 0 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.conteneur {
  max-width: var(--conteneur);
  margin: 0 auto;
  padding: var(--pad-section) var(--pad-x);
}

.section { scroll-margin-top: var(--header-h); position: relative; }
#top { scroll-margin-top: var(--header-h); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Lien d'évitement */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 100;
  background: var(--craie);
  color: var(--ardoise);
  padding: 10px 16px;
  border-radius: 6px;
  font-weight: 600;
}
.skip-link:focus { left: 8px; color: var(--ardoise); }

/* --------------------------------------------------------------------------
   Typographie
   -------------------------------------------------------------------------- */

.surtitre {
  margin: 0;
  font-family: var(--font-craie);
  font-weight: 400;
  font-size: 32px;
  line-height: 1.2;
}
.surtitre--rose { color: var(--rose); }
.surtitre--bleu { color: var(--bleu); }

.h2 {
  margin: 10px 0 0;
  font-weight: 700;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.12;
  text-wrap: balance;
}

.label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--craie-4);
}

/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: var(--r-pilule);
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.btn--bordure {
  min-height: 44px;
  padding: 0 18px;
  border: 1.5px solid var(--craie);
  background: transparent;
  color: var(--craie);
  font-size: 15px;
}
.btn--bordure:hover { background: var(--craie); color: var(--ardoise); }

.btn--rose {
  min-height: 54px;
  padding: 0 32px;
  background: var(--rose);
  color: var(--ardoise);
  font-size: 16px;
}
.btn--rose:hover { background: var(--bleu); color: var(--ardoise); }

.btn--craie {
  min-height: 54px;
  padding: 0 30px;
  background: var(--craie);
  color: var(--ardoise);
  font-size: 16px;
}
.btn--craie:hover { background: var(--bleu); color: var(--ardoise); }

.btn--social {
  min-height: 48px;
  padding: 0 20px;
  border: 1.5px solid rgba(240, 240, 240, 0.4);
  color: var(--craie);
  font-weight: 600;
}
.btn--social.is-bleu:hover { border-color: var(--bleu); color: var(--bleu); }
.btn--social.is-rose:hover { border-color: var(--rose); color: var(--rose); }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--ardoise-nav);
  border-bottom: 1px dashed var(--filet);
}

.header__inner {
  max-width: var(--conteneur);
  margin: 0 auto;
  padding: 8px var(--pad-x);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  min-width: 0;
}
.header__logo img {
  height: clamp(44px, 6vw, 56px);
  width: auto;
  display: block;
}

.nav-desktop {
  display: none;
  align-items: center;
  gap: 36px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.03em;
}
.nav-desktop a {
  color: var(--craie);
  padding: 12px 0;
  border-bottom: 2px solid transparent;
  transition: border-color .2s ease;
}
.nav-desktop > a:nth-child(odd):hover { border-bottom-color: var(--rose); }
.nav-desktop > a:nth-child(even):hover { border-bottom-color: var(--bleu); }

/* Pictos réseaux (header desktop + menu mobile) */
.nav-desktop__reseaux {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
  padding-left: 22px;
  border-left: 1px dashed var(--filet);
}
.nav-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid transparent;
  color: var(--craie);
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.nav-desktop .nav-social { padding: 0; border-bottom-width: 1.5px; }
.nav-social--facebook:hover,
.nav-social--facebook:focus-visible { color: var(--bleu); border-color: var(--bleu); }
.nav-social--instagram:hover,
.nav-social--instagram:focus-visible { color: var(--rose); border-color: var(--rose); }

.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ico { display: block; fill: currentColor; flex-shrink: 0; }

.header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.btn-tel__court { display: none; }
@media (max-width: 419px) {
  .btn-tel__long { display: none; }
  .btn-tel__court { display: inline; }
}

.burger {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px dashed var(--craie);
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 0;
}
.burger span {
  width: 16px;
  height: 2px;
  background: var(--craie);
  transition: transform .2s ease, opacity .2s ease;
}
.burger[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.nav-mobile {
  display: none;
  flex-direction: column;
  padding: 0 16px 14px;
}
.nav-mobile.is-open { display: flex; }
.nav-mobile a {
  font-family: var(--font-craie);
  font-size: 34px;
  color: var(--craie);
  padding: 10px 4px;
  border-bottom: 1px dashed var(--filet);
}
.nav-mobile > a:hover { color: var(--rose); }
.nav-mobile__reseaux {
  display: flex;
  gap: 10px;
  padding: 14px 0 2px;
}
.nav-mobile .nav-social { padding: 0; border: 1.5px solid rgba(240, 240, 240, 0.4); }
.nav-mobile .nav-social--facebook:hover { color: var(--bleu); }

@media (min-width: 860px) {
  .nav-desktop { display: flex; }
  .burger { display: none; }
  .nav-mobile { display: none !important; }
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.hero {
  position: relative;
  overflow: hidden;
  min-height: min(56vh, 480px);
  display: flex;
  align-items: center;
}

.hero__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
}

.hero__fondu {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(31, 30, 30, 0.96) 0%, rgba(31, 30, 30, 0.8) 55%, rgba(31, 30, 30, 0.72) 100%),
    linear-gradient(180deg, rgba(31, 30, 30, 0) 55%, #1F1E1E 100%);
}

.hero__craie {
  position: absolute;
  left: 2%;
  bottom: 6%;
  width: clamp(60px, 8vw, 110px);
  height: auto;
  opacity: 0.5;
  pointer-events: none;
}

.hero__inner {
  position: relative;
  max-width: var(--conteneur);
  width: 100%;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 48px) var(--pad-x);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

.hero__texte { order: 1; min-width: 0; }

.hero__surtitre {
  margin: 0;
  font-family: var(--font-craie);
  font-weight: 400;
  font-size: clamp(26px, 3vw, 36px);
  color: var(--rose);
}

.hero__titre {
  margin: 10px 0 0;
  font-weight: 700;
  font-size: clamp(30px, 3.8vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.hero__intro {
  margin: 24px 0 0;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.6;
  color: var(--craie-2);
  max-width: 520px;
  text-wrap: pretty;
}

.hero__actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
}

.hero__logo {
  order: 2;
  display: flex;
  justify-content: flex-end;
}
.hero__logo img {
  width: min(100%, 260px);
  height: auto;
  margin: 0 0 0 auto;
  display: block;
}

@media (max-width: 859px) {
  .hero__inner { grid-template-columns: 1fr; gap: 20px; }
  .hero__logo { order: 0; justify-content: center; }
  .hero__logo img { width: min(50%, 160px); margin: 0 auto; }
}

/* Statut ouvert / fermé */
.statut {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 4px;
  color: var(--craie);
  font-weight: 600;
  font-size: 15px;
}
.statut:hover { color: var(--craie-2); }

.statut__pastille {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--rose);
  box-shadow: 0 0 0 3px rgba(238, 159, 234, 0.2);
}
.statut.is-ouvert .statut__pastille {
  background: var(--bleu);
  box-shadow: 0 0 0 3px rgba(143, 207, 224, 0.2);
}

/* --------------------------------------------------------------------------
   Le lieu
   -------------------------------------------------------------------------- */

.lieu__entete {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: clamp(20px, 5vw, 72px);
}
.lieu__texte { align-self: end; }
.lieu__texte p {
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
  color: var(--craie-2);
  text-wrap: pretty;
}

.galerie {
  margin: 32px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (min-width: 1000px) {
  .galerie { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.galerie img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--r-photo);
  display: block;
}
.galerie .pos-salle { object-position: 25% 60%; }
.galerie .pos-mezzanine { object-position: 85% 15%; }

.placeholder {
  aspect-ratio: 4 / 3;
  border-radius: var(--r-photo);
  border: 1.5px dashed var(--filet-fort);
  display: flex;
  align-items: flex-end;
  padding: 12px;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 12px;
  color: var(--craie-4);
}

/* --------------------------------------------------------------------------
   La carte
   -------------------------------------------------------------------------- */

.carte {
  background: var(--ardoise-2);
  border-top: 1px dashed var(--filet);
  border-bottom: 1px dashed var(--filet);
  overflow: hidden;
}

.carte__craie {
  position: absolute;
  height: auto;
  pointer-events: none;
}
.carte__craie--burger {
  right: 3%;
  top: 32px;
  width: clamp(70px, 10vw, 150px);
  opacity: 0.45;
}
.carte__craie--steak {
  left: 2%;
  bottom: 24px;
  width: clamp(90px, 12vw, 190px);
  opacity: 0.35;
}

.carte .conteneur { position: relative; }

.carte__entete {
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}

.categories {
  margin: 40px 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 36px 32px;
}

.categorie {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 22px;
}

.rond {
  position: relative;
  width: min(100%, 240px);
  aspect-ratio: 1;
}
.rond::before,
.rond::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2.5px solid;
}
.rond::before { border-color: var(--rose); transform: translate(-9px, -6px); }
.rond::after  { border-color: var(--bleu); transform: translate(9px, 6px); }

.rond img,
.rond .rond__placeholder {
  position: absolute;
  inset: 10px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-radius: 50%;
}
.rond img { object-fit: cover; display: block; }
.rond__placeholder {
  background: var(--ardoise);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 12px;
  color: var(--craie-4);
}

.categorie h3 {
  margin: 0;
  font-family: var(--font-craie);
  font-weight: 400;
  font-size: 38px;
  line-height: 1.1;
}
.categorie__desc {
  margin: 12px 0 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--craie-3);
  max-width: 260px;
}
.categorie__exemples {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 700;
}
.categorie__exemples--rose { color: var(--rose); }
.categorie__exemples--bleu { color: var(--bleu); }

.encadres {
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 16px;
}

.encadre {
  padding: 22px 24px;
  border-radius: var(--r-carte);
  border: 1.5px dashed;
  display: flex;
  gap: 16px;
  align-items: center;
}
.encadre--bleu { border-color: var(--bleu); }
.encadre--rose { border-color: var(--rose); }

.encadre__picto {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--ardoise);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.encadre--bleu .encadre__picto { background: var(--bleu); }
.encadre--rose .encadre__picto { background: var(--rose); }

.encadre h3 { margin: 0; font-size: 19px; font-weight: 700; }
.encadre p {
  margin: 10px 0 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--craie-3);
}

.carte__cta {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

/* --------------------------------------------------------------------------
   Contact
   -------------------------------------------------------------------------- */

.contact__entete { margin-bottom: 36px; }

.contact__grille {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
@media (min-width: 640px) {
  .contact__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact__carte { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  .contact__grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact__carte { grid-column: auto; }
}

.contact__coord {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.bloc {
  padding: 20px 22px;
  border-radius: var(--r-carte);
  background: var(--carte);
}
.bloc__valeur {
  margin-top: 6px;
  font-size: 18px;
  line-height: 1.5;
}

.bloc--tel {
  display: block;
  background: var(--bleu);
  color: var(--ardoise);
  transition: background-color .2s ease;
}
.bloc--tel:hover { background: var(--bleu-hover); color: var(--ardoise); }
.bloc--tel .label { color: inherit; }
.bloc--tel .bloc__valeur {
  margin-top: 4px;
  font-size: 24px;
  font-weight: 700;
}

.reseaux {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* --------------------------------------------------------------------------
   Retrouvez-nous sur (réseaux sociaux)
   -------------------------------------------------------------------------- */
.suivez {
  background: var(--ardoise-2);
  border-top: 1px dashed var(--filet);
}
.suivez__entete {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 36px;
}
.suivez__intro {
  margin: 14px 0 0;
  font-size: 17px;
  line-height: 1.55;
  color: var(--craie-2);
}
.suivez__grille {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  max-width: 820px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .suivez__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.carte-reseau {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 44px;
  padding: 24px 26px;
  border-radius: var(--r-carte);
  background: var(--carte);
  border: 1.5px solid transparent;
  color: var(--craie);
  transition: border-color .2s ease, transform .2s ease;
}
.carte-reseau:hover,
.carte-reseau:focus-visible { transform: translateY(-2px); }
.carte-reseau--facebook:hover,
.carte-reseau--facebook:focus-visible { border-color: var(--bleu); }
.carte-reseau--instagram:hover,
.carte-reseau--instagram:focus-visible { border-color: var(--rose); }
.carte-reseau--facebook .ico { color: var(--bleu); }
.carte-reseau--instagram .ico { color: var(--rose); }
.carte-reseau__texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.carte-reseau__nom {
  font-family: var(--font-craie);
  font-size: 28px;
  line-height: 1.1;
}
.carte-reseau__compte { font-weight: 600; color: var(--craie-2); }
.carte-reseau__action {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--craie-4);
  transition: color .2s ease;
}
.carte-reseau--facebook:hover .carte-reseau__action { color: var(--bleu); }
.carte-reseau--instagram:hover .carte-reseau__action { color: var(--rose); }
@media (prefers-reduced-motion: reduce) {
  .carte-reseau, .carte-reseau:hover, .carte-reseau:focus-visible { transform: none; }
}

.horaires {
  height: 100%;
  scroll-margin-top: 90px;
}
.horaires__entete {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.horaires__statut {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
}
.horaires__statut .statut__pastille {
  width: 8px;
  height: 8px;
  box-shadow: none;
}
.horaires__statut.is-ouvert .statut__pastille { background: var(--bleu); }

.horaires__liste {
  margin: 10px 0 0;
  display: grid;
  font-size: 16px;
}
.horaires__ligne {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-top: 1px dashed var(--filet-leger);
  font-weight: 500;
  color: var(--craie-3);
}
.horaires__ligne.is-aujourdhui {
  font-weight: 700;
  color: var(--craie);
}
.horaires__ligne dd { margin: 0; }
.horaires__note {
  margin: 10px 0 0;
  font-size: 14px;
  color: var(--craie-4);
}

.contact__carte {
  position: relative;
  min-height: 320px;
  border-radius: var(--r-carte);
  overflow: hidden;
  border: 1px solid rgba(240, 240, 240, 0.15);
  background: var(--carte);
}
.plan {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.plan .leaflet-tile-pane {
  /* Tuiles OSM claires -> rendu sombre proche de l'ardoise */
  filter: invert(1) hue-rotate(180deg) saturate(0.5) brightness(0.85) contrast(0.95);
}
.plan .leaflet-control-zoom a {
  background: var(--carte);
  color: var(--craie);
  border-color: var(--filet);
}
.plan .leaflet-control-attribution {
  background: rgba(31, 30, 30, 0.8);
  color: var(--craie-4);
  font-size: 10px;
}
.plan .leaflet-control-attribution a { color: var(--bleu); }
.plan .leaflet-popup-content-wrapper,
.plan .leaflet-popup-tip {
  background: var(--carte);
  color: var(--craie);
}

/* Marqueur aux couleurs du site (double cercle du logo) */
.marqueur { position: relative; }
.marqueur::before,
.marqueur::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2.5px solid;
}
.marqueur::before { border-color: var(--rose); transform: translate(-3px, -2px); }
.marqueur::after  { border-color: var(--bleu); transform: translate(3px, 2px); }
.marqueur span {
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: var(--craie);
}

.plan__fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  color: var(--craie-3);
  font-size: 15px;
  line-height: 1.6;
}
.plan__fallback a { font-weight: 700; }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.footer {
  background: var(--footer);
  border-top: 1px dashed var(--filet);
}
.footer__inner {
  max-width: var(--conteneur);
  margin: 0 auto;
  padding: 40px var(--pad-x);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.footer__marque {
  display: flex;
  align-items: center;
  gap: 18px;
}
.footer__marque img {
  width: 88px;
  height: 88px;
  display: block;
}
.footer__marque p {
  margin: 0;
  font-family: var(--font-craie);
  font-size: 24px;
  line-height: 1.3;
}
.footer__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 22px;
  font-size: 15px;
  font-weight: 500;
}
.footer__nav a,
.footer__nav span {
  color: var(--craie-2);
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.footer__nav a:nth-child(odd):hover { color: var(--rose); }
.footer__nav a:nth-child(even):hover { color: var(--bleu); }
.footer__nav span { color: var(--craie-5); }

/* --------------------------------------------------------------------------
   Pages légales
   -------------------------------------------------------------------------- */

.page-legale .header__inner,
.page-legale .footer__inner,
.page-legale .legal {
  max-width: 880px;
  padding-left: clamp(16px, 4vw, 32px);
  padding-right: clamp(16px, 4vw, 32px);
}
.page-legale .header__logo img { height: 48px; }
.page-legale .footer__inner { padding-top: 28px; padding-bottom: 28px; justify-content: flex-start; gap: 4px 22px; }

.legal {
  margin: 0 auto;
  padding-top: clamp(40px, 7vw, 80px);
  padding-bottom: clamp(40px, 7vw, 80px);
  font-size: 17px;
  line-height: 1.7;
  color: var(--craie-2);
}
.legal a { text-decoration: underline; text-underline-offset: 3px; }
.legal h1 {
  margin: 0 0 32px;
  font-family: var(--font-craie);
  font-weight: 400;
  font-size: clamp(44px, 7vw, 64px);
  line-height: 1.1;
  color: var(--craie);
}
.legal h1.h1--long { font-size: clamp(40px, 6.5vw, 60px); }
.legal h2 {
  margin: 36px 0 0;
  font-size: 22px;
  color: var(--craie);
}
.legal h2 + p, .legal h2 + ul { margin-top: 14px; }
.legal p { margin: 14px 0 0; }
.legal ul { margin: 10px 0 0; padding-left: 22px; }
.legal li { margin: 4px 0; }
.legal .bloc { margin-top: 0; }
.legal .bloc p { margin: 8px 0 0; }
.legal .bloc p:first-child { margin: 0; font-weight: 700; color: var(--craie); }
.legal .bloc--fin { margin-top: 40px; }
.legal .muted { color: var(--craie-4); margin-top: 12px; }

/* --------------------------------------------------------------------------
   Pages simples : 404, maintenance
   -------------------------------------------------------------------------- */

.page-simple { min-height: 100vh; display: flex; flex-direction: column; }
.page-simple .footer { margin-top: auto; }

.page-simple__main {
  position: relative;
  flex: 1;
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 18px;
  overflow: hidden;
}
.page-simple__main .h2 { margin: 0; }
.page-simple__main > p:not(.surtitre) {
  margin: 0;
  color: var(--craie-2);
  font-size: 18px;
  line-height: 1.6;
  max-width: 520px;
  text-wrap: pretty;
}
.page-simple__logo {
  width: min(40vw, 160px);
  height: auto;
  margin-bottom: 8px;
}
.page-simple__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 10px;
}
.page-simple__craie {
  position: absolute;
  right: 4%;
  bottom: 6%;
  width: clamp(70px, 10vw, 140px);
  height: auto;
  opacity: 0.35;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   Apparition au scroll
   JS ajoute `js-reveal` sur <html> (sauf prefers-reduced-motion), puis
   `is-visible` sur chaque [data-reveal] quand il entre dans le viewport.
   -------------------------------------------------------------------------- */

.js-reveal [data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}
.js-reveal [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* --------------------------------------------------------------------------
   Easter egg Konami → mini-jeu « Chasse aux bulles » (js/main.js → initKonami)
   -------------------------------------------------------------------------- */

.jeu-ouvert { overflow: hidden; }

.jeu {
  position: fixed;
  inset: 0;
  z-index: 900;
  display: flex;
  flex-direction: column;
  background: rgba(31, 30, 30, 0.96);
  color: var(--craie);
  animation: jeu-entree .35s ease both;
}
@keyframes jeu-entree {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.jeu__barre {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: var(--header-h);
  padding: 0 var(--pad-x);
  border-bottom: 1px solid var(--filet-leger);
  background: var(--ardoise-nav);
}
.jeu__titre {
  font-family: var(--font-craie);
  font-size: 26px;
  color: var(--rose);
  white-space: nowrap;
}
.jeu__compteurs {
  display: flex;
  gap: 20px;
  margin-left: auto;
  font-size: 15px;
  color: var(--craie-3);
  font-variant-numeric: tabular-nums;
}
.jeu__compteurs span { white-space: nowrap; }
.jeu__compteurs strong { color: var(--craie); }
@media (max-width: 480px) {
  .jeu__titre { font-size: 20px; }
  .jeu__compteurs { gap: 12px; font-size: 14px; }
}
.jeu__fermer {
  width: 44px;
  height: 44px;
  border: 1px solid var(--filet);
  border-radius: 50%;
  background: transparent;
  color: var(--craie);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.jeu__fermer:hover { background: var(--ardoise-2); }

.jeu__aire {
  position: relative;
  flex: 1;
  overflow: hidden;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}

.jeu__bulle {
  position: absolute;
  left: var(--x);
  bottom: calc(-1 * var(--taille) - 10px);
  width: var(--taille);
  height: var(--taille);
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  border: 1px solid var(--filet-fort);
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(240, 240, 240, 0.7), rgba(240, 240, 240, 0.1) 55%, transparent 70%),
    rgba(143, 207, 224, 0.22);
  box-shadow: inset 0 0 12px rgba(143, 207, 224, 0.35);
  cursor: pointer;
  animation: bulle-monte var(--duree) linear both;
}
.jeu__bulle::before {
  /* zone tactile ≥ 44px même pour les petites bulles */
  content: '';
  position: absolute;
  inset: 50%;
  width: max(100%, 44px);
  height: max(100%, 44px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
.jeu__bulle:hover { border-color: var(--bleu); }
.jeu__bulle:focus-visible { outline: 2px solid var(--bleu); outline-offset: 2px; }
.jeu__bulle.is-eclatee {
  animation: bulle-eclate .25s ease-out forwards;
  pointer-events: none;
  border-color: var(--rose);
}
@keyframes bulle-monte {
  to { transform: translate(var(--derive), calc(-100vh - var(--taille) - 20px)); }
}
@keyframes bulle-eclate {
  to { transform: scale(1.6); opacity: 0; }
}

.jeu .btn { font-family: inherit; }
.jeu__fin[hidden] { display: none; }
.jeu__fin {
  position: absolute;
  inset: 0;
  top: var(--header-h);
  display: grid;
  place-content: center;
  gap: 10px;
  padding: var(--pad-x);
  text-align: center;
  background: rgba(31, 30, 30, 0.7);
}
.jeu__craie {
  margin: 0;
  font-family: var(--font-craie);
  font-size: clamp(34px, 7vw, 56px);
  line-height: 1.05;
  color: var(--rose);
}
.jeu__consigne {
  margin: 0;
  color: var(--craie-2);
  text-wrap: balance;
}
.jeu__resultat {
  margin: 0;
  font-size: 20px;
  color: var(--craie-2);
}
.jeu__resultat strong { color: var(--craie); font-size: 1.4em; }
.jeu__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .jeu { animation: none; }
  .jeu__bulle.is-eclatee { animation: none; opacity: 0; }
}

/* ==========================================================================
   Thèmes saisonniers (CSS seul ; <html data-theme="…"> posé par le script
   inline du <head> d'index.html selon la date, ou forcé via ?theme=…).
   Par thème : --rose/--bleu redéfinis, les 3 dessins à la craie remplacés
   (content: url() sur les <img>), un décor de coin (.hero::after) et pour
   Halloween une araignée (.hero::before). Textes et photos inchangés.
   Icônes : Font Awesome Free 6.7.2 (CC BY 4.0) en SVG inline, sauf la toile.
   -------------------------------------------------------------------------- */
[data-theme] .hero__craie            { content: var(--theme-craie-1); opacity: 0.9; }
[data-theme] .carte__craie--burger   { content: var(--theme-craie-2); opacity: 0.85; }
[data-theme] .carte__craie--steak    { content: var(--theme-craie-3); opacity: 0.8; width: clamp(80px, 10vw, 160px); }
[data-theme] .header { border-bottom-color: var(--theme-filet, var(--filet)); }
[data-theme] .hero__inner { z-index: 1; }

/* Décor de coin / bandeau haut du hero */
[data-theme] .hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background: var(--theme-coin) var(--theme-coin-pos, top right) / var(--theme-coin-taille, contain) no-repeat;
  inset: var(--theme-coin-inset, 0 0 auto auto);
  width: var(--theme-coin-w, clamp(140px, 22vw, 260px));
  height: var(--theme-coin-h, clamp(140px, 22vw, 260px));
  opacity: var(--theme-coin-opacite, 0.55);
}

/* ---- Halloween : fantôme, chapeau, chat (pas de citrouille dans FA Free), toile + araignée ---- */
[data-theme="halloween"] {
  --rose: #F28C28;
  --bleu: #F6A21E;
  --theme-filet: rgba(242, 140, 40, 0.5);
  --theme-craie-1: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M40.1 467.1l-11.2 9c-3.2 2.5-7.1 3.9-11.1 3.9C8 480 0 472 0 462.2L0 192C0 86 86 0 192 0S384 86 384 192l0 270.2c0 9.8-8 17.8-17.8 17.8c-4 0-7.9-1.4-11.1-3.9l-11.2-9c-13.4-10.7-32.8-9-44.1 3.9L269.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L84.2 471c-11.3-12.9-30.7-14.6-44.1-3.9zM160 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z%22 fill=%22%23F0F0F0%22/%3E%3C/svg%3E");
  --theme-craie-2: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M64 416L168.6 180.7c15.3-34.4 40.3-63.5 72-83.7l146.9-94c3-1.9 6.5-2.9 10-2.9C407.7 0 416 8.3 416 18.6l0 1.6c0 2.6-.5 5.1-1.4 7.5L354.8 176.9c-1.9 4.7-2.8 9.7-2.8 14.7c0 5.5 1.2 11 3.4 16.1L448 416l-207.1 0 11.8-35.4 40.4-13.5c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-40.4-13.5-13.5-40.4C237 276.4 230.9 272 224 272s-13 4.4-15.2 10.9l-13.5 40.4-40.4 13.5C148.4 339 144 345.1 144 352s4.4 13 10.9 15.2l40.4 13.5L207.1 416 64 416zM279.6 141.5c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7-6.7-20.2zM32 448l448 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32z%22 fill=%22%23B48BF2%22/%3E%3C/svg%3E");
  --theme-craie-3: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M320 192l17.1 0c22.1 38.3 63.5 64 110.9 64c11 0 21.8-1.4 32-4l0 4 0 32 0 192c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-140.8L280 448l56 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-144 0c-53 0-96-43-96-96l0-223.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3l0 85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5s0 0 0 0c-10 3.5-20.8 5.5-32 5.5c-28.4 0-54-12.4-71.6-32c0 0 0 0 0 0c-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128c0 0 0 0 0 0l0-96 0-20 0-1.3C352 4.8 356.7 .1 362.6 0l.2 0c3.3 0 6.4 1.6 8.4 4.2c0 0 0 0 0 .1L384 21.3l27.2 36.3L416 64l64 0 4.8-6.4L512 21.3 524.8 4.3c0 0 0 0 0-.1c2-2.6 5.1-4.2 8.4-4.2l.2 0C539.3 .1 544 4.8 544 10.7l0 1.3 0 20 0 96c0 17.3-4.6 33.6-12.6 47.6c-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z%22 fill=%22%23F28C28%22/%3E%3C/svg%3E");
  --theme-coin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 200%22 fill=%22none%22 stroke=%22%23F0F0F0%22 stroke-width=%221.5%22 stroke-linecap=%22round%22%3E%3Cline x1=%22200%22 y1=%220%22 x2=%224%22 y2=%2242%22/%3E%3Cline x1=%22200%22 y1=%220%22 x2=%2227%22 y2=%22100%22/%3E%3Cline x1=%22200%22 y1=%220%22 x2=%2266%22 y2=%22149%22/%3E%3Cline x1=%22200%22 y1=%220%22 x2=%22119%22 y2=%22183%22/%3E%3Cline x1=%22200%22 y1=%220%22 x2=%22179%22 y2=%22199%22/%3E%3Cpath d=%22M160 0Q164 4 161 8Q167 13 165 20Q172 22 173 30Q181 30 184 37Q191 34 196 40Q198 36 200 40%22/%3E%3Cpath d=%22M120 0Q129 7 122 17Q134 25 131 40Q145 45 146 59Q161 60 167 73Q182 69 192 80Q196 72 200 80%22/%3E%3Cpath d=%22M80 0Q93 11 83 25Q100 38 96 60Q117 67 120 89Q142 89 151 110Q172 103 187 119Q194 108 200 120%22/%3E%3Cpath d=%22M40 0Q58 15 43 33Q67 51 61 80Q89 90 93 119Q123 119 135 146Q163 137 183 159Q192 144 200 160%22/%3E%3Cpath d=%22M5 0Q26 18 9 41Q38 62 31 97Q65 109 70 145Q106 145 121 178Q155 167 180 194Q191 175 200 195%22/%3E%3C/svg%3E");
}
[data-theme="halloween"] .hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  top: 0;
  right: clamp(60px, 9vw, 120px);
  width: 44px;
  height: 60px;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 90%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cline x1=%2230%22 y1=%220%22 x2=%2230%22 y2=%2246%22 stroke=%22%23F0F0F0%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M158.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l80.4-26.8L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5L160 353.9c1 52.1 43.6 94.1 96 94.1s95-41.9 96-94.1l32.3 32.3c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-57.4-57.4 80.4 26.8c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L336 174.1l0-14.1c0-31.8-18.6-59.3-45.5-72.2c-9.1-4.4-18.5 3.3-18.5 13.4l0 10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-10.8c0-10.1-9.4-17.7-18.5-13.4C194.6 100.7 176 128.2 176 160l0 14.1-48.3-48.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6z%22 fill=%22%23F28C28%22 transform=%22translate(8.0 44) scale(0.0859)%22/%3E%3C/svg%3E") top center / contain no-repeat;
  transform-origin: top center;
  animation: araignee 4s ease-in-out infinite alternate;
}
@keyframes araignee {
  from { transform: rotate(-6deg) translateY(0); }
  to   { transform: rotate(6deg) translateY(10px); }
}

/* ---- Día de los Muertos : crâne, fleurs, flamme, bandeau crânes/fleurs ---- */
[data-theme="muertos"] {
  --rose: #FF5FA2;
  --bleu: #F6A21E;
  --theme-filet: rgba(246, 162, 30, 0.5);
  --theme-craie-1: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1l0 64c0 26.5 21.5 48 48 48l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 64 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 48 0c26.5 0 48-21.5 48-48l0-64c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z%22 fill=%22%23F4F0E6%22/%3E%3C/svg%3E");
  --theme-craie-2: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192l9.9 0c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480L288 480l-20.1 0C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192l9.9 0c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z%22 fill=%22%23F6A21E%22/%3E%3C/svg%3E");
  --theme-craie-3: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z%22 fill=%22%23FF5FA2%22/%3E%3C/svg%3E");
  --theme-coin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 60%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1l0 64c0 26.5 21.5 48 48 48l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 64 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 48 0c26.5 0 48-21.5 48-48l0-64c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z%22 fill=%22%23F4F0E6%22 transform=%22translate(10.0 8) scale(0.0586)%22/%3E%3Cpath d=%22M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192l9.9 0c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480L288 480l-20.1 0C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192l9.9 0c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z%22 fill=%22%23F6A21E%22 transform=%22translate(58.1 8) scale(0.0586)%22/%3E%3Cpath d=%22M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192l9.9 0c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480L288 480l-20.1 0C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192l9.9 0c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z%22 fill=%22%23FF5FA2%22 transform=%22translate(108.1 8) scale(0.0586)%22/%3E%3Cpath d=%22M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1l0 64c0 26.5 21.5 48 48 48l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 64 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 48 0c26.5 0 48-21.5 48-48l0-64c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z%22 fill=%22%23F4F0E6%22 transform=%22translate(160.0 8) scale(0.0586)%22/%3E%3Cpath d=%22M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192l9.9 0c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480L288 480l-20.1 0C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192l9.9 0c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z%22 fill=%22%23F6A21E%22 transform=%22translate(208.1 8) scale(0.0586)%22/%3E%3Cpath d=%22M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192l9.9 0c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480L288 480l-20.1 0C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192l9.9 0c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z%22 fill=%22%23FF5FA2%22 transform=%22translate(258.1 8) scale(0.0586)%22/%3E%3Cpath d=%22M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1l0 64c0 26.5 21.5 48 48 48l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 64 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 48 0c26.5 0 48-21.5 48-48l0-64c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z%22 fill=%22%23F4F0E6%22 transform=%22translate(310.0 8) scale(0.0586)%22/%3E%3Cpath d=%22M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192l9.9 0c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480L288 480l-20.1 0C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192l9.9 0c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z%22 fill=%22%23F6A21E%22 transform=%22translate(358.1 8) scale(0.0586)%22/%3E%3C/svg%3E");
  --theme-coin-inset: 0 0 auto 0;
  --theme-coin-w: 100%;
  --theme-coin-h: clamp(32px, 5vw, 60px);
  --theme-coin-taille: auto 100%;
  --theme-coin-pos: top left;
  --theme-coin-opacite: 0.85;
}
[data-theme="muertos"] .hero::after { background-repeat: repeat-x; }

/* ---- Noël : flocon, sapin, bonhomme, guirlande + neige ---- */
[data-theme="noel"] {
  --rose: #E86464;
  --bleu: #9ED8EA;
  --theme-filet: rgba(232, 100, 100, 0.5);
  --theme-craie-1: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z%22 fill=%22%23E8F4FF%22/%3E%3C/svg%3E");
  --theme-craie-2: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208l24.9 0L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320L80 320 5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5L192 448l0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 168.5 0c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320l33.4 0c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208l24.9 0c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z%22 fill=%22%233E8A4E%22/%3E%3C/svg%3E");
  --theme-craie-3: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M341.1 140.6c-2 3.9-1.6 8.6 1.2 12c7 8.5 12.9 18.1 17.2 28.4L408 160.2l0-40.2c0-13.3 10.7-24 24-24s24 10.7 24 24l0 19.6 22.5-9.7c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-56 24-73.6 31.5c-.5 9.5-2.1 18.6-4.8 27.3c-1.2 3.8-.1 8 2.8 10.8C396.7 296.9 416 338.2 416 384c0 44.7-18.3 85-47.8 114.1c-9.9 9.7-23.7 13.9-37.5 13.9l-149.3 0c-13.9 0-27.7-4.2-37.5-13.9C114.3 469 96 428.7 96 384c0-45.8 19.3-87.1 50.1-116.3c2.9-2.8 4-6.9 2.8-10.8c-2.7-8.7-4.3-17.9-4.8-27.3L70.5 198.1l-56-24C2.4 168.8-3.3 154.7 1.9 142.5s19.3-17.8 31.5-12.6L56 139.6 56 120c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40.2L152.6 181c4.3-10.3 10.1-19.9 17.2-28.4c2.8-3.4 3.3-8.1 1.2-12C164 127.2 160 112.1 160 96c0-53 43-96 96-96s96 43 96 96c0 16.1-4 31.2-10.9 44.6zM224 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM288 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48 24l0 3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9l0-3.2c0-8.8-7.2-16-16-16s-16 7.2-16 16z%22 fill=%22%23F4F6FA%22/%3E%3C/svg%3E");
  --theme-coin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 60%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72l0 22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7l0-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8l0 32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8l0-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z%22 fill=%22%23E86464%22 transform=%22translate(11.0 8) scale(0.0547)%22/%3E%3Cpath d=%22M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z%22 fill=%22%239ED8EA%22 transform=%22translate(62.8 8) scale(0.0547)%22/%3E%3Cpath d=%22M190.5 68.8L225.3 128l-1.3 0-72 0c-22.1 0-40-17.9-40-40s17.9-40 40-40l2.2 0c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40L32 128c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l448 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-41.6 0c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88l-2.2 0c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0L152 0C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40l-72 0-1.3 0 34.8-59.2C329.1 55.9 342.9 48 357.8 48l2.2 0c22.1 0 40 17.9 40 40zM32 288l0 176c0 26.5 21.5 48 48 48l144 0 0-224L32 288zM288 512l144 0c26.5 0 48-21.5 48-48l0-176-192 0 0 224z%22 fill=%22%23E8C46A%22 transform=%22translate(111.0 8) scale(0.0547)%22/%3E%3Cpath d=%22M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72l0 22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7l0-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8l0 32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8l0-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z%22 fill=%22%23E86464%22 transform=%22translate(161.0 8) scale(0.0547)%22/%3E%3Cpath d=%22M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z%22 fill=%22%239ED8EA%22 transform=%22translate(212.8 8) scale(0.0547)%22/%3E%3Cpath d=%22M190.5 68.8L225.3 128l-1.3 0-72 0c-22.1 0-40-17.9-40-40s17.9-40 40-40l2.2 0c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40L32 128c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l448 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-41.6 0c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88l-2.2 0c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0L152 0C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40l-72 0-1.3 0 34.8-59.2C329.1 55.9 342.9 48 357.8 48l2.2 0c22.1 0 40 17.9 40 40zM32 288l0 176c0 26.5 21.5 48 48 48l144 0 0-224L32 288zM288 512l144 0c26.5 0 48-21.5 48-48l0-176-192 0 0 224z%22 fill=%22%23E8C46A%22 transform=%22translate(261.0 8) scale(0.0547)%22/%3E%3Cpath d=%22M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72l0 22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7l0-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8l0 32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8l0-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z%22 fill=%22%23E86464%22 transform=%22translate(311.0 8) scale(0.0547)%22/%3E%3Cpath d=%22M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z%22 fill=%22%239ED8EA%22 transform=%22translate(362.8 8) scale(0.0547)%22/%3E%3C/svg%3E");
  --theme-coin-inset: 0 0 auto 0;
  --theme-coin-w: 100%;
  --theme-coin-h: clamp(32px, 5vw, 60px);
  --theme-coin-taille: auto 100%;
  --theme-coin-pos: top left;
  --theme-coin-opacite: 0.9;
}
[data-theme="noel"] .hero::after { background-repeat: repeat-x; }
[data-theme="noel"] .hero__fondu::after {
  content: "";
  position: absolute;
  inset: -200px 0 0;
  pointer-events: none;
  opacity: 0.55;
  background-image:
    radial-gradient(2px 2px at 20px 30px, #fff 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 90px 110px, #fff 50%, transparent 51%),
    radial-gradient(2.5px 2.5px at 160px 60px, #fff 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 230px 150px, #fff 50%, transparent 51%);
  background-size: 260px 200px;
  animation: neige 14s linear infinite;
}
@keyframes neige { to { transform: translateY(200px); } }

/* ---- Nouvel an : coupes, étincelles, sablier, bandeau d'étoiles ---- */
[data-theme="nouvel-an"] {
  --rose: #E8C46A;
  --bleu: #F3E2B3;
  --theme-filet: rgba(232, 196, 106, 0.5);
  --theme-craie-1: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M155.6 17.3C163 3 179.9-3.6 195 1.9L320 47.5l125-45.6c15.1-5.5 32 1.1 39.4 15.4l78.8 152.9c28.8 55.8 10.3 122.3-38.5 156.6L556.1 413l41-15c16.6-6 35 2.5 41 19.1s-2.5 35-19.1 41l-71.1 25.9L476.8 510c-16.6 6.1-35-2.5-41-19.1s2.5-35 19.1-41l41-15-31.3-86.2c-59.4 5.2-116.2-34-130-95.2L320 188.8l-14.6 64.7c-13.8 61.3-70.6 100.4-130 95.2l-31.3 86.2 41 15c16.6 6 25.2 24.4 19.1 41s-24.4 25.2-41 19.1L92.2 484.1 21.1 458.2c-16.6-6.1-25.2-24.4-19.1-41s24.4-25.2 41-19.1l41 15 31.3-86.2C66.5 292.5 48.1 226 76.9 170.2L155.6 17.3zm44 54.4l-27.2 52.8L261.6 157l13.1-57.9L199.6 71.7zm240.9 0L365.4 99.1 378.5 157l89.2-32.5L440.5 71.7z%22 fill=%22%23E8C46A%22/%3E%3C/svg%3E");
  --theme-craie-2: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z%22 fill=%22%23F3E2B3%22/%3E%3C/svg%3E");
  --theme-craie-3: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l0 11c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437l0 11c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 256 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-11c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1l0-11c17.7 0 32-14.3 32-32s-14.3-32-32-32L320 0 64 0 32 0zM96 75l0-11 192 0 0 11c0 19-5.6 37.4-16 53L112 128c-10.3-15.6-16-34-16-53zm16 309c3.5-5.3 7.6-10.3 12.1-14.9L192 301.3l67.9 67.9c4.6 4.6 8.6 9.6 12.1 14.9L112 384z%22 fill=%22%23E8C46A%22/%3E%3C/svg%3E");
  --theme-coin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 60%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23E8C46A%22 transform=%22translate(9.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23F3E2B3%22 transform=%22translate(49.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23E8C46A%22 transform=%22translate(89.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23F3E2B3%22 transform=%22translate(129.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23E8C46A%22 transform=%22translate(169.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23F3E2B3%22 transform=%22translate(209.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23E8C46A%22 transform=%22translate(249.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23F3E2B3%22 transform=%22translate(289.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23E8C46A%22 transform=%22translate(329.9 14) scale(0.0352)%22/%3E%3Cpath d=%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22 fill=%22%23F3E2B3%22 transform=%22translate(369.9 14) scale(0.0352)%22/%3E%3C/svg%3E");
  --theme-coin-inset: 0 0 auto 0;
  --theme-coin-w: 100%;
  --theme-coin-h: clamp(32px, 5vw, 60px);
  --theme-coin-taille: auto 100%;
  --theme-coin-pos: top left;
  --theme-coin-opacite: 0.9;
}
[data-theme="nouvel-an"] .hero::after { background-repeat: repeat-x; }

/* ---- Saint-Valentin : cœur, visage amoureux, bague, bandeau de cœurs ---- */
[data-theme="saint-valentin"] {
  --rose: #FF6FA3;
  --bleu: #F3A6C6;
  --theme-filet: rgba(255, 111, 163, 0.5);
  --theme-craie-1: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23FF6FA3%22/%3E%3C/svg%3E");
  --theme-craie-2: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM199.3 129.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm154.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z%22 fill=%22%23F3A6C6%22/%3E%3C/svg%3E");
  --theme-craie-3: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M64 208c0 7.8 4.4 18.7 17.1 30.3C126.5 214.1 188.9 200 256 200s129.5 14.1 174.9 38.3C443.6 226.7 448 215.8 448 208c0-12.3-10.8-32-47.9-50.6C364.9 139.8 314 128 256 128s-108.9 11.8-144.1 29.4C74.8 176 64 195.7 64 208zm192 40c-47 0-89.3 7.6-122.9 19.7C166.3 280.2 208.8 288 256 288s89.7-7.8 122.9-20.3C345.3 255.6 303 248 256 248zM0 208c0-49.6 39.4-85.8 83.3-107.8C129.1 77.3 190.3 64 256 64s126.9 13.3 172.7 36.2c43.9 22 83.3 58.2 83.3 107.8l0 96c0 49.6-39.4 85.8-83.3 107.8C382.9 434.7 321.7 448 256 448s-126.9-13.3-172.7-36.2C39.4 389.8 0 353.6 0 304l0-96z%22 fill=%22%23E8C46A%22/%3E%3C/svg%3E");
  --theme-coin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 60%22%3E%3C%21-- Font Awesome Free 6.7.2 (CC BY 4.0) https://fontawesome.com/license/free --%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23FF6FA3%22 transform=%22translate(12.5 12) scale(0.0391)%22/%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23F3A6C6%22 transform=%22translate(57.5 12) scale(0.0391)%22/%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23FF6FA3%22 transform=%22translate(102.5 12) scale(0.0391)%22/%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23F3A6C6%22 transform=%22translate(147.5 12) scale(0.0391)%22/%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23FF6FA3%22 transform=%22translate(192.5 12) scale(0.0391)%22/%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23F3A6C6%22 transform=%22translate(237.5 12) scale(0.0391)%22/%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23FF6FA3%22 transform=%22translate(282.5 12) scale(0.0391)%22/%3E%3Cpath d=%22M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z%22 fill=%22%23F3A6C6%22 transform=%22translate(327.5 12) scale(0.0391)%22/%3E%3C/svg%3E");
  --theme-coin-inset: 0 0 auto 0;
  --theme-coin-w: 100%;
  --theme-coin-h: clamp(32px, 5vw, 60px);
  --theme-coin-taille: auto 100%;
  --theme-coin-pos: top left;
  --theme-coin-opacite: 0.9;
}
[data-theme="saint-valentin"] .hero::after { background-repeat: repeat-x; }

@media (prefers-reduced-motion: reduce) {
  [data-theme="halloween"] .hero::before,
  [data-theme="noel"] .hero__fondu::after { animation: none; }
}
