/* =========================================================
   PAGE SOUTENIR ARTIST+
========================================================= */

.page-soutenir-artistplus{
    width: 100%;
    overflow-x: hidden;
  }


  /* =========================================================
   HERO SOUTENIR
   - exact même logique que accueil
========================================================= */

.page-soutenir-hero{
    width: 100%;
    padding: 5% 0;
  }
  
  .page-soutenir-hero-contenu{
    width: 100%;
    padding: 0 15% 0 15%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8%;
  }
  
  /* Colonne texte */
  .page-soutenir-hero-texte{
    width: 52%;
  }
  
  /* Titre */
  .page-soutenir-hero-titre{
    margin: 0 0 5% 0;
    font-family: var(--font-titre);
    font-weight: var(--font-weight-titre);
    letter-spacing: var(--tracking-titre);
    text-transform: uppercase;
    line-height: 1;
  }
  
  /* Sous-texte */
  .page-soutenir-hero-soustitre{
    margin-top: 3vh;
    margin-bottom: 0;
    max-width: 90%;
    font-family: var(--font-texte);
    font-weight: var(--font-weight-texte);
    line-height: 1.5;
  }
  
  /* CTA */
  .page-soutenir-hero-cta{
    margin-top: 5%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  /* =========================================================
     BOUTON HERO
  ========================================================= */
  
  .page-soutenir-hero-bouton{
    margin-top: 5%;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    width: fit-content;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: var(--noir);
    text-decoration: none;
  }
  
  .page-soutenir-hero-bouton-texte{
    position: relative;
    font-family: var(--font-titre);
    font-weight: var(--font-weight-titre);
    letter-spacing: var(--tracking-titre);
    text-transform: uppercase;
  }
  
  .page-soutenir-hero-bouton-texte::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.18em;
    width: 100%;
    height: 0.09em;
    background: var(--noir);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
  }
  
  .page-soutenir-hero-bouton-plus{
    position: relative;
    width: 0.9rem;
    height: 0.9rem;
    display: inline-block;
    transition: transform 0.35s ease;
  }
  
  .page-soutenir-hero-bouton-plus::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0.12rem;
    background: var(--noir);
    transform: translateY(-50%);
  }
  
  .page-soutenir-hero-bouton-plus::after{
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 0.12rem;
    height: 100%;
    background: var(--noir);
    transform: translateX(-50%);
  }
  
  .page-soutenir-hero-bouton:hover .page-soutenir-hero-bouton-texte::after{
    transform: scaleX(1);
  }
  
  .page-soutenir-hero-bouton:hover .page-soutenir-hero-bouton-plus{
    transform: rotate(90deg);
  }
  
  /* =========================================================
     COLONNE VISUEL
  ========================================================= */
  
  .page-soutenir-hero-visuel{
    width: 40%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  
  .page-soutenir-hero-image{
    width: 100%;
    max-width: 20rem;
    height: auto;
    display: block;
    object-fit: contain;
  }
  /* =========================================================
   RESPONSIVE HERO — PAGE SOUTENIR
========================================================= */

@media (max-width: 900px){


  .page-soutenir-hero-contenu{
    width: 100%;
    padding: 0 8%;
    flex-direction: column;
    align-items: flex-start;
    gap: 6vh;
  }

  .page-soutenir-hero-texte{
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .page-soutenir-hero-titre{
    width: 100%;
    max-width: 100%;
    line-height: 0.96;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
    white-space: normal;
  }

  .page-soutenir-hero-soustitre{
    max-width: 100%;
  }

  .page-soutenir-hero-cta{
    width: 100%;
  }

  .page-soutenir-hero-visuel{
    width: 100%;
    order: 2;
  }

  .page-soutenir-hero-image{
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 480px){

  .page-soutenir-hero-contenu{
    padding: 0 10%;
  }

}






  /* =========================================================
     SECTION — SOUTENIR ARTIST+
     → même système que les autres sections validées
  ========================================================= */
  
  .page-soutenir-dispositif{
    width: 100%;
    padding: 5% 0 5% 0;
  }
  
  /* =========================================================
     CONTENU CENTRÉ (titre + intro)
  ========================================================= */
  
  .page-soutenir-dispositif-contenu{
    width: 100%;
    margin: 0 auto 5% auto;
    padding: 0 15%;
  }
  
  /* =========================================================
     TITRE
  ========================================================= */
  
  .page-soutenir-dispositif-titre{
    margin: 0 0 5% 0;
    font-family: var(--font-titre);
    font-weight: var(--font-weight-titre);
    letter-spacing: var(--tracking-titre);
    text-transform: uppercase;
    line-height: 1.05;
  }
  
  /* =========================================================
     INTRODUCTION
  ========================================================= */
  
  .page-soutenir-dispositif-introduction{
    display: flex;
    align-items: stretch;
    gap: 3%;
    padding-left: 15%;
  }
  
  .page-soutenir-dispositif-introduction-ligne{
    width: 0.1rem;
    background: rgba(0,0,0,0.25);
  }
  
  .page-soutenir-dispositif-introduction-contenu{
    width: 100%;
  }
  
  .page-soutenir-dispositif-intro{
    margin: 0;
    font-family: var(--font-texte);
    font-weight: var(--font-weight-texte);
    line-height: 1.45;
  }
  
  /* =========================================================
     GRILLE PICTOS
  ========================================================= */
  
  .page-soutenir-dispositif-grille{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10%;
    row-gap: 5vh;
    padding: 0 15% 0 20%;
  }
  
  .page-soutenir-dispositif-bloc{
    width: 100%;
    max-width: 90%;
  }
  
  .page-soutenir-dispositif-bloc:nth-child(odd){
    justify-self: start;
  }
  
  .page-soutenir-dispositif-bloc:nth-child(even){
    justify-self: start;
  }
  
  .page-soutenir-dispositif-bloc:nth-child(1){ margin-top: 10vh; }
  .page-soutenir-dispositif-bloc:nth-child(2){ margin-top: -1vh; }
  .page-soutenir-dispositif-bloc:nth-child(3){ margin-top: 10vh; }
  .page-soutenir-dispositif-bloc:nth-child(4){ margin-top: -2vh; }
  
  /* =========================================================
     PICTOGRAMMES / BLOCS
  ========================================================= */
  
  .page-soutenir-dispositif-bloc-pictogramme{
    width: 15%;
    min-width: 3rem;
    margin-bottom: 3vh;
  }
  
  .page-soutenir-dispositif-bloc-pictogramme img{
    display: block;
    width: 100%;
    height: auto;
  }
  
  .page-soutenir-dispositif-bloc-contenu{
    width: 100%;
  }
  
  .page-soutenir-dispositif-bloc-titre{
    margin: 0 0 2vh 0;
    font-family: var(--font-titre);
    font-weight: var(--font-weight-titre);
    letter-spacing: var(--tracking-titre);
    text-transform: uppercase;
    line-height: 1.08;
  }
  
  .page-soutenir-dispositif-bloc-texte{
    margin: 0;
    font-family: var(--font-texte);
    font-weight: var(--font-weight-texte);
    line-height: 1.45;
    max-width: 100%;
  }
  
  /* =========================================================
     RESPONSIVE TABLETTE
  ========================================================= */
  
  @media (max-width: 1024px){
  
  
    .page-soutenir-hero-contenu{
      padding: 0 10%;
      grid-template-columns: 1fr;
      row-gap: 6vh;
    }
  
    .page-soutenir-hero-soustitre{
      max-width: 100%;
    }
  
    .page-soutenir-hero-visuel{
      justify-content: flex-start;
    }
  
    .page-soutenir-hero-image{
      max-width: 30rem;
    }
  
    .page-soutenir-dispositif-contenu{
      padding: 0 10%;
      margin-bottom: 10%;
    }
  
    .page-soutenir-dispositif-titre{
      margin: 0 0 5% 5%;
      line-height: 1.02;
    }
  
    .page-soutenir-dispositif-introduction-contenu{
      max-width: 80%;
    }
  
    .page-soutenir-dispositif-grille{
      grid-template-columns: 1fr;
      column-gap: 8%;
      row-gap: 6vh;
      padding: 10% 15%;
    }
  
    .page-soutenir-dispositif-bloc{
      max-width: 100%;
    }
  
    .page-soutenir-dispositif-bloc:nth-child(1),
    .page-soutenir-dispositif-bloc:nth-child(2),
    .page-soutenir-dispositif-bloc:nth-child(3),
    .page-soutenir-dispositif-bloc:nth-child(4){
      margin-top: 0;
    }
  
    .page-soutenir-dispositif-bloc-pictogramme{
      width: 15%;
      min-width: 2.5rem;
      margin-bottom: 5%;
    }
  
    .page-soutenir-dispositif-bloc-titre{
      line-height: 1.12;
    }
  
    .page-soutenir-dispositif-bloc-texte{
      line-height: 1.5;
    }

    .page-soutenir-dispositif-introduction{
      padding-left: 10%;
      gap: 10%;
    }
  }
  
  /* =========================================================
     RESPONSIVE MOBILE
  ========================================================= */
  
  @media (max-width: 640px){
  
  
    .page-soutenir-hero-contenu{
      padding: 0 10%;
      row-gap: 5vh;
    }
  
    .page-soutenir-hero-titre{
      margin: 0 0 8% 0;
      line-height: 1.05;
    }
  
    .page-soutenir-hero-soustitre{
      margin: 0 0 8% 0;
      line-height: 1.5;
    }
  
    .page-soutenir-hero-image{
      max-width: 100%;
    }
  
    .page-soutenir-dispositif-titre{
      margin: 0 0 8% 0;
      line-height: 1.05;
    }

  
    .page-soutenir-dispositif-introduction-contenu{
      max-width: 100%;
    }
  
    .page-soutenir-dispositif-intro{
      line-height: 1.5;
    }
  
    .page-soutenir-dispositif-bloc{
      width: 100%;
      max-width: 100%;
    }
  
    .page-soutenir-dispositif-bloc-pictogramme{
      width: 15%;
      min-width: 2.5rem;
      margin-bottom: 5%;
    }
  
    .page-soutenir-dispositif-bloc-titre{
      margin: 0 0 1.5vh 0;
      line-height: 1.12;
    }
  
    .page-soutenir-dispositif-bloc-texte{
      line-height: 1.55;
    }
  }
  

  /* =========================================================
   SECTION IMAGE BANDEAU — PAGE SOUTENIR
   - système 100% / pourcentages uniquement
========================================================= */

.page-soutenir-image-bandeau{
  width: 100%;
  padding: 5% 10% 0 10%;
}

.page-soutenir-image-bandeau-contenu{
  position: relative;
  width: 100%;
  padding-top: 30%;
  overflow: hidden;
}

.page-soutenir-image-bandeau-contenu img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =========================================================
   RESPONSIVE TABLETTE
========================================================= */

@media (max-width: 1024px){

  .page-soutenir-image-bandeau{
    padding: 5% 10%;
  }

  .page-soutenir-image-bandeau-contenu{
    padding-top: 50%;
  }
}