.laroma-popup[hidden] {
    display: none;
}

.laroma-popup {
    position: fixed;
    z-index: 2100;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.laroma-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .68);
}

.laroma-popup__dialog {
    position: relative;
    z-index: 1;
    width: min(62rem, 100%);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    background: #fff;
    box-shadow: 0 1rem 4rem rgba(0, 0, 0, .4);
}

.laroma-popup__close {
    position: absolute;
    z-index: 3;
    top: .5rem;
    right: .5rem;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #222;
    font: 2rem/1 sans-serif;
    cursor: pointer;
}

.laroma-popup__image-wrapper {
    position: relative;
}

.laroma-popup__image {
    display: block;
    width: 100%;
    height: auto;
}

.laroma-popup__text {
    position: absolute;
    max-width: min(38rem, calc(100% - 2rem));
    padding: 1rem 1.25rem;
    background: rgba(0, 0, 0, .62);
    color: #fff;
}

.laroma-popup__text h2,
.laroma-popup__text p {
    margin-top: 0;
    color: inherit;
}

.laroma-popup__text p:last-child {
    margin-bottom: 0;
}

.laroma-popup__text--top-left { top: 1rem; left: 1rem; }
.laroma-popup__text--top-center { top: 1rem; left: 50%; transform: translateX(-50%); text-align: center; }
.laroma-popup__text--top-right { top: 1rem; right: 1rem; text-align: right; }
.laroma-popup__text--center-left { top: 50%; left: 1rem; transform: translateY(-50%); }
.laroma-popup__text--center-center { top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
.laroma-popup__text--center-right { top: 50%; right: 1rem; transform: translateY(-50%); text-align: right; }
.laroma-popup__text--bottom-left { bottom: 1rem; left: 1rem; }
.laroma-popup__text--bottom-center { bottom: 1rem; left: 50%; transform: translateX(-50%); text-align: center; }
.laroma-popup__text--bottom-right { right: 1rem; bottom: 1rem; text-align: right; }

.laroma-popup-open {
    overflow: hidden;
}

@media (max-width: 575.98px) {
    .laroma-popup__text {
        position: relative;
        inset: auto;
        max-width: none;
        transform: none;
        background: rgba(0, 0, 0, .82);
        text-align: left;
    }
}
