body.byno-stock-modal-open {
    overflow: hidden;
}

.byno-stock-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: 20px;
    pointer-events: none;
    position: fixed;
    transition: opacity 0.2s ease;
    visibility: hidden;
    z-index: 100001;
}

.byno-stock-modal.is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.byno-stock-modal__backdrop {
    background: rgba(17, 24, 39, 0.58);
    inset: 0;
    position: absolute;
}

.byno-stock-modal__dialog {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
    box-sizing: border-box;
    direction: rtl;
    max-width: 450px;
    padding: 20px 28px 24px;
    position: relative;
    transform: translateY(12px) scale(0.98);
    transition: transform 0.2s ease;
    width: 100%;
}

.byno-stock-modal.is-open .byno-stock-modal__dialog {
    transform: translateY(0) scale(1);
}

.byno-stock-modal__title {
    color: #292d32;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.6;
    margin: 0 0 12px;
}

.byno-stock-modal__description {
    color: #60656d;
    font-size: 14px;
    line-height: 2;
    margin: 0 0 22px;
}

.byno-stock-modal__confirm {
    background: var(--byno-main-color, #0783d1);
    border: 0;
    border-radius: 13px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    padding: 18px 20px;
    line-height: 1;
    width: 100%;
}

.byno-stock-modal__confirm:hover {
    filter: brightness(1.05);
}

.byno-stock-modal__confirm:focus-visible {
    outline: 3px solid rgba(0, 118, 202, 0.28);
    outline-offset: 3px;
}

@media only screen and (max-width: 520px) {
    .byno-stock-modal {
        padding: 14px;
    }

    .byno-stock-modal__dialog {
        border-radius: 20px;
        padding: 18px 20px 22px;
    }

    .byno-stock-modal__title {
        font-size: 19px;
    }
}
