/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/* FONTS */
@font-face {
    font-family: "Montserrat";
    src: url('fonts/Montserrat-Regular.woff2') format('woff2'),
        url('fonts/Montserrat-Regular.woff') format('woff'),
        url('fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Montserrat";
    src: url('fonts/Montserrat-Bold.woff2') format('woff2'),
        url('fonts/Montserrat-Bold.woff') format('woff'),
        url('fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Open Sans";
    src: url('fonts/OpenSans-Regular.woff2') format('woff2'),
        url('fonts/OpenSans-Regular.woff') format('woff'),
        url('fonts/OpenSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Open Sans";
    src: url('fonts/OpenSans-SemiBold.woff2') format('woff2'),
        url('fonts/OpenSans-SemiBold.woff') format('woff'),
        url('fonts/OpenSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
/* FONTS -- END */


body {
margin: 0;
background: white;
font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
font-weight: 400;
}
body:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/wine-cork.png');
    opacity: 0.35;
    pointer-events: none;
    z-index: 0;
}
h1 { font-size: 50px; z-index: 1; color: black; text-align: center;font-family: "Open Sans", Arial, Helvetica, sans-serif;}
.container{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
flex-direction: column;
/* height: 100vh; */
padding:10px;

}

p {
    margin: 0;
}

img{
margin-bottom: 25px;
}



/* ======== Partie Texte ======== */

.btn-text {
    padding: 13px 19px;
    border-radius: 50px;
    transition: background-color 200ms, color 200ms;
}


.social_link{
    margin-top:100px;
}



.page-title {
    margin: 0;
}
.page-desc,
.page-form {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}
.in-building {
    height: 50px;
    width: 50px;
}

.page-form {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    .split {
        display: flex;
        justify-content: space-between;
        margin-bottom: 1rem;
        .splited {
            width: 46%;
        }
    }
    input, textarea, select {
        padding: .5rem;
        border: 0;
        border-radius: 4px;
        background: #FFF;
        color: #000 !important;
        font-family: "Open Sans", Arial, Helvetica, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: 150%; 
        letter-spacing: 0.16px;
    }
    textarea {
        margin-top: 1rem;
    }
    .checkbox {
        margin-top: 1rem;
    }
    .form-btn {
        width: fit-content;
        align-self: center;
        border: none;
        margin-top: 2rem;
        padding: 12px 20px;
        cursor: pointer;
        border-radius: 51.575px;
        background: #ccc;
        color: #000;
        font-family: "Open Sans";
        font-size: 14px;
        font-weight: 700 !important;
        line-height: 110%;
        letter-spacing: -0.63px;
    }

    .form-btn.active {
        background: #FAB03D;
    }
}

.sunlight-logo {
    margin-bottom: 0;
    max-width: 300px;
}

.tel {
    color: black;
}

/* LANDING SUNLIGHT SEPTEMBRE */

[class*=o-ctn] {
    margin-left: auto;
    margin-right: auto;
    padding: 0 132px;
}

@media (max-width: 1065px) {
  [class*=o-ctn] {
    padding: 0 40px;
  }
}

.o-ctn-lg {
    max-width: 1440px ;
}

.header {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    position: relative;
    z-index: 9999;
}

.header_logo img {
    margin: 0;
}

.header_ctn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px 0;
}

.header_nav nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    gap: 20px;
    align-items: center;
}

.header_nav nav ul li a {
    text-decoration: none;
    color: white;
    font-size: 14px;
}

@media (max-width: 1065px) {
    .header_nav {
        display: none;
    }
}

.hero {
    margin-top: -116.5px;
    height: 100vh;
    background: url('images/hero-sunlight-2.png') no-repeat center center/cover;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    position: relative;
    z-index: 1;
}
.hero::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.45);
}


.hero h1 {
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: -2.25px;
    color: white;
    position: relative;
    margin-top: -142px;
}

.hero h1 img {
    width: 600px;
}

@media (max-width: 1065px) {
    .hero {
        height: 50vh;
    }
    .hero::before {
        height: 50vh;
    }
    .hero h1 {
        font-size: 35px;
        margin-top: initial;
    }
    .hero h1 img {
        width: 280px;
    }
}

.bold {
    font-weight: 700;
}

.semi-bold {
    font-weight: 600;
}

.entreprise {
    padding: 93px 0 124px 0;
}

.entreprise .o-ctn-lg {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.entreprise_txt {
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    line-height: 40px;
    letter-spacing: -1.35px;
    font-size: 30px;
    font-weight: 400;
    max-width: 820px;
    text-align: center;
}

@media (max-width: 1065px) {
    .entreprise_txt {
        line-height: 25px;
        letter-spacing: -1.35px;
        font-size: 22px;
    }
}

.entreprise_txt p {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.72px;
    margin: 19px 0 0 0;
}

@media (max-width: 1065px) {
    .entreprise_txt p {
        font-size: 14px;
    }
}

.entreprise_txt::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #FAB03D;
    margin: 50px auto 0; 
}

h3 {
    font-weight: 400 !important;
    margin: 0;
}

.entreprise_card {
    padding: 45px 18px;
    border-radius: 15px;
    background: #F4F4F4;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 265px;
}

.entreprise_card img {
    margin: 0;
    height: 108px;
    width: 108px;
}

.entreprise_chiffres {
    padding-top: 45px;
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 1rem;
}

.entreprise_txt h3 img {
    width: 250px;
}

@media (max-width: 1065px) {

    .entreprise {
        padding: 50px 0 80px 0;
    }

    .entreprise_txt h3 img {
        width: 200px;
    }
    h3 {
        font-size: 22px;
    }
    .entreprise_chiffres {
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
    }
}

.entreprise_chiffres p {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    padding: 15px 0 0 0;
}

.underline::after {
    content: "";
    display: block;
    width: 32px;
    height: 2px;
    background: #FAB03D;
    margin: 15px auto 0; 
}

.banner {
    position: relative;
    height: 309px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
}

.banner-bg {
    position: absolute;
    top: 49%;
    left: 0%;
    width: 148%;
    height: 234%;
    background: url(images/banner-2.jpg) no-repeat center center;
    background-size: cover;
    will-change: transform;
    transform: translateZ(0);
}

.banner::before {
    content: "";
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%; 
    height: 100%;
    background: rgba(0,0,0,0.45);
    z-index: 3;
}

.banner > * {
    position: relative;
    z-index: 2;
}


.plaquette {
    padding: 125px 0 145px 0;
}

.plaquette_ctn {
    position: relative;
}

.plaquette_txt {
    border-radius: 15px;
    background: #F4F4F4;
    padding: 55px 35px;
}

.plaquette_txt h3 {
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    font-size: 30px;
    font-weight: 700 !important;
    line-height: 40px;
    letter-spacing: -1.35px;
}

.plaquette_btns {
    display: flex;
    gap: 20px;
    padding-top: 25px;
}



.plaquette_btns a, .download_btn {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    text-decoration: none;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: -0.63px;
    color: black !important;
    border-radius: 51.575px;
    background: #FAB03D;
    padding: 15px 10px;
    display: inline-block;
    transition: background 0.3s ease, color 0.3s ease;
}

.plaquette_btns a:hover, .download_btn:hover {
    background: black;
    color: white !important;
}

.plaquette_img {
    width: 488px;
    height: 358px;
    position: absolute;
    top: -50px;
    right: 45px;
}

@media (min-width: 1281px) and (max-width: 1440px) {
    .plaquette_txt h3 {
        font-size: 22px;
        line-height: 30px;
    }
}

@media (min-width: 992px) and (max-width: 1280px) {
    .plaquette_img {
        position: static;
        width: 400px;
        height: auto;
    }
    .plaquette_btns {
        flex-direction: column;
    }
    .plaquette_btns a {
        text-align: center;
    }
    .plaquette_ctn {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
    }
    .plaquette {
        padding: 60px 0;
    }
    .plaquette_txt h3 {
        text-align: center;
        font-size: 22px;
        line-height: 30px;
    }
}

@media (max-width: 1065px) {
    .plaquette_img {
        position: static;
        width: 350px;
        height: auto;
    }
    .plaquette_btns {
        flex-direction: column;
    }
    .plaquette_btns a {
        text-align: center;
    }
    .plaquette_ctn {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
    }
    .plaquette {
        padding: 60px 0;
    }
    .plaquette_txt h3 {
        text-align: center;
        font-size: 22px;
        line-height: 30px;
    }
}
.contact {
    background: #F4F4F4;
    padding: 60px 0;
}

.contact h3 {
    color: #000;
    text-align: center;
    font-family: Montserrat;
    font-size: 30px;
    font-weight: 700;
    line-height: 40px; /* 133.333% */
    letter-spacing: -1.35px;
}

@media (max-width: 1065px) {
   .contact h3 {
        font-size: 22px;
        line-height: 25px;
    }
}

.page-form {
    max-width: 460px;
}

.contact_ctn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#nom, #prenom, #email, #message, #telephone {
    margin-top: 18px;
}

#type-demande::placeholder,
#nom::placeholder, 
#prenom::placeholder, 
#email::placeholder, 
#message::placeholder,
#telephone::placeholder {
    color: #000;
}

.footer {
    padding: 43px 0 29px 0;
}

.footer_ctn {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.footer_ctn nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

.footer_ctn nav ul a {
    text-decoration: none;
    color: black;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 26px;
    letter-spacing: 0.14px;
}

.footer_ctn nav ul li {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 26px;
    letter-spacing: 0.14px;
}

.select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.select-wrapper select {
  width: 100%;
  padding-right: 40px;
  border-radius: 4px;
  background: #fff;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
}

.select-wrapper::after {
  content: "⏷";
  font-size: 18px;
  color: #000;
  position: absolute;
  right: 18px;
  top: 48%;
  transform: translateY(-50%);
  pointer-events: none;
}

/* Bouton sticky */
.sticky-download {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #FAB03D;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 22px;
  z-index: 1000;
  transition: width 0.3s, height 0.3s, border-radius 0.3s;
  padding: 10px;
}

.sticky-download .download {
  width: 20px;
  height: 20px;
  transition: margin-right 0.3s;
}

.sticky-download .label {
  position: absolute;
  right: 11px;
  color: #000;
  padding: 6px 12px;
  border-radius: 20px;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(10px);
  transition: all 0.2s ease;
  font-size: 14px;
  pointer-events: none;
}

.sticky-download:hover {
  width: 222px;
  height: 35px;
  border-radius: 44px; 
  justify-content: flex-start;
}

.sticky-download:hover .label {
  opacity: 1;
  transform: translateX(0);
}

.sticky-download:hover .download {
  margin-right: 10px;
}

.sticky-download:not(:hover) .label {
  opacity: 0;
}

.download {
  margin-bottom: 0;
}



/* bouton burger */
.burger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 14px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10000;
  transition: transform 0.3s ease;
}

.burger span {
  display: block;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: 0.3s;
  transition: 0.3s ease;
  width: 100%;
}

/* Burger transformé en croix */
.burger.active span:nth-child(1) {
    transform: rotate(45deg);
    position: relative;
    top: 7px;
    background: #000;
}

.burger.active span:nth-child(2) {
    opacity: 0;
}

.burger.active span:nth-child(3) {
    transform: rotate(-45deg);
    position: relative;
    top: -5px;
    background: #000;
}

.header_nav.open {
    transform: translateY(0);
    opacity: 1;
}

.header_nav {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.logo_mobile {
    display: none;
}


@media (max-width: 1065px) {
  .burger {
    display: flex;
  }

  .header_nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #fff;
    transform: translateY(-100%);
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
  }

  .header_nav nav {
    width: 100%;
  }

  .header_nav nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;    
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;

  }

  .header_nav nav ul li {
    margin: 10px 0;
  }

  .header_nav nav ul li a {
    color: #000;
    font-size: 16px;
    text-decoration: none;
  }

  .header_nav.open {
    transform: translateY(0);
    opacity: 1;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding: 40px 50px;
    flex-direction: column;
  }

  .logo_mobile {
    display: block;
    margin-bottom: 40px;
    width: 100px;
    height: auto;
  }

  .header_logo img {
    width: 100px;
  }
}

.catalogue_btn {
    width: 40px;
    height: fit-content;
    position: absolute;
    margin: 0;
    right: 7px;
}

.download_btn {
    display: flex;
    align-items: center;
    padding: 15px 55px 15px 10px;
    position: relative;
}

.hero.legal {
    height: 50vh;
}

.hero.legal h1 {
    font-weight: 600;
}

.legal_txt {
    padding: 80px 0;
}

.legal_txt h2 {
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    font-weight: 600;
}

.legal_txt h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #FAB03D;
}

.hero.legal h1 {
    margin: initial;
}

.grecaptcha-badge {
    display: none !important;
}

html {
    scroll-behavior: smooth;
}