/* RentACar – Custom CSS (supplements Tailwind CDN) */

/* Smooth scrolling */
html { scroll-behavior: smooth; }

/* ============================================
   Scroll-reveal animations
   ============================================ */

/* Base state: hidden */
[data-reveal] {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Fade up (default) */
[data-reveal],
[data-reveal="fade-up"] {
    transform: translateY(32px);
}

/* Fade in (no vertical movement) */
[data-reveal="fade"] {
    transform: translateY(0);
}

/* Fade from left */
[data-reveal="fade-right"] {
    transform: translateX(-32px);
}

/* Fade from right */
[data-reveal="fade-left"] {
    transform: translateX(32px);
}

/* Visible state */
[data-reveal].revealed {
    opacity: 1;
    transform: translate(0, 0);
}

/* Stagger delays for card grids */
[data-reveal-delay="100"] { transition-delay: 0.10s; }
[data-reveal-delay="150"] { transition-delay: 0.15s; }
[data-reveal-delay="200"] { transition-delay: 0.20s; }
[data-reveal-delay="250"] { transition-delay: 0.25s; }
[data-reveal-delay="300"] { transition-delay: 0.30s; }
[data-reveal-delay="400"] { transition-delay: 0.40s; }
[data-reveal-delay="500"] { transition-delay: 0.50s; }

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
    [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Date inputs styling */
input[type="date"] {
    color-scheme: light;
}

/* Car card image transition */
.car-card-img {
    transition: transform 0.3s ease;
}
.car-card:hover .car-card-img {
    transform: scale(1.05);
}

/* Cookie banner smooth show/hide */
#cookie-banner {
    transition: transform 0.3s ease, opacity 0.3s ease;
}
#cookie-banner.show {
    display: block;
}

/* Focus visible improvements */
*:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Scrollbar styling */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Admin sidebar link active indicator */
.admin-nav-active {
    border-left: 3px solid #3b82f6;
}

/* File input drag zone */
input[type="file"]::file-selector-button {
    transition: background-color 0.2s ease;
}

/* Spinner animation */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.animate-spin { animation: spin 1s linear infinite; }

/* Responsive table */
@media (max-width: 640px) {
    .overflow-x-auto { -webkit-overflow-scrolling: touch; }
}
