/* SB2P — feuille de style principale (portée depuis la maquette Claude Design) */


  *{box-sizing:border-box}
  body{margin:0;background:#fff;color:#4D4D4D;font-family:'Source Sans 3',system-ui,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
  a{color:#13254A;text-decoration:none}
  a:hover{color:#7BC300}
  input,textarea,select,button{font-family:inherit;font-size:16px}
  h1,h2,h3,h4{font-family:'Poppins',system-ui,sans-serif;color:#13254A;margin:0;letter-spacing:-.015em}
  p{margin:0}
  ul{margin:0}
  ::placeholder{color:#9aa3b0}
  @keyframes tabOn{from{transform:scale(.94);opacity:.5}to{transform:none;opacity:1}}
  @keyframes accOpen{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-6px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
  @keyframes accBody{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  @keyframes accIcon{from{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
  @media (prefers-reduced-motion:reduce){
    #sb2p-root [data-acc],#sb2p-root [data-acc] *{animation:none!important}
    #sb2p-root [data-tab-panel],#sb2p-root [data-tab-panel] *{animation:none!important}
  }
  @keyframes zoneIn{from{opacity:0;transform:translateY(16px) scale(.988)}to{opacity:1;transform:none}}
  @keyframes zoneImg{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:none}}
  @keyframes zoneText{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  @keyframes zoneDot{from{transform:scale(.4);box-shadow:0 0 0 0 rgba(123,195,0,.35)}to{transform:scale(1);box-shadow:0 0 0 5px rgba(123,195,0,.18)}}
  @media (prefers-reduced-motion:reduce){
    #sb2p-root [data-zone-panel],#sb2p-root [data-zone-panel] *{animation:none!important}
  }
  @media (max-width:1040px){
    #sb2p-root [style*="grid-template-columns"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))!important}
    #sb2p-root [style*="grid-auto-rows"]{grid-auto-rows:auto!important}
    #sb2p-root [style*="grid-auto-rows"] > div{min-height:260px}
    #sb2p-root [style*="span 2"],#sb2p-root [style*="span 3"],#sb2p-root [style*="span 4"]{grid-column:auto!important;grid-row:auto!important}
    #sb2p-root [data-resp="split"][style]{grid-template-columns:1fr!important}
    #sb2p-root main div[style*="overflow: hidden"]:has(> img:only-child){max-height:340px}
    #sb2p-root [data-resp="media-band"][style]{max-height:220px!important;min-height:180px!important}
    #sb2p-root [style*="min-height:580px"],#sb2p-root [style*="min-height: 580px"],#sb2p-root [style*="min-height:520px"],#sb2p-root [style*="min-height: 520px"],#sb2p-root [style*="min-height:470px"],#sb2p-root [style*="min-height: 470px"],#sb2p-root [style*="min-height:420px"],#sb2p-root [style*="min-height: 420px"]{min-height:340px!important}
  }
  @media (max-width:1040px){
    #sb2p-root [data-desktop-nav]{display:none!important}
    #sb2p-root [data-burger]{display:flex!important}
  }
  @media (max-width:900px){
    #sb2p-root main [style*="padding:60px"],#sb2p-root main [style*="padding: 60px"],#sb2p-root main [style*="padding:56px"],#sb2p-root main [style*="padding: 56px"],#sb2p-root main [style*="padding:52px"],#sb2p-root main [style*="padding: 52px"],#sb2p-root main [style*="padding:48px"],#sb2p-root main [style*="padding: 48px"]{padding:40px 32px!important}
  }
  @media (max-width:720px){
    body{font-size:16px}
    #sb2p-root main{padding:18px 18px 64px!important}
    #sb2p-root main > section{margin-bottom:48px!important}
    #sb2p-root [style*="grid-template-columns"]{grid-template-columns:1fr!important}
    #sb2p-root h1{font-size:clamp(30px,8.6vw,44px)!important}
    #sb2p-root h2{font-size:clamp(25px,6.6vw,34px)!important}
    #sb2p-root main [style*="padding:60px"],#sb2p-root main [style*="padding: 60px"],#sb2p-root main [style*="padding:56px"],#sb2p-root main [style*="padding: 56px"],#sb2p-root main [style*="padding:52px"],#sb2p-root main [style*="padding: 52px"],#sb2p-root main [style*="padding:48px"],#sb2p-root main [style*="padding: 48px"],#sb2p-root main [style*="padding:44px"],#sb2p-root main [style*="padding: 44px"],#sb2p-root main [style*="padding:40px"],#sb2p-root main [style*="padding: 40px"],#sb2p-root main [style*="padding:38px"],#sb2p-root main [style*="padding: 38px"],#sb2p-root main [style*="padding:36px"],#sb2p-root main [style*="padding: 36px"],#sb2p-root main [style*="padding:34px"],#sb2p-root main [style*="padding: 34px"],#sb2p-root main [style*="padding:32px"],#sb2p-root main [style*="padding: 32px"],#sb2p-root main [style*="padding:30px"],#sb2p-root main [style*="padding: 30px"]{padding:28px 22px!important}
    #sb2p-root [style*="border-radius:44px"],#sb2p-root [style*="border-radius: 44px"],#sb2p-root [style*="border-radius:40px"],#sb2p-root [style*="border-radius: 40px"]{border-radius:26px!important}
    #sb2p-root [style*="border-radius:36px"],#sb2p-root [style*="border-radius: 36px"],#sb2p-root [style*="border-radius:32px"],#sb2p-root [style*="border-radius: 32px"]{border-radius:22px!important}
    #sb2p-root [style*="min-height:580px"],#sb2p-root [style*="min-height: 580px"],#sb2p-root [style*="min-height:520px"],#sb2p-root [style*="min-height: 520px"],#sb2p-root [style*="min-height:470px"],#sb2p-root [style*="min-height: 470px"],#sb2p-root [style*="min-height:420px"],#sb2p-root [style*="min-height: 420px"],#sb2p-root [style*="min-height:320px"],#sb2p-root [style*="min-height: 320px"]{min-height:250px!important}
    #sb2p-root [style*="width:340px"],#sb2p-root [style*="width: 340px"]{width:100%!important;height:230px!important}
    #sb2p-root main div[style*="overflow: hidden"]:has(> img:only-child){max-height:250px}
    #sb2p-root footer{padding:40px 22px!important}
    #sb2p-root footer [style*="grid-template-columns"]{gap:32px!important}
  }
  #etapes::-webkit-scrollbar{height:6px}
  #etapes::-webkit-scrollbar-thumb{background:#dfe4ea;border-radius:99px}


/* États hover (portés depuis les attributs style-hover de la maquette) */
.hv1:hover { transform:translateY(-2px);color:#13254A }
.hv2:hover { background:#E9F6CF }
.hv3:hover { background:#F2F4F6;color:#13254A }
.hv4:hover { transform:translateY(-3px);color:#13254A }
.hv5:hover { transform:translateY(-4px) }
.hv6:hover { border-color:#d8e6bb;background:#fafcf5;transform:translateX(4px);color:#13254A }
.hv7:hover { transform:translateY(-3px);color:#fff }
.hv8:hover { background:#E9F6CF;color:#13254A;transform:translateY(-2px) }
.hv9:hover { background:#eceff3;color:#13254A }
.hv10:hover { background:#E9F6CF;color:#13254A }
.hv11:hover { transform:translateY(-3px) }
.hv12:hover { background:#fff;color:#13254A }
.hv13:hover { transform:translateY(-2px);color:#fff }

/* Menu mobile burger */
#sb2p-burger{ display:none; }
@media (max-width:1040px){
  #sb2p-burger{ display:flex !important; }
}
.sb2p-burger-icon-close{ display:none; }
#sb2p-burger[aria-expanded="true"] .sb2p-burger-icon-open{ display:none; }
#sb2p-burger[aria-expanded="true"] .sb2p-burger-icon-close{ display:block; }

#sb2p-mobile-overlay{
  position:fixed;
  inset:0;
  z-index:55;
  background:rgba(19,37,74,.34);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease, visibility 0s linear .3s;
}
#sb2p-mobile-overlay.is-open{
  opacity:1;
  visibility:visible;
  transition:opacity .3s ease, visibility 0s linear 0s;
}

#sb2p-mobile-menu{
  position:fixed;
  left:14px;
  right:14px;
  top:calc(var(--sb2p-header-h, 76px) + env(safe-area-inset-top) + 16px);
  z-index:58;
  background:#fff;
  border-radius:30px;
  padding:14px;
  box-shadow:0 26px 60px rgba(19,37,74,.22);
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:calc(100vh - var(--sb2p-header-h, 76px) - env(safe-area-inset-top) - 40px);
  overflow-y:auto;
  opacity:0;
  visibility:hidden;
  transform:translateY(-16px) scale(.97);
  transform-origin:top center;
  transition:opacity .32s cubic-bezier(0.32,0.72,0,1), transform .38s cubic-bezier(0.32,0.72,0,1), visibility 0s linear .38s;
}
#sb2p-mobile-menu.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  transition:opacity .32s cubic-bezier(0.32,0.72,0,1), transform .38s cubic-bezier(0.32,0.72,0,1), visibility 0s linear 0s;
}

/* Onglets zones / secteurs (état actif géré en JS, classes ci-dessous) */
[data-zone-panel],[data-tab-panel]{ animation:zoneIn .55s cubic-bezier(0.32,0.72,0,1) both; }
[data-zone-tab].is-active .sb2p-dot-idle{ display:none; }
[data-zone-tab]:not(.is-active) .sb2p-dot-active{ display:none; }
[data-secteur-tab]{ background:#F2F4F6; color:#13254A; }
[data-secteur-tab].is-active{ background:#13254A; color:#fff; animation:tabOn .45s cubic-bezier(0.32,0.72,0,1) both; }
[data-secteur-panel]{ display:none; }
[data-secteur-panel].is-active{ display:grid; }
[data-gamme-row]{ }
[data-gamme-body]{ display:none; }
[data-gamme-row].is-open [data-gamme-body]{ display:block; animation:accOpen .5s cubic-bezier(0.32,0.72,0,1) both; }
[data-gamme-row] .sb2p-icon-minus{ display:none; }
[data-gamme-row].is-open .sb2p-icon-plus{ display:none; }
[data-gamme-row].is-open .sb2p-icon-minus{ display:block; }
