.ivx-operator-directory {
  background: #f5f8fc;
  padding: 36px 0 56px;
}

.ivx-operator-directory__container {
  max-width: 1180px;
}

.ivx-operator-directory__header {
  margin-bottom: 24px;
}

.ivx-operator-directory__eyebrow {
  color: #00abc7;
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 5px;
  text-transform: uppercase;
}

.ivx-operator-directory__header h1 {
  color: #073b66;
  font-size: 28px;
  margin: 0 0 6px;
}

.ivx-operator-directory__header > p:last-child {
  color: #687887;
  margin: 0;
}

.ivx-featured-operators {
  margin-bottom: 30px;
}

.ivx-featured-operators__heading {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}

.ivx-featured-operators__heading h2 {
  border-left: 4px solid #0ab6d2;
  color: #073b66;
  font-size: 21px;
  margin: 0;
  padding-left: 10px;
}

.ivx-featured-operators__heading span {
  color: #718091;
  font-size: 13px;
}

.ivx-featured-operators__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ivx-featured-operator-card {
  background: #fff;
  border: 1px solid #e4edf5;
  border-radius: 11px;
  box-shadow: 0 4px 11px rgba(29, 65, 91, 0.09);
  min-width: 0;
  overflow: hidden;
}

.ivx-featured-operator-card__image {
  background: #edf5f8;
  display: block;
  height: 132px;
  overflow: hidden;
}

.ivx-featured-operator-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
  width: 100%;
}

.ivx-featured-operator-card:hover .ivx-featured-operator-card__image img {
  transform: scale(1.04);
}

.ivx-featured-operator-card__image span {
  align-items: center;
  color: #00abc7;
  display: flex;
  font-size: 34px;
  height: 100%;
  justify-content: center;
}

.ivx-featured-operator-card__body {
  padding: 12px;
}

.ivx-featured-operator-card__body h3 {
  font-size: 15px;
  line-height: 1.35;
  margin: 0 0 5px;
}

.ivx-featured-operator-card__body h3 a {
  color: #063966;
}

.ivx-featured-operator-card__body p {
  color: #718091;
  display: -webkit-box;
  font-size: 12px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.45;
  margin: 0 0 10px;
  min-height: 35px;
  overflow: hidden;
}

.ivx-featured-operator-card__link {
  color: #008da7;
  font-size: 13px;
  font-weight: 700;
}

.ivx-featured-operator-card__link i {
  font-size: 11px;
  margin-left: 4px;
}

.ivx-operator-directory__layout {
  align-items: flex-start;
  display: grid;
  gap: 22px;
  grid-template-columns: 250px minmax(0, 1fr);
}

.ivx-operator-filter,
.ivx-operator-results {
  background: #fff;
  border: 1px solid #e4edf5;
  border-radius: 12px;
}

.ivx-operator-filter {
  padding: 20px;
}

.ivx-operator-filter h2,
.ivx-operator-results__heading h2 {
  color: #0c416b;
  font-size: 17px;
  margin: 0;
}

.ivx-operator-filter p {
  color: #718091;
  font-size: 13px;
  line-height: 1.5;
  margin: 8px 0 18px;
}

.ivx-operator-filter label {
  color: #355068;
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 7px;
}

.ivx-operator-filter__input {
  border: 1px solid #cddce8;
  border-radius: 7px;
  display: flex;
  overflow: hidden;
}

.ivx-operator-filter__input input {
  background: transparent;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 13px;
  height: 38px;
  margin: 0;
  outline: 0;
  padding: 0 10px;
}

.ivx-operator-filter__input button {
  background: #00b4d0;
  border: 0;
  color: #fff;
  box-shadow: none !important;
  margin: 0;
  min-height: 38px;
  padding: 0 13px;
}

.ivx-operator-filter__reset {
  color: #008ba6;
  display: inline-block;
  font-size: 13px;
  margin-top: 14px;
}

.ivx-operator-filter__group {
  border: 0;
  border-top: 1px solid #e7eef4;
  margin: 12px 0 0;
  padding: 5px 0 0;
}

.ivx-operator-filter__group legend {
  color: #355068;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 0 !important;
  padding: 0;
}

.ivx-operator-filter__group legend i {
  color: #00abc7;
  margin-right: 6px;
  width: 13px;
}

.ivx-operator-filter__option {
  align-items: center;
  color: #65798d !important;
  cursor: pointer;
  display: flex !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  gap: 8px;
  margin: 5px 0 0 !important;
}

.ivx-operator-filter__option input {
  accent-color: #00abc7;
  height: 14px;
  margin: 0;
  width: 14px;
}

.ivx-operator-filter__apply {
  background: #fff;
  border: 1px solid #00abc7;
  border-radius: 6px;
  color: #008da7;
  font-size: 13px;
  font-weight: 700;
  margin: 19px 0 0;
  min-height: 37px;
  padding: 0 12px;
  width: 100%;
}

.ivx-operator-filter__apply:hover {
  background: #00abc7;
  color: #fff;
}

.ivx-operator-results {
  overflow: hidden;
}

.ivx-operator-results__heading {
  align-items: center;
  border-bottom: 1px solid #eaf0f5;
  display: flex;
  justify-content: space-between;
  padding: 17px 20px;
}

.ivx-operator-results__heading span {
  color: #8190a0;
  flex-shrink: 0;
  font-size: 13px;
  white-space: nowrap;
}

.ivx-operator-list {
  padding: 0 20px;
}

.ivx-operator-card {
  align-items: center;
  border-bottom: 1px solid #eaf0f5;
  display: grid;
  gap: 16px;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  min-height: 112px;
  padding: 14px 0;
}

.ivx-operator-card:last-child {
  border-bottom: 0;
}

.ivx-operator-card__image {
  align-items: center;
  background: #f2f8fb;
  border: 1px solid #e1edf3;
  border-radius: 8px;
  display: flex;
  height: 76px;
  justify-content: center;
  overflow: hidden;
}

.ivx-operator-card__image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.ivx-operator-card__image span {
  color: #00abc7;
  font-size: 27px;
}

.ivx-operator-card__body h3 {
  font-size: 16px;
  line-height: 1.3;
  margin: 0 0 4px;
}

.ivx-operator-card__body h3 a {
  color: #123e64;
}

.ivx-operator-card__tag,
.ivx-operator-card__address {
  color: #6f7f8d;
  font-size: 13px;
  line-height: 1.4;
  margin: 3px 0;
}

.ivx-operator-card__tag {
  color: #00a6bf;
}

.ivx-operator-card__tag i,
.ivx-operator-card__address i {
  margin-right: 6px;
  width: 12px;
}

.ivx-operator-card__address--empty {
  font-style: italic;
}

.ivx-operator-card__link {
  color: #078fa7;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.ivx-operator-card__link i {
  font-size: 10px;
  margin-left: 4px;
}

.ivx-operator-pagination {
  padding: 20px;
}

.ivx-operator-pagination .page-numbers {
  align-items: center;
  display: flex;
  gap: 7px;
  justify-content: center;
  list-style: none;
  margin: 0;
}

.ivx-operator-pagination .page-numbers a,
.ivx-operator-pagination .page-numbers span {
  align-items: center;
  border: 1px solid #d7e3eb;
  border-radius: 5px;
  color: #567087;
  display: inline-flex;
  font-size: 13px;
  height: 30px;
  justify-content: center;
  min-width: 30px;
}

.ivx-operator-pagination .page-numbers .current {
  background: #00abc7;
  border-color: #00abc7;
  color: #fff;
}

.ivx-operator-empty {
  color: #718091;
  padding: 54px 20px;
  text-align: center;
}

.ivx-operator-empty i {
  color: #00abc7;
  font-size: 25px;
}

.ivx-operator-help {
  background: #edf9fc;
  border: 1px solid #d4edf3;
  border-radius: 12px;
  margin-top: 34px;
  padding: 20px;
}

.ivx-operator-help__intro h2,
.ivx-operator-faq h2,
.ivx-operator-support h2 {
  color: #073b66;
  font-size: 18px;
  margin: 0 0 4px;
}

.ivx-operator-help__intro p {
  color: #687f91;
  font-size: 13px;
  margin: 0;
}

.ivx-operator-help__benefits {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 17px;
}

.ivx-operator-benefit {
  align-items: flex-start;
  display: flex;
  gap: 9px;
}

.ivx-operator-benefit > i {
  align-items: center;
  background: #d8f2f7;
  border-radius: 50%;
  color: #009fba;
  display: inline-flex;
  flex: 0 0 31px;
  height: 31px;
  justify-content: center;
  margin-top: 1px;
}

.ivx-operator-benefit strong,
.ivx-operator-benefit span {
  display: block;
}

.ivx-operator-benefit strong {
  color: #164665;
  font-size: 13px;
  line-height: 1.35;
}

.ivx-operator-benefit span {
  color: #718394;
  font-size: 12px;
  line-height: 1.4;
  margin-top: 2px;
}

.ivx-operator-bottom-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 22px;
}

.ivx-operator-faq {
  background: #fff;
  border: 1px solid #e0eaf2;
  border-radius: 12px;
  padding: 20px;
}

.ivx-operator-faq details {
  border-bottom: 1px solid #e7eef4;
}

.ivx-operator-faq details:last-child {
  border-bottom: 0;
}

.ivx-operator-faq summary {
  color: #164665;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  list-style: none;
  padding: 12px 22px 12px 0;
  position: relative;
}

.ivx-operator-faq summary::-webkit-details-marker {
  display: none;
}

.ivx-operator-faq summary::after {
  color: #00a6c2;
  content: "+";
  font-size: 18px;
  font-weight: 500;
  position: absolute;
  right: 2px;
  top: 8px;
}

.ivx-operator-faq details[open] summary::after {
  content: "−";
}

.ivx-operator-faq details p {
  color: #718394;
  font-size: 13px;
  line-height: 1.55;
  margin: -2px 0 12px;
}

@media (max-width: 849px) {
  .ivx-featured-operators__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ivx-operator-directory__layout {
    grid-template-columns: 1fr;
  }

  .ivx-operator-filter {
    padding: 16px;
  }

  .ivx-operator-help__benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ivx-operator-bottom-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 549px) {
  .ivx-operator-directory {
    padding-top: 24px;
  }

  .ivx-operator-directory__header h1 {
    font-size: 23px;
  }

  .ivx-featured-operators__heading span {
    display: none;
  }

  .ivx-featured-operators__grid {
    display: flex;
    margin-right: -15px;
    overflow-x: auto;
    padding: 0 15px 8px 0;
    scroll-snap-type: x mandatory;
  }

  .ivx-featured-operator-card {
    flex: 0 0 72vw;
    scroll-snap-align: start;
  }

  .ivx-operator-help {
    padding: 16px;
  }

  .ivx-operator-help__benefits {
    gap: 15px 10px;
  }

  .ivx-operator-bottom-grid {
    gap: 14px;
  }

  .ivx-operator-faq {
    padding: 16px;
  }

  .ivx-operator-list {
    padding: 0 14px;
  }

  .ivx-operator-card {
    align-items: start;
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .ivx-operator-card__image {
    height: 58px;
  }

  .ivx-operator-card__link {
    grid-column: 2;
  }
}
