/*
 * SWEB Market — подвал.
 *
 * Три колонки: контакты с логотипом, ссылки в два столбца плюс способы
 * оплаты, справа подписка и соцсети. Подвал тёмный в обеих темах.
 */

.sw-footer {
    margin-top: var(--sw-section-gap);
    padding: 48px 0 24px;
    background: var(--sw-footer-bg);
    color: var(--sw-footer-text);
    font-size: .875rem;
}

.sw-footer__cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}

@media (min-width: 768px) {
    .sw-footer__cols {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1200px) {
    /* Средняя колонка шире: в ней два списка ссылок и ряд способов оплаты. */
    .sw-footer__cols {
        grid-template-columns: 1fr 1.5fr 1.2fr;
        gap: 40px;
    }
}

.sw-footer__col {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

.sw-footer__logo img {
    max-height: 36px;
    width: auto;
}

.sw-footer__group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sw-footer__title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--sw-footer-title);
    font-size: .9375rem;
    font-weight: 600;
}

.sw-footer__title .sw-icon {
    width: 18px;
    height: 18px;
    flex: none;
    color: var(--sw-footer-text);
}

.sw-footer__address,
.sw-footer__hours {
    margin: 0;
    font-style: normal;
    line-height: 1.6;
}

/* ------------------------------------------------------------- Контакты -- */

.sw-footer__phones {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.sw-footer__phones-icon {
    width: 18px;
    height: 18px;
    flex: none;
    margin-top: 4px;
}

.sw-footer__phone {
    display: block;
    color: var(--sw-footer-title);
    font-size: 1.125rem;
    font-weight: 700;
}

/* Дополнительные номера мельче: основной должен читаться первым,
   иначе три одинаковых строки сливаются в список без приоритета. */
.sw-footer__phone--extra {
    font-size: .9375rem;
    font-weight: 500;
    color: var(--sw-footer-text);
}

.sw-footer__phone:hover,
.sw-footer__email:hover {
    color: var(--sw-primary);
}

.sw-footer__email {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sw-footer-text);
}

.sw-footer__email .sw-icon {
    width: 18px;
    height: 18px;
    flex: none;
}

.sw-footer__email span {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---------------------------------------------------------------- Списки -- */

.sw-footer__lists {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 480px) {
    /* Два столбца рядом, как на референсе: стопкой подвал вытягивается
       вдвое и способы оплаты уезжают за пределы экрана. */
    .sw-footer__lists {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

.sw-footer__list {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sw-footer__list a {
    color: var(--sw-footer-text);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 255, 255, .25);
}

.sw-footer__list a:hover {
    color: var(--sw-primary);
    text-decoration-color: currentColor;
}

/* ------------------------------------------------------ Способы оплаты -- */

.sw-footer__payments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sw-footer__payment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 12px;
    border: 1px solid var(--sw-footer-border);
    border-radius: var(--sw-radius-sm);
    background: rgba(255, 255, 255, .06);
    color: var(--sw-footer-title);
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

/* -------------------------------------------------------------- Соцсети -- */

.sw-footer__socials {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sw-footer__social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sw-footer-text);
}

.sw-footer__social span {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 255, 255, .25);
}

.sw-footer__social:hover {
    color: var(--sw-primary);
}

.sw-footer__social .sw-icon {
    width: 20px;
    height: 20px;
    flex: none;
}

/* Фирменные цвета иконок — узнаваемость строится на цвете, серый ряд
   читается как список ссылок, а не как соцсети. */
.sw-footer__social--telegram  .sw-icon { color: #2aabee; }
.sw-footer__social--viber     .sw-icon { color: #7360f2; }
.sw-footer__social--whatsapp  .sw-icon { color: #25d366; }
.sw-footer__social--messenger .sw-icon { color: #0084ff; }
.sw-footer__social--teams     .sw-icon { color: #6264a7; }
.sw-footer__social--facebook  .sw-icon { color: #1877f2; }
.sw-footer__social--instagram .sw-icon { color: #e1306c; }
.sw-footer__social--youtube   .sw-icon { color: #ff0000; }
.sw-footer__social--tiktok    .sw-icon { color: #ee1d52; }
.sw-footer__social--x         .sw-icon { color: #fff; }

/* ------------------------------------------------------------- Подписка -- */

.sw-footer__subscribe {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sw-footer__subscribe-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.sw-footer__subscribe-icon {
    width: 32px;
    height: 32px;
    flex: none;
    color: var(--sw-footer-text);
}

.sw-footer__subscribe-lead {
    margin: 2px 0 0;
    font-size: .8125rem;
    line-height: 1.5;
}

.sw-footer__subscribe-row {
    display: flex;
    gap: 0;
}

/* Поле и кнопка сомкнуты в одну плашку, как на референсе. */
.sw-footer__subscribe-row .sw-input {
    flex: 1;
    min-width: 0;
    border-right: 0;
    border-radius: var(--sw-radius) 0 0 var(--sw-radius);
    border-color: var(--sw-footer-border);
    background: rgba(255, 255, 255, .06);
    color: var(--sw-footer-title);
}

.sw-footer__subscribe-row .sw-input::placeholder {
    color: rgba(255, 255, 255, .45);
}

.sw-footer__subscribe-row .sw-input:focus {
    border-color: var(--sw-primary);
    background: rgba(255, 255, 255, .1);
}

.sw-footer__subscribe-row .sw-btn {
    border-radius: 0 var(--sw-radius) var(--sw-radius) 0;
    white-space: nowrap;
}

.sw-footer__agree {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: .75rem;
    line-height: 1.4;
    cursor: pointer;
}

.sw-footer__agree input {
    margin-top: 2px;
    flex: none;
}

/* --------------------------------------------------------- Нижняя полоса -- */

.sw-footer__bottom {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid var(--sw-footer-border);
}

.sw-footer__copy {
    margin: 0;
    font-size: .8125rem;
    text-align: center;
    line-height: 1.6;
}

.sw-footer__copy a {
    color: var(--sw-footer-text);
}

/* ------------------------------------------------------- Кнопка «наверх» -- */

.sw-to-top {
    position: fixed;
    right: 16px;
    bottom: 76px;
    z-index: var(--sw-z-sticky);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--sw-border-strong);
    border-radius: var(--sw-radius-pill);
    background: var(--sw-surface);
    color: var(--sw-ink);
    box-shadow: var(--sw-shadow);
    cursor: pointer;
    transition: color var(--sw-transition-fast), border-color var(--sw-transition-fast);
}

.sw-to-top[hidden] {
    display: none;
}

.sw-to-top:hover {
    border-color: var(--sw-primary);
    color: var(--sw-primary);
}

/* ------------------------------------------------- Cookie-повідомлення -- */

.sw-cookie {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--sw-z-cookie);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 16px 24px;
    background: var(--sw-surface);
    border-top: 1px solid var(--sw-border-strong);
    box-shadow: var(--sw-shadow-lg);
}

.sw-cookie[hidden] {
    display: none;
}

.sw-cookie__text {
    margin: 0;
    max-width: 720px;
    font-size: .875rem;
    color: var(--sw-text-dim, var(--sw-ink));
}

.sw-cookie__accept {
    flex-shrink: 0;
}
