/* === Custom Fullscreen & Mobile Fixes === */

/* 1. Custom Fullscreen Button */
.map-fullscreen-btn {
    position: absolute;
    bottom: 25px;
    right: 20px;
    z-index: 150;
    background: rgba(20, 20, 20, 0.95);
    /* Slightly darker */
    backdrop-filter: blur(12px);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    /* iOS style rounded rect */
    width: 44px;
    /* Larger touch target */
    height: 44px;
    font-size: 1.4rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.map-fullscreen-btn:hover {
    background: white;
    color: black;
    transform: scale(1.1);
}

/* 2. Expanded Mode (Applied to .results-layout) */
.map-expanded-mode {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 99999 !important;
    background: #0a0e27 !important;
    display: flex !important;
    flex-direction: row !important;
}

.map-expanded-mode .results-itinerary {
    display: none !important;
}

.map-expanded-mode .results-map {
    width: 100% !important;
    height: 100% !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.map-expanded-mode #map {
    width: 100% !important;
    height: 100% !important;
    flex: 1 !important;
    border-radius: 0 !important;
}

/* Keep controls visible in fullscreen */
.map-expanded-mode .map-filter-container {
    top: 20px;
    left: 20px;
}

.map-expanded-mode .refinement-chat {
    position: relative;
    z-index: 100;
}

/* 3. Helper for Mobile Dropdown Scroll */
/* 3. Helper for Mobile Dropdown Scroll */
@media (max-width: 768px) {
    .map-filter-container.active .map-day-dropdown {
        max-height: 50vh !important;
        overflow-y: scroll !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        touch-action: pan-y !important;
        padding-bottom: 30px !important;
        pointer-events: auto !important;
    }

    /* Ensure options are touchable */
    .map-day-option {
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        pointer-events: auto !important;
    }

    /* Force scrollbar visibility on mobile */
    .map-day-dropdown::-webkit-scrollbar {
        width: 8px !important;
        display: block !important;
    }

    .map-day-dropdown::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.4) !important;
        border-radius: 4px !important;
    }
}