/* Модалки главной — доводка поверх компонентов popups (style.css) */
.ConnectionModal__legal { font-size: var(--font-caption-size); line-height: var(--font-caption-lh); color: var(--text-secondary); }
.ConnectionModal__legal .policy-link,
.AdressCheckForm__legal .policy-link { color: var(--text-link); text-decoration: none; cursor: pointer; }
.AddressModalForm__legal .policy-link { color: var(--text-link); text-decoration: none; cursor: pointer; }
.policy-link { cursor: pointer; }

.PolicyLinksModal {
    width: 328px;
    min-height: 156px;
    max-width: calc(100vw - 32px);
    justify-content: center;
    overflow: hidden;
    border-radius: 20px;
    padding: 36px var(--space-16) var(--space-32);
    gap: var(--space-8);
}

.PolicyLinksModal__link {
    display: block;
    width: 100%;
    margin: 0;
    font-weight: var(--fw-medium);
    font-size: var(--font-body-sm-size);
    line-height: var(--font-body-sm-lh);
    color: var(--text-primary);
    text-decoration: none;
    word-break: break-word;
}

.PolicyLinksModal__pdf {
    color: var(--text-link);
}

.PolicyLinksModal .Modal__close {
    top: var(--space-12);
    right: var(--space-12);
}

/* PolicyLinks (Figma 152:34978) — инлайн-панель PDF, выезжает снизу внутри попапа */
.PolicyLinks {
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .3s ease, opacity .3s ease;
}
.PolicyLinks.is-open { max-height: 200px; opacity: 1; }
.PolicyLinks__separator { display: block; height: 1px; background: var(--scrollbar-thumb); }
.PolicyLinks__list { display: flex; flex-direction: column; gap: var(--space-4); }
.PolicyLinks__row {
    margin: 0;
    font-weight: var(--fw-medium);
    font-size: var(--font-body-sm-size);
    line-height: var(--font-body-sm-lh);
    color: var(--text-primary);
}
.PolicyLinks__doc { color: var(--text-primary); text-decoration: none; }
.PolicyLinks__doc:hover { color: var(--text-link); }
.PolicyLinks__pdf { color: var(--text-link); text-decoration: none; white-space: nowrap; }

/* PushBar (Figma 70:26122) — полноширинная полоса-баннер сверху с «играющим»
   градиентом и свечением. По клику открывает LeadModal, крестик справа закрывает. */
.PushBar {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 48px;
    /* Трёхстоповый градиент + удвоенная ширина фона = бесшовный «перелив» */
    background: linear-gradient(90deg, #666ca0, #25273a, #666ca0);
    background-size: 200% 100%;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
    animation: pushbar-gradient 6s linear infinite, pushbar-glow 3.2s ease-in-out infinite;
}
.PushBar[hidden] { display: none; }
@keyframes pushbar-gradient {
    0%   { background-position: 0% 50%; }
    100% { background-position: -200% 50%; }
}
@keyframes pushbar-glow {
    0%, 100% { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08), 0 0 16px rgba(102, 108, 160, 0.35); }
    50%      { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08), 0 0 30px rgba(102, 108, 160, 0.65); }
}
@media (prefers-reduced-motion: reduce) {
    .PushBar { animation: none; background-position: 0 50%; }
}
.PushBar__body {
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: var(--text-inverse);
    font-family: var(--font-family);
    font-weight: var(--fw-medium);
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    cursor: pointer;
}
.PushBar__close {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 2px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-inverse);
    cursor: pointer;
}
.PushBar__close svg { width: 24px; height: 24px; }
@media (max-width: 599px) {
    .PushBar { padding: 12px 44px; }
    .PushBar__body { font-size: 16px; line-height: 22px; }
}
