/*
	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
*/


.content-bloc.is-open {
  opacity: 1;
  height: auto;
  padding: 20px;
  overflow: visible;
}
.tardives-prog{
  --soleil:   #FFC400;
  --teal:     #109A8C;
  --teal-dk:  #0B6F66;
  --corail:   #FF4E1E;
  --rose:     #ED1E79;
  --encre:    #16201F;
  --creme:    #FBF7EF;
  --creme-2:  #F3ECDD;
  --ligne:    #E4DBC9;
  --gris:     #6B6457;
  --r: 18px;
  --shadow: 0 1px 2px rgba(22,32,31,.04), 0 18px 40px -24px rgba(22,32,31,.35);
}
.tardives-prog *{box-sizing:border-box}
.tardives-prog{
  font-family:"Atkinson Hyperlegible",system-ui,sans-serif;
  color:var(--encre);
  background:var(--creme);
  -webkit-font-smoothing:antialiased;
}
.tardives-prog h1,
.tardives-prog h2,
.tardives-prog h3,
.tardives-prog .display{font-family:"Poppins",sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1}
.tardives-prog a{color:inherit;text-decoration:none}
.tardives-prog img{display:block;max-width:100%}

.tardives-prog .wrap{max-width:1180px;margin-inline:auto;padding-inline:24px}

/* ============ HERO ============ */
.tardives-prog .hero{
  position:relative;
  background:var(--soleil);
  color:var(--encre);
  overflow:hidden;
  padding:72px 0 96px;
}

.tardives-prog .hero__inner{position:relative;z-index:2}

.tardives-prog .hero__affiche{
  position:absolute;
  right:0px;
  bottom:0;
  width:clamp(240px, 30vw, 480px);
  height:auto;
  z-index:3;                 /* au-dessus de la vague ::after (z-index implicite) */
  pointer-events:none;
}

/* sur mobile, on la masque pour ne pas écraser le texte */
@media (max-width:640px){
  .tardives-prog .hero__affiche{display:none}
}
.tardives-prog .eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:"Poppins";font-weight:600;font-size:1.2rem;
  text-transform:uppercase;letter-spacing:.18em;
  background:var(--encre);color:var(--soleil);
  padding:8px 16px;border-radius:999px;
}
.tardives-prog .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--corail)}
.tardives-prog .hero h1{
  font-size:clamp(3.615rem,4vw,6.769rem);
  margin:.32em 0 .1em;
}
.tardives-prog .hero h1 em{font-style:normal;color:var(--teal-dk)}
.tardives-prog .hero__sub{
  max-width:640px;font-size:clamp(1.615rem,2vw,2rem);
  line-height:1.5;color:#3a342a;margin:0 0 36px;font-weight:500;
}
.tardives-prog .dates{
  display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;
  font-family:"Poppins";font-weight:600;
}
.tardives-prog .date-chip{
  background:rgba(22,32,31,.07);
  border:1.5px solid rgba(22,32,31,.14);
  padding:9px 16px;border-radius:999px;font-size:1.462rem;
}
.tardives-prog .date-chip strong{color:var(--corail)}
.tardives-prog .hero__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.tardives-prog .lien{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--encre);color:var(--creme);
  padding:13px 22px;border-radius:999px;
  font-weight:600;font-size:1.462rem;
  transition:transform .18s ease, background .18s ease;
}
.tardives-prog .lien:hover{transform:translateY(-2px);background:var(--teal-dk)}
.tardives-prog .lien.ghost{background:transparent;color:var(--encre);border:1.5px solid rgba(22,32,31,.25)}
.tardives-prog .lien.ghost:hover{background:var(--encre);color:var(--creme)}
.tardives-prog .lien svg{width:16px;height:16px}

/* ============ FILTRES ============ */
.tardives-prog .filters{padding:8px 0 4px}
.tardives-prog .filters__head{
  display:flex;justify-content:space-between;align-items:flex-end;
  flex-wrap:wrap;gap:16px;margin-bottom:22px;
}
.tardives-prog .filters__head h2{font-size:clamp(2.462rem,4vw,3.692rem)}
.tardives-prog .filters__head p{margin:6px 0 0;color:var(--gris);font-weight:500}
.tardives-prog .chips{display:flex;flex-wrap:wrap;gap:10px}
.tardives-prog .chip{
  font-family:"Poppins";font-weight:600;font-size:1.385rem;
  background:#fff;border:1.5px solid var(--ligne);
  color:var(--encre);padding:9px 18px;border-radius:999px;
  cursor:pointer;transition:all .16s ease;
}
.tardives-prog .chip:hover{border-color:var(--teal);color:var(--teal-dk)}
.tardives-prog .chip.active{background:var(--encre);color:var(--soleil);border-color:var(--encre)}

/* ============ GRILLE ARTISTES ============ */
.tardives-prog .grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  padding:36px 0 96px;
}
@media(max-width:900px){.tardives-prog .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tardives-prog .grid{grid-template-columns:1fr}}

.tardives-prog .card{
  background:#fff;border-radius:var(--r);overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
  transform-origin:center bottom;
}
.tardives-prog .card:hover{transform:translateY(-6px);box-shadow:0 28px 50px -28px rgba(22,32,31,.45)}
.tardives-prog .card.is-hidden{display:none}

.tardives-prog .card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--creme-2)}
.tardives-prog .card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tardives-prog .card:hover .card__media img{transform:scale(1.05)}

.tardives-prog .card__media.ph{display:flex;align-items:center;justify-content:center}
.tardives-prog .card__media.ph .ph__initiale{
  font-family:"Poppins",sans-serif;font-weight:800;
  font-size:6.769rem;line-height:1;color:rgba(255,255,255,.92);
  z-index:1;
}
.tardives-prog .card__media.ph::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.18) 1.4px,transparent 1.4px);
  background-size:18px 18px;
}
.tardives-prog .ph-soleil{background:var(--soleil)} .tardives-prog .ph-soleil .ph__initiale{color:var(--encre)}
.tardives-prog .ph-teal{background:var(--teal)}
.tardives-prog .ph-corail{background:var(--corail)}
.tardives-prog .ph-rose{background:var(--rose)}
.tardives-prog .card__date{
  position:absolute;top:14px;left:14px;
  font-family:"Poppins";font-weight:700;font-size:1.231rem;
  background:var(--soleil);color:var(--encre);
  padding:6px 12px;border-radius:999px;
  display:flex;flex-direction:column;line-height:1.05;text-align:center;
}
.tardives-prog .card__date span{font-size:0.954rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.tardives-prog .card__style{
  position:absolute;bottom:14px;left:14px;
  font-family:"Poppins";font-weight:600;font-size:1.108rem;
  text-transform:uppercase;letter-spacing:.08em;
  background:rgba(22,32,31,.82);color:#fff;backdrop-filter:blur(4px);
  padding:6px 13px;border-radius:999px;
}

.tardives-prog .card__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.tardives-prog .card__name{font-size:2.308rem;margin:0 0 12px}
.tardives-prog .card__meta {
  font-size: 1.415rem;
  color: #000000;
  line-height: 1.55;
  font-weight: 700;
  margin: 0 0 20px;
}
  .tardives-prog .card__meta .row{display:flex;align-items:center;gap:9px;margin-bottom:5px}
.tardives-prog .card__meta svg{width:15px;height:15px;flex-shrink:0;color:var(--teal)}
.tardives-prog .card__cta{
  margin-top:auto;align-self:flex-start;
  font-family:"Poppins";font-weight:600;font-size:1.385rem;
  color:var(--encre);padding:9px 18px;border-radius:999px;
  border:1.5px solid var(--encre);
  transition:all .16s ease;
}
.tardives-prog .card__cta:hover{background:var(--corail);border-color:var(--corail);color:#fff}

.tardives-prog .grid > .card:nth-child(4n+1) .card__cta:hover{background:var(--corail);border-color:var(--corail);color:#fff}
.tardives-prog .grid > .card:nth-child(4n+2) .card__cta:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.tardives-prog .grid > .card:nth-child(4n+3) .card__cta:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.tardives-prog .grid > .card:nth-child(4n+4) .card__cta:hover{background:var(--soleil);border-color:var(--soleil);color:var(--encre)}

/* État vide */
.tardives-prog .grid__empty{
  grid-column:1/-1;text-align:center;color:var(--gris);
  font-weight:500;padding:48px 0;
}

/* ============ FOOTER APPLICATIF ============ */
.tardives-prog .foot{background:var(--encre);color:var(--creme);padding:54px 0;text-align:center}
.tardives-prog .foot h3{font-size:2.769rem;color:var(--soleil);margin:0 0 8px}
.tardives-prog .foot p{color:#b9b3a6;margin:0 0 22px}
.tardives-prog .foot a.lien{background:var(--soleil);color:var(--encre)}
.tardives-prog .foot a.lien:hover{background:#fff}

@media (prefers-reduced-motion: reduce){
  .tardives-prog *{transition:none!important}
}


.vz-sportcard{
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 38px rgba(14,44,48,.16);
  color:#0e2c30;
}

/* --- PHOTO --- */
.vz-sportcard__media{
  aspect-ratio:16/10;          /* format de la photo ; mettez 4/3 ou 3/2 si besoin */
  background:#1b8a96;
}
.vz-sportcard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* fallback si aspect-ratio non supporté */
@supports not (aspect-ratio:1/1){
  .vz-sportcard__media{height:200px;}
  .vz-sportcard__media img{height:200px;}
}

/* --- TEXTE --- */
.vz-sportcard__body{
  padding:1.8rem;
}
.vz-sportcard__sub{
  font-size:1.15rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  color:#e8413f;               /* corail */
  margin:0 0 .3rem;
}
.vz-sportcard__title{
  font-size:2.4rem;
  font-weight:800;
  line-height:1.05;
  margin:0 0 1.2rem;
}

.vz-sportcard__list{
  list-style:none;
  margin:0 0 1.4rem;
  padding:0;
}
.vz-sportcard__list li{
  padding:.75rem 0;
  border-top:1px solid rgba(14,44,48,.14);
}
.vz-sportcard__list li:first-child{
  border-top:none;
  padding-top:0;
}
.vz-sportcard__list strong{
  display:block;
  font-weight:700;
  font-size:1.5rem;
  margin-bottom:.1rem;
}
.vz-sportcard__list span{
  font-size:1.3rem;
  color:#000000;
  font-weight:500;
}

/* --- BOUTON --- */
.vz-sportcard__cta{
  display:inline-block;
  background:#f59331;          /* orange */
  color:#fff;
  padding:.65rem 1.2rem;
  border-radius:99px;
  font-size:1.35rem;
  font-weight:700;
  text-decoration:none;
}
.vz-sportcard__cta:hover{
  background:#e8413f;          /* vire au corail au survol */
}

#vibrez2026{
  /* palette tirée du visuel */
  --vz-teal-deep:#13707b;
  --vz-teal:#1b8a96;
  --vz-teal-soft:#2ba3b0;
  --vz-coral:#e8413f;
  --vz-pink:#f0436b;
  --vz-orange:#f59331;
  --vz-cream:#f6ecd6;
  --vz-cream-2:#fbf5e6;
  --vz-ink:#0e2c30;
  --vz-line:rgba(14,44,48,.14);
  --vz-shadow:0 14px 38px rgba(14,44,48,.16);

  font-size:1.6rem;            /* neutralise html{65%} → ~16px */
  font-family:'Helvetica Neue',Arial,sans-serif;
  color:var(--vz-ink);
  line-height:1.55;
  background:var(--vz-cream-2);
  overflow-x:hidden;
}
#vibrez2026 *{box-sizing:border-box}
#vibrez2026 img{max-width:100%;display:block}
#vibrez2026 a{color:var(--vz-coral)}

/* focus clavier visible (RGAA) */
#vibrez2026 a:focus-visible,
#vibrez2026 button:focus-visible,
#vibrez2026 summary:focus-visible{
  outline:3px solid var(--vz-coral);
  outline-offset:2px;
  border-radius:4px;
}

#vibrez2026 .vz-skip{
  position:absolute;left:-999px;top:0;z-index:50;
  background:var(--vz-ink);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 8px 0;font-weight:700;
}
#vibrez2026 .vz-skip:focus{left:0}

/* ============ HERO ============ */
#vibrez2026 .vz-hero{
  position:relative;min-height:clamp(360px,56vh,560px);
  display:flex;align-items:flex-end;overflow:hidden;background:var(--vz-teal);
}
#vibrez2026 .vz-hero__media{
  position:absolute;inset:-4%;
  background:url('assets/vibrez/img/test-bandeau.jpg') center 22%/cover no-repeat;
  f
}
@keyframes vz-drift{
  0%,100%{transform:translate3d(0,0,0) scale(1.05)}
  25%{transform:translate3d(-6px,3px,0) scale(1.06)}
  50%{transform:translate3d(5px,-4px,0) scale(1.055)}
  75%{transform:translate3d(-3px,2px,0) scale(1.06)}
}
#vibrez2026 .vz-hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(11,42,46,.86) 0%,rgba(11,42,46,.22) 48%,rgba(11,42,46,0) 78%);
}
#vibrez2026 .vz-hero__title{position:relative;z-index:2;padding:0 6vw 6vh;color:var(--vz-cream)}
#vibrez2026 .vz-hero__eyebrow {
    font-size: 1.2rem;
    letter-spacing: .42em;
    text-transform: uppercase;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 2rem;
    background-color: #c5494c;
    display: inline-block;
    padding: 5px 10px;
    border-radius: 10px;
}
#vibrez2026 .vz-hero__title h1{
  font-size:clamp(3rem,9vw,7rem);font-weight:800;line-height:.9;
  letter-spacing:-.02em;text-shadow:0 4px 26px rgba(11,42,46,.55);color:#fff;margin:0;
}
#vibrez2026 .vz-hero__title h1 .vz-v{display:inline-block;animation:vz-letter 2.6s ease-in-out infinite}
#vibrez2026 .vz-hero__title h1 .vz-v:nth-child(2n){animation-delay:.2s}
#vibrez2026 .vz-hero__title h1 .vz-v:nth-child(3n){animation-delay:.45s}
#vibrez2026 .vz-hero__title h1 .vz-v:nth-child(4n){animation-delay:.65s}
@keyframes vz-letter{0%,100%{transform:translateY(0) skewX(0)}50%{transform:translateY(-5px) skewX(-2deg)}}

/* ============ PRÉSENTATION ============ */
#vibrez2026 .vz-intro{max-width:760px;margin:0 auto;padding:clamp(3rem,6vw,5rem) 6vw 2.5rem;text-align:center}
#vibrez2026 .vz-intro p {
  font-size: clamp(1.7rem, 2.4vw, 2rem);
  color: var(--vz-teal-deep);
  margin: 0;
  font-weight: 400;
}
#vibrez2026 .vz-accent{
  width:70px;height:5px;border-radius:3px;margin:0 auto 1.8rem;
  background:linear-gradient(90deg,var(--vz-coral),var(--vz-orange),var(--vz-teal-soft));
}

/* ============ STRUCTURE ============ */
#vibrez2026 .vz-wrap{max-width:1240px;margin:0 auto;padding:1rem 5vw 5rem}
#vibrez2026 .vz-label{
  font-size:1.2rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--vz-teal-deep);margin-bottom:1.4rem;font-weight:700;
}
#vibrez2026 .vz-month{
  font-size:clamp(2.4rem,4.5vw,3.2rem);font-weight:800;letter-spacing:-.01em;
  margin:2.6rem 0 1.1rem;color:var(--vz-coral);
}
#vibrez2026 .vz-month:first-of-type{margin-top:0}

/* ============ JOUR ============ */
#vibrez2026 .vz-day{
  border:1px solid var(--vz-line);border-radius:18px;overflow:hidden;
  margin-bottom:1.1rem;background:#fff;transition:box-shadow .3s ease;
}
#vibrez2026 .vz-day.vz-open{box-shadow:var(--vz-shadow)}
#vibrez2026 .vz-day__head{
  display:flex;align-items:stretch;gap:0;cursor:pointer;width:100%;
  background:none;border:none;text-align:left;font:inherit;color:inherit;padding:0;
}
#vibrez2026 .vz-day__img{
  width:200px;min-height:150px;height:100%;flex:none;align-self:stretch;object-fit:cover;
  background:var(--vz-teal-soft);display:block;
}
@media(max-width:640px){#vibrez2026 .vz-day__img{width:128px;min-height:128px}}
@media(max-width:430px){#vibrez2026 .vz-day__img{width:96px;min-height:118px}}

/* léger zoom au survol d'une journée fermée */
#vibrez2026 .vz-day__imgwrap{flex:none;overflow:hidden;align-self:stretch;display:flex}
#vibrez2026 .vz-day:not(.vz-open) .vz-day__head:hover .vz-day__img{transform:scale(1.06)}
#vibrez2026 .vz-day__img{transition:transform .5s ease}

/* zone d'accueil de la grande bannière (en haut du contenu déplié) */
#vibrez2026 .vz-day__banner{width:auto;margin:0 -1.6rem;line-height:0;overflow:hidden}
#vibrez2026 .vz-day__banner:empty{display:none}
#vibrez2026 .vz-day.vz-open .vz-day__banner{margin-bottom:.4rem}
#vibrez2026 .vz-day.vz-open .vz-day__banner .vz-day__img{
  width:100%;height:clamp(180px,26vw,300px);min-height:0;
}
/* pendant l'animation Flip, on neutralise le zoom hover */
#vibrez2026 .vz-day.vz-open .vz-day__img{transform:none !important}
#vibrez2026 .vz-day__meta{flex:1;padding:1.3rem 1.4rem;display:flex;flex-direction:column;justify-content:center}
#vibrez2026 .vz-day__date{font-size:1.25rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--vz-pink)}
#vibrez2026 .vz-day__name{font-size:clamp(1.7rem,2.6vw,2.1rem);font-weight:700;line-height:1.15;margin-top:.2rem}
#vibrez2026 .vz-day__arrow{
  flex:none;width:58px;display:flex;align-items:center;justify-content:center;color:var(--vz-teal-deep);
  transition:transform .35s ease,color .2s ease;
}
#vibrez2026 .vz-day.vz-open .vz-day__arrow{transform:rotate(180deg);color:var(--vz-coral)}
#vibrez2026 .vz-day__head:hover .vz-day__arrow{color:var(--vz-coral)}
#vibrez2026 .vz-day__body{height:0;overflow:hidden}
/* le clone volant est attaché à document.body : règle volontairement hors scope */
.vz-flying{position:fixed !important;z-index:9999;margin:0;object-fit:cover;will-change:transform,width,height;pointer-events:none;box-shadow:0 14px 38px rgba(14,44,48,.16);display:block}
#vibrez2026 .vz-day__inner{padding:0 1.6rem 1.7rem;border-top:1px solid var(--vz-line)}
#vibrez2026 .vz-day__lead {
  margin-top: 1.3rem;
  color: #000000;
  font-weight: 400;
  font-size: 1.55rem;
}
#vibrez2026 .vz-detail{display:flex;gap:1rem;align-items:flex-start;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--vz-line)}
#vibrez2026 .vz-time {
  font-weight: 700;
  color: var(--vz-teal-deep);
  flex: none;
  max-width: 100px;
  font-size: 1.4rem;
}
#vibrez2026 .vz-it{font-weight:600;font-size:1.5rem}
#vibrez2026 .vz-id {
  color: #000000;
  font-size: 1.4rem;
  font-weight: 500;
}
#vibrez2026 .vz-daylink{display:inline-block;margin-top:1.2rem;color:var(--vz-coral);font-weight:700;font-size:1.45rem;text-decoration:none}
#vibrez2026 .vz-daylink:hover{text-decoration:underline}
#vibrez2026 .vz-tag{
  display:inline-block;font-size:1.1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:.2em .7em;border-radius:99px;background:rgba(27,138,150,.16);color:var(--vz-teal-deep);
  margin-left:.4rem;vertical-align:middle;
}
#vibrez2026 .vz-tag--pay{background:rgba(245,147,49,.22);color:#9a5300}

/* ============ DÉJÀ PASSÉ ============ */
#vibrez2026 .vz-past{margin-top:3rem;border:1px solid var(--vz-line);border-radius:18px;background:rgba(19,112,123,.05);overflow:hidden}
#vibrez2026 .vz-past__sum{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;
  padding:1.4rem 1.6rem;font-weight:700;font-size:1.7rem;color:var(--vz-teal-deep);
}
#vibrez2026 .vz-past__sum::-webkit-details-marker{display:none}
#vibrez2026 .vz-past__chev{transition:transform .35s ease;flex:none;color:var(--vz-teal-deep)}
#vibrez2026 .vz-past[open] .vz-past__chev{transform:rotate(180deg)}
#vibrez2026 .vz-past__count{font-weight:600;color:#5a6e71;font-size:1.3rem}
#vibrez2026 .vz-past__inner{padding:0 1.4rem 1.4rem}
#vibrez2026 .vz-past .vz-day{opacity:.78}
#vibrez2026 .vz-past .vz-day .vz-day__date{color:var(--vz-teal-deep)}
#vibrez2026 .vz-past__empty{padding:0 1.6rem 1.6rem;color:#5a6e71;font-size:1.45rem}

/* ============ COLONNE LATÉRALE ============ */
#vibrez2026 .vz-aside{position:sticky;top:1.5rem;display:flex;flex-direction:column;gap:1.4rem}
#vibrez2026 .vz-panel{border-radius:20px;padding:1.8rem;position:relative;overflow:hidden}
#vibrez2026 .vz-panel--hero{background:linear-gradient(150deg,var(--vz-teal) 0%,var(--vz-teal-deep) 55%,#0c474e 100%);color:#fff;box-shadow:var(--vz-shadow)}
#vibrez2026 .vz-panel--hero::before{
  content:"";position:absolute;top:-40px;right:-30px;width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle,var(--vz-coral) 0%,var(--vz-coral) 60%,transparent 62%);opacity:.85;
}
#vibrez2026 .vz-panel--sun{background:linear-gradient(150deg,var(--vz-orange),var(--vz-coral));color:#fff;box-shadow:var(--vz-shadow)}
#vibrez2026 .vz-panel--cream{background:var(--vz-cream);color:var(--vz-ink);box-shadow:var(--vz-shadow)}
#vibrez2026 .vz-panel h3{font-size:2rem;font-weight:800;margin-bottom:.3rem;position:relative;z-index:1}
#vibrez2026 .vz-panel .vz-sub{font-size:1.15rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:1rem;position:relative;z-index:1}
#vibrez2026 .vz-panel--hero .vz-sub{color:var(--vz-orange)}
#vibrez2026 .vz-panel--sun .vz-sub{color:rgba(255,255,255,.85)}
#vibrez2026 .vz-panel--cream .vz-sub{color:var(--vz-coral)}
#vibrez2026 .vz-plist{list-style:none;position:relative;z-index:1;margin:0;padding:0}
#vibrez2026 .vz-plist li{padding:.85rem 0;font-size:1.45rem;border-top:1px solid rgba(255,255,255,.18)}
#vibrez2026 .vz-panel--cream .vz-plist li{border-top-color:var(--vz-line)}
#vibrez2026 .vz-plist li:first-child{border-top:none;padding-top:.2rem}
#vibrez2026 .vz-plist strong{display:block;font-weight:700;margin-bottom:.15rem;font-size:1.5rem}
#vibrez2026 .vz-plist span{font-size: 1.3rem;
  opacity: 1;
  font-weight: 500;}
#vibrez2026 .vz-panel--cream .vz-plist span{color:#4a5d60;opacity:1}
#vibrez2026 .vz-panel a{font-weight:700;text-decoration:none}
#vibrez2026 .vz-panel--hero a,#vibrez2026 .vz-panel--sun a{color:#fff;text-decoration:underline}
#vibrez2026 .vz-panel--cream a{color:var(--vz-coral)}
#vibrez2026 .vz-panel a:hover{text-decoration:underline}
#vibrez2026 .vz-cta{display:inline-block;margin-top:1.2rem;position:relative;z-index:1;background:rgba(255,255,255,.16);padding:.6rem 1.1rem;border-radius:99px;font-size:1.35rem}
#vibrez2026 .vz-panel--cream .vz-cta{background:var(--vz-coral);color:#fff !important;text-decoration:none}

#vibrez2026 .vz-footer{text-align:center;padding:3rem 6vw 4rem;color:#5a6e71;font-size:1.35rem;border-top:1px solid var(--vz-line)}
#vibrez2026 .vz-footer a{color:var(--vz-teal-deep)}

@media(prefers-reduced-motion:reduce){
  #vibrez2026 .vz-hero__media,#vibrez2026 .vz-hero__title h1 .vz-v{animation:none}
}

.encart-fete,
.encart-fete * {
  color: #ffffff;
}

.encart-fete {
  margin-top:30px;
  margin-bottom:30px;
  background: #DA355D;
  font-family: 'Poppins', sans-serif;
  border-radius: 12px;
  padding: 1.75rem 2rem;
}

.encart-date {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.encart-fete h3 {
  font-size: 2rem;
  font-weight: 500;
  margin: 0 0 4px;
}

.encart-lieu {
  font-size: 15px;
  margin: 0 0 1.5rem;
}

.encart-liste {
  list-style: none;
  font-size: 1.5rem;
  padding: 1.25rem 0 0;
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}

.encart-liste li::before {
  content: "\25BA"; /* triangle ► */
  margin-right: 8px;
}

 h3.quartiers {
  font-family: 'Poppins', sans-serif;
  font-size: 2.5rem;
  color: #D85A30; /* orange sanguine */
  font-weight: 500;
  display: inline-block;
  position: relative;
}

h3.quartiers:after {
  content: '';
  display: block;
  width: 20px;
  border-bottom: 3px solid #D85A30;
  margin-top: 8px;
}

.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: #f9f9f9;
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

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

.fete-de-la-musique *{box-sizing:border-box;margin:0;padding:0}
.fete-de-la-musique{font-family:'Poppins',sans-serif}
.fete-de-la-musique .wrap{padding:0 0 2rem;max-width:720px}

.fete-de-la-musique .hero{background:#E82859;border-radius:16px;padding:2rem 2rem 1.75rem;margin-bottom:2rem;position:relative;overflow:hidden}
.fete-de-la-musique .hero-accent{position:absolute;top:-30px;right:-30px;width:140px;height:140px;border-radius:50%;background:#E53B28;opacity:.45}
.fete-de-la-musique .hero-accent2{position:absolute;bottom:-40px;right:60px;width:90px;height:90px;border-radius:50%;background:#F9B527;opacity:.35}
.fete-de-la-musique .hero h1{font-size:26px;font-weight:700;color:#fff;line-height:1.2;position:relative;z-index:1}
.fete-de-la-musique .hero-sub{font-size:13px;color:rgba(255,255,255,.85);margin-top:.5rem;position:relative;z-index:1}
.fete-de-la-musique .pill{display:inline-block;background:#F9B527;color:#7a4800;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;margin-right:6px;letter-spacing:.03em}

.fete-de-la-musique .scene-block{margin-bottom:1.75rem}
.fete-de-la-musique .scene-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  margin-top: 30px;
  border-bottom: 1px solid #dc3545;
  border-top: 1px solid #dc3545;
  padding-top: 10px;
  padding-bottom: 10px;
}
.fete-de-la-musique .scene-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.fete-de-la-musique .scene-title{font-size:15px;font-weight:600;color:var(--color-text-primary)}
.fete-de-la-musique .scene-meta{font-size:12px;color:var(--color-text-secondary);margin-left:2px}
.fete-de-la-musique .scene-list{border-radius:12px;overflow:hidden;border:0.5px solid var(--color-border-tertiary)}
.fete-de-la-musique .row{display:flex;align-items:baseline;gap:0;padding:9px 14px;border-bottom:0.5px solid var(--color-border-tertiary)}
.fete-de-la-musique .row:last-child{border-bottom:none}
.fete-de-la-musique .row:hover{background:var(--color-background-secondary)}
.fete-de-la-musique .time{font-size:14px;font-weight:500;min-width:108px;flex-shrink:0}
.fete-de-la-musique .artist{font-size:1.6rem;font-weight:500;color:var(--color-text-primary)}
.fete-de-la-musique .genre{font-size:14px;color:var(--color-text-secondary);margin-left:6px}

.fete-de-la-musique .section-label{font-size:2.5rem;font-weight:700;letter-spacing:.1em; color:var(--color-text-secondary);margin:2rem 0 1rem;padding-bottom:.4rem;}
.fete-de-la-musique .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:1.75rem}
.fete-de-la-musique .card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:12px;padding:1rem 1.25rem}
.fete-de-la-musique .card-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:.75rem}
.fete-de-la-musique .card-icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px}
.fete-de-la-musique .card h3{font-size:14px;font-weight:600;color:var(--color-text-primary);line-height:1.3}
.fete-de-la-musique .card-sub{font-size:12px;color:var(--color-text-secondary);margin-top:2px}
.fete-de-la-musique .card-row{font-size:13px;color:var(--color-text-primary);padding:4px 0;border-bottom:0.5px solid var(--color-border-tertiary)}
.fete-de-la-musique .card-row:last-child{border-bottom:none}
.fete-de-la-musique .card-row .time{color:#33A7AC;font-size:14px;font-weight:600}
.fete-de-la-musique li.card-row {
  list-style-type: none;
}
.fete-de-la-musique .a11y-block{background:var(--color-background-secondary);border-radius:12px;padding:1.25rem 1.5rem;margin-top:2rem}
.fete-de-la-musique .a11y-block h2{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:.75rem}
.fete-de-la-musique .a11y-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.fete-de-la-musique .a11y-item{font-size:14px;color:var(--color-text-secondary);padding:3px 0;border-bottom:0.5px solid var(--color-border-tertiary)}
.fete-de-la-musique .a11y-item:last-child{border-bottom:none}
.fete-de-la-musique .a11y-item strong{color:var(--color-text-primary);font-weight:500}
.fete-de-la-musique a{color:#33A7AC;text-decoration:none}
.fete-de-la-musique a:hover{text-decoration:underline}


.menu-container .menu-link {
  color: #07304c;
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.2rem;
  background-color: #ffffff;
  line-height: 2rem;
  border: none;
}

.fete-de-la-musique h3 {
  font-weight: 700;
}


/* ══════════════════════════════════════════════
   CRECHES
══════════════════════════════════════════════ */

.event-description {
  font-weight: 700;
}

:root {
  --ma-bordeaux:       #89033e;
  --ma-bordeaux-light: #f5e6ec;
  --ma-rose:           #f11655;
  --ma-rose-light:     #fde0e6;
  --ma-noir:           #111010;
  --ma-gris-texte:     #000000;
  --ma-gris-doux:      #f9f8f6;
  --ma-gris-ligne:     #e8e5e0;
  --ma-creme:          #fdf6ee;
  --ma-creme-fort:     #fde5c2;
  --ma-blanc:          #ffffff;

  --ma-section-gap: 96px;
  --ma-font-head:   'Poppins', sans-serif;
  --ma-font-body:   'Atkinson Hyperlegible Next', 'Atkinson Hyperlegible', sans-serif;
}

/* ══════════════════════════════════════════════
   BREADCRUMB
══════════════════════════════════════════════ */
.ma-breadcrumb {
  padding: 14px 0;
  font-family: var(--ma-font-body);
  font-size: 1.2rem;
  color: #999;
  background: var(--ma-blanc);
  border-bottom: 1px solid var(--ma-gris-ligne);
  font-weight:400;

}
.ma-breadcrumb__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.ma-breadcrumb a            { color: #999; text-decoration: none; transition: color .2s; }
.ma-breadcrumb a:hover      { color: var(--ma-bordeaux); }
.ma-breadcrumb__sep         { color: #ccc; font-size: 1rem; }
.ma-breadcrumb__current     { color: var(--ma-bordeaux); font-weight: 600; font-family: var(--ma-font-head); }

/* ══════════════════════════════════════════════
   HERO
══════════════════════════════════════════════ */
.ma-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 540px;
  overflow: hidden;
  max-height:50vh;
}
.ma-hero__content {
  padding: 80px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--ma-blanc);
  position: relative;
  z-index: 2;
}
.ma-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ma-font-head);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ma-bordeaux);
  margin-bottom: 24px;
}
.ma-hero__tag::before {
  content: '';
  width: 28px; height: 2px;
  background: var(--ma-bordeaux);
}
.ma-hero__title {
  font-family: var(--ma-font-head);
  font-size: 5.2rem;
  font-weight: 700;
  color: var(--ma-noir);
  line-height: 1.08;
  letter-spacing: -.5px;
  margin-bottom: 24px;
}
.ma-hero__title em { font-style: italic; color: var(--ma-rose); }
.ma-hero__desc {
  font-family: var(--ma-font-body);
  font-size: 1.5rem;
  color: #000000;
  line-height: 1.8;
  max-width: 440px;
  margin-bottom: 40px;
  font-weight: 400;
}
.ma-hero__stats {
  display: flex;
  gap: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--ma-gris-ligne);
}
.ma-hero__stat-num {
  display: block;
  font-family: var(--ma-font-head);
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--ma-bordeaux);
  line-height: 1;
}
.ma-hero__stat-lbl {
  display: block;
  font-family: var(--ma-font-head);
  font-size: 1.1rem;
  color: #000000;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 500;
  margin-top: 4px;
}
.ma-hero__visual {
  position: relative;
  background: var(--ma-creme);
  overflow: hidden;
}
.ma-hero__img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.ma-hero__shape {
  position: absolute;
  border-radius: 50%;
  background: var(--ma-bordeaux-light);
}
.ma-hero__shape--1 { width: 300px; height: 300px; top: -80px;  right: -80px; opacity: .5; }
.ma-hero__shape--2 { width: 160px; height: 160px; bottom: 60px; left: -40px; opacity: .35; }
.ma-hero__shape--3 { width: 80px;  height: 80px;  bottom: -20px; right: 100px; opacity: .3; }
.ma-hero__badge {
  position: absolute;
  bottom: 40px; right: 32px;
  background: var(--ma-blanc);
  border-radius: 12px;
  padding: 14px 18px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 3;
}
.ma-hero__badge-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(34,197,94,.2);
}
.ma-hero__badge-text {
  font-family: var(--ma-font-head);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ma-noir);
  display: block;
}
.ma-hero__badge-sub {
  font-family: var(--ma-font-body);
  font-size: 1.1rem;
  color: #000000;
  display: block;
  font-weight:400;
}

/* ══════════════════════════════════════════════
   ANCHOR NAV
══════════════════════════════════════════════ */
.ma-anchor-nav {
  position: sticky;
  top: 0px; /* hauteur du header WP — à ajuster */
  z-index: 90;
  background: var(--ma-blanc);
  border-bottom: 1px solid var(--ma-gris-ligne);
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.ma-anchor-nav .container {
  overflow-x: auto;
  scrollbar-width: none;
}
.ma-anchor-nav .container::-webkit-scrollbar { display: none; }
.ma-anchor-nav__inner {
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 52px;
}
.ma-anchor-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 22px;
  height: 52px;
  font-family: var(--ma-font-head);
  font-size: 1.25rem;
  font-weight: 600;
  color: #000000;
  text-decoration: none;
  border-bottom: 2.5px solid transparent;
  white-space: nowrap;
  transition: color .2s, border-color .2s;
  letter-spacing: .01em;
  flex-shrink: 0;
}
.ma-anchor-link:first-child  { padding-left: 0; }
.ma-anchor-link:hover        { color: var(--ma-bordeaux); text-decoration: none; }
.ma-anchor-link.is-active    { color: var(--ma-bordeaux); border-bottom-color: var(--ma-bordeaux); }
.ma-anchor-link__num {
  font-size: 1rem;
  font-weight: 400;
  color: #000000;
  transition: color .2s;
}
.ma-anchor-link.is-active .ma-anchor-link__num,
.ma-anchor-link:hover .ma-anchor-link__num { color: var(--ma-bordeaux); opacity: .5; }
.ma-anchor-link__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #e0dbd6;
  flex-shrink: 0;
  transition: background .2s, transform .2s;
}
.ma-anchor-link.is-active .ma-anchor-link__dot { background: var(--ma-bordeaux); transform: scale(1.3); }
.ma-anchor-link:hover .ma-anchor-link__dot     { background: var(--ma-bordeaux); }
.ma-anchor-nav__sep { width: 1px; height: 16px; background: var(--ma-gris-ligne); flex-shrink: 0; }
.ma-anchor-progress { height: 2px; background: var(--ma-gris-ligne); position: relative; }
.ma-anchor-progress__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--ma-bordeaux), var(--ma-rose));
  width: 0%;
  transition: width .1s linear;
  border-radius: 0 2px 2px 0;
}

/* ══════════════════════════════════════════════
   SECTION UTILITAIRES
══════════════════════════════════════════════ */
.ma-section {
  padding: var(--ma-section-gap) 0;
}
.ma-section--features,
.ma-section--partenaires,
.ma-section--accomp { }

.ma-section-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 48px;
}
.ma-section-label__line {
  flex: 1;
  height: 1px;
  background: var(--ma-gris-ligne);
  transform-origin: left;
}
.ma-section-label__text {
  font-family: var(--ma-font-head);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ma-bordeaux);
  white-space: nowrap;
}
.ma-section-label__num {
  font-family: var(--ma-font-head);
  font-size: 1.1rem;
  color: #000000;
  font-weight: 400;
}
.ma-section-label--light .ma-section-label__text { color: rgba(255,255,255,.4); }
.ma-section-label--light .ma-section-label__line  { background: rgba(255,255,255,.1); }
.ma-section-label--light .ma-section-label__num   { color: rgba(255,255,255,.2); }

/* ══════════════════════════════════════════════
   INTRO BAND
══════════════════════════════════════════════ */
.ma-intro-band {
  background: var(--ma-creme);
  border-top: 1px solid var(--ma-creme-fort);
  border-bottom: 1px solid var(--ma-creme-fort);
  padding: 48px 0;
}
.ma-intro-band__text p {
  font-family: var(--ma-font-body);
  font-size: 1.6rem;
  line-height: 1.85;
  color: var(--ma-gris-texte);
  font-weight: 400;
}
.ma-intro-band__text p + p { margin-top: 14px; }
.ma-intro-band__quote {
  border-left: 3px solid var(--ma-bordeaux);
  padding: 4px 0 4px 24px;
  margin: 0;
}
.ma-intro-band__quote p {
  font-family: var(--ma-font-head);
  font-style: italic;
  font-size: 2rem;
  color: var(--ma-bordeaux);
  line-height: 1.5;
  margin: 0;
  font-weight: 600;
}
.ma-intro-band__quote cite {
  display: block;
  margin-top: 10px;
  font-family: var(--ma-font-head);
  font-size: 1.1rem;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #000000;
}

/* ══════════════════════════════════════════════
   PÉDAGOGIE
══════════════════════════════════════════════ */
.ma-section--peda { background: var(--ma-blanc); }
.ma-peda__title {
  font-family: var(--ma-font-head);
  font-size: 3.8rem;
  font-weight: 700;
  color: var(--ma-noir);
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -.3px;
}
.ma-peda__title span { color: var(--ma-rose); font-style: italic; }
.ma-peda__title em   { color: var(--ma-rose); font-style: italic; }
.ma-peda__body p {
  font-family: var(--ma-font-body);
  font-size: 1.5rem;
  line-height: 1.85;
  color: #000000;
  padding-right:50px;
  margin-bottom: 16px;
}
.ma-peda__visual    { position: relative; }
.ma-peda__photo-main {
  width: 100%;
  aspect-ratio: auto;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
.ma-peda__photo-main::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.06);
  pointer-events: none;
}
.ma-peda__photo-main img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.ma-peda__photo-secondary {
  position: absolute;
  width: 52%;
  aspect-ratio: 1;
  background: var(--ma-creme-fort);
  border-radius: 12px;
  bottom: -28px; left: -28px;
  border: 4px solid var(--ma-blanc);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.08);
}
.ma-peda__photo-secondary img {
  width: 100%; height: 100%;
  object-fit: cover;
}

/* ══════════════════════════════════════════════
   PILIERS (Features)
══════════════════════════════════════════════ */
.ma-section--features {
  background: var(--ma-gris-doux);
}
.ma-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--ma-gris-ligne);
  border-radius: 16px;
  overflow: hidden;
}
.ma-feature-card {
  background: var(--ma-blanc);
  padding: 40px 36px;
  transition: background .25s, transform .3s;
  cursor: default;
}
.ma-feature-card:hover {
  background: var(--ma-creme);
  transform: translateY(-6px);
}
.ma-feature-card__num {
  font-family: var(--ma-font-head);
  font-size: 6.4rem;
  font-weight: 700;
  color:  var(--ma-bordeaux);
  line-height: 1;
  margin-bottom: 20px;
  transition: color .25s;
  user-select: none;
}
.ma-feature-card:hover .ma-feature-card__num { color: var(--ma-bordeaux); }
.ma-feature-card__icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--ma-bordeaux-light);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.ma-feature-card__icon svg { width: 24px; height: 24px; fill: var(--ma-bordeaux); }
.ma-feature-card__title {
  font-family: var(--ma-font-head);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--ma-noir);
  margin-bottom: 10px;
  letter-spacing: -.2px;
}
.ma-feature-card__body {
  font-family: var(--ma-font-body);
  font-size: 1.3rem;
  color: #000000;
  line-height: 1.75;
}
.ma-feature-card__note {
  font-family: var(--ma-font-body);
  font-size: 1.2rem;
  color: #000000;
  font-style: italic;
  border-top: 1px solid var(--ma-gris-ligne);
  padding-top: 10px;
  margin-top: 8px;
  line-height: 1.65;
}
.ma-feature-card__tag {
  display: inline-block;
  margin-top: 16px;
  font-family: var(--ma-font-head);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ma-rose);
  border: 1px solid var(--ma-rose-light);
  background: var(--ma-rose-light);
  padding: 3px 10px;
  border-radius: 20px;
}

/* ══════════════════════════════════════════════
   SORTIES
══════════════════════════════════════════════ */
.ma-section--sorties { background: var(--ma-blanc); }
.ma-sorties__title {
  font-family: var(--ma-font-head);
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--ma-noir);
  line-height: 1.15;
  margin-bottom: 16px;
}
.ma-sorties__title span,
.ma-sorties__title em { color: var(--ma-rose); font-style: italic; }
.ma-sorties__intro {
  font-family: var(--ma-font-body);
  font-size: 1.5rem;
  color: #000000;
  line-height: 1.85;
  margin-bottom: 32px;
}
.ma-sorties__list {
  list-style: none;
  padding: 0; margin: 0;
}
.ma-sorties__list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--ma-gris-ligne);
}
.ma-sorties__list li:first-child { border-top: 1px solid var(--ma-gris-ligne); }
.ma-sorties__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ma-bordeaux);
  flex-shrink: 0;
  margin-top: 6px;
}
.ma-sorties__item-text {
  font-family: var(--ma-font-body);
  font-size: 1.4rem;
  color: var(--ma-gris-texte);
  line-height: 1.6;
}
.ma-sorties__item-text strong {
  display: block;
  font-family: var(--ma-font-head);
  font-weight: 600;
  color: var(--ma-noir);
  margin-bottom: 2px;
}
.ma-sorties__conclusion {
  margin-top: 24px;
  padding: 16px 20px;
  background: var(--ma-creme);
  border-left: 3px solid var(--ma-bordeaux);
  border-radius: 0 8px 8px 0;
  font-family: var(--ma-font-body);
  font-size: 1.4rem;
  color: var(--ma-bordeaux);
  font-weight: 600;
  line-height: 1.6;
  font-style: italic;
}
.ma-sorties__photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 12px;
}
.ma-sorties__photo {
  background: var(--ma-gris-doux);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--ma-gris-ligne);
}
.ma-sorties__photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; }
.ma-sorties__photo--tall  { aspect-ratio: 3/4; grid-row: span 2; }
.ma-sorties__photo--short { aspect-ratio: 4/3; }

/* ══════════════════════════════════════════════
   PARTENAIRES
══════════════════════════════════════════════ */
.ma-section--partenaires {
  background: var(--ma-bordeaux);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.ma-partenaires__bg-text {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--ma-font-head);
  font-size: 18rem;
  font-weight: 700;
  color: rgba(255,255,255,.03);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  letter-spacing: -4px;
}
.ma-partenaires__title {
  font-family: var(--ma-font-head);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.3px;
  color: #fff;
}
.ma-partenaires__title em { color: var(--ma-creme-fort); font-style: italic; }
.ma-partenaires__intro {
  font-family: var(--ma-font-body);
  font-size: 1.5rem;
  color: rgb(255, 255, 255);
  line-height: 1.85;
  font-weight:500;

}
.ma-partenaire-card {
  background: rgba(255, 255, 255, 0);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 36px 28px;
  transition: background .25s, border-color .25s, transform .3s;
  position: relative;
  overflow: hidden;
  height: 100%;
}
.ma-partenaire-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 3px;
  background: var(--ma-creme-fort);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s;
}
.ma-partenaire-card:hover { background: rgba(255,255,255,.08); transform: translateY(-4px); }
.ma-partenaire-card:hover::before { transform: scaleX(1); }
.ma-partenaire-card__icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
}
.ma-partenaire-card__icon svg { width: 28px; height: 28px; fill: var(--ma-creme-fort); }
.ma-partenaire-card__title {
  font-family: var(--ma-font-head);
  font-size: 1.7rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}
.ma-partenaire-card__text {
  font-family: var(--ma-font-body);
  font-size: 1.3rem;
  color: rgb(255, 255, 255);
  font-weight:500;
  line-height: 1.7;
  margin: 0;
}
.ma-partenaires__footer-text {
  margin-top: 40px;
  text-align: center;
  font-family: var(--ma-font-body);
  font-size: 1.4rem;
  color: rgba(255,255,255,.5);
  font-weight:400;

  font-style: italic;
  line-height: 1.7;
}

/* ══════════════════════════════════════════════
   ACCOMPAGNEMENT
══════════════════════════════════════════════ */
.ma-section--accomp {
  background: var(--ma-creme);
  border-top: 1px solid var(--ma-creme-fort);
  border-bottom: 1px solid var(--ma-creme-fort);
}
.ma-accomp__title {
  font-family: var(--ma-font-head);
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--ma-noir);
  line-height: 1.2;
  margin-bottom: 20px;
}
.ma-accomp__title span { color: var(--ma-bordeaux); font-style: italic; }
.ma-accomp__body p {
  font-family: var(--ma-font-body);
  font-size: 1.5rem;
  color: #000000;
  line-height: 1.85;
  font-weight:400;

  margin-bottom: 14px;
}
.ma-accomp__contacts { display: flex; flex-direction: column; gap: 12px; }
.ma-accomp__contact-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--ma-blanc);
  border: 1px solid var(--ma-gris-ligne);
  border-radius: 12px;
  padding: 16px 20px;
}
.ma-accomp__contact-icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: var(--ma-bordeaux-light);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.ma-accomp__contact-icon svg { width: 20px; height: 20px; fill: var(--ma-bordeaux); }
.ma-accomp__contact-label {
  font-family: var(--ma-font-head);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #aaa;
  display: block;
  margin-bottom: 2px;
}
.ma-accomp__contact-val {
  font-family: var(--ma-font-head);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ma-noir);
  display: block;
}

/* ══════════════════════════════════════════════
   MISES EN LUMIÈRE — Crèches
══════════════════════════════════════════════ */
.ma-section--creches { background: var(--ma-blanc); }
.ma-lumieres__intro {
  font-family: var(--ma-font-body);
  font-size: 1.5rem;
  color: #000000;
  line-height: 1.8;
  font-weight:400;
  max-width: 680px;
  margin-bottom: 48px;
}
.ma-lumiere-card {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--ma-gris-ligne);
  background: var(--ma-blanc);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: box-shadow .25s, transform .25s;
}
.ma-lumiere-card:hover {
  box-shadow: 0 12px 40px rgba(137,3,62,.12);
  transform: translateY(-4px);
}
.ma-lumiere-card__photo-trigger {
  position: relative;
  aspect-ratio: 4/3;
  background: var(--ma-gris-doux);
  overflow: hidden;
  cursor: pointer;
  display: block;
  border: none;
  padding: 0;
  width: 100%;
}
.ma-lumiere-card__photo-trigger img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  display: block;
}
.ma-lumiere-card__photo-trigger:hover img { transform: scale(1.04); }
.ma-lumiere-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(137,3,62,0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s;
}
.ma-lumiere-card__photo-trigger:hover .ma-lumiere-card__overlay {
  background: rgba(137,3,62,.35);
}
.ma-lumiere-card__overlay-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transform: scale(.7);
  transition: opacity .3s, transform .3s;
}
.ma-lumiere-card__photo-trigger:hover .ma-lumiere-card__overlay-icon {
  opacity: 1;
  transform: scale(1);
}
.ma-lumiere-card__overlay-icon svg { width: 22px; height: 22px; fill: var(--ma-bordeaux); }
.ma-lumiere-card__photo-count {
  position: absolute;
  bottom: 12px; right: 12px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-family: var(--ma-font-head);
  font-size: 1.1rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  gap: 5px;
}
.ma-lumiere-card__photo-count svg { width: 12px; height: 12px; fill: #fff; }
.ma-lumiere-card__body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.ma-lumiere-card__tag {
  display: inline-block;
  font-family: var(--ma-font-head);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ma-bordeaux);
  background: var(--ma-bordeaux-light);
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.ma-lumiere-card__title {
  font-family: var(--ma-font-head);
  font-size: 2rem;
  font-weight: 700;
  color: var(--ma-noir);
  margin-bottom: 4px;
  letter-spacing: -.2px;
}
.ma-lumiere-card__subtitle {
  font-family: var(--ma-font-body);
  font-size: 1.2rem;
  color: #aaa;
  margin-bottom: 16px;
  font-style: italic;
  font-weight:400;

}
.ma-lumiere-card__list {
  list-style: none;
  padding: 0; margin: 0;
  flex: 1;
}
.ma-lumiere-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--ma-gris-doux);
  font-family: var(--ma-font-body);
  font-size: 1.3rem;
  color: var(--ma-gris-texte);
  line-height: 1.55;
  font-weight:400;

}
.ma-lumiere-card__list li:last-child { border-bottom: none; }
.ma-lumiere-card__list li::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ma-bordeaux);
  flex-shrink: 0;
  margin-top: 5px;
}

/* ══════════════════════════════════════════════
   INFOS PRATIQUES
══════════════════════════════════════════════ */
.ma-section--infos { background: var(--ma-blanc); }
.ma-infos__title {
  font-family: var(--ma-font-head);
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--ma-noir);
  line-height: 1.2;
  margin-bottom: 16px;
}
.ma-infos__intro {
  font-family: var(--ma-font-body);
  font-size: 1.5rem;
  color: #000000;
  line-height: 1.85;
  margin-bottom: 40px;
  font-weight:400;

}
.ma-etab-list { display: flex; flex-direction: column; }
.ma-etab-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--ma-gris-ligne);
}
.ma-etab-item:first-child { border-top: 1px solid var(--ma-gris-ligne); }
.ma-etab-item__num {
  font-family: var(--ma-font-head);
  font-size: 1.3rem;
  color: #ccc;
  width: 20px;
}
.ma-etab-item__info h4 {
  font-family: var(--ma-font-head);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ma-noir);
  margin-bottom: 2px;
}
.ma-etab-item__info p {
  font-family: var(--ma-font-body);
  font-size: 1.2rem;
  color: #999;
  line-height: 1.5;
  font-weight:400;

  margin: 0;
}
.ma-etab-item__badge {
  font-family: var(--ma-font-head);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ma-bordeaux);
  background: var(--ma-bordeaux-light);
  padding: 4px 10px;
  border-radius: 20px;
  white-space: nowrap;
}

/* Sidebar cards */
.ma-sidebar { display: flex; flex-direction: column; gap: 16px; }
.ma-info-card {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--ma-gris-ligne);
}
.ma-info-card__header {
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.ma-info-card__header--bordeaux { background: var(--ma-bordeaux); }
.ma-info-card__header--creme    { background: var(--ma-creme); border-bottom: 1px solid var(--ma-creme-fort); }
.ma-info-card__header--dark     { background: var(--ma-noir); }
.ma-info-card__header-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,.15);
  display: flex; align-items: center; justify-content: center;
}
.ma-info-card__header--creme .ma-info-card__header-icon { background: var(--ma-bordeaux-light); }
.ma-info-card__header-icon svg { width: 16px; height: 16px; fill: #fff; }
.ma-info-card__header--creme .ma-info-card__header-icon svg { fill: var(--ma-bordeaux); }
.ma-info-card__title {
  font-family: var(--ma-font-head);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #fff;
}
.ma-info-card__header--creme .ma-info-card__title { color: var(--ma-bordeaux); }
.ma-info-card__body { padding: 20px 22px; background: var(--ma-blanc); }
.ma-info-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ma-gris-doux);
  font-size: 1.3rem;
}
.ma-info-row:last-child { border-bottom: none; }
.ma-info-row__icon      { width: 14px; height: 14px; fill: var(--ma-bordeaux); flex-shrink: 0; margin-top: 2px; }
.ma-info-row__icon svg  { width: 14px; height: 14px; fill: var(--ma-bordeaux); }
.ma-info-row__label {
  font-family: var(--ma-font-head);
  font-weight: 600;
  color: var(--ma-noir);
  font-size: 1.2rem;
  display: block;
}
.ma-info-row__val {
  font-family: var(--ma-font-body);
  color: #000000;
  line-height: 1.55;
  font-weight:400;

  display: block;
}
.ma-info-row__link {
  font-family: var(--ma-font-head);
  color: var(--ma-bordeaux);
  font-weight: 600;
  text-decoration: none;
  font-size: 1.3rem;
}
.ma-info-row__link:hover { text-decoration: underline; }

/* Boutons */
.ma-btn {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 13px 20px;
  border-radius: 8px;
  font-family: var(--ma-font-head);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: .02em;
  margin-top: 14px;
  transition: all .2s;
  cursor: pointer;
}
.ma-btn--bordeaux { background: var(--ma-bordeaux); color: #fff; }
.ma-btn--bordeaux:hover { background: #6e0230; color: #fff; }
.ma-btn--outline  { background: transparent; color: var(--ma-bordeaux); border: 1.5px solid var(--ma-bordeaux); }
.ma-btn--outline:hover { background: var(--ma-bordeaux); color: #fff; }

/* ══════════════════════════════════════════════
   LIGHTBOX
══════════════════════════════════════════════ */
.ma-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(10,10,10,.93);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(6px);
}
.ma-lightbox.open { display: flex; }
.ma-lightbox__inner {
  position: relative;
  max-width: 900px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.ma-lightbox__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.ma-lightbox__title {
  font-family: var(--ma-font-head);
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  letter-spacing: .04em;
}
.ma-lightbox__counter {
  font-family: var(--ma-font-head);
  font-size: 1.2rem;
  color: rgba(255,255,255,.4);
}
.ma-lightbox__close {
  position: absolute;
  top: -8px; right: 0;
  width: 40px; height: 40px;
  border: none;
  background: rgba(255,255,255,.1);
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.8rem;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
  line-height: 1;
}
.ma-lightbox__close:hover { background: rgba(255,255,255,.2); }
.ma-lightbox__img-wrap {
  width: 100%;
  max-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(255,255,255,.03);
}
.ma-lightbox__img-wrap img {
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  border-radius: 12px;
  display: block;
}
.ma-lightbox__nav {
  display: flex;
  gap: 12px;
  align-items: center;
}
.ma-lightbox__btn {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.07);
  color: #fff;
  cursor: pointer;
  font-size: 1.6rem;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s;
}
.ma-lightbox__btn:hover { background: var(--ma-bordeaux); border-color: var(--ma-bordeaux); }
.ma-lightbox__thumbs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.ma-lightbox__thumb {
  width: 60px; height: 45px;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  opacity: .45;
  border: 2px solid transparent;
  background: none;
  padding: 0;
  transition: opacity .2s, border-color .2s;
  flex-shrink: 0;
}
.ma-lightbox__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ma-lightbox__thumb.active { opacity: 1; border-color: var(--ma-bordeaux); }
.ma-lightbox__caption {
  font-family: var(--ma-font-body);
  font-size: 1.2rem;
  color: rgba(255,255,255,.4);
  text-align: center;
  font-style: italic;
  font-weight:400;

  margin: 0;
}

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */
@media (max-width: 991px) {
  .ma-hero { grid-template-columns: 1fr; }
  .ma-hero__content { padding: 48px 24px; }
  .ma-hero__title { font-size: 3.6rem; }
  .ma-hero__visual { min-height: 280px; }
  .ma-features-grid { grid-template-columns: 1fr; gap: 2px; }
  .ma-sorties__photos { display: none; }
  .ma-anchor-nav .container { padding-left: 16px; padding-right: 16px; }
  .ma-anchor-link { padding: 0 14px; font-size: 1.15rem; }
  .ma-anchor-link:first-child { padding-left: 0; }
}
@media (max-width: 767px) {
  :root { --ma-section-gap: 64px; }
  .ma-peda__photo-secondary { display: none; }
  .ma-partenaires__bg-text { font-size: 10rem; }
  .ma-lumieres__intro { max-width: 100%; }
}

/*------------------------------------*\
    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;
}
#bloc-menus-semaine {
  margin-top: 60PX;
}
#bloc-menus-semaine .titre-menus-section {
  text-align: center;
  margin-bottom: 32px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
}

#bloc-menus-semaine .menus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin-bottom: 60px;
}

#bloc-menus-semaine .menu-card {
  position: relative;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#bloc-menus-semaine .menu-card:hover:not(.menu-card--expired) {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.13);
}

#bloc-menus-semaine .menu-card--expired {
  opacity: 0.5;
  filter: grayscale(40%);
}

#bloc-menus-semaine .menu-card__badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #aaa;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

#bloc-menus-semaine .menu-card__body {
  padding: 24px 24px 16px;
  flex: 1;
}

#bloc-menus-semaine .menu-card__titre {
  font-family: 'Poppins', sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: #36382e;
}

#bloc-menus-semaine .menu-card__dates {
  font-size: 1.4rem;
  color: #000000;
  font-weight:700;
  margin: 0;
}

#bloc-menus-semaine .menu-card__footer {
  padding: 0 24px 24px;
}

#bloc-menus-semaine .menu-card__cta {
  display: inline-block;
  background-color: #89033e;
  color: #fff;
  padding: 10px 24px;
  border-radius: 999px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  text-decoration: none;
  transition: background 0.2s ease;
}

#bloc-menus-semaine .menu-card__cta:hover {
  background-color: #6d0230;
  color: #fff;
}

#bloc-menus-semaine .menu-card__cta--disabled {
  background-color: #ccc;
  cursor: not-allowed;
  pointer-events: none;
}
#bloc-menus-semaine .menu-card__visual {
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#bloc-menus-semaine .menu-card__visual svg {
  width: 100%;
  height: 100%;
}

#bloc-menus-semaine .menu-card--style-1 .menu-card__visual { background-color: #FFF3E0; }
#bloc-menus-semaine .menu-card--style-2 .menu-card__visual { background-color: #F3E5F5; }
#bloc-menus-semaine .menu-card--style-3 .menu-card__visual { background-color: #E8F5E9; }
#bloc-menus-semaine .menu-card--style-4 .menu-card__visual { background-color: #FFF8E1; }
/* ================================================
   MENU MOBILE — préfixe new-
   À coller dans style.css (remplace l'ancien bloc)
   ================================================ */
 
/* --- Overlay --- */
#new-lannion-mobile-nav .new-menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 9999;
}
#new-lannion-mobile-nav .new-menu-overlay.open {
  display: block;
}
 
/* --- Bouton burger --- */
.new-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;
}

.new-burger-button::before,
.new-burger-button::after {
  content: "";
  position: absolute;
  width: 26px;
  height: 3px;
  background: #fff;
  border-radius: 3px;
}

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

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

.new-burger-button span {
  display: block;
  width: 26px;
  height: 3px;
  background: #fff;
  border-radius: 3px;
}

/* Masquer sur desktop */
@media (min-width: 992px) {
  .new-burger-button {
    display: none;
  }
}
 
/* --- Panneau menu latéral --- */
#new-lannion-mobile-nav .new-mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  height: 100vh;
  width: 100%;
  max-width: 500px;
  background: #003865;
  color: #fff;
  z-index: 10000;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
  font-family: 'Poppins', sans-serif;
}
#new-lannion-mobile-nav .new-mobile-menu.open {
  right: 0;
}
 
/* --- En-tête du panneau --- */
#new-lannion-mobile-nav .new-menu-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 1);
  flex-shrink: 0;
}
#new-lannion-mobile-nav .new-menu-brand {
  color: rgba(255, 255, 255, 1);
  font-size: 1.6rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: 'Poppins', sans-serif;
}
 
/* --- Bouton fermer --- */
#new-lannion-mobile-nav .new-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;
}
#new-lannion-mobile-nav .new-close-button:hover {
  background: rgba(255, 255, 255, 0.22);
}
#new-lannion-mobile-nav .new-close-button:focus-visible {
  outline: 3px solid #B0D4EF;
  outline-offset: 2px;
}
#new-lannion-mobile-nav .new-close-icon {
  font-size: 15px;
  line-height: 1;
}
 
/* --- Zone de défilement --- */
#new-lannion-mobile-nav .new-menu-scroll {
  overflow-y: auto;
  flex: 1;
  padding: 4px 0 20px;
}
#new-lannion-mobile-nav .new-menu-scroll::-webkit-scrollbar {
  width: 3px;
}
#new-lannion-mobile-nav .new-menu-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}
 
/* --- Liste racine --- */
#new-lannion-mobile-nav ul.new-mobile-menu-level {
  list-style: none;
  padding: 0 10px;
  margin: 0;
}
#new-lannion-mobile-nav ul.new-mobile-menu-level > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
#new-lannion-mobile-nav ul.new-mobile-menu-level > li:last-child {
  border-bottom: none;
}
 
/* --- Boutons toggle --- */
#new-lannion-mobile-nav .new-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;
}
#new-lannion-mobile-nav .new-submenu-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}
#new-lannion-mobile-nav .new-submenu-toggle:focus-visible {
  outline: 3px solid #B0D4EF;
  outline-offset: 2px;
}
 
/* Niveau 1 */
#new-lannion-mobile-nav ul.new-mobile-menu-level > li > .new-submenu-toggle {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 30px 12px;
}
 
/* Niveau 2 */
#new-lannion-mobile-nav ul.new-mobile-submenu > li > .new-submenu-toggle {
  color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 12px 13px;
}
 
/* --- Chevron animé --- */
#new-lannion-mobile-nav .new-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;
}
#new-lannion-mobile-nav .new-submenu-toggle[aria-expanded="true"] .new-chevron {
  transform: rotate(45deg);
}
 
/* --- Sous-menus --- */
#new-lannion-mobile-nav ul.new-mobile-submenu {
  list-style: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  padding-left: 10px;
  margin: 0;
}
#new-lannion-mobile-nav ul.new-mobile-submenu.open {
  max-height: 800px;
}
 
#new-lannion-mobile-nav ul.new-mobile-submenu ul.new-mobile-submenu {
  border-left: 2px solid rgba(255, 255, 255, 0.15);
  margin-left: 2px;
  padding-left: 10px;
}
 
/* --- Liens terminaux --- */
#new-lannion-mobile-nav .new-mobile-submenu a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 12px 12px;
  border-radius: 5px;
  transition: background 0.15s;
  font-family: 'Poppins', sans-serif;
}
#new-lannion-mobile-nav .new-mobile-submenu a::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
}
#new-lannion-mobile-nav .new-mobile-submenu a:hover {
  background: rgba(255, 255, 255, 0.12);
}
#new-lannion-mobile-nav .new-mobile-submenu a:focus-visible {
  outline: 3px solid #B0D4EF;
  outline-offset: 2px;
}
 
/* --- Masquer sur desktop --- */
@media (min-width: 992px) {
  .new-burger-button,
  #new-lannion-mobile-nav .new-mobile-menu,
  #new-lannion-mobile-nav .new-menu-overlay {
    display: none !important;
  }
}


/* ========================================================
   Faltazi Mae — harmonisation des images (page only)
   ======================================================== */

   .postit {
    position: absolute;
    top: 50%;
    z-index:100;
    right: 44px;
    transform: translateY(-50%);
    width: 248px;
    filter: drop-shadow(0 14px 36px rgba(0,0,0,0.32));
  }
  
  .scotch {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%) rotate(-1deg);
    width: 64px;
    height: 24px;
    z-index: 10;
    border-radius: 2px;
    overflow: hidden;
  }
  .scotch-inner {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.28);
    border-radius: 2px;
  }
  .scotch-stripe {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
      105deg,
      transparent 0px,
      transparent 3px,
      rgba(255,255,255,0.07) 3px,
      rgba(255,255,255,0.07) 6px
    );
  }
  .scotch-edge-left {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(to right, rgba(200,200,200,0.45), transparent);
  }
  .scotch-edge-right {
    position: absolute;
    right: 0; top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(to left, rgba(200,200,200,0.45), transparent);
  }
  .scotch-sheen {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 40%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.22), transparent);
    border-radius: 2px 2px 0 0;
  }
  .scotch-shadow {
    position: absolute;
    bottom: -3px; left: 4px; right: 4px;
    height: 4px;
    background: rgba(0,0,0,0.12);
    filter: blur(2px);
    border-radius: 50%;
  }
  
  .postit-body {
    background: #ffffff;
    border-radius: 3px;
    padding: 26px 22px 24px;
    position: relative;
    border-top: 3px solid #89023f;
    transform: rotate(2deg);
}
  .postit-body::after {
    content: '';
    position: absolute;
    bottom: 0; right: 0;
    width: 0; height: 0;
    border-style: solid;
    border-width: 0 0 20px 20px;
    border-color: transparent transparent #e2e2e2 transparent;
  }
  .postit-tag {
    display: inline-block;
    background: #89023f;
    color: #fff;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 13px;
  }
  .postit-title {
    font-family: 'Poppins';
    font-size: 2rem;
    font-weight: 600;
    color: #111;
    line-height: 1.3;
    margin-bottom: 12px;
  }
  .postit-text {
    font-size: 1.4rem;
    color: #000000;
    line-height: 1.8rem;
    margin: 0;
    padding-top: 11px;
    border-top: 1px solid #f0f0f0;
    font-family: 'Poppins';
    font-weight: 500;
  }
  .postit-footer {
    margin-top: 14px;
    padding-top: 11px;
    border-top: 1px solid #f0f0f0;
    font-size: 1.4rem;
    color: #89023f;
    display: flex;
    align-items: center;
    gap: 6px;
    opacity: 1;
    font-weight: 600;
  }
  .postit-dot {
    width: 4px; height: 4px;
    border-radius: 50%;
    background: #89023f;
  }


   body.faltazi-mae .photo-projets {
    min-height: 360px;
    padding: 0;
    overflow: hidden;
  }
  
  body.faltazi-mae .photo-projets img.photo-transition {
    width: 100%;
    height: 460px;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  body.faltazi-mae h3.sous-titre-header-full
 {
    color: #d91d12;
}
  
  /* Tablette */
  @media (max-width: 991px) {
    .postit {
      position: absolute;
      bottom: 43%;
      left: 10%;
      z-index: 100;
      right: 44px;
      top:auto;
      transform: translateY(-50%);
      width: 248px;
      filter: drop-shadow(0 14px 36px rgba(0, 0, 0, 0.32));
  }
    body.faltazi-mae .photo-projets {
      min-height: 280px;
    }
    body.faltazi-mae .photo-projets img.photo-transition {
      height: 280px;
    }
  }
  
  /* Mobile */
  @media (max-width: 576px) {
    body.faltazi-mae .photo-projets {
      min-height: 220px;
    }
    body.faltazi-mae .photo-projets img.photo-transition {
      height: 220px;
    }
  }

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

.burger-button-new {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  line-height: 0;
}
.burger-button-new 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;
}
.burger-button-new: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: #000000;
}#cm2026 .badge-maire  { background: #0C447C; color: #ffffff; }

#cm2026 .badge-delegue  { background: #EC5A70;
  color: #000000; }
#cm2026 .badge-cons     { background: #EC5A70;
  color: #000000;}
#cm2026 .badge-conslc     { background: #ef801f; color: #000000; }
#cm2026 .badge-consrn     { background: #543708; 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;
    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 {
         color: #000000;
         padding: 2rem;
         border-radius: 10px;
         max-width: 900px;
         font-weight: 400;
       font-size: 1.5rem;
         margin: 3rem auto;
         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/06/mag-253-couv.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
     ========================================== */
  
  /* Rappel : html { font-size: 62.5% } => 1rem = 10px dans tout ce fichier */
  
  @media (max-width: 992px) {
      .single-dossier_ga_lannion .hero-grand-angle {
          height: 55vh;
          min-height: 380px;
      }
      h1.titre-dossier-lannion {
          font-size: 3.2rem;
      }
      .single-dossier_ga_lannion .hero-content .lead {
          font-size: 1.4rem;
      }
      .stats-content {
          font-size: 4rem;
      }
      .services-asso-wrapper h3 {
          font-size: 2.4rem;
      }
      .single-dossier_ga_lannion .service-card h5 {
          font-size: 1.8rem;
          letter-spacing: -1px;
      }
      .single-dossier_ga_lannion .asso-services {
          padding: 24px;
      }
      .single-dossier_ga_lannion .services-asso-wrapper {
          padding: 24px;
      }
      .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: 2.6rem;
      }
  }
  
  @media (max-width: 768px) {
      .single-dossier_ga_lannion .hero-grand-angle {
          height: 45vh;
          min-height: 320px;
      }
      h1.titre-dossier-lannion {
          font-size: 2.6rem;
          line-height: 1.2;
      }
      .stats-content {
          font-size: 3.2rem;
      }
      .stats-card p,
      .texteimage p,
      .single-dossier_ga_lannion .dossier-encart,
      .single-dossier_ga_lannion .liste-custom,
      .single-dossier_ga_lannion .card p {
          font-size: 1.4rem;
      }
      section.texteimage {
          margin-top: 40px;
          margin-bottom: 40px;
      }
      .single-dossier_ga_lannion .texte-simple {
          margin-top: 30px;
      }
      .single-dossier_ga_lannion section.stats-cards-wrapper {
          margin-top: 20px;
          margin-bottom: 40px;
      }
      .single-dossier_ga_lannion .service-card h5 {
          font-size: 1.6rem;
          letter-spacing: -0.5px;
      }
      .single-dossier_ga_lannion .service-card p {
          font-size: 1.4rem;
      }
      .services-asso-wrapper h3 {
          font-size: 2rem;
      }
      .single-dossier_ga_lannion .magazine-section {
          padding: 40px 0;
          margin: 30px 0;
      }
      .single-dossier_ga_lannion .magazine-associations,
      .single-dossier_ga_lannion .magazine-associations-title {
          font-size: 1.3rem;
      }
      .single-dossier_ga_lannion .magazine-content p {
          font-size: 1.4rem;
          margin-bottom: 20px;
      }
      .single-dossier_ga_lannion .magazine-btn {
          font-size: 1.4rem;
          padding: 12px 24px;
      }
      .single-dossier_ga_lannion .encadre-definition,
      .single-dossier_ga_lannion .encadre-info {
          padding: 1.25rem;
          font-size: 1.4rem;
          margin: 2rem auto;
      }
      .single-dossier_ga_lannion .encadre-diversite {
          padding: 1.5rem;
          margin: 1.5rem auto;
      }
      .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;
      }
      .single-dossier_ga_lannion .citation-block {
          padding: 1.25rem 1.5rem;
          margin: 2rem auto;
      }
      .single-dossier_ga_lannion .citation-block .blockquote {
          font-size: 1.1rem;
      }
      .single-dossier_ga_lannion .citation-block .blockquote-footer {
          font-size: 1.6rem;
          margin-top: 1.5rem;
      }
  }
  
  @media (max-width: 576px) {
      .single-dossier_ga_lannion .magazine-section {
          padding: 30px 0;
      }
  
      .single-dossier_ga_lannion .magazine-cover {
          max-width: 280px;
      }
  
      .single-dossier_ga_lannion .magazine-title {
          font-size: 1.8rem;
      }
  
      .single-dossier_ga_lannion .magazine-content h3 {
          font-size: 2rem;
      }
  
      .single-dossier_ga_lannion .magazine-content p {
          font-size: 1.3rem;
      }
  
      .single-dossier_ga_lannion .dossier-encart {
          padding-left: 15px;
      }
  
      h1.titre-dossier-lannion {
          font-size: 2.2rem;
      }
      .stats-content {
          font-size: 2.8rem;
      }
      .single-dossier_ga_lannion .encadre-diversite .galerie-associations {
          grid-template-columns: 1fr 1fr;
          gap: 0.5rem;
      }
      .single-dossier_ga_lannion .encadre-diversite .galerie-associations img {
          height: 120px;
      }
      .single-dossier_ga_lannion .service-card h5 {
          font-size: 1.5rem;
      }
  }



/* ===========================
   PAge alerte
   =========================== */
   .projet-maj-temps-reel {
    margin-top: 40px;
    font-family: 'Poppins', sans-serif;
}
.maj-feed {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem;
}

.maj-item {
  display: flex;
  gap: 0.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #e1e8ed;
}

.maj-item:last-child {
  border-bottom: none;
}

/* Petit avatar / point façon réseau social */
.maj-avatar {
  flex-shrink: 0;
}

.maj-avatar-dot {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #1d9bf0; /* à adapter à ta charte */
}

/* Bulle */
.maj-bulle {
  flex: 1;
  padding: 1rem 1.25rem;
}

.maj-header {
  display: flex;
  flex-direction: column; /* on empile les lignes au lieu de les aligner en ligne */
  gap: 0.2rem;
  margin-bottom: 0.3rem;
}

.maj-meta-line {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.maj-titre {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  color: #14171a;
}

.maj-separator {
  color: #657786;
  font-size: 1.3rem;
}

.maj-heure, .maj-date {
  font-family: 'Poppins', sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #f11655;
}

.maj-contenu {
  font-family: 'Poppins', sans-serif;
  font-size: 1.6rem;
  color: #000000;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}

/* Balises générées par le WYSIWYG dans .maj-contenu */
.maj-contenu p {
  margin: 0 0 0.5rem 0;
}

.maj-contenu p:last-child {
  margin-bottom: 0;
}

.maj-contenu strong {
  font-weight: 700;
}

.maj-contenu a {
  color: #f11655;
  text-decoration: underline;
}

.maj-contenu ul,
.maj-contenu ol {
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
}

.maj-contenu li {
  margin-bottom: 0.25rem;
}

.maj-photo {
  border-radius: 12px;
  margin-top: 0.5rem;
  max-height: 300px;
  object-fit: cover;
  width: 100%;
}

.maj-encarts {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

.encart-card {
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.encart-card:last-child {
  margin-bottom: 0;
}

.encart-photo {
  width: 100%;
  display: block;
  object-fit: cover;
  max-height: 220px;
}

.encart-body {
  padding: 2rem;
}

.encart-titre {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  color: #ffffff;
}

.encart-contenu {
  font-family: 'Poppins', sans-serif;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #ffffff;
  margin-bottom: 0.75rem;
  font-weight: 500;
}

/* Balises générées par le WYSIWYG dans .encart-contenu */
.encart-contenu p {
  margin: 0 0 0.5rem 0;
}

.encart-contenu p:last-child {
  margin-bottom: 0;
}

.encart-contenu strong {
  font-weight: 700;
}

.encart-contenu a {
  color: #ffffff;
  text-decoration: underline;
}

.encart-contenu ul,
.encart-contenu ol {
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
}

.encart-contenu li {
  margin-bottom: 0.25rem;
}

.encart-bouton {
  display: inline-block;
  padding: 0.8rem 2rem;
  border-radius: 8px;
  margin-top: 10px;
  background-color: #14171a; /* à adapter */
  color: #fff;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  transition: opacity 0.2s ease;
}

.encart-bouton:hover {
  opacity: 0.85;
  color: #fff;
}
  /* ===========================
   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;
}



/* APRÈS */
.creche-gallery {
  margin-top: 16px;
}

.creche-gallery-item {
  width: calc(25% - 6px);
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .creche-gallery-item {
    width: calc(50% - 6px);
  }
}
.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;
  margin-top:40px;
}
.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;
}
section.programme-evenement {
  padding-left: 20px;
  padding-right: 20px;
}
.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
\*------------------------------------*/

.lan-dossier-mois {
  display: flex;
  align-items: stretch;
  min-height: 60vh;
  position: relative;
  overflow: hidden;
  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);
}

.lan-dossier-mois__contenu {
  flex: 1 1 50%;
  padding: 40px;
  display: flex;
  background-color: #ffffff;
  flex-direction: column;
  justify-content: center;
}

.lan-dossier-mois__image {
  flex: 0 0 auto;
  height: 100%;
  width: auto;
  max-width: 50%;
  object-fit: cover;
  display: block;
}

.lan-dossier-mois__categorie {
  color: #89033e;
  font-weight: 800;
  font-size: 1.8rem;
  font-family: 'Poppins';
}

.lan-dossier-mois__titre {
  font-size: 3rem;
  font-family: 'Poppins';
  font-weight: 700;
}

.lan-dossier-mois__texte {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Luciole', Arial, sans-serif;
  margin-top: 10px;
}

.lan-dossier-mois__bouton {
  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;
}

/* Mobile : on enlève l'image, le texte prend toute la largeur */
@media (max-width: 768px) {
  .lan-dossier-mois {
    min-height: auto;
  }
  .lan-dossier-mois__image {
    display: none;
  }
  .lan-dossier-mois__contenu {
    flex: 1 1 100%;
    padding: 24px;
  }
}





/*------------------------------------*\
 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;
	}
}
