/* =========================================================================
   SM+ — Elementor companion stylesheet
   Add via Elementor → Site Settings → Custom CSS, or a code-snippet plugin.
   Pairs with the imported "SMPlus — Accueil" template (CSS classes prefixed smp-).
   ========================================================================= */

/* ---- Brand fonts (remove if already loaded in the theme) ---- */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --smp-navy:#052C56; --smp-navy9:#031A36; --smp-gold:#C79015; --smp-gold3:#E4BC53;
  --smp-paper:#FBF8F1; --smp-ivory:#F3ECDD; --smp-line:#E4DDCD; --smp-steel:#3A4252;
  --smp-goldbar:linear-gradient(90deg,#e4bc53 0%,#b77917 25%,#fffbdd 50%,#f6d87a 75%,#c79015 100%);
}

/* generous default section rhythm */
.smp-besoins, .smp-services, .smp-clients, .smp-diff,
.smp-method, .smp-realis, .smp-team, .smp-articles{ }

/* ---------- eyebrow ---------- */
.smp-eyebrow .elementor-heading-title{
  display:inline-flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.28em;
}
.smp-eyebrow .elementor-heading-title::before{
  content:"";width:28px;height:2px;background:var(--smp-gold);display:inline-block;
}
.smp-center{align-items:center;text-align:center;}
.smp-center .elementor-heading-title,.smp-center .elementor-widget-container{text-align:center;}

/* ---------- atelier grid background ---------- */
.smp-gridbg{position:relative;overflow:hidden;}
.smp-gridbg::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 70% 30%,#000,transparent 75%);
          mask-image:radial-gradient(ellipse 90% 80% at 70% 30%,#000,transparent 75%);
}
.smp-gridbg > .e-con-inner,.smp-gridbg > .elementor-container{position:relative;z-index:1;}

/* ---------- gold bar ---------- */
.smp-goldbar{background:var(--smp-goldbar)!important;border-radius:2px;min-height:5px;}
.smp-goldbar-c{margin-left:auto;margin-right:auto;}

/* ---------- buttons ---------- */
.smp-btn .elementor-button{transition:transform .4s cubic-bezier(.22,.61,.36,1),background .3s,color .3s,box-shadow .3s;letter-spacing:.04em;}
.smp-btn-gold .elementor-button:hover{background:#b77917!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(199,144,21,.7);}
.smp-btn-navy .elementor-button:hover{background:#031A36!important;transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(5,44,86,.6);}
.smp-btn-ghost .elementor-button{background:transparent!important;color:var(--smp-navy)!important;border:1.5px solid #cfc6b2;}
.smp-btn-ghost .elementor-button:hover{background:var(--smp-navy)!important;color:#fff!important;border-color:var(--smp-navy);}
.smp-btn-ghost-light .elementor-button{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.35);}
.smp-btn-ghost-light .elementor-button:hover{background:#fff!important;color:var(--smp-navy)!important;}
.smp-btn .elementor-button-icon{transition:transform .4s cubic-bezier(.22,.61,.36,1);}
.smp-btn .elementor-button:hover .elementor-button-icon{transform:translateX(4px);}

/* arrow text-link buttons */
.smp-arrow .elementor-button{background:transparent!important;color:#B77917!important;padding:0!important;font-size:13px!important;text-transform:uppercase;letter-spacing:.04em;}
.smp-arrow.smp-arrow-light .elementor-button{color:var(--smp-gold3)!important;}
.smp-arrow .elementor-button:hover .elementor-button-icon{transform:translateX(5px);}

/* ---------- hero ---------- */
.smp-hero .e-con-inner{padding-bottom:0;}
.smp-hero-row{align-items:flex-end;padding-bottom:60px;}
.smp-hero-h1 .elementor-heading-title{line-height:1.0;}
.smp-badges{border-left:2px solid var(--smp-gold);padding-left:24px;gap:0;}
.smp-badge{padding:14px 0;gap:2px;}
.smp-badge-n .elementor-heading-title{line-height:1;letter-spacing:-.02em;}

/* hero ticker */
.smp-ticker{width:100%;background:var(--smp-gold);overflow:hidden;border-top:1px solid rgba(0,0,0,.08);}
.smp-ticker-track .elementor-widget-container{white-space:nowrap;padding:14px 0;color:#1a1003;font-family:"DM Sans",sans-serif;font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;}
.smp-ticker-track p{margin:0;display:inline-block;padding-right:40px;animation:smp-tick 34s linear infinite;}
@keyframes smp-tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- card grids (flexbox) ---------- */
.smp-row{align-items:stretch;}
.smp-row-4 > .e-con{flex:1 1 calc(25% - 15px);}
.smp-row-3 > .e-con{flex:1 1 calc(33.333% - 14px);}
.smp-row-2 > .e-con{flex:1 1 calc(50% - 12px);}
.smp-head-split{align-items:flex-end;}

/* generic card */
.smp-card{background:#fff;border:1px solid var(--smp-line);padding:30px 28px;transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s,border-color .45s;}
.smp-card:hover{transform:translateY(-6px);box-shadow:0 28px 54px -30px rgba(5,44,86,.42);border-color:var(--smp-gold3);}

/* besoin / diff icon-box */
.smp-besoin{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);}
.smp-ib .elementor-icon-box-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--smp-navy);margin-bottom:20px;transition:background .4s;}
.smp-besoin:hover .smp-ib .elementor-icon-box-icon,
.smp-svc:hover .smp-ib .elementor-icon-box-icon{background:var(--smp-gold);}
.smp-ib .elementor-icon-box-icon i{color:var(--smp-gold3);transition:color .4s;}
.smp-besoin:hover .smp-ib .elementor-icon-box-icon i,
.smp-svc:hover .smp-ib .elementor-icon-box-icon i{color:#fff;}
.smp-ib .elementor-icon-box-title{margin-bottom:10px;}

/* services */
.smp-svc{position:relative;overflow:hidden;}
.smp-svc::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--smp-goldbar);transition:width .5s cubic-bezier(.22,.61,.36,1);}
.smp-svc:hover::after{width:100%;}
.smp-svc-feature{background:var(--smp-navy)!important;border-color:#0a3d6e!important;}
.smp-svc-feature .smp-ib .elementor-icon-box-icon{background:var(--smp-gold);}
.smp-svc-feature .smp-ib .elementor-icon-box-icon i{color:#fff;}
.smp-svc-cta{justify-content:center;margin-top:46px;}

/* clients */
.smp-client{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important;border:1px solid rgba(255,255,255,.12)!important;padding:44px 42px!important;}
.smp-client:hover{border-color:var(--smp-gold)!important;background:linear-gradient(180deg,rgba(199,144,21,.1),rgba(255,255,255,.02))!important;}
.smp-ib-client .elementor-icon-box-icon{width:64px;height:64px;background:var(--smp-gold);margin-bottom:24px;}
.smp-ib-client .elementor-icon-box-icon i{color:#fff;font-size:30px;}
.smp-ib-client .elementor-icon-box-title{font-size:30px!important;}
.smp-client .elementor-icon-list-icon i{color:var(--smp-gold3)!important;}

/* stats */
.smp-stats-row{align-items:flex-start;}
.smp-stat{align-items:center;text-align:center;position:relative;}
.smp-stat .elementor-counter-number-wrapper{font-family:"DM Serif Display",serif!important;color:#1a1003;font-weight:400;letter-spacing:-.02em;}
.smp-stat .elementor-counter-title{font-family:"DM Sans",sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;color:#4a3208;margin-top:8px;}
.smp-stat-h .elementor-heading-title{text-align:center;line-height:1;}

/* difference */
.smp-diffcard{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.1)!important;padding:34px 30px!important;}
.smp-diffcard:hover{background:rgba(199,144,21,.1)!important;border-color:var(--smp-gold)!important;}
.smp-diffcard .smp-ib .elementor-icon-box-icon{width:56px;height:56px;background:var(--smp-gold);}
.smp-diffcard .smp-ib .elementor-icon-box-icon i{color:#fff;}

/* method steps */
.smp-steps > .e-con{flex:1 1 calc(25% - 15px);border-right:1px solid var(--smp-line);}
.smp-steps{border-top:2px solid var(--smp-navy);}
.smp-step{padding:34px 30px;position:relative;transition:background .4s;}
.smp-step:hover{background:#fff;}
.smp-step::before{content:"";position:absolute;top:-7px;left:30px;width:12px;height:12px;background:var(--smp-gold);border-radius:50%;}
.smp-step-n .elementor-heading-title{font-family:"DM Serif Display",serif;color:transparent;-webkit-text-stroke:1.5px var(--smp-gold);line-height:.9;transition:.4s;}
.smp-step:hover .smp-step-n .elementor-heading-title{color:var(--smp-gold);}

/* gallery */
.smp-gallery{display:grid!important;grid-template-columns:repeat(6,1fr);grid-auto-rows:200px;gap:14px;}
.smp-gallery > .e-con{flex:none;}
.smp-cell{position:relative;overflow:hidden;background:var(--smp-navy);padding:0!important;}
.smp-cell-big{grid-column:span 2;grid-row:span 2;}
.smp-cell-tall{grid-row:span 2;}
.smp-cell-wide{grid-column:span 2;}
.smp-cell .smp-cell-img,.smp-cell .elementor-widget-image,.smp-cell .elementor-image,.smp-cell img{width:100%;height:100%;object-fit:cover;}
.smp-cell-img{height:100%;}

/* urgency */
.smp-urgency{position:relative;overflow:hidden;}
.smp-urgency-row{align-items:center;}
.smp-urgency-cta{justify-content:flex-end;align-items:center;}

/* team */
.smp-member{background:#fff;border:1px solid var(--smp-line);padding:34px;align-items:center;transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s;}
.smp-member:hover{transform:translateY(-5px);box-shadow:0 28px 56px -32px rgba(5,44,86,.4);}
.smp-member-img img,.smp-member-photo .elementor-image{width:200px;height:240px;object-fit:cover;}
.smp-member-role .elementor-heading-title{letter-spacing:.18em;text-transform:uppercase;}

/* articles */
.smp-article{overflow:hidden;padding:0!important;display:flex;flex-direction:column;}
.smp-article .smp-article-img img{width:100%;height:200px;object-fit:cover;}
.smp-article-body{padding:26px;display:flex;flex-direction:column;gap:12px;}
.smp-article-tag .elementor-heading-title{letter-spacing:.14em;text-transform:uppercase;}

/* final */
.smp-final{position:relative;overflow:hidden;}

/* footer */
.smp-footer-top{align-items:flex-start;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
.smp-foot-logo img{height:50px;width:auto;}
.smp-foot-h .elementor-heading-title{letter-spacing:.18em;text-transform:uppercase;}
.smp-foot-list .elementor-icon-list-icon{display:none;}
.smp-foot-list .elementor-icon-list-text{color:#9FB0C9;transition:color .25s,padding .25s;}
.smp-foot-list .elementor-icon-list-item:hover .elementor-icon-list-text{color:var(--smp-gold3);padding-left:5px;}
.smp-foot-bottom .elementor-widget-container{padding-top:24px;}

/* ---------- reveal ---------- */
html.smp-js .smp-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
html.smp-js .smp-reveal.smp-in{opacity:1;transform:none;}
/* dans l'éditeur Elementor, pas d'animation de reveal : tout reste visible */
body.elementor-editor-active .smp-reveal{opacity:1 !important;transform:none !important;transition:none !important;}
@media (prefers-reduced-motion:reduce){.smp-reveal{opacity:1;transform:none;}.smp-ticker-track p{animation:none;}}

/* ---------- header transparent (overlay) ---------- */
/* Le header XPRO flotte au-dessus du hero navy de chaque page — plus besoin de marge négative par page. */
header.xpro-theme-builder-header{position:absolute;top:0;left:0;right:0;z-index:99;}
/* Pages sans hero navy (blog, articles, 404, recherche) : header en flux normal + fond navy lisible */
body:not(:has(.smp-page-hero)):not(:has(.smp-hero)) header.xpro-theme-builder-header{position:static;background:#052C56;}
/* Dans l'éditeur Elementor : header en flux pour ne pas bloquer la sélection du haut de page */
body.elementor-editor-active header.xpro-theme-builder-header{position:static;background:#052C56;}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .smp-row-4 > .e-con{flex:1 1 calc(50% - 10px);}
  .smp-row-3 > .e-con{flex:1 1 calc(50% - 9px);}
  .smp-steps > .e-con{flex:1 1 calc(50% - 10px);}
  .smp-gallery{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:767px){
  .smp-row-4 > .e-con,.smp-row-3 > .e-con,.smp-row-2 > .e-con,.smp-steps > .e-con{flex:1 1 100%;}
  .smp-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px;}
  .smp-cell-big{grid-column:span 2;}
  .smp-member{flex-direction:column;text-align:center;}
  .smp-urgency-cta{justify-content:flex-start;}
}


/* =========================================================================
   SM+ — extensions : pages internes (À propos, Contact), header & footer XPRO
   Chargé à la suite de smplus-elementor-custom.css
   ========================================================================= */

/* ---------- page hero (pages internes) ---------- */
.smp-page-hero .elementor-heading-title{line-height:1;}
.smp-breadcrumb p{margin:0;font-family:"DM Sans",sans-serif;font-weight:600;font-size:13px;letter-spacing:.04em;color:#9FB0C9;}
.smp-breadcrumb a{color:#9FB0C9;transition:color .25s;}
.smp-breadcrumb a:hover{color:#E4BC53;}
.smp-breadcrumb .sep{color:#C79015;padding:0 6px;}
.smp-breadcrumb .here{color:#fff;}

/* ---------- à propos : media + badge "2015" ---------- */
.smp-about-media{position:relative;}
.smp-about-media .smp-about-img img{width:100%;height:clamp(380px,42vw,540px);object-fit:cover;}
.smp-est{position:absolute;left:0;bottom:0;z-index:3;background:#C79015;color:#1a1003;padding:20px 28px!important;}
.smp-est .smp-est-y .elementor-heading-title{font-family:"DM Serif Display",serif;font-size:44px;line-height:1;color:#1a1003;}
.smp-est .smp-est-l p{margin:4px 0 0;font-family:"DM Sans",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#3a2705;}
.smp-corner{position:absolute;top:-12px;right:-12px;width:80px;height:80px;border-top:3px solid #C79015;border-right:3px solid #C79015;z-index:3;pointer-events:none;}

/* mission box */
.smp-mission{background:#fff;border:1px solid #E4DDCD;border-left:4px solid #C79015;padding:20px 24px!important;}
.smp-mission p{margin:0;font-size:15.5px;line-height:1.6;color:#3A4252;}
.smp-mission strong{color:#052C56;}

/* checklist */
.smp-checklist .elementor-icon-list-icon{width:26px;height:26px;border-radius:50%;background:#C79015;display:grid;place-items:center;margin-right:14px;}
.smp-checklist .elementor-icon-list-icon i{color:#fff;font-size:12px;}
.smp-checklist .elementor-icon-list-text{color:#052C56;font-weight:600;}

/* ---------- zone d'intervention ---------- */
.smp-zone-map{position:relative;}
.smp-zone-map img{width:100%;height:clamp(340px,38vw,460px);object-fit:cover;filter:saturate(.4) brightness(.7);}
.smp-zone-map::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);pointer-events:none;}
.smp-communes ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.smp-communes .elementor-icon-list-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding:14px 16px;transition:background .35s,border-color .35s,transform .35s;}
.smp-communes .elementor-icon-list-item:hover{background:rgba(199,144,21,.12);border-color:#C79015;transform:translateY(-3px);}
.smp-communes .elementor-icon-list-icon i{color:#C79015;font-size:9px;}
.smp-communes .elementor-icon-list-text{color:#DBE4F0;font-weight:600;font-size:14.5px;}
@media (max-width:760px){.smp-communes ul{grid-template-columns:1fr 1fr;}}

/* ---------- FAQ (widget accordéon Elementor) ---------- */
.smp-faq .elementor-accordion-item{border:none!important;border-bottom:1px solid #D8CFBC!important;background:transparent;}
.smp-faq .elementor-accordion-item:first-child{border-top:1px solid #D8CFBC!important;}
.smp-faq .elementor-tab-title{padding:24px 4px;font-family:"DM Sans",sans-serif!important;font-weight:700;font-size:18px;color:#052C56;transition:color .25s;}
.smp-faq .elementor-tab-title:hover,.smp-faq .elementor-tab-title.elementor-active{color:#B77917;}
.smp-faq .elementor-tab-title .elementor-accordion-icon{color:#B77917;}
.smp-faq .elementor-tab-content{border-top:none!important;padding:0 40px 26px 4px;font-size:15.5px;line-height:1.65;color:#3A4252;background:transparent;}

/* ---------- contact ---------- */
.smp-contact-card{background:#fff;border:1px solid #E4DDCD;border-top:4px solid #C79015;padding:38px 36px!important;box-shadow:0 30px 60px -38px rgba(5,44,86,.35);}
.smp-contact-ib{background:#fff;border:1px solid #E4DDCD;padding:20px 22px!important;transition:transform .35s,border-color .35s;}
.smp-contact-ib:hover{transform:translateY(-3px);border-color:#E4BC53;}
.smp-contact-ib .elementor-icon-box-icon{width:46px;height:46px;background:#052C56;display:flex;align-items:center;justify-content:center;}
.smp-contact-ib .elementor-icon-box-icon i{color:#E4BC53;font-size:18px;}
.smp-contact-ib .elementor-icon-box-title{font-family:"DM Sans",sans-serif!important;font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;color:#8A8273!important;margin-bottom:6px!important;}
.smp-contact-ib .elementor-icon-box-description{font-family:"DM Sans",sans-serif;font-weight:600;font-size:16.5px;color:#052C56;}
.smp-contact-ib a{color:#052C56;}
.smp-contact-ib a:hover{color:#B77917;}

/* Fluent Forms — habillage charte */
.smp-form .ff-el-form-control{background:#FBF8F1;border:1px solid #E4DDCD;border-radius:0;padding:13px 16px;font-family:"DM Sans",sans-serif;font-size:15px;color:#052C56;transition:border-color .25s,box-shadow .25s;}
.smp-form .ff-el-form-control:focus{border-color:#C79015;box-shadow:0 0 0 3px rgba(199,144,21,.15);outline:none;}
.smp-form .ff-el-input--label label{font-family:"DM Sans",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.02em;color:#052C56;}
.smp-form .ff-btn-submit{background:#C79015!important;color:#1a1003!important;border:none!important;border-radius:0!important;font-family:"DM Sans",sans-serif!important;font-weight:700!important;font-size:15px!important;letter-spacing:.04em;padding:17px 34px!important;cursor:pointer;transition:background .3s,transform .3s,box-shadow .3s;}
.smp-form .ff-btn-submit:hover{background:#B77917!important;transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(199,144,21,.7);}
.smp-form .ff-el-group{margin-bottom:20px;}
.smp-form .ff-el-is-error .ff-el-form-control{border-color:#c0392b;}

/* ---------- header XPRO ---------- */
.smp-utility{font-family:"DM Sans",sans-serif;}
.smp-utility .elementor-icon-list-icon i{color:#E4BC53;font-size:12px;}
.smp-utility .elementor-icon-list-text{color:#C0CBDD;font-size:13px;font-weight:500;}
.smp-utility .elementor-icon-list-item a:hover .elementor-icon-list-text{color:#E4BC53;}
.smp-pulse p{margin:0;color:#E4BC53;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:9px;}
.smp-pulse .dot{width:8px;height:8px;border-radius:50%;background:#E4BC53;display:inline-block;animation:smp-pulse 1.8s ease infinite;}
@keyframes smp-pulse{0%{box-shadow:0 0 0 0 rgba(228,188,83,.55);}70%{box-shadow:0 0 0 9px rgba(228,188,83,0);}100%{box-shadow:0 0 0 0 rgba(228,188,83,0);}}
.smp-header{position:sticky;top:0;z-index:990;box-shadow:0 1px 0 #E4DDCD,0 14px 34px -26px rgba(5,44,86,.25);}
.smp-nav-phone{text-align:right;border-right:1px solid #E4DDCD;padding-right:20px!important;}
.smp-nav-phone .lbl{display:block;margin:0;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#B77917;font-family:"DM Sans",sans-serif;}
.smp-nav-phone .num{display:block;margin:2px 0 0;font-size:15.5px;font-weight:700;color:#052C56;font-family:"DM Sans",sans-serif;white-space:nowrap;}
.smp-nav-phone p{margin:0;}
/* menu XPRO */
.smp-mainmenu .xpro-elementor-nav-menu li a{font-family:"DM Sans",sans-serif;}
/* bouton XPRO — reprendre l'esthétique smp-btn */
.smp-btn-gold .xpro-button,.smp-btn-gold a.xpro-button{background:#C79015;color:#1a1003;border-radius:0;font-family:"DM Sans",sans-serif;font-weight:700;letter-spacing:.04em;transition:transform .4s cubic-bezier(.22,.61,.36,1),background .3s,box-shadow .3s;}
.smp-btn-gold .xpro-button:hover{background:#B77917;color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(199,144,21,.7);}

/* ---------- footer ---------- */
.smp-foot-gold{height:6px;background:linear-gradient(90deg,#e4bc53 0%,#b77917 25%,#fffbdd 50%,#f6d87a 75%,#c79015 100%);}
.smp-foot-bottom a{color:#9FB0C9;}
.smp-foot-bottom a:hover{color:#E4BC53;}
.smp-foot-list a .elementor-icon-list-text{transition:color .25s,padding .25s;}

/* liseré or bas de footer */
.smp-footer{position:relative;}
.smp-footer::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,#e4bc53 0%,#b77917 25%,#fffbdd 50%,#f6d87a 75%,#c79015 100%);}

/* menu header : une seule ligne */
.smp-mainmenu{width:auto!important;flex-grow:1;}
.smp-mainmenu ul.xpro-elementor-horizontal-navbar-nav{flex-wrap:nowrap;}
.smp-mainmenu .xpro-elementor-horizontal-navbar-nav > li > a{white-space:nowrap;}

/* header : layout une ligne, logo fixe, menu centré */
.smp-header .elementor-widget-xpro-site-logo{width:auto!important;flex:0 0 auto;}
.smp-header .elementor-widget-xpro-site-logo img{width:160px!important;max-width:160px!important;height:auto;}
.smp-mainmenu{width:auto!important;flex:1 1 auto!important;min-width:0;justify-content:center;}
.smp-mainmenu ul.xpro-elementor-horizontal-navbar-nav{flex-wrap:nowrap;justify-content:center!important;}
.smp-mainmenu .xpro-elementor-horizontal-navbar-nav > li > a{white-space:nowrap;}
.smp-nav-phone{width:auto!important;}
.smp-header .elementor-widget-xpro-button{width:auto!important;}
.smp-header .e-con-inner > .e-con > .e-con:last-child{width:auto!important;flex:0 0 auto;}

/* footer : 4 colonnes sur une ligne */
@media (min-width:1025px){
.smp-footer-top{flex-wrap:nowrap!important;gap:36px!important;}
.smp-foot-brand{width:34%!important;flex:0 0 auto;}
.smp-foot-col{width:19%!important;flex:0 1 auto;}
}
@media (max-width:1024px){.smp-foot-brand{width:100%!important;}.smp-foot-col{width:46%!important;}}

/* icônes SVG : couleurs charte */
.smp-contact-ib .elementor-icon-box-icon svg{fill:#E4BC53;width:19px;height:19px;}
.smp-ib .elementor-icon-box-icon svg{fill:#E4BC53;width:26px;height:26px;transition:fill .4s;}
.smp-besoin:hover .smp-ib .elementor-icon-box-icon svg,.smp-svc:hover .smp-ib .elementor-icon-box-icon svg{fill:#fff;}
.smp-ib-client .elementor-icon-box-icon svg{fill:#fff;width:30px;height:30px;}
.smp-diffcard .smp-ib .elementor-icon-box-icon svg{fill:#fff;}
.smp-utility-list .elementor-icon-list-icon svg{fill:#E4BC53;width:13px;height:13px;}
.smp-checklist .elementor-icon-list-icon svg{fill:#fff;width:12px;height:12px;}
.smp-communes .elementor-icon-list-icon svg{fill:#C79015;width:9px;height:9px;}
.smp-foot-list .elementor-icon-list-icon{display:none;}
.smp-client .elementor-icon-list-icon svg{fill:#E4BC53;width:14px;height:14px;}

.smp-foot-list .elementor-icon-list-icon{display:none!important;}

.smp-ticker-track p{white-space:nowrap;}
.smp-ticker .e-con-inner,.smp-ticker{overflow:hidden;}

/* pages légales */
.smp-legal{max-width:860px;margin:0 auto;width:100%;}
.smp-legal h2{font-family:'DM Serif Display',serif;font-weight:400;color:#052C56;font-size:30px;margin:44px 0 14px;line-height:1.15;}
.smp-legal h3{font-family:'DM Sans',sans-serif;font-weight:700;color:#052C56;font-size:17px;margin:26px 0 10px;}
.smp-legal p,.smp-legal li{line-height:1.7;}
.smp-legal ul{padding-left:22px;margin:12px 0;}
.smp-legal li{margin:6px 0;}
.smp-legal a{color:#B77917;text-decoration:none;}
.smp-legal a:hover{color:#C79015;text-decoration:underline;}
.smp-legal strong{color:#052C56;}
.smp-legal hr{border:none;height:2px;background:linear-gradient(90deg,#C79015,rgba(199,144,21,0));margin:40px 0 0;}

/* pages légales : tables + sommaire */
.smp-legal table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px;}
.smp-legal th{background:#052C56;color:#fff;font-family:'DM Sans',sans-serif;font-weight:700;text-align:left;padding:12px 14px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;}
.smp-legal td{border:1px solid #E4DDCD;padding:11px 14px;background:#fff;vertical-align:top;}
.smp-legal tr:nth-child(even) td{background:#FBF8F1;}
.smp-legal figure{margin:0;overflow-x:auto;}
.smp-toc{background:#fff;border:1px solid #E4DDCD;border-left:4px solid #C79015;padding:22px 26px;margin:8px 0 10px;}
.smp-toc strong{display:block;font-family:'DM Sans',sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#052C56;margin-bottom:12px;}
.smp-toc ol{columns:2;column-gap:36px;margin:0;padding-left:20px;}
.smp-toc li{margin:4px 0;font-size:14px;break-inside:avoid;}
@media (max-width:760px){.smp-toc ol{columns:1;}}
.smp-legal h2{scroll-margin-top:120px;}

/* page devis : cartes latérales */
.smp-devis-urgence{background:#C79015;padding:24px 26px!important;}
.smp-devis-urgence .lbl{margin:0;font-family:'DM Sans',sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
.smp-devis-urgence h3 a{text-decoration:none;}
.smp-devis-premium{background:#031A36;padding:26px 26px!important;border:1px solid rgba(228,188,83,.35);}
.smp-devis-premium .tag{margin:0;font-family:'DM Sans',sans-serif;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;}
.smp-premium-list .elementor-icon-list-icon i,.smp-premium-list .elementor-icon-list-icon svg{color:#E4BC53;fill:#E4BC53;width:12px;height:12px;}
