/* ── Reset & Base ─────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;        /* Base fija: evita que Hostinger/Chrome cambie el tamaño */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: #060e20;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  overflow-x: hidden;     /* Evita scroll horizontal en móvil */
}

/* ── Fuentes ──────────────────────────────────────── */
.headline-font {
  font-family: 'Manrope', sans-serif;
}

/* ── Material Icons ───────────────────────────────── */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  user-select: none;
}

/* ── Glassmorphism ────────────────────────────────── */
.glass-panel {
  background: rgba(15, 25, 48, 0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* ── Animaciones ──────────────────────────────────── */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
  animation: fadeIn 0.6s ease-out forwards;
}

/* ── Imágenes responsive ──────────────────────────── */
img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ── Cards: altura mínima consistente ────────────── */
.card-img-container {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #0b1429;
}

.card-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* ── Scrollbar personalizada ──────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #060e20; }
::-webkit-scrollbar-thumb { background: #40485d; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #a3a6ff; }

/* ── Responsive helpers ───────────────────────────── */
@media (max-width: 640px) {
  .hero-title { font-size: 2rem !important; }
  .hero-desc  { font-size: 0.9rem !important; }
}
