/**
 * Refinamiento visual global — mantiene identidad, mejora legibilidad y UX.
 */
:root {
  --color-primary: #0d3b66;
  --color-secondary: #c1121f;
  --color-accent: #1d6fa5;
  --color-surface: #f8fafc;
  --color-border: rgba(13, 59, 102, 0.12);
  --radius-sm: 6px;
  --radius-md: 10px;
  --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.1);
  --transition: 0.2s ease;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.btn,
button[type="submit"],
input[type="submit"] {
  border-radius: var(--radius-sm);
  transition: background-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  transform: translateY(-1px);
}

form input,
form select,
form textarea {
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  padding: 0.55rem 0.75rem;
}

form input:focus,
form select:focus,
form textarea:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(29, 111, 165, 0.15);
}

.site-breadcrumb-bar {
  font-size: 0.875rem;
}

@media (max-width: 768px) {
  #contenedorPrincipal {
    width: 100%;
    margin: 0;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .header-inner {
    padding: 8px 12px;
  }
}
