/* ── Warm golden header ───────────────────────────────────────────────────
   Golden peach bar with dark text for readability. */
.navbar-brown {
    background-color: #f9ca86;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    min-height: 78px;
}
.navbar-brown .navbar-brand {
    color: #4e342e;
    font-size: 1.05rem;
    font-weight: 700;
    white-space: nowrap;
}
.brand-name-text {
    display: inline-block;
    line-height: 1.15;
    text-align: left;
    vertical-align: middle;
}
.navbar-brown .navbar-brand img {
    height: 56px !important;
    width: auto !important;
    object-fit: contain;
}
.navbar-brown .navbar-nav .nav-link {
    color: #4e342e;
    font-size: 1.05rem;
    padding: 0.5rem 1rem;
}
.navbar-brown .navbar-nav .nav-link:hover,
.navbar-brown .navbar-nav .nav-link:focus,
.navbar-brown .navbar-nav .nav-link.active {
    color: #2d1f1a;
    font-weight: 600;
}
.navbar-brown .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(78, 52, 46, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-brown .navbar-toggler {
    border-color: rgba(78, 52, 46, 0.3);
}
.navbar-brown .dropdown-menu .dropdown-item {
    font-size: 0.95rem;
}

/* ── Elegant near-black footer ────────────────────────────────────────────
   Deep charcoal with warm off-white text and soft-gold links, all tuned for
   contrast/readability against the dark background. */
.my-footer {
    background-color: #1b1b1b;
    margin-top: 1.5em;
    padding: 1.75em 1em;
    color: #e9e4dd;
    font-size: 85%;
}
.my-footer a {
    color: #e0c9a6;
    text-decoration: none;
}
.my-footer a:hover,
.my-footer a:focus {
    color: #ffffff;
    text-decoration: underline;
}

/* Golden call-to-action button (matches the navbar). */
.btn-brown {
    background-color: #f9ca86;
    color: #4e342e;
    border: 1px solid #e8b86d;
}
.btn-brown:hover,
.btn-brown:focus {
    background-color: #f0b85a;
    color: #2d1f1a;
}

.room-image {
    max-width: 50%;
}

.datepicker {
    z-index: 10000;
}

/* ── Catalog cards: consistent spacing for halls and manasik areas ──────── */
.catalog-card-grid {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}
.catalog-card-grid > [class*="col-"] {
    display: flex;
}
.catalog-card-grid .card {
    width: 100%;
    overflow: hidden;
    border: 1px solid #e8e1d9;
    border-radius: 0.75rem;
    box-shadow: 0 0.25rem 0.85rem rgba(78, 52, 46, 0.08);
}
.catalog-card-grid .card-body {
    padding: 1.25rem;
}
.catalog-card-grid .card-title {
    margin-bottom: 0.65rem;
}
.catalog-card-grid .card-text {
    line-height: 1.55;
}
.catalog-card-grid .badge {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

/* ── Admin list controls and pagination ─────────────────────────────────── */
.admin-list-toolbar {
    gap: 0.65rem;
    row-gap: 0.75rem;
}
.admin-list-toolbar > .btn {
    margin: 0;
}
.admin-page-size-form {
    gap: 0.65rem;
    min-height: 2rem;
}
.admin-page-size-label {
    white-space: nowrap;
}
.admin-page-size-form .form-select {
    width: 5.25rem;
    min-width: 5.25rem;
    border-radius: 0.375rem;
}
.admin-list-pagination {
    gap: 1rem;
    padding: 0.85rem 0 0.25rem;
    border-top: 1px solid #f0ece8;
}
.admin-list-pagination-summary {
    line-height: 1.5;
}
.admin-list-pagination .pagination {
    gap: 0.3rem;
}
.admin-list-pagination .page-item .page-link {
    min-width: 2rem;
    text-align: center;
    border-radius: 0.3rem;
}

@media (max-width: 767.98px) {
    .admin-page-size-form {
        width: 100%;
        justify-content: flex-start;
    }

    .admin-list-pagination {
        align-items: flex-start !important;
    }

    .admin-list-pagination nav,
    .admin-list-pagination .pagination {
        width: 100%;
    }

    .admin-list-pagination .pagination {
        justify-content: flex-start;
    }
}

/* ── Ringkasan pembayaran (halaman lihat/bayar tagihan kamar/aula/manasik) ──
   Label | : | nilai — kolom label menyempit ke label terpanjang dan titik dua
   berada di kolomnya sendiri, sehingga semua ":" sejajar (pola yang sama
   dengan .resv-summary di panel admin). */
.pay-summary {
    border-collapse: collapse;
    margin-bottom: 1rem;
}

.pay-summary th {
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
    width: 1%;
    padding: .15rem 1.1rem .15rem 0;
    vertical-align: top;
}

.pay-summary td.sep {
    width: 1%;
    padding: .15rem .6rem .15rem 0;
    font-weight: 600;
    vertical-align: top;
}

.pay-summary td.val {
    padding: .15rem 0;
}
