/* Liens : sélecteurs préfixés par « body » pour passer devant la couleur des liens du kit Elementor (.elementor-kit-N a) */
/* FIJA · blocs reliés — charte « Signal annuel ». Couleurs d'édition via --fija-c1 / --fija-c2. */
.fija-page, .fija-palmares, .fija-jurys, .fija-actus, .fija-liste, .fija-archives, .fija-inscription, .fija-programme, .fija-lieux, .fija-partenaires-bloc,
.fija-selection, .fija-appel, .fija-video, .fija-chiffres, .fija-chrono, .fija-explorer, .fija-faq, .fija-newsletter, .fija-carte, .fija-photos, .fija-rail, .fija-bandeau, .fija-equipe, .fija-article {
  --fija-fond: #0A0A0A; --fija-texte: #F2F2F2; --fija-gris: #8E8E8E; --fija-ligne: #2A2A2A;
  --fija-prix: #CF2225; /* rouge FIJA : réservé aux prix */
  --fija-c1: var(--fija-edition-1, #9B6BFF);
  color: var(--fija-texte); font-family: Inter, system-ui, sans-serif;
}
/* Règle générale (spécificité 0,1,2 grâce à :where, placée tôt : les règles de liens plus précises, plus bas, gardent la main ; elle bat la règle du kit, 0,1,1) : tout lien d'un bloc FIJA
   hérite de la couleur de son bloc, jamais de celle des liens du kit Elementor (.elementor-kit-N a, noire). */
body [class*="fija-"] a:where(:not(.fija-bouton):not(.fija-tampon__lien)) { color: inherit; }
body [class*="fija-"] a:where(:not(.fija-bouton):not(.fija-tampon__lien)):hover { color: var(--fija-c1, #9B6BFF); text-decoration-line: none; }
body .fija-page a, body .fija-palmares a, body .fija-jurys a, body .fija-actus a, body .fija-liste a, body .fija-archives a, body .fija-inscription a, body .fija-programme a, body .fija-lieux a, body .fija-partenaires-bloc a{ color: inherit; text-decoration: none; }
body .fija-palmares a:hover, body .fija-jurys a:hover{ color: var(--fija-c1); }
body .fija-palmares a:focus-visible, body .fija-jurys a:focus-visible, body .fija-actus a:focus-visible{ outline: 2px solid var(--fija-c1); outline-offset: 3px; }

/* Palmarès */
.fija-palmares__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 0; border-top: 1px solid var(--fija-ligne); }
.fija-prix { padding: 1.5rem 1.5rem 1.75rem 0; border-bottom: 1px solid var(--fija-ligne); display: flex; flex-direction: column; gap: .5rem; }
.fija-prix__nom { margin: 0; align-self: flex-start; background: var(--fija-prix); color: #fff; font: 700 .75rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; padding: .4rem .6rem; }
.fija-prix__laureat { margin: .25rem 0 0; font: 900 clamp(1.75rem, 3vw, 2.5rem)/.95 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-prix__film { margin: 0; color: var(--fija-gris); font-size: 1rem; }
body .fija-prix__film a{ color: var(--fija-texte); }
.fija-prix__mention { margin: 0; font: 500 .75rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-gris); }

/* Jurys */
.fija-jurys { display: flex; flex-direction: column; gap: 3rem; }
.fija-jury__titre { margin: 0 0 1.25rem; font: 700 .875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-c1); }
.fija-jury__nb { color: var(--fija-gris); }
.fija-jury__membres { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 11rem), 1fr)); gap: 1.5rem 1rem; }
.fija-membre { display: flex; flex-direction: column; gap: .35rem; }
.fija-membre__photo { margin: 0; position: relative; aspect-ratio: 4 / 5; background: #141414; overflow: hidden; }
.fija-membre__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); display: block; }
.fija-membre__photo figcaption { position: absolute; right: .35rem; bottom: .3rem; font-size: .625rem; color: #F5F0E8; text-shadow: 0 0 4px #000; }
.fija-membre__vide { display: block; width: 100%; height: 100%; }
.fija-membre__nom { margin: .25rem 0 0; font: 900 1.375rem/1 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-membre__role { margin: 0; font: 700 .6875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-c1); }

/* Actualités */
.fija-actus__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 2rem 1.5rem; }
.fija-actu__lien { display: flex; flex-direction: column; gap: .6rem; }
.fija-actu__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #141414; }
.fija-actu__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.fija-actu__lien:hover img { transform: scale(1.03); }
.fija-actu__date { font: 500 .75rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-gris); }
.fija-actu__titre { font: 600 1.125rem/1.35 Inter, sans-serif; }
.fija-actu__lien:hover .fija-actu__titre { color: var(--fija-c1); }

.fija-bloc__plus { margin: 1.5rem 0 0; font: 700 .8125rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; }

@media (prefers-reduced-motion: reduce) { .fija-actu__image img { transition: none; } }

/* ------------------------------------------------------------------ Fiches */
.fija-page { display: block; background: var(--fija-fond); padding: 0 5vw 6rem; }
.fija-fiche { max-width: 76rem; margin: 0 auto; }
body .fija-page a:hover{ color: var(--fija-c1); }
body .fija-page a:focus-visible{ outline: 2px solid var(--fija-c1); outline-offset: 3px; }
.fija-fil ol { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 1.25rem 0; font: 500 .75rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-gris); }
.fija-fil li + li::before { content: "/"; margin-right: .5rem; color: var(--fija-ligne); }
.fija-repere { margin: 0 0 .75rem; font: 700 .875rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-c1); }
.fija-fiche__titre { margin: .25rem 0 .75rem; font: 900 clamp(3rem, 7vw, 4rem)/.9 "Big Shoulders Display", sans-serif; text-transform: uppercase; color: var(--fija-texte); }
.fija-tampon { margin: 0 0 1rem; }
.fija-tampon__lien { display: inline-block; padding: .35rem .6rem; background: var(--fija-edition-1, var(--fija-c1)); color: #0A0A0A !important; font: 700 .75rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; box-shadow: .35rem .35rem 0 var(--fija-edition-2, transparent); }
.fija-badge-prix { display: inline-block; margin: 0 .4rem .4rem 0; padding: .35rem .55rem; background: var(--fija-prix); color: #fff; font: 700 .6875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.fija-bouton { display: inline-block; padding: .85rem 1.25rem; border: 1.5px solid var(--fija-texte); font: 700 .8125rem/1 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.fija-credit { font-size: .6875rem; color: #F5F0E8; }
.fija-enbref { margin: 2.5rem 0; padding: 1.25rem 1.5rem; border-left: 3px solid var(--fija-c1); background: #111; }
.fija-enbref__titre { margin: 0 0 .4rem; font: 700 .75rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-c1); }
.fija-enbref p:last-child { margin: 0; font-size: 1.0625rem; line-height: 1.55; }
.fija-section { padding: 3rem 0 0; margin-top: 3rem; border-top: 1px solid var(--fija-ligne); }
.fija-section__titre { margin: 0 0 1.5rem; font: 900 clamp(2rem, 4vw, 3rem)/.95 "Big Shoulders Display", sans-serif; text-transform: uppercase; color: var(--fija-texte); }
.fija-texte { max-width: 44rem; font-size: 1.0625rem; line-height: 1.65; }
.fija-texte p { margin: 0 0 1em; }
.fija-citation { margin: 0; max-width: 44rem; padding-left: 1.5rem; border-left: 3px solid var(--fija-c1); font-size: 1.125rem; line-height: 1.6; font-style: italic; }
.fija-citation footer { margin-top: .75rem; font: 700 .75rem/1.2 "Space Grotesk", sans-serif; font-style: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); }

/* Film */
.fija-film__entete { display: grid; grid-template-columns: minmax(0, 22rem) minmax(0, 1fr); gap: 3rem; align-items: end; padding-top: 1rem; }
.fija-film__affiche { margin: 0; aspect-ratio: 2 / 3; background: #141414; overflow: hidden; }
.fija-film__affiche img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fija-film__affiche-vide { display: block; width: 100%; height: 100%; }
.fija-film__original { margin: 0 0 .5rem; color: var(--fija-gris); font-style: italic; }
.fija-film__real { margin: 0 0 .5rem; font-size: 1.125rem; }
.fija-film__meta { margin: 0 0 1.25rem; font: 500 .8125rem/1.4 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-gris); }
.fija-seances { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 1rem; }
.fija-seance { padding: 1rem 1.25rem; background: #111; border-left: 3px solid var(--fija-c1); }
.fija-seance p { margin: 0 0 .25rem; }
.fija-seance__date { font: 700 .8125rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-c1); }
.fija-seance__titre { font-weight: 600; }
.fija-seance__lieu, .fija-seance__note, .fija-seance__films { color: var(--fija-gris); font-size: .9375rem; }
body .fija-seance__films a{ color: var(--fija-texte); }
.fija-seance__etat { font: 500 .6875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); }
.fija-tableau { width: 100%; max-width: 44rem; border-collapse: collapse; }
.fija-tableau th, .fija-tableau td { text-align: left; vertical-align: top; padding: .7rem 0; border-bottom: 1px solid var(--fija-ligne); }
.fija-tableau th { width: 38%; font: 700 .75rem/1.4 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); padding-right: 1rem; }
.fija-galerie { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: .75rem; }
.fija-galerie li { position: relative; }
.fija-galerie img { width: 100%; height: auto; display: block; }
.fija-galerie .fija-credit { position: absolute; right: .4rem; bottom: .3rem; text-shadow: 0 0 4px #000; }
.fija-cartes-films { list-style: none; margin: 0 0 2.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 11rem), 1fr)); gap: 1.5rem 1rem; }
.fija-carte-film { display: flex; flex-direction: column; gap: .35rem; }
.fija-carte-film__visuel { display: block; aspect-ratio: 2 / 3; background: #141414; overflow: hidden; }
.fija-carte-film__visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fija-carte-film__vide { display: block; width: 100%; height: 100%; }
.fija-carte-film p { margin: 0; }
.fija-carte-film__prix { align-self: flex-start; background: var(--fija-prix); color: #fff; font: 700 .625rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: .25rem .4rem; }
.fija-carte-film__titre { font: 900 1.25rem/1 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-carte-film__real { color: var(--fija-gris); font-size: .875rem; }
.fija-liens { list-style: none; margin: 3rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font: 700 .75rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
body .fija-liens a{ border-bottom: 1px solid var(--fija-ligne); padding-bottom: .2rem; }

/* Talent */
.fija-talent__entete { display: grid; grid-template-columns: minmax(0, 22rem) minmax(0, 1fr); gap: 3rem; align-items: end; padding-top: 1rem; }
.fija-talent__photo { margin: 0; position: relative; aspect-ratio: 4 / 5; background: #141414; overflow: hidden; }
.fija-talent__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); display: block; }
.fija-talent__photo figcaption { position: absolute; right: .5rem; bottom: .4rem; text-shadow: 0 0 4px #000; }
.fija-etiquettes { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fija-etiquettes li { padding: .35rem .6rem; border: 1px solid var(--fija-c1); color: var(--fija-c1); font: 700 .6875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.fija-frise { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--fija-ligne); }
.fija-frise__annee { position: relative; padding: 0 0 2rem 1.75rem; }
.fija-frise__annee::before { content: ""; position: absolute; left: -7px; top: .35rem; width: 12px; height: 12px; background: var(--fija-c1); }
.fija-frise__date { margin: 0 0 .5rem; font: 900 1.75rem/1 "Big Shoulders Display", sans-serif; }
.fija-frise ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }

/* Édition */
.fija-edition__entete { position: relative; padding: 3rem 0 2rem; overflow: hidden; }
.fija-edition__trame { position: absolute; inset: 0 -5vw auto; height: 5rem; opacity: .9; pointer-events: none;
  background-image: radial-gradient(var(--fija-edition-1, #9B6BFF) 30%, transparent 32%), radial-gradient(var(--fija-edition-2, #FF4FA3) 30%, transparent 32%);
  background-size: 10px 10px, 10px 10px; background-position: 0 0, 5px 5px;
  -webkit-mask-image: linear-gradient(#000, transparent); mask-image: linear-gradient(#000, transparent); }
.fija-edition__entete .fija-repere { position: relative; margin-top: 2.5rem; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-edition__affiche { margin: 1.5rem 0 0; max-width: 22rem; }
.fija-edition__affiche img { width: 100%; height: auto; display: block; }
.fija-sousnav { position: sticky; top: 0; z-index: 5; background: var(--fija-fond); border-bottom: 1px solid var(--fija-ligne); }
.fija-sousnav ul { list-style: none; margin: 0; padding: .9rem 0; display: flex; gap: 1.5rem; overflow-x: auto; font: 700 .8125rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.fija-chiffres { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-wrap: wrap; gap: 2.5rem; }
.fija-chiffres li { display: flex; flex-direction: column; gap: .25rem; }
.fija-chiffre__valeur { font: 900 4rem/.9 "Big Shoulders Display", sans-serif; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-chiffre__libelle { font: 500 .8125rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-gris); }
.fija-chrono { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; max-width: 44rem; }
.fija-chrono time { display: inline-block; min-width: 9rem; font: 700 .75rem/1.4 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-partenaires { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; align-items: center; }
.fija-partenaires img { max-height: 3rem; width: auto; display: block; }

@media (max-width: 767px) {
  .fija-page { padding: 0 1rem 7rem; }
  .fija-film__entete, .fija-talent__entete { grid-template-columns: 1fr; gap: 1.5rem; }
  .fija-film__affiche, .fija-talent__photo { max-width: 20rem; }
}
/* Visuel type « Signal » (fiche sans photo ni affiche) */
.fija-visuel-type { position: relative; display: block; width: 100%; height: 100%; background: #141414; overflow: hidden; container-type: inline-size; }
.fija-visuel-type::before { content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(var(--vt-1) 34%, transparent 36%), radial-gradient(var(--vt-2) 34%, transparent 36%);
  background-size: 9px 9px, 9px 9px; background-position: var(--vt-x) var(--vt-y), calc(var(--vt-x) + 4.5px) calc(var(--vt-y) + 4.5px);
  -webkit-mask-image: linear-gradient(to top, #000 0%, rgba(0,0,0,.55) calc(var(--vt-haut) * .5), transparent var(--vt-haut));
          mask-image: linear-gradient(to top, #000 0%, rgba(0,0,0,.55) calc(var(--vt-haut) * .5), transparent var(--vt-haut)); }
.fija-visuel-type__initiales { position: absolute; left: 9%; top: 8%; font: 900 42cqw/.85 "Big Shoulders Display", Impact, sans-serif; color: #F2F2F2; letter-spacing: -.01em; }
.fija-visuel-type__titre { position: absolute; left: 8%; right: 8%; top: 7%; font: 900 15cqw/.9 "Big Shoulders Display", Impact, sans-serif; text-transform: uppercase; color: #F2F2F2; overflow-wrap: anywhere; }
.fija-visuel-type__marque { position: absolute; left: 8%; bottom: 5%; font: 700 5.5cqw/1 "Space Grotesk", sans-serif; letter-spacing: .1em; color: var(--vt-1); }

body /* ------------------------------------------------------------------ Listes */
.fija-liste a:hover, body .fija-archives a:hover{ color: var(--fija-c1); }
body .fija-liste a:focus-visible, body .fija-archives a:focus-visible{ outline: 2px solid var(--fija-c1); outline-offset: 3px; }
.fija-filtres { display: flex; flex-direction: column; gap: .75rem; margin: 0 0 1.5rem; }
.fija-filtre { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.fija-filtre__titre { min-width: 5.5rem; font: 700 .6875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-gris); }
.fija-filtre ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .4rem; overflow-x: auto; }
body .fija-filtre a{ display: inline-block; white-space: nowrap; padding: .45rem .7rem; border: 1px solid var(--fija-ligne); font: 700 .75rem/1 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
body .fija-filtre a[aria-current="true"]{ background: var(--fija-c1); border-color: var(--fija-c1); color: #0A0A0A; }
.fija-liste__compte { margin: 0 0 1.25rem; font: 500 .8125rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-gris); }
.fija-pagination ul { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; font: 700 .8125rem/1 "Space Grotesk", sans-serif; }
body .fija-pagination a, .fija-pagination span { display: inline-block; min-width: 2.5rem; padding: .7rem .8rem; text-align: center; border: 1px solid var(--fija-ligne); }
.fija-pagination span[aria-current] { background: var(--fija-c1); border-color: var(--fija-c1); color: #0A0A0A; }
.fija-az ul { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
body .fija-az a{ display: inline-block; min-width: 2rem; padding: .45rem 0; text-align: center; font: 900 1.25rem/1 "Big Shoulders Display", sans-serif; }
.fija-az__groupe { padding-top: 1rem; border-top: 1px solid var(--fija-ligne); margin-bottom: 1.5rem; scroll-margin-top: 4rem; }
.fija-az__lettre { margin: 0 0 .75rem; font: 900 2.5rem/1 "Big Shoulders Display", sans-serif; color: var(--fija-c1); }
.fija-talents { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: .75rem 1.5rem; }
.fija-talents li { display: flex; flex-direction: column; gap: .1rem; }
.fija-talents__nom { font: 900 1.25rem/1.05 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-talents__role { font-size: .8125rem; color: var(--fija-gris); }
.fija-archives { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; }
.fija-archive { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 1.5rem; padding: 1.5rem 0; border-top: 1px solid var(--fija-ligne); }
.fija-archive__visuel { aspect-ratio: 2 / 3; background: #141414; overflow: hidden; }
.fija-archive__visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fija-archive .fija-repere { color: var(--fija-edition-1, var(--fija-c1)); }
.fija-archive__titre { margin: 0 0 .4rem; font: 900 clamp(2.25rem, 5vw, 3.5rem)/.9 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-archive__meta, .fija-archive__comptes { margin: 0 0 .6rem; font: 500 .8125rem/1.4 "Space Grotesk", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--fija-gris); }
.fija-archive__laureat { margin: 0 0 .6rem; }
@media (max-width: 767px) { .fija-archive { grid-template-columns: 7rem 1fr; gap: 1rem; } }

/* ------------------------------------------------------------------ Pages pratiques */
.fija-boutons { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem; }
.fija-bouton--plein { background: var(--fija-edition-1, var(--fija-c1)); border-color: var(--fija-edition-1, var(--fija-c1)); color: #0A0A0A !important; }
.fija-bouton:hover { border-color: var(--fija-c1); }
.fija-inscription__choix { margin: 1.5rem 0 .75rem; font: 700 .75rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-gris); }
.fija-calendrier { list-style: none; margin: 0 0 2.5rem; padding: 0; max-width: 44rem; border-top: 1px solid var(--fija-ligne); }
.fija-calendrier li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--fija-ligne); }
.fija-calendrier__etape { font-weight: 600; }
.fija-calendrier__date { font: 700 .8125rem/1.4 "Space Grotesk", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--fija-edition-1, var(--fija-c1)); text-align: right; }
.fija-calendrier__date--vide { color: var(--fija-gris); }
.fija-direct { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 1rem; padding: .45rem .75rem; background: var(--fija-edition-1, var(--fija-c1)); color: #0A0A0A; font: 700 .75rem/1 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.fija-direct__point { width: .5rem; height: .5rem; border-radius: 50%; background: #0A0A0A; animation: fija-pouls 1.4s infinite; }
@keyframes fija-pouls { 50% { opacity: .2; } }
@media (prefers-reduced-motion: reduce) { .fija-direct__point { animation: none; } }
.fija-vide { color: var(--fija-gris); font-size: 1.0625rem; }
.fija-lieux { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 2rem 1.5rem; }
.fija-lieu { padding-top: 1rem; border-top: 1px solid var(--fija-ligne); }
.fija-lieu__photo { margin: 0 0 1rem; position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #141414; }
.fija-lieu__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fija-lieu__photo figcaption { position: absolute; right: .4rem; bottom: .3rem; text-shadow: 0 0 4px #000; }
.fija-lieu__nom { margin: 0 0 .4rem; font: 900 1.75rem/1 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-lieu__adresse { margin: 0 0 .6rem; }
.fija-lieu__info { margin: 0 0 .4rem; color: var(--fija-gris); font-size: .9375rem; }
.fija-lieu .fija-boutons { margin: 1rem 0 0; }
.fija-lieu .fija-bouton { padding: .6rem .9rem; font-size: .6875rem; }
.fija-partenaire__nom { font: 700 .875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .06em; text-transform: uppercase; }

/* ------------------------------------------------------------------ 0.5 : densité, équipe, partenaires */
.fija-sous-titre { margin: 0 0 1rem; font: 700 .875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-archives { grid-template-columns: repeat(auto-fill, minmax(min(100%, 34rem), 1fr)); column-gap: 3rem; }
.fija-archive__titre { margin-top: 0; }
.fija-az__lettre { margin-top: 0; }
@media (min-width: 900px) {
  .fija-inscription { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); column-gap: 4rem; grid-auto-flow: dense; align-items: start; }
  .fija-inscription > .fija-repere { grid-column: 1 / -1; }
  .fija-inscription > .fija-inscription__choix, .fija-inscription > .fija-boutons, .fija-inscription > p:last-child { grid-column: 1; }
  .fija-inscription > .fija-inscription__cal, .fija-inscription > .fija-calendrier { grid-column: 2; }
  .fija-inscription .fija-boutons { flex-direction: column; align-items: flex-start; }
}
.fija-inscription > .fija-sous-titre { margin-top: 1.5rem; }
.fija-equipe { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 10rem), 1fr)); gap: 1.5rem 1rem; }
.fija-membre__fonction { margin: 0; font-size: .8125rem; line-height: 1.35; color: var(--fija-gris); }
.fija-partenaire__nom { display: inline-block; padding: .6rem 0; }
.fija-partenaires-bloc .fija-repere { margin-bottom: 1.25rem; }

body /* 0.5 · liens repérables dans les textes (pas seulement par la couleur) */
.fija-texte a, body .fija-enbref a, body .fija-citation a{ text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
body .fija-texte a:hover, body .fija-enbref a:hover{ text-decoration-thickness: 2px; }

/* 0.5.1 · logos partenaires en tuiles crème : couleurs d'origine, lisibles quel que soit le fichier (fond opaque, logo blanc…) */
.fija-partenaires { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: .75rem; }
.fija-partenaires li { background: #F5F0E8; border-radius: 4px; aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; padding: .9rem 1.1rem; }
body .fija-partenaires li > a, .fija-partenaires li > span { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.fija-partenaires img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.fija-partenaires li .fija-partenaire__nom { color: #0A0A0A; text-align: center; padding: 0; }
body .fija-partenaires a{ transition: transform .2s; }
body .fija-partenaires a:hover, body .fija-partenaires a:focus-visible{ transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { body .fija-partenaires a{ transition: none; } body .fija-partenaires a:hover{ transform: none; } }

/* 0.5.2 · portraits : noir et blanc au repos, couleur au survol, au focus clavier et au toucher */
.fija-membre__photo img, .fija-talent__photo img { transition: filter .45s ease; }
.fija-membre:hover .fija-membre__photo img, .fija-membre:focus-within .fija-membre__photo img, .fija-membre:active .fija-membre__photo img,
.fija-talent__photo:hover img { filter: grayscale(0); }
@media (prefers-reduced-motion: reduce) { .fija-membre__photo img, .fija-talent__photo img { transition: none; } }

/* ------------------------------------------------------------------ 0.6 : articles */
.fija-visuel-type--paysage .fija-visuel-type__titre { font-size: 8.5cqw; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.fija-visuel-type--paysage .fija-visuel-type__marque { font-size: 3.6cqw; }
.fija-actu__image .fija-visuel-type { height: 100%; }
.fija-actu__titre { margin: 0; }
h2.fija-actu__titre, h3.fija-actu__titre { font: 600 1.125rem/1.35 Inter, sans-serif; color: var(--fija-texte); }

.fija-article { max-width: 72rem; margin: 0 auto; }
.fija-article__entete { max-width: 52rem; padding: 1rem 0 2rem; }
.fija-article__titre { font-size: clamp(2.5rem, 6vw, 4.5rem); text-wrap: balance; }
.fija-article__chapo { margin: 1rem 0 0; font-size: 1.25rem; line-height: 1.5; color: #CFCFCF; max-width: 44rem; }
.fija-article__une { margin: 0 0 2.5rem; }
.fija-article__une img { width: 100%; max-height: 70vh; object-fit: cover; display: block; }
.fija-credit { display: block; margin-top: .5rem; font: 500 .75rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .06em; color: var(--fija-gris); }

/* Corps : le contenu mis en page dans Elementor est « rhabillé » aux couleurs v2 (les réglages d'origine sont écrasés) */
.fija-article__corps { max-width: 44rem; }
.fija-article__corps .elementor, .fija-article__corps .e-con, .fija-article__corps .e-con-inner, .fija-article__corps .elementor-widget-container { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --content-width: 100%; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.fija-article__corps .e-con { --gap: 1.25rem; padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 0 1.25rem !important; background: none !important; }
.fija-article__corps, .fija-article__corps p, .fija-article__corps li, .fija-article__corps .elementor-widget-text-editor { color: var(--fija-texte) !important; font-family: Inter, system-ui, sans-serif !important; font-size: 1.0625rem !important; line-height: 1.7 !important; text-align: left !important; }
.fija-article__corps strong, .fija-article__corps b { font-weight: 600; color: #fff; }
.fija-article__corps h2, .fija-article__corps h2.elementor-heading-title { margin: 2.5rem 0 1rem !important; font: 900 clamp(1.75rem, 3.5vw, 2.5rem)/1 "Big Shoulders Display", sans-serif !important; text-transform: uppercase; color: var(--fija-texte) !important; text-align: left !important; }
.fija-article__corps h3, .fija-article__corps h4, .fija-article__corps .elementor-heading-title { margin: 2rem 0 .75rem !important; font: 700 1rem/1.3 "Space Grotesk", sans-serif !important; letter-spacing: .1em !important; text-transform: uppercase; color: var(--fija-c1) !important; text-align: left !important; }
body .fija-article__corps a:not(.elementor-button){ color: var(--fija-texte) !important; text-decoration: underline; text-decoration-color: var(--fija-c1); text-underline-offset: .2em; }
body .fija-article__corps a:not(.elementor-button):hover{ color: var(--fija-c1) !important; }
.fija-article__corps ul, .fija-article__corps ol { padding-left: 1.25rem; margin: 0 0 1.25rem; }
.fija-article__corps li::marker { color: var(--fija-c1); }
.fija-article__corps hr { border: 0; border-top: 1px solid var(--fija-ligne); margin: 2.5rem 0; }
.fija-article__corps img { max-width: 100%; height: auto; }
.fija-article__corps figure { margin: 1.5rem 0; }
.fija-article__corps figcaption, .fija-article__corps .widget-image-caption { font: 500 .75rem/1.4 "Space Grotesk", sans-serif !important; letter-spacing: .06em; color: var(--fija-gris) !important; margin-top: .5rem; }
.fija-article__corps iframe, .fija-article__corps video, .fija-article__corps .elementor-video { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; border: 0; display: block; background: #111; }
.fija-article__corps .elementor-wrapper { aspect-ratio: 16 / 9; }
/* Boutons Elementor → bouton FIJA */
.fija-article__corps .elementor-widget-button { margin: .25rem 0 !important; }
.fija-article__corps .elementor-button { display: inline-flex !important; align-items: center; padding: .85rem 1.25rem !important; background: transparent !important; border: 1.5px solid var(--fija-texte) !important; border-radius: 0 !important; color: var(--fija-texte) !important; font: 700 .8125rem/1 "Space Grotesk", sans-serif !important; letter-spacing: .11em !important; text-transform: uppercase !important; box-shadow: none !important; transition: background .2s, color .2s; }
.fija-article__corps .elementor-button:hover, .fija-article__corps .elementor-button:focus-visible { background: var(--fija-texte) !important; color: var(--fija-fond) !important; }
.fija-article__corps .elementor-button-icon svg { fill: currentColor; width: 1em; }
/* Galeries : grille régulière */
.fija-article__corps .elementor-image-gallery .gallery { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); gap: .5rem; margin: 1.5rem 0 !important; }
.fija-article__corps .elementor-image-gallery .gallery-item { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.fija-article__corps .elementor-image-gallery .gallery-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 0 !important; display: block; }
.fija-article__corps .gallery br { display: none; }
/* Galeries et carrousels : peuvent déborder de la colonne de texte */
.fija-article__corps .elementor-widget-image-gallery, .fija-article__corps .elementor-widget-image-carousel, .fija-article__corps .elementor-widget-gallery { max-width: 72rem; width: min(72rem, 90vw) !important; }

.fija-article__cites { grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); }
.fija-partage { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin: 3rem 0; padding: 1.25rem 0; border-top: 1px solid var(--fija-ligne); border-bottom: 1px solid var(--fija-ligne); }
.fija-partage ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
body .fija-partage a{ display: inline-block; padding: .55rem .8rem; border: 1px solid var(--fija-ligne); font: 700 .75rem/1 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
body .fija-partage a:hover{ border-color: var(--fija-c1); }
@media (max-width: 40rem) { .fija-article__chapo { font-size: 1.125rem; } }

/* 0.6.1 · « FIJA année » des visuels types (films, articles) : étiquette pleine, lisible sur la trame */
.fija-visuel-type__marque { left: 8%; bottom: 8%; padding: .35em .55em .3em; background: #0A0A0A; color: var(--vt-1); font-weight: 700; letter-spacing: .12em; line-height: 1; z-index: 2; box-shadow: .25em .25em 0 var(--vt-2); }
.fija-visuel-type--affiche .fija-visuel-type__marque { font-size: 7cqw; }
.fija-visuel-type--paysage .fija-visuel-type__marque { font-size: 5cqw; }
.fija-visuel-type--portrait .fija-visuel-type__marque { font-size: 8cqw; }

/* ------------------------------------------------------------------ 0.7 : accueil (appel, sélection, vidéo, jurys courts) */
.fija-appel__faits { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); border-top: 1px solid var(--fija-ligne); }
.fija-appel__faits li { padding: 1rem 1.25rem 1rem 0; border-bottom: 1px solid var(--fija-ligne); display: flex; flex-direction: column; gap: .35rem; }
.fija-appel__faits span { font: 700 .6875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-gris); }
.fija-appel__faits strong { font: 900 1.75rem/1 "Big Shoulders Display", sans-serif; text-transform: uppercase; color: var(--fija-texte); }
.fija-appel__choix { margin: 0 0 1rem; color: var(--fija-texte); }
.fija-boutons { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem; }
body .fija-appel .fija-bouton--plein, body .fija-page .fija-bouton--plein { background: var(--fija-c1); border-color: var(--fija-c1); color: #0A0A0A; }
body .fija-appel .fija-bouton--plein:hover { background: var(--fija-texte); border-color: var(--fija-texte); color: #0A0A0A; }
body .fija-selection a.fija-bouton:hover, body .fija-appel a.fija-bouton:hover { background: var(--fija-texte); color: #0A0A0A; }
.fija-selection__films { margin-bottom: 2rem; }
.fija-selection, .fija-appel, .fija-video, .fija-jurys--compact { color: var(--fija-texte); font-family: Inter, system-ui, sans-serif; }
body .fija-selection a, body .fija-appel a, body .fija-jurys--compact a { color: inherit; text-decoration: none; }
body .fija-selection .fija-carte-film__titre a:hover, body .fija-jurys--compact .fija-jury-court__autres a:hover { color: var(--fija-c1); }
.fija-jurys__grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 2.5rem 2rem; }
.fija-jury-court .fija-membre { max-width: 12rem; }
.fija-jury-court__autres { margin: .75rem 0 0; color: #CFCFCF; font-size: .9375rem; line-height: 1.55; }
.fija-video { max-width: 64rem; }
.fija-video__lancer { position: relative; display: flex; align-items: flex-end; width: 100%; aspect-ratio: 16 / 9; padding: 1.5rem; border: 1px solid var(--fija-ligne); background: #111; color: var(--fija-texte); cursor: pointer; overflow: hidden; text-align: left; font: inherit; }
.fija-video__lancer .fija-edition__trame { position: absolute; inset: auto 0 0 0; height: 55%; }
.fija-video__play { position: absolute; left: 50%; top: 50%; width: 5.5rem; height: 5.5rem; margin: -2.75rem 0 0 -2.75rem; border-radius: 50%; background: var(--fija-c1); transition: transform .2s; }
.fija-video__play::after { content: ""; position: absolute; left: 2.15rem; top: 1.6rem; border-left: 1.9rem solid #0A0A0A; border-top: 1.15rem solid transparent; border-bottom: 1.15rem solid transparent; }
.fija-video__lancer:hover .fija-video__play, .fija-video__lancer:focus-visible .fija-video__play { transform: scale(1.08); }
.fija-video__lancer:focus-visible { outline: 2px solid var(--fija-c1); outline-offset: 3px; }
.fija-video__texte { position: relative; font: 700 .875rem/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; background: #0A0A0A; padding: .45rem .65rem; }
.fija-video__cadre { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; background: #000; }
.fija-video__note { margin: .6rem 0 0; font: 500 .75rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .06em; color: var(--fija-gris); }
@media (prefers-reduced-motion: reduce) { .fija-video__play { transition: none; } }

/* ------------------------------------------------------------------ 0.8 : rails, chiffres, chronologie, explorer, FAQ, photos, recherche */
:root { --fija-gouttiere: 5vw; }
@media (max-width: 767px) { :root { --fija-gouttiere: 1rem; } }
/* Rail : la piste déborde jusqu'au bord droit de l'écran (dans la marge de la section), sans barre de défilement horizontale de page */
.fija-rail { position: relative; }
.fija-rail__piste { list-style: none; margin: 0 calc(-1 * var(--fija-gouttiere)) 0 0; padding: 0 var(--fija-gouttiere) .5rem 0; display: flex; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-left: 0; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.fija-rail__piste::-webkit-scrollbar { display: none; }
.fija-rail__piste:focus-visible { outline: 2px solid var(--fija-c1); outline-offset: 4px; }
.fija-rail__piste > li { flex: 0 0 auto; scroll-snap-align: start; }
.fija-rail--films .fija-rail__piste > li { width: clamp(10rem, 17vw, 14rem); }
.fija-rail--portraits .fija-rail__piste > li { width: clamp(9rem, 14vw, 12rem); }
.fija-rail--actus .fija-rail__piste > li { width: clamp(16rem, 28vw, 22rem); }
.fija-rail--photos .fija-rail__piste > li { width: auto; height: clamp(12rem, 26vw, 20rem); }
.fija-rail--photos img { height: 100%; width: auto; max-width: none; display: block; object-fit: cover; }
.fija-photo { position: relative; }
.fija-photo .fija-credit { position: absolute; left: .5rem; bottom: .4rem; margin: 0; padding: .15rem .4rem; background: rgba(10,10,10,.75); color: #F2F2F2; }
.fija-rail__nav { display: flex; gap: .5rem; justify-content: flex-end; margin-top: 1rem; }
.fija-rail__nav[hidden] { display: none; }
.fija-rail__btn { width: 2.75rem; height: 2.75rem; border: 1.5px solid var(--fija-texte); background: transparent; color: var(--fija-texte); font: 700 1.1rem/1 "Space Grotesk", sans-serif; cursor: pointer; transition: background .2s, color .2s; }
.fija-rail__btn:hover:not(:disabled), .fija-rail__btn:focus-visible { background: var(--fija-texte); color: #0A0A0A; }
.fija-rail__btn:disabled { opacity: .3; cursor: default; }
@media (prefers-reduced-motion: reduce) { .fija-rail__btn { transition: none; } }

.fija-chiffres { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); border-top: 1px solid var(--fija-ligne); color: var(--fija-texte); }
.fija-chiffres li { padding: 1.5rem 1.25rem 1.5rem 0; border-bottom: 1px solid var(--fija-ligne); display: flex; flex-direction: column; gap: .4rem; }
.fija-chiffres strong { font: 900 clamp(3rem, 6vw, 4.5rem)/.85 "Big Shoulders Display", sans-serif; color: var(--fija-c1); }
.fija-chiffres span { font: 700 .75rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); }

.fija-chrono { list-style: none; margin: 0; padding: 0; color: var(--fija-texte); font-family: Inter, system-ui, sans-serif; }
.fija-chrono__ed { display: grid; grid-template-columns: minmax(6rem, 12rem) 1fr; gap: 1.5rem 2.5rem; padding: 2rem 0; border-top: 1px solid var(--fija-ligne); position: relative; }
.fija-chrono__ed::before { content: ""; position: absolute; left: 0; top: -1px; width: 4rem; height: 3px; background: var(--fija-edition-1, var(--fija-c1)); box-shadow: 4rem 0 0 var(--fija-edition-2, transparent); }
.fija-chrono__annee { margin: 0; font: 900 clamp(3rem, 7vw, 5.5rem)/.85 "Big Shoulders Display", sans-serif; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-chrono__faits { margin: 0 0 1rem; font: 700 1.25rem/1.3 "Space Grotesk", sans-serif; }
.fija-chrono__etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fija-chrono__etapes li { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1rem; font-size: .9375rem; line-height: 1.5; color: #CFCFCF; }
.fija-chrono__etapes time { font: 700 .75rem/1.6 "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--fija-gris); }
@media (max-width: 40rem) { .fija-chrono__ed { grid-template-columns: 1fr; } .fija-chrono__etapes li { grid-template-columns: 1fr; gap: .1rem; } }

.fija-explorer { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.fija-explorer li > a, .fija-explorer li > span { position: relative; display: flex; flex-direction: column; gap: .4rem; min-height: 11rem; padding: 1.5rem; background: #121212; border: 1px solid var(--fija-ligne); color: var(--fija-texte); transition: border-color .2s, background .2s; }
.fija-explorer li > a:hover, .fija-explorer li > a:focus-visible { border-color: var(--fija-c1); background: #171717; }
.fija-explorer strong { font: 900 3.5rem/.85 "Big Shoulders Display", sans-serif; color: var(--fija-c1); }
.fija-explorer__titre { font: 900 1.75rem/1 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-explorer__texte { color: var(--fija-gris); font-size: .9375rem; }
.fija-explorer__fleche { position: absolute; right: 1.25rem; top: 1.25rem; font: 700 1.25rem/1 "Space Grotesk", sans-serif; color: var(--fija-c1); }

.fija-faq { max-width: 52rem; border-top: 1px solid var(--fija-ligne); color: var(--fija-texte); font-family: Inter, system-ui, sans-serif; }
.fija-faq__item { border-bottom: 1px solid var(--fija-ligne); }
.fija-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; font: 700 1.125rem/1.35 "Space Grotesk", sans-serif; }
.fija-faq__item summary::-webkit-details-marker { display: none; }
.fija-faq__item summary::after { content: "+"; color: var(--fija-c1); font-size: 1.5rem; line-height: 1; }
.fija-faq__item[open] summary::after { content: "–"; }
.fija-faq__item summary:focus-visible { outline: 2px solid var(--fija-c1); outline-offset: 3px; }
.fija-faq__item p { margin: 0 0 1.25rem; max-width: 46rem; line-height: 1.65; color: #CFCFCF; }

.fija-recherche { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0 0 1.5rem; max-width: 40rem; }
.fija-recherche input[type="search"] { flex: 1 1 16rem; min-height: 3rem; padding: .75rem 1rem; background: #121212; border: 1.5px solid var(--fija-ligne); border-radius: 0; color: var(--fija-texte); font: 1rem Inter, system-ui, sans-serif; }
.fija-recherche input[type="search"]:focus { outline: none; border-color: var(--fija-c1); }
body .fija-liste .fija-recherche .fija-bouton { min-height: 3rem; background: transparent; color: var(--fija-texte); cursor: pointer; }
body .fija-liste .fija-recherche__effacer { font: 700 .75rem/1 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); text-decoration: underline; }

.fija-actu--une { grid-column: 1 / -1; }
.fija-actu--une .fija-actu__lien { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: .75rem 2rem; align-items: end; }
.fija-actu--une .fija-actu__image { grid-row: 1 / span 4; }
.fija-actu--une .fija-actu__titre { font: 900 clamp(2rem, 4vw, 3.25rem)/.95 "Big Shoulders Display", sans-serif !important; text-transform: uppercase; }
.fija-actu__extrait { color: #CFCFCF; line-height: 1.55; }
@media (max-width: 47rem) { .fija-actu--une .fija-actu__lien { grid-template-columns: 1fr; } .fija-actu--une .fija-actu__image { grid-row: auto; } }
.fija-membre__role--prix { color: var(--fija-prix); }

/* 0.8.1 · photos : la hauteur du rail s'applique bien à l'image ; équipe : pas d'année sur les visuels (ce sont des rôles permanents) */
.fija-rail--photos .fija-rail__piste > li > a { display: block; height: 100%; }
.fija-rail--photos img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
.fija-equipe .fija-visuel-type__marque { display: none; }
/* chiffres : 2 par ligne sur mobile (moins de vide), 5 sur une ligne en grand écran */
@media (max-width: 40rem) { .fija-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fija-chiffres li { padding-right: .75rem; } }
@media (min-width: 64rem) { .fija-chiffres { grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); } }

/* 0.8.3 · carte des lieux */
.fija-carte { max-width: 72rem; }
.fija-carte__cadre { position: relative; aspect-ratio: 16 / 9; min-height: 18rem; border: 1px solid var(--fija-ligne); background: #111; overflow: hidden; }
.fija-carte__lancer { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 1.5rem; border: 0; background: #111; color: var(--fija-texte); cursor: pointer; font: inherit; text-align: left; }
.fija-carte__lancer .fija-edition__trame { position: absolute; inset: auto 0 0 0; height: 55%; }
.fija-carte__lancer:focus-visible { outline: 2px solid var(--fija-c1); outline-offset: -4px; }
.fija-carte__cadre--active { background: #ddd; }
.fija-carte .leaflet-popup-content { font: 400 .875rem/1.4 Inter, system-ui, sans-serif; color: #0A0A0A; }
@media (max-width: 40rem) { .fija-carte__cadre { aspect-ratio: 3 / 4; } }

/* 0.9 · newsletter */
.fija-newsletter { position: relative; max-width: 40rem; color: var(--fija-texte); font-family: Inter, system-ui, sans-serif; }
.fija-newsletter__texte { margin: 0 0 1rem; font-size: 1.0625rem; line-height: 1.55; }
.fija-newsletter__ligne { display: flex; flex-wrap: wrap; gap: .5rem; }
.fija-newsletter input[type="email"] { flex: 1 1 15rem; min-height: 3rem; padding: .75rem 1rem; background: #121212; border: 1.5px solid var(--fija-ligne); border-radius: 0; color: var(--fija-texte); font: 1rem Inter, system-ui, sans-serif; }
.fija-newsletter input[type="email"]:focus { outline: none; border-color: var(--fija-c1); }
body .fija-newsletter .fija-bouton--plein { min-height: 3rem; background: var(--fija-c1); border: 1.5px solid var(--fija-c1); color: #0A0A0A; cursor: pointer; }
body .fija-newsletter .fija-bouton--plein:hover, body .fija-newsletter .fija-bouton--plein:focus-visible { background: var(--fija-texte); border-color: var(--fija-texte); }
.fija-newsletter__note { margin: .6rem 0 0; font: 500 .75rem/1.45 "Space Grotesk", sans-serif; letter-spacing: .03em; color: var(--fija-gris); }
body .fija-newsletter__note a { color: inherit; text-decoration: underline; }
.fija-article__newsletter { margin: 3rem 0 0; padding: 2rem; background: #121212; border-top: 3px solid var(--fija-c1); max-width: 52rem; }
.fija-article__newsletter-titre { margin: 0 0 1rem; font: 900 clamp(1.75rem, 3.5vw, 2.5rem)/.95 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-newsletter__etat { margin: 0 0 .75rem; padding: .7rem .9rem; border-left: 3px solid var(--fija-c1); background: #151515; font-size: .9375rem; }
.fija-newsletter__etat--erreur { border-left-color: #FF4FA3; }

/* 0.9.2 · bandeau de pixels animé (moteur Signal) pour les pages sans visuel */
.fija-bandeau { position: relative; height: clamp(4.5rem, 10vw, 8rem); margin: 1.5rem calc(-1 * var(--fija-gouttiere)) 2rem; pointer-events: none; }
.fija-bandeau__trame { position: absolute; inset: 0; display: block; }
.fija-bandeau__trame canvas { display: block; width: 100%; height: 100%; }
.fija-article .fija-bandeau, .fija-fiche .fija-bandeau { margin-top: 0; }

/* ------------------------------------------------------------------ 0.9.4 : Signal partout */
/* Séparateurs : fine bande de pixels en haut des sections (se dessine à l'apparition) */
.fija-avec-sep { position: relative; }
.fija-sep { position: absolute; left: 0; right: 0; top: 0; height: clamp(1.75rem, 3vw, 2.75rem); pointer-events: none; z-index: 0; }
.fija-sep > span { position: absolute; inset: 0; display: block; }




/* 0.9.6 · boutons : même style que ceux du haut de l'accueil (contour blanc → rempli au survol ; plein violet pour l'action principale) */
body a.fija-bouton, body button.fija-bouton, body .fija-bouton {
  display: inline-flex; align-items: center; gap: .5rem; padding: .95rem 1.4rem; border: 1.5px solid #F2F2F2; border-radius: 0;
  background: transparent; color: #F2F2F2; font: 700 .8125rem/1 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
}
body a.fija-bouton:hover, body a.fija-bouton:focus-visible, body button.fija-bouton:hover, body button.fija-bouton:focus-visible { background: #F2F2F2; border-color: #F2F2F2; color: #0A0A0A; text-decoration: none !important; }
body a.fija-bouton--plein, body button.fija-bouton--plein, body .fija-bouton--plein { background: var(--fija-edition-1, #9B6BFF); border-color: var(--fija-edition-1, #9B6BFF); color: #0A0A0A !important; }
body a.fija-bouton--plein:hover, body a.fija-bouton--plein:focus-visible, body button.fija-bouton--plein:hover, body button.fija-bouton--plein:focus-visible { background: #F2F2F2; border-color: #F2F2F2; color: #0A0A0A !important; }
body .fija-bouton:focus-visible { outline: 2px solid var(--fija-edition-1, #9B6BFF); outline-offset: 3px; }
body .fija-lieu .fija-bouton { padding: .65rem .95rem; font-size: .6875rem; }
@media (prefers-reduced-motion: reduce) { body .fija-bouton { transition: none; } }
body .fija-bouton, body .fija-bouton:hover, body .fija-rail__btn, body .fija-filtre a, body .fija-pagination a, body .fija-partage a { text-decoration: none !important; }
/* puces de filtre, pagination, partage : survol lisible */
body .fija-filtre a:hover, body .fija-pagination a:hover, body .fija-partage a:hover { color: #F2F2F2; border-color: var(--fija-edition-1, #9B6BFF); }


/* ------------------------------------------------------------------ 0.9.7 : échelle typographique, tableaux, survols */
:root {
  --fija-t-repere: .8125rem;                      /* repères, étiquettes (Space Grotesk, capitales) */
  --fija-t-meta: .875rem;                         /* métadonnées */
  --fija-t-texte: 1.0625rem;                      /* texte courant */
  --fija-t-chapo: clamp(1.125rem, 1.5vw, 1.375rem);/* chapô, « en bref », réalisation */
  --fija-t-h3: clamp(1.375rem, 2.2vw, 1.75rem);   /* noms, sous-titres */
  --fija-t-h2: clamp(2.25rem, 4.6vw, 3.75rem);    /* titres de section */
  --fija-t-h1: clamp(3.25rem, 8.5vw, 7rem);       /* titre de fiche */
}
.fija-fiche__titre { font-size: var(--fija-t-h1); line-height: .86; margin: .5rem 0 1rem; text-wrap: balance; }
.fija-article__titre { font-size: clamp(2.75rem, 6.5vw, 5.5rem); }
.fija-section__titre { font-size: var(--fija-t-h2); margin-bottom: 1.75rem; }
.fija-repere, .fija-jury__titre, .fija-sous-titre, .fija-enbref__titre, .fija-filtre__titre, .fija-actu__date { font-size: var(--fija-t-repere); }
.fija-film__real { font-size: var(--fija-t-chapo); margin-bottom: .75rem; }
.fija-film__original { font-size: var(--fija-t-texte); }
.fija-film__meta { font-size: var(--fija-t-meta); }
.fija-enbref p:last-child, .fija-article__chapo { font-size: var(--fija-t-chapo); line-height: 1.5; }
.fija-texte, .fija-faq__item p { font-size: var(--fija-t-texte); }
.fija-membre__nom { font-size: clamp(1.25rem, 1.8vw, 1.5rem); }
.fija-carte-film__titre { font-size: clamp(1.25rem, 1.6vw, 1.5rem); }
.fija-film__entete, .fija-talent__entete { grid-template-columns: minmax(0, 24rem) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); }
.fija-film__titres, .fija-talent__titres { padding-bottom: .5rem; }

/* Tableaux (fiche technique…) : lignes fines, pas de quadrillage ni de zébrures du thème */
body .fija-tableau { width: 100%; max-width: 52rem; border-collapse: collapse; border: 0; border-top: 1px solid var(--fija-ligne); margin: 0; }
body .fija-tableau tr { border-bottom: 1px solid var(--fija-ligne); }
body .fija-tableau th, body .fija-tableau td, body .fija-tableau tbody > tr:nth-child(odd) > td, body .fija-tableau tbody > tr:nth-child(odd) > th { border: 0; background: transparent; vertical-align: baseline; }
body .fija-tableau th { width: 11rem; padding: 1.05rem 1.5rem 1.05rem 0; font: 700 var(--fija-t-repere)/1.4 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); }
body .fija-tableau td { padding: 1.05rem 0; font-size: var(--fija-t-texte); line-height: 1.5; color: var(--fija-texte); }
@media (max-width: 40rem) {
  body .fija-tableau th, body .fija-tableau td { display: block; width: auto; }
  body .fija-tableau th { padding: 1rem 0 .2rem; }
  body .fija-tableau td { padding: 0 0 1rem; }
}

/* Survols : jamais de soulignement ni de couleur du thème sur les cartes, noms et boutons Elementor */
body .fija-texte a:hover, body .fija-enbref a:hover, body .fija-citation a:hover { text-decoration-line: underline; }
body .e-button-base, body .e-button-base:hover, body a.e-button:hover { text-decoration: none !important; }

/* 0.9.7 · pleine largeur et éléments plus grands sur grand écran (demande Benjamin) */
:root {
  --fija-t-repere: clamp(.8125rem, .72rem + .2vw, .9375rem);
  --fija-t-meta: clamp(.875rem, .78rem + .22vw, 1rem);
  --fija-t-texte: clamp(1.0625rem, .92rem + .32vw, 1.25rem);
}
body main.fija-page, body .site-main.fija-page { max-width: none; width: 100%; margin: 0; }
.fija-fiche, .fija-article { max-width: none; }
.fija-article__entete { max-width: 64rem; }
.fija-texte, .fija-article__corps, .fija-citation, .fija-faq__item p { max-width: 48rem; }
.fija-film__entete, .fija-talent__entete { grid-template-columns: minmax(0, clamp(18rem, 26vw, 30rem)) minmax(0, 1fr); }
.fija-cartes-films { grid-template-columns: repeat(auto-fill, minmax(min(46%, clamp(11rem, 13vw, 16rem)), 1fr)); gap: 2rem 1.25rem; }
.fija-jury__membres { grid-template-columns: repeat(auto-fill, minmax(clamp(9rem, 11vw, 13rem), 1fr)); }
.fija-rail--films .fija-rail__piste > li { width: clamp(11rem, 16vw, 20rem); }
.fija-rail--portraits .fija-rail__piste > li { width: clamp(10rem, 13vw, 16rem); }
.fija-rail--actus .fija-rail__piste > li { width: clamp(17rem, 27vw, 28rem); }
.fija-rail--photos .fija-rail__piste > li { height: clamp(13rem, 28vw, 26rem); }
.fija-actus__liste { grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(18rem, 24vw, 26rem)), 1fr)); }
h2.fija-actu__titre, h3.fija-actu__titre { font-size: clamp(1.125rem, 1.3vw, 1.375rem); }
.fija-video { max-width: 80rem; }
.fija-carte { max-width: none; }
.fija-faq { max-width: 60rem; }
.fija-faq__item summary { font-size: clamp(1.125rem, 1.4vw, 1.375rem); }
.fija-jurys__grille { grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(15rem, 18vw, 20rem)), 1fr)); }
.fija-jury-court .fija-membre { max-width: clamp(12rem, 14vw, 16rem); }
.fija-chrono__faits { font-size: clamp(1.25rem, 1.6vw, 1.625rem); }
.fija-chiffres strong { font-size: clamp(3rem, 6.5vw, 6rem); }

/* photos en attente de chargement : fond de pixels discret plutôt qu'un cadre noir */
.fija-photo > a { background-color: #141414; background-image: radial-gradient(rgba(242,242,242,.09) 30%, transparent 32%); background-size: 8px 8px; }

/* 0.9.7 · derniers survols illisibles relevés par l'audit */
/* filtre actif (fond couleur d'édition) : texte foncé, aussi au survol */
body .fija-filtre a[aria-current], body .fija-filtre a[aria-current]:hover, body .fija-pagination [aria-current] { color: #0A0A0A; }
/* liens dans les textes des pages Elementor v2 (e-mail, téléphone, mentions) : couleur du texte, soulignés, couleur d'édition au survol */
body .e-paragraph-base a, body .e-heading-base a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
body .e-paragraph-base a:hover, body .e-heading-base a:hover { color: #9B6BFF; }
/* badges de prix (rouge FIJA) : texte blanc dans tous les états */
body .fija-badge-prix, body a.fija-badge-prix:hover, body a:hover .fija-badge-prix, body .fija-badge-prix a, body .fija-badge-prix a:hover { color: #fff; }

/* ------------------------------------------------------------------ 0.9.11 : fiche Édition refaite */
.fija-edition__entete { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: end; padding: 1rem 0 0; min-height: 0; }
.fija-edition__entete--affiche { grid-template-columns: minmax(0, 1fr) minmax(0, clamp(14rem, 24vw, 24rem)); }
.fija-edition__trame { display: none; }
.fija-edition__titre { font-size: clamp(3.5rem, 11vw, 9.5rem); line-height: .82; }
.fija-edition__titre span { color: var(--fija-edition-1, var(--fija-c1)); }
.fija-edition__entete .fija-repere { margin-top: 0; }
.fija-edition__affiche { margin: 0; max-width: none; box-shadow: .6rem .6rem 0 var(--fija-edition-2, transparent); }
.fija-edition__affiche img { width: 100%; height: auto; display: block; }
.fija-edition .fija-chiffres { margin: 2rem 0 1rem; }
.fija-sousnav { position: sticky; top: 0; z-index: 5; background: rgba(10,10,10,.92); backdrop-filter: blur(6px); padding: .5rem 0; margin: 0 calc(-1 * var(--fija-gouttiere)); padding-left: var(--fija-gouttiere); padding-right: var(--fija-gouttiere); }
.fija-sousnav ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0; padding: 0; }
.fija-sousnav a { font: 700 var(--fija-t-repere)/2.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; }
/* Programme : un jour par panneau dépliable, séances en grille */
.fija-jour { border-top: 1px solid var(--fija-ligne); }
.fija-jour summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 1.1rem 0; }
.fija-jour summary::-webkit-details-marker { display: none; }
.fija-jour__nom { font: 900 var(--fija-t-h3)/1 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-jour__nb { font: 700 var(--fija-t-repere)/1 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); }
.fija-jour__nb::after { content: " +"; color: var(--fija-c1); }
.fija-jour[open] .fija-jour__nb::after { content: " –"; }
.fija-jour summary:focus-visible { outline: 2px solid var(--fija-c1); outline-offset: 3px; }
.fija-jour .fija-seances { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: .75rem; margin: 0 0 1.5rem; }
@media (max-width: 767px) { .fija-edition__entete--affiche { grid-template-columns: 1fr; } .fija-edition__affiche { max-width: 16rem; } }


/* ------------------------------------------------------------------ 0.9.12 : sections à la hauteur de l'écran, apparition bloc par bloc */
.fija-fiche > .fija-section { display: flex; flex-direction: column; justify-content: center; }
/* 0.10.1 : pas de hauteur d'écran imposée sur les fiches (les sections courtes laissaient de grands vides) ; seules les sections longues remplissent l'écran d'elles-mêmes */
/* la classe .fija-anim n'est posée que par le script, et jamais en mouvement réduit */
.fija-anim .fija-section > *, .fija-anim .fija-fiche > header > * { opacity: 0; transform: translateY(1.75rem); }
/* seule l'apparition est animée (le masquage initial est instantané : pas de fondu sortant au chargement) */
.fija-anim .fija-vu > * { opacity: 1 !important; transform: none !important; transition: opacity .9s ease, transform .9s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--fija-i, 0) * 110ms); }
.fija-anim .fija-section > .fija-sep { opacity: 1; transform: none; }

/* ------------------------------------------------------------------ 0.9.14 : bannière d'édition = bannière d'accueil (logo vivant, trame) */
.fija-edition__hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; min-height: calc(100vh - 6rem); padding: 2rem 0 clamp(7rem, 14vw, 11rem); }
.fija-edition__logo { position: relative; width: 100%; aspect-ratio: 1 / 1.05; max-height: 70vh; }
.fija-edition__logo > span { position: absolute; inset: 0; display: block; }
.fija-edition__titres { position: relative; z-index: 1; }
.fija-edition__hero .fija-repere { margin: 0 0 1.25rem; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-edition__hero .fija-edition__titre { font-size: clamp(3.25rem, 8vw, 7.5rem); line-height: .9; margin: 0 0 1.25rem; }
.fija-edition__accroche { margin: 0 0 1.75rem; font-size: var(--fija-t-chapo); line-height: 1.5; color: var(--fija-texte); max-width: 34rem; }
.fija-edition__hero .fija-boutons { margin: 0 0 1.5rem; }
.fija-edition__hero .fija-edition__affiche { max-width: 12rem; margin: .5rem 0 0; box-shadow: .45rem .45rem 0 var(--fija-edition-2, transparent); }
.fija-edition__trame-hero { position: absolute; left: calc(-1 * var(--fija-gouttiere)); right: calc(-1 * var(--fija-gouttiere)); bottom: 0; height: clamp(6rem, 13vw, 10rem); pointer-events: none; }
.fija-edition__trame-hero > span { position: absolute; inset: 0; display: block; }
@media (max-width: 767px) {
  .fija-edition__hero { grid-template-columns: 1fr; min-height: 0; padding-bottom: 7rem; gap: 1.5rem; }
  .fija-edition__logo { max-width: 16rem; aspect-ratio: 1 / 1.05; }
}

/* ------------------------------------------------------------------ 0.10 : parcours entre les pages, couleurs d'édition partout */
.fija-carte-film__annee { margin: .35rem 0 0; font: 700 var(--fija-t-repere)/1 "Space Grotesk", sans-serif; letter-spacing: .1em; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-suite { margin: 4rem 0 0; padding: 2.5rem 0 0; border-top: 1px solid var(--fija-ligne); }
.fija-editions-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 4rem 0 0; }
.fija-editions-nav > a, .fija-editions-nav > div { display: flex; flex-direction: column; gap: .4rem; padding: 1.75rem; background: #121212; border: 1px solid var(--fija-ligne); border-top: 3px solid var(--fija-edition-1, var(--fija-c1)); color: var(--fija-texte); transition: background .2s; }
.fija-editions-nav__suiv { text-align: right; align-items: flex-end; }
.fija-editions-nav strong { font: 900 clamp(3rem, 7vw, 5.5rem)/.85 "Big Shoulders Display", sans-serif; color: var(--fija-edition-1, var(--fija-c1)); }
.fija-editions-nav > a:hover { background: #171717; }
.fija-editions-nav .fija-repere { margin: 0; color: var(--fija-gris); }
@media (max-width: 40rem) { .fija-editions-nav { grid-template-columns: 1fr; } .fija-editions-nav__suiv { text-align: left; align-items: flex-start; } .fija-editions-nav > span:empty { display: none; } }

/* ------------------------------------------------------------------ 0.10.1 : lanceurs vidéo / carte à l'abri des styles de bouton du thème et du kit */
body button.fija-video__lancer, body button.fija-carte__lancer {
  display: flex; align-items: flex-end; justify-content: flex-start; width: 100%; margin: 0; padding: 1.5rem; border-radius: 0;
  background: #111; color: var(--fija-texte); font: inherit; text-transform: none; letter-spacing: normal; text-align: left; white-space: normal; box-shadow: none;
}
body button.fija-video__lancer { position: relative; aspect-ratio: 16 / 9; height: auto; border: 1px solid var(--fija-ligne); }
body button.fija-carte__lancer { position: absolute; inset: 0; height: 100%; border: 0; }
body button.fija-video__lancer:hover, body button.fija-video__lancer:focus, body button.fija-carte__lancer:hover, body button.fija-carte__lancer:focus { background: #111; color: var(--fija-texte); border-color: var(--fija-ligne); }
body button.fija-video__lancer:hover .fija-video__texte, body button.fija-carte__lancer:hover .fija-video__texte { color: var(--fija-c1); }
.fija-lanceur__trame { position: absolute; left: 0; right: 0; bottom: 0; height: 60%; pointer-events: none; }
.fija-lanceur__trame > span { display: block; width: 100%; height: 100%; }
.fija-video__texte { color: var(--fija-texte); z-index: 1; }
.fija-video__play { z-index: 1; }
/* chiffres : les filets séparent déjà les lignes, pas d'écart vertical en plus (vides sur mobile) */
.fija-chiffres { row-gap: 0; column-gap: 1.5rem; }
/* ------------------------------------------------------------------ 0.10.3 : carte dans la DA (fond sombre, repères Signal, légende numérotée) */
.fija-carte { max-width: none; }
.fija-carte__cadre { background: #0A0A0A; border-color: var(--fija-ligne); }
.fija-carte__cadre--active { background: #0A0A0A; }
/* fond OSM passé en nuit, sans couleur : seuls les repères portent la couleur de l'édition */
.fija-carte .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(.78) contrast(1.25); }
.fija-carte .leaflet-container { background: #0A0A0A; font: 400 .875rem/1.4 Inter, system-ui, sans-serif; }
/* repères : carré numéroté, ombre décalée en couleur 2 (comme le tampon « FIJA année ») */
.fija-repere-carte { background: none; border: 0; }
.fija-repere-carte span { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; background: var(--fija-edition-1, #9B6BFF); color: #0A0A0A;
  font: 900 1.125rem/1 "Big Shoulders Display", sans-serif; box-shadow: 4px 4px 0 var(--fija-edition-2, #FF4FA3); transition: transform .2s, background-color .2s; }
.fija-repere-carte:hover span, .fija-repere-carte--actif span { transform: translate(-2px, -2px); background: #F2F2F2; box-shadow: 6px 6px 0 var(--fija-edition-1, #9B6BFF); }
/* bulle */
body .fija-carte .fija-pop .leaflet-popup-content-wrapper { background: #0A0A0A; color: #F2F2F2; border-radius: 0; border: 1px solid var(--fija-ligne); border-top: 3px solid var(--fija-edition-1, #9B6BFF); box-shadow: 0 12px 30px rgba(0, 0, 0, .55); }
body .fija-carte .fija-pop .leaflet-popup-tip { background: #0A0A0A; box-shadow: none; }
body .fija-carte .fija-pop .leaflet-popup-content { margin: 1rem 1.15rem; color: #F2F2F2; display: flex; flex-direction: column; gap: .3rem; }
.fija-pop__num { font: 700 .6875rem/1 "Space Grotesk", sans-serif; letter-spacing: .12em; color: var(--fija-edition-1, #9B6BFF); }
.fija-pop__nom { font: 900 1.375rem/1 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-pop__usage { font: 700 .6875rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-gris); }
.fija-pop__adresse { color: #D9D9D9; }
body .fija-carte .fija-pop a.leaflet-popup-close-button { color: #8E8E8E; }
body .fija-carte .fija-pop a.leaflet-popup-close-button:hover { color: var(--fija-edition-1, #9B6BFF); }
/* commandes */
body .fija-carte .leaflet-bar { border: 1px solid var(--fija-ligne); border-radius: 0; box-shadow: none; }
body .fija-carte .leaflet-bar a, body .fija-carte .leaflet-bar a:hover { width: 36px; height: 36px; line-height: 36px; border-radius: 0; background: #0A0A0A; color: #F2F2F2; border-bottom-color: var(--fija-ligne); text-decoration: none; font: 700 1.125rem/36px "Space Grotesk", sans-serif; }
body .fija-carte .leaflet-bar a:hover, body .fija-carte .leaflet-bar a:focus-visible { background: var(--fija-edition-1, #9B6BFF); color: #0A0A0A; }
body .fija-carte .leaflet-control-attribution { background: rgba(10, 10, 10, .75); color: #8E8E8E; font: 500 .625rem/1.4 "Space Grotesk", sans-serif; }
body .fija-carte .leaflet-control-attribution a { color: #BDBDBD; }
/* légende */
.fija-carte__liste { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); border-top: 1px solid var(--fija-ligne); color: var(--fija-texte); }
.fija-carte__lieu { display: flex; gap: .9rem; padding: 1rem 1rem 1rem 0; border-bottom: 1px solid var(--fija-ligne); transition: background-color .2s; }
.fija-carte__lieu--actif { background: #141414; }
.fija-carte__num { flex: none; display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; background: var(--fija-edition-1, #9B6BFF); color: #0A0A0A;
  font: 900 1rem/1 "Big Shoulders Display", sans-serif; box-shadow: 3px 3px 0 var(--fija-edition-2, #FF4FA3); cursor: pointer; }
.fija-carte__num:focus-visible { outline: 2px solid #F2F2F2; outline-offset: 3px; }
.fija-carte__infos { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.fija-carte__nom { font: 700 .9375rem/1.25 Inter, system-ui, sans-serif; }
.fija-carte__usage { font: 700 .625rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-edition-1, #9B6BFF); }
.fija-carte__adresse { font-size: .8125rem; color: var(--fija-gris); }
body .fija-carte a.fija-carte__itineraire { margin-top: .25rem; font: 700 .6875rem/1 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fija-texte); text-decoration: none; border-bottom: 1px solid var(--fija-ligne); padding-bottom: .2rem; align-self: flex-start; }
body .fija-carte a.fija-carte__itineraire:hover { color: var(--fija-edition-1, #9B6BFF); }
@media (prefers-reduced-motion: reduce) { .fija-repere-carte span, .fija-carte__lieu { transition: none; } }

/* ------------------------------------------------------------------ 0.11.0 : sélecteur de langue */
.fija-langues__courante { font-weight: 700; }
body .fija-langues a.fija-langues__autre { color: inherit; opacity: .65; text-decoration: none; }
body .fija-langues a.fija-langues__autre:hover, body .fija-langues a.fija-langues__autre:focus-visible { opacity: 1; color: var(--fija-c1, #9B6BFF); }

/* ------------------------------------------------------------------ 0.15.1 : vidéo en fond (lecture muette automatique) */
.fija-video--fond .fija-video__lancer { overflow: hidden; }
.fija-video__fond { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; z-index: 0; opacity: 0; transition: opacity .8s; }
.fija-video--joue .fija-video__fond { opacity: 1; }
.fija-video--joue .fija-lanceur__trame { opacity: 0; transition: opacity .8s; }
.fija-video--joue .fija-video__play { width: 3.5rem; height: 3.5rem; margin: 0; left: auto; top: auto; right: 1.5rem; bottom: 1.5rem; }
.fija-video--joue .fija-video__play::after { left: 1.35rem; top: 1rem; border-left-width: 1.2rem; border-top-width: .75rem; border-bottom-width: .75rem; }
.fija-video--joue .fija-video__texte { position: relative; }
@media (prefers-reduced-motion: reduce) { .fija-video__fond, .fija-video--joue .fija-lanceur__trame { transition: none; } }

/* ------------------------------------------------------------------ 0.15.1 : équipe en carrousel */
.fija-rail--equipe .fija-visuel-type__marque { display: none; }
.fija-rail--equipe .fija-membre { margin: 0; }

/* ------------------------------------------------------------------ 0.15.1 : newsletter pleine largeur + soutien */
section.e-con:has(> form.fija-newsletter:not(.fija-newsletter--compact)) { position: relative; overflow: hidden; min-height: 0 !important; padding-top: clamp(4rem, 8vw, 7rem) !important; padding-bottom: clamp(6rem, 12vw, 11rem) !important; }
section.e-con:has(> form.fija-newsletter:not(.fija-newsletter--compact)) > :not(.fija-nl-fond) { position: relative; z-index: 1; }
.fija-nl-fond { position: absolute; left: 0; right: 0; bottom: 0; height: 70%; z-index: 0; pointer-events: none; opacity: .85; }
.fija-nl-fond > span { display: block; width: 100%; height: 100%; }
.fija-soutien { max-width: 30rem; margin-top: 2.5rem; padding: 1.75rem; background: rgba(10, 10, 10, .88); border: 1px solid var(--fija-ligne); color: var(--fija-texte); font-family: Inter, system-ui, sans-serif; }
.fija-soutien__titre { margin: .25rem 0 .75rem; font: 900 clamp(1.75rem, 2.6vw, 2.5rem)/.95 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-soutien__texte { margin: 0 0 1.25rem; font-size: var(--fija-t-texte); line-height: 1.55; color: #D9D9D9; }
@media (min-width: 1025px) {
  section.e-con:has(> form.fija-newsletter:not(.fija-newsletter--compact)) { display: grid !important; grid-template-columns: minmax(0, 42rem) minmax(0, 30rem); justify-content: space-between; align-content: center; column-gap: 4rem; }
  section.e-con:has(> form.fija-newsletter:not(.fija-newsletter--compact)) > :not(.fija-soutien):not(.fija-nl-fond) { grid-column: 1; }
  section.e-con:has(> form.fija-newsletter:not(.fija-newsletter--compact)) > .fija-soutien { grid-column: 2; grid-row: 1 / span 4; align-self: center; margin: 0; }
}
/* ------------------------------------------------------------------ 0.15.1 : logos partenaires, cases égales et surface constante */
.fija-partenaires { grid-template-columns: repeat(auto-fill, minmax(min(46%, 11rem), 1fr)); gap: .75rem; align-items: stretch; }
.fija-partenaires li { aspect-ratio: 3 / 2; height: auto; min-height: 0; overflow: hidden; padding: 1rem; }
.fija-partenaires img { max-width: 100%; max-height: 4.75rem; height: auto; object-fit: contain; mix-blend-mode: multiply; }

/* ------------------------------------------------------------------ 0.16.0 : pop-up newsletter + accréditations */
.fija-newsletter__option { display: flex; gap: .55rem; align-items: flex-start; margin: .8rem 0 0; font-size: .9375rem; line-height: 1.4; color: #D9D9D9; cursor: pointer; }
.fija-newsletter__option input { margin: .2rem 0 0; width: 1.05rem; height: 1.05rem; accent-color: var(--fija-c1); flex: none; }
.fija-popup { width: min(34rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); padding: 2.75rem 2rem 1.75rem; border: 1px solid var(--fija-ligne); background: #0E0E0E; color: var(--fija-texte); font-family: Inter, system-ui, sans-serif; overflow: hidden auto; }
.fija-popup::backdrop { background: rgba(0, 0, 0, .72); backdrop-filter: blur(3px); }
.fija-popup[open] { animation: fija-pop .35s ease-out; }
@keyframes fija-pop { from { opacity: 0; transform: translateY(1rem); } }
.fija-popup__trame { position: absolute; left: 0; right: 0; top: 0; height: 2.25rem; pointer-events: none; }
.fija-popup__trame > span { display: block; width: 100%; height: 100%; }
body .fija-popup__fermer { position: absolute; right: .6rem; top: .55rem; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--fija-texte); font: 400 1.75rem/1 Inter, sans-serif; cursor: pointer; z-index: 1; }
body .fija-popup__fermer:hover, body .fija-popup__fermer:focus-visible { background: transparent; color: var(--fija-c1); }
.fija-popup .fija-repere { margin: 0 0 .5rem; color: var(--fija-c1); }
.fija-popup__titre { margin: 0 0 .9rem; font: 900 clamp(2rem, 6vw, 2.75rem)/.92 "Big Shoulders Display", sans-serif; text-transform: uppercase; }
.fija-popup__texte { margin: 0 0 1.25rem; font-size: 1.0625rem; line-height: 1.55; color: #D9D9D9; }
.fija-popup input[type="email"] { flex: 1 1 13rem; min-height: 3rem; padding: .75rem 1rem; background: #121212; border: 1.5px solid var(--fija-ligne); border-radius: 0; color: var(--fija-texte); }
body .fija-popup .fija-bouton--plein { min-height: 3rem; background: var(--fija-c1); border: 1.5px solid var(--fija-c1); color: #0A0A0A; cursor: pointer; }
.fija-popup__etat { margin: 1rem 0 0; }
@media (max-width: 40rem) {
  .fija-popup { width: 100%; max-width: none; margin: auto 0 0; padding: 2.5rem 1.25rem 1.5rem; border-width: 1px 0 0; }
  .fija-popup[open] { animation-name: fija-pop-bas; }
  @keyframes fija-pop-bas { from { transform: translateY(100%); } }
}
@media (prefers-reduced-motion: reduce) { .fija-popup[open] { animation: none; } }
body .fija-newsletter__option, body .fija-popup label { color: #D9D9D9; }
body .fija-popup .fija-newsletter__note { color: var(--fija-gris); }
body .fija-popup .fija-popup__titre { color: var(--fija-texte, #F2F2F2); }

/* ------------------------------------------------------------------ 0.17.0 : icône Instagram en pixels */
body a.fija-lien-insta { display: inline-flex; align-items: center; gap: .6rem; }
.fija-insta { width: 1.6em; height: 1.6em; flex: none; shape-rendering: crispEdges; }

/* ------------------------------------------------------------------ 0.18.0 : portfolio */
.fija-portfolio { padding: clamp(2rem, 5vw, 4rem) var(--fija-gouttiere, clamp(1rem, 4vw, 4rem)) 4rem; }
.fija-portfolio__entete { margin-bottom: 1.5rem; }
.fija-portfolio__intro { max-width: 44rem; font-size: var(--fija-t-chapo); line-height: 1.5; color: var(--fija-texte); }
.fija-portfolio__moment { margin: 0 0 2.5rem; }
.fija-portfolio__moment .fija-jury__titre { margin: 0 0 1rem; }
.fija-portfolio__video { max-width: 56rem; margin: 0 0 1.25rem; }
.fija-portfolio__video--vertical { max-width: 22rem; }
.fija-portfolio__video--vertical body button.fija-video__lancer, html body .fija-portfolio__video--vertical button.fija-video__lancer, .fija-portfolio__video--vertical .fija-video__cadre { aspect-ratio: 9 / 16; }
.fija-galerie { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 15rem), 1fr)); gap: .5rem; }
.fija-galerie a { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #141414; }
.fija-galerie img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s; }
.fija-galerie a:hover img, .fija-galerie a:focus-visible img { transform: scale(1.04); }
.fija-galerie__suite { margin-top: .5rem; }
.fija-galerie__suite > summary { cursor: pointer; list-style: none; padding: .9rem 0; font: 700 var(--fija-t-repere)/1.2 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; color: var(--fija-c1); }
.fija-galerie__suite[open] > summary { margin-bottom: .5rem; }
.fija-bloc__plus--multi { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
@media (prefers-reduced-motion: reduce) { .fija-galerie img { transition: none; } }
/* ------------------------------------------------------------------ 0.18.1 : portfolio sur mobile, photos et vidéos en grand */
@media (max-width: 600px) {
  .fija-portfolio { padding-left: 0; padding-right: 0; }
  .fija-portfolio__entete, .fija-portfolio .fija-section__titre, .fija-portfolio .fija-jury__titre, .fija-portfolio .fija-bloc__plus, .fija-galerie__suite > summary { padding-left: 1rem; padding-right: 1rem; }
  .fija-galerie { grid-template-columns: 1fr; gap: .4rem; }
  .fija-galerie a { aspect-ratio: auto; }
  .fija-galerie img { height: auto; }
  .fija-portfolio__video, .fija-portfolio__video--vertical { max-width: none; }
  .fija-portfolio__video--vertical .fija-video { max-width: 26rem; margin: 0 auto; }
}

/* ------------------------------------------------------------------ 0.18.3 : visionneuse du portfolio (ordinateur) */
.fija-visio { margin: 0 0 .5rem; outline: none; }
.fija-visio:focus-visible { outline: 2px solid var(--fija-c1); outline-offset: 4px; }
.fija-visio__scene { position: relative; margin: 0; background: #050505; }
.fija-visio__scene img { display: block; width: 100%; height: min(78vh, 56.25vw); object-fit: contain; }
.fija-visio__compteur { position: absolute; left: 1rem; bottom: .8rem; padding: .25rem .55rem; background: rgba(10,10,10,.75); font: 700 .8125rem/1 "Space Grotesk", sans-serif; letter-spacing: .1em; color: #F2F2F2; }
body .fija-visio__fleche { position: absolute; top: 50%; transform: translateY(-50%); width: 3.25rem; height: 3.25rem; padding: 0; border: 1px solid rgba(242,242,242,.35); border-radius: 0; background: rgba(10,10,10,.7); color: #F2F2F2; font: 400 1.4rem/1 Inter, sans-serif; cursor: pointer; }
body .fija-visio__fleche:hover, body .fija-visio__fleche:focus-visible { background: var(--fija-c1); border-color: var(--fija-c1); color: var(--fija-sur-c1, #0A0A0A); }
.fija-visio__fleche--prec { left: 1rem; } .fija-visio__fleche--suiv { right: 1rem; }
.fija-visio__vignettes { display: flex; gap: .4rem; margin-top: .4rem; overflow-x: auto; scrollbar-width: thin; padding-bottom: .3rem; }
.fija-visio__vignettes a { flex: none; width: 7.5rem; aspect-ratio: 3 / 2; overflow: hidden; opacity: .55; outline: 2px solid transparent; outline-offset: -2px; transition: opacity .2s; }
.fija-visio__vignettes a:hover, .fija-visio__vignettes a.fija-visio__actif { opacity: 1; }
.fija-visio__vignettes a.fija-visio__actif { outline-color: var(--fija-c1); }
.fija-visio__vignettes img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* ------------------------------------------------------------------ 0.18.5 : chronologie (« L'histoire du FIJA ») moins décalée à droite */
.fija-chrono__ed { grid-template-columns: minmax(5rem, 9rem) minmax(0, 1fr); gap: 1.25rem 2rem; }
.fija-chrono__annee { font-size: clamp(3rem, 5.5vw, 4.75rem); }
.fija-chrono__etapes li { grid-template-columns: 7rem minmax(0, 1fr); gap: 1.25rem; }
.fija-chrono__etapes li > :last-child { max-width: 52rem; }
@media (min-width: 1025px) { .fija-chrono__etapes time { font-size: .8125rem; } }
@media (max-width: 40rem) { .fija-chrono__ed { grid-template-columns: 1fr; } .fija-chrono__etapes li { grid-template-columns: 1fr; gap: .1rem; } }

/* 0.18.8 : la chronologie des archives prend toute la largeur (la limite de 44rem ne vaut que pour la liste simple) */
.fija-chrono:has(> .fija-chrono__ed) { max-width: 76rem; }
.fija-chrono__etapes li > :last-child { max-width: 56rem; }

/* 0.18.9 : sous-menu du portfolio décollé du bord sur mobile */
@media (max-width: 600px) { .fija-portfolio .fija-sousnav { padding-left: 1rem; padding-right: 1rem; } }

/* 0.19.0 : visionneuse aussi sur mobile (glisser à gauche / à droite) */
@media (max-width: 600px) {
  .fija-visio__scene img { height: min(72vh, 110vw); }
  body .fija-visio__fleche { width: 2.6rem; height: 2.6rem; font-size: 1.1rem; }
  .fija-visio__fleche--prec { left: .5rem; } .fija-visio__fleche--suiv { right: .5rem; }
  .fija-visio__vignettes { padding-left: 1rem; padding-right: 1rem; }
  .fija-visio__vignettes a { width: 5.5rem; }
  .fija-visio__scene { touch-action: pan-y; }
}

/* 0.22.0 : membre disparu·e (équipe) */
.fija-membre--memoire img { filter: grayscale(1); }
.fija-membre__memoire { margin: .2rem 0 0; font-size: .875rem; color: var(--fija-c1); }
.fija-talent--memoire .fija-talent__photo img { filter: grayscale(1); }
.fija-talent__memoire { color: var(--fija-texte) !important; opacity: .85; }

/* 0.22.11 · fiches talent et film sur mobile : une seule colonne (les règles grand écran de 0.9.7 écrasaient celle de 767px — page plus large que l'écran) */
@media (max-width: 52rem) {
  html body .fija-film__entete, html body .fija-talent__entete { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
}
/* 0.22.12 · Portfolio sur mobile : la barre des années ne déborde plus (sa marge négative dépassait l'écran de 16 px de chaque côté) */
@media (max-width: 52rem) {
  html body .fija-portfolio .fija-sousnav { margin-left: 0; margin-right: 0; }
}
/* 0.22.13 · Accréditation : encart « ouverture en mars 2027 » sous l'introduction */
html body .fija-accreditation-ouverture { margin: 1.5rem 0 0; padding: 1rem 1.25rem; border-left: .35rem solid var(--fija-c1); background: rgba(255,255,255,.06); font-size: 1.0625rem; line-height: 1.5; max-width: 46rem; }
html body .fija-accreditation-ouverture strong { display: block; margin-bottom: .25rem; }
