/* TISHK Submissions — uses the tishk-center theme tokens, with fallbacks so
   the form still reads well under another theme. */

.ts{
  --ts-blue:var(--brand-blue,#003399);
  --ts-gold:var(--brand-gold,#FFCF00);
  --ts-ink:var(--ink,#15171B);
  --ts-soft:var(--ink-soft,#4B505A);
  --ts-faint:var(--ink-faint,#7C818C);
  --ts-rule:var(--rule,#D9D3C3);
  --ts-card:var(--paper-raised,#FBF9F3);
  --ts-sunk:var(--paper-sunk,#EAE6D9);
  --ts-err:#B3261E;
  max-width:760px;margin:0 auto;font-family:var(--font-ui,system-ui,sans-serif);
}

.ts-statement{
  background:var(--ts-card);border:1px solid var(--ts-rule);border-top:3px solid var(--ts-blue);
  padding:24px 28px 22px;margin:0 0 32px;font-size:16px;line-height:1.8;color:var(--ts-soft);
}
.ts-statement p{margin:0 0 14px;text-align:justify;hyphens:auto}
/* the closing invitation leads the eye down to the form */
.ts-statement p:last-child{
  margin:0;padding-top:14px;border-top:1px solid var(--ts-rule);
  font-weight:600;color:var(--ts-ink);text-align:start;
}
.ts-statement p:last-child::after{content:" \2193";color:var(--ts-blue)}

.ts-alert{border:1px solid var(--ts-err);background:#FBEDEC;color:var(--ts-err);padding:14px 18px;margin:0 0 24px;font-size:14.5px}
.ts-alert p{margin:0 0 4px}

/* progress */
.ts-progress{list-style:none;margin:0 0 6px;padding:0;display:flex;gap:6px;counter-reset:none}
.ts-progress li{flex:1;display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:var(--ts-faint)}
.ts-progress li::before{content:"";height:3px;background:var(--ts-rule);transition:background .2s}
.ts-progress li.is-done::before,.ts-progress li.is-now::before{background:var(--ts-blue)}
.ts-progress li.is-now{color:var(--ts-ink);font-weight:600}
.ts-progress__n{display:none}
.ts-stepcount{font-size:13px;color:var(--ts-faint);margin:0 0 22px;min-height:1em}

/* steps */
.ts-step{border:0;margin:0;padding:0;min-width:0}
.ts-step legend{font-family:var(--font-display,Georgia,serif);font-size:26px;line-height:1.3;color:var(--ts-ink);margin:0 0 20px;padding:0}
.ts.is-js .ts-step{display:none}
.ts.is-js .ts-step.is-now{display:block;animation:ts-in .25s ease}
@keyframes ts-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ts:not(.is-js) .ts-step + .ts-step{margin-top:44px;padding-top:34px;border-top:1px solid var(--ts-rule)}

.ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media (max-width:640px){.ts-grid{grid-template-columns:1fr}}

/* fields */
.ts-field{margin:0 0 20px}
.ts-label{display:block;font-size:14.5px;font-weight:600;color:var(--ts-ink);margin:0 0 7px}
.ts-mark{font-weight:400;color:var(--ts-faint);font-size:12.5px}
.ts-mark.is-req{color:var(--ts-err);font-size:14px}
.ts input[type=text],.ts input[type=email],.ts input[type=tel],.ts select,.ts textarea{
  width:100%;font:inherit;font-size:15.5px;color:var(--ts-ink);
  background:#fff;border:1px solid var(--ts-rule);border-radius:2px;padding:11px 13px;
  transition:border-color .15s,box-shadow .15s;
}
.ts textarea{resize:vertical;line-height:1.65}
.ts input:focus,.ts select:focus,.ts textarea:focus{outline:0;border-color:var(--ts-blue);box-shadow:0 0 0 3px rgba(0,51,153,.12)}
.ts-help{font-size:13px;color:var(--ts-faint);margin:6px 0 0;line-height:1.55}
.ts-err{font-size:13px;color:var(--ts-err);margin:6px 0 0}
.ts-field.has-err input,.ts-field.has-err select,.ts-field.has-err textarea{border-color:var(--ts-err)}

.ts-file input[type=file]{
  display:block;width:100%;font:inherit;font-size:14px;color:var(--ts-soft);
  background:var(--ts-card);border:1px dashed var(--ts-rule);padding:18px 14px;cursor:pointer;
}
.ts-file input[type=file]:hover{border-color:var(--ts-blue)}
.ts-file input[type=file]::file-selector-button{
  font:inherit;font-size:13.5px;margin-inline-end:12px;padding:8px 14px;cursor:pointer;
  background:var(--ts-blue);color:#fff;border:0;border-radius:2px;
}

.ts-check label{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:var(--ts-soft);cursor:pointer}
.ts-check input{margin-top:4px;width:17px;height:17px;flex:none;accent-color:var(--ts-blue)}
.ts-check a{color:var(--ts-blue)}

.ts-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ts-choice .ts-label,.ts-choice .ts-err{grid-column:1/-1}
@media (max-width:640px){.ts-choice{grid-template-columns:1fr}}
.ts-card{display:flex;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;
  background:var(--ts-card);border:1px solid var(--ts-rule);font-size:15px;color:var(--ts-ink);transition:border-color .15s,background .15s}
.ts-card:hover{border-color:var(--ts-blue)}
.ts-card:has(input:checked){border-color:var(--ts-blue);background:#EEF2FB}
.ts-card input{accent-color:var(--ts-blue);width:17px;height:17px;flex:none}

.ts-branch{border-inline-start:2px solid var(--ts-gold);padding-inline-start:18px;margin:0 0 20px}
.ts.is-js .ts-branch[hidden]{display:none}

/* review */
.ts-review{background:var(--ts-card);border:1px solid var(--ts-rule);padding:18px 22px;margin:0 0 26px}
.ts-review h3{font-size:15px;margin:0 0 12px}
.ts-review__list{display:grid;grid-template-columns:minmax(120px,32%) 1fr;gap:7px 16px;margin:0;font-size:14px}
.ts-review__list dt{color:var(--ts-faint)}
.ts-review__list dd{margin:0;color:var(--ts-ink);unicode-bidi:plaintext;overflow-wrap:anywhere}

/* navigation */
.ts-nav{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:22px;border-top:1px solid var(--ts-rule)}
.ts-btn{font:inherit;font-size:15px;font-weight:600;padding:12px 26px;cursor:pointer;border-radius:2px;
  background:var(--ts-blue);color:#fff;border:1px solid var(--ts-blue);transition:background .15s}
.ts-btn:hover{background:var(--brand-blue-dark,#00246B)}
.ts-btn--ghost{background:transparent;color:var(--ts-ink);border-color:var(--ts-rule);margin-inline-end:auto}
.ts-btn--ghost:hover{background:var(--ts-sunk)}
.ts-btn--send{background:var(--ts-gold);border-color:var(--ts-gold);color:#15171B}
.ts-btn--send:hover{background:#FFDC3D}
.ts-btn[disabled]{opacity:.6;cursor:progress}
.ts.is-js .ts-nav [hidden]{display:none}

.ts-done{max-width:640px;margin:10px auto;padding:34px 36px;background:var(--ts-card,#FBF9F3);
  border:1px solid var(--ts-rule,#D9D3C3);border-top:3px solid var(--ts-blue,#003399)}
.ts-done h2{margin:0 0 12px}

.ts-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
