/*
Theme Name: NOVALEC
Theme URI: https://novalec.fr
Author: Save Time
Description: Thème sur-mesure pour NOVALEC, entreprise du bâtiment tous corps d'état (gros œuvre, second œuvre, curage & démolition, désamiantage). Direction « Vert Nuit » : sombre cinématique, accent vert eco.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: novalec
Tags: business, construction, one-column, custom-logo, custom-menu, featured-images, translation-ready
*/

/* =========================================================
   NOVALEC — Direction « Vert Nuit »
   Sombre cinématique · liste éditoriale · marquee
   Accent = vert eco (#1F5E44 profond / #3FA972 clair)
   ========================================================= */

/* -------- Utilitaires WordPress requis -------- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background-color:#fff;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#1F5E44;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.alignwide{max-width:1240px;margin-inline:auto}
.alignfull{width:100%}
.aligncenter{margin-inline:auto;display:block}
.alignleft{float:left;margin-right:1.5rem}
.alignright{float:right;margin-left:1.5rem}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.85rem;color:var(--muted)}
.sticky{display:block}

:root{
  --bg:      #0E0F11;
  --surface: #17191D;
  --surface2:#202329;
  --line:    rgba(255,255,255,.09);
  --txt:     #ECEBE6;
  --muted:   #9AA0A6;
  --lime:    #3FA972;   /* vert clair de A — pop sur le noir */
  --lime-deep:#1F5E44;  /* vert profond de A */
  --beton:   #ECE9E4;   /* béton clair (section rappel A) */
  --anthracite:#1A1D21;
  --graphite:#565C63;

  --font-display:'Archivo','Arial Narrow',sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;

  --container:1240px;
  --gutter:clamp(1.25rem,4vw,3rem);
  --sec:clamp(4rem,8vw,7.5rem);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--txt);line-height:1.65;font-size:clamp(1rem,.97rem+.15vw,1.06rem);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}

h1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1;letter-spacing:-.015em}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--sec)}

.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;color:var(--lime);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--lime)}

.btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--lime);color:#0E0F11;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.86rem;padding:1rem 1.6rem;border-radius:2px;transition:transform .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease)}
.btn svg{transition:transform .35s var(--ease)}
.btn:hover{transform:translateY(-3px);background:#fff;box-shadow:0 16px 30px -14px rgba(63,169,114,.5)}
.btn:hover svg{transform:translateX(4px)}
.btn--ghost{background:transparent;color:var(--txt);border:1.5px solid rgba(255,255,255,.28)}
.btn--ghost:hover{background:#fff;color:#0E0F11;border-color:#fff}

/* Header */
.d-header{position:fixed;inset:0 0 auto 0;z-index:100;padding-block:1.1rem;transition:background .4s var(--ease),padding .4s var(--ease),border-color .4s;border-bottom:1px solid transparent}
.d-header.scrolled{background:rgba(14,15,17,.9);backdrop-filter:blur(10px);border-color:var(--line);padding-block:.7rem}
.d-header__in{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.d-logo{height:38px}.d-logo svg{height:100%;width:auto}
.d-nav{display:flex;align-items:center;gap:1.6rem}
.d-nav__list{display:flex;gap:1.5rem}
.d-nav__list a{font-weight:500;font-size:.94rem;color:var(--txt);white-space:nowrap;position:relative;padding-block:.25rem}
.d-nav__list a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--lime);transition:width .3s var(--ease)}
.d-nav__list a:hover::after{width:100%}
.d-burger{display:none;width:44px;height:44px;flex-direction:column;gap:6px;justify-content:center;align-items:center}
.d-burger span{width:24px;height:2px;background:var(--txt)}

/* Hero */
.d-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.d-hero__media{position:absolute;inset:0;z-index:-2}
.d-hero__media img{width:100%;height:115%;object-fit:cover;object-position:center 35%;filter:grayscale(.25) contrast(1.05)}
.d-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,17,.7),rgba(14,15,17,.35) 40%,rgba(14,15,17,.95))}
.d-hero__in{width:100%;padding-block:clamp(6rem,12vh,9rem) clamp(3rem,7vh,5rem)}
.d-hero__tag{margin-bottom:1.6rem}
.d-hero h1{font-size:clamp(2.8rem,8.5vw,7rem);max-width:16ch}
.d-hero h1 .hl{color:var(--lime)}
.d-hero__sub{margin-top:1.5rem;max-width:52ch;color:rgba(236,235,230,.82);font-size:clamp(1.05rem,1.3vw,1.22rem)}
.d-hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}

/* Marquee */
.d-marquee{background:var(--lime);color:#0E0F11;overflow:hidden;white-space:nowrap;border-block:1px solid rgba(0,0,0,.15)}
.d-marquee__track{display:inline-flex;gap:2.5rem;padding-block:.85rem;animation:marq 26s linear infinite;font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:1.05rem}
.d-marquee__track span{display:inline-flex;align-items:center;gap:2.5rem}
.d-marquee__track span::after{content:"◆";color:rgba(14,15,17,.55);font-size:.7em}
@keyframes marq{to{transform:translateX(-50%)}}

/* Stats */
.d-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.d-stats__i{padding:clamp(1.6rem,3vw,2.4rem);border-right:1px solid var(--line)}
.d-stats__i:last-child{border-right:none}
.d-stats__n{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4.5vw,3.3rem);line-height:1}
.d-stats__n .u{color:var(--lime)}
.d-stats__l{margin-top:.4rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

/* Section head */
.sec-head{max-width:680px;margin-bottom:clamp(2.4rem,4vw,3.6rem)}
.sec-head h2{font-size:clamp(2.1rem,4.4vw,3.5rem);text-transform:uppercase;margin-top:1rem}
.sec-head p{margin-top:1rem;color:var(--muted)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}

/* Services — liste éditoriale */
.d-list{border-top:1px solid var(--line)}
.d-row{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;padding:clamp(1.5rem,3.2vw,2.6rem) .5rem;border-bottom:1px solid var(--line);position:relative;transition:padding .4s var(--ease),color .4s var(--ease)}
.d-row::before{content:"";position:absolute;inset:0;background:var(--lime);transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease);z-index:-1}
.d-row:hover{color:#0E0F11;padding-inline:1.5rem}
.d-row:hover::before{transform:scaleY(1);transform-origin:top}
.d-row__n{font-family:var(--font-display);font-weight:800;font-size:1.1rem;opacity:.55}
.d-row:hover .d-row__n{opacity:1}
.d-row__t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,3.4vw,2.5rem);letter-spacing:-.01em}
.d-row__d{max-width:44ch;color:var(--muted);font-size:.95rem}
.d-row:hover .d-row__d{color:rgba(14,15,17,.75)}
.d-row__go{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:0 0 auto;transition:.4s var(--ease)}
.d-row:hover .d-row__go{border-color:#0E0F11;background:#0E0F11;color:var(--lime);transform:rotate(-45deg)}
@media (max-width:760px){.d-row{grid-template-columns:auto 1fr}.d-row__d{display:none}}

/* Engagements */
.d-eng{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.d-eng__i{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1.7rem;transition:transform .4s var(--ease),border-color .4s,background .4s}
.d-eng__i:hover{transform:translateY(-6px);border-color:var(--lime);background:var(--surface2)}
.d-eng__ic{width:48px;height:48px;border-radius:8px;background:rgba(198,242,78,.14);color:var(--lime);display:grid;place-items:center;margin-bottom:1.1rem}
.d-eng__i h3{font-size:1.1rem;text-transform:none}
.d-eng__i p{margin-top:.5rem;font-size:.9rem;color:var(--muted)}

/* Process */
.d-proc{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.d-proc__s{padding-top:1.6rem;border-top:2px solid var(--line);position:relative}
.d-proc__s::after{content:"";position:absolute;top:-2px;left:0;width:38%;height:2px;background:var(--lime)}
.d-proc__n{font-family:var(--font-display);font-weight:800;font-size:2.2rem;color:var(--lime);line-height:1}
.d-proc__s h3{font-size:1.1rem;text-transform:none;margin-top:.5rem}
.d-proc__s p{margin-top:.5rem;color:var(--muted);font-size:.92rem}

/* Réalisations — strip horizontale */
.d-strip{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory}
.d-strip::-webkit-scrollbar{height:8px}
.d-strip::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:100px}
.d-strip figure{position:relative;flex:0 0 clamp(260px,32vw,380px);scroll-snap-align:start;border-radius:6px;overflow:hidden;aspect-ratio:3/4}
.d-strip img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15);transition:transform .8s var(--ease),filter .5s}
.d-strip figure:hover img{transform:scale(1.06);filter:none}
.d-strip figcaption{position:absolute;inset:auto 0 0 0;padding:1.1rem;background:linear-gradient(transparent,rgba(14,15,17,.9))}
.d-strip figcaption span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--lime);font-weight:700}
.d-strip figcaption b{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.05rem;margin-top:.2rem}
.d-hint{margin-top:.6rem;color:var(--muted);font-size:.82rem}

/* CTA */
.d-cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.d-cta h2{font-size:clamp(2rem,4vw,3.3rem);text-transform:uppercase}
.d-cta p{margin-top:1rem;color:var(--muted);max-width:44ch}
.d-cta__c{margin-top:1.8rem;display:grid;gap:.9rem}
.d-cta__c a{display:inline-flex;align-items:center;gap:.8rem;font-weight:500}
.d-cta__c .ic{width:42px;height:42px;border-radius:8px;background:rgba(198,242,78,.14);color:var(--lime);display:grid;place-items:center;flex:0 0 auto}
.d-form{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(1.6rem,3vw,2.4rem)}
.d-form h3{font-size:1.3rem;text-transform:none;margin-bottom:1.3rem}
.d-field{margin-bottom:.9rem}
.d-field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem;color:var(--muted)}
.d-field input,.d-field select,.d-field textarea{width:100%;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:4px;background:var(--bg);color:var(--txt);font-family:inherit;font-size:.96rem;transition:border-color .3s}
.d-field input::placeholder,.d-field textarea::placeholder{color:#63696f}
.d-field input:focus,.d-field select:focus,.d-field textarea:focus{outline:none;border-color:var(--lime)}
.d-field textarea{resize:vertical;min-height:96px}
.d-form .row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.d-form .btn{width:100%;justify-content:center;margin-top:.4rem}
.d-form small{display:block;text-align:center;color:var(--muted);font-size:.76rem;margin-top:.8rem}

/* Footer */
.d-footer{border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,4.5rem) 1.8rem}
.d-footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.2rem;padding-bottom:2.6rem;border-bottom:1px solid var(--line)}
.d-footer__logo{height:40px;margin-bottom:1.1rem}.d-footer__logo svg{height:100%;width:auto}
.d-footer p{font-size:.9rem;color:var(--muted)}
.d-footer h4{text-transform:uppercase;font-size:.9rem;letter-spacing:.08em;margin-bottom:1rem}
.d-footer li{margin-bottom:.55rem;font-size:.9rem;color:var(--muted)}
.d-footer a:hover{color:var(--lime)}
.d-footer__bot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.4rem;font-size:.8rem;color:#5b6067}

/* Reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.2s}.reveal[data-delay="3"]{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.d-marquee__track{animation:none}}

/* Mobile menu */
.d-mobile{position:fixed;inset:0;z-index:99;background:var(--surface);display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:2rem var(--gutter);transform:translateX(100%);transition:transform .5s var(--ease)}
.d-mobile.open{transform:none}
.d-mobile a{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.7rem;padding-block:.55rem;border-bottom:1px solid var(--line)}
.d-mobile a:hover{color:var(--lime)}
.d-mobile .btn{margin-top:1.4rem;justify-content:center}
.d-mobile__x{position:absolute;top:1.4rem;right:var(--gutter);font-size:2rem;width:44px;height:44px}

/* Responsive */
@media (max-width:960px){
  .d-nav__list{display:none}.d-nav .btn{display:none}.d-burger{display:flex}
  .d-stats{grid-template-columns:1fr 1fr}
  .d-stats__i:nth-child(2){border-right:none}
  .d-stats__i:nth-child(1),.d-stats__i:nth-child(2){border-bottom:1px solid var(--line)}
  .d-eng{grid-template-columns:1fr 1fr}
  .d-proc{grid-template-columns:1fr 1fr;gap:2rem 1.3rem}
  .d-cta__grid{grid-template-columns:1fr}
  .d-footer__top{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .d-stats{grid-template-columns:1fr}
  .d-stats__i{border-right:none;border-bottom:1px solid var(--line)}
  .d-eng{grid-template-columns:1fr}.d-proc{grid-template-columns:1fr}
  .d-form .row{grid-template-columns:1fr}
  .d-footer__top{grid-template-columns:1fr}
}

/* =========================================================
   GABARITS WORDPRESS (pages, articles, 404)
   ========================================================= */
.page-head{padding-block:clamp(7rem,12vw,9rem) clamp(1.5rem,3vw,2.5rem)}
.page-title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1;margin-top:1rem}
.page-desc{margin-top:1rem;color:var(--muted);max-width:60ch}
.page-cover{margin-bottom:1rem}
.page-cover img{width:100%;border-radius:6px}

.entry{max-width:75ch;font-size:1.05rem}
.entry > * + *{margin-top:1.2rem}
.entry h2,.entry h3,.entry h4{font-family:var(--font-display);font-weight:800;margin-top:2.4rem;line-height:1.15}
.entry h2{font-size:1.9rem}.entry h3{font-size:1.45rem}.entry h4{font-size:1.2rem}
.entry p,.entry li{color:#C9CDD2}
.entry a{color:var(--lime);text-decoration:underline;text-underline-offset:3px}
.entry a:hover{color:#fff}
.entry ul,.entry ol{padding-left:1.3rem}
.entry ul li{list-style:disc}.entry ol li{list-style:decimal}
.entry li + li{margin-top:.4rem}
.entry img{border-radius:6px;height:auto}
.entry blockquote{border-left:3px solid var(--lime);padding-left:1.2rem;color:var(--txt);font-size:1.15rem}
.entry code{background:var(--surface2);padding:.15em .4em;border-radius:3px;font-size:.9em}
.entry pre{background:var(--surface2);padding:1rem;border-radius:6px;overflow:auto}
.entry table{width:100%;border-collapse:collapse}
.entry th,.entry td{border:1px solid var(--line);padding:.6rem;text-align:left}

.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .4s var(--ease),border-color .4s}
.post-card:hover{transform:translateY(-5px);border-color:var(--lime)}
.post-card__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.post-card__body{padding:1.3rem;display:flex;flex-direction:column;gap:.5rem}
.post-card__body time{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.post-card__body h2{font-family:var(--font-display);font-weight:800;font-size:1.2rem;line-height:1.2}
.post-card__body p{font-size:.92rem;color:var(--muted)}
.post-card__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--lime);font-weight:600;font-size:.88rem;margin-top:auto;padding-top:.6rem}

.pagination{margin-top:2.5rem}
.pagination .nav-links{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.pagination a,.pagination span{padding:.6rem 1rem;border:1px solid var(--line);border-radius:4px;font-weight:600;font-size:.9rem}
.pagination a:hover{border-color:var(--lime);color:var(--lime)}
.pagination .current{background:var(--lime);color:#0E0F11;border-color:var(--lime)}

.d-form__notice{background:rgba(63,169,114,.1);border:1px solid rgba(63,169,114,.3);color:var(--txt);font-size:.85rem;padding:.9rem 1rem;border-radius:4px;margin-bottom:1.2rem;line-height:1.5}

@media (max-width:960px){.post-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr}}

/* -------- Menu mobile issu de wp_nav_menu (ul > li > a) -------- */
.d-mobile__list{width:100%;display:flex;flex-direction:column;gap:.3rem}
.d-mobile__list li{list-style:none}
.d-mobile__list a{display:block;width:100%}

/* -------- Section claire "béton" (rappel de la direction A) -------- */
.section.paper{background:var(--beton);color:var(--anthracite)}
.section.paper .eyebrow{color:var(--lime-deep)}
.section.paper .eyebrow::before{background:var(--lime-deep)}
.section.paper .sec-head h2{color:var(--anthracite)}
.section.paper .sec-head p{color:var(--graphite)}
.section.paper .d-proc__s{border-top-color:#D9D3C8}
.section.paper .d-proc__s::after{background:var(--lime-deep)}
.section.paper .d-proc__n{color:var(--lime-deep)}
.section.paper .d-proc__s h3{color:var(--anthracite)}
.section.paper .d-proc__s p{color:var(--graphite)}
.section.paper .btn{background:var(--lime-deep);color:#fff}
.section.paper .btn:hover{background:#164632}
