/* ========================================================================== 
   S2IA V59 — TV / Grands écrans / Slider / Drapeaux / Packs DUO
   Feuille de consolidation finale chargée après les feuilles historiques.
   ========================================================================== */
:root{
  --v59-navy:#071f46;
  --v59-navy-2:#0b315f;
  --v59-orange:#f26722;
  --v59-orange-dark:#cf4f11;
  --v59-green:#23833a;
  --v59-light:#edf1f5;
  --v59-line:#d7e0ea;
  --v59-header-height:116px;
  --v59-mobile-header-height:88px;
}
html{scroll-padding-top:calc(var(--v59-header-height) + 16px)!important}
html body{overflow-x:hidden!important}
html body > main,
html body main{padding-top:var(--v59-header-height)!important;margin:0!important}

/* --------------------------------------------------------------------------
   HEADER DESKTOP : hauteur légèrement augmentée, séparations et alignement
   -------------------------------------------------------------------------- */
@media (min-width:1181px){
  html body .site-header{
    height:var(--v59-header-height)!important;
    min-height:var(--v59-header-height)!important;
    background:rgba(255,255,255,.99)!important;
    border-bottom:1px solid rgba(7,31,70,.12)!important;
  }
  html body .site-header .top-shell{
    display:grid!important;
    grid-template-areas:"brand nav countdown"!important;
    grid-template-columns:minmax(235px,285px) minmax(510px,1fr) minmax(340px,405px)!important;
    grid-template-rows:98px!important;
    align-items:center!important;
    gap:13px!important;
    width:min(calc(100% - 24px),2100px)!important;
    max-width:2100px!important;
    height:100px!important;
    min-height:100px!important;
    margin:6px auto!important;
    padding:5px 12px!important;
    border-radius:12px!important;
  }
  html body .site-header .brand{
    height:80px!important;
    min-height:80px!important;
  }
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    width:min(276px,100%)!important;
    max-width:276px!important;
    height:80px!important;
    max-height:80px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  html body .site-header .main-nav{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
  }
  html body .site-header .main-nav .mobile-nav-body{display:contents!important}
  html body .site-header .main-nav .main-nav-links{
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    min-height:58px!important;
    height:58px!important;
    gap:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,var(--v59-orange-dark),var(--v59-orange) 58%,#ff8b42)!important;
    border:1px solid rgba(150,53,7,.38)!important;
    border-radius:4px!important;
    box-shadow:0 8px 20px rgba(242,103,34,.20)!important;
  }
  html body .site-header .main-nav .main-nav-links > a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 12px!important;
    border:0!important;
    border-right:2px solid rgba(255,255,255,.58)!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:16.5px!important;
    font-weight:900!important;
    line-height:1.1!important;
    letter-spacing:-.025em!important;
    text-align:center!important;
    white-space:nowrap!important;
    box-shadow:inset -1px 0 0 rgba(83,25,0,.16)!important;
  }
  html body .site-header .main-nav .main-nav-links > a:last-child{
    border-right:0!important;
    box-shadow:none!important;
  }
  html body .site-header .main-nav .main-nav-links > a:hover,
  html body .site-header .main-nav .main-nav-links > a:focus-visible,
  html body .site-header .main-nav .main-nav-links > a.is-active{
    background:var(--v59-navy)!important;
    color:#fff!important;
  }
  html body .site-header .header-countdown{
    align-self:center!important;
    width:100%!important;
    max-width:405px!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    padding:5px 7px!important;
    overflow:visible!important;
    background:linear-gradient(145deg,#061832,#0b315f)!important;
    border:1px solid rgba(7,31,70,.25)!important;
    border-left:5px solid var(--v59-orange)!important;
    border-top:0!important;
    border-radius:7px!important;
    box-shadow:0 8px 20px rgba(7,31,70,.18),inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
  html body .site-header .header-countdown .countdown-grid{
    display:grid!important;
    grid-template-columns:minmax(47px,1fr) 4px minmax(47px,1fr) 4px minmax(47px,1fr) 4px minmax(47px,1fr) 4px minmax(47px,1fr)!important;
    align-items:center!important;
    gap:1px!important;
    width:100%!important;
    max-width:none!important;
  }
  html body .site-header .countdown-unit{
    gap:2px!important;
    min-width:0!important;
  }
  html body .site-header .countdown-digits{
    display:flex!important;
    justify-content:center!important;
    gap:2px!important;
    min-height:31px!important;
  }
  html body .site-header .flip-digit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:16px!important;
    width:16px!important;
    height:29px!important;
    min-height:29px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:3px!important;
    background:linear-gradient(#f9fbfd 0 48%,#e6ebf1 49% 100%)!important;
    color:#071f46!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:20px!important;
    font-weight:900!important;
    line-height:1!important;
    text-shadow:0 1px 0 #fff!important;
    box-shadow:0 2px 5px rgba(0,0,0,.25)!important;
  }
  html body .site-header .countdown-unit small{
    color:#fff!important;
    font-size:7.5px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  html body .site-header .countdown-separator{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:4px!important;
    height:31px!important;
    color:#ffb27d!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:31px!important;
  }
  html body .site-header .countdown-mobile-close{display:none!important}
}

/* Laptop : menu conservé lisible, compteur légèrement compressé. */
@media (min-width:1181px) and (max-width:1540px){
  html body .site-header .top-shell{
    grid-template-columns:minmax(215px,245px) minmax(500px,1fr) minmax(315px,350px)!important;
    gap:9px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:238px!important;max-width:238px!important}
  html body .site-header .main-nav .main-nav-links > a{
    padding:0 8px!important;
    font-size:14.5px!important;
  }
  html body .site-header .header-countdown{max-width:350px!important;padding-left:5px!important;padding-right:5px!important}
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(41px,1fr) 3px minmax(41px,1fr) 3px minmax(41px,1fr) 3px minmax(41px,1fr) 3px minmax(41px,1fr)!important;
  }
  html body .site-header .flip-digit{min-width:14px!important;width:14px!important;font-size:18px!important}
  html body .site-header .countdown-unit small{font-size:6.7px!important}
}

/* --------------------------------------------------------------------------
   SLIDER : visible sur TV/4K, sans flèches, pastilles et autoplay JS
   -------------------------------------------------------------------------- */
html body .hero-slider,
html body main > .hero-slider{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:var(--v59-navy)!important;
  overflow:hidden!important;
  line-height:0!important;
}
html body .hero-slider .slider-stage{
  position:relative!important;
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  height:39.31966vw!important; /* 1999 x 786 — fallback pour navigateurs TV */
  min-height:430px!important;
  max-height:1510px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--v59-navy)!important;
}
html body .hero-slider .slider-viewport,
html body .hero-slider .slider-stage .slide,
html body .hero-slider .slide-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .hero-slider .slider-stage .slide{
  opacity:0!important;
  visibility:hidden!important;
  z-index:0!important;
  pointer-events:none!important;
  transition:opacity .7s ease,visibility .7s ease!important;
}
html body .hero-slider .slider-stage .slide.is-active,
html body .hero-slider .slider-stage:not(.is-js-ready) .slide:first-child{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  pointer-events:auto!important;
}
html body .hero-slider .slide-media,
html body .hero-slider .slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:var(--v59-navy)!important;
  transform:none!important;
}
html body .hero-slider .slider-arrow,
html body .hero-slider [data-prev],
html body .hero-slider [data-next]{display:none!important;visibility:hidden!important}
html body .hero-slider .slider-control-bar{
  position:absolute!important;
  z-index:20!important;
  left:50%!important;
  right:auto!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:999px!important;
  background:rgba(7,31,70,.68)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.25)!important;
  backdrop-filter:blur(7px)!important;
  line-height:1!important;
}
html body .hero-slider .mobile-slider-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
html body .hero-slider .mobile-slider-dots button{
  display:block!important;
  width:10px!important;
  min-width:10px!important;
  height:10px!important;
  min-height:10px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.56)!important;
  box-shadow:none!important;
  transition:width .22s ease,background .22s ease,border-radius .22s ease!important;
}
html body .hero-slider .mobile-slider-dots button.is-active{
  width:30px!important;
  min-width:30px!important;
  border-radius:999px!important;
  border-color:var(--v59-orange)!important;
  background:var(--v59-orange)!important;
}

/* --------------------------------------------------------------------------
   CHIFFRES CLÉS : fond gris, images plein cadre et légende noire dessous
   -------------------------------------------------------------------------- */
html body .s2ia-keyfig-black{
  background:#eef1f4!important;
  color:var(--v59-navy)!important;
  padding:64px 0 72px!important;
}
html body .s2ia-keyfig-black::before,
html body .s2ia-keyfig-black::after{display:none!important;content:none!important}
html body .s2ia-keyfig-black .s2ia-section-title-dark h2{color:var(--v59-navy)!important}
html body .s2ia-keyfig-black .s2ia-section-title-dark > span:first-child{background:var(--v59-orange)!important}
html body .s2ia-keyfig-black .s2ia-section-title-dark > span:last-child{background:var(--v59-green)!important}
html body .keyfig-grid-premium{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
html body .keyfig-premium-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(190px,1fr) auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #d6dee7!important;
  border-radius:10px!important;
  box-shadow:0 10px 26px rgba(7,31,70,.10)!important;
}
html body .keyfig-premium-card::before,
html body .keyfig-premium-card::after{display:none!important;content:none!important}
html body .keyfig-premium-icon{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:230px!important;
  min-height:230px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#dfe5eb!important;
}
html body .keyfig-premium-icon::before,
html body .keyfig-premium-icon::after{display:none!important;content:none!important}
html body .keyfig-premium-icon img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}
html body .keyfig-caption{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:92px!important;
  padding:16px 20px 18px!important;
  background:#080b10!important;
  color:#fff!important;
  text-align:left!important;
}
html body .keyfig-caption strong,
html body .keyfig-premium-card .keyfig-caption strong{
  position:static!important;
  inset:auto!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:30px!important;
  font-weight:900!important;
  line-height:1.05!important;
  text-shadow:none!important;
}
html body .keyfig-caption p,
html body .keyfig-premium-card .keyfig-caption p{
  position:static!important;
  inset:auto!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
  text-shadow:none!important;
}

/* --------------------------------------------------------------------------
   DRAPEAUX LOCAUX — rendu stable sur TV et navigateurs sans emoji couleur
   -------------------------------------------------------------------------- */
html body .diplomatic-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-width:178px!important;
  min-height:150px!important;
  padding:16px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #d8e1eb!important;
  border-radius:10px!important;
  box-shadow:0 8px 20px rgba(7,31,70,.08)!important;
}
html body .diplomatic-flag-frame{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:116px!important;
  height:76px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f7f9fb!important;
  border:1px solid #ccd5df!important;
  border-radius:4px!important;
  box-shadow:0 3px 8px rgba(7,31,70,.12)!important;
}
html body .diplomatic-flag-frame img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
}
html body .diplomatic-card > strong{
  display:block!important;
  color:var(--v59-navy)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-align:center!important;
}

/* --------------------------------------------------------------------------
   PILIERS : vraies balises image, compatibles TV
   -------------------------------------------------------------------------- */
html body .event-pillars-section .pillars-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  overflow:visible!important;
}
html body .event-pillars-section .pillar-card,
html body .event-pillars-section .pillars-row > article{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  min-width:0!important;
  min-height:290px!important;
  height:290px!important;
  padding:22px!important;
  overflow:hidden!important;
  background:#102a50!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:12px!important;
  box-shadow:0 14px 28px rgba(7,31,70,.16)!important;
}
html body .event-pillars-section .pillar-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:linear-gradient(180deg,rgba(7,31,70,.02) 28%,rgba(7,31,70,.88) 100%)!important;
}
html body .event-pillars-section .pillar-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}
html body .event-pillars-section .pillar-icon{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:48px!important;
  height:48px!important;
  margin:0 0 12px!important;
  border-radius:9px!important;
  background:var(--v59-orange)!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
}
html body .event-pillars-section .pillar-card > strong{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-shadow:0 2px 8px rgba(0,0,0,.55)!important;
}

/* --------------------------------------------------------------------------
   PACKS DUO : pour chaque pack, stand équipé et stand nu
   -------------------------------------------------------------------------- */
html body .dual-stand-meta,
html body .stand-type-badges,
html body .dual-pack-badges{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
html body .stand-status.is-equipped,
html body .stand-type-badge.equipped,
html body .dual-pack-badges span:first-child{
  background:#e6f4e9!important;
  color:#126c2a!important;
  border:1px solid #b8dfc1!important;
}
html body .stand-status.is-bare,
html body .stand-type-badge.bare,
html body .dual-pack-badges span:last-child{
  background:#fff1e8!important;
  color:#b6450d!important;
  border:1px solid #ffd0b8!important;
}
html body .dual-stand-meta .stand-status,
html body .stand-type-badges .stand-type-badge,
html body .dual-pack-badges span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:5px 11px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
}
html body .pack-card-actions-dual{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
html body .pack-card-actions-dual .pack-action-outline{grid-column:1/-1!important}
html body .pack-card-actions-dual button,
html body .stand-modal-actions button,
html body .dual-pack-page-actions button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:48px!important;
  height:auto!important;
  padding:11px 12px!important;
  border-radius:7px!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:12.5px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  visibility:visible!important;
  opacity:1!important;
}
html body .pack-card-actions-dual .equipped-choice,
html body .stand-modal-actions .equipped-choice,
html body .dual-pack-page-actions button:first-child{
  border:1px solid #167633!important;
  background:#23833a!important;
  color:#fff!important;
}
html body .pack-card-actions-dual .bare-choice,
html body .stand-modal-actions .bare-choice,
html body .dual-pack-page-actions button:last-child{
  border:1px solid #d94d08!important;
  background:var(--v59-orange)!important;
  color:#fff!important;
}
html body .stand-modal-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:16px!important;
}
html body .dual-exhibition-page-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
}
html body .dual-exhibition-page-card{height:auto!important;overflow:visible!important}
html body .dual-exhibition-page-card > img{width:100%!important;height:210px!important;object-fit:cover!important}
html body .dual-pack-badges{padding:12px 14px 0!important}
html body .dual-pack-page-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:14px!important;
}

/* --------------------------------------------------------------------------
   MOBILE / TABLETTE : aucun espace entre header et slider, menu défilable,
   compteur flottant et slider entièrement visible légèrement rehaussé
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  :root{--v59-header-height:var(--v59-mobile-header-height)!important}
  html{scroll-padding-top:calc(var(--v59-mobile-header-height) + 8px)!important}
  html body > main,
  html body main{
    padding-top:var(--v59-mobile-header-height)!important;
    margin:0!important;
  }
  html body .site-header{
    height:var(--v59-mobile-header-height)!important;
    min-height:var(--v59-mobile-header-height)!important;
    max-height:var(--v59-mobile-header-height)!important;
    padding:0!important;
    border-bottom:0!important;
    box-shadow:0 5px 18px rgba(7,31,70,.12)!important;
    background:#fff!important;
  }
  html body .site-header .top-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 60px!important;
    grid-template-areas:"brand toggle"!important;
    grid-template-rows:var(--v59-mobile-header-height)!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    max-width:none!important;
    height:var(--v59-mobile-header-height)!important;
    min-height:var(--v59-mobile-header-height)!important;
    margin:0!important;
    padding:2px 8px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    overflow:visible!important;
  }
  html body .site-header .brand{
    grid-area:brand!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:82px!important;
    min-height:82px!important;
    overflow:hidden!important;
  }
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    display:block!important;
    width:min(330px,calc(100vw - 80px))!important;
    max-width:min(330px,calc(100vw - 80px))!important;
    height:80px!important;
    max-height:80px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  html body .site-header .nav-toggle{
    grid-area:toggle!important;
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:11px!important;
    background:var(--v59-navy)!important;
    box-shadow:0 7px 16px rgba(7,31,70,.20)!important;
  }
  html body .site-header .nav-toggle span{
    display:block!important;
    width:27px!important;
    height:3px!important;
    margin:3px 0!important;
    border-radius:3px!important;
    background:#fff!important;
  }
  /* Menu latéral : le corps et le bloc contacts restent entièrement accessibles. */
  html body .site-header .main-nav{
    position:fixed!important;
    z-index:100300!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:min(92vw,470px)!important;
    max-width:470px!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    visibility:hidden!important;
    opacity:0!important;
    transform:translate3d(104%,0,0)!important;
    transition:transform .32s ease,opacity .24s ease,visibility .32s ease!important;
    background:linear-gradient(180deg,#fff 0%,#f4f6f9 100%)!important;
    border:0!important;
    border-left:1px solid #dbe3ec!important;
    border-radius:0!important;
    box-shadow:-20px 0 46px rgba(7,31,70,.24)!important;
    overscroll-behavior:contain!important;
  }
  html body .site-header .main-nav.is-open{
    visibility:visible!important;
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  html body .site-header .main-nav .mobile-nav-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex:0 0 auto!important;
    min-height:92px!important;
    padding:12px 14px!important;
    background:#fff!important;
    border-bottom:1px solid #dce4ed!important;
  }
  html body .site-header .main-nav .mobile-nav-body{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:14px 14px calc(150px + env(safe-area-inset-bottom,0px))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    scrollbar-gutter:stable!important;
  }
  html body .site-header .main-nav .main-nav-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  html body .site-header .main-nav .main-nav-links > a{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 28px!important;
    align-items:center!important;
    min-height:58px!important;
    height:auto!important;
    padding:10px 12px!important;
    border:1px solid #dce4ed!important;
    border-left:5px solid var(--nav-accent,var(--v59-orange))!important;
    border-radius:8px!important;
    background:#fff!important;
    color:var(--v59-navy)!important;
    font-size:15px!important;
    font-weight:900!important;
    text-align:left!important;
    white-space:normal!important;
    box-shadow:0 5px 14px rgba(7,31,70,.07)!important;
  }
  html body .site-header .main-nav .mobile-nav-contact{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:16px 0 0!important;
    padding:16px!important;
    overflow:visible!important;
    background:#fff!important;
    border:1px solid #dce4ed!important;
    border-radius:9px!important;
  }
  html body.mobile-nav-open{overflow:hidden!important;touch-action:none!important}

  /* Compteur sorti du header et flottant au bas de l’écran. */
  html body .site-header .header-countdown{
    position:fixed!important;
    z-index:99980!important;
    top:auto!important;
    right:auto!important;
    bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
    left:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(94vw,520px)!important;
    max-width:520px!important;
    height:72px!important;
    min-height:72px!important;
    margin:0!important;
    padding:8px 36px 8px 10px!important;
    transform:translateX(-50%)!important;
    background:linear-gradient(145deg,#061832,#0b315f)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-left:5px solid var(--v59-orange)!important;
    border-top:0!important;
    border-radius:12px!important;
    box-shadow:0 12px 34px rgba(7,31,70,.34)!important;
    overflow:visible!important;
  }
  html body .site-header .header-countdown.is-dismissed{display:none!important}
  html body.mobile-nav-open .header-countdown,
  html body.modal-open .header-countdown{display:none!important}
  html body .site-header .countdown-mobile-close{
    position:absolute!important;
    top:6px!important;
    right:6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.25)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    font-size:18px!important;
    font-weight:900!important;
  }
  html body .site-header .header-countdown .countdown-grid{
    display:grid!important;
    grid-template-columns:minmax(43px,1fr) 3px minmax(43px,1fr) 3px minmax(43px,1fr) 3px minmax(43px,1fr) 3px minmax(43px,1fr)!important;
    align-items:center!important;
    gap:2px!important;
    width:100%!important;
  }
  html body .site-header .countdown-unit{gap:3px!important;min-width:0!important}
  html body .site-header .countdown-digits{display:flex!important;justify-content:center!important;gap:2px!important;min-height:34px!important}
  html body .site-header .flip-digit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:17px!important;
    width:17px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.23)!important;
    border-radius:3px!important;
    background:linear-gradient(#fff 0 48%,#e8edf2 49% 100%)!important;
    color:var(--v59-navy)!important;
    font-size:21px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  html body .site-header .countdown-unit small{
    color:#fff!important;
    font-size:7px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  html body .site-header .countdown-separator{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:3px!important;
    height:34px!important;
    color:#ffb17b!important;
    font-size:15px!important;
    font-weight:900!important;
  }

  /* Aucun espace externe et proportion mobile complète, légèrement rehaussée. */
  html body .hero-slider,
  html body main > .hero-slider{
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    border-top:0!important;
    line-height:0!important;
  }
  html body .hero-slider .slider-stage{
    width:100%!important;
    height:56.5vw!important;
    min-height:220px!important;
    max-height:650px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:var(--v59-navy)!important;
  }
  html body .hero-slider .slide-media,
  html body .hero-slider .slide img{
    object-fit:contain!important;
    object-position:center!important;
    background:var(--v59-navy)!important;
  }
  html body .hero-slider .slider-control-bar{
    bottom:8px!important;
    padding:6px 9px!important;
  }
  html body .hero-slider .mobile-slider-dots{gap:6px!important}
  html body .hero-slider .mobile-slider-dots button{width:8px!important;min-width:8px!important;height:8px!important;min-height:8px!important}
  html body .hero-slider .mobile-slider-dots button.is-active{width:24px!important;min-width:24px!important}

  html body .keyfig-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  html body .keyfig-premium-icon{height:190px!important;min-height:190px!important}
  html body .keyfig-caption{min-height:82px!important;padding:13px 14px 15px!important}
  html body .keyfig-caption strong,
  html body .keyfig-premium-card .keyfig-caption strong{font-size:24px!important}
  html body .keyfig-caption p,
  html body .keyfig-premium-card .keyfig-caption p{font-size:12px!important}

  html body .event-pillars-section .pillars-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  html body .event-pillars-section .pillar-card,
  html body .event-pillars-section .pillars-row > article{height:245px!important;min-height:245px!important;padding:17px!important}
  html body .event-pillars-section .pillar-card > strong{font-size:17px!important}

  html body .professional-pack-card,
  html body .s2ia-pack-section .professional-pack-card{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html body .professional-pack-content{height:auto!important;min-height:0!important;overflow:visible!important}
  html body .pack-card-actions,
  html body .pack-card-actions-dual{
    position:static!important;
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html body .pack-card-actions button,
  html body .pack-card-actions-dual button{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  html body .dual-exhibition-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}

@media (max-width:620px){
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    width:min(290px,calc(100vw - 76px))!important;
    max-width:min(290px,calc(100vw - 76px))!important;
  }
  html body .site-header .header-countdown{width:96vw!important;height:70px!important;min-height:70px!important;padding-left:7px!important;padding-right:32px!important}
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(37px,1fr) 2px minmax(37px,1fr) 2px minmax(37px,1fr) 2px minmax(37px,1fr) 2px minmax(37px,1fr)!important;
    gap:1px!important;
  }
  html body .site-header .flip-digit{min-width:15px!important;width:15px!important;height:30px!important;min-height:30px!important;font-size:19px!important}
  html body .site-header .countdown-unit small{font-size:6px!important;letter-spacing:0!important}
  html body .hero-slider .slider-stage{height:57vw!important;min-height:212px!important}
  html body .keyfig-grid-premium{grid-template-columns:1fr!important;gap:17px!important}
  html body .keyfig-premium-icon{height:230px!important;min-height:230px!important}
  html body .event-pillars-section .pillars-row{grid-template-columns:1fr!important}
  html body .event-pillars-section .pillar-card,
  html body .event-pillars-section .pillars-row > article{height:270px!important;min-height:270px!important}
  html body .pack-card-actions-dual{grid-template-columns:1fr!important}
  html body .pack-card-actions-dual .pack-action-outline{grid-column:auto!important}
  html body .stand-modal-actions{grid-template-columns:1fr!important}
  html body .dual-exhibition-page-grid{grid-template-columns:1fr!important}
  html body .dual-pack-page-actions{grid-template-columns:1fr!important}
}

/* --------------------------------------------------------------------------
   TV / 4K : dimensions stables et sections réellement visibles
   -------------------------------------------------------------------------- */
@media (min-width:2200px){
  :root{--v59-header-height:142px}
  html body > main,
  html body main{padding-top:var(--v59-header-height)!important}
  html body .site-header{height:142px!important;min-height:142px!important}
  html body .site-header .top-shell{
    grid-template-columns:minmax(430px,500px) minmax(1080px,1fr) minmax(680px,780px)!important;
    grid-template-rows:124px!important;
    width:min(96vw,3520px)!important;
    max-width:3520px!important;
    height:128px!important;
    min-height:128px!important;
    margin:7px auto!important;
    padding:7px 20px!important;
    gap:24px!important;
    border-radius:16px!important;
  }
  html body .site-header .brand{height:112px!important;min-height:112px!important}
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:450px!important;max-width:450px!important;height:110px!important;max-height:110px!important}
  html body .site-header .main-nav .main-nav-links,
  html body .site-header .main-nav .main-nav-links > a{height:78px!important;min-height:78px!important}
  html body .site-header .main-nav .main-nav-links > a{padding:0 22px!important;font-size:22px!important;border-right-width:3px!important}
  html body .site-header .header-countdown{max-width:780px!important;height:78px!important;min-height:78px!important;padding:8px 12px!important;border-left-width:7px!important}
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(82px,1fr) 8px minmax(82px,1fr) 8px minmax(82px,1fr) 8px minmax(82px,1fr) 8px minmax(82px,1fr)!important;
    gap:4px!important;
  }
  html body .site-header .flip-digit{min-width:26px!important;width:26px!important;height:48px!important;min-height:48px!important;font-size:34px!important;border-radius:5px!important}
  html body .site-header .countdown-digits{min-height:50px!important;gap:3px!important}
  html body .site-header .countdown-unit small{font-size:11px!important}
  html body .site-header .countdown-separator{width:8px!important;height:50px!important;font-size:26px!important}

  html body .hero-slider .slider-stage{
    display:block!important;
    visibility:visible!important;
    height:39.31966vw!important;
    min-height:900px!important;
    max-height:1510px!important;
  }
  html body .hero-slider .slider-control-bar{bottom:30px!important;padding:12px 18px!important}
  html body .hero-slider .mobile-slider-dots{gap:13px!important}
  html body .hero-slider .mobile-slider-dots button{width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important}
  html body .hero-slider .mobile-slider-dots button.is-active{width:48px!important;min-width:48px!important}

  html body .s2ia-keyfig-inner,
  html body .institutional-clean-inner,
  html body .s2ia-strip-inner,
  html body .salon-presentation-inner,
  html body .s2ia-showcase-inner,
  html body .event-pillars-inner,
  html body .partner-logo-cloud-inner,
  html body .footer-pro-inner{
    width:min(92vw,3380px)!important;
    max-width:3380px!important;
  }
  html body .keyfig-grid-premium{gap:38px!important}
  html body .keyfig-premium-icon{height:430px!important;min-height:430px!important}
  html body .keyfig-caption{min-height:136px!important;padding:24px 30px 28px!important}
  html body .keyfig-caption strong,
  html body .keyfig-premium-card .keyfig-caption strong{font-size:50px!important}
  html body .keyfig-caption p,
  html body .keyfig-premium-card .keyfig-caption p{font-size:22px!important}

  html body .diplomatic-track{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:26px!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  html body .diplomatic-card{min-width:0!important;min-height:245px!important;padding:22px!important;gap:18px!important}
  html body .diplomatic-flag-frame{width:190px!important;height:124px!important}
  html body .diplomatic-card > strong{font-size:22px!important}
  html body .diplomatic-partners-section .strip-arrow,
  html body .diplomatic-partners-section .diplomatic-dots{display:none!important}

  html body .event-pillars-section .pillars-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:34px!important}
  html body .event-pillars-section .pillar-card,
  html body .event-pillars-section .pillars-row > article{height:510px!important;min-height:510px!important;padding:34px!important;border-radius:18px!important}
  html body .event-pillars-section .pillar-icon{width:72px!important;height:72px!important;font-size:36px!important}
  html body .event-pillars-section .pillar-card > strong{font-size:34px!important}

  html body .professional-pack-grid{gap:34px!important}
  html body .pack-card-actions-dual button{font-size:17px!important;min-height:62px!important}
}

@media (min-width:3800px){
  html body .hero-slider .slider-stage{min-height:1490px!important;max-height:1540px!important}
}

@media (prefers-reduced-motion:reduce){
  html body .hero-slider .slider-stage .slide{transition:none!important}
}
