/* =========================================
   MAIN FOOTER STYLES
   ========================================= */
.main-footer {
    background: linear-gradient(135deg, #0d3b66 0%, #072541 100%);
    color: #ffffff;
    padding: 80px 0 30px;
    font-family: 'Poppins', sans-serif;
    border-top: 5px solid #f4d35e; /* School Yellow Top Accent */
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1.5fr 1fr;
    gap: 50px;
    margin-bottom: 40px;
}

/* --- Brand Section --- */
.footer-logo { font-size: 24px; font-weight: 700; margin-bottom: 15px; }
.footer-logo span { display: block; font-size: 13px; color: #f4d35e; text-transform: uppercase; letter-spacing: 1px; }
.brand-text { color: #cbd5e0; font-size: 14px; line-height: 1.7; margin-bottom: 25px; }

/* --- Social Media (High Visibility) --- */
.social-container { display: flex; gap: 12px; }
.social-icon {
    width: 40px; height: 40px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}
.social-icon:hover {
    background: #f4d35e; color: #0d3b66;
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(244, 211, 94, 0.3);
}

/* --- Quick Links Grid --- */
.links-area h4, .contact-area h4 {
    font-size: 18px; margin-bottom: 25px; color: #f4d35e;
}

.footer-nav-list {
    list-style: none; padding: 0;
    display: grid; grid-template-columns: 1fr 1fr; /* 2 Columns on Desktop */
    gap: 12px 20px;
}

.footer-nav-list a {
    color: #cbd5e0; text-decoration: none; font-size: 14px;
    transition: 0.3s; display: block;
}

.footer-nav-list a:hover {
    color: #f4d35e; transform: translateX(5px);
}

.footer-notice-link {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
}

.footer-notice-icon {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #3498db;
    color: #fff;
    font-size: 17px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: transform 0.25s ease, background 0.25s ease;
}

.footer-notice-link:hover .footer-notice-icon,
.footer-notice-link:focus-visible .footer-notice-icon {
    background: #5dade2;
    transform: scale(1.08);
}

/* --- Contact Details --- */
.contact-item { display: flex; gap: 15px; margin-bottom: 20px; align-items: flex-start; }
.contact-item i { color: #f4d35e; font-size: 16px; margin-top: 3px; }
.contact-item span { color: #cbd5e0; font-size: 14px; line-height: 1.5; }

/* --- Footer Bottom Bar --- */
.footer-bottom {
    text-align: center; padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 12px; color: #a0aec0;
    color: #ffffff ;
}

/* =========================================
   RESPONSIVE (IPAD & MOBILE)
   ========================================= */

/* Tablets (Max 1024px) */
@media (max-width: 1024px) {
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    .contact-area { grid-column: span 2; }
}

/* Mobile (Max 768px) */
@media (max-width: 768px) {
    .main-footer { text-align: center; padding: 60px 0 20px; }
    .footer-grid { grid-template-columns: 1fr; }
    .contact-area { grid-column: span 1; }
    
    .social-container { justify-content: center; }
    .footer-nav-list { justify-items: center; } /* Centers the link text */
    .contact-item { justify-content: center; flex-direction: column; align-items: center; }
    
    .footer-nav-list a:hover { transform: scale(1.1); } /* Different hover for mobile */
}