/* =========================================================
   S2IA V53 — Correctifs ciblés mobile + Message du Président
   Desktop conservé, hors ajout du lien/popup Président.
   ========================================================= */

/* Éléments nouveaux, valables desktop et mobile */
.mobile-action-icon{display:none;}
.president-message-card{
  background:var(--welcome-card-bg,#fff)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
}
.president-message-card h3{
  color:var(--welcome-title-color,#071f46)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
  font-size:var(--welcome-title-size,27px)!important;
}
.president-message-card p{
  color:var(--welcome-body-color,#233b65)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
  font-size:var(--welcome-body-size,17px)!important;
  text-align:var(--welcome-text-align,justify)!important;
}
.president-message-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:18px 0 0!important;
  padding:0 0 6px!important;
  border:0!important;
  border-bottom:2px solid currentColor!important;
  background:transparent!important;
  color:var(--welcome-link-color,#0d4da8)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.president-message-modal.is-open{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  overflow-y:auto!important;
}
.president-message-modal-card{
  width:min(920px,94vw)!important;
  max-height:90vh!important;
  display:block!important;
  overflow-y:auto!important;
  margin:0!important;
  padding:38px 42px 42px!important;
  border-radius:30px!important;
  background:var(--president-popup-bg,#fff)!important;
}
.president-popup-heading{
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:center!important;
  margin-bottom:28px!important;
}
.president-popup-heading img{
  width:130px!important;
  height:150px!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:22px!important;
  box-shadow:0 14px 30px rgba(6,26,67,.14)!important;
}
.president-popup-heading span{
  display:block!important;
  margin-bottom:8px!important;
  color:#f26722!important;
  font-size:15px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.president-popup-heading h2{
  margin:0!important;
  color:var(--president-popup-title-color,#071f46)!important;
  font-family:var(--president-popup-font,Verdana),Arial,sans-serif!important;
  font-size:var(--president-popup-title-size,32px)!important;
  line-height:1.1!important;
}
.president-popup-content{
  color:var(--president-popup-text-color,#233b65)!important;
  font-family:var(--president-popup-font,Verdana),Arial,sans-serif!important;
  font-size:var(--president-popup-text-size,18px)!important;
  line-height:1.78!important;
  text-align:var(--president-popup-align,justify)!important;
}

@media (max-width:980px){
  /* Menu mobile net, sans flou sur le contenu */
  .site-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
  }
  .site-header .main-nav{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    opacity:1!important;
    background:#071f46!important;
    text-rendering:optimizeLegibility!important;
    -webkit-font-smoothing:antialiased!important;
  }
  .site-header .main-nav a{
    filter:none!important;
    opacity:1!important;
    text-shadow:none!important;
  }
  body.mobile-nav-open:before{
    background:rgba(3,12,28,.66)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
  }

  /* Logo plus grand et hamburger légèrement agrandi */
  html{scroll-padding-top:116px!important;}
  body{padding-top:116px!important;}
  .site-header .top-shell{
    height:116px!important;
    min-height:116px!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    gap:8px!important;
    padding:6px 12px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(342px,calc(100vw - 76px))!important;
    max-width:min(342px,calc(100vw - 76px))!important;
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav-toggle{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:15px!important;
    gap:5px!important;
  }
  .site-header .nav-toggle span{
    width:23px!important;
    height:3px!important;
  }
  body.mobile-nav-open .nav-toggle{
    top:18px!important;
    right:16px!important;
  }

  /* Slider mobile plein cadre : chaque bannière remplit le slider */
  .hero-slider{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#071f46!important;
    overflow:hidden!important;
    line-height:0!important;
  }
  .slider-stage{
    width:100vw!important;
    height:clamp(430px,116vw,650px)!important;
    min-height:430px!important;
    max-height:650px!important;
    aspect-ratio:auto!important;
    margin:0 calc(50% - 50vw)!important;
    padding:0!important;
    overflow:hidden!important;
    background:#071f46!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .slider-stage .slide,
  .slider-stage [data-slide]{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background:#071f46!important;
    overflow:hidden!important;
  }
  .slider-stage .slide:before,
  .slider-stage .slide:after,
  .slider-stage [data-slide]:before,
  .slider-stage [data-slide]:after{
    display:none!important;
    content:none!important;
    background:none!important;
    filter:none!important;
  }
  .slider-stage .slide img,
  .slider-stage [data-slide] img{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#071f46!important;
    filter:none!important;
    opacity:1!important;
  }
  /* Suppression définitive des flèches du slider en mobile */
  .hero-slider .slider-arrow,
  .hero-slider [data-prev],
  .hero-slider [data-next],
  .slider-stage .slider-arrow,
  .slider-stage > button.prev,
  .slider-stage > button.next{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .slider-stage .mobile-slider-dots,
  .slider-stage .slider-dots.mobile-slider-dots{
    left:50%!important;
    right:auto!important;
    bottom:16px!important;
    z-index:40!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
    padding:7px 12px!important;
    border-radius:999px!important;
    background:rgba(7,31,70,.76)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
  }
  .slider-stage .mobile-slider-dots button{
    display:block!important;
    width:11px!important;
    height:11px!important;
    min-width:11px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.70)!important;
  }
  .slider-stage .mobile-slider-dots button.is-active{
    width:34px!important;
    background:#f26722!important;
  }
  .hero-slider + .hero-actions,
  .hero-actions{
    margin-top:0!important;
    border-top:0!important;
  }

  /* Pictogrammes sur les deux boutons d'action mobile */
  .hero-actions .action-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
  }
  .mobile-action-icon{
    display:inline-flex!important;
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
    font-size:21px!important;
    line-height:1!important;
    font-weight:950!important;
  }
  .mobile-action-label{
    display:inline-block!important;
  }

  /* Popup Président mobile */
  .president-message-link{
    width:100%!important;
    justify-content:center!important;
    font-size:17px!important;
  }
  .president-message-modal.is-open{
    align-items:flex-start!important;
    padding:10px 8px!important;
  }
  .president-message-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    margin:0!important;
    padding:26px 18px 30px!important;
    border-radius:22px!important;
  }
  .president-popup-heading{
    grid-template-columns:90px minmax(0,1fr)!important;
    gap:16px!important;
    align-items:center!important;
    padding-right:32px!important;
  }
  .president-popup-heading img{
    width:90px!important;
    height:110px!important;
    border-radius:18px!important;
  }
  .president-popup-heading h2{
    font-size:min(var(--president-popup-title-size,32px),28px)!important;
  }
  .president-popup-content{
    font-size:min(var(--president-popup-text-size,18px),18px)!important;
    line-height:1.68!important;
  }
}

@media (max-width:620px){
  html{scroll-padding-top:112px!important;}
  body{padding-top:112px!important;}
  .site-header .top-shell{
    height:112px!important;
    min-height:112px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(326px,calc(100vw - 72px))!important;
    max-width:min(326px,calc(100vw - 72px))!important;
    height:100px!important;
    min-height:100px!important;
    max-height:100px!important;
  }
  .site-header .nav-toggle{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
  }
  .slider-stage{
    height:clamp(420px,124vw,590px)!important;
    min-height:420px!important;
    max-height:590px!important;
  }
  .president-popup-heading{
    grid-template-columns:1fr!important;
    text-align:center!important;
    padding-right:0!important;
  }
  .president-popup-heading img{
    margin:0 auto!important;
  }
}
