/* ===== AFO – Carrousel Film (Edition courante) – STANDALONE ===== */

.afo-films-carousel-current{
  --afo-purple:#4d2c7a;
  --gap:30px;
  --reveal:80px;
  --afo-poster-hover-scale: 1.05; /* mets 1.2 si tu veux gros zoom */
}

.afo-films-carousel-current *{ box-sizing:border-box; }

/* On évite de cacher toute la section (risque WP Rocket delay)
   -> on masque seulement le carousel tant que JS n’a pas "ready" */
.afo-films-carousel-current .afo-fc-splide{
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.afo-films-carousel-current.afo-fc-ready .afo-fc-splide{
  opacity: 1;
  pointer-events: auto;
}

/* Header */
.afo-fc-header{
  display:grid;
  gap:30px;
  margin:0 0 40px;
  justify-items:center;
}

.afo-fc-title{
  margin:0!important;
  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;
  padding:12px 22px;
}

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

/* 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{
    gap:30px;
    justify-content:flex-end;
  }
}

/* Carrousel – aligné à gauche, reveal à droite jusqu'au bord écran */
.afo-films-carousel-current .afo-fc-splide{
  --reveal-neg: calc(var(--reveal) * -1);
  --afo-clip-pad: 18px; /* tolérance anti-coupe (12–28px) */
  position: relative;
  overflow: visible;
  background: transparent !important;

  /* ✅ on “ouvre” le clip sur top/bottom/left pour laisser vivre le hover */
  clip-path: inset(
    calc(var(--afo-clip-pad) * -1)
    var(--reveal-neg)
    calc(var(--afo-clip-pad) * -1)
    calc(var(--afo-clip-pad) * -1)
  );

  z-index: 0;
}

.afo-films-carousel-current .afo-fc-splide.is-initialized{
  z-index: auto;
}

.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; }

/* Splide coupe parfois via overflow:hidden */
.afo-films-carousel-current .afo-fc-splide,
.afo-films-carousel-current .afo-fc-splide .splide__track,
.afo-films-carousel-current .afo-fc-splide .splide__list,
.afo-films-carousel-current .afo-fc-splide .splide__slide{
  overflow: visible !important;
  padding-top: 4px;
}
.afo-films-carousel-current .splide__slide{ z-index: 1; }
.afo-films-carousel-current .splide__slide:hover,
.afo-films-carousel-current .splide__slide:focus-within{ z-index: 20; }

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

/* Zoom sur le WRAPPER (pour que l'encadré suive quand il existe) */
.afo-films-carousel-current .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 (PLUS de rose au hover) */
.afo-films-carousel-current .afo-fc-link:hover{
  transform: scale(var(--afo-poster-hover-scale));
}

/* Responsive */
@media (max-width:520px){
  .afo-films-carousel-current{ --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 natif (Tab) : encadré rose, pas obligé de zoomer */
.afo-films-carousel-current .afo-fc-link:focus-visible{
  outline: none !important;
}
.afo-films-carousel-current .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 */
/* ================================ */
/* Le JS met .afo-fc-kbd-active uniquement quand lastInput === "keyboard" */
.afo-films-carousel-current .afo-fc-link.afo-fc-kbd-active{
  transform: scale(var(--afo-poster-hover-scale));
}
.afo-films-carousel-current .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-current .afo-fc-link{ transition:none !important; transform:none !important; }
  .afo-films-carousel-current .afo-fc-link.afo-fc-kbd-active{ transform:none !important; }
}

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