body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: 'Lora', sans-serif; 
}

.container {
    flex: 1;
}

.property-card {
    transition: transform .2s ease-out, box-shadow .2s ease-out;
}
.property-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}
.property-card .card-img-top {
    width: 100%;
    height: 200px; 
    object-fit: cover; 
}
.property-card .price {
    color: #0d6efd; 
    font-size: 1.25rem;
}
.carousel-item img {
    max-height: 550px; 
    object-fit: cover;

}


/* Responsive adjustments */
@media (max-width: 768px) {
    .jumbotron .display-4 {
        font-size: 2.5rem;
    }
    #propertyCarousel, .carousel-item img {
        max-height: 300px;
    }
}


.admin-login-container {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.admin-login-form {
    width: 100%;
    max-width: 400px;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #fff;
}





.homepage-slider-container {

    width: 100%;
}

.homepage-slider {
    
}

.homepage-slider .slider-caption {
   
    padding: 15px 0; 
}



.homepage-slider .slick-slide {
    position: relative; 
    outline: none; 
}

.homepage-slider .slider-image {
    width: 100%;
    height: 550px; 
    object-fit: cover; 
    
}

.homepage-slider .slider-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6); 
    color: #ffffcc;
    padding: 15px 20px;
    box-sizing: border-box;
}


.homepage-slider .descrizione {
   
    color: #fff;
   }


.homepage-slider .slider-caption h3 {
    margin: 0;
    font-size: 1.5rem; 
    font-weight: bold;
}
.homepage-slider .slick-slide a,
.homepage-slider .slick-slide a:hover {
    text-decoration: none;
    color: inherit; 
}


.homepage-slider .slick-prev,
.homepage-slider .slick-next {
    z-index: 10;
    width: 40px;
    height: 40px;
}
.homepage-slider .slick-prev:before,
.homepage-slider .slick-next:before {
    font-size: 30px; 
    color: white; 
    opacity: 0.75;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.homepage-slider .slick-prev { left: 25px; }
.homepage-slider .slick-next { right: 25px; }

.homepage-slider .slick-dots li button:before {
    font-size: 12px; 
    color: white;
    opacity: 0.5;
}
.homepage-slider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: white; 
}
.homepage-slider .slick-dots {
    bottom: 15px; 
}

/* Responsive Slider */
@media (max-width: 768px) {
    .homepage-slider .slider-image {
        height: 300px; 
    }
    .homepage-slider .slider-caption h3 {
        font-size: 1.2rem;
    }
    .homepage-slider .slick-prev,
    .homepage-slider .slick-next {
        width: 30px;
        height: 30px;
    }
    .homepage-slider .slick-prev:before,
    .homepage-slider .slick-next:before {
        font-size: 20px;
    }
    .homepage-slider .slick-prev { left: 10px; }
    .homepage-slider .slick-next { right: 10px; }
}

@media (max-width: 576px) {
    .homepage-slider .slider-image {
        height: 250px;
    }
     .homepage-slider .slider-caption h3 {
        font-size: 1rem;
    }
    .homepage-slider .slider-caption {
        padding: 10px 15px;
    }
   
}



.property-detail-main-image {
    max-height: 520px; 
    object-fit: cover; 
    width: 100%;
}

.property-thumbnails-container {
    /* stile per lo scroll orizzontale */
}

.property-thumbnail {
    border: 2px solid transparent;
    transition: border-color 0.3s ease;
    opacity: 0.7;
    max-height: 75px;
    object-fit: cover; 
}

.property-thumbnail:hover {
    opacity: 1;
    border-color: #0d6efd; 
}

.property-thumbnail.active-thumbnail {
    border-color: #0d6efd; 
    opacity: 1;
    box-shadow: 0 0 5px rgba(13, 110, 253, 0.5); 
}



.navbar-logo {
    height: 40px; 
    width: auto;  
    max-height: 100%; 
    object-fit: contain;
}


@media (max-width: 991.98px) { 
    .navbar-brand {
      
        /* font-size: 1.1rem; */
    }
    .navbar-logo {
        height: 35px; 
    }
}

@media (max-width: 575.98px) { 
    .navbar-logo {
        height: 30px; 
    }
    .navbar-brand {
        font-size: 0.9rem; 
    }
}


.navbar {
    padding-top: 0.3rem; 
    padding-bottom: 0.3rem;

}

.navbar-brand {
    
    /* padding-top: .3125rem; */
    /* padding-bottom: .3125rem; */
}


.service-card {
    transition: transform .2s ease-out, box-shadow .2s ease-out;
}
.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}

.icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease; 
}
.service-card:hover .icon-circle {
    transform: scale(1.1);
} 

.service-card .card-title {
    color: #333; 
    font-weight: 600;
}


.backsearch {

background: #2562EA;
background: -webkit-linear-gradient(90deg,rgba(37, 98, 234, 1) 0%, rgba(30, 65, 176, 1) 50%);
background: -moz-linear-gradient(90deg,rgba(37, 98, 234, 1) 0%, rgba(30, 65, 176, 1) 50%);
background: linear-gradient(90deg,rgba(37, 98, 234, 1) 0%, rgba(30, 65, 176, 1) 50%);
filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr="#2562EA",
  endColorstr="#1E41B0",
  GradientType=1
);

}

.backbanner {

 background-image: url("https://www.immobiliaresirio.it/agenzia/assets/img/homeclipart.png");


}


.footercolor {

background: #1e3a8a;



}



{

background: #1e3a8a;
}

.sfondo{

background: #edf5ff;
}


/* Stile per la mappa */
.full-width-map {
    width: 100%;
    height: 450px; 
    background-color: #e9ecef; 
}


@media (max-width: 767.98px) {
    .full-width-map {
        height: 350px;
    }
}


.contact-info p {
    font-size: 1.1rem;
    margin-bottom: 0;
}
.contact-info .h4 {
    font-weight: 600;
}



.custom-carousel-container {
    overflow: hidden; 
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

 
}

.custom-carousel-inner {
    position: relative;
    width: 100%;
 
}

.custom-carousel-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    
    opacity: 0;
    visibility: hidden; 
    
    
    transition: opacity 0.7s ease-in-out, visibility 0.7s ease-in-out;
    
}

.custom-carousel-item.active {
    
    opacity: 1;
    visibility: visible;
    position: relative; 
    z-index: 10;
}

#customCarousel .carousel-control-prev,
#customCarousel .carousel-control-next {
    z-index: 20;
}


.navbar-dark .navbar-nav .nav-link {
    color: #FFFF00; /* giallo */
    transition: color 0.2s ease-in-out; 
}

/* hover e focus */
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #FFFFFF;
}

/* pagina attiva */
.navbar-dark .navbar-nav .nav-link.active {
    color: #FFFFFF; 
    font-weight: 500; 
}

/* colore nome */
.navbar-dark .navbar-brand {
    color: #FFFFFF; 
}


footer a {
 
    color: #FFFFFF; 

    transition: color 0.4s ease-in-out;
text-decoration: none;
}
footer a:hover,
footer a:focus {
    color: #FFC107;
text-decoration: none;
}




