/* BASE STYLES - No changes needed for gradients here, but ensuring clean base */
html {
    font-size: 14px; /* Base font size for 'rem' units - adjust this value to scale everything */
}

body {
    height: auto;
    margin: 0;
    padding: 0;
    font-family: "Josefin Sans", sans-serif;
    background: #f0f2f5; /* Light background for the page */
    overflow: auto;
}

/* Keyframes for infinite background animation - REMOVED AS GRADIENTS ARE REMOVED */
/* @keyframes gradientAnimation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
} */

/* Chat Container - Removed Gradient */
.chat-container {
    display: none;
    position: fixed;
    bottom: 2rem;
    right: -25rem; /* Initially off-screen */
    width: 25rem; /* Adjusted width */
    max-width: 90%;
    background: #f9fcff; /* Solid light background, very subtle blue tint */
    backdrop-filter: blur(0.8rem); /* Stronger blur */
    border-radius: 1.5rem; /* More rounded */
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15); /* Softer, larger shadow */
    opacity: 0;
    transform: scale(0.9); /* Slightly smaller initial scale */
    transition: right 0.6s ease-in-out,
                opacity 0.5s ease-in-out,
                transform 0.5s ease-in-out,
                box-shadow 0.4s ease-in-out;
    border: 1px solid rgba(220, 220, 220, 0.6); /* Subtle border for definition */
}

.chat-container.open {
    right: 3.5rem; /* Slide in from the right */
    opacity: 1;
    transform: scale(1.1);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.25); /* Deeper shadow when open */
}

/* Chat Header - Removed Gradient */
.chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.125rem 1.5rem; /* Increased padding */
    background: #3498db; /* Solid professional blue */
    color: white;
    font-size: 1.375rem; /* Slightly larger font */
    border-radius: 1.5rem 1.5rem 0 0; /* Match container border-radius */
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
    height: 4rem; /* Slightly taller header */
}

.chat-header .subtitle {
    font-size: 0.6875rem; /* Slightly larger subtitle */
    font-weight: normal;
    margin-left: 0.5rem; /* More spacing */
    position: relative;
    top: -0.5rem; /* Adjusted position */
    opacity: 0.9; /* Slightly more opaque */
}

.chat-icons {
    display: flex;
    gap: 0.625rem; /* Increased gap */
}

.chat-icons i {
    cursor: pointer;
    font-size: 1.125rem; /* Larger icons */
    transition: transform 0.2s ease-in-out, color 0.2s; /* Smooth icon transitions */
}
.chat-icons i:hover {
    transform: scale(1.15);
    color: #e0f2f7; /* Lighter blue highlight on hover */
}
.chat-icons i:nth-child(2) {
    margin: 0 0.9375rem; /* More spacing for middle icon */
}

/* Chat Body - Removed Gradient */
.chat-body {
    padding: 1.25rem; /* Increased padding */
    height: 32.5rem; /* Slightly taller body */
    overflow-y: auto;
    background: #ffffff; /* Solid white background */
    font-size: 0.8125rem; /* Slightly larger base font size */
    scrollbar-width: thin; /* Modern scrollbar for Firefox */
    scrollbar-color: #3498db #F5F7FA; /* Custom scrollbar colors */
}
.chat-body::-webkit-scrollbar {
    width: 0.5rem; /* Custom scrollbar width for Webkit */
}
.chat-body::-webkit-scrollbar-track {
    background: #F5F7FA; /* Custom scrollbar track */
    border-radius: 0.625rem;
}
.chat-body::-webkit-scrollbar-thumb {
    background-color: #3498db; /* Custom scrollbar thumb */
    border-radius: 0.625rem;
    border: 0.125rem solid #ECF0F1; /* Border around thumb */
}

.chat-message {
    margin-bottom: 1.125rem; /* More spacing between messages */
}
.chat-message.user {
    text-align: right;
}
.chat-message.bot {
    text-align: left;
}
.chat-bubble {
    display: inline-block;
    padding: 0.75rem 1.125rem; /* Increased padding */
    border-radius: 1.375rem; /* More rounded bubbles */
    max-width: 75%; /* Slightly wider bubbles */
    line-height: 1.5; /* Better line spacing */
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08); /* Subtle shadow for definition */

        /* Prevent long words from breaking layout */
        word-wrap: break-word;        /* older support */
        overflow-wrap: break-word;    /* modern preferred */
        word-break: break-word;       /* ensures force break if necessary */
}
.chat-bubble.user {
    background: #3498db; /* Solid professional blue for user */
    color: white;
    border-radius: 1.125rem 1.125rem 0 1.125rem; /* Unique shape for user bubble */
    box-shadow: 0.2rem 0.2rem 0.8rem rgba(0, 0, 0, 0.15); /* Softer user bubble shadow */
}
.chat-bubble.bot {
    background: #f0f2f5; /* Light gray for bot */
    color: #34495E; /* Darker text for readability */
    border-radius: 1.125rem 1.125rem 1.125rem 0; /* Unique shape for bot bubble */
    box-shadow: 0.2rem 0.2rem 0.8rem rgba(0, 0, 0, 0.1); /* Softer bot bubble shadow */
}
.chat-options {
    margin-top: 0.75rem; /* More spacing */
    display: flex;
    gap: 0.75rem; /* Increased gap */
    justify-content: center;
}
.chat-options button {
    background: #3498db; /* Solid blue */
    color: white;
    border: none;
    padding: 0.625rem 1.125rem; /* Increased padding */
    border-radius: 1.5rem; /* More rounded */
    cursor: pointer;
    box-shadow: 0 0.15rem 0.4rem rgba(0, 0, 0, 0.1); /* Lighter shadow */
    transition: all 0.2s ease-in-out;
}
.chat-options button:hover {
    background: #2980b9; /* Slightly darker blue on hover */
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.6rem rgba(0, 0, 0, 0.15);
}

/* Chat Input - Removed Gradient */
.chat-input {
    display: flex;
    padding: 0.9375rem; /* Increased padding */
    background: #ffffff; /* Solid white */
    border-radius: 0 0 1.5rem 1.5rem; /* Match container border-radius */
    font-size: 0.8125rem;
    align-items: center; /* Align items vertically */
    border-top: 1px solid #e0e0e0; /* Subtle top border */
}
.chat-input input {
    flex: 1;
    padding: 0.625rem 0.9375rem; /* Increased padding */
    border: 0.125rem solid #e0e0e0; /* Light gray border */
    border-radius: 1.5rem; /* More rounded input */
    margin-right: 0.75rem; /* More spacing */
    background: #FDFDFD; /* Off-white input background */
    box-shadow: inset 0.0625rem 0.0625rem 0.2rem rgba(0, 0, 0, 0.05); /* Subtle inner shadow */
    transition: border-color 0.2s, box-shadow 0.2s;
    color: #34495E;
}
.chat-input input::placeholder {
    color: #95A5A6; /* Lighter placeholder color */
}
.chat-input input:focus {
    outline: none;
    border-color: #3498db; /* Professional blue border on focus */
    box-shadow: 0 0 0.5rem rgba(52, 152, 219, 0.3); /* Blue glowing shadow on focus */
    background: #FFFFFF;
}
.chat-input button {
    background: #3498db; /* Solid blue for send button */
    color: white;
    border: none;
    padding: 0.625rem 1.125rem; /* Increased padding */
    border-radius: 1.5rem; /* More rounded */
    cursor: pointer;
    transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.chat-input button:hover {
    background: #2980b9; /* Darker blue on hover */
    transform: translateY(-0.0625rem);
}
.chat-btn {
    background: #3498db; /* Solid blue */
    color: white;
    border: none;
    padding: 0.5rem; /* Adjusted padding */
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem; /* Larger button */
    height: 2.5rem; /* Larger button */
    transition: background-color 0.2s ease-in-out, transform 0.2s;
    box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.15);
}

.chat-btn i {
    font-size: 1.125rem; /* Larger icon */
    line-height: 1;
}

.chat-btn:hover {
    background: #2980b9; /* Darker blue on hover */
    transform: scale(1.1); /* Slightly enlarge on hover */
}

.chat-icons {
    display: flex;
    align-items: center;
    gap: 0.5rem; /* More spacing */
}
.chat-container { /* Re-applying styles for consistency as it was overridden */
    max-width: 25rem; /* Consistent max-width */
    margin: 3.25rem auto;
    background: #f9fcff; /* Solid light background */
    border-radius: 1.5rem;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
    overflow: hidden;
    position: fixed;
    bottom: 1.5rem; /* Consistent positioning */
    right: 1.5rem; /* Consistent positioning */
    border: 1px solid rgba(220, 220, 220, 0.6); /* Subtle border */
    display: none;
}

/* Open Chat Button - Removed Gradient, Simplified */
.open-chat-btn {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 4.75rem; /* Larger button */
    height: 4.75rem; /* Larger button */
    border: none;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.2); /* Deeper shadow */
    overflow: hidden;
    background: #3498db; /* Solid professional blue */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s;
    display: flex; /* Ensure flex for video centering */
    align-items: center;
    justify-content: center;
}
.open-chat-btn video {
    width: 150%; /* Fit video exactly */
    height: 150%;
    object-fit: cover;
    transform: none; /* No translation needed if fit correctly */
}
.open-chat-btn:hover {
    transform: scale(1.08); /* Slightly enlarge on hover */
    box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.25);
    background: #2980b9; /* Darker blue on hover */
}

/* Loader - No Gradients to remove, but ensure consistency */
.loader {
    width: 4.375rem; /* Larger loader */
    aspect-ratio: 2;
    --_g: no-repeat radial-gradient(circle closest-side,#3498db 90%,#0000); /* Professional Blue dots */
    background:
      var(--_g) 0%   50%,
      var(--_g) 50%  50%,
      var(--_g) 100% 50%;
    background-size: calc(100%/3) 50%;
    animation: l3 1s infinite linear;
  }
  @keyframes l3 {
      20%{background-position:0%   0%, 50%  50%,100%  50%}
      40%{background-position:0% 100%, 50%   0%,100%  50%}
      60%{background-position:0%  50%, 50% 100%,100%   0%}
      80%{background-position:0%  50%, 50%  50%,100% 100%}
  }
  .chat-form input, .chat-form button {
    margin-top: 0.75rem; /* More spacing */
    width: 100%;
    padding: 0.625rem; /* Increased padding */
    border: 0.0625rem solid #C0D0E0; /* Lighter border */
    border-radius: 0.5rem; /* Slightly more rounded */
    background: #FDFDFD;
    color: #34495E;
}
.chat-form button {
    background-color: #3498db; /* Solid professional blue */
    color: white;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.2s ease-in-out;
}
.chat-form button:hover {
    background-color: #2980b9; /* Darker blue on hover */
}

.loading {
    display: flex;
    justify-content: start;
    align-items: center;
    margin: 0.75rem 0; /* More spacing */
}

.loading div {
    width: 0.625rem; /* Larger dots */
    height: 0.625rem; /* Larger dots */
    margin: 0 0.25rem; /* More spacing */
    background:  #3498db; /* Professional Blue dots */
    border-radius: 50%;
    animation: bounce 1.5s infinite ease-in-out both;
}
.loading div:nth-child(2) { animation-delay: 0.2s; }
.loading div:nth-child(3) { animation-delay: 0.4s; }
@keyframes bounce {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}

.options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem; /* More spacing */
    padding-top: 0.625rem;
    flex-direction: column;
}
.options button {
    border: 0.0625rem solid #3498db; /* Professional Blue border */
    background: transparent;
    color: #3498db; /* Professional Blue text */
    padding: 0.375rem 0.75rem; /* Increased padding */
    border-radius: 0.625rem; /* More rounded */
    cursor: pointer;
    font-size: 0.8125rem; /* Slightly larger font */
    transition: all 0.2s ease-in-out;
}
.filter-options {
    margin-top: 0.9375rem; /* More spacing */
    transform: scale(1); /* No initial scale */
    transition: all 0.3s ease-in-out;
}

.filter-title {
    font-size: 1.0625rem; /* Slightly larger title */
    font-weight: bold;
    margin-bottom: 0.625rem; /* More spacing */
    color: #2C3E50; /* Darker text */
    text-align: center;
}
.option-buttons {
    display: flex;
    gap: 0.9375rem; /* Increased gap */
    flex-wrap: wrap;
    /* justify-content: center; */
}

.option-buttons button {
    padding: 0.625rem 1rem; /* Increased padding */
    /* font-size: 0.6875rem; Slightly larger font */
    font-size: 0.7rem; /* Slightly larger font */
    border-radius: 0.9375rem; /* More rounded */
    border: 0.125rem solid #D6E4EF; /* Lighter border */
    background: #FFFFFF;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.375rem; /* More spacing */
    /* font-weight: bold; */
    color: #34495E;

    opacity: 0;
    transform: translateY(1.25rem);
    animation: waveAppear 0.6s ease-out forwards;
}
.option-buttons.first-load button {
    opacity: 0;
    transform: translateY(1.25rem);
    animation: waveAppear 0.6s ease-out forwards;
}
.option-buttons.loaded button {
    opacity: 1;
    transform: translateY(0);
    animation: none; /* Stop animation replay */
}

.option-buttons button:nth-child(1) { animation-delay: 0.1s; }
.option-buttons button:nth-child(2) { animation-delay: 0.2s; }
.option-buttons button:nth-child(3) { animation-delay: 0.3s; }
.option-buttons button:nth-child(4) { animation-delay: 0.4s; }
.option-buttons button:nth-child(5) { animation-delay: 0.5s; }
.option-buttons button:nth-child(6) { animation-delay: 0.6s; }
.option-buttons button:nth-child(7) { animation-delay: 0.7s; }
.option-buttons button:nth-child(8) { animation-delay: 0.8s; }
@keyframes waveAppear {
    0% {
        opacity: 0;
        transform: translateY(1.25rem);
    }
    50% {
        opacity: 0.5;
        transform: translateY(-0.3125rem);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Option Buttons Hover/Selected - Removed Gradient */
.option-buttons button:hover{
    background: #3498db; /* Solid professional blue on hover */
    color: white;
    box-shadow: 0px 0.2rem 0.6rem rgba(52, 152, 219, 0.3), /* Adjusted shadow for professional feel */
    0px 0px 1rem rgba(52, 152, 219, 0.2); /* Softened inner glow */
    transform: scale(1.06);
    transition: all 0.3s ease-in-out;
    }
.option-buttons button.selected {
    background: #3498db; /* Solid professional blue */
    color: white;
    transform: scale(1.06);
    box-shadow: 0px 0.2rem 0.6rem rgba(52, 152, 219, 0.3);
}

.src_btn{
    background: #90abc0 !important;
    color: white !important;
}
.src_btn:hover{
    background: #99caea !important;
    color: black !important;
}

/* Filter Button - Removed Gradient */
.filter-button {
    display: none;
    width: 100%;
    margin-top: 1.25rem; /* More spacing */
    padding: 0.75rem; /* Increased padding */
    font-size: 0.875rem; /* Larger font */
    font-weight: bold;
    border-radius: 0.9375rem; /* More rounded */
    border: none;
    background: #3498db; /* Solid professional blue */
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.15);
}

.filter-button:hover {
    background: #2980b9; /* Darker blue on hover */
    transform: translateY(-0.125rem);
    box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.2);
}

.amenities-buttons {
    margin-top: 0.75rem; /* More spacing */
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem; /* More spacing */
    justify-content: center;
    margin-bottom: 1.125rem; /* More bottom spacing */
}

/* New CSS for inline-input (for selectable sub-options) and price range */
.inline-input {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: 10px; /* Indent for clarity */
}

.inline-input .small-btn {
    padding: 0.3rem 0.6rem;
    font-size: 0.7rem;
    border-radius: 0.5rem;
    border: 1px solid #D6E4EF;
    background: #F8F9FA;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #34495E;
}

.inline-input .small-btn.selected {
    background: #3498db;
    color: white;
    border-color: #3498db;
}

.price-range-container {
    /* width: 100%; */
    padding: 10px;
    border: 1px solid #D6E4EF;
    border-radius: 0.625rem;
    background-color: #F8F9FA;
    /* margin-top: 0.5rem; */
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-left: 0px;
}

.slider-container {
    position: relative;
    width: 90%;
    margin: 0 auto;
}

.slider-container input[type="range"] {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 5px;
    background: #d3d3d3;
    outline: none;
    opacity: 0.7;
    transition: opacity .2s;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    background-color: #3498db;
}

.slider-container input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #3498db;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.slider-container input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #3498db;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.price-values {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    color: #2C3E50;
    margin-top: 20px; /* Space for sliders */
}

.price-range-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.price-btn {
    padding: 0.4rem 0.8rem;
    border-radius: 0.5rem;
    cursor: pointer;
    font-size: 0.8rem;
    transition: all 0.2s ease;
}

.apply-price-btn {
    background-color: #3498db;
    color: white;
    border: 1px solid #3498db;
}

.apply-price-btn:hover {
    background-color: #2980b9;
}

.clear-price-btn {
    background-color: #e74c3c;
    color: white;
    border: 1px solid #e74c3c;
}

.clear-price-btn:hover {
    background-color: #c0392b;
}

.hidden {
    display: none !important;
}
.amenities-buttons {
    margin-top: 0.75rem; /* More spacing */
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem; /* More spacing */
    justify-content: center;
    margin-bottom: 1.125rem; /* More bottom spacing */
}

/* Button Appearance */
.amenities-buttons button {
    background: #FFFFFF;
    border: 0.125rem solid #D6E4EF; /* Lighter border */
    padding: 0.5rem 0.875rem; /* Increased padding */
    font-size: 0.75rem; /* Slightly larger font */
    border-radius: 0.625rem; /* More rounded */
    cursor: pointer;
    transition: transform 0.2s ease, background 0.3s ease, box-shadow 0.3s ease;
    opacity: 0;
    transform: translateY(1.25rem);
    animation: waveAppear 0.6s ease-out forwards;
    color: #34495E;
    box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.05); /* Subtle shadow for amenities buttons */
}

/* Wave Animation Only on First Load */
.amenities-buttons.first-load button {
    opacity: 0;
    transform: translateY(1.25rem);
    animation: waveAppear 0.6s ease-out forwards;
}

/* Once Loaded, No More Animation */
.amenities-buttons.loaded button {
    opacity: 1;
    transform: translateY(0);
    animation: none; /* Stop animation replay */
}

/* Wave Animation (re-using keyframes) */
/* @keyframes waveAppear is defined above */

/* Delay for each button */
.amenities-buttons:not(.loaded) button:nth-child(1) { animation-delay: 0.1s; }
.amenities-buttons:not(.loaded) button:nth-child(2) { animation-delay: 0.2s; }
.amenities-buttons:not(.loaded) button:nth-child(3) { animation-delay: 0.3s; }
.amenities-buttons:not(.loaded) button:nth-child(4) { animation-delay: 0.4s; }
.amenities-buttons:not(.loaded) button:nth-child(5) { animation-delay: 0.5s; }
.amenities-buttons:not(.loaded) button:nth-child(6) { animation-delay: 0.6s; }
.amenities-buttons:not(.loaded) button:nth-child(7) { animation-delay: 0.7s; }

/* Selected Button Effect - Removed Gradient */
.amenities-buttons button.selected {
    background: #3498db; /* Solid professional blue */
    color: white;
    box-shadow: 0px 0.2rem 0.6rem rgba(52, 152, 219, 0.3),
                0px 0px 1rem rgba(52, 152, 219, 0.2);
    transform: scale(1.06);
    transition: all 0.3s ease-in-out;
}

.amenities-buttons button:hover {
    background: #3498db; /* Solid professional blue */
    color: white;
    box-shadow: 0px 0.2rem 0.6rem rgba(52, 152, 219, 0.3),
    0px 0px 1rem rgba(52, 152, 219, 0.2);
    transform: scale(1.06);
    transition: all 0.3s ease-in-out;
}

/* Send Button - Removed Gradient */
.send-button {
    display: none; /* Keep hidden if not used with JS */
    width: 3.4375rem; /* Slightly larger */
    height: 3.4375rem; /* Slightly larger */
    margin: 1.25rem auto 0.75rem; /* More margin */
    padding: 0.5rem; /* Adjusted padding */
    font-size: 1.625rem; /* Larger icon */
    font-weight: bold;
    border-radius: 50%;
    border: none;
    background: #3498db; /* Solid professional blue */
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 0.2rem 0.6rem rgba(0, 0, 0, 0.15);
}

.send-button:hover {
    background: #2980b9; /* Darker blue on hover */
    transform: scale(1.15); /* More pronounced scale */
    box-shadow: 0px 0.3rem 0.8rem rgba(0, 0, 0, 0.2);
}

/* Selected Class - Removed Gradient */
.selected {
    background: #3498db; /* Solid professional blue */
    color: white;
}

/* Modern Glassmorphism Form Design - Updated for Professionalism */
.form-card {
    background: rgba(255, 255, 255, 0.8); /* More opaque, clean white */
    padding: 1.875rem; /* Increased padding */
    border-radius: 1.25rem; /* More rounded */
    backdrop-filter: blur(0.6rem); /* Slightly less blur, cleaner */
    border: 1px solid rgba(220, 220, 220, 0.6); /* More defined border */
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1); /* Softer shadow */
    margin: 1.875rem auto; /* More margin */
    max-width: 28.125rem; /* Wider card */
    text-align: center;
}

/* Input Container - No gradients to remove */
.input-container {
    position: relative;
    margin-bottom: 1.25rem; /* More spacing */
    width: 100%;
}

/* Floating Label Effect */
.input-container input {
    width: 100%;
    padding: 0.9375rem 1.25rem; /* Increased padding */
    border-radius: 0.625rem; /* More rounded */
    border: 1px solid #d0d0d0; /* Soft gray border */
    background: #fdfdfd; /* Solid off-white */
    transition: 0.3s;
    font-size: 0.875rem; /* Larger font */
    color: #2C3E50; /* Darker text */
}

/* Input Focus Effect */
.input-container input:focus {
    border-color: #3498db; /* Professional blue border */
    outline: none;
    background: #FFFFFF; /* Solid white on focus */
    box-shadow: 0 0 0.5rem rgba(52, 152, 219, 0.2); /* Softer glowing shadow */
}

/* Ionicons Styling */
.input-container ion-icon {
    position: absolute;
    left: 1.25rem; /* More spacing for icon */
    top: 50%;
    transform: translateY(-50%);
    color: #3498db; /* Professional blue icon */
    font-size: 1.25rem; /* Larger icon */
    font-weight: bold;
}

/* Adjust Input Padding for Icons */
.input-container input {
    padding-left: 3.4375rem; /* More padding for icon */
}

/* Submit Button - Removed Gradient */
.form-card button {
    width: 100%;
    background: #3498db; /* Solid professional blue */
    margin-top: 0.75rem; /* Adds space between input and button */
    color: white;
    padding: 0.9375rem; /* Increased padding */
    border: none;
    border-radius: 0.625rem; /* More rounded */
    font-size:0.875rem; /* Larger font */
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s ease-in-out;
    box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.15);
}
.form-card button:hover {
    background: #2980b9; /* Darker blue on hover */
    transform: translateY(-0.1875rem); /* More pronounced lift */
    box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.2);
}
#commentSection {
    display: none;
    padding: 1.25rem; /* Increased padding */
    border-radius: 0.625rem; /* More rounded */
    background: rgba(255, 255, 255, 0.8); /* More opaque, clean white */
    border-left: 0.3125rem solid #3498db; /* Professional blue border */
    margin-top: 1.25rem; /* More spacing */
    text-align: left;
    box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.08);
}
#commentSection label {
    color: #2C3E50; /* Darker text */
    display: block;
    margin-bottom: 0.5rem; /* More spacing */
    font-weight: bold;
    font-size: 0.8125rem;
}

#commentSection input {
    width: calc(100% - 4.375rem); /* Adjusted width for better fit with icon */
    padding: 0.625rem; /* Increased padding */
    border-radius: 0.5rem; /* More rounded */
    border: 0.0625rem solid #C0D0E0; /* Lighter border */
    background: #FDFDFD;
    color: #34495E;
    font-size: 0.75rem;
}

/* Comment Section Button - Removed Gradient */
#commentSection button {
    padding: 0.625rem 1.125rem; /* Increased padding */
    margin-top: 0.75rem; /* Adds space between input and button */
    border-radius: 0.5rem; /* More rounded */
    border: none;
    background: #3498db; /* Solid professional blue */
    color: white;
    cursor: pointer;
    font-weight: bold;
    font-size: 0.75rem;
    box-shadow: 0 0.15rem 0.4rem rgba(0, 0, 0, 0.1);
}

#commentSection button:hover {
    background: #2980b9; /* Darker blue on hover */
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.6rem rgba(0, 0, 0, 0.15);
}
/* Comment Input Consistency - No gradients to remove */
#meetingComment {
    width: 100%;
    padding: 0.9375rem 1.25rem; /* Increased padding */
    border-radius: 0.625rem; /* More rounded */
    border: 0.125rem solid #d0d0d0; /* Soft gray border */
    background: #fdfdfd; /* Solid off-white */
    transition: 0.3s;
    font-size: 0.875rem; /* Larger font */
    color: #2C3E50; /* Darker text */
    margin-bottom: 0.625rem; /* Adds space between input and button */
}
#meetingComment:focus {
    border-color: #3498db; /* Professional blue border */
    outline: none;
    background: #FFFFFF; /* Solid white on focus */
    box-shadow: 0 0 0.5rem rgba(52, 152, 219, 0.2); /* Softer glowing shadow */
}

.property-card {
    position: relative;
    width: 260px;
    margin: 10px 0px;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
    background-color: #fff;
}

.property-card img {
    width: 100%;
    height: 160px;
    object-fit: cover;
}

.property-info {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(44, 62, 80, 0.9);
    color: white;
    padding: 10px;
    box-sizing: border-box;
    transform: translateY(100%);
    transition: transform 0.4s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.property-info {
    transform: translateY(100%);
    transition: transform 0.4s ease-in-out;
}

.property-card:hover .property-info,
.property-info.auto-hover {
    transform: translateY(0%);
}

.property-info h2 {
    font-size: 0.9rem;
    margin: 0;
}

.property-info p {
    margin: 5px 0;
    font-size: 0.8rem;
}

.schedule-btn {
    background: #3498db;
    color: #fff;
    border: none;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.8rem;
    cursor: pointer;
    position: relative;
    align-self: flex-end;
    transition: background-color 0.3s;
    box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.1);
}

.schedule-btn:hover {
    background: #2980b9;
}

.schedule-btn::after {
    content: "Click here to schedule meeting";
    position: absolute;
    top: -30px;
    right: 0;
    background: #333;
    color: #fff;
    padding: 5px 8px;
    border-radius: 6px;
    font-size: 0.7rem;
    opacity: 0;
    transition: opacity 0.3s;
    white-space: nowrap;
    pointer-events: none;
}

.schedule-btn.auto-hover::after,
.schedule-btn:hover::after {
    opacity: 1;
}

.cursor-video {
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    object-fit: contain;
    pointer-events: none;
    z-index: 5;
    border-radius: 12px;
    /* mix-blend-mode: lighten;
    background: transparent; */
}



/* Price Range - Removed Gradients */
.price-range {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 0.9375rem; /* More spacing */
    padding: 1.25rem; /* Increased padding */
    position: relative;
    background: rgba(255, 255, 255, 0.8); /* More opaque, clean white */
    border-radius: 0.9375rem; /* More rounded */
    box-shadow:
        0 0.3rem 0.5rem rgba(0, 0, 0, 0.1),
        inset 0 0.1rem 0.2rem rgba(255, 255, 255, 0.15); /* Softer shadows */
    backdrop-filter: blur(0.6rem); /* Slightly less blur */
    border: 1px solid rgba(220, 220, 220, 0.6); /* More defined border */
    overflow: hidden;
}

/* Slider container */
.slider-container {
    position: relative;
    width: 100%;
    height: 3.75rem; /* Taller container */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Gradient-filled track - Replaced with solid color */
.range-track {
    position: absolute;
    top: 50%;
    left: 5%;
    width: 90%;
    height: 0.625rem; /* Thicker track */
    background: #d0d0d0; /* Light gray for track */
    border-radius: 0.375rem; /* More rounded track */
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
}

/* Hide default range styles */
input[type="range"] {
    /* -webkit-appearance: none; */
    width: 100%;
    height: 0.625rem; /* Matches track height */
    pointer-events: none;
    background: none;
    margin: 0;
}

/* Styling range thumbs - Replaced Gradient */
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 1.5rem; /* Larger thumb */
    height: 1.5rem; /* Larger thumb */
    border-radius: 50%;
    background: #3498db; /* Solid professional blue for thumb */
    cursor: grab; /* Grab cursor */
    pointer-events: auto;
    position: relative;
    box-shadow: 0 0 0.5rem rgba(52, 152, 219, 0.5); /* Softer glow */
    transition: transform 0.2s ease-in-out, box-shadow 0.2s;
}

/* Hover & Active effects */
input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.15); /* Slightly less pronounced scale */
    box-shadow: 0 0 0.7rem rgba(52, 152, 219, 0.7);
}

input[type="range"]::-webkit-slider-thumb:active {
    transform: scale(1.2); /* Slightly less pronounced scale */
    box-shadow: 0 0 0.9rem rgba(52, 152, 219, 0.9);
    cursor: grabbing; /* Grabbing cursor */
}

/* Floating tooltips - No gradients to remove */
.thumb {
    position: absolute;
    top: -1.25rem; /* Higher position */
    width: 5rem; /* Wider tooltip */
    height: 2.1875rem; /* Taller tooltip */
    text-align: center;
    font-size: 0.8125rem; /* Slightly larger font */
    font-weight: bold;
    background: #2C3E50; /* Dark blue background */
    color: white;
    border-radius: 0.5rem; /* More rounded */
    padding: 0.375rem; /* Increased padding */
    opacity: 0;
    transition: opacity 0.3s ease-in-out, transform 0.3s;
    box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2);
}

.thumb span {
    position: relative;
}

/* Styling the price labels */
.price-values {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 1.2em; /* Larger font */
    color: #2C3E50; /* Dark blue text */
    font-weight: bold;
    margin-top: 1.5625rem; /* More spacing */
}


.chat-message i {
    cursor: pointer;
    font-size: 1.375rem; /* Larger icon */
    margin-left: 0.75rem; /* More spacing */
    color: #95A5A6; /* Lighter gray for normal state */
    transition: color 0.2s ease-in-out, transform 0.2s;
  }

  .chat-message i:hover {
    transform: scale(1.1);
    color: #3498db; /* Professional blue on hover */
  }

  .chat-message i.bi-heart-fill {
    color: #E74C3C; /* Red for filled heart */
    filter: drop-shadow(0 0 0.2rem rgba(231, 76, 60, 0.4)); /* Subtle glow */
  }


  /* Bedroom Selector - No gradients to remove here */
  .bedroom-selector {
    display: flex;
    align-items: center; /* Center vertically */
    justify-content: center;
    gap: 0.5rem; /* More spacing */
    padding: 0.5rem; /* Increased padding */
    background: rgba(236, 240, 241, 0.7); /* Lighter, more opaque background */
    border-radius: 0.625rem; /* More rounded */
    width: 11.25rem; /* Wider selector */
    margin: 0.9375rem auto; /* More margin */
    transform: translateX(-4.375rem) rotateY(0deg); /* Adjusted initial position */
    transition: transform 0.5s ease-in-out, box-shadow 0.3s ease-in-out;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

.bedroom-selector:hover {
    transform: translateX(-4.375rem) rotateY(10deg) scale(1.05); /* Slightly less rotation, more scale */
    box-shadow: 0.5rem 0.5rem 1.25rem rgba(0, 0, 0, 0.2); /* Softer shadow on hover */
}

/* Bedroom Button - Removed Gradient */
.bedroom-btn {
    background-color: #3498db; /* Solid professional blue */
    color: white;
    border: none;
    padding: 0.375rem 0.75rem; /* Increased padding */
    border-radius: 0.625rem; /* More rounded */
    cursor: pointer;
    font-size: 1.125rem; /* Larger font */
    min-width: 2.1875rem; /* Larger button */
    height: 2.1875rem; /* Larger button */
    text-align: center;
    display: flex; /* Flexbox for centering content */
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease-in-out, transform 0.2s;
}
.bedroom-btn:hover {
    background-color: #2980b9; /* Darker blue on hover */
    transform: scale(1.05); /* Subtle scale on hover */
}

#bedroomCount {
    font-size: 1.25rem; /* Larger font */
    color: #2C3E50; /* Darker text */
    width: 2.8125rem; /* Wider count display */
    text-align: center;
    font-weight: bold;
}


.faq-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    transform: translate(-50%, -50%);
    background: white;
    z-index: 9999;
    display: none;
    padding: 1.25rem;
    border-radius: 0.75rem;
    box-shadow: 0px 0.3rem 0.8rem rgba(0, 0, 0, 0.15);
  }


/* .faq-card {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 21.875rem;
    background: #FDFDFD; 
    box-shadow: 0px 0.3rem 0.8rem rgba(0, 0, 0, 0.15);
    padding: 1.25rem; 
    border-radius: 0.75rem; 
    display: none;
    z-index: 10;
    text-align: center;
    border: 0.0625rem solid #E0E4E7; 
} */

/* FAQ Card Header - Removed Gradient */
.faq-card h3 {
    position: absolute;
    top: -1.5625rem; /* Higher position */
    left: 50%;
    transform: translateX(-50%);
    background: #3498db; /* Solid professional blue */
    color: white;
    padding: 0.5rem 0.9375rem; /* Increased padding */
    font-size: 1.0625rem; /* Larger font */
    font-weight: bold;
    border-radius: 0.5rem; /* More rounded */
    box-shadow: 0px 0.15rem 0.4rem rgba(0, 0, 0, 0.1);
}

.faq-list {
    list-style: none;
    padding: 0;
    max-height: 15.625rem; /* Taller list */
    overflow-y: auto;
}

.faq-list::-webkit-scrollbar {
    width: 0.5rem; /* Wider scrollbar */
}

.faq-list::-webkit-scrollbar-thumb {
    background: #3498db; /* Professional blue scrollbar */
    border-radius: 0.25rem;
}

.faq-list::-webkit-scrollbar-thumb:hover {
    background: #2980b9; /* Darker blue on hover */
}

.faq-list li {
    padding: 0.75rem; /* Increased padding */
    border-bottom: 0.0625rem solid #E0E4E7; /* Lighter border */
    cursor: pointer;
    text-align: left; /* Align text left */
    color: #34495E; /* Darker text */
    font-size: 0.8125rem;
    transition: background 0.2s ease-in-out;
}

.faq-list li:hover {
    background: #F5F7FA; /* Lighter background on hover */
}

/* FAQ Close Button - Removed Gradient */
.faq-close {
    display: block;
    margin: 0.9375rem auto 0; /* More margin */
    padding: 0.625rem 1.125rem; /* Increased padding */
    background: #3498db; /* Solid professional blue */
    color: white;
    border: none;
    border-radius: 0.5rem; /* More rounded */
    cursor: pointer;
    font-weight: bold;
    font-size: 0.875rem;
    box-shadow: 0 0.15rem 0.4rem rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease-in-out;
}

.faq-close:hover {
    background: #2980b9; /* Darker blue on hover */
    transform: translateY(-0.125rem);
}


/* Location Image and Text within Chat Messages - No gradients to remove */
.chat-message.bot img.location-img {
    width: 13.75rem; /* Larger image (220px -> 13.75rem) */
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0.9375rem; /* More rounded (15px -> 0.9375rem) */
    border: 0.1875rem solid #2C3E50; /* Darker, thicker border (3px -> 0.1875rem) */
    box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.15); /* Softer shadow */
    opacity: 0;
    transform: translateY(1.5625rem); /* More pronounced initial translateY (25px -> 1.5625rem) */
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out; /* Longer transition */
}

.chat-message.bot img.location-img.show {
    opacity: 1;
    transform: translateY(0);
}

.chat-message.bot p {
    font-size: 0.9375rem; /* Slightly larger font (15px -> 0.9375rem) */
    color:  #2C3E50; /* Darker text */
    margin-top: 0.625rem; /* More spacing (10px -> 0.625rem) */
    text-align: center;
}

/* Help Drawer - Removed Gradient from background and border-radius */
.help-drawer {
    position: fixed;
    top: 0;
    right: -25rem; /* Wider drawer initially off-screen (400px -> 25rem) */
    width: 25rem; /* Wider drawer (400px -> 25rem) */
    height: 100%;
    background: #ffffff; /* Solid white background */
    box-shadow: -0.3rem 0 0.8rem rgba(0, 0, 0, 0.2); /* Softer shadow */
    transition: right 0.4s ease-in-out; /* Slightly longer transition */
    /* padding: 1.875rem 1.25rem 2.1875rem 3.125rem;  */
    padding: 1.875rem 1.25rem 2.1875rem 2.125rem;
    overflow-y: auto;
    z-index: 1000;
    border-radius: 0.5rem 0 0 0.5rem; /* Less rounded for a cleaner look */
    scrollbar-width: thin;
    scrollbar-color: #3498db #F5F7FA;
    border-left: 1px solid #e0e0e0; /* Subtle left border */
}
.help-drawer::-webkit-scrollbar {
    width: 0.5rem; /* (8px -> 0.5rem) */
}
.help-drawer::-webkit-scrollbar-track {
    background: #F5F7FA;
    border-radius: 0.625rem; /* (10px -> 0.625rem) */
}
.help-drawer::-webkit-scrollbar-thumb {
    background-color: #3498db;
    border-radius: 0.625rem; /* (10px -> 0.625rem) */
    border: 0.125rem solid #ECF0F1; /* (2px -> 0.125rem) */
}

.help-drawer.open {
    right: 0;
}

/* Help Header - No gradients to remove */
.help-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem; /* Slightly larger font (16px -> 1rem) */
    margin-bottom: 0.9375rem; /* More spacing (15px -> 0.9375rem) */
    color: white;
    /* background-color: #2C3E50; */
    background-color: #3498db;
    padding: 0.9375rem; /* Increased padding (15px -> 0.9375rem) */
    border-radius: 0.75rem; /* More rounded (12px -> 0.75rem) */
    box-shadow: 0 0.15rem 0.4rem rgba(0, 0, 0, 0.1); /* Softer shadow */
}

.help-header strong {
    flex: 1;
}

.close-btn {
    background: none;
    border: none;
    font-size: 1.5rem; /* Larger icon (24px -> 1.5rem) */
    cursor: pointer;
    color: white;
    transition: transform 0.2s ease-in-out, color 0.2s;
}

.close-btn:hover {
    transform: scale(1.2);
    color: #FF7070; /* Soft red on hover */
}
.help-content p, .help-content ul {
    font-size: 0.9375rem; /* Slightly larger font (15px -> 0.9375rem) */
    color: #34495E; /* Darker text */
    line-height: 1.6; /* Better line spacing */
}

.help-content strong {
    display: block;
    font-size: 0.9375rem; /* Slightly larger font (15px -> 0.9375rem) */
    margin-top: 0.75rem; /* More spacing (12px -> 0.75rem) */
    color: #2C3E50; /* Darker text */
}

/* Calendar Container - Clean Design */
.calendar-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.5rem;
    /* background: #3498db;  */
    /* background: #a2a2a2; */
    padding: 5px 5px;
    border-radius: 1rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.calendar-container.bg-active {
    background: #e6e6e6; /* Target background after 1s */
}

.inline-calendar {
    width: 100%;
    border: none;
    background: transparent;
}

/* Clean Calendar Styling */
.flatpickr-calendar {
    width: 300px !important;
    /* font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; */
    background: rgba(255, 255, 255, 0.95) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

/* Month Header - Clean Look */
.flatpickr-month {
    height: 40px !important;
    background: transparent !important;
    padding: 8px 0 !important;
}

.flatpickr-current-month {
    font-size: 14px !important;
    font-weight: normal !important;
    color: #2d3748 !important;
}

/* Weekday Headers - Small Font */
.flatpickr-weekdays {
    background: transparent !important;
    padding: 0 !important;
    /* margin-left: -10px !important; */
}

.flatpickr-weekday {
    font-size: 10px !important;
    font-weight: normal !important;
    color: #718096 !important;
    height: 28px !important;
    line-height: 28px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

/* 5-Row Grid Layout */
.flatpickr-days .dayContainer {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    grid-template-rows: repeat(5, 1fr) !important;
    width: 100% !important;
    max-height: 160px !important; /* 5 rows × 32px height */
    overflow: hidden !important;
    gap: 1px !important;
    padding: 3px !important;
}

/* Small Day Cells */
.flatpickr-day {
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    font-size: 11px !important;
    font-weight: normal !important;
    border-radius: 0.4rem !important;
    margin: 0 !important;
    color: #2d3748 !important;
    background: transparent !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

/* Hide rows beyond 5th row */
.flatpickr-days .dayContainer .flatpickr-day:nth-child(n+36) {
    display: none !important;
}

/* Previous Month Days - Light Gray */
.flatpickr-day.prevMonthDay {
    color: #cbd5e0 !important;
    background: transparent !important;
}

/* Next Month Days - Light Gray */
.flatpickr-day.nextMonthDay {
    color: #cbd5e0 !important;
    background: transparent !important;
}

/* Past Dates (before today) - Light Gray */
.flatpickr-day.flatpickr-disabled {
    color: #cbd5e0 !important;
    background: transparent !important;
}

/* Current Month Days - Normal Hover */
.flatpickr-day:not(.prevMonthDay):not(.nextMonthDay):not(.flatpickr-disabled):hover {
    background: #e2e8f0 !important;
    color: #2d3748 !important;
}

/* Selected Day - Blue Background */
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #3498db !important;
    color: white !important;
    font-weight: normal !important;
}

/* Today - Special Styling */
.flatpickr-day.today {
    background: #fed7d7 !important;
    color: #c53030 !important;
    font-weight: normal !important;
}

.flatpickr-day.today:hover {
    background: #feb2b2 !important;
    color: #c53030 !important;
}

/* Range Selection */
.flatpickr-day.inRange {
    background: rgba(52, 152, 219, 0.1) !important;
    color: #3498db !important;
}

.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #3498db !important;
    color: white !important;
    font-weight: normal !important;
}

/* Navigation Arrows - Small Size */
.flatpickr-prev-month,
.flatpickr-next-month {
    width: 26px !important;
    height: 26px !important;
    border-radius: 0.4rem !important;
    /* background: rgba(52, 152, 219, 0.1) !important; */
    color: #3498db !important;
    transition: all 0.2s ease !important;
}

/* .flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    background: rgba(52, 152, 219, 0.2) !important;
} */

/* Remove default borders and outlines */
.flatpickr-calendar * {
    outline: none !important;
}

/* Custom styles for dates before today */
.flatpickr-day[aria-label*="2024"]:not(.today):not(.selected) {
    color: #cbd5e0 !important;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .calendar-container {
        max-width: 280px;
        padding: 10px;
    }
    
    .flatpickr-calendar {
        width: 250px !important;
    }
    
    .flatpickr-day {
        width: 28px !important;
        height: 28px !important;
        line-height: 28px !important;
        font-size: 10px !important;
    }
}
/* 
.property-comparison {
    font-family: Arial, sans-serif;
    margin-top: 20px;
    padding: 20px;
    border-radius: 12px;
    background-color: #f9f9f9;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.property-comparison h5 {
    font-size: 20px;
    margin-bottom: 16px;
    color: #2c3e50;
    border-bottom: 2px solid #3498db;
    padding-bottom: 6px;
}

.property-comparison table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background-color: #ffffff;
}

.property-comparison th,
.property-comparison td {
    border: 1px solid #ddd;
    padding: 12px 16px;
    text-align: left;
    vertical-align: top;
}

.property-comparison th {
    background-color: #3498db;
    color: white;
    font-weight: bold;
    font-size: 15px;
}

.property-comparison td {
    font-size: 14px;
    color: #333;
}

.property-comparison ul {
    list-style-type: disc;
    padding-left: 20px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.property-comparison ul li {
    margin-bottom: 6px;
    line-height: 1.4em;
}

.property-comparison a {
    color: #2980b9;
    text-decoration: none;
}

.property-comparison a:hover {
    text-decoration: underline;
}

.property-comparison em {
    color: #7f8c8d;
    font-size: 13px;
} */
