/* SitePrime 2026 — UI/UX final polish
   Safe override layer: visual consistency, spacing, responsive behaviour. */
:root{
  --sp-radius-sm:12px;
  --sp-radius:18px;
  --sp-radius-lg:24px;
  --sp-shadow-sm:0 8px 24px rgba(15,35,65,.055);
  --sp-shadow:0 16px 46px rgba(15,35,65,.085);
  --sp-shadow-hover:0 24px 62px rgba(15,35,65,.13);
  --sp-border:#dce6f2;
  --sp-muted:#5f7087;
}

/* Global rhythm */
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
.container{width:min(1180px,calc(100% - 40px))}
.section{padding-block:76px}
.section-head,.compact-section-head{max-width:820px;margin-left:auto;margin-right:auto}
.section-head h1,.section-head h2,.compact-section-head h2{text-wrap:balance}
.section-head p,.compact-section-head p{max-width:760px;margin-left:auto;margin-right:auto;color:var(--sp-muted);line-height:1.72}

/* Unified interaction */
.btn{border-radius:12px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(22,136,248,.28);outline-offset:3px}

/* Consistent cards */
.home-pack-card,.home-model-card,.inspiration-catalog-card,.home-solution-card,.testimonial-card,.faq details,.service-card,.pack-card{
  border-color:var(--sp-border)!important;
  box-shadow:var(--sp-shadow-sm);
}
.home-pack-card:hover,.home-model-card:hover,.inspiration-catalog-card:hover,.home-solution-card:hover,.service-card:hover{
  box-shadow:var(--sp-shadow-hover)!important;
}

/* Packs: hierarchy and breathing room */
.home-packs-grid{gap:22px!important;align-items:stretch}
.home-pack-card{border-radius:24px!important;padding:20px!important}
.home-pack-visual{overflow:hidden;border-radius:17px!important;background:transparent!important}
.home-pack-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:17px}
.home-pack-heading{margin-top:4px}
.home-pack-summary{color:#52647b!important}
.home-pack-features{display:grid;gap:2px;padding-left:0;list-style:none}
.home-pack-features li{position:relative;padding-left:24px!important}
.home-pack-features li:before{content:"✓";position:absolute;left:0;top:4px;color:#07945e;font-weight:950}
.home-pack-trustbar{box-shadow:none!important}

/* Inspirations — one language everywhere: label > 16:9 image > title > activity */
.home-model-card.inspiration-card,.inspiration-catalog-card{
  padding:12px!important;
  border-radius:22px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.inspiration-simple-type{padding:4px 5px 11px!important;color:#0864df!important;font-size:11px!important;font-weight:900!important;letter-spacing:.055em!important;text-transform:uppercase!important}
.inspiration-simple-image-wrap{
  width:100%!important;
  margin:0!important;
  aspect-ratio:16/9!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
.inspiration-simple-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  object-position:top center!important;
  border:0!important;
  border-radius:16px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-model-card.inspiration-card .home-model-body,.inspiration-catalog-card .inspiration-catalog-body{padding:16px 5px 5px!important}
.home-model-card.inspiration-card .home-model-body h3,.inspiration-catalog-card .inspiration-catalog-body h3{margin:0 0 5px!important;letter-spacing:-.022em!important}

/* Individual inspiration / model presentation */
.model-preview,.inspiration-preview,.model-showcase,.preview-frame{
  overflow:hidden!important;
  border-radius:20px!important;
  background:transparent!important;
  border:1px solid var(--sp-border)!important;
  box-shadow:var(--sp-shadow)!important;
}
.model-preview img,.inspiration-preview img,.model-showcase img,.preview-frame img{
  display:block;width:100%;height:auto;background:transparent!important
}

/* Other services */
.home-solutions-visual-grid{gap:22px!important}
.home-solutions-visual-grid .home-solution-card{border-radius:24px!important;overflow:hidden!important;background:#fff!important}
.home-solution-visual{overflow:hidden;background:transparent!important}
.home-solution-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;background:transparent!important}
.home-solution-body{padding:22px 24px 24px}

/* Forms: premium, predictable */
form label{font-weight:750;color:#26364a}
input,select,textarea{border-radius:12px!important;border-color:#d9e3ef!important;background:#fff!important;transition:border-color .18s ease,box-shadow .18s ease}
input:focus,select:focus,textarea:focus{border-color:#80baf4!important;box-shadow:0 0 0 4px rgba(22,136,248,.09)!important}
textarea{min-height:120px}

/* FAQ */
.faq{gap:10px!important}
.faq details{border-radius:15px!important;padding:17px 19px!important;transition:border-color .18s ease,box-shadow .18s ease}
.faq details[open]{border-color:#bdd9f6!important;box-shadow:0 12px 32px rgba(15,35,65,.07)}
.faq summary{line-height:1.4}

/* Footer */
footer{padding-top:52px!important}
.footer-grid{gap:38px!important}
.footer-grid h3{font-size:15px;letter-spacing:.01em}
.footer-grid a{line-height:1.45}
.footer-bottom{margin-top:34px!important}

/* EDGE aligned with the site */
.edge-panel{border-radius:20px!important;box-shadow:0 24px 70px rgba(6,20,38,.24)!important;overflow:hidden}
.edge-toggle{box-shadow:none!important;background:transparent!important;filter:none!important}

/* Tablet/mobile: preserve images and remove accidental cropping */
@media(max-width:980px){
  .section{padding-block:64px}
  .home-packs-grid,.home-models-grid{gap:18px!important}
}
@media(max-width:680px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding-block:48px}
  .section-head,.compact-section-head{margin-bottom:26px!important}
  .section-head h2,.compact-section-head h2{font-size:clamp(30px,9vw,40px)!important;line-height:1.08}
  .home-pack-card,.home-model-card.inspiration-card,.inspiration-catalog-card,.home-solution-card{border-radius:19px!important}
  .inspiration-simple-image-wrap,.inspiration-simple-image{aspect-ratio:16/9!important;border-radius:13px!important}
  .home-solution-visual{padding:10px 10px 0!important;background:transparent!important}
  .home-solution-visual img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:13px!important;
    background:transparent!important;
  }
  /* Transparent source assets remain transparent */
  img[src$=".png"],img[src*=".png?"],img[src$=".webp"],img[src*=".webp?"]{background-color:transparent}
  .home-pack-trustbar{grid-template-columns:1fr 1fr!important}
  .home-pack-trustbar span:nth-child(2n){border-right:0!important}
  .home-pack-trustbar span{padding:13px 10px!important}
  .footer-grid{gap:28px!important}
}
@media(max-width:430px){
  .home-pack-trustbar{grid-template-columns:1fr!important}
  .home-pack-trustbar span{border-right:0!important;border-bottom:1px solid #e0ebf6}
  .home-pack-trustbar span:last-child{border-bottom:0}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* 2026-08-25 — Inspirations : aperçu 16:9 bord à bord (catalogue + frontpage)
   Le libellé du type reste au-dessus ; l'image utilise ensuite toute la largeur de la carte. */
.home-model-card.inspiration-card,
.inspiration-catalog-card{
  padding:0!important;
  overflow:hidden!important;
}
.home-model-card.inspiration-card .inspiration-simple-type,
.inspiration-catalog-card .inspiration-simple-type{
  padding:18px 16px 11px!important;
  margin:0!important;
}
.home-model-card.inspiration-card .inspiration-simple-image-wrap,
.inspiration-catalog-card .inspiration-simple-image-wrap{
  width:100%!important;
  margin:0!important;
  aspect-ratio:16/9!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-model-card.inspiration-card .inspiration-simple-image,
.inspiration-catalog-card .inspiration-simple-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  object-position:top center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-model-card.inspiration-card .home-model-body,
.inspiration-catalog-card .inspiration-catalog-body{
  padding:20px 16px 18px!important;
}

/* Les fichiers réellement transparents ne reçoivent jamais de fond artificiel. */
img[src$=".png"],img[src*=".png?"],img[src$=".webp"],img[src*=".webp?"]{
  background-color:transparent!important;
}

@media(max-width:680px){
  .home-model-card.inspiration-card .inspiration-simple-type,
  .inspiration-catalog-card .inspiration-simple-type{
    padding:16px 14px 10px!important;
    font-size:11px!important;
  }
  .home-model-card.inspiration-card .inspiration-simple-image-wrap,
  .inspiration-catalog-card .inspiration-simple-image-wrap,
  .home-model-card.inspiration-card .inspiration-simple-image,
  .inspiration-catalog-card .inspiration-simple-image{
    aspect-ratio:16/9!important;
    border-radius:0!important;
  }
  .home-model-card.inspiration-card .home-model-body,
  .inspiration-catalog-card .inspiration-catalog-body{
    padding:18px 14px 17px!important;
  }
}


/* 2026-08-25 — Frontpage autres services : image complète, sans zone grise */
#services-sur-devis .home-solutions-visual-grid .home-solution-card{
  overflow:hidden!important;
}
#services-sur-devis .home-solution-visual{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:14px 14px 0!important;
  background:transparent!important;
  border-bottom:0!important;
  overflow:visible!important;
}
#services-sur-devis .home-solution-visual img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  aspect-ratio:16/9!important;
  object-fit:contain!important;
  object-position:center top!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
@media(max-width:680px){
  #services-sur-devis .home-solution-visual{
    padding:12px 12px 0!important;
  }
  #services-sur-devis .home-solution-visual img{
    border-radius:16px!important;
  }
}

/* 2026-08-25 — Mega menu Autres services : finition claire et sans bloc sombre */
.site-header .mega-panel-solutions .mega-grid-solutions{
  padding-right:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.site-header .mega-panel-solutions .mega-shell{
  min-height:0!important;
}
.site-header .mega-confidence-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:18px!important;
  padding:15px 4px 0!important;
  border-top:1px solid #edf1f6!important;
  background:transparent!important;
}
.site-header .mega-confidence-points{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px 22px!important;
  min-width:0!important;
}
.site-header .mega-confidence-points span{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
.site-header .mega-confidence-points span::first-letter{
  color:#16a34a!important;
}
.site-header .mega-confidence-cta{
  flex:0 0 auto!important;
  min-height:40px!important;
  padding:9px 16px!important;
  border-radius:11px!important;
  white-space:nowrap!important;
  box-shadow:0 10px 22px rgba(22,136,248,.20)!important;
}
/* Sécurité : l'ancien encart sombre ne doit jamais réapparaître si du cache HTML subsiste. */
.site-header .mega-panel-solutions .mega-trust{display:none!important}

@media(max-width:980px){
  .site-header .mega-panel-solutions .mega-grid-solutions{
    grid-template-columns:1fr!important;
  }
  .site-header .mega-confidence-bar{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:12px!important;
    padding:14px 0 0!important;
  }
  .site-header .mega-confidence-points{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .site-header .mega-confidence-points span{
    white-space:normal!important;
    font-size:12px!important;
  }
  .site-header .mega-confidence-cta{
    width:100%!important;
    justify-content:center!important;
  }
}


/* 2026-08-25 — Inspirations : bandeau catalogue en évolution */
.models-evolving-note{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:22px 0 30px!important;
  padding:18px 20px!important;
  border:1px solid #dbe7f4!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(15,48,88,.07)!important;
}
.models-evolving-icon{
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  background:#eef6ff!important;
  color:#0868df!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
.models-evolving-copy{min-width:0!important}
.models-evolving-copy>span{
  display:block!important;
  margin:0 0 3px!important;
  color:#0868df!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  font-size:10px!important;
  font-weight:900!important;
}
.models-evolving-copy>strong{
  display:block!important;
  margin:0!important;
  color:#13243b!important;
  font-size:15px!important;
  line-height:1.35!important;
}
.models-evolving-copy p{
  margin:4px 0 0!important;
  max-width:760px!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.models-evolving-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 16px!important;
  border:1px solid #bfd7f1!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  color:#0868df!important;
  white-space:nowrap!important;
  font-size:13px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.models-evolving-link:hover{
  border-color:#8fbee9!important;
  background:#eef6ff!important;
  text-decoration:none!important;
}
@media(max-width:760px){
  .models-evolving-note{
    grid-template-columns:40px minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
    margin:18px 0 25px!important;
    padding:16px!important;
    border-radius:17px!important;
  }
  .models-evolving-icon{width:40px!important;height:40px!important;font-size:19px!important}
  .models-evolving-copy>strong{font-size:14px!important}
  .models-evolving-copy p{font-size:12.5px!important}
  .models-evolving-link{
    grid-column:1/-1!important;
    width:100%!important;
    margin-top:2px!important;
  }
}


/* 2026-08-25 — EDGE launcher: aucune ombre carrée */
.edge-widget .edge-toggle,
.edge-widget .edge-toggle:hover,
.edge-widget .edge-avatar-wrap,
.edge-widget .edge-toggle:hover .edge-avatar-wrap,
.edge-widget .edge-avatar-toggle{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}


/* 2026-08-25 — Inspirations : page plus compacte, contenu remonté */
.models-page-hero{
  padding:42px 0 28px!important;
}
.models-page-hero h1{
  margin:8px 0 12px!important;
}
.models-page-hero p{
  margin:0!important;
}
.models-page-content{
  padding:28px 0 76px!important;
}
.models-page-content .models-filters{
  margin-bottom:16px!important;
}
.models-page-content .models-evolving-note{
  margin:14px 0 20px!important;
}
.models-page-content .models-grid{
  margin-top:0!important;
}
@media(max-width:680px){
  .models-page-hero{
    padding:30px 0 22px!important;
  }
  .models-page-content{
    padding:20px 0 58px!important;
  }
  .models-page-content .models-filters{
    margin-bottom:12px!important;
  }
  .models-page-content .models-evolving-note{
    margin:12px 0 16px!important;
  }
}

/* 2026-08-25 — Mega menu global : disponible sur toutes les pages publiques */
@media (min-width:981px){
  .site-header .nav-mega:hover > .mega-panel,
  .site-header .nav-mega:focus-within > .mega-panel,
  .site-header .nav-mega.is-open > .mega-panel{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,0)!important;
  }
  .site-header .nav-mega > .mega-panel{
    z-index:2100!important;
  }
}
