/* Shared, modest spacing reductions for the storefront and admin pages. */
.py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
.pt-5 { padding-top: 2rem !important; }
.pb-5 { padding-bottom: 2rem !important; }
.my-5 { margin-top: 2rem !important; margin-bottom: 2rem !important; }
.mt-5 { margin-top: 2rem !important; }
.mb-5 { margin-bottom: 2rem !important; }
.p-5 { padding: 2rem !important; }
.g-4 { --bs-gutter-x: 1.15rem !important; --bs-gutter-y: 1.15rem !important; }
.g-5 { --bs-gutter-x: 1.5rem !important; --bs-gutter-y: 1.5rem !important; }
.gap-4 { gap: 1.15rem !important; }
.gap-5 { gap: 1.5rem !important; }

.section-title { margin-bottom: 2rem; }
.filters-section { padding: 1.35rem !important; margin-bottom: 1.35rem !important; }
.cart-section { padding-block: 2.5rem !important; }
.about-hero,
.offers-hero { padding-block: 1.5rem !important; }
.stats-section { padding-block: 2.5rem !important; }
.timeline { padding-block: 1.25rem !important; }
.timeline-item { margin-bottom: 2rem !important; }
.brand-section { padding: 2rem !important; margin-top: 2rem !important; }
.booking-container { margin-block: 2rem !important; }
.flash-sale-timer { padding: 24px !important; margin-bottom: 2rem !important; }

.main-content { padding: 24px !important; }
.stat-box { padding: 18px !important; margin-bottom: 16px !important; }
.content-card { padding: 20px !important; margin-bottom: 18px !important; }
.card-header-flex { margin-bottom: 16px !important; }

/* Keep the storefront header aligned like the products page: brand at right,
   navigation and utility links flowing toward the left. */
.navbar { background: linear-gradient(180deg, #0c1224 0%, #0a0f1c 100%) !important; }
.navbar .navbar-brand { flex: 0 0 auto; }
.navbar .navbar-brand img { max-width: 100%; height: auto; max-height: 80px; object-fit: contain; }
@media (min-width: 992px) {
    .navbar > .container,
    .navbar > .container-fluid { flex-wrap: nowrap; }
    .navbar .navbar-brand img { width: auto; max-width: min(280px, 22vw); }
    .navbar .navbar-collapse { flex: 1 1 auto; justify-content: flex-start; min-width: 0; }
    .navbar .navbar-collapse > .navbar-nav.me-auto { margin-right: auto !important; margin-left: 0 !important; }
    .navbar .navbar-collapse > .navbar-nav:not(.me-auto) { margin-right: 0 !important; margin-left: 0 !important; }
}

@media (max-width: 767.98px) {
    .navbar .navbar-brand img { width: auto; max-width: 160px; }
    .py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
    .pt-5 { padding-top: 1.5rem !important; }
    .pb-5 { padding-bottom: 1.5rem !important; }
    .my-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
    .mt-5 { margin-top: 1.5rem !important; }
    .mb-5 { margin-bottom: 1.5rem !important; }
    .p-5 { padding: 1.5rem !important; }
    .main-content { padding: 16px !important; }
    .content-card { padding: 16px !important; }
    .brand-section { padding: 1.5rem !important; }
}
