/* John Design Core 2.12.2 — website portfolio screenshots */
.jd-site-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
.jd-site-card,.jd-site-card.is-featured{grid-column:auto!important;transition:transform .22s ease,box-shadow .22s ease}
.jd-site-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(32,25,45,.12)}
.jd-site-preview-link{display:block;position:relative;text-decoration:none;color:inherit}
.jd-site-browser{aspect-ratio:16/9!important;background:#f2f2f2!important}
.jd-site-browser img{object-fit:cover!important;object-position:top center!important;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .25s ease!important;filter:saturate(.98)}
.jd-site-card:hover .jd-site-browser img{transform:scale(1.012);filter:saturate(1.03)}
.jd-site-info{background:#fff}
.jd-site-open{white-space:nowrap}
@media(max-width:760px){.jd-site-grid{grid-template-columns:1fr!important;gap:18px!important}.jd-site-card:hover{transform:none}.jd-site-browser{aspect-ratio:16/10!important}}

/* John Design Core 2.13.1 — responsive hardening
   Desktop composition stays unchanged; these rules only prevent narrow-screen breakage. */
html,body{max-width:100%;overflow-x:hidden}
.wp-block-post-content>.jd-section,
.jd-preview-page>.jd-section,
.jd-home-contact-shell,
.jd-home-form-panel,
.jd-site-card,
.jd-real-card{min-width:0}
.jd-section img,
.jd-site-card img,
.jd-real-card img{max-width:100%;height:auto}
.jd-contact-form input,
.jd-contact-form select,
.jd-contact-form textarea{max-width:100%}
.jd-home-email,
.jd-contact-form,
.jd-site-open{overflow-wrap:anywhere}

@media (min-width:768px) and (max-width:1024px){
  .wp-block-post-content>.jd-section,
  .jd-preview-page>.jd-section{padding-left:32px;padding-right:32px}
  .jd-home-contact-shell{gap:24px}
  .jd-home-form-panel{padding:26px}
  .jd-site-grid{gap:18px!important}
}

@media (max-width:767px){
  .jd-contact-form input,
  .jd-contact-form select,
  .jd-contact-form textarea{font-size:16px!important}
  .jd-contact-form button,
  .wp-block-button__link,
  .jd-nav-cta{min-height:44px}
  .jd-home-contact-shell{width:100%;min-width:0}
  .jd-home-form-panel{width:100%;min-width:0}
  .jd-home-form-panel .jd-form-grid{grid-template-columns:minmax(0,1fr)!important}
  .jd-preview-nav[open] nav{max-width:calc(100vw - 36px)!important;right:0}
  .jd-site-info{min-width:0}
  .jd-site-open{white-space:normal}
  .jd-review-card,
  .jd-related-card,
  .jd-service{min-width:0}
}

@media (max-width:430px){
  .wp-block-post-content>.jd-section,
  .jd-preview-page>.jd-section{padding-left:18px!important;padding-right:18px!important}
  .jd-home-contact-shell{padding:16px!important;border-radius:26px}
  .jd-home-form-panel{padding:18px!important;border-radius:22px}
  .jd-home-contact-copy h2{font-size:clamp(2.35rem,12vw,3.5rem)}
  .jd-site-grid{gap:14px!important}
}



/* John Design Core 2.14.4 — header flottant permanent */
.jd-header-spacer{height:0}
.jd-header{
  transition:box-shadow .18s ease;
}
.jd-header.is-fixed{
  position:fixed!important;
  top:var(--jd-header-top,18px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  z-index:10000!important;
  margin:0!important;
  width:min(var(--jd-header-width,calc(100% - 64px)),calc(100% - 64px))!important;
  max-width:none!important;
  border-radius:var(--jd-header-radius,32px)!important;
  box-shadow:
    0 0 0 4px #fff,
    0 12px 26px rgba(20,20,20,.10)!important;
}
.jd-preview-nav nav.jd-desktop-nav{align-items:center;gap:18px}
.jd-preview-nav nav.jd-desktop-nav .jd-nav-link{
  color:inherit;
  text-decoration:none;
  font-size:14px;
  line-height:1.2;
  font-weight:650;
  white-space:nowrap
}
.jd-preview-nav nav.jd-desktop-nav .jd-nav-link:hover{
  text-decoration:underline;
  text-underline-offset:4px
}
.jd-preview-nav nav.jd-desktop-nav .jd-nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 17px;
  border-radius:999px;
  white-space:nowrap;
  text-decoration:none
}
@media (min-width:1024px){
  .jd-preview-nav>summary{display:none!important}
  .jd-preview-nav[open]>nav.jd-desktop-nav,
  .jd-preview-nav nav.jd-desktop-nav{
    display:flex!important;
    position:static!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    background:transparent!important;
    box-shadow:none!important;
    max-width:none!important
  }
}
@media (max-width:1180px) and (min-width:1024px){
  .jd-preview-nav nav.jd-desktop-nav{gap:11px}
  .jd-preview-nav nav.jd-desktop-nav .jd-nav-link{font-size:12px}
  .jd-preview-nav nav.jd-desktop-nav .jd-nav-cta{padding:9px 13px}
}
@media(max-width:767px){
  .jd-header.is-fixed{
    top:12px!important;
    width:calc(100% - 28px)!important;
    max-width:none!important;
    border-radius:22px!important;
    box-shadow:
      0 0 0 4px #fff,
      0 10px 22px rgba(20,20,20,.10)!important;
    padding-left:22px!important;
    padding-right:22px!important
  }
}

/* Section 01 — réalisations mises en avant, visuellement séparées du hero et de la section 02. */
.jd-home-work-feature{
  box-sizing:border-box;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:34px auto 52px!important;
  padding-top:64px!important;
  padding-bottom:64px!important;
  background:#f1ecfb!important;
  border-radius:42px!important
}
@media(max-width:767px){
  .jd-home-work-feature{
    width:calc(100% - 24px)!important;
    margin:20px auto 34px!important;
    padding-top:40px!important;
    padding-bottom:40px!important;
    border-radius:28px!important
  }
}


/* John Design Core 2.15.0 — simplification éditoriale */
.jd-caption,
.jd-location,
figure>figcaption{
  display:none!important;
}

/* Les cartes de renvoi doivent ressortir nettement sur les fonds colorés. */
.jd-related-card{
  background:#fff!important;
  box-shadow:0 10px 34px rgba(25,25,25,.05)!important;
}

/* Résumé minimal des services entre le hero et les réalisations. */
.jd-home-services-snapshot{
  box-sizing:border-box;
  width:calc(100% - 96px);
  max-width:1320px;
  margin:42px auto 46px;
  padding:22px 0;
  background:transparent;
  border-top:1px solid rgba(25,25,25,.12);
  border-bottom:1px solid rgba(25,25,25,.12);
}
.jd-home-services-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.jd-home-service-mini{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:8px 22px;
  text-decoration:none!important;
  color:#191919!important;
  font-size:16px;
  font-weight:750;
  border-left:1px solid rgba(25,25,25,.10);
  transition:opacity .18s ease,transform .18s ease;
}
.jd-home-service-mini:first-child{border-left:0}
.jd-home-service-mini:hover{transform:translateY(-2px);opacity:.72}
.jd-home-service-icon{
  width:34px;height:34px;
  flex:0 0 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
}
.jd-home-service-mini.is-web .jd-home-service-icon{background:#eee7fb}
.jd-home-service-mini.is-id .jd-home-service-icon{background:#efffc0}
.jd-home-service-mini.is-print .jd-home-service-icon{background:#f7e6ee}
.jd-home-service-mini.is-sign .jd-home-service-icon{background:#f1f0eb}
.jd-home-service-icon svg{
  width:18px;height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.jd-home-service-label{white-space:nowrap}

/* Maintenance : compacte et claire, sans transformer la page en catalogue. */
.jd-web-maintenance{
  box-sizing:border-box;
  margin:0;
  padding:46px;
  border-radius:34px;
  background:#f1ecfb;
}
.jd-web-maintenance-copy{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:36px;
  align-items:end;
}
.jd-web-maintenance-copy .jd-eyebrow{
  grid-column:1/-1;
  margin-bottom:-12px;
}
.jd-web-maintenance-copy h2{
  margin:0;
  font-size:clamp(38px,5vw,68px);
  line-height:.98;
  letter-spacing:-.055em;
}
.jd-web-maintenance-copy>p:last-child{
  margin:0 0 5px;
  max-width:580px;
  font-size:18px;
  line-height:1.55;
}
.jd-web-maintenance-items{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:36px;
  background:rgba(25,25,25,.12);
  border-radius:22px;
  overflow:hidden;
}
.jd-web-maintenance-items>div{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:108px;
  padding:22px;
  background:#fff;
}
.jd-web-maintenance-items strong{font-size:16px}
.jd-web-maintenance-items span{font-size:14px;line-height:1.5;color:#5b575f}
.jd-web-maintenance-link{
  display:inline-block;
  margin-top:24px;
  color:#191919!important;
  text-decoration:underline;
  text-underline-offset:5px;
  font-weight:800;
}

@media(max-width:900px){
  .jd-home-services-snapshot{width:calc(100% - 48px);margin:32px auto 36px}
  .jd-home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jd-home-service-mini:nth-child(3){border-left:0;border-top:1px solid rgba(25,25,25,.10)}
  .jd-home-service-mini:nth-child(4){border-top:1px solid rgba(25,25,25,.10)}
  .jd-web-maintenance-copy{grid-template-columns:1fr}
  .jd-web-maintenance-items{grid-template-columns:1fr}
}
@media(max-width:600px){
  .jd-home-services-snapshot{
    width:calc(100% - 36px);
    margin:24px auto 30px;
    padding:12px 0;
  }
  .jd-home-service-mini{
    min-height:64px;
    justify-content:flex-start;
    padding:10px 12px;
    font-size:14px;
  }
  .jd-home-service-icon{width:30px;height:30px;flex-basis:30px}
  .jd-home-service-label{white-space:normal}
  .jd-web-maintenance{padding:26px 22px;margin:0;border-radius:26px}
  .jd-web-maintenance-copy h2{font-size:clamp(34px,11vw,48px)}
  .jd-web-maintenance-copy>p:last-child{font-size:16px}
  .jd-web-maintenance-items{margin-top:26px}
}

/* À propos : vraie photo d'abord, process ensuite. */
.jd-about-intro-photo{
  margin:0;
  width:100%;
  height:100%;
  min-height:430px;
  overflow:hidden;
  border-radius:34px;
  background:#f1ecfb;
}
.jd-about-intro-photo img{
  width:100%!important;
  height:100%!important;
  min-height:430px;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
}
.jd-about-process-card{
  min-height:430px;
  display:grid;
  align-content:center;
  gap:14px;
  padding:34px;
  border-radius:34px;
  background:#191919;
  color:#fff;
}
.jd-process-step{
  display:grid;
  grid-template-columns:72px 1fr;
  align-items:center;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.jd-process-step:last-child{border-bottom:0}
.jd-process-step strong{
  color:#c7b2ef;
  font-size:15px;
  letter-spacing:.08em;
}
.jd-process-step span{
  font-size:clamp(28px,3vw,44px);
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
}

@media(max-width:900px){
  .jd-home-services-top{display:block}
  .jd-home-services-title{margin-top:10px}
  .jd-home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .jd-home-services-snapshot{
    width:calc(100% - 24px);
    padding:18px;
    margin:18px auto 26px;
    border-radius:26px;
  }
  .jd-home-services-grid{grid-template-columns:1fr 1fr;gap:9px}
  .jd-home-service-mini{min-height:104px;padding:15px;font-size:15px;border-radius:18px}
  .jd-about-intro-photo,
  .jd-about-intro-photo img,
  .jd-about-process-card{min-height:330px}
  .jd-about-process-card{padding:24px}
  .jd-process-step{grid-template-columns:52px 1fr}
}


/* WhatsApp flottant : un seul CTA permanent pour ne pas surcharger l’écran. */
.jd-whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9998;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#25D366;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 10px 28px rgba(25,25,25,.18);
  transition:transform .18s ease,box-shadow .18s ease;
}
.jd-whatsapp-float:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(25,25,25,.22);
}
.jd-whatsapp-float svg{
  width:25px;
  height:25px;
  fill:currentColor;
}
@media(max-width:600px){
  .jd-whatsapp-float{
    right:14px;
    bottom:14px;
    width:50px;
    height:50px;
  }
}


/* John Design Core 2.15.2 — stabilité de la section Réalisations */
.jd-home-work-feature .jd-home-work-head,
.jd-home-work-feature .jd-home-work-grid,
.jd-home-work-feature .jd-work-controls,
.jd-home-work-feature .jd-home-work-actions{
  width:100%!important;
  max-width:1208px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.jd-home-work-feature .jd-home-work-head{
  display:grid!important;
  grid-template-columns:minmax(520px,1fr) minmax(320px,430px)!important;
  gap:52px!important;
  align-items:end!important;
}
.jd-home-work-feature .jd-home-work-head>div{
  min-width:0!important;
}
.jd-home-work-feature .jd-home-work-head h2{
  max-width:720px!important;
  min-width:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:initial!important;
  white-space:normal!important;
  font-size:clamp(46px,4vw,68px)!important;
  line-height:.98!important;
}
.jd-home-work-feature .jd-home-work-head .jd-lead{
  width:100%!important;
  max-width:430px!important;
  min-width:300px!important;
  justify-self:end!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media(max-width:980px){
  .jd-home-work-feature .jd-home-work-head{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .jd-home-work-feature .jd-home-work-head h2{
    max-width:760px!important;
  }
  .jd-home-work-feature .jd-home-work-head .jd-lead{
    min-width:0!important;
    max-width:650px!important;
    justify-self:start!important;
  }
}

/* WhatsApp — bouton compact type capsule, plus explicite qu'une bulle seule. */
.jd-whatsapp-float{
  width:auto!important;
  min-width:126px!important;
  height:48px!important;
  padding:0 18px 0 15px!important;
  gap:9px!important;
  border-radius:999px!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
}
.jd-whatsapp-float svg{
  width:21px!important;
  height:21px!important;
  flex:0 0 21px!important;
}
.jd-whatsapp-float span{
  display:inline-block!important;
}
@media(max-width:600px){
  .jd-whatsapp-float{
    right:14px!important;
    bottom:14px!important;
    min-width:118px!important;
    height:46px!important;
    padding:0 16px 0 14px!important;
    font-size:13px!important;
  }
}


/* John Design Core 2.15.3 — correction définitive accueil / réalisations */
.jd-home-work-feature{
  display:block!important;
  box-sizing:border-box!important;
  padding:64px clamp(28px,4vw,64px)!important;
}
.jd-home-work-feature .jd-home-work-head,
.jd-home-work-feature .jd-home-work-grid,
.jd-home-work-feature .jd-work-controls,
.jd-home-work-feature .jd-home-work-actions{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.jd-home-work-feature .jd-home-work-head{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
  gap:48px!important;
}
.jd-home-work-feature .jd-home-work-head h2{
  max-width:760px!important;
}
.jd-home-work-feature .jd-home-work-head .jd-lead{
  max-width:390px!important;
}
.jd-home-work-feature #jd-work-track{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  gap:18px!important;
  overflow-x:auto!important;
}
.jd-home-work-feature #jd-work-track>.jd-home-work-item{
  flex:0 0 calc((100% - 36px)/3)!important;
  min-width:calc((100% - 36px)/3)!important;
  width:calc((100% - 36px)/3)!important;
  aspect-ratio:1/1!important;
}
.jd-home-work-feature .jd-work-controls{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
}
.jd-home-work-feature .jd-home-work-actions{
  display:flex!important;
  justify-content:flex-end!important;
}
@media(max-width:980px){
  .jd-home-work-feature{
    padding:48px 32px!important;
  }
  .jd-home-work-feature .jd-home-work-head{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .jd-home-work-feature .jd-home-work-head .jd-lead{
    max-width:650px!important;
  }
  .jd-home-work-feature #jd-work-track>.jd-home-work-item{
    flex-basis:calc((100% - 18px)/2)!important;
    min-width:calc((100% - 18px)/2)!important;
    width:calc((100% - 18px)/2)!important;
  }
}
@media(max-width:640px){
  .jd-home-work-feature{
    padding:38px 20px!important;
  }
  .jd-home-work-feature #jd-work-track>.jd-home-work-item{
    flex-basis:86%!important;
    min-width:86%!important;
    width:86%!important;
  }
  .jd-home-work-feature .jd-home-work-actions{
    justify-content:flex-start!important;
  }
}

/* WhatsApp : garantir texte + icône visibles dans la capsule. */
.jd-whatsapp-float{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.jd-whatsapp-float span{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  width:auto!important;
  max-width:none!important;
}


/* John Design Core 2.15.5 — contrast, respiration, portfolio web plus léger */

/* "Et pour la suite" : fond doux + cartes vraiment blanches. */
.jd-related-contrast{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:34px auto 56px!important;
  padding:58px 46px!important;
  background:#f1ecfb!important;
  border-radius:38px!important;
}
.jd-related-contrast .jd-related-card{
  background:#fff!important;
  box-shadow:0 12px 34px rgba(25,25,25,.06)!important;
}

/* Maintenance : le wrapper lui-même porte la largeur et les gouttières.
   Le panneau violet ne peut donc plus toucher les bords du viewport. */
.jd-web-maintenance-injected{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:34px auto 72px!important;
  padding:0!important;
}
.jd-web-maintenance-injected .jd-web-maintenance{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Sites réalisés : cartes plus petites, 3 colonnes, légendes compactes. */
.jd-site-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.jd-site-card,
.jd-site-card.is-featured{
  grid-column:auto!important;
  border-radius:20px!important;
  box-shadow:0 10px 30px rgba(32,25,45,.07)!important;
  overflow:hidden!important;
}
.jd-site-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 16px 38px rgba(32,25,45,.11)!important;
}
.jd-site-browser,
.jd-site-card.is-featured .jd-site-browser{
  aspect-ratio:16/10!important;
  border-radius:0!important;
}
.jd-site-info{
  min-height:unset!important;
  padding:14px 14px 13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  background:#fff!important;
}
.jd-site-info>div{
  min-width:0!important;
}
.jd-site-info h3{
  margin:0 0 3px!important;
  font-size:17px!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}
.jd-site-url{
  margin:0!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#77727d!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.jd-site-open{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.jd-site-open::after{
  content:''!important;
  width:18px!important;
  height:18px!important;
  display:block!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M9 7H17V15'/%3E%3C/svg%3E") center/18px 18px no-repeat!important;
}

@media(max-width:1100px){
  .jd-site-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .jd-related-contrast{
    width:calc(100% - 24px)!important;
    padding:38px 20px!important;
    border-radius:28px!important;
  }
  .jd-web-maintenance-injected{
    width:calc(100% - 24px)!important;
    margin:22px auto 48px!important;
    padding:0!important;
  }
  .jd-site-grid{grid-template-columns:1fr!important}
  .jd-site-info{padding:13px!important}
  .jd-site-info h3{font-size:16px!important}
}


/* John Design Core 2.16.1 — parcours visuel page Site internet */
.jd-web-flow-section{
  box-sizing:border-box!important;
}

.jd-web-flow-soft{
  background:#f1ecfb!important;
}

.jd-web-flow-pink{
  background:#f8e7ee!important;
}

.jd-web-flow-card{
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:34px auto 58px!important;
  border-radius:38px!important;
  background:#fff!important;
  box-shadow:0 12px 36px rgba(25,25,25,.055)!important;
  overflow:hidden!important;
}

/* Le titre de la section "Tout ce qu'il faut..." doit avoir le même poids
   visuel que les autres grands titres de la page. */
.jd-web-flow-scope h2{
  font-size:clamp(48px,5.2vw,74px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  max-width:760px!important;
}

.jd-web-flow-faq{
  margin-top:0!important;
}

.jd-web-maintenance-in-flow{
  margin-top:34px!important;
  margin-bottom:34px!important;
}

.jd-web-flow-cta{
  margin-top:0!important;
}

@media(max-width:760px){
  .jd-web-flow-card{
    width:calc(100% - 24px)!important;
    margin:22px auto 38px!important;
    border-radius:28px!important;
  }
  .jd-web-flow-scope h2{
    font-size:clamp(38px,11vw,52px)!important;
  }
  .jd-web-maintenance-in-flow{
    margin-top:22px!important;
    margin-bottom:22px!important;
  }
}


/* John Design Core 2.16.2 — galerie web premium + maintenance fiabilisée */

/* Galerie horizontale de la page Création de site internet. */
.jd-web-portfolio-strip{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:34px auto 42px!important;
  padding:54px 46px 38px!important;
  border-radius:38px!important;
  background:#f4f3f1!important;
  overflow:hidden!important;
}
.jd-web-portfolio-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:32px!important;
  margin-bottom:30px!important;
}
.jd-web-portfolio-head h2{
  margin:8px 0 12px!important;
  font-size:clamp(44px,4.8vw,70px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
}
.jd-web-portfolio-head>div>p:last-child{
  margin:0!important;
  max-width:620px!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.jd-web-portfolio-controls{
  display:flex!important;
  gap:9px!important;
  flex:0 0 auto!important;
}
.jd-web-portfolio-nav{
  width:46px!important;
  height:46px!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#191919!important;
  font-size:21px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 8px 24px rgba(25,25,25,.08)!important;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease!important;
}
.jd-web-portfolio-nav:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 30px rgba(25,25,25,.13)!important;
}
.jd-web-portfolio-nav:disabled{
  opacity:.32!important;
  cursor:default!important;
  transform:none!important;
}
.jd-web-portfolio-track{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-x:contain!important;
  padding:2px 2px 14px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#777 #e3e1dd!important;
}
.jd-web-portfolio-track::-webkit-scrollbar{height:7px!important}
.jd-web-portfolio-track::-webkit-scrollbar-track{
  background:#e3e1dd!important;
  border-radius:999px!important;
}
.jd-web-portfolio-track::-webkit-scrollbar-thumb{
  background:#777!important;
  border-radius:999px!important;
}
.jd-web-portfolio-card{
  flex:0 0 min(390px,31vw)!important;
  min-width:300px!important;
  scroll-snap-align:start!important;
  display:block!important;
  box-sizing:border-box!important;
  padding:12px!important;
  border-radius:28px!important;
  background:#fff!important;
  color:#191919!important;
  text-decoration:none!important;
  box-shadow:0 9px 28px rgba(25,25,25,.06)!important;
  transform:translateY(0)!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.jd-web-portfolio-card:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 18px 42px rgba(25,25,25,.12)!important;
}
.jd-web-portfolio-visual{
  position:relative!important;
  display:block!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  border-radius:21px!important;
  background:#ebe9e5!important;
}
.jd-web-portfolio-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:top center!important;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .25s ease!important;
}
.jd-web-portfolio-card:hover .jd-web-portfolio-visual img{
  transform:scale(1.025)!important;
  filter:brightness(.88)!important;
}
.jd-web-portfolio-arrow{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:42px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#191919!important;
  font-size:18px!important;
  box-shadow:0 6px 20px rgba(25,25,25,.10)!important;
  transition:transform .2s ease!important;
}
.jd-web-portfolio-card:hover .jd-web-portfolio-arrow{
  transform:translate(2px,-2px)!important;
}
.jd-web-portfolio-hover{
  position:absolute!important;
  left:16px!important;
  bottom:16px!important;
  padding:9px 12px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  opacity:0!important;
  transform:translateY(5px)!important;
  transition:opacity .2s ease,transform .2s ease!important;
}
.jd-web-portfolio-card:hover .jd-web-portfolio-hover{
  opacity:1!important;
  transform:translateY(0)!important;
}
.jd-web-portfolio-meta{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:15px 6px 5px!important;
}
.jd-web-portfolio-meta strong{
  font-size:17px!important;
  line-height:1.1!important;
}
.jd-web-portfolio-meta>span{
  min-width:0!important;
  max-width:48%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
  color:#77727d!important;
}
.jd-web-portfolio-card.is-accent-1 .jd-web-portfolio-arrow{background:#c7b5ef!important}
.jd-web-portfolio-card.is-accent-2 .jd-web-portfolio-arrow{background:#d9fb70!important}
.jd-web-portfolio-card.is-accent-3 .jd-web-portfolio-arrow{background:#f4b2ca!important}

/* Portfolio principal : même direction premium, sans changer son contenu. */
.jd-site-card,
.jd-site-card.is-featured{
  padding:12px!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(32,25,45,.07)!important;
  cursor:pointer!important;
  overflow:hidden!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.jd-site-card:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 20px 46px rgba(32,25,45,.13)!important;
}
.jd-site-preview-link{
  position:relative!important;
  display:block!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.jd-site-preview-link::after{
  content:''!important;
  position:absolute!important;
  top:13px!important;
  right:13px!important;
  width:40px!important;
  height:40px!important;
  display:block!important;
  border-radius:50%!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M9 7H17V15'/%3E%3C/svg%3E")!important;
  background-position:center!important;
  background-size:18px 18px!important;
  background-repeat:no-repeat!important;
  box-shadow:0 6px 18px rgba(25,25,25,.10)!important;
  transition:transform .2s ease!important;
}
.jd-site-card:hover .jd-site-preview-link::after{
  transform:translate(2px,-2px)!important;
}
.jd-site-browser,
.jd-site-card.is-featured .jd-site-browser{
  border-radius:22px!important;
  overflow:hidden!important;
  aspect-ratio:16/10!important;
}
.jd-site-card:hover .jd-site-browser img{
  transform:scale(1.025)!important;
}
.jd-site-info{
  padding:17px 7px 6px!important;
  background:transparent!important;
}
.jd-site-open{
  background:#f1ecfb!important;
  transition:transform .2s ease,background .2s ease!important;
}
.jd-site-card:hover .jd-site-open{
  transform:translate(2px,-2px)!important;
  background:#d9fb70!important;
}

@media(max-width:900px){
  .jd-web-portfolio-strip{
    padding:42px 28px 30px!important;
  }
  .jd-web-portfolio-head{
    align-items:flex-start!important;
  }
  .jd-web-portfolio-card{
    flex-basis:min(390px,72vw)!important;
  }
}
@media(max-width:600px){
  .jd-web-portfolio-strip{
    width:calc(100% - 24px)!important;
    margin:22px auto 32px!important;
    padding:34px 18px 24px!important;
    border-radius:28px!important;
  }
  .jd-web-portfolio-head{
    display:block!important;
    margin-bottom:22px!important;
  }
  .jd-web-portfolio-head h2{
    font-size:clamp(38px,11vw,50px)!important;
  }
  .jd-web-portfolio-controls{
    margin-top:18px!important;
  }
  .jd-web-portfolio-card{
    flex-basis:82vw!important;
    min-width:260px!important;
    border-radius:24px!important;
  }
  .jd-web-portfolio-visual{
    border-radius:18px!important;
  }
  .jd-web-portfolio-hover{
    opacity:1!important;
    transform:none!important;
  }
}


/* John Design Core 2.16.3 — galeries image-only */

/* Galerie web : capture seule, bord ultra-fin, aucun cartouche. */
.jd-web-portfolio-card{
  flex:0 0 min(400px,32vw)!important;
  min-width:300px!important;
  padding:3px!important;
  border:1px solid rgba(25,25,25,.14)!important;
  border-radius:23px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(25,25,25,.045)!important;
}
.jd-web-portfolio-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 12px 28px rgba(25,25,25,.09)!important;
}
.jd-web-portfolio-visual{
  border-radius:19px!important;
}
.jd-web-portfolio-card:hover .jd-web-portfolio-visual img{
  transform:scale(1.018)!important;
  filter:none!important;
}
.jd-web-portfolio-meta,
.jd-web-portfolio-arrow,
.jd-web-portfolio-hover{
  display:none!important;
}

/* Portfolio principal : exactement la même logique, image seule. */
.jd-site-card,
.jd-site-card.is-featured{
  padding:3px!important;
  border:1px solid rgba(25,25,25,.14)!important;
  border-radius:23px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(25,25,25,.045)!important;
}
.jd-site-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 12px 28px rgba(25,25,25,.09)!important;
}
.jd-site-preview-link{
  border-radius:19px!important;
}
.jd-site-preview-link::after{
  display:none!important;
  content:none!important;
}
.jd-site-browser,
.jd-site-card.is-featured .jd-site-browser{
  border-radius:19px!important;
}
.jd-site-info,
.jd-site-open{
  display:none!important;
}

/* Contrôles communs aux galeries horizontales. */
.jd-horizontal-gallery-controls{
  display:flex!important;
  gap:9px!important;
  flex:0 0 auto!important;
}
.jd-horizontal-gallery-nav{
  width:46px!important;
  height:46px!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#191919!important;
  font-size:21px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 7px 20px rgba(25,25,25,.075)!important;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease!important;
}
.jd-horizontal-gallery-nav:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 11px 27px rgba(25,25,25,.12)!important;
}
.jd-horizontal-gallery-nav:disabled{
  opacity:.3!important;
  cursor:default!important;
  transform:none!important;
}

/* Petites galeries Identité / Print. */
.jd-service-gallery{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:34px auto 46px!important;
  padding:48px 46px 34px!important;
  border-radius:38px!important;
  background:#f4f3f1!important;
  overflow:hidden!important;
}
.jd-service-gallery-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:30px!important;
  margin-bottom:28px!important;
}
.jd-service-gallery-head h2{
  margin:8px 0 0!important;
  font-size:clamp(38px,4.2vw,60px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
.jd-service-gallery-track{
  display:flex!important;
  gap:16px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-x:contain!important;
  padding:2px 2px 13px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#777 #e3e1dd!important;
}
.jd-service-gallery-track::-webkit-scrollbar{height:7px!important}
.jd-service-gallery-track::-webkit-scrollbar-track{
  background:#e3e1dd!important;
  border-radius:999px!important;
}
.jd-service-gallery-track::-webkit-scrollbar-thumb{
  background:#777!important;
  border-radius:999px!important;
}
.jd-service-gallery-item{
  flex:0 0 min(380px,30vw)!important;
  min-width:285px!important;
  aspect-ratio:4/3!important;
  scroll-snap-align:start!important;
  padding:3px!important;
  border:1px solid rgba(25,25,25,.14)!important;
  border-radius:23px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(25,25,25,.04)!important;
  overflow:hidden!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.jd-service-gallery-item:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 12px 28px rgba(25,25,25,.085)!important;
}
.jd-service-gallery-item img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:19px!important;
  transition:transform .4s cubic-bezier(.2,.7,.2,1)!important;
}
.jd-service-gallery-item:hover img{
  transform:scale(1.018)!important;
}

/* La vraie photo Eco Clim doit remplir proprement le visuel de la section IA. */
body.page-id-0 .jd-nothing{display:none} /* règle neutre pour éviter tout impact inattendu */
body .jd-section img[src*="eco-clim-truck.webp"]{
  object-fit:cover!important;
  object-position:center center!important;
}

@media(max-width:900px){
  .jd-web-portfolio-card{
    flex-basis:min(390px,72vw)!important;
  }
  .jd-service-gallery{
    padding:40px 28px 28px!important;
  }
  .jd-service-gallery-head{
    align-items:flex-start!important;
  }
  .jd-service-gallery-item{
    flex-basis:min(370px,70vw)!important;
  }
}
@media(max-width:600px){
  .jd-web-portfolio-card{
    flex-basis:82vw!important;
    min-width:260px!important;
    border-radius:20px!important;
  }
  .jd-web-portfolio-visual{
    border-radius:16px!important;
  }
  .jd-service-gallery{
    width:calc(100% - 24px)!important;
    margin:22px auto 34px!important;
    padding:32px 18px 22px!important;
    border-radius:28px!important;
  }
  .jd-service-gallery-head{
    display:block!important;
    margin-bottom:20px!important;
  }
  .jd-service-gallery-head h2{
    font-size:clamp(34px,10vw,46px)!important;
  }
  .jd-service-gallery-head .jd-horizontal-gallery-controls{
    margin-top:17px!important;
  }
  .jd-service-gallery-item{
    flex-basis:80vw!important;
    min-width:250px!important;
    border-radius:20px!important;
  }
  .jd-service-gallery-item img{
    border-radius:16px!important;
  }
}

/* John Design Core 2.16.5 — section Print calquée sur la preuve terrain de l'accueil */
.jd-print-home-proof{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#f8e7ee!important;
  overflow:hidden!important;
}
.jd-print-home-proof__inner{
  box-sizing:border-box!important;
  width:calc(100% - 96px)!important;
  max-width:1370px!important;
  margin:0 auto!important;
  padding:72px 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)!important;
  gap:72px!important;
  align-items:center!important;
}
.jd-print-home-proof__copy{min-width:0!important}
.jd-print-home-proof__eyebrow{
  margin:0 0 28px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.jd-print-home-proof h2{
  margin:0!important;
  max-width:690px!important;
  font-size:clamp(48px,5vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  font-weight:800!important;
}
.jd-print-home-proof__text{
  margin:34px 0 0!important;
  max-width:680px!important;
  font-size:20px!important;
  line-height:1.58!important;
}
.jd-print-home-proof__cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  min-height:56px!important;
  margin-top:30px!important;
  padding:0 27px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:800!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.jd-print-home-proof__cta:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 26px rgba(25,25,25,.16)!important;
}
.jd-print-home-proof__cta span{font-size:18px!important;line-height:1!important}
.jd-print-home-proof__visual{
  box-sizing:border-box!important;
  margin:0!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  border-radius:32px!important;
  background:#fff!important;
}
.jd-print-home-proof__visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:980px){
  .jd-print-home-proof__inner{
    width:calc(100% - 48px)!important;
    grid-template-columns:1fr 1fr!important;
    gap:40px!important;
    padding:58px 0!important;
  }
  .jd-print-home-proof h2{font-size:clamp(42px,5.8vw,58px)!important}
  .jd-print-home-proof__text{font-size:18px!important}
}
@media(max-width:760px){
  .jd-print-home-proof__inner{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
    padding:46px 0!important;
  }
  .jd-print-home-proof__eyebrow{margin-bottom:20px!important}
  .jd-print-home-proof h2{font-size:clamp(40px,12vw,56px)!important}
  .jd-print-home-proof__text{margin-top:24px!important;font-size:17px!important}
  .jd-print-home-proof__cta{margin-top:24px!important}
  .jd-print-home-proof__visual{aspect-ratio:4/3!important;border-radius:24px!important}
}


/* John Design Core 2.16.6 — accueil selon la nouvelle hiérarchie */
.jd-home-services-snapshot{
  width:calc(100% - 96px)!important;
  max-width:1320px!important;
  margin:24px auto 42px!important;
  padding:16px 0 22px!important;
  background:transparent!important;
  border-top:0!important;
  border-bottom:4px solid #c7b5ef!important;
}
.jd-home-services-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.jd-home-service-mini{
  min-height:88px!important;
  justify-content:flex-start!important;
  gap:14px!important;
  padding:14px 18px!important;
  border:1px solid rgba(25,25,25,.10)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(25,25,25,.035)!important;
  font-size:17px!important;
  font-weight:780!important;
  opacity:1!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.jd-home-service-mini:first-child,
.jd-home-service-mini:nth-child(3),
.jd-home-service-mini:nth-child(4){
  border-left:1px solid rgba(25,25,25,.10)!important;
  border-top:1px solid rgba(25,25,25,.10)!important;
}
.jd-home-service-mini:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 10px 26px rgba(25,25,25,.075)!important;
  border-color:rgba(25,25,25,.18)!important;
  opacity:1!important;
}
.jd-home-service-icon{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
}
.jd-home-service-icon svg{
  width:23px!important;
  height:23px!important;
  stroke-width:1.9!important;
}
.jd-home-service-label{
  white-space:normal!important;
  line-height:1.15!important;
}

/* La présentation de Jonathan doit venir immédiatement après le bloc métier,
   puis les offres, puis les réalisations. On conserve leurs propres fonds. */
.home .jd-home-work-feature{
  margin-top:34px!important;
}

@media(max-width:980px){
  .jd-home-services-snapshot{
    width:calc(100% - 48px)!important;
    margin:22px auto 34px!important;
  }
  .jd-home-services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:600px){
  .jd-home-services-snapshot{
    width:calc(100% - 24px)!important;
    margin:18px auto 28px!important;
    padding:10px 0 18px!important;
    border-radius:0!important;
  }
  .jd-home-services-grid{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  .jd-home-service-mini{
    min-height:82px!important;
    padding:12px!important;
    gap:10px!important;
    border-radius:17px!important;
    font-size:14px!important;
  }
  .jd-home-service-icon{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
  .jd-home-service-icon svg{
    width:20px!important;
    height:20px!important;
  }
}


/* John Design Core 2.16.7 — section Print stable, calquée sur le bloc terrain de l'accueil */
.jd-print-proof-v2{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#f8e7ee!important;
  overflow:hidden!important;
}
.jd-print-proof-v2__inner{
  box-sizing:border-box!important;
  width:calc(100% - 96px)!important;
  max-width:1370px!important;
  margin:0 auto!important;
  padding:72px 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(420px,.86fr)!important;
  gap:72px!important;
  align-items:center!important;
}
.jd-print-proof-v2__copy{
  min-width:0!important;
  max-width:720px!important;
}
.jd-print-proof-v2__eyebrow{
  margin:0 0 28px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.jd-print-proof-v2 h2{
  margin:0!important;
  max-width:690px!important;
  font-size:clamp(46px,4.8vw,70px)!important;
  line-height:.99!important;
  letter-spacing:-.052em!important;
  font-weight:800!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.jd-print-proof-v2__text{
  margin:32px 0 0!important;
  max-width:670px!important;
  font-size:19px!important;
  line-height:1.58!important;
}
.jd-print-proof-v2__cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:15px!important;
  min-height:56px!important;
  margin-top:30px!important;
  padding:0 26px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:800!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.jd-print-proof-v2__cta:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 26px rgba(25,25,25,.16)!important;
}
.jd-cta-arrow{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:2px!important;
  line-height:0!important;
  vertical-align:middle!important;
}
.jd-cta-arrow svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
.jd-print-proof-v2__visual{
  box-sizing:border-box!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:32px!important;
  background:#fff!important;
}
.jd-print-proof-v2__visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
}

@media(max-width:980px){
  .jd-print-proof-v2__inner{
    width:calc(100% - 48px)!important;
    grid-template-columns:minmax(0,1fr) minmax(330px,.85fr)!important;
    gap:40px!important;
    padding:58px 0!important;
  }
  .jd-print-proof-v2 h2{
    font-size:clamp(40px,5.4vw,56px)!important;
  }
  .jd-print-proof-v2__text{
    font-size:17px!important;
  }
}
@media(max-width:760px){
  .jd-print-proof-v2__inner{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr!important;
    gap:32px!important;
    padding:46px 0!important;
  }
  .jd-print-proof-v2__copy{
    max-width:none!important;
  }
  .jd-print-proof-v2__eyebrow{
    margin-bottom:20px!important;
  }
  .jd-print-proof-v2 h2{
    font-size:clamp(38px,11.5vw,54px)!important;
  }
  .jd-print-proof-v2__text{
    margin-top:24px!important;
    font-size:17px!important;
  }
  .jd-print-proof-v2__cta{
    margin-top:24px!important;
  }
  .jd-print-proof-v2__visual{
    aspect-ratio:4/3!important;
    border-radius:24px!important;
  }
}


/* John Design Core 2.16.9 — conserver le hero d'origine, modifier seulement sous le H1 */
.jd-home-hero-original{
  padding-top:clamp(52px,6vw,82px)!important;
}
.jd-home-hero-original .jd-home-hero-services-inline{
  width:min(620px,100%)!important;
  margin-top:34px!important;
}
.jd-home-hero-original .jd-home-hero-services-inline .jd-home-services-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 34px!important;
}
.jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-mini{
  min-height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:13px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:17px!important;
  line-height:1.15!important;
  font-weight:780!important;
  transition:transform .18s ease,opacity .18s ease!important;
}
.jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-mini:hover{
  transform:translateX(3px)!important;
  opacity:.72!important;
  box-shadow:none!important;
}
.jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
}
.jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-icon svg{
  width:20px!important;
  height:20px!important;
}
.jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-label{
  white-space:normal!important;
}

/* L'ancien snapshot pleine largeur ne doit plus exister sous le hero. */
.home>.jd-home-services-snapshot,
.home .wp-block-post-content>.jd-home-services-snapshot,
.home .jd-preview-page>.jd-home-services-snapshot{
  display:none!important;
}

@media(max-width:900px){
  .jd-home-hero-original{
    padding-top:44px!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline{
    width:100%!important;
    margin-top:30px!important;
  }
}
@media(max-width:600px){
  .jd-home-hero-original{
    padding-top:34px!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline{
    margin-top:26px!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline .jd-home-services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:15px 10px!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-mini{
    gap:9px!important;
    font-size:13.5px!important;
    line-height:1.15!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-icon{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-icon svg{
    width:18px!important;
    height:18px!important;
  }
}
@media(max-width:370px){
  .jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-mini{
    font-size:12.5px!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline .jd-home-service-icon{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
  }
}

/* John Design Core 2.16.14 — galerie signalétique HD */
.jd-print-proof-v2__visual{display:none!important}

.jd-print-proof-slider{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  min-width:0!important;
  overflow:hidden!important;
  border-radius:32px!important;
  background:#f1efed!important;
  box-shadow:0 10px 32px rgba(25,25,25,.06)!important;
  touch-action:pan-y!important;
}
.jd-print-proof-slider__slides,
.jd-print-proof-slider__slide{
  position:absolute!important;
  inset:0!important;
}
.jd-print-proof-slider__slide{
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .35s ease,visibility .35s ease!important;
}
.jd-print-proof-slider__slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.jd-print-proof-slider__slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.jd-print-proof-slider::after{
  content:''!important;
  position:absolute!important;
  z-index:1!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:96px!important;
  pointer-events:none!important;
  background:linear-gradient(to top,rgba(0,0,0,.20),rgba(0,0,0,0))!important;
}
.jd-print-proof-slider__ui{
  position:absolute!important;
  z-index:3!important;
  left:18px!important;
  right:18px!important;
  bottom:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  pointer-events:none!important;
}
.jd-print-proof-slider__dots,
.jd-print-proof-slider__arrows{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  pointer-events:auto!important;
}
.jd-print-proof-slider__dot{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.65)!important;
  cursor:pointer!important;
  transition:width .18s ease,background .18s ease!important;
}
.jd-print-proof-slider__dot.is-active{
  width:23px!important;
  background:#fff!important;
}
.jd-print-proof-slider__arrow{
  width:42px!important;
  height:42px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.96)!important;
  color:#191919!important;
  font-size:18px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 6px 18px rgba(25,25,25,.11)!important;
  transition:transform .18s ease,background .18s ease!important;
}
.jd-print-proof-slider__arrow:hover{
  transform:translateY(-2px)!important;
  background:#fff!important;
}
.jd-print-proof-slider__arrow:focus-visible,
.jd-print-proof-slider__dot:focus-visible{
  outline:2px solid #191919!important;
  outline-offset:3px!important;
}

@media(max-width:760px){
  .jd-print-proof-slider{
    border-radius:24px!important;
  }
  .jd-print-proof-slider__ui{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
  }
  .jd-print-proof-slider__arrow{
    width:40px!important;
    height:40px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .jd-print-proof-slider__slide,
  .jd-print-proof-slider__arrow,
  .jd-print-proof-slider__dot{
    transition:none!important;
  }
}


/* John Design Core 2.16.18 — accueil : promesse, preuve et parcours commercial */
.jd-home-hero-original .jd-home-hero-conversion{
  width:min(720px,100%)!important;
  margin-top:28px!important;
}
.jd-home-hero-original .jd-home-hero-promise{
  max-width:680px!important;
  margin:0!important;
  color:#191919!important;
  font-size:clamp(19px,1.65vw,24px)!important;
  line-height:1.28!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
}
.jd-home-hero-original .jd-home-hero-rating{
  width:max-content!important;
  max-width:100%!important;
  margin-top:17px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 13px!important;
  border:1px solid rgba(25,25,25,.12)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1!important;
  box-shadow:0 5px 18px rgba(25,25,25,.035)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.jd-home-hero-original .jd-home-hero-rating:hover{
  transform:translateY(-2px)!important;
  background:#fff!important;
  box-shadow:0 9px 24px rgba(25,25,25,.07)!important;
}
.jd-home-hero-original .jd-home-hero-stars{
  letter-spacing:1px!important;
  font-size:12px!important;
}
.jd-home-hero-original .jd-home-hero-rating strong{
  font-size:13px!important;
  font-weight:850!important;
}
.jd-home-hero-original .jd-home-hero-rating>span:last-child{
  opacity:.64!important;
}
.jd-home-hero-original .jd-home-hero-services-inline{
  margin-top:28px!important;
}

/* Bloc de différenciation placé après les réalisations. */
.jd-home-why{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:34px auto 52px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:42px!important;
  background:#191919!important;
  color:#fff!important;
}
.jd-home-why__inner{
  padding:clamp(48px,5.5vw,78px) clamp(28px,5vw,72px)!important;
}
.jd-home-why__eyebrow{
  margin:0 0 28px!important;
  color:#d9fb70!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.11em!important;
}
.jd-home-why__head{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
  gap:52px!important;
  align-items:end!important;
}
.jd-home-why__head h2{
  margin:0!important;
  max-width:900px!important;
  color:#fff!important;
  font-size:clamp(46px,5.2vw,76px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}
.jd-home-why__head>p{
  margin:0!important;
  max-width:430px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.jd-home-why__points{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:52px!important;
}
.jd-home-why__points>div{
  min-width:0!important;
  padding:24px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.045)!important;
}
.jd-home-why__points span{
  display:block!important;
  margin-bottom:24px!important;
  color:#c7b5ef!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
}
.jd-home-why__points strong{
  display:block!important;
  margin-bottom:9px!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.jd-home-why__points p{
  margin:0!important;
  color:rgba(255,255,255,.68)!important;
  font-size:14px!important;
  line-height:1.5!important;
}

/* Les ancres internes ne doivent pas passer sous le header flottant. */
.home #avis{
  scroll-margin-top:120px!important;
}

@media(max-width:900px){
  .jd-home-why__head{
    grid-template-columns:1fr!important;
    gap:20px!important;
    align-items:start!important;
  }
  .jd-home-why__head>p{
    max-width:650px!important;
  }
  .jd-home-why__points{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:600px){
  .jd-home-hero-original .jd-home-hero-conversion{
    margin-top:22px!important;
  }
  .jd-home-hero-original .jd-home-hero-promise{
    font-size:18px!important;
    line-height:1.34!important;
  }
  .jd-home-hero-original .jd-home-hero-rating{
    gap:7px!important;
    padding:9px 11px!important;
    font-size:12px!important;
  }
  .jd-home-hero-original .jd-home-hero-rating strong{
    font-size:12px!important;
  }
  .jd-home-hero-original .jd-home-hero-rating>span:last-child{
    display:none!important;
  }
  .jd-home-hero-original .jd-home-hero-services-inline{
    margin-top:24px!important;
  }
  .jd-home-why{
    width:calc(100% - 24px)!important;
    margin:22px auto 38px!important;
    border-radius:28px!important;
  }
  .jd-home-why__inner{
    padding:40px 20px!important;
  }
  .jd-home-why__eyebrow{
    margin-bottom:22px!important;
  }
  .jd-home-why__head h2{
    font-size:clamp(38px,11vw,52px)!important;
  }
  .jd-home-why__head>p{
    font-size:16px!important;
  }
  .jd-home-why__points{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:32px!important;
  }
  .jd-home-why__points>div{
    padding:20px!important;
  }
  .jd-home-why__points span{
    margin-bottom:16px!important;
  }
}


/* John Design Core 2.16.19 — conversion : CTA, services, avis */
.jd-estimate-note{
  display:block!important;
  margin-top:9px!important;
  color:#6f6a72!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
.jd-service-conversion{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:22px auto 46px!important;
  padding:0!important;
}
.jd-service-conversion__inner{
  box-sizing:border-box!important;
  padding:34px!important;
  border:1px solid rgba(25,25,25,.08)!important;
  border-radius:32px!important;
  background:#fff!important;
  box-shadow:0 10px 32px rgba(25,25,25,.045)!important;
}
.jd-service-conversion__top{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
  gap:40px!important;
  align-items:center!important;
}
.jd-service-conversion__promise{
  margin:0!important;
  max-width:760px!important;
  color:#191919!important;
  font-size:clamp(22px,2.2vw,32px)!important;
  line-height:1.2!important;
  font-weight:760!important;
  letter-spacing:-.035em!important;
}
.jd-service-conversion__actions{
  justify-self:end!important;
  width:min(100%,430px)!important;
  display:grid!important;
  justify-items:start!important;
  gap:10px!important;
}
.jd-service-conversion__rating{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:12px!important;
  line-height:1!important;
}
.jd-service-conversion__rating>span{
  letter-spacing:1px!important;
}
.jd-service-conversion__rating strong{
  font-size:13px!important;
  font-weight:850!important;
}
.jd-service-conversion__rating em{
  font-style:normal!important;
  opacity:.58!important;
}
.jd-service-conversion__cta{
  min-height:52px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:820!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.jd-service-conversion__cta:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 25px rgba(25,25,25,.14)!important;
}
.jd-service-conversion__reassure{
  color:#77727d!important;
  font-size:12px!important;
  line-height:1.3!important;
}
.jd-service-conversion__gallery-head{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-top:34px!important;
  padding-top:28px!important;
  border-top:1px solid rgba(25,25,25,.09)!important;
}
.jd-service-conversion__gallery-head h2{
  margin:0!important;
  color:#191919!important;
  font-size:clamp(26px,2.8vw,40px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
.jd-service-conversion__gallery-head>a{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:800!important;
}
.jd-service-conversion__gallery-head .jd-cta-arrow{
  width:17px!important;
  height:17px!important;
  flex-basis:17px!important;
}
.jd-service-conversion__gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:18px!important;
}
.jd-service-conversion__work{
  display:block!important;
  min-width:0!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#eeeae5!important;
}
.jd-service-conversion__work img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .35s ease!important;
}
.jd-service-conversion__work:hover img{
  transform:scale(1.025)!important;
}
body.page-id-0 .jd-service-hero-conversion{
  margin-bottom:0!important;
}
.jd-reviews-toggle{
  display:block!important;
  min-height:46px!important;
  margin:24px auto 0!important;
  padding:0 20px!important;
  border:1px solid rgba(25,25,25,.14)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#191919!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.jd-reviews-toggle:hover{
  background:#f5f3f1!important;
}
.jd-review-card[hidden]{
  display:none!important;
}

@media(max-width:900px){
  .jd-service-conversion__top{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .jd-service-conversion__actions{
    justify-self:start!important;
    width:100%!important;
  }
}
@media(max-width:640px){
  .jd-service-conversion{
    width:calc(100% - 24px)!important;
    margin:16px auto 34px!important;
  }
  .jd-service-conversion__inner{
    padding:22px!important;
    border-radius:24px!important;
  }
  .jd-service-conversion__promise{
    font-size:21px!important;
  }
  .jd-service-conversion__rating em{
    display:none!important;
  }
  .jd-service-conversion__cta{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .jd-service-conversion__gallery-head{
    align-items:start!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  .jd-service-conversion__gallery{
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:8px!important;
  }
  .jd-service-conversion__work{
    flex:0 0 82%!important;
    scroll-snap-align:start!important;
  }
}


/* John Design Core 2.16.22 — confirmation formulaire claire et visible */
.jd-contact-success-panel{
  box-sizing:border-box!important;
  width:100%!important;
  scroll-margin-top:150px!important;
  padding:clamp(34px,5vw,58px)!important;
  border:1px solid rgba(25,25,25,.08)!important;
  border-radius:32px!important;
  background:#f1ecfb!important;
  color:#191919!important;
  box-shadow:0 12px 36px rgba(25,25,25,.05)!important;
}
.jd-contact-success-panel__icon{
  width:48px!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 24px!important;
  border-radius:50%!important;
  background:#191919!important;
  color:#fff!important;
  font-size:23px!important;
  font-weight:900!important;
  line-height:1!important;
}
.jd-contact-success-panel__eyebrow{
  margin:0 0 12px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.11em!important;
}
.jd-contact-success-panel h2{
  max-width:760px!important;
  margin:0!important;
  color:#191919!important;
  font-size:clamp(38px,5vw,66px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.jd-contact-success-panel>p:not(.jd-contact-success-panel__eyebrow){
  max-width:650px!important;
  margin:22px 0 0!important;
  color:#4f4a53!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.jd-contact-success-panel__link{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:28px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:820!important;
}
.jd-contact-form .jd-form-status.is-error{
  scroll-margin-top:150px!important;
  margin:0 0 24px!important;
  padding:16px 18px!important;
  border-radius:16px!important;
  background:#fff0f0!important;
  color:#8a2020!important;
  font-weight:700!important;
}
@media(max-width:640px){
  .jd-contact-success-panel{
    padding:30px 22px!important;
    border-radius:24px!important;
  }
  .jd-contact-success-panel h2{
    font-size:clamp(36px,12vw,50px)!important;
  }
}


/* John Design Core 2.16.26 — tarifs Site internet */
.jd-web-pricing{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:42px auto 54px!important;
  padding:0!important;
  scroll-margin-top:130px!important;
  border-radius:42px!important;
  background:#f1ecfb!important;
  color:#191919!important;
  overflow:hidden!important;
}
.jd-web-pricing__inner{padding:clamp(44px,5vw,72px)!important}
.jd-web-pricing__head{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr)!important;
  gap:46px!important;
  align-items:end!important;
  margin-bottom:38px!important;
}
.jd-web-pricing__head .jd-eyebrow{margin:0 0 16px!important}
.jd-web-pricing__head h2{
  margin:0!important;
  color:#191919!important;
  font-size:clamp(46px,5.4vw,76px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
}
.jd-web-pricing__head>p{
  margin:0!important;
  max-width:440px!important;
  color:#57515d!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.jd-web-pricing__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
.jd-web-pricing__card{
  box-sizing:border-box!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  padding:28px!important;
  border:1px solid rgba(25,25,25,.09)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 8px 26px rgba(25,25,25,.035)!important;
}
.jd-web-pricing__card.is-featured{
  border-color:#191919!important;
  background:#191919!important;
  color:#fff!important;
  box-shadow:0 16px 40px rgba(25,25,25,.13)!important;
  transform:translateY(-8px)!important;
}
.jd-web-pricing__card-top>div:first-child{
  min-height:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.jd-web-pricing__label{
  margin:0!important;
  color:#68616d!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__label{color:rgba(255,255,255,.62)!important}
.jd-web-pricing__badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#d9fb70!important;
  color:#191919!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.jd-web-pricing__card h3{
  margin:20px 0 0!important;
  color:#191919!important;
  font-size:clamp(27px,2.2vw,36px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
}
.jd-web-pricing__card.is-featured h3{color:#fff!important}
.jd-web-pricing__price{margin:28px 0 0!important}
.jd-web-pricing__price>span{
  display:block!important;
  margin-bottom:5px!important;
  color:#77717b!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:750!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
.jd-web-pricing__price>strong{
  display:block!important;
  color:#191919!important;
  font-size:clamp(42px,4vw,58px)!important;
  line-height:.95!important;
  font-weight:850!important;
  letter-spacing:-.06em!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__price>span{color:rgba(255,255,255,.55)!important}
.jd-web-pricing__card.is-featured .jd-web-pricing__price>strong{color:#fff!important}
.jd-web-pricing__intro{
  min-height:84px!important;
  margin:18px 0 0!important;
  color:#625d65!important;
  font-size:14px!important;
  line-height:1.52!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__intro{color:rgba(255,255,255,.68)!important}
.jd-web-pricing__highlights{
  list-style:none!important;
  display:grid!important;
  gap:10px!important;
  margin:22px 0!important;
  padding:20px 0!important;
  border-top:1px solid rgba(25,25,25,.09)!important;
  border-bottom:1px solid rgba(25,25,25,.09)!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__highlights{
  border-color:rgba(255,255,255,.14)!important;
}
.jd-web-pricing__highlights li{
  display:grid!important;
  grid-template-columns:13px minmax(0,1fr)!important;
  gap:7px!important;
  margin:0!important;
  color:#191919!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__highlights li{color:#fff!important}
.jd-web-pricing__highlights li>span:first-child{
  color:#998bb7!important;
  font-size:18px!important;
  line-height:.85!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__highlights li>span:first-child{color:#d9fb70!important}
.jd-web-pricing__card-details{
  margin:0 0 22px!important;
  border:0!important;
}
.jd-web-pricing__card-details summary{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0!important;
  cursor:pointer!important;
  list-style:none!important;
  color:#191919!important;
  font-size:12.5px!important;
  font-weight:820!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__card-details summary{color:#fff!important}
.jd-web-pricing__card-details summary::-webkit-details-marker{display:none!important}
.jd-web-pricing__detail-plus{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#f1ecfb!important;
  color:#191919!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1!important;
  transition:transform .18s ease!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__detail-plus{background:#d9fb70!important}
.jd-web-pricing__card-details[open] .jd-web-pricing__detail-plus{transform:rotate(45deg)!important}
.jd-web-pricing__features{
  list-style:none!important;
  margin:12px 0 0!important;
  padding:16px 0 0!important;
  border-top:1px solid rgba(25,25,25,.09)!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__features{border-top-color:rgba(255,255,255,.14)!important}
.jd-web-pricing__features li{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:start!important;
  margin:0 0 15px!important;
}
.jd-web-pricing__check{
  width:20px!important;
  height:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#f1ecfb!important;
  color:#191919!important;
  font-size:11px!important;
  font-weight:900!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__check{background:#d9fb70!important}
.jd-web-pricing__features strong{
  display:block!important;
  color:#191919!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  font-weight:820!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__features strong{color:#fff!important}
.jd-web-pricing__features small{
  display:block!important;
  margin-top:3px!important;
  color:#77717b!important;
  font-size:11.5px!important;
  line-height:1.4!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__features small{color:rgba(255,255,255,.56)!important}
.jd-web-pricing__cta{
  min-height:50px!important;
  margin-top:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:830!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.jd-web-pricing__card.is-featured .jd-web-pricing__cta{background:#fff!important;color:#191919!important}
.jd-web-pricing__cta:hover{transform:translateY(-2px)!important;box-shadow:0 9px 24px rgba(25,25,25,.13)!important}

.jd-web-pricing__specific{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:28px!important;
  align-items:center!important;
  margin-top:18px!important;
  padding:28px 30px!important;
  border:1px solid rgba(25,25,25,.1)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.68)!important;
}
.jd-web-pricing__specific h3{
  margin:10px 0 0!important;
  color:#191919!important;
  font-size:24px!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.jd-web-pricing__specific p:not(.jd-web-pricing__label){
  max-width:720px!important;
  margin:9px 0 0!important;
  color:#666068!important;
  font-size:13px!important;
  line-height:1.48!important;
}
.jd-web-pricing__specific-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:14px!important;
}
.jd-web-pricing__specific-tags span{
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#5e5862!important;
  font-size:10.5px!important;
  font-weight:760!important;
}
.jd-web-pricing__specific-action{
  min-width:190px!important;
  text-align:right!important;
}
.jd-web-pricing__specific-action>strong{
  display:block!important;
  color:#191919!important;
  font-size:30px!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
.jd-web-pricing__specific-action>a{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:14px!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:12.5px!important;
  font-weight:820!important;
}

.jd-web-pricing__more{
  margin-top:18px!important;
  border:1px solid rgba(25,25,25,.09)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.74)!important;
  overflow:hidden!important;
}
.jd-web-pricing__more summary{
  min-height:92px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:22px 26px!important;
  cursor:pointer!important;
  list-style:none!important;
}
.jd-web-pricing__more summary::-webkit-details-marker{display:none!important}
.jd-web-pricing__more summary>span:first-child{min-width:0!important}
.jd-web-pricing__more summary strong{
  display:block!important;
  color:#191919!important;
  font-size:18px!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
}
.jd-web-pricing__more summary small{
  display:block!important;
  margin-top:5px!important;
  color:#706a74!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}
.jd-web-pricing__plus{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#191919!important;
  color:#fff!important;
  font-size:24px!important;
  font-weight:400!important;
  line-height:1!important;
  transition:transform .2s ease!important;
}
.jd-web-pricing__more[open] .jd-web-pricing__plus{transform:rotate(45deg)!important}
.jd-web-pricing__more-body{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  padding:18px!important;
  border-top:1px solid rgba(25,25,25,.08)!important;
}
.jd-web-pricing__explain{
  min-width:0!important;
  padding:25px!important;
  border-radius:21px!important;
  background:#fff!important;
}
.jd-web-pricing__number{
  display:block!important;
  margin-bottom:16px!important;
  color:#998bb7!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
}
.jd-web-pricing__explain h3{
  margin:0!important;
  color:#191919!important;
  font-size:22px!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
.jd-web-pricing__explain p{
  margin:12px 0 0!important;
  color:#5e5961!important;
  font-size:13.5px!important;
  line-height:1.55!important;
}
.jd-web-pricing__fine{font-size:12px!important;color:#817b84!important}

.jd-web-pricing__subscription{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,.8fr)!important;
  gap:30px!important;
  align-items:center!important;
  margin-top:18px!important;
  padding:32px!important;
  border-radius:28px!important;
  background:#191919!important;
  color:#fff!important;
}
.jd-web-pricing__subscription .jd-web-pricing__label{color:#d9fb70!important}
.jd-web-pricing__subscription h3{
  margin:12px 0 0!important;
  color:#fff!important;
  font-size:clamp(28px,3vw,40px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
.jd-web-pricing__subscription>div:first-child>p:last-child{
  max-width:560px!important;
  margin:13px 0 0!important;
  color:rgba(255,255,255,.67)!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.jd-web-pricing__subscription-action{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  gap:12px!important;
  align-items:center!important;
}
.jd-web-pricing__subscription-action p{margin:0!important}
.jd-web-pricing__subscription-action strong{
  display:block!important;
  color:#fff!important;
  font-size:25px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.jd-web-pricing__subscription-action p span{
  display:block!important;
  margin-top:5px!important;
  color:rgba(255,255,255,.55)!important;
  font-size:10.5px!important;
  font-weight:700!important;
}
.jd-web-pricing__subscription-action i{
  color:#d9fb70!important;
  font-size:22px!important;
  font-style:normal!important;
}
.jd-web-pricing__subscription-action a{
  grid-column:1 / -1!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin-top:8px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:12.5px!important;
  font-weight:830!important;
}
.jd-web-pricing__subscription-note{
  grid-column:1 / -1!important;
  margin:0!important;
  padding-top:18px!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
  color:rgba(255,255,255,.55)!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}
.jd-web-pricing__legal{
  margin:14px 4px 0!important;
  color:#77717a!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}

/* Prix lisible directement dans la section Maintenance existante. */
.jd-web-maintenance-price{
  align-self:center!important;
  min-width:190px!important;
  padding:22px 24px!important;
  border-radius:22px!important;
  background:#f1ecfb!important;
}
.jd-web-maintenance-price>span{
  display:block!important;
  color:#756987!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
}
.jd-web-maintenance-price>p{margin:10px 0 0!important}
.jd-web-maintenance-price strong{
  color:#191919!important;
  font-size:34px!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
}
.jd-web-maintenance-price small{
  margin-left:4px!important;
  color:#77717a!important;
  font-size:12px!important;
  font-weight:750!important;
}
.jd-web-maintenance-price em{
  display:block!important;
  margin-top:8px!important;
  color:#66606a!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-style:normal!important;
}

@media(max-width:980px){
  .jd-web-pricing__head{grid-template-columns:1fr!important;gap:16px!important;align-items:start!important}
  .jd-web-pricing__head>p{max-width:650px!important}
  .jd-web-pricing__grid{grid-template-columns:1fr!important}
  .jd-web-pricing__card.is-featured{transform:none!important}
  .jd-web-pricing__intro{min-height:0!important}
  .jd-web-pricing__more-body{grid-template-columns:1fr!important}
  .jd-web-pricing__subscription{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .jd-web-pricing{
    width:calc(100% - 24px)!important;
    margin:28px auto 40px!important;
    border-radius:28px!important;
  }
  .jd-web-pricing__inner{padding:34px 16px!important}
  .jd-web-pricing__head{margin-bottom:26px!important}
  .jd-web-pricing__head h2{font-size:clamp(39px,12vw,54px)!important}
  .jd-web-pricing__head>p{font-size:15px!important}
  .jd-web-pricing__card{padding:22px!important;border-radius:23px!important}
  .jd-web-pricing__card h3{font-size:29px!important}
  .jd-web-pricing__price>strong{font-size:46px!important}
  .jd-web-pricing__specific{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:22px!important;
    border-radius:22px!important;
  }
  .jd-web-pricing__specific-action{text-align:left!important}
  .jd-web-pricing__more{border-radius:22px!important}
  .jd-web-pricing__more summary{min-height:84px!important;padding:19px 18px!important}
  .jd-web-pricing__more summary small{padding-right:5px!important}
  .jd-web-pricing__plus{width:38px!important;height:38px!important;flex-basis:38px!important}
  .jd-web-pricing__more-body{padding:10px!important}
  .jd-web-pricing__explain{padding:21px!important;border-radius:18px!important}
  .jd-web-pricing__subscription{
    gap:24px!important;
    padding:24px 22px!important;
    border-radius:23px!important;
  }
  .jd-web-pricing__subscription-action{grid-template-columns:1fr!important;gap:9px!important}
  .jd-web-pricing__subscription-action i{display:none!important}
  .jd-web-pricing__subscription-action a{grid-column:1!important}
  .jd-web-maintenance-price{width:100%!important;box-sizing:border-box!important}
}



/* John Design Core 2.16.27 — preuve web remontée et parcours commercial simplifié */
.jd-service-conversion.is-web-proof .jd-service-conversion__inner{
  background:#fff!important;
}
.jd-service-conversion.is-web-proof .jd-service-conversion__top{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.jd-service-conversion__proof-copy{
  min-width:0!important;
}
.jd-service-conversion__eyebrow{
  margin:0 0 9px!important;
  color:#716a76!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.jd-service-conversion.is-web-proof .jd-service-conversion__promise{
  max-width:none!important;
  font-size:clamp(30px,3.1vw,46px)!important;
  line-height:1.02!important;
  font-weight:820!important;
  letter-spacing:-.045em!important;
}
.jd-service-conversion.is-web-proof .jd-service-conversion__rating{
  margin-top:14px!important;
  font-size:13px!important;
}
.jd-service-conversion.is-web-proof .jd-service-conversion__rating>span{
  font-size:15px!important;
}
.jd-service-conversion.is-web-proof .jd-service-conversion__rating strong{
  font-size:14px!important;
}

/* Galerie web inspirée du slider signalétique : une vraie réalisation à la fois. */
.jd-web-proof{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:28px auto 52px!important;
  padding:0!important;
  border-radius:40px!important;
  background:#f7f3ed!important;
  overflow:hidden!important;
}
.jd-web-proof__inner{
  display:grid!important;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  align-items:center!important;
  padding:clamp(42px,5vw,72px)!important;
}
.jd-web-proof__copy .jd-eyebrow{
  margin:0 0 16px!important;
}
.jd-web-proof__copy h2{
  margin:0!important;
  color:#191919!important;
  font-size:clamp(48px,5.2vw,74px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
}
.jd-web-proof__copy>p:not(.jd-eyebrow){
  max-width:460px!important;
  margin:22px 0 0!important;
  color:#5f5962!important;
  font-size:15px!important;
  line-height:1.55!important;
}
.jd-web-proof__link{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-top:26px!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:830!important;
}
.jd-web-proof-slider{
  min-width:0!important;
}
.jd-web-proof-slider__slides{
  position:relative!important;
  aspect-ratio:16/10!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#dedad4!important;
  box-shadow:0 22px 54px rgba(25,25,25,.12)!important;
}
.jd-web-proof-slider__slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:scale(.985)!important;
  transition:opacity .35s ease,transform .5s ease!important;
}
.jd-web-proof-slider__slide.is-active{
  opacity:1!important;
  pointer-events:auto!important;
  transform:scale(1)!important;
}
.jd-web-proof-slider__browser{
  display:block!important;
  width:100%!important;
  height:100%!important;
  background:#fff!important;
}
.jd-web-proof-slider__bar{
  height:30px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  background:#eeeae4!important;
  border-bottom:1px solid rgba(25,25,25,.08)!important;
}
.jd-web-proof-slider__bar i{
  width:7px!important;
  height:7px!important;
  display:block!important;
  border-radius:50%!important;
  background:#c9c3ba!important;
}
.jd-web-proof-slider__slide img{
  display:block!important;
  width:100%!important;
  height:calc(100% - 30px)!important;
  object-fit:cover!important;
  object-position:top center!important;
}
.jd-web-proof-slider__ui{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:18px!important;
}
.jd-web-proof-slider__dots{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.jd-web-proof-slider__dot{
  width:8px!important;
  height:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#c8c1b9!important;
  cursor:pointer!important;
  transition:width .18s ease,background .18s ease!important;
}
.jd-web-proof-slider__dot.is-active{
  width:24px!important;
  background:#191919!important;
}
.jd-web-proof-slider__arrows{
  display:flex!important;
  gap:8px!important;
}
.jd-web-proof-slider__arrow{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#191919!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .18s ease,opacity .18s ease!important;
}
.jd-web-proof-slider__arrow:hover{
  transform:translateY(-2px)!important;
}

/* L'ancien bloc "Tout ce qu'il faut..." n'est plus rendu.
   Les tarifs prennent directement sa place dans le parcours. */
.jd-web-pricing{
  margin-top:34px!important;
}

@media(max-width:900px){
  .jd-web-proof__inner{
    grid-template-columns:1fr!important;
  }
  .jd-web-proof__copy>p:not(.jd-eyebrow){
    max-width:650px!important;
  }
  .jd-service-conversion.is-web-proof .jd-service-conversion__top{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:640px){
  .jd-web-proof{
    width:calc(100% - 24px)!important;
    margin:20px auto 38px!important;
    border-radius:28px!important;
  }
  .jd-web-proof__inner{
    gap:28px!important;
    padding:34px 18px 24px!important;
  }
  .jd-web-proof__copy h2{
    font-size:clamp(40px,12vw,54px)!important;
  }
  .jd-web-proof__copy>p:not(.jd-eyebrow){
    font-size:14px!important;
  }
  .jd-web-proof-slider__slides{
    aspect-ratio:4/3!important;
    border-radius:21px!important;
  }
  .jd-web-proof-slider__ui{
    margin-top:14px!important;
  }
  .jd-web-proof-slider__arrow{
    width:40px!important;
    height:40px!important;
  }
}


/* John Design Core 2.16.28 — galerie + preuve sociale réunies */
.jd-web-proof{
  background:#fff!important;
  border:1px solid rgba(25,25,25,.07)!important;
  box-shadow:0 10px 34px rgba(25,25,25,.035)!important;
}
.jd-web-proof__inner{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
}
.jd-web-proof__copy h2{
  max-width:520px!important;
  font-size:clamp(42px,4.5vw,64px)!important;
  line-height:.98!important;
}
.jd-web-proof__rating{
  display:inline-flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:24px!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:12.5px!important;
  line-height:1!important;
}
.jd-web-proof__rating>span{
  letter-spacing:1px!important;
  font-size:14px!important;
}
.jd-web-proof__rating strong{
  font-size:13.5px!important;
  font-weight:850!important;
}
.jd-web-proof__rating em{
  color:#77717a!important;
  font-style:normal!important;
}
.jd-web-proof__link{
  display:flex!important;
  width:max-content!important;
  margin-top:24px!important;
}
@media(max-width:640px){
  .jd-web-proof__copy h2{
    font-size:clamp(36px,10.8vw,49px)!important;
  }
  .jd-web-proof__rating{
    margin-top:18px!important;
  }
}


/* John Design Core 2.16.29 — badge avis Google plus visible */
.jd-web-proof__rating{
  display:inline-flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:24px!important;
  padding:14px 18px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:760!important;
  box-shadow:0 10px 24px rgba(25,25,25,.13)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.jd-web-proof__rating:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(25,25,25,.17)!important;
}
.jd-web-proof__rating>span{
  color:#fff!important;
  letter-spacing:1px!important;
  font-size:15px!important;
}
.jd-web-proof__rating strong{
  color:#fff!important;
  font-size:14px!important;
  font-weight:880!important;
}
.jd-web-proof__rating em{
  color:rgba(255,255,255,.68)!important;
  font-size:12px!important;
  font-style:normal!important;
}
.jd-web-proof__link{
  display:none!important;
}
@media(max-width:640px){
  .jd-web-proof__rating{
    width:100%!important;
    box-sizing:border-box!important;
    justify-content:center!important;
    gap:8px!important;
    padding:13px 14px!important;
    border-radius:18px!important;
  }
  .jd-web-proof__rating>span{
    font-size:14px!important;
  }
  .jd-web-proof__rating strong{
    font-size:13.5px!important;
  }
  .jd-web-proof__rating em{
    font-size:11.5px!important;
  }
}


/* John Design Core 2.16.30 — suppression du doublon avis + mobile gallery cleanup */
.jd-web-proof__copy h2{
  max-width:500px!important;
}
@media(max-width:640px){
  .jd-web-proof{
    margin-top:16px!important;
    margin-bottom:32px!important;
  }
  .jd-web-proof__inner{
    padding:28px 16px 20px!important;
    gap:22px!important;
  }
  .jd-web-proof__copy .jd-eyebrow{
    margin-bottom:10px!important;
    font-size:9.5px!important;
  }
  .jd-web-proof__copy h2{
    max-width:340px!important;
    font-size:clamp(32px,10vw,44px)!important;
    line-height:.98!important;
  }
  .jd-web-proof__rating{
    margin-top:16px!important;
    width:max-content!important;
    max-width:100%!important;
    padding:11px 13px!important;
    justify-content:flex-start!important;
    border-radius:999px!important;
  }
  .jd-web-proof__rating>span{
    font-size:12.5px!important;
    letter-spacing:.5px!important;
  }
  .jd-web-proof__rating strong{
    font-size:12.5px!important;
  }
  .jd-web-proof__rating em{
    font-size:10.5px!important;
  }
  .jd-web-proof-slider__slides{
    aspect-ratio:16/11!important;
  }
  .jd-web-proof-slider__bar{
    height:24px!important;
  }
  .jd-web-proof-slider__slide img{
    height:calc(100% - 24px)!important;
  }
  .jd-web-proof-slider__ui{
    margin-top:10px!important;
  }
  .jd-web-proof-slider__dot{
    width:7px!important;
    height:7px!important;
  }
  .jd-web-proof-slider__dot.is-active{
    width:20px!important;
  }
  .jd-web-proof-slider__arrow{
    width:36px!important;
    height:36px!important;
    font-size:17px!important;
  }
}


/* John Design Core 2.16.31 — correction largeur slider mobile + hiérarchie titre */
.jd-web-proof__copy h2{
  max-width:560px!important;
}
.jd-web-proof__satisfaction{
  margin:16px 0 0!important;
  color:#191919!important;
  font-size:clamp(18px,1.7vw,24px)!important;
  line-height:1.25!important;
  font-weight:760!important;
  letter-spacing:-.025em!important;
}
.jd-web-proof-slider{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  justify-self:stretch!important;
}
.jd-web-proof-slider__slides{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.jd-web-proof-slider__slide{
  width:100%!important;
  height:100%!important;
}
.jd-web-proof-slider__browser{
  width:100%!important;
  height:100%!important;
}
.jd-web-proof-slider__ui{
  width:100%!important;
}
@media(max-width:900px){
  .jd-web-proof__inner{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .jd-web-proof-slider{
    grid-column:1 / -1!important;
    width:100%!important;
    justify-self:stretch!important;
  }
}
@media(max-width:640px){
  .jd-web-proof__copy h2{
    max-width:100%!important;
    font-size:clamp(34px,10.6vw,46px)!important;
    line-height:.98!important;
  }
  .jd-web-proof__satisfaction{
    margin-top:12px!important;
    font-size:18px!important;
    line-height:1.2!important;
  }
  .jd-web-proof-slider{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
  }
  .jd-web-proof-slider__slides{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    aspect-ratio:16/10!important;
  }
  .jd-web-proof-slider__slide,
  .jd-web-proof-slider__browser{
    width:100%!important;
    min-width:100%!important;
  }
  .jd-web-proof-slider__slide img{
    width:100%!important;
  }
}


/* John Design Core 2.16.32 — hero Web fusionné avec vraies réalisations */
.jd-web-hero-v2{
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  margin:18px auto 30px!important;
  padding:0!important;
  color:#191919!important;
}
.jd-web-hero-v2__inner{
  display:grid!important;
  grid-template-columns:minmax(390px,.88fr) minmax(0,1.12fr)!important;
  gap:clamp(42px,5vw,82px)!important;
  align-items:center!important;
  padding:clamp(46px,5.2vw,78px)!important;
  border:1px solid rgba(25,25,25,.07)!important;
  border-radius:40px!important;
  background:#fff!important;
  box-shadow:0 12px 38px rgba(25,25,25,.04)!important;
}
.jd-web-hero-v2__copy{
  min-width:0!important;
}
.jd-web-hero-v2__copy>.jd-eyebrow{
  margin:0 0 16px!important;
}
.jd-web-hero-v2 h1{
  max-width:700px!important;
  margin:0!important;
  color:#191919!important;
  font-size:clamp(48px,5vw,76px)!important;
  line-height:.94!important;
  letter-spacing:-.058em!important;
}
.jd-web-hero-v2__intro{
  max-width:650px!important;
  margin:24px 0 0!important;
  color:#4f4a52!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.jd-web-hero-v2__proof{
  margin-top:30px!important;
  padding-top:25px!important;
  border-top:1px solid rgba(25,25,25,.1)!important;
}
.jd-web-hero-v2__proof h2{
  max-width:590px!important;
  margin:0!important;
  color:#191919!important;
  font-size:clamp(22px,2.2vw,31px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.jd-web-hero-v2__proof>p{
  margin:8px 0 0!important;
  color:#5f5962!important;
  font-size:17px!important;
  line-height:1.35!important;
  font-weight:720!important;
}
.jd-web-hero__rating{
  display:inline-flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:15px!important;
  padding:13px 17px!important;
  border-radius:999px!important;
  background:#191919!important;
  color:#fff!important;
  text-decoration:none!important;
  line-height:1!important;
  box-shadow:0 9px 22px rgba(25,25,25,.12)!important;
}
.jd-web-hero__rating>span{
  color:#fff!important;
  font-size:14px!important;
  letter-spacing:.8px!important;
}
.jd-web-hero__rating strong{
  color:#fff!important;
  font-size:13.5px!important;
  font-weight:880!important;
}
.jd-web-hero__rating em{
  color:rgba(255,255,255,.67)!important;
  font-size:11.5px!important;
  font-style:normal!important;
}
.jd-web-hero-v2__cta{
  min-height:50px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:22px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  background:#f1ecfb!important;
  color:#191919!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:840!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.jd-web-hero-v2__cta:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 9px 22px rgba(25,25,25,.09)!important;
}
.jd-web-hero-v2__visual{
  min-width:0!important;
  align-self:center!important;
}
.jd-web-hero-slider{
  width:100%!important;
}
.jd-web-hero-slider .jd-web-proof-slider__slides{
  aspect-ratio:16/10!important;
  border-radius:28px!important;
  box-shadow:0 20px 48px rgba(25,25,25,.12)!important;
}
.jd-web-hero-slider .jd-web-proof-slider__ui{
  margin-top:15px!important;
}
.jd-web-pricing{
  margin-top:28px!important;
}

@media(max-width:980px){
  .jd-web-hero-v2__inner{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .jd-web-hero-v2__intro{
    max-width:760px!important;
  }
  .jd-web-hero-v2__visual{
    width:100%!important;
  }
}
@media(max-width:640px){
  .jd-web-hero-v2{
    width:calc(100% - 24px)!important;
    margin:14px auto 24px!important;
  }
  .jd-web-hero-v2__inner{
    gap:26px!important;
    padding:30px 18px 22px!important;
    border-radius:28px!important;
  }
  .jd-web-hero-v2__copy>.jd-eyebrow{
    margin-bottom:11px!important;
    font-size:9.5px!important;
  }
  .jd-web-hero-v2 h1{
    font-size:clamp(38px,11.6vw,52px)!important;
    line-height:.96!important;
  }
  .jd-web-hero-v2__intro{
    margin-top:17px!important;
    font-size:14px!important;
    line-height:1.5!important;
  }
  .jd-web-hero-v2__proof{
    margin-top:22px!important;
    padding-top:20px!important;
  }
  .jd-web-hero-v2__proof h2{
    font-size:22px!important;
    line-height:1.08!important;
  }
  .jd-web-hero-v2__proof>p{
    margin-top:7px!important;
    font-size:16px!important;
  }
  .jd-web-hero__rating{
    margin-top:13px!important;
    padding:11px 13px!important;
    gap:8px!important;
  }
  .jd-web-hero__rating>span{
    font-size:12.5px!important;
  }
  .jd-web-hero__rating strong{
    font-size:12.5px!important;
  }
  .jd-web-hero__rating em{
    font-size:10.5px!important;
  }
  .jd-web-hero-v2__cta{
    width:100%!important;
    box-sizing:border-box!important;
    margin-top:18px!important;
  }
  .jd-web-hero-slider .jd-web-proof-slider__slides{
    aspect-ratio:16/11!important;
    border-radius:20px!important;
  }
}


/* John Design Core 2.16.33 — hero Web plus compact, largeur header et ordre mobile */
.jd-web-hero-v2{
  width:min(var(--jd-shell-width,1208px),calc(100% - 48px))!important;
  max-width:none!important;
}
.jd-web-hero-v2__inner{
  grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr)!important;
  grid-template-areas:
    "main visual"
    "proof visual"!important;
  gap:26px clamp(34px,4vw,64px)!important;
  align-items:start!important;
  padding:clamp(38px,4.3vw,62px)!important;
}
.jd-web-hero-v2__main{
  grid-area:main!important;
  min-width:0!important;
}
.jd-web-hero-v2__visual{
  grid-area:visual!important;
  min-width:0!important;
  align-self:center!important;
}
.jd-web-hero-v2__proof{
  grid-area:proof!important;
  margin-top:0!important;
  padding-top:22px!important;
}
.jd-web-hero-v2 h1{
  font-size:clamp(44px,4.4vw,66px)!important;
  line-height:.95!important;
}
.jd-web-hero-v2__intro{
  max-width:520px!important;
  margin-top:18px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.jd-web-hero-v2__proof h2{
  max-width:520px!important;
  font-size:clamp(21px,1.9vw,28px)!important;
}
.jd-web-hero-v2__proof>p{
  margin-top:7px!important;
  font-size:16px!important;
}
.jd-web-hero-v2__cta{
  display:none!important;
}
.jd-web-hero-slider .jd-web-proof-slider__bar{
  background:#242424!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
}
.jd-web-hero-slider .jd-web-proof-slider__bar i{
  background:rgba(255,255,255,.36)!important;
}
.jd-web-hero-slider .jd-web-proof-slider__bar i:first-child{
  background:#c7b2ef!important;
}
.jd-web-hero-slider .jd-web-proof-slider__slides{
  background:#202020!important;
}
@media(max-width:980px){
  .jd-web-hero-v2{
    width:calc(100% - 48px)!important;
  }
  .jd-web-hero-v2__inner{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "main"
      "visual"
      "proof"!important;
    gap:26px!important;
  }
  .jd-web-hero-v2__proof{
    padding-top:0!important;
    border-top:0!important;
  }
}
@media(max-width:640px){
  .jd-web-hero-v2{
    width:calc(100% - 24px)!important;
  }
  .jd-web-hero-v2__inner{
    padding:28px 16px 20px!important;
    gap:22px!important;
  }
  .jd-web-hero-v2 h1{
    font-size:clamp(37px,11vw,49px)!important;
  }
  .jd-web-hero-v2__intro{
    margin-top:15px!important;
    font-size:14px!important;
    line-height:1.45!important;
  }
  .jd-web-hero-v2__proof{
    margin-top:0!important;
    padding-top:0!important;
  }
  .jd-web-hero-v2__proof h2{
    font-size:21px!important;
    line-height:1.08!important;
  }
  .jd-web-hero-v2__proof>p{
    font-size:15.5px!important;
  }
  .jd-web-hero__rating{
    width:max-content!important;
    max-width:100%!important;
    justify-content:flex-start!important;
  }
}
