/* =====================================================
   TRAVEL HAVEN
   CONTACT PAGE
   PART 1
===================================================== */

/* ===============================
   VARIABLES
================================ */

:root{

    --primary:#0f172a;
    --secondary:#b68d40;
    --accent:#d4af37;

    --white:#ffffff;
    --light:#f8fafc;
    --border:#e5e7eb;
    --text:#1f2937;
    --muted:#6b7280;

    --shadow:
        0 15px 45px rgba(15,23,42,.08);

    --radius:16px;

    --transition:.35s ease;

}

/* ===============================
   GLOBAL
================================ */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:#fafafa;

    color:var(--text);

    line-height:1.7;

}

.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

section{

    padding:90px 0;

}

/* ===============================
   HERO
================================ */

.contact-hero{

    position:relative;

    padding:150px 0 120px;

    background:

    linear-gradient(
    rgba(8,15,35,.72),
    rgba(8,15,35,.72)
    ),

    url("../images/contact-banner.jpg")
    center center/cover no-repeat;

    color:#fff;

    text-align:center;

}

.contact-hero::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
}

.contact-hero .container{

    position:relative;

    z-index:2;

}

.hero-tag{

    display:inline-block;

    margin-bottom:20px;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.20);

    font-size:.75rem;

    letter-spacing:2px;

    text-transform:uppercase;

}

.contact-hero h1{

    font-size:clamp(2.8rem,6vw,4.6rem);

    font-family:'Playfair Display',serif;

    font-weight:700;

    margin-bottom:22px;

}

.contact-hero p{

    max-width:760px;

    margin:auto;

    color:rgba(255,255,255,.92);

    font-size:1.08rem;

}

/* ===============================
   CONTACT INTRO
================================ */

.contact-intro{

    margin-top:-70px;

}

/* ===============================
   CONTACT CARD
================================ */

.contact-card{

    display:grid;

    grid-template-columns:

    420px
    1fr;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

.contact-left{

    background:#0f172a;

    color:#fff;

    padding:50px;

}

.contact-left h2{

    font-size:2rem;

    margin-bottom:16px;

    font-family:'Playfair Display',serif;

}

.contact-left>p{

    color:rgba(255,255,255,.75);

    margin-bottom:35px;

}

/* ===============================
   CONTACT ITEM
================================ */

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-bottom:28px;

}

.contact-item i{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.08);

    color:#d4af37;

    font-size:1.15rem;

    flex-shrink:0;

}

.contact-item h4{

    font-size:.9rem;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:6px;

}

.contact-item a{

    color:#fff;

    transition:var(--transition);

}

.contact-item a:hover{

    color:#d4af37;

}

.contact-note{

    margin-top:35px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.12);

    color:rgba(255,255,255,.78);

    font-size:.95rem;

}

/* ===============================
   GOOGLE MAP
================================ */

.contact-right{

    position:relative;

    min-height:650px;

}

.contact-right iframe{

    width:100%;

    height:100%;

    border:none;

    display:block;

}

/* ===============================
   SECTION TITLE
================================ */

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-title span{

    display:inline-block;

    color:var(--secondary);

    font-size:.82rem;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.section-title h2{

    font-size:2.6rem;

    font-family:'Playfair Display',serif;

    margin-bottom:18px;

}

.section-title p{

    max-width:720px;

    margin:auto;

    color:var(--muted);

}

/* ===============================
   RESPONSIVE
================================ */

@media(max-width:991px){

.contact-card{

grid-template-columns:1fr;

}

.contact-right{

height:450px;

min-height:450px;

}

.contact-left{

padding:40px;

}

.contact-hero{

padding:120px 0 90px;

}

}

@media(max-width:768px){

section{

padding:70px 0;

}

.contact-left{

padding:30px;

}

.contact-right{

height:350px;

}

.contact-hero h1{

font-size:2.6rem;

}

.hero-tag{

font-size:.7rem;

}

.contact-hero p{

font-size:.95rem;

}

}
/*=====================================================
        BOOKING FORM
=====================================================*/

.booking-section{

    padding:90px 0;

    background:#f8fafc;

}

.booking-wrapper{

    max-width:900px;

    margin:auto;

}

#booking-form{

    background:#ffffff;

    padding:50px;

    border-radius:20px;

    box-shadow:0 20px 60px rgba(15,23,42,.06);

    border:1px solid #ececec;

}

/*=====================================================
        FORM GRID
=====================================================*/

.form-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:28px;

}

.form-heading{

    grid-column:1/-1;

    font-size:2rem;

    font-family:'Playfair Display',serif;

    color:#0f172a;

    margin-top:10px;

    margin-bottom:10px;

    padding-bottom:15px;

    border-bottom:1px solid #ececec;

}

.field{

    display:flex;

    flex-direction:column;

}

.field.full{

    grid-column:1/-1;

}

.double-field{

    grid-column:1/-1;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:24px;

}

.triple-field{

    grid-column:1/-1;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

/*=====================================================
        LABELS
=====================================================*/

.field label{

    font-size:.82rem;

    text-transform:uppercase;

    letter-spacing:1px;

    font-weight:600;

    color:#374151;

    margin-bottom:10px;

}

/*=====================================================
        INPUTS
=====================================================*/

.field input,

.field select,

.field textarea{

    width:100%;

    padding:15px 18px;

    border:1px solid #e5e7eb;

    border-radius:10px;

    background:#fafafa;

    font-size:.95rem;

    color:#111827;

    transition:.3s;

    font-family:'Poppins',sans-serif;

}

.field textarea{

    resize:vertical;

    min-height:170px;

}

.field input:focus,

.field select:focus,

.field textarea:focus{

    border-color:#b68d40;

    background:#ffffff;

    outline:none;

    box-shadow:0 0 0 4px rgba(182,141,64,.12);

}

/*=====================================================
        PLACEHOLDER
=====================================================*/

.field input::placeholder,

.field textarea::placeholder{

    color:#9ca3af;

}

/*=====================================================
        PRIVACY NOTE
=====================================================*/

.privacy-note{

    grid-column:1/-1;

    margin-top:8px;

    margin-bottom:10px;

    padding:15px 18px;

    border-left:4px solid #d4af37;

    background:#fffdf6;

    color:#6b7280;

    font-size:.9rem;

    border-radius:8px;

}

/*=====================================================
        BUTTON
=====================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    text-decoration:none;

    cursor:pointer;

    transition:.35s;

}

.btn-primary{

    grid-column:1/-1;

    border:none;

    background:#0f172a;

    color:#ffffff;

    padding:18px;

    border-radius:10px;

    font-size:1rem;

    font-weight:600;

}

.btn-primary:hover{

    background:#b68d40;

    transform:translateY(-3px);

    box-shadow:0 15px 30px rgba(182,141,64,.25);

}

.btn-outline{

    border:2px solid #0f172a;

    color:#0f172a;

    background:transparent;

    padding:14px 28px;

    border-radius:8px;

}

.btn-outline:hover{

    background:#0f172a;

    color:#ffffff;

}

/*=====================================================
        SUCCESS
=====================================================*/

.form-success{

    display:none;

    text-align:center;

    padding:60px 40px;

}

.form-success.active{

    display:block;

}

.success-icon{

    font-size:70px;

    color:#16a34a;

    margin-bottom:25px;

}

.form-success h2{

    font-family:'Playfair Display',serif;

    font-size:2.4rem;

    margin-bottom:18px;

}

.form-success p{

    color:#6b7280;

    margin-bottom:30px;

    line-height:1.8;

}

.success-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

}

/*=====================================================
        ERROR
=====================================================*/

.form-error{

    display:none;

    margin-top:30px;

    padding:18px;

    border-radius:10px;

    border:1px solid #fecaca;

    background:#fef2f2;

    color:#b91c1c;

}

.form-error.active{

    display:flex;

    align-items:center;

    gap:12px;

}

/*=====================================================
        RESPONSIVE
=====================================================*/

@media(max-width:900px){

.form-grid{

grid-template-columns:1fr;

}

.double-field,

.triple-field{

grid-template-columns:1fr;

}

.field.full{

grid-column:auto;

}

#booking-form{

padding:35px;

}

}

@media(max-width:600px){

#booking-form{

padding:25px;

}

.form-heading{

font-size:1.6rem;

}

.btn-primary{

width:100%;

}

}
/*=====================================================
                FOOTER
=====================================================*/

.footer{

    background:#0f172a;

    color:#ffffff;

    padding:80px 0 25px;

    margin-top:100px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:60px;

}

.footer-logo{

    width:70px;

    margin-bottom:20px;

}

.footer-about h3{

    font-family:'Playfair Display',serif;

    font-size:2rem;

    margin-bottom:18px;

}

.footer-about p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    margin-bottom:30px;

}

.footer-social{

    display:flex;

    gap:15px;

}

.footer-social a{

    width:46px;

    height:46px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.35s;

}

.footer-social a:hover{

    background:#d4af37;

    transform:translateY(-5px);

}

.footer-links h4,
.footer-contact h4{

    margin-bottom:20px;

    font-size:1.15rem;

}

.footer-links ul{

    list-style:none;

}

.footer-links li{

    margin-bottom:14px;

}

.footer-links a,
.footer-contact a{

    color:rgba(255,255,255,.75);

    transition:.3s;

}

.footer-links a:hover,
.footer-contact a:hover{

    color:#d4af37;

}

.footer-contact p{

    margin-bottom:18px;

    color:rgba(255,255,255,.75);

}

.footer-contact i{

    color:#d4af37;

    margin-right:10px;

}

.footer hr{

    margin:55px 0 25px;

    border:none;

    border-top:1px solid rgba(255,255,255,.12);

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:12px;

    color:rgba(255,255,255,.60);

    font-size:.9rem;

}

/*=====================================================
            FLOATING SOCIAL
=====================================================*/

.floating-social{

    position:fixed;

    right:28px;

    bottom:30px;

    display:flex;

    flex-direction:column;

    gap:15px;

    z-index:999;

}

.floating-btn{

    width:58px;

    height:58px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#ffffff;

    font-size:1.35rem;

    text-decoration:none;

    box-shadow:0 15px 40px rgba(0,0,0,.18);

    transition:.35s;

}

.floating-btn:hover{

    transform:translateY(-6px) scale(1.06);

}

.whatsapp{

    background:#25D366;

}

.instagram{

    background:#E4405F;

}

.telegram{

    background:#229ED9;

}

/*=====================================================
            FADE ANIMATIONS
=====================================================*/

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/*=====================================================
            CARD HOVER
=====================================================*/

.contact-card,
#booking-form{

    transition:.35s;

}

.contact-card:hover{

    transform:translateY(-6px);

}

#booking-form:hover{

    transform:translateY(-4px);

}

/*=====================================================
            SCROLLBAR
=====================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f1f5f9;

}

::-webkit-scrollbar-thumb{

    background:#d4af37;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#b68d40;

}

/*=====================================================
            SELECTION
=====================================================*/

::selection{

    background:#d4af37;

    color:#ffffff;

}

/*=====================================================
            RESPONSIVE
=====================================================*/

@media(max-width:991px){

.footer-grid{

grid-template-columns:1fr;

gap:45px;

}

.footer-bottom{

flex-direction:column;

text-align:center;

}

.floating-social{

right:18px;

bottom:18px;

}

}

@media(max-width:768px){

.footer{

padding:60px 0 20px;

}

.footer-about h3{

font-size:1.8rem;

}

.footer-links,
.footer-contact{

text-align:left;

}

.floating-btn{

width:52px;

height:52px;

font-size:1.2rem;

}

}

@media(max-width:576px){

.footer-grid{

gap:35px;

}

.footer-social{

justify-content:flex-start;

flex-wrap:wrap;

}

.footer-bottom{

font-size:.82rem;

}

.contact-hero{

padding:100px 0 80px;

}

.contact-hero h1{

font-size:2.2rem;

}

.contact-card{

border-radius:14px;

}

#booking-form{

border-radius:14px;

}

}

/*=====================================================
            SMOOTH SCROLL
=====================================================*/

html{

    scroll-behavior:smooth;

}

/*=====================================================
            PREMIUM TRANSITIONS
=====================================================*/

button,
a,
input,
select,
textarea{

    transition:all .3s ease;

}
/* Fix Navbar Click Issue */

header{
    z-index:99999 !important;
}

.navbar{
    z-index:99999 !important;
}