/* Cohérence globale DCP Constructions - version 13 */
:root{
  --dcp-header-white:#ffffff;
  --dcp-header-ink:#1d271f;
  --dcp-header-muted:#5a665d;
  --dcp-header-green:#6f9f35;
  --dcp-header-green-dark:#4e7627;
  --dcp-header-line:#dfe5df;
}

html{scroll-padding-top:90px}
body,
body.home-v2,
body.service-v5,
body.site-v6{
  font-family:"Montserrat",Arial,sans-serif;
}

/* Même bandeau blanc sur les trois générations de pages du site. */
.main-header,
.home-v2 .main-header,
.v5-header,
.v6-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--dcp-header-white)!important;
  border-bottom:1px solid var(--dcp-header-line)!important;
  box-shadow:0 7px 22px rgba(18,35,22,.09)!important;
  backdrop-filter:none!important;
}

.nav-container,
.home-v2 .nav-container,
.v5-nav,
.v6-nav{
  min-height:84px;
}

.logo-link img,
.home-v2 .logo-link img,
.v5-logo img,
.v6-logo img{
  object-fit:contain;
}

.home-v2 .nav-item>a,
.nav-item>a,
.v5-links a,
.v6-links a{
  color:var(--dcp-header-ink)!important;
  font-family:"Montserrat",Arial,sans-serif;
  font-weight:700;
}

.home-v2 .nav-item:hover>a,
.home-v2 .nav-item.active>a,
.nav-item:hover>a,
.nav-item.active>a,
.v5-links a:hover,
.v5-links a.active,
.v6-links a:hover,
.v6-links a.active{
  color:var(--dcp-header-green-dark)!important;
}

.home-v2 .nav-item>a::after,
.nav-item>a::after{
  background:var(--dcp-header-green)!important;
}

.home-v2 .submenu,
.submenu,
.v5-nav.open .v5-links,
.v6-nav.open .v6-links{
  background:#fff!important;
  border-color:var(--dcp-header-line)!important;
  box-shadow:0 14px 34px rgba(18,35,22,.13)!important;
}

.home-v2 .submenu li a,
.submenu li a{
  color:var(--dcp-header-ink)!important;
}

.home-v2 .submenu li a:hover,
.submenu li a:hover{
  background:#f1f5ef!important;
  color:var(--dcp-header-green-dark)!important;
}

.home-v2 .header-social,
.social-square,
.v5-social,
.v6-social{
  background:#f4f7f2!important;
  border:1px solid #cad5ca!important;
  color:var(--dcp-header-ink)!important;
}

.home-v2 .header-social:hover,
.social-square:hover,
.v5-social:hover,
.v6-social:hover{
  border-color:var(--dcp-header-green)!important;
  color:var(--dcp-header-green-dark)!important;
}

.home-v2 .header-cta,
.v5-quote,
.v6-quote{
  background:var(--dcp-header-green)!important;
  color:#10180f!important;
  border:1px solid var(--dcp-header-green)!important;
}

.home-v2 .header-cta:hover,
.v5-quote:hover,
.v6-quote:hover{
  background:#7dad43!important;
}

.home-v2 .nav-toggle,
.nav-toggle,
.v5-toggle,
.v6-toggle{
  background:#f4f7f2!important;
  border:1px solid #cad5ca!important;
  color:var(--dcp-header-ink)!important;
  border-radius:7px!important;
}

/* Dimensions strictement identiques entre l'accueil et les pages internes. */
.home-v2 .nav-container,
.v5-wrap.v5-nav,
.v6-wrap.v6-nav{
  width:min(92%,1280px)!important;
  min-height:86px!important;
  padding:8px 0!important;
  margin:0 auto!important;
  gap:22px!important;
}

.home-v2 .logo-link,
.v5-logo,
.v6-logo{
  width:150px!important;
  flex:0 0 150px!important;
}

.home-v2 .logo-link img,
.v5-logo img,
.v6-logo img{
  width:150px!important;
  height:70px!important;
  max-height:70px!important;
}

.home-v2 .nav-list,
.v5-links,
.v6-links{
  gap:23px!important;
  font-size:13px!important;
}

.v6-file-field{margin-top:2px}
.v6-file-field input[type="file"]{
  padding:10px;
  background:#f7f9f6;
  border-style:dashed;
  cursor:pointer;
}
.v6-file-field input[type="file"]::file-selector-button{
  margin-right:12px;
  padding:9px 12px;
  border:0;
  border-radius:8px;
  background:var(--dcp-header-green);
  color:#10180f;
  font:700 12px "Montserrat",Arial,sans-serif;
  cursor:pointer;
}
.v6-file-help{
  color:#68736b;
  font-size:11px;
  font-weight:500;
  line-height:1.45;
}

.contact-page .v6-hero:before{
  background:linear-gradient(90deg,rgba(4,8,5,.96) 0%,rgba(4,8,5,.86) 48%,rgba(4,8,5,.38) 100%)!important;
}
.contact-page .v6-hero-inner{
  padding:34px 38px!important;
  border-left:4px solid var(--dcp-header-green);
  border-radius:0 14px 14px 0;
  background:rgba(7,13,9,.68);
  box-shadow:0 18px 45px rgba(0,0,0,.25);
}
.contact-page .v6-hero h1,
.contact-page .v6-hero p{
  text-shadow:0 2px 10px rgba(0,0,0,.85);
}
.contact-page .v6-hero p{
  color:#fff!important;
  font-weight:600;
}

body.dcp-zoom-open{overflow:hidden}
.dcp-photo-zoom{
  position:fixed;
  inset:0;
  z-index:5000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:38px;
  background:rgba(5,9,6,.94);
}
.dcp-photo-zoom.is-open{display:flex}
.dcp-photo-zoom figure{margin:0;max-width:min(92vw,1500px);max-height:90vh;display:grid;gap:10px}
.dcp-photo-zoom img{display:block;max-width:100%;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.dcp-photo-zoom figcaption{text-align:center;color:#fff;font:600 13px "Montserrat",Arial,sans-serif}
.dcp-photo-zoom-close{position:absolute;right:24px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#fff;color:#172019;font-size:32px;line-height:1;cursor:pointer}

@media(min-width:961px) and (hover:hover) and (pointer:fine){
  .gallery-item img,
  .home-case-pair img,
  .v5-shot img,
  .case-frame img{cursor:zoom-in}
}

@media(max-width:960px){
  .home-v2 .main-nav.open,
  .v5-nav.open .v5-links,
  .v6-nav.open .v6-links{
    background:#fff!important;
    color:var(--dcp-header-ink)!important;
    border-top:1px solid var(--dcp-header-line)!important;
    box-shadow:0 18px 30px rgba(18,35,22,.14)!important;
    z-index:1001!important;
  }
  .home-v2 .main-nav.open,
  .v6-nav.open .v6-links{
    top:86px!important;
  }
  .home-v2 .main-nav.open{
    padding:14px 4%!important;
  }
  .v5-nav.open .v5-links a,
  .v6-nav.open .v6-links a,
  .home-v2 .main-nav.open .nav-item>a{
    border-color:var(--dcp-header-line)!important;
    color:var(--dcp-header-ink)!important;
  }
  .home-v2 .main-nav.open .nav-item>a,
  .v5-nav.open .v5-links a,
  .v6-nav.open .v6-links a{
    width:100%;
    padding:13px 0;
    border-bottom:1px solid var(--dcp-header-line)!important;
  }
}

@media(max-width:620px){
  html{scroll-padding-top:72px}
  .nav-container,
  .home-v2 .nav-container,
  .v5-nav,
  .v6-nav{
    min-height:70px;
  }
  .home-v2 .nav-container,
  .v5-wrap.v5-nav,
  .v6-wrap.v6-nav{
    width:min(100% - 28px,1280px)!important;
    min-height:70px!important;
    padding:4px 0!important;
  }
  .home-v2 .logo-link,
  .v5-logo,
  .v6-logo{
    width:120px!important;
    flex-basis:120px!important;
  }
  .home-v2 .logo-link img,
  .v5-logo img,
  .v6-logo img{
    width:120px!important;
    height:62px!important;
    max-height:62px!important;
  }
  .dcp-photo-zoom{display:none!important}
  .contact-page .v6-hero-inner{
    margin:0 14px!important;
    padding:28px 24px!important;
  }
  .home-v2 .main-nav.open,
  .v6-nav.open .v6-links{
    top:70px!important;
  }
}
