/* Optimización de Scroll Táctil e Interfaz */
        html { 
            scroll-behavior: smooth; 
            scroll-padding-top: 80px; 
            -webkit-text-size-adjust: 100%;
        }
        body { 
            overflow-x: hidden; 
            -webkit-overflow-scrolling: touch; 
        }

        /* Minimalist overlays & Background Animations */
        .bg-hero {
            position: relative;
            background-color: #030303;
        }
        
        .bg-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: linear-gradient(rgba(3, 3, 3, 0.65), rgba(3, 3, 3, 0.90)), url('https://ik.imagekit.io/djaluxury/djaluxury/ChatGPT%20Image%204%20may%202026,%2020_36_24.png');
            background-size: cover;
            background-position: center;
            animation: zoomBg 30s infinite alternate ease-in-out;
            z-index: 0;
            will-change: transform;
        }
        
        @keyframes zoomBg {
            0% { transform: scale(1); }
            100% { transform: scale(1.08); }
        }

        /* Responsive Navbar Logo */
        .logo-img { height: 4rem; transition: height 0.4s ease; will-change: height; }
        @media (min-width: 768px) { .logo-img { height: 6.5rem; } }
        .scrolled .logo-img { height: 3rem; }
        @media (min-width: 768px) { .scrolled .logo-img { height: 4.5rem; } }

        /* Animación Custom AOS */
        [data-aos="car-arrive"] {
            transform: scale(0.8) translateY(100px);
            opacity: 0;
            filter: blur(4px);
            transition-property: transform, opacity, filter;
            will-change: transform, opacity;
        }
        [data-aos="car-arrive"].aos-animate {
            transform: scale(1) translateY(0);
            opacity: 1;
            filter: blur(0px);
        }

        /* Líneas de carretera animadas */
        .road-line {
            background: repeating-linear-gradient(90deg, transparent, transparent 30px, rgba(197, 160, 89, 0.4) 30px, rgba(197, 160, 89, 0.4) 80px);
            animation: moveRoad 20s linear infinite;
            will-change: background-position;
        }
        @keyframes moveRoad {
            0% { background-position: 0 0; }
            100% { background-position: -1000px 0; }
        }

        /* Animación para la carretera del rastreador GPS */
        .track-road-anim {
            background: repeating-linear-gradient(90deg, transparent, transparent 8px, #C5A059 8px, #C5A059 16px);
            background-size: 16px 100%;
            animation: scrollTrackRoad 0.8s linear infinite;
            will-change: background-position;
        }
        @keyframes scrollTrackRoad {
            0% { background-position: 0 0; }
            100% { background-position: -16px 0; }
        }

        /* --- Ajuste de Tema Claro Suavizado (Luxury Cream) --- */
        html:not(.dark) body { background-color: #F8F7F3 !important; color: #333333; }
        html:not(.dark) .bg-white { background-color: #FDFCF8 !important; }
        html:not(.dark) .bg-gray-50 { background-color: #F2EFE9 !important; }
        html:not(.dark) .bg-gray-100 { background-color: #EBE7DF !important; }
        html:not(.dark) .border-gray-200 { border-color: #E6E1D6 !important; }
        
        /* Clean form inputs - Optimizados */
        .input-group { position: relative; margin-bottom: 1rem; }
        @media (min-width: 768px) { .input-group { margin-bottom: 1.5rem; } }
        
        .form-label {
            display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em;
            color: #C5A059; margin-bottom: 0.5rem; font-weight: 500;
        }
        .input-minimalist {
            width: 100%; 
            border-radius: 0.5rem; 
            padding: 1rem 1.25rem; 
            font-size: 0.875rem; 
            transition: all 0.3s ease;
        }
        
        .dark .input-minimalist { 
            background-color: rgba(255, 255, 255, 0.03) !important; 
            border: 1px solid #262626 !important; 
            color: #ffffff !important; 
        }
        html:not(.dark) .input-minimalist { 
            background-color: #ffffff !important; 
            border: 1px solid #e5e7eb !important; 
            color: #111827 !important; 
        }
        
        .input-minimalist:focus {
            outline: none; 
            border-color: #C5A059 !important; 
            box-shadow: 0 0 0 1px #C5A059 !important;
        }
        .dark .input-minimalist:focus { background-color: rgba(197, 160, 89, 0.05) !important; }
        html:not(.dark) .input-minimalist:focus { background-color: #ffffff !important; }
        
        .input-minimalist::placeholder { color: #9ca3af !important; }
        .dark .input-minimalist::placeholder { color: #6b7280 !important; }
        
        .input-error { border-color: #ef4444 !important; }
        .dark .input-error { background-color: rgba(239, 68, 68, 0.05) !important; }
        html:not(.dark) .input-error { background-color: rgba(239, 68, 68, 0.1) !important; }

        /* Estilo elegante para el Select y sus opciones */
        select.input-minimalist {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23C5A059'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 1rem center;
            background-size: 1.2em 1.2em;
            padding-right: 2.5rem;
        }
        .dark select.input-minimalist option { background-color: #0A0A0A !important; color: #ffffff !important; }
        html:not(.dark) select.input-minimalist option { background-color: #ffffff !important; color: #111827 !important; }
        
        /* Custom scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        .dark ::-webkit-scrollbar-track { background: #030303; }
        html:not(.dark) ::-webkit-scrollbar-track { background: #f3f4f6; }
        .dark ::-webkit-scrollbar-thumb { background: #262626; border-radius: 10px; }
        html:not(.dark) ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
        ::-webkit-scrollbar-thumb:hover { background: #C5A059; }

        /* Swiper Custom Styles */
        .swiper-button-next, .swiper-button-prev { color: #C5A059 !important; transition: transform 0.3s ease; }
        .swiper-button-next:hover { transform: translateX(5px); }
        .swiper-button-prev:hover { transform: translateX(-5px); }
        .swiper-pagination-bullet { opacity: 1 !important; transition: all 0.3s ease; }
        .dark .swiper-pagination-bullet { background-color: #4b5563 !important; }
        html:not(.dark) .swiper-pagination-bullet { background-color: #9ca3af !important; }
        .swiper-pagination-bullet-active { background-color: #C5A059 !important; width: 30px !important; border-radius: 4px !important; }

        /* Botones de navegación premium para la flota */
        .flotaSwiper { overflow: visible !important; }
        .flotaSwiper .swiper-button-next, .flotaSwiper .swiper-button-prev {
            background-color: rgba(255, 255, 255, 0.95);
            width: 3.5rem;
            height: 3.5rem;
            border-radius: 50%;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
            color: #C5A059 !important;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .dark .flotaSwiper .swiper-button-next, .dark .flotaSwiper .swiper-button-prev {
            background-color: rgba(20, 20, 20, 0.95);
            border: 1px solid rgba(197, 160, 89, 0.3);
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
        }
        .flotaSwiper .swiper-button-next:hover, .flotaSwiper .swiper-button-prev:hover {
            background-color: #C5A059 !important;
            color: #ffffff !important;
            transform: scale(1.1);
            border-color: #C5A059;
        }

        /* --- UI Optimizada del Reproductor de Video (Sin JS hover conflicts) --- */
        .custom-video-player .play-pause-btn {
            opacity: 1;
            background-color: rgba(3, 3, 3, 0.4);
            transition: all 0.3s ease;
        }
        .custom-video-player.is-playing .play-pause-btn {
            opacity: 0;
            background-color: transparent;
        }
        /* Solo reactivar el hover si está en PC (evita que se pegue en celulares) */
        @media (hover: hover) and (pointer: fine) {
            .custom-video-player.is-playing:hover .play-pause-btn {
                opacity: 1;
                background-color: rgba(3, 3, 3, 0.4);
            }
        }

        /* Deslizamiento táctil suave para Carruseles */
        .gallerySwiper, .videoSwiper, .flotaSwiper {
            user-select: none;
            -webkit-user-select: none;
            touch-action: pan-y; 
        }
        .gallerySwiper img, .flotaSwiper img {
            -webkit-user-drag: none;
            user-drag: none;
            pointer-events: none;
        }
        
        /* Transiciones suaves de Tema Claro/Oscuro */
        body, section, div, h1, h2, h3, p, a, button {
            transition-property: background-color, border-color, color, box-shadow;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-duration: 300ms;
        }

        /* Clase dinámica para Drag-to-Scroll del Mouse */
        .cursor-grabbing {
            cursor: grabbing !important;
            user-select: none;
        }