.bqo-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    border: 1px solid var(--bqo-accent, #ed5a3b);
    border-radius: 4px;
    background: #fff;
    color: var(--bqo-accent, #ed5a3b);
    font: 600 15px/1.2 Arial, sans-serif;
    text-align: center;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
    -webkit-appearance: none;
}

.bqo-button:hover,
.bqo-button:focus {
    background: var(--bqo-accent, #ed5a3b);
    color: #fff;
    outline: none;
    box-shadow: 0 8px 22px rgba(237, 90, 59, .24);
}

.bqo-button:active { transform: translateY(1px); }
.bqo-modal-open { overflow: hidden; }

.bqo-modal {
    position: fixed;
    inset: 0;
    z-index: 100050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    box-sizing: border-box;
}

.bqo-modal.is-open { display: flex; }
.bqo-modal__backdrop { position: absolute; inset: 0; background: rgba(22, 27, 33, .66); backdrop-filter: blur(3px); }

.bqo-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 480px;
    max-height: calc(100vh - 36px);
    overflow: auto;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
    animation: bqo-in .2s ease-out;
}

.bqo-modal__body { padding: 38px 42px 34px; }
.bqo-modal__close {
    position: absolute;
    top: 11px;
    right: 13px;
    z-index: 1;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #81878c;
    font: 300 30px/34px Arial, sans-serif;
    cursor: pointer;
}
.bqo-modal__close:hover,
.bqo-modal__close:focus { color: #252a2e; background: #f4f5f6; outline: none; }
.bqo-modal__eyebrow { margin: 0 0 9px; color: var(--bqo-accent, #ed5a3b); font: 700 11px/1.4 Arial, sans-serif; letter-spacing: .12em; }
.bqo-modal__title { margin: 0 34px 10px 0; color: #21262a; font: 700 29px/1.18 Arial, sans-serif; }
.bqo-modal__subtitle { margin: 0 0 25px; color: #6f767c; font: 400 15px/1.5 Arial, sans-serif; }
.bqo-field { margin: 0 0 16px; }
.bqo-field label { display: block; margin: 0 0 7px; color: #30363b; font: 600 13px/1.3 Arial, sans-serif; }
.bqo-field input {
    width: 100%;
    height: 49px;
    padding: 0 14px;
    box-sizing: border-box;
    border: 1px solid #d8dcdf;
    border-radius: 5px;
    background: #fff;
    color: #20262a;
    font: 400 17px/1 Arial, sans-serif;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.bqo-field input:focus { border-color: var(--bqo-accent, #ed5a3b); box-shadow: 0 0 0 3px rgba(237, 90, 59, .13); }
.bqo-form__submit,
.bqo-success__close {
    width: 100%;
    min-height: 50px;
    margin: 5px 0 0;
    padding: 12px 20px;
    border: 1px solid var(--bqo-accent, #ed5a3b);
    border-radius: 5px;
    background: var(--bqo-accent, #ed5a3b);
    color: #fff;
    font: 700 15px/1.25 Arial, sans-serif;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(237, 90, 59, .2);
}
.bqo-form__submit:hover,
.bqo-form__submit:focus,
.bqo-success__close:hover,
.bqo-success__close:focus { filter: brightness(.94); outline: none; }
.bqo-form__submit[disabled] { opacity: .65; cursor: wait; }
.bqo-form__consent { margin: 12px 0 0; color: #969ca1; font: 400 11px/1.45 Arial, sans-serif; text-align: center; }
.bqo-form__consent a { color: inherit; text-decoration: underline; }
.bqo-form__error { display: none; margin: 0 0 12px; padding: 10px 12px; border-radius: 4px; background: #fff0ed; color: #a23220; font: 400 13px/1.4 Arial, sans-serif; }
.bqo-trap { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.bqo-success { display: none; padding: 12px 0 4px; text-align: center; }
.bqo-success__mark { display: inline-flex; align-items: center; justify-content: center; width: 62px; height: 62px; margin-bottom: 18px; border-radius: 50%; background: #eaf8ee; color: #2b9851; font: 700 31px/1 Arial, sans-serif; }
.bqo-success h3 { margin: 0 0 9px; color: #21262a; font: 700 27px/1.2 Arial, sans-serif; }
.bqo-success p { margin: 0 0 24px; color: #6f767c; font: 400 15px/1.5 Arial, sans-serif; }

@keyframes bqo-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 560px) {
    .bqo-modal { align-items: flex-end; padding: 0; }
    .bqo-modal__dialog { max-height: 94vh; border-radius: 14px 14px 0 0; }
    .bqo-modal__body { padding: 31px 22px 25px; }
    .bqo-modal__title { font-size: 25px; }
    .bqo-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .bqo-modal__dialog { animation: none; }
    .bqo-button { transition: none; }
}
