/* ISPARE PASS201 — finitions mobile issues du contrôle navigateur LIVE.
   Couche additive : aucun changement métier, prix, stock, commande ou paiement. */

/* Le bouton filtres reste absent sur desktop : la sidebar historique continue à fonctionner. */
body.isp-page-catalogue .isp-mobile-filter-toggle{display:none}

@media (max-width:900px){
  /* Catalogue : accès immédiat aux produits, filtres dépliables au besoin.
     Le masquage n'est activé qu'une fois le bouton injecté : sans JS, les filtres restent accessibles. */
  body.isp-page-catalogue.isp-catalogue-filter-toggle-ready .isp-mobile-filter-toggle{
    width:calc(100% - 28px);
    margin:4px 14px 2px;
    min-height:48px;
    padding:0 15px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid #dfe5ee;
    border-radius:13px;
    background:#fff;
    color:#101828;
    font-family:var(--FB,'DM Sans',sans-serif);
    font-size:.88rem;
    font-weight:700;
    box-shadow:0 7px 20px rgba(16,24,40,.055);
    cursor:pointer;
  }
  body.isp-page-catalogue .isp-mobile-filter-toggle:hover,
  body.isp-page-catalogue .isp-mobile-filter-toggle:focus-visible{
    border-color:rgba(25,87,227,.30);
    background:#f8faff;
  }
  body.isp-page-catalogue .isp-mobile-filter-toggle .isp-filter-toggle-left{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
  }
  body.isp-page-catalogue .isp-mobile-filter-toggle .isp-filter-icon{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#edf3ff;
    color:#1957e3;
    flex:0 0 auto;
  }
  body.isp-page-catalogue .isp-mobile-filter-toggle .isp-filter-count{
    min-width:22px;
    height:22px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#edf3ff;
    color:#1957e3;
    font-size:.69rem;
    font-weight:800;
  }
  body.isp-page-catalogue .isp-mobile-filter-toggle .isp-filter-chevron{
    width:18px;
    height:18px;
    color:#667085;
    transition:transform .18s ease;
  }
  body.isp-page-catalogue.isp-mobile-filters-open .isp-mobile-filter-toggle .isp-filter-chevron{
    transform:rotate(180deg);
  }
  body.isp-page-catalogue.isp-catalogue-filter-toggle-ready .main-layout>aside[aria-label="Filtres"]{
    display:none!important;
    min-width:0!important;
  }
  body.isp-page-catalogue.isp-catalogue-filter-toggle-ready.isp-mobile-filters-open .main-layout>aside[aria-label="Filtres"]{
    display:block!important;
  }
  body.isp-page-catalogue.isp-catalogue-filter-toggle-ready .main-layout{
    padding-top:12px!important;
  }
  body.isp-page-catalogue .sidebar{
    margin-bottom:5px!important;
    border-radius:17px!important;
    box-shadow:0 10px 28px rgba(16,24,40,.065)!important;
  }

  /* Promotions : la règle historique .g4 gardait 2 colonnes à 390px.
     Une seule colonne rend les prix, noms et CTA réellement lisibles au pouce. */
  body.isp-page-promos .promo-grid.g4{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  body.isp-page-promos .promo-grid.g4 .pcard{
    max-width:560px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  body.isp-page-promos .promo-grid.g4 .pcimg{
    height:190px!important;
  }
}

@media (max-width:600px){
  body.isp-page-catalogue .isp-mobile-filter-toggle{margin-top:0}
  body.isp-page-catalogue .sidebar .sb-section{padding:16px!important}
  body.isp-page-promos .promo-grid.g4 .pcimg{height:182px!important}
}

@media (prefers-reduced-motion:reduce){
  body.isp-page-catalogue .isp-mobile-filter-toggle .isp-filter-chevron{transition:none!important}
}

/* ═══════════════════════════════════════════════════════════════
   LOT UX 209 — CONTINUITÉ DE LA HOME SUR CATALOGUE / PRODUIT / COMPAT
   Le marqueur de page est posé par ispare-expert-ux.js.
   ═══════════════════════════════════════════════════════════════ */

/* Les anciens reveals cachaient physiquement les cartes tout en gardant leur hauteur. */
html[data-isp-expert-page="catalogue"] .rev,
html[data-isp-expert-page="product"] .rev,
html[data-isp-expert-page="catalogue"] .isp-reveal,
html[data-isp-expert-page="product"] .isp-reveal{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  transition:none!important;
  visibility:visible!important;
}

/* Shell commun : même densité et même navigation que la nouvelle home. */
html[data-isp-expert-page="catalogue"] .nav,
html[data-isp-expert-page="product"] .nav,
html[data-isp-expert-page="compat"] .nav{
  height:68px!important;
  min-height:68px!important;
  padding:0 clamp(18px,3.2vw,54px)!important;
  background:rgba(255,255,255,.985)!important;
  border-bottom:1px solid #e7ebf3!important;
  box-shadow:0 8px 30px rgba(15,35,70,.035)!important;
}
html[data-isp-expert-page="catalogue"] .logo-i,
html[data-isp-expert-page="catalogue"] .logo-dot,
html[data-isp-expert-page="product"] .logo-i,
html[data-isp-expert-page="product"] .logo-dot,
html[data-isp-expert-page="compat"] .logo-i,
html[data-isp-expert-page="compat"] .logo-dot{animation:none!important}

html[data-isp-expert-page="catalogue"] .nav-links li:has(>a[href="/"]),
html[data-isp-expert-page="catalogue"] .nav-links li:has(>a[href="/promos"]),
html[data-isp-expert-page="product"] .nav-links li:has(>a[href="/"]),
html[data-isp-expert-page="product"] .nav-links li:has(>a[href="/promos"]),
html[data-isp-expert-page="compat"] .nav-links li:has(>a[href="/"]),
html[data-isp-expert-page="compat"] .nav-links li:has(>a[href="/promos"]){display:none!important}
html[data-isp-expert-page="catalogue"] .nav-r>a[href="/assistant-ia"],
html[data-isp-expert-page="product"] .nav-r>a[href="/assistant-ia"],
html[data-isp-expert-page="compat"] .nav-r>a[href="/assistant-ia"]{display:none!important}

/* Catalogue : hero clair et compact, recherche/compatibilité avant les filtres. */
html[data-isp-expert-page="catalogue"] body{background:#fff!important}
html[data-isp-expert-page="catalogue"] .sbar{display:none!important}
html[data-isp-expert-page="catalogue"] .pg-hero{
  background:linear-gradient(180deg,#f4f8ff 0%,#ffffff 100%)!important;
  padding:94px 24px 30px!important;
  min-height:0!important;
  border-bottom:1px solid #e7ebf3!important;
}
html[data-isp-expert-page="catalogue"] .ph-badge{
  background:#edf4ff!important;
  border:1px solid #ccdcfa!important;
  color:#145be7!important;
}
html[data-isp-expert-page="catalogue"] .ph-title{
  color:#081a3b!important;
  font-size:clamp(2rem,3.4vw,3.35rem)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  margin-bottom:10px!important;
}
html[data-isp-expert-page="catalogue"] .ph-title span{color:#145be7!important}
html[data-isp-expert-page="catalogue"] .ph-sub{color:#667085!important;font-size:.93rem!important}
html[data-isp-expert-page="catalogue"] .device-finder{
  background:#fff!important;
  border-bottom:1px solid #e7ebf3!important;
  padding:18px 24px!important;
}
html[data-isp-expert-page="catalogue"] .df-in{
  max-width:1180px!important;
  padding:16px!important;
  border:1px solid #e2e9f5!important;
  border-radius:16px!important;
  background:#f8faff!important;
  box-shadow:none!important;
}
html[data-isp-expert-page="catalogue"] .toolbar{
  top:68px!important;
  padding:11px 24px!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(16px)!important;
  border-bottom:1px solid #e7ebf3!important;
}
html[data-isp-expert-page="catalogue"] .main-layout{
  max-width:1240px!important;
  padding:24px 24px 56px!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
  min-height:0!important;
}
html[data-isp-expert-page="catalogue"] .sidebar{
  top:132px!important;
  border:1px solid #e7ebf3!important;
  border-radius:16px!important;
  box-shadow:0 7px 24px rgba(15,35,70,.05)!important;
}
html[data-isp-expert-page="catalogue"] .pcard,
html[data-isp-expert-page="catalogue"] .isp-commerce-card{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  visibility:visible!important;
  border-radius:16px!important;
  border-color:#e7ebf3!important;
  box-shadow:0 5px 18px rgba(15,35,70,.04)!important;
}
html[data-isp-expert-page="catalogue"] .pcard:hover,
html[data-isp-expert-page="catalogue"] .isp-commerce-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 13px 30px rgba(15,35,70,.09)!important;
}

/* Produit : garder la fiche efficace, mais supprimer la zone morte et fiabiliser le média. */
html[data-isp-expert-page="product"] body{background:#f7f9fd!important}
html[data-isp-expert-page="product"] .sbar{display:none!important}
html[data-isp-expert-page="product"] .isp-product-wrap{
  max-width:1200px!important;
  padding:104px 24px 52px!important;
  min-height:0!important;
}
html[data-isp-expert-page="product"] .isp-product-grid{
  gap:36px!important;
  align-items:start!important;
}
html[data-isp-expert-page="product"] .isp-product-media{
  min-height:420px!important;
  border:1px solid #e7ebf3!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#fff,#f8fbff)!important;
  box-shadow:0 13px 38px rgba(15,35,70,.06)!important;
  overflow:hidden!important;
}
html[data-isp-expert-page="product"] .isp-product-media img,
html[data-isp-expert-page="product"] .pimg img{
  max-height:380px!important;
  object-fit:contain!important;
  color:transparent!important;
}
html[data-isp-expert-page="product"] .desc-card,
html[data-isp-expert-page="product"] .similar{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  visibility:visible!important;
  border:1px solid #e7ebf3!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Compatibilité : même shell que la home, sans gros bouton IA ni seconde barre sombre. */
html[data-isp-expert-page="compat"] body{
  background:#f7f9fd!important;
  color:#101828!important;
}
html[data-isp-expert-page="compat"] .sbar{display:none!important}
html[data-isp-expert-page="compat"] .nav-links{gap:8px!important;margin-left:auto!important;margin-right:auto!important}
html[data-isp-expert-page="compat"] .nav-links a{
  padding:9px 10px!important;
  border-radius:10px!important;
  font-size:.86rem!important;
  color:#344054!important;
}
html[data-isp-expert-page="compat"] .nav-links a.active,
html[data-isp-expert-page="compat"] .nav-links a:hover{
  background:#eff5ff!important;
  color:#145be7!important;
}
html[data-isp-expert-page="compat"] .chat-layout{
  grid-template-columns:220px minmax(0,1fr) 250px!important;
  background:#f7f9fd!important;
}
html[data-isp-expert-page="compat"] .chat-left,
html[data-isp-expert-page="compat"] .chat-right{
  border-color:#e7ebf3!important;
  background:#fff!important;
}
html[data-isp-expert-page="compat"] .chat-main{background:#f7f9fd!important}
html[data-isp-expert-page="compat"] .chat-head{
  background:#fff!important;
  border-bottom:1px solid #e7ebf3!important;
}
html[data-isp-expert-page="compat"] .messages{padding:30px clamp(20px,4vw,54px)!important}
html[data-isp-expert-page="compat"] .msg-bubble{
  border-color:#e1e7f0!important;
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(15,35,70,.05)!important;
}
html[data-isp-expert-page="compat"] .chat-input-wrap{
  border-top:1px solid #e7ebf3!important;
  padding:13px clamp(14px,3vw,34px)!important;
}
html[data-isp-expert-page="compat"] #chatInput{
  border-radius:14px!important;
  border-color:#cfd9ea!important;
  background:#fff!important;
}
html[data-isp-expert-page="compat"] #chatInput:focus{
  border-color:#145be7!important;
  box-shadow:0 0 0 4px rgba(20,91,231,.09)!important;
}
html[data-isp-expert-page="compat"] .send-btn{background:#145be7!important;border-radius:12px!important}

@media(max-width:900px){
  html[data-isp-expert-page="catalogue"] .main-layout{grid-template-columns:1fr!important;padding:14px 14px 44px!important}
  html[data-isp-expert-page="catalogue"] .pg-hero{padding:88px 18px 24px!important}
  html[data-isp-expert-page="catalogue"] .device-finder{padding:14px!important}
  html[data-isp-expert-page="catalogue"] .toolbar{position:relative!important;top:auto!important;padding:10px 14px!important}

  html[data-isp-expert-page="product"] .isp-product-wrap{padding:92px 14px 42px!important}
  html[data-isp-expert-page="product"] .isp-product-media{min-height:300px!important}

  html[data-isp-expert-page="compat"] .chat-layout{grid-template-columns:0 minmax(0,1fr) 0!important}
  html[data-isp-expert-page="compat"] .chat-left,
  html[data-isp-expert-page="compat"] .chat-right{display:none!important}
}

@media(max-width:600px){
  html[data-isp-expert-page="catalogue"] .pg-hero{padding-top:84px!important}
  html[data-isp-expert-page="catalogue"] .ph-title{font-size:2.15rem!important}
  html[data-isp-expert-page="catalogue"] .df-in{padding:13px!important}

  html[data-isp-expert-page="product"] .isp-product-wrap{padding-top:86px!important}
  html[data-isp-expert-page="product"] .isp-product-media{min-height:270px!important;padding:18px!important}

  html[data-isp-expert-page="compat"] .nav{padding:8px 12px!important;min-height:64px!important;height:auto!important}
  html[data-isp-expert-page="compat"] .messages{padding:20px 12px!important}
  html[data-isp-expert-page="compat"] .msg-bubble{max-width:100%!important}
  html[data-isp-expert-page="compat"] .chat-input-wrap{padding:10px!important}
}

@media(prefers-reduced-motion:reduce){
  html[data-isp-expert-page="catalogue"] *,
  html[data-isp-expert-page="product"] *,
  html[data-isp-expert-page="compat"] *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* LOT UX 209 — Compatibilité charge la couche CSS commune sans le JS expert. */
body.isp-page-assistant .sbar{display:none!important}
body.isp-page-assistant .nav{height:68px!important;min-height:68px!important;padding:0 clamp(18px,3.2vw,54px)!important;background:rgba(255,255,255,.985)!important;border-bottom:1px solid #e7ebf3!important;box-shadow:0 8px 30px rgba(15,35,70,.035)!important}
body.isp-page-assistant .nav-links{gap:8px!important;margin-left:auto!important;margin-right:auto!important}
body.isp-page-assistant .nav-links li:has(>a[href="/"]),body.isp-page-assistant .nav-links li:has(>a[href="/promos"]){display:none!important}
body.isp-page-assistant .nav-links a{padding:9px 10px!important;border-radius:10px!important;font-size:.86rem!important;color:#344054!important}
body.isp-page-assistant .nav-links a[href="/assistant-ia"]{font-size:0!important}
body.isp-page-assistant .nav-links a[href="/assistant-ia"]::after{content:'Compatibilité';font-size:.86rem!important}
body.isp-page-assistant .nav-r>a[href="/assistant-ia"]{display:none!important}
body.isp-page-assistant .logo-i,body.isp-page-assistant .logo-dot{animation:none!important}
body.isp-page-assistant .chat-layout{grid-template-columns:220px minmax(0,1fr) 250px!important;background:#f7f9fd!important}
body.isp-page-assistant .chat-left,body.isp-page-assistant .chat-right{border-color:#e7ebf3!important;background:#fff!important}
body.isp-page-assistant .chat-main{background:#f7f9fd!important}
body.isp-page-assistant .chat-title-bar{height:62px!important;background:#fff!important;border-bottom:1px solid #e7ebf3!important;padding-left:28px!important}
body.isp-page-assistant .messages{padding:30px clamp(20px,4vw,54px)!important}
body.isp-page-assistant .msg-bubble{border-color:#e1e7f0!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(15,35,70,.05)!important}
body.isp-page-assistant .chat-input-wrap{border-top:1px solid #e7ebf3!important;padding:13px clamp(14px,3vw,34px)!important}
body.isp-page-assistant #chatInput{border-radius:14px!important;border-color:#cfd9ea!important;background:#fff!important}
body.isp-page-assistant #chatInput:focus{border-color:#145be7!important;box-shadow:0 0 0 4px rgba(20,91,231,.09)!important}
body.isp-page-assistant .send-btn{background:#145be7!important;border-radius:12px!important}
@media(max-width:900px){body.isp-page-assistant .chat-layout{grid-template-columns:0 minmax(0,1fr) 0!important}body.isp-page-assistant .chat-left,body.isp-page-assistant .chat-right{display:none!important}}
@media(max-width:600px){body.isp-page-assistant .nav{padding:8px 12px!important;min-height:64px!important;height:auto!important}body.isp-page-assistant .messages{padding:20px 12px!important}body.isp-page-assistant .msg-bubble{max-width:100%!important}body.isp-page-assistant .chat-input-wrap{padding:10px!important}}
