/* ===================================
    Crafto - Music onepage
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&display=swap');
/* variable */
:root {     
    --alt-font: 'Playfair Display', serif; 
    --primary-font: 'Inter', sans-serif;
    --base-color: #DAA520;
    --yellow: #ffd40c;
    --dark-gray: #0f0f14;
    --medium-gray:#777781;
} 
/* reset */
body {
    font-size: 17px;
    font-weight: 500;
}
/* primary font */
.primary-font {
    font-family: var(--primary-font) !important;
}
/* section */
section {
    padding-top: 130px;
    padding-bottom: 130px;
}
/* icon */
.icon-double-large {
    font-size: 70px;
}
/* header */
.left-modern-menu .left-modern-header .navbar-brand img {
    max-height: 40px;
}
.menu-item-list .nav-link {
    font-size: 26px;
    line-height: 48px;
    padding: 7px 20px 0 0;
}
.left-modern-menu .left-modern-header .modern-side-menu {
    padding: 75px 0;
    border-left: 1px solid #18181e;
}
.left-modern-menu .left-modern-header .modern-side-menu .mCustomScrollBox .mCSB_container {
    padding: 0;
}
.menu-item-list .menu-item {
    border-bottom: 1px solid #18181e;
    padding: 10px 60px;
}
.menu-item-list .menu-item:last-child {
    border-bottom: 0;
}
.menu-item-list .active .nav-link {
    opacity: 1; 
    color: var(--base-color);
}
.menu-item-list .nav-link:hover {
    opacity: 1;
    color: var(--base-color);
}
/* letter spacing */
.ls-15px {
    letter-spacing: 15px;
}
/* margin top bottom */
.mt-minus-30px {
    margin-top: -30px;
}
.mt-minus-50px {
    margin-top: -50px;
}
/* font size */
.fs-460 {
    font-size: 460px;
}
/* word break normal */
.word-break-normal {
    word-break: normal;
}
/* text color */
.text-black-russian-gray {
    color: #1d1d23;
}
/* bg color */
.bg-black-russian-gray {
    background-color: #1d1d23;
}
.bg-payne-gray {
    background-color: #45454a;
}
/* portfolio creative */
.portfolio-creative .portfolio-box .portfolio-title::after {
    letter-spacing: 0;
    font-size: 145px;
    top: 0;
}
.portfolio-creative .portfolio-box .portfolio-title::before {
    top: 20px; 
}
.portfolio-creative .grid-item .popup-vimeo {
    display: block;
}
.portfolio-creative .portfolio-box i {
    margin-left: 3px;
}
/* tracklist style */
.tracklist-style:hover {
    background-color: #17171d;
}
/* countdown style 03 */
.countdown-style-03 .countdown-box {
    width: 90px;
    margin: 0 5px;
    text-align: left;
}
.countdown-style-03 .countdown-box .number {
    color: var(--white);
    font-size: 63px;
    line-height: 65px;
    font-weight: 400;
    letter-spacing: 1px;
}
.countdown-style-03 .countdown-box span {
    font-size: 14px;
    line-height: 16px;
    font-weight: 700;
    position: relative;
    top:-14px;
}
/* swiper number pagination progress */
.swiper-number-pagination-progress .swiper-pagination-wrapper .swiper-pagination-progress {
    background-color: #212128;
}
.swiper-number-pagination-progress .swiper-pagination-wrapper .number-prev, .swiper-number-pagination-progress .swiper-pagination-wrapper .number-next {
    color: var(--white); 
}
.services-box-style-01 .icon-box {
    margin-top: 0;
}
/* stack box */
.stack-box {
    height: 200vh;
}
/* footer */
.footer-navbar a {
    color: var(--white);
    text-transform: uppercase;
    font-size: 15px;
    padding: 0 30px;
}
footer {
    padding-top: 100px;
    padding-bottom: 100px;
}

.left-modern-sidebar {
    width: 100px;
}

/* apartment sections styling - elegant and professional */
#apartments .row .col-lg-6 .ps-4,
#apartments .row .col-lg-6 .pe-4 {
    padding-top: 15px;
}

#apartments h3.alt-font {
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 16px;
    font-weight: 600;
    letter-spacing: -0.5px;
}

#apartments p.text-medium-gray {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
    opacity: 0.85;
    font-weight: 400;
}

#apartments h5.text-white {
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 8px;
    font-weight: 500;
    letter-spacing: 0.2px;
}

#apartments h4.text-white {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 12px;
    margin-top: 20px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

#apartments ul.list-style-02 {
    margin-bottom: 0;
}

#apartments ul.list-style-02 li {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 8px;
    opacity: 0.85;
    font-weight: 400;
}

#apartments ul.list-style-02 li i {
    opacity: 1;
}

#apartments .row {
    margin-bottom: 40px;
}

#apartments .row:last-child {
    margin-bottom: 0;
}

/* apartment image styling - increased height without stretching */
#apartments .col-lg-6 img {
    height: 460px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

@media (max-width: 991px) {
    #apartments .col-lg-6 img {
        height: 350px;
    }
}

@media (max-width: 767px) {
    #apartments .col-lg-6 img {
        height: 300px;
    }
}



/* media query responsive */
@media (max-width: 1600px){
    section {
        padding-top: 110px;
        padding-bottom: 110px;
    }
}
@media (max-width: 1399px) {
    .fs-460 {
        font-size: 370px;
    }
}
@media (max-width: 1199px) {
    .fs-460 {
        font-size: 270px;
    }
    section {
        padding-top: 95px;
        padding-bottom: 95px;
    }
}
@media (max-width: 991px) {
    .countdown-style-03 .countdown-box {
        width: 85px;
    }
    .countdown-style-03 .countdown-box .number {
        font-size: 60px;
        line-height: 62px;
    }
    .estate-grid-image {
        height: 200px;
    }
}
@media (max-width: 767px) {
    section {
        padding-top: 70px;
        padding-bottom: 70px;
    }
    .mt-minus-50px {
        margin-top: -10px;
    }
    .menu-item-list .menu-item {
        padding: 10px 35px;
    }
    .menu-item-list .nav-link {
        font-size: 30px;
        line-height: 34px;
    }
    .left-modern-menu .left-modern-header .modern-side-menu {
        padding: 40px 0;
    }
    .estate-grid-image {
        height: 180px;
    }
}
@media (max-width: 575px) {
    .countdown-style-03 .countdown-box {
        width: 45%;
    }
    .countdown-style-03 .countdown-box .number {
        text-align: center;
    }
    .countdown-style-03 .countdown-box span {
        text-align: center;
        width: 100%;
        display: block;
        margin-top: 5px;
    }
}
/* Add your custom css */

.estate-grid-image {
  width: 100%; /* Make image fill its container */
  height: 250px; /* Set a fixed height (adjust as needed) */
  object-fit: cover; /* Scale the image while preserving aspect ratio, cropping to fit */
  object-position: center; /* Center the image within its container */
}

/* Optional: Adjust height for different screen sizes if needed */
@media (max-width: 991px) { /* Example: Adjust for medium devices */
  .estate-grid-image {
    height: 200px;
  }
}

@media (max-width: 767px) { /* Example: Adjust for small devices */
  .estate-grid-image {
    height: 180px;
  }
}

/* Features Carousel */
.property-carousel .swiper-slide {
    width: 400px !important;
}
.property-carousel .interactive-banner-style-06,
.property-carousel .interactive-banners-image {
    height: 450px !important;
}
.property-carousel .interactive-banners-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.property-carousel .interactive-banners-content {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(transparent, rgba(0,0,0,0.8)) !important;
}
.property-carousel .interactive-banners-content p {
    color: #fff !important;
    opacity: 1 !important;
}
@media (max-width: 991px) {
    .property-carousel .swiper-slide {
        width: 350px !important;
    }
    .property-carousel .interactive-banner-style-06,
    .property-carousel .interactive-banners-image {
        height: 400px !important;
    }
}
@media (max-width: 767px) {
    .property-carousel .swiper-slide {
        width: 300px !important;
    }
    .property-carousel .interactive-banner-style-06,
    .property-carousel .interactive-banners-image {
        height: 350px !important;
    }
}

/* Gallery Last Row Spacing Fix */
.gallery-wrapper.grid {
    transition: padding-left 0.3s ease;
}

/* Gallery Caption Overlay - Small Bottom Bar Only */
.gallery-hover {
    height: auto !important;
    bottom: 0 !important;
    top: auto !important;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 60px, transparent 100%) !important;
    padding: 15px 20px !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
}

.gallery-box:hover .gallery-hover {
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 60px, transparent 100%) !important;
}

.gallery-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7) !important;
    margin-bottom: 0 !important;
}

/* Hide the search icon or make it smaller */
.gallery-hover .icon-feather-search {
    display: none !important;
}

/* Desktop navbar centering */
@media (min-width: 992px) {
    header nav.navbar .collapse.navbar-collapse {
        justify-content: center !important;
    }
}

/* Mobile navbar padding */
@media (max-width: 991px) {
    header nav.navbar .container-fluid {
        padding: 25px !important;
    }
}

/* Hide gallery captions and overlay bar */
.gallery-title {
    display: none !important;
}
.gallery-hover,
.gallery-box:hover .gallery-hover {
    background: none !important;
    padding: 0 !important;
}