/* ==========================================================================
   FOOTER — Kemet Theme
   Dark 4-column layout matching reference
   ========================================================================== */

.kt-footer {
    background: var(--kt-dark);
    color: rgba(255,255,255,.75);
}
.kt-footer__main {
    padding: var(--kt-sp-4xl) 0 var(--kt-sp-2xl);
}
.kt-footer__grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: var(--kt-sp-2xl);
}
.kt-footer__brand { display: inline-block; margin-bottom: var(--kt-sp-lg); }
.kt-footer__brand img { height: 100px; width: auto; }
.kt-footer__brand .kt-header__logo-text {
    font-size: var(--kt-fs-xl);
    font-weight: var(--kt-fw-extra);
    color: var(--kt-white);
}
.kt-footer__about {
    font-size: var(--kt-fs-sm);
    line-height: var(--kt-lh-normal);
    margin-bottom: var(--kt-sp-lg);
    max-width: 300px;
}
.kt-footer__social {
    display: flex;
    gap: .75rem;
}
.kt-footer__social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.7);
    transition: all var(--kt-tr-fast);
}
.kt-footer__social a:hover {
    background: var(--kt-primary);
    color: var(--kt-white);
    transform: translateY(-2px);
}
.kt-footer__heading {
    color: var(--kt-white);
    font-size: var(--kt-fs-base);
    font-weight: var(--kt-fw-semi);
    margin-bottom: var(--kt-sp-lg);
    letter-spacing: var(--kt-ls-wide);
    text-transform: uppercase;
    position: relative;
    padding-bottom: var(--kt-sp-md);
}
.kt-footer__heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 2px;
    background: var(--kt-primary);
}
.kt-footer__links { list-style: none; }
.kt-footer__links li { margin-bottom: .6rem; }
.kt-footer__links a {
    font-size: var(--kt-fs-sm);
    color: rgba(255,255,255,.65);
    transition: all var(--kt-tr-fast);
}
.kt-footer__links a:hover {
    color: var(--kt-white);
    padding-left: 4px;
}
.kt-footer__contact li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin-bottom: .8rem;
}
.kt-footer__contact svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--kt-primary);
}
.kt-footer__contact-link {
    color: rgba(255,255,255,.65);
}
.kt-footer__contact-link:hover {
    color: var(--kt-white);
}
.kt-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.08);
    padding: var(--kt-sp-lg) 0;
}
.kt-footer__bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--kt-fs-xs);
    color: rgba(255,255,255,.45);
    flex-wrap: wrap;
    gap: var(--kt-sp-md);
}
.kt-footer__bottom-inner a {
    color: rgba(255,255,255,.45);
    margin-left: 1.5rem;
    transition: color var(--kt-tr-fast);
}
.kt-footer__bottom-inner a:hover {
    color: var(--kt-white);
}

/* Widget compatibility */
.kt-footer .kt-widget { margin-bottom: var(--kt-sp-lg); }
.kt-footer .kt-widget__title {
    color: var(--kt-white);
    font-size: var(--kt-fs-base);
    font-weight: var(--kt-fw-semi);
    margin-bottom: var(--kt-sp-lg);
    text-transform: uppercase;
    letter-spacing: var(--kt-ls-wide);
}

/* ---------- Responsive ------------------------------------------------ */
@media (max-width: 1024px) {
    .kt-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .kt-footer__grid { grid-template-columns: 1fr; }
    .kt-footer__bottom-inner { flex-direction: column; text-align: center; }
    .kt-footer__bottom-inner a { margin-left: 0; }
}
