/* ==========================
   FONTS
========================== */

/* ==========================================
   FONTS
========================================== */

@font-face {
    font-family: 'Cormorant Garamond';
    src: url('../fonts/CormorantGaramond-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cormorant Garamond';
    src: url('../fonts/CormorantGaramond-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cormorant Garamond';
    src: url('../fonts/CormorantGaramond-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


:root {
    --gold: #C1947A;
    --gold-light: #E2CBBF;
    --black: #222222;
    --white: #ffffff;
    --background: #faf9f7;
}

body{

    font-family:'Manrope',sans-serif;

    font-weight:400;

    color:var(--black);

    background:var(--white);

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

}

button:disabled{

    opacity:.75;

    cursor:not-allowed;

}

html {
    scroll-behavior: smooth;
}

@media (max-width: 768px){

    .contact-section{

        padding:80px 0;

    }

    .contact-card{

        padding:35px 25px;

        border-radius:20px;

    }

    .contact-choice{

        flex-direction:column;

        gap:12px;

    }
	
    .gallery-section{

        padding:80px 0;

    }

    .gallery-grid{

        gap:16px;

    }

    .hero{
        min-height:650px;
    }
	
	.hero .container{

        margin-top:-60px;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .hero-buttons .btn{

        width:280px;
        max-width:90%;

    }
    .hero-overlay{

        background:rgba(255,255,255,.68) !important;

    }
    .nav-link.active{
    
        color:var(--gold);
    
    }
    .nav-link::after{
    
        display:none;
    
    }

    .why-section{

        padding:80px 0;

    }

    .why-section h2{

        font-size:2.5rem;

    }

    .why-bottom{
    
        flex-direction:column;
    
        align-items:center;
    
        gap:15px;
    
    }
    .why-badge{
    
        width:100%;
    
        max-width:340px;
    
        justify-content:center;
    
    }
}

@media(max-width:992px){

    .gallery-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

.brand-black{

    color:#222;

}

.brand-gold{

    color:var(--gold);

    box-shadow:0 8px 25px rgba(200,155,97,.25);
    margin:0 3px;

}

.btn{

    font-family:'Cormorant Garamond',serif;

    font-weight:1000;

    letter-spacing:.6px;

}

.btn.btn-gold {
    background-color: var(--gold) !important;
    border: 1px solid var(--gold) !important;
    color: #fff !important;
    border-radius: 50px;
    padding: 10px 24px;
    transition: all .25s ease;
}

.btn.btn-gold:hover,
.btn.btn-gold:focus {
    background-color: #E2CBBF !important;
    border-color: #E2CBBF !important;
    color: #fff !important;
    transform: translateY(-2px);
}

.btn-outline-gold {

    background: rgba(255,255,255,.55);

    backdrop-filter: blur(10px);

    border: 2px solid var(--gold);

    color: #333;

    border-radius: 50px;

    padding: 10px 24px;

    transition: .25s;

}

.btn-outline-gold:hover{

    background: var(--gold-light);

    color:white;

}

.hidden{

    display:none !important;

}

/*=====================================
            CONTACT
=====================================*/

.contact-section{

    padding:120px 0;

    background:#fff;

}

.contact-card{

    background:#fff;
    border-radius:30px;

    padding:60px;

    box-shadow:0 20px 60px rgba(0,0,0,.05);

}

.contact-card h2{

    text-align:center;

    margin-bottom:20px;

}

.contact-header{

    margin-bottom:50px;

}

.contact-header h2{

    margin-bottom:18px;

}

.contact-subtitle{

    text-align:center;

    max-width:620px;

    margin:0 auto 50px;

    color:#666;

}

.contact-card label{

    font-weight:600;

    margin-bottom:8px;

    display:block;

}

.contact-card .form-control,
.contact-card .form-select{

    border-radius:14px;

    padding:14px 18px;

    border:1px solid #ddd;

}

.contact-card textarea{

    resize:none;

}

.contact-choice{

    display:flex;

    gap:25px;

    flex-wrap:wrap;

}

.contact-card button{

    width:100%;

    margin-top:20px;

}

.honeypot{

    position:absolute !important;

    left:-9999px !important;

    opacity:0 !important;

    pointer-events:none;

}

/*=====================================
            GALERIE
=====================================*/

.gallery-section{

    padding:120px 0;

    background:#fff;

}

.gallery-section h2{

    margin-bottom:18px;

    font-size:3rem;

}

.gallery-subtitle{

    max-width:720px;

    margin:0 auto 70px;

    color:#666;

    line-height:1.8;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

}

.gallery-item{

    overflow:hidden;

    border-radius:16px;

    display:block;

    background:#f8f8f8;

}

.gallery-item img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    transition:.5s;

    display:block;

}

.gallery-item:hover img{

    transform: scale(1.04);

}

.gold{

    color:var(--gold);
}

.goverlay{

    background:rgba(15,15,15,.94);

}


/* HERO */

.hero{

    background-image:url("../img/hero.png");

    background-size:cover;

    background-position:right center;

    min-height:850px;

    display:flex;

    align-items:center;

}

.hero h1{

    font-size:clamp(3rem,5vw,5rem);
    text-align:center;
    line-height:1.08;
    font-family:'Cormorant Garamond',serif;
    font-weight:500;

    letter-spacing:-1px;

    margin-bottom:30px;

    max-width:650px;

}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.hero-content{

    max-width:700px;

}

.hero-logo {
    display: block;
    width: 800px;
    max-width: 100%;
    height: auto;
}

.hero-overlay{

    width:100%;

    min-height:850px;
    padding: 0 5%;
    display:flex;

    align-items:center;

    background:
    linear-gradient(
        90deg,
        rgba(255,255,255,.78) 0%,
        rgba(255,255,255,.40) 40%,
        rgba(255,255,255,.10) 100%
    );

}

.navbar {
    padding: 12px 0;
    transition: .3s;
}

.navbar-brand{

    text-decoration:none;

}

.navbar-brand img {
    transition: .3s;
}

.nav-link {

    font-weight: 500;
    color: #333 !important;
    position:relative;
    margin-left: 18px;
    font-family:'Manrope',sans-serif;
    transition: .2s;

}

.nav-link::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-5px;

    width:0;

    height:2px;

    background:var(--gold);

    transition:.25s;

    transform:translateX(-50%);

}

.nav-link:hover::after{

    width:70%;

}

.nav-link:hover {

    color: var(--gold) !important;

}

.nav-link:hover::after{

    width:70%;

}

.nav-logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: 90px;
}

.navbar-toggler{

    width:52px;
    height:52px;

    border-radius:18px;

    border:1px solid rgba(193,148,122,.20);

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.25s;

    box-shadow:none !important;

}

.navbar-toggler:hover{

    border-color:var(--gold);

    background:rgba(193,148,122,.06);

}

.navbar-toggler:focus{

    box-shadow:none;

}

.navbar-toggler[aria-expanded="true"]{

    background:rgba(193,148,122,.10);

    border-color:var(--gold);

}

.navbar-toggler-icon{

    width:24px;

    height:24px;

    background-size:24px;

    filter: sepia(100%)
            saturate(250%)
            hue-rotate(340deg)
            brightness(.88);

}

.subtitle{

    font-size:1.35rem;
    text-align:center;
    color:#555;
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    line-height:1.6;

    margin-bottom:40px;

}


/* ==========================================
   POURQUOI CHOISIR
========================================== */

.why-badge{

    display:flex;

    align-items:center;

    gap:10px;

    padding:0;

    background:none;

    border:none;

}

.why-badge:hover{

    transform:translateY(-2px);

    background:rgba(193,148,122,.12);

}

.why-badge img{

    width:20px;

    height:20px;

}

.why-badge span{

    font-weight:500;

    color:#444;

}

.why-bottom{

    margin-top:90px;

    padding-top:40px;

    border-top:1px solid rgba(193,148,122,.15);

    display:flex;

    justify-content:space-evenly;

    align-items:center;

    flex-wrap:wrap;

    gap:30px;

}

.why-section{

    padding:120px 0;

    background:white;

}

.why-section h2{

    font-size:3.2rem;

    margin-bottom:20px;

}

.why-intro{

    max-width:750px;

    margin:0 auto;

    color:#666;

    font-size:1.15rem;

    line-height:1.9;

}

.why-item{

    text-align:center;

    padding:15px;

}

.why-icon{

    font-size:2.2rem;

    color:var(--gold);

    margin-bottom:22px;

}

.why-icon img{

    width:42px;

    height:42px;

    filter: brightness(0) saturate(100%)
            invert(73%) sepia(18%)
            saturate(684%)
            hue-rotate(346deg)
            brightness(89%)
            contrast(88%);

}

.why-item h3{

    margin-bottom:18px;

    font-size:2rem;

}

.why-item p{

    color:#666;

    line-height:1.8;

    max-width:420px;

    margin:auto;

}




/* ==========================================
   FOOTER
========================================== */

.footer{

    background:var(--white);

    border-top:1px solid #ece6e1;

    padding:80px 0 35px;

}

.footer-logo{

    display:block;

    width:100%;

    max-width:900px;

    height:auto;

    margin:0 auto 30px;

    object-fit:contain;

}

.footer img{

    max-width:100%;

    overflow:hidden;

}

.footer-text{

    color:#777;

    font-size:1.05rem;

    max-width:650px;

    margin:0 auto;

}

.footer-separator{

    margin:45px 0;

    opacity:.15;

}

.footer-icon{

    font-size:2rem;

    color:var(--gold);

    margin-bottom:15px;

}

h2,
h3,
h4,
.footer-title{

    font-family:'Cormorant Garamond',serif;

    font-weight:600;

}

.footer-title{

    margin-bottom:8px;

}

.footer a{

    color:#555 !important;

    text-decoration:none;

    transition:.25s;

}

.footer a:hover{

    color:var(--gold) !important;

}

.footer .row:last-child{

    color:#888;

    font-size:.95rem;

}



/*=============================
      FORMULAIRE ETAPES
=============================*/

.form-progress{

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:45px;

}

.progress-step{

    text-align:center;

}

.progress-step span{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid #ddd;

    color:#999;

    margin:auto;

    transition:.3s;

}

.progress-step.active span{

    background:var(--gold);

    border-color:var(--gold);

    color:white;

}

.progress-step p{

    margin-top:10px;

    font-size:.9rem;

    color:#888;

}

.progress-step.active p{

    color:#222;

}

.progress-line{

    width:90px;

    height:1px;

    background:#ddd;

    margin:0 20px;

}



/* ---------- Page Merci ---------- */

.status-card{

    background:#fff;

    border-radius:18px;

    padding:45px;

    text-align:center;

    box-shadow:0 12px 35px rgba(0,0,0,.06);

}

.status-icon{

    font-size:4rem;

    margin-bottom:20px;

}

.status-card h2{

    margin-bottom:20px;

    font-weight:300;

}

.status-card p{

    color:#666;

    line-height:1.8;

}

.status-card.success .status-icon{

    color:#4CAF50;

}

.status-card.warning .status-icon{

    color:#d8a94b;

}

.status-card.danger .status-icon{

    color:#d9534f;

}