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

.contact-hero{
    padding:120px 0 80px;
    background:radial-gradient(circle at top, #12301c, #07110C);
    text-align:center;
    position:relative;
    overflow:hidden;
}

.contact-hero-inner{
    max-width:900px;
}

.contact-badge{
    display:inline-block;
    padding:8px 14px;
    border:1px solid #1c2f22;
    color:#7CB342;
    font-size:12px;
    letter-spacing:2px;
    margin-bottom:20px;
}

.contact-hero h1{
    font-family:'Oswald';
    font-size:64px;
    margin-bottom:15px;
}

.contact-hero p{
    color:#cfd8d1;
    line-height:1.8;
}

.contact-highlights{
    margin-top:30px;
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.highlight{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border:1px solid #1c2f22;
    background:#0b1a12;
    transition:.3s;
}

.highlight:hover{
    transform:translateY(-5px);
    border-color:#7CB342;
}

/* =========================
   CONTACT GRID
========================= */

.contact-section{
    padding:100px 0;
}

.contact-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:40px;
}

/* FORM */

.contact-form-card{
    background:#0b1a12;
    border:1px solid #1c2f22;
    padding:40px;
    transition:.3s;
}

.contact-form-card:hover{
    transform:translateY(-5px);
    border-color:#7CB342;
}

.contact-form-card h2{
    font-family:'Oswald';
    margin-bottom:10px;
}

.contact-form-card p{
    color:#cbd3cc;
    margin-bottom:25px;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin-bottom:15px;
}

input, select, textarea{
    width:100%;
    padding:14px;
    background:#07110C;
    border:1px solid #1c2f22;
    color:#fff;
    outline:none;
    transition:.3s;
}

input:focus, select:focus, textarea:focus{
    border-color:#7CB342;
}

textarea{
    resize:none;
    margin-bottom:20px;
}

.contact-btn{
    width:100%;
    background:#7CB342;
    color:#fff;
    padding:14px;
    font-weight:700;
    display:flex;
    justify-content:center;
    gap:10px;
    transition:.3s;
}

.contact-btn:hover{
    background:#5f8f29;
}

/* INFO */

.contact-info-card{
    background:#0b1a12;
    border:1px solid #1c2f22;
    padding:40px;
}

.contact-info-card h2{
    font-family:'Oswald';
    margin-bottom:25px;
}

.info-item{
    display:flex;
    gap:15px;
    margin-bottom:20px;
    padding-bottom:15px;
    border-bottom:1px solid #1c2f22;
}

.info-item i{
    color:#7CB342;
}

.contact-note{
    margin-top:20px;
    padding:15px;
    border-left:3px solid #7CB342;
    background:#07110C;
    color:#cbd3cc;
}

/* MAP */

.contact-map{
    padding:80px 0;
    background:#08140d;
}

.map-header{
    text-align:center;
    margin-bottom:30px;
}

.map-box{
    height:300px;
    background:url("../assets/map.jpg") center/cover no-repeat;
    border:1px solid #1c2f22;
    position:relative;
    overflow:hidden;
}

.map-overlay{
    position:absolute;
    bottom:20px;
    left:20px;
    background:rgba(0,0,0,.6);
    padding:20px;
    border-left:3px solid #7CB342;
}

/* ACTIONS */

.contact-actions{
    padding:80px 0;
}

.actions-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.action-card{
    background:#0b1a12;
    border:1px solid #1c2f22;
    padding:30px;
    text-align:center;
    transition:.3s;
}

.action-card i{
    color:#7CB342;
    margin-bottom:10px;
}

.action-card:hover{
    transform:translateY(-8px);
    border-color:#7CB342;
}

/* RESPONSIVE */

@media(max-width:992px){
    .contact-grid{
        grid-template-columns:1fr;
    }

    .actions-grid{
        grid-template-columns:1fr 1fr;
    }

    .contact-hero h1{
        font-size:42px;
    }
}

@media(max-width:576px){
    .form-row{
        grid-template-columns:1fr;
    }

    .actions-grid{
        grid-template-columns:1fr;
    }
}

/* =========================
   MAP CONTAINER
========================= */

.map-box{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:30px;
    align-items:center;
}

/* MAP WRAPPER */
.oyo-map{
    position:relative;
    background:radial-gradient(circle at center, #0b1a12, #07110C);
    border:1px solid #1c2f22;
    padding:20px;
    overflow:hidden;
}

/* SVG MAP */
.map-svg{
    width:100%;
    height:420px;
}

/* STATE OUTLINE */
.state-outline{
    fill:#0f2217;
    stroke:#7CB342;
    stroke-width:2;
    opacity:0.8;
}

/* CITY POINTS */
.city{
    fill:#7CB342;
    cursor:pointer;
    transition:.3s;
    stroke:#fff;
    stroke-width:2;
}

/* hover glow */
.city:hover{
    transform:scale(1.6);
    fill:#a5e86a;
    filter:drop-shadow(0 0 8px #7CB342);
}

/* pulse animation for Ibadan */
.ibadan{
    animation:pulse 2s infinite;
}

/* TOOLTIP */
.map-tooltip{
    position:absolute;
    background:#07110C;
    border:1px solid #7CB342;
    padding:8px 12px;
    font-size:12px;
    color:#fff;
    pointer-events:none;
    display:none;
    z-index:10;
}

/* OVERLAY PANEL */
.map-overlay{
    background:#0b1a12;
    border:1px solid #1c2f22;
    padding:25px;
}

.map-stats{
    margin-top:20px;
    display:grid;
    gap:15px;
}

.map-stats h4{
    color:#7CB342;
}

/* PULSE ANIMATION */
@keyframes pulse{
    0% { transform:scale(1); opacity:1; }
    50% { transform:scale(1.3); opacity:0.6; }
    100% { transform:scale(1); opacity:1; }
}

/* RESPONSIVE */
@media(max-width:992px){
    .map-box{
        grid-template-columns:1fr;
    }

    .map-svg{
        height:320px;
    }
}