﻿body {
    background-color: #F1F5F9;
    font-family: 'Inter', sans-serif
}

.text-purple {
    color: #8649E4 !important;
}

.text-orange {
    color: #FF4D00 !important;
}

.form-label {
    font-weight: 600 !important;
    font-size: 1rem !important;
}

.truncate-text {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bsb-circle i {
    font-size: 2.5rem;
    padding: 8px 19px;
    border-radius: 50%;
}

.sidebar li a {
    color: #fff;
}

.sidebar ul li:hover a {
    color: black;
    background: #eee;
    border-radius: 8px;
}

.border-start-primary {
    border-left: 0.25rem solid #4e73df !important;
}

.border-start-orange {
    border-left: 0.25rem solid #FF4D00 !important;
}

.border-start-success {
    border-left: 0.25rem solid #1cc88a !important;
}

.border-start-info {
    border-left: 0.25rem solid #36b9cc !important;
}

.border-start-warning {
    border-left: 0.25rem solid #f6c23e !important;
}

.border-start-danger {
    border-left: 0.25rem solid #e74a3b !important;
}

.border-start-purple {
    border-left: 0.25rem solid #8649E4 !important;
}

.hp-logo {
    width: 58px;
    height: 48px;
    object-fit: contain;
}

.hp-brand-name {
    color: var(--hp-primary, #10264a);
}

.hp-navbar {
    border-top: 4px solid var(--hp-accent, #b9912f);
}

.hp-btn-primary,
.btn-primary {
    background-color: var(--hp-primary, #10264a);
    border-color: var(--hp-primary, #10264a);
}

.hp-btn-primary:hover,
.btn-primary:hover {
    background-color: var(--hp-accent, #b9912f);
    border-color: var(--hp-accent, #b9912f);
}

.hp-home {
    margin: -1.5rem -12px 0;
}

.hp-hero-section {
    position: relative;
    overflow: hidden;
    padding: 4.5rem 0 4.5rem;
    color: #fff;
    background:
        radial-gradient(circle at 15% 20%, rgba(185, 145, 47, 0.35), transparent 28%),
        linear-gradient(135deg, rgba(16, 38, 74, 0.98), rgba(7, 18, 38, 0.94));
}

.hp-hero-section::after {
    content: "";
    position: absolute;
    inset: auto -10% -35% 45%;
    width: 520px;
    height: 520px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    filter: blur(8px);
}

.hp-hero-section .container {
    position: relative;
    z-index: 1;
}

.hp-eyebrow,
.hp-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--hp-accent, #b9912f);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .78rem;
}

.hp-hero-title {
    max-width: 720px;
    margin: 1rem 0;
    font-size: clamp(2.4rem, 5vw, 4.9rem);
    line-height: .96;
    font-weight: 900;
    letter-spacing: -.06em;
}

.hp-hero-section .hp-hero-title,
.hp-hero-section .hp-hero-text {
    margin-left: auto;
    margin-right: auto;
}

.hp-hero-text {
    max-width: 570px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.15rem;
}

.hp-hero-stats > div {
    padding: 1rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(10px);
}

.hp-hero-stats strong {
    display: block;
    font-size: 1.4rem;
    color: #fff;
}

.hp-hero-stats span {
    display: block;
    color: rgba(255, 255, 255, 0.65);
    font-size: .82rem;
}

.hp-featured-section {
    margin-top: 3rem;
    position: relative;
    z-index: 2;
    padding-bottom: 2rem;
}

.hp-featured-carousel {
    transform: none;
}

.hp-featured-carousel .carousel-inner {
    border: 1px solid rgba(16, 38, 74, 0.08);
}

.hp-carousel-card {
    position: relative;
    min-height: 520px;
    background-size: cover;
    background-position: center;
}

.hp-carousel-badge {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    padding: .55rem .9rem;
    border-radius: 999px;
    color: #10264a;
    background: #fff;
    font-weight: 800;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.16);
}

.hp-carousel-content {
    position: absolute;
    left: clamp(1.5rem, 5vw, 4rem);
    right: clamp(1.5rem, 5vw, 4rem);
    bottom: clamp(1.5rem, 5vw, 4rem);
    color: #fff;
    max-width: 680px;
}

.hp-carousel-content h3 {
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 900;
    letter-spacing: -.03em;
}

.hp-carousel-content strong {
    font-size: 1.7rem;
    color: var(--hp-accent, #b9912f);
}

.hp-search-section {
    position: relative;
    z-index: 2;
    margin-top: 1rem;
}

.hp-search-card {
    padding: 1.5rem;
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(16, 38, 74, 0.08);
    box-shadow: 0 24px 70px rgba(16, 38, 74, 0.16);
}

.hp-section-title {
    color: #10264a;
    font-size: clamp(1.65rem, 2.6vw, 2.4rem);
    font-weight: 900;
    letter-spacing: -.04em;
}

.hp-code-search {
    min-width: min(100%, 330px);
}

.hp-filter-input {
    min-height: 52px;
    border-radius: 1rem;
    border-color: #d8e0ea;
}

.hp-filter-submit {
    min-height: 52px;
    border-radius: 1rem;
    font-weight: 800;
}

.hp-listings-section {
    padding-top: 4rem;
    padding-bottom: 3rem;
}

.hp-result-pill {
    padding: .65rem 1rem;
    border-radius: 999px;
    color: #10264a;
    background: #fff;
    font-weight: 800;
    box-shadow: 0 12px 35px rgba(16, 38, 74, 0.08);
}

.hp-property-card {
    overflow: hidden;
    border: 0;
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 16px 50px rgba(16, 38, 74, 0.10);
    transition: transform .22s ease, box-shadow .22s ease;
}

.hp-property-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 70px rgba(16, 38, 74, 0.18);
}

.hp-property-image-wrap {
    position: relative;
    overflow: hidden;
    height: 245px;
    background: #e8eef6;
}

.hp-property-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.hp-property-card:hover .hp-property-image {
    transform: scale(1.06);
}

.hp-code-badge,
.hp-sale-badge {
    position: absolute;
    top: 1rem;
    padding: .48rem .75rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
}

.hp-code-badge {
    right: 1rem;
    color: #10264a;
    background: #fff;
}

.hp-sale-badge {
    left: 1rem;
    color: #fff;
    background: rgba(16, 38, 74, 0.88);
}

.hp-property-title {
    color: #10264a;
    font-weight: 900;
}

.hp-property-price {
    color: var(--hp-primary, #10264a);
}

.hp-view-more {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: var(--hp-primary, #10264a);
}

.hp-empty-state {
    padding: 4rem 2rem;
    text-align: center;
    border-radius: 1.5rem;
    background: #fff;
    color: #10264a;
}

.hp-empty-state i {
    font-size: 3rem;
    color: var(--hp-accent, #b9912f);
}

@media (max-width: 991.98px) {
    .hp-hero-section {
        padding: 3rem 0;
    }

    .hp-carousel-card {
        min-height: 390px;
    }

}

@media (max-width: 575.98px) {
    .hp-hero-stats > div {
        padding: .8rem;
    }

    .hp-search-card {
        padding: 1rem;
        border-radius: 1.25rem;
    }

    .hp-property-image-wrap {
        height: 210px;
    }
}
