@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

:root {
    --estaty-orange: #ff7a1a;
    --estaty-navy: #122033;
    --estaty-muted: #6b7280;
    --estaty-card: #ffffff;
    --estaty-bg: #f7f8fb;
    --estaty-radius: 18px;
    --estaty-shadow: 0 12px 40px rgba(18, 32, 51, 0.08);
}

body {
    font-family: "Plus Jakarta Sans", var(--font-body), sans-serif !important;
    background: var(--estaty-bg);
    color: var(--estaty-muted);
}

h1, h2, h3, h4, h5, h6,
.title, .card-title, .section-title h2 {
    font-family: "Plus Jakarta Sans", sans-serif !important;
    color: var(--estaty-navy);
    font-weight: 800;
}

.btn {
    border-radius: 999px !important;
    font-weight: 700;
}
.btn-primary,
.btn-lg.btn-primary,
.home-banner .btn-primary,
.home-banner .btn-primary.bg-secondary {
    background: var(--color-primary) !important;
    border: 0 !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(var(--color-primary-rgb), 0.28);
}
.btn-primary:hover,
.btn-lg.btn-primary:hover {
    filter: brightness(1.05);
    color: #fff !important;
}
.btn-outline,
.header-area .btn-outline {
    background: #fff !important;
    color: var(--estaty-navy) !important;
    border: 1px solid #e8edf3 !important;
    box-shadow: none !important;
}
.btn-outline:hover,
.header-area .btn-outline:hover {
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    background: #fff !important;
}
.header-area .more-option .btn {
    min-width: 110px;
    padding: 8px 18px;
    color: inherit;
}
.header-area .more-option .btn-primary {
    color: #fff !important;
}

.header-area,
.header-area.header-1,
.header-area.header-static {
    background: #fff !important;
    box-shadow: 0 8px 28px rgba(18, 32, 51, 0.06);
}
.header-area .navbar-brand img,
.header-area .logo img {
    max-height: 42px;
}
.header-area .nav-link {
    font-weight: 600;
    color: var(--estaty-navy) !important;
}
.header-area .nav-item.active > .nav-link,
.header-area .nav-link:hover {
    color: var(--color-primary) !important;
}
.header-area .menu-toggler {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--color-primary) !important;
}

.page-title-area {
    min-height: 280px;
    display: flex;
    align-items: center;
    border-radius: 0 0 32px 32px;
    padding-block: 90px 70px;
}
.page-title-area::before {
    background: linear-gradient(180deg, rgba(10, 18, 32, 0.35) 0%, rgba(10, 18, 32, 0.72) 100%);
    opacity: 1;
}
.page-title-area h1 {
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 800;
    margin-bottom: 8px;
}
.page-title-area ul .active {
    color: var(--color-primary) !important;
    font-weight: 700;
}

.home-banner {
    position: relative;
    border-radius: 0 0 36px 36px;
    overflow: hidden;
}
.home-banner .bg-img {
    z-index: 0;
}
.home-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.45) 38%, rgba(255,255,255,.12) 100%);
    pointer-events: none;
    z-index: 1;
}
.home-banner > .container {
    position: relative;
    z-index: 2;
}
.home-banner.home-banner-1 {
    padding-top: 160px;
    padding-bottom: 80px;
}
.home-banner .content .title {
    color: var(--estaty-navy);
    font-weight: 800;
    letter-spacing: -0.03em;
}
.home-banner .banner-filter-form {
    background: transparent;
}
.home-banner .banner-filter-form .nav {
    background: transparent !important;
    gap: 10px;
    margin-bottom: 0;
}
.home-banner .banner-filter-form .nav .nav-link {
    background: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 10px 28px;
    font-weight: 700;
    color: var(--estaty-navy) !important;
}
.home-banner .banner-filter-form .nav .nav-link.active,
.home-banner .banner-filter-form .nav .nav-link:hover {
    background: var(--color-primary) !important;
    color: #fff !important;
    border: 0 !important;
}
.home-banner .banner-filter-form .nav .nav-link::before {
    display: none;
}
.home-banner .banner-filter-form .tab-content,
.home-banner .banner-filter-form .form-wrapper {
    background: #fff;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: var(--estaty-shadow);
    padding: 22px;
}
.home-banner .form-control,
.form-control,
.nice-select,
.select2-container .select2-selection--single {
    border-radius: 14px !important;
    border-color: #eceff4 !important;
    min-height: 48px;
    background: #fafbfc;
}
.noUi-connect {
    background: var(--color-primary) !important;
}
.noUi-handle {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 4px rgba(var(--color-primary-rgb), 0.18);
}

.counter-area .card,
.choose-area .card,
.contact-area .card,
.agent-box,
.product-default,
.blog-area .card,
.pricing-item,
.auth-form {
    border: 0 !important;
    border-radius: var(--estaty-radius) !important;
    box-shadow: var(--estaty-shadow);
    background: #fff;
}
.counter-area .card {
    padding: 22px 10px;
}
.counter-area .card-icon,
.counter-area h2 {
    color: var(--color-primary) !important;
}

.product-default,
.property-card,
.projects-area .card {
    overflow: hidden;
}
.product-default .card-img,
.product-default .lazy-container {
    border-radius: 16px 16px 0 0;
}
.product-default .label,
.card-img .label,
.card-image .tag {
    background: var(--color-primary) !important;
    color: #fff !important;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 700;
}
.product-default .price,
.color-primary {
    color: var(--color-primary) !important;
}
.product-default .card-title {
    font-size: 20px;
}
.agent-box {
    overflow: hidden;
    text-align: center;
}
.agent-box .agent-img img {
    border-radius: 16px 16px 0 0;
}

.pricing-area .nav-tabs {
    background: #fff;
    border: 0;
    padding: 6px;
    border-radius: 999px;
    display: inline-flex;
    box-shadow: var(--estaty-shadow);
    gap: 4px;
}
.pricing-area .nav-tabs .nav-link {
    border: 0 !important;
    border-radius: 999px !important;
    font-weight: 700;
    color: var(--estaty-navy);
    padding: 10px 22px;
}
.pricing-area .nav-tabs .nav-link.active {
    background: var(--color-primary) !important;
    color: #fff !important;
}
.pricing-item {
    padding: 28px 24px;
    height: 100%;
}
.pricing-item .price {
    font-size: 36px;
    font-weight: 800;
    color: var(--estaty-navy);
}
.pricing-list li i {
    color: var(--color-primary);
}

.contact-area .card {
    text-align: center;
    padding: 28px 18px;
}
.contact-area .card.color-1 { background: #eef4ff; }
.contact-area .card.color-2 { background: #fdecef; }
.contact-area .card.color-3 { background: #e9f9ef; }
.contact-area .card .icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.contact-area .card.color-1 .icon { background: #dbe7ff; color: #3b82f6; }
.contact-area .card.color-2 .icon { background: #ffd6de; color: #ef476f; }
.contact-area .card.color-3 .icon { background: #c9f3d8; color: #22a45a; }
.contact-area iframe {
    border-radius: 20px;
    min-height: 280px;
}
.contact-area .form-control {
    background: #fff7f2;
}

.blog-area .card .card-image img {
    border-radius: 16px 16px 0 0;
}
.blog-area .card-btn {
    color: var(--color-primary);
    font-weight: 700;
}

.authentication-area .auth-form {
    max-width: 100%;
    margin: 0;
    padding: 36px 28px;
    border: 0 !important;
}
.signup-promo {
    background: linear-gradient(165deg, #fff7f0 0%, #ffe8d4 100%);
    border-radius: 22px;
    padding: 36px 28px;
}
.signup-promo h2 {
    font-size: 32px;
    margin-bottom: 8px;
}
.signup-benefits li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0;
    color: var(--estaty-navy);
    font-weight: 600;
}
.signup-benefits li i {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #fff;
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.contact-area form {
    background: #fff7f2;
    border-radius: 22px;
    padding: 28px 22px;
}
.authentication-area .auth-form .form-control {
    min-height: 52px;
    background: #fff;
}

.footer-area,
.footer {
    background: #101826 !important;
}

.go-top {
    background: var(--color-primary) !important;
    border-radius: 12px;
}

img, iframe, video {
    max-width: 100%;
}
.select2-container {
    width: 100% !important;
}

@media (max-width: 1199.98px) {
    .header-area,
    .header-area.header-1,
    .header-area.header-static {
        position: sticky;
        top: 0;
        background: #fff !important;
    }
    .header-area .main-responsive-nav {
        height: 64px;
        line-height: 64px;
    }
    .header-area .main-responsive-nav .logo {
        max-width: 160px;
    }
    .header-area .main-responsive-nav .logo img {
        max-height: 36px;
        width: auto;
    }
    .mobile-menu {
        width: min(86vw, 360px);
        z-index: 10050;
    }
    .mobile-menu .more-option .item {
        width: 100%;
    }
    .mobile-menu .more-option .btn,
    .mobile-menu .nice-select {
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .container {
        padding-left: 16px;
        padding-right: 16px;
    }
    .home-banner.home-banner-1,
    .home-banner.home-banner-2,
    .home-banner.home-banner-3 {
        padding-top: 28px !important;
        padding-bottom: 36px !important;
        border-radius: 0 0 24px 24px;
    }
    .home-banner .content {
        max-width: 100%;
        margin-bottom: 18px !important;
    }
    .home-banner .content .title {
        font-size: clamp(28px, 8vw, 40px) !important;
        line-height: 1.15;
        margin-bottom: 10px !important;
    }
    .home-banner .content .text {
        font-size: 14px !important;
        max-width: 100%;
    }
    .home-banner .banner-filter-form .nav {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .home-banner .banner-filter-form .tab-content,
    .home-banner .banner-filter-form .form-wrapper {
        padding: 16px !important;
        border-radius: 18px !important;
    }
    .home-banner .banner-filter-form .grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
        align-items: stretch;
    }
    .home-banner .banner-filter-form .grid .grid-item {
        width: 100% !important;
        flex: unset !important;
        min-width: 0;
    }
    .home-banner .banner-filter-form .grid .grid-item:has(.btn),
    .home-banner .banner-filter-form .grid .grid-item:last-child {
        grid-column: 1 / -1;
    }
    .home-banner .btn {
        min-height: 48px;
        font-size: 14px;
        padding: 10px 16px !important;
        white-space: nowrap;
    }
    .page-title-area {
        min-height: 180px !important;
        padding: 70px 0 36px !important;
        border-radius: 0 0 22px 22px;
    }
    .page-title-area h1 {
        font-size: 32px !important;
    }
    .counter-area .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .counter-area .card {
        padding: 14px 8px;
        margin-bottom: 12px !important;
    }
    .counter-area h2 {
        font-size: 22px;
    }
    .product-area .row > [class*="col-"]:has(.product-default),
    .row > [class*="col-"]:has(.product-default) {
        flex: 0 0 50%;
        max-width: 50%;
        padding-left: 8px;
        padding-right: 8px;
    }
    .product-default {
        margin-bottom: 16px !important;
    }
    .product-default .product-title,
    .product-default .card-title {
        font-size: 14px !important;
        line-height: 1.35;
    }
    .product-default .product-details,
    .product-default .card-text {
        padding: 12px !important;
    }
    .product-default .product-info {
        flex-wrap: wrap;
        gap: 6px;
        font-size: 11px;
    }
    .product-default .author img {
        width: 22px;
        height: 22px;
    }
    .projects-area .row > [class*="col-"]:has(.card),
    .projects-area .row > [class*="col-"]:has(.product-default) {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .project-filter-form .form-control,
    .project-filter-form .btn {
        width: 100%;
    }
    .pricing-area .nav-tabs {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
    }
    .pricing-area .nav-tabs .nav-link {
        flex: 0 0 auto;
        padding: 8px 16px;
        font-size: 13px;
    }
    .pricing-item {
        padding: 20px 16px;
        margin-bottom: 16px;
    }
    .pricing-item .price {
        font-size: 28px;
    }
    .pricing-area table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    .contact-area .card {
        margin-bottom: 12px !important;
        padding: 18px 12px;
    }
    .contact-area iframe {
        min-height: 220px;
        height: 220px;
    }
    .contact-area form {
        padding: 18px 14px;
    }
    .signup-promo {
        padding: 22px 18px;
        margin-bottom: 12px;
    }
    .signup-promo h2 {
        font-size: 26px;
    }
    .authentication-area .auth-form {
        padding: 22px 16px;
    }
    .agent-box {
        margin-bottom: 16px;
    }
    .blog-area .card {
        margin-bottom: 16px;
    }
    .section-title {
        flex-wrap: wrap;
        gap: 8px;
    }
    .section-title .title {
        font-size: 24px !important;
    }
}

@media (max-width: 575.98px) {
    html, body {
        overflow-x: hidden;
    }
    .home-banner .banner-filter-form .grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }
    .home-banner .form-control,
    .nice-select,
    .select2-container .select2-selection--single {
        min-height: 44px;
        font-size: 13px;
    }
    .home-banner .banner-filter-form label {
        font-size: 12px;
    }
    .product-sort-list {
        justify-content: space-between !important;
        width: 100%;
    }
    .footer-area .col-lg-3,
    .footer-area .col-md-6 {
        margin-bottom: 20px;
    }
    #WAButton {
        transform: scale(0.9);
        transform-origin: bottom right;
    }
}
