/*
 * EITCI Core Catalog / EITCI Member profile
 * Drupal 7 implementation aligned with the refreshed EITCA catalog structure,
 * adapted to the EITCI Institute blue institutional visual language.
 */

:root {
  --ucc-blue: #2a68af;
  --ucc-blue-dark: #1f4f86;
  --ucc-blue-deep: #153f6c;
  --ucc-blue-soft: #eef5fc;
  --ucc-green: #2ea44f;
  --ucc-green-dark: #258743;
  --ucc-text: #2f3640;
  --ucc-muted: #66717d;
  --ucc-border: #dfe5ec;
  --ucc-soft-border: #e9eef4;
  --ucc-bg: #f5f8fb;
  --ucc-card: #ffffff;
  --ucc-shadow: 0 14px 34px rgba(22, 54, 88, 0.10);
  --ucc-shadow-light: 0 8px 22px rgba(22, 54, 88, 0.07);
  --ucc-eitc-card-icon-width: 44px;
}


/* The EITCI Members Directory renders its own header; hide the Drupal/Kallyas page title h1 on the catalog route. */
body.ucc-users-catalog-page h1#page-title,
body.ucc-users-catalog-page .page-title#page-title,
body.path-users-catalog h1#page-title,
body.path-users-catalog .page-title#page-title,
body.page-users-catalog h1#page-title,
body.page-users-catalog .page-title#page-title {
  display: none !important;
}
body.certified-user-page #content,
body.ucc-certified-user-page #content,
body.ucc-users-catalog-page #content,
body.ucc-users-catalog-page .site-content {
  padding-top: 36px;
  padding-bottom: 56px;
  margin-top: 0;
  background: var(--ucc-bg);
}

.eitci-catalog-embedded-body,
.eitci-catalog-embedded-body #content {
  background: #fff;
}

.ucc-page-shell,
.eitci-catalog-page,
.certified-user-page {
  box-sizing: border-box;
}

.ucc-page-shell *,
.ucc-page-shell *::before,
.ucc-page-shell *::after,
.eitci-catalog-page *,
.eitci-catalog-page *::before,
.eitci-catalog-page *::after,
.certified-user-page *,
.certified-user-page *::before,
.certified-user-page *::after {
  box-sizing: border-box;
}

.ucc-page-shell {
  color: var(--ucc-text);
}

.eitci-catalog-page.ucc-page-shell,
.certified-user-page.ucc-page-shell {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto 48px;
}

.eitci-catalog-page--embedded.ucc-page-shell {
  max-width: none;
  margin: 0;
  padding: 0;
}

.ucc-eyebrow {
  margin: 0 0 8px;
  color: var(--ucc-blue);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ucc-back-link,
.eitci-catalog-back,
#filter-apply,
.ucc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 9px 16px;
  border: 1px solid var(--ucc-blue);
  border-radius: 0;
  background: var(--ucc-blue);
  box-shadow: none;
  color: #fff !important;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ucc-back-link::before {
  content: "\2039";
  color: inherit;
  font-size: 18px;
  line-height: 0;
}

.ucc-back-link:hover,
.ucc-back-link:focus,
.eitci-catalog-back:hover,
.eitci-catalog-back:focus,
#filter-apply:hover,
#filter-apply:focus,
.ucc-btn:hover,
.ucc-btn:focus {
  border-color: var(--ucc-blue-dark);
  background: var(--ucc-blue-dark);
  box-shadow: none;
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

.ucc-btn-validate {
  border-color: var(--ucc-green);
  background: var(--ucc-green);
}

.ucc-btn-validate:hover,
.ucc-btn-validate:focus {
  border-color: var(--ucc-green-dark);
  background: var(--ucc-green-dark);
}

.ucc-btn-info {
  border-color: var(--ucc-blue);
  background: #fff;
  color: var(--ucc-blue) !important;
}

.ucc-btn-info:hover,
.ucc-btn-info:focus {
  border-color: var(--ucc-blue);
  background: var(--ucc-blue);
  color: #fff !important;
}

/* Account public-visibility switch. */
.ucc-public-toggle-wrap {
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid var(--ucc-soft-border);
  background: #fff;
}

.ucc-public-toggle-text {
  margin-bottom: 10px;
}

.ucc-public-toggle-control {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ucc-public-state {
  font-weight: 600;
}

.ucc-public-saving,
.ucc-public-msg {
  color: var(--ucc-muted);
  font-size: .95em;
}

.ucc-public-msg {
  margin-top: 10px;
}

.ucc-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
}

.ucc-switch input {
  width: 0;
  height: 0;
  opacity: 0;
}

.ucc-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background-color: #c8ced6;
  cursor: pointer;
  transition: .2s;
}

.ucc-slider:before {
  position: absolute;
  left: 3px;
  bottom: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #fff;
  content: "";
  transition: .2s;
}

.ucc-switch input:checked + .ucc-slider {
  background-color: var(--ucc-green);
}

.ucc-switch input:checked + .ucc-slider:before {
  transform: translateX(20px);
}

/* Directory page. */
.ucc-catalog-header,
.ucc-profile-hero {
  position: relative;
  overflow: hidden;
  margin: 0 0 26px;
  padding: 30px;
  border: 1px solid var(--ucc-soft-border);
  border-top: 4px solid var(--ucc-blue);
  background: linear-gradient(135deg, #fff 0%, #fff 60%, var(--ucc-blue-soft) 100%);
  box-shadow: var(--ucc-shadow-light);
}

.ucc-catalog-header::after,
.ucc-profile-hero::after {
  position: absolute;
  right: -70px;
  bottom: -70px;
  width: 180px;
  height: 180px;
  border: 30px solid rgba(42, 104, 175, .06);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.ucc-catalog-header-main {
  position: relative;
  z-index: 1;
  max-width: 860px;
}

.ucc-catalog-header h2,
.ucc-profile-hero h1,
.ucc-section-heading h2,
.ucc-profile-card h2,
.ucc-profile-card h3 {
  margin-top: 0;
  color: var(--ucc-text);
  line-height: 1.25;
}

.ucc-catalog-header h2,
#ucc-directory-title,
.ucc-profile-hero h1 {
  margin: 0 0 10px;
  color: var(--ucc-text);
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.18;
}

.ucc-catalog-lead,
.ucc-profile-country {
  max-width: 760px;
  margin: 0;
  color: var(--ucc-muted);
  font-size: 15px;
  line-height: 1.65;
}

.ucc-filter-section,
.ucc-directory-results {
  margin: 0 0 26px;
  border: 1px solid var(--ucc-soft-border);
  background: #fff;
  box-shadow: var(--ucc-shadow-light);
}

.ucc-filter-section-header,
.ucc-results-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 26px;
  padding: 24px 26px;
  border-bottom: 1px solid var(--ucc-soft-border);
  background: linear-gradient(135deg, #fff 0%, #f7fbff 100%);
}

.ucc-filter-section-header h3,
.ucc-results-heading h3 {
  margin: 0;
  color: var(--ucc-text);
  font-size: 24px;
  line-height: 1.25;
}

.ucc-filter-section-header > p,
.ucc-results-heading > p {
  max-width: 460px;
  margin: 0;
  color: var(--ucc-muted);
  font-size: 14px;
  line-height: 1.65;
}

#ucc-filters.ucc-filter-panel,
#ucc-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 22px;
  border: 0;
  background: #fff;
  box-shadow: none;
}

.dropdown-wrapper {
  position: relative;
  min-width: 0;
}

.dropdown-label,
#ucc-filters label.dropdown-label {
  display: block;
  margin: 0 0 8px;
  color: #3b4552;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.dropdown-container,
.standard-select-wrapper {
  position: relative;
  border: 1px solid var(--ucc-border);
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.dropdown-container:hover,
.dropdown-container:focus,
.dropdown-container.is-open,
.standard-select-wrapper:hover,
.standard-select-wrapper:focus {
  border-color: var(--ucc-blue);
  box-shadow: 0 0 0 3px rgba(42, 104, 175, .09);
  outline: 0;
}

.dropdown-heading,
.standard-select-wrapper .dropdown-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 43px;
  padding: 10px 12px;
}

.dropdown-heading-value {
  min-width: 0;
  overflow: hidden;
  color: var(--ucc-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dropdown-heading-value .gray,
.dropdown-heading .gray {
  color: #7c858f;
}

.dropdown-arrow {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  color: #7c858f;
  transition: transform .18s ease;
}

.dropdown-container.is-open .dropdown-arrow,
#ucc-filters .dropdown-container[aria-expanded="true"] .dropdown-arrow {
  transform: rotate(180deg);
}

.dropdown-options,
.standard-select-wrapper .dropdown-options {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 9999;
  max-height: 320px;
  overflow-y: auto;
  padding: 10px;
  border: 1px solid var(--ucc-border);
  background: #fff;
  box-shadow: 0 18px 34px rgba(28, 42, 60, .18);
  text-transform: none;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.dropdown-options.hidden,
#ucc-filters .dropdown-options.hidden {
  display: none !important;
}

#ucc-filters .dropdown-container.is-open > .dropdown-options {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.dropdown-search {
  width: 100%;
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid var(--ucc-border);
  background: #fff;
  color: var(--ucc-text);
}

.ucc-dropdown-actions {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 8px;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--ucc-soft-border);
}

.ucc-deselect-all {
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: var(--ucc-blue);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ucc-deselect-all:hover,
.ucc-deselect-all:focus {
  color: var(--ucc-blue-dark);
  text-decoration: underline;
}

.dropdown-options label,
.standard-select-wrapper .dropdown-options label {
  display: block;
  margin: 0;
  padding: 7px 6px;
  color: var(--ucc-text);
  cursor: pointer;
  line-height: 1.35;
}

.dropdown-options label:hover {
  background: #f3f6fa;
}

.dropdown-options input {
  margin-right: 7px;
}

.filter-footer,
#ucc-filters .filter-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid var(--ucc-soft-border);
}

.filter-logic-selector,
#ucc-filters .filter-footer .filter-logic-selector {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.filter-logic-selector label {
  margin: 0;
  color: var(--ucc-muted);
  font-weight: 500;
}

.filter-logic-title {
  color: var(--ucc-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ucc-directory-results {
  padding-bottom: 4px;
}

.ucc-directory-results #user-catalog,
#user-catalog {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 22px;
  padding: 24px 26px 10px;
}

.user-box-link {
  display: block;
  min-width: 0;
  color: inherit;
  text-decoration: none !important;
}

.user-box {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  min-height: 100%;
  padding: 20px;
  border: 1px solid var(--ucc-soft-border);
  border-top: 3px solid var(--ucc-blue);
  background: #fff;
  box-shadow: var(--ucc-shadow-light);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.user-box::after {
  position: absolute;
  right: -34px;
  bottom: -34px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(42, 104, 175, .06);
  content: "";
  pointer-events: none;
}

.user-box-link:hover .user-box,
.user-box-link:focus .user-box {
  border-color: #cfdbea;
  box-shadow: var(--ucc-shadow);
  transform: translateY(-2px);
}

.user-box__top {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.user-box__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border: 1px solid #cfdbea;
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
  color: var(--ucc-blue);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .04em;
}

.user-box__identity {
  min-width: 0;
}

.user-box__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--ucc-blue);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.user-box h5,
.user-box__name {
  margin: 0 0 7px;
  color: var(--ucc-text);
  font-size: 18px;
  line-height: 1.3;
}

.user-box .country,
.user-box__identity .country {
  margin: 0;
  color: var(--ucc-muted);
  font-style: normal;
}

.user-box__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.user-box__meta span {
  display: block;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--ucc-soft-border);
  background: #f8fafc;
}

.user-box__meta em,
.user-box__meta strong {
  display: block;
  font-style: normal;
}

.user-box__meta em {
  margin-bottom: 3px;
  color: var(--ucc-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.user-box__meta strong {
  color: var(--ucc-text);
  font-size: 13px;
  line-height: 1.25;
}

.cert-icons {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 0;
}

.cert-count,
.user-box .prog-count {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  flex: 1 1 112px;
  min-height: 46px;
  padding: 7px 10px;
  border: 1px solid var(--ucc-soft-border);
  background: #f8fafc;
  color: var(--ucc-text);
  font-weight: 700;
}

.cert-icons img,
.cert-count img {
  display: block;
  width: auto;
  height: 28px;
}

.cert-count span {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.cert-count strong {
  font-size: 17px;
}

.cert-count small {
  margin-top: 2px;
  color: var(--ucc-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
}

.cert-count--empty {
  opacity: .56;
}

.user-box__cta {
  display: inline-block;
  margin-top: auto;
  padding-top: 2px;
  color: var(--ucc-blue);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

#ucc-loading {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 8px 26px 24px;
  color: var(--ucc-muted);
  font-weight: 700;
  text-align: center;
}

#ucc-loading-spinner {
  width: 24px;
  height: 24px;
  border: 3px solid #d8dfe8;
  border-top-color: var(--ucc-blue);
  border-radius: 50%;
  animation: eitciCatalogSpin .9s linear infinite;
}

@keyframes eitciCatalogSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.ucc-empty {
  margin: 16px 26px;
  padding: 18px;
  border: 1px solid var(--ucc-soft-border);
  background: #fff;
  color: var(--ucc-muted);
}

/* EITCI member profile. */
.ucc-certified-profile {
  margin: 0 auto 44px;
}

.ucc-certified-profile .ucc-back-link,
.certified-user-page .eitci-catalog-back {
  margin-bottom: 20px;
}

.ucc-profile-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 24px;
}

.ucc-profile-hero-main {
  position: relative;
  z-index: 1;
  min-width: 0;
  flex: 1 1 auto;
}

.ucc-profile-stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(100px, 1fr));
  gap: 12px;
  min-width: min(560px, 100%);
}

.ucc-stat-card {
  padding: 16px 14px;
  border: 1px solid var(--ucc-soft-border);
  background: rgba(255, 255, 255, .82);
  text-align: center;
}

.ucc-stat-card strong {
  display: block;
  color: var(--ucc-blue);
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.1;
}

.ucc-stat-card span {
  display: block;
  margin-top: 6px;
  color: var(--ucc-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
}

.user-container.ucc-profile-layout {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.ucc-profile-sidebar,
.user-column-left,
.user-column-right,
.ucc-profile-certificates {
  min-width: 0;
}

.ucc-profile-sidebar,
.user-column-left {
  width: auto;
  max-width: none;
}

.ucc-profile-certificates,
.user-column-right {
  width: auto;
  max-width: none;
}

.ucc-profile-card {
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid var(--ucc-soft-border);
  border-top: 3px solid var(--ucc-blue);
  background: #fff;
  box-shadow: var(--ucc-shadow-light);
}

.ucc-profile-card h2,
.ucc-profile-card h3 {
  margin-bottom: 14px;
  font-size: 18px;
}

.ucc-profile-facts,
.ucc-cert-details {
  margin: 0;
}

.ucc-profile-facts div,
.ucc-cert-details div {
  padding: 10px 0;
  border-top: 1px solid var(--ucc-soft-border);
}

.ucc-profile-facts div:first-child,
.ucc-cert-details div:first-child {
  padding-top: 0;
  border-top: 0;
}

.ucc-profile-facts dt,
.ucc-cert-details dt {
  margin: 0 0 4px;
  color: var(--ucc-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ucc-profile-facts dd,
.ucc-cert-details dd {
  margin: 0;
  color: var(--ucc-text);
  overflow-wrap: anywhere;
}

.ucc-profile-card.ucc-icon-panel {
  overflow: visible;
}

.ucc-icon-grid,
.ucc-icon-grid--eitc,
.ucc-icon-grid--eitca,
.cl-custom-eitca-icons,
.cl-custom-eitc-icons {
  display: flex;
  align-items: center;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0;
}

.ucc-icon-grid--eitca {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center;
  gap: 12px 14px;
}

.ucc-programme-icon-link,
.cl-custom-eitca-icons a,
.cl-custom-eitc-icons a,
.cl-custom-eitc-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  line-height: 0;
  text-decoration: none !important;
  transition: transform .18s ease;
}

.ucc-programme-icon-link:hover,
.cl-custom-eitca-icons a:hover,
.cl-custom-eitc-icons a:hover,
.cl-custom-eitc-icon:hover {
  transform: translateY(-1px);
}

.ucc-programme-icon-link img,
.cl-custom-eitca-icons img,
.cl-custom-eitc-icons img,
.cl-custom-eitc-icon img,
.ucc-card-programme-icon img {
  display: block;
  max-width: none;
  width: auto;
  height: 56px;
  object-fit: contain;
}

.ucc-icon-grid--eitc .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitc img {
  height: 54px;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link,
.ucc-programme-icon-link--eitca,
.cl-custom-eitca-icons a {
  width: 100%;
  min-width: 0;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitca img,
.cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 72px !important;
  object-fit: contain;
}

.ucc-certificate-section {
  margin-bottom: 34px;
}

.ucc-section-heading {
  margin: 0 0 16px;
}

.ucc-section-heading h2 {
  margin-bottom: 0;
  font-size: clamp(24px, 3vw, 32px);
}

.cl-custom-eitca-cert-list,
.cl-custom-eitc-cert-list {
  display: grid;
  gap: 20px;
}

.cl-custom-eitca-cert-list {
  grid-template-columns: 1fr;
}

.cl-custom-eitc-cert-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cl-custom-uc-eitc-box,
.cl-custom-uc-eitca-box {
  min-width: 0;
}

.cl-custom-container,
.ucc-cert-card {
  display: flex;
  align-items: stretch;
  gap: 22px;
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 20px;
  border: 1px solid var(--ucc-soft-border);
  border-top: 3px solid var(--ucc-blue);
  background: #fff;
  box-shadow: var(--ucc-shadow-light);
}

.cl-custom-one-third,
.ucc-cert-meta {
  flex: 0 0 34%;
  min-width: 220px;
}

.cl-custom-two-thirds,
.ucc-cert-preview {
  flex: 1 1 auto;
  min-width: 0;
}

.ucc-cert-type {
  display: inline-flex;
  margin-bottom: 9px;
  padding: 3px 8px;
  border: 1px solid rgba(42, 104, 175, .18);
  background: var(--ucc-blue-soft);
  color: var(--ucc-blue);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.ucc-cert-meta h4,
.cl-custom-one-third h4 {
  margin: 0 0 8px;
  color: var(--ucc-text);
  font-size: 18px;
  line-height: 1.32;
}

.ucc-cert-version {
  margin: 0 0 14px;
  color: var(--ucc-muted);
  font-size: 13px;
  font-weight: 700;
}

.ucc-cert-details {
  margin: 0 0 16px;
}

.ucc-cert-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ucc-cert-actions .ucc-btn {
  min-height: 30px;
  padding: 7px 10px;
  font-size: 10px;
}

.ucc-cert-preview {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}

.ucc-pdf-preview,
.cl-custom-canvas {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--ucc-border);
  background: #f8fafc;
  line-height: 0;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(30, 45, 65, .08);
}

.ucc-certificate-canvas,
.cl-custom-canvas canvas {
  display: block;
  max-width: 100%;
  height: auto !important;
  cursor: pointer;
}

.ucc-pdf-preview--eitca {
  width: min(424px, 100%);
}

.ucc-pdf-preview--eitca .ucc-certificate-canvas,
.ucc-pdf-preview--eitca canvas {
  width: 100% !important;
  height: auto !important;
}

.ucc-pdf-preview--eitc {
  width: auto !important;
  max-width: 130px !important;
  overflow: visible !important;
}

.ucc-pdf-preview--eitc .ucc-certificate-canvas,
.ucc-pdf-preview--eitc canvas {
  width: auto !important;
  max-width: 130px !important;
  height: auto !important;
}

/* Compact EITC certificate card layout. */
@media (min-width: 761px) {
  .cl-custom-eitc-cert-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

.ucc-cert-card--eitc,
.cl-custom-eitc-cert-list .ucc-cert-card--eitc {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  padding: 14px !important;
  min-width: 0 !important;
  border-top-color: var(--ucc-blue);
}

.ucc-cert-card--eitc .ucc-cert-meta,
.ucc-cert-card--eitc .cl-custom-one-third {
  min-width: 0 !important;
  width: auto !important;
  flex: none !important;
}

.ucc-cert-title-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  margin-bottom: 8px;
}

.ucc-cert-title-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.ucc-card-programme-icon-stack {
  display: inline-flex;
  flex: 0 0 var(--ucc-eitc-card-icon-width);
  width: var(--ucc-eitc-card-icon-width);
  min-width: var(--ucc-eitc-card-icon-width);
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  line-height: 0;
}

.ucc-cert-card--eitc .ucc-cert-title-row .ucc-card-programme-icon-stack {
  align-self: flex-start;
}

.ucc-cert-card--eitc .ucc-cert-title-row .ucc-card-programme-icon-stack .ucc-card-programme-icon--eitc,
.ucc-cert-card--eitc .ucc-cert-title-row .ucc-card-programme-icon-stack .ucc-card-framework-icon--eitc {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: var(--ucc-eitc-card-icon-width) !important;
  min-width: var(--ucc-eitc-card-icon-width) !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 0;
}

.ucc-cert-card--eitc .ucc-cert-title-row .ucc-card-programme-icon-stack img {
  display: block;
  width: var(--ucc-eitc-card-icon-width) !important;
  max-width: var(--ucc-eitc-card-icon-width) !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
}

.ucc-cert-card--eitc .ucc-cert-type {
  margin-bottom: 5px !important;
  padding: 2px 7px;
  font-size: 9px;
}

.ucc-cert-card--eitc .ucc-cert-meta h4,
.ucc-cert-card--eitc .cl-custom-one-third h4 {
  margin-bottom: 4px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}

.ucc-cert-card--eitc .ucc-cert-version {
  margin-bottom: 0 !important;
  font-size: 10px !important;
}

.ucc-cert-card--eitc .ucc-cert-details {
  margin-bottom: 9px !important;
}

.ucc-cert-card--eitc .ucc-cert-details div {
  padding: 5px 0 !important;
}

.ucc-cert-card--eitc .ucc-cert-details dt {
  margin-bottom: 2px;
  font-size: 8px !important;
}

.ucc-cert-card--eitc .ucc-cert-details dd {
  overflow-wrap: anywhere;
  font-size: 11px !important;
  line-height: 1.22 !important;
}

.ucc-cert-card--eitc .ucc-cert-actions {
  gap: 5px !important;
}

.ucc-cert-card--eitc .ucc-cert-actions .ucc-btn {
  min-height: 24px !important;
  padding: 5px 6px !important;
  font-size: 8px !important;
  line-height: 1.15 !important;
}

.ucc-cert-card--eitc .ucc-cert-preview,
.ucc-cert-card--eitc .cl-custom-two-thirds {
  display: block !important;
  min-width: 130px !important;
  width: auto !important;
  flex: none !important;
}

/* Keep dropdowns visible above parent cards/layouts. */
.eitci-catalog-page,
.ucc-filter-section,
.ucc-filter-section-header,
#ucc-filters.ucc-filter-panel,
#ucc-filters .dropdown-wrapper,
#ucc-filters .dropdown-container {
  overflow: visible !important;
}

/* Responsive refinements. */
@media (max-width: 1180px) {
  .ucc-profile-hero {
    flex-direction: column;
  }

  .ucc-profile-stats {
    min-width: 0;
  }
}

@media (max-width: 1024px) {
  #ucc-filters.ucc-filter-panel,
  #ucc-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .user-container.ucc-profile-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .ucc-filter-section-header,
  .ucc-results-heading {
    flex-direction: column;
    gap: 10px;
  }

  .ucc-filter-section-header > p,
  .ucc-results-heading > p {
    max-width: none;
  }
}

@media (max-width: 860px) {
  .cl-custom-container,
  .ucc-cert-card {
    flex-direction: column;
  }

  .cl-custom-one-third,
  .ucc-cert-meta,
  .cl-custom-two-thirds,
  .ucc-cert-preview {
    width: 100%;
    min-width: 0;
    flex-basis: auto;
  }

  .ucc-cert-preview {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .ucc-directory-results #user-catalog,
  #user-catalog {
    grid-template-columns: 1fr;
  }

  .cl-custom-eitc-cert-list {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitc,
  .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .ucc-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }
}

@media (max-width: 640px) {
  body.certified-user-page #content,
  body.ucc-certified-user-page #content,
  body.ucc-users-catalog-page #content {
    padding-top: 24px;
    padding-bottom: 38px;
  }

  .eitci-catalog-page.ucc-page-shell,
  .certified-user-page.ucc-page-shell {
    margin-bottom: 34px;
  }

  .ucc-catalog-header,
  .ucc-profile-hero,
  #ucc-filters.ucc-filter-panel,
  #ucc-filters,
  .ucc-profile-card,
  .cl-custom-container,
  .ucc-cert-card,
  .user-box {
    padding: 18px;
  }

  .ucc-filter-section-header,
  .ucc-results-heading,
  .ucc-directory-results #user-catalog,
  #user-catalog {
    padding-left: 18px;
    padding-right: 18px;
  }

  #ucc-filters.ucc-filter-panel,
  #ucc-filters {
    grid-template-columns: 1fr;
  }

  .filter-footer,
  #ucc-filters .filter-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .filter-logic-selector,
  #ucc-filters .filter-footer .filter-logic-selector {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  #filter-apply {
    width: 100%;
  }

  .ucc-cert-actions {
    flex-direction: column;
  }

  .ucc-cert-actions .ucc-btn,
  .ucc-back-link,
  .eitci-catalog-back {
    width: 100%;
  }

  .ucc-icon-grid--eitca {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px;
  }

  .ucc-icon-grid--eitca .ucc-programme-icon-link img,
  .ucc-programme-icon-link--eitca img,
  .cl-custom-eitca-icons img {
    max-height: 62px !important;
  }
}

@media (max-width: 460px) {
  .user-box__top {
    align-items: flex-start;
  }

  .user-box__meta,
  .ucc-profile-stats {
    grid-template-columns: 1fr;
  }

  .cert-icons .cert-count {
    flex-basis: 100%;
  }

  .ucc-cert-card--eitc,
  .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitc .ucc-cert-preview,
  .ucc-cert-card--eitc .cl-custom-two-thirds {
    min-width: 0 !important;
  }

  .ucc-pdf-preview--eitc,
  .ucc-pdf-preview--eitc .ucc-certificate-canvas,
  .ucc-pdf-preview--eitc canvas,
  .ucc-cert-card--eitc .cl-custom-canvas,
  .ucc-cert-card--eitc .cl-custom-canvas canvas {
    max-width: 130px !important;
  }
}

@media (max-width: 420px) {
  .ucc-catalog-header h2,
  #ucc-directory-title,
  .ucc-profile-hero h1 {
    font-size: 26px;
  }

  .ucc-programme-icon-link img,
  .cl-custom-eitca-icons img,
  .cl-custom-eitc-icons img,
  .cl-custom-eitc-icon img,
  .ucc-card-programme-icon img {
    height: 42px;
  }
}

/* --------------------------------------------------------------------------
 * EITCI corrective styling pass 2026-05
 * --------------------------------------------------------------------------
 * This block is intentionally specific and is loaded late/inline by the .inc
 * file so it overrides stale aggregated Drupal CSS and the older flex layout.
 */
:root {
  --eitci-catalog-blue: #2a68af;
  --eitci-catalog-blue-dark: #1d4f86;
  --eitci-catalog-blue-soft: #eef5fc;
  --eitci-catalog-ink: #18212b;
  --eitci-catalog-text: #2e3945;
  --eitci-catalog-muted: #687583;
  --eitci-catalog-border: #dbe3eb;
  --eitci-catalog-soft-border: #e8eef4;
  --eitci-catalog-bg: #f4f7fa;
  --eitci-catalog-shadow: 0 10px 28px rgba(23, 56, 91, 0.10);
  --eitci-catalog-shadow-soft: 0 6px 18px rgba(23, 56, 91, 0.07);
}

.ucc-page-shell,
.eitci-catalog-page.ucc-page-shell,
.ucc-certified-profile.ucc-page-shell {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 48px !important;
  color: var(--eitci-catalog-text) !important;
  font-size: 14px;
  line-height: 1.55;
}

.ucc-page-shell *,
.ucc-page-shell *::before,
.ucc-page-shell *::after {
  box-sizing: border-box !important;
}

.ucc-page-shell a {
  color: var(--eitci-catalog-blue);
}

.ucc-eyebrow,
.ucc-page-shell .ucc-eyebrow,
.user-box__eyebrow {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--eitci-catalog-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.ucc-catalog-header,
.ucc-filter-section,
.ucc-directory-results,
.ucc-profile-hero,
.ucc-profile-card,
.ucc-cert-card,
.user-box {
  border-radius: 0 !important;
  background: #fff !important;
}

.ucc-catalog-header,
.ucc-profile-hero {
  position: relative !important;
  margin: 0 0 24px !important;
  padding: 26px 28px !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  border-top: 4px solid var(--eitci-catalog-blue) !important;
  background: linear-gradient(135deg, #fff 0%, #fff 66%, #eef5fc 100%) !important;
  box-shadow: var(--eitci-catalog-shadow-soft) !important;
}

.ucc-catalog-header h2,
#ucc-directory-title,
.ucc-profile-hero h1,
#ucc-certified-user-title {
  margin: 0 0 8px !important;
  color: var(--eitci-catalog-ink) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

.ucc-catalog-lead,
.ucc-profile-country,
.ucc-filter-section-header > p,
.ucc-results-heading > p {
  max-width: 760px !important;
  margin: 0 !important;
  color: var(--eitci-catalog-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.ucc-filter-section,
.ucc-directory-results {
  overflow: visible !important;
  margin: 0 0 24px !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  background: #fff !important;
  box-shadow: var(--eitci-catalog-shadow-soft) !important;
}

.ucc-filter-section-header,
.ucc-results-heading {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 22px 24px !important;
  border-bottom: 1px solid var(--eitci-catalog-soft-border) !important;
  background: linear-gradient(135deg, #fff 0%, #f8fbff 100%) !important;
}

.ucc-filter-section-header h3,
.ucc-results-heading h3,
.ucc-section-heading h2,
.ucc-profile-card h2,
.ucc-profile-card h3 {
  margin: 0 !important;
  color: var(--eitci-catalog-ink) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

.ucc-filter-section-header h3,
.ucc-results-heading h3 {
  font-size: 23px !important;
}

#ucc-filters.ucc-filter-panel,
.ucc-page-shell #ucc-filters {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#ucc-filters .dropdown-wrapper {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

#ucc-filters .dropdown-label,
#ucc-filters label.dropdown-label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #394858 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

#ucc-filters .dropdown-container {
  position: relative !important;
  min-width: 0 !important;
  border: 1px solid var(--eitci-catalog-border) !important;
  background: #fff !important;
  cursor: pointer !important;
  overflow: visible !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}

#ucc-filters .dropdown-container:hover,
#ucc-filters .dropdown-container.is-open,
#ucc-filters .dropdown-container[aria-expanded="true"] {
  border-color: var(--eitci-catalog-blue) !important;
  box-shadow: 0 0 0 3px rgba(42, 104, 175, .09) !important;
}

#ucc-filters .dropdown-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
}

#ucc-filters .dropdown-heading-value {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--eitci-catalog-text) !important;
  font-size: 13px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#ucc-filters .dropdown-heading-value .gray,
#ucc-filters .dropdown-heading .gray {
  color: #798696 !important;
}

#ucc-filters .dropdown-arrow {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  color: #697789 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
}

#ucc-filters .dropdown-container.is-open .dropdown-arrow,
#ucc-filters .dropdown-container[aria-expanded="true"] .dropdown-arrow {
  transform: rotate(180deg) !important;
}

#ucc-filters .dropdown-options {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  max-height: 320px !important;
  overflow-y: auto !important;
  padding: 10px !important;
  border: 1px solid var(--eitci-catalog-border) !important;
  background: #fff !important;
  box-shadow: 0 18px 36px rgba(22, 54, 88, .20) !important;
  text-transform: none !important;
}

#ucc-filters .dropdown-options.hidden {
  display: none !important;
}

#ucc-filters .dropdown-search {
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 8px 10px !important;
  border: 1px solid var(--eitci-catalog-border) !important;
  color: var(--eitci-catalog-text) !important;
}

#ucc-filters .dropdown-options label {
  display: block !important;
  margin: 0 !important;
  padding: 7px 6px !important;
  color: var(--eitci-catalog-text) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}

#ucc-filters .dropdown-options label:hover {
  background: #f3f7fb !important;
}

.ucc-dropdown-actions {
  display: flex !important;
  justify-content: flex-end !important;
  margin: 0 0 8px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--eitci-catalog-soft-border) !important;
}

.ucc-deselect-all {
  border: 0 !important;
  background: transparent !important;
  color: var(--eitci-catalog-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.filter-footer,
#ucc-filters .filter-footer {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 2px 0 0 !important;
  padding-top: 17px !important;
  border-top: 1px solid var(--eitci-catalog-soft-border) !important;
  flex-wrap: wrap !important;
}

.filter-logic-selector,
#ucc-filters .filter-footer .filter-logic-selector {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.filter-logic-title {
  color: var(--eitci-catalog-ink) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.filter-logic-selector label {
  margin: 0 !important;
  color: #2f3d4d !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.ucc-back-link,
.eitci-catalog-back,
#filter-apply,
.ucc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 9px 15px !important;
  border: 1px solid var(--eitci-catalog-blue) !important;
  border-radius: 0 !important;
  background: var(--eitci-catalog-blue) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  cursor: pointer !important;
}

.ucc-back-link:hover,
.eitci-catalog-back:hover,
#filter-apply:hover,
.ucc-btn:hover {
  border-color: var(--eitci-catalog-blue-dark) !important;
  background: var(--eitci-catalog-blue-dark) !important;
  color: #fff !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

.ucc-btn-info {
  background: #fff !important;
  color: var(--eitci-catalog-blue) !important;
}

.ucc-btn-info:hover {
  background: var(--eitci-catalog-blue) !important;
  color: #fff !important;
}

/* Directory cards */
.ucc-directory-results #user-catalog,
#user-catalog {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
  gap: 18px !important;
  padding: 22px 24px 12px !important;
}

#user-catalog .user-box-link,
.user-box-link {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.user-box {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  min-height: 100% !important;
  padding: 18px !important;
  overflow: hidden !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  border-top: 3px solid var(--eitci-catalog-blue) !important;
  box-shadow: var(--eitci-catalog-shadow-soft) !important;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}

.user-box-link:hover .user-box {
  border-color: #c7d7e8 !important;
  box-shadow: var(--eitci-catalog-shadow) !important;
  transform: translateY(-2px) !important;
}

.user-box__top {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  min-width: 0 !important;
}

.user-box__avatar {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  border: 1px solid #c7d7e8 !important;
  background: linear-gradient(135deg, #eef5fc 0%, #ffffff 100%) !important;
  color: var(--eitci-catalog-blue) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}

.user-box__identity {
  min-width: 0 !important;
}

.user-box h5,
.user-box__name {
  margin: 0 0 5px !important;
  color: var(--eitci-catalog-ink) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.user-box .country,
.user-box__identity .country {
  margin: 0 !important;
  color: var(--eitci-catalog-muted) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.user-box__meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}

.user-box__meta span {
  display: block !important;
  min-width: 0 !important;
  padding: 8px 9px !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  border-left: 3px solid var(--eitci-catalog-blue) !important;
  background: #f7fafd !important;
  color: var(--eitci-catalog-text) !important;
}

.user-box__meta em,
.user-box__meta strong {
  display: block !important;
  font-style: normal !important;
  line-height: 1.25 !important;
}

.user-box__meta em {
  margin: 0 0 3px !important;
  color: var(--eitci-catalog-muted) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.user-box__meta strong {
  color: var(--eitci-catalog-ink) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.cert-icons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}

.cert-count,
.user-box .prog-count {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  background: #fff !important;
  color: var(--eitci-catalog-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.cert-icons img,
.cert-count img {
  display: block !important;
  width: auto !important;
  height: 32px !important;
  flex: 0 0 auto !important;
}

.cert-count > span {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  min-width: 0 !important;
}

.cert-count small {
  display: block !important;
  margin: 0 !important;
  color: var(--eitci-catalog-muted) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.cert-count--empty {
  opacity: .55 !important;
}

.user-box__cta {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: auto !important;
  color: var(--eitci-catalog-blue) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

#ucc-loading {
  display: none;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 10px 24px 24px !important;
  color: var(--eitci-catalog-muted) !important;
  font-weight: 700 !important;
  text-align: center !important;
}

#ucc-loading-spinner {
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  border: 3px solid #d9e2eb !important;
  border-top-color: var(--eitci-catalog-blue) !important;
  border-radius: 50% !important;
}

/* EITCI member profile */
.ucc-certified-profile .ucc-back-link {
  margin: 0 0 18px !important;
}

.ucc-profile-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr) !important;
  align-items: stretch !important;
  gap: 22px !important;
}

.ucc-profile-hero-main {
  min-width: 0 !important;
  align-self: center !important;
}

.ucc-profile-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.ucc-stat-card {
  display: block !important;
  padding: 14px 12px !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  background: rgba(255, 255, 255, .86) !important;
  text-align: center !important;
}

.ucc-stat-card strong {
  display: block !important;
  margin: 0 !important;
  color: var(--eitci-catalog-blue) !important;
  font-size: clamp(20px, 3vw, 28px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.ucc-stat-card span {
  display: block !important;
  margin: 5px 0 0 !important;
  color: var(--eitci-catalog-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.user-container.ucc-profile-layout,
.ucc-profile-layout {
  display: grid !important;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.ucc-profile-sidebar,
.user-column-left,
.ucc-profile-certificates,
.user-column-right {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

.ucc-profile-card {
  margin: 0 0 18px !important;
  padding: 18px !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  border-top: 3px solid var(--eitci-catalog-blue) !important;
  box-shadow: var(--eitci-catalog-shadow-soft) !important;
}

.ucc-profile-card h2,
.ucc-profile-card h3 {
  margin: 0 0 13px !important;
  font-size: 18px !important;
  line-height: 1.28 !important;
}

.ucc-profile-facts,
.ucc-cert-details {
  margin: 0 !important;
  padding: 0 !important;
}

.ucc-profile-facts > div,
.ucc-cert-details > div {
  display: block !important;
  padding: 9px 0 !important;
  border-top: 1px solid var(--eitci-catalog-soft-border) !important;
}

.ucc-profile-facts > div:first-child,
.ucc-cert-details > div:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

.ucc-profile-facts dt,
.ucc-cert-details dt {
  display: block !important;
  margin: 0 0 3px !important;
  color: var(--eitci-catalog-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.ucc-profile-facts dd,
.ucc-cert-details dd {
  display: block !important;
  margin: 0 !important;
  color: var(--eitci-catalog-ink) !important;
  overflow-wrap: anywhere !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.ucc-icon-grid,
.ucc-icon-grid--eitca,
.ucc-icon-grid--eitc {
  display: grid !important;
  gap: 10px !important;
  overflow: visible !important;
  max-height: none !important;
  padding: 0 !important;
}

.ucc-icon-grid--eitca {
  grid-template-columns: 1fr !important;
}

.ucc-icon-grid--eitc {
  grid-template-columns: repeat(auto-fill, minmax(58px, 1fr)) !important;
}

.ucc-programme-icon-link,
.cl-custom-eitca-icons a,
.cl-custom-eitc-icons a,
.cl-custom-eitc-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.ucc-programme-icon-link img,
.cl-custom-eitca-icons img,
.cl-custom-eitc-icons img,
.cl-custom-eitc-icon img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitca img,
.cl-custom-eitca-icons img {
  max-width: 100% !important;
  max-height: 86px !important;
}

.ucc-icon-grid--eitc .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitc img,
.cl-custom-eitc-icons img {
  width: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
}

.ucc-certificate-section {
  margin: 0 0 30px !important;
}

.ucc-section-heading {
  margin: 0 0 14px !important;
}

.ucc-section-heading h2 {
  font-size: clamp(24px, 3vw, 32px) !important;
}

.cl-custom-eitca-cert-list,
.cl-custom-eitc-cert-list {
  display: grid !important;
  gap: 18px !important;
}

.cl-custom-eitca-cert-list {
  grid-template-columns: 1fr !important;
}

.cl-custom-eitc-cert-list {
  grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr)) !important;
}

.cl-custom-uc-eitca-box,
.cl-custom-uc-eitc-box {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.ucc-cert-card,
.cl-custom-container.ucc-cert-card {
  display: grid !important;
  grid-template-columns: minmax(230px, .9fr) minmax(260px, 1.1fr) !important;
  align-items: start !important;
  gap: 18px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 18px !important;
  border: 1px solid var(--eitci-catalog-soft-border) !important;
  border-top: 3px solid var(--eitci-catalog-blue) !important;
  box-shadow: var(--eitci-catalog-shadow-soft) !important;
}

.ucc-cert-card--eitc,
.cl-custom-eitc-cert-list .ucc-cert-card--eitc {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  padding: 14px !important;
}

.ucc-cert-meta,
.cl-custom-one-third,
.ucc-cert-preview,
.cl-custom-two-thirds {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
}

.ucc-cert-preview,
.cl-custom-two-thirds.ucc-cert-preview {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}

.ucc-cert-card--eitc .ucc-cert-preview,
.ucc-cert-card--eitc .cl-custom-two-thirds {
  display: block !important;
  min-width: 130px !important;
}

.ucc-cert-type {
  display: inline-flex !important;
  margin: 0 0 8px !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(42, 104, 175, .18) !important;
  background: var(--eitci-catalog-blue-soft) !important;
  color: var(--eitci-catalog-blue) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.ucc-cert-meta h4,
.cl-custom-one-third h4 {
  margin: 0 0 7px !important;
  color: var(--eitci-catalog-ink) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  text-transform: uppercase !important;
}

.ucc-cert-version {
  margin: 0 0 12px !important;
  color: var(--eitci-catalog-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ucc-cert-actions {
  display: flex !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
  margin-top: 10px !important;
}

.ucc-cert-actions .ucc-btn {
  min-height: 28px !important;
  padding: 7px 9px !important;
  font-size: 10px !important;
}

.ucc-pdf-preview,
.cl-custom-canvas {
  display: inline-block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border: 1px solid var(--eitci-catalog-border) !important;
  background: #f8fafc !important;
  box-shadow: 0 5px 15px rgba(23, 56, 91, .08) !important;
  line-height: 0 !important;
}

.ucc-pdf-preview--eitca {
  width: min(424px, 100%) !important;
}

.ucc-pdf-preview--eitc {
  width: auto !important;
  max-width: 130px !important;
}

.ucc-certificate-canvas,
.cl-custom-canvas canvas {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  cursor: pointer !important;
}

.ucc-pdf-preview--eitc .ucc-certificate-canvas,
.ucc-pdf-preview--eitc canvas {
  width: auto !important;
  max-width: 130px !important;
}

.ucc-cert-title-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 0 7px !important;
}

.ucc-cert-title-copy {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.ucc-card-programme-icon-stack {
  display: inline-flex !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  line-height: 0 !important;
}

.ucc-card-programme-icon-stack .ucc-card-programme-icon--eitc,
.ucc-card-programme-icon-stack .ucc-card-framework-icon--eitc {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 0 !important;
}

.ucc-card-programme-icon-stack img {
  display: block !important;
  width: 44px !important;
  max-width: 44px !important;
  height: auto !important;
  object-fit: contain !important;
}

.ucc-cert-card--eitc .ucc-cert-type {
  margin-bottom: 5px !important;
  font-size: 9px !important;
}

.ucc-cert-card--eitc .ucc-cert-meta h4,
.ucc-cert-card--eitc .cl-custom-one-third h4 {
  margin-bottom: 4px !important;
  font-size: 13px !important;
  line-height: 1.22 !important;
}

.ucc-cert-card--eitc .ucc-cert-version {
  margin-bottom: 0 !important;
  font-size: 10px !important;
}

.ucc-cert-card--eitc .ucc-cert-details > div {
  padding: 5px 0 !important;
}

.ucc-cert-card--eitc .ucc-cert-details dt {
  font-size: 8px !important;
}

.ucc-cert-card--eitc .ucc-cert-details dd {
  font-size: 11px !important;
  line-height: 1.25 !important;
}

.ucc-cert-card--eitc .ucc-cert-actions .ucc-btn {
  min-height: 24px !important;
  padding: 5px 6px !important;
  font-size: 8px !important;
  line-height: 1.15 !important;
}

@media (max-width: 1100px) {
  .ucc-profile-hero {
    grid-template-columns: 1fr !important;
  }

  .user-container.ucc-profile-layout,
  .ucc-profile-layout {
    grid-template-columns: 1fr !important;
  }

  .ucc-icon-grid--eitca {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  #ucc-filters.ucc-filter-panel,
  .ucc-page-shell #ucc-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ucc-filter-section-header,
  .ucc-results-heading {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .ucc-cert-card,
  .cl-custom-container.ucc-cert-card {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-preview,
  .cl-custom-two-thirds.ucc-cert-preview {
    justify-content: flex-start !important;
  }
}

@media (max-width: 640px) {
  .ucc-page-shell,
  .eitci-catalog-page.ucc-page-shell,
  .ucc-certified-profile.ucc-page-shell {
    margin-bottom: 34px !important;
  }

  .ucc-catalog-header,
  .ucc-profile-hero,
  .ucc-filter-section-header,
  .ucc-results-heading,
  #ucc-filters.ucc-filter-panel,
  .ucc-directory-results #user-catalog,
  #user-catalog,
  .ucc-profile-card,
  .ucc-cert-card,
  .user-box {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #ucc-filters.ucc-filter-panel,
  .ucc-page-shell #ucc-filters {
    grid-template-columns: 1fr !important;
  }

  .filter-footer,
  #ucc-filters .filter-footer {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .filter-logic-selector,
  #ucc-filters .filter-footer .filter-logic-selector {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  #filter-apply,
  .ucc-back-link {
    width: 100% !important;
  }

  .ucc-directory-results #user-catalog,
  #user-catalog,
  .cl-custom-eitc-cert-list {
    grid-template-columns: 1fr !important;
  }

  .user-box__meta,
  .cert-icons,
  .ucc-profile-stats {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitc,
  .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitc .ucc-cert-preview,
  .ucc-cert-card--eitc .cl-custom-two-thirds {
    min-width: 0 !important;
  }
}

/* --------------------------------------------------------------------------
 * v3 corrections: reliable narrow-column profile layout and compact EITCA icons
 * -------------------------------------------------------------------------- */
.ucc-certified-profile.ucc-page-shell,
.certified-user-page.ucc-certified-profile {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.user-container.ucc-profile-layout,
.ucc-profile-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px !important;
}

.ucc-profile-sidebar,
.user-column-left {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
}

.ucc-profile-sidebar .ucc-profile-card {
  height: 100% !important;
  margin-bottom: 0 !important;
}

.ucc-profile-sidebar .ucc-icon-panel:last-child {
  grid-column: 1 / -1 !important;
}

.ucc-profile-certificates,
.user-column-right {
  width: 100% !important;
  min-width: 0 !important;
}

.ucc-icon-grid--eitca {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: center !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link,
.ucc-programme-icon-link--eitca {
  width: 100% !important;
  max-width: 100% !important;
  justify-content: center !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitca img,
.cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

.ucc-certificate-section--eitca .ucc-cert-card--eitca,
.cl-custom-eitca-cert-list .ucc-cert-card--eitca {
  display: grid !important;
  grid-template-columns: minmax(220px, .78fr) minmax(260px, 1.22fr) !important;
  gap: 20px !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-cert-meta,
.ucc-cert-card--eitca .cl-custom-one-third,
.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds {
  min-width: 0 !important;
  max-width: 100% !important;
}

.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
  display: flex !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-pdf-preview--eitca,
.ucc-cert-card--eitca .cl-custom-canvas {
  width: min(390px, 100%) !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-pdf-preview--eitca canvas,
.ucc-cert-card--eitca .ucc-certificate-canvas,
.ucc-cert-card--eitca .cl-custom-canvas canvas {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

@media (min-width: 1180px) {
  .ucc-cert-card--eitca .ucc-pdf-preview--eitca,
  .ucc-cert-card--eitca .cl-custom-canvas {
    width: min(424px, 100%) !important;
  }
}

@media (max-width: 760px) {
  .ucc-profile-sidebar,
  .user-column-left {
    grid-template-columns: 1fr !important;
  }

  .ucc-profile-sidebar .ucc-icon-panel:last-child {
    grid-column: auto !important;
  }

  .ucc-certificate-section--eitca .ucc-cert-card--eitca,
  .cl-custom-eitca-cert-list .ucc-cert-card--eitca {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitca .ucc-cert-preview,
  .ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
    justify-content: flex-start !important;
  }

  .ucc-icon-grid--eitca .ucc-programme-icon-link img,
  .ucc-programme-icon-link--eitca img,
  .cl-custom-eitca-icons img {
    max-height: 54px !important;
  }
}

/* --------------------------------------------------------------------------
 * EITCI v3 corrections: robust directory loading + wider certified profile
 * -------------------------------------------------------------------------- */
.eitci-catalog-page #user-catalog:empty + #ucc-loading {
  display: flex;
}

.eitci-catalog-page #user-catalog:not(:empty) + #ucc-loading {
  display: none;
}

.ucc-directory-results #user-catalog .ucc-empty {
  grid-column: 1 / -1;
}

/* Keep the certified profile from fighting the narrower EITCI right sidebar. */
.certified-user-page.ucc-certified-profile,
.ucc-certified-profile.ucc-page-shell {
  max-width: 100%;
  overflow-x: hidden;
}

/* Place the former left column cards in a responsive two-column panel above the certificate cards.
   This gives EITCA/EITC certificate cards the full available content width. */
.user-container.ucc-profile-layout {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.user-container.ucc-profile-layout .ucc-profile-sidebar,
.user-container.ucc-profile-layout .user-column-left {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 0 28px;
}

.user-container.ucc-profile-layout .ucc-profile-sidebar .ucc-profile-card {
  min-width: 0;
  margin: 0;
}

.user-container.ucc-profile-layout .ucc-profile-sidebar .ucc-icon-panel:last-child {
  grid-column: 1 / -1;
}

.user-container.ucc-profile-layout .ucc-profile-certificates,
.user-container.ucc-profile-layout .user-column-right {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* EITCA certificate cards: force the preview to stay inside the card. */
.ucc-certificate-section--eitca .cl-custom-eitca-cert-list,
.ucc-certificate-section--eitc .cl-custom-eitc-cert-list {
  width: 100%;
  min-width: 0;
}

.ucc-certificate-section--eitca .cl-custom-uc-eitca-box,
.ucc-certificate-section--eitc .cl-custom-uc-eitc-box {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.ucc-cert-card--eitca,
.cl-custom-eitca-cert-list .ucc-cert-card--eitca {
  display: grid !important;
  grid-template-columns: minmax(210px, 0.82fr) minmax(260px, 1.18fr) !important;
  align-items: start !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-cert-meta,
.ucc-cert-card--eitca .cl-custom-one-third,
.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
}

.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds {
  display: flex !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-pdf-preview--eitca,
.ucc-cert-card--eitca .cl-custom-canvas {
  width: min(420px, 100%) !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-pdf-preview--eitca canvas,
.ucc-cert-card--eitca .cl-custom-canvas canvas {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Sidebar EITCA programme icons: small enough for two side-by-side logos. */
.ucc-icon-grid--eitca {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: center;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link,
.ucc-icon-grid--eitca .ucc-programme-icon-link--eitca {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-icon-grid--eitca .ucc-programme-icon-link--eitca img,
.ucc-programme-icon-link--eitca img,
.cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 54px !important;
  object-fit: contain !important;
}

/* EITC programme-icon panel remains compact but readable in the full-width row. */
.ucc-icon-grid--eitc {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(54px, 1fr)) !important;
  gap: 10px !important;
}

.ucc-icon-grid--eitc .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitc img {
  max-width: 58px !important;
  height: auto !important;
}

/* Hero stats adapt earlier because the EITCI page often has an active theme sidebar. */
@media (max-width: 1280px) {
  .ucc-profile-hero {
    flex-direction: column !important;
  }

  .ucc-profile-stats {
    min-width: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 900px) {
  .user-container.ucc-profile-layout .ucc-profile-sidebar,
  .user-container.ucc-profile-layout .user-column-left {
    grid-template-columns: 1fr;
  }

  .user-container.ucc-profile-layout .ucc-profile-sidebar .ucc-icon-panel:last-child {
    grid-column: auto;
  }

  .ucc-cert-card--eitca,
  .cl-custom-eitca-cert-list .ucc-cert-card--eitca {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitca .ucc-cert-preview,
  .ucc-cert-card--eitca .cl-custom-two-thirds {
    justify-content: flex-start !important;
  }
}

@media (max-width: 520px) {
  .ucc-icon-grid--eitca {
    grid-template-columns: 1fr !important;
  }

  .ucc-profile-stats {
    grid-template-columns: 1fr !important;
  }
}

/* --------------------------------------------------------------------------
 * EITCI corrective styling pass v3
 * --------------------------------------------------------------------------
 * Keeps the profile certificate cards wide enough inside the EITCI page column,
 * reduces EITCA sidebar logos, and prevents PDF thumbnails from escaping their
 * certificate cards.
 */
.ucc-page-shell .ucc-empty,
#user-catalog .ucc-empty {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid var(--eitci-catalog-soft-border, #e8eef4) !important;
  background: #fff !important;
  color: var(--eitci-catalog-muted, #687583) !important;
}

.ucc-certified-profile.ucc-page-shell,
.certified-user-page.ucc-page-shell {
  overflow: visible !important;
}

.user-container.ucc-profile-layout,
.ucc-profile-layout {
  grid-template-columns: 1fr !important;
  gap: 26px !important;
}

.ucc-profile-sidebar,
.user-column-left.ucc-profile-sidebar {
  display: grid !important;
  grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
}

.ucc-profile-sidebar > .ucc-profile-card {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.ucc-profile-sidebar > .ucc-profile-card:first-child {
  grid-row: span 2 !important;
}

.ucc-profile-sidebar .ucc-icon-panel {
  display: flex !important;
  flex-direction: column !important;
}

.ucc-icon-grid,
.ucc-icon-grid--eitca,
.ucc-icon-grid--eitc {
  min-width: 0 !important;
}

.ucc-icon-grid--eitca {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: center !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link,
.ucc-programme-icon-link--eitca,
.cl-custom-eitca-icons a {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitca img,
.cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 54px !important;
  object-fit: contain !important;
}

.ucc-icon-grid--eitc {
  grid-template-columns: repeat(auto-fill, minmax(54px, 1fr)) !important;
  gap: 9px !important;
}

.ucc-icon-grid--eitc .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitc img,
.cl-custom-eitc-icons img {
  width: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
}

.ucc-profile-certificates,
.user-column-right.ucc-profile-certificates,
.ucc-certificate-section,
.cl-custom-eitca-cert-list,
.cl-custom-eitc-cert-list,
.cl-custom-uc-eitca-box,
.cl-custom-uc-eitc-box {
  min-width: 0 !important;
  max-width: 100% !important;
}

.ucc-cert-card--eitca,
.cl-custom-eitca-cert-list .ucc-cert-card--eitca {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-cert-meta,
.ucc-cert-card--eitca .cl-custom-one-third,
.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds {
  min-width: 0 !important;
  max-width: 100% !important;
}

.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
  display: flex !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-pdf-preview--eitca,
.ucc-cert-card--eitca .cl-custom-canvas.ucc-pdf-preview--eitca {
  width: 100% !important;
  max-width: 424px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-pdf-preview--eitca .ucc-certificate-canvas,
.ucc-cert-card--eitca .ucc-pdf-preview--eitca canvas,
.ucc-cert-card--eitca .cl-custom-canvas canvas {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 900px) {
  .ucc-profile-sidebar,
  .user-column-left.ucc-profile-sidebar {
    grid-template-columns: 1fr 1fr !important;
  }

  .ucc-profile-sidebar > .ucc-profile-card:first-child {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}

@media (max-width: 700px) {
  .ucc-profile-sidebar,
  .user-column-left.ucc-profile-sidebar,
  .ucc-cert-card--eitca,
  .cl-custom-eitca-cert-list .ucc-cert-card--eitca {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitca .ucc-cert-preview,
  .ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
    justify-content: flex-start !important;
  }

  .ucc-cert-card--eitca .ucc-pdf-preview--eitca,
  .ucc-cert-card--eitca .cl-custom-canvas.ucc-pdf-preview--eitca {
    max-width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
 * v3 fixes: EITCI theme column constraints, filtered loading, and profile cards
 * -------------------------------------------------------------------------- */
.eitci-catalog-page #ucc-loading,
.ucc-directory-results #ucc-loading {
  min-height: 44px !important;
}

.ucc-directory-results .ucc-empty,
#user-catalog .ucc-empty {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--eitci-catalog-soft-border, var(--ucc-soft-border)) !important;
  background: #fff !important;
  color: var(--eitci-catalog-muted, var(--ucc-muted)) !important;
  text-align: center !important;
}

/*
 * The live EITCI page has a right validation/sidebar column. A permanent left
 * column inside the profile then makes certificate cards too narrow, so the
 * profile metadata panels become a horizontal grid above full-width certificates.
 */
.ucc-certified-profile .user-container.ucc-profile-layout,
.certified-user-page .user-container.ucc-profile-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

.ucc-certified-profile .ucc-profile-sidebar,
.certified-user-page .ucc-profile-sidebar,
.ucc-certified-profile .user-column-left,
.certified-user-page .user-column-left {
  display: grid !important;
  grid-template-columns: minmax(220px, .82fr) minmax(280px, 1.18fr) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card,
.certified-user-page .ucc-profile-sidebar > .ucc-profile-card {
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-icon-panel--eitc,
.certified-user-page .ucc-profile-sidebar > .ucc-icon-panel--eitc {
  grid-column: 1 / -1 !important;
}

.ucc-certified-profile .ucc-profile-certificates,
.certified-user-page .ucc-profile-certificates,
.ucc-certified-profile .user-column-right,
.certified-user-page .user-column-right {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ucc-icon-panel--eitca .ucc-icon-grid--eitca {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: center !important;
  justify-items: center !important;
  width: 100% !important;
}

.ucc-icon-panel--eitca .ucc-programme-icon-link,
.ucc-icon-panel--eitca .ucc-programme-icon-link--eitca {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ucc-icon-panel--eitca .ucc-programme-icon-link img,
.ucc-icon-panel--eitca .ucc-programme-icon-link--eitca img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 52px !important;
  object-fit: contain !important;
}

.ucc-icon-panel--eitc .ucc-icon-grid--eitc {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: center !important;
  justify-items: center !important;
  width: 100% !important;
}

.ucc-icon-panel--eitc .ucc-programme-icon-link--eitc img {
  max-width: 58px !important;
  max-height: 58px !important;
}

/* Let the EITCA programme card use the now-free full content width without crossing the EITCI sidebar. */
.ucc-certificate-section--eitca .ucc-cert-card--eitca,
.ucc-certificate-section--eitca .cl-custom-container.ucc-cert-card--eitca {
  display: grid !important;
  grid-template-columns: minmax(230px, 1fr) minmax(280px, 380px) !important;
  gap: 20px !important;
  overflow: hidden !important;
  max-width: 100% !important;
}

.ucc-certificate-section--eitca .ucc-cert-card--eitca .ucc-cert-preview,
.ucc-certificate-section--eitca .ucc-cert-card--eitca .cl-custom-two-thirds {
  display: flex !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ucc-certificate-section--eitca .ucc-pdf-preview--eitca,
.ucc-certificate-section--eitca .cl-custom-canvas.ucc-pdf-preview--eitca {
  width: min(380px, 100%) !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.ucc-certificate-section--eitca .ucc-pdf-preview--eitca canvas,
.ucc-certificate-section--eitca .ucc-pdf-preview--eitca .ucc-certificate-canvas {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

.cl-custom-eitc-cert-list {
  grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)) !important;
}

.ucc-cert-card--eitc,
.cl-custom-eitc-cert-list .ucc-cert-card--eitc {
  overflow: hidden !important;
}

@media (max-width: 820px) {
  .ucc-certified-profile .ucc-profile-sidebar,
  .certified-user-page .ucc-profile-sidebar,
  .ucc-certified-profile .user-column-left,
  .certified-user-page .user-column-left {
    grid-template-columns: 1fr !important;
  }

  .ucc-certified-profile .ucc-profile-sidebar > .ucc-icon-panel--eitc,
  .certified-user-page .ucc-profile-sidebar > .ucc-icon-panel--eitc {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  .ucc-certificate-section--eitca .ucc-cert-card--eitca,
  .ucc-certificate-section--eitca .cl-custom-container.ucc-cert-card--eitca {
    grid-template-columns: 1fr !important;
  }

  .ucc-certificate-section--eitca .ucc-cert-card--eitca .ucc-cert-preview,
  .ucc-certificate-section--eitca .ucc-cert-card--eitca .cl-custom-two-thirds {
    justify-content: flex-start !important;
  }

  .ucc-certificate-section--eitca .ucc-pdf-preview--eitca,
  .ucc-certificate-section--eitca .cl-custom-canvas.ucc-pdf-preview--eitca {
    width: min(360px, 100%) !important;
  }
}

@media (max-width: 480px) {
  .ucc-icon-panel--eitca .ucc-icon-grid--eitca {
    grid-template-columns: 1fr !important;
  }
}

/* --------------------------------------------------------------------------
 * EITCI v3 fixes: AJAX-resilient layout + wider certificate cards
 * -------------------------------------------------------------------------- */
.ucc-profile-layout,
.user-container.ucc-profile-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
  align-items: start !important;
}

.ucc-profile-sidebar,
.user-column-left.ucc-profile-sidebar {
  display: grid !important;
  grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.ucc-profile-sidebar > .ucc-profile-card {
  margin: 0 !important;
  min-width: 0 !important;
  height: 100% !important;
}

.ucc-profile-sidebar > .ucc-profile-card--directory,
.ucc-profile-sidebar > .ucc-profile-card:first-child {
  grid-row: span 2 !important;
}

.ucc-profile-sidebar > .ucc-icon-panel--eitca,
.ucc-profile-sidebar > .ucc-icon-panel--eitc,
.ucc-profile-sidebar > .ucc-icon-panel:nth-child(n+2) {
  grid-column: 2 !important;
}

.ucc-profile-certificates,
.user-column-right.ucc-profile-certificates {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.ucc-icon-grid--eitca {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: center !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link,
.ucc-profile-sidebar .ucc-programme-icon-link--eitca {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
}

.ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-profile-sidebar .ucc-programme-icon-link--eitca img,
.cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

.ucc-cert-card--eitca,
.cl-custom-eitca-cert-list .ucc-cert-card--eitca,
.cl-custom-container.ucc-cert-card--eitca {
  display: grid !important;
  grid-template-columns: minmax(170px, .72fr) minmax(0, 1.28fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-cert-meta,
.ucc-cert-card--eitca .cl-custom-one-third,
.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: none !important;
}

.ucc-cert-card--eitca .ucc-cert-preview,
.ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-pdf-preview--eitca,
.ucc-cert-card--eitca .cl-custom-canvas {
  width: min(390px, 100%) !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.ucc-cert-card--eitca .ucc-certificate-canvas,
.ucc-cert-card--eitca .cl-custom-canvas canvas {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 760px) {
  .ucc-profile-sidebar,
  .user-column-left.ucc-profile-sidebar {
    grid-template-columns: 1fr !important;
  }

  .ucc-profile-sidebar > .ucc-profile-card--directory,
  .ucc-profile-sidebar > .ucc-profile-card:first-child,
  .ucc-profile-sidebar > .ucc-icon-panel--eitca,
  .ucc-profile-sidebar > .ucc-icon-panel--eitc,
  .ucc-profile-sidebar > .ucc-icon-panel:nth-child(n+2) {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .ucc-cert-card--eitca,
  .cl-custom-eitca-cert-list .ucc-cert-card--eitca,
  .cl-custom-container.ucc-cert-card--eitca {
    grid-template-columns: 1fr !important;
  }

  .ucc-cert-card--eitca .ucc-cert-preview,
  .ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
    justify-content: flex-start !important;
  }
}

/* --------------------------------------------------------------------------
 * v3.1 loader and narrow-column hardening
 * -------------------------------------------------------------------------- */
.eitci-catalog-page #ucc-loading,
.ucc-directory-results #ucc-loading {
  display: none !important;
}

.eitci-catalog-page #ucc-loading.ucc-loading--active,
.ucc-directory-results #ucc-loading.ucc-loading--active {
  display: flex !important;
}

/* The profile is often rendered in a constrained EITCI theme column next to
 * validation widgets. Keep the certificate area full-width and move the summary
 * cards above it so PDF previews cannot escape into the right sidebar. */
.ucc-certified-profile .user-container.ucc-profile-layout,
.certified-user-page .user-container.ucc-profile-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 26px !important;
  width: 100% !important;
  max-width: 100% !important;
}

.ucc-certified-profile .ucc-profile-certificates,
.ucc-certified-profile .user-column-right.ucc-profile-certificates {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ucc-certified-profile .ucc-profile-sidebar,
.ucc-certified-profile .user-column-left.ucc-profile-sidebar {
  display: grid !important;
  grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card:first-child {
  grid-row: span 2 !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card {
  min-width: 0 !important;
  margin-bottom: 0 !important;
}

.ucc-certified-profile .ucc-icon-grid--eitca {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
}

.ucc-certified-profile .ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-certified-profile .ucc-programme-icon-link--eitca img,
.ucc-certified-profile .cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 60px !important;
  object-fit: contain !important;
}

.ucc-certified-profile .ucc-cert-card--eitca,
.ucc-certified-profile .cl-custom-eitca-cert-list .ucc-cert-card--eitca {
  display: grid !important;
  grid-template-columns: minmax(220px, .9fr) minmax(240px, 1.1fr) !important;
  gap: 18px !important;
  overflow: hidden !important;
}

.ucc-certified-profile .ucc-cert-card--eitca .ucc-cert-preview,
.ucc-certified-profile .ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  justify-content: center !important;
}

.ucc-certified-profile .ucc-cert-card--eitca .ucc-pdf-preview--eitca,
.ucc-certified-profile .ucc-cert-card--eitca .cl-custom-canvas.ucc-pdf-preview--eitca {
  width: 100% !important;
  max-width: 390px !important;
  min-width: 0 !important;
}

@media (max-width: 760px) {
  .ucc-certified-profile .ucc-profile-sidebar,
  .ucc-certified-profile .user-column-left.ucc-profile-sidebar,
  .ucc-certified-profile .ucc-cert-card--eitca,
  .ucc-certified-profile .cl-custom-eitca-cert-list .ucc-cert-card--eitca {
    grid-template-columns: 1fr !important;
  }

  .ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card:first-child {
    grid-row: auto !important;
  }
}

/* --------------------------------------------------------------------------
 * v3.2 final EITCI narrow-column/profile corrections
 * -------------------------------------------------------------------------- */
.eitci-catalog-page #user-catalog.ucc-catalog-is-refreshing {
  opacity: .55;
  pointer-events: none;
  transition: opacity .16s ease;
}

.eitci-catalog-page #ucc-loading,
.ucc-directory-results #ucc-loading {
  display: none !important;
}

.eitci-catalog-page #ucc-loading.ucc-loading--active,
.ucc-directory-results #ucc-loading.ucc-loading--active {
  display: flex !important;
}

/* Place profile summary/icon panels above certificates. This frees the EITCA
 * and EITC certificate cards from the old narrow left-sidebar/right-content
 * split used by the EITCI page template. */
.ucc-certified-profile .user-container.ucc-profile-layout,
.certified-user-page .user-container.ucc-profile-layout {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.ucc-certified-profile .ucc-profile-sidebar,
.ucc-certified-profile .user-column-left.ucc-profile-sidebar {
  display: grid !important;
  grid-template-columns: minmax(min(230px, 100%), .8fr) minmax(min(280px, 100%), 1.2fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 28px !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card {
  min-width: 0 !important;
  margin: 0 !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card:first-child {
  grid-row: span 2 !important;
}

.ucc-certified-profile .ucc-profile-certificates,
.ucc-certified-profile .user-column-right.ucc-profile-certificates {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* EITCA icons in the summary box: two per row, smaller than the large sidebar
 * logos, so multiple Academy programmes fit cleanly. */
.ucc-certified-profile .ucc-icon-grid--eitca {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: center !important;
}

.ucc-certified-profile .ucc-icon-grid--eitca .ucc-programme-icon-link,
.ucc-certified-profile .ucc-programme-icon-link--eitca {
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

.ucc-certified-profile .ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-certified-profile .ucc-programme-icon-link--eitca img,
.ucc-certified-profile .cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 46px !important;
  object-fit: contain !important;
}

.ucc-certified-profile .ucc-icon-grid--eitc {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Certificate cards must respond to their real column width, not only to the
 * browser viewport. Flex wrapping prevents the EITCA PDF preview from entering
 * the right-side EITCI validation column. */
.ucc-certified-profile .ucc-cert-card--eitca,
.ucc-certified-profile .cl-custom-eitca-cert-list .ucc-cert-card--eitca,
.ucc-certified-profile .cl-custom-container.ucc-cert-card--eitca {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 18px !important;
  overflow: hidden !important;
  max-width: 100% !important;
}

.ucc-certified-profile .ucc-cert-card--eitca .ucc-cert-meta,
.ucc-certified-profile .ucc-cert-card--eitca .cl-custom-one-third.ucc-cert-meta {
  flex: 1 1 230px !important;
  min-width: 0 !important;
  width: auto !important;
}

.ucc-certified-profile .ucc-cert-card--eitca .ucc-cert-preview,
.ucc-certified-profile .ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
  flex: 999 1 300px !important;
  min-width: min(260px, 100%) !important;
  width: auto !important;
  max-width: 100% !important;
  overflow: hidden !important;
  justify-content: flex-start !important;
}

.ucc-certified-profile .ucc-cert-card--eitca .ucc-pdf-preview--eitca,
.ucc-certified-profile .ucc-cert-card--eitca .cl-custom-canvas.ucc-pdf-preview--eitca {
  display: block !important;
  width: 100% !important;
  max-width: 430px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.ucc-certified-profile .ucc-cert-card--eitca .ucc-pdf-preview--eitca canvas,
.ucc-certified-profile .ucc-cert-card--eitca .ucc-certificate-canvas {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Let EITC cards form two columns only where the certificate content area is
 * actually wide enough. In the common EITCI constrained column they remain one
 * full-width column. */
.ucc-certified-profile .cl-custom-eitc-cert-list {
  grid-template-columns: repeat(auto-fit, minmax(min(520px, 100%), 1fr)) !important;
  gap: 16px !important;
}

.ucc-certified-profile .ucc-cert-card--eitc,
.ucc-certified-profile .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
  max-width: 100% !important;
  overflow: hidden !important;
}

@media (max-width: 760px) {
  .ucc-certified-profile .ucc-profile-sidebar,
  .ucc-certified-profile .user-column-left.ucc-profile-sidebar {
    grid-template-columns: 1fr !important;
  }

  .ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card:first-child {
    grid-row: auto !important;
  }

  .ucc-certified-profile .ucc-cert-card--eitca .ucc-cert-preview,
  .ucc-certified-profile .ucc-cert-card--eitca .cl-custom-two-thirds.ucc-cert-preview {
    min-width: 0 !important;
  }
}

/* v3.2b: use an auto-fitting two-column summary grid that also collapses in
 * narrow theme columns without relying only on viewport media queries. */
.ucc-certified-profile .ucc-profile-sidebar,
.ucc-certified-profile .user-column-left.ucc-profile-sidebar {
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)) !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-profile-card:first-child {
  grid-row: auto !important;
}

.ucc-certified-profile .ucc-profile-sidebar > .ucc-icon-panel--eitc {
  grid-column: 1 / -1 !important;
}


/* --------------------------------------------------------------------------
 * EITCI v4 refinements
 * -------------------------------------------------------------------------- */
.eitci-catalog-page #ucc-loading:not(.ucc-loading--active),
.ucc-directory-results #ucc-loading:not(.ucc-loading--active),
.eitci-catalog-page #user-catalog:empty + #ucc-loading:not(.ucc-loading--active),
.eitci-catalog-page #user-catalog:not(:empty) + #ucc-loading:not(.ucc-loading--active) {
  display: none !important;
  visibility: hidden !important;
}

.eitci-catalog-page #ucc-loading.ucc-loading--active,
.ucc-directory-results #ucc-loading.ucc-loading--active {
  display: flex !important;
  visibility: visible !important;
}

#ucc-filters[data-ucc-filters-pending="1"] #filter-apply,
#ucc-filters .ucc-apply-is-pending {
  box-shadow: 0 0 0 3px rgba(47, 102, 172, .16) !important;
}

#ucc-filters .dropdown-options label {
  user-select: none;
}

#ucc-filters .dropdown-options input[type="checkbox"] {
  cursor: pointer;
}

.ucc-certified-profile .ucc-icon-panel--eitca .ucc-icon-grid--eitca,
.ucc-certified-profile .ucc-icon-grid--eitca {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
}

.ucc-certified-profile .ucc-icon-panel--eitca .ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-certified-profile .ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-certified-profile .ucc-icon-grid--eitca .ucc-programme-icon-link--eitca img,
.ucc-certified-profile .ucc-icon-grid--eitca .cl-custom-eitca-icons img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 60px !important;
  object-fit: contain !important;
}


/* --------------------------------------------------------------------------
 * EITCI v5 refinements requested after live visual testing
 * -------------------------------------------------------------------------- */
.eitci-catalog-page .ucc-catalog-header::after,
.eitci-catalog-page .user-box::after,
.ucc-users-catalog-page .user-box::after,
.ucc-certified-profile .ucc-profile-hero::after {
  display: none !important;
  content: none !important;
}

/* Keep EITCA profile certificate cards full-width, but allow EITC cards to
 * form two columns in the profile certificate area. */
.ucc-certified-profile .cl-custom-eitca-cert-list {
  grid-template-columns: 1fr !important;
}

.ucc-certified-profile .cl-custom-eitc-cert-list,
.ucc-certificate-section--eitc .cl-custom-eitc-cert-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.ucc-certified-profile .cl-custom-uc-eitc-box,
.ucc-certified-profile .ucc-cert-card--eitc,
.ucc-certified-profile .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.ucc-certified-profile .ucc-cert-card--eitc,
.ucc-certified-profile .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.ucc-certified-profile .ucc-cert-card--eitc .ucc-cert-preview,
.ucc-certified-profile .ucc-cert-card--eitc .cl-custom-two-thirds {
  min-width: 112px !important;
}

.ucc-certified-profile .ucc-cert-card--eitc .ucc-pdf-preview--eitc,
.ucc-certified-profile .ucc-cert-card--eitc .cl-custom-canvas {
  max-width: 118px !important;
}

.ucc-certified-profile .ucc-cert-card--eitc .ucc-pdf-preview--eitc canvas,
.ucc-certified-profile .ucc-cert-card--eitc .ucc-certificate-canvas,
.ucc-certified-profile .ucc-cert-card--eitc .cl-custom-canvas canvas {
  max-width: 118px !important;
}

/* Button typography was too small in the compact cards. */
.ucc-certified-profile .ucc-cert-actions .ucc-btn,
.ucc-certified-profile .ucc-cert-card--eitc .ucc-cert-actions .ucc-btn,
.ucc-certified-profile .ucc-cert-card--eitca .ucc-cert-actions .ucc-btn {
  min-height: 32px !important;
  padding: 8px 11px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
  white-space: normal !important;
}

@media (max-width: 720px) {
  .ucc-certified-profile .cl-custom-eitc-cert-list,
  .ucc-certificate-section--eitc .cl-custom-eitc-cert-list {
    grid-template-columns: 1fr !important;
  }

  .ucc-certified-profile .ucc-cert-card--eitc .ucc-pdf-preview--eitc,
  .ucc-certified-profile .ucc-cert-card--eitc .cl-custom-canvas,
  .ucc-certified-profile .ucc-cert-card--eitc .ucc-pdf-preview--eitc canvas,
  .ucc-certified-profile .ucc-cert-card--eitc .ucc-certificate-canvas,
  .ucc-certified-profile .ucc-cert-card--eitc .cl-custom-canvas canvas {
    max-width: 130px !important;
  }
}

@media (max-width: 520px) {
  .ucc-certified-profile .ucc-cert-card--eitc,
  .ucc-certified-profile .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
    grid-template-columns: 1fr !important;
  }

  .ucc-certified-profile .ucc-cert-card--eitc .ucc-cert-preview,
  .ucc-certified-profile .ucc-cert-card--eitc .cl-custom-two-thirds {
    min-width: 0 !important;
  }
}


/* --------------------------------------------------------------------------
 * EITCI v5 refinements
 * -------------------------------------------------------------------------- */
/* Keep the AJAX loader visible while any directory page is actually being
 * fetched, including the final matching batch. */
.eitci-catalog-page #ucc-loading.ucc-loading--active,
.ucc-directory-results #ucc-loading.ucc-loading--active {
  position: sticky !important;
  bottom: 14px !important;
  z-index: 30 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: calc(100% - 52px) !important;
  min-height: 42px !important;
  margin: 12px auto 24px !important;
  padding: 9px 15px !important;
  border: 1px solid var(--eitci-catalog-border, #dfe4ea) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 10px 26px rgba(23, 56, 91, .14) !important;
  color: var(--eitci-catalog-muted, #647386) !important;
}

/* Remove decorative circles from user boxes and the large header/hero blocks. */
.ucc-catalog-header::after,
.ucc-profile-hero::after,
.user-box::after {
  display: none !important;
  content: none !important;
}

/* Profile certificate layout: EITCA cards stay one per row; EITC cards fit two
 * per row wherever there is enough horizontal space. */
.ucc-certified-profile .cl-custom-eitca-cert-list,
.ucc-certified-profile .ucc-certificate-section--eitca .cl-custom-eitca-cert-list {
  grid-template-columns: 1fr !important;
}

.ucc-certified-profile .cl-custom-uc-eitca-box,
.ucc-certified-profile .cl-custom-uc-eitc-box {
  min-width: 0 !important;
}

.ucc-certified-profile .cl-custom-eitc-cert-list,
.ucc-certified-profile .ucc-certificate-section--eitc .cl-custom-eitc-cert-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.ucc-certified-profile .ucc-cert-card--eitc,
.ucc-certified-profile .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
  grid-template-columns: minmax(0, 1fr) minmax(96px, 130px) !important;
  gap: 12px !important;
}

.ucc-certified-profile .ucc-cert-card--eitc .ucc-cert-preview,
.ucc-certified-profile .ucc-cert-card--eitc .cl-custom-two-thirds {
  min-width: 96px !important;
}

/* Button labels need to remain legible in both EITCA and compact EITC cards. */
.ucc-certified-profile .ucc-cert-actions .ucc-btn,
.ucc-certified-profile .ucc-cert-card--eitc .ucc-cert-actions .ucc-btn,
.ucc-certified-profile .ucc-cert-card--eitca .ucc-cert-actions .ucc-btn {
  min-height: 34px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 640px) {
  .ucc-certified-profile .cl-custom-eitc-cert-list,
  .ucc-certified-profile .ucc-certificate-section--eitc .cl-custom-eitc-cert-list {
    grid-template-columns: 1fr !important;
  }

  .ucc-certified-profile .ucc-cert-card--eitc,
  .ucc-certified-profile .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

@media (max-width: 460px) {
  .ucc-certified-profile .ucc-cert-card--eitc,
  .ucc-certified-profile .cl-custom-eitc-cert-list .ucc-cert-card--eitc {
    grid-template-columns: 1fr !important;
  }
}

/* --------------------------------------------------------------------------
 * EITCI v5 refinements requested after live review
 * -------------------------------------------------------------------------- */

/* Remove the decorative circles from the catalog header/result cards and the
   certified-user profile hero. */
.eitci-catalog-page .ucc-catalog-header::before,
.eitci-catalog-page .ucc-catalog-header::after,
.eitci-catalog-page .user-box::before,
.eitci-catalog-page .user-box::after,
.ucc-certified-profile .ucc-profile-hero::before,
.ucc-certified-profile .ucc-profile-hero::after,
.certified-user-page .ucc-profile-hero::before,
.certified-user-page .ucc-profile-hero::after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  content: none !important;
}

/* Keep academy certificates as one wide row and individual EITC certificates
   as two cards per row on desktop/tablet profile widths. */
.ucc-certified-profile .cl-custom-eitca-cert-list,
.certified-user-page .cl-custom-eitca-cert-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

.ucc-certified-profile .cl-custom-eitc-cert-list,
.certified-user-page .cl-custom-eitc-cert-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.ucc-certified-profile .cl-custom-uc-eitca-box,
.ucc-certified-profile .cl-custom-uc-eitc-box,
.certified-user-page .cl-custom-uc-eitca-box,
.certified-user-page .cl-custom-uc-eitc-box {
  min-width: 0 !important;
}

/* Make certificate action buttons legible while keeping compact cards tidy. */
.ucc-certified-profile .ucc-cert-actions .ucc-btn,
.certified-user-page .ucc-cert-actions .ucc-btn {
  min-height: 32px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  line-height: 1.22 !important;
  text-transform: none !important;
  white-space: normal !important;
}

.ucc-certified-profile .ucc-cert-card--eitc .ucc-cert-actions .ucc-btn,
.certified-user-page .ucc-cert-card--eitc .ucc-cert-actions .ucc-btn {
  min-height: 30px !important;
  padding: 7px 9px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* Requested EITCA logo sizing in the issued-certificates panel. */
.ucc-icon-grid--eitca .ucc-programme-icon-link img,
.ucc-programme-icon-link--eitca img,
.cl-custom-eitca-icons img {
  max-height: 60px !important;
}

/* Preserve the two-column EITC certificate list except on genuinely narrow screens. */
@media (max-width: 680px) {
  .ucc-certified-profile .cl-custom-eitc-cert-list,
  .certified-user-page .cl-custom-eitc-cert-list {
    grid-template-columns: 1fr !important;
  }
}

/* EITCI v5 loader visibility: show the spinner/text during every active AJAX batch, including the final batch. */
.eitci-catalog-page #ucc-loading[aria-busy="true"],
.ucc-directory-results #ucc-loading[aria-busy="true"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
 * EITCI v6 persistent end-of-results loader
 * --------------------------------------------------------------------------
 * Keep the standard Loading... spinner visible below the final visible batch
 * when a filtered catalog result set has no further matching rows.
 */
.eitci-catalog-page #ucc-loading.ucc-loading--end-placeholder,
.ucc-directory-results #ucc-loading.ucc-loading--end-placeholder,
.eitci-catalog-page #ucc-loading.ucc-loading--active.ucc-loading--end-placeholder,
.ucc-directory-results #ucc-loading.ucc-loading--active.ucc-loading--end-placeholder {
  display: flex !important;
  visibility: visible !important;
  min-height: 54px !important;
  opacity: 1 !important;
}


/* --------------------------------------------------------------------------
 * EITCI v14 lightweight Members Catalog
 * -------------------------------------------------------------------------- */
body.ucc-members-catalog-page #content,
body.ucc-members-catalog-page .site-content {
  background: var(--ucc-bg, #f5f7fa);
}

.eitci-members-catalog-page .ucc-filter-section,
.eitci-members-catalog-page #ucc-filters.ucc-members-catalog-runtime {
  display: none !important;
}

.eitci-members-catalog-page .ucc-members-catalog-header {
  margin-bottom: 26px;
}

.eitci-members-catalog-page .ucc-members-catalog-results .ucc-results-heading {
  border-bottom: 1px solid var(--ucc-soft-border, #e9edf2);
}

.eitci-members-catalog-page #user-catalog,
.eitci-members-catalog-page .ucc-members-catalog-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 22px !important;
  padding: 24px 26px 10px !important;
}

.eitci-members-catalog-page .user-box--members-catalog {
  cursor: default !important;
  min-height: 100% !important;
}

.eitci-members-catalog-page .user-box--members-catalog:hover {
  border-color: var(--ucc-soft-border, #e9edf2) !important;
  box-shadow: var(--ucc-shadow-light, 0 8px 20px rgba(30, 45, 65, .06)) !important;
  transform: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog .user-box__eyebrow {
  color: var(--ucc-blue, #2a68af) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}

.eitci-members-catalog-page .user-box--members-catalog .country {
  margin-bottom: 0 !important;
}

.user-box__specialisations {
  margin-top: auto;
  padding-top: 2px;
}

.user-box__specialisations-label {
  display: block;
  margin: 0 0 8px;
  color: var(--ucc-muted, #68707a);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.user-box__specialisation-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.user-box__specialisation-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 5px 9px;
  border: 1px solid rgba(42, 104, 175, .18);
  background: #eef4fb;
  color: var(--ucc-blue, #2a68af);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.2;
  white-space: nowrap;
}

.user-box__specialisation-tag--more {
  border-color: var(--ucc-soft-border, #e9edf2);
  background: #f8fafc;
  color: var(--ucc-muted, #68707a);
}

.eitci-members-catalog-page .user-box--members-catalog .user-box__meta,
.eitci-members-catalog-page .user-box--members-catalog .cert-icons,
.eitci-members-catalog-page .user-box--members-catalog .user-box__cta {
  display: none !important;
}

@media (max-width: 640px) {
  .eitci-members-catalog-page #user-catalog,
  .eitci-members-catalog-page .ucc-members-catalog-grid {
    grid-template-columns: 1fr !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* --------------------------------------------------------------------------
 * EITCI v20 final Members Catalog title box
 * -------------------------------------------------------------------------- */
.eitci-members-catalog-page .ucc-members-catalog-title-box {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 18px 22px !important;
  border: 1px solid var(--ucc-soft-border, #e9edf2) !important;
  border-top: 3px solid var(--ucc-blue, #2a68af) !important;
  background: #fff !important;
  box-shadow: var(--ucc-shadow-light, 0 8px 20px rgba(30, 45, 65, .06)) !important;
}

.eitci-members-catalog-page .ucc-members-catalog-title-box h2 {
  margin: 0 !important;
  color: var(--ucc-text, #2f3640) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

@media (max-width: 640px) {
  .eitci-members-catalog-page .ucc-members-catalog-title-box {
    margin-bottom: 14px !important;
    padding: 16px 18px !important;
  }
  .eitci-members-catalog-page .ucc-members-catalog-title-box h2 {
    font-size: 22px !important;
  }
}

/* --------------------------------------------------------------------------
 * EITCI v15 Members Catalog refinements
 * -------------------------------------------------------------------------- */
.user-box h5,
.user-box__name,
.eitci-members-catalog-page .user-box--members-catalog .user-box__name {
  text-transform: none !important;
}

body.ucc-members-catalog-page #content,
body.ucc-members-catalog-page .site-content,
body.ucc-membership-members-catalog-page #content,
body.ucc-membership-members-catalog-page .site-content {
  background: #fff !important;
}

.eitci-members-catalog-page.ucc-page-shell {
  max-width: 100% !important;
  margin: 0 0 36px !important;
}

.eitci-members-catalog-page .ucc-catalog-header,
.eitci-members-catalog-page .ucc-members-catalog-header,
.eitci-members-catalog-page .ucc-results-heading,
.eitci-members-catalog-page .ucc-members-catalog-results .ucc-results-heading {
  display: none !important;
}

.eitci-members-catalog-page .ucc-directory-results,
.eitci-members-catalog-page .ucc-members-catalog-results {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.eitci-members-catalog-page #user-catalog,
.eitci-members-catalog-page .ucc-members-catalog-grid {
  display: grid !important;
  gap: 20px !important;
  padding: 0 !important;
}

.eitci-members-catalog-page.ucc-members-catalog--standard #user-catalog,
.eitci-members-catalog-page.ucc-members-catalog--standard .ucc-members-catalog-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.eitci-members-catalog-page.ucc-members-catalog--membership #user-catalog,
.eitci-members-catalog-page.ucc-members-catalog--membership .ucc-members-catalog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ucc-membership-catalog-host {
  clear: both !important;
  margin-top: 30px !important;
}

.ucc-membership-catalog-host .eitci-members-catalog-page {
  width: 100% !important;
}

.eitci-members-catalog-page .user-box--members-catalog {
  display: block !important;
  min-height: 100% !important;
  padding: 0 !important;
  border-top: 3px solid var(--ucc-blue, #2a68af) !important;
  background: #fff !important;
  cursor: pointer !important;
}

.eitci-members-catalog-page .user-box--members-catalog::after {
  display: none !important;
  content: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog:hover,
.eitci-members-catalog-page .user-box--members-catalog[open] {
  border-color: #cfdbea !important;
  box-shadow: var(--ucc-shadow, 0 14px 34px rgba(30, 45, 65, .08)) !important;
  transform: translateY(-1px) !important;
}

.eitci-members-catalog-page .user-box__summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  min-height: 100% !important;
  padding: 20px !important;
  list-style: none !important;
  outline: none !important;
}

.eitci-members-catalog-page .user-box__summary::-webkit-details-marker {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__summary {
  border-bottom: 1px solid var(--ucc-soft-border, #e9edf2) !important;
  padding-bottom: 15px !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__compact {
  display: none !important;
}

.eitci-members-catalog-page .user-box__expanded {
  display: none !important;
  padding: 17px 20px 20px !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__expanded {
  display: block !important;
}

.eitci-members-catalog-page .user-box__compact,
.eitci-members-catalog-page .user-box__expanded {
  color: var(--ucc-text, #2f3640) !important;
}

.eitci-members-catalog-page .user-box__member-section + .user-box__member-section {
  margin-top: 13px !important;
}

.eitci-members-catalog-page .user-box__member-list {
  margin: 0 !important;
  color: var(--ucc-text, #2f3640) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.eitci-members-catalog-page .user-box__specialisations-label {
  margin-bottom: 5px !important;
  color: var(--ucc-blue, #2a68af) !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  font-size: 12px !important;
}

.eitci-members-catalog-page .user-box__more-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 28px !important;
  min-height: 22px !important;
  padding: 2px 7px !important;
  border: 1px solid rgba(42, 104, 175, .18) !important;
  background: #eef4fb !important;
  color: var(--ucc-blue, #2a68af) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.eitci-members-catalog-page .user-box__muted {
  color: var(--ucc-muted, #68707a) !important;
}

.eitci-members-catalog-page .user-box__expand-hint {
  display: inline-flex !important;
  align-self: flex-start !important;
  margin-top: auto !important;
  color: var(--ucc-muted, #68707a) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__expand-hint,
.eitci-members-catalog-page .user-box--members-catalog.is-expanded .user-box__expand-hint,
.eitci-members-catalog-page .user-box--members-catalog.ucc-member-expanded .user-box__expand-hint {
  display: none !important;
}

.ucc-members-pagination {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 24px 0 0 !important;
}

.ucc-members-pagination__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--ucc-blue, #2a68af) !important;
  background: #fff !important;
  color: var(--ucc-blue, #2a68af) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.ucc-members-pagination__link:hover {
  background: var(--ucc-blue, #2a68af) !important;
  color: #fff !important;
  text-decoration: none !important;
}

.ucc-members-pagination__link--disabled {
  border-color: var(--ucc-soft-border, #e9edf2) !important;
  color: var(--ucc-muted, #68707a) !important;
  opacity: .55 !important;
  pointer-events: none !important;
}

@media (max-width: 991px) {
  .eitci-members-catalog-page.ucc-members-catalog--membership #user-catalog,
  .eitci-members-catalog-page.ucc-members-catalog--membership .ucc-members-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .eitci-members-catalog-page.ucc-members-catalog--standard #user-catalog,
  .eitci-members-catalog-page.ucc-members-catalog--standard .ucc-members-catalog-grid,
  .eitci-members-catalog-page.ucc-members-catalog--membership #user-catalog,
  .eitci-members-catalog-page.ucc-members-catalog--membership .ucc-members-catalog-grid {
    grid-template-columns: 1fr !important;
  }

  .ucc-members-pagination {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}


/* --------------------------------------------------------------------------
 * EITCI v18 Members Catalog compact expansion patch
 * -------------------------------------------------------------------------- */
.eitci-members-catalog-page .user-box--members-catalog .user-box__name,
.eitci-members-catalog-page .user-box--members-catalog .user-box__identity,
.eitci-members-catalog-page .user-box--members-catalog .country {
  text-transform: none !important;
}

.eitci-members-catalog-page .user-box__summary {
  position: relative !important;
  gap: 10px !important;
  padding: 18px 20px 26px !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__summary {
  border-bottom: 0 !important;
  padding-bottom: 26px !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__compact {
  display: block !important;
}

.eitci-members-catalog-page .user-box__expanded,
.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__expanded {
  display: none !important;
}

.eitci-members-catalog-page .user-box__member-section + .user-box__member-section {
  margin-top: 6px !important;
}

.eitci-members-catalog-page .user-box__member-list {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
}

.eitci-members-catalog-page .user-box__specialisations-label {
  margin-bottom: 3px !important;
  line-height: 1.2 !important;
}

.eitci-members-catalog-page .user-box__member-list--full {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__member-list--preview,
.eitci-members-catalog-page .user-box--members-catalog.is-expanded .user-box__member-list--preview,
.eitci-members-catalog-page .user-box--members-catalog.ucc-member-expanded .user-box__member-list--preview {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__member-list--full,
.eitci-members-catalog-page .user-box--members-catalog.is-expanded .user-box__member-list--full,
.eitci-members-catalog-page .user-box--members-catalog.ucc-member-expanded .user-box__member-list--full {
  display: block !important;
}

.eitci-members-catalog-page .user-box__expand-hint {
  position: absolute !important;
  right: 18px !important;
  bottom: 9px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-self: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, .92) !important;
  line-height: 1.1 !important;
  pointer-events: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[open] .user-box__expand-hint {
  display: none !important;
}

.eitci-members-catalog-page .user-box__more-count {
  min-height: 20px !important;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
}

/* --------------------------------------------------------------------------
 * EITCI v19 Members Catalog expansion/loading/sort display patch
 * -------------------------------------------------------------------------- */
.eitci-members-catalog-page .user-box--members-catalog {
  cursor: pointer !important;
}

.eitci-members-catalog-page .user-box--members-catalog.is-expanded {
  border-color: #cfdbea !important;
  box-shadow: var(--ucc-shadow, 0 14px 34px rgba(30, 45, 65, .08)) !important;
  transform: translateY(-1px) !important;
}

.eitci-members-catalog-page .user-box--members-catalog.is-expanded .user-box__member-list--preview {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog.is-expanded .user-box__member-list--full {
  display: block !important;
}

.eitci-members-catalog-page .user-box--members-catalog.is-expanded .user-box__expand-hint {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog .user-box__member-section + .user-box__member-section {
  margin-top: 5px !important;
}

.eitci-members-catalog-page .user-box--members-catalog .user-box__specialisations-label {
  margin-bottom: 2px !important;
}

.eitci-members-catalog-page .user-box--members-catalog .user-box__member-list {
  line-height: 1.32 !important;
}

.eitci-members-catalog-page #ucc-loading,
.eitci-members-catalog-page #ucc-loading.ucc-loading--active,
.eitci-members-catalog-page #ucc-loading.ucc-loading--end-placeholder {
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 42px !important;
  margin: 18px 0 0 !important;
  color: var(--ucc-muted, #68707a) !important;
  font-weight: 700 !important;
}

.eitci-members-catalog-page #ucc-loading.ucc-loading--active,
.eitci-members-catalog-page #ucc-loading.ucc-loading--end-placeholder {
  display: flex !important;
}

.eitci-members-catalog-page #ucc-loading-spinner {
  flex: 0 0 24px !important;
}

/* EITCI v19 final: support JS class and aria state after replacing <details>. */
.eitci-members-catalog-page .user-box--members-catalog[aria-expanded="true"] .user-box__member-list--preview {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[aria-expanded="true"] .user-box__member-list--full {
  display: block !important;
}

.eitci-members-catalog-page .user-box--members-catalog[aria-expanded="true"] .user-box__expand-hint {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[role="button"]:focus {
  outline: 2px solid rgba(42, 104, 175, .38) !important;
  outline-offset: 2px !important;
}

/* --------------------------------------------------------------------------
 * EITCI v20 Members Catalog: only expandable cards show expand affordance
 * -------------------------------------------------------------------------- */
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"],
.eitci-members-catalog-page .user-box--members-catalog.user-box--not-expandable {
  cursor: default !important;
}

.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"].is-expanded,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"].ucc-member-expanded,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"][aria-expanded="true"] {
  border-color: var(--ucc-soft-border, #e9edf2) !important;
  box-shadow: var(--ucc-shadow-light, 0 8px 20px rgba(30, 45, 65, .06)) !important;
  transform: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"] .user-box__member-list--preview,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"].is-expanded .user-box__member-list--preview,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"].ucc-member-expanded .user-box__member-list--preview,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"][aria-expanded="true"] .user-box__member-list--preview {
  display: block !important;
}

.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"] .user-box__member-list--full,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"].is-expanded .user-box__member-list--full,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"].ucc-member-expanded .user-box__member-list--full,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"][aria-expanded="true"] .user-box__member-list--full,
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"] .user-box__expand-hint {
  display: none !important;
}


/* EITCI v20 final: non-expandable member cards are fully inert. */
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"] {
  cursor: default !important;
}
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"]:hover {
  border-color: var(--ucc-soft-border, #e9edf2) !important;
  box-shadow: var(--ucc-shadow-light, 0 8px 20px rgba(30, 45, 65, .06)) !important;
  transform: none !important;
}
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="0"] .user-box__expand-hint {
  display: none !important;
}


/* --------------------------------------------------------------------------
 * EITCI v22 admin settings link in members catalog title box
 * -------------------------------------------------------------------------- */
.eitci-members-catalog-page .ucc-members-catalog-title-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

.eitci-members-catalog-page .ucc-members-catalog-admin-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 6px 10px !important;
  border: 1px solid var(--ucc-blue, #2a68af) !important;
  background: #fff !important;
  color: var(--ucc-blue, #2a68af) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.eitci-members-catalog-page .ucc-members-catalog-admin-link:hover,
.eitci-members-catalog-page .ucc-members-catalog-admin-link:focus {
  background: var(--ucc-blue, #2a68af) !important;
  color: #fff !important;
  text-decoration: none !important;
}

@media (max-width: 640px) {
  .eitci-members-catalog-page .ucc-members-catalog-title-box {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}


/* --------------------------------------------------------------------------
 * EITCI v24 Members Catalog: reliable expansion, labels and country flags
 * -------------------------------------------------------------------------- */
.eitci-members-catalog-page .user-box--members-catalog[data-expandable="1"] {
  cursor: pointer !important;
}

.eitci-members-catalog-page .user-box--members-catalog .user-box__member-list[hidden],
.eitci-members-catalog-page .user-box--members-catalog .user-box__expand-hint[hidden] {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[aria-expanded="false"] .user-box__member-list--preview,
.eitci-members-catalog-page .user-box--members-catalog:not([aria-expanded="true"]) .user-box__member-list--preview {
  display: block !important;
}

.eitci-members-catalog-page .user-box--members-catalog[aria-expanded="false"] .user-box__member-list--full,
.eitci-members-catalog-page .user-box--members-catalog:not([aria-expanded="true"]) .user-box__member-list--full {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[aria-expanded="true"] .user-box__member-list--preview {
  display: none !important;
}

.eitci-members-catalog-page .user-box--members-catalog[aria-expanded="true"] .user-box__member-list--full {
  display: block !important;
}

.eitci-members-catalog-page .user-box--members-catalog .country {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.eitci-members-catalog-page .user-box__country-flag {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  /*border-radius: 2px !important;*/
  background: transparent !important;
  /*box-shadow: 0 0 0 1px rgba(24, 33, 43, .12) !important;*/
  object-fit: contain !important;
  /*vertical-align: -1px !important;*/
}

.eitci-members-catalog-page .user-box__specialisations-label {
  text-transform: none !important;
}

.eitci-members-catalog-page .user-box__member-list {
  overflow-wrap: anywhere !important;
}

.eitci-members-catalog-page .user-box__member-section--domains + .user-box__member-section--expertise {
  margin-top: 5px !important;
}


/* v25: ensure locally bundled SVG flags are not replaced by theme image rules. */
.eitci-members-catalog-page .country > img.user-box__country-flag {
  width: 18px !important;
  min-width: 18px !important;
  height: auto !important;
  max-height: 15px !important;
}

/* --------------------------------------------------------------------------
 * EITCI v27 Members Directory: clean-path numbered pagination
 * -------------------------------------------------------------------------- */
.ucc-members-pagination--numeric {
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

.ucc-members-pagination--numeric .ucc-members-pagination__pages {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.ucc-members-pagination--numeric .ucc-members-pagination__link--number {
  min-width: 36px !important;
  padding-left: 9px !important;
  padding-right: 9px !important;
}

.ucc-members-pagination--numeric .ucc-members-pagination__link--current {
  border-color: var(--ucc-blue, #2a68af) !important;
  background: var(--ucc-blue, #2a68af) !important;
  color: #fff !important;
  cursor: default !important;
  pointer-events: none !important;
}

.ucc-members-pagination__ellipsis {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 24px !important;
  color: var(--ucc-muted, #68707a) !important;
  font-weight: 700 !important;
}

@media (max-width: 700px) {
  .ucc-members-pagination--numeric {
    align-items: center !important;
    flex-direction: row !important;
  }

  .ucc-members-pagination--numeric .ucc-members-pagination__pages {
    order: 3 !important;
    width: 100% !important;
  }

  .ucc-members-pagination--numeric .ucc-members-pagination__link--prev,
  .ucc-members-pagination--numeric .ucc-members-pagination__link--next {
    flex: 1 1 calc(50% - 7px) !important;
  }
}

/* --------------------------------------------------------------------------
 * EITCI v28 Members Directory: current-page-only pager and terminal loader
 * -------------------------------------------------------------------------- */
.ucc-members-pagination--numeric {
  flex-wrap: nowrap !important;
  gap: 10px !important;
}

.ucc-members-pagination--numeric .ucc-members-pagination__pages {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  order: 0 !important;
}

.ucc-members-pagination--numeric .ucc-members-pagination__link--prev,
.ucc-members-pagination--numeric .ucc-members-pagination__link--next {
  flex: 0 1 auto !important;
}

.ucc-members-pagination__link--terminal-loader,
.ucc-members-pagination__link--terminal-loader:hover,
.ucc-members-pagination__link--terminal-loader:focus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-color: var(--ucc-blue, #2a68af) !important;
  background: #fff !important;
  color: var(--ucc-blue, #2a68af) !important;
  cursor: wait !important;
  opacity: 1 !important;
  pointer-events: none !important;
  text-decoration: none !important;
}

.ucc-members-pagination__spinner {
  display: inline-block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid rgba(42, 104, 175, .22) !important;
  border-top-color: var(--ucc-blue, #2a68af) !important;
  border-radius: 50% !important;
  animation: eitciMembersPaginationSpin .8s linear infinite !important;
}

.ucc-members-pagination__loading-text {
  white-space: nowrap !important;
}

@keyframes eitciMembersPaginationSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 700px) {
  .ucc-members-pagination--numeric {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
  }

  .ucc-members-pagination--numeric .ucc-members-pagination__pages {
    order: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }

  .ucc-members-pagination--numeric .ucc-members-pagination__link--prev,
  .ucc-members-pagination--numeric .ucc-members-pagination__link--next {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .ucc-members-pagination--numeric .ucc-members-pagination__link--current {
    flex: 0 0 36px !important;
  }
}

