/* EcoAssure v1.5.4 — UX phase 2
   Stabilisation spécifique des familles de pages après le correctif global v1.5.3.
   Aucun contenu CMS n'est modifié. */

:root{--ux154-gap:clamp(12px,1.8vw,24px);--ux154-radius:clamp(14px,1.8vw,22px)}

/* Empêche les composants historiques de forcer une largeur supérieure au viewport. */
:is(.ms-v1,.hab-v1,.prv-v1,.fa-v1,.pl-v1,.mrp-v1,.moto-page,.dec-page,.pro-page,.cmp-page,.guide-page,.blogx-page),
:is(.ms-wrap,.hab-wrap,.prv-wrap,.fa-wrap,.pl-wrap,.mrp-wrap,.moto-wrap,.dec-wrap,.pro-wrap,.cmp-wrap,.guide-wrap,.blogx-wrap){max-width:100%;min-width:0}

:is(.ms-v1,.hab-v1,.prv-v1,.fa-v1,.pl-v1,.mrp-v1,.moto-page,.dec-page,.pro-page,.cmp-page,.guide-page,.blogx-page) *{min-width:0}

/* Titres, liens éditoriaux et fil d'Ariane : plus de décalage par texte long. */
:is(.breadcrumb,.breadcrumbs,.auto-breadcrumb,.moto-breadcrumb,.dec-breadcrumb,.pl-breadcrumb,.fa-breadcrumb,.hab-breadcrumb,.prv-breadcrumb,.ms-breadcrumb,.mrp-breadcrumb,.guide-breadcrumb,.blogx-breadcrumb){display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;max-width:100%;overflow-wrap:anywhere}
:is(.ms-head,.hab-head,.prv-head,.fa-head,.pl-head,.mrp-head,.moto-section-head,.dec-head,.pro-section-head,.guide-section-head,.blogx-section-head){min-width:0}
:is(.ms-text-link,.hab-text-link,.prv-text-link,.fa-text-link,.pl-text-link,.mrp-text-link,.moto-text-link,.dec-text-link,.pro-text-link,.guide-text-link,.blogx-text-link){max-width:100%;white-space:normal!important;overflow-wrap:anywhere}

/* FAQ : question et symbole restent alignés, même sur petits écrans. */
:is(.faq-list,.ms-faq,.hab-faq,.prv-faq,.fa-faq,.pl-faq,.mrp-faq,.moto-faq,.dec-faq,.pro-accordion,.cmp-faq,.guide-faq,.blogx-faq) summary{align-items:flex-start!important;gap:12px!important;overflow-wrap:anywhere}
:is(.faq-list,.ms-faq,.hab-faq,.prv-faq,.fa-faq,.pl-faq,.mrp-faq,.moto-faq,.dec-faq,.pro-accordion,.cmp-faq,.guide-faq,.blogx-faq) summary :is(span,b,i){flex:0 0 auto}

/* Images de cartes : différencie les pictos/illustrations des photos. */
:is(.ms-card-media,.hab-card-media,.prv-card-media,.fa-card-media,.pl-card-media,.mrp-iconbox,.ms-iconbox,.hab-iconbox,.prv-iconbox,.fa-iconbox,.pl-iconbox,.moto-profile-card,.dec-trade-card,.cmp-product-card,.guide-category-card) img{max-width:100%;object-fit:contain}
:is(.pro-product-media,.guide-article-media) img{max-width:100%;max-height:100%;object-fit:contain}
:is(.ms-profile,.hab-profile,.prv-profile,.fa-profile,.pl-profile,.mrp-profile-grid article,.pro-guide-card,.guide-situation-card,.blogx-card) img{max-width:100%}

/* Formulaires : les champs restent dans leur carte et les boutons ont la même base. */
:is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final,.moto-final-cta,.pro-final-card,.cmp-form-shell,.cmp-final-box) form{min-width:0;max-width:100%}
:is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final,.moto-final-cta,.pro-final-card,.cmp-form-shell,.cmp-final-box) :is(input,select,textarea,button){max-width:100%;box-sizing:border-box}
:is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final) button,
:is(.moto-final-cta,.pro-final-card,.cmp-form-shell,.cmp-final-box) button{min-height:44px;white-space:normal;line-height:1.2}

/* Les colonnes de contenu longues n'écrasent plus les sidebars. */
:is(.ms-guide,.hab-guide,.prv-guide,.fa-guide,.pl-guide,.mrp-guide,.moto-guide,.dec-guide,.guide-list,.blogx-main,.pro-main){min-width:0}
:is(.ms-guide,.hab-guide,.prv-guide,.fa-guide,.pl-guide,.mrp-guide,.moto-guide,.dec-guide,.guide-list,.blogx-main,.pro-main) :is(table,pre,code){max-width:100%}
:is(.ms-guide,.hab-guide,.prv-guide,.fa-guide,.pl-guide,.mrp-guide,.moto-guide,.dec-guide,.guide-list,.blogx-main,.pro-main) table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* 981–1180 px : ancienne zone morte entre desktop et responsive. */
@media (min-width:981px) and (max-width:1180px){
  :is(.dec-hero-grid,.moto-hero-grid){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:26px!important}
  :is(.dec-hero-media,.moto-hero-art){min-width:0!important;min-height:420px!important}
  :is(.dec-hero-media,.moto-hero-art)>img{max-width:100%!important;object-fit:contain!important}

  :is(.ms-hero-grid,.hab-hero-grid,.prv-hero-grid,.fa-hero-grid,.pl-hero-grid,.mrp-hero-grid){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:22px!important}
  :is(.ms-hero-media,.hab-hero-media,.prv-hero-media,.fa-hero-media,.pl-hero-media,.mrp-hero-media){height:auto!important;min-height:430px!important}
  :is(.ms-hero-media,.hab-hero-media,.prv-hero-media,.fa-hero-media,.pl-hero-media,.mrp-hero-media)>img{width:100%!important;height:100%!important;max-height:480px!important;object-fit:contain!important}

  :is(.ms-solution-grid,.hab-solution-grid,.prv-solution-grid,.fa-solution-grid,.pl-transport-grid,.mrp-activity-grid,
      .ms-guarantee-grid,.hab-guarantee-grid,.prv-guarantee-grid,.fa-guarantee-grid,.pl-guarantee-grid,.mrp-guarantee-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}

  :is(.ms-docs,.hab-docs,.prv-docs,.fa-docs,.pl-docs,.mrp-docs){grid-template-columns:repeat(4,minmax(0,1fr))!important}
  :is(.ms-profile-grid,.hab-profile-grid,.prv-profile-grid,.fa-profile-grid,.pl-profile-grid,.mrp-profile-grid){grid-template-columns:repeat(3,minmax(0,1fr))!important}

  :is(.ms-guide-layout,.hab-guide-layout,.prv-guide-layout,.fa-guide-layout,.pl-guide-layout,.mrp-guide-layout,.moto-guide-layout,.dec-guide-layout,.guide-content-grid){grid-template-columns:230px minmax(0,1fr)!important;gap:24px!important}
  :is(.ms-sidebar,.hab-sidebar,.prv-sidebar,.fa-sidebar,.pl-sidebar,.mrp-sidebar,.moto-sidebar,.dec-sidebar,.guide-sidebar){top:92px!important}

  .pro-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pro-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pro-final-selector-row{grid-template-columns:minmax(0,1fr) minmax(150px,190px)!important}
  .cmp-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .guide-categories-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .guide-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Tablettes : 2 colonnes lisibles au lieu de mosaïques trop serrées. */
@media (max-width:980px){
  :is(.ms-head,.hab-head,.prv-head,.fa-head,.pl-head,.mrp-head,.moto-section-head,.dec-head,.pro-section-head,.guide-section-head,.blogx-section-head){align-items:flex-start!important;flex-direction:column!important;gap:10px!important}

  :is(.ms-proof,.hab-proof,.prv-proof,.fa-proof,.pl-proof,.mrp-proof,.moto-proof-strip,.dec-proof-grid,.pro-trust-row,.guide-trust-row){grid-template-columns:repeat(2,minmax(0,1fr))!important}

  :is(.ms-solution-grid,.hab-solution-grid,.prv-solution-grid,.fa-solution-grid,.pl-transport-grid,.mrp-activity-grid,
      .ms-guarantee-grid,.hab-guarantee-grid,.prv-guarantee-grid,.fa-guarantee-grid,.pl-guarantee-grid,.mrp-guarantee-grid,
      .moto-profile-grid,.moto-guarantee-grid,.moto-specific-grid,.dec-docs,.dec-profiles,.pro-products-grid,.cmp-product-grid,
      .guide-categories-grid,.guide-situations-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}

  :is(.ms-docs,.hab-docs,.prv-docs,.fa-docs,.pl-docs,.mrp-docs){grid-template-columns:repeat(3,minmax(0,1fr))!important}
  :is(.ms-profile-grid,.hab-profile-grid,.prv-profile-grid,.fa-profile-grid,.pl-profile-grid,.mrp-profile-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}

  :is(.ms-guide-layout,.hab-guide-layout,.prv-guide-layout,.fa-guide-layout,.pl-guide-layout,.mrp-guide-layout,.moto-guide-layout,.dec-guide-layout,.guide-content-grid){grid-template-columns:1fr!important}
  :is(.ms-sidebar,.hab-sidebar,.prv-sidebar,.fa-sidebar,.pl-sidebar,.mrp-sidebar,.moto-sidebar,.dec-sidebar,.guide-sidebar){position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}

  :is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final){grid-template-columns:1fr!important;padding:0!important;gap:0!important;min-height:0!important}
  :is(.ms-final-copy,.hab-final-copy,.prv-final-copy,.fa-final-copy,.pl-final-copy,.mrp-final-copy){padding:28px 26px 12px!important}
  :is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final) form{padding:18px 26px 26px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  :is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final) form button{grid-column:1/-1!important;width:100%!important}
  :is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final)>img{width:100%!important;height:240px!important;object-fit:cover!important;object-position:center!important}

  .moto-final-cta{grid-template-columns:1fr!important;min-height:0!important}
  .moto-final-form{padding:0 26px 26px!important}
  .pro-faq-grid,.cmp-faq-grid{grid-template-columns:1fr!important}
  .pro-final-card,.guide-final-card{grid-template-columns:1fr!important;min-height:0!important}
  .pro-final-selector-row,.cmp-final-action{grid-template-columns:1fr!important}
  .pro-final-selector-row :is(select,button),.cmp-final-action :is(select,button){width:100%!important}

  .guide-advice-card{grid-template-columns:1fr!important}
  .guide-advice-media{height:auto!important;min-height:0!important}
  .guide-advice-media img{width:100%!important;height:auto!important;max-height:380px!important;object-fit:contain!important}

  .cmp-filters,.pro-filters{justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:2px 2px 8px!important;scrollbar-width:none}
  .cmp-filters::-webkit-scrollbar,.pro-filters::-webkit-scrollbar{display:none}
  .cmp-filters button,.pro-filter{flex:0 0 auto!important;white-space:nowrap!important}
}

/* Téléphones : une seule colonne, boutons complets et images non coupées. */
@media (max-width:640px){
  :is(.ms-wrap,.hab-wrap,.prv-wrap,.fa-wrap,.pl-wrap,.mrp-wrap,.moto-wrap,.dec-wrap,.pro-wrap,.cmp-wrap,.guide-wrap,.blogx-wrap){width:min(100% - 20px,1440px)!important}

  :is(.ms-section,.hab-section,.prv-section,.fa-section,.pl-section,.mrp-section,.moto-section,.dec-section,.pro-section,.cmp-section,.guide-section,.blogx-section){padding-top:42px!important;padding-bottom:42px!important}

  :is(.ms-proof,.hab-proof,.prv-proof,.fa-proof,.pl-proof,.mrp-proof,.moto-proof-strip,.dec-proof-grid,.pro-trust-row,.guide-trust-row){grid-template-columns:1fr!important}

  :is(.ms-solution-grid,.hab-solution-grid,.prv-solution-grid,.fa-solution-grid,.pl-transport-grid,.mrp-activity-grid,
      .ms-guarantee-grid,.hab-guarantee-grid,.prv-guarantee-grid,.fa-guarantee-grid,.pl-guarantee-grid,.mrp-guarantee-grid,
      .ms-docs,.hab-docs,.prv-docs,.fa-docs,.pl-docs,.mrp-docs,
      .ms-profile-grid,.hab-profile-grid,.prv-profile-grid,.fa-profile-grid,.pl-profile-grid,.mrp-profile-grid,
      .moto-profile-grid,.moto-plan-grid,.moto-specific-grid,.moto-blog-grid,.dec-docs,.dec-profiles,.pro-products-grid,.pro-guide-grid,
      .cmp-product-grid,.cmp-benefit-grid,.cmp-how-grid,.guide-categories-grid,.guide-article-grid,.guide-situations-grid){grid-template-columns:1fr!important}

  /* Les grilles de petites garanties peuvent rester en 2 colonnes, sans dépasser. */
  :is(.moto-guarantee-grid,.moto-factor-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}

  :is(.ms-solution,.hab-solution,.prv-solution,.fa-solution,.pl-transport,.mrp-activity){grid-template-columns:88px minmax(0,1fr) 26px!important;gap:10px!important;min-height:0!important}
  :is(.ms-solution,.hab-solution,.prv-solution,.fa-solution,.pl-transport,.mrp-activity) img{width:88px!important;height:78px!important;object-fit:contain!important;background:#f5f9fc}

  :is(.ms-guarantee,.hab-guarantee,.prv-guarantee,.fa-guarantee,.pl-guarantee,.mrp-guarantee){grid-template-columns:66px minmax(0,1fr)!important;min-height:0!important;padding:12px!important}
  :is(.ms-iconbox,.hab-iconbox,.prv-iconbox,.fa-iconbox,.pl-iconbox,.mrp-iconbox){width:62px!important;height:62px!important;min-width:62px!important}
  :is(.ms-iconbox,.hab-iconbox,.prv-iconbox,.fa-iconbox,.pl-iconbox,.mrp-iconbox) img{max-width:54px!important;max-height:54px!important;object-fit:contain!important}

  :is(.ms-sidebar,.hab-sidebar,.prv-sidebar,.fa-sidebar,.pl-sidebar,.mrp-sidebar,.moto-sidebar,.dec-sidebar,.guide-sidebar){grid-template-columns:1fr!important}

  :is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final){border-radius:18px!important}
  :is(.ms-final-copy,.hab-final-copy,.prv-final-copy,.fa-final-copy,.pl-final-copy,.mrp-final-copy){padding:24px 18px 10px!important}
  :is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final) form{grid-template-columns:1fr!important;padding:14px 18px 20px!important}
  :is(.ms-final,.hab-final,.prv-final,.fa-final,.pl-final,.mrp-final)>img{height:190px!important}

  .moto-final-copy{padding:24px 18px 14px!important}
  .moto-final-form{padding:0 18px 20px!important}
  .moto-final-form :is(input,select,textarea,button){width:100%!important}

  .pro-product-card,.guide-article-card,.guide-situation-card{border-radius:16px!important}
  .pro-product-media,.guide-article-media{height:auto!important;min-height:150px!important;aspect-ratio:16/10}
  .pro-product-media img,.guide-article-media img{width:100%!important;height:100%!important;object-fit:contain!important}
  .pro-final-content,.guide-final-content{padding:24px 18px!important}

  .cmp-product-card{min-height:0!important;padding:14px!important}
  .cmp-form{padding:18px 14px 20px!important}
  .cmp-form-actions{display:grid!important;grid-template-columns:1fr!important}
  .cmp-form-actions button{width:100%!important}

  .guide-content-grid,.blogx-main-grid{gap:18px!important}

  :is(.article-hero,.guide-hero,.blogx-hero) img{height:auto!important;max-height:none!important;object-fit:contain!important}

  :is(.pagination-wrap,.guide-pagination,.blogx-pagination) nav{max-width:100%;overflow-x:auto;justify-content:flex-start!important;padding-bottom:4px}
}

@media (max-width:390px){
  :is(.ms-wrap,.hab-wrap,.prv-wrap,.fa-wrap,.pl-wrap,.mrp-wrap,.moto-wrap,.dec-wrap,.pro-wrap,.cmp-wrap,.guide-wrap,.blogx-wrap){width:min(100% - 16px,1440px)!important}
  :is(.moto-guarantee-grid,.moto-factor-grid){grid-template-columns:1fr!important}
  :is(.ms-solution,.hab-solution,.prv-solution,.fa-solution,.pl-transport,.mrp-activity){grid-template-columns:74px minmax(0,1fr) 24px!important;padding:9px!important}
  :is(.ms-solution,.hab-solution,.prv-solution,.fa-solution,.pl-transport,.mrp-activity) img{width:74px!important;height:70px!important}
  :is(.ms-guarantee,.hab-guarantee,.prv-guarantee,.fa-guarantee,.pl-guarantee,.mrp-guarantee){grid-template-columns:58px minmax(0,1fr)!important}
  :is(.ms-iconbox,.hab-iconbox,.prv-iconbox,.fa-iconbox,.pl-iconbox,.mrp-iconbox){width:54px!important;height:54px!important;min-width:54px!important}
}
