/* ===== APPLY (SAT INSTRUCTOR JOBS) PAGE ===== */

.ap-hero .btn-w { display: inline-block; text-decoration: none; position: relative; }
.psec .ssub, .bglight .ssub { max-width: 640px; }

.ap-list { list-style: none; margin-top: 2rem; display: grid; gap: .9rem; max-width: 760px; }
.ap-list li { position: relative; padding-left: 1.75rem; font-size: .95rem; font-weight: 300; color: var(--muted); line-height: 1.6; }
.ap-list li::before { content: '\2713'; position: absolute; left: 0; top: 0; color: var(--green); font-weight: 600; }
.ap-list strong { color: var(--black); font-weight: 500; }

.ap-hero p { margin-bottom: 1.25rem; }
.ap-perks { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0 0 2rem; padding: 0; position: relative; }
.ap-perks li { font-size: .82rem; font-weight: 500; letter-spacing: .04em; color: var(--white); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: .35rem .9rem; }

/* FORM */
.ap-form-sec { padding: 72px 2rem 96px; scroll-margin-top: 70px; }
.ap-wrap { max-width: 760px; margin: 0 auto; }
.ap-intro { font-size: .9rem; font-weight: 300; color: var(--muted); margin-bottom: 1.5rem; }
.ap-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r); padding: 2rem; }
.ap-sec { margin-bottom: 2rem; }
.ap-sec h3 { font-size: .78rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--green); padding-bottom: .6rem; margin-bottom: 1.1rem; border-bottom: 1px solid var(--border); }
.ap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.1rem; }
.ap-grid > div { min-width: 0; display: flex; flex-direction: column; }
.ap-full { grid-column: 1 / -1; }
.ap-card label, .ap-fs legend { font-size: .85rem; font-weight: 500; color: var(--black); margin-bottom: .4rem; line-height: 1.45; }
.ap-card .req { color: #BD1F2E; }
.ap-intro .req { color: #BD1F2E; }
.ap-card .opt { font-weight: 300; color: var(--muted); }
.ap-card input:not([type=checkbox]):not([type=radio]), .ap-card select, .ap-card textarea {
  font: inherit; font-size: .92rem; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px;
  width: 100%; background: var(--off); color: var(--black); transition: border-color .2s, box-shadow .2s;
}
.ap-card textarea { resize: vertical; min-height: 96px; line-height: 1.5; }
.ap-card input:focus, .ap-card select:focus, .ap-card textarea:focus { outline: none; border-color: var(--green); background: var(--white); box-shadow: 0 0 0 3px var(--green-light); }
.ap-card .ap-invalid { border-color: #BD1F2E !important; }
.ap-field-err { color: #BD1F2E; font-size: .78rem; margin-top: .3rem; }

.ap-gap { margin-bottom: 1.1rem; }
.ap-fs { border: 0; padding: 0; margin: 0 0 1.1rem; min-width: 0; }
.ap-fs legend { padding: 0; }
.ap-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.ap-chip { display: inline-flex !important; align-items: center; gap: .45rem; margin: 0 !important; font-weight: 400 !important;
  border: 1px solid var(--border); border-radius: 999px; padding: .5rem .95rem; cursor: pointer; background: var(--off); transition: border-color .15s, background .15s; }
.ap-chip:hover { border-color: var(--green); }
.ap-chip:has(input:checked) { border-color: var(--green); background: var(--green-light); color: var(--green-dark); }
.ap-chip input, .ap-check input { accent-color: var(--green); margin: 0; }
.ap-fs.ap-invalid-group .ap-chip, .ap-checks.ap-invalid-group .ap-check { border-color: #BD1F2E; }

.ap-checks { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin-top: 1.1rem; }
.ap-check { display: inline-flex !important; align-items: center; gap: .5rem; font-weight: 400 !important; cursor: pointer; margin: 0 !important; }
.ap-check-sm { font-size: .82rem !important; color: var(--muted) !important; margin-top: .55rem !important; }

/* Honeypot: off-screen for people, still in the DOM for bots. */
.ap-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.ap-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: .5rem; }
.ap-actions .btn-g { min-width: 220px; padding: 13px 28px; }
.ap-actions .btn-g:disabled { opacity: .6; cursor: wait; }
.ap-err { color: #BD1F2E; font-size: .88rem; flex: 1; min-width: 200px; }
.ap-err a { color: inherit; }

.ap-done { text-align: center; padding: 3rem 2rem; outline: none; }
.ap-done-mark { width: 56px; height: 56px; border-radius: 50%; background: var(--green-light); color: var(--green); font-size: 1.6rem; line-height: 56px; margin: 0 auto 1.25rem; }
.ap-done h3 { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 500; color: var(--black); margin-bottom: 1rem; }
.ap-done p { font-size: .95rem; font-weight: 300; color: var(--muted); max-width: 480px; margin: 0 auto .75rem; }
.ap-done a { color: var(--green); }

@media (max-width: 768px) {
  .ap-form-sec { padding: 48px 1rem 64px; }
  .ap-card { padding: 1.4rem 1.1rem; }
  .ap-grid { grid-template-columns: minmax(0, 1fr); }
  .ap-actions .btn-g { width: 100%; }
}

[hidden] { display: none !important; }
