
/* =========================================================
   AssurLab 3.7.4 — Lisibilité seniors + mobile "app"
   Ce fichier est chargé après les CSS produit.
   ========================================================= */

:root{
  --al-readable-text:16px;
  --al-readable-small:14px;
}

/* Images : rendu propre, pas d'agrandissement artificiel excessif */
img{image-rendering:auto;-webkit-font-smoothing:antialiased}
.product-hero-visual>img,
.heavy-hero-media img,
.util-hero-media img,
.util-subhero img,
.rc-hero-media img,
.mrp-hero-media img,
.fleet-hero-media img,
.dec-hero-photo img{
  image-rendering:auto;
  filter:saturate(1.025) contrast(1.015);
  background:#edf4f7;
}

/* Pages produit génériques */
.product-hero-copy .lead,
.product-content p,
.product-content li,
.content-card p,
.content-card li{
  font-size:16.5px!important;
  line-height:1.78!important;
}
.product-hero-copy h1{font-size:52px!important;line-height:1.06!important}
.product-trust{font-size:14px!important;line-height:1.5!important}
.product-hero-visual>img{
  height:390px!important;
  max-width:600px;
  margin-left:auto;
  object-fit:cover!important;
}
.product-hero-badge b{font-size:15px!important}
.product-hero-badge small{font-size:13px!important}
.subpage-card p,.subpage-card li{font-size:15px!important;line-height:1.6!important}

/* Poids lourd */
.heavy-page p,.heavy-page li{font-size:16px!important;line-height:1.72!important}
.heavy-page .heavy-lead{font-size:18px!important}
.heavy-page .heavy-copy h1{font-size:50px!important;line-height:1.06!important}
.heavy-page .heavy-card p{font-size:15px!important}
.heavy-page .heavy-hero-media img{height:400px!important;object-fit:cover!important}

/* Utilitaire */
.utilitaire-page p,.utilitaire-page li{font-size:16px!important;line-height:1.72!important}
.utilitaire-page .util-hero-copy>p,
.utilitaire-page .util-subhero p{font-size:17px!important}
.utilitaire-page .util-hero-copy h1{font-size:50px!important}
.utilitaire-page .util-card-grid p{font-size:14.5px!important}
.utilitaire-page .util-card-grid b{font-size:16px!important}
.utilitaire-page .util-hero-media>img{height:390px!important;object-fit:cover!important}

/* RC Pro */
.rc-page p,.rc-page li{font-size:16px!important;line-height:1.72!important}
.rc-page .rc-lead{font-size:18px!important}
.rc-page .rc-copy h1{font-size:50px!important;line-height:1.06!important}
.rc-page .rc-hero img{min-height:390px;object-fit:cover}

/* Multirisque Pro */
.mrp-page p,.mrp-page li{font-size:16px!important;line-height:1.72!important}
.mrp-page .mrp-lead{font-size:18px!important}
.mrp-page .mrp-copy h1{font-size:50px!important;line-height:1.06!important}
.mrp-page .mrp-hero img{min-height:390px;object-fit:cover}

/* Flotte */
.fleet-page p,.fleet-page li{font-size:16px!important;line-height:1.72!important}
.fleet-page .fleet-hero-copy>p{font-size:18px!important}
.fleet-page .fleet-hero-copy h1{font-size:50px!important;line-height:1.06!important}
.fleet-page .fleet-hero-media img{height:390px!important;object-fit:cover!important}

/* Décennale métiers */
.dec-trade-page p,.dec-trade-page li{font-size:16px!important;line-height:1.72!important}
.dec-trade-page .dec-lead{font-size:18px!important}
.dec-trade-page .dec-hero-copy h1{font-size:48px!important;line-height:1.06!important}
.dec-trade-page .dec-hero-photo img{height:390px!important;object-fit:cover!important}

/* Guides / pages éditoriales : lecture confortable */
.guide-content p,.guide-content li,
.al-content-card p,.al-content-card li,
.blog-article p,.blog-article li,
.article-content p,.article-content li{
  font-size:17px!important;
  line-height:1.82!important;
}
.guide-content h2,.al-content-card h2,.article-content h2{line-height:1.22!important}

/* Formulaires : 16px minimum = pas de zoom iOS + meilleure lisibilité */
input,select,textarea,button{font-size:16px}
label{line-height:1.45}
.btn,.al-btn,.util-btn{min-height:48px}

/* Footer : vrai logo visible sur fond sombre */
.al-footbrand img{
  width:210px!important;
  height:auto!important;
  max-height:64px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
.al-footbrand>a{
  display:inline-flex;
  padding:0;
  border-radius:16px;
}
.al-footbrand p{font-size:14px!important;line-height:1.7!important}
.al-footgrid h4{font-size:15px!important}
.al-footgrid a,.al-footgrid span{font-size:13.5px!important;line-height:1.5!important}
.al-footgrid small{font-size:12px!important}
.al-legal{font-size:11.5px!important;line-height:1.65!important}

/* Mobile app tabbar : masquée sur desktop */
.al-mobile-tabbar{display:none}

@media(max-width:1080px){
  .al-navwrap{
    position:sticky;
    top:0;
    z-index:1400;
    background:rgba(255,255,255,.94);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }
  .al-mobile summary{
    min-width:48px!important;
    min-height:48px!important;
    border-radius:16px!important;
  }
  .al-drawer{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:78px!important;
    max-height:calc(100dvh - 160px);
    overflow:auto;
    border-radius:24px!important;
    padding:12px!important;
    box-shadow:0 28px 80px rgba(4,31,53,.25)!important;
  }
  .al-drawer a{
    min-height:52px;
    display:flex!important;
    align-items:center;
    padding:14px 16px!important;
    border-radius:14px;
    font-size:15px!important;
  }
  .al-drawer a:not(.al-btn)+a:not(.al-btn){border-top:1px solid #edf2f4}

  .al-mobile-tabbar{
    position:fixed;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:1800;
    min-height:68px;
    padding:7px;
    background:rgba(255,255,255,.96);
    border:1px solid #dfe9ee;
    border-radius:22px;
    box-shadow:0 16px 45px rgba(6,45,77,.22);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }
  .al-mobile-tabbar a{
    text-decoration:none;
    color:#476274;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:0;
    min-height:52px;
    border-radius:15px;
  }
  .al-mobile-tabbar span{font-size:20px;line-height:1}
  .al-mobile-tabbar b{
    font-size:10.5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
  }
  .al-mobile-tabbar .is-primary{
    background:#17b878;
    color:#fff;
    box-shadow:0 8px 20px rgba(23,184,120,.28);
  }
  body{padding-bottom:94px}

  .al-footer{padding-bottom:108px!important}
}

/* Mobile : typographie senior-friendly et compositions non décalées */
@media(max-width:760px){
  html{font-size:16px}
  body{overflow-x:hidden}
  .wrap,.al-shell{width:calc(100% - 28px)!important;max-width:100%!important}

  .al-navrow{height:68px!important}
  .al-logo img{width:150px!important;height:44px!important;object-fit:contain!important}
  .al-headbar{display:none!important}

  .product-hero,
  .heavy-hero,
  .util-main-hero,
  .util-subhero,
  .rc-hero,
  .mrp-hero,
  .fleet-hero,
  .dec-hero{
    padding-top:30px!important;
    padding-bottom:32px!important;
  }

  .product-hero-copy h1,
  .heavy-page .heavy-copy h1,
  .utilitaire-page .util-hero-copy h1,
  .utilitaire-page .util-subhero h1,
  .rc-page .rc-copy h1,
  .mrp-page .mrp-copy h1,
  .fleet-page .fleet-hero-copy h1,
  .dec-trade-page .dec-hero-copy h1{
    font-size:34px!important;
    line-height:1.08!important;
    letter-spacing:-.9px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .product-hero-copy .lead,
  .heavy-page .heavy-lead,
  .utilitaire-page .util-hero-copy>p,
  .utilitaire-page .util-subhero p,
  .rc-page .rc-lead,
  .mrp-page .mrp-lead,
  .fleet-page .fleet-hero-copy>p,
  .dec-trade-page .dec-lead{
    font-size:17px!important;
    line-height:1.7!important;
  }

  .product-hero-visual>img,
  .heavy-page .heavy-hero-media img,
  .utilitaire-page .util-hero-media>img,
  .utilitaire-page .util-subhero img,
  .rc-page .rc-hero img,
  .mrp-page .mrp-hero img,
  .fleet-page .fleet-hero-media img,
  .dec-trade-page .dec-hero-photo img{
    width:100%!important;
    height:245px!important;
    min-height:0!important;
    max-width:none!important;
    border-radius:20px!important;
    object-fit:cover!important;
    object-position:center!important;
    box-shadow:0 16px 38px rgba(6,45,77,.14)!important;
  }

  .product-trust{font-size:13px!important}
  .product-hero-badge{position:static!important;margin-top:10px!important}

  /* Les cartes deviennent des "cards app" confortables */
  .product-card,.subpage-card,
  .util-card-grid>a,
  .heavy-card,.rc-card,.mrp-card,.fleet-card{
    border-radius:18px!important;
    box-shadow:0 9px 24px rgba(8,47,79,.08)!important;
  }

  .al-footgrid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .al-footbrand{grid-column:auto!important}
  .al-footbrand img{width:205px!important;max-height:62px!important}
  .al-footgrid>div:not(.al-footbrand){
    padding:16px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(255,255,255,.035);
  }
  .al-footgrid h4{font-size:16px!important;margin-bottom:10px!important}
  .al-footgrid a,.al-footgrid span{font-size:14px!important;margin:9px 0!important}
  .al-legal{margin-top:20px!important}
  .al-legal>div{display:grid!important;gap:8px}
}

/* Très petit mobile */
@media(max-width:390px){
  .product-hero-copy h1,
  .heavy-page .heavy-copy h1,
  .utilitaire-page .util-hero-copy h1,
  .rc-page .rc-copy h1,
  .mrp-page .mrp-copy h1,
  .fleet-page .fleet-hero-copy h1,
  .dec-trade-page .dec-hero-copy h1{font-size:31px!important}
  .al-mobile-tabbar{left:6px;right:6px;bottom:calc(6px + env(safe-area-inset-bottom))}
  .al-mobile-tabbar b{font-size:9.5px}
}


/* AssurLab 3.7.7 — garde-fou pagination front */
.blog-pagination svg,
.editorial-pagination svg,
.assurlab-pagination svg{
  width:18px!important;
  height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
}
