/* Shared styles for the /apply and /appeal form pages. */
.apply-wrap{max-width:760px;margin-inline:auto;}
.chooser{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:28px;}
.choice{display:block;text-decoration:none;padding:26px 24px;border-radius:var(--radius);
  background:linear-gradient(160deg,var(--surface),var(--surface2));border:1px solid var(--border);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;}
.choice:hover{transform:translateY(-4px);border-color:var(--border-hi);box-shadow:0 24px 48px -16px rgba(0,0,0,.6);}
.choice__ic{font-size:26px;}
.choice h3{margin:12px 0 6px;font-size:20px;}
.choice p{color:var(--muted);font-size:14px;line-height:1.5;margin:0;}
.choice__soon{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}

.intro-card{margin-top:24px;padding:22px 24px;border-radius:var(--radius);
  background:linear-gradient(160deg,var(--surface),var(--surface2));border:1px solid var(--border);}
.intro-card h2{font-size:16px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:12px;}
.intro-card ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.intro-card li{position:relative;padding-left:26px;color:var(--muted);font-size:15px;line-height:1.5;}
.intro-card li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:700;}

.form-section{margin-top:30px;}
.form-section__title{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:20px;}
.q{margin-bottom:22px;}
.q__label{display:block;font-family:var(--display);font-weight:700;font-size:17px;color:var(--text);margin-bottom:4px;}
.q__req{color:var(--pink);margin-left:4px;}
.q__help{color:var(--faint);font-size:14px;line-height:1.45;margin:0 0 12px;}
.q input[type=text], .q input[type=date], .q textarea{width:100%;background:var(--bg2);border:1px solid var(--border);
  border-radius:11px;color:var(--text);font-family:var(--body);font-size:15px;padding:13px 15px;transition:border-color .15s ease;}
.q input[type=date]{color-scheme:dark;max-width:240px;}
.q textarea{min-height:120px;resize:vertical;line-height:1.5;}
.q input[type=text]:focus, .q input[type=date]:focus, .q textarea:focus{outline:none;border-color:var(--violet);}
.opts{display:grid;gap:10px;}
.opt{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:11px;
  background:var(--bg2);border:1px solid var(--border);cursor:pointer;transition:border-color .15s ease,background .15s ease;font-size:15px;color:var(--muted);}
.opt:hover{border-color:var(--border-hi);}
.opt input{accent-color:var(--pink);width:17px;height:17px;flex:none;}
.opt.is-on{border-color:var(--violet);background:var(--surface2);color:var(--text);}
.agree{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border-radius:11px;
  background:var(--bg2);border:1px solid var(--border);cursor:pointer;font-size:15px;color:var(--muted);line-height:1.45;}
.agree input{accent-color:var(--green);width:18px;height:18px;flex:none;margin-top:2px;}
.agree.is-on{border-color:var(--green);color:var(--text);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.form-actions{margin-top:30px;}
.form-error{display:none;margin-top:14px;padding:12px 15px;border-radius:11px;font-size:14px;
  background:rgba(255,61,110,.1);border:1px solid rgba(255,61,110,.4);color:var(--pink2);}
.form-error.show{display:block;}
.invalid input[type=text], .invalid textarea, .invalid .opts, .invalid .agree{border-color:var(--pink)!important;}
.done-card{margin-top:28px;padding:40px 28px;text-align:center;border-radius:var(--radius);
  background:linear-gradient(160deg,var(--surface),var(--surface2));border:1px solid var(--border-hi);}
.done-card .big{font-size:40px;}
.done-card h2{margin:14px 0 10px;font-size:26px;}
.done-card p{color:var(--muted);font-size:15px;line-height:1.6;max-width:460px;margin:0 auto 22px;}
.backlink{display:inline-block;margin-top:26px;font-family:var(--mono);font-size:13px;color:var(--faint);text-decoration:none;}
.backlink:hover{color:var(--pink);}
