.registration-preview-banner {
  color: #083744;
  background: #dff7f7;
  border-block: 1px solid #a7dfe2;
}

.registration-preview-banner .container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  padding-block: 0.85rem;
  font-size: 0.88rem;
}

.registration-preview-banner strong {
  color: #004f60;
}

.academy-registration-preview,
.academy-registration {
  scroll-margin-top: 6rem;
}

.course-registration__updates {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #ffffff;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
}

.course-registration__updates:hover {
  color: #c8f2f2;
}

.registration-course-lock,
.registration-price-reference {
  margin-bottom: 1.35rem;
  padding: 1rem 1.1rem;
  background: #f2f8f9;
  border: 1px solid #c5dadd;
  border-radius: var(--radius-sm);
}

.registration-course-lock {
  display: grid;
  gap: 0.35rem;
  border-left: 4px solid var(--teal-dark);
}

.registration-course-lock > span {
  color: var(--teal-dark);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.registration-course-lock > strong {
  color: var(--ink);
  font-size: 0.98rem;
}

.registration-course-lock > small {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.5;
}

.registration-price-reference p,
.registration-price-reference ul {
  margin: 0;
}

.registration-price-reference ul {
  display: grid;
  gap: 0.3rem;
  margin-block: 0.55rem;
  padding-left: 1.15rem;
  color: var(--ink-soft);
  font-size: 0.84rem;
}

.registration-price-reference > p:last-child {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.registration-submit[aria-disabled="true"],
.registration-submit:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.registration-status-section {
  min-height: 62vh;
}

.registration-status-shell {
  max-width: 54rem;
}

.registration-status-card {
  margin-top: 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: #fff;
  border: 1px solid #c5dadd;
  border-left: 5px solid var(--teal-dark);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  outline: none;
}

.registration-status-card:focus-visible {
  box-shadow: 0 0 0 4px rgba(0, 111, 122, 0.2), var(--shadow-sm);
}

.registration-status-card[data-status="success"] {
  border-left-color: #19734a;
}

.registration-status-card[data-status="error"] {
  border-left-color: #a43c36;
}

.registration-status-card__label {
  margin: 0 0 0.45rem;
  color: var(--teal-dark);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.registration-status-card h2,
.registration-status-card p {
  margin-top: 0;
}

.registration-status-card .button {
  margin-top: 0.75rem;
}

.registration-status-support {
  margin-top: 1.25rem;
  color: var(--muted);
}

@media (max-width: 580px) {
  .registration-preview-banner .container {
    display: grid;
  }

  .registration-course-lock,
  .registration-price-reference {
    padding: 0.9rem;
  }

  .registration-submit {
    width: 100%;
  }

  .registration-status-card .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .registration-submit {
    scroll-behavior: auto;
  }
}

@media print {
  .registration-preview-banner,
  .academy-registration-preview {
    display: none;
  }
}
