/* Shared page consistency across admin + client views */
:root {
    --page-max-width: 1200px;
    --content-gap: 1rem;
    --radius-md: 12px;
}

body {
    overflow-x: hidden;
}

main,
.container,
.container-fluid {
    width: 100%;
}

.card,
.modal-content,
.venue-card,
.feature-card,
.testimonial-card {
    border-radius: var(--radius-md);
}

.main-panel .container,
#site-main .container {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media (max-width: 992px) {
    .main-panel .container,
    #site-main .container,
    .header .container {
        padding-left: 0.9rem;
        padding-right: 0.9rem;
    }
}

@media (max-width: 768px) {
    h1 { font-size: 1.6rem; }
    h2 { font-size: 1.35rem; }

    .header {
        position: sticky;
        top: 0;
    }

    .header .container {
        gap: 0.75rem;
        flex-wrap: wrap;
        justify-content: space-between;
    }



    table {
        display: block;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
    }

    .modal-dialog {
        margin: 0.75rem;
        max-width: calc(100vw - 1.5rem);
    }
}
@media (max-width: 768px) {
    .card-header.d-flex,
    .card-header.d-flex.align-items-center {
        flex-wrap: wrap;
        align-items: center !important;
        gap: 0.5rem;
        padding: 0.65rem 0.75rem;
    }

    .card-header .card-title,
    .card-header h4.card-title {
        font-size: 1rem;
        line-height: 1.25;
        margin-bottom: 0;
        flex: 1 1 auto;
        min-width: 0;
    }

    .card-header .btn,
    .card-header .btn.btn-round {
        font-size: 0.8rem;
        line-height: 1.2;
        padding: 0.4rem 0.65rem;
        border-radius: 999px;
        white-space: nowrap;
    }

        .card-header .btn.ms-auto {
            margin-left: 0 !important;
        }

        .card-header .btn i {
            margin-right: 0.25rem;
        }
}