/* Public certificate lookup: responsive Google-style search bar in VextaLearn's design language. */
.vl-certificate-verify-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.vl-certificate-verify-card {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
  padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: 1.5rem;
  background: var(--surface, #fff); border: 1px solid var(--border, rgba(24, 43, 78, .12));
  box-shadow: 0 24px 70px rgba(20, 42, 82, .08);
}
.vl-certificate-verify-copy h2 { margin: .8rem 0 1rem; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; color: var(--text-primary, #132447); }
.vl-certificate-verify-copy h2 em { color: var(--primary, #356cf5); font-style: normal; }
.vl-certificate-verify-copy > p { max-width: 34rem; color: var(--text-secondary, #5f6d83); line-height: 1.75; }
.vl-certificate-verify-points { list-style: none; display: grid; gap: .65rem; padding: 0; margin: 1.5rem 0 0; color: var(--text-secondary, #5f6d83); }
.vl-certificate-verify-points i { color: #16a36a; margin-right: .5rem; }
.vl-certificate-verify-tools { min-width: 0; }
.vl-certificate-search-label { display: block; margin: 0 0 .75rem .25rem; font-weight: 650; color: var(--text-primary, #132447); }
.vl-certificate-searchbar {
  display: flex; align-items: center; gap: .2rem; min-height: 60px;
  padding: .35rem .45rem .35rem .6rem; border: 1px solid var(--border, #d8deea);
  border-radius: 999px; background: var(--surface, #fff);
  box-shadow: 0 2px 7px rgba(30, 50, 90, .08);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.vl-certificate-searchbar:hover,
.vl-certificate-searchbar:focus-within {
  border-color: transparent; box-shadow: 0 2px 10px rgba(30, 50, 90, .18);
}
.vl-certificate-searchbar:focus-within { outline: 2px solid rgba(53,108,245,.18); }
.vl-certificate-camera-trigger,
.vl-certificate-search-submit {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 42px;
  width: 42px; height: 42px; border: 0; border-radius: 50%; cursor: pointer;
  background: transparent; color: var(--text-secondary, #68758b); font-size: 1.05rem;
  transition: background .18s ease, color .18s ease;
}
.vl-certificate-camera-trigger:hover { background: rgba(53,108,245,.09); color: var(--primary, #356cf5); }
.vl-certificate-search-submit { background: var(--primary, #356cf5); color: #fff; }
.vl-certificate-search-submit:hover { filter: brightness(.94); }
.vl-certificate-searchbar input {
  flex: 1 1 auto; min-width: 0; width: 100%; padding: .75rem .55rem;
  border: 0; outline: 0; box-shadow: none; background: transparent;
  color: var(--text-primary, #132447); font: inherit; text-transform: uppercase;
}
.vl-certificate-searchbar input::placeholder { color: var(--text-secondary, #8a94a6); text-transform: none; opacity: 1; }
.vl-certificate-searchbar input:focus { outline: 0; border: 0; box-shadow: none; }
.vl-certificate-form-hint { margin: .7rem .25rem 0; font-size: .84rem; line-height: 1.5; color: var(--text-secondary, #68758b); }
.vl-certificate-camera-wrap { margin-top: 1rem; padding: .85rem; border-radius: 1rem; border: 1px solid var(--border, #d8deea); background: var(--surface-muted, #f6f8fc); }
.vl-certificate-camera-wrap[hidden] { display: none !important; }
.vl-certificate-camera-wrap video { display: block; width: 100%; max-height: 320px; object-fit: cover; border-radius: .8rem; background: #101828; }
.vl-certificate-camera-wrap [data-certificate-scan-stop] { margin-top: .65rem; }
.vl-certificate-back-link { display: inline-flex; gap: .5rem; align-items: center; text-decoration: none; color: var(--text-secondary, #5f6d83); }
.vl-certificate-verify-page > .vl-container > .vl-certificate-verify-card { margin-top: 1.5rem; }
@media (max-width: 800px) { .vl-certificate-verify-card { grid-template-columns: 1fr; gap: 1.5rem; } }
@media (max-width: 520px) {
  .vl-certificate-searchbar { min-height: 56px; padding-left: .35rem; }
  .vl-certificate-camera-trigger, .vl-certificate-search-submit { flex-basis: 38px; width: 38px; height: 38px; }
  .vl-certificate-verify-card { padding: 1.2rem; border-radius: 1rem; }
}
