/* =========================================================
   VISION PAGE ONLY
    contact.css
========================================================= */

/* =========================================================
   HERO VISION
========================================================= */

.contact-hero{
    position:relative;
    height:48vh;
    overflow:hidden;
}

.contact-hero-image{
    position:absolute;
    inset:0;
}

.contact-hero-image img{
    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center center;

    animation:visionHeroZoom 24s ease-in-out infinite alternate;
}

@keyframes visionHeroZoom{

    0%{
        transform:scale(1);
    }

    100%{
        transform:scale(1.05);
    }
}

.contact-hero-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to bottom,

            rgba(0,0,0,.06) 0%,
            rgba(0,0,0,.16) 55%,
            rgba(0,0,0,.24) 78%,

            rgba(250,248,244,.25) 92%,
            rgba(250,248,244,.70) 97%,
            #FAF8F4 100%
        );
}

/* =========================================================
   INTRO
========================================================= */

.contact-intro{
    text-align:center;
    padding:110px 20px 40px;
    max-width:1100px;
    margin:0 auto;
}


.contact-intro .titre-serif{
    margin-top:18px;
}

/* =========================================================
   FORMULAIRE
========================================================= */

.form-contact{
    margin-top:45px;
}

.form-row{
    display:flex;
    gap:28px;
    margin-bottom:10px;
}

.form-group{
    flex:1;

    display:flex;
    flex-direction:column;

    margin-bottom:42px;
}

.form-group label{
    font-size:0.68rem;

    text-transform:uppercase;
    letter-spacing:2.6px;

    margin-bottom:14px;

    color:#888;
}

.form-group input,
.form-group textarea,
.select-luxe{

    width:100%;

    border:none;
    border-bottom:1px solid #ddd;

    padding:14px 0;

    background:transparent;

    font-family:'Montserrat',sans-serif;
    font-size:0.92rem;
    line-height:1.55;

    outline:none;

    transition:
    border-color .35s ease;
}

.form-group input:focus,
.form-group textarea:focus,
.select-luxe:focus{
    border-bottom:1px solid #111;
}

.form-group textarea{
    resize:vertical;
}
.form-group textarea{
    min-height:150px;
    padding-top:13px;
}
.select-luxe{
    appearance:none;
    cursor:pointer;
}

.optional{
    font-size:.75em;
    font-weight:400;
    opacity:.55;
    text-transform:none;
    letter-spacing:normal;
}

.form-note{
    max-width:620px;
    margin-top:-16px;
}

.form-note__label{
    margin:0 0 10px 0;

    font-size:0.68rem;
    text-transform:uppercase;
    letter-spacing:2.6px;
    color:#888;
}

.form-note__text{
    margin:0;

    font-family:'Montserrat',sans-serif;
    font-size:0.9rem;
    line-height:2;
    font-weight:300;
    color:#8f8880;
}

.form-note__price{
    font-weight:600;
    color:#6f6961;
}

/* =========================================================
   SEPARATOR
========================================================= */

.separator-line{
    width:80px;
    height:1px;

    background:rgba(0,0,0,.10);

    margin:55px auto;
}

/* =========================================================
   RGPD
========================================================= */

.rgpd-group{
    flex-direction:row;

    align-items:flex-start;

    gap:16px;

    margin-top:10px;
}

.rgpd-group input{
    width:auto;
    margin-top:5px;

    cursor:pointer;
}

.rgpd-group label{
    text-transform:none;

    letter-spacing:0.5px;

    line-height:1.7;

    font-size:0.82rem;
}

.rgpd-group a{
    color:#111;
    text-decoration:underline;
}
/* =========================================================
   DÉLAI DE RÉPONSE
========================================================= */

.contact-response-time{

    margin:48px auto 32px;

    text-align:center;

    font-family:'Playfair Display',serif;
    font-style:italic;

    font-size:1rem;

    line-height:1.8;

    color:#746d66;

    opacity:.95;
}
/* =========================================================
   CTA FINAL
========================================================= */

.cta-final{
    margin-top:65px;
    margin-bottom:70px;
}

.cta-wrapper{
    display:flex;
    flex-direction:column;
    align-items:center;

    gap:24px;
}

.mention-recommandation{
    font-family:'Playfair Display',serif;
    font-style:italic;

    font-size:0.95rem;

    color:#777;
}

/* =========================================================
   BOUTON
========================================================= */

.btn-experience{
    display:inline-block;

    padding:20px 54px;

    background:#111;
    color:#fff;

    border:1px solid #111;

    text-decoration:none;
    text-transform:uppercase;

    letter-spacing:7px;
    font-size:0.66rem;
    font-weight:300;

    
    cursor:pointer;

    transition:
    all .35s ease;
}

.btn-experience:hover{

    background:transparent;
    color:#111;

    transform:translateY(-1px);
}

/* =========================================================
   OVERLAY MERCI
========================================================= */

.thanks-overlay{
    position:fixed;
    inset:0;

    background:rgba(253,252,249,0.98);

    z-index:9999;

    display:flex;
    justify-content:center;
    align-items:center;

    opacity:0;
    visibility:hidden;

    transition:
    opacity .8s ease,
    visibility .8s ease;
}

.thanks-overlay.active{
    opacity:1;
    visibility:visible;
}

.thanks-content{
    text-align:center;
}

.line-loader{
    width:120px;
    height:1px;

    background:#111;

    margin:40px auto 0 auto;

    animation:lineLoader 2s ease infinite;
}

@keyframes lineLoader{

    0%{
        transform:scaleX(0);
        opacity:0;
    }

    50%{
        transform:scaleX(1);
        opacity:1;
    }

    100%{
        transform:scaleX(0);
        opacity:0;
    }
}

/* =========================================================
   FADE IN
========================================================= */

.fade-in{
    opacity:0;

    transform:translateY(22px);

    transition:
    opacity .9s ease,
    transform .9s ease;
}

.fade-in.visible{
    opacity:1;
    transform:translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:768px){

    .contact-hero{
        height:34vh;
    }

    .contact-intro{
        padding:90px 20px 60px 20px;
    }

    .form-row{
        flex-direction:column;
        gap:0;
    }

    .custom-dropdown__option{
        padding:15px 20px;
    }

    .btn-experience{
        padding:16px 32px;
        letter-spacing:4px;
    }

    .mention-recommandation{
        text-align:center;
        line-height:1.7;
    }
}

.contact-intro{
    max-width:1100px;
}

.contact-intro .italique-serif{
    font-size:1.55rem;
}

.contact-intro + .section-blanche .texte-seo{
    font-size:1.05rem;
    line-height:1.9;
}

/* =========================================================
   RESSERRER L'INTRO
========================================================= */

.contact-intro{
    padding-bottom:40px;
}

.contact-intro + .section-blanche{
    padding-top:20px;
}

.contact-intro + .section-blanche .texte-seo{
    margin-top:0;
}
/* =========================================================
   LORSQUE LE MESSAGE PART
========================================================= */

.thanks-text{
    margin-top:18px;

    font-family:'Montserrat',sans-serif;
    font-size:.92rem;
    line-height:1.8;
    color:#7d766e;
    font-weight:300;
}

/* =========================================================
   NOTRE PREMIER ÉCHANGE
========================================================= */

.contact-conversation{

    max-width:700px;

    margin:90px auto;

    text-align:center;
}

.contact-conversation .separator-line{

    margin:0 auto 40px;
}

.contact-conversation .tagline-editorial{

    margin:0 0 28px;
}

.contact-conversation-text{

    margin:0 auto;

    max-width:580px;

    font-family:'Montserrat',sans-serif;

    font-size:1.02rem;

    line-height:2;

    font-weight:300;

    color:#4b4742;
}

.contact-conversation-signature{

    margin-top:40px;

    font-family:'Montserrat',sans-serif;

    font-size:.72rem;

    text-transform:uppercase;

    letter-spacing:4px;

    color:#8d857d;

    line-height:2;
}

.contact-conversation-signature span{

    display:block;

    margin-top:12px;

    font-family:'Playfair Display',serif;

    font-style:italic;

    text-transform:none;

    letter-spacing:0;

    font-size:1.35rem;

    color:#222;
}

@media (max-width:768px){

    .contact-conversation{

        margin:70px auto;

        padding:0 20px;
    }

    .contact-conversation-text{

        font-size:.97rem;

        line-height:1.9;
    }

    .contact-conversation-signature{

        margin-top:32px;
    }

    .contact-conversation-signature span{

        font-size:1.15rem;
    }

}

/* =========================================================
   TEXTE SOUS LE CTA
========================================================= */

.cta-description{

    max-width:680px;

    margin:38px auto 0;

    text-align:center;

    font-family:'Montserrat',sans-serif;

    font-size:1rem;

    font-weight:300;

    line-height:1.95;

    color:#4d4944;

    letter-spacing:.01em;
}