/* La Fabrique – Programmation & Réservations */
:root{
  --lfc-rouge:var(--wp--preset--color--rouge,#E63323);
  --lfc-bordeaux:var(--wp--preset--color--bordeaux,#C0271B);
  --lfc-orange:var(--wp--preset--color--orange,#F28C28);
  --lfc-bleu:var(--wp--preset--color--bleu,#3058DB);
  --lfc-encre:var(--wp--preset--color--noir,#2B1A12);
  --lfc-creme:var(--wp--preset--color--creme,#FFF6EA);
  --lfc-ligne:rgba(43,26,18,.12);
}

/* Boutons */
.lfc-btn{display:inline-block;background:var(--lfc-rouge);color:#fff!important;text-decoration:none!important;font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 1.6rem;border:2px solid var(--lfc-rouge);transition:background .2s,color .2s,border-color .2s;cursor:pointer;font-family:inherit;line-height:1.2}
.lfc-btn:hover{background:var(--lfc-bordeaux);border-color:var(--lfc-bordeaux)}
.lfc-btn--contour{background:transparent;color:inherit!important;border-color:currentColor}
.lfc-btn--contour:hover{background:#fff;color:var(--lfc-rouge)!important;border-color:#fff}
.lfc-btn--clair{background:#fff;color:var(--lfc-rouge)!important;border-color:#fff}
.lfc-btn--orange{background:var(--lfc-orange);border-color:var(--lfc-orange)}
.lfc-btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.lfc-link{font-weight:600;text-decoration:none;color:var(--lfc-rouge)}
.lfc-link:hover{text-decoration:underline}

/* Carrousel d'accueil */
.lfc-hero-slider{position:relative;min-height:min(88vh,820px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;margin:0!important}
.lfc-slides,.lfc-slide,.lfc-hero-slider__overlay{position:absolute;inset:0}
.lfc-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 7s ease}
.lfc-slide.is-active{opacity:1;transform:scale(1)}
.lfc-hero-slider__overlay{background:linear-gradient(15deg,rgba(192,39,27,.9) 0%,rgba(230,51,35,.5) 45%,rgba(246,193,46,.12) 100%)}
.lfc-hero-slider__content{position:relative;z-index:2;max-width:1200px;width:100%;margin:0 auto;padding:6rem clamp(1rem,4vw,2.5rem) 5.5rem}
.lfc-hero-slider h1{color:#fff;font-size:clamp(2.6rem,7vw,5.6rem)!important;line-height:1;margin:0 0 1.2rem;max-width:14ch}
.lfc-hero-slider h1 em{color:#FFD166;font-style:italic}
.lfc-hero-slider__kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.85rem;font-weight:700;margin:0 0 1rem;color:#FFD166}
.lfc-hero-slider__lead{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:38rem;margin:0;opacity:.95}
.lfc-dots{position:absolute;z-index:3;right:clamp(1rem,4vw,2.5rem);bottom:2rem;display:flex;gap:.5rem}
.lfc-dots button{width:28px;height:4px;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer}
.lfc-dots button.is-active{background:#fff}

/* Grilles */
.lfc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.6rem;margin-top:1.5rem}

/* Cartes spectacle */
.lfc-spec{background:#fff;display:flex;flex-direction:column;border-top:4px solid var(--lfc-rouge);box-shadow:0 1px 0 var(--lfc-ligne)}
.lfc-spec__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--lfc-bordeaux)}
.lfc-spec__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.lfc-spec:hover .lfc-spec__img img{transform:scale(1.04)}
.lfc-spec__body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.lfc-spec__body p{margin:0}
.lfc-spec__disc{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem!important;font-weight:700;color:var(--wp--preset--color--terracotta,#B5522F)}
.lfc-spec__title{margin:.1rem 0 .2rem!important;font-size:1.35rem!important;line-height:1.2}
.lfc-spec__title a{color:var(--lfc-encre);text-decoration:none}
.lfc-spec__date{font-weight:700;color:var(--lfc-rouge)}
.lfc-spec__tarif{font-size:.92rem;color:#6E5A4E}
.lfc-spec__excerpt{margin:.5rem 0!important}
.lfc-spec__actions{margin-top:auto;padding-top:1rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.lfc-badge{position:absolute;left:0;top:1rem;background:var(--wp--preset--color--jaune,#F6C12E);color:var(--lfc-encre);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.45rem .9rem}
.lfc-spec.is-past{border-top-color:var(--lfc-bleu)}
.lfc-spec.is-past .lfc-badge{background:var(--lfc-bleu);color:#fff}
.lfc-spec.is-past .lfc-spec__date{color:var(--lfc-bleu)}
.lfc-complet{font-weight:700;color:#fff;background:#777;padding:.5rem 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}

/* Grande carte (accueil) */
.lfc-spec--grand{display:grid;grid-template-columns:1.25fr 1fr;border-top:0;border-left:6px solid var(--lfc-rouge);height:100%}
.lfc-spec--grand .lfc-spec__img{aspect-ratio:auto;min-height:340px}
.lfc-spec--grand .lfc-spec__body{padding:2rem}
.lfc-spec--grand .lfc-spec__title{font-size:clamp(1.6rem,2.6vw,2.1rem)!important}
.lfc-spec--grand.is-past{border-left-color:var(--lfc-bleu)}
.lfc-duo{display:grid;grid-template-columns:1fr;gap:1.8rem}
.lfc-duo .lfc-spec--grand{grid-template-columns:1fr}
.lfc-duo .lfc-spec--grand .lfc-spec__img{min-height:0;aspect-ratio:16/9}
@media (min-width:900px){.lfc-duo{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.lfc-spec--grand{grid-template-columns:1fr}.lfc-spec--grand .lfc-spec__img{min-height:0;aspect-ratio:16/10}}

/* Actualités */
.lfc-actu{background:#fff;padding:0 0 1.4rem;border-top:4px solid var(--wp--preset--color--vert,#1F8A3B)}
.lfc-actu > :not(.lfc-actu__img){padding:0 1.4rem}
.lfc-actu__img{display:block;aspect-ratio:16/10;overflow:hidden;margin-bottom:1.1rem;background:var(--lfc-creme)}
.lfc-actu__img img{width:100%;height:100%;object-fit:cover}
.lfc-actu p{margin:.4rem 0 0}
.lfc-actu__title{font-size:1.25rem!important;margin:.3rem 0 0!important;line-height:1.25}
.lfc-actu__title a{color:var(--lfc-encre);text-decoration:none}

/* Programmation */
.lfc-filtres{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem}
.lfc-filtres button{background:#fff;border:1px solid var(--lfc-ligne);padding:.55rem 1.1rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--lfc-encre)}
.lfc-filtres button.is-active,.lfc-filtres button:hover{background:var(--lfc-rouge);border-color:var(--lfc-rouge);color:#fff}
.lfc-prog__passes{margin-top:4rem!important;padding-top:2rem;border-top:1px solid var(--lfc-ligne)}
.lfc-grid--passes .lfc-spec{opacity:.92}
.lfc-vide{font-style:italic;color:#7A6456}

/* Fiche spectacle */
.lfc-fiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;margin:0 0 2.5rem}
.lfc-fiche > div{background:#fff;padding:1rem 1.2rem;border-top:3px solid var(--wp--preset--color--jaune,#F6C12E)}
.lfc-fiche > .lfc-fiche__cta{background:transparent;border:0;padding:0}
.lfc-fiche span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;color:var(--wp--preset--color--terracotta,#B5522F)}
.lfc-fiche strong{display:block;margin-top:.25rem}
.lfc-fiche .lfc-fiche__cta{display:flex;align-items:center}
.lfc-retour{margin-top:3rem}

/* Formulaire de réservation */
.lfc-resa-wrap{margin-top:3rem;scroll-margin-top:100px}
.lfc-resa{background:#fff;border-top:5px solid var(--lfc-rouge);padding:clamp(1.4rem,4vw,2.4rem);display:grid;gap:1rem;max-width:760px}
.lfc-resa h2{margin:0!important}
.lfc-resa label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}
.lfc-resa input,.lfc-resa select,.lfc-resa textarea{font:inherit;font-weight:400;padding:.75rem .85rem;border:1px solid rgba(43,26,18,.25);background:var(--lfc-creme);width:100%;box-sizing:border-box;border-radius:0}
.lfc-resa input:focus,.lfc-resa select:focus,.lfc-resa textarea:focus{outline:2px solid var(--lfc-orange);outline-offset:1px}
.lfc-resa__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lfc-resa__spec{margin:0;padding:.9rem 1rem;background:var(--lfc-creme);border-left:4px solid var(--wp--preset--color--jaune,#F6C12E)}
.lfc-resa__note{font-size:.85rem;color:#7A6456;margin:0}
.lfc-resa .lfc-btn{justify-self:start}
.lfc-hp{position:absolute!important;left:-9999px}
.lfc-alert{padding:1rem 1.2rem;background:#fdecea;border-left:4px solid var(--lfc-rouge)}
.lfc-alert--ok{background:#eaf6ec;border-left-color:#2FA14A}
@media (max-width:600px){.lfc-resa__row{grid-template-columns:1fr}}

/* Vidéos */
.lfc-videos{display:grid;gap:1.4rem;margin-top:1.5rem}
.lfc-videos__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}
.lfc-video{margin:0}
.lfc-video__play{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#2B1A12;cursor:pointer;overflow:hidden}
.lfc-video__play img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s;opacity:.9}
.lfc-video__play:hover img{transform:scale(1.04);opacity:1}
.lfc-video__icon{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--lfc-rouge);box-shadow:0 6px 24px rgba(0,0,0,.35)}
.lfc-video__icon::after{content:"";position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff}
.lfc-video--grande .lfc-video__icon{width:84px;height:84px;margin:-42px 0 0 -42px}
.lfc-video--grande .lfc-video__icon::after{left:34px;top:26px;border-width:16px 0 16px 26px}
.lfc-video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.lfc-video figcaption{margin-top:.55rem;font-weight:600;font-size:.95rem;line-height:1.35}
.lfc-video--grande figcaption{font-family:var(--wp--preset--font-family--display);font-size:1.35rem}
.has-rouge-background-color .lfc-video figcaption,.has-bordeaux-fonce-background-color .lfc-video figcaption,.has-terracotta-background-color .lfc-video figcaption{color:#fff}
@media (min-width:900px){.lfc-videos--duo{grid-template-columns:1.6fr 1fr}}

/* Réseaux sociaux */
.lfc-reseaux{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.lfc-reseaux a{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1.1rem;background:#fff;color:var(--lfc-encre)!important;text-decoration:none!important;font-weight:600;border:1px solid var(--lfc-ligne);transition:background .2s,color .2s}
.lfc-reseaux a:hover{background:var(--lfc-rouge);color:#fff!important;border-color:var(--lfc-rouge)}

/* Formulaires de demande */
.lfc-resa__row--auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.lfc-resa__row--auto .lfc-full{grid-column:1/-1}
.lfc-demande{max-width:860px}
/* Informations à compléter */
.lfc-todo{background:#FFE58A;padding:0 .3em;border-radius:3px;font-weight:600;color:#2B1A12}
/* Organigramme */
.lfc-org{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;margin-top:1.2rem}
.lfc-org__p{background:#fff;padding:1.1rem 1.2rem;border-top:4px solid var(--lfc-rouge)}
.lfc-org__p:nth-child(4n+2){border-top-color:var(--wp--preset--color--jaune,#F6C12E)}.lfc-org__p:nth-child(4n+3){border-top-color:var(--wp--preset--color--vert,#1F8A3B)}.lfc-org__p:nth-child(4n+4){border-top-color:var(--lfc-bleu)}
.lfc-org__p strong{display:block;font-family:var(--wp--preset--font-family--display);font-size:1.15rem;line-height:1.25}
.lfc-org__p span{display:block;margin-top:.3rem;font-size:.9rem;color:#6E5A4E}
.lfc-org__p em{display:block;margin-top:.2rem;font-size:.8rem;font-style:normal;color:#B5522F}
.lfc-org__p--vide{background:transparent;border:2px dashed rgba(43,26,18,.2)}
/* Tableau des rendez-vous / tarifs */
.lfc-table{width:100%;border-collapse:collapse;background:#fff;margin-top:1rem}
.lfc-table th,.lfc-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--lfc-ligne);vertical-align:top}
.lfc-table th{background:var(--lfc-creme);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.lfc-table td:first-child{font-weight:700;white-space:nowrap}
@media (max-width:700px){
  .lfc-table thead{display:none}
  .lfc-table tr{display:block;padding:.6rem 0;border-bottom:1px solid var(--lfc-ligne)}
  .lfc-table td{display:block;border:0;padding:.25rem 1rem;white-space:normal!important}
  .lfc-table td:first-child{color:var(--lfc-rouge)}
}

/* Accueil : « lieu ouvert » */
.lfc-bienvenue{font-size:clamp(2.6rem,7.5vw,6rem)!important;line-height:.95!important;margin:0 0 2.5rem!important;max-width:14ch}
.lfc-ouvert{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--wp--preset--color--bordeaux-fonce,#2146B8);color:#fff;padding:clamp(1.6rem,4vw,2.6rem) clamp(1.4rem,4vw,3rem);border-radius:4px}
.lfc-ouvert__titre{margin:0 0 .6rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;color:#FFD166}
.lfc-ouvert__h{margin:0!important;font-family:var(--wp--preset--font-family--display);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15}
.lfc-ouvert__liste{margin:1rem 0 1.2rem;padding-left:1.1rem;opacity:.92}
.lfc-ouvert__liste li{margin:.2rem 0}
.lfc-ouvert__horloge{width:clamp(80px,12vw,140px);flex-shrink:0;color:#FFD166}
.lfc-link--clair{color:#fff!important;text-decoration:underline}
@media (max-width:640px){.lfc-ouvert{flex-direction:column-reverse;align-items:flex-start}}
/* Newsletter */
.lfc-nl__row{display:flex;flex-wrap:wrap;gap:.6rem}
.lfc-nl input{flex:1 1 200px;font:inherit;padding:.8rem .9rem;border:0;border-radius:2px;min-width:0}
.lfc-nl .lfc-btn{background:#FFD166;border-color:#FFD166;color:#2B1A12!important}
.lfc-nl .lfc-btn:hover{background:#fff;border-color:#fff}
.lfc-nl__note{font-size:.85rem;opacity:.8;margin:.6rem 0 0!important}
.lfc-nl__msg{margin:.8rem 0 0!important;font-weight:700;color:#FFD166}
/* Logos partenaires */
.lfc-partenaires-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.6rem 2.6rem;margin-top:1.4rem}
.lfc-partenaires-logos img{height:54px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.lfc-partenaires-logos img:hover{filter:none;opacity:1}

/* Studios d'hébergement */
.lfc-studios{display:grid;gap:2.4rem;margin-top:1rem}
.lfc-studio{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:start;background:var(--lfc-creme);padding:1.4rem;border-top:5px solid #E8A0A0}
.lfc-studio--bleu{border-top-color:var(--lfc-bleu)}
.lfc-studio--commun{grid-template-columns:1fr;border-top-color:var(--wp--preset--color--vert,#1F8A3B)}
.lfc-studio__txt h3{margin:.2rem 0 .6rem!important}
.lfc-studio__txt ul{padding-left:1.1rem;margin:.8rem 0 0}
.lfc-studio__txt li{margin:.3rem 0}
.lfc-studio__galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.lfc-studio__galerie a{display:block;aspect-ratio:3/4;overflow:hidden;background:#eee}
.lfc-studio__galerie a.is-une{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.lfc-studio__galerie img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.lfc-studio__galerie a:hover img{transform:scale(1.04)}
.lfc-studio__galerie--ligne{grid-template-columns:repeat(3,1fr)}
.lfc-studio__galerie--ligne a,.lfc-studio__galerie--ligne a.is-une{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
@media (max-width:820px){.lfc-studio{grid-template-columns:1fr}}
.lfc-tarifs__note{font-weight:400;color:#6E5A4E;font-size:.9rem}

/* Actions citoyennes (1.2.4) */
a.lfc-card{display:block;text-decoration:none;color:inherit}
a.lfc-card em{font-style:normal;font-weight:700;color:var(--lfc-rouge)}
.lfc-ancre{scroll-margin-top:110px}
.lfc-stat strong{white-space:nowrap}
.lfc-badge{display:inline-block;background:var(--lfc-rouge);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;margin-bottom:.6rem}
.lfc-galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin:1.5rem 0}
.lfc-galerie img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.lfc-column .lfc-galerie,.wp-block-column .lfc-galerie{grid-template-columns:1fr 1fr}
.lfc-etapes{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;counter-reset:etape}
.lfc-etapes li{background:var(--lfc-creme,#FBF4EA);padding:1.1rem 1.2rem;border-left:4px solid var(--lfc-rouge);font-size:.95rem}
.lfc-etapes li strong{display:block;margin-bottom:.3rem}
.lfc-projet-logos{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.12)}
.lfc-projet-logos__titre{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem!important;font-weight:700;opacity:.7;margin:0 0 1rem}
.lfc-projet-logos__liste{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.lfc-projet-logos__liste img{height:64px;width:auto;max-width:190px;object-fit:contain;background:#fff;padding:6px 10px;border-radius:4px}
.lfc-projet-logos__texte{font-size:.9rem;font-style:italic;margin-top:1rem;opacity:.85}
@media (max-width:600px){.lfc-projet-logos__liste{gap:.75rem}.lfc-projet-logos__liste img{height:46px;max-width:140px}}
/* Menu : Festival RICA mis en valeur */
.wp-block-navigation .lfc-menu-rica > a{color:var(--lfc-rouge)!important;font-weight:800}
.wp-block-navigation .lfc-menu-rica > a::before{content:"";display:inline-block;width:.5em;height:.5em;border-radius:50%;background:#F6C12E;margin-right:.45em;vertical-align:.1em}

/* Archives des spectacles (v1.2.9) */
.lfc-prog__archives{margin-top:2.5rem;text-align:center}
.lfc-archives h2{font-size:1.25rem;margin:2.2rem 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid var(--lfc-ligne)}
.lfc-archives ul{list-style:none;margin:0;padding:0}
.lfc-archives li{padding:.45rem 0;display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline}
.lfc-archives__date{min-width:4.2rem;font-weight:700;color:var(--lfc-rouge)}
.lfc-archives__disc{font-size:.85rem;opacity:.7}
.lfc-partenaires-logos img[alt^="Ministère"]{height:92px;max-width:180px}
.lfc-partenaires-logos img[alt^="Le Hubs"]{height:64px}
/* Cirque en Afrique (1.2.10) */
.lfc-lang{text-align:right;margin:0 0 1.5rem}
.lfc-lang a{display:inline-block;border:2px solid var(--lfc-rouge);color:var(--lfc-rouge);font-weight:700;font-size:.85rem;padding:.4rem .9rem;text-decoration:none;border-radius:999px}
.lfc-lang a:hover{background:var(--lfc-rouge);color:#fff}
.lfc-etapes--num li strong{font-size:1.6rem;line-height:1;color:var(--lfc-rouge)}
.lfc-citation{margin:0 0 2rem;padding:0;border:0}
.lfc-citation p{font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.35;font-weight:700;margin:0 0 .6rem}
.lfc-citation cite{font-style:normal;opacity:.85}
.lfc-sources{font-size:.85rem;opacity:.8}
.lfc-photo--cadre img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.lfc-photo--cadre figcaption{font-size:.78rem;opacity:.75;text-align:left}
/* Annuaire du cirque (1.2.10) */
.lfc-annuaire__compte{margin:1rem 0 .8rem;font-size:.95rem}
.lfc-annuaire__compte strong{font-size:1.4rem;color:var(--lfc-rouge)}
.lfc-annuaire__filtres{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.lfc-annuaire__regions{display:flex;flex-wrap:wrap;gap:.4rem}
.lfc-annuaire__regions button{border:2px solid var(--lfc-rouge);background:transparent;color:var(--lfc-rouge);font:inherit;font-weight:700;font-size:.82rem;padding:.4rem .85rem;border-radius:999px;cursor:pointer}
.lfc-annuaire__regions button.is-actif,.lfc-annuaire__regions button:hover{background:var(--lfc-rouge);color:#fff}
.lfc-annuaire__outils{display:flex;flex-wrap:wrap;gap:.5rem}
.lfc-annuaire__outils select,.lfc-annuaire__outils input{font:inherit;font-size:.9rem;padding:.5rem .7rem;border:1px solid rgba(0,0,0,.25);background:#fff;border-radius:4px;min-width:170px}
.lfc-annuaire__liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.lfc-structure{background:#fff;padding:1.3rem 1.4rem;border-top:4px solid var(--lfc-rouge);display:flex;flex-direction:column}
.lfc-structure[hidden]{display:none}
.lfc-structure[data-type="ecole"]{border-top-color:#2FA14A}.lfc-structure[data-type="festival"]{border-top-color:#F6C12E}.lfc-structure[data-type="lieu"]{border-top-color:#3058DB}
.lfc-structure__img img{width:100%;height:140px;object-fit:cover;display:block;margin-bottom:.8rem}
.lfc-structure__type{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem!important;font-weight:700;opacity:.7;margin:0 0 .3rem}
.lfc-structure h3{margin:0 0 .25rem;font-size:1.15rem}
.lfc-structure__lieu{font-weight:700;font-size:.88rem!important;margin:0 0 .6rem}
.lfc-structure__desc{font-size:.9rem!important;margin:0 0 .8rem}
.lfc-structure__liens{font-size:.85rem!important;margin:auto 0 0}
.lfc-structure__liens a{color:var(--lfc-rouge);font-weight:700}
.lfc-annuaire-form{max-width:720px;margin-top:1rem}
/* Bouton de langue (1.2.10) */
.lfc-langue{display:inline-flex;align-items:center;justify-content:center;margin-left:1rem;min-width:2.3rem;height:2.3rem;padding:0 .5rem;border:2px solid currentColor;border-radius:999px;font-weight:800;font-size:.78rem;letter-spacing:.05em;text-decoration:none;color:inherit}
.lfc-langue:hover{background:var(--lfc-rouge);border-color:var(--lfc-rouge);color:#fff}
.lfc-en-note{font-size:.9rem;font-style:italic;opacity:.85;margin:0 0 1rem;padding:.6rem .9rem;border-left:3px solid var(--lfc-rouge);background:rgba(255,255,255,.6)}
