/* =========================================
   PLAIN CSS FOOTER (REPAIRED & MOBILE OPTIMIZED)
   ========================================= */

/* Main Footer Container */
.vb-footer {
    position: relative;
    background-color: #ffffff;
    font-family: 'Outfit', sans-serif;
    color: #444444; /* Changed from transparent to prevent invisible text bugs */
    border-top: 1px solid #f0f0f0;
    overflow: hidden;
    
}

/* --- Content & Grid Layout System --- */
.vb-footer-content {
    position: relative;
    z-index: 10;
    max-width: 1400px;
    margin: 0 auto;
    
    padding: 120px 60px; /* Reduced desktop padding to eliminate extreme spacing gaps */
}

.vb-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
     transform:translateY(-65px);
}

/* --- Typography Formatting Changes --- */
.vb-footer-col h4 {
    font-family: 'Outfit', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #0f0f0f;
    margin-bottom: 37px;
    margin-top: 0; /* REMOVED negative desktop margins to completely prevent mobile overlapping text layout bugs */
    letter-spacing: 0.5px;
}

.vb-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.vb-footer-col ul li {
    margin-bottom: 5px;
    font-size: 17px;
    line-height: 1.5;
}

.vb-footer-col ul li a {
    text-decoration: none;
    color: #2d2d2d;
    transition: color 0.3s ease;
}

.vb-footer-col ul li a:hover {
    color: #6c0ae3; /* Visualbox Cyan */
}

.vb-contact-info li {
    margin-bottom: 8px !important;
}

/* --- Social Media Branding Links --- */
.vb-social-icons {
    display: flex;
    gap: 10px;
    margin-top: 15px;
    margin-bottom: 60px; /* Added spacing buffer below icon line arrays */
}

.vb-social {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.vb-social:hover {
    transform: translateY(-4px);
    color: #ffffff;
}

.vb-social.fb { background-color: #1877F2; box-shadow: 0 4px 10px rgba(24, 119, 242, 0.2); }
.vb-social.ig { background-color: #E4405F; box-shadow: 0 4px 10px rgba(228, 64, 95, 0.2); }
.vb-social.in { background-color: #0A66C2; box-shadow: 0 4px 10px rgba(10, 102, 194, 0.2); }
.vb-social.yt { background-color: #FF0000; box-shadow: 0 4px 10px rgba(255, 0, 0, 0.2); }
.vb-social.tw { background-color: #1DA1F2; box-shadow: 0 4px 10px rgba(29, 161, 242, 0.2); }

/* --- Animated Video Background Floor Area --- */
.vb-footer-video-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    pointer-events: none;
}

.vb-footer-video {
    width: 100%;
    height: auto;
    object-fit: contain;
    opacity: 1;
}

/* --- Bottom Copyright Bar Block --- */
.vb-footer-bottom {
    position: relative;
    z-index: 10;
    background-color: transparent;
    /* border-top: 1px solid #eeeeee; */
    padding: 6px 20px;
    text-align: center;
}

.vb-footer-bottom p {
    margin: 0;
    font-size: 14px;
    color: #474747;
    line-height: 1.6;
}

.vb-footer-bottom a {
    color: #4A148C;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.2s ease;
}

.vb-footer-bottom a:hover {
    color: #7B1FA2;
    text-decoration: underline;
}

.vb-footer-bottom  {
    margin: 0 10px;
    color: #cccccc;
}

/* ==========================================================================
   CLEAN RESPONSIVE LAYOUT MATRIX FORK (MEDIA QUERIES FIX)
   ========================================================================== */
@media (max-width: 1024px) {
    .vb-footer-content {
        padding: 80px 40px;
    }
    .vb-footer-grid { 
        grid-template-columns: repeat(2, 1fr); 
        gap: 40px 30px;
    }
}

@media (max-width: 600px) {
    .vb-footer-content { 
        padding: 60px 24px; /* Clean mobile safe-bounds margins */
    }
    .vb-footer-grid { 
        grid-template-columns: 1fr; /* Pure linear column listing flow */
        gap: 36px; /* Uniform structural row splits gap intervals */
    }
    .vb-footer-bottom {
        padding: 20px 16px;
    }
    .vb-footer-bottom .divider { 
        display: none; /* Strip inline punctuation marks on small viewports */
    }
    .vb-footer-bottom p { 
        display: flex; 
        flex-direction: column; 
        gap: 8px; 
    }
}


@media (min-width:1600px){
    .vb-footer-content{
       padding: 300px 10px;
    }
}




/* --- Floating Actions Controls Sidebar --- */
.vb-floating-sidebar {
    position: fixed;
    right: 20px;
    bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 9999;
}

.vb-float-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #4A148C;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(74, 20, 140, 0.3);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.vb-float-btn:hover {
    background-color: #7B1FA2;
    transform: scale(1.08) translateY(-4px);
    color: #ffffff;
}



