/* ============================================================
   Модальное окно с формой.
   2026-09
   ============================================================ */

.fp-overlay {
    position: fixed; inset: 0; z-index: 10040;
    background: rgba(20,28,45,.55);
    display: none;
    padding: 24px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.fp-overlay.fp-on { display: block; }
body.fp-locked { overflow: hidden; }

.fp-window {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 16px 48px rgba(0,0,0,.28);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 48px);
}

.fp-head {
    flex: 0 0 auto;
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 14px 18px;
    background: #294079; color: #fff;
}
.fp-title {
    font: 600 15px/1.3 Helvetica, Arial, sans-serif;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fp-close {
    flex: 0 0 auto;
    width: 32px; height: 32px;
    border: 0; border-radius: 4px;
    background: rgba(255,255,255,.14);
    color: #fff; font-size: 22px; line-height: 1;
    cursor: pointer;
}
.fp-close:hover { background: rgba(255,255,255,.26); }

.fp-body { flex: 1 1 auto; min-height: 0; }
.fp-body iframe {
    display: block;
    width: 100%;
    height: calc(100vh - 140px);
    max-height: 760px;
    border: 0;
}

@media (max-width: 767px) {
    .fp-overlay { padding: 0; }
    .fp-window { max-width: none; border-radius: 0; max-height: 100vh; min-height: 100vh; }
    .fp-body iframe { height: calc(100vh - 60px); max-height: none; }
}
