:root{--nu-or:var(--theme-palette-color-1,#E57E2F);--nu-or2:var(--theme-palette-color-2,#C95A0B);--nu-dk:#14181F;--nu-gr:#5B6472;--nu-bg:#F6F7F9;--nu-w:1280px}

body.nu-site{color:var(--nu-gr);background:#fff;margin:0}
body.nu-site h1,body.nu-site h2,body.nu-site h3,body.nu-site h4,body.nu-site h5,body.nu-site h6,
body.nu-site .elementor-heading-title,body.nu-site .elementor-widget-text-editor,
body.nu-site .elementor-icon-box-title,body.nu-site .elementor-icon-box-description,
body.nu-site .nu-header,body.nu-site .nu-footer,body.nu-site .nu-btn{}

.nu-wrap{max-width:var(--nu-w);margin:0 auto;padding:0 24px}

/* ---------- Boutons ---------- */
.nu-btn{display:inline-block;background:var(--nu-or);color:#fff!important;font-weight:600;font-size:15px;padding:15px 32px;border-radius:40px;text-decoration:none!important;transition:.2s;box-shadow:0 6px 16px color-mix(in srgb,var(--nu-or) 25%,transparent);line-height:1.2}
.nu-btn a, .nu-btn *{color:#fff!important}
.nu-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.nu-btn--sm{padding:12px 22px;font-size:14px}
.nu-btn--ghost{background:#fff;color:var(--nu-dk)!important;border:1px solid #D5D9E0;box-shadow:none}
.nu-btn--ghost a, .nu-btn--ghost *{color:var(--nu-dk)!important}
.nu-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}

/* ---------- En-tête ---------- */
.nu-header{position:sticky;top:0;z-index:999;background:#fff;box-shadow:0 1px 0 #E9ECF0}
.admin-bar .nu-header{top:32px}
.nu-header-in{display:flex;align-items:center;gap:28px;min-height:80px}
.nu-logo img{max-height:56px;width:auto;display:block}
.nu-logo-text{display:flex;align-items:center;gap:10px;text-decoration:none!important}
.nu-n{display:grid;place-items:center;width:42px;height:42px;background:linear-gradient(135deg,var(--nu-or2),var(--nu-or));color:#fff;font-weight:700;font-size:24px;border-radius:8px}
.nu-brand{display:flex;flex-direction:column;line-height:1.1}
.nu-brand strong{font-size:22px;color:var(--nu-dk);letter-spacing:.5px}
.nu-brand small{font-size:12px;color:var(--nu-gr)}
.nu-nav{flex:1}
.nu-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px;justify-content:center}
.nu-nav a{color:var(--nu-dk);text-decoration:none;font-size:14.5px;font-weight:500;padding:8px 0;display:inline-block;border-bottom:2px solid transparent}
.nu-nav a:hover,.nu-nav a.is-active{color:var(--nu-or);border-bottom-color:var(--nu-or)}
.nu-caret{display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 3px 5px}
.has-sub{position:relative}
.nu-sub{display:none!important;position:absolute;top:100%;left:-14px;background:#fff;min-width:250px;flex-direction:column;gap:0!important;padding:10px 0!important;box-shadow:0 12px 30px rgba(20,24,31,.12);border-radius:10px;justify-content:flex-start!important}
.has-sub:hover .nu-sub,.has-sub.sub-open .nu-sub{display:flex!important}
.nu-sub a{display:block;padding:10px 20px;border:0!important;width:100%;box-sizing:border-box}
.nu-sub a:hover{background:color-mix(in srgb,var(--nu-or) 9%,#fff)}
.nu-header-cta{display:flex;align-items:center;gap:20px}
.nu-phone{color:var(--nu-dk);font-weight:600;font-size:14.5px;text-decoration:none;white-space:nowrap}
.nu-phone::before{content:"☎ ";color:var(--nu-or)}
.nu-burger{display:none;background:none;border:0;padding:8px;cursor:pointer;margin-left:auto}
.nu-burger span{display:block;width:26px;height:3px;background:var(--nu-dk);margin:5px 0;border-radius:2px}

@media(max-width:1024px){
  .nu-burger{display:block}
  .nu-nav,.nu-header-cta{display:none}
  .nu-header{position:relative}
  .nu-header.nu-open .nu-header-in{flex-wrap:wrap}
  .nu-header.nu-open .nu-nav{display:block;order:3;width:100%;flex:none}
  .nu-header.nu-open .nu-header-cta{display:flex;order:4;width:100%;padding-bottom:16px;justify-content:space-between}
  .nu-nav ul{flex-direction:column;gap:0;align-items:stretch}
  .nu-nav>ul>li>a{display:block;padding:12px 0;border-bottom:1px solid #EEF0F3}
  .nu-sub{position:static;box-shadow:none;padding:0 0 0 14px!important;min-width:0}
}

/* ---------- Grilles Elementor responsives ---------- */
.nu-grid>.elementor-container{display:grid!important;max-width:var(--nu-w)}
.nu-grid .elementor-column{width:100%!important}
.nu-g6>.elementor-container{grid-template-columns:repeat(6,1fr)}
.nu-g7>.elementor-container{grid-template-columns:repeat(7,1fr);gap:14px}
@media(max-width:1024px){
  .nu-g6>.elementor-container{grid-template-columns:repeat(3,1fr)}
  .nu-g7>.elementor-container{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:600px){
  .nu-g6>.elementor-container{grid-template-columns:repeat(2,1fr)}
  .nu-g7>.elementor-container{grid-template-columns:repeat(2,1fr)}
}

/* Unfixer le modèle 8667 et le footer */
footer.ct-footer,
.elementor-8667,
[data-elementor-type="wp-post"] {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
}

/* ---------- Hero ---------- */
.nu-hero{background:#fff;overflow:hidden}
.nu-hero>.elementor-container{display:grid!important;grid-template-columns:44% 56%;max-width:none!important;align-items:stretch}
.nu-hero .elementor-column{width:100%!important}
.nu-hero-text .elementor-widget-wrap{padding:70px 30px 70px max(24px,calc((100vw - var(--nu-w))/2 + 24px))!important;align-content:center}
.nu-eyebrow .elementor-heading-title{font-size:13px!important;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--nu-or)!important}
.nu-h1 .elementor-heading-title{font-size:clamp(34px,4.4vw,58px)!important;line-height:1.08!important;font-weight:700;color:var(--nu-dk)!important}
.nu-orange{color:var(--nu-or)}
.nu-lead{font-size:17px;line-height:1.65;color:var(--nu-gr)}
.nu-hero-media-col{position:relative}
.nu-hero-media-col .elementor-widget-wrap{padding:0!important}
.nu-hero-media-col::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--nu-or2),var(--nu-or));clip-path:polygon(14% 0,18% 0,4% 100%,0 100%);z-index:0}
.nu-hero-media{position:relative;z-index:1;margin:0!important;clip-path:polygon(18% 0,100% 0,100% 100%,4% 100%);min-height:420px;background:#14181F}
.nu-hero-media .n2-section-smartslider{width:100%!important}
.nu-slider-fallback{min-height:460px;background:linear-gradient(135deg,#232a36,#14181F 60%,var(--nu-or))}
@media(max-width:1024px){
  .nu-hero>.elementor-container{grid-template-columns:1fr}
  .nu-hero-text .elementor-widget-wrap{padding:40px 24px!important}
  .nu-hero-media-col::before{display:none}
  .nu-hero-media{clip-path:none}
}

/* Animation de révélation */
.nu-reveal {
    opacity: 0 !important;
    transform: translateY(30px) !important;
    transition: opacity 0.7s ease-out, transform 0.7s ease-out !important;
    will-change: opacity, transform;
}

.nu-reveal.nu-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* ---------- Bandeau services ---------- */
.nu-services{background:#fff;padding:26px 0}
.nu-services .elementor-column:not(:last-child){border-right:1px solid #E6E8EC}
.nu-services .elementor-widget-wrap{padding:8px 18px!important}
.nu-services .elementor-icon{color:var(--nu-or)!important;font-size:34px!important}
.nu-services .elementor-icon i{color:var(--nu-or)}
.nu-services .elementor-icon-box-title,.nu-services .elementor-icon-box-title a{font-size:15px;font-weight:600;color:#1D4E89}
.nu-services .elementor-icon-box-description{font-size:13px;color:var(--nu-gr);margin-top:4px}
.nu-services .elementor-icon-box-icon{margin-bottom:12px!important}
@media(max-width:1024px){.nu-services .elementor-column{border-right:0!important}}

/* ---------- Réalisations ---------- */
.nu-real{background:var(--nu-bg)}
.nu-real-head .elementor-widget-wrap{padding:0 24px!important}
.nu-real-head .nu-small .elementor-heading-title{font-size:13px;font-weight:500;text-transform:uppercase;color:var(--nu-gr)!important;letter-spacing:.4px;margin:0}
.nu-title{padding-left:14px;border-left:4px solid var(--nu-or)}
.nu-title .elementor-heading-title,.nu-h2 .elementor-heading-title{font-size:clamp(26px,3vw,36px)!important;font-weight:700;color:var(--nu-dk)!important;line-height:1.2!important}
.nu-card .elementor-widget-wrap{min-height:210px;align-content:flex-end!important;border-radius:10px;position:relative;overflow:hidden;background-size:cover;background-position:center;padding:0!important}
.nu-card .elementor-widget-wrap::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.78) 100%);z-index:1;pointer-events:none}
.nu-card .elementor-widget{position:relative;z-index:2;margin:0!important;width:100%}
.nu-card .elementor-heading-title{color:#fff!important;font-size:14px!important;font-weight:600!important;padding:14px!important;line-height:1.25!important}
.nu-c1 .elementor-widget-wrap{background-image:linear-gradient(160deg,color-mix(in srgb,var(--nu-or2) 55%,#14181F),#14181F)}
.nu-c2 .elementor-widget-wrap{background-image:linear-gradient(160deg,#2b3a52,#14181F)}
.nu-c3 .elementor-widget-wrap{background-image:linear-gradient(160deg,#3d4a5c,#1a1f28)}
.nu-c4 .elementor-widget-wrap{background-image:linear-gradient(160deg,color-mix(in srgb,var(--nu-or2) 55%,#14181F),#14181F)}
.nu-c5 .elementor-widget-wrap{background-image:linear-gradient(160deg,#4b4f57,#1b1f27)}
.nu-c6 .elementor-widget-wrap{background-image:linear-gradient(160deg,#1f4a66,#14181F)}
.nu-c7 .elementor-widget-wrap{background-image:linear-gradient(160deg,color-mix(in srgb,var(--nu-or2) 55%,#14181F),#14181F)}
.nu-real-head,.nu-real-head>.elementor-container{align-items:center}

/* ---------- CTA ---------- */
.nu-cta{position:relative;background:color-mix(in srgb,var(--nu-or) 9%,#fff);overflow:hidden}
.nu-cta::before,.nu-cta::after{content:"";position:absolute;top:0;bottom:0;width:160px;background:linear-gradient(180deg,var(--nu-or2),var(--nu-or));opacity:.95}
.nu-cta::before{left:0;clip-path:polygon(0 0,70% 0,0 100%)}
.nu-cta::after{right:0;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
.nu-cta .elementor-container{position:relative;z-index:2;align-items:center}
.nu-cta .nu-h2 .elementor-heading-title{font-size:clamp(24px,2.8vw,34px)!important}
.nu-cta .elementor-widget-text-editor{font-size:14px;color:var(--nu-gr)}
@media(max-width:767px){.nu-cta::before,.nu-cta::after{width:60px}}

/* ---------- Pages intérieures ---------- */
.nu-pagehead{background:linear-gradient(120deg,#fff 55%,color-mix(in srgb,var(--nu-or) 16%,#fff));padding:30px 0}
.nu-block{padding:20px 0}
.nu-block:nth-child(even){background:var(--nu-bg)}
.nu-block .elementor-widget-text-editor{font-size:16px;line-height:1.7}

/* ================= v1.1 ================= */
/* Titre de page Blocksy masqué sur nos pages */
body.nu-page .hero-section{display:none!important}
body.nu-page .site-main,body.nu-page .ct-container-full{margin:0}

/* Menu Blocksy : téléphone */
.nu-menu-phone>a{color:var(--nu-or)!important;font-weight:600!important;white-space:nowrap}
#header .menu>li>a,#header .sub-menu a{}
#header .menu>li>a:hover,#header .current-menu-item>a{color:var(--nu-or)!important}

/* Cartes cliquables */
.nu-card .elementor-widget{position:static!important;z-index:auto!important}
.nu-card .elementor-widget-wrap{position:relative;isolation:isolate}
.nu-card .elementor-widget-wrap::before{z-index:-1!important}
.nu-card .elementor-heading-title{position:static!important}
.nu-card .elementor-heading-title a{color:#fff!important;display:block}
.nu-card .elementor-heading-title a::after{content:"";position:absolute;inset:0;z-index:3}
.nu-card:hover .elementor-widget-wrap{filter:brightness(1.12)}
.nu-card .elementor-widget-wrap{transition:filter .2s}

/* Grilles 3 et 4 colonnes */
.nu-g3>.elementor-container{grid-template-columns:repeat(3,1fr);gap:18px}
.nu-g3 .nu-card .elementor-widget-wrap{min-height:260px}
.nu-g4>.elementor-container{grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1024px){.nu-g3>.elementor-container{grid-template-columns:repeat(2,1fr)}.nu-g4>.elementor-container{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.nu-g3>.elementor-container,.nu-g4>.elementor-container{grid-template-columns:1fr}}

/* Pages métier */
.nu-main{padding:20px 0}
.nu-main>.elementor-container{align-items:center;gap:40px}
.nu-photo .elementor-widget-wrap{min-height:340px!important}
.nu-photo .elementor-heading-title{font-size:20px!important}
.nu-main .elementor-icon-list-icon i{color:var(--nu-or)!important}
.nu-main .elementor-icon-list-text{font-size:15.5px;color:var(--nu-dk)}
.nu-main .elementor-widget-text-editor{font-size:16px;line-height:1.7;margin-bottom:14px}
.nu-steps{background:var(--nu-bg);padding:50px 0}
.nu-steps .elementor-widget-wrap{padding:10px 18px!important}
.nu-steps .elementor-icon{color:var(--nu-or)!important;font-size:34px!important}
.nu-steps .elementor-icon-box-title{font-size:16px;font-weight:600;color:var(--nu-dk)}
.nu-steps .elementor-icon-box-description{font-size:14px;color:var(--nu-gr)}
.nu-steps .nu-title{margin-bottom:20px}

/* ================= v1.1.2 ================= */
/* Colonnes 55/45 des pages métier (largeurs non standard d'Elementor) */
.nu-main>.elementor-container>.elementor-column{flex:1 1 0;width:auto!important;min-width:0}
.nu-main>.elementor-container>.elementor-column:first-child:not(:only-child){flex-grow:1.2}
.nu-photo .elementor-widget-wrap{min-height:380px!important}
/* Bandeau « Parlons-en » */
.nu-cta>.elementor-container>.elementor-column:nth-child(1){width:48%!important}
.nu-cta>.elementor-container>.elementor-column:nth-child(2){width:30%!important}
.nu-cta>.elementor-container>.elementor-column:nth-child(3){width:22%!important}
@media(max-width:767px){.nu-cta>.elementor-container>.elementor-column{width:100%!important}}

/* ================= v1.2 : en-tête de page = titre + image ================= */
/* Plus d'espace vide sous le menu */
body.nu-page [data-vertical-spacing]{padding-top:0!important;padding-bottom:0!important}
body.nu-page .site-main,body.nu-page main#main{margin:0!important;padding:0!important}
body.nu-page .elementor-top-section:first-of-type{margin-top:0}

.nu-hero2>.elementor-container{display:grid!important;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.nu-hero2 .elementor-column{width:100%!important}
.nu-hero2 .elementor-widget-wrap{padding:0!important}
.nu-hero2 .elementor-widget{margin-bottom:14px}
.nu-hero2 .nu-h1 .elementor-heading-title{color:var(--nu-or)!important;font-size:clamp(40px,5vw,64px)!important;font-weight:700;line-height:1.05!important}
.nu-hero2 .nu-sub .elementor-heading-title{color:var(--nu-dk)!important;font-size:clamp(20px,2.2vw,26px)!important;font-weight:600;line-height:1.3!important}
.nu-hero2 .nu-body,.nu-hero2 .elementor-widget-text-editor{font-size:16.5px;line-height:1.75;color:var(--nu-gr)}
.nu-hero2 .elementor-icon-list-text{font-size:15.5px;color:var(--nu-dk)}
.nu-hero2 .elementor-icon-list-icon i{color:var(--nu-or)!important}
.nu-hero2 .nu-photo .elementor-widget-wrap{min-height:400px!important;border-radius:14px;overflow:hidden}
.nu-hero2 .nu-photo .elementor-widget-wrap::before{display:none}
.nu-hero2 .nu-photo .elementor-widget{margin:0}
@media(max-width:900px){
  .nu-hero2>.elementor-container{grid-template-columns:1fr;gap:24px}
  .nu-hero2 .nu-photo .elementor-widget-wrap{min-height:260px!important}
}

/* ================= v1.3 : diaporama de photos ================= */
.nu-gal{padding:20px 0 60px;background:#fff}
.nu-gal .nu-gal-title{margin:0 0 24px;padding-left:14px;border-left:4px solid var(--nu-or);font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.2;color:var(--nu-dk)}
.nu-car{position:relative}
.nu-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.nu-track::-webkit-scrollbar{display:none}
.nu-track figure{margin:0;flex:0 0 calc((100% - 32px)/3);aspect-ratio:4/3;border-radius:12px;overflow:hidden;scroll-snap-align:start;position:relative;background:#14181F}
.nu-track img{width:100%;height:100%;object-fit:cover;display:block}
.nu-track figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;font-size:14px;font-weight:500;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}
.nu-prev,.nu-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--nu-dk);font-size:24px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 6px 18px rgba(20,24,31,.18)}
.nu-prev:hover,.nu-next:hover{background:var(--nu-or);color:#fff}
.nu-prev{left:-12px}.nu-next{right:-12px}
@media(max-width:900px){.nu-track figure{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:560px){.nu-track figure{flex-basis:100%}.nu-prev{left:6px}.nu-next{right:6px}}

/* ================= v1.4 : page Nos réalisations (filtres + galerie) ================= */
body.nu-page-real .nu-real.nu-grid{display:none}
.nu-real-gal{padding:10px 0 70px;background:#fff}
.nu-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.nu-filters button{font:inherit;font-size:14.5px;font-weight:500;padding:10px 22px;border-radius:40px;border:1px solid #D5D9E0;background:#fff;color:var(--nu-dk);cursor:pointer;transition:.2s}
.nu-filters button:hover{border-color:var(--nu-or);color:var(--nu-or)}
.nu-filters button.is-on{background:var(--nu-or);border-color:var(--nu-or);color:#fff}
.nu-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.nu-it{position:relative;display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#14181F}
.nu-it[hidden]{display:none}
.nu-it img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.nu-it:hover img{transform:scale(1.05)}
.nu-it span{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;font-size:14px;font-weight:500;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}
.nu-lb{position:fixed;inset:0;z-index:99999;background:rgba(10,12,16,.92);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}
.nu-lb[hidden]{display:none}
.nu-lb img{max-width:90vw;max-height:80vh;border-radius:8px}
.nu-lb p{margin:0;color:#fff;font-size:15px;min-height:20px}
.nu-lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:48px;height:48px;font-size:28px;line-height:1;cursor:pointer}
.nu-lb button:hover{background:var(--nu-or)}
.nu-lb-x{top:20px;right:20px}.nu-lb-p{left:20px;top:50%;transform:translateY(-50%)}.nu-lb-n{right:20px;top:50%;transform:translateY(-50%)}

/* ================= v1.5 : photos automatiques + page Marquage véhicule ================= */
.nu-hint{padding:16px 20px;border:1px dashed var(--nu-or);border-radius:10px;background:color-mix(in srgb,var(--nu-or) 9%,#fff);color:var(--nu-gr);font-size:14px}
.nu-ph{width:100%}
.nu-ph .nu-it{position:relative;display:block;border-radius:12px;overflow:hidden;background:#14181F}
.nu-ph .nu-it img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.nu-ph .nu-it:hover img{transform:scale(1.05)}
.nu-ph-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:14px}
.nu-ph-mosaic .nu-it:first-child{grid-column:span 2;grid-row:span 2}
.nu-ph-mosaic .nu-it:last-child:nth-child(6){grid-column:span 2}
.nu-ph-trio{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,190px);gap:14px}
.nu-ph-trio .nu-it:first-child{grid-row:span 2}
.nu-ph-galerie{column-count:3;column-gap:14px}
.nu-ph-galerie .nu-it{margin-bottom:14px;break-inside:avoid}
.nu-ph-galerie .nu-it img{height:auto}
@media(max-width:900px){.nu-ph-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.nu-ph-galerie{column-count:2}}
@media(max-width:560px){.nu-ph-galerie{column-count:1}}

.nv-eyebrow{font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--nu-gr);margin-bottom:6px}
.nv-eyebrow.or{color:var(--nu-or);font-weight:600;letter-spacing:1.5px}
.nv-chips{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 6px}
.nv-chips span{padding:9px 20px;border-radius:40px;border:1px solid #D5D9E0;font-size:14px;font-weight:500;color:var(--nu-dk);background:#fff}
.nv-band{background:var(--nu-dk)}
.nv-band .elementor-widget-wrap{padding:6px 12px!important}
.nv-band .nv-step{color:#fff;font-weight:600;font-size:15px}
.nv-band .nv-step b{color:var(--nu-or);margin-right:10px}
.nv-soft{background:var(--nu-bg)}
.nv-row>.elementor-container{display:grid!important;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:var(--nu-w)}
.nv-row .elementor-column{width:100%!important}
.nv-row .elementor-widget-wrap{padding:0!important}
.nv-row .nu-title .elementor-heading-title{font-size:clamp(24px,2.6vw,34px)!important}
.nv-row .elementor-widget-text-editor{font-size:16px;line-height:1.75;color:var(--nu-gr)}
.nv-row .elementor-icon-list-text{font-size:15.5px;color:var(--nu-dk)}
.nv-row .elementor-icon-list-icon i{color:var(--nu-or)!important}
@media(max-width:900px){.nv-row>.elementor-container{grid-template-columns:1fr;gap:28px}}
.nv-sol .elementor-widget-wrap{min-height:300px!important}
.nv-sol .elementor-widget-text-editor{color:#fff!important;font-size:13.5px;line-height:1.55;padding:0 16px 16px}
.nv-sol .elementor-widget-text-editor p{margin:0;color:#fff}
.nv-sol .elementor-heading-title{padding-bottom:4px!important}
.nv-more{display:flex;justify-content:flex-end;margin-top:18px}

/* v1.6 diaporama dans le bandeau de page */
.nu-hero2 .nu-photo .nu-hs{background-color:#14181F;position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;will-change:opacity,transform}

/* v1.6 modules prix (widgets Elementor natifs) */
.nupx-head .nupx-title .elementor-heading-title{font-size:clamp(28px,3.4vw,40px)!important;font-weight:700;color:var(--nu-dk,#2B2622)!important;margin:0}
.nupx-sub{font-size:17px;color:#6b6b6b}
.nupx-row>.elementor-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.nupx-row .elementor-column{width:100%!important}
.nupx-card>.elementor-widget-wrap{position:relative;height:100%;background:#fff;border:1px solid #e6e1db;border-radius:16px;padding:36px 30px!important;gap:0}
.nupx-card.is-pop>.elementor-widget-wrap{border:2px solid var(--nu-or);box-shadow:0 14px 34px color-mix(in srgb,var(--nu-or) 16%,transparent)}
.nupx-card .elementor-widget{margin-bottom:14px}
.nupx-tag{position:absolute!important;top:-14px;left:50%;transform:translateX(-50%);width:auto!important;margin:0!important;z-index:2}
.nupx-tag .elementor-heading-title{background:var(--nu-or);color:#fff!important;font-size:12px!important;font-weight:700;letter-spacing:.08em;padding:6px 14px;border-radius:99px;white-space:nowrap;margin:0}
.nupx-name .elementor-heading-title{font-size:22px!important;font-weight:700;color:#2B2622!important;margin:0}
.nupx-desc{font-size:15px;line-height:1.6;color:#6b6b6b;min-height:48px}
.nupx-from{font-size:13px;color:#6b6b6b;margin-bottom:0!important;padding-top:14px;border-top:1px solid #eee7df}
.nupx-amt .elementor-heading-title{font-size:40px!important;font-weight:700;line-height:1!important;color:var(--nu-or)!important;margin:0}
.nupx-amt{padding-bottom:14px;border-bottom:1px solid #eee7df}
.nupx-list{flex:1}
.nupx-list .elementor-icon-list-icon i{color:var(--nu-or)!important;font-size:14px}
.nupx-list .elementor-icon-list-text{font-size:15.5px;color:#2B2622}
.nupx-list .elementor-icon-list-item{margin-bottom:8px}
.nupx-btn .elementor-button{background:#fff;color:var(--nu-or2);border:1.5px solid var(--nu-or);border-radius:99px;padding:14px 20px;font-weight:600;font-size:16px}
.nupx-card.is-pop .nupx-btn .elementor-button,.nupx-btn .elementor-button:hover{background:var(--nu-or);color:#fff}
.nupx-note{font-size:14px;color:#6b6b6b}
@media(max-width:900px){.nupx-row>.elementor-container{grid-template-columns:1fr;max-width:480px;margin:0 auto}.nupx-card.is-pop{order:-1}}

/* v1.6.3 photos automatiques : plus de trous, tout se remplit et s'adapte */
.nu-ph .nu-it{position:relative;display:block;overflow:hidden;margin:0}
.nu-ph-mosaic,.nu-ph-trio{grid-auto-rows:auto!important;grid-template-rows:none!important;align-items:stretch}
.nu-ph-mosaic .nu-it,.nu-ph-trio .nu-it{aspect-ratio:4/3;min-height:0}
.nu-ph-mosaic .nu-it:first-child,.nu-ph-trio .nu-it:first-child{aspect-ratio:auto}
.nu-ph-mosaic .nu-it img,.nu-ph-trio .nu-it img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
.nu-ph-galerie .nu-it img{width:100%!important;height:auto!important}
@media(max-width:560px){
  .nu-ph-mosaic,.nu-ph-trio{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nu-ph-mosaic .nu-it:first-child,.nu-ph-trio .nu-it:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/10}
}

/* v1.6.4 boîtes d'image par thème */
.nuib-head .nuib-title .elementor-heading-title{font-size:clamp(30px,3.6vw,44px)!important;font-weight:700;color:#2B2622!important;margin:0}
.nuib-kicker .elementor-heading-title{font-size:18px!important;font-weight:600;color:var(--nu-or)!important;margin:0}
.nuib-intro{max-width:760px;margin:0 auto;font-size:17px;line-height:1.7;color:#6b6b6b}
.nuib-row>.elementor-container{display:flex!important;flex-wrap:wrap;justify-content:center;gap:24px}
.nuib-row .elementor-column{width:calc(33.333% - 16px)!important;min-width:280px}
.nuib-card>.elementor-widget-wrap{height:100%;background:#fff;border:1px solid #e6e1db;border-radius:16px;overflow:hidden;padding:0!important}
.nuib-card .elementor-widget{margin:0;width:100%}
.nuib-card .elementor-image-box-img{margin:0!important;width:100%!important}
.nuib-card .elementor-image-box-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:0}
.nuib-card .elementor-image-box-content{padding:22px 24px 26px}
.nuib-card .elementor-image-box-title{font-size:21px;font-weight:700;color:#2B2622;margin:0 0 8px}
.nuib-card .elementor-image-box-description{font-size:15px;line-height:1.6;color:#6b6b6b}
.nuib-card .elementor-image-box-description strong{display:block;color:var(--nu-or2);font-weight:600;margin-bottom:6px}
.nuib-card:hover>.elementor-widget-wrap{box-shadow:0 12px 30px rgba(0,0,0,.1)}
@media(max-width:700px){.nuib-row .elementor-column{width:100%!important}}

/* v1.7 typographie : on suit les réglages Blocksy (Personnaliser > Typographie) */
body.nu-site .elementor-heading-title,body.nu-site .elementor-widget-text-editor,body.nu-site .elementor-icon-list-text,
body.nu-site .elementor-button,body.nu-site .elementor-image-box-title,body.nu-site .elementor-image-box-description,body.nu-site .nu-btn{font-family:var(--theme-font-family,inherit)!important}

/* v1.7.1 listes à puces : texte toujours bien lisible */
body.nu-site .nu-hero2 .elementor-icon-list-text,body.nu-site .nu-hero2 .elementor-icon-list-item>span:not(.elementor-icon-list-icon),
body.nu-site .nu-main .elementor-icon-list-text,body.nu-site .nv-row .elementor-icon-list-text,
body.nu-site .nupx-list .elementor-icon-list-text{color:#2B2622!important;opacity:1!important;-webkit-text-fill-color:currentColor!important}
body.nu-site .nu-hero2 .elementor-icon-list-item,body.nu-site .nu-hero2 .elementor-icon-list-items{opacity:1!important}

/* v1.7.2 boîtes d'image : typographie pilotée par Blocksy (titres = style des titres H3, texte = texte du site) */
body.nu-site .nuib-card .elementor-image-box-wrapper,body.nu-site .nuib-card .elementor-image-box-content{text-align:left!important}
body.nu-site .nuib-card .elementor-image-box-title{
  font-family:var(--theme-font-family,inherit)!important;
  font-size:var(--theme-font-size,22px)!important;
  font-weight:var(--theme-font-weight,700)!important;
  line-height:var(--theme-line-height,1.25)!important;
  letter-spacing:var(--theme-letter-spacing,normal)!important;
  text-transform:var(--theme-text-transform,none)!important;
  color:var(--theme-heading-color,var(--nu-dk))!important;
  margin:0 0 8px!important}
body.nu-site .nuib-card .elementor-image-box-title a{color:inherit!important;font:inherit!important}
body.nu-site .nuib-card .elementor-image-box-description{
  font-family:var(--theme-font-family,inherit)!important;
  font-size:inherit!important;line-height:1.65!important;color:var(--nu-gr)!important;margin:0!important}
body.nu-site .nuib-card .elementor-image-box-description strong{
  display:block;font-size:1em;font-weight:600;color:var(--nu-or2)!important;margin-bottom:8px}
body.nu-site .nuib-card .elementor-image-box-content{padding:24px 26px 28px!important}

/* v1.8 : les couleurs globales d'Elementor suivent la palette Blocksy (Personnaliser > Couleurs) */
body.nu-site{
  --e-global-color-primary:var(--theme-palette-color-4,#14181F);
  --e-global-color-secondary:var(--theme-palette-color-1,#E57E2F);
  --e-global-color-text:var(--theme-palette-color-3,#5B6472);
  --e-global-color-accent:var(--theme-palette-color-1,#E57E2F);
}
/* boîtes d'image : plus aucune couleur propre, tout vient de Blocksy */
body.nu-site .nuib-card .elementor-image-box-title{color:var(--theme-palette-color-4,var(--nu-dk))!important}
body.nu-site .nuib-card .elementor-image-box-description{color:var(--theme-palette-color-3,var(--nu-gr))!important}
body.nu-site .nuib-card .elementor-image-box-description strong{color:var(--theme-palette-color-2,var(--nu-or2))!important}
/* typographie unique : titres = police des titres Blocksy, textes = police du texte Blocksy */
body.nu-site .nuib-card .elementor-image-box-title{font-family:var(--theme-font-family)!important}

/* v1.8.6 filtres « Nos réalisations » : couleurs Blocksy dans tous les états */
body .nu-filters button{background:var(--theme-palette-color-8,#fff)!important;color:var(--theme-palette-color-4,#14181F)!important;border:1px solid var(--theme-palette-color-5,#D5D9E0)!important;box-shadow:none!important}
body .nu-filters button:hover,body .nu-filters button:focus,body .nu-filters button:focus-visible,body .nu-filters button.is-on{background:var(--theme-palette-color-1,#E57E2F)!important;border-color:var(--theme-palette-color-1,#E57E2F)!important;color:var(--theme-palette-color-8,#fff)!important}
body .nu-filters button:active{background:var(--theme-palette-color-2,#C95A0B)!important;border-color:var(--theme-palette-color-2,#C95A0B)!important;color:var(--theme-palette-color-8,#fff)!important}

/* v1.9 page contact */
.nuct-row>.elementor-container{display:grid!important;grid-template-columns:5fr 7fr;gap:24px;align-items:stretch}
.nuct-row .elementor-column{width:100%!important}
.nuct-card>.elementor-widget-wrap{height:100%;background:var(--theme-palette-color-8,#fff);border:1px solid var(--theme-palette-color-5,#e6e1db);border-radius:16px;padding:34px 32px!important;gap:0}
.nuct-card .elementor-widget{margin-bottom:16px;width:100%}
.nuct-h .elementor-heading-title{margin:0;font-size:var(--theme-font-size,24px)!important;color:var(--theme-palette-color-4,#14181F)!important}
.nuct-txt{color:var(--theme-palette-color-3,#5B6472);line-height:1.65}
.nuct-list .elementor-icon-list-icon i{color:var(--nu-or)!important;font-size:18px}
.nuct-list .elementor-icon-list-item{align-items:flex-start;margin-bottom:12px}
.nuct-list .elementor-icon-list-text{padding-left:6px;line-height:1.5}
.nuct-list a,.nuct-list a:hover{color:inherit}
.nuct-btn .elementor-button{background:var(--theme-palette-color-1,#E57E2F);color:var(--theme-palette-color-8,#fff);border-radius:99px;padding:14px 26px;font-weight:600}
.nuct-btn .elementor-button:hover{background:var(--theme-palette-color-2,#C95A0B);color:var(--theme-palette-color-8,#fff)}
.nuct-form .wpforms-container{margin:0}
.nuct-form .wpforms-field input,.nuct-form .wpforms-field textarea,.nuct-form .wpforms-field select{border-radius:10px!important;border:1px solid var(--theme-palette-color-5,#D5D9E0)!important;max-width:100%!important;font-family:inherit}
.nuct-form .wpforms-field input:focus,.nuct-form .wpforms-field textarea:focus{border-color:var(--theme-palette-color-1,#E57E2F)!important;box-shadow:none!important}
.nuct-form .wpforms-submit{background:var(--theme-palette-color-1,#E57E2F)!important;color:var(--theme-palette-color-8,#fff)!important;border:0!important;border-radius:99px!important;padding:14px 32px!important;font-weight:600!important;font-size:16px!important}
.nuct-form .wpforms-submit:hover{background:var(--theme-palette-color-2,#C95A0B)!important}
.nuct-map iframe{border-radius:16px;display:block}
.nuct-mapsec{padding-top:24px}
@media(max-width:900px){.nuct-row>.elementor-container{grid-template-columns:1fr}}

/* v1.9.1 rangée supérieure */
.nu-topbar{background:var(--theme-palette-color-6,#F2F3F5);border-bottom:1px solid var(--theme-palette-color-5,#e3e5e8);font-size:13.5px;line-height:1}
.nu-topbar-in{max-width:var(--theme-normal-container-max-width,1290px);width:var(--theme-container-width,90%);margin:0 auto;min-height:40px;display:flex;align-items:center;justify-content:flex-end;gap:24px}
.nu-top-item{display:inline-flex;align-items:center;gap:7px;color:var(--theme-palette-color-4,#14181F);text-decoration:none;font-weight:500}
.nu-top-item svg{color:var(--theme-palette-color-1,#E57E2F);flex:none}
a.nu-top-item:hover{color:var(--theme-palette-color-1,#E57E2F)}
@media(max-width:700px){.nu-top-loc{display:none}.nu-topbar-in{justify-content:center;gap:18px}}

/* v1.9.2 pied de page */
.nu-foot{background:var(--theme-palette-color-4,#14181F);color:#d7dbe2;font-size:15px;line-height:1.6}
.nu-foot-in{max-width:var(--theme-normal-container-max-width,1290px);width:var(--theme-container-width,90%);margin:0 auto}
.nu-foot>.nu-foot-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding:60px 0 44px}
.nu-foot p{margin:0 0 10px;color:inherit}
.nu-foot-name{font-size:26px;font-weight:700;color:#fff!important;margin:0!important;line-height:1.1}
.nu-foot-tag{color:var(--theme-palette-color-1,#E57E2F)!important;font-weight:600;margin-bottom:14px!important}
.nu-foot-h{color:#fff!important;font-weight:700;font-size:17px;margin-bottom:16px!important}
.nu-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.nu-foot a{color:#d7dbe2;text-decoration:none}
.nu-foot a:hover{color:var(--theme-palette-color-1,#E57E2F)}
.nu-foot-bottom{border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;color:#9aa1ad}
.nu-foot-bottom .nu-foot-in{padding:18px 0}
@media(max-width:900px){.nu-foot>.nu-foot-in{grid-template-columns:1fr 1fr;gap:32px;padding:44px 0 30px}.nu-foot-brand{grid-column:1/-1}}
@media(max-width:520px){.nu-foot>.nu-foot-in{grid-template-columns:1fr}}

/* v1.9.5 pied de page Blocksy sur fond foncé : titres et textes clairs, couleurs de la palette */
footer.ct-footer .widget-title,footer.ct-footer .wp-block-heading,footer.ct-footer h1,footer.ct-footer h2,footer.ct-footer h3,footer.ct-footer h4,footer.ct-footer h5,footer.ct-footer h6{color:var(--theme-palette-color-8,#fff)!important}
footer.ct-footer p,footer.ct-footer li,footer.ct-footer .ct-widget,footer.ct-footer .menu-item a,footer.ct-footer .widget{color:var(--theme-palette-color-6,#e6e9ee)}
footer.ct-footer a{color:var(--theme-palette-color-6,#e6e9ee)}
footer.ct-footer a:hover,footer.ct-footer .menu-item a:hover{color:var(--theme-palette-color-1,#E57E2F)}
footer.ct-footer .ct-copyright,footer.ct-footer .ct-footer-copyright{color:var(--theme-palette-color-5,#c9ced6)}

/* v1.9.6 logo qui déborde sur la page (effet de recouvrement) */
#header,#header [data-device],#header [data-row],#header [data-row] > div,#header .ct-container{overflow:visible!important}
#header{position:relative;z-index:200}
#header .site-branding,#header .site-logo-container{position:relative;z-index:210}
#header .site-logo-container img,#header .site-logo-container svg{transform-origin:top left;transform:scale(1.32);filter:drop-shadow(0 8px 14px rgba(0,0,0,.18));transition:transform .25s}
@media(max-width:999px){#header .site-logo-container img,#header .site-logo-container svg{transform:scale(1.15)}}

/* v1.9.7 rangée supérieure : fond orange du site, texte blanc */
.nu-topbar{background:var(--theme-palette-color-1,#E57E2F)!important;border-bottom:0!important}
.nu-topbar .nu-top-item,.nu-topbar a.nu-top-item{color:#fff!important;font-weight:600}
.nu-topbar .nu-top-item svg{color:#fff!important}
.nu-topbar a.nu-top-item:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}

/* v2.0 pages légales */
.nul-h .elementor-heading-title{font-size:clamp(20px,2.2vw,26px)!important;margin:28px 0 6px!important;color:var(--theme-palette-color-4,#14181F)!important}
.nul-t{color:var(--theme-palette-color-3,#5B6472);line-height:1.7}
.nul-t a{color:var(--nu-or2);text-decoration:underline}

/* v2.0.2 page À propos */
.nua-kick .elementor-heading-title{font-size:13px!important;font-weight:700;letter-spacing:.14em;color:var(--nu-or2)!important;margin:0}
.nua-h2 .elementor-heading-title{font-size:clamp(28px,3.4vw,40px)!important;margin:0;color:var(--theme-palette-color-4,#14181F)!important}
.nua-txt{color:var(--theme-palette-color-3,#5B6472);font-size:16.5px;line-height:1.75}
.nua-who{background:var(--theme-palette-color-7,#F6F7F9);padding:72px 0}
.nua-who>.elementor-container{display:flex!important;flex-wrap:wrap;align-items:center;gap:48px}
.nua-who .elementor-column{width:auto!important;flex:1 1 400px}
.nua-who .elementor-widget{margin-bottom:16px}
.nua-img img{width:100%;border-radius:16px;aspect-ratio:4/3;object-fit:cover;display:block}
.nua-steps-head,.nua-steps{background:var(--theme-palette-color-4,#14181F)}
.nua-steps-head{padding:80px 0 30px;text-align:center}
.nua-steps-head .nua-kick .elementor-heading-title{color:#F2A66A!important}
.nua-steps-head .nua-h2 .elementor-heading-title{color:#fff!important}
.nua-steps{padding:10px 0 80px}
.nua-steps>.elementor-container{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.nua-steps .elementor-column{width:100%!important}
.nua-step>.elementor-widget-wrap{border-top:4px solid var(--nu-or);padding:18px 0 0!important}
.nua-num .elementor-heading-title{font-size:44px!important;font-weight:700;line-height:1!important;color:#F2A66A!important;margin:0}
.nua-h3 .elementor-heading-title{font-size:22px!important;color:#fff!important;margin:0}
.nua-stxt{color:#D5D9E0;font-size:15px;line-height:1.65}
.nua-met-head,.nua-team-head{text-align:center;padding:80px 0 30px}
.nua-met-head .elementor-heading-title,.nua-team-head .elementor-heading-title{text-align:center}
.nua-row{padding:0 0 20px}
.nua-row>.elementor-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nua-row .elementor-column{width:100%!important}
.nua-card>.elementor-widget-wrap{height:100%;border:1px solid var(--theme-palette-color-5,#E6E1DB);border-radius:14px;padding:22px 24px!important}
.nua-card .elementor-icon-box-wrapper{align-items:center;gap:18px}
.nua-card .elementor-icon-box-icon{margin:0!important}
.nua-card .elementor-icon{background:var(--nu-or);color:#fff;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:24px}
.nua-card .elementor-icon-box-title{margin:0 0 2px;color:var(--theme-palette-color-4,#14181F)}
.nua-card .elementor-icon-box-description{font-size:14.5px;color:var(--theme-palette-color-3,#5B6472);margin:0}
.nua-team-head+.nua-team,.nua-team{background:var(--theme-palette-color-7,#F6F7F9);padding:0 0 80px}
.nua-team-head{background:var(--theme-palette-color-7,#F6F7F9);margin-top:0}
.nua-team>.elementor-container{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.nua-team .elementor-column{width:100%!important}
.nua-member>.elementor-widget-wrap{background:#fff;border:1px solid var(--theme-palette-color-5,#E6E1DB);border-radius:14px;overflow:hidden;padding:0!important}
.nua-member .elementor-image-box-img{margin:0!important;width:100%!important}
.nua-member .elementor-image-box-img img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.nua-member .elementor-image-box-content{padding:18px 22px;text-align:left}
.nua-member .elementor-image-box-title{margin:0 0 2px;color:var(--theme-palette-color-4,#14181F)}
.nua-member .elementor-image-box-description{color:var(--nu-or2);font-weight:600;font-size:14.5px}
.nua-where{padding:80px 0}
.nua-where>.elementor-container{display:flex!important;flex-wrap:wrap;align-items:center;gap:40px}
.nua-where .elementor-column{width:auto!important;flex:1 1 360px}
.nua-where .elementor-column:last-child{flex:1.4 1 440px}
.nua-where .elementor-widget{margin-bottom:14px}
.nua-tel .elementor-heading-title{font-size:28px!important;font-weight:600;color:var(--nu-or2)!important}
.nua-map iframe{border-radius:16px;display:block}
.nua-cta{background:var(--nu-or2);padding:60px 0}
.nua-cta>.elementor-container{display:flex!important;flex-wrap:wrap;align-items:center;gap:24px}
.nua-cta .elementor-column{width:auto!important;flex:1 1 320px}
.nua-cta-h .elementor-heading-title{font-size:clamp(28px,3.2vw,38px)!important;color:#fff!important;margin:0}
.nua-cta-t{color:#fff;font-size:17px}
.nua-cta-btn .elementor-button{background:#fff;color:#8F3A00;font-weight:700;font-size:17px;padding:16px 34px;border-radius:99px}
@media(max-width:900px){.nua-steps>.elementor-container,.nua-team>.elementor-container{grid-template-columns:1fr 1fr}.nua-row>.elementor-container{grid-template-columns:1fr}}
@media(max-width:520px){.nua-steps>.elementor-container,.nua-team>.elementor-container{grid-template-columns:1fr}}

/* v2.0.3 toutes les polices du site viennent de Blocksy (Personnaliser > Typographie) */
body.nu-site .elementor h1,body.nu-site .elementor h2,body.nu-site .elementor h3,body.nu-site .elementor h4,body.nu-site .elementor h5,body.nu-site .elementor h6,
body.nu-site .elementor .elementor-heading-title,body.nu-site .elementor .elementor-icon-box-title,body.nu-site .elementor .elementor-icon-box-title a,
body.nu-site .elementor .elementor-image-box-title,body.nu-site .elementor .elementor-image-box-title a,
body.nu-site .elementor p,body.nu-site .elementor li,body.nu-site .elementor .elementor-icon-box-description,body.nu-site .elementor .elementor-image-box-description,
body.nu-site .elementor .elementor-icon-list-text,body.nu-site .elementor .elementor-button,body.nu-site .elementor .elementor-widget-text-editor,
body.nu-site .elementor .elementor-widget-container{font-family:var(--theme-font-family,inherit)!important}

/* v2.0.4 formules : 3 cartes côte à côte, qui passent à la ligne proprement, et bouton toujours lisible */
.nupx-row>.elementor-container{display:flex!important;flex-wrap:wrap;gap:24px;align-items:stretch;grid-template-columns:none!important;max-width:none!important}
.nupx-row .elementor-column{width:auto!important;flex:1 1 280px;max-width:calc(33.333% - 16px);min-width:260px}
.nupx-btn .elementor-button{color:var(--nu-or2)!important;background:var(--theme-palette-color-8,#fff)!important;border:1.5px solid var(--nu-or)!important}
.nupx-card.is-pop .nupx-btn .elementor-button,.nupx-btn .elementor-button:hover{background:var(--nu-or)!important;color:#fff!important}
@media(max-width:900px){.nupx-row .elementor-column{max-width:480px;flex-basis:100%}.nupx-card.is-pop{order:-1}}

/* v2.0.5 formules : toujours côte à côte sur ordinateur et tablette, empilées seulement sur téléphone */
@media(min-width:701px){
  .nupx-row>.elementor-container{flex-wrap:nowrap!important}
  .nupx-row .elementor-column{flex:1 1 0!important;min-width:0!important;max-width:none!important;width:auto!important}
  .nupx-card.is-pop{order:0!important}
}
@media(max-width:700px){
  .nupx-row>.elementor-container{flex-wrap:wrap!important}
  .nupx-row .elementor-column{flex:1 1 100%!important;max-width:480px!important;margin:0 auto}
  .nupx-card.is-pop{order:-1}
}

/* v2.0.6 formules : largeurs fixes en pourcentage (3 colonnes égales), plus aucun calcul automatique */
body .nupx-row>.elementor-container{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;gap:0!important;max-width:1200px!important;width:100%!important;margin:0 auto!important;grid-template-columns:none!important}
body .nupx-row>.elementor-container>.elementor-column{flex:0 0 auto!important;width:32%!important;max-width:32%!important;min-width:0!important;order:0!important;margin:0!important}
body .nupx-row .nupx-card>.elementor-widget-wrap{width:100%!important;height:100%!important;box-sizing:border-box}
@media(max-width:700px){
  body .nupx-row>.elementor-container{flex-wrap:wrap!important;justify-content:center!important;gap:24px!important}
  body .nupx-row>.elementor-container>.elementor-column{width:100%!important;max-width:480px!important}
  body .nupx-row>.elementor-container>.elementor-column.is-pop{order:-1!important}
}

/* ================= v2.1.0 : bandeau de page = comme l'accueil (texte à gauche, barre oblique + diaporama à droite) ================= */
body.nu-site .nu-hero2,body.nu-site .nu-hero{margin:0!important;padding:0!important;overflow:hidden}
body.nu-site .nu-hero2>.elementor-container{max-width:none!important;width:100%;display:grid!important;grid-template-columns:46% 54%;gap:0;align-items:stretch;min-height:500px}
body.nu-site .nu-hero2 .elementor-column{width:100%!important;display:flex}
body.nu-site .nu-hero2 .nu-hero2-text>.elementor-widget-wrap{padding:56px 30px 56px max(24px,calc((100vw - var(--nu-w))/2 + 24px))!important;align-content:center}
/* colonne photo : touche le menu et le bas de la section */
body.nu-site .nu-hero2 .nu-photo{position:relative;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;transform:none!important;padding:0!important;margin:0!important}
body.nu-site .nu-hero2 .nu-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--nu-or2),var(--nu-or));clip-path:polygon(14% 0,18% 0,4% 100%,0 100%);z-index:0}
body.nu-site .nu-hero2 .nu-photo::after{display:none!important}
body.nu-site .nu-hero2 .nu-photo>.elementor-widget-wrap{position:relative;z-index:1;width:100%;height:100%;min-height:500px!important;border-radius:0!important;overflow:hidden;clip-path:polygon(18% 0,100% 0,100% 100%,4% 100%);background-color:#14181F;align-content:stretch}
body.nu-site .nu-hero2 .nu-photo .elementor-widget{margin:0!important}
.nu-hs-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(20,24,31,.45);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.nu-hs-btn:hover,.nu-hs-btn:focus-visible{background:var(--nu-or,#E57E2F)}
.nu-hs-prev{left:12%}
.nu-hs-next{right:16px}
@media(max-width:900px){
  body.nu-site .nu-hero2>.elementor-container{grid-template-columns:1fr;min-height:0}
  body.nu-site .nu-hero2 .nu-hero2-text>.elementor-widget-wrap{padding:36px 24px!important}
  body.nu-site .nu-hero2 .nu-photo::before{display:none}
  body.nu-site .nu-hero2 .nu-photo>.elementor-widget-wrap{clip-path:none;min-height:280px!important}
  .nu-hs-prev{left:12px}
}
/* accueil : la photo remplit toute la zone oblique (v2.1.1) */
body.nu-site .nu-hero>.elementor-container{min-height:500px}
body.nu-site .nu-hero .nu-hero-media-col{display:flex}
body.nu-site .nu-hero .nu-hero-media-col .elementor-column-wrap,
body.nu-site .nu-hero .nu-hero-media-col .elementor-widget-wrap{width:100%;height:100%;align-content:stretch}
body.nu-site .nu-hero .nu-hero-media{height:100%;min-height:500px;background:#fff}
body.nu-site .nu-hero .nu-hero-media .elementor-widget-container,
body.nu-site .nu-hero .nu-hero-media .elementor-shortcode,
body.nu-site .nu-hero .nu-hero-media .n2-section-smartslider,
body.nu-site .nu-hero .nu-hero-media .n2-ss-align,
body.nu-site .nu-hero .nu-hero-media .n2-padding,
body.nu-site .nu-hero .nu-hero-media .n2-ss-slider,
body.nu-site .nu-hero .nu-hero-media .n2-ss-slider-wrapper-inside,
body.nu-site .nu-hero .nu-hero-media .n2-ss-slide{height:100%!important;min-height:500px}

/* de l'air entre le bandeau et la section suivante, sur toutes les pages */
body.nu-site .nu-hero2+.elementor-section>.elementor-container,
body.nu-site .nu-hero+.elementor-section>.elementor-container{padding-top:56px}
@media(max-width:900px){
  body.nu-site .nu-hero2+.elementor-section>.elementor-container,
  body.nu-site .nu-hero+.elementor-section>.elementor-container{padding-top:36px}
}

/* v2.3.1 : pages sans diaporama (ex. Nos réalisations) = bandeau compact, plus de grande marge */
body.nu-site:not(.nu-hero-slides) .nu-hero2>.elementor-container{min-height:0}
body.nu-site:not(.nu-hero-slides):not(.nu-hero-thumb) .nu-hero2>.elementor-container{grid-template-columns:1fr}
body.nu-site:not(.nu-hero-slides):not(.nu-hero-thumb) .nu-hero2 .nu-photo{display:none}
body.nu-site:not(.nu-hero-slides).nu-hero-thumb .nu-hero2 .nu-photo>.elementor-widget-wrap{min-height:380px!important}
body.nu-site:not(.nu-hero-slides) .nu-hero2:not(:has(.nu-hero2-text .elementor-widget)){display:none}

/* ================= v2.3.2 : bas de page homogène (espaces réguliers, mêmes titres) ================= */
/* « Comment ça se passe » : respire sous le contenu, titre de même taille que les autres */
body.nu-site .nu-steps-head{background:var(--nu-bg)!important;padding:64px 0 0!important;margin:0!important}
body.nu-site .nu-steps-head .nu-title .elementor-heading-title{font-size:clamp(24px,2.8vw,34px)!important;line-height:1.15!important;margin:0 0 8px!important}
body.nu-site .nu-steps{padding:16px 0 64px!important;margin:0!important}
/* bandeau « Une idée ? Un projet ? » */
body.nu-site .nu-cta{padding:44px 0!important;margin:0!important}
/* avis Google (modèle placé avant le pied de page) : bande blanche, espacée, alignée */
body.nu-site .elementor-8667{background:#fff!important;padding:48px 0 52px!important;margin:0!important;overflow:hidden}
body.nu-site .elementor-8667 .elementor-section,body.nu-site .elementor-8667 .elementor-container,body.nu-site .elementor-8667 .elementor-widget-wrap{background:transparent!important}
body.nu-site .elementor-8667 .elementor-section{padding-top:0!important;padding-bottom:0!important}
/* pas d'espace parasite entre le dernier bloc, la bande d'avis et le pied de page */
body.nu-site footer.ct-footer{margin-top:0!important}
@media(max-width:767px){
  body.nu-site .nu-steps-head{padding-top:44px!important}
  body.nu-site .nu-steps{padding-bottom:44px!important}
  body.nu-site .nu-cta{padding:32px 0!important}
  body.nu-site .elementor-8667{padding:32px 0 36px!important}
}

/* ================= v2.4.1 : FAQ (accordéon Elementor) ================= */
body.nu-site .nufaq-head{padding:56px 0 8px!important}
body.nu-site .nufaq{padding:8px 0 56px!important}
body.nu-site .nufaq-acc .elementor-accordion-item{border:1px solid #E5E7EB!important;border-radius:12px;margin-bottom:12px;overflow:hidden;background:#fff}
body.nu-site .nufaq-acc .elementor-tab-title{padding:18px 22px;border:0!important;background:#fff}
body.nu-site .nufaq-acc .elementor-accordion-title,body.nu-site .nufaq-acc .elementor-tab-title a{color:var(--nu-dk,#14181F)!important;font-weight:600;font-size:17px;font-family:var(--theme-font-family,inherit)}
body.nu-site .nufaq-acc .elementor-tab-title.elementor-active .elementor-accordion-title,
body.nu-site .nufaq-acc .elementor-tab-title.elementor-active a{color:var(--nu-or2,#C95A0B)!important}
body.nu-site .nufaq-acc .elementor-accordion-icon{color:var(--nu-or,#E57E2F)!important}
body.nu-site .nufaq-acc .elementor-tab-content{padding:0 22px 20px!important;border:0!important;color:var(--nu-gr,#5B6472);font-size:16px;line-height:1.7}
body.nu-site .nufaq-acc .elementor-tab-content p{margin:0}

/* ================= v2.4.2 : espace avant le bas de page (sauf si la page finit par le bandeau de contact) ================= */
body.nu-site.nu-page main#main:not(:has(.nu-cta:last-child)),
body.nu-site.nu-page .site-main:not(:has(.nu-cta:last-child)){padding-bottom:var(--nu-gap-footer,56px)!important}
@media(max-width:767px){
  body.nu-site.nu-page main#main:not(:has(.nu-cta:last-child)),
  body.nu-site.nu-page .site-main:not(:has(.nu-cta:last-child)){padding-bottom:calc(var(--nu-gap-footer,56px) * .7)!important}
}

/* v2.4.3 : espace sous les boîtes image, avant « Comment ça se passe » */
body.nu-site .nuib-row{padding-bottom:56px!important;margin-bottom:0!important}
@media(max-width:767px){body.nu-site .nuib-row{padding-bottom:36px!important}}

/* ================= v2.5.0 : bloc de texte SEO sous chaque page ================= */
body.nu-site .nuseo-head{background:#fff;padding:64px 0 8px!important}
body.nu-site .nuseo-cols{background:#fff;padding:8px 0 !important}
body.nu-site .nuseo-zone{background:#fff;padding:8px 0 64px!important}
body.nu-site .nuseo-head .nuseo-title .elementor-heading-title{font-size:clamp(24px,2.8vw,34px)!important;line-height:1.2!important;color:var(--nu-dk,#14181F)!important;margin:0 0 14px!important}
body.nu-site .nuseo-head .nuseo-text,body.nu-site .nuseo-head .nuseo-text p{max-width:820px;margin-left:auto;margin-right:auto}
body.nu-site .nuseo-text,body.nu-site .nuseo-text p{font-size:16px;line-height:1.8;color:var(--nu-gr,#5B6472)}
body.nu-site .nuseo-text p{margin:0 0 14px}
body.nu-site .nuseo-text a{color:var(--nu-or2,#C95A0B);text-decoration:underline;text-underline-offset:3px}
body.nu-site .nuseo-text a:hover{color:var(--nu-or,#E57E2F)}
body.nu-site .nuseo-cols>.elementor-container{gap:0}
body.nu-site .nuseo-cols .elementor-column .elementor-widget-wrap{padding:24px 28px!important}
body.nu-site .nuseo-cols .elementor-column:first-child .elementor-widget-wrap{border-right:1px solid #E5E7EB}
body.nu-site .nuseo-h3 .elementor-heading-title{font-size:19px!important;font-weight:600;color:var(--nu-dk,#14181F)!important;margin:0 0 8px!important;padding-left:12px;border-left:3px solid var(--nu-or,#E57E2F)}
body.nu-site .nuseo-zone .nuseo-zonetext{max-width:860px;margin:0 auto;background:var(--nu-bg,#F6F7F9);border-radius:12px;padding:20px 26px;font-size:15px}
body.nu-site .nuseo-zone .nuseo-zonetext p{margin:0}
@media(max-width:767px){
  body.nu-site .nuseo-head{padding-top:44px!important}
  body.nu-site .nuseo-zone{padding-bottom:44px!important}
  body.nu-site .nuseo-cols .elementor-column:first-child .elementor-widget-wrap{border-right:0}
}

/* ================= v2.7.2 : « Accueil » du menu remplacé par une maison (classe CSS du lien de menu : nu-home-icon) ================= */
header .menu-item.nu-home-icon>a,header .menu-item.nu-home-icon>a .ct-menu-link,
header .menu-item.nu-home-icon>a span{font-size:0!important;line-height:0!important;letter-spacing:0!important}
header .menu-item.nu-home-icon>a::before{content:"";display:inline-block;width:22px;height:22px;vertical-align:middle;background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ================= v2.8.0 : section « Des projets qui font la différence » avec les 16 métiers, sur fond blanc ================= */
body.nu-site .nu-real-white{background:#fff!important}
.nu-g16>.elementor-container{grid-template-columns:repeat(4,1fr)!important;gap:16px}
.nu-g16 .nu-card .elementor-widget-wrap{min-height:230px}
.nu-g16 .nu-card .elementor-heading-title{font-size:16px!important}
@media(max-width:1024px){.nu-g16>.elementor-container{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:767px){.nu-g16>.elementor-container{grid-template-columns:repeat(2,1fr)!important;gap:12px}.nu-g16 .nu-card .elementor-widget-wrap{min-height:170px}}

/* v2.8.1 : boîtes d'images cliquables */

/* ================= v2.9.1 : filtres des réalisations en pastilles douces ================= */
body .nu-filters{gap:8px!important;margin-bottom:30px}
body .nu-filters button{background:#F5F1EC!important;color:#4a4540!important;border:0!important;border-radius:999px!important;padding:8px 16px!important;font-size:14px!important;font-weight:500!important;line-height:1.4!important;box-shadow:none!important;transition:background .2s,color .2s}
body .nu-filters button:hover,body .nu-filters button:focus,body .nu-filters button:focus-visible{background:#EBE3DA!important;color:var(--theme-palette-color-2,#C95A0B)!important;border:0!important}
body .nu-filters button.is-on,body .nu-filters button.is-on:hover{background:var(--theme-palette-color-1,#E57E2F)!important;color:#fff!important;font-weight:600!important;border:0!important}
body .nu-filters button:active{background:var(--theme-palette-color-2,#C95A0B)!important;color:#fff!important}
@media(max-width:767px){body .nu-filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}body .nu-filters::-webkit-scrollbar{display:none}body .nu-filters button{flex:0 0 auto;white-space:nowrap}}

/* ================= v2.9.2 : forme des boutons unique, pilotée par Blocksy (Personnaliser > Général > Boutons > rayon de la bordure) ================= */
body .nu-btn,body .nu-btn:hover,body .nu-btn:focus,body .nu-btn:active,
body .nu-filters button,body .nu-filters button:hover,body .nu-filters button:focus,body .nu-filters button:focus-visible,body .nu-filters button:active,body .nu-filters button.is-on,
body .nupx-btn .elementor-button,body .nupx-btn .elementor-button:hover,body .nupx-btn .elementor-button:focus,
body .nuct-btn .elementor-button,body .nuct-btn .elementor-button:hover,body .nuct-btn .elementor-button:focus,
body .nua-cta-btn .elementor-button,body .nua-cta-btn .elementor-button:hover,body .nua-cta-btn .elementor-button:focus,
body .nuct-form .wpforms-submit,body .nuct-form .wpforms-submit:hover,body .nuct-form .wpforms-submit:focus,
body .elementor-widget-button .elementor-button,body .elementor-widget-button .elementor-button:hover,body .elementor-widget-button .elementor-button:focus,
body .wpforms-container .wpforms-submit,body .wpforms-container .wpforms-submit:hover,body .wpforms-container .wpforms-submit:focus,
header .ct-header-cta .ct-button,header .ct-header-cta .ct-button:hover,header .ct-header-cta .ct-button:focus{
  border-radius:var(--theme-button-border-radius,999px)!important}

/* v2.9.3 : boîtes d'images — photo = agrandissement, reste de la boîte = Nos réalisations */
.nuib-card{cursor:pointer}
.nuib-card .nuib-link{position:absolute;inset:0;z-index:2}
.nuib-card .nuib-zoom,.nuib-card .nuib-zoom a,.nuib-card .nuib-zoom img{cursor:zoom-in}
