/* ============================================================
   Certificate Verification Page – Supplementary Styles
   Path: web-dist/assets/css/certificate-verification.css
   Requires: style.css (base), bootstrap-icons
   ============================================================ */

/* ----------------------------------------------------------
   1. NAVBAR – force solid/scrolled state on inner pages
      (on index.php the hero sits behind a transparent navbar;
       on this page we need it opaque from the very first pixel)
   ---------------------------------------------------------- */
.fbs__net-navbar.page-nav-solid {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: var(--nav-bg) !important;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.05) !important;
}

/* Show dark logo, hide light logo */
.fbs__net-navbar.page-nav-solid .navbar-brand .logo.dark  { display: block;  }
.fbs__net-navbar.page-nav-solid .navbar-brand .logo.light { display: none;   }

/* Nav link colours – dark on white bg */
.fbs__net-navbar.page-nav-solid .navbar-nav > li > .nav-link {
  color: rgba(var(--inverse-color-rgb), 1) !important;
}
.fbs__net-navbar.page-nav-solid .navbar-nav > li > .nav-link:hover,
.fbs__net-navbar.page-nav-solid .navbar-nav > li > .nav-link:focus {
  color: rgba(var(--inverse-color-rgb), 1) !important;
}
.fbs__net-navbar.page-nav-solid .navbar-nav > li > .nav-link.active {
  color: var(--bs-primary) !important;
}

/* Header social icons */
.fbs__net-navbar.page-nav-solid .header-social a {
  color: var(--inverse-color) !important;
}
.fbs__net-navbar.page-nav-solid .header-social a:hover {
  background-color: rgba(var(--inverse-color-rgb), 0.07);
}

/* Keep Get Started button normal */
.fbs__net-navbar.page-nav-solid .header-social .btn {
  background-color: var(--bs-primary) !important;
  color: var(--bs-white) !important;
}

/* ----------------------------------------------------------
   2. PAGE TITLE BANNER
   ---------------------------------------------------------- */
.cert-page-title {
  background: linear-gradient(135deg, var(--bs-primary) 0%, #144B4B 100%);
  padding-top: 130px !important;
  padding-bottom: 60px !important;
  text-align: center;
}

@media (max-width: 767.98px) {
  .cert-page-title {
    padding-top: 100px !important;
    padding-bottom: 40px !important;
  }
}

.cert-page-title h1 {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
}

@media (max-width: 767.98px) {
  .cert-page-title h1 {
    font-size: 1.7rem;
  }
}

.cert-page-title .page-subtitle {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1rem;
  margin-bottom: 0;
}

.cert-page-title .breadcrumb {
  justify-content: center;
  margin-bottom: 0;
}

.cert-page-title .breadcrumb-item,
.cert-page-title .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.88rem;
  text-decoration: none;
  transition: color 0.2s;
}

.cert-page-title .breadcrumb-item a:hover {
  color: #fff;
}

.cert-page-title .breadcrumb-item.active {
  color: rgba(255, 255, 255, 0.9);
}

.cert-page-title .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.4);
}

.cert-page-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background-color: rgba(204, 232, 201, 0.18);
  margin-bottom: 18px;
}

.cert-page-title-icon i {
  font-size: 2rem;
  color: var(--bs-secondary);
}

/* ----------------------------------------------------------
   3. AFFILIATION STRIP
   ---------------------------------------------------------- */
.cert-affiliations {
  background-color: rgba(var(--bs-secondary-rgb), 0.15);
  border: 1px solid rgba(var(--bs-secondary-rgb), 0.4);
  border-radius: 12px;
  padding: 16px 20px 14px;
  margin-bottom: 28px;
}

.cert-affiliations .aff-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--bs-primary);
  margin-bottom: 14px;
}

.cert-affiliations .aff-logos {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.aff-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-align: center;
}

.aff-badge .aff-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.6rem;
  line-height: 1.2;
  text-align: center;
  padding: 4px;
}

.aff-badge .aff-name {
  font-size: 0.6rem;
  color: rgba(var(--inverse-color-rgb), 0.6);
  font-weight: 500;
}

/* Individual badge colours */
.aff-eca  .aff-icon { background: #1a1a2e; color: #fff; }
.aff-euro .aff-icon { background: #003399; color: #ffd700; }
.aff-iaf  .aff-icon { background: #0057a8; color: #fff; }
.aff-iso  .aff-icon { background: #005f9e; color: #fff; }
.aff-niti .aff-icon { background: #ff671f; color: #fff; }

/* ----------------------------------------------------------
   4. VERIFICATION CARD
   ---------------------------------------------------------- */
.cert-card {
  border: 1px solid rgba(var(--inverse-color-rgb), 0.1);
  border-radius: 16px;
  padding: 38px 34px;
  background-color: var(--bs-body-bg);
}

@media (max-width: 575.98px) {
  .cert-card {
    padding: 24px 16px;
  }
}

/* Section divider label */
.cert-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
}

.cert-divider hr {
  flex: 1;
  border-color: rgba(var(--inverse-color-rgb), 0.12);
  opacity: 1;
  margin: 0;
}

.cert-divider span {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--bs-primary);
  white-space: nowrap;
}

/* ----------------------------------------------------------
   5. FORM
   ---------------------------------------------------------- */
.cert-form .form-label {
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--bs-heading-color);
  margin-bottom: 7px;
}

.cert-form .field-hint {
  font-size: 0.78rem;
  color: rgba(var(--inverse-color-rgb), 0.55);
  margin-top: 5px;
  line-height: 1.5;
}

.cert-form .input-wrap {
  position: relative;
}

.cert-form .field-icon {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bs-primary);
  opacity: 0.4;
  pointer-events: none;
  font-size: 1rem;
}

/* Submit button – full width, reuses .btn base */
.btn-cert-verify {
  width: 100%;
  padding: 13px 20px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 7px;
}

/* ----------------------------------------------------------
   6. RESULT PANELS
   ---------------------------------------------------------- */
#verifyResult {
  display: none;
}

.result-success {
  border-radius: 10px;
  padding: 20px 18px;
  background-color: rgba(var(--bs-secondary-rgb), 0.25);
  border: 1px solid rgba(var(--bs-secondary-rgb), 0.55);
}

.result-success .result-title {
  color: var(--bs-primary);
  font-weight: 700;
  font-size: 1rem;
}

.result-error {
  border-radius: 10px;
  padding: 20px 18px;
  background-color: rgba(220, 53, 69, 0.07);
  border: 1px solid rgba(220, 53, 69, 0.25);
  color: #842029;
}

.result-error .result-title {
  font-weight: 700;
  font-size: 1rem;
}

/* ----------------------------------------------------------
   7. SECURITY NOTE
   ---------------------------------------------------------- */
.cert-security {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: rgba(var(--bs-secondary-rgb), 0.12);
  border-radius: 7px;
  padding: 10px 14px;
  font-size: 0.78rem;
  color: var(--bs-primary);
  margin-top: 20px;
}

.cert-security .bi {
  flex-shrink: 0;
}

/* ----------------------------------------------------------
   8. INFO SIDEBAR  (uses .popular card pattern from index.php)
   ---------------------------------------------------------- */
.cert-info-card {
  background-color: var(--bs-primary);
  border-radius: 16px;
  padding: 36px 30px;
  height: 100%;
}

@media (max-width: 575.98px) {
  .cert-info-card {
    padding: 26px 18px;
  }
}

.cert-info-card h3 {
  color: var(--bs-secondary);
  font-size: 0.78rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.07em;
  margin-bottom: 16px;
}

.cert-info-card p,
.cert-info-card li {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.92rem;
}

.cert-info-card ul {
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}

.cert-info-card ul li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
}

.cert-info-card ul li .icon {
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  background-color: rgba(var(--bs-secondary-rgb), 0.15);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 2px;
}

.cert-info-card ul li .icon i {
  color: var(--bs-secondary);
  font-size: 0.72rem;
}

.cert-info-card .cert-info-divider {
  border-color: rgba(255, 255, 255, 0.12);
  margin: 22px 0;
}

.cert-info-card .contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 0.88rem;
}

.cert-info-card .contact-item i {
  color: var(--bs-secondary);
  font-size: 1rem;
  flex-shrink: 0;
}

.cert-info-card .contact-item a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.2s;
}

.cert-info-card .contact-item a:hover {
  color: #fff;
}

/* Affiliation logos – image version */
.aff-badge {
  display: flex;
  align-items: center;
  justify-content: center;
}

.aff-badge .aff-img {
  height: 52px;
  width: auto;
  object-fit: contain;
  display: block;
  /* subtle drop-shadow so logos read on the green-tinted bg */
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.10));
  transition: transform 0.2s ease;
}

.aff-badge .aff-img:hover {
  transform: scale(1.07);
}

/* NITI Aayog is taller due to the emblem – cap it slightly shorter */
.aff-badge .aff-img.niti {
  height: 55px;
}
