/* public/css/cta.css: reusable-блок и попап с формуляром */
.cta-block { padding: 120px clamp(16px, 4vw, 48px); text-align: center; }
.cta-title {
    margin: 0; font-size: clamp(20px, 6.45vw, 28px); font-weight: 300; line-height: 1.2;
    letter-spacing: .02em; text-transform: uppercase;
}
.cta-body {
    max-width: 720px; margin: 45px auto 0; font-size: clamp(11px, 3.6vw, 16px); font-weight: 300; line-height: 1.5;
    color: var(--c-additional);
}
.cta-button {
    display: inline-flex; align-items: center; justify-content: center; height: 40px; margin-top: 48px;
    padding: 0 clamp(36px, 11vw, 43px); font-family: inherit; font-size: clamp(10.5px, 3.4vw, 13px); font-weight: 500;
    letter-spacing: .08em; text-transform: uppercase; color: var(--c-bg); background: var(--c-text);
    border: 1px solid var(--c-text); border-radius: 999px; cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}
.cta-button:hover { background: transparent; color: var(--c-text); border-color: var(--c-text); }

/* ---- Попап: на весь экран, фон сайта ---- */
.cta-popup {
    --ct-check: 14px;
    position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center;
    overflow-y: auto; padding: 72px clamp(16px, 4vw, 48px) 48px; background: var(--c-bg); color: var(--c-text);
    opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s .25s;
}
.cta-popup.is-open { opacity: 1; visibility: visible; transition: opacity .25s; }
.cta-popup-inner { width: 100%; max-width: 631px; margin: auto; }
.cta-popup-title { margin: 0 0 25px; text-align: center; font-size: 18px; font-weight: 400; text-transform: uppercase; }
.cta-popup-close {
    position: fixed; top: 14px; right: 14px; z-index: 1; display: grid; place-items: center;
    width: 44px; height: 44px; padding: 0; color: var(--c-text); background: none; border: 0; cursor: pointer;
}
.cta-popup-close svg { width: 28px; height: 28px; }
.cta-popup .cform input[type=text], .cta-popup .cform input[type=tel] { height: 56px; }
.cta-popup .cform .btn-send { justify-self: stretch; width: 100%; height: 56px; padding: 0 24px; font-size: 16px; font-weight: 600; }
.cta-popup .form-done { text-align: center; }

@media (max-width: 860px) {
    .cta-block { padding: 100px clamp(16px, 4vw, 48px); }
    .cta-popup { --ct-check: clamp(11.5px, 3.7vw, 14px); align-items: flex-start; padding-top: 56px; }
    .cta-popup-title { margin-bottom: 20px; font-size: clamp(14px, 4.5vw, 18px); }
    .cta-popup .cform input[type=text], .cta-popup .cform input[type=tel] { height: 44px; }
    .cta-popup .cform .btn-send { height: 44px; font-size: clamp(13px, 4.2vw, 16px); }
}