.gem-exdir {
  --gem-blue: #0787c5;
  --gem-blue-dark: #056fa4;
  --gem-red: #ff1717;
  --gem-text: #111827;
  --gem-muted: #64748b;
  --gem-border: #e2e8f0;
  --gem-soft: #f5f7f9;
  --gem-soft-2: #eef3f6;
  --gem-card: #ffffff;
  --gem-shadow: 0 12px 32px rgba(15, 23, 42, .08);
  --gem-radius: 14px;
  color: var(--gem-text);
  font-family: inherit;
  width: 100%;
  box-sizing: border-box;
}
.gem-exdir *, .gem-exdir *::before, .gem-exdir *::after { box-sizing: border-box; }
.gem-exdir button, .gem-exdir input, .gem-exdir select { font: inherit; }
.gem-exdir button { cursor: pointer; }
.gem-exdir a { color: inherit; }
.gem-exdir__header { display:flex; gap:18px; align-items:flex-end; justify-content:space-between; margin-bottom:22px; }
.gem-exdir__eyebrow { color:var(--gem-muted); font-size:12px; letter-spacing:.14em; font-weight:700; }
.gem-exdir__title { margin:5px 0 0; font-size:clamp(22px,3vw,34px); line-height:1.15; font-weight:700; }
.gem-exdir__subcopy { margin:7px 0 0; color:var(--gem-muted); font-size:14px; }
.gem-exdir__view-toggle { display:flex; gap:8px; flex-wrap:wrap; }
.gem-exdir__button { border:1px solid var(--gem-border); background:#fff; color:var(--gem-text); border-radius:10px; min-height:42px; padding:9px 14px; transition:.18s ease; }
.gem-exdir__button:hover { border-color:var(--gem-blue); color:var(--gem-blue); }
.gem-exdir__button.is-active { background:#eaf6fc; border-color:var(--gem-blue); color:var(--gem-blue); }
.gem-exdir__button--primary { border-color:var(--gem-blue); background:var(--gem-blue); color:#fff; font-weight:700; }
.gem-exdir__button--primary:hover { background:var(--gem-blue-dark); color:#fff; transform:translateY(-1px); }
.gem-exdir__button--danger { border-color:var(--gem-red); background:var(--gem-red); color:#fff; font-weight:700; }
.gem-exdir__button--danger:hover { filter:brightness(.94); color:#fff; transform:translateY(-1px); }
.gem-exdir__filters { background:var(--gem-soft); border:1px solid var(--gem-border); border-radius:var(--gem-radius); padding:18px; margin-bottom:18px; }
.gem-exdir__search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; }
.gem-exdir__field label { display:block; font-size:12px; font-weight:700; margin-bottom:6px; color:#334155; }
.gem-exdir__input, .gem-exdir__select { width:100%; min-height:44px; padding:9px 12px; border:1px solid #cbd5e1; background:#fff; color:var(--gem-text); border-radius:9px; outline:none; }
.gem-exdir__input:focus, .gem-exdir__select:focus { border-color:var(--gem-blue); box-shadow:0 0 0 3px rgba(7,135,197,.12); }
.gem-exdir__filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.gem-exdir__quick { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:14px; }
.gem-exdir__quick-label { color:var(--gem-muted); font-size:12px; }
.gem-exdir__pill { border:1px solid var(--gem-border); background:#fff; border-radius:999px; padding:6px 11px; font-size:12px; transition:.18s ease; }
.gem-exdir__pill:hover, .gem-exdir__pill.is-active { border-color:var(--gem-blue); color:var(--gem-blue); background:#edf8fd; }
.gem-exdir__reset { margin-left:auto; }
.gem-exdir__az { display:flex; gap:4px; flex-wrap:wrap; align-items:center; padding:6px 0 0; margin-top:12px; border-top:1px solid var(--gem-border); }
.gem-exdir__az button { border:0; background:transparent; color:#475569; border-radius:6px; padding:4px 6px; font-size:12px; }
.gem-exdir__az button:hover, .gem-exdir__az button.is-active { background:var(--gem-blue); color:#fff; }
.gem-exdir__summary { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:16px 0; }
.gem-exdir__count { font-size:13px; font-weight:700; }
.gem-exdir__hint { font-size:12px; color:var(--gem-muted); }
.gem-exdir__active-filters { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.gem-exdir__tag { display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border-radius:999px; background:#edf7fc; color:#075f8b; font-size:11px; font-weight:700; }
.gem-exdir__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.gem-exdir__grid.is-list { grid-template-columns:1fr; gap:12px; }
.gem-exdir__card { min-width:0; display:flex; flex-direction:column; background:var(--gem-card); border:1px solid var(--gem-border); border-radius:var(--gem-radius); overflow:hidden; transition:.2s ease; position:relative; }
.gem-exdir__card:hover { border-color:#a8d9ef; box-shadow:var(--gem-shadow); transform:translateY(-2px); }
.gem-exdir__major { position:absolute; z-index:2; top:10px; left:10px; background:var(--gem-red); color:#fff; border-radius:999px; padding:5px 8px; font-size:9px; font-weight:800; letter-spacing:.08em; }
.gem-exdir__logo-button { border:0; width:100%; min-height:145px; background:var(--gem-soft-2); padding:14px; display:flex; align-items:center; justify-content:center; }
.gem-exdir__logo-wrap { width:100%; height:115px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #edf0f2; border-radius:10px; overflow:hidden; padding:12px; }
.gem-exdir__logo { max-width:100%; max-height:88px; object-fit:contain; }
.gem-exdir__logo-fallback { color:var(--gem-blue); font-weight:800; font-size:20px; letter-spacing:.02em; text-align:center; }
.gem-exdir__body { padding:15px; display:flex; flex-direction:column; flex:1; }
.gem-exdir__topline { display:flex; gap:6px; flex-wrap:wrap; min-height:24px; align-items:center; }
.gem-exdir__country { color:var(--gem-muted); font-size:11px; }
.gem-exdir__company { margin:9px 0 13px; border:0; padding:0; background:transparent; text-align:left; color:var(--gem-text); font-size:13px; line-height:1.35; font-weight:800; text-transform:uppercase; }
.gem-exdir__company:hover { color:var(--gem-blue); }
.gem-exdir__meta { border-top:1px solid var(--gem-border); margin-top:auto; }
.gem-exdir__meta-row { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid var(--gem-border); font-size:11px; }
.gem-exdir__meta-row span:first-child { color:var(--gem-muted); white-space:nowrap; }
.gem-exdir__meta-row strong, .gem-exdir__meta-row span:last-child { text-align:right; }
.gem-exdir__actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding-top:13px; }
.gem-exdir__actions .gem-exdir__button { min-height:38px; font-size:10px; padding:7px; letter-spacing:.05em; }
.gem-exdir__grid.is-list .gem-exdir__card { display:grid; grid-template-columns:180px minmax(0,1fr) 220px; align-items:stretch; }
.gem-exdir__grid.is-list .gem-exdir__logo-button { min-height:100%; }
.gem-exdir__grid.is-list .gem-exdir__body { padding:16px; }
.gem-exdir__grid.is-list .gem-exdir__actions { align-self:center; display:flex; flex-direction:column; padding:16px; border-left:1px solid var(--gem-border); }
.gem-exdir__loading, .gem-exdir__empty, .gem-exdir__error { padding:44px 20px; text-align:center; border:1px dashed var(--gem-border); border-radius:var(--gem-radius); color:var(--gem-muted); background:#fff; }
.gem-exdir__error { color:#9f1239; background:#fff1f2; border-color:#fecdd3; }
.gem-exdir__pagination { display:flex; gap:6px; flex-wrap:wrap; justify-content:center; margin-top:28px; }
.gem-exdir__pagination button { min-width:38px; min-height:38px; border:1px solid var(--gem-border); background:#fff; border-radius:8px; }
.gem-exdir__pagination button:hover, .gem-exdir__pagination button.is-active { border-color:var(--gem-blue); background:var(--gem-blue); color:#fff; }
.gem-exdir__pagination button:disabled { opacity:.4; cursor:not-allowed; }
.gem-exdir__back { margin-bottom:14px; }
.gem-exdir__detail-hero { border:1px solid var(--gem-border); border-radius:var(--gem-radius); background:linear-gradient(135deg,#f5fbfe,#fff); padding:20px; display:grid; grid-template-columns:180px minmax(0,1fr) auto; gap:20px; align-items:center; }
.gem-exdir__detail-logo { min-height:130px; background:#fff; border:1px solid var(--gem-border); border-radius:12px; display:flex; align-items:center; justify-content:center; padding:16px; }
.gem-exdir__detail-logo img { max-width:100%; max-height:100px; object-fit:contain; }
.gem-exdir__detail-name { font-size:clamp(20px,3vw,32px); margin:8px 0 5px; line-height:1.15; }
.gem-exdir__detail-sub { color:var(--gem-muted); font-size:13px; }
.gem-exdir__detail-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); gap:24px; margin-top:22px; }
.gem-exdir__section-title { margin:0 0 12px; font-size:18px; }
.gem-exdir__content { font-size:14px; line-height:1.75; }
.gem-exdir__content img { max-width:100%; height:auto; }
.gem-exdir__panel { border:1px solid var(--gem-border); border-radius:var(--gem-radius); padding:16px; background:#fff; }
.gem-exdir__panel + .gem-exdir__panel { margin-top:14px; }
.gem-exdir__info-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--gem-border); font-size:12px; }
.gem-exdir__info-row:last-child { border-bottom:0; }
.gem-exdir__info-row span:first-child { color:var(--gem-muted); }
.gem-exdir__info-row a { color:var(--gem-blue); word-break:break-word; }
.gem-exdir__social { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.gem-exdir__social a { border:1px solid var(--gem-border); border-radius:999px; padding:6px 9px; font-size:11px; text-decoration:none; }
.gem-exdir__products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:12px; }
.gem-exdir__product { border:1px solid var(--gem-border); border-radius:12px; overflow:hidden; background:#fff; transition:.18s ease; }
.gem-exdir__product:hover { border-color:var(--gem-blue); box-shadow:0 8px 20px rgba(15,23,42,.06); }
.gem-exdir__product-image { height:450px; background:var(--gem-soft); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.gem-exdir__product-image img { width:100%; height:100%; object-fit:contain; }
.gem-exdir__product-info { padding:12px; }
.gem-exdir__product-title { font-size:12px; font-weight:800; text-transform:uppercase; min-height:34px; }
.gem-exdir__product-info .gem-exdir__button { width:100%; margin-top:9px; font-size:10px; min-height:36px; }
.gem-exdir__product-preview { margin-top:14px; border:1px solid #b8def0; background:#f2fbff; border-radius:12px; padding:14px; }
.gem-exdir__notice { padding:14px; border:1px solid var(--gem-border); border-radius:10px; }
.gem-exdir__sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:1100px) {
  .gem-exdir__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:850px) {
  .gem-exdir__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gem-exdir__filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gem-exdir__detail-layout { grid-template-columns:1fr; }
  .gem-exdir__detail-hero { grid-template-columns:140px minmax(0,1fr); }
  .gem-exdir__detail-hero > :last-child { grid-column:1/-1; }
  .gem-exdir__grid.is-list .gem-exdir__card { grid-template-columns:150px minmax(0,1fr); }
  .gem-exdir__grid.is-list .gem-exdir__actions { grid-column:1/-1; flex-direction:row; border-left:0; border-top:1px solid var(--gem-border); }
}
@media (max-width:580px) {
  .gem-exdir__header, .gem-exdir__summary { align-items:flex-start; flex-direction:column; }
  .gem-exdir__search { grid-template-columns:1fr; }
  .gem-exdir__search .gem-exdir__button { width:100%; }
  .gem-exdir__filter-grid { grid-template-columns:1fr; }
  .gem-exdir__grid { grid-template-columns:1fr; }
  .gem-exdir__grid.is-list .gem-exdir__card { display:flex; }
  .gem-exdir__grid.is-list .gem-exdir__actions { flex-direction:row; }
  .gem-exdir__reset { margin-left:0; }
  .gem-exdir__detail-hero { grid-template-columns:1fr; }
  .gem-exdir__products { grid-template-columns:1fr; }
}

/* v2.3 boot/fallback state: remains visible if JS or REST loading fails. */
.gem-exdir__boot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border:1px solid #dbe7ef;
  border-radius:14px;
  background:#f7fbfd;
  color:#111827;
}
.gem-exdir__boot strong { font-size:16px; }
.gem-exdir__boot span { color:#64748b; font-size:13px; }


/* v2.3.2: theme-proof text colors requested for quick filters and pagination. */
.gem-exdir .gem-exdir__quick .gem-exdir__pill,
.gem-exdir .gem-exdir__quick .gem-exdir__pill:hover,
.gem-exdir .gem-exdir__quick .gem-exdir__pill.is-active {
  color:#111111 !important;
}
.gem-exdir .gem-exdir__pagination button,
.gem-exdir .gem-exdir__pagination button:hover,
.gem-exdir .gem-exdir__pagination button:focus {
  color:#111111 !important;
}
.gem-exdir .gem-exdir__pagination button.is-active {
  color:#111111 !important;
  background:#e8f6fd;
  border-color:var(--gem-blue);
}
.gem-exdir .gem-exdir__pagination button:disabled {
  color:#111111 !important;
}

/* v2.3.4: improved List View layout.
   Logo stays on the left; company information uses the full remaining width;
   Bookmark and Detail are equal-width side-by-side actions below the metadata. */
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__card {
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: stretch;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__logo-button {
  grid-column: 1;
  grid-row: 1;
  min-height: 100%;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__body {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__topline,
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__company,
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__meta,
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__actions {
  width: 100%;
  max-width: none;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__company {
  display: block;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__meta {
  margin-top: 0;
  flex: 1 1 auto;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__meta-row {
  width: 100%;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  padding: 14px 0 0;
  margin-top: auto;
  border-left: 0;
  border-top: 0;
  align-self: stretch;
}
.gem-exdir .gem-exdir__grid.is-list .gem-exdir__actions .gem-exdir__button {
  width: 100%;
  min-height: 40px;
  margin: 0;
}

@media (max-width:850px) {
  .gem-exdir .gem-exdir__grid.is-list .gem-exdir__card {
    grid-template-columns: 150px minmax(0, 1fr);
  }
  .gem-exdir .gem-exdir__grid.is-list .gem-exdir__actions {
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    border-top: 0;
  }
}
@media (max-width:580px) {
  .gem-exdir .gem-exdir__grid.is-list .gem-exdir__card {
    display: flex;
    flex-direction: column;
  }
  .gem-exdir .gem-exdir__grid.is-list .gem-exdir__logo-button,
  .gem-exdir .gem-exdir__grid.is-list .gem-exdir__body {
    width: 100%;
  }
  .gem-exdir .gem-exdir__grid.is-list .gem-exdir__logo-button {
    min-height: 135px;
  }
  .gem-exdir .gem-exdir__grid.is-list .gem-exdir__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
  }
}


/* v2.3.6: Country select uses the same typography as the other filter selects.
   The old .gem-exdir__country class remains reserved for country text on cards. */
.gem-exdir .gem-exdir__country-select,
.gem-exdir .gem-exdir__country-select option {
  color: var(--gem-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: normal;
}


/* v2.3.7: force identical typography for all filter selects, including Country. */
.gem-exdir .gem-exdir__select,
.gem-exdir .gem-exdir__select option {
  color: var(--gem-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: normal !important;
}

/* v2.3.10: streamlined quick filters and summary. */
.gem-exdir .gem-exdir__summary--hint-only { justify-content:flex-end; }
.gem-exdir .gem-exdir__quick { justify-content:flex-start; }
@media (max-width:580px) {
  .gem-exdir .gem-exdir__summary--hint-only { align-items:flex-end; }
}


/* v2.3.13: compact top controls after removing the directory heading copy. */
.gem-exdir .gem-exdir__header--controls-only {
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 12px;
}
.gem-exdir .gem-exdir__header--controls-only .gem-exdir__view-toggle {
  margin-left: auto;
}

/* v2.3.15: keep the theme/company-name highlight box while retaining bold text.
   Reset cleanup is handled in JavaScript, so we intentionally do not override
   the company button background/focus/active styles here. */
.gem-exdir .gem-exdir__company {
  font-weight: 800 !important;
}

/* Keep Reset itself neutral after it is pressed. */
.gem-exdir .gem-exdir__reset,
.gem-exdir .gem-exdir__reset:hover,
.gem-exdir .gem-exdir__reset:focus,
.gem-exdir .gem-exdir__reset:active {
  background: #ffffff !important;
  color: #111111 !important;
  box-shadow: none !important;
}
.gem-exdir .gem-exdir__reset:hover,
.gem-exdir .gem-exdir__reset:focus-visible {
  border-color: var(--gem-blue) !important;
}


/* v2.3.16: keep the blue exhibitor-name highlight box, but make the
   company text white while the button is focused/active for readability. */
.gem-exdir .gem-exdir__company:focus,
.gem-exdir .gem-exdir__company:focus-visible,
.gem-exdir .gem-exdir__company:active {
  color: #ffffff !important;
}

/* Also keep selected text readable if the browser/theme exposes the
   highlight as a text-selection state. */
.gem-exdir .gem-exdir__company::selection {
  color: #ffffff !important;
}
.gem-exdir .gem-exdir__company::-moz-selection {
  color: #ffffff !important;
}


/* v2.3.17: robust white text while the exhibitor-name blue highlight is active.
   Some themes apply their own text color / -webkit-text-fill-color to buttons,
   so both properties are overridden with higher specificity. */
html body .gem-exdir button.gem-exdir__company:focus,
html body .gem-exdir button.gem-exdir__company:focus-visible,
html body .gem-exdir button.gem-exdir__company:active,
html body .gem-exdir button.gem-exdir__company.is-highlighted,
html body .gem-exdir button.gem-exdir__company.is-text-selected {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body .gem-exdir button.gem-exdir__company::selection {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body .gem-exdir button.gem-exdir__company::-moz-selection {
  color: #ffffff !important;
}

/* v2.3.18: exhibitor name contrast inside the theme-provided blue highlight.
   The label is targeted separately so theme button typography cannot override it. */
html body .gem-exdir .gem-exdir__company .gem-exdir__company-label {
  font-weight: 800 !important;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}
html body .gem-exdir .gem-exdir__company:focus .gem-exdir__company-label,
html body .gem-exdir .gem-exdir__company:focus-visible .gem-exdir__company-label,
html body .gem-exdir .gem-exdir__company:active .gem-exdir__company-label,
html body .gem-exdir .gem-exdir__company.is-highlighted .gem-exdir__company-label,
html body .gem-exdir .gem-exdir__company.is-text-selected .gem-exdir__company-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* v2.3.19: The active theme paints the exhibitor-name button blue on hover.
   Keep that box exactly as provided by the theme, but force the label to white
   whenever the blue hover/focus/active highlight is visible. */
html body .gem-exdir button.gem-exdir__company:hover,
html body .gem-exdir button.gem-exdir__company:focus,
html body .gem-exdir button.gem-exdir__company:focus-visible,
html body .gem-exdir button.gem-exdir__company:active,
html body .gem-exdir button.gem-exdir__company.is-highlighted,
html body .gem-exdir button.gem-exdir__company.is-text-selected {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body .gem-exdir button.gem-exdir__company:hover .gem-exdir__company-label,
html body .gem-exdir button.gem-exdir__company:focus .gem-exdir__company-label,
html body .gem-exdir button.gem-exdir__company:focus-visible .gem-exdir__company-label,
html body .gem-exdir button.gem-exdir__company:active .gem-exdir__company-label,
html body .gem-exdir button.gem-exdir__company.is-highlighted .gem-exdir__company-label,
html body .gem-exdir button.gem-exdir__company.is-text-selected .gem-exdir__company-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body .gem-exdir button.gem-exdir__company .gem-exdir__company-label::selection,
html body .gem-exdir button.gem-exdir__company::selection {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body .gem-exdir button.gem-exdir__company .gem-exdir__company-label::-moz-selection,
html body .gem-exdir button.gem-exdir__company::-moz-selection {
  color: #ffffff !important;
}


/* v2.4.1: three-column filter row after removing Sub Category from frontend. */
@media (max-width:850px) {
  .gem-exdir__filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:580px) {
  .gem-exdir__filter-grid { grid-template-columns:1fr; }
}


/* v2.4.2: Product Index groups on exhibitor detail. */
.gem-exdir__product-index-group {
  margin-top: 12px;
}
.gem-exdir__product-index-group--sub {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #dce5ee;
}
.gem-exdir__product-index-label {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #4b6075;
}
.gem-exdir__product-index-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.gem-exdir__product-index-tags .gem-exdir__tag {
  margin: 0 !important;
}
.gem-exdir__product-index-empty {
  color: #66788a;
}

/* v2.4.7: hierarchical Product Index. */
.gem-exdir__product-index-list {
  margin: 12px 0 0 22px;
  padding: 0;
  list-style: decimal;
}
.gem-exdir__product-index-item {
  margin: 0 0 16px;
  padding-left: 4px;
}
.gem-exdir__product-index-item::marker {
  font-weight: 800;
  color: #111;
}
.gem-exdir__product-index-category {
  font-weight: 800;
  color: #111;
  line-height: 1.45;
}
.gem-exdir__subproduct-list {
  margin: 7px 0 0 18px;
  padding: 0;
  list-style: disc;
}
.gem-exdir__subproduct-list li {
  margin: 4px 0;
  color: #111;
  line-height: 1.4;
}
.gem-exdir__subproduct-list li::marker {
  color: #111;
}

/* v2.4.16 - Major exhibitor website link on detail logo */
.gem-exdir__major-logo-link{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  cursor:pointer;
}
.gem-exdir__major-logo-link img{
  transition:opacity .18s ease, transform .18s ease;
}
.gem-exdir__major-logo-link:hover img,
.gem-exdir__major-logo-link:focus img{
  opacity:.88;
  transform:scale(1.02);
}
