/*
Theme Name: 24 Janvier (Divi)
Theme URI: https://24janvier.ch
Description: Thème enfant de Divi pour 24janvier.ch, rencontre annuelle du PLR Morges. Le contenu se modifie dans le Visual Builder de Divi ; le design (couleurs, typographies, espacements) vit dans cette feuille, qui s'appuie sur les classes CSS posées sur les sections, rangées et modules.
Author: PLR Morges
Template: Divi
Version: 1.0.5
Text Domain: divi-24janvier
*/

/* Registre : mise en page et typographie de la référence n° 2 (maquette PLR
   Morges). Couleurs à la demande du client : bleu PLR #00A1E1 dominant, avec
   une touche de vert du drapeau vaudois #16A74E.
   Toutes les règles sont préfixées par #page-container : la spécificité de
   l'identifiant l'emporte sur les styles par défaut de Divi et sur le CSS
   qu'il génère pour chaque module (« .et_pb_section_2.et_pb_section »). */

:root {
  --encre: #14293D;
  --dominante: #00A1E1;
  --dominante-fonce: #0079B8;
  --dominante-survol: #00669C;
  --accent: #16A74E;
  --accent-fonce: #12873F;
  --accent-survol: #12873F;
  --pale: #EEF8FD;
  --pastille: #D6F0FB;
  --pastille-accent: #DCF2E4;
  --ligne: #BCE5F7;
  --texte: #3D4048;
  --gris: #5E6065;
  --filet: #E3E8EF;
  --blanc: #FFFFFF;

  --sans: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --enveloppe: 1220px;
}

/* ---------- Base : neutraliser les réglages par défaut de Divi ---------- */

html { scroll-behavior: smooth; }
body,
#page-container {
  color: var(--texte);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
#page-container p { padding-bottom: 0; }
#page-container h1, #page-container h2, #page-container h3,
#page-container h4, #page-container h5 { padding-bottom: 0; line-height: inherit; }
#page-container .et_pb_section { padding: 0; }
#page-container .et_pb_row { width: 100%; max-width: none; padding: 0; margin: 0 auto; }
#page-container .et_pb_module { margin-bottom: 0; }
#page-container .et_pb_row > .et_pb_column { margin-right: 0; margin-bottom: 0; }
#page-container .et_pb_blurb_content { max-width: none; margin: 0; text-align: left; }
/* Divi 5 met le texte courant en graisse 500 et en interligne 1.7em : on revient au registre. */
#page-container .et_pb_module p,
#page-container .et_pb_module li { font-weight: 400; line-height: 1.5; }

/* Rangées pilotées en grille : la grille remplace les colonnes flottantes. */
#page-container .atouts__grille,
#page-container .manifestation__grille,
#page-container .frise,
#page-container .cartes,
#page-container .pied__grille { display: grid; }
#page-container .atouts__grille > .et_pb_column,
#page-container .manifestation__grille > .et_pb_column,
#page-container .frise > .et_pb_column,
#page-container .cartes > .et_pb_column,
#page-container .pied__grille > .et_pb_column { width: auto; float: none; }
#page-container .atouts__grille::before, #page-container .atouts__grille::after,
#page-container .manifestation__grille::before, #page-container .manifestation__grille::after,
#page-container .frise::after,
#page-container .cartes::before, #page-container .cartes::after,
#page-container .pied__grille::before, #page-container .pied__grille::after { content: none; display: none; }

#page-container .et_pb_row.enveloppe {
  max-width: calc(var(--enveloppe) + 40px);
  padding-left: 20px;
  padding-right: 20px;
}

/* ---------- Éléments communs ---------- */

#page-container .surtitre p {
  font: 500 15px/1.2 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}
#page-container .surtitre--trait {
  padding-bottom: 12px;
  background: linear-gradient(var(--accent), var(--accent)) left bottom / 54px 2px no-repeat;
}
#page-container .surtitre--couleur p { color: var(--dominante-fonce); }
#page-container .surtitre--clair p { color: rgba(255, 255, 255, .85); }

#page-container .titre-section .et_pb_module_header {
  color: var(--encre);
  font: 700 45px/1.12 var(--serif);
  letter-spacing: -.005em;
}
#page-container .chapeau p {
  color: var(--texte);
  font: 400 20px/1.42 var(--serif);
}

/* Boutons (la classe est posée sur le lien a.et_pb_button lui-même). */
#page-container .et_pb_button.bouton,
#page-container .et_pb_button.bouton:hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 34px;
  border: 0;
  border-radius: 3px;
  color: var(--blanc);
  font: 700 17.5px/1 var(--sans) !important;
  line-height: 1 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .15s !important;
}
#page-container .et_pb_button.bouton--principal { background-color: var(--dominante-fonce); }
#page-container .et_pb_button.bouton--principal:hover { background-color: var(--dominante-survol); }
#page-container .et_pb_button.bouton--accent { background-color: var(--accent); }
#page-container .et_pb_button.bouton--accent:hover { background-color: var(--accent-survol); }
#page-container .et_pb_button.bouton--petit,
#page-container .et_pb_button.bouton--petit:hover {
  min-height: 46px;
  padding: 0 30px;
  font-size: 16px !important;
  letter-spacing: 0;
  text-transform: none;
}
/* La flèche de Divi (police d'icônes, au survol) est remplacée par la nôtre. */
#page-container .et_pb_button.bouton::after,
#page-container .et_pb_button.bouton:hover::after { content: none !important; display: none; }
#page-container .et_pb_button.bouton--fleche::after,
#page-container .et_pb_button.bouton--fleche:hover::after {
  content: "" !important;
  display: block;
  position: static;
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  opacity: 1;
  top: auto;
  transform: none;
  font-size: 17.5px !important;
  line-height: 1 !important;
  background: var(--icone-fleche-blanche) center / contain no-repeat;
}

/* Pastilles : cercle et icône dessinés par le ::before du contenu du blurb. */
#page-container .atout .et_pb_blurb_content::before,
#page-container .etape .et_pb_blurb_content::before,
#page-container .carte .et_pb_blurb_content::before {
  content: "";
  display: block;
  flex: none;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background-color: var(--pastille);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 40px;
}

#page-container .et_pb_row.entete-section { max-width: 820px; text-align: center; }
#page-container .entete-section .surtitre { margin-bottom: 12px; }
#page-container .entete-section .chapeau { margin-top: 16px; }
#page-container .entete-section--serre .titre-section .et_pb_module_header { font-size: 42px; }

/* ---------- En-tête ---------- */

#page-container .entete { background-color: var(--blanc); z-index: 20; }
#page-container .entete__in { display: flex; align-items: center; height: 76px; }
#page-container .entete__in::after { content: none; display: none; }
/* Divi impose 50 % par colonne en largeur téléphone pour cette structure : on force. */
#page-container .entete__in > .et_pb_column { width: auto !important; flex: 0 0 auto; float: none; }
#page-container .entete__in > .logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  padding-top: 4px;
  border-bottom: 2.5px solid var(--dominante);
}
#page-container .logo__nom p { font: 700 32px/1 var(--serif); letter-spacing: -.01em; }
#page-container .logo__nom a { color: var(--encre); text-decoration: none; }
#page-container .logo__sous p { margin-top: 2px; padding-right: 26px; color: var(--encre); font: 600 16px/1.1 var(--sans); }
#page-container .entete__in > .entete__nav { margin-left: auto !important; }
#page-container .entete__action { margin-left: 42px; }

#page-container .nav .et-menu { display: flex; gap: 30px; margin: 0; }
#page-container .nav .et-menu > li { padding: 0; margin: 0; }
#page-container .nav .et-menu > li > a {
  position: relative;
  padding: 8px 0;
  color: #212532;
  font: 500 17.5px/1 var(--sans);
  text-decoration: none;
  opacity: 1;
}
#page-container .nav .et-menu > li > a:hover { color: var(--dominante-fonce); opacity: 1; }
#page-container .nav .et-menu > li.est-actif > a { color: var(--dominante-fonce); }
#page-container .nav .et-menu > li.est-actif > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: var(--dominante);
}
#page-container .nav .mobile_menu_bar::before { color: var(--encre); }
#page-container .nav .et_mobile_menu {
  border-top: 3px solid var(--dominante);
  background-color: var(--blanc);
  padding: 8px 20px 16px;
}
#page-container .nav .et_mobile_menu li a {
  padding: 12px 0;
  border-bottom: 1px solid var(--filet);
  color: var(--encre);
  font: 500 19px/1.2 var(--sans);
}

/* ---------- Bannière ---------- */

#page-container .banniere {
  display: flex;
  align-items: center;
  min-height: 485px;
  color: var(--blanc);
  background-position: 50% 46%;
}
#page-container .banniere__contenu { padding-top: 52px; padding-bottom: 38px; }
#page-container .banniere .surtitre p { color: rgba(255, 255, 255, .92); font-size: 17.5px; }
#page-container .banniere__titre { margin: 16px 0 10px; }
#page-container .banniere__titre .et_pb_module_header {
  color: var(--blanc);
  font: 600 105px/1 var(--sans);
  letter-spacing: -.015em;
}
#page-container .banniere__sous p {
  color: var(--blanc);
  font: 400 37px/1.2 var(--serif);
  letter-spacing: -.005em;
}
/* Les deux informations côte à côte. */
#page-container .info {
  display: inline-block;
  vertical-align: top;
  margin: 34px 58px 30px 0;
}
#page-container .info .et_pb_blurb_container { position: relative; padding-left: 55px; }
#page-container .info .et_pb_blurb_container::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 38px;
  height: 38px;
  transform: translateY(-50%);
  background: center / contain no-repeat;
}
#page-container .info--date .et_pb_blurb_container::before { background-image: var(--icone-calendrier-blanc); }
#page-container .info--lieu .et_pb_blurb_container::before { background-image: var(--icone-repere-blanc); }
#page-container .info .et_pb_module_header { color: var(--blanc); font: 500 20px/1.38 var(--sans); }
#page-container .info .et_pb_blurb_description p { color: rgba(255, 255, 255, .92); font: 400 20px/1.38 var(--sans); }

/* ---------- Atouts ---------- */

#page-container .atouts { padding: 26px 0 30px; }
#page-container .atouts__grille { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#page-container .atouts__grille > .et_pb_column + .et_pb_column { border-left: 1px solid var(--filet); }
#page-container .atout .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 16px;
  text-align: center;
}
#page-container .atout .et_pb_blurb_content::before { margin-bottom: 18px; }
#page-container .atout .et_pb_blurb_container { width: 100%; text-align: center; }
#page-container .atout .et_pb_module_header {
  margin-bottom: 6px;
  color: var(--encre);
  font: 700 24px/1.2 var(--serif);
}
#page-container .atout .et_pb_blurb_description p { color: #4A4F57; font-size: 19.5px; line-height: 1.4; }

/* ---------- La manifestation ---------- */

#page-container .manifestation { position: relative; padding: 36px 0 26px; }
#page-container .manifestation__grille {
  position: static;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 340px;
}
#page-container .manifestation__grille > .et_pb_column { position: static; }
#page-container .manifestation__texte { padding: 0 40px 0 4px; }
#page-container .manifestation__texte .surtitre { margin-bottom: 26px; }
#page-container .manifestation__texte .titre-section { max-width: 530px; margin-bottom: 16px; }
#page-container .manifestation__texte .chapeau { max-width: 560px; margin-bottom: 24px; }
#page-container .manifestation__photo {
  position: absolute;
  top: 36px;
  right: 0;
  width: calc(50% - 5px);
  height: 340px;
  margin: 0;
}
#page-container .manifestation__photo .et_pb_image_wrap { display: block; width: 100%; height: 100%; }
#page-container .manifestation__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 60%;
  border-radius: 3px 0 0 3px;
}

/* ---------- Histoire ---------- */

#page-container .histoire { padding: 70px 0 76px; }
#page-container .frise {
  position: relative;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  margin-top: 50px;
}
#page-container .frise::before {
  content: "";
  display: block;
  position: absolute;
  top: 41px;
  left: 61px;
  right: 20px;
  height: 1px;
  background: var(--ligne);
}
#page-container .etape .et_pb_blurb_content::before {
  position: relative;
  z-index: 1;
  margin-bottom: 22px;
  box-shadow: 0 0 0 10px var(--blanc);
}
#page-container .etape--vaud .et_pb_blurb_content::before { background-color: var(--pastille-accent); }
/* L'année (1er paragraphe) passe au-dessus du titre. */
#page-container .etape .et_pb_blurb_container { display: flex; flex-direction: column; }
#page-container .etape .et_pb_blurb_description { display: contents; }
#page-container .etape .et_pb_blurb_description p:first-child {
  order: -1;
  margin-bottom: 6px;
  color: var(--dominante-fonce);
  font: 600 15px/1.2 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
#page-container .etape--vaud .et_pb_blurb_description p:first-child { color: var(--accent-fonce); }
#page-container .etape .et_pb_module_header {
  margin-bottom: 8px;
  color: var(--encre);
  font: 700 24px/1.2 var(--serif);
}
#page-container .etape .et_pb_blurb_description p + p { color: var(--gris); font-size: 17.5px; line-height: 1.5; }

/* ---------- Prochaine édition ---------- */

#page-container .edition { padding: 52px 0 28px; }
#page-container .cartes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 30px; }
#page-container .cartes > .et_pb_column { display: flex; }
#page-container .carte { flex: 1; }
#page-container .carte .et_pb_blurb_content {
  display: flex;
  gap: 22px;
  height: 100%;
  padding: 22px 26px 24px 22px;
  border-radius: 5px;
  background: var(--blanc);
  box-shadow: 0 1px 2px rgba(0, 80, 130, .05);
}
#page-container .carte .et_pb_blurb_content::before { width: 74px; height: 74px; background-size: 36px; }
#page-container .carte .et_pb_blurb_container { display: flex; flex-direction: column; align-items: flex-start; padding-top: 6px; }
#page-container .carte .et_pb_module_header { margin-bottom: 4px; color: var(--encre); font: 600 22px/1.25 var(--sans); }
#page-container .carte .et_pb_blurb_description { display: flex; flex: 1; flex-direction: column; }
#page-container .carte .et_pb_blurb_description p:first-child { margin-bottom: 14px; color: var(--gris); font-size: 18px; line-height: 1.42; }
#page-container .carte .et_pb_blurb_description p:last-child { margin-top: auto; font: 600 18px/1.2 var(--sans); }
#page-container .carte .et_pb_blurb_description p:last-child a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--dominante-fonce);
  text-decoration: none;
}
#page-container .carte .et_pb_blurb_description p:last-child a::after {
  content: "";
  width: 1.05em;
  height: 1.05em;
  background: var(--icone-fleche-verte) center / contain no-repeat;
}
#page-container .carte .et_pb_blurb_description p:last-child a:hover { text-decoration: underline; }

/* ---------- Appel / Inscription ---------- */

#page-container .appel { padding: 66px 0 72px; color: var(--blanc); text-align: center; }
#page-container .appel__titre { margin: 12px 0 8px; }
#page-container .appel__titre .et_pb_module_header { color: var(--blanc); font: 400 40px/1.15 var(--serif); }
#page-container .appel__texte { max-width: 640px; margin: 0 auto 26px; }
#page-container .appel__texte p { color: rgba(255, 255, 255, .92); font: 400 21px/1.4 var(--serif); }
#page-container .appel .et_pb_button_module_wrapper { text-align: center; }

/* ---------- FAQ (modules Bascule de Divi) ---------- */

#page-container .faq { padding: 30px 0 64px; }
#page-container .accordeon { margin-top: 18px; }
#page-container .accordeon > .et_pb_column {
  border: 1px solid var(--filet);
  border-radius: 3px;
  counter-reset: faq;
}
#page-container .question {
  counter-increment: faq;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
#page-container .question + .question { border-top: 1px solid var(--filet); }
#page-container .question .et_pb_toggle_title {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 56px;
  padding: 8px 30px;
  color: #2A2C33;
  font: 400 18.5px/1.35 var(--sans);
  cursor: pointer;
}
#page-container .question .et_pb_toggle_title::before {
  content: counter(faq, decimal-leading-zero);
  position: static;
  flex: none;
  order: -1;
  width: 30px;
  margin: 0;
  color: var(--dominante-fonce);
  font: 600 18.5px/1 var(--sans);
  /* Divi impose sa police d'icônes (ETmodules) ici en !important : les chiffres
     du numéro s'affichaient en icônes superposées. */
  font-family: var(--sans) !important;
  transform: none;
}
#page-container .question .et_pb_toggle_title::after {
  content: "";
  flex: none;
  width: 22px;
  height: 22px;
  margin-left: auto;
  background: var(--icone-chevron) center / contain no-repeat;
  transition: transform .2s;
}
#page-container .question.et_pb_toggle_open .et_pb_toggle_title::after { transform: rotate(180deg); }
#page-container .question .et_pb_toggle_title:hover { color: var(--encre); }
#page-container .question .et_pb_toggle_content { padding: 0 70px 20px 84px; color: var(--gris); font-size: 17px; }
#page-container .question .et_pb_toggle_content a { color: var(--dominante-fonce); }

/* ---------- Pied de page ---------- */

#page-container .pied { padding: 50px 0 26px; }
#page-container .pied__grille {
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 34px;
  /* filet limité à la largeur du contenu (la rangée porte la marge intérieure) */
  background: linear-gradient(var(--filet), var(--filet)) 20px 100% / calc(100% - 40px) 1px no-repeat;
}
#page-container .pied__col--marque { display: flex; flex-direction: column; align-items: flex-start; }
#page-container .pied__col--marque .logo__sous { padding-bottom: 12px; border-bottom: 2.5px solid var(--dominante); }
#page-container .pied__col--marque .pied__texte { margin-top: 18px; }
#page-container .pied__texte h2 {
  margin-bottom: 12px;
  color: var(--encre);
  font: 600 14px/1.2 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
#page-container .pied__texte p { max-width: 300px; color: var(--gris); font-size: 16px; line-height: 1.55; }
#page-container .pied__texte a { color: var(--dominante-fonce); text-decoration: none; }
#page-container .pied__texte a:hover { text-decoration: underline; }
#page-container .pied__liens ul { padding: 0; list-style: none; }
#page-container .pied__liens li { margin-bottom: 6px; font-size: 16px; }
#page-container .pied__droits { padding-top: 20px; }
#page-container .pied__droits p { color: var(--gris); font-size: 14px; }

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
  #page-container .nav .et-menu { gap: 22px; }
  #page-container .nav .et-menu > li > a { font-size: 15.5px; }
  #page-container .banniere__titre .et_pb_module_header { font-size: 80px; }
}

@media (max-width: 900px) {
  #page-container .entete__in { height: 66px; }
  #page-container .logo__nom p { font-size: 25px; }
  #page-container .logo__sous p { font-size: 14px; }
  #page-container .entete__action { display: none; }

  #page-container .banniere { min-height: 0; }
  #page-container .banniere__contenu { padding-top: 44px; padding-bottom: 44px; }
  #page-container .banniere__titre .et_pb_module_header { font-size: 60px; }
  #page-container .banniere__sous p { font-size: 26px; }
  #page-container .info { display: block; margin: 0 0 16px; }
  #page-container .info--date { margin-top: 26px; }
  #page-container .info--lieu { margin-bottom: 26px; }

  #page-container .atouts__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
  #page-container .atouts__grille > .et_pb_column:nth-child(3) { border-left: 0; }

  #page-container .titre-section .et_pb_module_header,
  #page-container .entete-section--serre .titre-section .et_pb_module_header { font-size: 34px; }
  #page-container .chapeau p { font-size: 18.5px; }

  #page-container .manifestation { padding: 40px 0 0; }
  #page-container .manifestation__grille { grid-template-columns: 1fr; min-height: 0; }
  #page-container .manifestation__texte { padding: 0; }
  #page-container .manifestation__photo { position: static; width: auto; height: 260px; margin: 34px -20px 0; }
  #page-container .manifestation__photo img { border-radius: 0; }

  #page-container .histoire { padding: 56px 0; }
  #page-container .frise { grid-template-columns: 1fr; gap: 30px; margin-top: 36px; }
  #page-container .frise::before { top: 0; bottom: 0; left: 57px; right: auto; width: 1px; height: auto; }
  #page-container .etape .et_pb_blurb_content { display: grid; grid-template-columns: 74px 1fr; column-gap: 20px; }
  #page-container .etape .et_pb_blurb_content::before { width: 74px; height: 74px; margin-bottom: 0; background-size: 34px; }

  #page-container .edition { padding: 46px 0 40px; }
  #page-container .cartes { grid-template-columns: 1fr; gap: 16px; }

  #page-container .appel__titre .et_pb_module_header { font-size: 32px; }
  #page-container .appel__texte p { font-size: 19px; }

  #page-container .question .et_pb_toggle_title { gap: 14px; padding: 12px 16px; }
  #page-container .question .et_pb_toggle_title::before { width: 24px; }
  #page-container .question .et_pb_toggle_content { padding: 0 16px 18px 54px; }

  #page-container .pied__grille { grid-template-columns: 1fr 1fr; gap: 30px; }
}

@media (max-width: 520px) {
  #page-container .banniere__titre .et_pb_module_header { font-size: 50px; }
  #page-container .banniere__sous p { font-size: 23px; }
  #page-container .et_pb_button.bouton,
  #page-container .et_pb_button.bouton:hover { padding: 0 22px; font-size: 15px !important; }
  #page-container .atouts__grille { grid-template-columns: 1fr; }
  #page-container .atouts__grille > .et_pb_column + .et_pb_column { border-left: 0; border-top: 1px solid var(--filet); padding-top: 26px; }
  #page-container .titre-section .et_pb_module_header,
  #page-container .entete-section--serre .titre-section .et_pb_module_header { font-size: 30px; }
  #page-container .carte .et_pb_blurb_content { gap: 16px; padding: 20px 18px; }
  #page-container .carte .et_pb_blurb_content::before { width: 60px; height: 60px; background-size: 30px; }
  #page-container .pied__grille { grid-template-columns: 1fr; }
}

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

/* ---------- Icônes (SVG en data URI, générées par icones.rb) ---------- */

#page-container .icone--tradition .et_pb_blurb_content::before { background-image: var(--icone-tradition); }
#page-container .icone--convivial .et_pb_blurb_content::before { background-image: var(--icone-convivial); }
#page-container .icone--soutien .et_pb_blurb_content::before { background-image: var(--icone-soutien); }
#page-container .icone--institution .et_pb_blurb_content::before { background-image: var(--icone-institution); }
#page-container .icone--chateau .et_pb_blurb_content::before { background-image: var(--icone-chateau); }
#page-container .icone--plume .et_pb_blurb_content::before { background-image: var(--icone-plume); }
#page-container .icone--drapeau .et_pb_blurb_content::before { background-image: var(--icone-drapeau-vaud); }
#page-container .icone--bouclier .et_pb_blurb_content::before { background-image: var(--icone-bouclier); }
#page-container .icone--calendrier .et_pb_blurb_content::before { background-image: var(--icone-calendrier); }
#page-container .icone--repere .et_pb_blurb_content::before { background-image: var(--icone-repere); }
#page-container .icone--inscription .et_pb_blurb_content::before { background-image: var(--icone-inscription); }

:root {
  --icone-tradition: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3.5 19c.6-3.2 2.8-5 5.5-5s4.9 1.8 5.5 5'/%3E%3Ccircle cx='16.5' cy='9' r='2.5'/%3E%3Cpath d='M15.6 13.6c2.4-.2 4.4 1.4 4.9 4.4'/%3E%3C/svg%3E");
  --icone-convivial: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.4 4.2 9.1 3l1.1 4.5a2.5 2.5 0 0 1-1.8 3l-.3.1a2.5 2.5 0 0 1-3-1.8Z'/%3E%3Cpath d='M7.7 10.7 8.9 16M6.6 16.5l4.6-1.1'/%3E%3Cpath d='M19.6 4.2 14.9 3l-1.1 4.5a2.5 2.5 0 0 0 1.8 3l.3.1a2.5 2.5 0 0 0 3-1.8Z'/%3E%3Cpath d='M16.3 10.7 15.1 16M17.4 16.5l-4.6-1.1'/%3E%3Cpath d='M12 .8v1.6M10.2 1.5l.7.9M13.8 1.5l-.7.9'/%3E%3C/svg%3E");
  --icone-soutien: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 19v-5M10 19V9M14 19v-7M18 19V5'/%3E%3C/svg%3E");
  --icone-institution: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9.5 12 4l9 5.5M5.5 10.5v7M9.8 10.5v7M14.2 10.5v7M18.5 10.5v7M3 20h18'/%3E%3C/svg%3E");
  --icone-chateau: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20.5V8h2.6v2.2h2.2V8h4.4v2.2h2.2V8H19v12.5ZM3.5 20.5h17'/%3E%3Cpath d='M10 20.5v-4.2a2 2 0 0 1 4 0v4.2'/%3E%3C/svg%3E");
  --icone-plume: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 3.5c-7.5.3-12.4 5.3-13.4 12.6L4.5 20.5l4.3-2.1C16 17.3 19.7 11 20 3.5Z'/%3E%3Cpath d='m6.6 16.1 6.9-6.9'/%3E%3C/svg%3E");
  --icone-drapeau: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 21V3.5'/%3E%3Cpath d='M5.5 4.5h11.5l-2.4 3.7 2.4 3.8H5.5'/%3E%3C/svg%3E");
  --icone-bouclier: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v5.2c0 4.6-3 8.3-7 9.8-4-1.5-7-5.2-7-9.8V6Z'/%3E%3Cpath d='m9 12 2.2 2.2L15.5 10'/%3E%3C/svg%3E");
  --icone-calendrier: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 9.5h17M8 3v4M16 3v4'/%3E%3Cpath stroke-width='2.2' d='M8 13h.01M12 13h.01M16 13h.01M8 16.5h.01M12 16.5h.01'/%3E%3C/svg%3E");
  --icone-repere: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E");
  --icone-inscription: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='4.5' width='12' height='16' rx='2'/%3E%3Cpath d='M8.5 3h4v3h-4zM8 10.5h5M8 14h3'/%3E%3Cpath d='m20 11.5-6 6-.9 2.6 2.6-.9 6-6Z'/%3E%3C/svg%3E");
  --icone-drapeau-vaud: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312873F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 21V3.5'/%3E%3Cpath d='M5.5 4.5h11.5l-2.4 3.7 2.4 3.8H5.5'/%3E%3C/svg%3E");
  --icone-calendrier-blanc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 9.5h17M8 3v4M16 3v4'/%3E%3Cpath stroke-width='2.2' d='M8 13h.01M12 13h.01M16 13h.01M8 16.5h.01M12 16.5h.01'/%3E%3C/svg%3E");
  --icone-repere-blanc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E");
  --icone-fleche-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --icone-fleche-verte: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230079B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --icone-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300A1E1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
