/* 
   Startech Stage Reservation Styles
   Extracted from stage.php for performance and caching.
*/

/* Flatpickr Startech Custom Theme */
.flatpickr-calendar.inline {
    margin: 0 auto;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}
.flatpickr-months { background: transparent; margin-bottom: 0.5rem; }
.flatpickr-weekdays { background: transparent; }
.flatpickr-weekday { color: #00bcd4 !important; font-weight: bold; }
.flatpickr-day { color: #ccc; border-radius: 4px; border: 1px solid transparent; }
.flatpickr-day.disabled { color: #444 !important; background: transparent; text-decoration: line-through; }
.flatpickr-day:hover:not(.disabled) { background: #333; color: white; border-radius: 4px; }

/* Affichage coloriel des statuts Rentman sur Flatpickr */
.flatpickr-day.rentman-use, .flatpickr-day.manual-block {
    background: rgba(255, 85, 85, 0.4) !important;
    color: #ff5555 !important;
    border-color: rgba(255, 85, 85, 0.7) !important;
    cursor: not-allowed;
    text-decoration: line-through;
}
.flatpickr-day.rentman-plan {
    background: rgba(255, 214, 0, 0.25) !important;
    color: #ffd600 !important;
    border-color: rgba(255, 214, 0, 0.5) !important;
}
.flatpickr-day.rentman-plan:hover {
    background: rgba(255, 214, 0, 0.7) !important;
    color: black !important;
}
.flatpickr-day.rentman-free {
    background: rgba(0, 230, 118, 0.1) !important;
    color: #00e676 !important;
}
.flatpickr-day.rentman-free:hover {
    background: rgba(0, 230, 118, 0.4) !important;
    color: white !important;
}
/* Forcer le surlignage de la sélection actuelle (Bleu Startech) même si colorée par défaut par Rentman */
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange,
.flatpickr-day.selected.rentman-plan, .flatpickr-day.startRange.rentman-plan, .flatpickr-day.endRange.rentman-plan, 
.flatpickr-day.selected.rentman-free, .flatpickr-day.startRange.rentman-free, .flatpickr-day.endRange.rentman-free {
    background: #00bcd4 !important;
    color: white !important;
    border-color: #00bcd4 !important;
    font-weight: bold;
}

/* Fix spécifique pour les cases intermédiaires (inRange) */
.flatpickr-day.inRange,
.flatpickr-day.inRange.rentman-free,
.flatpickr-day.inRange.rentman-plan {
    background: #00bcd4 !important;
    border-color: #00bcd4 !important;
    color: white !important;
    border-radius: 0 !important;
    box-shadow: -5px 0 0 #00bcd4, 5px 0 0 #00bcd4 !important;
}

.flatpickr-day.startRange { border-radius: 4px 0 0 4px !important; }
.flatpickr-day.endRange { border-radius: 0 4px 4px 0 !important; }
.flatpickr-day.startRange.endRange { border-radius: 4px !important; }

/* Carousel Styles */
.carousel-container { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #000; border: 1px solid #222; }
.carousel-track { display: flex; transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1); height: 100%; }
.carousel-slide { min-width: 100%; height: 100%; }
.carousel-slide img { width: 100%; height: 100%; object-fit: cover; }
.carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); color: white; border: none; padding: 10px; cursor: pointer; z-index: 10; transition: all 0.3s; }
.carousel-btn:hover { background: var(--primary-color); color: black; }
.carousel-prev { left: 10px; }
.carousel-next { right: 10px; }
.carousel-dots { position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 10; }
.carousel-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.3); cursor: pointer; transition: all 0.3s; }
.carousel-dot.active { background: var(--primary-color); width: 20px; border-radius: 4px; }

/* Modal Styles */
#modal-docs { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; pointer-events: none; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
#modal-docs.active { opacity: 1; pointer-events: auto; }
#modal-docs .modal-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.85); backdrop-filter: blur(8px); }
#modal-docs .modal-content { position: relative; background: #111; border: 1px solid #333; width: 100%; max-width: 500px; padding: 40px; transform: translateY(20px); transition: all 0.4s; }
#modal-docs.active .modal-content { transform: translateY(0); }
