/* =====================================
   MELANNIE SERVICES
   CONTACT PAGE STYLES
===================================== */

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

.contact-hero{

background:
linear-gradient(
rgba(255,255,255,.88),
rgba(255,255,255,.88)
),
url('../images/contact-hero.jpg');

background-size:cover;

background-position:center;

}

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

.contact-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.contact-card{

background:white;

padding:35px;

border-radius:var(--radius);

text-align:center;

box-shadow:var(--shadow);

transition:var(--transition);

}

.contact-card:hover{

transform:translateY(-8px);

}

.contact-card i{

font-size:2.5rem;

color:var(--primary);

margin-bottom:15px;

}

.contact-card h3{

margin-bottom:10px;

}

.contact-card p{

color:var(--gray);

}

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

.contact-form-wrapper{

max-width:900px;

margin:auto;

background:white;

padding:50px;

border-radius:var(--radius);

box-shadow:var(--shadow);

}

.contact-form{

display:grid;

grid-template-columns:
1fr 1fr;

gap:20px;

}

.contact-form .full-width{

grid-column:
1 / -1;

}

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

width:100%;

padding:16px;

border:1px solid #ddd;

border-radius:10px;

font-size:1rem;

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

transition:.3s;

}

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

outline:none;

border-color:var(--primary);

box-shadow:
0 0 0 3px rgba(232,92,148,.15);

}

.contact-form textarea{

min-height:180px;

resize:vertical;

}

.contact-form button{

padding:18px;

background:var(--primary);

color:white;

font-weight:600;

border:none;

border-radius:50px;

cursor:pointer;

transition:.3s;

}

.contact-form button:hover{

background:var(--primary-dark);

}

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

.contact-details{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:40px;

align-items:start;

}

.contact-details-box{

background:white;

padding:35px;

border-radius:var(--radius);

box-shadow:var(--shadow);

}

.contact-details-box h3{

margin-bottom:20px;

color:var(--primary);

}

.contact-details-box p{

margin-bottom:12px;

}

/* =====================================
   BUSINESS HOURS
===================================== */

.hours-list{

list-style:none;

padding:0;

margin-top:25px;

}

.hours-list li{

display:flex;

justify-content:space-between;

padding:12px 0;

border-bottom:1px solid #eee;

}

.hours-list li span:first-child{

font-weight:600;

}

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

.map-section{

margin-top:40px;

}

.map-container{

overflow:hidden;

border-radius:var(--radius);

box-shadow:var(--shadow);

}

.map-container iframe{

width:100%;

height:450px;

border:none;

display:block;

}

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

.social-links{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:20px;

margin-top:30px;

}

.social-links a{

display:flex;

align-items:center;

justify-content:center;

min-width:150px;

padding:15px 25px;

background:white;

border-radius:50px;

box-shadow:var(--shadow);

color:var(--dark);

font-weight:600;

transition:.3s;

}

.social-links a:hover{

background:var(--primary);

color:white;

transform:translateY(-3px);

}

/* =====================================
   CALENDLY SECTION
===================================== */

.calendly-wrapper{

background:white;

padding:30px;

border-radius:var(--radius);

box-shadow:var(--shadow);

overflow:hidden;

}

.calendly-inline-widget{

min-width:320px;

height:700px;

}

/* =====================================
   SUCCESS & ERROR MESSAGES
===================================== */

.notification{

position:fixed;

top:25px;

right:25px;

padding:18px 25px;

border-radius:12px;

font-weight:600;

color:white;

z-index:99999;

opacity:0;

transform:
translateY(-20px);

transition:.4s;

}

.notification.show{

opacity:1;

transform:
translateY(0);

}

.notification.success{

background:#28a745;

}

.notification.error{

background:#dc3545;

}

/* =====================================
   EMERGENCY CONTACT BANNER
===================================== */

.emergency-banner{

background:var(--primary);

color:white;

padding:50px 20px;

text-align:center;

border-radius:var(--radius);

}

.emergency-banner h2{

margin-bottom:15px;

}

.emergency-banner a{

display:inline-block;

margin-top:20px;

padding:15px 30px;

background:white;

color:var(--primary);

border-radius:50px;

font-weight:600;

}

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

.contact-faq{

max-width:900px;

margin:auto;

}

.contact-faq .faq-item{

background:white;

padding:25px;

border-radius:var(--radius);

box-shadow:var(--shadow);

margin-bottom:20px;

cursor:pointer;

}

.contact-faq .faq-item h3{

color:var(--primary);

margin-bottom:10px;

}

.contact-faq .faq-item p{

display:none;

}

.contact-faq .faq-item.open p{

display:block;

}

/* =====================================
   MOBILE
===================================== */

@media(max-width:992px){

.contact-form{

grid-template-columns:1fr;

}

.contact-form .full-width{

grid-column:auto;

}

}

@media(max-width:768px){

.contact-form-wrapper{

padding:30px;

}

.contact-card{

padding:25px;

}

.map-container iframe{

height:350px;

}

.social-links{

flex-direction:column;

align-items:center;

}

.social-links a{

width:100%;

max-width:300px;

}

.notification{

left:20px;

right:20px;

}

}

@media(max-width:480px){

.contact-form-wrapper{

padding:20px;

}

.contact-card{

padding:20px;

}

.map-container iframe{

height:300px;

}

}