/* ===== AFO – Carrousel Film (Tous les films) ===== */
.afo-films-carousel-all{ --afo-purple:#4d2c7a; --gap:30px; --reveal:80px; }
.afo-films-carousel-all *{ box-sizing:border-box; }

/* ===== Masquer toute la section jusqu'au montage (anti-bandeau blanc) ===== */
.afo-films-carousel-all{ display:none; }                 /* invisible avant init */
.afo-films-carousel-all.afo-fc-ready{ display:block; }   /* révélé après 'mounted' */

/* Header */
.afo-fc-header{
  display:grid;
  gap:30px;
  margin:0 0 40px;
  justify-items:center;
}
.afo-fc-title{
  margin:0!important;
  font-size:48px;
  line-height:56px;
  color:var(--global-palette1);
  font-weight:600;
  text-align:center;
}

.afo-fc-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  /*padding:12px 22px;*/
  border:2px solid var(--global-palette1);
  border-radius:999px;
  color:var(--global-palette1);
  text-decoration:none;
  font-weight:600;
  font-size:18px;
  justify-content:center;
}
@media(min-width:768px){
.afo-fc-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 22px;
  border:2px solid var(--global-palette1);
  border-radius:999px;
  color:var(--global-palette1);
  text-decoration:none;
  font-weight:600;
  font-size:18px;
  justify-content:center;
}

}

.afo-fc-cta::before {
  content:'';
  width:40px;
  height:40px;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCcgdmlld0JveD0nMCAwIDQwIDQwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNNi42NjY3NSAyNUgxMC4wMDAxQzEwLjg4NDEgMjUgMTEuNzMyIDI1LjM1MTIgMTIuMzU3MSAyNS45NzY0QzEyLjk4MjIgMjYuNjAxNSAxMy4zMzM0IDI3LjQ0OTMgMTMuMzMzNCAyOC4zMzM0VjMxLjY2NjdIMTUuMDAwMVYyOC4zMzM0QzE1LjAwMDEgMjcuNDQ5MyAxNS4zNTEzIDI2LjYwMTUgMTUuOTc2NCAyNS45NzY0QzE2LjYwMTUgMjUuMzUxMiAxNy40NDk0IDI1IDE4LjMzMzQgMjVIMjEuNjY2N0MyMi41NTA4IDI1IDIzLjM5ODYgMjUuMzUxMiAyNC4wMjM4IDI1Ljk3NjRDMjQuNjQ4OSAyNi42MDE1IDI1LjAwMDEgMjcuNDQ5MyAyNS4wMDAxIDI4LjMzMzRWMzEuNjY2N0gyNi42NjY3VjI4LjMzMzRDMjYuNjY2NyAyNy40NDkzIDI3LjAxNzkgMjYuNjAxNSAyNy42NDMxIDI1Ljk3NjRDMjguMjY4MiAyNS4zNTEyIDI5LjExNiAyNSAzMC4wMDAxIDI1SDMzLjMzMzRDMzQuMjE3NSAyNSAzNS4wNjUzIDI1LjM1MTIgMzUuNjkwNCAyNS45NzY0QzM2LjMxNTYgMjYuNjAxNSAzNi42NjY3IDI3LjQ0OTMgMzYuNjY2NyAyOC4zMzM0VjMxLjY2NjdIMzguMzMzNFYzNi42NjY3SDEuNjY2NzVWMzEuNjY2N0gzLjMzMzQxVjI4LjMzMzRDMy4zMzM0MSAyNy40NDkzIDMuNjg0NiAyNi42MDE1IDQuMzA5NzMgMjUuOTc2NEM0LjkzNDg1IDI1LjM1MTIgNS43ODI2OSAyNSA2LjY2Njc1IDI1Wk0xOC4zMzM0IDExLjY2NjdMMjUuMDAwMSAxNi42NjY3TDE4LjMzMzQgMjEuNjY2N1YxMS42NjY3Wk02LjY2Njc1IDMuMzMzMzdIMzMuMzMzNEMzNC4yMTc1IDMuMzMzMzcgMzUuMDY1MyAzLjY4NDU2IDM1LjY5MDQgNC4zMDk2OEMzNi4zMTU2IDQuOTM0ODEgMzYuNjY2NyA1Ljc4MjY1IDM2LjY2NjcgNi42NjY3MVYyMi41NjY3QzM1LjY1NzEgMjEuOTcxNyAzNC41MDUzIDIxLjY2MDcgMzMuMzMzNCAyMS42NjY3VjYuNjY2NzFINi42NjY3NVYyMS42NjY3QzUuNDUwMDggMjEuNjY2NyA0LjMxNjc1IDIxLjk4MzQgMy4zMzM0MSAyMi41NjY3VjYuNjY2NzFDMy4zMzM0MSA1Ljc4MjY1IDMuNjg0NiA0LjkzNDgxIDQuMzA5NzMgNC4zMDk2OEM0LjkzNDg1IDMuNjg0NTYgNS43ODI2OSAzLjMzMzM3IDYuNjY2NzUgMy4zMzMzN1onIGZpbGw9JyMzMzIyNEQnLz48L3N2Zz4=");
}
.afo-fc-cta:hover::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCcgdmlld0JveD0nMCAwIDQwIDQwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNNi42NjY3NSAyNUgxMC4wMDAxQzEwLjg4NDEgMjUgMTEuNzMyIDI1LjM1MTIgMTIuMzU3MSAyNS45NzY0QzEyLjk4MjIgMjYuNjAxNSAxMy4zMzM0IDI3LjQ0OTMgMTMuMzMzNCAyOC4zMzM0VjMxLjY2NjdIMTUuMDAwMVYyOC4zMzM0QzE1LjAwMDEgMjcuNDQ5MyAxNS4zNTEzIDI2LjYwMTUgMTUuOTc2NCAyNS45NzY0QzE2LjYwMTUgMjUuMzUxMiAxNy40NDk0IDI1IDE4LjMzMzQgMjVIMjEuNjY2N0MyMi41NTA4IDI1IDIzLjM5ODYgMjUuMzUxMiAyNC4wMjM4IDI1Ljk3NjRDMjQuNjQ4OSAyNi42MDE1IDI1LjAwMDEgMjcuNDQ5MyAyNS4wMDAxIDI4LjMzMzRWMzEuNjY2N0gyNi42NjY3VjI4LjMzMzRDMjYuNjY2NyAyNy40NDkzIDI3LjAxNzkgMjYuNjAxNSAyNy42NDMxIDI1Ljk3NjRDMjguMjY4MiAyNS4zNTEyIDI5LjExNiAyNSAzMC4wMDAxIDI1SDMzLjMzMzRDMzQuMjE3NSAyNSAzNS4wNjUzIDI1LjM1MTIgMzUuNjkwNCAyNS45NzY0QzM2LjMxNTYgMjYuNjAxNSAzNi42NjY3IDI3LjQ0OTMgMzYuNjY2NyAyOC4zMzM0VjMxLjY2NjdIMzguMzMzNFYzNi42NjY3SDEuNjY2NzVWMzEuNjY2N0gzLjMzMzQxVjI4LjMzMzRDMy4zMzM0MSAyNy40NDkzIDMuNjg0NiAyNi42MDE1IDQuMzA5NzMgMjUuOTc2NEM0LjkzNDg1IDI1LjM1MTIgNS43ODI2OSAyNSA2LjY2Njc1IDI1Wk0xOC4zMzM0IDExLjY2NjdMMjUuMDAwMSAxNi42NjY3TDE4LjMzMzQgMjEuNjY2N1YxMS42NjY3Wk02LjY2Njc1IDMuMzMzMzdIMzMuMzMzNEMzNC4yMTc1IDMuMzMzMzcgMzUuMDY1MyAzLjY4NDU2IDM1LjY5MDQgNC4zMDk2OEMzNi4zMTU2IDQuOTM0ODEgMzYuNjY2NyA1Ljc4MjY1IDM2LjY2NjcgNi42NjY3MVYyMi41NjY3QzM1LjY1NzEgMjEuOTcxNyAzNC41MDUzIDIxLjY2MDcgMzMuMzMzNCAyMS42NjY3VjYuNjY2NzFINi42NjY3NVYyMS42NjY3QzUuNDUwMDggMjEuNjY2NyA0LjMxNjc1IDIxLjk4MzQgMy4zMzM0MSAyMi41NjY3VjYuNjY2NzFDMy4zMzM0MSA1Ljc4MjY1IDMuNjg0NiA0LjkzNDgxIDQuMzA5NzMgNC4zMDk2OEM0LjkzNDg1IDMuNjg0NTYgNS43ODI2OSAzLjMzMzM3IDYuNjY2NzUgMy4zMzMzN1onIGZpbGw9J3doaXRlJy8+PC9zdmc+");
}
.afo-fc-cta:hover{ 
  color:#fff; 
  background-color:var(--global-palette1);
  fill:#fff;
}

/* Arrows */
.afo-fc-arrows{
  display:flex;
  gap:24px;
  align-items:center;
  justify-content:center;
  z-index:4;
}
.afo-fc-arrows button{
  appearance:none;
  border:0;
  background:#fff;
  color:#000;
  padding:8px 14px;
  border-radius:10px;
  cursor:pointer;
}
.afo-fc-arrows button:hover,
.afo-fc-arrows button:focus{
  box-shadow:none!important;
}
.afo-fc-arrows svg{
  width:85px;
  height:auto;
  display:block;
}
.afo-fc-arrows .afo-fc-next{
  transform:rotateY(180deg);
}

@media(min-width:1025px){
  .afo-fc-title{
    text-align:left;
  }
  .afo-fc-header{
    grid-template-columns:0.75fr auto auto;
    align-items:center;
    border-bottom:1px solid #000;
    justify-items:unset;
  }
  .afo-fc-cta{
    font-size:24px;
    justify-content:left;
  }
  .afo-fc-arrows{
    display:flex;
    gap:30px;
    align-items:center;
    justify-content:flex-end;
    z-index:4;
  }
}

/* Carrousel – aligné à gauche, reveal à droite jusqu'au bord écran */
.afo-fc-splide{
  --reveal-neg:calc(var(--reveal) * -1);
  position:relative;
  overflow:visible;
  clip-path:inset(0 var(--reveal-neg) 0 0);
  background:transparent !important;  /* pas de fond blanc */
  z-index:-1;                         /* passe SOUS le reste tant que non init */
}
.afo-fc-splide.is-initialized{ z-index:auto; }

/* Track sans fond pour éviter l’effet “bandeau blanc” */
.afo-fc-splide .splide__track{ background:transparent !important; }

/* Nettoyage Splide + gaps fiables */
.afo-fc-splide .splide__track{
  overflow:visible;
  padding:0 !important;
}
.afo-fc-splide .splide__list{
  margin:0 !important;
  padding:0 !important;
}
.afo-fc-splide .splide__slide{
  margin-right:var(--gap) !important;
  flex:0 0 auto;
}
.afo-fc-splide .splide__slide:last-child{
  margin-right:0 !important;
}

/* Affiche brute */
.afo-fc-poster{
  display:block;
  height:380px !important;
  width:auto !important;
  max-width:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  transform-origin:center center;
  will-change:transform;
  transition:transform .18s ease;
}
.afo-fc-poster:hover{
  transform:scale(1.2);
}

/* Responsive */
@media (max-width:520px){
  .afo-films-carousel-all{ --gap:18px; }
}

/* === Gaps constants entre affiches === */
.afo-films-carousel-all{ --afo-purple:#4d2c7a; --gap:30px; --reveal:80px; }
.afo-fc-splide .splide__track{
  overflow:visible;
  padding:0 !important;
}
.afo-fc-splide .splide__list{
  margin:0 !important;
  padding:0 !important;
}
.afo-fc-splide .splide__slide{
  margin-right:var(--gap) !important;
  flex:0 0 auto;
  /* important pour le zoom : */
  overflow:visible;      /* empêche toute coupe par le slide */
  position:relative;     /* permet le z-index au hover */
}
.afo-fc-splide .splide__slide:last-child{
  margin-right:0 !important;
}

/* === Affiche (zoom non rogné) === */
.afo-fc-poster{
  display:block;
  height:380px !important;
  width:auto !important;
  max-width:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  transform-origin:center center;
  will-change:transform;
  transition:transform .18s ease;
}
.afo-fc-item{ overflow:visible; }
.afo-fc-poster:hover{
  transform:scale(1.05);
  z-index:5;            /* passe au-dessus des voisines */
}

/* ===================== */
/* FOCUS VISIBLES (WCAG) */
/* ===================== */

/* Bouton principal / CTA focus visible */
.afo-fc-cta:focus-visible{
  outline:2px solid var(--global-palette1);
  outline-offset:4px;
}

/* Flèches du carrousel focus visible */
.afo-fc-arrows button:focus-visible{
  outline:2px solid var(--global-palette1);
  outline-offset:4px;
}

/* Focus visible sur l’affiche (via le lien ou directement sur l’image si tab-able) */
.afo-fc-link:focus-visible .afo-fc-poster,
.afo-fc-poster:focus-visible{
  outline:3px solid var(--global-palette1);
  outline-offset:4px;
}

/* ============================= */
/* Réduction de mouvement (WCAG) */
/* ============================= */

@media (prefers-reduced-motion: reduce){
  .afo-fc-poster{
    transition:none !important;
    transform:none !important;
  }
}
