body.portal-theme {
  background: #1B3F72 url('../img/nuevo/FONDO -  SEMINARIO EVOLUCIÓN 2026.png') center/cover no-repeat fixed !important;
  min-height: 100vh;
}

body.portal-theme,
.portal-wrap,
.portal-card,
.portal-hero,
.portal-form {
  font-family: 'Montserrat', sans-serif;
}

.portal-wrap {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0.75rem 0.7rem 1.1rem;
}

.portal-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 20px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.2);
  padding: 1rem;
}

.portal-hero {
  background: linear-gradient(165deg, rgba(241, 245, 249, 0.97), rgba(226, 232, 240, 0.92));
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 20px;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.18);
  padding: 1rem;
}

.portal-brand {
  text-align: center;
}

.portal-brand img {
  width: min(88%, 460px);
  height: auto;
}

.portal-headline {
  text-align: center;
  font-weight: 800;
  color: #111827;
  margin-bottom: 0.5rem;
  font-size: clamp(1.2rem, 1rem + 1vw, 1.75rem);
}

.portal-subheadline {
  text-align: center;
  color: #475569;
  margin-bottom: 0.9rem;
  font-size: 0.95rem;
}

.portal-form .form-control,
.portal-form .form-select,
.portal-form textarea {
  border: 1px solid rgba(11, 103, 178, 0.28);
  border-radius: 11px;
  background: #f8fafc;
  padding: 0.78rem 0.9rem;
  color: #0f172a;
  min-height: 46px;
}

.portal-form .form-control:focus,
.portal-form .form-select:focus,
.portal-form textarea:focus {
  border-color: #0B67B2;
  box-shadow: 0 0 0 0.2rem rgba(11, 103, 178, 0.2);
  background: #ffffff;
}

.portal-btn-primary {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #1B3F72, #0B67B2);
  color: #fff;
  font-weight: 700;
  padding: 0.68rem 1.25rem;
  box-shadow: 0 12px 24px rgba(11, 103, 178, 0.3);
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.portal-btn-primary:hover {
  color: #fff;
  background: linear-gradient(90deg, #0B67B2, #2AACE2);
}

.portal-btn-secondary {
  border: 0;
  border-radius: 999px;
  background: #1B3F72;
  color: #fff;
  font-weight: 700;
  padding: 0.68rem 1.25rem;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#logosFooter {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(241, 245, 249, 0.9)) !important;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.1);
}

#logosFooter p,
#logosFooter small {
  color: #334155;
}

.portal-btn-secondary:hover {
  color: #fff;
  background: #0B67B2;
}

.portal-note {
  color: #334155;
  font-size: 0.96rem;
}

.portal-highlight {
  color: #0B67B2;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .portal-wrap {
    padding: 0.55rem 0.4rem 0.9rem;
  }

  .portal-card,
  .portal-hero {
    border-radius: 16px;
    padding: 0.85rem;
  }

  .portal-brand img {
    width: min(92%, 390px);
  }
}

@media (max-width: 575.98px) {
  .portal-card,
  .portal-hero {
    border-radius: 14px;
    padding: 0.75rem;
  }

  .portal-brand img {
    width: min(96%, 300px);
  }

  .portal-headline {
    margin-bottom: 0.4rem;
    font-size: clamp(1.05rem, 0.95rem + 1vw, 1.35rem);
  }
}
