/* Base Typography & Layout Standardization 2026 */
:root {
  /* --- Typography --- */
  --font-base: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --f-heading: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --size-base: 16px;
  --line-height: 1.6;

  /* --- Font Sizes --- */
  --s-xs: 0.75rem;
  --s-sm: 0.875rem;
  --s-base: 1rem;
  --s-lg: 1.125rem;
  --s-xl: 1.25rem;
  --s-2xl: 1.5rem;

  /* --- Colors (Brand) --- */
  --color-text: #333;
  --color-heading: #001f3f;
  --color-primary: #FFC107;
  /* Gold (legacy alias) */
  --c-primary: #8E1600;
  /* Burgundy/Red */
  --c-primary-h: #600f00;
  /* Primary hover/dark */
  --c-accent: #FFC107;
  /* Gold accent */
  --c-white: #ffffff;
  --c-dark: #212529;
  --c-gray-100: #f5f5f5;
  --c-gray-200: #e0e0e0;
  --c-success: #198754;
  --c-danger: #dc3545;

  /* --- Gradients --- */
  --g-gold-accent: linear-gradient(135deg, #FFC107 0%, #D39E00 100%);
  /* Recovered 'Red Buganty' per user request */
  --g-hero-overlay: linear-gradient(135deg, rgba(96, 15, 0, 0.9) 0%, rgba(26, 26, 26, 0.95) 100%);
  /* Burgundy */

  /* --- Spacing --- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 1rem;
  --sp-4: 1.5rem;
  --sp-5: 2rem;
  --sp-6: 3rem;

  /* --- Border Radius --- */
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-full: 50px;

  /* --- Shadows --- */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08);
  --shadow-premium: 0 15px 35px rgba(50, 50, 93, 0.12), 0 5px 15px rgba(0, 0, 0, 0.08);

  /* --- Transitions --- */
  --transition: all 0.3s ease;
}

/* Global Reset for Typography */
body {
  font-family: var(--font-base);
  font-size: var(--size-base);
  line-height: var(--line-height);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-base);
  color: var(--color-heading);
  font-weight: 700;
  margin-bottom: 0.8em;
  line-height: 1.2;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.5rem;
}

/* Legibility Fixes for Old Pages (Congreso/Test) */
p,
li,
td,
th,
div {
  font-size: 1rem;
  /* Enforce 16px minimum */
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  body {
    font-size: 15px;
    /* Slightly smaller but readable on mobile */
  }

  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.75rem;
  }
}

/* Container Utility */
.container-std {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* Header Spacer to prevent content hiding behind fixed header */
body.header-fixed {
  padding-top: 100px;
}

/* Homepage specific overrides */
#myPage {
  padding-top: 0 !important;
}