.anim-order-1, .anim-order-2{
    opacity: 0;
}

/* Leaflet Map Custom Styles */
#leaflet-map {
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    background: #f5f5f5;
}

.custom-marker {
    transition: all 0.3s ease;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.3));
}

.custom-marker:hover {
    filter: drop-shadow(0 6px 10px rgba(0,0,0,0.4));
    transform: scale(1.1);
}

.leaflet-popup-content-wrapper {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    background: #fff;
}

.leaflet-popup-content {
    margin: 15px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}

.leaflet-popup-tip {
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    background: #fff;
}

.leaflet-control-attribution {
    font-size: 10px;
    background: rgba(255,255,255,0.8) !important;
}

/* Mappa stile grayscale per i tile */

.swiper-slide.swiper-slide-active .anim-order-1,
.swiper-slide.swiper-slide-duplicate-active .anim-order-1{
    animation-name: fadeInUp;
    animation-duration: .75s;
    animation-delay: .5s;
}
.swiper-slide.swiper-slide-active .anim-order-2,
.swiper-slide.swiper-slide-duplicate-active .anim-order-2{
    animation-name: fadeInUp;
    animation-duration: .75s;
    animation-delay: .8s;
}

.jarallax-img{
    margin-top: 0!important;
}
.room-img-fixed {
    display: block;
    width: 100%;
    max-height: 563px;
    object-fit: cover;       /* Riempe il contenitore senza deformare, taglia i bordi se necessario */
    object-position: bottom; /* Centra l'immagine nel crop */
    border-radius: 0.25rem;  /* Equivalente a Bootstrap "rounded-1" */
}
#section-gallery .item .img-appartment img {
    display: block;
    width: 100%;
    height: 350px;
    object-fit: cover;       /* Riempe il contenitore senza deformare, taglia i bordi se necessario */
    object-position: bottom; /* Centra l'immagine nel crop */
    border-radius: 0.25rem; 
}
 body{
        height: auto!important;
    }
    #section-faq-contact {
        background-color: #f8f9fa;
    }

    /* ===== ACCORDION STYLING ===== */
    .accordion-button {
        background-color: #fff;
        color: #212529;
        padding: 1rem 1.25rem;
        font-weight: 600;
        font-size: 0.9rem;
        border-radius: 8px !important;
        transition: all 0.3s ease;
        padding: 30px;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    .accordion-button:not(.collapsed) {
        background-color: #212529;
        color: #fff;
        box-shadow: none;
    }
    .accordion-button:not(.collapsed)::after {
        filter: brightness(0) invert(1);
    }
    .accordion-item {
        border-radius: 8px !important;
        overflow: hidden;
        transition: transform 0.2s ease;
    }

    .accordion-body {
        background-color: #fff;
        padding: 1.25rem;
        font-size: 18px;
        line-height: 1.5;
    }

    /* ===== FLOATING LABELS COMPACT ===== */
    .form-floating > .form-control,
    .form-floating > .form-select {
        padding: 0.6rem 0.75rem;
        font-size: 0.9rem;
        height: calc(3.2rem + 2px);
    }

    .form-floating > label {
        padding: 0.6rem 0.75rem;
        font-size: 0.9rem;
    }

    .form-floating > textarea.form-control {
        height: auto;
        min-height: 100px;
    }

    /* ===== STICKY FORM ===== */
    .sticky-form-container {
        position: relative;
        min-height: 1px;
    }

    .sticky-form-wrapper {
        position: relative;
        z-index: 10;
    }

    .sticky-form-wrapper.is-sticky {
        position: fixed;
        top: var(--sticky-top, 100px);
        width: var(--sticky-form-width, 100%);
    }

    .sticky-form-wrapper.is-stuck {
        position: absolute;
        top: var(--sticky-stop-offset, 0px);
        width: 100%;
    }

    /* Limita altezza form se troppo lungo */
    .sticky-form-wrapper > div {
        max-height: calc(100vh - 140px);
        overflow-y: auto;
    }

    /* Custom scrollbar per il form */
    .sticky-form-wrapper > div::-webkit-scrollbar {
        width: 5px;
    }
    .sticky-form-wrapper > div::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 3px;
    }
    .sticky-form-wrapper > div::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 3px;
    }
    .sticky-form-wrapper > div::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 991px) {
        .sticky-form-container,
        .sticky-form-wrapper,
        .sticky-form-wrapper.is-sticky,
        .sticky-form-wrapper.is-stuck {
            position: static !important;
            top: auto;
            bottom: auto;
            width: auto;
        }
        .sticky-form-wrapper > div {
            max-height: none;
            overflow-y: visible;
        }
        .accordion-item:hover {
            transform: none;
        }
    }

    /* ===== FOCUS & BUTTON STYLES ===== */
    .form-control:focus,
    .form-select:focus {
        border-color: #212529;
        box-shadow: 0 0 0 0.2rem rgba(33, 37, 41, 0.1);
    }

    .btn-main {
        padding: 10px 24px;
        font-weight: 600;
        text-transform: uppercase;
        font-size: 0.85rem;
        letter-spacing: 0.5px;
        transition: all 0.3s ease;
    }

    .btn-main:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    }

    .form-check {
        padding-left: 0!important;
    }
    .wpcf7-list-item {
    margin: 0!important;
    }
    .wpcf7 form.sent .wpcf7-response-output {
    border-color:var(--secondary-color);
    background-color: var(--secondary-color);
    color: #fff;
    }
  input[type="checkbox"].is-invalid {
    outline: 2px solid #dc3545;
    outline-offset: 1px;
    border-color: #dc3545; /* Alcuni browser datati lo usano */
    }
    .wpcf7-spinner {
	    margin: 10px 5px 0;
    }
    .wpcf7 form .wpcf7-response-output {
        margin: 0 0 25px;
    }
     .moove-gdpr-company-logo-holder {
      max-width: 300px !important;
  }
  .moove-gdpr-branding-cnt {
    display: none !important;
  }
  #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v2 .moove-gdpr-modal-title .moove-gdpr-company-logo-holder img {
    width: 65%;
    max-height: fit-content;
}
.moove-gdpr-cookie-notice {
       letter-spacing: -0.2px;
}
.banner-proprety h3 {
    letter-spacing: -0.3px;
}