/* ==========================================
   DESKTOP LAYOUT
========================================== */

#page-shell {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
}

/* contenitore centrale */

#center-shell {
    width: 1400px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
}

/* contenuto principale */

#page-body {
    min-width: 0;
}

/* colonne laterali */

#left-rail,
#right-rail {
    min-width: 140px;
}

/* menu */

#context-menu {
    display: block;
    transition: right 0.3s;
}

/* ==========================================
   HEADER
========================================== */

#site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

#header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* utility */

.mobile-only {
    display: none !important;
}

/* ==========================================
   MOBILE / TABLET
========================================== */

@media (max-width: 900px) {

    #page-shell {
        display: block;
    }

    #center-shell {
        width: auto;
        display: block;
    }

    #left-rail,
    #right-rail {
        display: none;
    }

    #context-menu {
        position: fixed;
        top: 0;
        right: -260px;
        width: 250px;
        height: 100%;
        z-index: 1000;
    }

        #context-menu.open {
            right: 0;
        }

    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: flex !important;
    }
}
