/* BeyondLeave 2026 - Custom Styles */

/* Additional custom styles can be added here */
/* Most styles are defined inline in header.php for easier single-file distribution */
.btn-outline-primary {
    --bs-btn-color: #4DC1B6 !important;
}

:root {
    --bs-btn-color: #4DC1B6 !important;
    --bs-link-color-rgb: 77, 193, 182 !important;
    --bs-link-hover-color-rgb: 77, 193, 182 !important;
    --bs-link-opacity: 1 !important;
    --bs-primary-rgb: 77, 193, 182 !important;
    --bs-primary: #4DC1B6 !important;
}

.fade-in {
    animation: fadeIn 0.5s ease-in;
}

.fc .fc-daygrid-day-number a {
    text-decoration: none !important;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.slide-in {
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        transform: translateX(-20px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Print styles */
@media print {
    .navbar,
    .btn,
    .request-button,
    .list-button {
        display: none !important;
    }
    
    body {
        background: white !important;
    }
    
    .main-content {
        box-shadow: none !important;
    }
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .main-content {
        padding: 15px !important;
    }
    
    .welcome-card h1 {
        font-size: 2rem !important;
    }
    
    .request-button,
    .list-button {
        width: 50px !important;
        height: 50px !important;
    }
}

/* Loading spinner */
.spinner-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.spinner-border {
    width: 3rem;
    height: 3rem;
}

/* Password toggle button */
.input-group .btn-outline-secondary {
    border-left: 0;
    border-color: #ced4da;
    color: #6c757d;
    transition: all 0.2s ease;
    cursor: pointer;
    z-index: 1;
}

.input-group .btn-outline-secondary:hover {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #495057;
}

.input-group .form-control:focus + .btn-outline-secondary {
    border-color: #86b7fe;
    color: #495057;
}

.input-group .btn-outline-secondary:focus {
    box-shadow: none;
    border-color: #ced4da;
}

.input-group .btn-outline-secondary i {
    width: 1em;
    text-align: center;
    pointer-events: none;
}

/* Ensure input-group works correctly with Bootstrap */
.input-group > .form-control:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
    border-radius: 0;
}

/* Calendar weekend styling - Light gray for Saturday and Sunday */
.fc .fc-daygrid-day.weekend-day,
.fc td.weekend-day,
.fc .weekend-day.fc-daygrid-day {
    background-color: #f5f5f5 !important;
}

.fc .fc-daygrid-day.weekend-day .fc-daygrid-day-frame,
.fc td.weekend-day .fc-daygrid-day-frame {
    background-color: #f5f5f5 !important;
}

/* Calendar holiday styling - Target table cells directly (overrides weekends) */
.fc .fc-daygrid-day.public-holiday,
.fc td.public-holiday,
.fc .public-holiday.fc-daygrid-day {
    background-color: #fff3cd !important;
}

.fc .fc-daygrid-day.public-holiday .fc-daygrid-day-frame,
.fc td.public-holiday .fc-daygrid-day-frame {
    background-color: #fff3cd !important;
}

.fc .fc-daygrid-day.public-holiday .fc-daygrid-day-number,
.fc td.public-holiday .fc-daygrid-day-number,
.fc .public-holiday .fc-daygrid-day-number {
    color: #856404 !important;
    font-weight: 600 !important;
}

.fc .fc-daygrid-day.public-holiday.fc-day-today,
.fc td.public-holiday.fc-day-today {
    background-color: #ffe69c !important;
}

.fc .fc-daygrid-day.public-holiday.fc-day-today .fc-daygrid-day-frame {
    background-color: #ffe69c !important;
}

/* Ensure holidays override weekends even when both classes are present */
.fc .fc-daygrid-day.public-holiday.weekend-day,
.fc td.public-holiday.weekend-day {
    background-color: #fff3cd !important;
}

.fc .fc-daygrid-day.public-holiday.weekend-day .fc-daygrid-day-frame,
.fc td.public-holiday.weekend-day .fc-daygrid-day-frame {
    background-color: #fff3cd !important;
}

.fc .fc-cell-shaded,
.fc .fc-day-disabled {
    background: transparent !important;
}

.fc .fc-day-disabled {
    background: transparent !important;
}
