/* --- MOBILE & TABLET (Sotto i 900px) --- */
@media (max-width: 900px) {
    
    /* 1. NAVBAR MOBILE */
    #navbar { 
        padding: 15px 20px !important; 
    }
    
    .nav-container {
        width: 100%;
        justify-content: space-between;
    }

    .logo { font-size: 1.2rem !important;  }
    .sub-logo { font-size: 0.5rem !important; letter-spacing: 1px !important; }

    .hamburger { 
        display: block; 
        position: relative; 
        z-index: 1001; 
        margin-left: 0 !important;
        color: white !important; 
    }

    /* 2. MENU A TENDINA (OVERLAY) */
    .nav-links {
        display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 30px;
        position: fixed; top: 0; right: -100%; width: 100%; height: 100vh;
        background: rgba(10, 25, 47, 0.98); backdrop-filter: blur(10px);
        transition: right 0.4s ease; z-index: 999;
    }
    .nav-links.active { right: 0; }
    .nav-links a { color: white !important; font-size: 1.5rem; }

    .nav-links .lang-item {
        margin-top: 20px; 
        border-top: 1px solid rgba(255,255,255,0.1);
        padding-top: 20px;
        width: 100%;
        text-align: center;
    }
    .nav-links .lang-item select {
        color: white !important;
        border: 1px solid white !important;
        font-size: 1rem;
        padding: 10px 20px;
        background: transparent;
    }

    /* 3. HOME PAGE: Camere in colonna */
    .section-padding { padding-top: 10px; padding-bottom: 16px; }
    h2.section-title { font-size: 2rem; margin-bottom: 20px !important; }
    .lead-text { margin-bottom: 20px !important; }
    
    .room-row { margin-bottom: 40px; gap: 0; display: block; }
    .room-text { display: none !important; } 
    .mobile-room-title {
        display: block; position: absolute; top: 30px; left: 50%; transform: translateX(-50%);
        width: 100%; text-align: center; color: white !important;
        font-family: var(--font-heading); font-size: 2rem; z-index: 20;
        text-shadow: 0 2px 10px rgba(0,0,0,0.8); pointer-events: none; margin: 0; padding: 0 10px; line-height: 1.1;
    }
    .room-overlay-btn {
        display: block; position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%);
        background: rgba(255, 255, 255, 0.95); color: var(--primary) !important;
        padding: 12px 30px; border-radius: 50px; font-size: 0.75rem; font-weight: 600;
        text-transform: uppercase; z-index: 30; box-shadow: 0 4px 15px rgba(0,0,0,0.3); text-decoration: none;
    }

    /* 4. PAGINE INTERNE */
    .room-detail-grid { display: flex; flex-direction: column; gap: 30px; }
    .detail-text { order: 1; } 
    .right-column-wrapper { order: 2; margin-top: 20px; } 
    .services-list ul { grid-template-columns: 1fr; }
    .resources-grid, .gallery-grid { grid-template-columns: 1fr; gap: 30px; }

    .slider-container, .room-slider { height: 350px; margin-bottom: 20px; background-color: #eee; }
    .slider-btn, .slider-arrow { width: 50px; height: 50px; background: rgba(0,0,0,0.4); opacity: 1; z-index: 25; outline: none; }
}

/* --- DESKTOP (Sopra i 901px) --- */
@media (min-width: 901px) {
    .room-row { display: flex !important; align-items: center; justify-content: space-between; gap: 60px; height: 500px; margin-bottom: 80px; }
    .room-row.reverse { flex-direction: row-reverse; }
    .room-row .slider-container { width: 60% !important; height: 100% !important; }
    
    .room-text { display: block !important; width: 40%; text-align: left; padding: 0 10px; }
    .mobile-room-title, .room-overlay-btn { display: none !important; }

    .nav-links .lang-item { 
        margin-top: 0; 
        border-top: none; 
        padding-top: 0; 
        width: auto; 
    }

    .room-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
    .detail-text .booking-widget { margin-top: 0 !important; }
    .right-column-wrapper { margin-top: 2px; }
}

@media (max-width: 900px) {

    .nav-links a,
    #navbar.scrolled .nav-links a {
        color: #ffffff !important;
    }

    #navbar:not(.scrolled) .hamburger {
         color: #ffffff !important;
    }

    #navbar.scrolled .hamburger {
         color: var(--primary) !important; 
    }

    .nav-links .lang-item select,
    #navbar.scrolled .nav-links .lang-item select {
        color: #ffffff !important;
        border-color: rgba(255,255,255,0.5) !important;
    }
}