/* tps-forms.css — shared form styling for the static form pages
   (payment, transcript request, athletic registration, tuition contract). */
form.tpsform{display:grid;gap:16px}
.tpsform label{font-weight:700;font-size:.85rem;letter-spacing:.02em;display:block}
.tpsform input,.tpsform textarea,.tpsform select{width:100%;margin-top:6px;padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;font:inherit;font-size:.95rem;background:#fff;transition:.25s;outline:none}
.tpsform input:focus,.tpsform textarea:focus,.tpsform select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,162,75,.18)}
.tpsform .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tpsform .frow3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.tpsform .err{border-color:#c0392b !important;animation:shake .4s}
.tpsform fieldset{border:0;padding:0;margin:0}
.tpsform legend{font-family:var(--serif);font-size:1.06rem;color:var(--green-deep);padding:0;margin:10px 0 4px}
.tpsform .hint{font-weight:400;color:var(--ink-soft);font-size:.82rem;margin:2px 0 0}
.tpsform .checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px;margin-top:8px}
.tpsform .checks label{font-weight:400;font-size:.92rem;display:flex;align-items:center;gap:9px;cursor:pointer}
.tpsform .checks input{width:auto;margin:0;padding:0}
.tpsform .radios{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:8px}
.tpsform .radios label{font-weight:400;font-size:.92rem;display:flex;align-items:center;gap:8px;cursor:pointer}
.tpsform .radios input{width:auto;margin:0}
.tpsform .sechead{border-top:1px solid var(--line);padding-top:22px;margin-top:6px}
.tpsform .sechead:first-of-type{border-top:0;padding-top:0;margin-top:0}
.sentmark{display:none;width:64px;height:64px;border-radius:50%;background:var(--green);margin:0 auto 12px;place-items:center}
.sentmark svg{width:32px;height:32px}
.sentmark.show{display:grid;animation:pop .6s ease}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.paylist{display:grid;gap:14px}
.paylist .row{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:.2s}
.paylist .row:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.paylist .ic{width:40px;height:40px;flex:none;border-radius:11px;background:var(--cream);border:1px solid var(--line);display:grid;place-items:center;color:var(--green);font-size:1.1rem}
.paylist b{display:block;font-family:var(--serif)}
.paylist small{color:var(--ink-soft);font-size:.88rem;display:block}
.formnote{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:0 12px 12px 0;padding:16px 20px;margin:18px 0}
.formnote p{margin:6px 0;color:var(--ink-soft);font-size:.92rem}
@media(max-width:920px){.tpsform .frow,.tpsform .frow3{grid-template-columns:1fr}}
