/* ===== AFO – Carrousel Film (Tous les films) ===== */
.afo-films-carousel-all{
  --afo-purple:#4d2c7a;
  --gap:30px;
  --reveal:80px;
  --afo-poster-hover-scale: 1.05; /* mets 1.2 si tu veux gros zoom */
}
.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 init */

/* 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;
  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,PHN2ZyB3aWR0aD0nNDAnIGhlaWdodD0nNDAnIHZpZXdCb3g9JzAgMCA0MCA0MCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNi42NjY3NSAyNUgxMC4wMDAxQzEwLjg4NDEgMjUgMTEuNzMyIDI1LjM1MTIgMTIuMzU3MSAyNS45NzYzQzEyLjk4MjIgMjYuNjAxNCAxMy4zMzM0IDI3LjQ0OTMgMTMuMzMzNCAyOC4zMzMzVjMxLjY2NjdIMTUuMDAwMVYyOC4zMzMzQzE1LjAwMDEgMjcuNDQ5MyAxNS4zNTEzIDI2LjYwMTQgMTUuOTc2NCAyNS45NzYzQzE2LjYwMTUgMjUuMzUxMiAxNy40NDk0IDI1IDE4LjMzMzQgMjVIMjEuNjY2N0MyMi41NTA4IDI1IDIzLjM5ODYgMjUuMzUxMiAyNC4wMjM4IDI1Ljk3NjNDMjQuNjQ4OSAyNi42MDE0IDI1LjAwMDEgMjcuNDQ5MyAyNS4wMDAxIDI4LjMzMzNWMzEuNjY2N0gyNi42NjY3VjI4LjMzMzNDMjYuNjY2NyAyNy40NDkzIDI3LjAxNzkgMjYuNjAxNCAyNy42NDMxIDI1Ljk3NjNDMjguMjY4MiAyNS4zNTEyIDI5LjExNiAyNSAzMC4wMDAxIDI1SDMzLjMzMzRDMzQuMjE3NSAyNSAzNS4wNjUzIDI1LjM1MTIgMzUuNjkwNCAyNS45NzYzQzM2LjMxNTYgMjYuNjAxNCAzNi42NjY3IDI3LjQ0OTMgMzYuNjY2NyAyOC4zMzMzVjMxLjY2NjdIMzguMzMzNFYzNi42NjY3SDEuNjY2NzVWMzEuNjY2N0gzLjMzMzQxVjI4LjMzMzNDMy4zMzM0MSAyNy40NDkzIDMuNjg0NiAyNi42MDE0IDQuMzA5NzMgMjUuOTc2M0M0LjkzNDg1IDI1LjM1MTIgNS43ODI2OSAyNSA2LjY2Njc1IDI1Wk0xOC4zMzM0IDExLjY2NjdMMjUuMDAwMSAxNi42NjY3TDE4LjMzMzQgMjEuNjY2N1YxMS42NjY3Wk02LjY2Njc1IDMuMzMzMzNIMzMuMzMzNEMzNC4yMTc1IDMuMzMzMzMgMzUuMDY1MyAzLjY4NDUyIDM1LjY5MDQgNC4zMDk2NEMzNi4zMTU2IDQuOTM0NzcgMzYuNjY2NyA1Ljc4MjYxIDM2LjY2NjcgNi42NjY2N1YyMi41NjY3QzM1LjY1NzEgMjEuOTcxNyAzNC41MDUzIDIxLjY2MDcgMzMuMzMzNCAyMS42NjY3VjYuNjY2NjdINi42NjY3NVYyMS42NjY3QzUuNDUwMDggMjEuNjY2NyA0LjMxNjc1IDIxLjk4MzQgMy4zMzM0MSAyMi41NjY3VjYuNjY2NjdDMzIuMzMzNDEgNS43ODI2MSAzLjY4NDYgNC45MzQ3NyA0LjMwOTczIDQuMzA5NjRDNC45MzQ4NSAzLjY4NDUyIDUuNzgyNjkgMy4zMzMzMyA2LjY2Njc1IDMuMzMzMzNaJyBmaWxsPSclMjNmZmYnLz48L3N2Zz4=");
}

/* 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);
  --afo-clip-pad: 18px;

  position:relative;
  overflow:visible;

  clip-path: inset(
    calc(var(--afo-clip-pad) * -1)
    var(--reveal-neg)
    calc(var(--afo-clip-pad) * -1)
    calc(var(--afo-clip-pad) * -1)
  );

  background:transparent !important;

  /* anti-flash / anti-click avant init */
  visibility: hidden;
  pointer-events: none;
}

.afo-fc-splide.is-initialized{
  visibility: visible;
  pointer-events: 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;
  overflow:visible;
  position:relative;
}
.afo-fc-splide .splide__slide:last-child{ margin-right:0 !important; }

/* ✅ PATCH anti-clip + empilement */
.afo-films-carousel-all .afo-fc-splide,
.afo-films-carousel-all .afo-fc-splide .splide__track,
.afo-films-carousel-all .afo-fc-splide .splide__list,
.afo-films-carousel-all .afo-fc-splide .splide__slide{
  overflow: visible !important;
  padding-top: 4px;
}
.afo-films-carousel-all .splide__slide{ z-index: 1; }
.afo-films-carousel-all .splide__slide:hover,
.afo-films-carousel-all .splide__slide:focus-within{ z-index: 20; }

/* Vignette */
.afo-fc-item{ overflow:visible; }

/* Zoom sur wrapper */
.afo-films-carousel-all .afo-fc-link{
  position: relative;
  display: inline-block;
  line-height: 0;
  overflow: visible;
  transform-origin: center center;
  will-change: transform;
  transition: transform .18s ease;
}

/* Image */
.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: none !important;
}

/* ✅ Souris: hover = zoom SEULEMENT */
.afo-films-carousel-all .afo-fc-link:hover{
  transform: scale(var(--afo-poster-hover-scale));
}

/* Pas de zoom automatique au focus */
.afo-films-carousel-all .afo-fc-link:focus-visible{
  transform: none !important;
}

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

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

.afo-fc-cta:focus-visible{
  outline:2px solid var(--global-palette1);
  outline-offset:4px;
}
.afo-fc-arrows button:focus-visible{
  outline:2px solid var(--global-palette1);
  outline-offset:4px;
}

/* Focus clavier (Tab) : encadré rose */
.afo-films-carousel-all .afo-fc-link:focus-visible{
  outline: none !important;
}
.afo-films-carousel-all .afo-fc-link:focus-visible::before{
  content:"";
  position:absolute;
  inset: 0;
  border: 5px solid var(--global-palette2);
  box-sizing: border-box;
  pointer-events:none;
  z-index: 30;
}

/* ================================ */
/* ✅ CLAVIER (flèches) : rose + zoom */
/* ================================ */
.afo-films-carousel-all .afo-fc-link.afo-fc-kbd-active{
  transform: scale(var(--afo-poster-hover-scale));
}
.afo-films-carousel-all .afo-fc-link.afo-fc-kbd-active::before{
  content:"";
  position:absolute;
  inset: 0;
  border: 5px solid var(--global-palette2);
  box-sizing: border-box;
  pointer-events:none;
  z-index: 30;
}

/* ============================= */
/* Réduction de mouvement (WCAG) */
/* ============================= */
@media (prefers-reduced-motion: reduce){
  .afo-fc-poster{ transition:none !important; transform:none !important; }
  .afo-films-carousel-all .afo-fc-link{ transition:none !important; transform:none !important; }
  .afo-films-carousel-all .afo-fc-link.afo-fc-kbd-active{ transform:none !important; }
}

/* ========================= */
/* COMPTEUR (visible)        */
/* ========================= */
.afo-films-carousel-all .afo-fc-count{
  margin: 10px 0 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--global-palette1);
  text-align: left;
}

/* ========================= */
/* VIGNETTE SÉLECTIONNÉE     */
/* ========================= */
.afo-films-carousel-all .afo-fc-item.is-selected{ z-index: 20; }
.afo-films-carousel-all .afo-fc-item.is-selected .afo-fc-link{
  position: relative;
  display: inline-block;
  line-height: 0;
  z-index: 20;
}
.afo-films-carousel-all .afo-fc-item.is-selected .afo-fc-link::after{
  content:"";
  position:absolute;
  inset:0;
  border:4px solid var(--global-palette2);
  box-sizing:border-box;
  pointer-events:none;
  z-index: 25;
}

/* Focus doit rester stable même si selected */
.afo-films-carousel-all .afo-fc-item.is-selected .afo-fc-link:focus-visible::after{
  transform: none !important;
}
