/* Krystal7 Footer Styles - Shared across all pages */
/* Extracted from index.html for consistent rendering */

:root {
            --primary: #02152C;
            --text: #FFFFFF;
            --accent1: #FF7F27;
            --accent2: #175333;
            --light-bg: #F8F9FA;
            --dark-text: #212529;
        }

footer {
            background-color: var(--primary);
            color: white;
            padding: 80px 0 20px;
            position: relative;
        }

.footer-logo {
            height: 100px;
            margin-bottom: 20px;
        }

.footer-about {
            margin-bottom: 20px;
        }

.footer-links h5 {
            color: var(--accent1);
            margin-bottom: 25px;
            font-weight: 600;
            position: relative;
            padding-bottom: 10px;
        }

.footer-links h5:after {
            display: none;
        }

.footer-links ul {
            list-style: none;
            padding-left: 0;
        }

.footer-links li {
            margin-bottom: 12px;
        }

.footer-links a {
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
            transition: all 0.3s;
            display: inline-block;
        }

.footer-links a:hover {
            color: var(--accent1);
            transform: translateX(5px);
        }

.footer-social-icons {
            margin-top: 30px;
        }

.footer-social-icons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
            color: white;
            margin-right: 10px;
            transition: all 0.3s;
            text-decoration: none;
        }

.footer-social-icons a:hover {
            background: var(--accent1);
            transform: translateY(-3px);
            color: white;
        }

.footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-top: 20px;
            margin-top: 40px;
        }
/* K7-FOOTER-SAFETY: explicit colors so footer is always visible even if CSS vars fail */
footer {
    background-color: #02152C !important;
    color: #ffffff !important;
}
footer .footer-about,
footer .footer-links h5,
footer .footer-links ul li a,
footer .contact-info,
footer .contact-info .contact-item,
footer .contact-info .contact-item a,
footer .footer-bottom p,
footer .footer-bottom a {
    color: rgba(255, 255, 255, 0.85) !important;
}
footer .footer-links h5 { color: #ff7f27 !important; }
footer .footer-bottom a[style*="#FF7F27"],
footer .footer-bottom p[style*="#FF7F27"] { color: #ff7f27 !important; }
footer .footer-links ul li a:hover,
footer .contact-info .contact-item a:hover { color: #ff7f27 !important; }

/* K7-FOOTER-LAYOUT: force horizontal column layout in footer so all 4 columns fit side-by-side */
@media (min-width: 992px) {
  footer .row { display: flex !important; flex-wrap: nowrap !important; }
  footer .row > .col-lg-4 { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
  footer .row > .col-lg-3 { flex: 0 0 25% !important; max-width: 25% !important; }
  footer .row > .col-lg-2 { flex: 0 0 16.667% !important; max-width: 16.667% !important; }
}

/* K7-FOOTER-ANIMATE-OVERRIDE: force animate-up elements in footer to always be visible.
   The IntersectionObserver that normally reveals them fails on some pages. */
footer .animate-up,
footer .animate-up.animate-delay-1,
footer .animate-up.animate-delay-2 {
    opacity: 1 !important;
    transform: none !important;
}
