/*
Theme Name: DME Électricité – V22 SAFE FULL EDIT
Theme URI: https://dme07.fr/
Author: DME
Description: Thème sur mesure reprenant l'identité visuelle DME David Mathieu Électricité.
Version: 259.0.0
Text Domain: dme07
*/
/* V208 : police festive Halloween pour le seul message du bandeau */
@import url('https://fonts.googleapis.com/css2?family=Creepster&display=swap');

:root{
  --navy:#062650;
  --navy2:#0a315f;
  --blue:#0aa7f5;
  --blue2:#188cf0;
  --yellow:#ffc400;
  --ink:#08244b;
  --text:#2b3b50;
  --muted:#667386;
  --line:#e5eaf1;
  --soft:#f7f9fc;
  --white:#fff;
  --radius:18px;
  --shadow:0 10px 28px rgba(6,38,80,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.48}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.dme-container{width:min(1320px,92%);margin:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #edf0f5;box-shadow:0 2px 12px rgba(0,0,0,.03)}
.header-inner{min-height:96px;display:flex;align-items:center;gap:22px;justify-content:space-between}
.brand-logo{width:420px;max-width:33vw;flex:0 0 auto}
.brand-logo img{width:100%;height:78px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:18px;font-weight:800;font-size:13px;color:var(--ink);margin-left:auto}
.main-nav ul{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.main-nav a:hover{color:var(--blue2)}
.phone-pill{display:inline-flex;align-items:center;gap:10px;background:var(--yellow);padding:14px 21px;border-radius:11px;font-size:18px;font-weight:900;color:#051e44;white-space:nowrap}
.mobile-toggle{display:none;border:0;background:none;font-size:28px;color:var(--ink);cursor:pointer}

/* Hero */
.hero{background:linear-gradient(90deg,#f7fbff 0%,#fff 50%,#edf5fd 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:430px;align-items:stretch}
.hero-copy{padding:40px 36px 40px 0;display:flex;flex-direction:column;justify-content:center}
.audience{font-size:12px;letter-spacing:.22em;color:#5a6b82;font-weight:800;margin-bottom:14px}
.hero h1{font-size:clamp(40px,3.85vw,60px);line-height:1.01;letter-spacing:-.038em;color:var(--ink);margin:0 0 18px;font-weight:900}
.hero h1 span{color:var(--blue2)}
.hero-sub{font-size:19px;color:#152f55;margin:0 0 23px;line-height:1.55}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:10px;font-weight:900;transition:.18s ease;border:0;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-yellow{background:var(--yellow);color:#061f47}
.btn-navy{background:var(--navy);color:#fff}
.btn-outline{background:#fff;border:1px solid var(--line);color:var(--ink)}
.hero-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}
.trust-item{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#344860}
.trust-icon{width:36px;height:36px;border:2px solid var(--blue2);color:var(--blue2);border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 36px}
.hero-visual{position:relative;min-height:430px;background:#dfeaf5;overflow:hidden}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:72% center}



/* Services */
.services{padding:26px 0 38px;background:#fff}
.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.service-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;box-shadow:0 8px 24px rgba(6,38,80,.08);min-height:184px;position:relative}
.service-head{display:flex;align-items:center;gap:14px;margin-bottom:11px}
.service-icon-img{width:66px;height:66px;object-fit:contain;border-radius:50%;background:#fff}
.service-symbol{width:66px;height:66px;border:3px solid var(--navy);border-radius:50%;display:grid;place-items:center;color:var(--navy);font-weight:900;background:#fff}
.service-card h3{font-size:16px;line-height:1.08;color:var(--ink);margin:0;font-weight:900}
.service-card p{font-size:13px;line-height:1.42;color:#647286;margin:0 34px 0 0}
.service-arrow{position:absolute;right:14px;bottom:15px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue2);color:#fff;font-weight:900}

/* Projects */
.projects{background:linear-gradient(90deg,#052a55,#073865);color:#fff;padding:36px 0 38px}
.projects-grid{display:grid;grid-template-columns:1fr 2.5fr;gap:36px;align-items:center}
.section-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;margin:0 0 8px}
.section-kicker:before{content:"";display:inline-block;width:28px;height:4px;background:var(--yellow);margin-right:10px;vertical-align:middle}
.projects h2,.local-copy h2,.contact-card h2{font-size:32px;line-height:1.04;margin:0 0 14px;font-weight:900}
.projects h2 span{color:var(--blue)}
.projects p{color:#e5edf7;margin:0 0 18px}
.project-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.project-card img{width:100%;aspect-ratio:1.12/1;object-fit:cover;border-radius:9px}
.project-card strong{display:block;font-size:12px;line-height:1.25;margin-top:7px;color:#fff}

/* Local + contact */
.local-contact{background:#fff}
.local-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:stretch}
.local-block{display:grid;grid-template-columns:1fr 1.35fr;min-height:320px}
.local-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.local-copy{padding:28px 30px}
.local-copy p{color:#53657b}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.benefit{font-size:11px;color:#47607d;text-align:center;line-height:1.35}
.benefit b{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 7px;border:2px solid var(--blue2);border-radius:50%;color:var(--blue2)}
.contact-wrap{padding:22px 0}
.contact-card{margin:22px 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 12px 32px rgba(6,38,80,.09)}
.contact-card p{color:#627188}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.contact-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;color:#41566e;margin-top:18px}
.contact-meta a{color:var(--ink);font-weight:800}

/* Contact form */
.form-section{background:var(--soft);padding:64px 0}
.form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}
.form-grid h2{font-size:38px;color:var(--ink);margin:0 0 12px}
.dme-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;padding:24px;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}
.dme-form label{display:grid;gap:6px;font-size:13px;font-weight:800;color:var(--ink)}
.dme-form input,.dme-form select,.dme-form textarea{font:inherit;padding:12px 13px;border:1px solid #dce2ea;border-radius:9px;width:100%}
.full{grid-column:1/-1}
.notice{padding:12px 14px;border-radius:8px;margin-bottom:12px;font-weight:700}
.notice-ok{background:#e9f8ee;color:#176a35}
.notice-err{background:#fff0f0;color:#9e2c2c}

/* Footer */
.site-footer{background:#041d3e;color:#fff;padding:30px 0}
.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}
.footer-inner p{margin:4px 0 0;color:#9fb0c4;font-size:13px}
.footer-links{display:flex;gap:18px;font-size:13px}

/* Content pages */
.content-page{padding:60px 0}
.content-page article{max-width:850px;margin:auto}
.content-page h1{font-size:42px;color:var(--ink)}

@media(max-width:1080px){
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .project-row{grid-template-columns:repeat(3,1fr)}
  .header-inner{gap:15px}
  .main-nav ul{gap:14px}
  .phone-pill{font-size:17px}
}
@media(max-width:900px){
  .mobile-toggle{display:block}
  .main-nav{display:none;position:absolute;left:4%;right:4%;top:84px;background:#fff;border:1px solid var(--line);padding:18px;border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}
  .main-nav ul{flex-direction:column;align-items:flex-start}
  .brand-logo{max-width:58vw}
  .phone-pill.header-phone{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding-right:0}
  .hero-visual{min-height:380px}
  .projects-grid,.local-grid,.form-grid{grid-template-columns:1fr}
  .local-block{grid-template-columns:1fr}
  .local-photo{height:230px}
  .benefits{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .brand-logo{width:250px}
  .services-grid{grid-template-columns:1fr}
  .project-row{grid-template-columns:1fr 1fr}
  .hero h1{font-size:44px}
  .hero-sub{font-size:17px}
  .hero-trust{grid-template-columns:1fr 1fr}
  .dme-form{grid-template-columns:1fr}
  .full{grid-column:auto}
  .contact-meta{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

.hero-line{white-space:nowrap}.hero-line em{font-style:normal;color:var(--blue2)}

.service-symbol svg{width:34px;height:34px;stroke:var(--navy);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}

.benefit svg{width:19px;height:19px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:900px){.hero-line{white-space:normal}}
@media(max-width:650px){.brand-logo{width:270px;max-width:70vw}.hero-copy{padding-right:0}}

/* V4 finishing touches */
.main-nav a{position:relative;padding:9px 0}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--blue2);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.main-nav a:hover:after{transform:scaleX(1)}
.hero-copy{position:relative}
.hero-copy:before{content:"";position:absolute;left:-28px;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(24,140,240,.15),transparent)}
.service-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.service-card:hover{transform:translateY(-4px);border-color:#cfdcf0;box-shadow:0 14px 34px rgba(6,38,80,.12)}
.project-card img{transition:transform .2s ease}
.project-card{overflow:hidden}
.project-card:hover img{transform:scale(1.025)}
@media(max-width:1180px){
  .brand-logo{width:340px;max-width:30vw}
  .phone-pill{font-size:16px;padding:12px 16px}
  .main-nav,.main-nav ul{gap:13px}
}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{min-height:360px}
  .hero-visual img{object-position:70% center}
}

/* V6 - logo horizontal corrigé : DME à gauche, texte à droite */
.brand-logo{
  width:430px;
  max-width:34vw;
  flex:0 0 auto;
  display:block;
}
.brand-logo img{
  width:100%;
  height:76px;
  object-fit:contain;
  object-position:left center;
  display:block;
}
@media(max-width:1180px){
  .brand-logo{width:350px;max-width:31vw}
  .brand-logo img{height:68px}
}
@media(max-width:900px){
  .brand-logo{width:285px;max-width:72vw}
  .brand-logo img{height:62px}
}

/* V7 - aligné sur la maquette validée */
.site-header{background:#fff;border-bottom:1px solid #eceff4;box-shadow:none}
.header-inner{min-height:92px;gap:28px}
.brand-logo{width:382px;max-width:31vw;display:block;flex:0 0 auto}
.brand-logo img{width:100%;height:70px;object-fit:contain;object-position:left center}

.main-nav{display:flex;align-items:center;gap:22px;font-weight:800;font-size:14px;color:var(--ink);margin-left:auto}
.main-nav ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0}
.main-nav li{margin:0}
.main-nav a{position:relative;padding:6px 0}
.main-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:4px;background:transparent;transition:background .18s ease}
.main-nav a:hover:after{background:var(--yellow)}

.phone-pill{padding:15px 24px;border-radius:12px;font-size:18px;font-weight:900;box-shadow:none}

.hero{background:#f5f7fa}
.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;min-height:575px;align-items:stretch}
.hero-copy{padding:56px 28px 48px 0}
.audience{font-size:12px;letter-spacing:.26em;color:#55677e;font-weight:900;margin-bottom:16px}
.hero h1{font-size:clamp(46px,5.2vw,78px);line-height:.96;letter-spacing:-.045em;margin:0 0 18px;color:var(--navy);font-weight:900}
.hero h1 em{font-style:normal;color:var(--blue2)}
.hero-sub{font-size:21px;line-height:1.55;color:#20395f;margin:0 0 28px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn{border-radius:12px;padding:16px 24px;font-size:15px}
.btn-yellow{min-width:275px}
.btn-navy{min-width:228px}
.hero-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.trust-item{align-items:flex-start;font-size:13px;line-height:1.35}
.trust-icon{width:42px;height:42px;border:2px solid var(--blue2);font-size:18px}

.hero-visual{
  min-height:575px;
  background:#dce5ee;
  overflow:hidden;
  position:relative;
}
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-visual:before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:24%;
  background:linear-gradient(90deg,#f5f7fa 0%, rgba(245,247,250,.94) 35%, rgba(245,247,250,.45) 72%, rgba(245,247,250,0) 100%);
  pointer-events:none;
}

.services{padding:18px 0 34px;background:#fff}
.services-grid{grid-template-columns:repeat(5,1fr);gap:14px}
.service-card{
  border:1px solid #dfe6ef;
  border-radius:18px;
  padding:22px 18px 18px;
  background:#fff;
  box-shadow:none;
  min-height:218px;
}
.service-card:hover{transform:none;border-color:#dfe6ef;box-shadow:none}
.service-head{align-items:flex-start;gap:14px;margin-bottom:16px}
.service-icon-img,.service-symbol{width:64px;height:64px}
.service-card h3{font-size:17px;line-height:1.02}
.service-card p{font-size:13px;line-height:1.45}
.service-arrow{width:36px;height:36px;right:16px;bottom:14px;background:#2690ff}

.projects{padding:36px 0;background:linear-gradient(90deg,#062f63,#073567)}
.projects-grid{grid-template-columns:.93fr 2.2fr;gap:34px}
.section-kicker{font-size:12px;letter-spacing:.20em}
.projects h2{font-size:34px}
.projects h2 span{color:var(--blue2)}
.project-row{grid-template-columns:repeat(5,1fr);gap:12px}
.project-card img{aspect-ratio:1.12/1;border-radius:8px}

.local-contact{background:#fff}
.local-grid{grid-template-columns:1.3fr .95fr;gap:26px}
.local-block{grid-template-columns:.95fr 1.25fr;min-height:318px}
.local-copy{padding:30px}
.local-copy h2{font-size:34px}
.contact-card{padding:30px;border-radius:20px}
.contact-card h2{font-size:32px}
.contact-actions .btn-yellow{min-width:270px}
.contact-actions .btn-navy{min-width:210px}

.form-section{background:#f2f4f7;padding:62px 0}
.form-grid{grid-template-columns:.8fr 1.2fr;gap:44px}
.form-grid h2{font-size:38px;line-height:1.06}
.dme-form{padding:26px;border-radius:20px}

.site-footer{background:#06244c;padding:34px 0}

@media(max-width:1180px){
  .main-nav ul{gap:20px}
  .brand-logo{width:330px;max-width:28vw}
  .brand-logo img{height:62px}
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{min-height:430px}
  .hero-visual:before{width:0}
}
@media(max-width:900px){
  .brand-logo{width:280px;max-width:70vw}
  .brand-logo img{height:56px}
  .main-nav ul{gap:12px}
  .hero{background:#fff}
  .hero-copy{padding-right:0}
  .hero h1{font-size:48px}
  .hero-sub{font-size:18px}
  .hero-trust{grid-template-columns:1fr 1fr}
  .services-grid{grid-template-columns:1fr 1fr}
  .projects-grid,.local-grid,.form-grid,.local-block{grid-template-columns:1fr}
}
@media(max-width:650px){
  .services-grid,.project-row,.dme-form{grid-template-columns:1fr}
  .hero h1{font-size:42px}
  .btn-yellow,.btn-navy,.contact-actions .btn-yellow,.contact-actions .btn-navy{min-width:0;width:100%}
}

/* V8 corrections */
.brand-logo{
  width:470px !important;
  max-width:36vw !important;
}
.brand-logo img{
  width:100%;
  height:74px;
  object-fit:contain;
  object-position:left center;
  display:block;
}

.hero-visual img{
  object-position:right center !important;
}

@media(max-width:1180px){
  .brand-logo{
    width:390px !important;
    max-width:33vw !important;
  }
  .brand-logo img{
    height:68px;
  }
}
@media(max-width:900px){
  .brand-logo{
    width:300px !important;
    max-width:74vw !important;
  }
  .brand-logo img{
    height:60px;
  }
}

/* V9 requested adjustments */
.brand-logo{
  width:500px !important;
  max-width:38vw !important;
}
.brand-logo img{
  width:100%;
  height:78px;
  object-fit:contain;
  object-position:left center;
  display:block;
}

/* smaller hero title */
.hero h1{
  font-size:clamp(38px,4.4vw,64px) !important;
  line-height:1.00 !important;
}

/* slogan badge back on hero */
.hero-visual{
  position:relative;
}
.hero-slogan{
  position:absolute;
  top:26px;
  right:26px;
  background:#0a3263;
  color:#ffffff;
  padding:16px 20px;
  border-radius:8px;
  font-size:18px;
  font-weight:900;
  line-height:1.15;
  box-shadow:0 10px 24px rgba(6,38,80,.22);
  z-index:4;
}
.hero-slogan em{
  color:#ffc400;
  font-style:normal;
}

/* responsive */
@media(max-width:1180px){
  .brand-logo{
    width:410px !important;
    max-width:35vw !important;
  }
  .brand-logo img{height:70px}
  .hero h1{font-size:clamp(36px,4.0vw,56px) !important}
}
@media(max-width:900px){
  .brand-logo{
    width:320px !important;
    max-width:76vw !important;
  }
  .brand-logo img{height:60px}
  .hero-slogan{
    top:18px;
    right:18px;
    font-size:15px;
    padding:12px 15px;
  }
}

/* V10 — vraies pages + effets de survol */

/* On garde l'effet de survol du menu : soulignement jaune */
.main-nav a{
  position:relative;
}
.main-nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:4px;
  border-radius:4px;
  background:var(--yellow);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .20s ease;
}
.main-nav a:hover:after,
.main-nav .current-menu-item > a:after{
  transform:scaleX(1);
}

/* Boutons */
.btn{
  transition:transform .20s ease, box-shadow .20s ease, filter .20s ease;
}
.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 24px rgba(6,38,80,.18);
  filter:brightness(1.02);
}

/* Cartes services accueil */
.service-card-link{
  display:block;
  color:inherit;
}
.service-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.service-card:hover{
  transform:translateY(-7px);
  border-color:#b9d5f3;
  box-shadow:0 16px 36px rgba(6,38,80,.14);
}
.service-card .service-arrow{
  transition:transform .22s ease, background .22s ease;
}
.service-card:hover .service-arrow{
  transform:translateX(4px);
  background:var(--navy);
}

/* Galerie accueil */
.project-link{
  display:block;
  color:#fff;
  overflow:hidden;
}
.project-card img{
  transition:transform .30s ease, filter .30s ease;
}
.project-card:hover img{
  transform:scale(1.055);
  filter:brightness(1.06);
}

/* Pages intérieures */
.inner-page{
  background:#fff;
}
.page-hero{
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 86% 20%, rgba(24,140,240,.14), transparent 28%),
    linear-gradient(180deg,#f8fbff,#eef5fb);
  border-bottom:1px solid #e5ecf4;
}
.page-hero h1{
  margin:0 0 16px;
  color:var(--navy);
  font-size:clamp(38px,5vw,66px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.page-hero p{
  max-width:760px;
  margin:0;
  color:#52677f;
  font-size:19px;
}
.page-section{
  padding:68px 0;
}
.page-two-cols{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:48px;
  align-items:center;
}
.page-copy h2,
.service-detail-copy h2{
  color:var(--navy);
  font-size:30px;
  line-height:1.1;
}
.page-copy p,
.service-detail-copy p{
  color:#53657b;
  font-size:17px;
}
.page-visual-card{
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 46px rgba(6,38,80,.12);
}
.page-visual-card img{
  width:100%;
  min-height:340px;
  object-fit:cover;
}
.page-values{
  padding:0 0 72px;
}
.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.value-card,
.review-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:26px;
  background:#fff;
  transition:transform .22s ease, box-shadow .22s ease;
}
.value-card:hover,
.review-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 36px rgba(6,38,80,.12);
}
.value-card span{
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  background:#eef6ff;color:var(--blue2);
  font-weight:900;font-size:22px;
}
.value-card h3{
  color:var(--navy);
  margin:16px 0 8px;
}

/* Services page */
.services-page-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.service-page-card{
  display:flex;
  align-items:center;
  gap:22px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  color:inherit;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.service-page-card:hover{
  transform:translateY(-7px);
  border-color:#b9d5f3;
  box-shadow:0 18px 38px rgba(6,38,80,.13);
}
.service-page-card img,
.service-page-symbol{
  flex:0 0 82px;
  width:82px;
  height:82px;
  border-radius:50%;
  object-fit:contain;
  display:grid;
  place-items:center;
  border:2px solid var(--navy);
  background:#fff;
  color:var(--navy);
  font-size:34px;
}
.service-page-card h2{
  color:var(--navy);
  font-size:24px;
  margin:0 0 8px;
}
.service-page-card p{
  color:#5d6f84;
  margin:0 0 10px;
}
.service-page-card strong{
  color:var(--blue2);
}

/* Gallery page */
.gallery-page-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.gallery-page-item{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 9px 26px rgba(6,38,80,.07);
}
.gallery-page-item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .30s ease;
}
.gallery-page-item:hover img{
  transform:scale(1.055);
}
.gallery-page-item figcaption{
  padding:16px 18px;
  color:var(--navy);
  font-weight:800;
}
.page-cta-center{
  text-align:center;
  margin-top:34px;
}

/* Reviews page */
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.stars{
  color:#ffbb00;
  letter-spacing:.08em;
  font-size:22px;
  margin-bottom:14px;
}
.review-card p{
  color:#566a80;
  min-height:88px;
}
.review-card strong{
  color:var(--navy);
}

/* Service detail */
.service-detail-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:44px;
  align-items:start;
}
.service-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.service-side-card{
  background:var(--navy);
  color:#fff;
  border-radius:20px;
  padding:28px;
  box-shadow:0 18px 40px rgba(6,38,80,.18);
}
.service-side-card h3{
  margin-top:0;
  font-size:24px;
}
.service-side-card p{
  color:#cbd8e7;
}
.service-side-card a{
  display:block;
  color:#fff;
  font-weight:800;
  margin-top:12px;
  transition:transform .18s ease,color .18s ease;
}
.service-side-card a:hover{
  color:var(--yellow);
  transform:translateX(4px);
}

/* Contact links */
.form-grid a{
  transition:color .18s ease;
}
.form-grid a:hover{
  color:var(--blue2);
}

@media(max-width:900px){
  .page-two-cols,
  .service-detail-grid{
    grid-template-columns:1fr;
  }
  .services-page-grid,
  .gallery-page-grid,
  .reviews-grid,
  .values-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .services-page-grid,
  .gallery-page-grid,
  .reviews-grid,
  .values-grid{
    grid-template-columns:1fr;
  }
  .service-page-card{
    align-items:flex-start;
  }
  .page-hero{
    padding:54px 0 48px;
  }
}

/* V13 — accueil 100% cliquable, rendu visuel proche du graphique fourni */

.site-header{
  display:block !important;
  background:#fff;
}

.brand-logo{
  width:390px !important;
  max-width:31vw !important;
}
.brand-logo img{
  width:100% !important;
  height:72px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

/* HERO */
.hero-v13{
  background:#f5f7fa;
}
.hero-v13-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  min-height:575px;
  align-items:stretch;
}
.hero-v13-copy{
  padding:58px 30px 46px 0;
  position:relative;
  z-index:2;
}
.hero-v13-copy h1{
  margin:0 0 20px;
  color:var(--navy);
  font-size:clamp(44px,4.7vw,72px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:900;
}
.hero-v13-copy h1 span{
  color:var(--blue2);
}
.hero-v13-sub{
  margin:0 0 28px;
  color:#20395f;
  font-size:20px;
  line-height:1.55;
}
.hero-v13-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero-v13-actions .btn-yellow{
  min-width:270px;
}
.hero-v13-actions .btn-navy{
  min-width:225px;
}
.hero-v13-trust{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:40px;
}
.trust-v13{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#344b68;
  font-size:12px;
  line-height:1.35;
}
.trust-v13 span{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:2px solid var(--blue2);
  border-radius:50%;
  color:var(--blue2);
  font-weight:900;
  font-size:17px;
}

.hero-v13-visual{
  position:relative;
  min-height:575px;
  overflow:hidden;
}
.hero-v13-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:right center;
}
.hero-v13-fade{
  position:absolute;
  inset:0 auto 0 0;
  width:28%;
  background:linear-gradient(90deg,#f5f7fa 0%,rgba(245,247,250,.94) 30%,rgba(245,247,250,.48) 68%,rgba(245,247,250,0) 100%);
  pointer-events:none;
}

/* SERVICES */
.services-v13{
  background:#fff;
  padding:16px 0 34px;
}
.services-v13-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.service-v13{
  position:relative;
  display:grid;
  grid-template-columns:66px 1fr;
  gap:14px;
  min-height:205px;
  padding:22px 18px 18px;
  color:inherit;
  border:1px solid #dfe6ef;
  border-radius:18px;
  background:#fff;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.service-v13:hover{
  transform:translateY(-7px);
  border-color:#b8d5f3;
  box-shadow:0 16px 34px rgba(6,38,80,.14);
}
.service-v13 img,
.service-v13-symbol{
  width:64px;
  height:64px;
  border-radius:50%;
  object-fit:contain;
  display:grid;
  place-items:center;
  border:2px solid var(--navy);
  background:#fff;
  color:var(--navy);
  font-size:28px;
}
.service-v13-body h3{
  margin:4px 0 12px;
  color:var(--navy);
  font-size:16px;
  line-height:1.05;
  font-weight:900;
}
.service-v13-body p{
  grid-column:1/-1;
  margin:0;
  color:#647286;
  font-size:13px;
  line-height:1.45;
}
.service-v13-arrow{
  position:absolute;
  right:14px;
  bottom:14px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--blue2);
  color:#fff;
  font-weight:900;
  transition:transform .22s ease,background .22s ease;
}
.service-v13:hover .service-v13-arrow{
  transform:translateX(4px);
  background:var(--navy);
}

/* Existing page/menu hover kept */
.main-nav a:after{
  transform:scaleX(0);
}
.main-nav a:hover:after,
.main-nav .current-menu-item>a:after{
  transform:scaleX(1);
}

/* Responsive */
@media(max-width:1180px){
  .brand-logo{width:330px !important;max-width:29vw !important}
  .hero-v13-copy h1{font-size:56px}
  .services-v13-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .brand-logo{width:285px !important;max-width:70vw !important}
  .hero-v13-grid{grid-template-columns:1fr}
  .hero-v13-copy{padding-right:0}
  .hero-v13-visual{min-height:420px}
  .hero-v13-fade{
    top:0;left:0;right:0;bottom:auto;
    width:100%;height:20%;
    background:linear-gradient(180deg,#f5f7fa,rgba(245,247,250,0));
  }
  .hero-v13-trust{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .hero-v13-copy h1{font-size:42px}
  .hero-v13-sub{font-size:17px}
  .services-v13-grid{grid-template-columns:1fr}
  .hero-v13-actions .btn-yellow,
  .hero-v13-actions .btn-navy{min-width:0;width:100%}
}


/* V22 SAFE — neutralise les doubles cercles sur toutes les images de services */
.service-v13 > img,
.service-page-card > img,
.service-page-icon{
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}


/* V24 — recentrage du titre Climatisation */
.service-v13--clim .service-v13-body h3{
  text-align:center;
  width:100%;
}
.service-page-card--clim h2{
  text-align:center;
  width:100%;
}


/* V25 — véritable recentrage de la carte Climatisation */
.service-v13--clim{
  grid-template-columns:72px minmax(0,1fr) !important;
  column-gap:4px !important;
}
.service-v13--clim .service-v13-body{
  min-width:0 !important;
  width:100% !important;
}
.service-v13--clim .service-v13-body h3{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:center !important;
  font-size:15px !important;
  letter-spacing:-0.35px !important;
  white-space:nowrap !important;
  transform:translateX(-2px);
}

/* Même correction sur la page Services */
.service-page-card--clim > div{
  min-width:0 !important;
}
.service-page-card--clim h2{
  width:100% !important;
  text-align:center !important;
  letter-spacing:-0.25px !important;
}


/* V26 — correction visible de CLIMATISATION :
   recentrage horizontal + alignement vertical par rapport au pictogramme */
.service-v13--clim .service-v13-body h3{
  position:relative !important;
  left:-12px !important;
  transform:none !important;
  margin-top:24px !important;
  margin-bottom:12px !important;
  text-align:center !important;
  white-space:nowrap !important;
}

/* Le texte descriptif reste à sa place et garde sa largeur */
.service-v13--clim .service-v13-body p{
  position:relative !important;
  left:-4px !important;
  width:calc(100% + 4px) !important;
}


/* V27 — Galerie extensible */
.gallery-page-item--dynamic figcaption{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.gallery-page-item--dynamic figcaption strong{
  color:var(--navy);
}
.gallery-page-item--dynamic figcaption span{
  color:#647286;
  font-size:.92em;
  line-height:1.35;
}
.dme-gallery-photo-link{
  display:block;
  overflow:hidden;
  border-radius:inherit;
}
.dme-gallery-photo-link img{
  display:block;
  width:100%;
  height:230px;
  object-fit:cover;
  transition:transform .25s ease;
}
.gallery-page-item--dynamic:hover .dme-gallery-photo-link img{
  transform:scale(1.035);
}


/* V28 — décale le texte de la carte Climatisation vers la droite
   pour qu'il ne touche plus le logo */
.service-v13--clim .service-v13-body{
  padding-left:10px !important;
}

.service-v13--clim .service-v13-body h3{
  left:4px !important;
  margin-top:24px !important;
  margin-bottom:12px !important;
}

.service-v13--clim .service-v13-body p{
  left:6px !important;
  width:calc(100% - 6px) !important;
}


/* V29 — agrandissement des photos de la galerie */
.dme-gallery-lightbox-link{
  display:block;
  cursor:zoom-in;
  overflow:hidden;
}

.dme-gallery-lightbox-link img{
  transition:transform .22s ease, filter .22s ease;
}

.dme-gallery-lightbox-link:hover img{
  transform:scale(1.025);
  filter:brightness(.97);
}

.dme-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 72px;
  background:rgba(3,14,30,.92);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
}

.dme-lightbox.is-open{
  opacity:1;
  visibility:visible;
}

.dme-lightbox-inner{
  max-width:min(1200px,90vw);
  max-height:90vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.dme-lightbox-image{
  display:block;
  max-width:100%;
  max-height:82vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 22px 70px rgba(0,0,0,.45);
  background:#fff;
}

.dme-lightbox-caption{
  color:#fff;
  font-size:16px;
  font-weight:700;
  text-align:center;
}

.dme-lightbox-close,
.dme-lightbox-prev,
.dme-lightbox-next{
  position:absolute;
  border:0;
  color:#fff;
  background:rgba(255,255,255,.12);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .18s ease, transform .18s ease;
}

.dme-lightbox-close:hover,
.dme-lightbox-prev:hover,
.dme-lightbox-next:hover{
  background:rgba(255,255,255,.22);
  transform:scale(1.06);
}

.dme-lightbox-close{
  top:18px;
  right:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:34px;
  line-height:1;
}

.dme-lightbox-prev,
.dme-lightbox-next{
  top:50%;
  width:50px;
  height:68px;
  margin-top:-34px;
  border-radius:12px;
  font-size:44px;
}

.dme-lightbox-prev{left:16px;}
.dme-lightbox-next{right:16px;}

body.dme-lightbox-open{
  overflow:hidden;
}

@media(max-width:700px){
  .dme-lightbox{
    padding:60px 14px 24px;
  }
  .dme-lightbox-prev,
  .dme-lightbox-next{
    width:42px;
    height:56px;
    font-size:36px;
    background:rgba(0,0,0,.38);
  }
  .dme-lightbox-prev{left:8px;}
  .dme-lightbox-next{right:8px;}
  .dme-lightbox-image{
    max-height:76vh;
  }
}


/* V30 — éloigne réellement le texte de la carte Climatisation du logo */
.service-v13--clim{
  column-gap:14px !important;
}
.service-v13--clim .service-v13-body{
  padding-left:8px !important;
}
.service-v13--clim .service-v13-body h3{
  left:0 !important;
  margin-left:8px !important;
  width:calc(100% - 8px) !important;
  font-size:14px !important;
  letter-spacing:-0.15px !important;
}
.service-v13--clim .service-v13-body p{
  left:0 !important;
  margin-left:8px !important;
  width:calc(100% - 8px) !important;
}


/* V31 — Climatisation : même taille que les autres, léger décalage à gauche */
.service-v13--clim{
  column-gap:8px !important;
}

.service-v13--clim .service-v13-body{
  padding-left:2px !important;
}

.service-v13--clim .service-v13-body h3{
  font-size:16px !important;
  letter-spacing:normal !important;
  left:-2px !important;
  margin-left:0 !important;
  width:100% !important;
  text-align:left !important;
}

.service-v13--clim .service-v13-body p{
  left:-2px !important;
  margin-left:0 !important;
  width:100% !important;
}


/* V32 — Climatisation : décale encore le texte et ajoute "RÉVERSIBLE" dessous */
.service-v13--clim{
  column-gap:10px !important;
}

.service-v13--clim .service-v13-body{
  padding-left:12px !important;
}

.service-v13--clim .service-v13-body h3{
  font-size:16px !important;
  line-height:1.05 !important;
  left:0 !important;
  margin-left:10px !important;
  width:calc(100% - 10px) !important;
  text-align:left !important;
  white-space:nowrap !important;
}

.service-v13--clim .service-v13-body h3::after{
  content:"RÉVERSIBLE";
  display:block;
  font-size:13px;
  line-height:1.1;
  margin-top:3px;
}

.service-v13--clim .service-v13-body p{
  left:0 !important;
  margin-left:10px !important;
  width:calc(100% - 10px) !important;
}

/* Même logique sur la page Services pour garder la cohérence */
.service-page-card--clim > div{
  padding-left:8px !important;
}

.service-page-card--clim h2{
  position:relative;
  margin-bottom:8px !important;
}

.service-page-card--clim h2::after{
  content:"RÉVERSIBLE";
  display:block;
  font-size:13px;
  line-height:1.1;
  margin-top:3px;
}


/* V33 — carte Climatisation remise proprement :
   titre "CLIMATISATION / RÉVERSIBLE" centré, même taille que les autres */
.service-v13--clim{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  column-gap:0 !important;
}

.service-v13--clim > img{
  margin:0 auto 10px auto !important;
  display:block !important;
}

.service-v13--clim .service-v13-body{
  width:100% !important;
  padding-left:0 !important;
  margin:0 !important;
  text-align:center !important;
}

.service-v13--clim .service-v13-body h3{
  position:static !important;
  left:auto !important;
  margin:0 auto 12px auto !important;
  width:100% !important;
  text-align:center !important;
  font-size:16px !important;
  line-height:1.05 !important;
  letter-spacing:normal !important;
  white-space:normal !important;
}

.service-v13--clim .service-v13-body h3::after{
  content:"RÉVERSIBLE" !important;
  display:block !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:1.05 !important;
  margin-top:2px !important;
}

.service-v13--clim .service-v13-body p{
  position:static !important;
  left:auto !important;
  margin:0 auto !important;
  width:100% !important;
  text-align:left !important;
}

/* Même correction sur la page Services */
.service-page-card--clim{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}

.service-page-card--clim > img{
  margin:0 auto 10px auto !important;
}

.service-page-card--clim > div{
  width:100% !important;
  padding-left:0 !important;
  text-align:center !important;
}

.service-page-card--clim h2{
  margin:0 auto 10px auto !important;
  width:100% !important;
  text-align:center !important;
  font-size:16px !important;
  line-height:1.05 !important;
}

.service-page-card--clim h2::after{
  content:"RÉVERSIBLE" !important;
  display:block !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:1.05 !important;
  margin-top:2px !important;
}


/* V34 — correction définitive Climatisation + cache-busting */
.service-v13--clim{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  gap:0 !important;
}
.service-v13--clim > img{
  display:block !important;
  margin:0 auto 10px auto !important;
}
.service-v13--clim .service-v13-body{
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
  text-align:center !important;
}
.service-v13--clim .clim-title{
  position:static !important;
  left:auto !important;
  transform:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 auto 12px auto !important;
  padding:0 !important;
  font-size:16px !important;
  line-height:1.05 !important;
  letter-spacing:normal !important;
  white-space:normal !important;
  text-align:center !important;
}
.service-v13--clim .clim-title::after{content:none !important;}
.service-v13--clim .clim-title span{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
}
.service-v13--clim .service-v13-body p{
  position:static !important;
  left:auto !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}

.service-page-card--clim{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}
.service-page-card--clim > img{
  margin:0 auto 10px auto !important;
}
.service-page-card--clim > div{
  width:100% !important;
  padding:0 !important;
  text-align:center !important;
}
.service-page-card--clim .clim-title{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:100% !important;
  margin:0 auto 10px auto !important;
  font-size:16px !important;
  line-height:1.05 !important;
  text-align:center !important;
}
.service-page-card--clim .clim-title::after{content:none !important;}
.service-page-card--clim .clim-title span{
  display:block !important;
  width:100% !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  text-align:center !important;
}


/* V35 — carte Climatisation remise comme les autres */
.service-v13--clim{
  display:grid !important;
  grid-template-columns:66px 1fr !important;
  gap:14px !important;
  align-items:start !important;
  text-align:left !important;
}
.service-v13--clim > img{
  margin:0 !important;
  display:block !important;
}
.service-v13--clim .service-v13-body{
  width:auto !important;
  padding-left:0 !important;
  margin:0 !important;
  text-align:left !important;
}
.service-v13--clim .clim-title{
  position:static !important;
  left:auto !important;
  width:auto !important;
  margin:4px 0 12px !important;
  text-align:left !important;
  font-size:16px !important;
  line-height:1.05 !important;
  letter-spacing:normal !important;
  white-space:normal !important;
}
.service-v13--clim .clim-title::after{
  content:none !important;
  display:none !important;
}
.service-v13--clim .clim-title span{
  display:block !important;
  font-size:inherit !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  margin:0 !important;
}
.service-v13--clim .service-v13-body p{
  position:static !important;
  left:auto !important;
  width:auto !important;
  margin:0 !important;
  text-align:left !important;
}

/* Même correction sur la page Services */
.service-page-card--clim{
  display:flex !important;
  align-items:flex-start !important;
  text-align:left !important;
}
.service-page-card--clim > img{
  margin:0 !important;
}
.service-page-card--clim > div{
  width:auto !important;
  padding-left:0 !important;
  text-align:left !important;
}
.service-page-card--clim .clim-title{
  margin:0 0 10px !important;
  text-align:left !important;
  font-size:16px !important;
  line-height:1.05 !important;
}
.service-page-card--clim .clim-title::after{
  content:none !important;
  display:none !important;
}
.service-page-card--clim .clim-title span{
  display:block !important;
  font-size:inherit !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  margin:0 !important;
}


/* V36 — reset propre de la carte Climatisation (accueil + page Services) */

/* ACCUEIL */
.service-v13.service-v13--clim{
  display:grid !important;
  grid-template-columns:66px 1fr !important;
  gap:14px !important;
  min-height:205px !important;
  align-items:start !important;
  text-align:left !important;
}
.service-v13.service-v13--clim > img{
  width:64px !important;
  height:64px !important;
  margin:0 !important;
  align-self:start !important;
  justify-self:start !important;
}
.service-v13.service-v13--clim .service-v13-body{
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  text-align:left !important;
}
.service-v13.service-v13--clim .service-v13-body .clim-title{
  display:block !important;
  width:auto !important;
  margin:4px 0 12px 0 !important;
  padding:0 !important;
  text-align:left !important;
  font-size:16px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:normal !important;
  white-space:normal !important;
  position:static !important;
  transform:none !important;
}
.service-v13.service-v13--clim .service-v13-body .clim-title::after,
.service-v13.service-v13--clim .service-v13-body h3::after{
  content:none !important;
  display:none !important;
}
.service-v13.service-v13--clim .service-v13-body .clim-title span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  text-align:left !important;
}
.service-v13.service-v13--clim .service-v13-body p{
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  text-align:left !important;
  position:static !important;
}

/* PAGE SERVICES */
.service-page-card.service-page-card--clim{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  text-align:left !important;
}
.service-page-card.service-page-card--clim > img{
  flex:0 0 82px !important;
  width:82px !important;
  height:82px !important;
  margin:0 !important;
  align-self:center !important;
}
.service-page-card.service-page-card--clim > div{
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  text-align:left !important;
}
.service-page-card.service-page-card--clim .clim-title{
  display:block !important;
  width:auto !important;
  margin:0 0 8px 0 !important;
  padding:0 !important;
  text-align:left !important;
  font-size:24px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  position:static !important;
  transform:none !important;
}
.service-page-card.service-page-card--clim .clim-title::after,
.service-page-card.service-page-card--clim h2::after{
  content:none !important;
  display:none !important;
}
.service-page-card.service-page-card--clim .clim-title span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  text-align:left !important;
}
.service-page-card.service-page-card--clim p{
  margin:0 0 10px 0 !important;
  text-align:left !important;
}


/* V39 — page Services : CLIMATISATION RÉVERSIBLE sur une seule ligne */
.service-page-card .dme-clim-one-line{
  white-space:nowrap !important;
}


/* =========================================================
   V40 — pages dédiées aux services
   ========================================================= */
.dme-service-hero{
  overflow:hidden;
}
.dme-service-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);
  gap:54px;
  align-items:center;
}
.dme-service-hero-copy h1{
  max-width:820px;
}
.dme-service-hero-copy > p{
  max-width:760px;
  font-size:18px;
  line-height:1.65;
}
.dme-service-hero-actions{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:26px;
}
.dme-service-phone{
  color:var(--navy);
  font-weight:900;
  font-size:18px;
}
.dme-service-hero-icon{
  min-height:230px;
  display:grid;
  place-items:center;
}
.dme-service-hero-icon img,
.dme-service-hero-icon .dme-service-main-icon{
  width:190px;
  height:190px;
  object-fit:contain;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:3px solid var(--navy);
  background:#fff;
  box-shadow:0 22px 50px rgba(6,38,80,.14);
  color:var(--navy);
  font-size:78px;
}
.dme-service-section-heading{
  max-width:720px;
  margin-bottom:28px;
}
.dme-service-section-heading h2,
.dme-service-trust-grid h2{
  color:var(--navy);
  font-size:clamp(28px,4vw,42px);
  line-height:1.1;
  margin:8px 0 14px;
}
.dme-service-offers-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.dme-service-offer-card{
  position:relative;
  padding:26px 26px 24px 64px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(6,38,80,.06);
}
.dme-service-offer-card h3{
  color:var(--navy);
  font-size:20px;
  margin:0 0 8px;
}
.dme-service-offer-card p{
  color:#5d6f84;
  margin:0;
  line-height:1.6;
}
.dme-service-check{
  position:absolute;
  left:24px;
  top:26px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--yellow);
  color:var(--navy);
  font-weight:1000;
}
.dme-service-trust-section{
  background:#f7f9fc;
}
.dme-service-trust-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:44px;
  align-items:center;
}
.dme-service-trust-grid > div > p{
  color:#5d6f84;
  font-size:17px;
  line-height:1.7;
}
.dme-service-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px;
  margin-top:24px;
}
.dme-service-benefits span{
  color:var(--navy);
  font-weight:800;
}
.dme-service-contact-card .btn{
  display:inline-flex;
  margin-top:22px;
  color:var(--navy);
}
.dme-service-back-section{
  padding:28px 0 54px;
}

@media(max-width:900px){
  .dme-service-hero-grid,
  .dme-service-trust-grid{
    grid-template-columns:1fr;
  }
  .dme-service-hero-icon{
    min-height:0;
    justify-content:start;
  }
  .dme-service-hero-icon img,
  .dme-service-hero-icon .dme-service-main-icon{
    width:140px;
    height:140px;
    font-size:58px;
  }
}
@media(max-width:620px){
  .dme-service-offers-grid,
  .dme-service-benefits{
    grid-template-columns:1fr;
  }
  .dme-service-offer-card{
    padding:22px 20px 22px 58px;
  }
  .dme-service-check{
    left:20px;
    top:22px;
  }
}


/* V42 — Galerie : vignettes toutes au même format que les premières photos */
.gallery-page-item > .dme-gallery-lightbox-link{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
}

.gallery-page-item > .dme-gallery-lightbox-link > img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Neutralise l'ancienne hauteur fixe des réalisations ajoutées */
.gallery-page-item--dynamic .dme-gallery-photo-link{
  aspect-ratio:4 / 3 !important;
}
.gallery-page-item--dynamic .dme-gallery-photo-link img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}


/* V43 — page Avis clients : bouton Google */
.dme-reviews-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

@media(max-width:700px){
  .dme-reviews-actions{
    flex-direction:column;
  }
  .dme-reviews-actions .btn{
    width:100%;
    max-width:360px;
  }
}


/* V44 — Avis clients réels */
@media(min-width:901px){
  .reviews-grid--five{
    grid-template-columns:repeat(6,1fr);
  }
  .reviews-grid--five .review-card{
    grid-column:span 2;
  }
  .reviews-grid--five .review-card:nth-child(4){
    grid-column:2 / span 2;
  }
  .reviews-grid--five .review-card:nth-child(5){
    grid-column:4 / span 2;
  }
}
.reviews-grid--five .review-card p{
  min-height:0;
}


/* V46 — bouton Avis Google : couche cliquable prioritaire */
.dme-reviews-actions{
  position:relative !important;
  z-index:50 !important;
  isolation:isolate !important;
}

.dme-reviews-actions .btn,
.dme-google-review-btn{
  position:relative !important;
  z-index:51 !important;
  pointer-events:auto !important;
}

.reviews-grid--five{
  position:relative !important;
  z-index:1 !important;
}


/* V48 — pages détail Services : suppression du rond autour de tous les logos */
.dme-service-hero-icon img,
.dme-service-hero-icon .dme-service-main-icon{
  border-radius:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Conserve un rendu propre et centré, sans cadre circulaire */
.dme-service-hero-icon img{
  object-fit:contain !important;
}


/* V49 — pages détail Services : logos visuellement ronds, sans double rond */
.dme-service-hero-icon img{
  width:190px !important;
  height:190px !important;
  padding:10px !important;
  border-radius:50% !important;
  border:0 !important;
  background:#ffffff !important;
  box-shadow:0 12px 26px rgba(6,38,80,.08) !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.dme-service-hero-icon .dme-service-main-icon{
  width:190px !important;
  height:190px !important;
  border-radius:50% !important;
  border:0 !important;
  background:#ffffff !important;
  box-shadow:0 12px 26px rgba(6,38,80,.08) !important;
  display:grid !important;
  place-items:center !important;
}

@media(max-width:900px){
  .dme-service-hero-icon img,
  .dme-service-hero-icon .dme-service-main-icon{
    width:140px !important;
    height:140px !important;
  }
}


/* V50 — cartes d'avis cliquables vers l'avis Google correspondant */
.dme-review-google{
  display:block !important;
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer !important;
}

.dme-review-google:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 34px rgba(6,38,80,.13);
}

.dme-review-google:focus-visible{
  outline:3px solid var(--blue2);
  outline-offset:4px;
}


/* V51 — Nos fabricants & partenaires */
.dme-partners{
  padding:68px 0;
  background:#f5f8fc;
}

.dme-partners-heading{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}

.dme-partners-heading h2{
  margin:8px 0 12px;
  color:var(--navy);
}

.dme-partners-heading p{
  margin:0;
  color:#647286;
  line-height:1.65;
}

.dme-partners-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.dme-partner-card{
  min-height:126px;
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px solid #dfe6ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(6,38,80,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dme-partner-card:hover{
  transform:translateY(-5px);
  border-color:#b8d5f3;
  box-shadow:0 16px 34px rgba(6,38,80,.12);
}

.dme-partner-card strong{
  display:block;
  color:var(--navy);
  font-size:20px;
  font-weight:900;
  line-height:1.15;
}

.dme-partner-card span{
  display:block;
  margin-top:8px;
  color:#647286;
  font-size:13px;
  font-weight:700;
}

.dme-partner-card::before{
  content:"";
  width:34px;
  height:4px;
  margin-bottom:14px;
  border-radius:999px;
  background:var(--yellow);
}

@media(max-width:900px){
  .dme-partners-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){
  .dme-partners{
    padding:52px 0;
  }
  .dme-partners-grid{
    grid-template-columns:1fr;
  }
  .dme-partner-card{
    min-height:110px;
  }
}


/* V52 — Suivez-nous sur les réseaux */
.dme-social-section{
  padding:58px 0 62px;
  color:#fff;
  background:linear-gradient(90deg,#062f63,#073567);
}

.dme-social-heading{
  max-width:760px;
  margin:0 auto 30px;
  text-align:center;
}

.dme-social-heading .section-kicker{
  color:#fff;
}

.dme-social-heading h2{
  margin:8px 0 12px;
  color:#fff;
  font-size:34px;
  line-height:1.08;
  font-weight:900;
}

.dme-social-heading p{
  margin:0;
  color:#e5edf7;
  line-height:1.65;
}

.dme-social-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.dme-social-card{
  position:relative;
  min-height:178px;
  padding:24px 20px 22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#fff !important;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.20);
  border-radius:18px;
  background:rgba(255,255,255,.08);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.dme-social-card:not(.is-disabled):hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.42);
}

.dme-social-icon{
  width:46px;
  height:46px;
  margin-bottom:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#062f63;
  font-size:21px;
  line-height:1;
  font-weight:900;
}

.dme-social-linkedin .dme-social-icon{
  font-size:15px;
}

.dme-social-card strong{
  display:block;
  color:#fff;
  font-size:19px;
  font-weight:900;
}

.dme-social-text{
  display:block;
  margin-top:7px;
  padding-right:28px;
  color:#dce8f5;
  font-size:13px;
  line-height:1.45;
}

.dme-social-arrow{
  position:absolute;
  right:18px;
  bottom:18px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--yellow);
  color:var(--navy);
  font-weight:900;
}

.dme-social-card.is-disabled{
  opacity:.78;
  cursor:default;
}

@media(max-width:900px){
  .dme-social-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .dme-social-section{
    padding:48px 0;
  }
  .dme-social-grid{
    grid-template-columns:1fr;
  }
  .dme-social-card{
    min-height:150px;
  }
}


/* V53 — section Réseaux alignée exactement sur Nos réalisations */
.dme-social-section{
  background:linear-gradient(90deg,#062f63,#073567) !important;
}

/* Logo DME de l'en-tête intégré au titre */
.dme-social-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.dme-social-brand{
  display:inline-block;
  width:150px;
  height:42px;
  object-fit:contain;
  object-position:center;
  vertical-align:middle;
  filter:none !important;
}

@media(max-width:620px){
  .dme-social-brand{
    width:126px;
    height:36px;
  }
}


/* V54 — section Réseaux : vrai DME + vrais logos couleur */
.dme-social-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.dme-social-brand-crop{
  width:72px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
  vertical-align:middle;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.dme-social-brand{
  width:150px !important;
  height:40px !important;
  max-width:none !important;
  object-fit:contain;
  object-position:left center;
  display:block;
  background:transparent !important;
}

.dme-social-icon{
  width:50px;
  height:50px;
  margin-bottom:16px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(255,255,255,.12);
  color:inherit;
  font-size:0;
  line-height:0;
  backdrop-filter:blur(2px);
}

.dme-social-icon svg{
  display:block;
  width:28px;
  height:28px;
}

.dme-social-linkedin .dme-social-icon,
.dme-social-facebook .dme-social-icon,
.dme-social-google .dme-social-icon,
.dme-social-instagram .dme-social-icon{
  font-size:0 !important;
}

@media(max-width:620px){
  .dme-social-brand-crop{
    width:62px;
    height:34px;
  }
  .dme-social-brand{
    width:130px !important;
    height:34px !important;
  }
}


/* V58 — hero accueil : voir davantage le véhicule */
.hero-v13-visual img{
  object-position: 78% center !important;
}

.hero-v13-fade{
  width: 21% !important;
  background: linear-gradient(
    90deg,
    #f5f7fa 0%,
    rgba(245,247,250,.94) 24%,
    rgba(245,247,250,.38) 60%,
    rgba(245,247,250,0) 100%
  ) !important;
}


/* V59 — hero accueil : véhicule encore plus visible */
.hero-v13-visual img{
  object-position: 73% center !important;
  transform: scale(0.96) !important;
}

.hero-v13-fade{
  width: 14% !important;
  background: linear-gradient(
    90deg,
    #f5f7fa 0%,
    rgba(245,247,250,.92) 18%,
    rgba(245,247,250,.26) 46%,
    rgba(245,247,250,0) 100%
  ) !important;
}

@media(max-width:980px){
  .hero-v13-visual img{
    transform: scale(1) !important;
  }
}


/* V60 — hero accueil : flou légèrement décalé vers la droite */
.hero-v13-fade{
  width: 18% !important;
  background: linear-gradient(
    90deg,
    #f5f7fa 0%,
    rgba(245,247,250,.94) 24%,
    rgba(245,247,250,.38) 56%,
    rgba(245,247,250,0) 100%
  ) !important;
}


/* V61 — hero accueil : flou encore légèrement plus à droite */
.hero-v13-fade{
  width: 21% !important;
  background: linear-gradient(
    90deg,
    #f5f7fa 0%,
    rgba(245,247,250,.95) 28%,
    rgba(245,247,250,.42) 62%,
    rgba(245,247,250,0) 100%
  ) !important;
}


/* V62 — Fabricants : vrais logos + FAAC */
.dme-partners-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:18px !important;
}

.dme-partner-card{
  flex:1 1 230px !important;
  max-width:285px !important;
  min-width:210px !important;
  min-height:155px !important;
  padding:22px 18px 18px !important;
}

/* suppression du petit trait jaune au-dessus des anciens libellés */
.dme-partner-card::before{
  display:none !important;
  content:none !important;
}

.dme-partner-logo{
  display:block !important;
  width:auto !important;
  max-width:88% !important;
  height:auto !important;
  max-height:72px !important;
  margin:0 auto 14px !important;
  object-fit:contain !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Certains logos sont presque carrés : on les garde un peu plus compacts */
.dme-partner-logo--heiwa{
  max-height:84px !important;
}
.dme-partner-logo--atlantic,
.dme-partner-logo--thermor,
.dme-partner-logo--aldes{
  max-height:78px !important;
}

.dme-partner-card span{
  margin-top:auto !important;
  padding-top:2px !important;
  font-size:13px !important;
}

@media(max-width:900px){
  .dme-partner-card{
    flex:1 1 calc(50% - 18px) !important;
    max-width:none !important;
  }
}

@media(max-width:620px){
  .dme-partner-card{
    flex:1 1 100% !important;
    max-width:none !important;
  }
  .dme-partner-logo{
    max-width:76% !important;
  }
}


/* V65 — Fabricants : cartes plus compactes */
.dme-partner-card{
  min-height:0 !important;
  padding:14px 16px 12px !important;
  justify-content:flex-start !important;
}

.dme-partner-logo{
  margin:0 auto 8px !important;
}

.dme-partner-card span{
  margin-top:4px !important;
  padding-top:0 !important;
  line-height:1.25 !important;
}

@media(max-width:620px){
  .dme-partner-card{
    padding:14px 14px 12px !important;
  }
}


/* V66 — Fabricants : suppression réelle de l'étirement vertical */
.dme-partners-grid{
  align-items:flex-start !important;
}

.dme-partner-card{
  height:170px !important;
  min-height:170px !important;
  max-height:170px !important;
  box-sizing:border-box !important;
  padding:12px 16px 10px !important;
  justify-content:center !important;
  align-self:flex-start !important;
}

.dme-partner-logo{
  margin:0 auto 6px !important;
}

.dme-partner-card span{
  margin-top:3px !important;
  line-height:1.15 !important;
}

@media(max-width:620px){
  .dme-partner-card{
    height:160px !important;
    min-height:160px !important;
    max-height:160px !important;
  }
}


/* V69 — Atlantic Climatisation : même comportement que les autres logos */
.dme-partner-logo--atlantic-clim{
  max-height:78px !important;
}


/* V70 — Réseaux plus foncé + ponctuation contact */
.dme-social-section{
  background:#062650 !important;
}


/* V71 — Contact : ne jamais couper « Une question ? » */
.dme-contact-title span{
  white-space:nowrap !important;
}


/* V72 — Sponsoring & partenaires */
.dme-sponsors-section{
  padding:58px 0 62px;
  background:#062650;
  color:#fff;
}

.dme-sponsors-heading{
  max-width:780px;
  margin:0 auto 30px;
  text-align:center;
}

.dme-sponsors-heading .section-kicker{
  color:#fff;
}

.dme-sponsors-heading h2{
  margin:8px 0 12px;
  color:#fff;
  font-size:34px;
  line-height:1.08;
  font-weight:900;
}

.dme-sponsors-heading p{
  margin:0;
  color:#dce8f5;
  line-height:1.65;
}

.dme-sponsors-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.dme-sponsor-card{
  min-height:170px;
  padding:22px 18px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(255,255,255,.20);
  border-radius:18px;
  background:rgba(255,255,255,.08);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.dme-sponsor-card:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.42);
}

.dme-sponsor-badge{
  width:58px;
  height:58px;
  margin-bottom:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--yellow);
  color:var(--navy);
  font-size:15px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
}

.dme-sponsor-card strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.2;
  font-weight:900;
}

.dme-sponsor-meta{
  display:block;
  margin-top:8px;
  color:#c9d9ea;
  font-size:13px;
  font-weight:700;
}

@media(max-width:900px){
  .dme-sponsors-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .dme-sponsors-section{
    padding:48px 0;
  }
  .dme-sponsors-grid{
    grid-template-columns:1fr;
  }
  .dme-sponsor-card{
    min-height:150px;
  }
}


/* V74 — Galerie mixte photos + vidéos */
.dme-gallery-video-link{position:relative;cursor:pointer!important;background:#102d53;}
.dme-gallery-video-link img{display:block;width:100%;height:100%;object-fit:cover;}
.dme-gallery-video-placeholder{display:flex;width:100%;height:100%;min-height:140px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#fff;font-size:32px;font-weight:900;letter-spacing:.12em;background:linear-gradient(135deg,#0c376d,#061c3a);}
.dme-gallery-video-placeholder small{font-size:13px;font-weight:600;letter-spacing:.02em;opacity:.85;}
.dme-gallery-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:rgba(255,196,0,.97);color:#062650;font-size:25px;padding-left:4px;box-shadow:0 6px 22px rgba(0,0,0,.25);transition:transform .2s ease;pointer-events:none;}
.dme-gallery-video-link:hover .dme-gallery-play{transform:translate(-50%,-50%) scale(1.08);}
.dme-lightbox-video-container{width:min(1100px,85vw);aspect-ratio:16/9;max-height:76vh;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.45);}
.dme-lightbox-video-container[hidden],.dme-lightbox-image[hidden]{display:none!important;}
.dme-lightbox-video-container video,.dme-lightbox-video-container iframe{display:block;width:100%;height:100%;border:0;background:#000;}
@media(max-width:700px){
 .dme-gallery-play{width:56px;height:56px;font-size:22px;}
 .dme-lightbox-video-container{width:calc(100vw - 28px);max-height:70vh;}
 .dme-lightbox-inner{max-width:100%;}
}


/* V75 — Galerie : page d'entrée par rubriques, puis photos et vidéos filtrées */
.dme-gallery-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.dme-gallery-category-card{
  position:relative;
  isolation:isolate;
  min-height:270px;
  border-radius:20px;
  overflow:hidden;
  background:var(--navy);
  box-shadow:0 12px 30px rgba(6,38,80,.16);
  display:flex;
  align-items:flex-end;
  transition:transform .22s ease,box-shadow .22s ease;
}
.dme-gallery-category-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,rgba(4,24,53,.96) 0%,rgba(6,38,80,.60) 53%,rgba(6,38,80,.10) 100%);
}
.dme-gallery-category-card>img{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.dme-gallery-category-card:hover,.dme-gallery-category-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(6,38,80,.25);
}
.dme-gallery-category-card:hover>img,.dme-gallery-category-card:focus-visible>img{transform:scale(1.05);}
.dme-gallery-category-card:focus-visible,.dme-gallery-back:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;}
.dme-gallery-category-content{display:flex;flex-direction:column;gap:7px;padding:26px;width:100%;color:#fff;}
.dme-gallery-category-content strong{font-size:24px;font-weight:900;line-height:1.15;color:#fff;}
.dme-gallery-category-content>span{font-size:14px;line-height:1.45;color:#e4edf7;}
.dme-gallery-category-content em{margin-top:9px;font-style:normal;font-size:13px;font-weight:900;color:var(--yellow);}
.dme-gallery-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--navy);font-weight:900;padding:9px 0;}
.dme-gallery-back:hover{text-decoration:underline;}
.dme-gallery-empty{margin:24px 0 0;padding:28px;border-radius:16px;background:#f2f6fb;border:1px solid #dfe7f2;color:var(--navy);}
.dme-gallery-empty strong{font-size:20px;}
.dme-gallery-empty p{margin:8px 0 0;}
@media(max-width:950px){.dme-gallery-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){
  .dme-gallery-category-grid{grid-template-columns:1fr;gap:15px;}
  .dme-gallery-category-card{min-height:220px;}
  .dme-gallery-category-content{padding:23px;}
  .dme-gallery-category-content strong{font-size:22px;}
}
@media(prefers-reduced-motion:reduce){
  .dme-gallery-category-card,.dme-gallery-category-card>img{transition:none;}
}


/* V76 — Une carte par chantier, plusieurs médias dans la visionneuse. */
.gallery-page-item > .dme-v76-extra-media { display:none !important; }
.dme-v76-project > .dme-gallery-lightbox-link:first-child { position:relative; }
.dme-v76-media-count {
  position:absolute;right:12px;bottom:12px;z-index:2;
  display:inline-block;padding:6px 11px;border-radius:999px;
  background:rgba(6,38,80,.90);color:#fff;font-size:13px;font-weight:800;
}
.dme-v76-project .dme-v76-hint {display:block;margin-top:7px;font-size:12px;font-weight:700;color:#476c94;}
.dme-lightbox-prev[hidden],.dme-lightbox-next[hidden] {display:none !important;}


/* V77 — six rubriques d'accueil, liens directs vers chaque répertoire */
.projects .project-row{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.projects .project-card{display:block;min-width:0;text-decoration:none;}
.projects .project-card img{aspect-ratio:1.55/1;display:block;}
.projects .project-card:focus-visible{
  outline:3px solid #ffbf00;
  outline-offset:5px;
  border-radius:8px;
}
@media(max-width:650px){
  .projects .project-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
}
@media(max-width:380px){
  .projects .project-row{grid-template-columns:1fr;}
}

/* V78 : les six vignettes « Nos réalisations » sur une seule ligne
   sur grand écran, tout en conservant un affichage confortable sur mobile. */
@media (min-width: 1181px) {
  .projects .project-row {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 11px;
  }
  .projects .project-card img {
    aspect-ratio: 1.12 / 1;
  }
}
@media (min-width: 651px) and (max-width: 1180px) {
  .projects .project-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* V80 : largeur augmentée sans déformer les photos et sans chevauchement.
   La grille est limitée à l'espace réel de la fenêtre. */
@media (min-width: 1181px) {
  .projects .dme-container.projects-grid {
    width: auto;
    max-width: none;
    margin-left: max(4%, calc((100% - 1320px) / 2));
    margin-right: 3%;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
  }
  .projects .project-row {
    display: grid;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
  }
  .projects .project-card {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .projects .project-card img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1.12 / 1;
    object-fit: cover;
  }
  .projects .project-card strong {
    font-size: 12px;
    overflow-wrap: anywhere;
  }
}
/* Les logos restent dans leurs cartes de hauteur fixe. */
.dme-partner-logo-link {
  display: block;
  width: 100%;
  min-width: 0;
  text-decoration: none;
  cursor: pointer;
}
.dme-partner-logo-link:focus-visible {
  outline: 3px solid #ffbf00;
  outline-offset: 3px;
  border-radius: 6px;
}

/* V82 — six vignettes homogènes, images plein cadre, zoom au survol.
   Les images sont positionnées dans un cadre fixe : leur format original
   n'influence jamais la largeur des colonnes ni la hauteur des cartes. */
.projects .dme-container.projects-grid {
  width: min(1720px, 94%);
  max-width: none;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, clamp(270px, 21vw, 340px)) minmax(0, 1fr);
  gap: clamp(20px, 2vw, 36px);
  align-items: center;
}
.projects .project-row {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(9px, .9vw, 16px);
  align-items: start;
}
.projects .project-card {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
  text-decoration: none;
}
.projects .project-card .dme-v81-image-frame {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 10px;
  background: #123e6c;
  isolation: isolate;
}
.projects .project-card .dme-v81-image-frame img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 100%;
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  transform: scale(1);
  filter: none;
  transition: transform .32s ease, filter .32s ease;
  will-change: transform;
}
.projects .project-card:hover .dme-v81-image-frame img,
.projects .project-card:focus-visible .dme-v81-image-frame img {
  transform: scale(1.075);
  filter: brightness(1.09);
}
.projects .project-card strong {
  display: block;
  margin-top: 9px;
  color: #fff;
  font-size: clamp(11px, .83vw, 14px);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
/* Le survol conserve le zoom mais sans encadrement jaune. */
.projects .project-card:hover .dme-v81-image-frame {
  box-shadow: none;
}
/* Repère conservé uniquement pour la navigation au clavier. */
.projects .project-card:focus-visible .dme-v81-image-frame {
  box-shadow: 0 0 0 2px #ffbf00;
}
@media (max-width: 1180px) {
  .projects .dme-container.projects-grid {
    width: min(1100px, 92%);
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .projects .project-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
  .projects .project-card strong { font-size: 13px; }
}
@media (max-width: 650px) {
  .projects .project-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}
@media (max-width: 380px) {
  .projects .project-row { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .projects .project-card .dme-v81-image-frame img { transition: none; }
}


/* V85 — Bande de miniatures sous la photo/vidéo ouverte, propre à chaque chantier. */
.dme-lightbox-inner {
  width: min(1200px, 90vw);
  max-width: min(1200px, 90vw);
  max-height: calc(100dvh - 38px);
  min-height: 0;
  gap: 12px;
}
.dme-lightbox-image {
  max-height: min(72vh, calc(100dvh - 200px));
  max-width: 100%;
  object-fit: contain;
}
.dme-lightbox-video-container {
  width: min(1100px, 85vw, calc((100dvh - 210px) * 16 / 9));
  max-height: min(68vh, calc(100dvh - 210px));
}
.dme-lightbox-caption {
  flex: 0 0 auto;
}
.dme-lightbox-thumbnails {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  align-items: center;
  max-width: 100%;
  width: fit-content;
  min-height: 76px;
  padding: 4px 5px 9px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #a5b8d1 transparent;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
}
.dme-lightbox-thumbnails[hidden] { display: none !important; }
.dme-lightbox-thumbnail {
  position: relative;
  display: block;
  flex: 0 0 88px;
  width: 88px;
  height: 66px;
  padding: 0;
  border: 2px solid rgba(255,255,255,.32);
  border-radius: 8px;
  overflow: hidden;
  background: #1c3450;
  cursor: pointer;
  opacity: .72;
  scroll-snap-align: center;
  transition: opacity .18s ease, border-color .18s ease;
}
.dme-lightbox-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.dme-lightbox-thumbnail:hover,
.dme-lightbox-thumbnail.is-active { opacity: 1; }
.dme-lightbox-thumbnail.is-active { border-color: #fff; box-shadow: 0 0 0 1px #fff; }
.dme-lightbox-thumbnail:focus-visible { outline: 3px solid #ffbf00; outline-offset: 3px; opacity: 1; }
.dme-lightbox-thumbnail-video-icon {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.dme-lightbox-thumbnail-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(6,38,80,.86);
  color: #fff;
  font-size: 12px;
}
@media(max-width:700px) {
  .dme-lightbox-inner { width: 100%; max-width: 100%; gap: 9px; }
  .dme-lightbox-image { max-height: min(60vh, calc(100dvh - 190px)); }
  .dme-lightbox-video-container {
    width: min(calc(100vw - 28px), calc((100dvh - 210px) * 16 / 9));
    max-height: min(58vh, calc(100dvh - 210px));
  }
  .dme-lightbox-thumbnails { gap: 7px; min-height: 66px; }
  .dme-lightbox-thumbnail { flex-basis: 70px; width: 70px; height: 53px; }
  .dme-lightbox-caption { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) {
  .dme-lightbox-thumbnail { transition: none; }
}


/* V86 — Galerie : espace média fixe pour éviter que la bande de miniatures
   remonte au centre de l'écran lors du changement de photo. */
.dme-lightbox-inner {
  min-height: 0;
  justify-content: center;
}
.dme-lightbox-media-stage {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(70dvh, calc(100dvh - 195px));
  min-height: 0;
  overflow: hidden;
}
.dme-lightbox-media-stage > .dme-lightbox-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.dme-lightbox-media-stage > .dme-lightbox-video-container {
  max-width: 100%;
  max-height: 100%;
}
.dme-lightbox-thumbnails {
  flex-shrink: 0;
  scroll-behavior: auto;
}
@media (max-width: 700px) {
  .dme-lightbox-media-stage {
    height: min(60dvh, calc(100dvh - 180px));
  }
}

/* V88 — Pied de page blanc (seulement le footer).
   La section sponsoring reprend son fond bleu initial de la V86. */
.site-footer {
  background: #ffffff;
  color: #062650;
  border-top: 1px solid #e5eaf1;
}
.site-footer strong { color: #062650; }
.site-footer .footer-inner p { color: #586b81; }
.site-footer .footer-links { color: #062650; }
.site-footer .footer-links a {
  color: #062650;
  text-decoration: none;
  transition: color .2s ease;
}
.site-footer .footer-links a:hover { color: #188cf0; }
.site-footer .footer-links a:focus-visible {
  outline: 2px solid #062650;
  outline-offset: 3px;
}


/* V92 — Correction du menu mobile.
   Une règle desktop ajoutée après le responsive V7 forçait .main-nav
   à rester visible sur iPhone même après un clic sur le bouton. */
@media (max-width: 900px) {
  .site-header .main-nav {
    display: none;
    position: absolute;
    left: 4%;
    right: 4%;
    top: calc(100% - 1px);
    margin-left: 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 18px;
    flex-direction: column;
    align-items: stretch;
    z-index: 1001;
  }
  .site-header .main-nav.open {
    display: flex;
  }
  .site-header .main-nav ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
  .site-header .mobile-toggle {
    display: block;
    position: relative;
    z-index: 1002;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  .site-header .mobile-toggle:focus-visible {
    outline: 2px solid var(--blue2);
    outline-offset: 5px;
    border-radius: 4px;
  }
}

/* V97 — pictogrammes d'avantages. Le cercle bleu existant reste en place,
   le nouveau dessin bleu marine est centré à l'intérieur. */
.hero-v13-trust img.dme22-trust-icon {
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  box-sizing: border-box !important;
  padding: 7px !important;
}

/* V100 : la grille des réalisations s'adapte à toutes les rubriques.
   Les photos et leur zoom restent dans les cadres existants. */
@media (min-width: 1181px) {
  .projects .project-row.dme-v100-auto-projects {
    grid-template-columns: repeat(var(--dme-project-cols, 6), minmax(0, 1fr));
    grid-auto-rows: auto;
    align-items: start;
  }
}
/* Logo Aiphone dans une carte identique aux autres fabricants. */
.dme-partner-logo--aiphone {
  max-width: 88% !important;
  max-height: 72px !important;
  object-fit: contain !important;
}


/* V101 — Titres d'introduction des sections et ligne d'audience plus lisibles.
   Le petit trait jaune est conservé, comme la typographie et les couleurs DME. */
.section-kicker {
  font-size: 14px;
  line-height: 1.45;
}
/* Ligne au-dessus du grand titre de l'accueil. */
.hero-v13 .audience {
  font-size: 16px;
  letter-spacing: .16em;
  line-height: 1.45;
}
@media (max-width: 650px) {
  .section-kicker { font-size: 13px; }
  .hero-v13 .audience { font-size: 14px; letter-spacing: .10em; }
}

/* V102 — Petit titre du bloc artisan local sur deux lignes.
   La seconde ligne s'aligne sur le texte après le trait jaune. */
.local-copy .dme-local-kicker .dme-local-kicker-first { display: inline; }
.local-copy .dme-local-kicker .dme-local-kicker-second {
  display: block;
  margin-left: 38px;
}

/* V104 — Téléphone des pages services identique au bouton bleu marine de l’accueil. */
.dme-service-detail-page .dme-service-phone-v104 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--navy);
  color:#fff;
  border:0;
  border-radius:12px;
  min-width:228px;
  padding:16px 24px;
  font-size:15px;
  font-weight:900;
  line-height:1.3;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .20s ease, box-shadow .20s ease, filter .20s ease;
}
.dme-service-detail-page .dme-service-phone-v104:hover {
  background:var(--navy);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 12px 24px rgba(6,38,80,.18);
  filter:brightness(1.08);
}
.dme-service-detail-page .dme-service-phone-v104:focus-visible {
  outline:3px solid var(--yellow);
  outline-offset:3px;
}
/* Sur le fond marine de la carte contact, garder le bouton lisible et délimité. */
.dme-service-detail-page .dme-service-contact-card a.dme-service-phone-v104 {
  display:inline-flex;
  margin-top:16px;
  background:var(--navy);
  color:#fff;
  border:1px solid rgba(255,255,255,.7);
}
.dme-service-detail-page .dme-service-contact-card a.dme-service-phone-v104:hover {
  color:#fff;
  background:var(--navy2);
  transform:translateY(-3px);
}
@media (max-width:650px) {
  .dme-service-detail-page .dme-service-hero-actions .dme-service-phone-v104 {
    width:100%;
    min-width:0;
  }
  .dme-service-detail-page .dme-service-contact-card a.dme-service-phone-v104 {
    max-width:100%;
    min-width:0;
  }
}
@media (prefers-reduced-motion:reduce) {
  .dme-service-detail-page .dme-service-phone-v104 {transition:none;}
}


/* V105 — Accueil : photo du véhicule plus visible derrière le titre.
   Un dégradé translucide protège la lecture sans masquer le fourgon.
   Les vues tablette/mobile conservent leur présentation d'origine. */
@media (min-width: 901px) {
  .hero-v13-grid {
    position: relative;
    isolation: isolate;
  }
  .hero-v13-copy {
    position: relative;
    z-index: 2;
    background: transparent;
  }
  .hero-v13-visual {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 70%;
    min-height: 0;
  }
  .hero-v13-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 56% center !important;
    transform: none !important;
  }
  .hero-v13-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(245,247,250,.96) 0%,
      rgba(245,247,250,.80) 18%,
      rgba(245,247,250,.42) 39%,
      rgba(245,247,250,.08) 60%,
      rgba(245,247,250,0) 76%);
  }
  .hero-v13-fade {
    display: none !important;
  }
}


/* V106 — Photo du véhicule moins rapprochée sur ordinateur.
   Afficher l'image entière, alignée à droite, plutôt que de la zoomer
   par object-fit: cover. Conserve le voile translucide de la V105. */
@media (min-width: 901px) {
  .hero-v13-visual {
    background: #f5f7fa;
  }
  .hero-v13-visual img {
    object-fit: contain !important;
    object-position: right center !important;
    transform: none !important;
  }
}


/* V107 — Nouveau visuel d’accueil au crépuscule.
   La photo couvre la largeur du bandeau, le dégradé clair permet
   de lire le texte à gauche et révèle le fourgon à droite.
   Les réglages de hauteur et de texte du personnalisateur restent actifs. */
@media (min-width: 901px) {
  .hero-v13 .hero-v13-grid { position: relative; isolation: isolate; }
  .hero-v13 .hero-v13-visual {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    background: #f5f7fa;
    z-index: 0;
  }
  .hero-v13-grid .hero-v13-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
  .hero-v13 .hero-v13-visual::after {
    background: linear-gradient(90deg,
      rgba(245,247,250,.98) 0%,
      rgba(245,247,250,.95) 18%,
      rgba(245,247,250,.81) 33%,
      rgba(245,247,250,.54) 45%,
      rgba(245,247,250,.19) 59%,
      rgba(245,247,250,0) 76%) !important;
  }
  .hero-v13 .hero-v13-copy { z-index: 2; }
}
@media (max-width: 900px) {
  .hero-v13-grid .hero-v13-visual img {
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}


/* V108 — Voile blanc allégé : maison et équipements mieux visibles,
   avec une protection suffisante derrière les textes de l'accueil. */
@media (min-width: 901px) {
  .hero-v13 .hero-v13-visual::after {
    background: linear-gradient(90deg,
      rgba(245,247,250,.95) 0%,
      rgba(245,247,250,.87) 18%,
      rgba(245,247,250,.66) 33%,
      rgba(245,247,250,.32) 45%,
      rgba(245,247,250,.08) 59%,
      rgba(245,247,250,0) 74%) !important;
  }
}


/* V109 — Fourgon entier dans le bandeau de l’accueil.
   Sur ordinateur : privilégier le bas de la photo pour montrer les roues,
   tout en conservant la largeur du visuel et le voile transparent V108.
   Sur téléphone/tablette : présenter l’image complète au format natif,
   sans rogner le véhicule sur les côtés. */
@media (min-width: 901px) {
  .hero-v13-grid .hero-v13-visual img {
    object-position: right bottom !important;
  }
}
@media (max-width: 900px) {
  body .hero-v13 .hero-v13-visual {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1672 / 941;
  }
  .hero-v13-grid .hero-v13-visual img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* V110 — Image panoramique 2048 × 768 : le fourgon reste entièrement
   visible sur les petits écrans sans bande vide ni zoom forcé. */
@media (max-width: 900px) {
  body .hero-v13 .hero-v13-visual {
    aspect-ratio: 2048 / 768 !important;
  }
}

/* V112 — Accueil : ne plus superposer le véhicule au bloc de textes.
   Nouveau visuel avec le fourgon plus à droite et les équipements au fond.
   Sur desktop, cadrage légèrement vers la gauche pour préserver les
   équipements situés à droite ; voile limité à la zone de lecture.
   Le texte est décollé du bord gauche. */
@media (min-width: 901px) {
  .hero-v13 .hero-v13-copy {
    padding-left: clamp(24px, 3vw, 48px) !important;
    box-sizing: border-box;
  }
  .hero-v13-grid .hero-v13-visual img {
    object-position: 25% bottom !important;
  }
  .hero-v13 .hero-v13-visual::after {
    background: linear-gradient(90deg,
      rgba(245,247,250,.97) 0%,
      rgba(245,247,250,.91) 18%,
      rgba(245,247,250,.70) 30%,
      rgba(245,247,250,.36) 40%,
      rgba(245,247,250,.07) 49%,
      rgba(245,247,250,0) 56%) !important;
  }
}
@media (max-width: 900px) {
  .hero-v13 .hero-v13-copy {
    padding-left: clamp(16px, 4vw, 30px) !important;
    padding-right: clamp(16px, 4vw, 30px) !important;
    box-sizing: border-box;
  }
}

/* V113 : afficher le bord droit de la photo et donc la borne IRVE.
   La photo a été étendue en haut et en bas pour éviter de couper les côtés.
   La position à droite garde aussi la climatisation dans le champ.
   Le décalage des textes et le voile blanc V112 restent inchangés. */
@media (min-width: 901px) {
  .hero-v13-grid .hero-v13-visual img {
    object-position: right bottom !important;
  }
}
@media (max-width: 900px) {
  .hero-v13-grid .hero-v13-visual img {
    object-fit: contain !important;
    object-position: center bottom !important;
  }
  body .hero-v13 .hero-v13-visual {
    aspect-ratio: 2048 / 896 !important;
  }
}

/* V114 — Lisibilité de l'accueil : voile blanc un peu plus opaque
   derrière les écritures et les pictogrammes. Le dégradé disparaît
   avant le véhicule et ne modifie ni l'image ni son cadrage.
   Les textes sont décalés de ~16px vers la gauche, en conservant
   une marge intérieure confortable. */
@media (min-width: 901px) {
  .hero-v13 .hero-v13-copy {
    padding-left: clamp(24px, 2.3vw, 32px) !important;
  }
  .hero-v13 .hero-v13-visual::after {
    background: linear-gradient(90deg,
      rgba(245,247,250,.985) 0%,
      rgba(245,247,250,.96) 18%,
      rgba(245,247,250,.87) 28%,
      rgba(245,247,250,.70) 37%,
      rgba(245,247,250,.42) 43%,
      rgba(245,247,250,.12) 48%,
      rgba(245,247,250,0) 53%) !important;
  }
}

/* V115 — Renforcement net du fond clair sous les textes, y compris
   les pictogrammes en bas. Transition courte avant le véhicule :
   aucun changement de photo, de cadrage ou de position des textes. */
@media (min-width: 901px) {
  .hero-v13 .hero-v13-visual::after {
    background: linear-gradient(90deg,
      rgba(245,247,250,1) 0%,
      rgba(245,247,250,.995) 19%,
      rgba(245,247,250,.985) 31%,
      rgba(245,247,250,.96) 36%,
      rgba(245,247,250,.83) 40%,
      rgba(245,247,250,.50) 44%,
      rgba(245,247,250,.12) 48%,
      rgba(245,247,250,0) 52%) !important;
  }
}


/* V116 — Transition beaucoup plus douce entre la zone de lecture
   claire et la photo. Garde l'opacité élevée à gauche, mais évite
   le changement brutal de la V115. Photo et cadrage inchangés. */
@media (min-width: 901px) {
  .hero-v13 .hero-v13-visual::after {
    background: linear-gradient(90deg,
      rgba(245,247,250,1) 0%,
      rgba(245,247,250,.995) 12%,
      rgba(245,247,250,.97) 20%,
      rgba(245,247,250,.92) 26%,
      rgba(245,247,250,.82) 31%,
      rgba(245,247,250,.69) 35%,
      rgba(245,247,250,.52) 39%,
      rgba(245,247,250,.34) 43%,
      rgba(245,247,250,.20) 47%,
      rgba(245,247,250,.09) 52%,
      rgba(245,247,250,.025) 58%,
      rgba(245,247,250,0) 66%) !important;
  }
}


/* V117 — Contraste des textes uniquement, en conservant exactement
   la photo, son cadrage et le dégradé doux de la V116. */
.hero-v13 .audience {
  color: #08284f !important;
  font-weight: 900 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}
.hero-v13 .hero-v13-sub {
  color: #0b2b50 !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 1px rgba(255,255,255,.65);
}
.hero-v13 .hero-v13-trust .trust-v13 {
  color: #09294f !important;
  font-size: 12.5px;
  line-height: 1.34;
}
.hero-v13 .hero-v13-trust .trust-v13 > b {
  color: #09294f !important;
  font-weight: 750 !important;
  background: rgba(250,252,255,.66);
  border-radius: 5px;
  padding: 3px 5px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}
/* Le dernier pictogramme est sur la zone la plus contrastée de la photo. */
.hero-v13 .hero-v13-trust .trust-v13:last-child > b {
  background: rgba(250,252,255,.88);
}
@media (max-width: 900px) {
  .hero-v13 .hero-v13-trust .trust-v13 {
    font-size: 12px;
  }
}

/* V118 — Pictogrammes plus élégants : suppression des petits rectangles
   blancs V117. Typographie nette directement sur le dégradé V116. */
.hero-v13 .hero-v13-trust {
  column-gap: 13px;
  align-items: start;
}
.hero-v13 .hero-v13-trust .trust-v13 {
  gap: 8px;
  align-items: center;
  min-width: 0;
  font-size: 12px;
  line-height: 1.32;
}
.hero-v13 .hero-v13-trust .trust-v13 > b,
.hero-v13 .hero-v13-trust .trust-v13:last-child > b {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #08284d !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(255,255,255,.96),
               0 0 8px rgba(255,255,255,.85) !important;
}
@media (min-width: 901px) {
  .hero-v13 .hero-v13-trust {
    grid-template-columns: 1.05fr 1.02fr 1.15fr 1.20fr;
  }
}


/* V119 — Finitions de lisibilité sans toucher à la photo ni au voile V116.
   Petits textes légèrement plus grands, espacements préservés,
   prestations renforcées sur la zone de transition de l'image. */
.hero-v13 .hero-v13-sub {
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(255,255,255,.98),
               0 0 7px rgba(255,255,255,.82) !important;
}
.hero-v13 .hero-v13-trust {
  column-gap: 12px;
}
.hero-v13 .hero-v13-trust .trust-v13 {
  gap: 8px;
  font-size: 12.8px !important;
  line-height: 1.38;
}
.hero-v13 .hero-v13-trust .trust-v13 > b {
  font-weight: 750 !important;
  letter-spacing: -.012em;
  text-shadow: 0 1px 2px rgba(255,255,255,.98),
               0 0 8px rgba(255,255,255,.9) !important;
}
@media (max-width: 900px) {
  .hero-v13 .hero-v13-trust .trust-v13 {
    font-size: 12.5px !important;
  }
}


/* V121 — Uniquement le bouton téléphone jaune de l'en-tête :
   fond bleu marine DME et numéro blanc. Base V119 intégralement conservée. */
.site-header .phone-pill.header-phone {
  background: #062650 !important;
  color: #ffffff !important;
}


/* V123 — Slogan en tracés vectoriels : aucune police externe ni image pixellisée.
   Le placement suit le cadrage réel de la photo pour rester avant les arbres.
   Valeurs de secours utilisables avant le calcul du positionnement. */
.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {
  position: absolute;
  display: block;
  top: var(--dme-slogan-top, 10px);
  left: var(--dme-slogan-left, 43%);
  width: var(--dme-slogan-width, 29%);
  z-index: 4;
  color: #ffffff;
  pointer-events: none;
  line-height: 0;
  transform: none;
  filter: none;
}
.hero-v13 .dme-hero-slogan-v123 > svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
/* Lorsque le recadrage rapproche le ciel du dégradé clair, les lettres
   passent en bleu marine pour conserver leur contraste, sans ombre floue. */
.hero-v13 .dme-hero-slogan-v123.is-over-fade {
  color: #062650;
}
@media (max-width: 900px) {
  .hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {
    top: var(--dme-slogan-top, 5%);
    left: var(--dme-slogan-left, 15%);
    width: var(--dme-slogan-width, 58%);
  }
}
/* Numéros légaux sous le nom de l'entreprise dans le pied de page. */
.site-footer .footer-inner .dme-footer-legal-v122 {
  margin: 8px 0 7px;
  color: #244568;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 600;
}

/* V124 : slogan extrait du visuel fourni, même inclination et mêmes traits. */
.hero-v13 .dme-hero-slogan-v123 > img {display:block;width:100%;height:auto;object-fit:contain;}
.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {filter:none!important;}

/* V125: slogan vectoriel net, incline et repositionne dans le ciel */
.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {top: 20px !important; left: 27% !important; width: 49% !important; transform: none !important; filter: none !important;}
.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 img {display:block;width:100%;height:auto;filter:none;image-rendering:auto;}
@media(max-width:900px){.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {top: 4% !important;left: 12% !important;width: 74% !important;}}

/* V126: smaller slogan, aligned inside upper sky */
.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {top: 5px !important;left: 44% !important;width: 29% !important;transform:none !important;}
@media(max-width:900px){.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {top: 2% !important;left: 39% !important;width: 43% !important;}}

/* V127: meme taille et meme slogan, uniquement decale vers la droite */
.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {left: 49.5% !important;}
@media(max-width:900px){.hero-v13 .hero-v13-visual .dme-hero-slogan-v123 {left: 44.5% !important;}}

/* V128 - Correction uniquement mobile du raccord blanc en haut a gauche
   de la photographie. Le slogan et les regles desktop restent inchanges. */
@media (max-width: 900px) {
  body .hero-v13 .hero-v13-visual {
    overflow: hidden !important;
  }
  body .hero-v13 .hero-v13-visual::after,
  body .hero-v13 .hero-v13-visual .hero-v13-fade {
    display: none !important;
  }
  body .hero-v13 .hero-v13-grid .hero-v13-visual > img:first-child {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* V133 : nouvelle section normes sur l'accueil uniquement. */
.dme-normes-v133{padding:78px 0;background:#f5f8fc;color:#153a57}
.dme-normes-v133 h2{font-size:clamp(28px,3.2vw,43px);margin:10px 0 12px}
.dme-normes-intro{max-width:820px;line-height:1.7;margin:0 0 28px}
.dme-normes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dme-normes-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:27px 24px;background:#fff;border:1px solid #dfe8f2;border-radius:18px;color:#183b58;text-decoration:none!important;box-shadow:0 8px 24px rgba(16,50,78,.06);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.dme-normes-card:hover,.dme-normes-card:focus-visible{transform:translateY(-7px);border-color:#1592d0;box-shadow:0 18px 36px rgba(12,63,105,.17);outline-offset:3px}
.dme-normes-icon{font-size:30px;line-height:1.4}
.dme-normes-card h3{font-size:21px;line-height:1.3;margin:12px 0 8px;color:#153a57}
.dme-normes-card p{font-size:15px;line-height:1.6;margin:0 0 18px;flex:1}
.dme-normes-action{font-size:13px;font-weight:700;color:#0879b9;border-bottom:2px solid #ffcc17;padding-bottom:3px}
.dme-normes-note{margin-top:19px;font-size:12px;line-height:1.5;color:#667988}
@media(max-width:850px){.dme-normes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dme-normes-v133{padding:46px 0}.dme-normes-grid{grid-template-columns:1fr;gap:13px}.dme-normes-card{padding:20px}}
@media(prefers-reduced-motion:reduce){.dme-normes-card{transition:none}}

/* V134 - six cartes sur une ligne, sans modification des autres sections */
@media (min-width: 1200px) {
 .dme-normes-v133 .dme-normes-grid {grid-template-columns: repeat(6, minmax(0,1fr));gap:12px;}
 .dme-normes-v133 .dme-normes-card {padding:19px 13px;border-radius:15px;}
 .dme-normes-v133 .dme-normes-card h3 {font-size:clamp(14px,1.2vw,18px);overflow-wrap:anywhere;}
 .dme-normes-v133 .dme-normes-card p {font-size:13px;}
 .dme-normes-v133 .dme-normes-action {font-size:11px;}
}
@media (min-width: 850px) and (max-width:1199px) {
 .dme-normes-v133 .dme-normes-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* V136 : ajout isolé de la section Notre entreprise, sans modification du menu ni de l'accueil existant. */
.dme-about-v136{padding:76px 0;background:#fff;color:#173b58}
.dme-about-v136 h2{font-size:clamp(28px,3.2vw,43px);margin:10px 0 12px}
.dme-about-lead{max-width:820px;line-height:1.7;margin:0 0 28px}
.dme-about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dme-about-card{padding:27px 24px;background:#f5f8fc;border:1px solid #dfe8f2;border-radius:18px;box-shadow:0 8px 24px rgba(16,50,78,.05)}
.dme-about-icon{font-size:30px;line-height:1.4;color:#0d84c7}
.dme-about-card h3{font-size:21px;line-height:1.3;margin:12px 0 8px;color:#153a57}
.dme-about-card p,.dme-about-card address{font-size:15px;line-height:1.7;margin:0 0 12px;font-style:normal}
@media(max-width:850px){.dme-about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dme-about-v136{padding:46px 0}.dme-about-grid{grid-template-columns:1fr;gap:13px}.dme-about-card{padding:20px}}

/* V138 : titre des prestations dans la section services, uniquement. Le trait jaune vient du style .section-kicker du theme. */
.services-v13 .dme-services-heading-v138{margin-bottom:20px}
.services-v13 .dme-services-heading-v138 .section-kicker{font-size:clamp(16px,2vw,22px);letter-spacing:.04em;line-height:1.35;color:#163b59;margin:0;font-weight:900}
@media(max-width:650px){.services-v13 .dme-services-heading-v138{margin-bottom:16px}}

/* V139 : section Normes en bleu marine */
.dme-normes-v133{background:var(--navy) !important;color:#ffffff !important;}
.dme-normes-v133 h2,.dme-normes-v133 .section-kicker,.dme-normes-v133 .dme-normes-intro,.dme-normes-v133 .dme-normes-note{color:#ffffff !important;}
.dme-normes-v133 .section-kicker::before{background:#f7c600 !important;}
.dme-normes-v133 .dme-normes-card{background:#ffffff !important;border-color:rgba(255,255,255,.18) !important;box-shadow:0 14px 34px rgba(0,0,0,.18) !important;}
.dme-normes-v133 .dme-normes-card:hover{box-shadow:0 18px 38px rgba(0,0,0,.24) !important;}

/* V140 : section Normes en bleu nuit */

/* V150 : sixieme service uniquement : 3 colonnes sur grand ecran */
@media(min-width:1051px){.services-v13 .services-v13-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:651px) and (max-width:1050px){.services-v13 .services-v13-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.services-v13 .services-v13-grid{grid-template-columns:1fr}}
.dme-v150-detail{scroll-margin-top:110px}
.dme-v150-detail h2{color:#062650}
.dme-v150-detail p{max-width:850px;line-height:1.7}

/* V151 : disposition des six prestations : 3 + 3 sur ordinateur. */
@media screen and (min-width: 1051px) {
  body.home section.services-v13 > .services-v13-grid,
  body.home #services .services-v13-grid,
  section.services-v13 > .services-v13-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
  }
}
@media screen and (min-width: 651px) and (max-width:1050px) {
  section.services-v13 > .services-v13-grid {display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media screen and (max-width:650px) {
  section.services-v13 > .services-v13-grid {display:grid !important;grid-template-columns:minmax(0,1fr) !important;}
}


/* V159 — barre d'images sélectionnables dans les pages service */
.dme-v159-service-gallery-section{padding-top:8px}
.dme-v159-service-gallery-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.dme-v159-service-gallery-thumb{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 10px 24px rgba(6,38,80,.08);aspect-ratio:1/1}
.dme-v159-service-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1100px){.dme-v159-service-gallery-bar{grid-template-columns:repeat(4,minmax(180px,1fr));}}
@media (max-width:700px){.dme-v159-service-gallery-bar{grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.dme-v159-service-gallery-thumb{border-radius:14px}}

/* V162: les medias (photos, fichiers video et iframe) partagent les mêmes vignettes. */
.dme-v159-service-gallery-bar{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 12px;align-items:stretch}
.dme-v159-service-gallery-thumb{flex:0 0 clamp(170px,22%,260px);aspect-ratio:4/3;scroll-snap-align:start;min-width:0;display:block}
.dme-v159-service-gallery-thumb img,.dme-v159-service-gallery-thumb video,.dme-v159-service-gallery-thumb iframe{width:100%;height:100%;display:block;object-fit:cover;border:0}
@media(max-width:700px){.dme-v159-service-gallery-thumb{flex-basis:75%;}}

/* V164 : vidéo lisible avant lancement, défilement inchangé. */
.dme-v159-service-gallery-thumb.dme-v162-video{background:#062650}
.dme-v159-service-gallery-thumb video.dme-v164-video-preview{background:#062650;object-fit:contain}


/* V165 — vidéos en pleine case dans les galeries services */
.dme-v159-service-gallery-thumb.dme-v162-video,
.dme-v159-service-gallery-thumb.dme-v164-video {
  overflow: hidden !important;
  background: #062650 !important;
}
.dme-v159-service-gallery-thumb.dme-v162-video video,
.dme-v159-service-gallery-thumb.dme-v164-video video,
.dme-v159-service-gallery-thumb video {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  background: #062650 !important;
}


/* V166 — suppression du cadre bleu mobile sur les aperçus vidéo */
.dme-v159-service-gallery-thumb.dme-v162-video,
.dme-v159-service-gallery-thumb.dme-v164-video {
  background: transparent !important;
}
.dme-v159-service-gallery-thumb video.dme-v164-video-preview,
.dme-v159-service-gallery-thumb.dme-v162-video video,
.dme-v159-service-gallery-thumb.dme-v164-video video,
.dme-v159-service-gallery-thumb video {
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

/* V167 — miniature réelle pleine largeur devant le lecteur iOS. */
.dme-v167-video{position:relative!important;isolation:isolate}
.dme-v167-video .dme-v167-cover{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;border:0;padding:0;cursor:pointer;color:#fff}
.dme-v167-video .dme-v167-cover[hidden]{display:none!important}
.dme-v167-video .dme-v167-cover span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(6,38,80,.82);font-size:24px;box-shadow:0 3px 12px rgba(0,0,0,.25)}

/* V168 — seulement les deux titres demandés, bleu officiel DME. */
.dme-about-v136 > .dme-container > .section-kicker,
.services-v13 .dme-services-heading-v138 > .section-kicker {
  color: var(--navy) !important;
}


/* V172 — pictogrammes personnalisés dans la section Notre entreprise */
.dme-about-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px}
.dme-about-icon svg{width:100%;height:100%;display:block}
.dme-about-icon--dme svg,.dme-about-icon--local svg{filter:drop-shadow(0 2px 6px rgba(6,38,80,.10))}


/* V173 — utiliser exactement les pictogrammes fournis dans Notre entreprise */
.dme-about-icon--image{width:56px;height:56px}
.dme-about-icon--image img{width:100%;height:100%;display:block;object-fit:contain}


/* V175 — agrandir le pictogramme horaires pour l'aligner visuellement aux autres */
.dme-about-icon--hours{width:62px;height:62px;font-size:44px;line-height:1;display:inline-flex;align-items:center;justify-content:center}

/* V177 : partenaires editables - le design existant est conserve. */
.dme-sponsors-grid .dme-v177-partner-card{color:inherit;text-decoration:none;}
.dme-v177-partner-logo{width:80px;height:64px;max-width:100%;object-fit:contain;margin:0 auto 14px;display:block;}
.dme-sponsors-grid .dme-v177-partner-card strong{overflow-wrap:anywhere;}

/* V178 - Visuel partenaire plein cadre, textes lisibles en superposition. */
.dme-sponsors-grid .dme-v177-partner-card.dme-v178-with-photo{
 position:relative;min-height:210px;padding:18px;overflow:hidden;isolation:isolate;
 justify-content:flex-end;align-items:center;background:#173c67;
}
.dme-sponsors-grid .dme-v178-with-photo .dme-v177-partner-logo{
 position:absolute;inset:0;width:100%;height:100%;max-width:none;
 object-fit:cover;object-position:center;margin:0;border-radius:inherit;z-index:-2;
}
.dme-sponsors-grid .dme-v178-with-photo::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(to bottom,rgba(6,38,80,0) 20%,rgba(6,38,80,.55) 55%,rgba(6,38,80,.94) 100%);
}
.dme-sponsors-grid .dme-v178-with-photo strong,.dme-sponsors-grid .dme-v178-with-photo .dme-sponsor-meta{
 position:relative;z-index:1;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.55);
}
@media(max-width:620px){.dme-sponsors-grid .dme-v177-partner-card.dme-v178-with-photo{min-height:225px}}


/* V179 — supprimer le voile bleu sur les cartes partenaires avec image */
.dme-sponsors-grid .dme-v178-with-photo::before{
  background:none !important;
}
.dme-sponsors-grid .dme-v178-with-photo{
  justify-content:flex-end;
  align-items:center;
}
.dme-sponsors-grid .dme-v178-with-photo strong,
.dme-sponsors-grid .dme-v178-with-photo .dme-sponsor-meta{
  background:rgba(6,38,80,.82);
  padding:6px 12px;
  border-radius:14px;
}
.dme-sponsors-grid .dme-v178-with-photo strong{
  margin-bottom:8px;
}


/* V180 — supprimer aussi le petit fond bleu derrière le texte des partenaires */
.dme-sponsors-grid .dme-v178-with-photo strong,
.dme-sponsors-grid .dme-v178-with-photo .dme-sponsor-meta{
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* V182 : libellé des partenaires sous la vignette, comme les réalisations. */
.dme-sponsors-grid .dme-v177-partner-card,
.dme-sponsors-grid .dme-v177-partner-card.dme-v178-with-photo{
 display:flex !important;flex-direction:column !important;justify-content:flex-start !important;
 align-items:stretch !important;gap:0 !important;min-height:0 !important;
 background:transparent !important;border:0 !important;border-radius:0 !important;
 box-shadow:none !important;overflow:visible !important;padding:0 !important;
 text-align:left !important;isolation:auto !important;
}
.dme-sponsors-grid .dme-v177-partner-card::before{content:none !important}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-visual{
 position:relative !important;display:grid !important;place-items:center !important;
 width:100% !important;aspect-ratio: 4/3 !important;overflow:hidden !important;
 background:#1b385f !important;border-radius:13px !important;
 border:1px solid rgba(255,255,255,.14) !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-visual .dme-v177-partner-logo{
 position:absolute !important;inset:0 !important;display:block !important;
 width:100% !important;height:100% !important;max-width:none !important;
 object-fit:cover !important;object-position:center !important;
 margin:0 !important;border:0 !important;border-radius:0 !important;
 box-shadow:none !important;z-index:0 !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-visual .dme-sponsor-badge{
 margin:0 !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption{
 display:block !important;width:100% !important;padding:10px 0 0 !important;
 background:transparent !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption strong,
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption .dme-sponsor-meta{
 position:static !important;display:block !important;color:#fff !important;
 background:transparent !important;text-align:left !important;text-shadow:none !important;
 padding:0 !important;margin:0 !important;border:0 !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption strong{
 font-size:15px !important;line-height:1.3 !important;font-weight:800 !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption .dme-sponsor-meta{
 margin-top:5px !important;font-size:12px !important;line-height:1.35 !important;
 color:#c9d9ea !important;
}
.dme-sponsors-grid .dme-v177-partner-card:hover{
 transform:none !important;background:transparent !important;
}
.dme-sponsors-grid a.dme-v177-partner-card:hover .dme-v182-partner-visual{
 box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
}

/* V183 : centrer uniquement les textes sous les cartes partenaires */
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption { text-align:center !important; }
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption strong,
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-caption .dme-sponsor-meta { text-align:center !important; }

/* V184 — cartes partenaires compactes à la largeur des cartes Fabricants.
   La photo conserve son ratio 4/3 ; textes, ordre et liens sont inchangés. */
@media (min-width: 1181px) {
  .dme-sponsors-section .dme-sponsors-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
@media (min-width: 701px) and (max-width: 1180px) {
  .dme-sponsors-section .dme-sponsors-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
@media (min-width: 481px) and (max-width: 700px) {
  .dme-sponsors-section .dme-sponsors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (max-width: 480px) {
  .dme-sponsors-section .dme-sponsors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}


/* V186 — restauration de l'effet de survol sur les cartes partenaires */
.dme-sponsors-grid .dme-v177-partner-card{
  transition: transform .18s ease, opacity .18s ease;
}
.dme-sponsors-grid a.dme-v177-partner-card:hover,
.dme-sponsors-grid a.dme-v177-partner-card:focus-visible{
  transform: translateY(-4px) !important;
}
.dme-sponsors-grid a.dme-v177-partner-card:hover .dme-v182-partner-visual,
.dme-sponsors-grid a.dme-v177-partner-card:focus-visible .dme-v182-partner-visual{
  box-shadow: 0 14px 28px rgba(0,0,0,.24) !important;
}
.dme-sponsors-grid a.dme-v177-partner-card:hover strong,
.dme-sponsors-grid a.dme-v177-partner-card:hover .dme-sponsor-meta,
.dme-sponsors-grid a.dme-v177-partner-card:focus-visible strong,
.dme-sponsors-grid a.dme-v177-partner-card:focus-visible .dme-sponsor-meta{
  opacity: .96;
}

/* V187 — zoom de la photo partenaire, identique à Nos réalisations. */
.dme-sponsors-grid a.dme-v177-partner-card:hover,
.dme-sponsors-grid a.dme-v177-partner-card:focus-visible {
  transform: none !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-visual {
  overflow: hidden !important;
}
.dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-visual .dme-v177-partner-logo {
  transition: transform .32s ease, filter .32s ease !important;
  transform-origin: center center;
}
.dme-sponsors-grid a.dme-v177-partner-card:hover .dme-v182-partner-visual .dme-v177-partner-logo,
.dme-sponsors-grid a.dme-v177-partner-card:focus-visible .dme-v182-partner-visual .dme-v177-partner-logo {
  transform: scale(1.075) !important;
  filter: brightness(1.09);
}
.dme-sponsors-grid a.dme-v177-partner-card:hover .dme-v182-partner-visual,
.dme-sponsors-grid a.dme-v177-partner-card:focus-visible .dme-v182-partner-visual {
  box-shadow: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .dme-sponsors-grid .dme-v177-partner-card .dme-v182-partner-visual .dme-v177-partner-logo {transition: none !important;}
}


/* V188 — logos de réseaux en grande vignette comme les cartes partenaires.
   Les liens existants et les intitulés ne changent pas. */
.dme-social-grid .dme-social-card {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  overflow:visible !important;
}
.dme-social-grid .dme-social-card:not(.is-disabled):hover,
.dme-social-grid .dme-social-card:not(.is-disabled):focus-visible {
  transform:none !important;
  background:transparent !important;
}
.dme-social-grid .dme-v188-social-visual {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  border-radius:13px;
  background:#fff;
  border:1px solid rgba(255,255,255,.17);
  transition:box-shadow .25s ease;
}
.dme-social-grid .dme-social-facebook .dme-v188-social-visual {background:#1877f2;}
.dme-social-grid .dme-social-instagram .dme-v188-social-visual {background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);}
.dme-social-grid .dme-social-linkedin .dme-v188-social-visual {background:#0a66c2;}
.dme-social-grid .dme-social-google .dme-v188-social-visual {background:#fff;}
.dme-social-grid .dme-v188-social-visual .dme-social-icon {
  width:76% !important;
  height:76% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  display:grid !important;
  place-items:center !important;
}
.dme-social-grid .dme-v188-social-visual .dme-social-icon svg {
  width:100% !important;
  height:100% !important;
  display:block;
  transition:transform .3s ease;
}
.dme-social-grid a.dme-social-card:hover .dme-v188-social-visual .dme-social-icon svg,
.dme-social-grid a.dme-social-card:focus-visible .dme-v188-social-visual .dme-social-icon svg {transform:scale(1.07);}
.dme-social-grid .dme-v188-social-caption {
  display:block;
  padding:10px 2px 0;
  text-align:center;
}
.dme-social-grid .dme-v188-social-caption strong {
  font-size:15px;
  line-height:1.35;
  color:#fff;
}
.dme-social-grid .dme-v188-social-caption .dme-social-text {
  display:block;
  margin-top:5px;
  padding:0;
  color:#dce8f5;
  font-size:12px;
  line-height:1.35;
}
.dme-social-grid .dme-social-arrow {display:none !important;}
.dme-social-grid a.dme-social-card:hover .dme-v188-social-visual,
.dme-social-grid a.dme-social-card:focus-visible .dme-v188-social-visual {
 box-shadow:0 12px 28px rgba(0,0,0,.22);
}
@media(max-width:620px) {
  .dme-social-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(prefers-reduced-motion:reduce) {
 .dme-social-grid .dme-v188-social-visual .dme-social-icon svg {transition:none;}
}

/* V189 — médias personnalisés des cartes réseaux, présentation V188 conservée. */
.dme-social-grid .dme-v188-social-visual.dme-v189-has-image{background:transparent !important;}
.dme-social-grid .dme-v189-custom-logo{width:100% !important;height:100% !important;display:block !important;object-fit:cover !important;object-position:center !important;border:0 !important;margin:0 !important;transition:transform .3s ease;}
.dme-social-grid a.dme-social-card:hover .dme-v189-custom-logo,.dme-social-grid a.dme-social-card:focus-visible .dme-v189-custom-logo{transform:scale(1.07);}
@media(prefers-reduced-motion:reduce){.dme-social-grid .dme-v189-custom-logo{transition:none;}}

/* V190 — cartes Réseaux de mêmes dimensions que cartes Partenaires V184. */
@media (min-width:1181px){.dme-social-section .dme-social-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:16px !important;}}
@media (min-width:701px) and (max-width:1180px){.dme-social-section .dme-social-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px !important;}}
@media (min-width:481px) and (max-width:700px){.dme-social-section .dme-social-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;}}
@media (max-width:480px){.dme-social-section .dme-social-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}}

/* V191 : centrer les cartes Réseaux, sans changer leur largeur V190. */
.dme-social-section .dme-social-grid {
 display:flex !important;
 flex-wrap:wrap !important;
 justify-content:center !important;
 align-items:flex-start !important;
 gap:16px !important;
}
.dme-social-section .dme-social-grid > .dme-social-card {
 flex:0 0 calc((100% - 64px) / 5) !important;
 width:calc((100% - 64px) / 5) !important;
 min-width:0 !important;
}
@media(min-width:701px) and (max-width:1180px){
 .dme-social-section .dme-social-grid > .dme-social-card {
  flex-basis:calc((100% - 32px) / 3) !important;
  width:calc((100% - 32px) / 3) !important;
 }
}
@media(min-width:481px) and (max-width:700px){
 .dme-social-section .dme-social-grid{gap:14px !important;}
 .dme-social-section .dme-social-grid > .dme-social-card {
  flex-basis:calc((100% - 14px) / 2) !important;
  width:calc((100% - 14px) / 2) !important;
 }
}
@media(max-width:480px){
 .dme-social-section .dme-social-grid{gap:10px !important;}
 .dme-social-section .dme-social-grid > .dme-social-card {
  flex-basis:calc((100% - 10px) / 2) !important;
  width:calc((100% - 10px) / 2) !important;
 }
}

/* V192 – Zoom discret sur photos et aperçus vidéos des pages Services. */
.dme-v159-service-gallery-bar .dme-v159-service-gallery-thumb{
  position:relative;
  overflow:hidden;
  transition:box-shadow .26s ease,border-color .26s ease;
}
.dme-v159-service-gallery-bar .dme-v159-service-gallery-thumb img{
  transition:transform .3s ease;
}
.dme-v159-service-gallery-bar a.dme-v192-photo-link{cursor:zoom-in;text-decoration:none;}
.dme-v159-service-gallery-bar a.dme-v192-photo-link:hover img,
.dme-v159-service-gallery-bar a.dme-v192-photo-link:focus-visible img{transform:scale(1.075);}
.dme-v159-service-gallery-bar .dme-v159-service-gallery-thumb:hover{
  box-shadow:0 14px 28px rgba(6,38,80,.20);
  border-color:rgba(24,140,240,.7);
}
/* Vidéos : seul le contour réagit, sans zoomer les commandes du lecteur. */
.dme-v159-service-gallery-bar .dme-v162-video{transition:box-shadow .26s ease,border-color .26s ease;}
.dme-v192-lightbox[hidden]{display:none!important;}
.dme-v192-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(2,15,34,.94);padding:56px 22px;}
.dme-v192-lightbox-image{display:block;max-width:min(1200px,96vw);max-height:calc(100vh - 112px);width:auto;height:auto;object-fit:contain;box-shadow:0 12px 42px rgba(0,0,0,.5);}
.dme-v192-lightbox button{border:0;background:rgba(255,255,255,.15);color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;font-size:29px;line-height:1;}
.dme-v192-lightbox-close{position:absolute;top:15px;right:18px;}
.dme-v192-lightbox button:focus-visible{outline:3px solid #ffc400;outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.dme-v159-service-gallery-bar .dme-v159-service-gallery-thumb img,.dme-v159-service-gallery-bar .dme-v159-service-gallery-thumb{transition:none;}}

/* V193 — zoom de la miniature vidéo au survol, sans agrandir les commandes. */
.dme-v159-service-gallery-bar .dme-v167-video .dme-v167-cover {
  background-size: 0 0 !important;
  overflow: hidden;
  isolation: isolate;
}
.dme-v159-service-gallery-bar .dme-v167-video .dme-v167-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: inherit;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform .30s ease;
  pointer-events: none;
}
.dme-v159-service-gallery-bar .dme-v167-video .dme-v167-cover:hover::before,
.dme-v159-service-gallery-bar .dme-v167-video .dme-v167-cover:focus-visible::before {
  transform: scale(1.075);
}
.dme-v159-service-gallery-bar .dme-v167-video .dme-v167-cover > span {
  position: relative;
  z-index: 1;
}
@media (prefers-reduced-motion: reduce) {
  .dme-v159-service-gallery-bar .dme-v167-video .dme-v167-cover::before {transition:none;}
}

/* V196 : même logo rond sur la page détaillée Courants faibles uniquement. */
.dme-v196-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:36px;align-items:center}
.dme-v196-service-logo{display:block;justify-self:center;width:190px;height:190px;max-width:100%;object-fit:contain;border-radius:50%}
@media(max-width:650px){.dme-v196-hero-layout{grid-template-columns:1fr;gap:20px}.dme-v196-service-logo{width:135px;height:135px;margin:0 auto}}


/* V198 — correction mobile de la page Services */
.services-page-grid{min-width:0;}
.service-page-card{min-width:0;}
.service-page-card > div{min-width:0;flex:1 1 auto;}
.service-page-card h2,.service-page-card p,.service-page-card strong{max-width:100%;}
@media(max-width:620px){
  .service-page-card{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
    padding:22px;
  }
  .service-page-card img,
  .service-page-symbol{
    flex:0 0 auto;
    width:82px;
    height:82px;
  }
  .service-page-card h2{
    font-size:19px;
    line-height:1.08;
    margin:0 0 10px;
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .service-page-card p{
    font-size:15px;
    line-height:1.48;
    margin:0 0 12px;
    overflow-wrap:anywhere;
  }
  .service-page-card strong{
    display:inline-block;
  }
}

/* V199 — mise en forme des pages juridiques et liens discrets. */
.dme-v199-legal-content{max-width:1000px;line-height:1.75}
.dme-v199-legal-content h2{color:var(--navy);font-size:clamp(21px,2.5vw,28px);margin:30px 0 10px}
.dme-v199-legal-content p{margin:0 0 15px;overflow-wrap:anywhere}
.dme-v199-legal-content a,.dme-v199-contact-info a{color:#087ccb;text-decoration:underline;text-underline-offset:3px}
.dme-v199-contact-info{font-size:13px;line-height:1.5;color:#5b6b80;margin:0}
.site-footer .footer-links{flex-wrap:wrap;align-items:center;row-gap:8px}
@media(max-width:650px){.dme-v199-legal .page-section{padding:32px 0}}

/* V201 : image optionnelle dans les cartes Normes ; conserve le style d'origine. */
.dme-normes-v133 .dme-normes-icon{display:block;min-height:42px;}
.dme-normes-v133 .dme-v201-norme-img{width:48px;height:42px;max-width:100%;object-fit:contain;object-position:left center;}
.dme-normes-v133 .dme-v201-no-link{cursor:default;}
.dme-normes-v133 .dme-v201-no-link:hover{transform:none;box-shadow:0 8px 24px rgba(16,50,78,.06);border-color:#dfe8f2;}


/* V202 - logos plus grands dans la section Normes & Réglementations */
.dme-normes-card .dme-normes-icon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:54px;
  margin-bottom:8px;
}
.dme-normes-card .dme-v201-norme-img{
  display:block;
  width:auto;
  height:48px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
@media (min-width:1200px){
  .dme-normes-v133 .dme-normes-card .dme-normes-icon{min-height:46px;margin-bottom:6px;}
  .dme-normes-v133 .dme-normes-card .dme-v201-norme-img{height:40px;}
}
@media (max-width:600px){
  .dme-normes-card .dme-normes-icon{min-height:50px;}
  .dme-normes-card .dme-v201-norme-img{height:44px;}
}


/* V203 - logos centrés dans les cartes Normes */
.dme-normes-card .dme-normes-icon{
  justify-content:center;
}
.dme-normes-card .dme-v201-norme-img{
  margin-left:auto;
  margin-right:auto;
  object-position:center center;
}

/* V205 : Halloween festif et léger, uniquement dans le bandeau de l'accueil. */
.dme-v205-halloween{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#061b37 0%,#123d66 42%,#632a31 75%,#9a4d19 100%);color:#fff;border-bottom:3px solid #ffc400}
.dme-v205-halloween::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 21% 60%,rgba(255,177,43,.17),transparent 35%),radial-gradient(circle at 86% 20%,rgba(255,130,20,.25),transparent 35%)}
.dme-v205-halloween-inner{min-height:85px;position:relative;display:flex;align-items:center;justify-content:center;gap:25px;padding-top:12px;padding-bottom:12px}
.dme-v205-halloween-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px}
.dme-v205-halloween-small{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#ffdba2;font-weight:800}
.dme-v205-halloween-title strong{font-size:clamp(19px,2.2vw,30px);line-height:1.22;letter-spacing:.01em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.dme-v205-pumpkin{font-size:36px;line-height:1;display:inline-block;filter:drop-shadow(0 2px 8px rgba(255,150,0,.42));animation:dmeV205Pumpkin 3.2s ease-in-out infinite}
.dme-v205-pumpkin-last{animation-delay:-1.6s}
.dme-v205-bats{display:flex;align-items:center;gap:6px;font-size:22px;position:absolute;top:7px;pointer-events:none}
.dme-v205-bats-left{left:4%}
.dme-v205-bats-right{right:4%}
.dme-v205-bats span{display:inline-block;animation:dmeV205Bat 3.4s ease-in-out infinite}
.dme-v205-bats span:first-child{font-size:19px;animation-delay:-.6s}
.dme-v205-bats span:last-child{font-size:13px;animation-delay:-1.7s}
@keyframes dmeV205Pumpkin{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-5px)}}
@keyframes dmeV205Bat{0%,100%{transform:translateY(2px) rotate(-7deg)}50%{transform:translateY(-7px) rotate(8deg)}}
@media(max-width:650px){.dme-v205-halloween-inner{min-height:73px;gap:11px;padding:11px 0}.dme-v205-pumpkin{font-size:24px}.dme-v205-halloween-small{font-size:9px;letter-spacing:.12em}.dme-v205-halloween-title strong{font-size:18px}.dme-v205-bats{top:2px;font-size:12px;gap:2px}.dme-v205-bats-left{left:0}.dme-v205-bats-right{right:0}}
@media(prefers-reduced-motion:reduce){.dme-v205-pumpkin,.dme-v205-bats span{animation:none}}

/* V208 : affichage du titre Halloween sans sous-titre */
.dme-v205-halloween-title strong{font-family:'Creepster','Papyrus',fantasy;font-size:clamp(28px,3.5vw,46px);font-weight:400;letter-spacing:.055em;line-height:1.14;color:#ffd394;text-shadow:1px 2px 0 #6d2b17,0 5px 16px rgba(0,0,0,.45)}
@media(max-width:650px){.dme-v205-halloween-title strong{font-size:clamp(24px,5.6vw,32px);line-height:1.18;letter-spacing:.015em}}


/* V209 — animation du titre Halloween */
.dme-v205-halloween-title strong{
  display:inline-block;
  animation:dmeV209HalloweenTitle 3.2s ease-in-out infinite;
  transform-origin:center;
}
@keyframes dmeV209HalloweenTitle{
  0%,100%{transform:translateY(0) rotate(-1deg);text-shadow:0 2px 12px rgba(0,0,0,.35),0 0 0 rgba(255,153,0,0)}
  20%{transform:translateY(-2px) rotate(1deg);text-shadow:0 2px 12px rgba(0,0,0,.35),0 0 10px rgba(255,145,0,.18)}
  50%{transform:translateY(-4px) rotate(-1.5deg);text-shadow:0 2px 14px rgba(0,0,0,.38),0 0 18px rgba(255,145,0,.3)}
  75%{transform:translateY(-1px) rotate(1.2deg);text-shadow:0 2px 12px rgba(0,0,0,.35),0 0 12px rgba(255,145,0,.22)}
}
@media (prefers-reduced-motion: reduce){
  .dme-v205-halloween-title strong{animation:none;}
}

/* V210 — ponctuation liée au dernier mot et titre mobile légèrement ajusté */
@media(max-width:650px){
 .dme-v205-halloween-title strong{font-size:clamp(20px,5.1vw,29px);letter-spacing:0;max-width:100%;}
 .dme-v205-halloween-inner{gap:8px;}
 .dme-v205-pumpkin{flex-shrink:0;}
}


/* V211 — Noël : activation PHP uniquement en décembre ; aucun effet sur Halloween. */
.dme-v211-noel{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(110deg,#051b34 0%,#0e3155 48%,#124a58 100%);border-bottom:3px solid #d6b564}
.dme-v211-noel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 75%,rgba(251,216,139,.15),transparent 33%),radial-gradient(circle at 84% 24%,rgba(171,224,235,.15),transparent 35%);pointer-events:none}
.dme-v211-inner{position:relative;z-index:2;min-height:112px;padding:25px 10px 13px;display:flex;align-items:center;justify-content:center;gap:26px}
.dme-v211-tree{font-size:37px;line-height:1;filter:drop-shadow(0 2px 8px rgba(255,204,97,.24));animation:dmeV211Tree 4.5s ease-in-out infinite;flex-shrink:0}
.dme-v211-tree:last-child{animation-delay:-2.25s}
.dme-v211-greeting{text-align:center;display:flex;flex-direction:column;gap:5px;align-items:center}
.dme-v211-overline{color:#e5d4ab;text-transform:uppercase;font-size:10px;letter-spacing:.2em;font-weight:700}
.dme-v211-greeting strong{font-family:Georgia,'Times New Roman',serif;color:#ffe6ae;font-size:clamp(25px,3.2vw,43px);line-height:1.13;font-weight:700;font-style:italic;letter-spacing:.015em;text-shadow:0 2px 12px rgba(0,0,0,.38),0 0 19px rgba(255,219,148,.25);animation:dmeV211Glow 4.5s ease-in-out infinite}
.dme-v211-lights{position:absolute;top:0;left:0;right:0;height:17px;display:flex;justify-content:space-around;align-items:flex-start;pointer-events:none;z-index:3}
.dme-v211-lights span{width:6px;height:10px;border-radius:60% 60% 70% 70%;background:#ffe1a3;box-shadow:0 0 9px 2px rgba(255,224,162,.55);animation:dmeV211Lights 2.6s ease-in-out infinite}
.dme-v211-lights span:nth-child(3n+1){background:#9fdaeb;box-shadow:0 0 9px 2px rgba(159,218,235,.55);animation-delay:-.6s}
.dme-v211-lights span:nth-child(3n+2){background:#ffca86;animation-delay:-1.4s}
.dme-v211-lights span:nth-child(4n){animation-delay:-2.1s}
.dme-v211-snowfall{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.dme-v211-snowfall span{position:absolute;top:-20px;color:#ecf9ff;font-size:14px;opacity:.62;left:calc(var(--dme-snow-i) * 5%);animation:dmeV211Snow 6.5s linear infinite;animation-delay:calc(var(--dme-snow-i) * -.31s)}
.dme-v211-snowfall span:nth-child(20n+1){--dme-snow-i:1}.dme-v211-snowfall span:nth-child(20n+2){--dme-snow-i:2}.dme-v211-snowfall span:nth-child(20n+3){--dme-snow-i:3}.dme-v211-snowfall span:nth-child(20n+4){--dme-snow-i:4}.dme-v211-snowfall span:nth-child(20n+5){--dme-snow-i:5}.dme-v211-snowfall span:nth-child(20n+6){--dme-snow-i:6}.dme-v211-snowfall span:nth-child(20n+7){--dme-snow-i:7}.dme-v211-snowfall span:nth-child(20n+8){--dme-snow-i:8}.dme-v211-snowfall span:nth-child(20n+9){--dme-snow-i:9}.dme-v211-snowfall span:nth-child(20n+10){--dme-snow-i:10}.dme-v211-snowfall span:nth-child(20n+11){--dme-snow-i:11}.dme-v211-snowfall span:nth-child(20n+12){--dme-snow-i:12}.dme-v211-snowfall span:nth-child(20n+13){--dme-snow-i:13}.dme-v211-snowfall span:nth-child(20n+14){--dme-snow-i:14}.dme-v211-snowfall span:nth-child(20n+15){--dme-snow-i:15}.dme-v211-snowfall span:nth-child(20n+16){--dme-snow-i:16}.dme-v211-snowfall span:nth-child(20n+17){--dme-snow-i:17}.dme-v211-snowfall span:nth-child(20n+18){--dme-snow-i:18}.dme-v211-snowfall span:nth-child(20n+19){--dme-snow-i:19}.dme-v211-snowfall span:nth-child(20n+20){--dme-snow-i:20}
.dme-v211-snowfall span:nth-child(3n){font-size:10px;animation-duration:8s;opacity:.5}
.dme-v211-snowfall span:nth-child(4n){font-size:18px;animation-duration:5.5s}
.hero-v13-visual{position:relative}
.dme-v211-hero-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5;border-radius:inherit}
.dme-v211-hero-snow span{position:absolute;top:-10%;left:10%;font-size:17px;color:#f7fbff;text-shadow:0 0 5px #22527d;animation:dmeV211HeroSnow 9s linear infinite;opacity:.85}
.dme-v211-hero-snow span:nth-child(2){left:28%;font-size:12px;animation-delay:-2.1s;animation-duration:7s}
.dme-v211-hero-snow span:nth-child(3){left:42%;color:#ffe5a8;animation-delay:-4.7s;animation-duration:10s}
.dme-v211-hero-snow span:nth-child(4){left:57%;animation-delay:-1.6s;animation-duration:11s}
.dme-v211-hero-snow span:nth-child(5){left:75%;font-size:12px;animation-delay:-6s;animation-duration:8s}
.dme-v211-hero-snow span:nth-child(6){left:88%;color:#ffe5a8;animation-delay:-3.4s;animation-duration:9s}
.dme-v211-hero-snow span:nth-child(7){left:20%;font-size:11px;animation-delay:-7s;animation-duration:11s}
.dme-v211-hero-snow span:nth-child(8){left:66%;font-size:14px;animation-delay:-5.3s;animation-duration:7.5s}
@keyframes dmeV211Tree{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes dmeV211Glow{0%,100%{text-shadow:0 2px 12px rgba(0,0,0,.38),0 0 12px rgba(255,219,148,.16)}50%{text-shadow:0 2px 12px rgba(0,0,0,.38),0 0 22px rgba(255,219,148,.46)}}
@keyframes dmeV211Lights{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes dmeV211Snow{0%{transform:translate3d(0,-12px,0) rotate(0);opacity:0}15%{opacity:.65}85%{opacity:.65}100%{transform:translate3d(16px,150px,0) rotate(75deg);opacity:0}}
@keyframes dmeV211HeroSnow{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}12%{opacity:.8}80%{opacity:.8}100%{transform:translate3d(16px,520px,0) rotate(120deg);opacity:0}}
@media(max-width:650px){
.dme-v211-inner{min-height:90px;padding:23px 4px 12px;gap:10px}
.dme-v211-tree{font-size:24px}
.dme-v211-overline{font-size:8px;letter-spacing:.09em}
.dme-v211-greeting strong{font-size:clamp(20px,5.1vw,30px);white-space:nowrap;letter-spacing:0}
.dme-v211-lights span{width:5px;height:8px}
}
@media(prefers-reduced-motion:reduce){
.dme-v211-tree,.dme-v211-greeting strong,.dme-v211-lights span,.dme-v211-snowfall span,.dme-v211-hero-snow span{animation:none}
.dme-v211-snowfall,.dme-v211-hero-snow{display:none}
}

/* V216 : Nouvel An automatique du 1er au 31 janvier, sans modifier les fêtes précédentes. */
.dme-v216-new-year{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(110deg,#061a35 0%,#102f56 45%,#253962 100%);border-bottom:3px solid #efc46d}
.dme-v216-new-year::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 35%,rgba(249,192,90,.17),transparent 27%),radial-gradient(circle at 89% 66%,rgba(255,222,161,.14),transparent 28%)}
.dme-v216-new-year-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:25px;padding:15px 12px;min-height:116px}
.dme-v216-new-year-message{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.dme-v216-new-year-overline{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#f1d7a3}
.dme-v216-new-year-message strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3.2vw,43px);line-height:1.12;font-style:italic;color:#ffdf9c;text-shadow:0 0 14px rgba(255,195,90,.24);animation:dmeV216Glow 3.8s ease-in-out infinite}
.dme-v216-new-year-wish{font-size:13px;color:#f4f6fc;font-weight:500}
.dme-v216-firework{font-size:35px;line-height:1;filter:drop-shadow(0 0 9px rgba(246,192,89,.3));animation:dmeV216Float 4s ease-in-out infinite}
.dme-v216-firework-right{animation-delay:-2s}
.dme-v216-glimmers{position:absolute;inset:0;pointer-events:none;z-index:1}
.dme-v216-glimmers span{position:absolute;color:#ffd892;font-size:20px;opacity:.7;animation:dmeV216Spark 3s ease-in-out infinite}
.dme-v216-glimmers span:nth-child(1){left:6%;top:12%}
.dme-v216-glimmers span:nth-child(2){left:19%;bottom:10%;font-size:13px;animation-delay:-1.5s}
.dme-v216-glimmers span:nth-child(3){left:39%;top:7%;font-size:12px;animation-delay:-2s}
.dme-v216-glimmers span:nth-child(4){right:33%;bottom:12%;font-size:14px;animation-delay:-.8s}
.dme-v216-glimmers span:nth-child(5){right:15%;top:12%;animation-delay:-1.2s}
.dme-v216-glimmers span:nth-child(6){right:5%;bottom:17%;font-size:12px;animation-delay:-2.2s}
@keyframes dmeV216Glow{0%,100%{text-shadow:0 0 10px rgba(255,195,90,.12)}50%{text-shadow:0 0 22px rgba(255,195,90,.57)}}
@keyframes dmeV216Float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(4deg)}}
@keyframes dmeV216Spark{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
@media(max-width:650px){.dme-v216-new-year-inner{min-height:108px;gap:11px;padding:14px 4px}.dme-v216-firework{font-size:23px}.dme-v216-new-year-overline{font-size:8px;letter-spacing:.07em}.dme-v216-new-year-message strong{font-size:clamp(25px,6vw,32px);white-space:nowrap}.dme-v216-new-year-wish{font-size:10px;line-height:1.4;max-width:240px}.dme-v216-glimmers span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.dme-v216-new-year-message strong,.dme-v216-firework,.dme-v216-glimmers span{animation:none}}

/* V217 — Bandeau Nouvel An raffiné, photo V215 conservée, du 1er au 31 janvier */
.dme-v216-new-year{background:linear-gradient(108deg,#061831 0%,#103358 45%,#101f43 100%);border-bottom:3px solid #eabf6a}
.dme-v216-new-year-inner{min-height:118px;gap:16px;padding:22px 15px}
.dme-v216-new-year-message{max-width:min(850px,85vw);gap:5px}
.dme-v216-new-year-message strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(21px,2.5vw,35px);font-style:italic;font-weight:700;line-height:1.25;letter-spacing:.008em;color:#ffe3a7;white-space:normal;text-wrap:balance;text-shadow:0 1px 9px rgba(0,0,0,.35);animation:dmeV217GoldenGlow 4.3s ease-in-out infinite}
.dme-v216-new-year-overline{letter-spacing:.19em}
.dme-v217-bursts{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.dme-v217-bursts span{position:absolute;top:28%;left:12%;width:8px;height:8px;border-radius:100%;background:transparent;opacity:0;box-shadow:0 -17px 0 -1px #ffdf95,12px -12px 0 -1px #ffdf95,17px 0 0 -1px #ffdf95,12px 12px 0 -1px #ffdf95,0 17px 0 -1px #ffdf95,-12px 12px 0 -1px #ffdf95,-17px 0 0 -1px #ffdf95,-12px -12px 0 -1px #ffdf95;animation:dmeV217Fireworks 5s ease-out infinite}
.dme-v217-bursts span:nth-child(2){left:auto;right:13%;top:56%;animation-delay:1.25s;filter:hue-rotate(25deg)}
.dme-v217-bursts span:nth-child(3){left:25%;top:75%;animation-delay:2.6s;transform-origin:center;scale:.6;filter:hue-rotate(60deg)}
.dme-v217-bursts span:nth-child(4){left:auto;right:27%;top:17%;animation-delay:3.5s;scale:.58}
@keyframes dmeV217Fireworks{0%,16%,100%{opacity:0;transform:scale(.22)}23%{opacity:.84;transform:scale(.95)}32%{opacity:.45;transform:scale(1.27)}42%{opacity:0;transform:scale(1.45)}}
@keyframes dmeV217GoldenGlow{0%,100%{text-shadow:0 1px 9px rgba(0,0,0,.35),0 0 8px rgba(255,199,110,.1);transform:translateY(0)}50%{text-shadow:0 1px 9px rgba(0,0,0,.35),0 0 21px rgba(255,201,110,.47);transform:translateY(-2px)}}
@media(max-width:650px){.dme-v216-new-year-inner{min-height:120px;gap:7px;padding:17px 6px}.dme-v216-new-year-message{max-width:calc(100% - 46px)}.dme-v216-new-year-message strong{font-size:clamp(18px,4.6vw,24px);line-height:1.27;white-space:normal}.dme-v216-firework{font-size:22px}.dme-v217-bursts span:nth-child(3),.dme-v217-bursts span:nth-child(4){display:none}}
@media(prefers-reduced-motion:reduce){.dme-v216-new-year-message strong,.dme-v217-bursts span{animation:none}.dme-v217-bursts{display:none}}


/* V218 — Ajustement du bandeau Noël : titre élégant + scintillements */
.dme-v211-inner{min-height:118px;padding-top:28px;padding-bottom:16px}
.dme-v211-greeting{position:relative;z-index:2}
.dme-v211-overline{display:none}
.dme-v211-greeting strong{font-family:Georgia,'Times New Roman',serif;color:#fff0c2;font-size:clamp(24px,3vw,42px);line-height:1.16;font-weight:700;font-style:italic;letter-spacing:.012em;text-shadow:0 2px 14px rgba(0,0,0,.38),0 0 12px rgba(255,233,173,.30),0 0 24px rgba(255,220,130,.28);animation:dmeV218NoelTitle 4.3s ease-in-out infinite}
.dme-v211-sparkles{position:absolute;inset:22px 8% auto 8%;height:56px;pointer-events:none;z-index:3}
.dme-v211-sparkles span{position:absolute;display:inline-block;color:#ffe7a6;line-height:1;filter:drop-shadow(0 0 8px rgba(255,230,166,.45));animation:dmeV218Sparkle 2.8s ease-in-out infinite}
.dme-v211-sparkles span:nth-child(1){left:14%;top:8px;font-size:16px}
.dme-v211-sparkles span:nth-child(2){left:27%;top:24px;font-size:11px;animation-delay:-.7s}
.dme-v211-sparkles span:nth-child(3){right:29%;top:10px;font-size:15px;animation-delay:-1.2s}
.dme-v211-sparkles span:nth-child(4){right:16%;top:26px;font-size:11px;animation-delay:-1.8s}
.dme-v211-sparkles span:nth-child(5){left:50%;top:2px;font-size:13px;animation-delay:-2.2s}
.dme-v211-sparkles span:nth-child(6){left:58%;top:28px;font-size:10px;animation-delay:-2.6s}
@keyframes dmeV218NoelTitle{0%,100%{transform:translateY(0);text-shadow:0 2px 14px rgba(0,0,0,.38),0 0 12px rgba(255,233,173,.24),0 0 20px rgba(255,220,130,.20)}50%{transform:translateY(-2px);text-shadow:0 2px 14px rgba(0,0,0,.38),0 0 18px rgba(255,233,173,.4),0 0 30px rgba(255,220,130,.34)}}
@keyframes dmeV218Sparkle{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:650px){
  .dme-v211-inner{min-height:96px;padding-top:22px;padding-bottom:12px;gap:10px}
  .dme-v211-greeting strong{font-size:clamp(18px,5vw,26px);white-space:normal;max-width:260px}
  .dme-v211-sparkles{inset:14px 2% auto 2%;height:42px}
  .dme-v211-sparkles span:nth-child(1){left:8%}
  .dme-v211-sparkles span:nth-child(2){left:19%}
  .dme-v211-sparkles span:nth-child(3){right:21%}
  .dme-v211-sparkles span:nth-child(4){right:9%}
  .dme-v211-sparkles span:nth-child(5){left:47%}
  .dme-v211-sparkles span:nth-child(6){left:61%}
}
@media(prefers-reduced-motion:reduce){.dme-v211-greeting strong,.dme-v211-sparkles span{animation:none}}


/* V220 — animations au choix, seulement pour les trois titres festifs. */
.dme-v205-halloween-title strong.dme-v220-anim-none,
.dme-v211-greeting strong.dme-v220-anim-none,
.dme-v216-new-year-message strong.dme-v220-anim-none {animation:none!important;transform:none!important}
.dme-v205-halloween-title strong.dme-v220-anim-sparkle,
.dme-v211-greeting strong.dme-v220-anim-sparkle,
.dme-v216-new-year-message strong.dme-v220-anim-sparkle {animation:dmeV220Sparkle 2.7s ease-in-out infinite!important}
.dme-v205-halloween-title strong.dme-v220-anim-float,
.dme-v211-greeting strong.dme-v220-anim-float,
.dme-v216-new-year-message strong.dme-v220-anim-float {animation:dmeV220Float 3.7s ease-in-out infinite!important}
.dme-v205-halloween-title strong.dme-v220-anim-pulse,
.dme-v211-greeting strong.dme-v220-anim-pulse,
.dme-v216-new-year-message strong.dme-v220-anim-pulse {animation:dmeV220Pulse 3.2s ease-in-out infinite!important}
.dme-v205-halloween-title strong.dme-v220-anim-reveal,
.dme-v211-greeting strong.dme-v220-anim-reveal,
.dme-v216-new-year-message strong.dme-v220-anim-reveal {animation:dmeV220Reveal 6.5s ease-in-out infinite!important}
.dme-v205-halloween-title strong.dme-v220-anim-sway,
.dme-v211-greeting strong.dme-v220-anim-sway,
.dme-v216-new-year-message strong.dme-v220-anim-sway {animation:dmeV220Sway 3.4s ease-in-out infinite!important}
@keyframes dmeV220Sparkle {0%,100%{filter:brightness(1);text-shadow:0 2px 9px rgba(0,0,0,.32),0 0 5px rgba(255,216,136,.22)}50%{filter:brightness(1.3);text-shadow:0 2px 12px rgba(0,0,0,.32),0 0 15px rgba(255,216,136,.62),0 0 28px rgba(255,216,136,.42)}}
@keyframes dmeV220Float {0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes dmeV220Pulse {0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.035);filter:brightness(1.22)}}
@keyframes dmeV220Reveal {0%,7%{opacity:0;transform:translateY(9px)}20%,80%{opacity:1;transform:translateY(0)}95%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes dmeV220Sway {0%,100%{transform:rotate(-1.25deg)}50%{transform:rotate(1.25deg)}}
@media(prefers-reduced-motion:reduce){
.dme-v205-halloween-title strong[class*="dme-v220-anim-"],
.dme-v211-greeting strong[class*="dme-v220-anim-"],
.dme-v216-new-year-message strong[class*="dme-v220-anim-"]{animation:none!important;transform:none!important}
}

/* V240 automatique : forcer le titre Nouvel An sur une seule ligne */
.dme-v216-new-year-inner{flex-wrap:nowrap!important}
.dme-v216-new-year-message{max-width:none!important;flex:0 1 auto!important}
.dme-v216-new-year-message strong{white-space:nowrap!important;text-wrap:nowrap!important;font-size:clamp(18px,2.15vw,31px)!important;line-height:1.15!important}
@media(max-width:900px){.dme-v216-new-year-inner{gap:10px!important;padding:16px 8px!important}.dme-v216-firework{font-size:22px!important}.dme-v216-new-year-message strong{font-size:clamp(13px,3.0vw,19px)!important}}
@media(max-width:650px){.dme-v216-new-year-inner{min-height:96px!important;gap:6px!important;padding:12px 4px!important}.dme-v216-firework{font-size:16px!important}.dme-v216-new-year-message{max-width:none!important}.dme-v216-new-year-message strong{font-size:clamp(11px,2.9vw,15px)!important;white-space:nowrap!important;letter-spacing:0!important}}


/* V243 : lecteur video de la fiche service en plein ecran sur ordinateur.
   En vignette, le rendu conserve le recadrage cover existant.
   En plein ecran, afficher l'integralite de la video sans zoom ni rognage. */
@media screen and (min-width: 901px) {
  body .dme-v159-service-gallery-thumb video.dme-v164-video-preview:fullscreen,
  body .dme-v159-service-gallery-thumb video.dme-v164-video-preview:-webkit-full-screen {
    width: 100vw !important;
    height: 100vh !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    background: #000 !important;
  }
}

/* V244 : avis Google sous les trois cartes de Notre entreprise */
.dme244-google-reviews{margin-top:42px;padding:28px 22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);border-radius:18px;text-align:center}
.dme244-google-reviews h3{margin:8px 0 24px;color:inherit;font-size:clamp(23px,2.4vw,32px)}
.dme244-google-reviews-content{text-align:left}
@media(max-width:650px){.dme244-google-reviews{padding:22px 12px;margin-top:26px}}

/* V245 : lien vers les avis Google, sous le carrousel Trustindex */
.dme245-reviews-action{display:flex;justify-content:center;margin-top:24px}
.dme245-reviews-action a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 23px;border-radius:11px;background:#0b2854;color:#fff!important;border-bottom:3px solid #ffc400;text-decoration:none!important;font-weight:700;transition:background .2s ease,transform .2s ease}
.dme245-reviews-action a:hover,.dme245-reviews-action a:focus-visible{background:#16417c;transform:translateY(-2px)}
@media(max-width:650px){.dme245-reviews-action a{padding:12px 15px;font-size:14px;text-align:center}}
@media(prefers-reduced-motion:reduce){.dme245-reviews-action a{transition:none}}

/* V246 — bibliothèque pédagogique */
.dme246-ped{background:#f8fbff;color:#102d51;padding:58px 20px 80px}.dme246-wrap{max-width:1200px;margin:auto}.dme246-kicker{color:#174b7a;letter-spacing:2px;font-size:13px;font-weight:800}.dme246-ped h1{font-size:clamp(32px,4vw,49px);line-height:1.15;margin:12px 0 18px;color:#103357}.dme246-lead{font-size:18px;max-width:790px;line-height:1.7}.dme246-section{margin-top:55px}.dme246-section h2{border-left:5px solid #ffbe00;padding-left:14px;color:#12385f;margin-bottom:23px}.dme246-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dme246-card{display:block;overflow:hidden;background:white;border:1px solid #dbe6f2;border-radius:15px;text-decoration:none!important;color:#103357!important;box-shadow:0 7px 20px rgba(16,45,81,.06);transition:transform .2s,box-shadow .2s}.dme246-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(16,45,81,.13)}.dme246-thumb,.dme246-placeholder{display:block;width:100%;height:175px;object-fit:cover}.dme246-placeholder{background:#eaf2fa;display:flex;align-items:center;justify-content:center;font-size:64px}.dme246-cardbody{padding:21px}.dme246-card h3{font-size:20px;margin:0 0 10px}.dme246-card p{font-size:15px;line-height:1.6;color:#40566b}.dme246-card span{font-weight:700;color:#0b69a8}.dme246-safety{margin-top:48px;padding:18px 22px;background:#fff8e8;border-left:4px solid #ffbe00;border-radius:6px;line-height:1.6}.dme246-back{display:inline-block;margin-bottom:26px}.dme246-article{max-width:850px}.dme246-feature{width:100%;height:auto;border-radius:14px;margin:20px 0}.dme246-body{background:white;padding:25px;border-radius:14px;line-height:1.8}.dme246-body h2{margin-top:30px;color:#103357}@media(max-width:850px){.dme246-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.dme246-grid{grid-template-columns:1fr}.dme246-ped{padding:36px 15px 60px}.dme246-body{padding:18px}}@media(prefers-reduced-motion:reduce){.dme246-card{transition:none}}

/* V248 — Aperçu pédagogique sur fond blanc, en bas de l'accueil */
.dme248-ped-home{background:#fff!important;color:#173c70;padding:64px 0 70px;}
.dme248-ped-home .dme248-ped-heading{text-align:center;margin:0 auto 30px;max-width:790px;}
.dme248-ped-home .section-kicker{color:#173c70;}
.dme248-ped-home h2{color:#173c70;font-size:clamp(27px,3vw,38px);margin:10px 0 12px;}
.dme248-ped-home .dme248-ped-heading p{color:#536174;line-height:1.6;}
.dme248-ped-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.dme248-ped-card{display:flex;flex-direction:column;overflow:hidden;background:#f3f6fa;border:1px solid #e3eaf1;border-radius:15px;text-decoration:none!important;color:#173c70!important;transition:transform .2s,box-shadow .2s;}
.dme248-ped-card:hover,.dme248-ped-card:focus-visible{transform:translateY(-3px);box-shadow:0 10px 25px rgba(11,40,84,.13);}
.dme248-ped-thumb{width:100%;height:155px;object-fit:cover;display:block;}
.dme248-ped-icon{display:flex;align-items:center;justify-content:center;height:100px;font-size:38px;background:#e9eff6;}
.dme248-ped-body{display:flex;flex-direction:column;gap:10px;padding:19px 20px;flex:1;}
.dme248-ped-body strong{font-size:19px;color:#173c70;}
.dme248-ped-body>span{color:#56667a;font-size:14px;line-height:1.5;flex:1;}
.dme248-ped-body em{font-style:normal;color:#173c70;font-weight:700;font-size:14px;}
.dme248-ped-action{text-align:center;margin-top:30px;}
.dme248-ped-button{display:inline-block;padding:14px 24px;border-radius:9px;background:#173c70;color:#fff!important;border-bottom:3px solid #e7b52c;text-decoration:none!important;font-weight:700;}
.dme248-ped-button:hover,.dme248-ped-button:focus-visible{background:#27548b;}
@media(max-width:760px){.dme248-ped-grid{grid-template-columns:1fr;gap:14px;}.dme248-ped-home{padding:42px 0 48px;}.dme248-ped-icon{height:80px;}}
@media(prefers-reduced-motion:reduce){.dme248-ped-card{transition:none;}}

/* V249 - Pied de page bleu officiel DME */
.site-footer{background:#062650!important;color:#ffffff!important;border-top:0!important;}
.site-footer strong,.site-footer .footer-links,.site-footer .footer-links a{color:#ffffff!important;}
.site-footer .footer-inner p{color:#d6e2ef!important;}
.site-footer .footer-links a:hover{color:#ffd34f!important;}
.site-footer .footer-links a:focus-visible{outline:2px solid #ffd34f!important;outline-offset:3px;}

/* V250 : correction du pied de page et du texte legal */
html body footer.site-footer,
html body .site-footer {background-color:#062650!important;background-image:none!important;color:#fff!important;}
html body footer.site-footer .footer-inner,
html body footer.site-footer .footer-inner strong,
html body footer.site-footer .footer-inner .footer-links,
html body footer.site-footer .footer-inner .footer-links a {color:#fff!important;}
html body footer.site-footer .footer-inner p,
html body footer.site-footer .footer-inner .dme-footer-legal-v122 {color:#d6e2ef!important;}

/* V252 : decalage discret des intitules du menu sur ordinateur uniquement */
@media (min-width: 901px) { .main-nav ul { transform: translateX(40px); } }

/* V255 - grille fluide : 3 cartes au maximum par ligne, derniere ligne centree */
.dme248-ped-home .dme248-ped-grid{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:22px}
.dme248-ped-home .dme248-ped-card{box-sizing:border-box;flex:0 1 calc((100% - 44px)/3);min-width:0}
@media(max-width:900px){.dme248-ped-home .dme248-ped-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:600px){.dme248-ped-home .dme248-ped-card{flex-basis:100%;max-width:480px}}

/* V256 - Logos ronds sur les fiches, independants des illustrations de contenu */
.dme248-ped-home .dme248-ped-card{align-items:center;text-align:center;background:#fff;}
.dme256-logo-wrap{display:flex;align-items:center;justify-content:center;padding:18px 12px 4px;width:100%;box-sizing:border-box;}
.dme256-round-logo{width:108px!important;height:108px!important;max-width:108px!important;object-fit:cover!important;border-radius:50%!important;display:flex;align-items:center;justify-content:center;background:#0c2c58;color:#ffd044;font-size:42px;overflow:hidden;}
.dme248-ped-home .dme248-ped-body{align-items:center;text-align:center;width:100%;box-sizing:border-box;}
.dme248-ped-home .dme248-ped-body em{background:#062650;color:#fff!important;border-radius:8px;padding:9px 16px;margin-top:4px;}
.dme246-card .dme256-logo-wrap{width:100%;padding:18px 10px 4px;}
.dme246-card .dme256-round-logo{width:100px!important;height:100px!important;max-width:100px!important;}
.dme256-resource{margin:24px 0;}
.dme256-resource-link{display:inline-block;background:#062650;color:white!important;padding:12px 18px;border-radius:8px;text-decoration:none!important;}
.dme256-video{position:relative;max-width:850px;}
.dme256-video iframe{max-width:100%;aspect-ratio:16/9;height:auto;width:100%;border:0;}

/* V257 - Page d'accueil : jusqu'a cinq fiches par ligne, derniere ligne centree */
@media (min-width:1201px) {
  .dme248-ped-home .dme248-ped-grid {display:flex!important;flex-wrap:wrap;justify-content:center;gap:22px;}
  .dme248-ped-home .dme248-ped-card {flex:0 1 calc((100% - 88px) / 5);max-width:calc((100% - 88px) / 5);min-width:0;}
}
@media (min-width:901px) and (max-width:1200px) {
  .dme248-ped-home .dme248-ped-card {flex:0 1 calc((100% - 44px) / 3);max-width:calc((100% - 44px) / 3);}
}
@media (min-width:601px) and (max-width:900px) {
  .dme248-ped-home .dme248-ped-card {flex:0 1 calc((100% - 22px) / 2);max-width:calc((100% - 22px) / 2);}
}
@media (max-width:600px) {
  .dme248-ped-home .dme248-ped-card {flex:0 1 100%;max-width:480px;}
}

/* V217 : confirmation visible après envoi réussi du formulaire de contact. */
.dme-contact-confirmation{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;margin-bottom:22px;border:1px solid #98d6a9;border-left:5px solid #27864a;border-radius:12px;box-shadow:0 5px 16px rgba(15,75,40,.08)}
.dme-contact-confirmation-icon{display:inline-flex;justify-content:center;align-items:center;flex:none;width:35px;height:35px;border-radius:50%;background:#27864a;color:#fff;font-size:23px;font-weight:700;line-height:1}
.dme-contact-confirmation strong{display:block;margin:2px 0 8px;font-size:1.15em}
.dme-contact-confirmation p{margin:0 0 6px;line-height:1.5}
.dme-contact-confirmation .dme-contact-confirmation-signature{margin:8px 0 0;font-weight:700}

/* V218: visibility of form submit feedback after redirect */
#dme-form-feedback{display:block;position:relative;scroll-margin-top:110px;height:1px;}
