@media (max-width: 576px) {
    .nmw-popup-action-button {
        margin: 0 5px 5px 5px;
    }

    .nmw-popup {
        padding: 0;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-snap-type: y mandatory;
        scroll-padding-top: 0;
    }

    .nmw-popup.nmw-popup-expanded,
    .nmw-popup.nmw-popup-closing {
        scroll-snap-type: none;
    }

    .nmw-popup-snap-start {
        display: block;
        position: relative;
        flex: 0 0 auto;
        width: 100%;
        height: 100vh;
    }

    .nmw-popup-snap-point {
        position: absolute;
        left: 0;
        width: 1px;
        height: 1px;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .nmw-popup-snap-point--close {
        top: 0;
    }

    .nmw-popup-snap-point--initial {
        top: var(--nmw-popup-initial-snap, 60vh);
    }

    .nmw-popup-snap-point--expanded {
        top: 90vh;
    }

    .nmw-popup-content {
        height: 90vh;
        min-height: 90vh;
        max-height: 90vh;
        padding: 15px 12px 12px 12px;
        border-radius: 30px 30px 0 0;
        overflow: hidden;
        scrollbar-width: none;
    }

    .nmw-popup-content::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: var(--nmw-popup-fixed-header-height, 90px);
        border-radius: 30px 30px 0 0;
        background: rgba(255, 255, 255, .28);
        box-shadow: 0 5px 12px rgba(0, 0, 0, .06);
        backdrop-filter: blur(5px);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
        z-index: 3;
    }

    .nmw-popup-content.nmw-popup-content--scrolled::after {
        opacity: 1;
    }

    .nmw-popup-content::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    #nmw-popup-inner {
        height: 100%;
        min-height: 0;
        padding: 0;
        overflow: visible;
    }

    .nmw-popup-header {
        position: relative;
        flex: 0 0 auto;
        width: 100%;
        margin: 0;
        padding: 0 0 4px;
        z-index: 4;
    }

    .nmw-popup-scroll-content {
        flex: 1 1 auto;
        min-height: 0;
        width: calc(100% + 24px);
        margin-right: -12px;
        margin-bottom: -12px;
        margin-left: -12px;
        padding-right: 12px;
        padding-bottom: 12px;
        padding-left: 12px;
        align-items: stretch;
        overflow-x: clip;
        overflow-y: hidden;
        box-sizing: border-box;
        overscroll-behavior-y: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .nmw-popup.nmw-popup-expanded .nmw-popup-scroll-content {
        overflow-y: auto;
    }

    .nmw-popup-scroll-content > * {
        flex: 0 0 auto;
        min-height: max-content;
    }

    .nmw-popup-quick-actions {
        min-height: 49px;
    }

    .nmw-popup-scroll-content::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .nmw-popup-icon-row {
        gap: 7px;
        align-self: start;
    }

    .nmw-popup-icon-buttons {
        width: 35px;
        height: 35px;
        border-radius: 50%;
    }

    .material-symbols-outlined.nmw-popup-icon-buttons {
        font-size: 20px;
    }

    .nmw-popup-icon-buttons .material-symbols-outlined {
        font-size: 20px;
    }

    .nmw-popup-heading-row {
        gap: 10px;
    }

    .nmw-popup-title {
        font-size: 31px;
        line-height: 1.08;
    }

    .nmw-popup-overtitle {
        font-size: 15px;
        line-height: 1.2;
        margin: 7px 0 -8px;
    }

    .nmw-popup-event-facts {
        margin-top: 8px;
        padding: 12px 3px;
        border-radius: 16px;
    }

    .nmw-popup-event-fact {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 3px 7px;
    }

    .nmw-popup-event-fact-main {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        justify-content: initial;
        gap: 6px;
    }

    .nmw-popup-event-fact-icon.material-symbols-outlined {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        font-size: 20px;
    }

    .nmw-popup-event-fact-label {
        font-size: 11px;
    }

    .nmw-popup-event-fact-value {
        font-size: 14px;
        white-space: nowrap;
    }

    .nmw-popup-event-fact-note {
        font-size: 10px;
        line-height: 1.25;
    }

    .nmw-popup-google-maps {
        margin: 0;
    }

    .nmw-popup-details {
        width: 100%;
        padding: 4px 0;
    }

    .nmw-popup-event-info-row {
        padding: 4px 9px;
        font-size: 13px;
    }

    .nmw-popup-event-info-icon.material-symbols-outlined {
        flex-basis: 26px;
        width: 26px;
        height: 32px;
        font-size: 21px;
    }

    .nmw-popup-gallery-controls {
        display: none;
    }

    .nmw-popup-gallery-track {
        gap: 11px;
        padding: 0 12px;
    }

    .nmw-popup-gallery {
        --nmw-gallery-height: 250px;
        --nmw-gallery-stack-gap: 9px;
    }

    .nmw-popup-gallery-group {
        height: var(--nmw-gallery-height);
    }

    .nmw-popup-gallery-group--large {
        width: 78vw;
    }

    .nmw-popup-gallery-group--stack {
        width: calc((var(--nmw-gallery-height) - var(--nmw-gallery-stack-gap)) / 2);
        gap: var(--nmw-gallery-stack-gap);
    }

    .nmw-popup-gallery-group--featured {
        width: auto;
    }

    .nmw-lightbox {
        padding: 58px 12px 72px;
    }

    .nmw-lightbox-image {
        max-height: calc(100vh - 130px);
    }

    .nmw-lightbox-previous,
    .nmw-lightbox-next {
        top: auto;
        bottom: 15px;
        transform: none;
    }

    .nmw-lightbox-previous { left: calc(50% - 58px); }
    .nmw-lightbox-next { right: calc(50% - 58px); }

}
