@charset "UTF-8";

/* ==========================================================
   MAISON YAMM — INSTITUTIONAL SHELL V2
   ----------------------------------------------------------
   Les composants internes appartiennent aux pages archive.
   Ce fichier ne gère que :
   - le fond général
   - la respiration sous le header
   - le titre externe
   - les sécurités responsive
   ========================================================== */

:root{
  --yamm-inst-bg:#f5f5f5;
  --yamm-inst-black:#0b0b0b;
  --yamm-inst-line:rgba(0,0,0,.10);
}

body.yamm-ip-active,
body.yamm-ip-active .yamm-main,
body:has(.yamm-ip-main) .yamm-main{
  background:var(--yamm-inst-bg)!important;
}

.yamm-ip-main,
.yamm-ip-main *,
.yamm-ip-main *::before,
.yamm-ip-main *::after{
  box-sizing:border-box;
}

.yamm-ip-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;

  padding:
    clamp(58px,6vw,90px)
    0
    clamp(76px,8vw,120px)
    !important;

  background:var(--yamm-inst-bg)!important;
  color:var(--yamm-inst-black);
  overflow:visible!important;
}

.yamm-ip-container{
  width:min(
    calc(100% - 48px),
    1360px
  )!important;

  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
}

/*
 * IMPORTANT :
 * aucune grande carte générique ici.
 *
 * Qui sommes-nous, Réseaux, FAQ, RDV, etc.
 * possèdent déjà leurs propres feuilles / cartes / grilles.
 */
.yamm-ip-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;
  box-shadow:none!important;

  overflow:visible!important;
}

.yamm-ip-body,
.yamm-ip-legacy{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;

  margin:0!important;
  padding:0!important;

  overflow:visible!important;
}

/* ==========================================================
   TITRE PAGE
   ========================================================== */

.yamm-ip-page-head{
  width:min(100%,940px)!important;
  max-width:940px!important;

  margin:
    0
    auto
    clamp(38px,5vw,60px)
    !important;

  padding:0 14px!important;

  text-align:center!important;
}

.yamm-ip-page-head__eyebrow{
  margin:0 0 12px!important;

  color:rgba(0,0,0,.48)!important;

  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif!important;

  font-size:10px!important;
  font-weight:600!important;
  line-height:1.2!important;

  letter-spacing:.19em!important;
  text-transform:uppercase!important;
}

.yamm-ip-page-head h1{
  display:block!important;

  margin:0!important;
  padding:0!important;

  color:#0b0b0b!important;

  font-family:
    "Intrepid",
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif!important;

  font-size:
    clamp(37px,4.7vw,62px)
    !important;

  font-weight:400!important;
  line-height:1.04!important;

  letter-spacing:-.025em!important;

  text-align:center!important;
  text-transform:none!important;

  text-wrap:balance;
}

.yamm-ip-page-head__intro{
  width:min(100%,810px);

  margin:
    22px
    auto
    0
    !important;

  color:rgba(0,0,0,.64)!important;

  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif!important;

  font-size:
    clamp(15px,1.35vw,18px)
    !important;

  font-weight:400!important;
  line-height:1.7!important;

  text-align:center!important;
}

/* ==========================================================
   SECURITES GENERALES
   ========================================================== */

.yamm-ip-legacy img{
  max-width:100%;
  height:auto;
}

.yamm-ip-legacy iframe,
.yamm-ip-legacy video{
  max-width:100%;
}

.yamm-ip-legacy input,
.yamm-ip-legacy select,
.yamm-ip-legacy textarea{
  max-width:100%;
}

.yamm-ip-legacy svg{
  max-width:100%;
}

/*
 * Sécurité spécifique : même si un style archive venait
 * momentanément à manquer, une icône sociale ne peut jamais
 * prendre toute la page.
 */
#yamm-legacy-reseaux-sociaux
.card-icon{
  flex:0 0 50px!important;
  width:50px!important;
  min-width:50px!important;
  height:50px!important;
}

#yamm-legacy-reseaux-sociaux
.card-icon svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  fill:currentColor!important;
}

/* Copyright intermédiaire inutile : footer V2 reste la référence. */
.yamm-ip-copyright{
  display:none!important;
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px){

  .yamm-ip-main{
    padding:
      34px
      0
      64px
      !important;
  }

  .yamm-ip-container{
    width:
      calc(100% - 24px)
      !important;
  }

  .yamm-ip-page-head{
    margin-bottom:30px!important;
    padding:0 5px!important;
  }

  .yamm-ip-page-head h1{
    font-size:
      clamp(30px,9vw,42px)
      !important;

    line-height:1.05!important;
  }

  .yamm-ip-page-head__intro{
    margin-top:17px!important;
    font-size:14px!important;
    line-height:1.62!important;
  }

  .yamm-ip-body,
  .yamm-ip-legacy{
    min-width:0!important;
    overflow:hidden!important;
  }

  .yamm-ip-legacy *{
    max-width:100%;
  }

}

/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media(prefers-reduced-motion:reduce){

  .yamm-ip-main *,
  .yamm-ip-main *::before,
  .yamm-ip-main *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }

}

/* ========================================================================== */
/* YAMM — Institutional shell / TRUE V2 HEADER CONTRACT                       */
/* ========================================================================== */

/*
 * IMPORTANT
 * ----------
 * institutional.css est un adaptateur d'archive et contient encore :
 *
 * body.yamm-ip-active .yamm-main {
 *   padding:0!important;
 * }
 *
 * Cette ancienne règle ne doit jamais être propriétaire du shell V2.
 *
 * Sur une page institutionnelle YAMM V2 :
 * - le header V2 reste fixe
 * - .yamm-main réserve exactement sa hauteur
 * - l'article institutionnel commence ensuite avec 30px de respiration
 */

/* Le vrai espace réservé au HEADER V2. */
body.yamm-v2.yamm-ip-active
main.yamm-main#yamm-main{
  padding-top:
    var(--yamm-header-height)
    !important;
}

/*
 * Les pages institutionnelles ne sont pas des routes hero overlay.
 * Même si une classe d'état arrivait momentanément à subsister pendant
 * un cycle PJAX, le contrat institutionnel reste : header blanc puis contenu.
 */
body.yamm-v2.yamm-ip-active.yamm-header-overlay-route
main.yamm-main#yamm-main{
  padding-top:
    var(--yamm-header-height)
    !important;
}

/*
 * 30px demandés ENTRE le bas réel du header V2
 * et le début du contenu institutionnel.
 */
body.yamm-v2.yamm-ip-active
main.yamm-main#yamm-main
> .yamm-ip-main.yamm-institutional-v2{
  width:100%!important;
  max-width:none!important;

  margin:0!important;

  padding:
    30px
    0
    0
    !important;
}

/*
 * Aucun ancien déplacement du header éditorial ne peut le remonter.
 */
body.yamm-v2.yamm-ip-active
.yamm-ip-main.yamm-institutional-v2
> .yamm-ip-container
> .yamm-ip-content
> .yamm-ip-page-head{
  position:static!important;

  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;

  margin-top:0!important;

  transform:none!important;
  translate:none!important;
}

/* Aucun eyebrow au-dessus du H1. */
body.yamm-v2.yamm-ip-active
.yamm-ip-page-head__eyebrow{
  display:none!important;
}

/* ==========================================================
   COPYRIGHT / RACCORDEMENT FOOTER
   ========================================================== */

body.yamm-v2.yamm-ip-active
.yamm-ip-main.yamm-institutional-v2{
  min-height:0!important;
}

body.yamm-v2.yamm-ip-active
.yamm-ip-main.yamm-institutional-v2::after{
  display:none!important;
}

body.yamm-v2.yamm-ip-active
.yamm-ip-main.yamm-institutional-v2
.yamm-ip-copyright{
  display:block!important;

  width:100%!important;
  max-width:none!important;

  margin:
    30px
    0
    0
    !important;

  padding:
    16px
    12px
    18px
    !important;

  border-top:
    1px solid rgba(0,0,0,.08)
    !important;

  border-bottom:
    1px solid rgba(0,0,0,.08)
    !important;

  background:#fff!important;

  color:
    rgba(0,0,0,.55)
    !important;

  text-align:center!important;
}

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

@media(max-width:980px){

  body.yamm-v2.yamm-ip-active
  main.yamm-main#yamm-main{
    padding-top:
      var(--yamm-header-height)
      !important;
  }

  body.yamm-v2.yamm-ip-active
  main.yamm-main#yamm-main
  > .yamm-ip-main.yamm-institutional-v2{
    padding-top:30px!important;
  }

}

/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px){

  body.yamm-v2.yamm-ip-active
  main.yamm-main#yamm-main{
    padding-top:
      var(--yamm-header-height)
      !important;
  }

  body.yamm-v2.yamm-ip-active
  main.yamm-main#yamm-main
  > .yamm-ip-main.yamm-institutional-v2{
    padding:
      30px
      0
      0
      !important;
  }

  body.yamm-v2.yamm-ip-active
  .yamm-ip-main.yamm-institutional-v2
  .yamm-ip-copyright{
    margin-top:24px!important;

    padding:
      14px
      10px
      16px
      !important;
  }

}
