/*
	Theme Name: Ville de Lannion
	Theme URI: https://www.lannion.bzh
	Description: Theme de la ville de Lannion
	Version: 1.0.0
	Author: Fabien Salou
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/
:root {
    --primary-color: #2dd09c;
}

:root {
    --primary-color: #2dd09c;
    --secondary-color: #f11655;
    --troisieme-color: #0a4a72;
}
@font-face {
  font-family: 'Luciole';
  src: url('fonts/Luciole-Regular.woff2') format('woff2'),
       url('fonts/Luciole-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Luciole';
  src: url('fonts/Luciole-Italic.woff2') format('woff2'),
       url('fonts/Luciole-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Luciole';
  src: url('fonts/Luciole-Bold.woff2') format('woff2'),
       url('fonts/Luciole-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Luciole';
  src: url('fonts/Luciole-BoldItalic.woff2') format('woff2'),
       url('fonts/Luciole-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}


/* --- Overlay --- */
#lannion-mobile-nav .menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 9999;
}
#lannion-mobile-nav .menu-overlay.open {
  display: block;
}

/* --- Bouton burger --- */
#lannion-mobile-nav .burger-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  line-height: 0;
}
#lannion-mobile-nav .burger-button span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff; /* adapter à la couleur de votre header */
  border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}
#lannion-mobile-nav .burger-button:focus-visible {
  outline: 3px solid #B0D4EF;
  outline-offset: 2px;
}

/* --- Panneau menu latéral --- */
#lannion-mobile-nav .mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  height: 100vh;
  width: 85%;
  max-width: 320px;
  background: #003865;
  color: #fff;
  z-index: 10000;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
  font-family: 'Poppins', sans-serif;
}
#lannion-mobile-nav .mobile-menu.open {
  right: 0;
}

/* --- En-tête du panneau --- */
#lannion-mobile-nav .menu-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
}
#lannion-mobile-nav .menu-brand {
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: 'Poppins', sans-serif;
}

/* --- Bouton fermer --- */
#lannion-mobile-nav .close-button {
  background: rgba(255, 255, 255, 0.12);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: 'Poppins', sans-serif;
  line-height: 1;
}
#lannion-mobile-nav .close-button:hover {
  background: rgba(255, 255, 255, 0.22);
}
#lannion-mobile-nav .close-button:focus-visible {
  outline: 3px solid #B0D4EF;
  outline-offset: 2px;
}
#lannion-mobile-nav .close-icon {
  font-size: 15px;
  line-height: 1;
}

/* --- Zone de défilement --- */
#lannion-mobile-nav .menu-scroll {
  overflow-y: auto;
  flex: 1;
  padding: 4px 0 20px;
}
#lannion-mobile-nav .menu-scroll::-webkit-scrollbar {
  width: 3px;
}
#lannion-mobile-nav .menu-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}

/* --- Liste racine --- */
#lannion-mobile-nav ul.mobile-menu-level {
  list-style: none;
  padding: 0 10px;
  margin: 0;
}
#lannion-mobile-nav ul.mobile-menu-level > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
#lannion-mobile-nav ul.mobile-menu-level > li:last-child {
  border-bottom: none;
}

/* --- Tous les boutons toggle (reset commun) --- */
#lannion-mobile-nav .submenu-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.15s;
  font-family: 'Poppins', sans-serif;
}
#lannion-mobile-nav .submenu-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}
#lannion-mobile-nav .submenu-toggle:focus-visible {
  outline: 3px solid #B0D4EF;
  outline-offset: 2px;
}

/* Niveau 1 : blanc 700 */
#lannion-mobile-nav ul.mobile-menu-level > li > .submenu-toggle {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 13px 8px;
}

/* Niveau 2 : blanc 600 */
#lannion-mobile-nav ul.mobile-submenu > li > .submenu-toggle {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 8px;
}

/* --- Chevron animé --- */
#lannion-mobile-nav .chevron {
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(255, 255, 255, 0.6);
  border-bottom: 2px solid rgba(255, 255, 255, 0.6);
  transform: rotate(-45deg);
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-right: 2px;
}
#lannion-mobile-nav .submenu-toggle[aria-expanded="true"] .chevron {
  transform: rotate(45deg);
}

/* --- Sous-menus (tous niveaux) --- */
#lannion-mobile-nav ul.mobile-submenu {
  list-style: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  padding-left: 10px;
  margin: 0;
}
#lannion-mobile-nav ul.mobile-submenu.open {
  max-height: 800px;
}

/* Bordure gauche pour sous-sous-menus */
#lannion-mobile-nav ul.mobile-submenu ul.mobile-submenu {
  border-left: 2px solid rgba(255, 255, 255, 0.15);
  margin-left: 2px;
  padding-left: 10px;
}

/* --- Liens terminaux : blanc 400 --- */
#lannion-mobile-nav .mobile-submenu a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 400;
  padding: 7px 8px;
  border-radius: 5px;
  transition: background 0.15s;
  font-family: 'Poppins', sans-serif;
}
#lannion-mobile-nav .mobile-submenu a::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
}
#lannion-mobile-nav .mobile-submenu a:hover {
  background: rgba(255, 255, 255, 0.12);
}
#lannion-mobile-nav .mobile-submenu a:hover::before {
  background: #B0D4EF;
}
#lannion-mobile-nav .mobile-submenu a:focus-visible {
  outline: 3px solid #B0D4EF;
  outline-offset: 2px;
}

/* Lien page courante */
#lannion-mobile-nav .mobile-submenu a[aria-current="page"] {
  background: rgba(176, 212, 239, 0.15);
  font-weight: 600;
}
#lannion-mobile-nav .mobile-submenu a[aria-current="page"]::before {
  background: #B0D4EF;
}

/* --- Masquer sur desktop --- */
@media (min-width: 992px) {
  #lannion-mobile-nav .burger-button,
  #lannion-mobile-nav .mobile-menu,
  #lannion-mobile-nav .menu-overlay {
    display: none !important;
  }
}


.encart-maire {
  max-width: 740px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 210px 1fr;
  overflow: hidden;
  background: #fff;
  border: 1.5px solid #111;
  font-family: 'Poppins', sans-serif;
}

.encart-maire__photo {
  position: relative;
  overflow: hidden;
  min-height: 300px;
}

.encart-maire__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.encart-maire__photo-overlay {
  position: absolute;
  inset: 0;
}

.encart-maire__body {
  padding: 2rem 2rem 1.75rem 1.75rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.25rem;
  border-left: 1.5px solid #111;
}

.encart-maire__eyebrow {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #999;
  display: flex;
  align-items: center;
  gap: 10px;
}

.encart-maire__eyebrow::before {
  content: "";
  display: block;
  width: 20px;
  height: 1.5px;
  background: #111;
  flex-shrink: 0;
}

.encart-maire__titre {
  font-size: 20px;
  font-weight: 700;
  color: #f11655;
  line-height: 1.3;
  margin: 0.5rem 0 0;
  letter-spacing: -0.02em;
}

.encart-maire__titre span {
  font-weight: 300;
  font-style: italic;
  color: #555;
}

.encart-maire__rule {
  width: 32px;
  height: 2px;
  background: #111;
}

.encart-maire__byline {
  font-size: 1.4rem;
  font-weight: 300;
  color: #777;
  line-height: 1.7;
  margin: 0.5rem 0 0;
}

.encart-maire__byline strong {
  font-weight: 600;
  color: #111;
}

.encart-maire__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 1.25rem;
  border-top: 1px solid #e5e5e5;
}

.encart-maire__cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #111;
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 10px 20px;
  text-decoration: none !important;
  transition: background 0.18s;
}

.encart-maire__cta:hover {
  background: #f11655;
}

.encart-maire__meta {
  font-size: 1.2rem;
  font-weight: 300;
  color: #bbb;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (max-width: 520px) {
  .encart-maire {
    grid-template-columns: 1fr;
  }
  .encart-maire__photo {
    min-height: 200px;
  }
  .encart-maire__photo-overlay {
    background: linear-gradient(to bottom, transparent 38%, #fff 95%);
  }
  .encart-maire__body {
    border-left: none;
    border-top: 1.5px solid #111;
    padding: 1.5rem;
  }
  .encart-maire__titre {
    font-size: 2.5rem;
  }
}
#sp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem}
    #sp-overlay.sp-hidden{display:none}
    #sp-box{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;position:relative;max-height:90vh;overflow-y:auto}
    #sp-box h2{margin:0 1rem .75rem 0;font-size:1.4rem;line-height:1.3}
    #sp-body{
      font-size: 1.5rem;
      font-weight: 400;
      font-family: 'Luciole', Arial, sans-serif;
      margin-top: 10px;
    }
    #sp-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;line-height:1;color:#888}
 
/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/poppins-v24-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/poppins-v24-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/poppins-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/poppins-v24-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/lato-v25-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/lato-v25-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/lato-v25-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/lato-v25-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

#cm2026 { font-family: 'poppins', sans-serif; padding: 2rem 0; }

#cm2026 #cm-maire-hero {
  border-radius: 20px;
  overflow: hidden;
  background: #0C447C;
  display: flex;
  align-items: stretch;
  min-height: 320px;
  position: relative;
  margin-bottom: 2.5rem;
}

#cm2026 .hero-deco-circle { position: absolute; border-radius: 50%; background: rgba(255,255,255,0.04); }
#cm2026 .hero-deco-circle.c1 { width: 320px; height: 320px; top: -80px; right: -60px; }
#cm2026 .hero-deco-circle.c2 { width: 180px; height: 180px; bottom: -60px; right: 80px; }
#cm2026 .hero-deco-circle.c3 { width: 80px; height: 80px; top: 40px; right: 240px; background: rgba(255,255,255,0.06); }

#cm2026 .hero-photo-col {
  flex: 0 0 300px;
  border: 20px solid #0e457c;
}
#cm2026 .hero-photo-col .elu-photo-wrap {
  position: relative;
  display: inline-block; /* colle au contenu de l'image */
}
#cm2026 .hero-photo-col img { width: 280px; … }   /* était 220px */

#cm2026 .hero-content { flex: 1; padding: 2.5rem 2.5rem 2.5rem 2rem; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 2; }

#cm2026 .hero-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 1.25rem; }
#cm2026 .hero-eyebrow .pill { display: inline-block; background: rgba(255,255,255,0.12); color: #B5D4F4; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 14px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.15); }
#cm2026 .hero-eyebrow .mandat { font-size: 12px; color: #85B7EB; }

#cm2026 .hero-name { font-size: 2.4rem; font-weight: 600; color: #fff; line-height: 1.1; margin-bottom: 1.25rem; letter-spacing: -0.01em; }
#cm2026 .hero-name span { color: #B5D4F4; }
#cm2026 img.image-maire {
  border-radius: 10px;
}
#cm2026 .hero-quote {
  font-size: 1.4rem;
  color: rgb(255 255 255);
  line-height: 1.65;
  font-weight: 600;
  max-width: 480px;
  padding-left: 1rem;
  border-left: 2px solid #378ADD;
  margin-bottom: 2rem;
  /* font-style: italic; */
}
#cm2026 .hero-stats { display: flex; gap: 2rem; }
#cm2026 .hero-stat .num {
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  margin-bottom: 3px;
}
#cm2026 .hero-stat .lbl {
  font-size: 11px;
  font-weight: 800;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
#cm2026 .hero-divider { width: 1px; background: rgba(255,255,255,0.12); align-self: stretch; }

#cm2026 .cm-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 1rem; }
#cm2026 .cm-filters button { font-size: 13px; padding: 5px 16px; border-radius: 20px; border: 1px solid #dee2e6; background: #fff; color: #6c757d; cursor: pointer; transition: all 0.15s; }
#cm2026 .cm-filters button.active, #cm2025 .cm-filters button:hover { background: #0C447C; color: #fff; border-color: #0C447C; }
#cm2026 .cm-count { font-size: 13px; color: #6c757d; margin-bottom: 1.25rem; }

#cm2026 .elu-card { background: #fff; border: 1px solid #e9ecef; border-radius: 12px; overflow: hidden; transition: transform 0.15s, border-color 0.15s; height: 100%; }
#cm2026 .elu-card:hover { transform: translateY(-3px); border-color: #adb5bd; }
/* Remplacer la règle existante */
#cm2026 .elu-card img:not(.elu-logo-badge) { 
  width: 100%; 
  aspect-ratio: 2/3; 
  object-fit: cover; 
  object-position: top; 
  display: block; 
}

#cm2026 .elu-photo-wrap {
  position: relative;
}

#cm2026 .elu-logo-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 40px !important;
  height: 40px;
  object-fit: contain;
  border-radius: 6px;
  background: #fff;
  padding: 3px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}
#cm2026 .elu-card .card-body { padding: 10px 12px 13px; }
#cm2026 .badge-role { display: inline-block; font-size: 10px; font-weight: 600; padding: 2px 9px; border-radius: 20px; margin-bottom: 5px; text-transform: uppercase; letter-spacing: 0.04em; }
#cm2026 .badge-adjoint  { background: #EC5A70; color: #FFFFFF; }
#cm2026 .badge-maire  { background: #0C447C; color: #ffffff; }

#cm2026 .badge-delegue  { background: #EC5A70; color: #FFFFFF; }
#cm2026 .badge-cons     { background: #EC5A70; color: #FFFFFF; }
#cm2026 .badge-conslc     { background: #ef801f; color: #FFFFFF; }
#cm2026 .badge-consrn     { background: #87590f; color: #FFFFFF; }

#cm2026 .elu-card h3 { font-size: 1.8rem; font-weight: 700; color: #212529; margin: 0 0 2px; line-height: 1.3; }
#cm2026 .elu-card p  { font-size: 1.4rem; font-family:Luciole; font-weight:400;color: #27292b; margin: 0; line-height: 1.4; }
@media (max-width: 575px) {
  #cm2026 #cm-maire-hero {
    flex-direction: column;
    align-items: center;
  }

  #cm2026 .hero-photo-col {
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column; /* ou row selon ton layout */
    justify-content: center;
    align-items: center;
    padding-top: 1.5rem;
  
  }

  #cm2026 .hero-photo-col img {
    width: 300px;
    border-radius: 12px;
  }

  #cm2026 .hero-content {
    padding: 1.5rem;
    text-align: center;
  }

  #cm2026 .hero-name {
    font-size: 1.7rem;
  }

  #cm2026 .hero-quote {
    border-left: none;
    border-top: 2px solid #378ADD;
    padding-left: 0;
    padding-top: 0.75rem;
    margin: 0 auto 1.5rem;
  }

  #cm2026 .hero-stats {
    justify-content: center;
    gap: 1.25rem;
  }

  #cm2026 .hero-eyebrow {
    justify-content: center;
    flex-wrap: wrap;
  }
}

#hero-principal * { margin: 0; padding: 0; box-sizing: border-box; }
#hero-principal {
  position: relative;
  width: 100vw;
  height: 100vh;
  min-height: 400px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
#hero-principal .hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('https://www.lannion.bzh/wp-content/uploads/2026/03/annonce.jpg');
  background-size: cover;
  background-position: center;
  animation: heroBgZoom 18s ease-in-out infinite alternate;
}

#hero-principal .hero-boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(20px, 3vw, 32px);
}

#hero-principal .hero-btn {
  font-family: 'Luciole', sans-serif;
  font-size: clamp(12px, 1.4vw, 14px);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 2px;
  transition: opacity 0.2s ease, transform 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#hero-principal .hero-btn::after {
  content: '↓';
  font-size: 14px;
}

#hero-principal .hero-btn:hover {
  opacity: 0.85;
  transform: translateY(-2px);
}

#hero-principal .hero-btn--primary {
  background: #0a1946;
  color: #ffffff;
}

#hero-principal .hero-btn--secondary {
  background: transparent;
  color: #ffffff;
  border: 2px solid rgba(255,255,255,0.6);
}

#hero-principal .hero-btn--secondary:hover {
  border-color: #ffffff;
}
@keyframes heroBgZoom {
  from { transform: scale(1); }
  to   { transform: scale(1.06); }
}
#hero-principal .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.65) 100%);
}
#hero-principal .hero-content {
  position: relative;
  z-index: 2;
  padding: clamp(24px, 5vw, 64px);
  max-width: min(820px, 90vw);
  animation: heroRiseIn 1s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes heroRiseIn {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
#hero-principal .hero-cat {
  display: inline-block;
  font-family: 'Luciole', sans-serif;
  font-size: clamp(10px, 1.2vw, 12px);
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ffffff;
  background: #0a1946;
  padding: 6px 14px;
  margin-bottom: clamp(12px, 2vw, 20px);
}
#hero-principal .hero-title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(24px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.08;
  color: #ffffff;
  margin: 0 0 clamp(12px, 2vw, 20px);
  letter-spacing: -0.5px;
  text-shadow: 0 2px 20px rgba(0,0,0,0.4);
}
#hero-principal .hero-divider {
  width: 36px;
  height: 3px;
  background: #0a1946;
  margin-bottom: clamp(14px, 2.5vw, 24px);
  border-radius: 2px;
}
#hero-principal .hero-resultats {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#hero-principal .hero-liste-nom {
  font-family: 'Luciole', sans-serif;
  font-size: clamp(13px, 1.5vw, 16px);
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  margin-bottom: 6px;
}
#hero-principal .hero-bar-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
#hero-principal .hero-bar-track {
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,0.15);
  border-radius: 3px;
  overflow: hidden;
}
#hero-principal .hero-bar-fill {
  height: 100%;
  border-radius: 3px;
  width: 0%;
  background: rgba(255,255,255,0.45);
  transition: width 1.2s cubic-bezier(0.22,1,0.36,1);
}
#hero-principal .hero-liste.ps .hero-bar-fill {
  background: #e7007f;
}
#hero-principal .hero-liste.ps .hero-liste-pct {
  color: #f4669e;
}
#hero-principal .hero-liste.ps .hero-liste-nom {
  color: #ffffff;
}
#hero-principal .hero-liste-pct {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: 800;
  color: rgba(255,255,255,0.7);
  min-width: 58px;
  text-align: right;
}



.leaflet-popup-content {
  font-family: 'Poppins', sans-serif;
  font-size: 1.4rem!important;
  font-weight:700;
}

div#carte-bureaux-vote {
  padding: 80px;
  background-color: #fafafa;
}
/* ================================
   Printemps des poètes — Styles
   ================================ */

/* Titre du poème */
.poeme-titre {
  max-width: 600px;
  margin: 0 auto;
  font-size: 2.5rem;
  color: #89033e;
  font-weight: 700;
  margin-bottom: 10px;
  margin-top: 20px;
  font-family: 'Poppins', sans-serif;
}

/* Contenu du poème */
.poeme-contenu {
  max-width: 600px;
  margin: 0 auto;
font-size: 1.5rem;
  line-height: 1.6;
  color: #101010;
  font-family: 'Luciole', sans-serif;
  font-weight: 400;
}

/* ================================
   Archive — grille de cards
   ================================ */

   .poemes-archive-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 30px;
}

@media (max-width: 768px) {
    .poemes-archive-grid {
        grid-template-columns: 1fr;
    }
}

/* Card */
.poeme-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    text-decoration: none;
    background-color: #ffffff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.poeme-card:hover {
    border-color: #89033e;
    box-shadow: 0 4px 16px rgba(137, 3, 62, 0.08);
}

/* Date */
.poeme-card-date {
    font-family: 'Luciole', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: #999999;
    text-transform: capitalize;
}

/* Titre */
.poeme-card-titre {
    font-family: 'Poppins', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #89033e;
    margin: 0;
}

/* Auteur */
.poeme-card-auteur {
    font-family: 'Luciole', sans-serif;
  font-size: 1.5rem;
    font-weight: 400;
    color: #444444;
}
.poeme-intro {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
font-size: 1.5rem;
  line-height: 2.3rem;
  color: #444444;
  margin-bottom: 0px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eeeeee;
}

.poeme-intro p {
  margin-bottom: 8px;
}
/* ================================
   PALETTE & BASE
===================================*/
.stats-content {
  font-family: 'Poppins';
  font-size: 5rem;
  color: #95013e !important;
}
.texteimage p {
font-size: 1.5rem;
  font-family: 'Luciole';
  font-weight: 400;
  color: #000000;
}
.stats-card p {
font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Luciole';
}
h2.parallaxe-titre {
  max-width: 800px;
}
section.texteimage {
  margin-top: 80px;
  margin-bottom: 80px;
}
.citation-block p {
font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 700;
}
.single-dossier_ga_lannion .encadre-definition h4 {
  font-size: 1.8rem;
  /* text-transform: uppercase; */
  letter-spacing: 1px;
  margin-bottom: 1rem;
  opacity: 0.9;
  font-family: 'Poppins';
}
/* ==========================================
   DOSSIER GRAND ANGLE - STYLES
   ========================================== */

   .single-dossier_ga_lannion {
    font-family: 'Poppins', sans-serif;
}
h1.titre-dossier-lannion {
  font-size: 4rem;
}
/* ==========================================
   HERO SECTION
   ========================================== */

.single-dossier_ga_lannion .hero-grand-angle {
    height: 70vh;
    position: relative;
    overflow: hidden;
}

.single-dossier_ga_lannion .hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    filter: brightness(0.6);
}

.single-dossier_ga_lannion .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.6));
}

.single-dossier_ga_lannion .hero-content {
    position: relative;
    z-index: 2;
}

.single-dossier_ga_lannion .chevron-down {
    font-size: 2rem;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}

/* ==========================================
   PARALLAX SECTION
   ========================================== */

.single-dossier_ga_lannion .parallax-section {
    min-height: 400px;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    position: relative;
}

.single-dossier_ga_lannion .parallax-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
}

/* ==========================================
   SERVICE CARDS
   ========================================== */

.single-dossier_ga_lannion .service-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    height: 100%;
    transition: all 0.3s ease;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.single-dossier_ga_lannion .service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
    border-color: #3b82f6;
}

.single-dossier_ga_lannion .icon-wrapper {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: all 0.3s ease;
}

.single-dossier_ga_lannion .service-card:hover .icon-wrapper {
    transform: scale(1.1);
}

.single-dossier_ga_lannion .icon-wrapper svg {
    width: 24px;
    height: 24px;
}

/* Couleurs par service */
.single-dossier_ga_lannion .service-card:nth-child(1) .icon-wrapper {
    background: #dbeafe;
}
.single-dossier_ga_lannion .service-card:nth-child(1) .icon-wrapper svg {
    stroke: #2563eb;
}

.single-dossier_ga_lannion .service-card:nth-child(2) .icon-wrapper {
    background: #e0e7ff;
}
.single-dossier_ga_lannion .service-card:nth-child(2) .icon-wrapper svg {
    stroke: #4f46e5;
}

.single-dossier_ga_lannion .service-card:nth-child(3) .icon-wrapper {
    background: #fef3c7;
}
.single-dossier_ga_lannion .service-card:nth-child(3) .icon-wrapper svg {
    stroke: #d97706;
}

.single-dossier_ga_lannion .service-card:nth-child(4) .icon-wrapper {
    background: #fbcfe8;
}
.single-dossier_ga_lannion .service-card:nth-child(4) .icon-wrapper svg {
    stroke: #db2777;
}

.single-dossier_ga_lannion .service-card:nth-child(5) .icon-wrapper {
    background: #ccfbf1;
}
.single-dossier_ga_lannion .service-card:nth-child(5) .icon-wrapper svg {
    stroke: #0d9488;
}

.single-dossier_ga_lannion .service-card:nth-child(6) .icon-wrapper {
    background: #fce7f3;
}
.single-dossier_ga_lannion .service-card:nth-child(6) .icon-wrapper svg {
    stroke: #be185d;
}

.single-dossier_ga_lannion .service-card:nth-child(7) .icon-wrapper {
    background: #dcfce7;
}
.single-dossier_ga_lannion .service-card:nth-child(7) .icon-wrapper svg {
    stroke: #16a34a;
}

.single-dossier_ga_lannion .service-card h5 {
    font-size: 2.2rem;
    font-weight: 600;
    font-family:'poppins';
    color: #1f2937;
    margin-bottom: 8px;
    letter-spacing:-2px;
}
.services-asso-wrapper h3 {
  color: #2c3e50;
  font-weight: 600;
  margin-bottom: 1.5rem;
  font-size:3rem;
  font-family: poppins;
  letter-spacing: -2px;
}
.single-dossier_ga_lannion .service-card p {
    color: #6b7280;
    line-height: 1.5;
    font-family: 'Luciole', Arial, sans-serif;
        font-weight:400;
    font-size:1.8rem;
}

/* ==========================================
   DOSSIER CONTENT
   ========================================== */

   .single-dossier_ga_lannion .dossier-encart {
    padding-left: 40px;
    font-weight: 500;
    font-family: 'Luciole', Arial, sans-serif;
  font-size: 1.5rem;
}

.single-dossier_ga_lannion .contenu-gauche-dossier {
    padding-right: 80px;
}

.single-dossier_ga_lannion .contenu-droite-dossier {
    padding-left: 80px;
}

.single-dossier_ga_lannion .asso-services {
    padding: 40px;
}

.single-dossier_ga_lannion .services-asso-wrapper {
    background-color: #fff1dc;
    padding: 40px;
    font-family: 'Poppins', sans-serif;
}

/* ==========================================
   CITATIONS
   ========================================== */

.single-dossier_ga_lannion .citation-avec-portrait {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.single-dossier_ga_lannion .portrait-rond {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 3px solid #e8f4f8;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.single-dossier_ga_lannion .citation-texte {
    flex: 1;
}

.single-dossier_ga_lannion .citation-block {
    max-width: 800px;
    margin: 3rem auto;
    padding: 2rem 2.5rem;
    background: #f8f9fa;
    border-left: 5px solid #0d6efd;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.single-dossier_ga_lannion .citation-block blockquote {
    margin: 0;
}

.single-dossier_ga_lannion .citation-block .blockquote {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #2c3e50;
    font-style: italic;
}
.single-dossier_ga_lannion .card p {
  font-family: 'Luciole', Arial, sans-serif;
font-size: 1.5rem;
  font-weight: 500;
}

.single-dossier_ga_lannion .citation-block .blockquote-footer {
  margin-top: 2.5rem;
  font-size: 1.8rem;
  font-family: 'Poppins';
  color: #131313;
  font-weight: 700;
}
/* ==========================================
   ENCADRÉS
   ========================================== */

.single-dossier_ga_lannion .encadre-definition {
       /* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); */
       color: #000000;
       padding: 2rem;
       /* margin-top: 80px; */
       border-radius: 10px;
       max-width: 900px;
       font-weight: 400;
     font-size: 1.5rem;
       margin: 3rem auto;
       /* font-size: 4rem; */
       border-left: 6px solid #06304c;
}


.single-dossier_ga_lannion .encadre-info {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    color: white;
    padding: 2rem;
    border-radius: 10px;
    max-width: 900px;
    margin: 3rem auto;
}

.single-dossier_ga_lannion .encadre-info h3 {
    margin-bottom: 1rem;
}

.single-dossier_ga_lannion .encadre-diversite {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 2.5rem;
  max-width: 800px;
  margin: 3rem 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  margin: 0 auto;
}

.single-dossier_ga_lannion .encadre-diversite .galerie-associations {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 2rem;
}

.single-dossier_ga_lannion .encadre-diversite .galerie-associations img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.single-dossier_ga_lannion .encadre-diversite .galerie-associations img:hover {
    transform: scale(1.05);
}

.single-dossier_ga_lannion .encadre-diversite .association-label {
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 0.5rem;
    text-align: center;
}
.single-dossier_ga_lannion  section.stats-cards-wrapper {
  margin-top: 40px;
  margin-bottom: 80px;
}
.single-dossier_ga_lannion .texte-simple {
  margin-top: 60px;
}

/* ==========================================
   STATISTIQUES
   ========================================== */

.single-dossier_ga_lannion .stats-card {
    transition: transform 0.3s ease;
    box-shadow: 0 .255rem .50rem rgba(0, 0, 0, .075) !important;
  }}

.single-dossier_ga_lannion .stats-card:hover {
    transform: translateY(-5px);
}

/* ==========================================
   IMAGES
   ========================================== */

.single-dossier_ga_lannion .photo-dispolannion {
    object-fit: cover;
    width: 100%;
    height: auto;
}

/* ==========================================
   TITRES
   ========================================== */

.single-dossier_ga_lannion .titre-articles-dossier {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

/* ==========================================
   LISTES
   ========================================== */

   .single-dossier_ga_lannion .liste-custom {
    list-style: none;
    padding-left: 0;
  font-size: 1.5rem;
    font-family: 'Luciole', Arial, sans-serif;
    font-weight: 500;
}

.single-dossier_ga_lannion .liste-custom li {
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: 0.75rem;
}

.single-dossier_ga_lannion .liste-custom li:before {
    content: "→";
    position: absolute;
    left: -10px;
    color: #070707;
    font-weight: bold;
}

/* ==========================================
   SECTION MAGAZINE
   ========================================== */

.single-dossier_ga_lannion .magazine-section {
    background: #ffffff;
    padding: 80px 0;
    margin: 60px 0;
}

.single-dossier_ga_lannion .magazine-wrapper {
    display: flex;
    align-items: center;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.single-dossier_ga_lannion .magazine-cover {
    flex: 0 0 400px;
    position: relative;
}

.single-dossier_ga_lannion .magazine-mockup {
  background: linear-gradient(135deg, rgb(76 6 6 / 3%) 0%, rgb(11 11 11 / 41%) 100%), url(https://www.lannion.bzh/wp-content/uploads/2026/02/Une-mag-251_1.jpg) center / cover;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
  padding: 40px 30px;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  aspect-ratio: 3 / 4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.single-dossier_ga_lannion .magazine-mockup:hover {
    transform: translateY(-8px) rotate(-1deg);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
}

.single-dossier_ga_lannion .magazine-header {
    text-align: center;
    color: #ffffff;
}

.single-dossier_ga_lannion .magazine-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}

.single-dossier_ga_lannion .magazine-subtitle {
  font-size: 1.5rem;
    font-weight: 600;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.single-dossier_ga_lannion .magazine-associations {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border-radius: 6px;
    padding: 20px;
    color: #ffffff;
    font-size: 1.5rem;
    line-height: 1.8;
    font-family:lato;
    font-weight: 400;
}

.single-dossier_ga_lannion .magazine-associations-title {
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-family:'poppins';
}

.single-dossier_ga_lannion .magazine-content {
    flex: 1;
}

.single-dossier_ga_lannion .magazine-content h3 {
    font-size: 3.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 20px;
    letter-spacing: -1px;
    line-height: 1.2;
}

.single-dossier_ga_lannion .magazine-content p {
    color: #000000;
  font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 35px;
}

.single-dossier_ga_lannion .magazine-btn {
    background: #01092c;
    color: #ffffff;
    padding: 16px 36px;
    border-radius: 8px;
    font-weight: 500;
  font-size: 1.5rem;
    border: none;
    box-shadow: 0 4px 14px rgba(1, 5, 23, 0.4);
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.single-dossier_ga_lannion .magazine-btn:hover {
    background: #5568d3;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(102, 126, 234, 0.5);
    color: #ffffff;
}

.single-dossier_ga_lannion .magazine-btn svg {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.single-dossier_ga_lannion .magazine-btn:hover svg {
    transform: translateX(4px);
}

.single-dossier_ga_lannion .badge-new {
  background: #95013e;
  color: #ffffff;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 15px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 992px) {
    .single-dossier_ga_lannion .magazine-wrapper {
        flex-direction: column;
        gap: 40px;
    }

    .single-dossier_ga_lannion .magazine-cover {
        flex: 0 0 auto;
        max-width: 350px;
        width: 100%;
    }

    .single-dossier_ga_lannion .magazine-content h3 {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .single-dossier_ga_lannion .citation-avec-portrait {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .single-dossier_ga_lannion .portrait-rond {
        width: 80px;
        height: 80px;
    }

    .single-dossier_ga_lannion .encadre-diversite .galerie-associations {
        grid-template-columns: repeat(2, 1fr);
    }

    .single-dossier_ga_lannion .contenu-gauche-dossier,
    .single-dossier_ga_lannion .contenu-droite-dossier {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 576px) {
    .single-dossier_ga_lannion .magazine-section {
        padding: 60px 0;
    }

    .single-dossier_ga_lannion .magazine-cover {
        max-width: 280px;
    }

    .single-dossier_ga_lannion .magazine-title {
        font-size: 1.5rem;
    }

    .single-dossier_ga_lannion .magazine-content h3 {
        font-size: 1.75rem;
    }

    .single-dossier_ga_lannion .magazine-content p {
        font-size: 1rem;
    }

    .single-dossier_ga_lannion .dossier-encart {
        padding-left: 15px;
    }
}
/* ===========================
   SÉJOURS - ACCORDÉONS CÔTE À CÔTE
   =========================== */

  /* ===========================
   SÉJOURS ÉTÉ 2026 - STYLES GLOBAUX
   =========================== */

.sejours-ete-2026 {
  --primary-color: #89033e;
  --secondary-color: #f11655;
  --dark-color: #000000;
  --light-color: #ffffff;
}

.sejours-ete-2026 .sejours-container {
  padding: 80px 0;
}

/* ===========================
   CARTE SÉJOUR
   =========================== */

.sejours-ete-2026 .sejour-card {
  background: var(--light-color);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  margin-bottom: 60px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sejours-ete-2026 .sejour-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.12);
}

.sejours-ete-2026 .sejour-card .row {
  display: flex;
  align-items: stretch;
}

.sejours-ete-2026 .sejour-card .col-lg-6 {
  display: flex;
}

/* ===========================
   IMAGE DU SÉJOUR (HAUTEUR FIXE)
   =========================== */

.sejours-ete-2026 .sejour-card .col-lg-6:has(.sejour-image) {
  flex: 0 0 50%;
  max-width: 50%;
  overflow: hidden;
}

.sejours-ete-2026 .sejour-image {
  width: 100%;
  height: 500px;
  min-height: 500px;
  max-height: 500px;
  object-fit: cover;
  display: block;
}

/* ===========================
   CONTENU DU SÉJOUR
   =========================== */

.sejours-ete-2026 .sejour-card .col-lg-6:has(.sejour-content) {
  flex: 1;
}

.sejours-ete-2026 .sejour-content {
  display: flex;
  flex-direction: column;
  padding: 40px;
  width: 100%;
}

.sejours-ete-2026 .sejour-age-badge {
  display: inline;
  background: var(--primary-color);
  color: var(--light-color);
  padding: 8px 20px;
  border-radius: 50px;
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 15px;
  max-width: 100px;
  min-width: 100px;
  text-align: center;
}

.sejours-ete-2026 .sejour-title {
  font-size: 3rem;
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
  color: var(--dark-color);
  margin-bottom: 15px;
  letter-spacing: -0.5px;
}

/* ===========================
   MÉTADONNÉES (LOCALISATION, DATES)
   =========================== */

.sejours-ete-2026 .sejour-meta {
  display: flex;
  gap: 30px;
  margin-bottom: 25px;
  flex-wrap: wrap;
}

.sejours-ete-2026 .meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.4rem;
  color: #000000;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
}

.sejours-ete-2026 .meta-icon {
  width: 20px;
  height: 20px;
  color: var(--secondary-color);
  flex-shrink: 0;
}

/* ===========================
   DESCRIPTION
   =========================== */

.sejours-ete-2026 .sejour-description {
font-size: 1.5rem;
  line-height: 1.4;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  color: #000000;
  margin-bottom: 25px;
}

/* ===========================
   ACCORDÉONS - BOUTONS CÔTE À CÔTE
   =========================== */

.sejour-accordion-buttons {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.sejour-accordion-btn {
  flex: 1;
  min-width: 200px;
  background-color: var(--primary-color, #89033e);
  color: #ffffff;
  font-weight: 600;
  font-size: 16px;
  padding: 14px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.sejour-accordion-btn:hover {
  background-color: var(--secondary-color, #f11655);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(137, 3, 62, 0.3);
}

.sejour-accordion-btn:not(.collapsed) {
  background-color: var(--secondary-color, #f11655);
}

.sejour-accordion-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(241, 22, 85, 0.25);
}

/* Icône chevron */
.sejour-accordion-btn::after {
  content: '▼';
  margin-left: 8px;
  font-size: 12px;
  transition: transform 0.3s ease;
  display: inline-block;
}

.sejour-accordion-btn[aria-expanded="true"]::after {
  transform: rotate(-180deg);
}

/* ===========================
   ACCORDÉONS - CONTENU
   =========================== */

.sejour-accordion-content {
  margin-top: 16px;
}

.accordion-panel {
  overflow: hidden;
}

.accordion-panel-body {
  font-family: 'Luciole', Arial, sans-serif;
  padding: 24px;
  background-color: #ffffff;
  border: 2px solid var(--primary-color, #89033e);
  border-radius: 8px;
  font-size: 1.5rem;
  font-weight: 500;
  color: #000000;
  line-height: 2.2rem;
}

.accordion-panel-body p {
  margin-bottom: 12px;
}

.accordion-panel-body p:last-child {
  margin-bottom: 0;
}

.accordion-panel-body ul,
.accordion-panel-body ol {
  margin: 12px 0;
  padding-left: 25px;
}

.accordion-panel-body li {
  margin-bottom: 8px;
}

.accordion-panel-body strong {
  color: var(--primary-color, #89033e);
  font-weight: 600;
}

/* Animation d'ouverture */
.accordion-panel.collapsing {
  transition: height 0.35s ease;
}

/* ===========================
   BOUTON CTA (OPTIONNEL)
   =========================== */

.sejours-ete-2026 .sejour-cta {
  margin-top: 30px;
  text-align: right;
}

.sejours-ete-2026 .btn-custom {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
  color: var(--light-color);
  padding: 15px 40px;
  border: none;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.sejours-ete-2026 .btn-custom:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(137, 3, 62, 0.3);
  color: var(--light-color);
}

/* ===========================
   RESPONSIVE - MOBILE
   =========================== */

@media (max-width: 991px) {
  .sejours-ete-2026 .sejour-card .col-lg-6:has(.sejour-image) {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .sejours-ete-2026 .sejour-image {
    height: 300px;
    min-height: 300px;
    max-height: 300px;
  }

  .sejours-ete-2026 .sejour-content {
    padding: 25px;
  }

  .sejours-ete-2026 .sejour-title {
    font-size: 2rem;
  }

  .sejours-ete-2026 .sejour-meta {
    gap: 15px;
  }

  .sejour-accordion-buttons {
    flex-direction: column;
  }

  .sejour-accordion-btn {
    width: 100%;
    min-width: auto;
  }
}

@media (max-width: 768px) {
  .sejours-ete-2026 .sejours-container {
    padding: 40px 0;
  }

  .sejours-ete-2026 .sejour-card {
    margin-bottom: 40px;
  }

  .sejours-ete-2026 .sejour-description {
    font-size: 1.5rem;
  }

  .accordion-panel-body {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}









:root {
  --noel-primary: #89033e;      /* bordeaux Lannion */
  --noel-primary-soft: #b93162;
  --noel-accent: #f5c746;       /* or doux */
  --noel-bg: #f8f5f2;           /* fond très clair, chaud */
  --noel-card-bg: #ffffff;
  --noel-border: #e4e0db;
  --noel-text-main: #262626;
  --noel-text-muted: #7b7570;
}





.creche-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
@media (min-width:768px){
  .creche-gallery{ grid-template-columns:repeat(4,minmax(0,1fr)); 
  }
}


.creche-gallery-item { display:block; }
.creche-gallery-item img { cursor: zoom-in; }
.creche-lightbox {
  border: 0;
  padding: 0;
  background: transparent;
  max-width: none;
  max-height: none;
}
.parent-pageid-1073 .projet-lannion-2030 {
  background-color: #ffe4d0;
}
.creche-lightbox::backdrop {
  background: rgba(0,0,0,.8);
}

.creche-lightbox img {
  max-width: 92vw;
  max-height: 92vh;
  display: block;
  margin: auto;
  border-radius: 12px;
}

.creche-lightbox-close,
.creche-lightbox-prev,
.creche-lightbox-next {
  position: fixed;
  border: 0;
  background: rgba(0,0,0,.6);
  color: #fff;
  width: 44px;
  height: 44px;
  font-size: 28px;
  line-height: 44px;
  text-align: center;
  border-radius: 50%;
  cursor: pointer;
}
.bandeau-galerie.container {
  margin-bottom: 80px;
}
.photo-galerie {
  background-color: white;
  border: 1px solid #000000;
  padding: 10px 40px;
  margin: 0 auto;
  display: inline-block;
  color: #000000;
  font-family: 'Poppins';
  font-weight: 600;
font-size: 1.5rem;
}
.creche-lightbox-close {
  top: 16px;
  right: 16px;
}

.creche-lightbox-prev {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

.creche-lightbox-next {
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}



.creche-gallery img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}
section.enquetes-publiques {
  padding: 40px;
  background-color: #08304c;
  color: #FFFFFF;
}
h3.carte-enquete__titre {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 1.8rem;
  min-height: 80px;
  /* padding: 15px; */
}
h2.enquetes-publiques__titre {
  font-family: 'Poppins';
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 30px;
}
p.carte-enquete__date {
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
  font-size: 1.5rem;
  text-align: left;
}

a.carte-enquete__bouton {
  padding: 10px;
  border: 1px solid #FFFFFF;
  margin-top: 20px;
  display: inline-block;
  font-weight: 600;
  color: #ffffff;
  font-family: 'Luciole', Arial, sans-serif;
  font-size: 1.4rem;
}
article.carte-enquete {
    padding: 10px;
    /* background-color: #FFFFFF; */
    /* color: #000000; */
}


a.custom-paniers {
  padding: 10px 20px;
  border: 1px solid;
  border-radius: 5px;
  margin-top: 20px;
  display: inline-block;
  font-size: 2rem;
  margin-bottom: 20px;
}
/* Wrapper global */
#vous-faites-lannion.vfl-wrapper {
  background-color: #f7f7f9;
}

/* Section vidéos */
.vfl-videos-section {
  padding: 60px 0;
}

.vfl-videos-row {
  row-gap: 40px;
}

/* Colonne = flex pour aligner les cards */
.vfl-video-col {
  display: flex;
}

/* Card générale */
.vfl-video-card {
  background-color: #ffffff;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
  padding: 18px 18px 24px;
  display: flex;
  flex-direction: column;
  width: 100%;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Hover */
.vfl-video-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

/* ---- EMBED VERTICAL 9/16 ---- */
.vfl-video-embed {
  position: relative;
  width: 100%;
  padding-top: 177.78%; /* 16/9 inversé = 9/16 => 9 / 16 * 100 = 56.25% → mais ici on veut vertical : 16/9 * 100 = 177.78% */
  overflow: hidden;
  border-radius: 16px;
  background-color: #000;
  margin-bottom: 16px;
}

/* Iframe ou vidéo parfaitement dans le container */
.vfl-video-embed iframe,
.vfl-video-embed video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* important pour un short vertical */
  border: 0;
}

.border-start    {
  border-color: var(--brand)!important;
  }
.contenu-texte-dossier {
  background-color: #FFFFFF;
  width: 40%;
  border-radius: 20px 0px 20px 0px;
  position: absolute;
  top: 80px;
  left: 80px;
  padding: 40px;
  box-shadow: 3px 3px 3px 3px #00000012;
}
/* Titre */
.vfl-video-title {
  font-size: 2.5rem;
  font-weight: 700;
  font-family:'poppins';
  margin: 4px 0 8px;
  line-height: 1.3;
  color: #96013e;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top:1px solid #EEEEEE;
  border-bottom:1px solid #EEEEEE;

}

/* Texte */
.vfl-video-text {
font-size: 1.5rem;
  color: #444;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight:600;
}

/* Message "aucune vidéo" */
.vfl-no-videos {
  text-align: center;
  font-size: 1rem;
  color: #666;
  margin-top: 20px;
}

.vfl-intro-text {
  margin-top: 15px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
font-size: 1.5rem;
  line-height: auto;
  color: #000000;
  font-weight: 600;
}

#special-event .hero-header {
  position: relative;
  color: #ffffff;
  background-image: url('https://www.lannion.bzh/wp-content/uploads/2025/12/cerf-2.jpg');
  background-size: cover;
  background-position: center;
  min-height: 100vh;
  
  display: flex;
  align-items: flex-end; /* équivalent de align-items: end */
  justify-content: center;
  text-align: left;
  padding-bottom: 80px; /* respiration */
}

/* TEXTE */
#special-event .hero-title {
  font-family: 'Poppins', sans-serif;
  font-size: 8rem;
  font-weight: 900;
  letter-spacing: -3px;
  margin-bottom: 20px;
  color: #fff;
}

#special-event .hero-subtitle {
  font-size: 2.5rem; /* correction : virgule → point */
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 40px;
  color: #fff;
}
.page-template-template-agendalannion
div#noel-journee-6 {
  display: none;
}
.noel-animation-text {
  padding: 40px;
}
/* La row doit gérer la hauteur */
.noel-animation-row {
  display: flex;
  flex-wrap: wrap;
}

/* Colonne image = hauteur 100% */
.noel-animation-image-wrapper {
  display: flex;       /* pour que l'enfant prenne toute la hauteur */
}

/* L'image en background */
.noel-animation-image {
  flex: 1;                         /* occupe toute la hauteur */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  border-radius: 0 16px 16px 0;    /* optionnel */
}

/* Sur mobile, on repasse en bloc */
@media (max-width: 991px) {
  .noel-animation-row {
      flex-direction: column;
  }
  .footer-wrap .border-start {
    border-left: 0px !important;
}

.contact-droite2 {
  padding:0px!important;
}
.footer-wrap .rounded-tl-128 {
  border-top-left-radius: 0px !important;
  border-color: #000000 !important;
}
.footer-wrap .border-top {
  border-top: 1px solid #000000 !important;
  margin-top: 20px;
}
  p.dossier-contenu {
    font-size: 1.5rem;
    font-weight: 400;
    font-family: 'Luciole', Arial, sans-serif;
    margin-top: 10px;
    display: none;
}
  .noel-animation-image {
      min-height: 260px; /* hauteur fixe sur mobile */
      border-radius: 0 0 16px 16px;
  }
}

.noelalannion2025 {
  position: relative;
  background-image: url("https://www.lannion.bzh/wp-content/uploads/2025/11/cerf.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  padding: 80px 20px;
  overflow: hidden;
}

/* Voile sombre pour lisibilité du texte */
.noelalannion2025::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(0, 0, 0, 0.65),
    rgba(0, 0, 0, 0.35)
  );
}

.noelalannion2025-inner {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

.noelalannion2025-title {
  font-size: 4rem;
  /* letter-spacing: 0.08em; */
  text-transform: none;
  margin: 0 0 20px;
  font-family: 'Poppins';
  font-weight: 800;
}

.noelalannion2025-subtitle {
font-size: 1.5rem;
  margin: 0 0 30px;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 800;
}

/* CTA */
.noelalannion2025-cta {
  display: inline-block;
  padding: 12px 30px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background-color: #89033e;      /* bordeaux Noël */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.noelalannion2025-cta:hover,
.noelalannion2025-cta:focus {
  background-color: #b10552;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 767px) {
  .noelalannion2025 {
    padding: 60px 15px;
  }

  .noelalannion2025-title {
    font-size: 2.2rem;
  }

  .noelalannion2025-subtitle {
    font-size: 1rem;
  }
}
.page-template-template-noel2025 .hero-header .lead {
  font-size: 2rem;
  font-weight: 300;
  font-family: 'Poppins';
  font-weight: 600;
  background-color: #980a48;
  padding: 20px;
  border-radius: 10px;
}
.anim-magic-meeting .noel-tag-type {
  border-color: rgba(0, 0, 0, 0.15);
  background: rgb(255, 255, 255);
  color: #000000;
  font-weight: 600;
  font-size: 1.3rem;
  font-family: 'Poppins';
}
.anim-magic-meeting .noel-animation-short {
  font-size: 1.4rem;
  margin: 0;
  color: #000000;
  font-family: 'Luciole', Arial, sans-serif;
  margin-top: 10px;
  font-weight: 900;
  margin-bottom: 10px;
}
.anim-magic-meeting {
  background-color: #f1676b !important
}
.anim-fees-railleuses-toubouge {
  background-color: #ffdbbe!important;
}
.anim-choukiben-deraillo {
  background-color: #9bd2f1!important;
}
.anim-mapping-odin {
  background-color: #fedc93!important;
}
.anim-street-art-le-guen {
  background-color: #fed93d!important;
}
.anim-bagad-sonerien {
  background-color: #7b1a28!important;
}
.anim-bagad-sonerien .noel-animation-title, .anim-bagad-sonerien .noel-animation-short, .anim-bagad-sonerien .noel-animation-description {
  color: #ffffff;
}
.cyclo-lannion {
  background-color: #dae87c!important;
}
/* Conteneur principal */
#noel-programmation {
  /* background: radial-gradient(circle at top left, rgba(137, 3, 62, 0.06) 0, transparent 40%), linear-gradient(180deg, #fdfaf7 0%, #ffffff 55%, #ffa44a 100%); */
  color: var(--noel-text-main);
}

/* On garde la structure Bootstrap, on affine juste l'intérieur */
#noel-programmation .container {
  max-width: 1100px;
}

.noel-journee-wrapper--dark {
  background-color: #f7f4ee;
  padding: 40px;
}
section.noel-journee-wrapper.noel-journee-wrapper--light {
  background-color: #fde5c2;
  padding: 40px;
}
/* ================================
   HEADER PAGE
===================================*/
h3.titre-caution {
  font-size: 2rem;
  font-family: 'Poppins';
  font-weight: 800;
  margin-bottom: 20px;
}
.noel-header {
  margin-bottom: 3rem;
}

.noel-title {
  font-size: clamp(2.2rem, 3vw, 2.8rem);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--noel-primary);
  margin: 0 0 0.75rem;
}

.noel-header::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  margin: 0.75rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--noel-primary), var(--noel-accent));
}

.noel-subtitle {
  max-width: 520px;
  margin: 1.5rem auto 0;
  font-size: 1.02rem;
  color: var(--noel-text-muted);
}

/* ================================
   JOURNÉES
===================================*/

.noel-journee {
  margin-bottom: 2.5rem;
}

/* Carte "jour" très épurée */
.noel-journee-card {
  position: relative;
  /* border-radius: 16px; */
  display: inline-block;
  padding: 10px 30px;
}

/* petite barre colorée à gauche du jour */
.noel-journee-card::before {
  /* content: ""; */
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 3px;
  /* border-radius: 0 999px 999px 0; */
  /* background: linear-gradient(180deg, var(--noel-primary), var(--noel-accent)); */
}

/* ================================
   HEADER JOURNÉE
===================================*/

.noel-journee-header {
  margin-bottom: 0.75rem;
  gap: 0.75rem;
}

.noel-journee-titles {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

/* Date */
.noel-date {
  font-size: 3.5rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #f11655;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 800;
}

/* Titre jour */
.noel-journee-title {
  font-size: 3rem;
  font-weight: 700;
  margin: 0;
  /* text-transform: lowercase; */
  color: var(--noel-text-main);
  font-weight: 700;
  font-family: 'Poppins';
}

/* Note (badge à droite : "Temps fort", etc.) */
.noel-note {
  font-size: 1rem;
  text-transform: uppercase;
  font-family: 'Luciole', Arial, sans-serif;
  letter-spacing: 0.14em;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(137, 3, 62, 0.15);
  background: rgb(152 10 72);
  color: #ffffff;
  white-space: nowrap;
  font-weight: 900;
}

/* Description de la journée */
.noel-journee-description {
  margin: 0.4rem 0 0;
font-size: 1.5rem;
  line-height: 2.6rem;
  color: #000000;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 500;
}

/* ================================
   LISTE D’ANIMATIONS
===================================*/

.noel-animations {
  margin-top: 1.5rem;
}

.noel-animations > [class*="col-"] {
  margin-bottom: 1.3rem;
}

/* ================================
   CARDS ANIMATIONS
===================================*/

.noel-animation-card {
  position: relative;
  height: 100%;
  border-radius: 14px;
  background: var(--noel-card-bg);
  
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.02);
  transition:
    transform 170ms ease-out,
    box-shadow 170ms ease-out,
    border-color 170ms ease-out,
    background-color 170ms ease-out;
}

/* effet au survol : léger lift, bord coloré */
.noel-animation-card:hover,
.noel-animation-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(137, 3, 62, 0.35);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.06);
}



/* Titre animation */
.noel-animation-title {
  font-size: 1.12rem;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
  /* text-transform: lowercase; */
  color: var(--noel-text-main);
  font-weight: 700;
  font-family: 'Poppins';
  font-weight: 700;
  margin: 0 0 0.15rem;
  color: var(--noel-text-main);
}

/* Accroche courte */
.noel-animation-short {
  font-size: 1.4rem;
  margin: 0;
  color: #980a48;
  font-family: 'Luciole', Arial, sans-serif;
  margin-top: 10px;
  font-weight: 900;
  margin-bottom: 10px;
}

/* ================================
   TAGS / MÉTAS
===================================*/
.noel-a-lannion-2025 h2.lead {
  font-size: 2rem;
  font-weight: 600;
  color: #ffffff !important;
}


.noel-animation-meta {
  margin-top: 0.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.noel-animation-meta {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #eeeeee;
}
.noel-tag {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(38, 38, 38, 0.06);
  background: #f5f1ec;
  color: #5a5149;
}

/* Tag type = plus marqué */
.noel-tag-type {
  border-color: rgba(137, 3, 62, 0.15);
  background: rgb(241 22 85);
  color: #000000;
  font-weight: 600;
  font-size: 1.3rem;
  font-family: 'Poppins';
}

/* Tag public */
.noel-tag-public {
  background: #fcd8a9;
  color: #000000;
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 1.3rem;
}

/* ================================
   DÉTAILS (horaires, lieu…)
===================================*/


.noel-animation-details {
  list-style: none;
  background: #fafafa;
  padding: 14px 22px;
  border-radius: 14px;
  font-family: 'Poppins';
  font-size: 1.18rem;
  color: #000000;
  font-weight: 500;
  margin-top:20px;
  line-height: 1.45;
  border: 1px solid #e9e9e9;
}

.noel-animation-details li + li {
    border-top: 1px solid #e3e3e3;
    margin-top: 8px;
    padding-top: 8px;
}





.noel-animation-details strong {
  font-weight: 600;
  /* color: var(--noel-text-main); */
}

/* ================================
   DESCRIPTION / RÉSERVATION
===================================*/

.noel-animation-description {
  margin-top: 0.25rem;
font-size: 1.5rem;
  line-height: 2rem;
  color: var(--noel-text-main);
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 500;
}


.noel-animation-reservation {
  margin-top: 0.3rem;
  font-size: 1.2rem;
  color: #000000;
  font-family: 'Poppins';
  font-weight: 700;
}


/* ================================
   LIENS (site, FB, YouTube)
===================================*/

.noel-animation-links {
  margin-top: 0.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.noel-link {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgb(38 38 38 / 0%);
  background: #fde5c2;
  color: #000000;
  text-decoration: none;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 160ms 
ease-out, color 160ms 
ease-out, border-color 160ms 
ease-out;
}

.noel-link:hover,
.noel-link:focus-visible {
  background: var(--noel-primary);
  color: #ffffff;
  border-color: var(--noel-primary);
}

/* ================================
   VIDÉO
===================================*/

.noel-video {
  margin-top: 0.7rem;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e3ddd7;
}

.noel-video iframe {
  display: block;
  width: 100%;
  height: 210px;
}



/* ================================
   MESSAGE VIDE
===================================*/

.noel-empty-message {
  margin: 3rem auto 0;
  max-width: 26rem;
  text-align: center;
  font-size: 0.95rem;
  color: var(--noel-text-muted);
}

/* ================================
   RESPONSIVE
===================================*/

@media (max-width: 767.98px) {
 
  .noel-journee-card {
    padding: 1.2rem 1.3rem 1.1rem;
  }

  .noel-journee-card::before {
    top: 12px;
    bottom: 12px;
  }

  .noel-journee-header {
    align-items: flex-start !important;
  }

  .noel-note {
    white-space: normal;
  }

  .noel-animation-card {
    padding: 1.1rem 1.2rem 1.1rem;
  }

  .noel-video iframe {
    height: 190px;
  }
}
/* ===================================================================
  Page Travaux
   =================================================================== */
   .bandeau-header-avec-icone {
    background-color: #f8f8f8;
    padding: 40px;
}
.icone-chantier {
  display: flex;
  justify-content: flex-end;
  margin-top: 30px;
  padding-right: 30px;
}
.icone-chantier svg {
  width: 60px;
  height: 60px;
}

/* Couleur du SVG */
.icone-chantier svg .st0 {
  stroke: #f11655; /* tu peux changer ici */
}
img.image-travaux {
  max-width: 400px;
}
.bandeau-header-avec-icone .single-section .post-title {
  color: #f11655;
  text-align: left;
  margin-left: 0px; */
  display: inline-block;
  font-weight: 600;
  font-size: 3rem;
  font-family: 'Poppins';
  max-width: 700px;
  margin: inherit;
  width: 100%;
padding-bottom: 0px;
}
.bandeau-header-avec-icone h2.post-subtitle {
  font-family: revert-layer;
  font-weight: 400;
  color: #000000;
  text-align: left;
  margin-left: 0px;
  font-size: 1.8rem;
  margin-bottom: 40px;
}
   #travaux-page {
    padding: 40px 0;
  }
  
  .travaux-item {
    padding: 40px 0;
    border-bottom: 1px solid #e5e5e5;
  }
  .mention-indicative {
    font-family: 'Poppins';
    font-weight: 600;
    font-size: 1.2rem;
    margin-bottom: 20px;
    margin-top: 10px;
}


  .travaux-titre {
    font-size: 3rem;
    font-weight: 600;
    color: #0a304c;
    font-family: 'Poppins';
  }
  
  .travaux-dates {
    font-size: 1.5rem;
    background-color: #fce5c2;
    color: #000000;
    font-weight: 700;
    font-family: 'Luciole', Arial, sans-serif;

    display: inline-block;
    padding: 5px 15px;
    border-radius: 20px;
  }
  
  /* Jauge */
  .travaux-jauge {
    width: 100%;
    height: 12px;
    background: #e2e2e2;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 10px;
  }
  
  .jauge-barre {
    height: 12px;
    background: #4caf50;
    transition: width 0.4s ease;
  }
  
  .jauge-pourcentage {
    font-family: 'Poppins';
    font-size: 1.5rem;
    font-weight: 700;
}
  .travaux-texte {
    font-size: 1.8rem!important;
    /* line-height: 1.7; */
    color: #000000;
    font-family: 'Luciole', Arial, sans-serif;
    font-weight: 500;
  }
  
  .no-travaux {
    padding: 40px;
    text-align: center;
    color: #777;
  }
  


/* ===================================================================
   TARIFS MAISONS DE QUARTIER 2025 – Style personnalisé
   =================================================================== */

   #tarifs-maisons-quartier-2025  span.titre-public {
    font-weight: 800!important;
}
   #tarifs-maisons-quartier-2025 {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Inter",
      "Poppins", sans-serif;
    color: #222;
    background: #f7f7f7;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  #tarifs-maisons-quartier-2025 span.text-public {
    margin-top: 5px;
    display: inline-block;
    font-weight: 600;
  }
  #tarifs-maisons-quartier-2025 .tarifs-wrapper {
    max-width: 1120px;
  }
  
  /* Header global */
  #tarifs-maisons-quartier-2025 .tarifs-header {
    margin-bottom: 2.5rem;
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-title {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #111;
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-subtitle {
    font-size: 1rem;
    color: #6b6b6b;
    margin-top: 0.4rem;
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-badge-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-badge {
    font-size: 0.8rem;
    background: #fff;
    border-radius: 999px;
    padding: 0.4rem 0.9rem;
    border-color: #e0e0e0;
  }
  
  /* Légende */
  #tarifs-maisons-quartier-2025 .tarifs-legende-inner {
    border-radius: 10px;
    /* border: 1px solid #e7e7e7; */
    background: #94023e;
    margin-bottom: 40px;
    padding: 40px;
    /* border-bottom: 1px solid #FFFFFF; */
    color: #FFFFFF;
    font-size: 1.5rem;
    FONT-FAMILY: 'Poppins';
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-legende-inner strong {
    font-size: 0.95rem;
    color: #444;
  }
  
  /* Liste des salles : feeling "grid Airbnb" */
  #tarifs-maisons-quartier-2025 .tarifs-salles-list {
    row-gap: 1.8rem;
  }
  
  /* Cartes des salles */
  #tarifs-maisons-quartier-2025 .tarif-salle-card {
    border-radius: 10px;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.02);
    transition: transform 0.18s ease, box-shadow 0.18s ease,
      border-color 0.18s ease;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
    border-color: #d1d1d1;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-body {
    padding: 30px;
  }
  
  /* Header de la carte */
  #tarifs-maisons-quartier-2025 .tarif-salle-header {
    margin-bottom: 0.9rem;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-type {
    letter-spacing: 0.09em;
    font-size: 1.2rem;
    font-family: 'Luciole', Arial, sans-serif;
    color: #06304c;
    font-weight: 800;
    font-weight: 700;
    text-transform: uppercase;
  }
  .public-wrapper {
    border-left: 1px solid #FFFFFF;
    padding-left: 20px;
}
  #tarifs-maisons-quartier-2025 .tarif-salle-name {
    font-size: 2.5rem;
    /* font-weight: 600; */
    /* margin-bottom: 0.15rem; */
    font-family: 'Poppins';
    font-weight: 700;
    color: #95013e;
    margin-top: 10px;
    margin-bottom: 20px;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-meta {
  font-size: 1.5rem;
    color: #000000;
    font-family: 'Luciole', Arial, sans-serif;
    font-weight: 900;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-badge {
    background: #f01656;
    border: none;
    color: #ffffff;
    font-weight: 500;
    border-radius: 0;
    padding: 10px 15px;
    font-size: 1.5rem;
    font-weight: 800;
    font-family: 'Poppins';
}
#tarifs-maisons-quartier-2025 .tarifs-infos-pratiques {
  background-color: #f01656;
  display: flex;
  align-items: center;
  color: #ffffff;
  /* text-align: center; */
  justify-content: center;
}
  /* Texte conditions */
  #tarifs-maisons-quartier-2025 .tarif-salle-conditions
   {
      font-size: 1.5rem;
      color: #000000;
      font-family: 'Luciole', Arial, sans-serif;
      margin-bottom: 20px;
      font-weight: 600;
  }
  
  /* Tableau des tarifs – clean, léger */
  #tarifs-maisons-quartier-2025 .tarif-salle-table-wrapper {
    margin-top: 0.6rem;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-table {
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 12px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #000000 !important;
}
  
  #tarifs-maisons-quartier-2025 .tarif-salle-table thead th {
    background: #06304c !important;
    color: #fff4f4;
    font-weight: 600;
    font-size: 1.2rem;
    border: 1px solid #000000;
    border-bottom: 1px solid #e4e4e4;
    text-transform: uppercase;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-table th,
  #tarifs-maisons-quartier-2025 .tarif-salle-table td {
    /* border: none !important; */
    padding: 10px;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-table tbody tr:nth-child(even) {
    background: #fafafa;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-table td:first-child {
    color: #555;
  }
  
  #tarifs-maisons-quartier-2025 .tarif-salle-table td:last-child {
    text-align: right;
  }
  
  /* Note sous tableau */
  #tarifs-maisons-quartier-2025 .tarif-salle-note {
    font-size: 1.4rem;
    margin-top: 0.4rem;
    color: #000000;
    font-weight: 700;
    font-family: 'Luciole', Arial, sans-serif;
    margin-top: 20px;
}
  
  /* Carte "pas de location" plus neutre */
  #tarifs-maisons-quartier-2025 .tarifs-salle-col .bg-light-subtle {
    background: #fbfbfb !important;
    border-style: dashed;
    border-color: #dddddd;
  }
  
  /* Bloc infos pratiques & contact */
  #tarifs-maisons-quartier-2025 .tarifs-bottom-row {
    margin-top: 2.5rem;
    row-gap: 1.5rem;
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-infos-pratiques-inner,
  #tarifs-maisons-quartier-2025 .tarifs-contact-inner {
 
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-infos-title {
    font-size: 2.5rem;
    margin-bottom: 20px;
    font-weight: 600;
    /* margin-bottom: 0.7rem; */
    font-family: 'Poppins';
    /* border-bottom: 1px solid #000000; */
    padding-bottom: 10px;
}
  #tarifs-maisons-quartier-2025 .tarifs-infos-list {
    padding-left: 1.1rem;
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-infos-list li {
    margin-bottom: 0.2rem;
    font-size: 1.5rem;
    font-family: 'Luciole', Arial, sans-serif;
    font-weight: 800;
}
  
  #tarifs-maisons-quartier-2025 .tarifs-contact-title {
    font-size: 0.8rem;
    letter-spacing: 0.14em;
    color: #999;
  }
  
  #tarifs-maisons-quartier-2025 .tarifs-contact-name {
    font-size: 0.9rem;
  }
  
  /* Liens */
  #tarifs-maisons-quartier-2025 a {
    color: #89033e;
  font-size: 1.5rem;
    text-decoration: none;
    font-weight: 700;
    font-family: 'Luciole', Arial, sans-serif;
}
  
  #tarifs-maisons-quartier-2025 a:hover {
    text-decoration: underline;
  }
  
  /* ===================== Responsive ===================== */
  
  @media (max-width: 767.98px) {
    #tarifs-maisons-quartier-2025 {
      padding-top: 2rem;
      padding-bottom: 2rem;
    }
    .noel-journee {
      margin-bottom: 0;
  }
  .noel-animation-text {
    padding: 10px;
}
    section.noel-journee-wrapper.noel-journee-wrapper--light {
      background-color: #fde5c2;
      padding: 0px;
  }
  section.noel-journee-wrapper.noel-journee-wrapper--dark {
    background-color: #fde5c2;
    padding: 0px;
}
    .icone-chantier {
      display: flex;
      justify-content: center;
      margin-top: 30px;
      padding-right: 30px;
  }
  .travaux-item {
    padding: 30px;
    border-bottom: 1px solid #e5e5e5;
}
    #tarifs-maisons-quartier-2025 .tarifs-title {
      font-size: 1.7rem;
    }
  
    #tarifs-maisons-quartier-2025 .tarif-salle-body {
      padding: 1.1rem 1.1rem 1rem;
    }
  
    #tarifs-maisons-quartier-2025 .tarif-salle-table td:last-child {
      text-align: left;
    }
  }
  


/* ===== MODE SPÉCIAL ÉVÉNEMENT ===== */

#special-event .bandeau-info-pratique .bg-autres{
  background:rgba(255,255,255,.12);
  border-radius:999px;
  padding:4px 10px;
}
#special-event .bloc-texte.container.position-relative {
  margin-bottom: 150px;
}

#special-event .hero-header { overflow: hidden; }

/* Couche neige */
#special-event .hero-header .snow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2; /* au-dessus de l'overlay, sous le texte si ton contenu n'a pas de z-index > 2 */
}

/* Flocons */
#special-event .hero-header .snow .flake{
  position:absolute;
  top:0;
  width:var(--size);
  height:var(--size);
  border-radius:50%;
  background:rgba(255,255,255,var(--alpha));
  filter:blur(var(--blur));
  transform:translate3d(var(--x-start), -10vh, 0);   /* <- vh */
  animation:snow-fall var(--dur) linear var(--delay) infinite;
}

@keyframes snow-fall{
  0%   { transform: translate3d(var(--x-start), -10vh, 0) rotate(0deg); }   /* <- vh */
  100% { transform: translate3d(var(--x-end),   110vh, 0) rotate(360deg); } /* <- vh */
}
/* Réduction d’animations si l’utilisateur préfère moins d’effets */
@media (prefers-reduced-motion: reduce) {
  #special-event .hero-header .snow { display: none; }
}
/* ===== HERO FULLSCREEN ===== */
#special-event .event-hero{
  position:relative;
  min-height:100svh; /* plein écran, compatible mobile */
  width:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  display:flex;
  align-items:flex-end;       /* carte en bas */
  justify-content:center;
  padding: clamp(16px, 4vw, 40px);
  isolation:isolate;
}

/* Overlay pour lisibilité (dégradé haut->bas) */
#special-event .event-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 35%, rgba(0,0,0,.10) 60%, rgba(0,0,0,0) 100%);
  z-index:0;
}

/* Carte titre/dates/lieu avec léger verre dépoli */
#special-event .event-card{
  position:relative;
  z-index:1;
  max-width:min(1000px, 92vw);
  text-align:center;
  color:#fff;
  padding: clamp(16px, 4vw, 32px);
  border-radius: 20px;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* Sur-titre (catégorie) */
#special-event .event-kicker{
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  letter-spacing:.18em;
  font-weight:700;
  text-transform:uppercase;
  font-size: .9rem;
  opacity:.95;
  margin-bottom:.4rem;
}

/* Titre principal */
#special-event .event-title{
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight:700;
  line-height:1.08;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  margin: 0 0 .5rem 0;
}

/* Métas */
#special-event .event-meta{
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  opacity:.95;
}
#special-event .event-meta .sep{ padding:0 .5em; }

/* Espace de sécurité sous les barres fixes (mobile inclus) */
#special-event .event-hero{
  /* 38px (bandeau) + ~66px header ≈ 104px → sécurise si besoin */
  padding-top: max(120px, 8vh);
}

/* Accessibilité focus visible sur liens menu */
#special-event .menu a:focus-visible,
#special-event .bandeau-info-pratique a:focus-visible{
  outline: 2px solid #fff;
  outline-offset: 3px;
  border-radius:6px;
}

/* Petites tailles : compacter légèrement */
@media (max-width: 576px){
  #special-event .header{ padding:8px 14px; }
  #special-event .bandeau-info-pratique{ padding:4px 0; }
  #special-event .event-card{ padding: 16px 14px; border-radius:14px; }
}

/* Préférence utilisateur : réduire les effets */
@media (prefers-reduced-motion: reduce){
  #special-event .header{ transition: none; }
}




.expo-cat {
  background-color: #ffffff;
  display: inline-block;
  font-family: 'Poppins';
  padding: 5px 15px;
}
.titre-expo-home {
  font-family: 'Poppins';
  font-size: 3rem !important;
}
.date-expo-home {
  font-size: 1.8rem !important;
  font-weight: 800;
  font-family: 'Luciole', Arial, sans-serif;
  background-color: #16F4D0;
  display: inline-block;
  padding: 5px 15px;
  color: #000000;
}
.encarts-expo {
  padding-left: 60px;
}
.expositions-en-cours {
  margin-top: 60px;
}
.evenement-template-default .event-accessibility-icons.mb-4 {
  position: absolute;
  background-color: #ffffff;
  padding: 20px;
  right: 50px;
  color: #000000;
  font-size: 1.8rem !important;
  font-family: 'Poppins';
}
.evenement-template-default .event-accessibility-icons h5 {
  font-size: 2rem;
  font-family: 'Poppins';
  font-weight: 700;
}
.evenement-template-default .icon-handicap {
  WIDTH: 60px;
  display: inline-block;
}
.single-exposition .event-content p {
font-size: 1.5rem;
  font-weight: 500;
  font-family: 'Luciole', Arial, sans-serif;
}
.single-exposition .event-aside h3 {
  font-weight: 700;
  font-size: 2.5rem;
  margin-bottom: .75rem;
  color: #101e28;
  font-family: 'Poppins';
  color: #95013e;
}
.single-exposition .event-hero {
  position: relative;
  width: 100%;
  min-height: 600px;
  height: 60vh;
  background: #111 center / cover no-repeat;
  display: grid
;
  place-items: center;
  justify-content: end;
  align-items: end;
}
.event-meta {
  color: #394957;
  font-size: 1.5rem;
  margin-top: 30px;
}
.single-exposition span.lieu {
  color: #000000;
  font-weight: 500;
}
.single-exposition span.date {
  font-weight: 700;
  font-family: 'Poppins';
  color: #000000;
  padding: 5px 15px;
  background-color: #ffffff;
}

 
.single-exposition .event-title {
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  line-height: 1.1;
  margin: 0 0 8px;
  color: #101e28;
}
main.event-content {
  padding: 60px;
}
.event-aside p  {
  
  font-size: 1.4rem !important;
}
.citation-expo {
  font-size: 2rem !important;
  color: #2f4061;
  line-height: 1.6;
  text-align: center;
  max-width: 678px;
  font-family: 'Luciole', Arial, sans-serif;
  margin: 40px auto;
  padding: 10px 20px;
  border-left: 3px solid #52796f;
  font-weight: 600 !important;
}
.single-exposition .event-card {
  position: relative;
  z-index: 1;
  background: #16F4D0;
  padding-top: 40px;
  
  max-width: 920px;
  width: calc(100% - 40px);
  text-align: center;
  padding-bottom: 40px;
}
.event-aside {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 20px;
}
span.horaires-style {
  color: #ffffff;
  font-size: 2rem;
  font-family: 'Poppins';
  font-weight: 600;
  border-bottom: 1px solid #ffffff;
  padding-bottom: 10px;
  margin-bottom: 10px;
  display: inline-block;
}
section.footer-wrap {
  background-color: #fff1dc;
  padding-top: 60px;
  padding-left: 80px;
  padding-right: 80px;
}
.col-lg-6.contact-droite {
}

.contact-droite2 {
    padding: 80px;
}

img.logo-footer {
    margin-left: 30px;
    margin-bottom: 20px;
}

p.text-muted.copyright-site.text-center {
    margin-top: 40px;
    font-size: 1.4rem;
    color: #000000;
    font-weight: 600;
}

p.copyright-site.text-center {
    font-size: 1.5rem;
    font-family: 'Poppins';
    font-weight: 400;
    margin-top: 60px;
    color: #1f1c1c;
}

.horaire {
    margin-top: 30px;
    background-color: #89033eed;
    padding: 20px;
    color: #ffffff;
    border-radius: 20px 0px;
    font-family: 'Poppins';
    font-weight: 700;
    font-size: 1.4rem;
    
}

/* Scope global pour Ã©viter tout conflit */
.footer-wrap {
  --brand: #89033E;
  --ink: #36382e;
}

/* Typo et couleurs locales */
.footer-wrap .text-brand {color: var(--brand);font-size: 1.8rem;font-family: 'Poppins';font-weight: 600;/* border-bottom: 1px solid #ded9d9; */margin-top:20px;padding-bottom: 10px;}
.footer-wrap .text-ink   {color: var(--ink);font-size: 1.5rem;}

.footer-wrap .btn-brand {
  background-color: var(--brand);
  color: #fff;
  border: 0;
  font-size: 1.5rem;
  border-radius: 40px;
  font-weight: 500;
  font-family: 'Poppins';
  margin-top: 20px;
}
.footer-wrap .btn-brand:hover,
.footer-wrap .btn-brand:focus {
  filter: brightness(0.95);
  color: #fff;
}

/* Intro (Ã©quivalent ~28px / lh 1.2 / max-width 496px) */
.footer-wrap .footer-intro {
  color: #000000;
  font-size: 1.75rem; /* 28px */
  line-height: 1.2;
  font-weight: 600;
  font-family: 'Poppins';
  max-width: 496px;
  margin-bottom: 1rem;
}

/* Cartouche droite avec grand arrondi en haut Ã  gauche */
.footer-wrap .rounded-tl-128 {
  border-top-left-radius: 128px;
  border-color: var(--brand);
}

/* IcÃ´nes rÃ©seaux */
.footer-wrap .icon-50 {
  width: 50px;
  height: 50px;
  display: inline-block;
  border-radius: 50%;
  overflow: hidden;
  line-height: 0;
}

/* Ajustements responsives */
@media (max-width: 991.98px) {
  .footer-wrap .footer-intro { font-size: 1.5rem; } /* 24px */
}













.programme-intro-evenement {
  padding-right: 40px;
  margin-top: 30px;
  margin-bottom: 30px;
}
.callout {
  margin-top:20px;
  display: flex;
  flex-wrap: nowrap;
  gap: 2rem;
  padding: 2rem;
  margin-bottom: 1.5rem;
  color: #36454f;
  border: 1px solid;
  border-radius: 5px;
  border-color: var(--callout-color, #6c757d);
  background-color: var(--callout-bg, #f8f8f9);
  position: relative;
  overflow: hidden;
}
.callout::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 5px;
  background: var(--callout-color, #6c757d);
}
.callout__icon {
  flex-shrink: 0;
  width: 70px;
  margin-left: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--callout-color, #6c757d);
}
.callout__content {
  flex-grow: 1;
  font-weight: 600;
  font-family: 'Poppins';
  font-size: 1.5rem;
  color: #fff;
}
.callout--info {
  --callout-color: #1b646c;
  --callout-bg: #268f9a;
}
.accompagnement-numerique h2.post-subtitle {
  font-size: 2.5rem;
  font-weight: 600;
  font-family: 'Poppins';
}
.bandeau-flash p {
  max-width: 1200px;
  margin: 0 auto;
  padding-right:10px;
}
p.pe-activite__orga {
  font-weight: 600;
}
h3.pe-jour__titre {
  color: #96033e;
  font-family: 'Poppins';
  font-size: 3rem;
  font-weight: 700;
  padding-bottom: 20px;
  position: relative;
}

h4.pe-activite__titre {
  font-size: 3rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 700;
  margin-bottom: 20px;
  color: #37a6a6;
}
.pe-activite__infos {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eaeaea;
}
h3.pe-jour__titre::after {
  content: "";
  display: block;
  width: 60px;
  border-bottom: 5px solid #96033e;
  margin-top: 10px;
}
aside.event-infos-pratiques {
  background-color: #37a6a6;
  color: #ffffff;
  margin-top: -200px;
  padding: 30px;
  border-radius: 30px 0px 30px 0px;
  position: relative;
  box-shadow: 3px 8px 10px #4545456e;
  transition: all 0.35s ease;

}

a.bouton-newsletter-home {
  background-color: #07304c;
  color: #ffffff;
  bottom: 20px;
  border: none;
  font-size: 1.5rem;
  /* position: absolute; */
  padding: 8px 20px;
  margin-top: 30px;
  border-radius: 20px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
  display: inline-block;
}
h2.actus-titre-publication {
  font-family: 'Poppins';
  font-size: 4rem;
  color: #89033e;
  padding-top: 30px;
  font-weight: 600;
  margin-bottom: 40px;
  letter-spacing: -2px;
  position: relative;
}
h2.actus-titre-publication:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 70px;
  height: 5px;
  background-color: #89033e;
  border-radius: 4px;
}
div#publication-id {
  margin-bottom: 80px;
}
#publication-id.posts-3d-slick {
  position: relative;
  padding: 80px 0px;
}

#publication-id .post-card { padding: 0 12px; }
#publication-id .post-card__link { display: block; text-decoration: none; }

#publication-id .post-card__media {
  position: relative;
  width: min(320px, 78vw);
  aspect-ratio: 2/3;
  border-radius: 18px;
  overflow: hidden;
  background: #111 center/cover no-repeat;
  box-shadow: 7px 0px 11px 0px rgba(0, 0, 0, .25);
    transform: perspective(1200px) rotateY(0) translateZ(0) scale(.92);
  transition: transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .6s, filter .6s;
  will-change: transform, filter;
}

#publication-id .post-card__overlay {
  position: absolute;
  inset: auto 0 0 0;
  padding: 16px 16px 18px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#publication-id .post-card__title {
  margin: 0;
  opacity: 1;
  font-size: 1.5rem;
  line-height: 1.2;
  /* font-weight: 700; */
  color: #ffffff;
  font-family: 'Poppins';
}
figcaption.post-card__overlay {
  background-color: #89033e !important;
}
#publication-id .post-card__meta { font-size: 12px; opacity: .85; }

#publication-id .post-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #111;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(0,0,0,.2);
}

#publication-id .post-card img {
  position: absolute;
  inset: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Effet 3D */
#publication-id .slick-slide .post-card__media {
  filter: saturate(.85) brightness(.9);
  opacity: .9;
}
#publication-id .slick-center .post-card__media {
  transform: perspective(1200px) translateZ(0) rotateY(0) scale(1.02);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  filter: none;
  opacity: 1;
}
#publication-id .slick-slide.slick-active:not(.slick-center) .post-card__media {
  transform: perspective(1200px) rotateY(var(--tilt, -12deg)) scale(.92);
}

/* Inclinaison des voisins */
#publication-id .slick-active + .slick-active .post-card__media { --tilt: -10deg; }
#publication-id .slick-center + .slick-active .post-card__media { --tilt: 10deg; }

/* Dots & flèches */
#publication-id .slick-dots { bottom: -8px; }
#publication-id .slick-dots li button:before { font-size: 10px; opacity: .45; }
#publication-id .slick-dots li.slick-active button:before { opacity: .9; }
#publication-id .slick-dots {
  display: none!important;
}
#publication-id .slick-prev,
#publication-id .slick-next {
  width: 42px;
  height: 42px;
  z-index: 3;
}
#publication-id .slick-prev:before,
#publication-id .slick-next:before {
  font-size: 36px;
  opacity: .85;
}

/* Responsive */
@media (max-width: 1024px) {
  #publication-id .post-card__media { width: min(280px, 72vw); }
  .contenu-texte-dossier {
    background-color: #FFFFFF;
    width: 40%;
    border-radius: 20px 0px 20px 0px;
    position: absolute;
    top: 20px;
    left: 80px;
    padding: 20px;
    box-shadow: 3px 3px 3px 3px #00000012;
}
img.image-dossier-png {
  position: absolute;
  bottom: 0;
  display: block;
  right: 0;
  max-width: 500px;
}

}
@media (max-width: 640px) {
  #publication-id .post-card__media { width: auto; }
  .bandeau-flash p {
    max-width: 1200px;
    margin: 0 auto;
    padding-right: 100px;
  }
  main.event-content {
    padding: 20px;
    
}
.encarts-expo {
  padding-left: 10px;
}
}


section.newsletter-home {
  background-color: #fde5c2;
  padding-top: 10px;
  padding-bottom: 40px;
}
p.paragraphe-newsletter {
font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  line-height: 2.3rem;
  color: #000;
}

.blob-newsletter lottie-player {
  position: relative;
  z-index: 1;
}

.bandeau-flash {
  padding: 15px;
  background-color: #07304c;
  color: #fff;
  font-family: 'Poppins';
  color: #ffffff;
  font-weight: 600;
  text-align: center;
  font-size: 1.4rem;
}

.encart-vae {
  background-color: #fcfbfb;
  padding: 30px;
  border-radius: 0px 30px;
 
}
.page-id-100735 li {
  list-style-type: none;
  text-align: centera;
  display: inline-block;
}
.page-id-100703 th {
  background-color: #05d59d;
}
.page-id-100703 th, .page-id-100703 td {
  padding: 10px;
  text-align: center;
}
.page-id-100703 table, .page-id-100703 th, .page-id-100703 td {
  border: 1px solid #000;
  font-size:1.6rem;
  font-family:'poppins';
  font-weight:600;
}
.bandeau-programme {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  height: 400px;
}
.bandeau-programme .bandeau-overlay h1,
.bandeau-programme .bandeau-overlay h2 {
  max-width: 700px;  /* ✅ Largeur max du texte */
  margin-left: auto; /* ✅ Centre le bloc */
  margin-right: auto;/* ✅ Centre le bloc */
}
.bandeau-programme .bandeau-overlay {
  background: rgba(0,0,0,0.4);
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;  /* ✅ Empile verticalement */
  align-items: center;      /* Centre horizontalement */
  justify-content: center;  /* Centre verticalement */
  padding: 50px 15px;
  text-align: center;       /* ✅ Texte centré */
}
.programme-jour .bg-warning  {
background-color: rgb(255 230 230) !important;
}

.bandeau-programme .bandeau-texte {
  font-size: 3.5rem;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  margin: 0;
  font-family: 'Poppins';
  margin-bottom: 20px;
}
.bandeau-programme h2 {
  font-weight: 600;
  font-family: 'Poppins';
  font-size: 2rem;
}
h3.titre-vibrez-date {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 3rem;
  color: #89033e;
  margin-bottom: 20px;
}
h4.titre-vibrez-evenement {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2rem;
  margin-bottom: 10px;
  padding-top: 10px;
  border-top: 1px solid #eeeeee;
  padding-bottom: 10px;
  color: #c4043a;
}
.blob-motion {
  width: 100%;
  height: 100%; /* ✅ Le SVG occupe toute la hauteur de sa colonne */
  object-fit: cover; /* optionnel, pour bien remplir */
}
.programme-jour em {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 10px;
  display: inline-block;
}
.programme-jour p {
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-family: 'Poppins';
  font-weight: 500;
}
 a.actus-all:hover {
  color: #ffffff;
}
.actus-all:hover { background-color: #f11655;
}
.actus-all {
  background-color: #89033e;
  color: #ffffff;
  bottom: 20px;
  border: none;
font-size: 1.5rem;
  text-align: center;
  display: block;
  padding: 8px 20px;
  border-radius: 20px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
  margin: 0 auto;
  margin-bottom: 60px;
  margin-top: 60px;
  /* float: right; */
  width: 300px;
}
.programmation-espace-sainte-anne .contenu-single {
  max-width: 800px;
  margin: 0 auto;
}
h3.titre-3-st-anne {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.4rem;
  color: #88328a;
  margin-bottom: 10px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #eeeeee;
}
.page-template-template-ecoles .projet-lannion-2030 {
  background-color: #f8b0b3;
   padding: 0px;
}
.single-artistes_tardives figcaption.mt-2.text-muted.small {
  font-size: 1.5rem;
  font-weight: 500;
}
.lien-tardives {
  color: #000000;
  border: 1px solid #f4e8c6;
  display: inline;
  border-radius: 10px;
  background-color: #f4e8c6;
  font-size: 1.5rem;
  font-family: 'Poppins';
  padding: 10px 20px;
  margin-bottom: 10px;
  position:relative;
}
.lien-tardives:hover {
  color: #000000;
  background-color: #ffffff;
}
.carte-evenement .card {
  box-shadow: 0px 4px 8px rgb(228 228 228);
}

.carte-evenement {
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: none;
}

.carte-evenement .card-title {
  font-weight: 600;
  font-size: 2.2rem;
  font-family: 'Poppins';
  letter-spacing: -1px;
  color: #0d805b;
}
/* Effet au survol */
.carte-evenement:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}
a.bouton-infos-tardives {
  padding: 5px 10px;
  font-size: 1.5rem;
  font-weight: 500;
  color: #235385;
  border: 2px solid #235385;
  border-radius: 20px;
}
a.bouton-infos-tardives:hover {
  background-color: #35337e;
  color: #ffffff;
  transition: 0.2s ease-in;
}

  .repartitionclasses h3, .inscription-ecole h3, {
  font-size: 2.3rem;
  font-weight: 600;
  font-family: 'Poppins';
  color: #89033f;
}
/* ecoles.css */
section.repartition-bandeau {
  padding: 20px;
}
/* Conteneur principal */
.ecoles-container {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

/* Bloc de chaque école */
.ecole-card {
  height: 300px;
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.ecole-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

/* Overlay en bas du bloc */
.ecole-overlay {
  position: absolute;
  bottom: 0;
  background: rgb(7 48 76);
  color: #fff;
  width: 100%;
  padding: 1rem;
}

/* Titre de l'école */
.ecole-title {
  margin: 0;
font-size: 1.5rem;
  font-family: 'poppins';
  color:#ffffff;
  font-weight: 700;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
}

/* Bouton de lien */
.ecole-btn {
  margin-top: 0.75rem;
  padding: 0.5rem 1rem;
  background-color: #ffffff;
  color: #333;
  font-weight: 500;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s ease;
}

.ecole-btn:hover {
  background-color: #e0e0e0;
}


.element-item.isotope-hidden {
  position: absolute !important;
  opacity: 0;
  z-index: -1;
  pointer-events: none;
}
#artistes-grid {
  position: relative;
}

.element-item,
.element-sizer {
  width: 31%; /* 3 colonnes avec un peu de marge */
  margin: 1%;
  float: left;
}

@media screen and (max-width: 768px) {
  .element-item,
  .element-sizer {
      width: 48%;
      margin: 1%;
  }
}

@media screen and (max-width: 480px) {
  .element-item,
  .element-sizer {
      width: 98%;
      margin: 1%;
  }
}

@font-face {
  font-family: 'TGSPerfectCondensed';
  src: url('fonts/TGSPerfectCondensed.eot'); /* IE9 Compatibility */
  src: url('fonts/TGSPerfectCondensed.eot?#iefix') format('embedded-opentype'),
       url('fonts/TGSPerfectCondensed.woff2') format('woff2'),
       url('fonts/TGSPerfectCondensed.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
.event-longdescription a {
  color: #89033e;
}
.event-location-info {
  padding: 40px;
  background-color: #fde5c2;
  border-radius: 40px 0px;
  font-size: 1.8rem;
  margin-top: 40px;
  color: #000000;
  font-family: 'Luciole', Arial, sans-serif;
}
.event-contact-block h5 {
  font-family: 'Poppins';
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 40px;
    color: #89033e;
  
}
.event-contact-block li::marker {
  color: #89033e;
}
.event-contact-block li a {
  color: #89033e !important;
  font-family: 'Poppins';
  font-size: 1.8rem;
  display: inline-block;
  margin-bottom: 20px;
}
.event-contact-block ul {
  list-style-type: disclosure-closed;
}
.event-contact-block {
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid #c2c2c2;
  border-bottom: 1px solid #c2c2c2;
  margin-top: 40px;
  margin-bottom: 40px;
}

.actus-allevent {
  background-color: #89033e;
  color: #ffffff;
  bottom: 20px;
  margin-top:80px;
  border: none;
  font-size: 1.8rem;
  text-align: right;
  display: inline-block;
  padding: 8px 20px;
  border-radius: 20px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
}
.menu h2 {
  font-size: 2.5rem;
  font-family: 'Poppins';
  font-weight: 600;
  color: #89023f;
  margin-bottom: 20px;
  }
  .content-bloc h2 {
    font-size: 2.5rem;
    font-family: 'Poppins';
    font-weight: 600;
    color: #89023f;
    margin-bottom: 20px;
}
.content-bloc h4 {
  color: #000000;
      line-height: 1.8rem;
      font-family: 'Luciole', Arial, sans-serif;
      font-weight: 500;
      font-size: 1.5rem;
      padding-bottom: 10px;
      text-align: left;
      border-bottom: 1px solid #00000012;
      margin-top: 20px;
  }
  .content-bloc  h3 {
  color: #07304c;
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2rem;
}
.page-id-100032 .single-section li a {
  color: #f11655 !important;
}
.page-id-100032 .single-section h3 a {
  color: #f11655 !important;
  font-weight: revert;
}
.page-id-100032 li {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Luciole', Arial, sans-serif;
}
.accessibilite-hidden-lecteur  {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.budget-participatif-3 p {
  font-size: 1.5rem;
  font-weight: 500;
  padding: 20px;
}
section.timeline-container h2 {
  font-family: 'Poppins';
  font-weight: 600;
  margin-bottom: 50px;
  font-size: 4rem;
  text-align: center;
  color: #93308c;
}
.timeline-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
  font-family: sans-serif;
}
.timeline-container  p {
  font-size: 1.8rem;
}
.timeline-container h4 {
  font-size: 2.5rem;
  color: #000000;
  font-weight: 600;
  color: #e15f6b;
}
.timeline-container h3 {
  font-family: 'Poppins';
  font-size: 2rem;
  color: #535353;
  font-weight: 600;
}
.timeline {
  position: relative;
  margin: 2rem 0;
  padding-left: 20px;
}

.timeline::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  background: #ccc;
}

.timeline-item {
  position: relative;
  width: 50%;
  padding: 20px;
  box-sizing: border-box;
}

.timeline-item.left {
  left: 0;
  text-align: right;
}

.timeline-item.right {
  left: 50%;
  text-align: left;
}

.timeline-item::before {
  content: '';
  position: absolute;
  top: 1.5rem;
  width: 15px;
  height: 15px;
  background: #ff0084;
  border-radius: 50%;
  border: 3px solid white;
}

.timeline-item.left::before {
  right: -8px;
}

.timeline-item.right::before {
  left: -8px;
}

.timeline-content {
  background: #f9f9f9;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.page-template-template-general  table.wp-list-table.widefat.fixed.striped.table-view-list.forms {
  width: 100%;
  max-width: 600px;
}

.flash-info {
  background-color: #f9f9f9;
  padding: 20px;
}
h3.actus-titre-propose1 {
  font-family: 'Poppins';
  font-size: 2.5rem !important;
  font-weight: 600;
  padding-bottom: 20px;
  margin-top: 20px;
  letter-spacing: -1px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #96013e;
}

h3.actus-titre-propose {
  font-family: 'Poppins';
  font-size: 2.5rem !important;
  font-weight: 600;
  padding-bottom: 20px;
  margin-top: 80px;
  letter-spacing: -1px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #96013e;
}

.flash-info .title {
    font-weight: bold;
    margin-right: 10px;
    display: block;
    font-family: 'Poppins';
    /* display: inline-block; */
    font-size: 2.5rem;
    color: #07304c;
}

.info-slider {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 80px);
}

.info-slider div {
  font-size: 1.5rem;
  padding: 5px 0;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
}

.info-slider .slick-slide {
  
  padding-bottom: 30px;
}
.evenement-header {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 50vh;
    min-height: 300px;
    background-size: cover;
    background-position: center;
    margin: 0 auto;
    padding: 30px;
    box-sizing: border-box;
    text-align: center;
}

.evenement-header .overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4); /* Opacité ajustable */
  z-index: 1;
}

.evenement-header .content {
  position: relative;
  z-index: 2;
}

.titre-banniere {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.5em;
  color: #fff;
  margin-bottom: 10px;
}

p.tagline {
  font-size: 2.4rem;
  font-family: poppins;
  font-weight: 600;
  color: #FFF;
}

.evenement-header .description {
  font-weight: 600;
  font-size: 1.4em;
  color: #fff;
  margin: 0;
}

article.evenement-contenu {
    font-size: 1.5rem;
    font-weight: 400;
    font-family: 'Luciole', Arial, sans-serif;
    margin-top: 40px;
}
path.shape-fill {
  display: auto;
}
.slick-agenda .contenu-evenement-ville {
  padding: 10px;
  background: #fff;
  border: 1px solid #ddd;
  margin: 5px;
  text-align: left;
}
.slick-agenda .contenu-evenement-ville img {
  max-width: 100%;
  height: 250px;
  display: block;
}
.slick-agenda .details {
  padding: 10px 0;
}
/* Conteneur des dots centré */
.slick-agenda .slick-dots {
  display: flex !important;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin-top: 20px;
  padding: 0;
}

/* Boutons dots */
.slick-agenda .slick-dots li button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ccc;
  border: none;
  padding: 0;
  text-indent: -9999px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

/* Dot actif */
.slick-agenda .slick-dots li.slick-active button {
  background-color: #005baa; /* Couleur personnalisée */
  transform: scale(1.3);
}

.slick-agenda .contenu-evenement-ville h3 {
  font-size: 3rem;
  font-weight: 600;
  margin: 0 0 10px;
  line-height: 3rem;
  color: #f11655;
  font-family: 'Poppins';
  margin-top: 10px;
  margin-bottom: 10px;
  position: relative;
  letter-spacing: -2px;
}

.home-new-lire {
  font-family: "Poppins",sans-serif;
  font-weight: 300;
  font-style: normal;
  padding-block:min(20vh, 6rem);text-align: center;
  width: calc(min(90rem, 90%));
  margin-inline:auto;padding-top: 0
}

.home-new-lire span,.home-new-lire p,.home-new-lire h2,.home-new-lire h3 {
  letter-spacing: .035rem
}

.home-new-lire p {
  line-height: 1.6;
  color: #a3a3a3;
  max-width: 50rem;
  margin: 0 auto;
  font-size: clamp(0.9rem, 0.825rem + 0.3vw, 1.2rem)
}

.home-new-lire .bg-watermark {
  color: #1f1f1f14;
  font-size: clamp(6rem, 1.3333rem + 14.9333vw, 20rem);
  font-weight: 800;
  position: absolute;
  z-index: -1;
  left: 50%;
  transform: translatex(-50%) translatey(-15%);
  user-select: none;
  letter-spacing: .5rem
}

.home-new-lire span {
  text-transform: uppercase;
  display: block;
  font-size: 1.2rem;
  color: #a3a3a3
}

.home-new-lire h2 {
  font-size: clamp(3.5rem, 3rem + 1.6vw, 5rem);
  margin-top: -.625rem;
  color: #fff
}

.home-new-lire .cards {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(12rem, 100%),1fr));
  gap: 2rem
}

@media screen and (min-width: 51rem) {
  .home-new-lire .cards {
      gap:0;
      padding-bottom: 2.5rem
  }
}

@media screen and (max-width: 768px) {
  .home-new-lire .cards {
      display:block
  }

  .home-new-lire .cards .card:nth-child(2) {
      transform: translatey(0%)!important
  }
}

.home-new-lire .cards .card {
  position: relative;
  cursor: pointer;
  margin: 20px
}

.home-new-lire .cards .card h3,.home-new-lire .cards .card p {
  text-transform: capitalize
}

.home-new-lire .cards .card h3 {
  font-size: clamp(1rem, 0.9167rem + 0.2667vw, 1.25rem);
  font-weight: 400;
  color: #f6f6f6
}

.home-new-lire .cards .card p {
  font-size: clamp(0.85rem, 0.75rem + 0.32vw, 1.15rem);
  letter-spacing: .12rem;
  font-weight: 300;
  max-width: 100%
}

.home-new-lire .cards .card::before {
  position: absolute;
  content: "";
  width: 5rem;
  height: 6.25rem;
  z-index: -1;
  transition: 0.3s ease-in-out;
  background: #c81733;
  top: -.375rem;
  left: -.375rem
}

.home-new-lire .cards .card::after {
  position: absolute;
  inset: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to bottom,rgb(65 67 69 / 0%) 0%,rgb(100 100 100 / 5%) 50%,rgb(0,0,0) 100%);
  background: -webkit-linear-gradient(to bottom,rgba(65,67,69,.2),rgba(8,8,8,.9))
}

.home-new-lire .cards .card img {
  filter: brightness(.8);
  transition: 0.5s ease
}

.home-new-lire .cards .card-content {
  position: absolute;
  bottom: 0;
  z-index: 99;
  left: 0;
  color: #fff;
  width: 100%;
  padding: 1.875rem 1.25rem;
  text-align: center
}

.home-new-lire .cards .card-content ul {
  display: inline-block;
  align-items: center;
  justify-content: center;
  gap: .625rem;
  margin-top: 1.25rem;
  list-style-type: disclosure-closed;
  color: #fff
}

.home-new-lire .cards .card-content ul a {
  color: #fff
}

.home-new-lire .cards .card:hover img {
  filter: grayscale(0%)
}

.home-new-lire .cards .card:hover::before {
  transform: scale(1.03)
}

.home-new-lire .cards .card:nth-child(1)::before {
  top: -.375rem;
  left: -.375rem
}

@media screen and (min-width: 31.25rem) {
  .home-new-lire .cards .card:nth-child(2) {
      transform:translatey(15%)
  }
}

.home-new-lire .cards .card:nth-child(2)::before {
  bottom: -.375rem;
  left: -.375rem;
  top: auto
}

.home-new-lire .cards .card:nth-child(3)::before {
  top: -.375rem;
  left: -.375rem
}

span.date-permanence {
  display: inline-block;
  padding: 10px;
  color: #FFFFFF;
  background-color: #89033e;
  margin: 10px;
  border-radius: 10px 0px;
}
span.menu-traduction {
  font-size: 1.5rem;
  color: #5e5e5e;
  font-weight: 500;
}
img.image-corps-de-texte {
  display: block;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}
.single-section  ul {
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
}
.bandeau-header-sans-image {
  background-color: #f8f8f8;
  padding: 40px;
}
.bandeau-texte p {
  font-size: 1.8rem;
  font-weight: 400;
  font-family: 'Luciole', Arial, sans-serif;
}
.hero-anchors {
  width: 100%;
  max-width: 1140px;
  transform: translateY(50%);
}
.event-covoiturage a.btn.btn-outline-secondary {
  background-color: #89033e;
  color: #fff;
  font-size: 1.5rem;
  border-radius: 5px;
}


.event-covoiturage {
    text-align: left;
    margin-top: -20px;
    background-color: #fcfcfc;
    padding: 40px;
    color: #ffffff;
    position: relative;
    z-index: -20;
    width: 30%;
    box-shadow: 0px 0px 10px 0px #00000045;
    border-radius: 0px 30px 30px 0px;
    margin-top: -90px;
    position: relative;
    z-index: 20;
}

.event-covoiturage h5 {
    color: #07304c;
    font-family: 'Poppins';
    font-size: 1.7rem;
    font-weight: bold;
}

.search-form button {
    padding: 10px 20px;
    border: none;
    background-color: #89033e!important;
    color: #fff;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
}
.event-header {
  background: linear-gradient(-45deg, #89033e, #ff6f61, #7d2c8e, #ff4081);
  background-size: 400% 400%;
  animation: degradeAnime 60s ease infinite;
  position: relative;
  padding: 120px 100px 80px 80px;
  margin-top: -80px;
  z-index: -1;
  text-align: center;
  color: #FFFFFF;
}

@keyframes degradeAnime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.les-marmouzeries-dautomne a.btn.btn-outline-secondary {
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 600;
  border-color: #ffffff;
}
p.event-conditions {
  font-size: 1.8rem;
  font-weight: 700;
  padding: 10px 20px;
  border-top: 1px solid;
  display: inline-block;
  border: 1px solid #FFFFFF;
  margin-top: 40px;
  border-radius: 20px;
}
p.event-normal {
  border-top: 1px solid #ffffff1f;
  padding-top: 10px;
  color: #ffffff;
}
.prix-accessibilite {
  position: absolute;
  right: 80px;
  background-color: #ffffff;
  padding: 20px;
  color: #000000;
  box-shadow: 7px 3px 8px 0px #00000017;
}

.prix-accessibilite .icon-handicap {
  WIDTH: 60px;
  display: inline-block;
}
.dossier_grand_angle-template-default p {
  font-family: 'Luciole', Arial, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.5rem;
  font-variation-settings: "wdth" 100;
}
.event-wrapper-single {
  margin: 0 auto;
  max-width: 700px;
  width: 100%;
}
.evenement-template-default .contenu-single {
  max-width: 700px;
  margin: 0 auto;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 400;
  color: #000000;
}
.evenement-template-default .contenu-single2 {
  margin: 0 auto;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 400;
  color: #000000;
}
.contenu-single {
  max-width: 1300px;
  margin: 0 auto;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 400;
  color: #000000;
}
.contenu-single-asso {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 400;
  color: #000000;
}
a.mesdemarches {
  color: #07304c;
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2rem;
  /* background-color: #000; */
}
p.event-keywords {
  font-size: 1.8rem;
  font-weight: 600;
}
.event-location-mairie {
  font-size: 1.8rem;
  font-weight: 500;
  border-left: 5px solid #8d3588;
  padding-left: 20px;
}
.event-date-single {
  color: #000000;
  font-style: italic;
  margin-bottom: 10px;
  margin-top: 40px;
  background-color: #ffffff;
  font-family: 'Poppins';
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-block;
  padding: 10px 30px;
  border-radius: 0px 20px;
}
.event-location-mairie h5 {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.5rem;
  color: #c13787;
}

.event-location-mairie {
  margin-top: 60px;
  margin-bottom: 60px !important;
}
h4.event-subtitle.text-muted {
  font-size: 1.8rem !important;
  font-family: 'Poppins';
  font-weight: 600;
  color: #FFFFfF !important;
  margin-top: 20px;
  margin-bottom: 20px;
}
.event-title-single {
  font-weight: 700;
  margin-bottom: 15px;
  position: relative;
  font-family: 'Poppins';
  color: #ffffff;
  max-width: 600px;
  font-size: 2.5rem;
  line-height: 3.5rem;
  margin-bottom: 20px;
  margin: 0 auto;
  width: 100%;
  padding-top: 40px;
}
.agendaimagesingle {
  border-radius: 0px 40px;
}
.anchor-box {
  background-color: #4d104c;
  transition: background-color 0.3s, transform 0.3s;
}

.anchor-box:hover {
  background-color: #701b69;
  transform: translateY(-5px);
}
.wrapper-grandangle-dossier {
  max-width: 1000px;
  width: 100%;
}
.menu-grand-angle {
  /* background-color: #000000; */
  min-height: 200px;
  margin-top: -100px;
  z-index: 100;
  position: relative;
}
.contenu-menu-grand-angle {
  background-color: #89023f;
  padding: 40px;
  min-height: 150px;
  color: #ffffff;
  border-radius: 20px 0px 80px 0px;
  font-weight: 600;
  font-family: 'poppins';
}
.hero-grand-angle {
  height: 60vh;
  width: 100vw;
  overflow: hidden;
  position: relative;
}
.parallax-section {
  position: relative;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  overflow: hidden;
  margin-bottom: 80px;
}
h2.titre-articles-dossier {
  font-family: 'Poppins';
  font-size: 3rem;
  color: #89023f;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
.photo-dispo1 {
  /* padding-right: 50px; */
  box-shadow: none !important;
  border-radius: 20px 0px 160px 0px !important;
  /* border: 1px solid #ffffff; */
  padding-right: 50px 
}
.hero-background {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.hero-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.4); /* léger fondu noir */
  z-index: 2;
}

.hero-content {
  position: relative;
  z-index: 3;
  max-width: 800px;
}

.hero-scroll {
  z-index: 3;
}

.hero-scroll .chevron-down {
  font-size: 2rem;
  animation: bounce 2s infinite;
  color: #fff;
  opacity: 0.8;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(10px); }
}

.encart-flottant {
  
  margin: 0 0 20px 20px;
  padding: 30px;
  background-color: #4d104c;
  color: #fff;
  border-radius: 0px 40px;
  font-size: 0.95rem;
}

.encart-flottant ul {
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight:600;
}
.single-artistes_tardives img.habillage {
  position: absolute;
  width: 300px;
  left: 0;
  bottom: 0;
  position: absolute;
  width: 300px;
  left: 0;
  bottom: -20px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
.single-artistes_tardives img.habillage2 {
  position: absolute;
  width: 300px;
  right: 0;
  position: absolute;
  width: 300px;
  bottom: 0px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}

.single-artistes_tardives .bg-dark {
  background: linear-gradient(135deg, #7e2b87, #1a407f);
  color: white;
  padding: 5rem 1rem;
  animation: fadeIn 1s ease-out;
  position: relative;
  height: 50vh;

  display: flex;
  flex-direction: column;
  justify-content: center; /* vertical centering */
  align-items: center;     /* horizontal centering (optionnel) */
  text-align: center;      /* si tu veux centrer le texte */
}
.prog-infos.container.position-relative.z-2 {
  background-color: #923986;
    left: 50%;
    transform: translateX(-50%);
    padding: 20px;
    bottom: -70px;
    position: absolute !important;
    border-radius: 40px;
    text-align: left;
    width: auto;
    max-width: none;
    display: inline-block; /* clé pour que la largeur suive le contenu */
}

.single-artistes_tardives p.lead2 {
  max-width: 500px;
  text-align: center;
  display: inline-block;
  color: #ffffff;
  font-family: 'Poppins';
  font-size: 2rem;
  border-radius: 20px;
  font-weight: 600;
}
.single-artistes_tardives h1.display-4 {
  font-size: 5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  max-width:600px;
  width:100%;
  text-align: center;
}

.single-artistes_tardives .featured-image-wrapper {
  margin-top: 40px;
  z-index: 1;
  position: relative;
}
.single-artistes_tardives section.description-artiste.py-5 {
font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  color: #000000;
}
.single-artistes_tardives iframe.embed-responsive-item {
  width: 100%;
  height: 500px;
}

.single-artistes_tardives .featured-image-inner {
    max-width: 600px;
    margin: 0 auto;
    margin-top: 110px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    border-radius: 16px;
    overflow: hidden;
}
.slider-galerie h5.mb-2 {
  font-family: 'Poppins';
  font-size: 2rem;
  font-weight: 600;
  color: #FFFFFF;
  text-align: left;
}
.slider-galerie .slide-item {
  padding: 20px;
  background-color: #89033e;
  margin: 10px;
  position: relative;
  min-height: 160px;
}
.slider-galerie a.btn.btn-primary {
  background-color: #ef626c;
  border: none;
  font-family: 'Luciole', Arial, sans-serif;
  position: absolute;
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 800;
  /* float: left; */
  margin-top: 20px;
  bottom: 20px;
  left: 20px;
}
/* Cible uniquement le slider-galerie */
.slider-galerie .slick-dots {
  display: flex !important;
  justify-content: center;
  margin-top: 20px;
  padding: 0;
  list-style: none;
}

.slider-galerie .slick-dots li {
  margin: 0 6px;
}

.slider-galerie .slick-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ccc;
  border: none;
  padding: 0;
  text-indent: -9999px; /* masque le texte "1", "2", etc. */
  transition: background-color 0.3s ease, transform 0.3s ease;
  cursor: pointer;
}

.slider-galerie .slick-dots li.slick-active button {
  background-color: #e3001b; /* rouge personnalisé actif */
  transform: scale(1.3);
}


.page-template-template-tardives2025 {
  --color-bg: #fffaf3;
  --color-primary: #ff5722;
  --color-secondary: #222;
  --color-accent: #ffcc80;
  --card-radius: 20px;
  --transition-fast: 0.3s ease;
  background-color: var(--color-bg);
  font-family: 'Poppins', sans-serif;
}


.page-template-template-tardives2025 .card-title {
  font-weight: 600;
  font-size: 2.2rem;
  font-family: 'Poppins';
  letter-spacing: -1px;
  color: #1945a3;
}

/* Header */
.page-template-template-tardives2025 .bg-dark {
  background: linear-gradient(135deg, #7e2b87, #1a407f);
  color: white;
  padding: 5rem 1rem;
  animation: fadeIn 1s ease-out;
  position: relative;
  height: auto;
}
.page-template-template-tardives2025 h1.display-4 {
  font-size: 5rem;
  font-weight: 700;
  margin-top: 100px;
  margin-bottom: 1rem;
  text-align: center;
}

.page-template-template-tardives2025 p.lead2 {
  max-width: 500px;
  text-align: center;
  display: inline-block;
  color: #ffffff;
  font-size: 2.4rem;
  background-color: #7b275d;
  padding: 0px 10px;
  border-radius: 5px;
  margin-bottom:30px;
  font-weight: 600;
}
.bi-clock-fill::before {
  content: "\f291";
  font-size: 1.5rem;
}
.icon-inline {
  vertical-align: middle;
  display: inline-block;
  margin-top: -2px; /* Ajuste si nécessaire */
}
.single-artistes_tardives  .separator {
  width: 20px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  margin: 10px auto 20px;
}


h2.lead {
  font-size: 2rem;
  font-weight: 600;
  color: #f6da90 !important;
}
.lead {
  font-size: 2rem;
  font-weight: 300;
  font-family: 'Poppins';
  font-weight: 600;
}
/* Filtres */
.page-template-template-tardives2025 #filters {
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.page-template-template-tardives2025 #filters .btn {
  border-radius: 50px;
  transition: var(--transition-fast);
  padding: 0.5rem 1rem;
  font-size: 1.5rem;
}
.page-template-template-tardives2025 #filters .btn:hover,
.page-template-template-tardives2025 #filters .btn.active {
  background-color: #35337d;
  color: white;
}

/* Cartes artistes */

.page-template-template-tardives2025 .card {
  border: none;
  border-radius: var(--card-radius);
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.page-template-template-tardives2025 .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.page-template-template-tardives2025 .card-img-top {
  object-fit: cover;
  height: 350px;
  transition: opacity 0.3s ease;
}
.page-template-template-tardives2025 .card-body {
  background-color: white;
  padding: 1.5rem;
}
.page-template-template-tardives2025 img.habillage {
  position: absolute;
  width: 300px;
  left: 0;
  bottom: 0;
  position: absolute;
  width: 300px;
  left: 0;
  bottom: -20px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
.page-template-template-tardives2025 img.habillage2 {
  position: absolute;
  width: 300px;
  right: 0;
  position: absolute;
  width: 300px;
  bottom: 0px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
.page-template-template-tardives2025 .card-text {
  color: var(--color-secondary);
  font-size: 1.4rem;
  margin-bottom: 20px;
}
p.card-text.mb-1 {
  font-size: 1.4rem;
}


.page-template-template-tardives2025 .btn-outline-primary {
  border-radius: 50px;
  border: 2px solid #35337d;
  color: #1a2652;
  font-weight: 500;
  font-size: 1.5rem;
  transition: var(--transition-fast);
}
.page-template-template-tardives2025 .btn-outline-primary:hover {
  background-color: var(--color-primary);
  color: white;
}


.custom-button {
  display: inline-block;
  padding: 5px 12px;
  background: linear-gradient(to top, #89023E 50%, #c80d54 50%);
  background-size: 100% 200%;
  background-position: bottom;
  color: white;
  font-family: 'Poppins', sans-serif;
  border: none;
  border-radius: 10px 0px;
  margin-top: 20px;
  margin-left: 5px;
  font-weight: 600;
  text-decoration: none;
  font-size: 14px;
  cursor: pointer;
  transition: background-position 0.4s ease;
}

.custom-button:hover {
  background-position: top;
  color: white;
}
.custom-button:hover {
  background-color: #a1054c; /* couleur un peu plus claire au survol */
}
.custom-button:hover a {
  color: #ffffff; /* couleur un peu plus claire au survol */
}
.custom-button::before {
  content: "\279C";
  margin-right: 5px;
}

.breadcrumb {
  font-family: poppins;
  font-size: 0.95rem;
  padding: 1rem 0;
  margin-bottom: 0px;
  color: #ffffff;
  background-color: #f7f7f7;
  overflow-x: auto;
  white-space: nowrap;
  padding-left: 80px;
  font-size: 1.4rem;
}

.breadcrumb ol {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li + li::before {
  content: "/";
  margin: 0 0.75rem;
  color: #ccc;
  font-size: 0.9em;
}

.breadcrumb a {
  color: #000000;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}
.breadcrumb a:hover,
.breadcrumb a:focus {
  color: #ffffff;
  text-decoration: underline;
  outline: none;
}

#main-content-search {
  min-height: 100vh; /* ❌ À éviter s’il n’y a pas de padding/margin en bas */
  padding-bottom: 100px; /* ✅ Pour que le contenu ne soit pas caché par le footer */
}
.breadcrumb li[aria-current="page"] {
  color: #96013e;
  font-weight: 600;
  cursor: default;
  text-decoration: none;
}

@media (max-width: 768px) {
  .breadcrumb {
    font-size: 0.88rem;
    padding: 0.75rem 0;
  }
  .breadcrumb li + li::before {
    margin: 0 0.5rem;
  }
}


h2.sous-titre-header-important {
  font-family: Poppins, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: #000000;
  opacity: 0;
  display: inline-block;
  border-bottom-width: 0px;
  color: rgb(137 3 62);
  animation: 0.5s ease-in 0.5s 1 normal forwards running fadeIn, 0.5s ease-in 0.5s 1 normal forwards running expandBorder;
}
h3.sous-titre-header-full {
  font-family: 'Poppins', sans-serif;
  /* border-bottom: 5px solid #ce0147; */
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards 0.5s, expandBorder 0.5s ease-in forwards 0.5s;
  padding-bottom: 0px;
  display: inline-block;
  border-bottom-width: 0;
  color: #000000;
}
.contact-detail {
  font-size: 2rem;
  font-weight: 700;
  font-family: poppins;
  text-align: left;
  margin-top: 10px;
}

.texte-services {
  text-align: left;
  margin-top: 20px;
  font-size: 1.5rem;
  font-weight: 600;
  font-family: poppins;
}
.icone-info {
  float: left;
  width: 50px;
}
img.icon-info {
  filter: invert(1);
}
button.btn.btn-outline-danger {
  padding: 10px;
  font-size: 1.5rem;
  margin-top: 20px;
}
.icone-info img {
  filter: invert(1);
}
.contenu-services h3 {
  font-family: 'Poppins';
  font-size: 3rem;
  font-weight: 600;
  color: #89033e;
}
h2.titre-services {
  font-family: 'Poppins';
  font-size: 3rem;
  font-weight: 600;
  color: #89033e;
}
.texte-services1 {
  
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  color: #000;
  padding-top: 20px;
  padding-bottom: 20px;
}
h4.sous-titre-services {
  font-family: 'Luciole', Arial, sans-serif;
  font-size: 2rem;
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 600;
}
.contenu-services {
  padding: 40px;
  font-size: 1.5rem;
}
.contact-services {
  margin: 0 auto;
  padding: 40px;
  background-color: #F7F4F3;
  margin-top: 40px;
  border-radius: 20px 0px 20px 0px;
  color: #000000;
  box-shadow: 4px 4px 3px 1px rgb(0 0 0 / 6%);
}

h5.fw-bold {
  FONT-SIZE: 2REM;
  FONT-FAMILY: POPPINS;
  PADDING-BOTTOM: 10PX;
  /* BORDER-BOTTOM: 1PX SOLID; */
}
.footer-general {
  position: relative;
  padding-top: 70px;
  font-size: 1.5rem;
}
.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: #7d0138 !important;
}
.bgfooter  {
background-color:#89033E;
}
.bgfooter {
  background-color: #89033E;
  text-align:auto;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2rem;
}
.custom-shape-divider-bottom-1743377449 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-bottom-1743377449 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 71px;
}

.custom-shape-divider-bottom-1743377449 .shape-fill {
  fill: #89033E;
}

   
.page-template-template-general .bloc-item h3 {
  font-family: 'Poppins';
  font-weight: 600;
  margin-bottom: 15px;
  font-size:2rem;
  color: #96013e;
}
.page-id-133 .projet-lannion-2030 {

background-color: #f8b0b3;
padding: 20px;
}
.page-template-template-general #conseil-section {
  margin-top: 80px;
  max-width: 1000px;
  width: 100%;
}
.page-template-template-general #conseil-section .card {
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.page-template-template-general .bloc-item h4 {
  font-weight: 700;
  font-family: 'Luciole', Arial, sans-serif;
  margin-bottom: 15px;
font-size: 1.5rem;
}
.page-template-template-general .bloc-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.elections-municipales-2026-infos-pratiques  .bloc-item {
  display: block!important;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.page-template-template-general .bloc-item h3, 
.page-template-template-general .bloc-item h4, 
.page-template-template-general .bloc-item p {
  flex-grow: 1; /* Équilibre la hauteur du texte */
}

.page-template-template-general .bloc-item a.btn.btn-primary {
  background-color: #96013e;
  padding: 5px 20px;
  color: #ffffff;
  display: inline-block;
  margin-top: 20px;
  border-radius: 0;
}
.page-template-template-general .bloc-item {
  border-radius: 0px 20px;
  padding: 30px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  background: #ffffff;
  transition: transform 0.3s ease-in-out;
  font-size: 1.4rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
}
.page-template-template-general .bloc-item:hover {
  transform: translateY(-5px);
}
.cm2025 .card-body {
  min-height: 220px;
}

.cm2025 img.card-img-top {
  height: 350px!important;
  border-bottom: 6px solid #96013e;
  object-fit: cover;
  background-color: #96013e;
}
.contenu-projet li {
  margin-top: 10px;
  margin-top: 10px;
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: bold;
  list-style-type: disclosure-closed;
  color: #89033e;
}

a.button-general {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 15px;
  background: #89033e;
  color: white;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 800;
  font-size: 1.5rem;
}



/*------------------------------------*\
  Menu
\*------------------------------------*/

.wrapper-menu1 {
  padding-left: 80px;
  padding-right: 80px;
}
.item-menu1 {
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 20px;
}
.item-menu1 h2 {
  font-size: 2.5rem;
  font-family: 'Poppins';
  font-weight: 600;
  color: #89023f;
  margin-bottom: 20px;
}
.item-menu1 p {
  color: #000000;
  /* font-size: 1.8rem; */
  /* font-weight: 400; */
  line-height: 1.8rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  /* line-height: 2.2rem; */
  padding-bottom: 10px;
  text-align: left;
  border-bottom: 1px solid #00000012;
  margin-top: 20px;
}
/*------------------------------------*\
   Flash info
\*------------------------------------*/







/*------------------------------------*\
   Agenda Soft
\*------------------------------------*/

section.agendasoft {
  padding-top: 60px;
  padding-bottom: 60px;

 
  background-color: #96013e;
  }
  .row.events-grid {
    border-radius: 10px;
}
.event-wrapper {
  padding: 40px;
  display: inline-block;
  border-right: 3px dotted #EEEEEE;
  border-bottom: 0px dotted #EEEEEE;
}

.event-title {
  font-weight: 700;
  margin-bottom: 15px;
  position: relative;
  font-family: 'Poppins';
  color: #2f2f2f;
  font-size: 1.5rem;
  line-height: 2.4rem;
  margin-bottom: 20px;
}
h3.event-title:after {
 
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
  width: 80px;
  height: 3px;
  background-color: #000;
}
.event-date {
  color: #282828;
  font-style: italic;
  margin-bottom: 10px;
  font-family: 'Poppins';
  font-size: 1.5rem;
  font-weight: 700;
}
.event-wrapper p {
  font-size: 2rem;
  font-weight: 500;
  font-family: 'Luciole', Arial, sans-serif;
  margin-top: 20px;
}
a.text-dark {
  padding: 5px 15px;
  border: 1px solid #000000;
  margin-top: 20px;
  display: inline-block;
  font-weight: 600;
  font-family: 'Luciole', Arial, sans-serif;
  text-transform: lowercase;
  font-size: 1.7rem;
}

.event-wrapper:hover h3.event-title {
  color: #fff;
}
.event-wrapper:hover {
  background-color: #f11655;
  transition: ease 0.5s;
  color: #ffffff !important;
}
/*------------------------------------*\
   En ce moment
\*------------------------------------*/

.encemoment {
  padding-bottom: 120px;
  background-color: #fff1dc;
  padding-top: 60px;
}

.contenu-evenement-ville {
  margin-top: 40px;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s;
  box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.3);
}
.contenu-evenement-ville:hover {
  transform: translateY(-5px);
}

.contenu-evenement-ville img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  transition: transform 0.3s ease;
  overflow:hidden;
}

.contenu-evenement-ville:hover img {
  transform: scale(1.1);
}

.contenu-evenement-ville .details {
  padding: 15px;
  min-height: 250px;
}
.contenu-evenement-ville h3 {
  font-size: 3rem;
  font-weight: 600;
  margin: 0 0 10px;
  line-height: 3rem;
  color: #f11655;
  font-family: 'Poppins';
  margin-top: 10px;
  margin-bottom: 10px;
  position: relative;
  letter-spacing: -2px;
}
.contenu-evenement-ville h3::after {
  content: "";
  display: block;
  width: 50px;
  margin-top: 10px;
  height: 4px;
  background-color: #f11655;
  margin-bottom: 20px;
}

.contenu-evenement-ville a.special-class {
  display: inline-flex;
  align-items: center;
  gap: 10px; /* Espace entre l'icône et le texte */
  padding: 10px 15px;
  color: #000000;
  position: absolute;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  bottom: 20px;
  font-family: 'Luciole', Arial, sans-serif;
  font-size: 1.5rem;
  right: 20px;
  font-weight: 600;
}

.contenu-evenement-ville span.special-class {
  display: inline-flex;
  align-items: center;
  gap: 10px; /* Espace entre l'icône et le texte */
  padding: 10px 15px;
  color: #000000;
  position: absolute;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  bottom: 20px;
  font-family: 'Luciole', Arial, sans-serif;
  font-size: 1.5rem;
  right: 20px;
  font-weight: 600;
}

/* Ajout du rond avec la croix */
.contenu-evenement-ville a.special-class::before {
  content: "👉 ";
  content: "+"; /* Symbole de croix */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; /* Taille du rond */
  height: 24px;
  background-color: #000000; /* Couleur du rond */
  color: #fff; /* Couleur de la croix */
  font-size: 16px;
  font-weight: bold;
  border-radius: 50%; /* Rend le rond parfaitement circulaire */
}

.contenu-evenement-ville span.special-class::before {
  content: "👉 ";
  content: "+"; /* Symbole de croix */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; /* Taille du rond */
  height: 24px;
  background-color: #000000; /* Couleur du rond */
  color: #fff; /* Couleur de la croix */
  font-size: 16px;
  font-weight: bold;
  border-radius: 50%; /* Rend le rond parfaitement circulaire */
}


.datehome {
  position: absolute;
  top: 0;
  background-color: #89033e;
  padding-top: 10px;
  border-radius: 0px 0px 5px 5px;
  padding-right: 10px;
  padding-bottom: 5px;
  padding-left: 10px;
  color: #ffffff;
  font-family: poppins;
  font-size: 1.5rem;
  font-weight: 700;
}

.contenu-evenement-ville p {
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  color: #000000;
  margin-bottom: 15px;
  font-weight: 400;
}



/*------------------------------------*\
   NEWS
\*------------------------------------*/
section#actulannion {
  background-color: #ffffff;
  padding-top: 100px;
}
h2.actus-titre3 {
  
  font-family: 'Poppins';
  font-size: 4rem;
  color: #89033e;
  padding-top: 30px;
  font-weight: 600;
  letter-spacing: -2px;
}
h3.title {
  color: #f11655;
  font-size: 2.5rem;
  font-family: 'Poppins';
  font-weight: 700;
}
h3.title a {
  color: #f11655;
  
}
p.category2 {
  background-color: #89033e;
  color: #FFFFFF;
  
  bottom: 50px;
  display: inline-block;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 800;
  border-radius: 0 10px 0 10px;
}
p.category2 a {
 
  color: #FFFFFF;
  
  
}
.other-articles .content {
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.2rem;
  text-align: left;
  margin-top: 20px;
  color:#000000;
}

h2.actus-titre {
 
  font-family: 'Poppins';
  font-size: 6rem;
  color: #550527;
  font-weight: 600;
  letter-spacing: -2px;
  margin-bottom: 40px;
  margin-top: 20px;
}

.other-articles .article {
  background-color: #FFFFFF;
  margin-bottom: 30px;
  padding: 30px;
  border-radius: 0px 20px 0px 20px;
}
.main-article .content {
  position: relative;
  margin-top: -50px;
  background-color: #FFFFFF;
  width: 80%;
  border-radius: 0px 20px 0px 20px;
  padding: 20px;
  margin-left: 20p;
}
.main-article h2.actus-titre {
  font-family: 'Poppins';
  font-size: 6rem;
  color: #000000;
}
.main-article {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
  border-right: 1px dashed #e0dbdb;
}

.main-article  h2.title {
  font-family: 'Poppins';
  font-weight: 600;
  margin-top: 20px;
}
.main-article h2.title a {
  color: #f11655;
  font-size: 3.5rem;
}
.main-article .contenu-texte {
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  color: #000000;
  font-size: 1.5rem;
  line-height: 2.2rem;
  text-align: left;
  margin-top: 20px;
}
.main-article p.category {
  background-color: #89033e;
  color: #FFFFFF;
  /* font-size: 2rem; */
  /* position: absolute; */
  bottom: 50px;
  padding: 5px 10px;
  position: absolute;
  font-size: 14px;
  font-weight: 800;
  border-radius: 0 10px 0 10px;
}
.main-article p.category a {
  color: #FFF;
}
.main-article p.category2 {
  background-color: #89033e;
  color: #FFFFFF;
  
  padding: 5px 10px;
  
  font-size: 14px;
  font-weight: 800;
  border-radius: 0 10px 0 10px;
}
.main-article p.category2 a {
  color: #FFF;
}
img.img-fluid.wp-post-image {
  border-radius: 10px;
}
.main-article .image {
  border-radius: 10px;
  position: relative;
}

/*------------------------------------*\
    News Single
\*------------------------------------*/
.wp-block-quote {
  font-size: 2.5rem;
  padding-left: 20px;
  border-left: 5px solid #000000;
  margin-left: 100px;
  font-family: 'Luciole', Arial, sans-serif;
  font-style: italic;
  margin-top: 30px;
  margin-bottom: 30px;
}
.bandeau-articles {
  background-color: #F7F4F3;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
.post-thumbnail {
  max-width: 800px;
  margin: 0 auto;
}
.single-article {
  margin-bottom: 30px;
}
h2.post-subtitle {
  font-family: revert-layer;
  font-weight: 400;
  color: #000000;
  font-size: 1.8rem;
  margin-bottom: 40px;
}
.post-thumbnail img {
  width: 100%;
  border-radius: 8px;
}
.single .post-title {
  font-family: 'Poppins';
  font-size: 4rem;
  font-weight: 600;
  max-width: 600px;
  margin: 0 auto;
  margin-bottom: 20px;
  padding-bottom: 20px;
  width: 100%;
}
.single-section .post-title {
  color: #f11655;
  margin: 20px 0 10px;
  font-weight: 600;
  font-size: 3rem;
  font-family: 'Poppins';
  max-width: 700px;
  margin: 0 auto;
  width: 100%;
  padding-bottom: 40px;
}
.post-title {
  color: #f11655;
  margin: 20px 0 10px;
}
.post-content {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #101010;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
}

.post-content a {
 
  display: inline-block;
  color: #ffffff;
  background-color: #8f1647;
  font-weight: 600;
  text-decoration: none;
  padding: 0px 12px;
  clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%);
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  letter-spacing: 0.03em;
}
.post-content a::before {
  content: "\279C";
  margin-right: 6px;
  font-weight: 500;
}
.post-content a:hover {
  background-color: #6e1037;
  color: #ffffff!important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(143, 22, 71, 0.35);
}
.previous-post a {
  color: #8f1647;
}
.previous-post a:hover {
  color: #740536;
    text-decoration-style: solid;
}

.previous-post {
  font-size: 3rem;
  margin-top: 100px;
  margin-bottom: 100px;
  font-weight: 300;
  color: #f4466f;
}

h2.wp-block-heading {
  font-size: 2.5rem;
  color: #89033e;
  font-weight: 700;
  margin-bottom: 10px;
  margin-top: 20px;
  font-family: poppins;
}


h3.wp-block-heading {
  font-size: 2rem;
  color: #89033e;
  font-weight: 700;
  margin-bottom: 10px;
  margin-top: 10px;
  font-family: poppins;
}
h4.wp-block-heading {
  font-size: 1.7rem;
  color: #89033e;
  font-weight: 500;
  margin-bottom: 10px;
  margin-top: 10px;
  font-family: poppins;
}
.next-post a {
  color: rgb(244, 70, 111);
}
.next-post a:hover {
  color: #89033e;
    text-decoration-style: solid;
}

.next-post {
  font-size: 3rem;
  margin-top: 100px;
  margin-bottom: 100px;
  font-weight: 300;
  color: #f4466f;
}
.post-date {
  font-size: 1.4em;
  font-family: 'Luciole', Arial, sans-serif;
  font-style: italic;
  margin-bottom: 10px;
  font-weight: 500;
  margin-top: 10px;
  padding-bottom: 10px;
}
.post-date:after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: #89033e;
  margin: 15px auto 0 auto;
  border-radius: 2px;
}

.post-title a {
  text-decoration: none;
  color: inherit;
}

.post-title a:hover {
  color: #0073aa;
}

.post-details {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 20px;
}



.post-categories p {
  font-size: 0.9rem;
  color: #666;
  margin-top: 20px;
}

.no-post {
  text-align: center;
  padding: 20px;
  background: #ffe5e5;
  color: #a00;
  border-radius: 8px;
}








/*------------------------------------*\
    Archives
\*------------------------------------*/

.archive-actus h1 {
  font-weight: 700;
}

.actus-item:hover {
  background-color: #ffcaca;
  transition: background-color 0.2s ease;
}
.actus-title {
  transition: color 0.2s ease;
}
.actus-item:hover .actus-title {
  color: #d2015d;
}
article.actus-item {
  padding: 20px;
}
.actus-date {
  font-size: 1.4rem;
  font-weight: 700;
  font-family: 'Luciole', Arial, sans-serif;
  margin-bottom: 20px;
  font-style: italic;
}
.actus-subtitle {
  font-size: 1.7rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 500;
  color: #000000;
  margin-bottom: 20px;
}
h2.actus-title {
  font-size: 3rem;
  font-family: poppins;
  font-weight: 600;
  color: #89033e;
}
.actus-date {
  font-size: 1.4rem;
  font-weight: 700;
  font-family: 'Luciole', Arial, sans-serif;
  margin-bottom: 20px;
  font-style: italic;
  color: #000;
}

/*------------------------------------*\
    Bandeau 1 clic
\*------------------------------------*/
.menu-1clic {
  position: absolute;
  bottom: -50px;
  /* right: -20px; */
  /* height: 100px; */
  z-index: 1000;
  background-color: #89033e;
  border-radius: 10px;
  padding: 10px;
  width: 65%;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
}
span.item-picto {
  padding: 1rem;
  display: inline-flex
;
  place-items: center;
  place-content: center;
  border-radius: 50%;
  width: 7rem;
  height: 7rem;
  color: #ffffff;
  background: #f11655;
}
.menu-1clic ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.menu-1clic li {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 10px;
  text-align: center;
}

.icon-1clic {
  width: 80px; /* Ajustez la taille des icônes selon vos besoins */
  height: auto;
  margin-bottom: 5px;
}


.menu-1clic span {
  font-size: 14px;
  color: #ffffff;
  font-family: 'Poppins';
  font-weight: 500;
  margin-top: 10px;
  display: block;
  padding-top: 10px;
  text-align: center;
  margin: 0 auto;
}

.middle-form   {
margin-top:20vh;
}
/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color:#444;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}
/*------------------------------------*\
   Agenda
\*------------------------------------*/
.bandeau-info-pratique2 {
  background-color: #07304c;
 height:50px;
}
.agenda-bg {
  background-color: #96013e;
  padding-bottom: 80px;
}
img.logo-arbre {
  
  width: 300px;
  margin: 0 auto;
  padding-top: 40px;
}
h2.sous-titre {
  color: #FFF;
  font-size: 6rem;
  font-family: 'Poppins';
  font-weight: 700;
  padding-bottom: 100px;
  text-align: center;
}
p.card-description {
  font-size: 1.4rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  padding-top: 10px;
  /* min-height: 100px; */
  border-top: 1px solid #000;
}
.card {
  box-shadow: 0px 4px 8px rgb(231 198 197);
}
.image-wrapper {
  position: relative;
}
.page-template-template-agendalannion  {
  background-color: #96013e;
}
.card-date {
  position: absolute;
  bottom: -20px;
  color: #FFF;
  font-family:'Poppins', Arial, sans-serif;
  font-weight: 900;
  text-align: center;
  display: block;
  width: 100%;
  padding: 5px;
  font-size: 1.5rem;
}
img.photos-illus {
  width: 500px;
}
.agenda-bg .container-fluid {
  padding: 0;
}
img.card-img-top {
  height: 300px;
  border-bottom: 6px solid #96013e;
  object-fit: cover;
  background-color: #96013e;
}
span.jour {
  font-size: 2rem;
}
span.mois {
  font-size: 1.2rem;
  text-transform: uppercase;
  font-family: 'Poppins';
}
time.date {
  display: inline-block;
  padding: 20px;
  border: 2px solid #96013e;
  border-radius: 50%;
  text-align: center;
  width: 80px;
  height: 80px;
  line-height: 20px;
  BACKGROUND-COLOR: #96013E;
  color: #ffffff;
  font-weight: bold;
  font-size: 0.9rem;
}
a.btn.btn-primary {
  background-color: #ef626c;
  border: 1px solid #EEE;
  font-family: 'Luciole', Arial, sans-serif;
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 800;
}
h5.card-title {
  font-size: 2rem;
  font-family: 'Luciole', Arial, sans-serif;
  min-height: 80px;
  font-weight: 600;
  padding-left: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.categorie-date {
  position: absolute;
  top: 10px;
  padding: 2px 10px;
  left: 10px;
  background-color: #EF626C;
  color: #ffffff;
  font-family: 'Luciole', Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 10px;
}
.icon-handicap {
  WIDTH: 30PX;
  display: inline-block;
}
p.card-text {
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  border-top: 1px solid #f0f0f0;
  padding-top: 10px;
  padding-bottom: 5px;
}
.agenda-wrapper-contenu {
  background-color: #fff0dc;
  margin-top: -50px;
  border-radius: 20px;
  padding: 80px;
}
p.contenu-agenda-citoyen-paragraphe {
  font-family: 'Luciole', Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 10px;
}
.contenu-agenda-citoyen {
  padding-left: 40px;
  color: #FFF;
  position:relative;
  margin-bottom: 15px;
  background-color: #FFFFFF;
  padding: 20px;
  margin-left: 40px;
  color: #000;
  border-radius: 20px 0px 20px 0px;
}
/*------------------------------------*\
  Particpation citoyenne agenda
\*------------------------------------*/

h2.participation-citoyenne-agenda {
  color: #003e72;
  font-family: 'Poppins';
  font-weight: 800;
  padding-left: 40px;
  padding-top: 40px;
}
h2.participation-citoyenne-agenda:after {
  content: "";
  display: block;
  width: 50px;
  margin-top: 10px;
  height: 4px;
  background-color: #003e72;
  margin-bottom: 20px;
}
h4.titre-citoyen {
  font-weight: 700;
  font-family: 'Poppins';
  font-size: 2.2rem;
  color: #e9b973;
  padding-bottom: 10px;
  border-bottom: 1px solid #ebebeb;
}
h5.date-participation-citoyenne {
  font-family: 'Luciole', Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  position: absolute;
  top: -10px;
  right: 0;
  background-color: #003e72;
  border-radius: 5px 0px 5px 0px;
  color: #ffffff;
  padding: 5px 10px;
}
/*------------------------------------*\
   Event
\*------------------------------------*/
.bandeau-haut-event {
  position: absolute;
  z-index: 1;
  background-color: #097175;
  height: 300px;
  width: 100%;
}
div#event-details-container {
  position: relative;
  z-index: 1000;
  margin-top: 100px;
  text-align: center;
}



.agendasso {
  padding: 15px;
  margin-top: 40px;
}


/*------------------------------------*\
 Ecole répartition
\*------------------------------------*/
.tableau-repartition {
  border-radius: 10px;
  overflow: hidden;
}
.tableau-repartition-th {
  background-color: #007bff;
  color: white;
  font-size: 1.2rem;
  font-weight: bold;
}
.tableau-repartition-tbody .tableau-repartition-td {
  font-size: 2rem;
  color: #000000;
  font-weight: 500;
}
.tableau-repartition-tbody .tableau-repartition-tr:hover {
  background-color: #f8f9fa;
}
.tableau-repartition-ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.tableau-repartition-li {
  padding: 5px 0;
font-size: 1.5rem;
  font-weight: 600;
}

.table>tbody {
  vertical-align: baseline;
}
th.p-3.tableau-repartition-th {
  font-size: 2rem;
}











h2.titre-repartition {
  font-family: 'Poppins';
  font-size: 2.5rem;
  color: #07304c;
  padding-top: 20px;
}
.repartitionclasses h2 {
  font-family: 'Poppins';
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 20px;
}
.repartitionclasses p {
  line-height: 2.3rem;
}


.horaires {
    padding: 40px;
    background-color: #f3f2f2;
    border-radius: 30px 0px 30px 0px;
    margin-bottom: 40px;
    color: #000000;
}


.horaires h1 {
  font-family: 'Poppins';
  font-size: 2.5rem;
  font-weight: revert-layer;
  padding-bottom: 10px;
}

.horaires h2 {
  font-family: 'Poppins';
  font-weight: 700;
  margin-top: 20px;
}
.horaires p {
  font-size: 1.5rem;
  margin: 0px 10px 0px 0px;
}





.inscription-ecole {
  max-width: 800px;
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.inscription-ecole h1 {
  text-align: center;
  color: #89033e;
}
.inscription-ecole .contact-box strong {
  color: #ffffff;
}
.contact-box {
  background-color: #89033e;
  color: #ffffff;
  padding: 20px;
  border-radius: 0px 30px 0px 30px;
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 20px;
}
.step-content p {
  font-size: 2rem;
  font-family: 'Luciole', Arial, sans-serif;
}
.inscription-ecole .step {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  padding: 15px;
  background: #eef;
  border-left: 5px solid #07304c;
  border-radius: 5px;
}
.step-content ul {
  font-size: 1.5rem;
  list-style-type: disclosure-closed;
  font-weight: 500;
}
.horaires li {
  font-size: 1.7rem;
}
.inscription-ecole .step-number {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  background: #07304c;
  width: 40px;
  height: 40px;
  display: flex
;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin-right: 15px;
}
.step-content h2 {
  font-family: 'Poppins';
  font-weight: 600;
}
.inscription-ecole .step-content {
  flex: 1;
}
.inscription-ecole.contact-box {
  padding: 10px;
  background: #e3f2fd;
  border-radius: 5px;
  margin-top: 10px;
}
.inscription-ecole .button {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 15px;
  background: #89033e;
  color: white;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 800;
  font-size: 1.5rem;
}
.inscription-ecole .button:hover {
  background: #004494;
}


.avantages {
  padding-right: 100px;

}
.avantages p {
  font-size: 1.6rem !important;
  font-weight: 500 !important;
}

.contact-box a {
  color: #f11655;
}




.titre-repartition:after {
  content: "";
  display: block;
  width: 50px;
  margin-top: 10px;
  height: 4px;
  background-color: #f11655;
  margin-bottom: 20px;
}
.table-primary {
  /* font-size: 2rem; */
  --bs-table-bg: #07304c !important;
}
.table-primary {
  --bs-table-color: #ffffff;
  font-weight: 600;
  font-size: 3rem;
}
.repartition-td {
  font-size: 2rem;
}

ul.list-unstyled.mt-2.tableau-repartition-ul {
  font-size: 2rem;
  font-family: 'Luciole', Arial, sans-serif;
}
.tableau-repartition-td strong {
  display: inline-block;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #07304c;
}







/*------------------------------------*\
  Recherche
\*------------------------------------*/
.search {
  background-color: #f4f4f4;
}

.search strong {
  background-color: yellow;
  padding: 2px;
  border-radius: 3px;
}
.search article {
  width: 300px;
  background-color: #ffffff;
  padding: 20px;
  text-align: center;
  margin: 20px;
  min-height: 450px;
  float: left;
  box-shadow: 0px -1px 11px 7px #ede9e9;
}
.search h2 {
  font-size: 2rem;
  font-family: 'Poppins';
  font-weight: 600;
  /* margin-top: 20px; */
  padding: 20px;
}
.search p {
  font-size: 1.4rem;
  color: #000000;
  font-weight: 500;
}
.search h2 a {
  text-decoration: underline;
  /* padding-bottom: 10px; */
}
.search h1 {
  padding: 40px;
  color: #fff;
  font-family: poppins;
  background-color: #89033e;
  font-size: 2.5rem;
  font-weight: 600;
}

.search article {
  width: 300px;
  background-color: #ffffff;
  padding: 20px;
  text-align: center;
  margin: 20px;
  float: left;
  box-shadow: 0px -1px 11px 7px #ede9e9;
}
/*------------------------------------*\
  MAP
\*------------------------------------*/

.leaflet-sidebar-header {
  margin: -10px -20px 0;
  /* height: 40px; */
  /* padding: 0 20px; */
  line-height: 40px;
  font-size: 2rem;
  font-family: 'Poppins';
  color: #fff;
  font-weight: 700;
  background-color: transparent !important;
}
#layers p {
  font-size: 1.7rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
}
/* Conteneur principal pour le layout */
#map-container {
  display: flex;
  flex-direction: row;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Sidebar principale */
.leaflet-sidebar-content {
  width: 300px;
  background-color: #dcd1be;
  padding: 15px;
  height: 100vh;
  overflow-y: auto;
  border-right: 10px solid #ffffff;
}
/* Liste des menus */
.menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-item {
  display: flex;
  align-items: center;
  padding: 10px;
  margin-bottom: 10px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s, box-shadow 0.3s;
}

.menu-item:hover {
  background-color: #f1f1f1;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Icônes des menus */
.menu-icon {
  width: 32px;
  height: 32px;
  margin-right: 10px;
}

/* Texte des menus */
.menu-text {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

/* Carte principale */
#map {
  flex: 1;
  height: 100vh;
  min-width: 0;
  border-left: 1px solid #ddd;
  background-color: #e9ecef;
}

.accueil-recherche {
  height: 60vh;
  position: relative;
}

/*------------------------------------*\
   Header
\*------------------------------------*/
.participation2025 {
  background-color: #fff8ee;  margin-bottom: 0px;
  padding: 40px 20px;
  /* margin-bottom: 20px; */
  border-radius: 10px;
}
.participation2025 .section-title {
  
  font-family: 'Poppins';
  font-size: 4rem;
  padding-bottom: 30px;
  color: #89033e;
  padding-top: 30px;
  font-weight: 600;
  letter-spacing: -2px;
}
.participation2025 .project-card {
  margin-bottom: 20px;
  border: none;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  border-radius: 10px;
  overflow: hidden;
}

.participation2025 .project-card:hover {
  transform: translateY(-5px);
}
.participation2025  .card-body {
  padding: 20px;
  min-height: 350px;
}
.participation2025 .project-card h3 {
    color: #103a77;
    font-family: 'Poppins';
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 15px;
}
.participation2025 .project-date {
  background-color: #e8f4fc;
  color: #103a77;
  padding: 5px 10px;
  border-radius: 20px;
  display: inline-block;
  font-size: 1.2rem;
  margin-bottom: 10px;
  font-weight: 500;
}
.participation2025 .project-card p {
  color: #000000;
  font-size: 1.4rem;
  margin-bottom: 20px;
}

.participation2025 .btn-custom {
  background-color: #fde5c2;
  color: #000000;
  bottom: 20px;
  border: none;
  font-size: 1.4rem;
  position: absolute;
  padding: 8px 20px;
  border-radius: 20px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 600;
}
.participation2025  .btn-custom:hover {
  background-color: #07304c;
  text-decoration: none;
  color: white;
}
/* bandeau-haut */

.bandeau-info-pratique {
  background-color: #FFFFFF;
  /* padding: 20px; */
  color: #222222;
  font-family: "Poppins", sans-serif;
  display: flex
;
  justify-content: end;
}
.liste-pratique-gauche {
  /* list-style: none; */
  display: flex;
  /* padding-left: 20px; */
  /* margin: 0; */
  /* list-style-type: none; */
  /* padding: 0; */
  list-style-type: none;
  padding: 0;
  margin: 0;
  /* margin: 0; */
}

.info-droite {
  display: initial;
  font-size: 1.2rem;
  height: 50px;
  /* margin-right: 20px; */
  font-weight: 600;
  padding-left: 10px;
  padding-right: 10px;
  border-right: 1px solid #e8e8e8;
  display: flex
;
  align-items: center;
  /* gap: 8px; */
  /* margin-bottom: 10px; */
}

.icon-haut {
  margin-right: 10px;
  height: 40px;
  width: 40px;
  height: auto;
  vertical-align: middle;
}
li.bg-autres.info-droite {
  padding-left: 10px;
  PADDING-TOP: 5PX;
  align-items: center;
  FONT-SIZE: 1.3REM;
  height: 50px;
  color: #FFFFFF;
  color: #07304c;
  background-color: #fde5c2;
  PADDING-BOTTOM: 5PX;
}
li.info-droitedroite.bg-autres {
  padding-left: 10px;
  align-items: center;
  FONT-SIZE: 1.3REM;
  color: #FFFFFF;
  background-color:#96013e;
  PADDING-BOTTOM: 0px;
  padding-right: 10px;
  font-weight: bold;
  min-height: 50px;
  display: flex;
}
li.info-droitedroite.bg-autres a {
  
  color: #FFFFFF;

}
/* menu */
.header {
  display: flex
;
  /* justify-content: space-between; */
  align-items: center;
  padding: 20px 80px;
  background-color: #ffffff;
  border-top: 1px solid #EEE;
  border-bottom: 1px solid #EEE;
  /* margin-bottom: 20px; */
}
.logo img {
    max-width: 100px;
    height: auto;
    width:auto;
}
.menu-container {
  display: flex;
  justify-content: flex-start;
}
.menu {
    list-style: none;
    display: flex;
    gap: 20px;
}


.menu li {
    margin: 0 10px;
}

.menu-link {
  color: #07304c;
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2rem;
}
.item-caret {
    display: inline-block;
    border-top: 4px solid #212529;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    margin-left: .25rem;
    vertical-align: middle;
}
.content-bloc {
  display: none;
  padding: 20px;
  background-color: #F7F4F3;
  /* color: #000000 !important; */
}
.content-bloc {
    display: block; /* On utilise 'block' pour gérer les transitions */
    opacity: 0;     /* Le bloc commence transparent */
    height: 0;      /* Le bloc commence avec une hauteur de 0 */
    overflow: hidden;
    padding: 0;     /* Pas de padding au début */
    transition: opacity 0.5s ease, height 0.5s ease, padding 0.5s ease; /* Animation fluide */
}

.content-bloc.active {
    opacity: 1;     /* Le bloc devient visible */
    height: auto;   /* Hauteur automatique selon le contenu */
    padding: 20px;  /* Applique le padding une fois visible */
}

.case-container {
    display: flex;
    gap: 10px;
    justify-content: space-around;
    margin-top: 20px;
}

.case {
    background-color: #eee;
    padding: 15px;
    width: 18%;
    text-align: center;
    border: 1px solid #ccc;
}

.bloc-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.bloc-row img {
    width: 30%;
}

.bloc-text {
    width: 70%;
}

.bloc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.bloc-grid .case {
    width: 100%;
}










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

.deneb_footer .widget_wrapper {
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 200px;
  padding-bottom: 70px;
}
@media (max-width: 767px) {
  .deneb_footer .widget_wrapper .widget {
      margin-bottom: 40px;
  }
  .event-covoiturage {
    text-align: left;
    margin-top: -20px;
    background-color: #fcfcfc;
    padding: 40px;
    color: #ffffff;
    position: relative;
    z-index: -20;
    width: 100%;
    box-shadow: 0px 0px 10px 0px #00000000;
    border-radius: 0px 0px 0px 0px;
    margin-top: 0;
    position: inherit;
    z-index: 20;
}
}
.deneb_footer .widget_wrapper .widget .widget_title {
  margin-bottom: 30px;
}
.deneb_footer .widget_wrapper .widget .widget_title h4 {
  font-weight: bold;
}
.deneb_footer .widget_wrapper .widget .widget_title h4:after {
  content: "";
  display: block;
  max-width: 38px;
  height: 2px;
  margin-top: 5px;
}
.deneb_footer .widget_wrapper .widegt_about p {
  margin-bottom: 20px;
}
.deneb_footer .widget_wrapper .widegt_about .social li {
  display: inline-block;
  margin-right: 10px;
}
.deneb_footer .widget_wrapper .widegt_about .social li a {
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 50%;
  background-color: #f9e6d4;
  color: #fba543;
  font-size: 14px;
  -webkit-transition: all all 0.5s ease-out 0s;
  -moz-transition: all all 0.5s ease-out 0s;
  -ms-transition: all all 0.5s ease-out 0s;
  -o-transition: all all 0.5s ease-out 0s;
  transition: all all 0.5s ease-out 0s;
}
.deneb_footer .widget_wrapper .widegt_about .social li a:hover,
.deneb_footer .widget_wrapper .widegt_about .social li a:focus {
  background-image: -moz-linear-gradient(0deg, #ffbd27 0%, #feb000 100%);
  background-image: -webkit-linear-gradient(0deg, #ffbd27 0%, #feb000 100%);
  background-image: -ms-linear-gradient(0deg, #ffbd27 0%, #feb000 100%);
  color: #fff;
  box-shadow: 2.5px 4.33px 15px 0px rgba(254, 176, 0, 0.4);
}
.deneb_footer .widget_wrapper .widget_link ul li {
  margin-bottom: 5px;
}
.deneb_footer .widget_wrapper .widget_link ul li a {
  text-transform: capitalize;
  color: #7a808d;
}
.deneb_footer .widget_wrapper .widget_link ul li a:hover,
.deneb_footer .widget_wrapper .widget_link ul li a:focus {
  color: #feb000;
}
.deneb_footer .widget_wrapper .widget_contact .contact_info .single_info {
  max-width: 250px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.deneb_footer .widget_wrapper .widget_contact .contact_info .single_info .icon {
  font-size: 12px;
  color: #feb000;
  margin-right: 10px;
}
.deneb_footer .widget_wrapper .widget_contact .contact_info .single_info .info p a {
  color: #7a808d;
}
.deneb_footer .widget_wrapper .widget_contact .contact_info .single_info .info p span {
  display: block;
}

.deneb_footer .copyright_area {
  background: #edecf0;
  padding: 10px 0;
}
.deneb_footer .copyright_area .copyright_text {
  text-align: center;
}
.deneb_footer .copyright_area .copyright_text p {
  color: #011a3e;
}
.deneb_footer .copyright_area .copyright_text p span {
  color: #feb000;
}
.deneb_cta .cta_wrapper {
  padding: 45px 50px 42px;
  max-width: 970px;
  border-radius: 15px;
  margin: auto;
  margin-bottom: -135px;
  position: relative;
  background-image: -moz-linear-gradient(0deg, #ffbd27 0%, #feb000 100%);
  background-image: -webkit-linear-gradient(0deg, #ffbd27 0%, #feb000 100%);
  background-image: -ms-linear-gradient(0deg, #ffbd27 0%, #feb000 100%);
  box-shadow: 2.5px 4.33px 15px 0px rgba(254, 176, 0, 0.4);
  z-index: 1;
}
.deneb_cta .cta_wrapper:after {
  content: "";
  background-position: bottom;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.deneb_cta .cta_wrapper .cta_content h3 {
  color: #fff;
  font-weight: bold;
}
.deneb_cta .cta_wrapper .cta_content h3:after {
  content: "";
  display: block;
  max-width: 110px;
  height: 2px;
  margin-top: 13px;
  margin-bottom: 24px;
}
.deneb_cta .cta_wrapper .cta_content p {
  color: #fff;
}
.deneb_cta .cta_wrapper .button_box {
  float: right;
}


@media only screen and (min-width: 768px) and (max-width: 991px) {
  .deneb_cta .cta_wrapper .button_box {
      float: none;
      text-align: left;
      margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .deneb_cta .cta_wrapper .button_box {
      float: none;
      text-align: center;
      margin-top: 30px;
  }
}
.deneb_cta .cta_wrapper .button_box .deneb_btn {
  background: #fff;
  color: #011a3e;
}
.deneb_cta .cta_wrapper .button_box .deneb_btn:hover,
.deneb_cta .cta_wrapper .button_box .deneb_btn:focus {
  box-shadow: 2.5px 4.33px 15px 0px rgba(0, 0, 0, 0.15);
}
/*------------------------------------*\
   FEED RS
\*------------------------------------*/

.ff-content.is-truncated {
	font-weight: 400;
    color: #000;
}
.ff-layout-masonry .ff-item:not(.ff-ad) .ff-content {
	font-weight: 400;
    color: #000;
}







/*------------------------------------*\
  PAGE ECOLES
\*------------------------------------*/
.inscription-ecole h1:after {
  content: "";
  display: block;
  width: 50px;
  margin-top: 10px;
  height: 4px;
  background-color: #f11655;
  margin-bottom: 20px;
}

.slick-slider-ecoles img {
  height: 300px;
  object-fit: cover;
  border-left: 10px solid #FFFFFF;
}
.slider-ecoles {
  padding-top: 40px;
  padding-bottom: 40px;
}
.nopad {
  padding: 0;
}
.page-template-template-ecoles .contenu-header-full {
  position: relative;
  z-index: 2;
  text-align: center;
  color: white;
  padding: 20px;
  max-width:600px;
  /* margin-top: 40px; */
}

.image-ecole-simple {
  background-size: cover;
  min-height: 500px;
  padding: 20px;
}
.contenu-texte-ecole {
  padding: 100px;
}
section.contact-bandeau {
  background-color: #eeeeee;
  padding-top: 40px;
  padding-bottom: 40px;
}

/*------------------------------------*\
 DOSSIER HOMEPAGE
\*------------------------------------*/

section.dossier-du-mois {
  height: 60vh;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  --s: 6px;
  --c1: #ffffff;
  --c2: #bfbfbf;
  background: conic-gradient(at 60% 60%, var(--c1) 75%, #0000 0) 0 0 / calc(5* var(--s) / 2) calc(5* var(--s) / 2), repeating-conic-gradient(var(--c1) 0 25%, #0000 0 50%) 0 0 / calc(5* var(--s)) calc(5* var(--s)), repeating-conic-gradient(var(--c2) 0 25%, var(--c1) 0 50%) 0 0 / var(--s) var(--s);
}
img.image-dossier-png {
  position: absolute;
  bottom: 0;
  display:block;
  right: 0;
  width:auto;
}

h4.category-dossier {
  color: #89033e;
  font-weight: 800;
  font-size: 1.8rem;
  font-family: 'Poppins';
}
h2.dossier-titre {
  font-size: 3rem;
  font-family: 'Poppins';
  font-weight: 700;
}
p.dossier-contenu {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Luciole', Arial, sans-serif;
  margin-top: 10px;
}
button.bouton-dossier {
  border: none;
  padding: 10px 20px;
  font-size: 1.3rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 700;
  border-radius: 10px;
  margin-top: 20px;
  background-color: #be0e40;
  color: #FFFFFF;
  text-transform: uppercase;
}









/*------------------------------------*\
 SLIDER EXPOS
\*------------------------------------*/







/*------------------------------------*\
  Page Projet
\*------------------------------------*/

.image-header {
  position: relative;
  background-color: #89023f;
  background-size: cover;
  background-position:center center;
  display: flex;
  height: 50vh;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.overlay-projet {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Overlay noir transparent */
  z-index: 1;
}

.contenu-header-full {
  position: relative;
  z-index: 2;
  text-align: center;
  color: white;
  padding: 20px;
  max-width:600px;
}

.titre-header-full {
  font-family: 'Poppins', sans-serif;
  font-size: 3em; /* Taille du H1 */
  font-weight: 700; /* Gras pour le H1 */
  margin-bottom: 10px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards;
}

.projet-lannion-2030 {
  background-color: #f8b0b3;
  padding: 40px;
}
.projet-lannion-2030 p {
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  color: #000;
}
.projet-lannion-2030 .sous-titre-header-full {
  font-family: 'Poppins', sans-serif;
  /* border-bottom: 5px solid #ce0147; */
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards 0.5s, expandBorder 0.5s ease-in forwards 0.5s;
  padding-bottom: 20px;
  display: inline-block;
  border-bottom-width: 0;
  color: #000000;
  padding-top:0px;
}

.projet-transition-ecologique {
  padding: 40px;
  margin: auto;

}

.projet-handicap {
  padding: 40px;
  background-color: #efc0be;
}
.photo-handicap {
  padding-left: 80px;
}
.photo-transition {
  padding-right: 80px;
  margin-bottom:0px;
}

.photo-transition2 {
  padding-left: 80px;
}
.projet-transition-ecologique p {
font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  color: #000;
}
.projet-transition-ecologique h2.sous-titre-header-full {
  font-family: 'Poppins', sans-serif;
  /* border-bottom: 5px solid #ce0147; */
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards 0.5s, expandBorder 0.5s ease-in forwards 0.5s;
  padding-bottom: 20px;
  display: inline-block;
  border-bottom-width: 0;
  color: #89033e;
}
.projet-handicap p {
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
  font-weight: 400;
  color: #000;
}
.projet-handicap h2.sous-titre-header-full {
  font-family: 'Poppins', sans-serif;
  /* border-bottom: 5px solid #ce0147; */
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards 0.5s, expandBorder 0.5s ease-in forwards 0.5s;
  padding-bottom: 20px;
  display: inline-block;
  border-bottom-width: 0;
  color: #89033e;
}
.paragraphe-texte {
  font-size: 1.5rem;
  font-family: revert-layer;
  max-width: 600px;
  margin: 0 auto;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards 1s;
  font-weight: 500;
}



.slick-prev,
.slick-next {
  position: absolute;
  top: 50%; /* Centre verticalement */
  transform: translateY(-50%); /* Ajustement pour centrer */
  z-index: 1000; /* Assure que les flèches soient devant les slides */
  background: none;
  border: none;
  padding: 0;
  font-size: 0;
  cursor: pointer;
}

.slick-prev {
  left: -60px; /* Positionne à gauche de la première slide */
}

.slick-next {
  right: -60px; /* Positionne à droite de la dernière slide */
}

.slick-prev svg, .slick-next svg {
  width: 60px;
  height: 60px;
  color: #ffffff;
  transition: color 0.3s;
}
.slick-slider2 .slick-prev svg, .slick-next svg {
  width: 60px;
  height: 60px;
  color: #000000;
  transition: color 0.3s;
}

.slick-slider2 .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: 0px;
  margin-right: 0px;
}
.slick-prev:hover svg,
.slick-next:hover svg {
  color: #007bff; /* Couleur des flèches au survol */
}

/* Assure que le slider ne déborde pas dans des conteneurs spécifiques */
.slick-slider2 {
  position: relative;
}
/* Assure que le slider ne déborde pas dans des conteneurs spécifiques */
.slick-slider1 {
  position: relative;
}
/* Responsive: Ajuste la position des flèches si nécessaire */
@media (max-width: 768px) {
  .slick-prev {
    left: -20px;
  }

  .slick-next {
    right: -20px;
  }
}


.slick-slider1 h5.mb-2 {
  font-family: 'Poppins';
  font-size: 2rem;
  font-weight: 600;
  color: #FFFFFF;
  text-align: left;
}
.slick-slider2 h5.mb-2 {
  font-family: 'Poppins';
  font-size: 2rem;
  font-weight: 600;
  color: #FFFFFF;
  text-align: left;
}
.contenu-header-full h2.sous-titre-header-full {
  font-size: 2.5rem;
  font-weight: 700;
  font-family: 'Poppins';
  margin-top: 20px;
  margin-bottom: 20px;
}

.slick-slider1 a.btn.btn-primary {
  background-color: #ef626c;
  border: none;
  font-family: 'Luciole', Arial, sans-serif;
  position: absolute;
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 800;
  /* float: left; */
  margin-top: 20px;
  bottom: 20px;
  left: 20px;
}
.slick-slider1 .slide-item.text-center.slick-slide {
  padding: 20px;
  background-color: #89033e;
  margin: 10px;
  position:relative;
  min-height: 160px;
}
.slick-slider2.slick-initialized.slick-slider {
  margin-top: 80px;
}

.slick-slider2 a.btn.btn-primary {
  background-color: #ef626c;
  border: none;
  font-family: 'Luciole', Arial, sans-serif;
    position: absolute;
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 800;
  /* float: left; */
  margin-top: 20px;
  bottom: 20px;
  left: 20px;
}
.slick-slider2 .slide-item.text-center.slick-slide {
  padding: 20px;
  background-color: #89033e;
  margin: 10px;
  position:relative;
  min-height: 160px;
}
.slick-slider1.slick-initialized.slick-slider {
  margin-top: 80px;
}
.image-header {
  transition: height 1s ease;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
@keyframes expandBorder {
  to {
    border-bottom-width: 5px;
  }
}

.contenu-page p {
  font-size: 1.5rem;
  font-family: 'Luciole', Arial, sans-serif;
    font-weight: 400;
}
/*------------------------------------*\
   Slider
\*------------------------------------*/
.slider-lannion .flex { display: -webkit-flex; display: flex; -webkit-flex-direction: row;  flex-direction: row; -webkit-justify-content: flex-start; justify-content: flex-start;}
.slider-lannion .slider {background-color:#000000;}
.slider-lannion .slider-wrapper div {position: relative;}
.slider-lannion .slider-wrapper {margin-top: 5vw;  margin-left: 11vw;}
.slider-lannion .slide-image {height: 24vw;
width:300px;}
.slider-lannion .slide-image img {width: 24vw; cursor: pointer;}
.slider-lannion .slide-content { color: #fff; padding:3vw 18vw 3vw 9vw;}
.slider-lannion .slide-date {color: #0a8acb; font-size: 1.1vw; font-weight: 400; letter-spacing: 0.1vw; padding-bottom: 1.4vw;}
.slider-lannion .slide-title {font-size: 1.2vw; font-weight: 400; letter-spacing: 0.1vw; line-height: 1.55vw; padding-bottom: 1.8vw;}
.slider-lannion .slide-text {font-size: 0.80vw; line-height: 1.2vw; opacity: 0.8; padding-bottom: 4vw;}
.slider-lannion .slide-more {font-weight: 400; letter-spacing: 0.1vw; float: left; font-size: 0.9vw;}
.slider-lannion .slide-bullet {width: 0.5vw; height: 0.5vw; background-color: #0b8bcc; border-radius: 200%; position: relative; margin-left: 1.2vw;}
.slider-lannion .slide-nav {margin-left: 64vw; margin-top: -5.5vw;}

.slider-lannion div.overlay-blue {width: 100%; height: 100%; position: absolute; top: 0; transition: 0.5s ease all;}
.slider-lannion div.overlay-blue:hover {background-color: rgba(13, 27, 43, 0.5);}

.slider-lannion .arrows{width: 3.5vw; margin-top: -5.8vw; margin-left: 72vw; position: relative;}
.slider-lannion .arrow {display: inline-block; position: absolute; width: 1.2vw; height: 1.2vw; background: transparent; text-indent: -9999px; border-top: 0.15vw solid #fff; border-left: 0.15vw solid #fff; transition: all .1s ease-in-out; text-decoration: none; color: transparent;
}
.slider-lannion .arrow:hover {border-color: #0A8ACB; border-width: 0.25vw;
}
.slider-lannion .arrow:before {display: block; height: 200%; width: 200%; margin-left: -50%; margin-top: -50%; content: ""; transform: rotate(45deg);}
.slider-lannion .arrow.prev {transform: rotate(-45deg); left: 0;}
.slider-lannion .arrow.next {transform: rotate(135deg); right: 0;}
/*------------------------------------*\
  SLIDER 2
\*------------------------------------*/



.open-slide-button {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #000;
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
  }
  
  .side-panel {
    position: fixed;
    right: -300px;
    top: 0;
    width: 300px;
    height: 100%;
    background-color: #111;
    color: white;
    padding-top: 60px;
    transition: 0.3s;
    overflow-x: hidden;
    z-index: 1000;
  }
  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
  }
  .side-panel a.closebtn {
    position: absolute;
    top: 20px;
    right: 25px;
    font-size: 36px;
  }
  
  .side-panel-content {
    padding: 20px;
  }

.carousel-caption-container {
    position: relative;
    z-index: 9;
    color: inherit;
    text-align: left;
    overflow: hidden;
    height: 100%;
    background: linear-gradient(to right, rgb(0 0 0 / 87%) 40%, rgba(0, 0, 0, 0) 100%);
}
  
  .caption-inner {
    position: relative;
    -webkit-transition: all 0.45s ease-in-out;
    transition: all 0.45s ease-in-out;
  }
  
  .caption-inner .caption-content-type {
    margin-top: 0;
    font-size: 12px;
    color: #ffffff;
    background-color: var(--secondary-color);
    padding-bottom: 5px;
    display: inline-block;
    padding: 5px 10px;
    font-family: 'Poppins';
    font-weight: 600;
    margin-bottom: 10px;
    text-transform: uppercase;
}
  
  .caption-inner h1 {
    margin-top: 0;
    font-size: 26px;
    color: #FFFFFF;
    padding-bottom: 18px;
    font-family: 'Poppins';
    font-weight: 700;
}
  
  .caption-inner p {
    font-size: 16px;
    line-height: 1.8;
    color: #FFF;
    font-weight: 400;
  }
  
  .caption-inner a.read-more {
    font-weight: 600;
    color: var(--seconday-color);
    font-size: 1.4rem;
    display: block;
    padding: 10px 0 20px 0;
}
  
  .carousel-control {
    height: 40px;
    width: 46px;
    position: absolute;
    top: auto;
    bottom: 15px;
    text-align: center;
  }
  
  .active-item-count {
    color: #333;
  }
  
  .carousel-control.right,
  .carousel-control.left {
    background-image: none;
    color: rgba(0, 0, 0, 0.45);
    opacity: 1;
    text-shadow: none;
    z-index: 999;
  }
  
  .carousel-control img {
    width: 30px;
  }
  
  .carousel-control.right {
    padding: 0;
    right: 20px;
  }
  
  .carousel-control.left {
    padding: 0;
    left: auto;
    right: 60px;
  }
  
  .carousel-control.right i,
  .carousel-control.left i {
    font-size: 18px;
  }
  
  .carousel-control:focus,
  .carousel-control:hover {
    color: #000;
    text-decoration: none;
  }
  
  @media (min-width: 320px) {
    .hero {
      overflow: hidden;
    }
  
    .hero-cover {
      background: #49c5b1;
      overflow: hidden;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 111111;
    }
  
    .hero,
  .slide,
  .slide img,
  .carousel-caption-container {
      min-height: 60vh;
    }
  
   .carousel-caption-container {
    position: absolute;
    width: 550px;
    align-items: center;
    justify-content: center;
    left: 0;
    top: 0;
    bottom: 0;
background: linear-gradient(to right, rgb(0 0 0 / 87%) 40%, rgba(0, 0, 0, 0) 100%);
}

    .caption-inner {
      width: 100%;
      margin: 25px;
    }
  
    .caption-inner p {
      font-size: 16px;
      line-height: 1.4;
    }
  
    .caption-div {
      padding: 35px 35px 60px 35px;
    }
  
    .item-count {
      color: #ccc;
      position: absolute;
      bottom: 30px;
      left: 35px;
      font-size: 11px;
      overflow: hidden;
    }
  
    .active-item-count {
      position: relative;
      width: 50px !important;
      overflow: hidden;
    }
  
    .active-item-count .slideNum {
      position: absolute;
      top: 0;
      left: 0;
      width: 20px;
    }
  
    .total-item-count {
      padding-left: 15px;
      overflow: hidden;
    }
  }
  @media (min-width: 767px) {
    .carousel-caption-container {
      position: relative;
      width: 100%;
      align-items: flex-end;
      justify-content: center;
      top: 0;
      bottom: 0;
background: linear-gradient(to right, rgb(0 0 0 / 87%) 40%, rgba(0, 0, 0, 0) 100%);
      /* start status */
    }
  
    .caption-inner p {
      font-size: 16px;
      line-height: 1.8;
    }
  
    .caption-inner {
      width: 100%;
      margin: 50px;
    }
  
    .caption-div {
      padding: 35px;
    }
  
    .carousel-indicators {
      padding-left: 35px 35px 50px 35px;
      bottom: 25px;
    }
  
    .item-count {
      color: #ccc;
      position: absolute;
      bottom: 30px;
      left: 55px;
      font-size: 11px;
    }
  }
  @media (min-width: 960px) {
    .carousel-caption-container {
      position: absolute;
      width: 550px;
      align-items: center;
      justify-content: center;
      left: 0;
      top: 0;
      bottom: 0;
background: linear-gradient(to right, rgb(0 0 0 / 87%) 40%, rgba(0, 0, 0, 0) 100%);
    }
  
    .caption-inner {
      width: 100%;
      margin: 0;
    }
  
    .caption-div {
      padding: 75px 75px 90px 75px;
    }
  }
  @media (min-width: 1100px) {
    .hero,
  .slide,
  .slide img {
      min-height: 60vh;
    }
  
    .carousel-caption-container {
      width: 500px;
      align-items: center;
      justify-content: center;
      left: 0%0%;
      top: 0;
      bottom: 0;
      background: linear-gradient(to right, rgb(0 0 0 / 87%) 40%, rgba(0, 0, 0, 0) 100%);

    }
  
    .caption-inner {
      width: 100%;
    }
  
    .caption-div {
      padding: 75px 75px 90px 75px;
    }
  }
  @media (min-width: 1600px) {
    .caption-inner {
      width: 100%;
    }
  
    .caption-div {
      padding: 55px 55px 90px 55px;
    }
  
    .carousel-caption-container {
      min-width: 500px;
      align-items: center;
      justify-content: center;
      left: 0;
      background: linear-gradient(to right, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%);    }
  }
  @media (min-width: 1440px) {
    .container {
      width: 1400px;
    }
   .page-template-template-agendalannion .container {
      width:auto;
    }
  }
  #gs-slideshow {
    position: relative;
  }
  
  #gs-slideshow .slide.active {
    z-index: 0;
  }
  
  #gs-slideshow .slide {
    width: 100%;
    position: absolute;
    height: 60vh;
    overflow: hidden;
    z-index: 1;
    transform: translatez(0);
    -webkit-transform: translatez(0);
  }
  
  #gs-slideshow .slide-image,
  .caption-div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
  
  #gs-slideshow .slide-image:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  
  #gs-slideshow .slide-image img {
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 101%;
    min-height: 101%;
    width: auto;
    height: auto;
    z-index: -100;
    transform: translateX(-50%) translateY(-50%);
  }
  
  .caption-div * {
    overflow: hidden;
  }
  
  .u-absoluteCenter {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  
  .u-flexCenter {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .u-offscreen {
    position: absolute;
    left: -999em;
  }
  
  .demo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  
  .demo :first-child {
    margin-bottom: 20px;
  }
  
  .progress {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    background: transparent;
  }
  
  .progress__meter,
  .progress__value {
    fill: none;
  }
  
  .progress__meter {
    stroke: #e6e6e6;
  }
  
  .progress__value {
    stroke: #49c5b1;
    stroke-linecap: round;
  }







@media screen and (max-width: 768px) {
  .timeline::before {
    left: 10px;
  }
  .page-template-template-tardives2025 p.lead2 {
    max-width: 200px;
    text-align: center;
    display: inline-block;
    color: #ffffff;
    font-size: 1.2rem;
    background-color: #7b275d;
    padding: 0px 10px;
    border-radius: 5px;
    font-weight: 600;
}
.page-template-template-tardives2025 img.habillage {
 
  position: absolute;
  width: 100px;
  left: 0;
  bottom: 0px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
.page-template-template-tardives2025 img.habillage2 {
  position: absolute;
  width: 100px;
  right: 0;
  bottom: 0px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
  .page-template-template-tardives2025 h1.display-4 {
    font-size: 3.5rem;
    font-weight: 700;
    margin-top: 30px;
    margin-bottom: 1rem;
    text-align: center;
}
  .page-template-template-tardives2025 .bg-dark {
    background: linear-gradient(135deg, #7e2b87, #1a407f);
    color: white;
    padding: 5rem 1rem;
    animation: fadeIn 1s ease-out;
    position: relative;
    height: auto;
}

  .timeline-item {
    width: 100%;
    left: 0 !important;
    text-align: left !important;
    padding-left: 2.5rem;
  }

  .timeline-item::before {
    left: 0;
    margin-left: 0;
  }
}

/*------------------------------------*\
    Post-it
\*------------------------------------*/

.post-it {
    height: auto;
    width: 250px;
    margin: 50px;
    padding: 25px 10px 10px 10px;
    border:1px solid #E8E8E8;
    border-bottom-right-radius: 60px 5px;
    position: relative; 
    text-align: center;
    display: inline-block;
    word-wrap: break-word;
  }
  
  .post-it:after {     
    content: "";
    position:absolute;
    z-index:-1;
    right:-0px; bottom:20px;
    width:200px;
    height: 25px;
    background: rgba(0, 0, 0, 0.2);
    box-shadow:2px 15px 5px rgba(0, 0, 0, 0.40);
    transform: matrix(-1, -0.1, 0, 1, 0, 0);
  }
  
  .post-it p {
    font-family:'poppins';
    font-size:1.2rem
  }
  
  
  .post-it .blue {
    background: linear-gradient(135deg, #affbff 81%,#affbff  82%,#affbff 82%,#c2f9fc 100%);
      border-top:60px solid #aafaff;
  }
  
  

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */

/* header */
.header {

}
/* logo */
.logo {

}
.logo-img {

}
/* nav */
.nav {

}
/* sidebar */
.sidebar {

}
/* footer */
.footer {

}

/*------------------------------------*\
    PAGES
\*------------------------------------*/



/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:320px) {

}
@media only screen and (min-width:480px) {

}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {

}
@media only screen and (min-width:1140px) {

}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}


/* Affichage uniquement sur mobile */
@media (min-width: 992px) {
  .burger-button,
  .mobile-menu {
    display: none;
  }

}
@media (max-width: 992px) {
  .photo-projets {
    padding: 0px;
}
aside.event-infos-pratiques {
  background-color: #37a6a6;
  color: #ffffff;
  margin-top: 20px;
  padding: 30px;
  border-radius: 30px 0px 30px 0px;
  position: relative;
  box-shadow: 3px 8px 10px #4545456e;
  transition: all 0.35s ease;

}
.prog-infos.container.position-relative.z-2 {
  background-color: #923986;
  padding: 20px;
  border-radius: 40px;
  text-align: left;
  width: auto;
  max-width: none;
  display: inline-block;
  transform: none;
  position: unset !important;
}


.single-artistes_tardives .bg-dark {
  background: linear-gradient(135deg, #7e2b87, #1a407f);
  color: white;
  padding: 5rem 1rem;
  animation: fadeIn 1s ease-out;
  position: relative;
  height: auto;
  display: block;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.single-artistes_tardives img.habillage {
  position: absolute;
  width: 100px;
  left: 0;
  bottom: 0px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
.single-artistes_tardives img.habillage2 {
  
  right: 0;
  position: absolute;
  width: 100px;
  bottom: 0px;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
.single-artistes_tardives h1.display-4 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 30px;
  max-width: 600px;

  margin: 0 auto;
  width: 100%;
  text-align: center;
}
.contenu-texte-ecole {
    padding: 0px;
}.titre-header-full {
  font-family: 'Poppins', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 10px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards;
}
.projet-lannion-2030 .sous-titre-header-full {
  font-family: 'Poppins', sans-serif;
  /* border-bottom: 5px solid #ce0147; */
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards 0.5s, expandBorder 0.5s ease-in forwards 0.5s;
  padding-bottom: 20px;
  display: inline-block;
  border-bottom-width: 0;
  color: #000000;
  padding-top:20px;
}
.projet-handicap {
  padding: 0px;
  background-color: #efc0be;
}
.avantages {
  padding-right: 0px;
}
.logo img {
  max-width: 100px;
  height: auto;
  width: 70px;
}
.header {
  display: flex
;
  align-items: center;
  padding: 20px;
  background-color: #ffffff;
  border-top: 1px solid #EEE;
  border-bottom: 1px solid #EEE;
}
.image-header {
  position: relative;
  background-color: #89023f;
  background-size: cover;
  background-position: center center;
  display: flex;
  height: 100vh;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding-top: 80px;
}
.photo-transition2 {
  padding-left: 0px;
}
.bgfooter {
  background-color: #89033E;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2rem;
}
.projet-transition-ecologique {
 padding: 0px; 
  margin: 0 !important;
}
  .photo-transition {
    padding-right: 0;
    margin-bottom: 10px;
  }
  path.shape-fill {
    display: none;
}
.menu-container {
    display: none;
    justify-content: flex-start;
}
}
/* Bouton burger */
.burger-button {
  position: fixed;
  top: 60px;
  right: 30px;
  z-index: 9999;

  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #f11655;
  border: none;
  padding: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
}

/* --- Icône burger --- */
.burger-button::before,
.burger-button::after {
  content: "";
  position: absolute;
  width: 26px;        /* longueur des barres */
  height: 3px;        /* épaisseur */
  background: #fff;
  border-radius: 3px;
}

.burger-button::before {
  transform: translateY(-7px);
}

.burger-button::after {
  transform: translateY(7px);
}

/* Barre du milieu */
.burger-button span {
  display: block;
  width: 26px;
  height: 3px;
  background: #fff;
  border-radius: 3px;
}

/* Menu latéral */
.mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  height: 100vh;
  width: 85%;
  max-width: 350px;
  background: #003865;
  color: #fff;
  padding: 20px;
  overflow-y: auto;
  z-index: 10000;
  transition: right 0.3s ease; /* Corrigé ici */
}

.mobile-menu.open {
  right: 0;
}

/* Liens et boutons du menu */
.mobile-menu button,
.mobile-menu a {
  display: block;
  width: 100%;
  background: none;
  border: none;
  color: #fff;
  text-align: left;
  font-size: 16px;
  padding: 8px 0;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease;
}
.mobile-menu button:hover,
.mobile-menu a:hover {
  color: #B0D4EF;
}

/* Sous-menus avec effet smooth */
.mobile-menu .mobile-submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  padding-left: 15px;
  margin-top: 0;
  border-left: 2px solid rgba(255, 255, 255, 0.1);
}

.mobile-menu .mobile-submenu.open {
  max-height: 300px; /* Suffisant pour la plupart des cas */
  padding-top: 5px;
  margin-top: 5px;
}
ul.mobile-menu-level {
  margin-top: 80px;
  list-style-type: disclosure-closed;
  font-size: 1.5rem;
}
ul.mobile-submenu li {
  list-style-type: disc;
}
/* Bouton de fermeture */
.close-button {
  position: absolute;
  top: 10px;
  z-index: 100000;
  
  font-size: 4rem !important;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .deneb_cta .cta_wrapper .cta_content h3 {
      font-size: 24px;
  }
  
  .contenu-texte-dossier {
    background-color: #FFFFFF;
    width: 60%;
    border-radius: 20px 0px 20px 0px;
    position: absolute;
    top: 80px;
    left: 80px;
    padding: 40px;
    box-shadow: 3px 3px 3px 3px #00000012;
}

}
@media (max-width: 550px) {

  .contenu-texte-dossier {
    background-color: #FFFFFF;
    width: 80%;
    border-radius: 20px 0px 20px 0px;
    position: absolute;
    top: 60px;
    left: 40px;
    padding: 40px;
    box-shadow: 3px 3px 3px 3px #00000012;
  }
  img.image-dossier-png {
    position: absolute;
    bottom: 0;
    right: 0;
    display: none;
  }
  section.footer-wrap {
    background-color: #fff1dc;
    padding-top: 60px;
    padding-left: 20px;
    padding-right: 20px;
}
  }
  @media (max-width: 768px) {
    .encart-flottant {
      float: none;
      width: 100%;
      margin: 20px 0;
    }
    .hero-title {
      font-family: 'Poppins', sans-serif;
      font-size: 7rem;
      line-height: 7rem;
      font-weight: 900;
      letter-spacing: -3px;
      margin-bottom: 20px;
      color: #fff;
  }
  .noel-date {
    font-size: 2.5rem;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #f11655;
    font-family: 'Luciole', Arial, sans-serif;
    font-weight: 800;
}
    .event-wrapper {
      padding: 40px;
      display: inline-block;
      border-bottom: 3px dotted #EEEEEE;
      border-right:0px dotted #EEEEEE;
  }
  .menu-1clic {
    transform: translateX(0%);
    position: absolute;
    bottom: -50px;
    right: 0px;
    left: 0px;
    z-index: 1000;
    background-color: #89033e;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    margin: 0 auto;

}
span.item-picto {
  padding: 1rem;
  display: inline-flex
;
  place-items: center;
  place-content: center;
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  color: #ffffff;
  background: #f11655;
}
.accueil-recherche {
  height: 80vh;
  position: relative;
}
.event-title {
  font-weight: 700;
  margin-bottom: 15px;
  position: relative;
  font-family: 'Poppins';
  color: #2f2f2f;
  font-size: 1.5rem;
  line-height: 2.4rem;
  margin-bottom: 20px;
}
  }
/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
