/* GroupAssur v1.31.0 — Stabilisation globale pages produits
   Objectif : corriger les chevauchements au scroll et le responsive sans modifier les maquettes, contenus ou structures. */

html{scroll-padding-top:92px}
body{overflow-x:hidden}
.site-header{isolation:isolate;box-shadow:0 3px 16px rgba(7,34,75,.06)}
.site-header .nav{position:relative;min-width:0}
.site-header .logo{min-width:88px;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start;overflow:hidden}
.site-header .logo img{width:74px;height:58px;object-fit:contain;object-position:center}
.site-header .logo strong,.site-header .logo small{display:none!important}
.site-header .nav nav{min-width:0}
.site-header .nav nav a{white-space:nowrap}
.site-header .hamb{cursor:pointer;color:#071b49;line-height:1}

/* Le logo complet contient déjà le nom GroupAssur : éviter le doublon également dans le footer. */
.footlogo strong,.footlogo small{display:none!important}

/* Correctif principal : le CSS historique ciblait tout élément <header>, rendant les titres
   de sections sticky. Les headers internes doivent rester dans leur flux normal. */
body.ga-product-page header:not(.site-header){
  position:static!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  z-index:auto!important;
  height:auto!important;
  min-height:0!important;
}

/* Les rares sidebars sticky des pages produits provoquaient aussi des recouvrements
   en fin de section sur desktop. Elles restent visuellement identiques mais dans le flux. */
body.ga-product-page .auto-seo-side,
body.ga-product-page .fleet-faq-grid>div:first-child,
body.ga-product-page .de-faq-intro,
body.ga-product-page .ut-doc-card,
body.ga-product-page .en-side,
body.ga-product-page .sticky{
  position:static!important;
  top:auto!important;
  inset:auto!important;
}

/* Stabilité des grilles/flex : empêche titres, textes, icônes ou boutons d'élargir une colonne. */
body.ga-product-page section{scroll-margin-top:92px}
body.ga-product-page [class*="-grid"]>* ,
body.ga-product-page [class*="-cards"]>* ,
body.ga-product-page [class*="-shell"]>*{
  min-width:0;
}
body.ga-product-page h1,
body.ga-product-page h2,
body.ga-product-page h3,
body.ga-product-page p,
body.ga-product-page li,
body.ga-product-page summary,
body.ga-product-page strong,
body.ga-product-page span,
body.ga-product-page a{
  overflow-wrap:break-word;
  word-break:normal;
}
body.ga-product-page img,
body.ga-product-page svg,
body.ga-product-page video{max-width:100%}
body.ga-product-page details{max-width:100%}
body.ga-product-page summary{align-items:flex-start}
body.ga-product-page a[class*="-btn"]{max-width:100%;white-space:normal;text-align:center}

/* Les cartes doivent rester au-dessus de leur propre fond, mais jamais devenir des couches
   persistantes au scroll. */
body.ga-product-page [class*="-card"],
body.ga-product-page [class*="-item"]{
  isolation:isolate;
}

/* Header : respiration desktop sans changer les liens ni leur ordre. */
@media (max-width:1280px){
  .site-header .nav{gap:16px}
  .site-header .nav nav{gap:12px;font-size:12px}
  .site-header .topcta{padding-inline:15px;font-size:12px}
}

/* Passage en menu hamburger avant que la navigation ne se compacte ou ne déborde. */
@media (max-width:1040px){
  html{scroll-padding-top:78px}
  .site-header{height:66px}
  .site-header .nav{height:100%;gap:12px}
  .site-header .logo{min-width:76px;flex:1}
  .site-header .logo img{width:68px;height:54px}
  .site-header .hamb{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #dce6f2;border-radius:11px;background:#fff;font-size:24px;margin-left:auto;flex:0 0 auto}
  .site-header .topcta{display:none!important}
  .site-header .nav nav{
    display:none!important;
    position:absolute;
    top:calc(100% + 1px);
    left:0;
    right:0;
    z-index:500;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0!important;
    padding:10px;
    max-height:calc(100vh - 78px);
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    border:1px solid #e3ebf5;
    border-top:0;
    border-radius:0 0 16px 16px;
    box-shadow:0 18px 45px rgba(5,31,69,.16);
    font-size:14px!important;
  }
  .site-header .nav nav.is-open{display:flex!important}
  .site-header .nav nav a{display:block;width:100%;padding:12px 14px!important;border:0!important;border-radius:9px;white-space:normal}
  .site-header .nav nav a:hover,.site-header .nav nav a:focus-visible{background:#f2f7fd;color:#0b5fd7;outline:none}
  body.ga-menu-open{overflow:hidden}
}

/* Optimisation uniforme des pages produits sur tablette/mobile. */
@media (max-width:760px){
  .topline{height:32px}
  .topline .shell{width:calc(100% - 24px)}
  .topline .shell>span{display:none!important}
  .topline .shell>a{margin-left:auto;font-size:11px}
  .site-header{height:64px}
  .site-header .logo img{width:66px;height:52px}

  body.ga-product-page section{scroll-margin-top:76px}
  body.ga-product-page .auto-shell,
  body.ga-product-page .moto-shell,
  body.ga-product-page .wg-shell,
  body.ga-product-page .fleet-shell,
  body.ga-product-page .tm-shell,
  body.ga-product-page .de-shell,
  body.ga-product-page .ut-shell,
  body.ga-product-page .en-shell,
  body.ga-product-page .mrp-shell,
  body.ga-product-page .pl-shell,
  body.ga-product-page .vtc-shell,
  body.ga-product-page .tmp-shell{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }

  body.ga-product-page h1,
  body.ga-product-page h2,
  body.ga-product-page h3{max-width:100%}
  body.ga-product-page [class*="breadcrumb"]{max-width:100%;overflow:hidden}
  body.ga-product-page [class*="actions"]{max-width:100%}
  body.ga-product-page [class*="actions"] a{min-width:0}
  body.ga-product-page table{max-width:100%}
}

@media (max-width:480px){
  .site-header .logo{min-width:64px}
  .site-header .logo img{width:62px;height:50px}
  .site-header .hamb{width:42px;height:42px}
  body.ga-product-page a[class*="-btn"]{width:100%}
  body.ga-product-page summary{gap:10px}
}
