.promotion-form {
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 20px 45px rgba(0, 49, 92, .16);
    color: #1b2741;
}

.promotion-form__header { margin-bottom: 28px; }
.promotion-form__eyebrow { display: block; margin-bottom: 8px; color: #008dff; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.promotion-form__title { margin: 0; color: #1b2741; font-size: clamp(24px, 4vw, 32px); font-weight: 700; line-height: 1.1; }
.promotion-form__intro { margin: 10px 0 0; color: rgba(27, 39, 65, .72) !important; font-size: 16px !important; line-height: 1.5; }
.promotion-form__field, .promotion-form__question { margin: 0; }
.promotion-form__label, .promotion-form__question-title { display: block; margin: 0 0 8px; color: #1b2741; font-size: 14px; font-weight: 600; line-height: 1.3; }
.promotion-form__label span, .promotion-form__question-title span { color: #008dff; }

.promotion-form__control.form-control {
    width: 100%;
    min-height: 56px;
    padding: 14px 16px;
    border: 1px solid rgba(27, 39, 65, .18);
    border-radius: 12px;
    background: #fff;
    color: #1b2741;
    font-size: 16px;
    line-height: 1.4;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.promotion-form__control.form-control::placeholder { color: rgba(27, 39, 65, .45); }
.promotion-form__control.form-control:focus { border-color: #008dff; box-shadow: 0 0 0 4px rgba(0, 141, 255, .14); }
.promotion-form__control.form-control[readonly] { background: #f3f6f9; color: rgba(27, 39, 65, .55); }
.promotion-form__control--textarea.form-control { min-height: 128px; resize: vertical; }
.promotion-form__question { margin-top: 24px; padding: 20px; border-radius: 16px; background: #f4f8fc; }

.promotion-form__submit {
    width: 100%;
    min-height: 56px;
    margin-top: 24px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease;
}

.promotion-form__submit:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(0, 49, 92, .18); }
.promotion-form__notice { margin: 18px 0 0; color: rgba(27, 39, 65, .58) !important; font-size: 12px !important; line-height: 1.55; }
.promotion-form__trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.promotion-form--closed .promotion-form__submit { cursor: not-allowed; opacity: .65; }
