@charset "utf-8";

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #1E1E1E;
  border-radius: 0;
}

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root{
    --header-color: #212730;
    --text-color-light: #B1B1B1;
    --text-color: #4C4C4D;
    --primary-color: #00ACEE;
    --border-color: #EBEEF7;
    --bg-gradient-primary: linear-gradient(288.8deg, #39A2DB 28.8%, #75BEE6 108.71%);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 26px;
  color: #333333;
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
  transition: all 0.3s;
}

a:focus,
a:hover {
  text-decoration: none;
}

.rounded {
    border-radius: 15px !important;
}

.border {
    border: 1px solid var(--border-color) !important;
}

.gap-20{
    gap:20px;
}

.gap-15{
    gap:15px;
}

.btn {
    color: #fff;
    border-radius: 10px;
    height: 60px;
    border: none !important;
    line-height: 60px;
    padding: 0 50px;
    font-size: 16px;
    transition: all .3s ease-in-out;
    max-width: 100%;
    background-color: var(--primary-color);
}

.btn:hover, .btn:focus {
    color: #fff !important;
    background-color: #001347 !important;
}

.nav_btn{
    height: 50px;
    line-height: 50px;
    font-size: 16px;
    padding: 0 15px;
    min-width: 120px;
}

.navbar {
    padding-top: 30px;
    padding-bottom: 10px;
}

.navbar-brand {
  margin: 0;
}

.navbar-brand img{
    width: 140px;
}

.nav-link {
  color: #C4C4C4;
  margin: 0 10px;
  font-size: 18px;
}

.nav-link:hover {
  color: #001347;
}

.nav-link.active{
    color: #001347 !important;
    font-weight: 600;
}

.lang_btn {
    width: 80px;
    height: 45px;
    border-radius: 8px;
    border: 2px solid #3A307F;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3A307F;
    background-color: #fff;
}

.hero-section {
    height: 100vh;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    overflow: hidden;
    text-align: center;
    padding-bottom: 150px;
    padding-top: 40px;
}

.hero-background {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

[dir="ltr"] .hero-background {
    left: 0;
}

[dir="rtl"] .hero-background {
    right: 0;
}

.hero-background img{
    width: 100%;
    height: 100%;
}

.hero-overlay {
    /* Dark/Blue overlay to make text pop */
    background-color: rgba(0, 0, 0, 0.4); /* Dark transparency */
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

[dir="ltr"] .hero-overlay {
    left: 0;
}

[dir="rtl"] .hero-overlay {
    right: 0;
}

.hero-content {
    /* Content layer on top of the overlay */
    position: relative;
    z-index: 3;
    width: 100%;
}

.hero-title {
    font-size: clamp(2rem, 5vw, 4rem); 
    font-weight: 700;
    color: white;
    margin-bottom: 100px;
}

/* Search Form Styling */
.search-container {
    max-width: 950px;
    margin: auto;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(2px);
    border-radius: 10px;
    padding: 20px;
}

.search-container .nav-pills {
    max-width: 100%;
    width: 520px;
    background-color: #fff;
    margin: 0 auto;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    border-radius: 10px;
    overflow: hidden;
    padding: 0;
}

.search-container .nav-pills li {
    width: 33.33333%;
}

[dir="ltr"] .search-container .nav-pills li {
    border-right: 1px solid #CCCCCC;
}

[dir="rtl"] .search-container .nav-pills li {
    border-left: 1px solid #CCCCCC;
}

[dir="ltr"] .search-container .nav-pills li:last-child{
    border-right:none;
}

[dir="rtl"] .search-container .nav-pills li:last-child{
    border-left:none;
}

.nav-pills .nav-link {
    width: 100%;
    color: #707070;
    padding: 0.3rem 1rem;
    transition: all 0.3s ease;
    border-radius: 0;
    margin: 0;
}

.nav-pills .nav-link.active {
    background-color: #E7E5F4 !important;
    color: #3A307F !important;
    font-weight: 600;
}

.search-row{
    background-color: #fff;
    border-radius: 10px;
    margin-top: 0;
    padding: 0;
    overflow: hidden;
    margin: 0;
}

.search-row .col-12,.search-row .col-6{
    margin-top: 0;
    padding: 0;
}

.search-row .form-control, .search-row .btn {
    height: 55px; /* Standardized height for inputs and button */
    border-radius: 0;
}

.search-row .form-control, .search-row .form-select {
    border: none;
    box-shadow: none !important;
    height: 55px;
    border-radius: 0;
    color: rgb(112 112 112 / 70%);
}

[dir="ltr"] .search-row .form-control, [dir="ltr"] .search-row .form-select {
    border-right: 1px solid rgb(112 112 112 / 70%) !important;
    padding: .375rem 2.25rem .375rem .75rem;
}

[dir="rtl"] .search-row .form-control, [dir="rtl"] .search-row .form-select {
    border-left: 1px solid rgb(112 112 112 / 70%) !important;
    padding: .375rem .75rem .375rem 2.25rem;
}

[dir="ltr"] .search-row .col-6:last-child .form-select{
    border-right: none !important;
}

[dir="rtl"] .search-row .col-6:last-child .form-select{
    border-left: none !important;
}

.search-row .input-group-text {
    background-color: white;
    border: none;
    color: #707070;
}

[dir="ltr"] .search-input {
    border-left: none !important;
}

[dir="rtl"] .search-input {
    border-right: none !important;
}

.search-btn {
    line-height: 3rem;
}

/* Specific input group customizations for the dropdowns */
[dir="ltr"] .input-group-dropdown .form-control {
    border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius) !important;
}

[dir="rtl"] .input-group-dropdown .form-control {
    border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0 !important;
}

.Logos{
    background-color: #ffffff;
    padding: 20px 0;
}

.Logos .swiper-wrapper{
    display: flex;
    align-items: center;
}

.services-section {
    background-color: #f6f6f6b5;
    padding-top: 60px;
    padding-bottom: 60px;
}

.services-section h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    color: #212529; /* Dark text */
    margin-bottom: 0.5rem;
}

.services-header-content p {
    line-height: 34px;
    font-size: 18px;
    width: 520px;
    max-width: 100%;
}

.text-muted{
    color: #C4C4C4 !important;
}

.service-card {
    border: none;
    border-radius: var(--bs-border-radius);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); /* Subtle lift */
    padding: 15px;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.service-card .card-img-top {
    height: 270px;
    object-fit: cover;
    border-radius: 0;
}

.service-card .card-body{
    padding: 0;
    margin-top: 20px;
}

[dir="ltr"] .service-card .card-body{
    padding-right: 15%;
}

[dir="rtl"] .service-card .card-body{
    padding-left: 15%;
}

.service-card .card-body h5{
    font-size: 28px;
    color: #242527;
    margin-bottom: 20px;
}

.service-card .card-body p{
    color: #AAA6A6;
    font-size: 18px;
    line-height: 28px;
}

.view-link {
    color: #212529 !important; /* Dark text for the link */
}

/* Architect Section Styling */
.architect-section {
    padding: 6rem 0;
    background-color: white;
}

.architect-image-container {
    position: relative;
    /* Ensures the image stays within bounds but allows absolute positioning of the info box */
}

.architect-main-image {
    height: auto;
    display: block;
    width: 80%;
    box-shadow: 0px 10px 15px rgba(151, 151, 151, 0.12);
}

.architect-info-box {
    position: absolute;
    top: 50%;
    transform: translatey(-50%);
    background-color: #00ACEE;
    color: white;
    padding: 30px 10px;
    box-shadow: 0px 10px 15px rgba(151, 151, 151, 0.12);
    max-width: 330px;
    width: 90%;
    z-index: 10;
    text-align: center;
}

[dir="ltr"] .architect-info-box {
    right: 0;
}

[dir="rtl"] .architect-info-box {
    left: 0;
}

.architect-info-box .profile-img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin-bottom: 0.75rem;
}

.architect-info-box h5{
    font-size: 22px;
}

.architect-info-box p{
    font-size: 14px;
    color: #E5E5E5;
    width: 230px;
    max-width: 100%;
    margin: 15px auto;
}

[dir="ltr"] .architect-info-box p{
    text-align: left;
}

[dir="rtl"] .architect-info-box p{
    text-align: right;
}

[dir="ltr"] .architect-content{
    padding-left: 50px;
}

[dir="rtl"] .architect-content{
    padding-right: 50px;
}

.architect-content h2 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    color: #242527;
    width: 490px;
    max-width: 100%;
}

.architect-content p {
    max-width: 100%;
    font-size: 18px;
    line-height: 36px;
    width: 440px;
}

.architect-content .btn-info-custom {
    border-radius: 0;
    box-shadow: 0px 10px 15px rgba(1, 115, 153, 0.2);
}

.architect-content .btn-info-custom:hover {
    background-color: #008cd1; /* slightly darker blue on hover */
    border-color: #008cd1;
}

.how-it-works {
    color: #212529;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s;
}

[dir="ltr"] .how-it-works {
    margin-left: 1.5rem;
}

[dir="rtl"] .how-it-works {
    margin-right: 1.5rem;
}

.how-it-works:hover {
    color: var(--bs-blue-main);
}

[dir="ltr"] .banners,[dir="ltr"] .New_Launches{margin-left: 7%;}

[dir="rtl"] .banners,[dir="rtl"] .New_Launches{margin-right: 7%;}

.banners img,.New_Launches img{
    width: 100%;
    border-radius: 8px;
    height: 200px;
    object-fit: cover;
}

.New_Launches a{
    color: #1E4164;
    font-size: 15px;
    font-weight: 600;
}

[dir="ltr"] .New_Launches a{
    padding-right: 7%;
}

[dir="rtl"] .New_Launches a{
    padding-left: 7%;
}


/* Properties Section Styling */
.properties-section {
    background-color: rgb(0 172 238 / 5%);
    padding: 5rem 0;
}

.properties-section h2 {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 700;
    color: #212529;
}

.property-card {
    border: 1px solid #E3E3E3;
    border-radius: 12px; 
    overflow: hidden;
    background-color: white; /* Ensure card background is white */
    transition: box-shadow 0.3s;
    margin-bottom: 20px;
}

.property-card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.property-img-container {
    position: relative;
    height: 370px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    overflow: hidden;
}

.property-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0; /* Let the container handle the radius */
}

.property-fav-btn {
    position: absolute;
    top: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--property-purple); /* Using purple for heart icon */
    z-index: 10;
}

[dir="ltr"] .property-fav-btn {
    right: 10px;
}

[dir="rtl"] .property-fav-btn {
    left: 10px;
}

.property-badge {
    position: absolute;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 2px 8px;
    font-size: 0.8rem;
    z-index: 10;
    display: flex;
    gap: 5px;
}

[dir="ltr"] .property-badge {
    left: 1px;
}

[dir="rtl"] .property-badge {
    right: 1px;
}

/* Card Body adjustments */
.property-card .card-body {
     padding: 1rem 1rem 0.5rem 1rem; /* Adjusted padding */
}

.property-type {
    font-weight: 500;
    color: #6c757d; /* Muted property type text */
    font-size: 0.9rem;
}

.property-logo {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    overflow: hidden;
}

.property-logo img{
    height: 40px;
    border-radius: 4px;
}

.price {
    color: #001347; 
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 0.5rem !important;
}

.down-payment {
    color: #00ACEE;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 0.75rem !important;
    background-color: #F7F7FC;
    border-radius: 16px;
    padding: 2px 12px;
    display: inline-block;
}

.property-description {
    font-size: 14px;
    margin-bottom: 0.75rem; /* Space before location */
    color: #001347;
}

/* Location details */
.property-location {
    display: flex;
    align-items: start;
    margin-bottom: 0.75rem;
    font-size: 12px;
    color: #707070;
}

.property-location .amenities-icon {
    margin-top: 3px; /* Align icon better with multiline text */
    color: #707070; /* Location icon color */
    flex-shrink: 0; /* Prevent icon from shrinking */
}

/* Amenities Row (Beds, Baths, Area) */
.amenities-row {
    display: flex;
    justify-content: start;
    gap: 1.5rem; /* Space between icons */
    margin-bottom: 0;
}

.amenities-row span {
    display: flex;
    align-items: center;
    color: #001347;
    font-weight: 600;
    font-size: 12px;
    gap: 5px;
    position: relative;
}

.amenities-row span:after{
    content: "";
    width: 1px;
    height: 16px;
    background-color: #E3E3E3;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

[dir="ltr"] .amenities-row span:after{
    right: -12px;
}

[dir="rtl"] .amenities-row span:after{
    left: -12px;
}

.amenities-row span:last-child:after{
    display: none;
}

.amenities-row .amenities-icon {
    color: #6c757d;
    font-size: 1rem;
}

[dir="ltr"] .amenities-row .amenities-icon { /* Muted icon color */
    margin-right: 0.25rem;
}

[dir="rtl"] .amenities-row .amenities-icon {
    margin-left: 0.25rem;
}

/* Contact Footer - New element for buttons */
.contact-footer {
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
    background-color: #F7F7F7;
    border-top: 1px solid #E3E3E3;
}

.contact-footer .contact-btn {
    padding: 0 15px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    gap: 5px;
    height: 40px;
}

.btn-call {
    background-color: white;
    color: #3A307F; /* Icon and text purple */
    border: 1px solid #8C84CC !important;
}

.btn-call:hover {
    background-color: #8C84CC;
    color: white;
}

.btn-call:hover svg {
    fill: white;
}

.btn-email {
    background-color: #00ACEE;
    color: white;
}

.btn-whatsapp {
    background-color: #4DBD43;
    color: white;
}

/* Removing old contact button styles to avoid conflicts */
.amenities-icon {
    color: #6c757d;
    font-size: 0.9rem;
}

[dir="ltr"] .amenities-icon {
    margin-right: 5px;
}

[dir="rtl"] .amenities-icon {
    margin-left: 5px;
}

.contact-section {
    background-color: #001347;
    color: white;
    position: relative;
    margin-top: 100px;
}

.contact-image {
    position: absolute;
    bottom: 0;
    max-width: 50%;
    height: calc(100% + 150px);
}

[dir="ltr"] .contact-image {
    left: -12px;
}

[dir="rtl"] .contact-image {
    right: -12px;
    transform: rotateY(180deg);
}

.contact-content-col {
    z-index: 2;
}

[dir="ltr"] .contact-content-col { 
    margin-left: auto;
}

[dir="rtl"] .contact-content-col { 
    margin-right: auto;
}

.contact-title {
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 700;
    margin-bottom: 2rem;
    line-height: 1.2;
}
[dir="rtl"] .contact-title{
    text-align: right !important;
}
.contact-form{
    width: 520px;
    max-width: 100%;
}
/* Custom Form Styling for Dark Background */
.contact-form .form-control,
.contact-form .form-select {
    background-color: transparent;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.4); 
    border-radius: var(--bs-border-radius);
    height: 3.5rem;
}

[dir="ltr"] .contact-form .form-control,
[dir="ltr"] .contact-form .form-select { 
    padding-left: 1.5rem;
    background-position: right .75rem center;
}

[dir="rtl"] .contact-form .form-control,
[dir="rtl"] .contact-form .form-select { 
    padding-right: 1.5rem;
    background-position: left .75rem center;
}

.contact-form option{
    color: #000 !important;
}

.contact-form .form-control::placeholder{
    color: #fff !important;
}

footer .form-control::placeholder {
    color: #fff !important;
    font-weight: 400 !important;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus {
    background-color: transparent;
    border-color: var(--bs-blue-consultant);
    box-shadow: 0 0 0 0.25rem rgba(0, 176, 255, 0.25);
    color: white;
}

.contact-form .form-select {
    /* Custom arrow color for dark background */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

.contact-form .form-select option {
    color: var(--property-text-dark); /* Ensure text is visible in dropdown options */
}

.btn-send {
    width: auto;
    border-radius: 8px;
}

.btn-send:hover {
    background-color: #008cd1;
    color: white;
}

.fixed-whatsapp {
    position: absolute;
    top: -70px;
    width: 100px;
    height: 100px;
    background-color: #60D669;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: background-color 0.3s, transform 0.2s;
}

[dir="ltr"] .fixed-whatsapp {
    right: 5%;
}

[dir="rtl"] .fixed-whatsapp {
    left: 5%;
}

.fixed-whatsapp:hover {
    transform: scale(1.05);
}

.footer-dark {
    background-color: #001347; /* Adjust color to match image's dark blue */
    color: #ffffff;
    padding-top: 50px; /* Add some top padding for the main content area */
}

.footer-dark a {
    color: #C4C4C4;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-dark a:hover {
    color: #ccc;
}

.footer-dark h4 {
    font-size: 25px;
    line-height: 40px;
    width: 400px;
    max-width: 100%;
}

[dir="ltr"] .footer-dark h4 {
    margin-left: auto;
}

[dir="rtl"] .footer-dark h4 {
    margin-right: auto;
}

.footer-dark .input-group {
    width: 400px;
    max-width: 100%;
    position: relative;
}

[dir="ltr"] .footer-dark .input-group {
    margin-left: auto;
}

[dir="rtl"] .footer-dark .input-group {
    margin-right: auto;
}

.footer-dark .input-group .form-control {
    height: 65px;
    border-radius: 50px !important;
    color: #fff !important;
    width: 100%;
    padding: 0 20px;
}

[dir="ltr"] .footer-dark .input-group .form-control {
    padding-right: 60px;
}

[dir="rtl"] .footer-dark .input-group .form-control {
    padding-left: 60px;
}

.footer-dark .input-group button {
    position: absolute;
    top: 3px;
    background-color: #92A8C0;
    color: #232E42;
    border: none !important;
    height: 58px;
    width: 58px;
    border-radius: 50px !important;
    font-size: 40px;
}

[dir="ltr"] .footer-dark .input-group button {
    right: 3px;
    transform: rotate(45deg);
}

[dir="rtl"] .footer-dark .input-group button {
    left: 3px;
    transform: rotate(-45deg);
}

.footer-logo h1 {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 0;
    line-height: 1;
}

.footer-logo p {
    font-size: 14px;
    letter-spacing: 1px;
    margin-top: 5px;
}

/* Style for the 'Send' button/icon */
.input-group-text-custom {
    height: 59px;
    width: 59px;
    background-color: #b0c4de; /* Light blue/gray color for the button background */
    border-color: #b0c4de;
    cursor: pointer;
    border-radius: 50% ;
    padding: 0.375rem 0.75rem; /* Match input height */
    display: flex;
    align-items: center;
}

.input-group-text-custom:hover {
    opacity: 0.9;
}

.social-button {
    border: 1px solid #ffffff;
    padding: 5px 20px;
    border-radius: 20px;
    font-size: 16px;
    margin-bottom: 10px;
    display: inline-block;
    color: #fff !important;
}

[dir="ltr"] .social-button {
    margin-left: 25px;
}

[dir="rtl"] .social-button {
    margin-right: 25px;
}

/* Style for the bottom bar (copyright and policy links) */
.footer-bottom {
    background-color: #001347; /* Slightly darker shade for the bottom strip */
    padding: 15px 0;
    font-size: 13px;
    margin-top: 30px;
    border-top: 1px solid #31363D;
    position: relative;
}

.footer-bottom .shape{
    position: absolute;
    bottom: 100%;
    width: 17%;
}

[dir="ltr"] .footer-bottom .shape{
    left: 0;
}

[dir="rtl"] .footer-bottom .shape{
    right: 0;
}

.footer-bottom a{
    color: #D7D7D7;
}

.white_header .nav-link{
    color: #fff !important;
}

.white_header .navbar-brand img{
    filter: brightness(0) invert(1);
}

.sub_hero{
    padding: 180px 0;
    margin-top: -95px;
    color: #fff;
}

[dir="ltr"] .sub_hero{
    background: linear-gradient(170deg, #00ACEE 4.14%, #001347 67.3%);
}

[dir="rtl"] .sub_hero{
    background: linear-gradient(-170deg, #00ACEE 4.14%, #001347 67.3%);
}

.sub_hero h2{
    font-size: 64px;
    font-weight: bold;
}

.breadcrumb-item,.breadcrumb-item a {
    color: #fff !important;
    font-size: 14px;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  color: #fff;
  font-size: 20px;
}
[dir="ltr"] .breadcrumb-item+.breadcrumb-item {
    padding-left: var(--bs-breadcrumb-item-padding-x);
}

[dir="rtl"] .breadcrumb-item+.breadcrumb-item {
    padding-right: var(--bs-breadcrumb-item-padding-x);
    padding-left: 0;
}

[dir="ltr"] .breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
}

[dir="rtl"] .breadcrumb-item+.breadcrumb-item::before {
    float: right;
    padding-left: var(--bs-breadcrumb-item-padding-x);
    padding-right: 0;
}
.filter-container {
    margin: 50px 0;
}

/* Base style for all form controls */
.filter-control, .form-select-custom {
    border-radius: 8px; /* Rounded corners for all elements */
    height: 50px; /* Uniform height */
    padding: 0.375rem 0.75rem;
    box-shadow: none; /* Remove default focus/active shadows */
    border: 1px solid #e0e0e0;
}

/* Styling for the large search input (City, community, or building) */
.search-input-group {
    background-color: #f7f7f7;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    overflow: hidden;
}

.search-input-group .input-group-text {
    background-color: transparent;
    border: none;
    color: #888;
    font-size: 1.2rem;
}

[dir="ltr"] .search-input-group .input-group-text {
    padding-right: 0;
}

[dir="rtl"] .search-input-group .input-group-text {
    padding-left: 0;
}

.search-input-group .form-control {
    border: none;
    background-color: transparent;
    height: 50px;
    box-shadow: none !important;
}

/* Specific styling for the 'Buy' dropdown border (Purple accent) */
.buy-select {
    border: 2px solid #5a54a0; /* Deeper purple border */
    background-color: #ffffff;
    font-weight: 500;
    color: #5a54a0;
}

/* General style for other dropdowns */
.form-select-custom {
    background-color: #ffffff;
    color: #333;
    /* Custom arrow styling if needed, but keeping Bootstrap default for simplicity */
}

.btn-find{
    padding: 0;
    width: 100%;
    height: 50px;
    line-height: 50px;
}

.btn.alert {
    line-height: 50px;
    background-color: #fff !important;
    border: 1px solid #8C84CC !important;
    padding: 0 15px;
    color: #3A307F;
    font-weight: 600;
    height: 50px;
    display: inline-flex;
    gap: 10px;
}

.btn.alert:hover{
    background-color: #3A307F !important;
    color: #fff;
}

.filter_result{
    padding-bottom: 50px;
}

.info{
    display: flex;
    flex-wrap: wrap;
    background-color: #F7F7FC;
    border-radius: 12px;
    padding: 15px;
    margin: 30px 0;
    gap: 15px;
    position: relative;
    height: 96px;
    overflow: hidden;
}

.info.show_more{
    height: auto;
}

.info h5{
    font-size: 14px;
    color: #333333;
    width: 32%;
}

.info h5 span{
    color: #707070;
}

.info .more{
    position: absolute;
    bottom: 20px;
    font-size: 14px;
}

[dir="ltr"] .info .more{
    right: 15px;
}

[dir="rtl"] .info .more{
    left: 15px;
}

.aside h5{
    font-size: 16px;
    color: #333333;
    font-weight: 600;
    margin-top: 25px;
}

.aside ul{
    border-bottom: 1px solid #E3E3E3;
    padding-bottom: 20px;
}

.aside ul li a{
    font-size: 14px;
    color: #333333;
    margin-bottom: 5px;
    display: block;
}

.vertical_card .property-img-container{
    width: 30%;
    height: 250px;
}

[dir="ltr"] .vertical_card .property-img-container{
    border-top-right-radius: 0;
}

[dir="rtl"] .vertical_card .property-img-container{
    border-top-left-radius: 0;
}

.vertical_card .property-fav-btn{
    position: static;
    background-color: white;
    color: #3A307F;
    border: 1px solid #8C84CC !important;
    padding: 0 15px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    height: 40px;
    width: auto;
}

.vertical_card .property-logo{
    flex-direction: column;
}

.vertical_card .property-logo span{
    font-size: 10px;
    color: #B78A00;
    font-weight: 600;
}


/* --- Modal Filter Styles --- */
.modal-header-custom {
    padding: 1rem 2rem;
    margin-bottom: 20px;
}

.modal-title {
    font-weight: bold;
    color: #000;
    font-size: 26px;
}

.modal-body {
    padding: 0 2rem 0 2rem;
}

.filter-section-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #000;
}

.furnishing-hidden-radio {
    display: none; /* Hide the actual radio button */
}

.furnishing-label {
    border-radius: 8px;
    border: 1px solid #E3E3E3;
    background-color: #F7F7F7;
    color: #333;
    padding: 0.5rem 1.25rem;
    margin-bottom: 10px;
    transition: all 0.2s;
    font-size: 0.9rem;
    cursor: pointer;
    user-select: none; /* Prevent text selection on click */
}

[dir="ltr"] .furnishing-label {
    margin-right: 10px;
}

[dir="rtl"] .furnishing-label {
    margin-left: 10px;
}

/* Style the label when the associated (hidden) radio input is checked */
.furnishing-hidden-radio:checked + .furnishing-label {
    background-color: #fff;
    border-color: #00ACEE;
    color: #00ACEE;
}

/* Range Input Styling */
.range-input {
    border-radius: 8px;
    border: 1px solid #ccc;
    height: 45px;
    text-align: center;
    font-size: 0.95rem;
    padding: 0.375rem 0.75rem;
}

.range-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #ccc;
}

/* Amenities Checkboxes */
.form-check-label {
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
}

.form-check-input:checked {
    background-color: #00bfff;
    border-color: #00bfff;
}

.modal-content{
    border-radius: 50px;
}

.modal-dialog{
    max-width: 90%;
    width: 768px;
    margin: 20px auto;
}

.single{
    padding: 40px 0;
}

.single .action_btn{
    font-size: 14px;
    color: #3A307F;
    display: flex;
    gap: 5px;
    font-weight: 600;
}

.single .action_btn i{
    font-size: 16px;
}

.single .main_img_box{
    width: 100%;
    height: 520px;
    margin-bottom: 20px;
    position: relative;
}

.single .main_img_box .property-badge {
    background: #FFFFFF;
    border: 1px solid #8C84CC;
    border-radius: 8px;
    color: #3A307F;
    bottom: 10px;
}

[dir="ltr"] .single .main_img_box .property-badge {
    right: 10px;
    left: auto;
}

[dir="rtl"] .single .main_img_box .property-badge {
    left: 10px;
    right: auto;
}

.single .img_box{
    width: 100%;
    height: 250px;
    margin-bottom: 20px;
}

.single .main_img_box img,.single .img_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.aside-card {
    background-color: white;
    border-radius: 16px;
    border: 1px solid #E7E5F4;
    padding: 15px;
}

.cards_block{
    gap: 16px;
    flex-wrap: wrap;
}

.aside-info-box {
    background-color: #F7F7F7;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    width: calc(50% - 8px);
    gap: 6px;
}

.aside-info-box p {
    font-size: 14px;
    color: #909090;
    margin: 0;
}

.aside-info-box strong {
    font-size: 14px;
    color: #4F4F4F;
    font-weight: 600;
}

/* Contact Button Styles */
.contact-buttons-row .btn-call {
    border-radius: 8px;
    padding: 0;
    flex: 1;
}

.contact-buttons-row .btn-whatsapp {
    border-radius: 8px;
    padding: 0;
    border: none;
    flex: 1;
}

.single .btn-pdf {
    background-color: #00bfff; /* Bright blue color */
    color: white;
    border-radius: 8px;
    border: none;
    padding: 0 5px;
    font-weight: 600;
    transition: background-color 0.2s;
}

.form-input-aside {
    background-color: #f4f4f4;
    border: 1px solid #f4f4f4;
    border-radius: 8px;
    padding: 12px 15px;
    width: 100%;
    margin-bottom: 12px;
    font-size: 1rem;
    box-shadow: none;
}

.form-input-aside:focus {
     outline: none;
     border-color: #5a54a0;
     background-color: white;
}

.single_price{
    font-size: 38px;
    margin-bottom: 20px;
}

.single .amenities-row span{
    font-size: 16px;
    color: #333333;
    flex-direction: column;
}

.single .amenities-row span img{
    display: block;
    height: 20px;
    filter: grayscale(1);
}

.single hr{border-color: #E3E3E3;}

.details-card {
    background-color: white;
    padding: 30px 0;
    margin-bottom: 0px;
    border-bottom: 1px solid #E3E3E3;
}

.details-item {
    display: flex;
    gap: 15px;
    padding: 8px 0;
    font-size: 16px;
}

.details-item img{
    filter: grayscale(1);
}

.details-item .label{
    min-width: 100px;
}

.details-item .value {
    font-weight: 600;
}

.amenity-item {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    color: #555;
}

.amenity-item .icon {
    font-size: 1.25rem;
    color: #333;
}

[dir="ltr"] .amenity-item .icon { 
    margin-right: 8px;
}

[dir="rtl"] .amenity-item .icon { 
    margin-left: 8px;
}

.single .btn-outline-secondary {
    background-color: white;
    color: #3A307F;
    border: 1px solid #8C84CC !important;
    height: auto;
    padding: 10px 20px;
    line-height: 20px;
}

.single .property-card .amenities-row span{
    font-size: 12px;
}

.single .property-card .property-img-container{
    height: 200px;
}

.about h2{
    font-size: 44px;
}

.about p{
    font-size: 18px;
    line-height: 26px;
    color: #61656E;
}

.about .static {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 15px;
    font-size: 18px;
    color: #61656E;
    margin-top: 20px;
}

.about .static strong{
    font-size: 36px;
    color: #12161D;
}

.about.banners img{
    height: 300px;
}

.about .find_dream h2{
    width: 400px;
    max-width: 100%;
}

.about .find_dream p{
    margin-bottom: 30px;
}

.about .find_dream img{
    margin-bottom: 20px;
}

.accordion-item {
    border: 1px solid #E5E5E6 !important;
    margin-bottom: 15px;
    border-radius: 8px !important;
}

.accordion-button {
    font-weight: 600;
    background-color: white;
    border-radius: 8px !important;
    font-size: 22px;
}

.accordion-button:not(.collapsed) {
    background-color: #fff;
    box-shadow: none;
}

.accordion-body {
    font-size: 0.95rem;
    color: #555;
}

.accordion-header{
    width: 100% !important;
}

.sell {
    padding-bottom: 50px;
}

.sell .sell_head h2 {
    font-size: 30px;
    color: #001347;
    font-weight: bold;
}

.sell .step-card{
    background-color: rgb(0 172 238 / 20%);
    border-radius: 10px;
    padding: 40px;
    text-align: center;
    height: 100%;
}

.sell .step-number-ring {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    color: #00ACEE;
    margin: 0 auto;
    margin-bottom: 20px;
    background-color: white;
    font-size: 16px;
}

.sell .step-number-ring span{
    font-size: 22px;
    font-weight: bold;
}

.sell .step-title {
    font-weight: bold;
    color: #00ACEE;
    font-size: 16px;
    margin-bottom: 15px;
}

.sell .step-description {
    color: #212427;
    font-size: 14px;
    line-height: 1.4;
    margin: 0 auto;
    margin-bottom: 0;
    width: 240px;
    max-width: 100%;
    box-shadow: none !important;
}

.form-control-custom {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    border: 1px solid #dee2e6;
    box-shadow: none;
}

.form-control-custom:focus {
    border-color: #007bff;
}

.form-select-custom {
    height: 55px;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    border: 1px solid #dee2e6;
    box-shadow: none;
    /* Fix for dropdown arrow on some browsers */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 16px 12px;
}
[dir="rtl"] .form-control,[dir="rtl"] .form-input-aside{
    text-align: right !important;
}
[dir="ltr"] .form-select-custom,[dir="ltr"] .form-select {
    background-position: right 1rem center;
}

[dir="rtl"] .form-select-custom,[dir="rtl"] .form-select {
    background-position: left 1rem center;
}

.form-select-custom:focus {
    border-color: #007bff;
}

.sell .form-group-with-icon {
    position: relative;
}

.sell .form-group-with-icon .input-group-text {
    border: 1px solid #dee2e6;
    background-color: white;
    padding: 0 0.75rem;
    height: 55px;
}

[dir="ltr"] .sell .form-group-with-icon .input-group-text {
    border-right: none;
    border-radius: 8px 0 0 8px;
}

[dir="rtl"] .sell .form-group-with-icon .input-group-text {
    border-left: none;
    border-radius: 0 8px 8px 0;
}

.iti{width: 100%}

.contact_page .main_img{
    width: 100%;
    border-radius: 8px;
    min-height: 300px;
}

.contact-page .contact-card-wrapper {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 40%;
}

[dir="ltr"] .contact-page .contact-card-wrapper {
    right: 10%;
}

[dir="rtl"] .contact-page .contact-card-wrapper {
    left: 10%;
}

.contact-page .form-card {
    background-color: #E4EBF2;
    backdrop-filter: blur(2px);
    border-radius: 12px;
    padding: 30px;
    width: 100%;
}

.form-info-text {
    color: #172a50; /* Dark blue text for contrast */
    font-weight: 500;
}

.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.info-icon-container {
    font-size:20px;
    color: #666666;
    text-align: center;
}

[dir="ltr"] .info-icon-container {
    margin-right: 15px;
}

[dir="rtl"] .info-icon-container {
    margin-left: 15px;
}

.info-title {
    font-weight: 600;
    color: #212427;
    margin-bottom: 5px;
}

.info-detail {
    font-size: 12px;
    color: #666666;
    line-height: 20px;
}

html[dir="rtl"] .banners_slider .swiper-wrapper {
  direction: rtl;
}

[dir="ltr"] .dropdown-toggle::after {
    margin-left: .255em;
}

[dir="rtl"] .dropdown-toggle::after {
    margin-right: .255em;
    margin-left: 0;
}


/* Responsive */

@media (max-width: 1200px) {
    .nav-link {
        margin: 0 4px;
        font-size: 14px;
    }

    .navbar-nav{padding: 0}

    .nav_btn {
        white-space: nowrap;
        font-size: 14px;
        padding: 0 5px;
        min-width: 80px;
    }
}

@media (max-width: 992px) {
    .offcanvas{background-color: #000}

    .offcanvas.offcanvas-end,.offcanvas.offcanvas-start{opacity: 1;width: 250px}

    .offcanvas-header .btn-close{color: #fff !important;filter: brightness(0) invert(1);}

    .navbar-toggler{
        order: 1;
    }

    .white_header .navbar-toggler{
        color: #fff;
    }

    .navbar-collapse,.navbar .nav_btn,.navbar .user_img {
        display: none !important;
    }

    .hero-section {
        height: auto;
        padding-bottom: 90px;
        padding-top: 60px;
    }

    .hero-title{margin-bottom: 50px}

    .architect-main-image {
        max-width: 80%; /* Shrink image slightly to prevent overflow */
        margin: 0 auto;
    }

    .architect-section .row {
        flex-direction: column;
    }

    .architect-content {
        order: -1; /* Move text content above image on mobile */
        text-align: center;
        margin-bottom: 2rem;
    }

    .contact-image-col {
        display: none !important; /* Hide image column on mobile/tablet */
    }

    .contact-content-col {
        padding: 2rem 1rem;
        text-align: center;
        padding-bottom: 0;
    }

    .contact-title {
        text-align: center;
        margin-bottom: 1.5rem;
    }

    .footer-dark {
        padding-top: 0;
        text-align: center; /* Center content on mobile */
    }

    .footer-logo,.footer-dark .input-group {
        margin: 0 auto;
    }

    .footer-dark h4{margin: 0 auto;}

    .social-button {
        margin-bottom: 10px;
    }

    [dir="ltr"] .social-button {
        margin-left: 10px;
    }

    [dir="rtl"] .social-button {
        margin-right: 10px;
    }

    .footer-bottom .text-end, .footer-bottom .text-start {
        text-align: center !important;
    }

    .footer-bottom{margin-top: 0}

    .info h5 {
        font-size: 13px;
        width: 48%;
    }

    .sub_hero h2{font-size: 34px}

    .contact-page .contact-card-wrapper {
        position: static;
        width: 100%;
        transform: none;
        margin-top: 30px;
    }

    .contact-image{display: none;}

    .contact-form{margin: 0 auto;}

    .contact-section{margin-top: 0}

    .footer-dark .px-5{
        padding: 0 15px !important;
    }

    .fixed-whatsapp {
        top: -40px;
        width: 80px;
        height: 80px;
    }

    .sub_hero{padding: 140px 0;padding-bottom: 100px;}

    [dir="ltr"] .architect-content{padding-left: 0}

    [dir="rtl"] .architect-content{padding-right: 0}

    .architect-content h2,.architect-content p{margin: 0 auto;}

    .single_price{font-size: 30px;margin-bottom: 30px}

    .single .amenities-row span{font-size: 14px}
}

@media (max-width: 768px) {
    .tabs-container {
        flex-direction: column;
        gap: 0.5rem;
    }

    [dir="ltr"] .input-group > .form-control:not(:first-child), 
    [dir="ltr"] .input-group > .btn:not(:first-child) {
        border-top-left-radius: var(--bs-border-radius);
        border-bottom-left-radius: var(--bs-border-radius);
    }

    [dir="rtl"] .input-group > .form-control:not(:first-child), 
    [dir="rtl"] .input-group > .btn:not(:first-child) {
        border-top-right-radius: var(--bs-border-radius);
        border-bottom-right-radius: var(--bs-border-radius);
    }

    .services-header-content {
         text-align: center !important;
    }

    .architect-content {
        text-align: center;
    }

    .vertical_card .align-items-stretch{
        flex-direction: column;
    }

    .vertical_card .property-img-container{
        width: 100%;
        height: 300px;
    }

    [dir="ltr"] .vertical_card .property-img-container{
        border-top-right-radius: 12px;
    }

    [dir="rtl"] .vertical_card .property-img-container{
        border-top-left-radius: 12px;
    }

    .footer-bottom .d-flex{
        flex-direction: column;
    }

    .about h2{font-size: 34px;margin-bottom: 30px}

    .accordion-button{font-size: 18px}
}

@media (max-width: 640px) {

}

@media (max-width: 576px){
    .info h5 {
        width: 100%;
        margin: 0;
    }
}

@media (max-width: 460px) {

}