/* ozerny-footer.css – стили для подвала Озёрного края */
.oz-footer {
    background: #001219;
    color: #cbd5e1;
    padding: 60px 0 30px;
    margin-top: auto;
    border-top: 3px solid var(--strawberry, #fc4a6c);
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 50px;
}

/* Колонки */
.footer-col h4 {
    font-family: 'Cormorant Unicase', serif;
    font-size: 1.4rem;
    margin-bottom: 20px;
    color: #fc4a6c;
    position: relative;
    display: inline-block;
}
.footer-col h4::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 40px;
    height: 2px;
    background: #01796F;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Cormorant Unicase', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: white;
    margin-bottom: 20px;
}
.footer-logo i {
    font-size: 2rem;
    color: #fc4a6c;
}
.footer-desc {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 20px;
    opacity: 0.85;
}

/* Социальные иконки */
.social-links {
    display: flex;
    gap: 15px;
}
.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    color: white;
    transition: all 0.2s;
    text-decoration: none;
}
.social-links a:hover {
    background: #fc4a6c;
    transform: translateY(-3px);
}

/* Списки ссылок */
.footer-links, .footer-contacts {
    list-style: none;
    padding: 0;
}
.footer-links li, .footer-contacts li {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.footer-links a, .footer-contacts a {
    color: #cbd5e1;
    text-decoration: none;
    transition: color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.footer-links a i, .footer-contacts li i {
    font-size: 0.7rem;
    color: #01796F;
    width: 16px;
}
.footer-links a:hover, .footer-contacts a:hover {
    color: #fc4a6c;
}
.footer-contacts li {
    margin-bottom: 14px;
    font-size: 0.9rem;
}
.footer-contacts i {
    width: 24px;
    color: #01796F;
}

/* Кнопка "Наверх" */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 48px;
    height: 48px;
    background: #01796F;
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all 0.2s;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.back-to-top:hover {
    background: #fc4a6c;
    transform: scale(1.05);
}

/* Нижняя строка */
.footer-bottom {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 0.85rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
}
.dev-info {
    opacity: 0.7;
}
.dev-info:hover {
    opacity: 1;
}

/* Адаптивность */
@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}
@media (max-width: 640px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-col h4::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .social-links {
        justify-content: center;
    }
    .footer-links li, .footer-contacts li {
        justify-content: center;
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    .back-to-top {
        bottom: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }
}

/* ==========================================================================
   ПРЕМИАЛЬНЫЙ ПОДВАЛ «ОЗЁРНЫЙ КРАЙ» — тёмная вода, тонкие линии,
   нумерация ссылок, отблеск на поверхности.
   ========================================================================== */

.oz-footer {
    position: relative;
    padding: 0 0 30px;
    margin-top: auto;
    background: linear-gradient(180deg, #0b2a29 0%, #051917 45%, #010504 100%);
    color: #a8c1d4;
    border-top: none;
}

/* Волна на верхней границе футера */
.oz-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 36' preserveAspectRatio='none'%3E%3Cpath d='M0,22 Q50,10 100,22 T200,22 T300,22 T400,22 L400,36 L0,36 Z' fill='%23014a78' fill-opacity='0.38'/%3E%3Cpath d='M0,28 Q50,16 100,28 T200,28 T300,28 T400,28 L400,36 L0,36 Z' fill='%2301796f' fill-opacity='0.24'/%3E%3Cpath d='M0,33 Q50,24 100,33 T200,33 T300,33 T400,33 L400,36 L0,36 Z' fill='%23fc4a6c' fill-opacity='0.14'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-size: 400px 36px;
    pointer-events: none;
    z-index: 2;
    display: none;
}

/* Медленное «течение» волны на верхней границе футера */
@keyframes ozWaveFlow {
    from { background-position-x: 0; }
    to   { background-position-x: 400px; }
}

/* Пульс отблеска — «дышит» как поверхность воды */
@keyframes ozGlowPulse {
    0%, 100% { opacity: 0.85; transform: translateX(-50%) scale(1); }
    50%      { opacity: 1;    transform: translateX(-50%) scale(1.06); }
}

/* Мягкий отблеск воды сверху */
.oz-footer::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 900px;
    height: 220px;
    background: radial-gradient(
        ellipse 100% 100% at 50% 0%,
        rgba(13, 90, 85, 0.28),
        transparent 65%
    );
    pointer-events: none;
    z-index: 1;
    animation: ozGlowBreathe 11s ease-in-out infinite;
    transform-origin: 50% 0%;
    opacity: 0.55;
}

.oz-footer .container {
    position: relative;
    z-index: 3;
    max-width: 1280px;
    margin: 0 auto;
    padding: 80px 24px 0;
}

/* ==========================================================================
   Многослойные волны: раскачиваются, вспухают, живут каждая в своём ритме.
   Никакой прокрутки фона — только transform (translateX + scaleY).
   ========================================================================== */

.oz-waves {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 90px;
    overflow: hidden;
    pointer-events: none;
    z-index: 4;
}

:root {
    /* 5 силуэтов в viewBox 720×60 — гребни у самой верхней кромки, пустоты сверху нет */
    --oz-m1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 60' preserveAspectRatio='none'%3E%3Cpath d='M0,26 C90,6 180,44 270,24 C360,6 450,44 540,24 C630,6 720,44 720,26 L720,60 L0,60 Z' fill='%23000000'/%3E%3C/svg%3E");
    --oz-m2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C60,4 120,44 200,18 C280,4 340,44 420,22 C500,4 570,44 650,20 C690,10 710,32 720,30 L720,60 L0,60 Z' fill='%23000000'/%3E%3C/svg%3E");
    --oz-m3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 60' preserveAspectRatio='none'%3E%3Cpath d='M0,22 C120,6 240,36 360,22 C480,6 600,36 720,22 L720,60 L0,60 Z' fill='%23000000'/%3E%3C/svg%3E");
    --oz-m4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 60' preserveAspectRatio='none'%3E%3Cpath d='M0,32 C40,8 100,46 170,24 C240,6 300,46 380,26 C460,6 520,46 590,24 C650,8 690,38 720,32 L720,60 L0,60 Z' fill='%23000000'/%3E%3C/svg%3E");
    --oz-m5: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 60' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C80,28 160,4 260,18 C360,32 440,48 540,28 C620,16 680,28 720,40 L720,60 L0,60 Z' fill='%23000000'/%3E%3C/svg%3E");
}

.oz-wave {
    position: absolute;
    left: -50%;
    right: -50%;
    bottom: -2px;
    height: 90px;
    background-color: #0d2a3d;
    -webkit-mask-image: var(--m, var(--oz-m1));
            mask-image: var(--m, var(--oz-m1));
    -webkit-mask-size: var(--ms, 720px 90px);
            mask-size: var(--ms, 720px 90px);
    -webkit-mask-repeat: repeat-x;
            mask-repeat: repeat-x;
    -webkit-mask-position: var(--mp, 0% 100%);
            mask-position: var(--mp, 0% 100%);
    transform-origin: var(--to, 50% 100%);
    will-change: transform;
    pointer-events: none;
    /* Сглаживает края масок 26 слоёв — убирает видимые горизонтальные полоски */
    filter: blur(0.6px);
}

/* 13 тонких слоёв. Позиция маски задаёт высоту гребня: слой N сидит на N*3px ниже. */
/* 26 слоёв. Интервал 1.7px, маска 720×60px. Периоды 6–21s — внутри групп частично совпадают. */
/* 26 слоёв, бесшовное течение. Все маски 720px. Скорости от 30s (дальние) до 5s (ближние). */
.oz-wave-1  { --m: var(--oz-m1); --ms: 720px 60px; --mp: 0%   calc(100% + 0.0px);  --to: 42% 100%; background-color: #1a3e57; animation: ozFlow 30s linear  0.0s infinite; }
.oz-wave-2  { --m: var(--oz-m3); --ms: 720px 60px; --mp: 13%  calc(100% + 1.7px);  --to: 58% 100%; background-color: #193c55; animation: ozFlow 28s linear -3.0s infinite; }
.oz-wave-3  { --m: var(--oz-m2); --ms: 720px 60px; --mp: 29%  calc(100% + 3.4px);  --to: 45% 100%; background-color: #183a53; animation: ozFlow 27s linear -6.5s infinite; }
.oz-wave-4  { --m: var(--oz-m5); --ms: 720px 60px; --mp: 46%  calc(100% + 5.1px);  --to: 55% 100%; background-color: #173850; animation: ozFlow 25s linear -9.8s infinite; }
.oz-wave-5  { --m: var(--oz-m4); --ms: 720px 60px; --mp: 62%  calc(100% + 6.8px);  --to: 50% 100%; background-color: #16364e; animation: ozFlow 24s linear -13.1s infinite; }
.oz-wave-6  { --m: var(--oz-m1); --ms: 720px 60px; --mp: 78%  calc(100% + 8.5px);  --to: 35% 100%; background-color: #15334b; animation: ozFlow 22s linear -16.4s infinite; }
.oz-wave-7  { --m: var(--oz-m3); --ms: 720px 60px; --mp: 5%   calc(100% + 10.2px); --to: 65% 100%; background-color: #143149; animation: ozFlow 21s linear -19.7s infinite; }
.oz-wave-8  { --m: var(--oz-m5); --ms: 720px 60px; --mp: 21%  calc(100% + 11.9px); --to: 48% 100%; background-color: #132f47; animation: ozFlow 19s linear -23.0s infinite; }
.oz-wave-9  { --m: var(--oz-m2); --ms: 720px 60px; --mp: 38%  calc(100% + 13.6px); --to: 52% 100%; background-color: #122d44; animation: ozFlow 18s linear -26.3s infinite; }
.oz-wave-10 { --m: var(--oz-m4); --ms: 720px 60px; --mp: 54%  calc(100% + 15.3px); --to: 42% 100%; background-color: #112b42; animation: ozFlow 17s linear  -1.5s infinite; }
.oz-wave-11 { --m: var(--oz-m1); --ms: 720px 60px; --mp: 71%  calc(100% + 17.0px); --to: 58% 100%; background-color: #102840; animation: ozFlow 16s linear  -4.8s infinite; }
.oz-wave-12 { --m: var(--oz-m3); --ms: 720px 60px; --mp: 87%  calc(100% + 18.7px); --to: 46% 100%; background-color: #0f263d; animation: ozFlow 15s linear  -8.1s infinite; }
.oz-wave-13 { --m: var(--oz-m5); --ms: 720px 60px; --mp: 8%   calc(100% + 20.4px); --to: 54% 100%; background-color: #0e243b; animation: ozFlow 14s linear -11.4s infinite; }
.oz-wave-14 { --m: var(--oz-m2); --ms: 720px 60px; --mp: 24%  calc(100% + 22.1px); --to: 40% 100%; background-color: #0d2239; animation: ozFlow 13s linear -14.7s infinite; }
.oz-wave-15 { --m: var(--oz-m4); --ms: 720px 60px; --mp: 41%  calc(100% + 23.8px); --to: 60% 100%; background-color: #0c1f36; animation: ozFlow 12s linear -18.0s infinite; }
.oz-wave-16 { --m: var(--oz-m1); --ms: 720px 60px; --mp: 57%  calc(100% + 25.5px); --to: 44% 100%; background-color: #0b1d34; animation: ozFlow 11s linear -21.3s infinite; }
.oz-wave-17 { --m: var(--oz-m3); --ms: 720px 60px; --mp: 73%  calc(100% + 27.2px); --to: 56% 100%; background-color: #0a1b32; animation: ozFlow 10s linear -24.6s infinite; }
.oz-wave-18 { --m: var(--oz-m5); --ms: 720px 60px; --mp: 90%  calc(100% + 28.9px); --to: 48% 100%; background-color: #09192f; animation: ozFlow  9s linear  -1.0s infinite; }
.oz-wave-19 { --m: var(--oz-m2); --ms: 720px 60px; --mp: 11%  calc(100% + 30.6px); --to: 38% 100%; background-color: #08172d; animation: ozFlow  8.5s linear -2.6s infinite; }
.oz-wave-20 { --m: var(--oz-m4); --ms: 720px 60px; --mp: 27%  calc(100% + 32.3px); --to: 62% 100%; background-color: #07152b; animation: ozFlow  8s linear   -4.2s infinite; }
.oz-wave-21 { --m: var(--oz-m1); --ms: 720px 60px; --mp: 44%  calc(100% + 34.0px); --to: 50% 100%; background-color: #061228; animation: ozFlow  7.5s linear -5.8s infinite; }
.oz-wave-22 { --m: var(--oz-m3); --ms: 720px 60px; --mp: 60%  calc(100% + 35.7px); --to: 43% 100%; background-color: #051026; animation: ozFlow  7s linear   -7.4s infinite; }
.oz-wave-23 { --m: var(--oz-m5); --ms: 720px 60px; --mp: 77%  calc(100% + 37.4px); --to: 57% 100%; background-color: #040e23; animation: ozFlow  6.5s linear -9.0s infinite; }
.oz-wave-24 { --m: var(--oz-m2); --ms: 720px 60px; --mp: 93%  calc(100% + 39.1px); --to: 46% 100%; background-color: #030c21; animation: ozFlow  6s linear  -10.6s infinite; }
.oz-wave-25 { --m: var(--oz-m4); --ms: 720px 60px; --mp: 18%  calc(100% + 40.8px); --to: 53% 100%; background-color: #02081e; animation: ozFlow  5.5s linear -12.2s infinite; }
.oz-wave-26 { --m: var(--oz-m1); --ms: 720px 60px; --mp: 36%  calc(100% + 42.5px); --to: 47% 100%; background-color: #010314; animation: ozFlow  5s linear  -13.8s infinite; }

/* Раскачивание: амплитуда меняется, есть паузы, есть размах */
/* Три независимых ритма. Каждый кадр меняет translate, scaleX (гребень шире/уже),
   scaleY (гребень выше/ниже) и микро-rotate — линии не совпадают по фазе. */
/* Качание с лёгким наклоном гребней (вариант 6).
   Три ритма, ротация pivot'ится по нижней кромке каждого слоя. */
@keyframes ozSwayRotA {
    0%, 100% { transform: translate3d(-70px, 0, 0)  rotate(-1.2deg); }
    50%      { transform: translate3d(70px, 0, 0)   rotate(1.2deg);  }
}
@keyframes ozSwayRotB {
    0%, 100% { transform: translate3d(-95px, 0, 0)  rotate(-1.6deg); }
    50%      { transform: translate3d(95px, 0, 0)   rotate(1.6deg);  }
}
@keyframes ozSwayRotC {
    0%, 100% { transform: translate3d(-120px, 0, 0) rotate(-0.8deg); }
    50%      { transform: translate3d(120px, 0, 0)  rotate(0.8deg);  }
}

/* Отблеск воды — теперь дышит вместе с волнами, но медленнее */
@keyframes ozGlowBreathe {
    0%, 100% { opacity: 0.45; transform: translateX(-50%) scale(1);    }
    50%      { opacity: 0.75; transform: translateX(-50%) scale(1.08); }
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
    gap: 0;
    margin-bottom: 46px;
    padding-top: 26px;
    border-top: 1px solid rgba(168, 193, 212, 0.12);
}

.footer-col {
    padding: 0 28px;
    position: relative;
}
.footer-col:first-child { padding-left: 0; }
.footer-col:last-child  { padding-right: 0; }

.footer-col + .footer-col::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(
        180deg,
        transparent,
        rgba(168, 193, 212, 0.14) 18%,
        rgba(168, 193, 212, 0.14) 82%,
        transparent
    );
}

/* Заголовки колонок — редакционные small-caps */
.footer-col h4 {
    font-family: 'Cormorant Unicase', serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #7fb8b0;
    margin: 0 0 22px;
    padding: 0;
    display: block;
    position: relative;
}
.footer-col h4::after {
    content: '';
    position: static;
    display: block;
    margin-top: 12px;
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, #fc4a6c, transparent);
}

/* Логотип и описание */
.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Cormorant Unicase', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #eef4f8;
    margin-bottom: 18px;
    letter-spacing: 0.02em;
    text-shadow: 0 0 22px rgba(252, 74, 108, 0.15);
}
.footer-logo i {
    font-size: 1.7rem;
    color: #fc4a6c;
    filter: drop-shadow(0 0 14px rgba(252, 74, 108, 0.45));
}
.footer-desc {
    font-size: 0.92rem;
    line-height: 1.7;
    color: #8ca7bd;
    margin: 0 0 26px;
    max-width: 320px;
    opacity: 1;
}

/* ===== Кнопка «Наш магазин на OZON» — фирменные цвета Ozon ===== */
.ozon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 22px 10px 10px;
    background: #005BFF;
    color: #fff;
    border-radius: 40px;
    text-decoration: none;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    margin: 0 0 20px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 6px 18px rgba(0, 91, 255, 0.35);
    white-space: nowrap;
    overflow: hidden;
    isolation: isolate;
}
/* Малиновый слой #F91155 — проявляется справа при ховере */
.ozon-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, #005BFF 0%, #005BFF 35%, #F91155 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 0;
}
.ozon-btn:hover::before { opacity: 1; }
.ozon-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(249, 17, 85, 0.4), 0 6px 18px rgba(0, 91, 255, 0.35);
    color: #fff;
}
.ozon-btn:active { transform: translateY(0); }

/* Белый круг с логотипом Ozon: градиент из #005BFF в #F91155 */
.ozon-btn-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #ffffff;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.ozon-btn-icon svg { display: block; }

/* Текст: «Наш магазин на OZON» */
.ozon-btn-text {
    position: relative;
    z-index: 1;
    color: #ffffff;
    font-size: 0.88rem;
    line-height: 1;
}
.ozon-btn-text strong {
    font-family: 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 900;
    font-size: 0.98rem;
    letter-spacing: -0.01em;
    margin-left: 3px;
    color: #ffffff;
}

@media (max-width: 640px) {
    .ozon-btn {
        margin-left: auto;
        margin-right: auto;
        font-size: 0.85rem;
        padding: 9px 18px 9px 9px;
    }
    .ozon-btn-text { font-size: 0.82rem; }
    .ozon-btn-text strong { font-size: 0.92rem; }
}

@media (max-width: 640px) {
    .ozon-btn { margin-left: auto; margin-right: auto; }
}

/* Соцсети */
.social-links {
    display: flex;
    gap: 12px;
}
.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(168, 193, 212, 0.16);
    color: #b6cbdc;
    text-decoration: none;
    transition: all 0.25s ease;
}
.social-links a:hover {
    background: rgba(252, 74, 108, 0.16);
    border-color: #fc4a6c;
    color: #fc4a6c;
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(252, 74, 108, 0.3);
}

/* Ссылки продукции и покупателям — с нумерацией */
.footer-links,
.footer-contacts {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: fl;
    /* Принудительно столбчатый layout: сбрасываем display:flex,
       который унаследован от старого .footer-links в ozerny.css */
    display: flex;
    flex-direction: column;
    gap: 0;
}
.footer-links li {
    display: flex;
    align-items: baseline;
    padding: 3px 0;
    border-bottom: 1px solid rgba(168, 193, 212, 0.05);
    font-size: 0.82rem;
    margin-bottom: 0;
}
.footer-links li:last-child { border-bottom: none; }
.footer-links li::before { content: none; }
.footer-links a {
    color: #b6cbdc;
    text-decoration: none;
    display: inline-block;
    transition: color 0.2s ease, transform 0.25s ease;
}
.footer-links a i { display: none; }
.footer-links a:hover {
    color: #fc4a6c;
    transform: translateX(3px);
}

/* Контакты */
.footer-contacts li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(168, 193, 212, 0.05);
    font-size: 0.78rem;
    line-height: 1.4;
    color: #8ca7bd;
    margin-bottom: 0;
}
.footer-contacts li:last-child { border-bottom: none; }
.footer-contacts i {
    color: #7fb8b0;
    font-size: 0.72rem;
    margin-top: 3px;
    width: 13px;
    flex-shrink: 0;
}
.footer-contacts a {
    color: #b6cbdc;
    text-decoration: none;
    transition: color 0.2s;
    font-size: 0.78rem;
}
/* Компактный блок юридических реквизитов под контактами */
.oz-footer .footer-requisites {
    margin-top: 12px !important;
    padding-top: 10px !important;
    font-size: 0.7rem !important;
    line-height: 1.5 !important;
    color: #7d94a8 !important;
}
.oz-footer .footer-requisites a { font-size: 0.7rem !important; }
.footer-contacts a:hover { color: #fc4a6c; }

/* Кнопка «Наверх» — водное свечение */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01796F, #014779);
    border: 1px solid rgba(252, 74, 108, 0.3);
    color: #fff;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    z-index: 999;
    transition: all 0.25s ease;
    box-shadow: 0 10px 28px rgba(1, 71, 121, 0.45), inset 0 0 12px rgba(1, 121, 111, 0.35);
}
.back-to-top:hover {
    background: linear-gradient(135deg, #fc4a6c, #c41e3a);
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 14px 34px rgba(252, 74, 108, 0.5), inset 0 0 14px rgba(255, 255, 255, 0.15);
}

/* Нижняя строка */
.footer-bottom {
    margin-top: 42px;
    padding-top: 26px;
    border-top: 1px solid rgba(168, 193, 212, 0.1);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 0.82rem;
    color: #6d8599;
    letter-spacing: 0.02em;
}
.footer-bottom p { margin: 0; }
.dev-info { opacity: 0.8; transition: opacity 0.2s; }
.dev-info:hover { opacity: 1; }

/* Адаптив */
@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-col { padding: 24px 22px; }
    .footer-col:nth-child(1) { padding-left: 0; }
    .footer-col:nth-child(2) { padding-right: 0; }
    .footer-col:nth-child(3) { padding-left: 0; }
    .footer-col:nth-child(4) { padding-right: 0; }
    .footer-col + .footer-col::before { display: none; }
    .footer-col:nth-child(3)::before,
    .footer-col:nth-child(4)::before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: auto;
        width: auto;
        height: 1px;
        background: linear-gradient(
            90deg,
            transparent,
            rgba(168, 193, 212, 0.14) 20%,
            rgba(168, 193, 212, 0.14) 80%,
            transparent
        );
    }
}
@media (max-width: 640px) {
    .oz-footer .container { padding: 60px 20px 0; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-col { padding: 0; margin-bottom: 32px; }
    .footer-col:last-child { margin-bottom: 0; }
    .footer-col::before { display: none !important; }
    .footer-col h4,
    .footer-logo,
    .footer-desc,
    .social-links,
    .footer-links li,
    .footer-contacts li { text-align: center; justify-content: center; }
    .footer-col h4::after { margin-left: auto; margin-right: auto; }
    .footer-desc { margin-left: auto; margin-right: auto; }
    .footer-links li::before { display: none; }
    .footer-bottom { flex-direction: column; text-align: center; margin-top: 30px; }
    .back-to-top { bottom: 20px; right: 20px; width: 42px; height: 42px; }
}

/* ==========================================================================
   Rotate-волны (вариант 6). Переопределяем animation и цвета
   26 слоёв. Палитра сайта: светлый тил → тёмно-синий → глубокая ночь.
   ========================================================================== */
.oz-wave-1  { background-color: #0f4a45; animation: ozSwayRotA  8.4s ease-in-out   0.0s infinite; }
.oz-wave-2  { background-color: #0e4641; animation: ozSwayRotB  9.2s ease-in-out  -1.2s infinite; }
.oz-wave-3  { background-color: #0d423d; animation: ozSwayRotC  7.8s ease-in-out  -2.4s infinite; }
.oz-wave-4  { background-color: #0c3e39; animation: ozSwayRotA  8.9s ease-in-out  -3.6s infinite; }
.oz-wave-5  { background-color: #0b3a35; animation: ozSwayRotB  9.7s ease-in-out  -4.8s infinite; }
.oz-wave-6  { background-color: #0a3631; animation: ozSwayRotC  8.1s ease-in-out  -6.0s infinite; }
.oz-wave-7  { background-color: #09322d; animation: ozSwayRotA  9.1s ease-in-out  -7.2s infinite; }
.oz-wave-8  { background-color: #082e29; animation: ozSwayRotB  9.9s ease-in-out  -8.4s infinite; }
.oz-wave-9  { background-color: #072a25; animation: ozSwayRotC  8.5s ease-in-out  -9.6s infinite; }
.oz-wave-10 { background-color: #062621; animation: ozSwayRotA  9.3s ease-in-out -10.8s infinite; }
.oz-wave-11 { background-color: #05221d; animation: ozSwayRotB 10.1s ease-in-out -12.0s infinite; }
.oz-wave-12 { background-color: #041e19; animation: ozSwayRotC  8.9s ease-in-out -13.2s infinite; }
.oz-wave-13 { background-color: #031a15; animation: ozSwayRotA  9.5s ease-in-out -14.4s infinite; }
.oz-wave-14 { background-color: #021611; animation: ozSwayRotB 10.3s ease-in-out -15.6s infinite; }
.oz-wave-15 { background-color: #01120d; animation: ozSwayRotC  9.1s ease-in-out -16.8s infinite; }
.oz-wave-16 { background-color: #010e09; animation: ozSwayRotA  9.7s ease-in-out -18.0s infinite; }
.oz-wave-17 { background-color: #000a05; animation: ozSwayRotB 10.5s ease-in-out -19.2s infinite; }
.oz-wave-18 { background-color: #000806; animation: ozSwayRotC  9.3s ease-in-out -20.4s infinite; }
.oz-wave-19 { background-color: #000705; animation: ozSwayRotA  9.9s ease-in-out -21.6s infinite; }
.oz-wave-20 { background-color: #000604; animation: ozSwayRotB 10.7s ease-in-out -22.8s infinite; }
.oz-wave-21 { background-color: #000503; animation: ozSwayRotC  9.5s ease-in-out -24.0s infinite; }
.oz-wave-22 { background-color: #000402; animation: ozSwayRotA 10.1s ease-in-out -25.2s infinite; }
.oz-wave-23 { background-color: #000301; animation: ozSwayRotB 10.9s ease-in-out -26.4s infinite; }
.oz-wave-24 { background-color: #000200; animation: ozSwayRotC  9.7s ease-in-out -27.6s infinite; }
.oz-wave-25 { background-color: #000100; animation: ozSwayRotA 10.3s ease-in-out -28.8s infinite; }
.oz-wave-26 { background-color: #000201; animation: ozSwayRotB 11.1s ease-in-out -30.0s infinite; }