/* =========================================================
   AFROTUNE HOME PREMIUM V4.1
   Couche de finition — conserve V4
   ========================================================= */


/* Anciennes sections détectées comme doublons */
body.afh-home-active .afh-legacy-duplicate {
  display: none !important;
}


/* ---------------------------------------------------------
   CONTENEUR PREMIUM
--------------------------------------------------------- */

#afrotune-home-premium {
  position: relative;
  isolation: isolate;
}

#afrotune-home-premium .afh-section {
  position: relative;
  margin-top: 34px;
}

#afrotune-home-premium .afh-section:first-child {
  margin-top: 0;
}


/* ---------------------------------------------------------
   TITRES
--------------------------------------------------------- */

#afrotune-home-premium h2,
#afrotune-home-premium .afh-title {
  letter-spacing: -0.02em;
}

#afrotune-home-premium .afh-section-header {
  margin-bottom: 17px;
}


/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */

#afrotune-home-premium .afh-hero {
  overflow: hidden;
  border-radius: 26px;
  box-shadow:
    0 22px 70px rgba(0,0,0,.30),
    inset 0 0 0 1px rgba(255,255,255,.05);
}

#afrotune-home-premium .afh-hero img {
  transition:
    transform .7s cubic-bezier(.2,.8,.2,1),
    filter .7s ease;
}

#afrotune-home-premium .afh-hero:hover img {
  transform: scale(1.025);
}


/* ---------------------------------------------------------
   CARROUSELS
--------------------------------------------------------- */

#afrotune-home-premium .afh-scroll {
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  overscroll-behavior-inline: contain;
  padding-bottom: 8px;
}

#afrotune-home-premium .afh-scroll > * {
  scroll-snap-align: start;
}


/* Scrollbar discrète */

#afrotune-home-premium .afh-scroll {
  scrollbar-width: thin;
}

#afrotune-home-premium .afh-scroll::-webkit-scrollbar {
  height: 5px;
}

#afrotune-home-premium .afh-scroll::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.15);
  border-radius: 20px;
}

#afrotune-home-premium .afh-scroll::-webkit-scrollbar-track {
  background: transparent;
}


/* ---------------------------------------------------------
   CARTES
--------------------------------------------------------- */

#afrotune-home-premium .afh-card,
#afrotune-home-premium .afh-playlist-card,
#afrotune-home-premium .afh-artist-card {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

#afrotune-home-premium .afh-card:hover,
#afrotune-home-premium .afh-playlist-card:hover,
#afrotune-home-premium .afh-artist-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 38px rgba(0,0,0,.24);
}


/* ---------------------------------------------------------
   IMAGES
--------------------------------------------------------- */

#afrotune-home-premium .afh-card img,
#afrotune-home-premium .afh-playlist-card img {
  object-fit: cover;
}

#afrotune-home-premium .afh-artist-card img {
  object-fit: cover;
}


/* ---------------------------------------------------------
   BOUTONS
--------------------------------------------------------- */

#afrotune-home-premium button,
#afrotune-home-premium a {
  -webkit-tap-highlight-color: transparent;
}

#afrotune-home-premium .afh-play,
#afrotune-home-premium .afh-primary {
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    opacity .18s ease;
}

#afrotune-home-premium .afh-play:hover,
#afrotune-home-premium .afh-primary:hover {
  transform: translateY(-2px);
}


/* ---------------------------------------------------------
   GENRES
--------------------------------------------------------- */

#afrotune-home-premium .afh-genres {
  gap: 10px;
}

#afrotune-home-premium .afh-genre {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}


/* ---------------------------------------------------------
   CTA CREATEURS
--------------------------------------------------------- */

#afrotune-home-premium .afh-pro {
  position: relative;
  overflow: hidden;
}

#afrotune-home-premium .afh-pro::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  right: -160px;
  top: -190px;
  background: rgba(255,255,255,.035);
  pointer-events: none;
}


/* ---------------------------------------------------------
   ANIMATION D'APPARITION
--------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {

  body.afh-v41-ready
  #afrotune-home-premium
  .afh-section.afh-v41-reveal {
    opacity: 0;
    transform: translateY(12px);
    transition:
      opacity .45s ease,
      transform .45s ease;
  }

  body.afh-v41-ready
  #afrotune-home-premium
  .afh-section.afh-v41-reveal.afh-v41-visible {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ---------------------------------------------------------
   TABLETTE
--------------------------------------------------------- */

@media (max-width: 900px) {

  #afrotune-home-premium .afh-section {
    margin-top: 28px;
  }

  #afrotune-home-premium .afh-hero {
    border-radius: 22px;
  }
}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 640px) {

  #afrotune-home-premium {
    overflow: hidden;
  }

  #afrotune-home-premium .afh-section {
    margin-top: 25px;
  }

  #afrotune-home-premium .afh-hero {
    border-radius: 18px;
  }

  #afrotune-home-premium .afh-scroll {
    padding-right: 18px;
    scroll-padding-left: 4px;
  }

  #afrotune-home-premium .afh-card,
  #afrotune-home-premium .afh-playlist-card {
    scroll-snap-align: start;
  }

  #afrotune-home-premium .afh-pro {
    border-radius: 20px;
  }
}


/* ---------------------------------------------------------
   PETITS MOBILES
--------------------------------------------------------- */

@media (max-width: 390px) {

  #afrotune-home-premium .afh-section {
    margin-top: 22px;
  }

  #afrotune-home-premium .afh-hero {
    border-radius: 16px;
  }
}
