/* Footer Widget Styles - uses design system tokens */
.footer-widgets {
    margin-bottom: var(--ns-gap-xl, 30px);
}

.footer-widget {
    margin-bottom: var(--ns-gap-xl, 30px);
    color: var(--footer-text-color, var(--ns-color-text-muted, #666)) !important;
}

.footer-widget-title {
    font-size: var(--ns-font-size-lg, 18px);
    font-weight: 600;
    margin: 0 0 var(--ns-gap-sm, 12px);
    color: var(--footer-title-color, var(--ns-color-text, #333));
    padding-bottom: var(--ns-gap-xs, 8px);
    display: inline-block;
}

.footer-widget ul li a {
    color: var(--footer-text-color, var(--ns-color-text-muted, #666));
}

.footer-widget ul li a:hover {
    color: var(--ns-color-primary, var(--primary-color, #1e3a5f));
}

.footer-widget p,
.footer-widget .textwidget {
    color: var(--footer-text-color, var(--ns-color-text-muted, #666));
    line-height: 1.6;
}

/* Footer Bottom */
.footer-bottom {
    padding-top: var(--ns-gap-lg, 20px);
    border-top: 1px solid var(--ns-color-border-light, #eee);
}

.footer-bottom p {
    margin: 0;
    color: var(--footer-text-color, var(--ns-color-text-muted, #666));
    font-size: var(--ns-font-size-base, 14px);
}

/* Responsive Footer Widgets */
@media (max-width: 768px) {
    .footer-widgets .row > div {
        margin-bottom: 30px;
    }
    
    .footer-widget-title {
        font-size: 16px;
        margin-bottom: 15px;
    }
}

@media (max-width: 480px) {
    .footer-widgets .row > div {
        margin-bottom: 25px;
    }
    
    .footer-widget {
        margin-bottom: 25px;
    }
}

/* Footer Widget Areas for different layouts */
.footer-widgets .col-md-12 {
    width: 100%;
}

.footer-widgets .col-md-6 {
    width: 50%;
}

.footer-widgets .col-md-4 {
    width: 33.333333%;
}

.footer-widgets .col-md-3 {
    width: 25%;
}

/* Social Media Icons in Footer */
.footer-widget .social-links {
    display: flex;
    gap: 15px;
    margin-top: 15px;
}

.footer-widget .social-links a {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: var(--ns-color-surface-muted, #f5f5f5);
    color: var(--footer-text-color, var(--ns-color-text-muted, #666));
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    transition: all var(--ns-transition, 0.3s ease);
}

.footer-widget .social-links a:hover {
    background: var(--ns-color-primary, var(--primary-color, #1e3a5f));
    color: #fff;
    transform: translateY(-2px);
}

/* Contact Info in Footer */
.footer-widget .contact-info {
    margin-bottom: 15px;
}

.footer-widget .contact-info i {
    color: var(--ns-color-primary, var(--primary-color, #1e3a5f));
    margin-left: 10px;
    width: 20px;
}

/* Newsletter Signup in Footer */
.footer-widget .newsletter-form {
    margin-top: 20px;
}

.footer-widget .newsletter-form input[type="email"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-bottom: 10px;
}

.footer-widget .newsletter-form button {
    background: var(--ns-color-primary, var(--primary-color, #1e3a5f));
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: var(--ns-radius-sm, 5px);
    cursor: pointer;
    transition: opacity var(--ns-transition, 0.3s ease);
}

.footer-widget .newsletter-form button:hover {
    opacity: 0.9;
}
