/* Fortuna Certificate Registry — Public Styles (V4 — designer redesign)
   Palette: brand #810081, surface #fff, canvas #f2eef5. Title in Playfair Display,
   everything else in Montserrat. Themeable via --fcm-brand (fcm_brand_color). */

.fcm-registry-wrap {
  --fcm-brand: #810081;
  --fcm-brand-2: #9a1a9a;
  --fcm-brand-3: #7a007a;
  --fcm-ink: #241626;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #f2eef5;
  color: var(--fcm-ink);
  padding: 34px 20px 52px;
  border-radius: 22px;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
.fcm-registry-wrap *,
.fcm-registry-wrap *::before,
.fcm-registry-wrap *::after { box-sizing: border-box; }
.fcm-registry-wrap ::placeholder { color: #b3a8bb; }

.fcm-reg-inner { max-width: 1200px; margin: 0 auto; }

/* ---------- Header ---------- */
.fcm-registry-header {
  display: flex; align-items: center; gap: 16px;
  padding: 2px 0 26px;
}
.fcm-registry-brandmark {
  width: 54px; height: 54px; border-radius: 15px; flex-shrink: 0;
  background: linear-gradient(150deg, var(--fcm-brand-2), var(--fcm-brand-3));
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(129,0,129,.28);
}
.fcm-registry-brandmark svg { width: 27px; height: 27px; }
.fcm-registry-heading { flex: 1; min-width: 0; }
.fcm-registry-title {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 31px; font-weight: 800; color: var(--fcm-ink);
  margin: 0; line-height: 1.12; letter-spacing: -.5px;
}
.fcm-registry-subtitle {
  font-size: 14px; color: #8a7f90; margin: 4px 0 0; font-weight: 500;
}
.fcm-registry-login { flex-shrink: 0; }
.fcm-registry-login a,
.fcm-registry-login .fcm-portal-login-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: var(--fcm-brand);
  border: 1.5px solid #ecdcec; border-radius: 50px;
  padding: 11px 22px; font-size: 13.5px; font-weight: 700;
  text-decoration: none; box-shadow: 0 4px 14px rgba(36,22,38,.05);
  transition: background .18s, color .18s, border-color .18s, transform .18s;
}
.fcm-registry-login a:hover,
.fcm-registry-login .fcm-portal-login-btn:hover {
  background: var(--fcm-brand); color: #fff; border-color: var(--fcm-brand);
  transform: translateY(-1px);
}

/* ---------- Search box ---------- */
.fcm-registry-search-box {
  background: #fff; border: 1px solid #ece6ee; border-radius: 20px;
  box-shadow: 0 12px 34px rgba(36,22,38,.07);
  padding: 22px 24px; margin-bottom: 20px;
}
.fcm-registry-fields {
  display: grid; grid-template-columns: 1.1fr .9fr 1.1fr auto;
  gap: 14px; align-items: flex-end;
}
.fcm-rf-group { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.fcm-rf-label {
  font-size: 11px; font-weight: 700; color: #9a8fa1;
  text-transform: uppercase; letter-spacing: .6px;
}
.fcm-rf-input {
  width: 100%; padding: 13px 15px; border: 1.5px solid #e7e1ea;
  border-radius: 12px; font-family: inherit; font-size: 14px;
  color: var(--fcm-ink); background: #faf8fb; outline: none;
  transition: border-color .16s, box-shadow .16s, background .16s;
}
.fcm-rf-input:focus {
  border-color: var(--fcm-brand); background: #fff;
  box-shadow: 0 0 0 3px rgba(129,0,129,.12);
}
.fcm-rf-btn-wrap { justify-content: flex-end; }
.fcm-reg-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--fcm-brand); color: #fff; border: none; border-radius: 12px;
  padding: 0 26px; height: 48px; width: 100%;
  font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
  white-space: nowrap; box-shadow: 0 6px 16px rgba(129,0,129,.24);
  transition: background .18s, transform .12s, box-shadow .18s;
}
.fcm-reg-btn:hover { background: #5e005e; transform: translateY(-1px); box-shadow: 0 9px 20px rgba(129,0,129,.28); }
.fcm-reg-btn:active { transform: translateY(0); }
.fcm-reg-btn svg { width: 17px; height: 17px; }

/* ---------- Info bar ---------- */
.fcm-reg-infobar {
  background: #fff; border: 1px solid #ece6ee; border-radius: 16px;
  box-shadow: 0 6px 22px rgba(36,22,38,.05);
  padding: 16px 22px; margin-bottom: 30px;
  display: flex; align-items: center; gap: 12px;
}
.fcm-reg-infobar svg { width: 19px; height: 19px; flex-shrink: 0; stroke: var(--fcm-brand); }
.fcm-reg-infobar p { font-size: 14px; color: #9a8fa1; margin: 0; font-weight: 500; }

/* ---------- Section title ---------- */
.fcm-reg-section-title {
  font-size: 16px; font-weight: 800; color: var(--fcm-ink);
  text-transform: uppercase; letter-spacing: .5px; margin: 0 0 15px;
  display: flex; align-items: center; gap: 10px;
}
.fcm-reg-section-title svg { width: 19px; height: 19px; flex-shrink: 0; stroke: var(--fcm-brand); }
.fcm-reg-section-title .fcm-reg-count-pill {
  margin-left: auto; text-transform: none; letter-spacing: 0;
  font-size: 12px; font-weight: 700; color: var(--fcm-brand);
  background: #f7e9f7; border-radius: 50px; padding: 4px 12px;
}
.fcm-reg-reset {
  margin-left: 10px; text-transform: none; letter-spacing: 0;
  font-size: 12.5px; font-weight: 700; color: var(--fcm-brand);
  background: none; border: none; cursor: pointer; display: none;
  align-items: center; gap: 4px;
}
.fcm-reg-reset:hover { text-decoration: underline; }

/* ---------- Table ---------- */
.fcm-reg-table-card {
  background: #fff; border: 1px solid #ece6ee; border-radius: 16px;
  box-shadow: 0 8px 26px rgba(36,22,38,.06); overflow: hidden;
}
.fcm-reg-table-wrap { overflow-x: auto; }
.fcm-reg-table {
  width: 100%; border-collapse: collapse; font-size: 14px; min-width: 760px;
}
.fcm-reg-table thead tr { background: var(--fcm-brand); }
.fcm-reg-table thead th {
  padding: 15px 24px; text-align: left; font-size: 11px; font-weight: 700;
  color: #fff; text-transform: uppercase; letter-spacing: .6px; white-space: nowrap;
}
.fcm-reg-table thead th:last-child { text-align: right; }
.fcm-reg-table tbody tr { border-top: 1px solid #f4eff5; transition: background .14s; }
.fcm-reg-table tbody tr:hover { background: #fdf8fd; }
.fcm-reg-table td { padding: 15px 24px; vertical-align: middle; color: #5a4d60; }
.fcm-reg-name { font-weight: 700; color: var(--fcm-ink); font-size: 15px; }
.fcm-reg-cert-id {
  font-family: 'Courier New', monospace; font-size: 12px; color: #b09ab0;
  font-weight: 700; margin-top: 3px; letter-spacing: .3px;
}
.fcm-reg-course { color: #5a4d60; }
.fcm-reg-date { color: #5a4d60; font-weight: 600; white-space: nowrap; }
.fcm-reg-actions { text-align: right; white-space: nowrap; }

/* Result badges */
.fcm-reg-badge {
  display: inline-flex; align-items: center; padding: 5px 13px; border-radius: 50px;
  font-size: 11.5px; font-weight: 700; white-space: nowrap; line-height: 1.3;
}
.fcm-reg-badge.is-dist { background: #fbf1dd; color: #92600a; }
.fcm-reg-badge.is-comp { background: #e7f6ee; color: #1c7a4a; }
.fcm-reg-badge.is-part { background: #eef0fb; color: #3949ab; }
.fcm-reg-revoked-tag {
  display: inline-flex; align-items: center; gap: 4px; margin-top: 5px;
  font-size: 10.5px; font-weight: 700; color: #c0392b;
  background: #fdecec; border-radius: 50px; padding: 3px 9px; width: fit-content;
}
.fcm-reg-row-revoked .fcm-reg-name { color: #9a8fa1; }

.fcm-reg-view-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 16px; background: #fff; color: var(--fcm-brand);
  border: 1.5px solid #ecdcec; border-radius: 9px;
  font-size: 12.5px; font-weight: 700; text-decoration: none; white-space: nowrap;
  transition: background .16s, color .16s, border-color .16s;
}
.fcm-reg-view-btn svg { width: 13px; height: 13px; }
.fcm-reg-view-btn:hover { background: var(--fcm-brand); color: #fff; border-color: var(--fcm-brand); }

/* Faza E-6: reyestrdə dil versiyalarının doğrulama linkləri */
.fcm-reg-lang-row { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; justify-content: flex-end; }
.fcm-reg-lang-pill {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 30px; padding: 3px 8px; border-radius: 6px;
  background: #f5eef5; color: var(--fcm-brand); border: 1px solid #ecdcec;
  font-size: 11px; font-weight: 700; letter-spacing: .4px; text-decoration: none;
}
.fcm-reg-lang-pill:hover { background: var(--fcm-brand); color: #fff; border-color: var(--fcm-brand); }

/* Empty / loading */
.fcm-reg-empty {
  padding: 44px 24px; text-align: center; color: #9a8fa1;
  font-size: 14px; font-weight: 500;
}
.fcm-reg-empty svg { width: 34px; height: 34px; stroke: #cbbccd; margin-bottom: 10px; display: inline-block; }
.fcm-reg-empty p { margin: 0; }
.fcm-reg-loading {
  padding: 46px 24px; text-align: center; color: #9a8fa1;
  font-size: 14px; font-weight: 600; display: flex; align-items: center;
  justify-content: center; gap: 11px;
}
.fcm-reg-spinner {
  width: 20px; height: 20px; border: 2.5px solid #e7d9e7;
  border-top-color: var(--fcm-brand); border-radius: 50%;
  display: inline-block; animation: fcm-reg-spin .7s linear infinite;
}
@keyframes fcm-reg-spin { to { transform: rotate(360deg); } }

/* Pagination (placed above the table) */
.fcm-reg-pagination {
  display: flex; justify-content: flex-end; gap: 7px; margin: 0 0 14px; flex-wrap: wrap;
}
.fcm-reg-page-btn {
  min-width: 40px; height: 40px; padding: 0 12px; border: 1.5px solid #ece6ee;
  background: #fff; color: #5a4d60; border-radius: 11px; font-family: inherit;
  font-size: 14px; font-weight: 700; cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.fcm-reg-page-btn:hover:not(:disabled):not(.active) { border-color: var(--fcm-brand); color: var(--fcm-brand); }
.fcm-reg-page-btn.active { background: var(--fcm-brand); color: #fff; border-color: var(--fcm-brand); box-shadow: 0 5px 14px rgba(129,0,129,.22); }
.fcm-reg-page-btn:disabled { opacity: .4; cursor: default; }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .fcm-registry-fields { grid-template-columns: 1fr 1fr; }
  .fcm-rf-btn-wrap { grid-column: 1 / -1; }
  .fcm-reg-btn { width: 100%; }
}
@media (max-width: 620px) {
  .fcm-registry-wrap { padding: 22px 13px 40px; border-radius: 16px; }
  .fcm-registry-header { flex-wrap: wrap; gap: 13px; }
  .fcm-registry-title { font-size: 27px; }
  .fcm-registry-login { width: 100%; }
  .fcm-registry-login a { width: 100%; justify-content: center; }
  .fcm-registry-fields { grid-template-columns: 1fr; }

  /* Table → stacked cards */
  .fcm-reg-table, .fcm-reg-table tbody, .fcm-reg-table tr, .fcm-reg-table td { display: block; width: 100%; }
  .fcm-reg-table { min-width: 0; }
  .fcm-reg-table thead { display: none; }
  .fcm-reg-table tbody tr {
    border: 1px solid #f0e9f1; border-radius: 13px; margin: 12px; padding: 6px 4px;
    box-shadow: 0 3px 12px rgba(36,22,38,.04);
  }
  .fcm-reg-table td {
    display: flex; justify-content: space-between; align-items: center; gap: 14px;
    padding: 9px 16px; text-align: right;
  }
  .fcm-reg-table td::before {
    content: attr(data-label); font-size: 11px; font-weight: 700; color: #9a8fa1;
    text-transform: uppercase; letter-spacing: .5px; text-align: left; flex-shrink: 0;
  }
  .fcm-reg-table td.fcm-reg-actions { justify-content: flex-end; }
  .fcm-reg-table td:first-child { flex-direction: column; align-items: flex-end; }
  .fcm-reg-name, .fcm-reg-cert-id { text-align: right; }
}

/* ============================================================
   THEME-PROOFING — force our own design; never inherit the
   active WordPress theme's defaults for tables, links, buttons,
   inputs or the login button (colors, backgrounds, borders, hover).
   ============================================================ */
.fcm-registry-wrap a { text-decoration: none !important; box-shadow: none !important; }
.fcm-registry-wrap button { font-family: 'Montserrat', sans-serif; }

.fcm-registry-wrap .fcm-reg-table,
.fcm-registry-wrap .fcm-reg-table thead,
.fcm-registry-wrap .fcm-reg-table tbody { background: transparent !important; border: 0 !important; }
.fcm-registry-wrap .fcm-reg-table thead tr { background: var(--fcm-brand) !important; }
.fcm-registry-wrap .fcm-reg-table thead th {
  background: transparent !important; color: #fff !important; border: 0 !important;
}
.fcm-registry-wrap .fcm-reg-table tbody tr { background: transparent !important; }
.fcm-registry-wrap .fcm-reg-table tbody tr:hover { background: #fdf8fd !important; }
.fcm-registry-wrap .fcm-reg-table td {
  background: transparent !important; border: 0 !important;
  border-top: 1px solid #f4eff5 !important; color: #5a4d60 !important;
}
.fcm-registry-wrap .fcm-reg-name { color: var(--fcm-ink) !important; }
.fcm-registry-wrap .fcm-reg-cert-id { color: #b09ab0 !important; }
.fcm-registry-wrap .fcm-reg-date { color: #5a4d60 !important; }

.fcm-registry-wrap .fcm-reg-view-btn {
  background: #fff !important; color: var(--fcm-brand) !important;
  border: 1.5px solid #ecdcec !important;
}
.fcm-registry-wrap .fcm-reg-view-btn:hover {
  background: var(--fcm-brand) !important; color: #fff !important; border-color: var(--fcm-brand) !important;
}
.fcm-registry-wrap .fcm-reg-btn { background: var(--fcm-brand) !important; color: #fff !important; border: none !important; }
.fcm-registry-wrap .fcm-reg-btn:hover { background: #5e005e !important; color: #fff !important; }

.fcm-registry-wrap .fcm-rf-input {
  background: #faf8fb !important; color: var(--fcm-ink) !important; border: 1.5px solid #e7e1ea !important;
}
.fcm-registry-wrap .fcm-rf-input:focus { border-color: var(--fcm-brand) !important; background: #fff !important; }

.fcm-registry-wrap .fcm-reg-badge.is-dist { background: #fbf1dd !important; color: #92600a !important; }
.fcm-registry-wrap .fcm-reg-badge.is-comp { background: #e7f6ee !important; color: #1c7a4a !important; }
.fcm-registry-wrap .fcm-reg-badge.is-part { background: #eef0fb !important; color: #3949ab !important; }

.fcm-registry-wrap .fcm-reg-page-btn { background: #fff !important; color: #5a4d60 !important; border: 1.5px solid #ece6ee !important; }
.fcm-registry-wrap .fcm-reg-page-btn.active { background: var(--fcm-brand) !important; color: #fff !important; border-color: var(--fcm-brand) !important; }

/* Login button (portal .fcm-login-button) inside the registry header —
   force our pill style in every state so the theme never leaks on hover. */
.fcm-registry-wrap .fcm-registry-login .fcm-login-button {
  display: inline-flex !important; align-items: center; gap: 8px;
  background: #fff !important; color: var(--fcm-brand) !important;
  border: 1.5px solid #ecdcec !important; border-radius: 50px !important;
  padding: 11px 22px !important; margin: 0 !important;
  font-family: 'Montserrat', sans-serif !important; font-size: 13.5px !important; font-weight: 700 !important;
  line-height: 1.2 !important; text-decoration: none !important; cursor: pointer;
  box-shadow: 0 4px 14px rgba(36,22,38,.05) !important;
  transition: background .18s, color .18s, border-color .18s, transform .18s;
}
.fcm-registry-wrap .fcm-registry-login .fcm-login-button:hover,
.fcm-registry-wrap .fcm-registry-login .fcm-login-button:focus,
.fcm-registry-wrap .fcm-registry-login .fcm-login-button:active {
  background: var(--fcm-brand) !important; color: #fff !important;
  border-color: var(--fcm-brand) !important; transform: translateY(-1px);
  outline: none !important;
}

/* v6.7.70 — Palet möhkəmləndirməsi (tema əzməsin): bənövşəyi fonda mətn AĞ,
   ağ fonda mətn bənövşəyi. */
.fcm-registry-wrap .fcm-reg-btn {
  background-color: #810081 !important;
  color: #fff !important;
}
.fcm-registry-wrap .fcm-reg-btn:hover {
  background-color: #5e005e !important;
  color: #fff !important;
}
.fcm-registry-wrap .fcm-reg-lang-pill {
  background-color: #fff !important;
  color: #810081 !important;
}
