/* Identidad visual unificada IBERTEL / DGDP. Solo presentación. */
:root {
  --ui-primary: #174a7e;
  --ui-primary-dark: #10375f;
  --ui-accent: #2496b3;
  --ui-bg: #f4f6f8;
  --ui-surface: #ffffff;
  --ui-border: #d9e1e8;
  --ui-text: #243447;
  --ui-muted: #66788a;
  --ui-success: #248a5a;
  --ui-warning: #b7791f;
  --ui-danger: #c23b3b;
  --ui-radius: 10px;
  --ui-shadow: 0 4px 14px rgba(30, 55, 80, .08);
}

html, body { min-height: 100%; }
body {
  background: var(--ui-bg) !important;
  color: var(--ui-text) !important;
  font-family: "Roboto", "Segoe UI", Arial, sans-serif !important;
}

/* Encabezado blanco, sin degradados ni bloques azules dominantes */
.dgdp-header {
  background: var(--ui-surface) !important;
  border: 0 !important;
  border-bottom: 3px solid var(--ui-accent) !important;
  box-shadow: 0 2px 10px rgba(30, 55, 80, .10) !important;
  padding: 8px 0 !important;
}
.dgdp-header-container {
  width: 100% !important;
  max-width: 1280px !important;
  min-height: 62px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}
.dgdp-header-container > a { display: flex !important; align-items: center !important; flex: 0 0 auto !important; }
.dgdp-logo-img {
  width: auto !important;
  height: 52px !important;
  max-width: 230px !important;
  object-fit: contain !important;
  margin: 0 !important;
  transform: none !important;
}
.institutional-title, .dgdp-title {
  color: var(--ui-primary-dark) !important;
  font-family: "Montserrat", "Segoe UI", sans-serif !important;
  font-size: 1.12rem !important;
  font-weight: 700 !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 !important;
}
.dgdp-nav { margin-left: auto !important; }
.dgdp-nav ul { gap: 6px !important; margin: 0 !important; padding: 0 !important; }
.dgdp-nav a {
  color: var(--ui-primary) !important;
  background: #edf4f8 !important;
  border: 1px solid #d2e3ec !important;
  border-radius: 7px !important;
  padding: 9px 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.dgdp-nav a:hover { background: #dcecf3 !important; color: var(--ui-primary-dark) !important; }
.dgdp-nav a::after { display: none !important; }
.menu-toggle { color: var(--ui-primary) !important; border: 1px solid var(--ui-border) !important; border-radius: 7px !important; }

.main-container, main {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 28px 22px !important;
}

/* Superficies comunes */
.search-section, .info-card, .card, .card-int, .matricula-section,
.category-card, .user-info, .form-section, .profile-section,
.modal-container {
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius) !important;
  box-shadow: var(--ui-shadow) !important;
}
.search-section, .info-card, .card, .card-int { border-top: 1px solid var(--ui-border) !important; border-bottom: 1px solid var(--ui-border) !important; }

.search-header h1, .card-header h2, .card-title,
.search-header i, .card-header i { color: var(--ui-primary) !important; }
.search-header h1, .card-title { font-family: "Montserrat", "Segoe UI", sans-serif !important; }
.card-title::after { background: var(--ui-accent) !important; }

input, select, textarea, .search-input, .form-control {
  background: #fff !important;
  color: var(--ui-text) !important;
  border: 1px solid #cbd6df !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}
input:focus, select:focus, textarea:focus, .search-input:focus, .form-control:focus {
  border-color: var(--ui-accent) !important;
  outline: 3px solid rgba(36, 150, 179, .14) !important;
}

/* Botones sólidos y consistentes */
.search-btn, .matricular-btn, .editar-btn, .btn, button[type="submit"],
.modal-btn, .submit-btn, .back-btn {
  border-radius: 7px !important;
  box-shadow: none !important;
  transform: none !important;
  font-weight: 600 !important;
  transition: background-color .16s ease, border-color .16s ease !important;
}
.search-btn, button[type="submit"], .submit-btn, .modal-btn-secondary {
  background: var(--ui-primary) !important;
  border: 1px solid var(--ui-primary) !important;
  color: #fff !important;
}
.search-btn:hover, button[type="submit"]:hover, .submit-btn:hover, .modal-btn-secondary:hover {
  background: var(--ui-primary-dark) !important;
  border-color: var(--ui-primary-dark) !important;
}
.matricular-btn { background: var(--ui-success) !important; border: 1px solid var(--ui-success) !important; color: #fff !important; }
.matricular-btn:hover { background: #1d7049 !important; }
.editar-btn, .back-btn { background: #fff !important; border: 1px solid var(--ui-primary) !important; color: var(--ui-primary) !important; }
.editar-btn:hover, .back-btn:hover { background: #edf4f8 !important; color: var(--ui-primary-dark) !important; }

/* Página de matrícula */
.matricula-section { overflow: hidden !important; }
.matricula-header {
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ui-border) !important;
  padding: 24px 26px !important;
}
.matricula-header .icon-wrap {
  background: #e2f1f5 !important;
  color: var(--ui-primary) !important;
  border-radius: 9px !important;
}
.title-container h1 { color: var(--ui-primary-dark) !important; }
.title-container h2 { color: var(--ui-muted) !important; }
.mh-right {
  background: #edf4f8 !important;
  color: var(--ui-primary) !important;
  border: 1px solid #d2e3ec !important;
  box-shadow: none !important;
}
.user-info {
  margin: 20px 24px 0 !important;
  background: #f8fafb !important;
  border-left: 4px solid var(--ui-accent) !important;
  box-shadow: none !important;
}
.user-info h3 { color: var(--ui-primary-dark) !important; }
.category-card { overflow: hidden !important; box-shadow: none !important; }
.category-title {
  background: var(--ui-primary) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 14px 18px !important;
  font-size: 1rem !important;
}
.subcategory-title { color: var(--ui-primary-dark) !important; border-color: var(--ui-accent) !important; }
.course-item {
  background: #fff !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.course-item:hover { border-color: #9fc5d5 !important; background: #fbfdfe !important; transform: none !important; }
.capacity-badge { background: #e7f4f8 !important; color: #176f87 !important; }

/* Alertas */
.alert { border-radius: 8px !important; box-shadow: none !important; }
.alert-success { background: #eaf6ef !important; color: #216744 !important; border-color: #b9dfc9 !important; }
.alert-warning { background: #fff8e8 !important; color: #805d18 !important; border-color: #efd89b !important; }
.alert-danger, .alert-error { background: #fceeee !important; color: #8d3030 !important; border-color: #edbcbc !important; }

/* Pie blanco con el mismo logo */
.dgdp-footer, footer.dgdp-footer {
  background: var(--ui-surface) !important;
  color: var(--ui-muted) !important;
  border: 0 !important;
  border-top: 3px solid var(--ui-accent) !important;
  box-shadow: 0 -2px 10px rgba(30,55,80,.06) !important;
  margin-top: auto !important;
}
.dgdp-footer-content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 20px 22px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
}
.dgdp-footer-logo {
  height: 48px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  margin: 0 !important;
  transform: none !important;
}
.dgdp-copyright, .dgdp-footer p { color: var(--ui-muted) !important; }

/* Elimina cualquier degradado restante */
.matricula-header, .category-title, .search-btn, .matricular-btn,
.editar-btn, .dgdp-header, .dgdp-footer, button, .btn {
  background-image: none !important;
}

@media (max-width: 768px) {
  .dgdp-header-container { padding: 0 14px !important; min-height: 58px !important; }
  .dgdp-logo-img { height: 44px !important; max-width: 175px !important; }
  .institutional-title, .dgdp-title { font-size: .94rem !important; }
  .main-container, main { padding: 18px 14px !important; }
  .dgdp-nav { background: #fff !important; }
  .matricula-header { padding: 20px !important; }
  .user-info { margin: 16px !important; }
  .dgdp-footer-content { flex-direction: column !important; text-align: center !important; }
  .dgdp-footer-logo { height: 42px !important; max-width: 190px !important; }
}
