/* Eventos — estilos globales */

body {
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  background: #FCFAF6;
}

.card-soft {
  background: #fff;
  border: 1px solid #DDE4EC;
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(27, 58, 107, 0.06), 0 8px 24px -12px rgba(27, 58, 107, 0.25);
}

.hero-surface {
  background-color: #132d55;
}

.cert-surface {
  background-image: linear-gradient(135deg, #1b3a6b, #ea7618);
}

.btn-primary {
  background: #1b3a6b;
  color: #fff;
  font-weight: 600;
  border-radius: 0.625rem;
  padding: .6rem 1.1rem;
  transition: .15s;
}
.btn-primary:hover { background: #152e56; }

.btn-outline {
  border: 1px solid #DDE4EC;
  color: #1b3a6b;
  font-weight: 600;
  border-radius: 0.625rem;
  padding: .6rem 1.1rem;
  background: #fff;
}
.btn-outline:hover { background: #EAF1F8; }

.btn-accent {
  background: #ea7618;
  color: #fff;
  font-weight: 700;
  border-radius: 0.625rem;
  padding: .6rem 1.1rem;
}
.btn-accent:hover { background: #d0691a; }

input[type=text], input[type=email], input[type=password], input[type=number],
input[type=url], input[type=date], input[type=file], select, textarea {
  width: 100%;
  border: 1px solid #E2E6EE;
  border-radius: 0.625rem;
  padding: .55rem .75rem;
  font-size: .875rem;
  background: #fff;
}

input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: #1b3a6b;
  box-shadow: 0 0 0 3px rgba(27, 58, 107, 0.12);
}

input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  border-radius: .25rem;
}

/* Modo alto contraste (accesibilidad) */
html.alto-contraste {
  filter: contrast(1.15);
}
html.alto-contraste body {
  background: #ffffff !important;
  color: #000000 !important;
}
html.alto-contraste .card-soft {
  border: 2px solid #000000 !important;
  box-shadow: none !important;
}
html.alto-contraste .text-muted-foreground {
  color: #1a1a1a !important;
}
html.alto-contraste .btn-primary {
  background: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
}
html.alto-contraste .btn-outline {
  border: 2px solid #000000 !important;
  color: #000000 !important;
}
html.alto-contraste a {
  text-decoration: underline;
}
html.alto-contraste :focus-visible {
  outline: 3px solid #000000 !important;
  outline-offset: 2px;
}

/* Modo oscuro */
html.modo-oscuro body {
  background: #0f172a !important;
  color: #e2e8f0 !important;
}
html.modo-oscuro .bg-card,
html.modo-oscuro .card-soft {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0;
}
html.modo-oscuro .bg-secondary,
html.modo-oscuro .bg-secondary\/40,
html.modo-oscuro .bg-secondary\/50 {
  background: #334155 !important;
}
html.modo-oscuro .text-primary {
  color: #93c5fd !important;
}
html.modo-oscuro .text-muted-foreground {
  color: #94a3b8 !important;
}
html.modo-oscuro .border-border,
html.modo-oscuro .border {
  border-color: #334155 !important;
}
html.modo-oscuro header,
html.modo-oscuro nav {
  background: #1e293b !important;
}
html.modo-oscuro input,
html.modo-oscuro select,
html.modo-oscuro textarea {
  background: #0f172a !important;
  color: #e2e8f0 !important;
  border-color: #334155 !important;
}
html.modo-oscuro .bg-background {
  background: #0f172a !important;
}

/* Vista de impresión: oculta navegación, chatbot y botones de acción */
@media print {
  header, nav, #chatbot-toggle, #chatbot-panel, .no-imprimir, footer {
    display: none !important;
  }
  body {
    background: #ffffff !important;
    color: #000000 !important;
    padding-bottom: 0 !important;
  }
  main {
    max-width: 100% !important;
  }
  a[href]:after {
    content: "";
  }
}

