/*
*@colors
*/
:root{
  --primary-color:#fff;
  --secondary-color:#000;
	--c1:   #A9C8D8;
	--c2:   #E5B8AA;
	--c3:   #A9BC8E;
	--c4:   #e9e0e1;
	--bleu: #386786;
	--dark: #3a3a4a;
}
@font-face {
  font-family: 'AndaraScript';
  src: url('/site/css/AndaraScript-Demo.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/*
  ####  ###### #    # ###### #####    ##   #
 #    # #      ##   # #      #    #  #  #  #
 #      #####  # #  # #####  #    # #    # #
 #  ### #      #  # # #      #####  ###### #
 #    # #      #   ## #      #   #  #    # #
  ####  ###### #    # ###### #    # #    # ######
*/

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:'Poppins', sans-serif; color:var(--dark); }


h1, h2 {
  font-family: 'AndaraScript', cursive !important;
}

body{
  color:var(--secondary-color);
}

:root {
  --rose: #e9e0e1;
  --moyen: #d9e5ec;
  --bleu: #386786;
  --dark: #2c2c2c;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
header,.navbar {
  position:fixed; 
  top:0; 
  left:0; 
  width:100%; 
  z-index:100;
  background:rgba(255,255,255,0.75); 
  backdrop-filter:blur(6px);
  padding:14px 40px; 
  display:flex; 
  align-items:center; 
  justify-content:space-between;
}

.navbar-brand { 
  font-weight:800; 
  font-size:1rem; 
  color:var(--dark); 
  text-decoration:none; 
  border-bottom:2.5px solid var(--dark); 
}

nav a,.nav-link {  
  color:var(--dark)!important; 
  text-decoration:none; 
  margin-left:28px; 
}

nav a:hover,.nav-link:hover { color:var(--bleu)!important; }
@media(max-width:767px) {

  header,.navbar { 
    padding:12px 20px; 
    position:relative; 
  }

}
body { font-family:'Poppins', sans-serif; color:var(--dark); }
.navbar-nav .nav-link {
    font-size: 1.2rem; /* augmente la taille */
}

a{
	color:#000;
}

/*
 #    # ###### #    # #    #
 ##  ## #      ##   # #    #
 # ## # #####  # #  # #    #
 #    # #      #  # # #    #
 #    # #      #   ## #    #
 #    # ###### #    #  ####
*/
.navbar{
  background-color: rgba(255,255,255,0.5);
  /* z-index 3 to be above bootstrap form floating labels */
  z-index:3;
}

/*
  ####   ####  #    # ##### ###### #    # #    #
 #    # #    # ##   #   #   #      ##   # #    #
 #      #    # # #  #   #   #####  # #  # #    #
 #      #    # #  # #   #   #      #  # # #    #
 #    # #    # #   ##   #   #      #   ## #    #
  ####   ####  #    #   #   ###### #    #  ####
*/

.img-hero-wrapper{
	background-image:url('../../images/img-bg.jpg');
	background-repeat:no-repeat;
	background-position:center top;
	background-size:cover;
	background-attachment:fixed;
}



/* HERO */
.img-hero-wrapper {
  height: 80vh; /*  hauteur réduite */
}


/* HERO */
.img-collab-wrapper {
  position: relative;
  margin-left: calc(-50vw + 50%);
  height: 300px;
  overflow: hidden;
}

.img-collab-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
}

.img-collab-wrapper::after {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, rgba(255,255,255,0.6) 30%, rgba(255,255,255,0) 65%),
    linear-gradient(to bottom, rgba(255,255,255,0) 60%, rgba(255,255,255,0.7) 85%, rgba(255,255,255,1) 100%);
  pointer-events:none;
}



/* CARTES */
.section-cartes { 
  margin-top:-80px; 
}

.bloc {
  padding:44px 28px; 
  border-radius:20px 20px 0 0;
  height:100%;
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  text-align:center; 
  justify-content:space-between;
  transition:transform .3s,box-shadow .3s;
}

.bloc-1 { background:var(--rose); color:var(--dark); }
.bloc-2 { background:var(--moyen); color:var(--dark); }
.bloc-3 { background:var(--bleu); color:#fff; }

.bloc h3 { font-weight:700; margin-bottom:16px; }
.bloc p  { font-size:.9rem; line-height:1.6; margin-bottom:24px; flex-grow:1; }

.btn-custom {
  display:inline-flex; 
  align-items:center; 
  gap:6px; 
  padding:8px 22px;
  border:1.5px solid currentColor; 
  border-radius:30px; 
  font-weight:600;
  font-size:.85rem; 
  text-decoration:none; 
  color:inherit; 
  transition:background .25s,color .25s;
}

.btn-custom::before { content:'›'; }

.bloc-1 .btn-custom:hover,
.bloc-2 .btn-custom:hover { background:var(--dark); color:#fff; }

.bloc-3 .btn-custom:hover { background:#fff; color:var(--bleu); }

/* BIENVENUE */
.section-bienvenue { 
  padding: 0;
  position: relative;
  z-index: 2;
}

.section-bienvenue h2 { 
  font-size:2.4rem; 
  margin-bottom:24px; 
}

.section-bienvenue p  { 
  font-size:.9rem; 
  line-height:1.75; 
  color:#333; 
  margin-bottom:14px; 
}

.section-entreprises {
  background: #d9e5ec; /* bleu clair */
  padding: 100px 0;
}

.col-12 .btn-custom:hover { background:var(--dark); color:#fff; }

.section-entreprises h2 {
  font-size: 2.5rem;
  margin-bottom: 30px;
}

.section-entreprises p {
  font-size: .95rem;
  line-height: 1.7;
}

.section-entreprises ul {
  padding-left: 18px;
  margin-bottom: 20px;
}

.section-entreprises li {
  margin-bottom: 8px;
}
.section-creation{
	background-color: #e9e0e1; 
	padding: 150px 0;
}
.btn-entreprise {
  display: inline-block;
  padding: 10px 30px;
  border: 1.5px solid #d9e5ec;
  border-radius: 30px;
  text-decoration: none;
  color: #d9e5ec;
  font-weight: 600;
  transition: 0.3s;
}

.btn-entreprise:hover {
  background: #d9e5ec;
  color: #fff;
}

.section-valeurs {
  position: relative;
  padding: -40px 0; /* espace pour permettre le débordement */
}

.box-valeurs {
  background-color:#386786;
  color:white;
  border-radius:15px;
  margin-top: -100px;   /* déborde vers le haut */
  margin-bottom: -100px; /*  déborde vers le bas */
}

.section-particuliers {
  background-color: #e9e0e1;
  margin-top: 25px;
  padding: 60px 0;
  min-height: 500px; 

}
.culture-quote {
    position: relative;
    padding-left: 30px; /* espace pour la barre */
}

.culture-quote::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;              /* épaisseur */
    height: 100%;            /* hauteur = texte */
    background-color: #cfcfcf;
    border-radius: 3px;
}




/* PAGE DEONTOLOGIE */
main.deontologie {
    max-width: 960px;
    margin: 0 auto;
    padding: 48px 24px 72px;
  }

  
 .deontologie .charter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
  }

 .deontologie .block {
    display: flex;
    align-items: stretch;
    min-height: 130px;
  }

 .deontologie .block-left  { flex-direction: row; }
 .deontologie .block-right { flex-direction: row-reverse; }

 .deontologie .num {
    font-family: 'Baloo 2', cursive;
    font-size: 3.2rem;
    font-weight: 800;
    width: 58px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

 .deontologie .arrow {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 18px 26px 18px 20px;
  }

 .deontologie .block-left .arrow {
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
	border-radius: 20px;
  }
 .deontologie .block-right .arrow {
    clip-path: polygon(22px 0, 100% 0, 100% 100%, 22px 100%, 0 50%);
    padding: 18px 20px 18px 34px;
	border-radius: 20px;
  }

 .deontologie .arrow-inner strong {
    display: block;
    font-weight: 900;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .4px;
    line-height: 1.3;
    color: var(--dark);
    margin-bottom: 7px;
  }
  .deontologie .arrow-inner p {
    font-size: .9rem;
    line-height: 1.55;
    color: rgba(0,0,0,.65);
    font-weight: 400;
  }

  .deontologie .c-1    { background: var(--c1);   }
  .deontologie .c-2    { background: var(--c2);   }
  .deontologie .c-3    { background: var(--c3);   }
  .deontologie .c-4    { background: var(--c4);   }
  .deontologie .c-bleu { background: var(--bleu); }

  .deontologie .n-1    { color: var(--c1);   }
  .deontologie .n-2    { color: var(--c2);   }
  .deontologie .n-3    { color: var(--c3);   }
  .deontologie .n-4    { color:var(--c4);    }
  .deontologie .n-bleu { color: var(--bleu); }

  .deontologie .c-bleu .arrow-inner strong { color: #fff; }
  .deontologie .c-bleu .arrow-inner p      { color: rgba(255,255,255,.88); }

  @media (max-width: 600px) {
    .deontologie .charter-grid { grid-template-columns: 1fr; }
    .deontologie .block-right  { flex-direction: row; }
    .deontologie .block-right .arrow {
      clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
      padding: 18px 32px 18px 20px;
    }
    .deontologie .num { width: 50px; font-size: 2.6rem; }
  }

/* PAGE PRESENTATION */

/* BLOC */
.section-bienvenue .bloc {
  padding:100px 200px;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:visible;
}

.section-bienvenue .bloc-1 {
  background:var(--rose);
}

/* Image principale */
.section-bienvenue .portrait-img {
  position: relative;
  left: 50%;
  transform: translateX(-35%); /* centre parfaitement */

  width: 140%;        /* grande image */
  max-width: 700px;   /* limite sur grand écran */

  border-radius: 25px;
  display: block;
}



/* RESPONSIVE */
@media(max-width:767px){

  .section-bienvenue .bloc {
    padding:60px 30px;
  }

  .section-bienvenue .portrait-img {
    width:100%;
  transform: translateX(-50%); /* centre parfaitement */

  }


  .section-bienvenue .mini-bloc-bg {
    width:80%;
    height:60%;
  }

  .section-bienvenue .img-collab-wrapper {
    height:400px;
  }
}



/*
 ######  ####   ####  ##### ###### #####
 #      #    # #    #   #   #      #    #
 #####  #    # #    #   #   #####  #    #
 #      #    # #    #   #   #      #####
 #      #    # #    #   #   #      #   #
 #       ####   ####    #   ###### #    #
*/

.footer-custom {
    position: relative;
    margin-top: 130px;
    padding: 60px 0;
}

/* Trait séparateur */
.footer-custom::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 85%;              /* largeur du trait */
    height: 6px;             /* épaisseur */
    background-color: #dcdcdc;
}

.footer-custom h4 {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 15px;
}

.footer-custom p {
    margin-bottom: 8px;
}

.footer-custom ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-custom ul li {
    margin-bottom: 6px;
}

.footer-custom ul li::before {
    content: "›";
    margin-right: 8px;
    color: #555;
}

.footer-custom a {
    text-decoration: none;
    color: #333;
}

.footer-custom a:hover {
    text-decoration: underline;
}



/*
 #####  ######  ####  #####   ####  #    #  ####  # #    # ######
 #    # #      #      #    # #    # ##   # #      # #    # #
 #    # #####   ####  #    # #    # # #  #  ####  # #    # #####
 #####  #           # #####  #    # #  # #      # # #    # #
 #   #  #      #    # #      #    # #   ## #    # #  #  #  #
 #    # ######  ####  #       ####  #    #  ####  #   ##   ######
*/

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

}

/* Medium devices (tablets, 768px and up) 
@media (min-width: 768px) {
  header,.navbar { 
    padding:12px 20px; 
    position:relative; 
  }

  .section-cartes { 
    margin-top:24px; 
  }

  .section-bienvenue img { 
    margin:0 auto 32px; 
  }
.section-particuliers{
  position: relative;
}

}*/

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
.img-hero-wrapper img{
	padding-top:20vh;
}

}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

}
