.exhibition-popup .modal-dialog {
    max-width: min(800px, calc(100% - 2rem));
    margin: 1.5rem auto;
}

.exhibition-popup .modal-content {
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(0, 38, 77, 0.3);
}

.exhibition-popup .modal-body {
    padding: 0;
    background: #fff;
}

.exhibition-popup .btn-close {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.92);
    opacity: 1;
    box-shadow: 0 2px 10px rgba(0, 38, 77, 0.2);
}

.exhibition-popup-image {
    display: block;
    width: 100%;
    max-height: calc(100vh - 150px);
    height: auto;
    object-fit: contain;
}

.exhibition-popup-cta {
    padding: 1rem 1.25rem 1.25rem;
    text-align: center;
}

.exhibition-popup-cta .btn {
    min-width: 180px;
    background: #1e7fc2;
    border-color: #1e7fc2;
}

.exhibition-popup-cta .btn:hover,
.exhibition-popup-cta .btn:focus {
    background: #166aa5;
    border-color: #166aa5;
}

body.exhibition-popup-active .modal-backdrop.show {
    opacity: 0.68;
}

@media (max-width: 575.98px) {
    .exhibition-popup .modal-dialog {
        max-width: calc(100% - 1rem);
        margin: 0.5rem auto;
    }

    .exhibition-popup .modal-content {
        border-radius: 12px;
    }

    .exhibition-popup .btn-close {
        top: 8px;
        right: 8px;
        transform: scale(0.85);
    }

    .exhibition-popup-cta {
        padding: 0.75rem 1rem 1rem;
    }

    .exhibition-popup-cta .btn {
        width: 100%;
    }
}
