/*==================================================
CONTACT.CSS
PART 1
Hero + Contact Cards + Contact Form
==================================================*/


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

.contact-hero{

    position:relative;

    min-height:700px;

    display:flex;

    align-items:center;

    background:
    linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.88)),
    url("../img/contact-bg.jpg") center/cover no-repeat;

    overflow:hidden;

}

.contact-hero::before{

    content:"";

    position:absolute;

    right:-180px;

    top:100px;

    width:650px;

    height:650px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(212,167,75,.16),
    transparent 70%);

    filter:blur(70px);

}

.hero-content{

    position:relative;

    z-index:2;

    max-width:720px;

}

.hero-content span{

    color:#d4a74b;

    letter-spacing:4px;

    font-size:14px;

    font-weight:600;

}

.hero-content h1{

    margin:25px 0;

    font-family:'Cormorant Garamond',serif;

    font-size:78px;

    line-height:1.05;

}

.hero-content p{

    max-width:620px;

    color:#d0d0d0;

    line-height:1.9;

    font-size:18px;

}


/*==================================================
CONTACT OVERVIEW
==================================================*/

.contact-overview{

    padding:110px 0;

    background:#090909;

}

.overview-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.overview-card{

    background:#111;

    border-radius:24px;

    padding:45px 35px;

    text-align:center;

    border:1px solid rgba(212,167,75,.18);

    transition:.35s;

}

.overview-card:hover{

    transform:translateY(-10px);

    border-color:#d4a74b;

    box-shadow:
    0 25px 55px rgba(0,0,0,.45);

}

.overview-card img{

    width:58px;

    height:58px;

    margin:0 auto 25px;

}

.overview-card h3{

    font-family:'Cormorant Garamond',serif;

    font-size:32px;

    margin-bottom:18px;

    color:#d4a74b;

}

.overview-card p{

    color:#c8c8c8;

    line-height:2;

}


/*==================================================
CONTACT SECTION
==================================================*/

.contact-section{

    padding:120px 0;

    background:#050505;

}

.contact-grid{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:60px;

    align-items:start;

}


/*==================================================
FORM
==================================================*/

.contact-form{

    background:#111;

    padding:55px;

    border-radius:30px;

    border:1px solid rgba(212,167,75,.18);

}

.contact-form h2{

    margin:22px 0;

    font-family:'Cormorant Garamond',serif;

    font-size:58px;

}

.gold-label{

    color:#d4a74b;

    font-size:13px;

    letter-spacing:4px;

    font-weight:600;

}

.input-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

    margin-top:40px;

}

.contact-form input,
.contact-form textarea{

    width:100%;

    background:#0d0d0d;

    border:1px solid rgba(212,167,75,.18);

    border-radius:18px;

    color:#fff;

    padding:20px 24px;

    font-size:15px;

    outline:none;

    transition:.3s;

}

.contact-form textarea{

    margin-top:22px;

    resize:vertical;

    min-height:180px;

}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:#d4a74b;

    box-shadow:
    0 0 0 4px rgba(212,167,75,.08);

}

.contact-form button{

    margin-top:30px;

    border:none;

    cursor:pointer;

}


/*==================================================
CONTACT INFO
==================================================*/

.contact-info{

    display:flex;

    flex-direction:column;

    gap:30px;

}

.info-box{

    background:#111;

    border-radius:24px;

    border:1px solid rgba(212,167,75,.18);

    padding:40px;

}

.info-box h3{

    font-family:'Cormorant Garamond',serif;

    font-size:36px;

    color:#d4a74b;

    margin-bottom:25px;

}

.info-box p{

    color:#c8c8c8;

    line-height:1.9;

    margin-bottom:30px;

}

.info-box ul{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.info-box li{

    display:flex;

    justify-content:space-between;

    color:#ddd;

    padding-bottom:18px;

    border-bottom:1px solid rgba(255,255,255,.05);

}

.info-box li:last-child{

    border-bottom:none;

    padding-bottom:0;

}

.info-box span{

    color:#d4a74b;

    font-weight:600;

}
/*==================================================
CONTACT.CSS
PART 2
Map • Appointment • FAQ • Social • CTA • Responsive
==================================================*/


/*==================================================
MAP
==================================================*/

.contact-map{

    padding:120px 0;

    background:#090909;

}

.map-wrapper{

    overflow:hidden;

    border-radius:28px;

    border:1px solid rgba(212,167,75,.18);

    box-shadow:
    0 30px 70px rgba(0,0,0,.45);

}

.map-wrapper iframe{

    width:100%;

    height:520px;

    border:none;

    filter:grayscale(100%)
    contrast(1.1)
    brightness(.85);

}



/*==================================================
APPOINTMENT
==================================================*/

.appointment-section{

    padding:120px 0;

    background:#050505;

}

.appointment-card{

    display:grid;

    grid-template-columns:1fr auto;

    gap:40px;

    align-items:center;

    padding:60px;

    background:
    linear-gradient(
    135deg,
    #111,
    #181818
    );

    border-radius:30px;

    border:1px solid rgba(212,167,75,.18);

    box-shadow:
    0 25px 60px rgba(0,0,0,.45);

}

.appointment-content span{

    color:#d4a74b;

    letter-spacing:3px;

    font-size:13px;

}

.appointment-content h2{

    margin:20px 0;

    font-family:'Cormorant Garamond',serif;

    font-size:60px;

    line-height:1.1;

}

.appointment-content p{

    color:#c8c8c8;

    line-height:1.9;

    max-width:620px;

}



/*==================================================
FAQ
==================================================*/

.faq{

    padding:120px 0;

    background:#090909;

}

.faq-wrapper{

    max-width:900px;

    margin:auto;

}

.faq-item{

    margin-bottom:22px;

    border:1px solid rgba(212,167,75,.15);

    border-radius:22px;

    overflow:hidden;

    background:#111;

}

.faq-question{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:28px 35px;

    cursor:pointer;

    transition:.35s;

}

.faq-question:hover{

    background:#151515;

}

.faq-question h3{

    font-size:22px;

    font-family:'Cormorant Garamond',serif;

}

.faq-question span{

    color:#d4a74b;

    font-size:34px;

    font-weight:300;

}

.faq-answer{

    padding:0 35px 30px;

}

.faq-answer p{

    color:#bdbdbd;

    line-height:1.9;

}



/*==================================================
SOCIAL
==================================================*/

.connect{

    padding:120px 0;

    background:#050505;

}

.connect-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.social-card{

    background:#111;

    border-radius:24px;

    padding:45px 30px;

    text-align:center;

    border:1px solid rgba(212,167,75,.16);

    transition:.35s;

}

.social-card:hover{

    transform:translateY(-10px);

    border-color:#d4a74b;

    box-shadow:
    0 25px 60px rgba(0,0,0,.5);

}

.social-card img{

    width:52px;

    height:52px;

    margin:0 auto 25px;

    filter:brightness(0) invert(1);

}

.social-card h3{

    font-family:'Cormorant Garamond',serif;

    color:#d4a74b;

    font-size:32px;

    margin-bottom:12px;

}

.social-card p{

    color:#c8c8c8;

    line-height:1.8;

}



/*==================================================
CTA
==================================================*/

.cta{

    position:relative;

    overflow:hidden;

    padding:140px 0;

    text-align:center;

    background:
    linear-gradient(
    rgba(0,0,0,.78),
    rgba(0,0,0,.86)
    ),
    url("../img/contact-cta.jpg")
    center/cover no-repeat;

}

.cta::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(circle,
    rgba(212,167,75,.12),
    transparent 70%);

}

.cta .container{

    position:relative;

    z-index:2;

}

.cta h2{

    font-family:'Cormorant Garamond',serif;

    font-size:72px;

    margin-bottom:22px;

}

.cta p{

    max-width:720px;

    margin:auto auto 40px;

    color:#d0d0d0;

    line-height:1.9;

    font-size:18px;

}



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

@media(max-width:1100px){

.contact-grid{

grid-template-columns:1fr;

}

.overview-grid{

grid-template-columns:1fr;

}

.connect-grid{

grid-template-columns:repeat(2,1fr);

}

.appointment-card{

grid-template-columns:1fr;

text-align:center;

}

.appointment-action{

display:flex;

justify-content:center;

}

}



@media(max-width:768px){

.hero-content h1{

font-size:52px;

}

.contact-form{

padding:35px;

}

.contact-form h2{

font-size:42px;

}

.input-grid{

grid-template-columns:1fr;

}

.connect-grid{

grid-template-columns:1fr;

}

.appointment-card{

padding:40px 30px;

}

.appointment-content h2{

font-size:42px;

}

.cta{

padding:100px 0;

}

.cta h2{

font-size:46px;

}

.map-wrapper iframe{

height:380px;

}

.faq-question{

padding:22px 25px;

}

.faq-answer{

padding:0 25px 25px;

}

}



@media(max-width:480px){

.overview-card,

.info-box{

padding:30px;

}

.contact-form{

padding:28px;

}

.hero-content h1{

font-size:42px;

}

.hero-content p{

font-size:16px;

}

.cta h2{

font-size:38px;

}

}