body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

.feature {
    text-align: center;
}

/* Custom link color using Bootstrap 5 CSS variables */
:root {
    --bs-link-color-rgb: 70, 145, 182;
    --bs-link-hover-color-rgb: 58, 122, 154;
}

/* Custom primary button color */
.btn-primary {
    background-color: #4691b6;
    border-color: #4691b6;
}

/* Custom hover, focus, and active states for the primary button */
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #3a7a9a !important;
    /* A slightly darker shade for interaction */
    border-color: #3a7a9a !important;
    box-shadow: none !important;
    /* Optional: removes the default focus shadow */
}

/* Custom outline primary button color */
.btn-outline-primary {
    color: #4691b6;
    border-color: #4691b6;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    color: #fff !important;
    background-color: #4691b6 !important;
    border-color: #4691b6 !important;
}

.nav-link {
    color: #4691b6
}

.bg-info {
    background-color: #4691b6 !important;
}

/* Responsive tabs for mobile */
@media (max-width: 767.98px) {
    .nav-tabs-responsive {
        position: relative;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
        /* Hide scrollbar for a cleaner look */
        -ms-overflow-style: none;
        /* IE and Edge */
        scrollbar-width: none;
        /* Firefox */
    }

    .nav-tabs-responsive::-webkit-scrollbar {
        display: none;
        /* Chrome, Safari, and Opera */
    }

    .nav-tabs-responsive .nav-tabs {
        flex-wrap: nowrap;
        margin-bottom: 0;
    }

    /* Gradients for scrollable tabs */
    .nav-tabs-responsive::before,
    .nav-tabs-responsive::after {
        content: '';
        position: absolute;
        top: 0;
        width: 40px;
        height: 100%;
        pointer-events: none;
        z-index: 2;
        opacity: 0;
        transition: opacity 0.2s ease-in-out;
    }

    .nav-tabs-responsive::before {
        left: 0;
        background: linear-gradient(to right, white, rgba(255, 255, 255, 0));
    }

    .nav-tabs-responsive::after {
        right: 0;
        background: linear-gradient(to left, white, rgba(255, 255, 255, 0));
    }

    /* JS-controlled classes to show gradients */
    .nav-tabs-responsive.show-gradient-left::before {
        opacity: 1;
    }

    .nav-tabs-responsive.show-gradient-right::after {
        opacity: 1;
    }
}

/* Mobile drill-down view for property details */
@media (max-width: 767.98px) {
    #property-detail-content .tab-content .tab-pane {
        display: none;
        opacity: 1; /* Override fade */
    }

    #property-detail-content.is-pane-view #mobile-section-list,
    #property-detail-content.is-pane-view #property-detail-header {
        display: none !important;
    }

    #property-detail-content.is-pane-view #property-pane-header {
        display: block !important;
    }

    #property-detail-content.is-pane-view .tab-content .tab-pane.active {
        display: block;
    }

    #property-detail-content.is-pane-view .tab-content .card {
        border-top: 1px solid var(--bs-card-border-color) !important;
        border-radius: var(--bs-card-border-radius) !important;
    }
}
