/* Honorary Awards Verification page */
.hav-app { max-width:780px; margin:0 auto; padding:4rem 1rem 3rem; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; color:#1f2937; }
.hav-head { margin-bottom:1.6em; }
.hav-head h1 { font-size:1.9rem; color:#0b2e5c; margin:0 0 .3em; font-weight:700; }
.hav-help { color:#4b5563; line-height:1.55; margin:0 0 1.4em; }
@media (max-width:540px){ .hav-app { padding-top:2.5rem; } }
.hav-srlbl, .hav-yearlbl { position:absolute; left:-9999px; }
.hav-filters { display:flex; gap:.6em; align-items:stretch; }
.hav-searchbox { flex:1; position:relative; display:flex; align-items:center; border:1.5px solid #d1d5db; border-radius:12px; background:#fff; transition:border-color .15s, box-shadow .15s; min-width:0; }
.hav-yearbox { flex:0 0 7.5em; display:flex; align-items:center; border:1.5px solid #d1d5db; border-radius:12px; background:#fff; transition:border-color .15s, box-shadow .15s; }
.hav-yearbox:focus-within, .hav-searchbox:focus-within { border-color:#0b2e5c; box-shadow:0 0 0 3px rgba(11,46,92,.12); }
#hav-year { width:100%; border:0; outline:0; padding:.85em 1em; font-size:1.05rem; background:transparent; text-align:center; }
#hav-year::placeholder { color:#9ca3af; }
@media (max-width:540px){ .hav-filters { flex-direction:column; } .hav-yearbox { flex:0 0 auto; } }
.hav-icon { margin:0 .55em 0 .9em; color:#6b7280; flex-shrink:0; }
#hav-q { flex:1; border:0; outline:0; padding:.85em 0; font-size:1.05rem; background:transparent; min-width:0; }
#hav-q::placeholder { color:#9ca3af; }
#hav-clear { border:0; background:transparent; font-size:1.6rem; line-height:1; color:#9ca3af; padding:0 .8em; cursor:pointer; }
#hav-clear:hover { color:#0b2e5c; }
.hav-status { margin:1em 0 .5em; color:#6b7280; font-size:.9rem; min-height:1.4em; }
.hav-empty, .hav-err { color:#b91c1c; }
.hav-results { display:grid; gap:1.4em; }

/* Certificate-style verification card */
.hav-card {
  position:relative;
  background:linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 6px 24px rgba(11,46,92,.08), 0 1px 2px rgba(0,0,0,.04);
  overflow:hidden;
  animation:hav-rise .35s ease-out;
}
@keyframes hav-rise { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

.hav-card-ribbon {
  display:flex; align-items:center; gap:.7em;
  padding:.7em 1.2em;
  background:linear-gradient(135deg, #0b2e5c 0%, #163e72 50%, #0b2e5c 100%);
  color:#fff;
  border-bottom:3px solid #B7A57A;
}
.hav-check { flex-shrink:0; }
.hav-ribbon-text {
  font-size:.78rem; font-weight:800; letter-spacing:.18em;
  text-transform:uppercase; color:#fff;
}
.hav-ribbon-issuer {
  margin-left:auto;
  font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:#dcd5b8;
  font-style:italic;
}

.hav-card-body { padding:1.6em 1.6em 1.4em; text-align:center; }
.hav-card-eyebrow,
.hav-card-conferred {
  margin:0; font-style:italic; color:#6b7280;
  font-size:.85rem; letter-spacing:.02em;
}
.hav-card-eyebrow { margin-bottom:.35em; }
.hav-card-conferred { margin:.7em 0 .35em; }

.hav-name {
  margin:0; padding:0;
  font-family:Merriweather, Georgia, "Times New Roman", serif;
  font-size:1.7rem;
  font-weight:900;
  color:#0b2e5c;
  line-height:1.2;
  letter-spacing:.005em;
}
.hav-type {
  margin:0;
  font-family:Merriweather, Georgia, serif;
  font-size:1.05rem;
  font-style:italic;
  color:#1f2937;
  font-weight:500;
}

.hav-ornament {
  display:flex; align-items:center; justify-content:center;
  gap:.6em; margin:1.1em 0 1.1em;
}
.hav-ornament span {
  flex:1; max-width:6em;
  height:1px;
  background:linear-gradient(90deg, transparent, #B7A57A, transparent);
}

.hav-fields {
  display:grid; grid-template-columns:1fr 1fr;
  gap:.4em 1.5em;
  margin:0;
  font-size:.92rem;
  text-align:left;
}
.hav-fields > div {
  background:rgba(11,46,92,.03);
  padding:.6em .9em;
  border-radius:8px;
  border:1px solid rgba(11,46,92,.06);
}
.hav-fields dt {
  color:#6b7280;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  margin-bottom:.2em;
}
.hav-fields dd {
  margin:0;
  color:#0b2e5c;
  font-weight:600;
  line-height:1.35;
}
.hav-foot { margin-top:2.5em; padding-top:1.2em; border-top:1px solid #e5e7eb; color:#6b7280; font-size:.85rem; }
.hav-foot a { color:#0b2e5c; text-decoration:underline; }
@media (max-width:540px) {
  .hav-fields { grid-template-columns:1fr; }
  .hav-name { font-size:1.4rem; }
  .hav-type { font-size:.95rem; }
  .hav-card-body { padding:1.3em 1em 1.2em; }
  .hav-ribbon-issuer { display:none; }
}
