/* ── Responsive overrides ── */

/* Base fluid fixes */
img {
    max-width: 100%;
    height: auto;
}

div#wrapper {
    width: 100%;
    max-width: 980px;
    box-sizing: border-box;
}


div#site-body div#banner img {
    width: 100%;
    display: block;
}

div#site-body div#banner a {
    position: absolute;
    left: 9%;
    bottom: 10%;
}

/* ── Mobile nav ── */
.nav-toggle {
    display: none;
    background: #000;
    border: none;
    cursor: pointer;
    padding: 8px 14px;
    width: 100%;
    text-align: left;
}

.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    margin: 5px 0;
}

/* ── Tablet (≤ 900px) ── */
@media (max-width: 900px) {
    div#site-body div#body-content div.panel {
        width: 100%;
        height: auto;
        float: none;
        margin: 10px 0;
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
    }

    div#site-body div#body-content div.panel-section {
        width: 30%;
        height: auto;
    }

    div.venue-item {
        width: 45%;
        height: auto;
        margin-bottom: 20px;
    }

    table.gallery {
        width: 100%;
    }

    iframe[src*="maps.google"] {
        width: 100%;
    }
}

/* ── Mobile (≤ 600px) ── */
@media (max-width: 600px) {
    /* Scale background so the centered logo remains visible on narrow screens */
    body {
        background-size: 160% auto;
        background-position: top center;
        background-color: #2d0035;
    }

    div#site-header {
        height: 60px;
        box-sizing: border-box;
    }

    div#site-header div#info-line {
        top: 4px;
        right: 6px;
        font-size: 0.7em;
    }

    div#site-header div#header-bar {
        bottom: 4px;
        right: 6px;
        font-size: 0.85em;
    }

    div#site-header div#header-bar span.icon {
        display: none;
    }

    /* Hamburger button */
    .nav-toggle {
        display: block;
    }

    /* Hide nav by default, show when open */
    #main-nav .rmHorizontal {
        display: none;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    #main-nav .rmHorizontal.nav-open {
        display: flex;
    }

    div#main-nav {
        height: auto;
        overflow: visible;
    }

    .RadMenu_Menu {
        height: auto;
        overflow: visible;
    }

    #main-nav .rmItem {
        width: 100%;
        height: auto;
        border-top: 1px solid #333;
        padding: 0;
    }

    #main-nav .rmLink {
        height: 40px;
        padding: 0 16px;
        width: 100%;
        box-sizing: border-box;
    }

    div#site-body div#body-content {
        display: flex;
        flex-direction: column;
    }

    div#site-body div#body-content div.panel {
        width: 100%;
        float: none;
        height: auto;
        flex-direction: column;
        align-items: center;
        margin: 0;
        order: 1;
    }

    div#site-body div#body-content div.panel-section {
        width: 100%;
        height: auto;
        margin-bottom: 10px;
    }

    div#site-body div#body-content div.panel-section img {
        width: 100%;
    }

    div.venue-item {
        width: 100%;
        height: auto;
    }

    div#site-body div#banner a {
        left: 5%;
        bottom: 5%;
    }

    div#site-body div#banner a img {
        width: 80px;
    }

    table.gallery {
        width: 100%;
    }

    iframe[src*="maps.google"] {
        width: 100%;
        height: 250px;
    }

    #galleria {
        width: 100% !important;
    }
}
