:root {
    --ariana-modal-overlay-bg: rgba(0, 0, 0, 0.6);
    --ariana-modal-overlay-z: 9999;
    --ariana-modal-bg: #fff;
    --ariana-modal-radius: 8px;
    --ariana-modal-padding: 32px;
    --ariana-modal-max-width: 400px;
    --ariana-modal-width: 90%;
    --ariana-modal-max-height: 90vh;
    --ariana-modal-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    --ariana-modal-close-size: 32px;
    --ariana-modal-close-spacing: 16px;
    --ariana-modal-close-font-size: 28px;
    --ariana-modal-close-color: #999;
    --ariana-modal-close-hover-color: #333;
    --ariana-modal-focus-outline: 2px solid #0073aa;
    --ariana-modal-focus-offset: 2px;
    --ariana-modal-transition: 0.3s ease;
}

@media (max-width: 768px) {
    :root {
        --ariana-modal-padding: 24px;
        --ariana-modal-max-width: 90%;
        --ariana-modal-close-spacing: 12px;
    }
}

@media (max-width: 480px) {
    :root {
        --ariana-modal-padding: 16px;
        --ariana-modal-close-size: 28px;
        --ariana-modal-close-font-size: 24px;
        --ariana-modal-close-spacing: 8px;
    }
}

.ariana-ew-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--ariana-modal-overlay-bg);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: var(--ariana-modal-overlay-z);
    opacity: 0;
    transition: opacity var(--ariana-modal-transition);
}

.ariana-ew-modal-overlay--open {
    display: flex;
    opacity: 1;
}

.ariana-ew-modal-container {
    background-color: var(--ariana-modal-bg);
    border-radius: var(--ariana-modal-radius);
    padding: var(--ariana-modal-padding);
    max-width: var(--ariana-modal-max-width);
    width: var(--ariana-modal-width);
    max-height: var(--ariana-modal-max-height);
    overflow-y: auto;
    box-shadow: var(--ariana-modal-shadow);
    position: relative;
}

.ariana-ew-modal-inner {
    padding: 20px;
}

.ariana-ew-modal-close-container {
    position: absolute;
    top: var(--ariana-modal-close-spacing);
    right: var(--ariana-modal-close-spacing);
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.admin-bar .ariana-ew-modal-close-container {
    top: calc(var(--ariana-modal-close-spacing) + 50px);
}

.rtl .ariana-ew-modal-close-container {
    right: auto;
    left: var(--ariana-modal-close-spacing);
}

.ariana-ew-modal-close {
    background: none;
    border: none;
    font-size: var(--ariana-modal-close-font-size);
    line-height: 1;
    color: var(--ariana-modal-close-color);
    cursor: pointer;
    padding: 0;
    width: var(--ariana-modal-close-size);
    height: var(--ariana-modal-close-size);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: color var(--ariana-modal-transition);
}

.ariana-ew-modal-close:hover {
    color: var(--ariana-modal-close-hover-color);
}

.ariana-ew-modal-close:focus {
    outline: var(--ariana-modal-focus-outline);
    outline-offset: var(--ariana-modal-focus-offset);
}
