/* ==========================================
       VVRC REDESIGNED MODERN FOOTER SYSTEM
       Namespace: 'vvrc-footer-'
       ========================================== */
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

    .vvrc-footer-pre-band {
        background: linear-gradient(135deg, #7C3AED 0%, #4F46E5 50%, #2563EB 100%) !important;
        background-image: 
            radial-gradient(circle, rgba(255,255,255,0.08) 1px, transparent 1px),
            linear-gradient(135deg, #7C3AED 0%, #4F46E5 50%, #2563EB 100%) !important;
        background-size: 24px 24px, 100% 100% !important;
        padding: 60px 0 !important;
        color: #FFFFFF !important;
        font-family: "Inter", sans-serif !important;
        position: relative !important;
        z-index: 5 !important;
        border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    }
    @media (max-width: 767px) {
        .vvrc-footer-pre-band {
            padding: 40px 0 !important;
        }
    }
    .vvrc-footer-pre-pill {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        color: #FFFFFF !important;
        background: rgba(255, 255, 255, 0.15) !important;
        padding: 6px 14px !important;
        border-radius: 100px !important;
        display: inline-block !important;
        margin-bottom: 16px !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        letter-spacing: 2px !important;
    }
    .vvrc-footer-pre-title {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 36px !important;
        font-weight: 800 !important;
        color: #FFFFFF !important;
        line-height: 1.25 !important;
        margin-bottom: 12px !important;
        letter-spacing: -0.5px !important;
        text-align: left !important;
    }
    @media (max-width: 767px) {
        .vvrc-footer-pre-title {
            font-size: 24px !important;
            text-align: center !important;
        }
    }
    .vvrc-footer-pre-sub {
        font-size: 16px !important;
        color: rgba(255, 255, 255, 0.8) !important;
        margin-bottom: 0 !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }
    @media (max-width: 767px) {
        .vvrc-footer-pre-sub {
            text-align: center !important;
            margin-bottom: 24px !important;
        }
    }
    .vvrc-footer-pre-ctas {
        display: flex !important;
        gap: 16px !important;
        justify-content: flex-end !important;
        align-items: center !important;
        height: 100% !important;
    }
    @media (max-width: 767px) {
        .vvrc-footer-pre-ctas {
            justify-content: center !important;
            flex-direction: column !important;
            align-items: stretch !important;
        }
    }
    .vvrc-footer-pre-btn {
        padding: 14px 28px !important;
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        border-radius: 10px !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        text-decoration: none !important;
    }
    .vvrc-footer-pre-btn-white {
        background: #FFFFFF !important;
        color: #7C3AED !important;
        position: relative !important;
        overflow: hidden !important;
    }
    .vvrc-footer-pre-btn-white::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: -150px !important;
        width: 100px !important;
        height: 100% !important;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent) !important;
        transform: skewX(-20deg) !important;
    }
    .vvrc-footer-pre-btn-white:hover::before {
        animation: vvrcShimmerSweep 1.5s infinite !important;
    }
    @keyframes vvrcShimmerSweep {
        0% { left: -150px; }
        100% { left: 100%; }
    }
    .vvrc-footer-pre-btn-white:hover {
        background: #F5F3FF !important;
        transform: translateY(-2px) scale(1.03) !important;
        color: #7C3AED !important;
    }
    .vvrc-footer-pre-btn-wa {
        background: #25D366 !important;
        color: #FFFFFF !important;
    }
    .vvrc-footer-pre-btn-wa:hover {
        background: #1DA851 !important;
        transform: translateY(-2px) scale(1.03) !important;
        color: #FFFFFF !important;
    }

    /* MAIN FOOTER BODY */
    .vvrc-footer-main {
        background-color: #0F172A !important;
        background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E") !important;
        padding: 72px 0 0 !important;
        color: #94A3B8 !important;
        font-family: "Inter", sans-serif !important;
        position: relative !important;
        overflow: hidden !important;
    }
    .vvrc-footer-glow-1 {
        position: absolute !important;
        top: 0 !important;
        right: 10% !important;
        width: 300px !important;
        height: 300px !important;
        background: radial-gradient(circle, rgba(124,58,237,0.12) 0%, transparent 70%) !important;
        pointer-events: none !important;
    }
    .vvrc-footer-glow-2 {
        position: absolute !important;
        bottom: 0 !important;
        left: 5% !important;
        width: 200px !important;
        height: 200px !important;
        background: radial-gradient(circle, rgba(37,99,235,0.08) 0%, transparent 70%) !important;
        pointer-events: none !important;
    }

    .vvrc-footer-brand-col {
        text-align: left !important;
    }
    .vvrc-footer-logo-text {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 32px !important;
        font-weight: 800 !important;
        margin-bottom: 0 !important;
        display: inline-block !important;
        background: linear-gradient(135deg, #A78BFA, #7C3AED) !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
    }
    .vvrc-footer-logo-sub {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: rgba(255,255,255,0.6) !important;
        display: block !important;
        margin-top: -4px !important;
        letter-spacing: 1px !important;
    }
    .vvrc-footer-tagline {
        font-size: 15px !important;
        color: #94A3B8 !important;
        font-style: italic !important;
        margin-top: 12px !important;
        margin-bottom: 8px !important;
    }
    .vvrc-footer-brand-desc {
        font-size: 14px !important;
        color: #64748B !important;
        line-height: 1.7 !important;
        margin-bottom: 24px !important;
        max-width: 260px !important;
    }
    .vvrc-footer-badges-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        margin-bottom: 24px !important;
    }
    .vvrc-footer-trust-badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        border: 1px solid rgba(255,255,255,0.1) !important;
        background: rgba(255,255,255,0.04) !important;
        border-radius: 6px !important;
        padding: 6px 12px !important;
        font-size: 11px !important;
        color: #94A3B8 !important;
        align-self: flex-start !important;
    }
    .vvrc-footer-trust-badge svg {
        color: #7C3AED !important;
    }

    .vvrc-footer-social-label {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 2px !important;
        color: #64748B !important;
        margin-bottom: 12px !important;
        display: block !important;
    }
    .vvrc-footer-social-row {
        display: flex !important;
        gap: 12px !important;
    }
    .vvrc-footer-social-btn {
        width: 38px !important;
        height: 38px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.06) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #94A3B8 !important;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        text-decoration: none !important;
    }
    .vvrc-footer-social-btn svg {
        transition: transform 0.3s ease !important;
    }
    .vvrc-footer-social-btn:hover {
        color: #FFFFFF !important;
        transform: translateY(-2px) scale(1.1) !important;
    }
    .vvrc-footer-social-fb:hover {
        background: #1877F2 !important;
        border-color: #1877F2 !important;
    }
    .vvrc-footer-social-ig:hover {
        background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
        border-color: #e6683c !important;
    }
    .vvrc-footer-social-yt:hover {
        background: #FF0000 !important;
        border-color: #FF0000 !important;
    }
    .vvrc-footer-social-li:hover {
        background: #0A66C2 !important;
        border-color: #0A66C2 !important;
    }

    /* LINK COLUMNS */
    .vvrc-footer-column {
        text-align: left !important;
    }
    .vvrc-footer-heading {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #FFFFFF !important;
        text-transform: uppercase !important;
        letter-spacing: 2px !important;
        padding-bottom: 16px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
        margin-bottom: 20px !important;
        position: relative !important;
    }
    .vvrc-footer-heading::after {
        content: '' !important;
        position: absolute !important;
        bottom: -1px !important;
        left: 0 !important;
        width: 32px !important;
        height: 2px !important;
        background: #7C3AED !important;
    }

    .vvrc-footer-links-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .vvrc-footer-link-item {
        padding: 2px 0 !important;
    }
    .vvrc-footer-link-item a {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 6px 0 !important;
        font-size: 14px !important;
        color: #94A3B8 !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        position: relative !important;
    }
    .vvrc-footer-link-item a::before {
        content: '' !important;
        position: absolute !important;
        left: -8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 2px !important;
        height: 0 !important;
        background: #7C3AED !important;
        transition: height 0.2s ease !important;
    }
    .vvrc-footer-link-item a:hover::before {
        height: 70% !important;
    }
    .vvrc-footer-link-chevron {
        color: #7C3AED !important;
        opacity: 0 !important;
        transform: translateX(-4px) !important;
        transition: all 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
    }
    .vvrc-footer-link-item a:hover {
        color: #FFFFFF !important;
        padding-left: 4px !important;
    }
    .vvrc-footer-link-item a:hover .vvrc-footer-link-chevron {
        opacity: 1 !important;
        transform: translateX(0) !important;
    }

    /* CONTACT COLUMN */
    .vvrc-footer-contact-item {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
    }
    .vvrc-footer-contact-icon {
        width: 32px !important;
        height: 32px !important;
        background: rgba(124, 58, 237, 0.15) !important;
        border-radius: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #A78BFA !important;
        flex-shrink: 0 !important;
    }
    .vvrc-footer-contact-info {
        display: flex !important;
        flex-direction: column !important;
        text-align: left !important;
    }
    .vvrc-footer-contact-label {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        color: #64748B !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        margin-bottom: 2px !important;
    }
    .vvrc-footer-contact-val {
        font-size: 14px !important;
        color: #E2E8F0 !important;
        line-height: 1.5 !important;
    }
    .vvrc-footer-contact-val a {
        color: #E2E8F0 !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
    }
    .vvrc-footer-contact-val a:hover {
        color: #A78BFA !important;
    }

    .vvrc-footer-wa-bar {
        background: rgba(37, 211, 102, 0.08) !important;
        border: 1px solid rgba(37, 211, 102, 0.25) !important;
        border-radius: 10px !important;
        padding: 10px 14px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        text-decoration: none !important;
        margin-top: 20px !important;
        transition: all 0.3s ease !important;
    }
    .vvrc-footer-wa-bar:hover {
        background: rgba(37, 211, 102, 0.18) !important;
        border-color: rgba(37, 211, 102, 0.45) !important;
        transform: scale(1.01) !important;
    }
    .vvrc-footer-wa-icon {
        color: #25D366 !important;
        display: flex !important;
        align-items: center !important;
    }
    .vvrc-footer-wa-text {
        display: flex !important;
        flex-direction: column !important;
        text-align: left !important;
    }
    .vvrc-footer-wa-title {
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #FFFFFF !important;
    }
    .vvrc-footer-wa-phone {
        font-size: 11px !important;
        color: #94A3B8 !important;
    }

    /* NEWSLETTER STRIP */
    .vvrc-footer-newsletter-wrap {
        padding: 0 24px !important;
        margin-bottom: 40px !important;
    }
    .vvrc-footer-newsletter {
        background: rgba(124, 58, 237, 0.08) !important;
        border: 1px solid rgba(124, 58, 237, 0.15) !important;
        border-radius: 16px !important;
        padding: 24px 32px !important;
    }
    .vvrc-footer-news-left {
        text-align: left !important;
    }
    @media (max-width: 991px) {
        .vvrc-footer-news-left {
            text-align: center !important;
            margin-bottom: 20px !important;
        }
    }
    .vvrc-footer-news-title {
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #FFFFFF !important;
        margin-bottom: 6px !important;
    }
    .vvrc-footer-news-sub {
        font-size: 13px !important;
        color: #94A3B8 !important;
        margin-bottom: 0 !important;
    }
    .vvrc-footer-news-right {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    .vvrc-footer-form-row {
        display: flex !important;
        align-items: center !important;
        height: 46px !important;
        position: relative !important;
    }
    .vvrc-footer-news-input {
        background: rgba(255, 255, 255, 0.06) !important;
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        border-radius: 8px 0 0 8px !important;
        padding: 12px 16px !important;
        color: #FFFFFF !important;
        font-size: 14px !important;
        height: 46px !important;
        width: 100% !important;
        outline: none !important;
        transition: all 0.3s ease !important;
    }
    .vvrc-footer-news-input:focus {
        border-color: rgba(167, 139, 250, 0.5) !important;
        background: rgba(255, 255, 255, 0.1) !important;
    }
    .vvrc-footer-news-btn {
        background: #7C3AED !important;
        color: #FFFFFF !important;
        font-family: "Plus Jakarta Sans", sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        border: none !important;
        border-radius: 0 8px 8px 0 !important;
        padding: 0 24px !important;
        height: 46px !important;
        cursor: pointer !important;
        transition: background-color 0.2s ease !important;
        flex-shrink: 0 !important;
    }
    .vvrc-footer-news-btn:hover {
        background: #6D28D9 !important;
    }
    .vvrc-footer-news-tiny {
        font-size: 11px !important;
        color: #64748B !important;
        margin-top: 6px !important;
        text-align: left !important;
    }
    @media (max-width: 991px) {
        .vvrc-footer-news-tiny {
            text-align: center !important;
        }
    }
    .vvrc-footer-news-success {
        color: #10B981 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        margin-top: 8px !important;
        text-align: left !important;
    }

    /* DIVIDER */
    .vvrc-footer-divider {
        border-top: 1px solid rgba(255,255,255,0.07) !important;
        margin: 0 24px 30px !important;
    }

    /* BOTTOM BAR */
    .vvrc-footer-bottom {
        background: #0B1120 !important;
        padding: 20px 24px !important;
        border-top: 1px solid rgba(255,255,255,0.03) !important;
    }
    .vvrc-footer-bottom-container {
        max-width: 1280px !important;
        margin: 0 auto !important;
    }
    .vvrc-footer-copy {
        font-size: 13px !important;
        color: #475569 !important;
        margin-bottom: 0 !important;
        text-align: left !important;
    }
    .vvrc-footer-bottom-links {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 4px !important;
        font-size: 13px !important;
        color: #64748B !important;
        margin-bottom: 0 !important;
    }
    .vvrc-footer-bottom-links a {
        color: #64748B !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
    }
    .vvrc-footer-bottom-links a:hover {
        color: #A78BFA !important;
    }
    .vvrc-footer-made-in {
        font-size: 13px !important;
        color: #475569 !important;
        text-align: right !important;
        margin-bottom: 0 !important;
    }
    @media (max-width: 767px) {
        .vvrc-footer-bottom {
            padding: 30px 24px !important;
        }
        .vvrc-footer-copy, .vvrc-footer-bottom-links, .vvrc-footer-made-in {
            text-align: center !important;
            margin-bottom: 12px !important;
        }
        .vvrc-footer-made-in {
            margin-bottom: 0 !important;
        }
    }

    /* BACK TO TOP BUTTON */
    .vvrc-footer-back-to-top {
        position: fixed !important;
        bottom: 38px !important;
        right: 105px !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        background: #7C3AED !important;
        color: #FFFFFF !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 4px 20px rgba(124,58,237,0.4) !important;
        cursor: pointer !important;
        z-index: 9999 !important;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        border: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }
    .vvrc-footer-back-to-top.visible {
        opacity: 1 !important;
        pointer-events: auto !important;
        visibility: visible !important;
    }
    .vvrc-footer-back-to-top:hover {
        background: #6D28D9 !important;
        transform: scale(1.1) translateY(-2px) !important;
    }

    /* Tooltip */
    .vvrc-footer-back-to-top[data-tooltip]::after {
        content: attr(data-tooltip) !important;
        position: absolute !important;
        bottom: 52px !important;
        right: 50% !important;
        transform: translateX(50%) scale(0.8) !important;
        background: #0F172A !important;
        color: #FFFFFF !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        padding: 6px 10px !important;
        border-radius: 6px !important;
        white-space: nowrap !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: all 0.2s ease !important;
        border: 1px solid rgba(255,255,255,0.08) !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    }
    .vvrc-footer-back-to-top[data-tooltip]:hover::after {
        opacity: 1 !important;
        transform: translateX(50%) scale(1) !important;
    }

    /* Scroll Animations */
    @media (prefers-reduced-motion: no-preference) {
        .vvrc-footer-animate-fade {
            opacity: 0 !important;
            transition: opacity 0.6s ease-out, transform 0.6s ease-out !important;
            will-change: opacity, transform !important;
        }
        .vvrc-footer-animate-fade-left {
            transform: translateX(-20px) !important;
        }
        .vvrc-footer-animate-fade-up {
            transform: translateY(20px) !important;
        }
        .vvrc-footer-animate-fade-right {
            transform: translateX(20px) !important;
        }
        .vvrc-footer-animate-scale {
            transform: scale(0.97) !important;
        }
        
        .vvrc-footer-animated {
            opacity: 1 !important;
            transform: none !important;
        }
    }