/* Стили блока: Форма заказа (полная) */
.off-section {
    position: relative;
    padding: 60px 0;
    background: #0B0B0E;
    background-image: var(--off-bg-image, none);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
.off-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(11,11,14,0.72);
}
.off-section .container { position: relative; z-index: 1; }

.off-layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: wrap;
}

.off-info { flex: 1 1 380px; padding: 50px 0 0 50px; }
.off-info, .off-info * { color: #fff !important; }
.off-title {
    font-family: 'Bebas Neue', Arial, sans-serif;
    font-weight: 400;
    font-size: 66px;
    line-height: 1.05;
    text-transform: uppercase;
    margin: 0 0 24px;
}
.off-bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.off-bullets li {
    position: relative;
    padding-left: 20px;
    font-size: 22px;
}
.off-bullets li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
}

.off-form { flex: 0 1 420px; display: flex; flex-direction: column; gap: 14px; width: 100%; max-width: 420px; }
.off-field { width: 100%; }
.off-input {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: #EEF3FB;
    border: none;
    border-radius: 6px;
    padding: 16px 18px;
    font-size: 14px;
    font-family: inherit;
    color: #17324F;
}
.off-input::placeholder { color: #7C8798; }
select.off-input { appearance: none; cursor: pointer; color: #7C8798; }
select.off-input:has(option:checked:not([value=""])) { color: #17324F; }
.off-select { position: relative; }
textarea.off-textarea { align-items: flex-start; min-height: 90px; resize: vertical; }
.off-phone { cursor: text; }
.off-phone-flag { font-size: 16px; flex-shrink: 0; }
.off-phone-input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    padding: 0;
    font-size: 14px;
    font-family: inherit;
    color: #17324F;
}
.off-phone-input::placeholder { color: #7C8798; }

.off-input.error, .off-phone.error { box-shadow: 0 0 0 2px #FF6B6B inset; }

.off-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    line-height: 1.4;
    color: #C9CED8;
    cursor: pointer;
}
.off-consent input { margin-top: 3px; flex-shrink: 0; }
.off-consent a { color: #A9CEF4; }
.off-consent.error { color: #FF6B6B; }

.off-msg { font-size: 13px; line-height: 1.4; }
.off-msg--error { color: #FF6B6B; }
.off-msg--success { color: #7CD992; font-weight: 700; }

/* Внешний вид кнопки — как в «СпецБлок 1/2» (blocks/special-1, blocks/special-2):
   акцентный жёлтый фон, тёмный текст, на ховере текст белый. */
.off-submit {
    background: var(--accent-yellow);
    color: #222;
    width: 100%;
    border: none;
    border-radius: 6px;
    padding: 16px 24px;
    font-weight: 700;
    font-size: 15px;
    text-transform: none;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.15s;
}
.off-submit:hover { color: #fff; opacity: 0.88; transform: translateY(-1px); }
.off-submit:disabled { cursor: default; opacity: 0.6; transform: none; }

@media (max-width: 991px) {
    .off-info { padding: 40px 0 0 40px; }
    .off-title { font-size: 48px; }
}
@media (max-width: 767px) {
    .off-form { max-width: 100%; }
    .off-info { padding: 0; }
    .off-title { font-size: 36px; }
}
