/* ============================================================
   ResultSearch.css
   Styles for /Results/ResultSearch.aspx.
   Shares the same visual language as Placement.css,
   CampusNews.css and PhotoGallery.css.
   Scoped under .result-page.
   ============================================================ */

.result-page{
  --ink:#1B2A4A;
  --paper:#F7F3EC;
  --paper-white:#FFFDF9;
  --brass:#C89B3C;
  --teal:#2F6F62;
  --charcoal:#22262B;
  --line:#D8CFC0;
  --fail-red:#B5563F;

  text-align:left;
  max-width:900px;
  margin:0 auto;
  padding:24px 20px 50px;
  font-family:'Inter', Arial, sans-serif;
  color:var(--charcoal);
  line-height:1.55;
}
.result-page *{box-sizing:border-box;}
.result-page h1, .result-page h2, .result-page h3{
  font-family:'Fraunces', Georgia, serif; color:var(--ink); font-weight:600; margin:0;
}

.result-eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:0.92rem; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--teal); font-weight:600;
}
.result-page h1{font-size:clamp(2.1rem, 4vw, 2.8rem); line-height:1.15; margin:10px 0 12px;}
.result-lede{max-width:650px; color:#454b52; font-size:1.15rem; margin-bottom:8px;}

/* ---- search form card ---- */
.result-form-card{
  background:var(--paper-white);
  border:1px solid var(--line);
  box-shadow:0 14px 30px rgba(27,42,74,0.08);
  padding:26px 28px;
  margin-top:30px;
}
.result-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 22px;
}
.result-field{
  display:flex;
  flex-direction:column;
}
.result-field label{
  font-size:0.88rem;
  font-weight:600;
  color:var(--ink);
  margin-bottom:6px;
}
.result-field select, .result-field input[type="text"]{
  font-family:'Inter', Arial, sans-serif;
  font-size:1rem;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:3px;
  background:var(--paper-white);
}
.result-field-hint{
  font-size:0.8rem;
  color:#8a8478;
  margin-top:4px;
}
.result-form-full{
  grid-column:1 / -1;
}
.result-search-btn{
  margin-top:22px;
  background:var(--ink);
  color:var(--paper-white);
  font-weight:700;
  font-size:1rem;
  padding:12px 28px;
  border:none;
  border-radius:3px;
  cursor:pointer;
}
.result-search-btn:hover{
  background:var(--teal);
}

.result-validation-msg{
  margin-top:14px;
  font-size:0.92rem;
  color:var(--fail-red);
  font-weight:600;
}

/* ---- results table ---- */
.result-output{
  margin-top:34px;
}
.result-output h3{
  font-size:1.2rem;
  margin-bottom:14px;
}
.result-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.95rem;
  background:var(--paper-white);
}
.result-table th, .result-table td{
  border:1px solid var(--line);
  padding:10px 12px;
  text-align:left;
}
.result-table th{
  background:var(--paper);
  font-weight:600;
  color:var(--ink);
  font-size:0.84rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.result-status-pass{
  color:var(--teal);
  font-weight:700;
}
.result-status-fail{
  color:var(--fail-red);
  font-weight:700;
}
.result-status-pending{
  color:var(--brass);
  font-weight:700;
}
.result-no-match{
  margin-top:20px;
  font-size:1rem;
  color:#5b564c;
  background:var(--paper);
  border:1px solid var(--line);
  padding:16px 18px;
}

@media (max-width:620px){
  .result-form-grid{
    grid-template-columns:1fr;
  }
}
