/* NordDelta Academy — scholarship.php page-specific styles.
 * Kept out of main.css intentionally — --space-7 below is scoped to this
 * page only (main.css's shared spacing scale skips straight from
 * --space-6 to --space-8; adding --space-7 there would be a global change,
 * which this file avoids). */

:root {
  --space-7: 1.75rem;
}

body { background: var(--clr-bg); }

/* Hero */
.sch-hero {
  background: linear-gradient(160deg, rgba(0,168,138,0.10), rgba(43,108,212,0.05) 55%, transparent);
  border-bottom: 1px solid var(--clr-border);
  padding: var(--space-12) var(--space-5) var(--space-10);
  text-align: center;
}
.sch-hero__badge {
  display: inline-flex; align-items: center; gap: 8px; font-size: var(--text-xs); font-weight: 700;
  color: var(--clr-accent-dark); background: var(--clr-accent-glow); border: 1px solid rgba(0,168,138,0.25);
  padding: 6px 16px; border-radius: var(--radius-full); margin-bottom: var(--space-5); letter-spacing: 0.02em;
}
.sch-hero h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 900; letter-spacing: -0.03em; margin-bottom: var(--space-4); max-width: 720px; margin-left: auto; margin-right: auto; }
.sch-hero p { color: var(--clr-text-muted); font-size: var(--text-lg); max-width: 620px; margin: 0 auto; line-height: 1.6; }

/* Trust strip */
.sch-trust { display: flex; justify-content: center; gap: var(--space-8); flex-wrap: wrap; margin-top: var(--space-8); }
.sch-trust__item { display: flex; align-items: center; gap: 8px; font-size: var(--text-sm); font-weight: 600; color: var(--clr-text); }
.sch-trust__item span.icon { font-size: 1.1rem; }

/* How it works */
.sch-steps { max-width: 900px; margin: 0 auto; padding: var(--space-10) var(--space-5) 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.sch-step { text-align: center; position: relative; }
.sch-step__num {
  width: 40px; height: 40px; border-radius: 50%; background: var(--clr-surface); border: 2px solid var(--clr-accent);
  color: var(--clr-accent-dark); font-weight: 800; display: flex; align-items: center; justify-content: center;
  margin: 0 auto var(--space-3); font-size: var(--text-sm);
}
.sch-step__title { font-weight: 700; font-size: var(--text-sm); margin-bottom: 4px; }
.sch-step__text { font-size: var(--text-xs); color: var(--clr-text-muted); line-height: 1.5; }

/* Form */
.sch-main { max-width: 760px; margin: 0 auto; padding: var(--space-10) var(--space-5) var(--space-16); }
.sch-card {
  background: var(--clr-surface); border: 1px solid var(--clr-border); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.sch-section { padding: var(--space-7); border-bottom: 1px solid var(--clr-border); }
.sch-section:last-child { border-bottom: none; }
.sch-section__title { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-base); font-weight: 800; margin-bottom: var(--space-5); }
.sch-section__num {
  width: 26px; height: 26px; border-radius: 50%; background: var(--clr-accent); color: var(--clr-ink);
  font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.sch-form-group { margin-bottom: var(--space-5); }
.sch-form-group:last-child { margin-bottom: 0; }
.sch-form-group label { display: block; font-size: var(--text-xs); font-weight: 700; color: var(--clr-text-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 7px; }
.sch-form-group input, .sch-form-group select, .sch-form-group textarea {
  width: 100%; background: var(--clr-bg); border: 1px solid var(--clr-border); border-radius: var(--radius-md);
  padding: 11px 14px; font-size: var(--text-sm); color: var(--clr-text); outline: none; font-family: inherit;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.sch-form-group input:focus, .sch-form-group select:focus, .sch-form-group textarea:focus {
  border-color: var(--clr-accent); box-shadow: 0 0 0 3px rgba(0,168,138,0.12);
}
.sch-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.sch-note { font-size: var(--text-xs); color: var(--clr-text-dim); margin-top: var(--space-1); font-weight: 400; text-transform: none; letter-spacing: normal; }
.sch-char-hint { font-size: 11px; color: var(--clr-text-dim); text-align: right; margin-top: 4px; }

.sch-flash { padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); font-size: var(--text-sm); margin-bottom: var(--space-6); }
.sch-flash--success { background: rgba(0,168,138,0.1); color: var(--clr-accent); border: 1px solid rgba(0,168,138,0.2); }
.sch-flash--error { background: rgba(255,77,109,0.1); color: #FF4D6D; border: 1px solid rgba(255,77,109,0.2); }

.sch-submit-row { padding: var(--space-7); background: var(--clr-bg); }
.sch-submit-btn {
  width: 100%; padding: 1rem; font-size: var(--text-base); font-weight: 800; border-radius: var(--radius-md);
  background: var(--clr-accent); color: var(--clr-ink); border: none; cursor: pointer;
  transition: transform var(--dur-fast), opacity var(--dur-fast);
}
.sch-submit-btn:hover { transform: translateY(-1px); opacity: 0.94; }
.sch-submit-note { text-align: center; font-size: var(--text-xs); color: var(--clr-text-dim); margin-top: var(--space-4); }

@media (max-width: 700px) {
  .sch-form-row { grid-template-columns: 1fr; }
  .sch-steps { grid-template-columns: 1fr; }
  .sch-trust { gap: var(--space-4); }
}
