/*
 * Theme — Footer
 * Desktop grid: 5 columns × 256 + 16 gap inside a 48px container.
 */

.site-footer {
    position:   relative;
    overflow:   hidden;
    padding:    316px 0 80px;
    background: var(--color-dark);
    color:      var(--color-light);
}

.site-footer__inner { position: relative; z-index: 1; }

/* ── Columns ────────────────────────────────────────────────────────────── */
.site-footer__top {
    display:     flex;
    align-items: flex-start;
    gap:         16px;
}

.site-footer__newsletter,
.site-footer__col,
.site-footer__group--language { flex: 0 0 calc((100% - 64px) / 5); }
.site-footer__col--explore { margin-left: calc((100% - 64px) / 5 + 16px); }

.site-footer__title {
    margin:         0 0 16px;
    font-size:      var(--fs-lead);
    font-weight:    var(--fw-medium);
    line-height:    var(--line-height);
    letter-spacing: var(--ls-tight);
    color:          var(--color-light);
}

.site-footer__text {
    margin: 0 0 16px;
    color:  var(--color-muted);
}

.site-footer__list {
    display:        flex;
    flex-direction: column;
    gap:            12px;
    margin:         0;
    padding:        0;
    list-style:     none;
}
.site-footer__list a {
    display:         block;
    color:           var(--color-muted);
    text-decoration: none;
}
.site-footer__list a:hover { color: var(--color-light); }

/* ── Newsletter ─────────────────────────────────────────────────────────── */
.site-footer__form {
    display:       flex;
    align-items:   center;
    gap:           8px;
    padding:       6px 0;
    border-bottom: 1px solid var(--color-light);
}
.site-footer__input {
    flex:           1;
    min-width:      0;
    padding:        0;
    font:           inherit;
    letter-spacing: inherit;
    line-height:    var(--line-height);
    color:          var(--color-light);
    background:     none;
    border:         0;
    outline:        0;
}
.site-footer__input::placeholder { color: var(--color-muted); opacity: 1; }
.site-footer__submit {
    display:    flex;
    padding:    0;
    color:      var(--color-light);
    background: none;
    border:     0;
    cursor:     pointer;
}
.site-footer__submit:hover { opacity: .6; }
.site-footer__form:focus-within { border-bottom-color: var(--color-on-dark-muted); }

/* ── Wordmark ───────────────────────────────────────────────────────────── */
.site-footer__wordmark { margin-top: 66px; color: var(--color-light); }
.site-footer__wordmark .wordmark {
    display:      block;
    width:        100%;
    height:       auto;
}

/* ── Bottom row ─────────────────────────────────────────────────────────── */
.site-footer__bottom {
    display:     flex;
    align-items: flex-start;
    gap:         16px;
    margin-top:  48px;
    color:       var(--color-muted);
}
.site-footer__copyright {
    flex:   0 0 calc((100% - 64px) / 5 * 3 + 32px);
    margin: 0;
}
.site-footer__legal { flex: 1; }
.site-footer__list--legal { flex-direction: row; gap: 16px; }
.site-footer__list--legal li { flex: 1 1 0; }

/* Items that exist only in the tablet/mobile design (menu item → CSS class) */
.site-footer .is-mobile-only { display: none; }

/* ── Language ───────────────────────────────────────────────────────────── */
.site-footer__heading { margin: 0 0 16px; }
.site-footer__heading .site-footer__title { display: block; margin: 0; }
.site-footer__lang-current {
    display:     flex;
    align-items: center;
    gap:         8px;
    margin:      0;
    list-style:  none;
    cursor:      pointer;
    color:       var(--color-muted);
}
.site-footer__lang-current::-webkit-details-marker { display: none; }
.site-footer__lang[open] .icon-arrow-down { transform: rotate(180deg); }
.site-footer__lang-list { margin: 8px 0 0; padding: 0; list-style: none; }
.site-footer__lang-list a { display: block; padding: 4px 0; color: var(--color-muted); text-decoration: none; }
.site-footer__lang-list a:hover { color: var(--color-light); }

/* ── Tablet / mobile ────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
    .site-footer { padding: 104px 0 48px; }

    .site-footer__top {
        flex-direction: column;
        gap:            24px;
    }
    .site-footer__newsletter,
    .site-footer__col,
    .site-footer__group--language { flex: 0 0 auto; width: 100%; }
    .site-footer__col--explore { margin-left: 0; }
    .site-footer__newsletter { margin-bottom: 8px; }

    .site-footer .is-mobile-only { display: list-item; }

    .site-footer__wordmark { margin-top: 32px; }

    .site-footer__bottom {
        flex-direction: column;
        gap:            16px;
        margin-top:     32px;
    }
    .site-footer__copyright,
    .site-footer__legal { flex: 0 0 auto; }
    .site-footer__list--legal { flex-direction: column; }
    .site-footer__list--legal li { flex: 0 0 auto; }
}

/* ── Academy (/academy/) ────────────────────────────────────────────────── */
.site-footer__back .link-arrow { color: var(--color-light); }
.site-footer__back .link-arrow__label { flex: 1; }

@media (min-width: 1024px) {
    .site-footer--academy .site-footer__col--academy_learning { order: 1; margin-left: calc((100% - 64px) / 5 + 16px); }
    .site-footer--academy .site-footer__col--academy_about    { order: 2; }
    .site-footer--academy .site-footer__group--language       { order: 3; }
}
