/* ============================================================
   Learn English JP — Footer
   ============================================================ */

.ej-footer {
    background: #ffffff;
    border-top: 1px solid var(--ej-border);
    margin-top: 14px;
    padding: 16px 24px 28px;
}
.ej-footer__inner { max-width: 1200px; margin: 0 auto; }

.ej-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 48px;
    align-items: start;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--ej-border);
    margin-bottom: 24px;
}

.ej-footer__logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--ej-font);
    font-size: 20px;
    font-weight: 900;
    color: var(--ej-indigo);
    text-decoration: none;
    letter-spacing: -0.03em;
    margin-bottom: 12px;
}
.ej-footer__logo:hover { color: var(--ej-indigo-dark); }

.ej-footer__tagline {
    font-size: 14px;
    line-height: 1.7;
    color: var(--ej-slate);
    max-width: 36ch;
}

.ej-footer__heading {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ej-muted);
    margin: 0 0 14px;
}

.ej-footer__nav-list { list-style: none; }
.ej-footer__nav-list li { margin: 0; }
.ej-footer__nav-list a {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ej-slate);
    text-decoration: none;
    border-radius: 8px;
    padding: 4px 6px;
    margin-left: -6px;
    transition: color .15s, background .15s;
}
.ej-footer__nav-list a:hover {
    color: var(--ej-indigo);
    background: var(--ej-indigo-lt);
}

.ej-footer__bottom { text-align: center; }
.ej-footer__copy { font-size: 12px; color: var(--ej-muted); }

@media (max-width: 900px) {
    .ej-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .ej-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .ej-footer { padding: 40px 16px 20px; margin-top: 40px; }
    .ej-footer__grid { grid-template-columns: 1fr; gap: 24px; }
}
