/*
 * GestHotels UI Core
 * gh-layout.css
 *
 * Layout condivisi riutilizzabili.
 * Admin Design System v2
 */

.gh-admin-page {
    width: 100%;
    min-width: 0;
    padding-top: var(--gh-space-5);
}

.gh-admin-page__back {
    display: block;
    margin: 0 0 var(--gh-space-8);
}

.gh-admin-page__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--gh-space-6);
    margin: 0 0 var(--gh-space-8);
}

.gh-admin-page__heading-copy {
    min-width: 0;
}

.gh-admin-page__heading h1 {
    margin: 0 0 var(--gh-space-2);
    color: var(--gh-text-primary);
    font-size: var(--gh-font-size-3xl);
    font-weight: var(--gh-font-weight-bold);
    line-height: var(--gh-line-height-tight);
}

.gh-admin-page__heading p {
    margin: 0;
    color: var(--gh-text-muted);
    font-size: var(--gh-font-size-base);
    line-height: var(--gh-line-height-base);
}

.gh-admin-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--gh-space-4);
}

.gh-admin-toolbar__form {
    display: flex;
    align-items: flex-end;
    gap: var(--gh-space-3);
    flex: 1;
    flex-wrap: wrap;
}

.gh-admin-toolbar__field {
    flex: 1;
    min-width: 16rem;
    max-width: 32rem;
}

.gh-admin-toolbar__actions {
    display: flex;
    align-items: center;
    gap: var(--gh-space-3);
    flex-wrap: wrap;
}

.gh-admin-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gh-space-4);
}

.gh-admin-mobile-list {
    display: none;
}

.gh-admin-desktop-only {
    display: block;
}

.gh-admin-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gh-space-2);
}

.gh-admin-actions {
    display: flex;
    align-items: center;
    gap: var(--gh-space-3);
    flex-wrap: wrap;
}

.gh-admin-actions form {
    margin: 0;
}

@media (max-width: 1100px) {
    .gh-admin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .gh-admin-page {
        padding-top: var(--gh-space-3);
    }

    .gh-admin-page__back {
        margin-bottom: var(--gh-space-5);
    }

    .gh-admin-page__heading {
        display: block;
        margin-bottom: var(--gh-space-4);
    }

    .gh-admin-page__heading h1 {
        margin-bottom: var(--gh-space-2);
        font-size: var(--gh-font-size-2xl);
    }

    .gh-admin-page__heading p {
        margin-bottom: var(--gh-space-4);
        font-size: var(--gh-font-size-sm);
    }

    .gh-admin-page__heading .gh-admin-primary-action {
        width: 100%;
    }

    .gh-admin-toolbar,
    .gh-admin-toolbar__form,
    .gh-admin-toolbar__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .gh-admin-toolbar__field {
        min-width: 0;
        max-width: none;
        width: 100%;
    }

    .gh-admin-toolbar .gh-btn,
    .gh-admin-toolbar button {
        width: 100%;
    }

    .gh-admin-grid {
        grid-template-columns: 1fr;
    }

    .gh-admin-desktop-only {
        display: none;
    }

    .gh-admin-mobile-list {
        display: block;
    }
}

@media (max-width: 420px) {
    .gh-admin-info-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   ADMIN TOOLS / FILTER LAYOUT
   ========================================================== */

.gh-admin-tools {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(16rem, .8fr);
    gap: var(--gh-space-4);
    margin-bottom: var(--gh-space-4);
}

.gh-admin-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gh-space-3);
}

.gh-admin-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gh-space-2);
}

.gh-admin-stack form {
    width: 100%;
    margin: 0;
}

.gh-admin-stack .gh-btn,
.gh-admin-stack button.gh-btn {
    width: 100%;
}

@media (max-width: 1000px) {
    .gh-admin-tools {
        grid-template-columns: 1fr;
    }

    .gh-admin-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .gh-admin-filter-grid {
        grid-template-columns: 1fr;
    }
}


/* ADMIN FORM / MEDIA LAYOUT */
.gh-admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gh-space-4)}
.gh-admin-form-stack{display:grid;grid-template-columns:1fr;gap:var(--gh-space-4)}
.gh-admin-section{margin-top:var(--gh-space-8)}
.gh-admin-section__heading{margin-bottom:var(--gh-space-4)}
.gh-admin-section__heading h2{margin:0 0 var(--gh-space-2);color:var(--gh-text-primary);font-size:var(--gh-font-size-2xl);font-weight:var(--gh-font-weight-bold);line-height:var(--gh-line-height-tight)}
.gh-admin-section__heading p{margin:0;color:var(--gh-text-muted);font-size:var(--gh-font-size-sm);line-height:var(--gh-line-height-base)}
.gh-admin-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gh-space-4)}
@media(max-width:768px){.gh-admin-form-grid,.gh-admin-media-grid{grid-template-columns:1fr}}