 :root {
            --primary-blue: #84a5b8;
            --dark-bg: #1a1a1a;
            --text-muted: #6c757d;
        }

        body {
            font-family: "Jost", sans-serif;
            color: #333;
        }

        /* Navbar Styling */
        .navbar {
            padding: 10px 0;
            transition: background 0.3s;
            z-index: 1000;
            border-bottom: 1px solid #fff;
        }
        .navbar-brand img {
            height: auto;
        }
        .nav-link {
            color: white !important;
            font-size: 19px;
            margin: 0 10px;
        }

        /* Hero Section */
        .hero {
            height: 46.3rem;
            background: linear-gradient(rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.59)), url('../images/homeslider.jpg') no-repeat center center/cover;
            display: flex;
            align-items: center;
            color: white;
            padding-top: 80px;
        }
		 .aboutus {
            height: 25.5rem;
            background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('../images/abthero.jpg') no-repeat center center/cover;
            display: flex;
            align-items: center;
            color: white;
            padding-top: 80px;
        }
		
		
		.omiss{
			border-bottom: 1px solid #9e9e9e4a;
  padding-bottom: 60px;
		}
		.cancellation {
            height: 25.5rem;
            background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('../images/cancalletion.jpg') no-repeat center center/cover;
            display: flex;
            align-items: center;
            color: white;
            padding-top: 80px;
        }
		
		.contactus {
            height: 25.5rem;
            background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('../images/contus.jpg') no-repeat center center/cover;
            display: flex;
            align-items: center;
            color: white;
            padding-top: 80px;
        }
		.properties {
            height:31rem;
            background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('../images/properties.jpg') no-repeat center center/cover;
            display: flex;
            align-items: center;
            color: white;
            padding-top: 80px;
        }
        .hero h1 {
            font-weight: 700;
  font-size: 3.1rem;
  line-height: 1.1;
  margin-top: 150px;
  
        }
        .btn-book {
            background-color: #a0937d;
            color: black;
            border: none;
            padding: 12px 30px;
            border-radius: 4px;
            text-transform: uppercase;
            font-weight: 600;
            margin-top: 20px;
        }

       .mission-section {
  background-color: #ffffff;
  border-top-left-radius: 50px;
  margin-top: -50px;
  position: relative;
  z-index: 10;
  padding: 85px 0;
  border-left: 1px solid #eee;
  border-top: 1px solid #eee;
  border-top-right-radius: 50px;
}

.mission-abt {
  
 border-top-left-radius: 50px;
  position: relative;
  z-index: 10;
  padding: 85px 514px;
 
}
.mission-abt p {
  font-size: 18px;
  line-height: 1.4em;
}

.mission-title {
  font-weight: 700;
  font-size: 2.5rem;
  /* Aligns "Our Mission" closer to the text on the right */
  padding-left: 15%; 
}

@media (max-width: 768px) {
  .mission-section {
    margin-top: -30px;
    border-top-left-radius: 30px;
  }
  .mission-title {
    padding-left: 0;
    margin-bottom: 20px;
  }
}
        /* Video/Studio Section */
        .studio-section {
            background-color: black;
            padding: 100px 0;
            text-align: center;
            color: white;
        }
        .studio-logo {
            max-width: 600px;
            width: 90%;
            margin-bottom: 30px;
        }
        .play-btn {
            font-size: 3rem;
            color: white;
            cursor: pointer;
        }

        /* Properties Cards */
        .property-card {
            border: none;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            border-radius: 0;
            margin-bottom: 30px;
        }
        .property-card img {
            height: 250px;
            object-fit: cover;
        }
        .property-info {
            padding: 20px;
        }
        .property-price {
            color: #84a5b8;
            font-weight: 600;
        }
        .property-footer {
            display: flex;
            justify-content: space-between;
            border-top: 1px solid #eee;
            padding: 10px 20px;
            font-size: 1rem;
            background: #fafafa;
        }

      /* Container Background */
.testimonials {
    background-color: #f9f9f9;
    background-image: url('../images/testimonials_bg.jpg');
    background-size: cover;
    padding: 80px 0;
    overflow: hidden; /* Prevents horizontal scrollbars */
}

/* Slide Wrapper */
.testimonial-slider .px-3 {
    width: 760px; /* 700px card + 60px total spacing */
    outline: none;
    transition: all 0.4s ease;
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Default Card Style (The side slides) */
.testimonial-card {
    width: 700px;
    margin: 0 auto;
    background: white;
    padding: 40px;
    border-radius: 10px;
    text-align: center;
    transition: all 0.4s ease;
    min-height: 320px;
    border: 1px solid #eee;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    /* Make side cards slightly faded */
    opacity: 0.6; 
    transform: scale(0.9); 
}
.testimonials.py-5 h2 {
  font-size: 40px;
}
.testimonials.py-5 p{
	text-align: center;
  max-width: 650px;
  margin: 14px auto 40px;
  color: #000;
  line-height: 1.6em;
  font-size:18px;
}

/* CENTER Active Card Style */
.slick-center .testimonial-card {
    background-color: #84a5b8 !important;
    color: white !important;
    opacity: 1; /* Fully visible */
    transform: scale(1.05); /* Make it larger than side cards */
    border-color: transparent;
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    position: relative;
    z-index: 10; /* Ensure it stays on top */
}

/* Typography Colors for Active Slide */
.slick-center .testimonial-card p, 
.slick-center .testimonial-card h5,
.slick-center .testimonial-card strong {
    color: white !important;
}

/* User Image Styling */
.img_sec img {
    border: 3px solid #eee;
    margin-bottom: 15px;
    transition: all 0.4s ease;
}

.slick-center .img_sec img {
    border-color: rgba(255,255,255,0.8);
    transform: scale(1.1);
}

/* Responsive Fixes */
@media (max-width: 992px) {
    .testimonial-slider .px-3 {
        width: 100vw; /* Full screen on mobile/tablets */
    }
    .testimonial-card {
        width: 90%;
        transform: scale(1) !important;
        opacity: 1 !important;
    }
}

        /* Footer */
        footer {
            background-color: var(--primary-blue);
            color: white;
            padding: 60px 0 20px;
            font-size: 16px;
        }
        footer a {
            color: white;
            text-decoration: none;
            display: block;
            margin-bottom: 8px;
			font-size: 14px;
        }
        .social-icons a {
            display: inline-block;
            margin-right: 15px;
            font-size: 1.1rem;
        }
        .newsletter-input {
            background: transparent;
            border: 1px solid rgba(255,255,255,0.5);
            color: white;
            padding: 8px;
            width: 100%;
            margin-bottom: 10px;
        }
        .btn-subscribe {
            background: rgba(255,255,255,0.3);
            color: white;
            border: none;
            padding: 8px 20px;
            width: 100%;
        }

        @media (max-width: 768px) {
            .hero h1 { font-size: 2.2rem; }
            .mission-title { margin-bottom: 20px; }
        }
		.studio-section {
    background-color: #000 !important;
    min-height: 60vh; /* Adjust based on preference */
    display: flex;
    align-items: center;
}

.studio-logo {
    width: 100%;
    height: auto;
}

/* Ensure the video doesn't have weird default borders */
video {
    object-fit: cover;
    background-color: #000;
}

/* Container for the images */
.property-image-wrapper {
    position: relative;
    width: 100%;
    height: 250px; /* Adjust height to match your design */
    overflow: hidden; /* Necessary for the zoom effect */
}

/* Base style for both images */
.property-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease, opacity 0.6s ease;
}

/* Image 2 starts invisible */
.img-hover {
    opacity: 0;
}

/* Effect when hovering over the CARD */
.property-card:hover .img-main {
    opacity: 0;
    transform: scale(1.1); /* Zoom effect */
}

.property-card:hover .img-hover {
    opacity: 1;
    transform: scale(1.1); /* Zoom effect */
}
.contact-section {
    background-color: #fff;
    font-family: 'Montserrat', sans-serif;
}

/* The Light Blue Form Box */
.contact-form-box {
    background-color: #c4f0f1; /* Match the light blue in image */
    padding: 50px 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Underline Input Style */
.form-underline {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid #000;
    background: transparent;
    padding: 8px 0;
    border-radius: 0;
    outline: none;
    transition: border-color 0.3s;
}

.form-underline:focus {
    border-bottom: 1.5px solid #84a5b8;
}

/* Labels */
.form-label {
    margin-bottom: 0;
    font-size: 0.85rem;
}

/* Black Send Button */
.btn-send {
    background-color: #000;
    color: #fff;
    border-radius: 0;
    padding: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.3s;
}

.btn-send:hover {
    background-color: #333;
    color: #fff;
}

/* Info Icon Colors */
.contact-info i {
    color: #84a5b8;
}

/* Responsive fixes */
@media (max-width: 768px) {
    .contact-form-box {
        padding: 30px 20px;
    }
}
.contact-section p {
  color: #000;
  font-weight: 500;
}
.contact-form-box {
    background-color: #c4f0f1; /* Light Blue */
    padding: 60px 40px;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.form-underline {
    width: 100%;
    border: none;
    border-bottom: 1px solid #000;
    background: transparent;
    padding: 10px 0;
    outline: none;
}

.btn-black {
    background: #000;
    color: #fff;
    border-radius: 0;
    text-transform: uppercase;
}

.btn-black:hover { color: #fff; background: #333; }

#successMessage {
    font-size: 1.1rem;
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* properties 421 start */

        .page-hero421 {
            height: 28rem;
            background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('../images/prop_421studio.jpg');
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            text-align: center;
        }
		.page-hero421 h1 {
  font-size: 3rem;
}

        /* Gallery */
        .main-img-container { width: 100%; border-radius: 15px; overflow: hidden; margin-bottom: 20px; }
        .main-img-container img { width: 100%; height: 500px; object-fit: cover; }
        .thumb-img { height: 100px; width: 100%; object-fit: cover; cursor: pointer; border-radius: 8px; opacity: 0.7; transition: 0.3s; }
        .thumb-img:hover, .thumb-img.active { opacity: 1; border: 2px solid var(--primary-blue); }

        /* Property Details Info Bar */
        .info-bar { border-top: 2px dotted #0000001f; padding: 20px 0; margin: 30px 0; }
        .info-item span { color: #888; font-size: 0.8rem; text-transform: uppercase; }
        .info-item strong { display: block; font-size: 0.95rem; }

        .btn-book { border: 1px solid #333; background: transparent; padding: 10px 40px; border-radius: 0; font-weight: 500; }
        .btn-book:hover { background: #333; color: white; }
		
		.btn-booknow { background: #ffffff5e;
  padding: 10px 40px;
  border-radius: 6px;
  letter-spacing: normal;
  color: #fff;
  font-size: 18px;
  transition: all ease .4s;
  font-weight: 400; }
        .btn-booknow:hover { background: #fff;
  color: #04b6179c; }

        /* Description Lists */
        .detail-section h6 { font-weight: 700; margin-top: 25px; margin-bottom: 15px; }
        .detail-list { padding-left: 20px; font-size: 1rem; line-height: 1.8; }
        
        /* FAQ Accordion */
        .accordion-button:not(.collapsed) { background-color: transparent; color: inherit; box-shadow: none; }
        .accordion-item { border: none; border-bottom: 1px solid #eee; }
        .accordion-button { font-weight: 600; font-size: 0.9rem; padding: 20px 0; }

        @media (max-width: 768px) {
            .main-img-container img { height: 300px; }
            .info-bar .row > div { margin-bottom: 15px; }
        }
		.detail-section p {
  font-size: 18px;
  color: #000;
}
.accordion-body.text-muted.small {
  font-size: 18px;
  line-height: 1.4em;
  color: #000 !important;
}

/* properties 421 end */

/* Remove underline and keep original text colors for the card link */
a.text-decoration-none {
    text-decoration: none !important;
    color: inherit !important; /* This keeps your black and muted colors exactly as they were */
}

/* Optional: If you want the title to turn blue ONLY when hovering over the card */
a:hover .fw-bold {
    color: #84a5b8; 
    transition: color 0.3s ease;
}
.rte ul li {
  font-size: 1rem;
  line-height: 29px;
}
#subscribe-success {
    animation: fadeIn 0.5s ease;
    font-size: 0.9rem;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Ensure the checkmark is green or white based on your preference */
#subscribe-success i {
    font-size: 1.1rem;
    color: #fff; /* White to match your footer text */
}

.search-overlay {
    position: fixed;
    top: -100%; /* Hidden off-screen initially */
    left: 0;
    width: 100%;
    background: #000;
    z-index: 10000;
    transition: top 0.4s ease;
    color: #fff;
}

.search-overlay.active {
    top: 0;
}

.search-input-wrapper {
    border: 1px solid #fff;
    padding: 10px 15px;
    position: relative;
}

.search-label {
    display: block;
    font-size: 0.65rem;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 2px;
}

.search-field {
    background: transparent;
    border: none;
    color: #fff;
    width: 100%;
    font-size: 1.2rem;
    outline: none;
}

.search-clear {
    color: #fff;
    cursor: pointer;
    margin: 0 15px;
	
}

.search-submit-btn {
    background: transparent;
    border: none;
    border-left: 1px solid #444;
    padding-left: 15px;
    color: #fff;
}

/* Suggestions Panel */
.search-suggestions-panel {
    background: #0a0a0a;
    border: 1px solid #222;
    border-top: none;
}

.suggestion-group {
    padding: 20px;
    border-bottom: 1px solid #222;
}

.group-title {
    font-size: 0.65rem;
    color: #666;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.suggestion-item {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    display: block;
}

.search-footer-link {
    padding: 15px 20px;
}

.search-footer-link a {
    color: #fff;
    text-decoration: none;
    font-size: 0.9rem;
}

.close-search-wrapper {
    font-size: 2rem;
    color: #fff;
    cursor: pointer;
    padding-top: 10px;
}
.search-results-bg {
    background-color: #0d0d0d;
    border: 1px solid #333;
    border-top: none;
}

.search-overlay .group-title {
    font-size: 0.7rem;
    color: #888;
    letter-spacing: 1px;
}

.search-footer-bar {
    background: #111;
    border-top: 1px solid #333;
    padding: 15px 25px;
}

.close-search-btn {
    cursor: pointer;
    transition: transform 0.3s;
}

.close-search-btn:hover { transform: rotate(90deg); }

/* Ensure input looks clean */
.search-input-wrapper {
    border: 1px solid #fff;
    padding: 10px 20px;
    background: #000;
}

.search-field::placeholder { color: #555; }

/* Prevent scrolling when search is active */
body.search-active {
    overflow: hidden;
}

/* The backdrop logic */
.search-overlay.active::after {
   position: fixed;
  content: "";
  background-color: rgba(199, 199, 199, 0.48);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100vh;
  width: 100vw;
  z-index: -1;
  pointer-events: none;
}

/* Ensure the search content stays above the backdrop */
.search-overlay .container {
    position: relative;
    z-index: 10;
}