/* ===============================
   MAIN FRAME
================================= */
 
/*
    File: styles/contact.css
    Purpose: Styles for contact page layout, info boxes, map and form.
*/

/* Layout: page frame */
.page-frame{
    max-width: 1250px;
    margin: 40px auto;
    background: linear-gradient(135deg, #FFFFFF 0%, #f8fafc 100%);
    box-shadow: 0 20px 60px rgba(7, 65, 113, 0.12);
    border-radius: 20px;
    overflow: hidden;
    padding-bottom: 40px;
    border: 1px solid rgba(7, 65, 113, 0.08);
}

/* ===============================
   MAIN TITLE
================================= */
 
/* Typography: main title */
.main-title{
    text-align: center;
    font-size: 38px;
    color: #074171;
    margin: 50px 0 15px;
    font-weight: 800;
    letter-spacing: -1px;
}

.contact-heading{
    text-align: center;
    margin-bottom: 35px;
}

.contact-heading p{
    font-size: 16px;
    color: #666;
    font-weight: 500;
}


/* ===============================
   TOP CONTACT INFO BOXES
================================= */

/* Section: contact info boxes */
.contact-info-section{
    width:90%;
    max-width:1000px;
    margin:0 auto 40px;
    display:flex;
    gap:22px;
    flex-wrap:wrap;
}

.contact-info-box{
    flex:1 1 250px;
    background:#ffffff;
    padding:20px;
    border-radius:14px;
    display:flex;
    align-items:center;
    gap:15px;
    box-shadow:0 10px 24px rgba(0,0,0,0.06);
    transition:0.3s ease;
    border:2px solid transparent;
}

.contact-info-box:hover{
    transform:translateY(-4px);
    border-color:#074171;
}

/* ROUND ICON SAME FOR ALL */
.contact-icon{
    width:55px;
    height:55px;
    min-width:55px;
    background:#074171;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffd60a;
    font-size:20px;
}

/* TEXT AREA */
.contact-text h3{
    font-size:16px;
    color:#074171;
    margin-bottom:5px;
}

.contact-text p{
    font-size:14px;
    color:#555;
    margin:0;
    line-height:1.4;
}

/* REMOVE SMALL ICON STYLE */
.small-icon{
    display:none;
}

/* EMAIL SINGLE LINE FIX */
.contact-text p{
    word-break:keep-all;
    overflow-wrap:normal;
}

.contact-info-box:nth-child(2) .contact-text p{
    white-space:nowrap;
}
 /* Flip only the call icon symbol inside circle */
.contact-info-box:nth-child(3) .contact-icon i{
    transform: scaleX(-1);
}
/* ===============================
   MAP + FORM SECTION
================================= */
 
/* Section: map and enquiry form */
.contact-wrapper{
    width:90%;
    max-width:1000px;
    margin:0 auto 40px;
    display:flex;
    gap:24px;
    flex-wrap:wrap;
}

.contact-box{
    flex: 1 1 360px;
    background: #FFFFFF;
    padding: 28px;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(7, 65, 113, 0.12);
    display: flex;
    flex-direction: column;
    border: 2px solid #F0F0F0;
    transition: all 0.4s ease;
    position: relative;
}
.contact-box:hover{
    border-color: #074171;
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(7, 65, 113, 0.18);
}
/* ===============================
   TITLES
================================= */
 /* Component: section titles */

.contact-box h3{
    margin-bottom: 20px;
    font-size: 20px;
    color: #074171;
    text-align: center;
    position: relative;
    padding-bottom: 12px;
    font-weight: 800;
}

/* ===============================
   MAP
================================= */
 
.contact-box iframe{
    width:100%;
    height:340px;
    border:none;
    border-radius:14px;
}

/* ===============================
   FORM
================================= */
 
.clean-form{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.clean-form input,
.clean-form select,
.clean-form textarea{
    padding: 14px;
    border-radius: 10px;
    border: 2px solid #E0E0E0;
    font-size: 14px;
    outline: none;
    transition: all 0.3s ease;
    background: #FFFFFF;
    font-family: inherit;
}

.clean-form textarea{
    min-height:120px;
    resize:none;
}

.clean-form input:focus,
.clean-form select:focus,
.clean-form textarea:focus{
    border-color: #FFD60A;
    box-shadow: 0 0 0 4px rgba(255, 214, 10, 0.2);
    background: #FFFFFF;
}

.clean-form button{
    margin-top: 10px;
    background: linear-gradient(135deg, #074171 0%, #0a5a99 100%);
    color: #FFFFFF;
    padding: 14px;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 8px 25px rgba(7, 65, 113, 0.25);
}

.clean-form button:hover{
    background: linear-gradient(135deg, #FFD60A 0%, #ffc800 100%);
    color: #074171;
    transform: translateY(-2px);
    box-shadow: 0 12px 35px rgba(255, 214, 10, 0.35);
}

/* ===============================
   RESPONSIVE FIX (ONLY MAP + FORM)
================================= */

/* Tablet */
 

    /* Responsive adjustments for map and form */
    /* Tablet */
    @media(max-width:992px){
    .contact-wrapper{
        gap:20px;
    }

    .contact-box{
        flex:1 1 100%;
    }

    .contact-box iframe{
        height:260px;
    }
}

/* Mobile */
@media(max-width:768px){

    .contact-wrapper{
        flex-direction:column;
        gap:20px;
    }

    .contact-box{
        width:100%;
        padding:18px;
    }

     
    .contact-box iframe{
        height:320px;   
    }

    .clean-form button{
        width:100%;
    }
}

/* Small Mobile */
@media(max-width:480px){

    .contact-box iframe{
        height:280px;    
    }
}


/* ===============================
   POPUP STYLES
================================= */
/* POPUP OVERLAY */
.popup-box{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    visibility:hidden;
    transition:0.3s;
    z-index:9999;
}

/* ACTIVE POPUP */
.popup-box.active{
    opacity:1;
    visibility:visible;
}

/* POPUP CARD */
.popup-card{
    background:#15ad43; /* Green background */
    padding:45px 40px;
    border-radius:12px;
    text-align:center;
    width:420px;
    max-width:90%;
    color:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,0.25);
}

/* TITLE */
.popup-card h2{
    margin-bottom:12px;
    color:#074171;
    font-size:28px;
    font-weight:600;
}

/* TEXT */
.popup-card p{
    color:#f1f1f1;
    font-size:16px;
    line-height:1.5;
}

/* BUTTON */
.popup-card button{
    margin-top:20px;
    padding:12px 28px;
    border:none;
    background:#074171;
    color:#fff;
    border-radius:6px;
    cursor:pointer;
    font-size:15px;
    transition:0.3s;
}

/* BUTTON HOVER */
.popup-card button:hover{
    background:#0a5a9c;
}

/* MOBILE RESPONSIVE */
@media (max-width:600px){

.popup-card{
    width:90%;
    padding:35px 25px;
}

.popup-card h2{
    font-size:24px;
}

.popup-card p{
    font-size:14px;
}

}