/* =========================================================
   C DESIGN — feuille de style custom
   Palette : Vert sauge #475946 / Vert olive #6B7F4E / Taupe bois #A68B73
             Beige pierre #D9D2C6 / Anthracite #2F2F2F / Blanc cassé #F7F6F2
   Titres  : Tenor Sans   |   Texte : Manrope   |   Accent : Cormorant Garamond Italic
   ========================================================= */

:root{
  --vert-sauge: #475946;
  --vert-olive: #6B7F4E;
  --taupe-bois: #A68B73;
  --beige-pierre: #D9D2C6;
  --anthracite: #2F2F2F;
  --blanc-casse: #F7F6F2;
}

html, body{ width:100%; height:100%; }

body{
  font-family: 'Manrope', sans-serif;
  color: var(--anthracite);
  background-color: var(--blanc-casse);
}

h1, h2, h3, h4, .cd-brand, .cd-hero-title{
  font-family: 'Tenor Sans', sans-serif;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.cd-accent{
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
}

p, li, a, .cd-body{
  font-family: 'Manrope', sans-serif;
}

hr.cd-rule{
  max-width: 50px;
  border-color: var(--vert-olive);
  border-width: 2px;
  margin: 18px auto;
}

.cd-rule-left{ margin-left: 0; }

/* ---------------------------------------------------------
   NAV
--------------------------------------------------------- */
#mainNav{
  background-color: rgba(71,89,70,0.97);
  border: none;
  box-shadow: 0 1px 0 rgba(255,255,255,0.08);
  min-height: 76px;
}

#mainNav .navbar-brand{
  font-family: 'Tenor Sans', sans-serif;
  font-size: 22px;
  letter-spacing: 2px;
  color: #fff;
  height: auto;
  padding: 26px 15px;
}

#mainNav .navbar-nav > li > a{
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  letter-spacing: 1.1px;
  color: rgba(255,255,255,0.92);
  padding: 30px 16px;
}

#mainNav .navbar-nav > li > a:hover,
#mainNav .navbar-nav > li > a:focus,
#mainNav .navbar-nav > li.active > a{
  color: #fff;
  background-color: rgba(255,255,255,0.08);
}

#mainNav .navbar-toggle{
  border-color: rgba(255,255,255,0.65);
  margin-top: 20px;
}
#mainNav .navbar-toggle .icon-bar{
  background-color: #fff;
}

/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */
.cd-hero{
  position: relative;
  min-height: 720px;
  background-image: url(../img/img-2.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: local;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-top: 76px;
}

.cd-hero:before{
  content:"";
  position:absolute;
  top:0; left:0; width:100%; height:100%;
  background: linear-gradient(
    90deg,
    rgba(22,30,20,0.72) 0%,
    rgba(22,30,20,0.55) 34%,
    rgba(22,30,20,0.22) 62%,
    rgba(22,30,20,0.02) 100%
  );
}

.cd-hero-inner{
  position: relative;
  z-index: 2;
  width: 100%;
}

.cd-hero-content{
  color: var(--blanc-casse);
  text-align: left;
}

.cd-hero-title{
  font-family: 'Tenor Sans', sans-serif;
  font-size: 62px;
  line-height: 1.06;
  letter-spacing: 0.2px;
  color: #fff;
  margin: 0 0 22px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.28);
}

.cd-hero-text{
  font-size: 18px;
  max-width: 610px;
  line-height: 1.6;
  margin-bottom: 30px;
  color: rgba(255,255,255,0.96);
}

.cd-hero-actions{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.cd-btn{
  display: inline-block;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  letter-spacing: 1px;
  padding: 14px 28px;
  border: 1px solid rgba(255,255,255,0.88);
  color: #fff;
  background: rgba(0,0,0,0.08);
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.cd-btn:hover, .cd-btn:focus{
  background-color: var(--vert-olive);
  border-color: var(--vert-olive);
  color: #fff;
  text-decoration: none;
}

.cd-btn-solid{
  background-color: var(--vert-olive);
  border-color: var(--vert-olive);
}
.cd-btn-solid:hover,
.cd-btn-solid:focus{
  background-color: var(--vert-sauge);
  border-color: var(--vert-sauge);
}

@media (max-width: 991px){
  .cd-hero{ min-height: 640px; }
  .cd-hero-title{ font-size: 48px; }
}

@media (max-width: 767px){
  #mainNav{ min-height: 60px; }
  #mainNav .navbar-brand{ padding: 20px 15px; font-size: 20px; }
  #mainNav .navbar-nav > li > a{ padding: 12px 18px; }
  #mainNav .navbar-collapse{ background-color: var(--vert-sauge); border-top: 1px solid rgba(255,255,255,0.12); }

  .cd-hero{
    min-height: 560px;
    padding-top: 60px;
    background-position: 62% center;
  }
  .cd-hero:before{
    background: rgba(24,31,22,0.56);
  }
  .cd-hero-content{
    padding-left: 9%;
    padding-right: 9%;
  }
  .cd-hero-title{ font-size: 38px; }
  .cd-hero-text{ font-size: 16px; }
  .cd-hero-actions{ display: block; }
  .cd-btn{
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
  }
}

/* ---------------------------------------------------------
   SECTIONS GÉNÉRALES
--------------------------------------------------------- */
.cd-section{ padding: 90px 0; }
.cd-section-alt{ background-color: var(--beige-pierre); }

.cd-eyebrow{
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  color: var(--vert-olive);
}

.cd-h2{
  font-size: 32px;
  color: var(--vert-sauge);
  margin-top: 6px;
  margin-bottom: 20px;
}

.cd-lead{
  font-size: 17px;
  line-height: 1.75;
  max-width: 640px;
}

.cd-lead p{ margin-bottom: 18px; }

/* Présentation — texte + photo */
.cd-presentation-photo{
  width: 100%;
  height: 100%;
  min-height: 380px;
  background-image: url(../img/img-1.jpg);
  background-position: center;
  background-size: cover;
}

/* Cartes savoir-faire matériaux */
.cd-material-card{
  background-color: #fff;
  padding: 34px 26px;
  height: 100%;
  border-top: 2px solid var(--vert-olive);
}

.cd-material-card h3{
  font-size: 19px;
  color: var(--vert-sauge);
  margin-top: 0;
}

.cd-material-card p{
  font-size: 15px;
  line-height: 1.6;
  color: var(--anthracite);
}

/* Bloc différenciation sur fond foncé */
.cd-values{
  background-color: var(--vert-sauge);
  color: var(--blanc-casse);
  padding: 90px 0;
}

.cd-values .cd-h2{ color: var(--blanc-casse); }
.cd-values .cd-eyebrow{ color: var(--beige-pierre); }

.cd-value-item{ margin-bottom: 28px; }
.cd-value-item h4{
  font-size: 17px;
  margin-bottom: 6px;
}
.cd-value-item p{
  font-size: 15px;
  color: var(--beige-pierre);
  line-height: 1.6;
}

/* Réalisations — galerie intégrée à la page */
.cd-gallery-item{
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
}
.cd-gallery-item img{
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}
.cd-gallery-caption{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 16px 18px;
  background: linear-gradient(0deg, rgba(30,36,26,0.75) 0%, rgba(30,36,26,0) 100%);
  color: #fff;
  font-size: 13px;
}

/* CTA devis */
.cd-cta{
  background-color: var(--anthracite);
  color: var(--blanc-casse);
  text-align: center;
  padding: 70px 0;
}
.cd-cta .cd-h2{ color: var(--blanc-casse); }
.cd-cta p{
  font-size: 16px;
  color: var(--beige-pierre);
  max-width: 560px;
  margin: 0 auto 28px;
}

/* ---------------------------------------------------------
   FOOTER
--------------------------------------------------------- */
.cd-footer{
  background-color: var(--vert-sauge);
  color: var(--beige-pierre);
  padding: 50px 0 25px;
  font-size: 14px;
}
.cd-footer h5{
  font-family: 'Tenor Sans', sans-serif;
  color: #fff;
  font-size: 15px;
  letter-spacing: 1px;
  margin-bottom: 16px;
}
.cd-footer a{
  color: var(--beige-pierre);
}
.cd-footer a:hover{
  color: #fff;
  text-decoration: none;
}
.cd-footer .cd-copy{
  border-top: 1px solid rgba(247,246,242,0.2);
  margin-top: 30px;
  padding-top: 20px;
  font-size: 12px;
  text-align: center;
  color: rgba(247,246,242,0.7);
}



#mainNav .navbar-brand {
    height: 76px;
    padding: 15px;
    display: flex;
    align-items: center;
}

.logo-cdesign {
    display: block;
    width: 180px;
    height: auto;
}



.cd-presentation-section {
    padding-top: 120px;
    padding-bottom: 100px;
}

.cd-presentation-photo {
    width: 100%;
    min-height: 420px;
    background-image: url(../img/img-1.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

.cd-transmission {
    margin-top: 45px;
}

.cd-transmission .cd-lead {
    max-width: 100%;
}






/* Style cookie-banner */
#cookie-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    text-align: center;
    padding: 15px 10px;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    flex-wrap: wrap; /* Permet de passer sur plusieurs lignes si nÃ©cessaire */
    justify-content: center; /* Centre les Ã©lÃ©ments horizontalement */
    align-items: center; /* Aligne verticalement */
    gap: 10px; /* Espacement entre les Ã©lÃ©ments */
}

/* Style pour le texte */
#cookie-banner p {
    margin: 0;
    flex: 1 1 auto; /* Permet au texte de s'adapter Ã  l'espace disponible */
    font-size: 16px; /* Taille de la police */
    line-height: 1.5; /* AmÃ©liore la lisibilitÃ© */
}

/* Style pour le bouton */
#cookie-banner button {
    background-color: orange;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px 20px;
    font-size: 14px;
    cursor: pointer;
    flex-shrink: 0; /* EmpÃªche le bouton de rÃ©trÃ©cir */
}

/* Lien dans le texte */
#cookie-banner a {
    color: orange;
    text-decoration: underline;
}

/* Adaptation pour les petits Ã©crans */
@media (max-width: 768px) {
    #cookie-banner {
        flex-direction: column; /* Les Ã©lÃ©ments se superposent */
        text-align: center; /* Texte centrÃ© */
    }

    #cookie-banner p {
        font-size: 14px; /* RÃ©duction de la taille de la police pour petits Ã©crans */
    }

    #cookie-banner button {
        margin-top: 10px; /* Ajoute un espacement entre le texte et le bouton */
        padding: 8px 15px;
    }
}



/* =========================================================
   PAGE D'ATTENTE
   ========================================================= */

/* Sur la page d'attente, la navigation ne contient que le logo. */
#mainNav .navbar-header{
  float: left;
}

/* Le bloc d'attente remplace provisoirement la présentation du site complet. */
.cd-waiting{
  background-color: var(--blanc-casse);
  padding-top: 115px;
  padding-bottom: 105px;
}

.cd-waiting .cd-h2{
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.cd-waiting-text{
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.cd-contact-line{
  margin-top: 34px;
}

.cd-contact-links a{
  color: var(--vert-sauge);
  font-weight: 600;
}

.cd-contact-links a:hover,
.cd-contact-links a:focus{
  color: var(--vert-olive);
  text-decoration: none;
}

@media (max-width: 767px){
  .logo-cdesign{
    width: 145px;
  }

  .cd-waiting{
    padding-top: 80px;
    padding-bottom: 70px;
  }
}

.section2 {
    margin: 0;
    padding: 0;
}

.section2 img {
    width: 100%;
    display: block;
}


