/* =====================================================
   CONTACT PAGE
   Joy Travels & Vacations
===================================================== */


/* =====================================================
   HERO
===================================================== */
.contact-hero{
    position:relative;
    height:70vh;
    background:url("../images/contact/hero.jpg") center/cover no-repeat;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    overflow:hidden;
}
.contact-hero .hero-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.contact-hero .hero-content{
    position:relative;
    z-index:2;
    max-width:900px;
    padding:20px;
    color:#fff;
}

.contact-hero span{
    display:inline-block;
    color:var(--primary);
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:20px;
}

/* =====================================================
   CONTACT INFORMATION
===================================================== */

.contact-info{
    padding:100px 8%;
    background:#fff;
}

.contact-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.contact-card{
    background:#fff;
    padding:35px;
    border-radius:15px;
    text-align:center;
    box-shadow:var(--shadow);
    transition:.35s;
}

.contact-card:hover{
    transform:translateY(-8px);
}

.contact-card h3{
    margin-bottom:15px;
    color:var(--dark);
}

.contact-card p{
    color:#666;
    line-height:1.7;
}


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

.contact-form-section{

    padding:100px 8%;

    background:var(--cream);

}

.contact-form{

    max-width:800px;

    margin:auto;

    background:#fff;

    padding:45px;

    border-radius:18px;

    box-shadow:var(--shadow);

}

.contact-form input,

.contact-form textarea{

    width:100%;

    padding:16px;

    margin-bottom:20px;

    border:1px solid #ddd;

    border-radius:10px;

    font-size:16px;

    font-family:inherit;

    transition:.3s;

}

.contact-form input:focus,

.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 8px rgba(0,0,0,.08);

}

.contact-form textarea{

    resize:vertical;

    min-height:180px;

}

.contact-form .btn{

    width:100%;

    cursor:pointer;

}


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

.contact-map{

    padding:100px 8%;

    background:#fff;

}

.contact-map iframe{

    width:100%;

    border:none;

    border-radius:15px;

    box-shadow:var(--shadow);

}


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

.faq{

    padding:100px 8%;

    background:#f8f8f8;

}

.faq-grid{

    display:grid;

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

    gap:30px;

}

.faq-item{

    background:#fff;

    padding:35px;

    border-radius:15px;

    box-shadow:var(--shadow);

    transition:.35s;

}

.faq-item:hover{

    transform:translateY(-8px);

}

.faq-item h3{

    margin-bottom:15px;

    color:var(--dark);

}

.faq-item p{

    color:#666;

    line-height:1.8;

}


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

.booking{

    text-align:center;

}

.booking h2{

    margin-bottom:20px;

}

.booking p{

    max-width:700px;

    margin:0 auto 35px;

}


/* =====================================================
   CONTACT ICONS
===================================================== */

.contact-card h3{

    font-size:24px;

}


/* =====================================================
   HOVER EFFECTS
===================================================== */

.contact-card,

.faq-item{

    transition:all .35s ease;

}


/* =====================================================
   SUCCESS MESSAGE
===================================================== */

.success-message{

    background:#dff6dd;

    color:#2e7d32;

    padding:20px;

    border-radius:10px;

    text-align:center;

    margin-bottom:30px;

}


/* =====================================================
   ERROR MESSAGE
===================================================== */

.error-message{

    background:#ffe4e4;

    color:#c62828;

    padding:20px;

    border-radius:10px;

    text-align:center;

    margin-bottom:30px;

}
/* =====================================================
   CONTACT RESPONSIVE
===================================================== */

/* ==========================================
   Tablets (992px)
========================================== */

@media (max-width:992px){

.contact-hero{

    height:70vh;

}

.contact-hero h1{

    font-size:48px;

}

.contact-grid{

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

    gap:30px;

}

.contact-form{

    max-width:100%;

}

.faq-grid{

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

    gap:30px;

}

}


/* ==========================================
   Mobile (768px)
========================================== */

@media (max-width:768px){

.contact-hero{

    height:60vh;

}

.contact-hero h1{

    font-size:36px;

}

.contact-hero p{

    font-size:18px;

}

.contact-grid,

.faq-grid{

    grid-template-columns:1fr;

}

.contact-card,

.faq-item{

    max-width:550px;

    margin:auto;

}

.contact-form{

    padding:30px 25px;

}

.contact-form .btn{

    width:100%;

}

.contact-map iframe{

    height:350px;

}

}


/* ==========================================
   Small Phones (576px)
========================================== */

@media (max-width:576px){

.contact-hero{

    height:55vh;

}

.contact-hero h1{

    font-size:30px;

}

.contact-hero p{

    font-size:16px;

}

.contact-card,

.faq-item{

    padding:20px;

}

.contact-card h3,

.faq-item h3{

    font-size:20px;

}

.contact-form{

    padding:20px;

}

.contact-form input,

.contact-form textarea{

    padding:14px;

    font-size:15px;

}

.contact-map iframe{

    height:280px;

}

}
