/* ===== Подвал сайта (footer) ===== */

.nbc-footer { margin-top: 0; position: relative; z-index: 60; }

/* ── Верх: карта на всю ширину + карточка поверх ── */
.nbc-footer-top { position: relative; width: 100%; overflow: hidden; }

.nbc-footer-map {
    position: relative; z-index: 1;
    width: 100%; max-width: 100%; height: 500px;
    background: #e9e9e9; overflow: hidden;
}
.nbc-footer-map [class*="ymaps"] { max-width: 100%; }

.nbc-footer-content {
    position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    width: 100%; max-width: 1440px; height: 100%;
    padding: 0 24px; box-sizing: border-box;
    z-index: 2; pointer-events: none;
}

.nbc-footer-card {
    position: absolute; top: 50%; right: 24px; transform: translateY(-50%);
    width: 360px; height: 330px; box-sizing: border-box;
    pointer-events: auto;
    background: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-radius: 18px; padding: 32px 28px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
    display: flex; flex-direction: column; justify-content: center; gap: 20px;
    text-align: center; color: #1a1a1a;
}
.nbc-footer-card-address { font-size: 16px; font-weight: 600; line-height: 1.4; }
.nbc-footer-card-title { font-weight: 700; margin-bottom: 4px; }
.nbc-footer-card-block { font-size: 14px; line-height: 1.55; }
.nbc-footer-card-phone { font-size: 18px; font-weight: 700; color: #1a1a1a; text-decoration: none; display: block; }
.nbc-footer-card-phone:hover { color: #c73133; }
.nbc-footer-card-cap { font-size: 12px; color: #777; font-style: italic; margin-bottom: 6px; }

/* ── Низ: жёлтый блок на всю ширину ── */
.nbc-footer-bottom { width: 100%; background: var(--nbc-primary, #FFD200); }
.nbc-footer-inner {
    max-width: 1440px; margin: 0 auto; padding: 44px 24px;
    display: flex; gap: 40px; align-items: flex-start;
}

.nbc-footer-col-left { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.nbc-footer-logo img { height: 67px; width: auto; display: block; }
.nbc-footer-email { font-size: 15px; font-weight: 600; color: #1a1a1a; text-decoration: none; }
.nbc-footer-email:hover { color: #c73133; }
.nbc-footer-socials { display: flex; gap: 8px; margin-left: -9px; }
.nbc-footer-social {
    width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #1a1a1a; transition: background .2s;
}
.nbc-footer-social svg { width: 28px; height: 28px; }
.nbc-footer-social-vk svg { width: 27px; height: 27px; }
.nbc-footer-social-telegram svg { width: 22px; height: 22px; }
.nbc-footer-social-telegram { margin-left: -15px; }
.nbc-footer-social:hover { background: rgba(0, 0, 0, 0.08); }

.nbc-footer-col-center { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.nbc-footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; text-align: center; }
.nbc-footer-menu a { color: #1a1a1a; text-decoration: none; font-weight: 600; font-size: 15px; }
.nbc-footer-menu a:hover { color: #c73133; }
.nbc-footer-links { display: flex; flex-direction: column; gap: 6px; text-align: center; margin-top: 8px; }
.nbc-footer-links a { color: #c73133; text-decoration: none; font-size: 14px; }
.nbc-footer-links a:hover { text-decoration: underline; }

.nbc-footer-col-right { flex: 0 0 auto; text-align: right; }
.nbc-footer-requisites { font-size: 13px; line-height: 1.55; color: #1a1a1a; }

/* ── Мобайл: карточка → карта → колонки вертикально ── */
@media (max-width: 768px) {
    .nbc-footer-top { display: flex; flex-direction: column; }
    .nbc-footer-content {
        position: static; transform: none; max-width: none;
        height: auto; padding: 0; order: 1;
    }
    .nbc-footer-card {
        position: static; transform: none; width: auto; height: auto;
        border-radius: 0; box-shadow: none;
        background: #f7f6f2; backdrop-filter: none; -webkit-backdrop-filter: none;
        padding: 28px 20px;
    }
    .nbc-footer-map { order: 2; height: 320px; }

    .nbc-footer-inner { flex-direction: column; align-items: center; gap: 28px; padding: 32px 20px; text-align: center; }
    .nbc-footer-col-left { align-items: center; }
    .nbc-footer-col-right { text-align: center; }
}
