/* =========================================================
   S2IA V52 — Correctif STRICTEMENT mobile/tablette
   Aucun style desktop n'est modifié.
   ========================================================= */
.mobile-slider-dots{display:none!important;}

@media (max-width:980px){
  /* Header mobile : logo agrandi, hamburger réduit */
  html{scroll-padding-top:104px!important;}
  body{padding-top:104px!important;}
  .site-header .top-shell{
    height:104px!important;
    min-height:104px!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-areas:'brand toggle'!important;
    gap:10px!important;
    padding:6px 12px!important;
  }
  .site-header .brand{
    grid-area:brand!important;
    min-width:0!important;
    width:auto!important;
    justify-content:flex-start!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(300px,calc(100vw - 76px))!important;
    max-width:min(300px,calc(100vw - 76px))!important;
    height:90px!important;
    min-height:90px!important;
    max-height:90px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav-toggle{
    grid-area:toggle!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:13px!important;
    gap:4px!important;
    box-shadow:0 8px 18px rgba(6,26,67,.18)!important;
  }
  .site-header .nav-toggle span{
    width:20px!important;
    height:2px!important;
  }
  body.mobile-nav-open .nav-toggle{
    top:16px!important;
    right:14px!important;
  }

  /* Slider mobile : grand format, sans espace blanc, pastilles uniquement */
  .hero-slider{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    line-height:0!important;
    background:#071f46!important;
    overflow:hidden!important;
  }
  .slider-stage{
    position:relative!important;
    width:100vw!important;
    height:clamp(320px,72vw,560px)!important;
    min-height:320px!important;
    max-height:560px!important;
    aspect-ratio:auto!important;
    margin:0 calc(50% - 50vw)!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    background:#071f46!important;
    line-height:0!important;
  }
  .slider-stage .slide,
  .slider-stage [data-slide]{
    position:absolute!important;
    inset:0!important;
    overflow:hidden!important;
    background:#071f46!important;
  }
  .slider-stage .slide:before,
  .slider-stage [data-slide]:before{
    content:''!important;
    position:absolute!important;
    inset:-28px!important;
    z-index:0!important;
    background-image:var(--slide-mobile-bg)!important;
    background-size:cover!important;
    background-position:center!important;
    filter:blur(20px) brightness(.68) saturate(1.12)!important;
    transform:scale(1.12)!important;
  }
  .slider-stage .slide:after,
  .slider-stage [data-slide]:after{
    content:''!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(180deg,rgba(7,31,70,.10),rgba(7,31,70,.22))!important;
    pointer-events:none!important;
  }
  .slider-stage .slide img,
  .slider-stage [data-slide] img{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:transparent!important;
    filter:none!important;
    opacity:1!important;
  }
  .slider-stage .slider-arrow{
    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{
    position:absolute!important;
    left:50%!important;
    bottom:14px!important;
    z-index:30!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    min-height:20px!important;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:rgba(7,31,70,.58)!important;
    backdrop-filter:blur(8px)!important;
    box-shadow:0 8px 20px rgba(0,0,0,.20)!important;
  }
  .slider-stage .mobile-slider-dots button{
    display:block!important;
    width:10px!important;
    height:10px!important;
    min-width:10px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.62)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:width .2s ease,background .2s ease!important;
  }
  .slider-stage .mobile-slider-dots button.is-active{
    width:30px!important;
    background:#f26722!important;
  }
  .hero-slider + .hero-actions,
  .hero-actions{
    margin-top:0!important;
    border-top:0!important;
  }

  /* Haut patronage : photo et identité centrées */
  .patronage-welcome{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .patronage-welcome-inner{
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:start!important;
  }
  .patronage-identity-card{
    padding:22px 18px!important;
  }
  .patronage-identity-content{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    text-align:center!important;
  }
  .patronage-president-photo{
    order:1!important;
    width:min(230px,72vw)!important;
    height:270px!important;
    min-height:270px!important;
    margin:0 auto!important;
    border-radius:24px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .patronage-president-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
    display:block!important;
  }
  .patronage-identity-text{
    order:2!important;
    width:100%!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  .patronage-identity-text h3{
    width:100%!important;
    margin:0 0 8px!important;
    text-align:center!important;
    font-size:clamp(25px,6.6vw,34px)!important;
    line-height:1.12!important;
  }
  .patronage-identity-text .president-function,
  .patronage-identity-text .president-country,
  .patronage-identity-text p{
    width:100%!important;
    margin:2px 0!important;
    text-align:center!important;
    font-size:18px!important;
    line-height:1.35!important;
  }

  /* Présentation du Salon : titres propres, non superposés, texte lisible */
  .salon-presentation-section{
    padding:48px 16px 58px!important;
    overflow:hidden!important;
  }
  .salon-presentation-inner{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
  .salon-presentation-head{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 24px!important;
    padding:0 4px!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .salon-presentation-head h2{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 14px!important;
    padding:0!important;
    color:#071f46!important;
    font-size:clamp(28px,7.2vw,36px)!important;
    line-height:1.12!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-align:center!important;
  }
  .salon-subtitle-colored{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:0!important;
    font-size:clamp(23px,6vw,30px)!important;
    line-height:1.18!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .salon-subtitle-colored .subtitle-red{
    display:block!important;
    width:100%!important;
    color:#e51e2a!important;
  }
  .salon-presentation-grid{
    grid-template-columns:1fr!important;
    gap:20px!important;
    margin-top:0!important;
  }
  .salon-presentation-full-v51,
  .salon-presentation-text{
    width:100%!important;
    max-width:100%!important;
    padding:24px 20px!important;
    border-radius:22px!important;
  }
  .salon-presentation-full-v51 p,
  .salon-presentation-text p{
    margin:0!important;
    color:#17345d!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:17px!important;
    line-height:1.68!important;
    text-align:left!important;
    overflow-wrap:break-word!important;
  }
}

@media (max-width:620px){
  html{scroll-padding-top:98px!important;}
  body{padding-top:98px!important;}
  .site-header .top-shell{
    height:98px!important;
    min-height:98px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(286px,calc(100vw - 72px))!important;
    max-width:min(286px,calc(100vw - 72px))!important;
    height:86px!important;
    min-height:86px!important;
    max-height:86px!important;
  }
  .site-header .nav-toggle{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:12px!important;
  }
  .slider-stage{
    height:clamp(320px,78vw,390px)!important;
    min-height:320px!important;
    max-height:390px!important;
  }
  .patronage-president-photo{
    width:min(220px,74vw)!important;
    height:255px!important;
    min-height:255px!important;
  }
  .salon-presentation-head h2{
    font-size:clamp(27px,7.4vw,34px)!important;
  }
  .salon-subtitle-colored{
    font-size:clamp(22px,6.2vw,28px)!important;
  }
}
