/* style.css - Estilos Avanzados de Marca CIL Logistics */

/* Variables de Color del Ecosistema CIL */
:root {
  --color-dark-deep: #000000;
  --color-dark-base: #000000;
  --color-neon-cyan: #0088D1;
  --color-neon-purple: #6E34BF;
  --glass-bg: rgba(0, 0, 0, 0.7);
  --glass-border: rgba(255, 255, 255, 0.06);
}

/* Optimización de Scroll y Estabilidad del Layout */
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable; /* Previene el layout shift al abrir modales o cambiar de vistas */
}

/* Personalización del Scrollbar Principal */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-dark-deep);
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-neon-cyan);
  box-shadow: 0 0 10px var(--color-neon-cyan);
}

/* Estilos de Glassmorphism Premium */
.bg-dark-card {
  background: var(--glass-bg);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border: 1px solid var(--glass-border);
}

/* Efectos de Bordes de Neón */
.border-neon-cyan-glow:hover {
  border-color: var(--color-neon-cyan);
  box-shadow: 0 0 20px rgba(0, 242, 254, 0.25);
  transition: all 0.3s ease-in-out;
}

.border-neon-purple-glow:hover {
  border-color: var(--color-neon-purple);
  box-shadow: 0 0 20px rgba(155, 81, 224, 0.25);
  transition: all 0.3s ease-in-out;
}

/* Animaciones y Estados Interactivos */
@keyframes pulseGlow {
  0%, 100% {
    opacity: 0.15;
    transform: scale(1);
  }
  50% {
    opacity: 0.25;
    transform: scale(1.05);
  }
}

/* Área de Mensajes de Sofía con control de sobre-desplazamiento */
.scrollable-area {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
}

.scrollable-area::-webkit-scrollbar {
  width: 4px;
}

.scrollable-area::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}

.scrollable-area::-webkit-scrollbar-thumb:hover {
  background: var(--color-neon-cyan);
}

/* Soporte para exclusive accordions en details (Tech y FAQ) */
details[name="tech-accordion"] summary::-webkit-details-marker,
details[name="faq-accordion"] summary::-webkit-details-marker {
  display: none; /* Oculta el triángulo por defecto en Webkit */
}

details[name="tech-accordion"] summary,
details[name="faq-accordion"] summary {
  list-style: none; /* Oculta el triángulo en Firefox */
}

details[name="tech-accordion"],
details[name="faq-accordion"] {
  transition: all 0.3s ease-out;
}

/* Transiciones para el Popover de Sofía Web */
#sofia-chat {
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Inputs y Select Pickers Premium */
.select-picker {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1em;
}

input[type="checkbox"]:checked {
  background-color: var(--color-neon-cyan);
  border-color: var(--color-neon-cyan);
  box-shadow: 0 0 10px rgba(0, 242, 254, 0.5);
}

body {
  background-color: var(--color-dark-deep) !important;
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px) !important;
  background-size: 50px 50px !important;
  background-position: center top !important;
}
