/* =====================================
CONTACT HERO
===================================== */

.contact-hero{
height:80vh;

background:
linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),
url("../images/hero-mountain-resort.jpg");

background-size:cover;
background-position:center;

display:flex;
justify-content:center;
align-items:center;
text-align:center;
}

.contact-hero .hero-content{
color:white;
max-width:800px;
}

.contact-hero h1{
font-size:85px;
font-family:'Playfair Display',serif;
margin-bottom:25px;
}

.contact-hero p{
font-size:20px;
color:#eee;
line-height:1.8;
}

/* HEADER */

.header,
#header{

position:fixed;
top:0;
left:0;
width:100%;

background:#0f3b2f;

z-index:9999;
box-shadow:
0 5px 20px rgba(0,0,0,.08);
transition:
transform .4s ease,
background .4s ease;
}

body{

background:#CAC6BA;
}
/* =====================================
CONTACT INFO
===================================== */

.contact-info{
padding:120px 8%;

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:35px;

background:white;
}

.contact-card{
background:#fafaf7;

padding:50px 40px;

text-align:center;

border-radius:30px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.4s;
}

.contact-card:hover{
transform:translateY(-10px);
}

.contact-card i{
font-size:55px;
color:#d4b06a;
margin-bottom:25px;
}

.contact-card h3{
font-size:30px;
font-family:'Playfair Display',serif;
color:#0f3b2f;
margin-bottom:20px;
}

.contact-card p{
line-height:1.8;
color:gray;
}
/* =====================================
CONTACT FORM SECTION
===================================== */

.contact-form-section{
padding:120px 8%;
background:#fafaf7;
}

.contact-form{
max-width:900px;
margin:auto;
}

.contact-form h5{
color:#d4b06a;
letter-spacing:4px;
margin-bottom:20px;
}

.contact-form h2{
font-size:55px;
font-family:'Playfair Display',serif;
color:#0f3b2f;
margin-bottom:50px;
}

.contact-form form{
display:flex;
flex-direction:column;
gap:25px;
}


/* INPUTS */

.contact-form input,
.contact-form select,
.contact-form textarea{
width:100%;
padding:20px;
border:1px solid #ddd;
border-radius:18px;
font-size:16px;
font-family:'Poppins',sans-serif;
outline:none;
background:white;
transition:.3s;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
border-color:#d4b06a;
box-shadow:0 5px 20px rgba(212,176,106,.15);
}


/* BUTTON */

.contact-form button{
background:#0f3b2f;
color:white;
border:none;
padding:20px;
font-size:18px;
font-weight:600;
border-radius:50px;
cursor:pointer;
transition:.4s;
}

.contact-form button:hover{
background:#d4b06a;
}


/* TEXTAREA */

.contact-form textarea{
resize:none;
line-height:1.8;
}
/* =====================================
VISIT SKYDEN / MAP
===================================== */

.cta{
padding:120px 8%;
background:white;
text-align:center;
}

.cta h1{
font-size:60px;
font-family:'Playfair Display',serif;
color:#0f3b2f;
margin-bottom:25px;
}

.cta p{
font-size:18px;
color:gray;
margin-bottom:50px;
}

.cta iframe{
width:100%;
max-width:1100px;
height:500px;
border:none;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.contact-location-grid{
margin-top:55px;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:30px;
}

.contact-location-card{
background:#fff;
border-radius:34px;
padding:34px;
box-shadow:0 15px 45px rgba(0,0,0,.08);
display:grid;
grid-template-columns:1.05fr 1fr;
gap:24px;
align-items:stretch;
overflow:hidden;
}

.contact-location-card .location-copy{
display:flex;
flex-direction:column;
justify-content:center;
}

.contact-location-card .property-kicker{
display:inline-block;
margin-bottom:14px;
}

.contact-location-card h2{
font-family:'Playfair Display',serif;
font-size:42px;
line-height:1.08;
color:#0f3b2f;
margin-bottom:18px;
}

.contact-location-card p{
color:#6f7771;
line-height:1.85;
margin-bottom:20px;
}

.contact-location-card a{
color:#0f3b2f;
font-weight:700;
text-decoration:none;
display:inline-flex;
align-items:center;
gap:10px;
}

.contact-location-card iframe{
width:100%;
min-height:320px;
border:none;
border-radius:28px;
background:#f5f3eb;
}


/* =====================================
FAQ SECTION
===================================== */

.faq-section{
padding:120px 8%;
background:#fafaf7;
}

.faq-container{
max-width:1000px;
margin:auto;
margin-top:70px;
}

.faq-item{
background:white;
margin-bottom:20px;
border-radius:25px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.4s;
}

.faq-item:hover{
transform:translateY(-5px);
}

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
padding:30px;
cursor:pointer;
}

.faq-question h3{
font-size:24px;
font-family:'Playfair Display',serif;
color:#0f3b2f;
}

.faq-question span{
font-size:32px;
color:#d4b06a;
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:.4s;
}

.faq-answer p{
padding:0 30px 30px;
line-height:1.9;
color:gray;
}

.faq-item.active .faq-answer{
max-height:250px;
}
/* =====================================
HOVER EFFECTS
===================================== */

.contact-card,
.faq-item{
transition:.4s;
}

.contact-card:hover,
.faq-item:hover{
box-shadow:0 20px 50px rgba(0,0,0,.12);
}


/* =====================================
MAP HOVER
===================================== */

.cta iframe{
transition:.5s;
}

.cta iframe:hover{
transform:scale(1.01);
}


/* =====================================
SMOOTH BUTTON EFFECT
===================================== */

.contact-form button{
transition:.4s;
}

.contact-form button:hover{
transform:translateY(-3px);
}


/* =====================================
TABLET RESPONSIVE
===================================== */

@media(max-width:900px){

/* HERO */

.contact-hero{
height:auto;
min-height:520px;
padding:120px 0 72px;
background-position:center 55%;
}

.contact-hero h1{
font-size:clamp(40px,9vw,56px);
line-height:1.08;
margin-bottom:18px;
}

.contact-hero p{
font-size:17px;
line-height:1.7;
}


/* CONTACT INFO */

.contact-info{
grid-template-columns:1fr;
padding:84px 5%;
gap:18px;
}

.contact-card{
padding:34px 24px;
border-radius:24px;
}

.contact-card i{
font-size:44px;
margin-bottom:18px;
}

.contact-card h3{
font-size:24px;
}


/* FORM */

.contact-form-section{
padding:84px 5%;
}

.contact-form h2{
font-size:34px;
line-height:1.12;
margin-bottom:34px;
}

.contact-form form{
gap:18px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
padding:16px 18px;
font-size:15px;
}


/* FAQ */

.faq-question h3{
font-size:20px;
}


/* MAP */

.cta{
padding:84px 5%;
}

.cta h1{
font-size:34px;
line-height:1.12;
}

.cta iframe{
height:320px;
}

.contact-location-grid{
grid-template-columns:1fr;
gap:18px;
}

.contact-location-card{
grid-template-columns:1fr;
padding:20px;
border-radius:28px;
gap:18px;
}

.contact-location-card h2{
font-size:28px;
line-height:1.1;
}

.contact-location-card iframe{
min-height:240px;
}

}


/* =====================================
MOBILE RESPONSIVE
===================================== */

@media(max-width:600px){

.contact-hero{
min-height:460px;
padding:112px 0 64px;
}

.contact-hero h1{
font-size:clamp(34px,10vw,44px);
}

.contact-hero p{
font-size:15px;
}

.contact-info{
padding:72px 14px;
}

.contact-card{
padding:28px 18px;
}

.contact-form h2{
font-size:30px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
padding:15px 16px;
font-size:15px;
}

.contact-form button{
padding:16px;
font-size:16px;
}

.contact-form-section{
padding:72px 14px;
}

.cta{
padding:72px 14px;
}

.cta h1{
font-size:30px;
}

.cta iframe{
height:280px;
}

.contact-location-card{
padding:16px;
}

.contact-location-card h2{
font-size:24px;
}

.contact-location-card iframe{
min-height:220px;
}

.faq-question{
padding:25px;
}

.faq-question h3{
font-size:18px;
}

}


/* =====================================
FINAL POLISH
===================================== */

.contact-card i,
.faq-question span{
transition:.4s;
}

.contact-card:hover i{
transform:scale(1.1);
}

.faq-item.active .faq-question span{
transform:rotate(45deg);
}
