@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {
  --primary: #0b5570;
  --primary-hover: #083e52;
  --primary-light: rgba(11, 85, 112, 0.08);
  --primary-border: rgba(11, 85, 112, 0.15);
  --background: #f5faff;
  --foreground: #08242f;
  --accent: #0b5570;
  --card: #ffffff;
  --border: #e2e8f0;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background-color: var(--background);
  color: var(--foreground);
}

body {
  font-family: 'PT Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: var(--background);
  color: var(--foreground);
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, button, input, textarea, select {
  font-family: 'PT Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Selección de texto corporativa */
::selection {
  background-color: rgba(11, 85, 112, 0.15);
  color: var(--primary);
}

/* Campos de formulario y placeholders sin negritas */
input::placeholder,
textarea::placeholder {
  font-weight: 400 !important;
  color: #94a3b8 !important;
}

input,
textarea {
  font-weight: 400;
}

/* Animaciones personalizadas */
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.animate-shimmer {
  animation: shimmer 2.5s infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.animate-float {
  animation: float 4s ease-in-out infinite;
}

@keyframes pulse-ring {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 0.4; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.animate-pulse-ring {
  animation: pulse-ring 3s ease-in-out infinite;
}

@keyframes rotate-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.animate-rotate-slow {
  animation: rotate-slow 60s linear infinite;
}

/* Efectos de botón de envío */
.btn-airplane {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-airplane:hover {
  transform: scale(1.05);
}

.btn-airplane:active {
  transform: scale(0.95);
}

@keyframes flyAirplane {
  0% { 
    transform: translate(0px, 0px) rotate(0deg); 
  }
  33% { 
    transform: translate(8px, -8px) rotate(-15deg); 
  }
  66% { 
    transform: translate(4px, -4px) rotate(-10deg); 
  }
  100% { 
    transform: translate(12px, -12px) rotate(-15deg); 
  }
}

.btn-airplane:hover .airplane-icon {
  animation: flyAirplane 0.8s ease-in-out infinite alternate;
}

.airplane-icon {
  display: inline-block;
  transform-origin: center;
  transition: transform 0.3s ease;
}

/* Acordeón FAQ suave y compacto en lo alto */
.faq-item {
  border-radius: 1rem !important;
}

.faq-trigger {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  min-height: unset !important;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
  opacity: 0;
  padding-top: 0 !important;
  padding-bottom: 1rem !important;
}

.faq-item.active .faq-answer {
  max-height: 400px;
  opacity: 1;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* Scrollbar moderno */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--primary);
}

/* Indicador de navegación activa (ScrollSpy y Clic) */
.nav-link.active {
  color: var(--primary) !important;
  background-color: rgba(11, 85, 112, 0.1) !important;
  font-weight: 900 !important;
  box-shadow: 0 0 0 1px rgba(11, 85, 112, 0.25) !important;
}

.mobile-nav-link.active {
  color: var(--primary) !important;
  background-color: rgba(11, 85, 112, 0.1) !important;
  font-weight: 900 !important;
}

/* ========================================================== */
/* Menú desplegable Iniciar Sesión (Landing Page HTML)        */
/* Totalmente estático: sin movimientos ni desplazamientos     */
/* Paleta corporativa gerente general: azul tenue             */
/* ========================================================== */
#login-dropdown-menu {
  animation: none !important;
  transform: none !important;
  transition: opacity 0.2s ease !important;
}

#login-dropdown-menu a {
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
  transform: none !important;
}

#login-dropdown-menu a:hover,
#login-dropdown-menu a:focus {
  background-color: #f0f7fa !important;
  border-color: rgba(11, 85, 112, 0.2) !important;
  color: #0f172a !important;
  transform: none !important;
  outline: none !important;
}
