/**

 * @file

 * Result Cards List & Card Items (ecl-result-card)

 * SMIP EC Knowledge Hub module.

 */


/* Result Cards List */
.ecl-results-items-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
}

.ecl-result-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 190px !important;
  max-height: none !important;
  padding: 24px 32px 24px 32px;
  border-bottom: 1px solid var(--ec-color-divider, #D1D9F1);
  border-top: none !important;
  /* Left accent uses each card's own dot_color via --ecl-card-dot-color (same 2px pattern as AI Overview) */
  border-left: 2px solid var(--ecl-card-dot-color, var(--Border-border, #FF8A20)) !important;
  border-right: none !important;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden !important;
  transition: background-color 0.15s ease;
  cursor: pointer;
  outline: none !important;
  background: var(--Surface-surface-white, #FFFFFF);
}

.ecl-result-card,
.ecl-result-card:focus,
.ecl-result-card:focus-visible,
.ecl-result-card:focus-within,
.ecl-result-card:active,
.ecl-result-card.is-active,
.ecl-result-card *:focus,
.ecl-result-card *:focus-visible,
.ecl-result-card *:focus-within,
.ecl-result-card *:active {
  outline: none !important;
  outline-color: transparent !important;
  outline-style: none !important;
  box-shadow: none !important;
}

.ecl-result-card:focus,
.ecl-result-card:focus-visible,
.ecl-result-card:focus-within,
.ecl-result-card:active,
.ecl-result-card.is-active {
  border-top: none !important;
  border-right: none !important;
  border-bottom: 1px solid var(--ec-color-divider, #D1D9F1) !important;
}

.ecl-result-card:last-child {
  border-bottom: none;
}

.ecl-result-card:hover {
  background-color: #fafbfd;
}

.ecl-result-card__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-bottom: 8px !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

/* Type | year | language | license — wraps on narrow / map-open cards */
.ecl-result-card__facts {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  max-width: 100% !important;
}

.ecl-result-card__title-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

/* Resource type badge (e.g. Journal article) */
.ecl-result-card__type-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 23px !important;
  height: auto !important;
  box-sizing: border-box !important;
  padding: 1px 8px !important;
  border-radius: var(--Radius-s, 4px) !important;
  background: var(--ec-color-neutral-dark, #424242) !important;
  color: var(--On-surface-on-surface-inverted, #FFFFFF) !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin-top: 0 !important;
}

.ecl-result-card__meta-pipe {
  color: var(--ec-color-disable-text, #696984) !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 21px !important;
  flex-shrink: 0 !important;
  user-select: none !important;
}

.ecl-result-card__fact {
  color: var(--On-surface-on-surface-brand, #00002E) !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* License chip — light filter-header pill (same family as keywords) */
.ecl-result-card__license-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  min-height: 23px !important;
  box-sizing: border-box !important;
  padding: 1px 8px !important;
  border-radius: var(--Radius-s, 4px) !important;
  background: var(--Surface-surface-filter-header, var(--ec-color-filter-header-bg, #EDEDF0)) !important;
  color: var(--On-surface-on-surface-brand, #00002E) !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

/* Legacy colored dot hidden — left border replaces it */
.ecl-result-card__dot {
  display: none !important;
}

/* Match criteria badge (Top Match / Relevant / Broad Match) */
.ecl-result-card__match-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: fit-content !important;
  min-width: 100px !important;
  height: 28px !important;
  box-sizing: border-box !important;
  padding: 4px 8px !important;
  border-radius: var(--Radius-s, 4px) !important;
  border: 1px solid transparent !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  position: relative !important;
  cursor: default !important;
}

.ecl-result-card__match-badge-text {
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
}

.ecl-result-card__match-badge-info {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  stroke: currentColor !important;
}

.ecl-result-card__match-badge--top {
  background: var(--ec-color-match-top-bg, #F1FFEB) !important;
  border-color: var(--ec-color-match-top-border, #9FDB86) !important;
  color: var(--ec-color-match-top-text, #153309) !important;
}

.ecl-result-card__match-badge--relevant {
  background: var(--ec-color-match-relevant-bg, #FFFCEB) !important;
  border-color: var(--ec-color-match-relevant-border, #DBCD86) !important;
  color: var(--ec-color-match-relevant-text, #3D3510) !important;
}

.ecl-result-card__match-badge--broad {
  background: var(--ec-color-match-broad-bg, #FFFFFF) !important;
  border-color: var(--ec-color-match-broad-border, #DBDBDB) !important;
  color: var(--ec-color-match-broad-text, #424242) !important;
}

/* Shared adaptive mini tooltip (match % + "+N more" extras) */
.ecl-mini-tooltip {
  position: fixed !important;
  z-index: 10050 !important;
  box-sizing: border-box !important;
  max-width: min(320px, calc(100vw - 24px)) !important;
  padding: 10px 14px !important;
  background: var(--Surface-surface-white, #FFFFFF) !important;
  border: 1px solid var(--ec-color-filter-border, #EDEDF0) !important;
  border-radius: var(--Radius-s, 4px) !important;
  box-shadow:
    0 6px 12px 0 var(--ECEffectElevation01, rgba(0, 0, 46, 0.12)),
    0 0 0.5px 0.5px var(--ECEffectElevation05, rgba(0, 0, 46, 0.18)) !important;
  color: var(--On-surface-on-surface-brand, #00002E) !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  pointer-events: none !important;
  overflow: visible !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.12s ease, visibility 0.12s ease !important;
}

.ecl-mini-tooltip.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

.ecl-mini-tooltip--match {
  padding: 8px 12px !important;
  text-align: center !important;
  white-space: nowrap !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

.ecl-mini-tooltip--list {
  pointer-events: auto !important;
  overflow: visible !important;
  padding: 12px 14px 14px 14px !important;
  min-width: min(220px, calc(100vw - 24px)) !important;
  max-width: min(360px, calc(100vw - 24px)) !important;
  width: max-content !important;
}

.ecl-mini-tooltip--list .ecl-mini-tooltip__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  max-height: min(280px, calc(100vh - 96px)) !important;
  padding-bottom: 4px !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  /* Keep scroll, hide the scrollbar so its width stays with the content. */
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.ecl-mini-tooltip--list .ecl-mini-tooltip__body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
  background: transparent !important;
}

.ecl-mini-tooltip__row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: baseline !important;
  flex-shrink: 0 !important;
}

.ecl-mini-tooltip__label {
  color: var(--ec-color-disable-text, #696984) !important;
  font-weight: 400 !important;
}

.ecl-mini-tooltip__value {
  color: var(--On-surface-on-surface-brand, #00002E) !important;
  font-weight: 400 !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.ecl-mini-tooltip__value .ecl-filter-path__seg,
.ecl-mini-tooltip__value .ecl-filter-path__comma,
.ecl-mini-tooltip__value .ecl-filter-path__sep {
  white-space: normal !important;
}

/* Path "+N more" tooltip — parent heading + leaf list (readable, not a comma wall). */
.ecl-mini-tooltip__path-groups {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 180px !important;
}

.ecl-mini-tooltip__path-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.ecl-mini-tooltip__path-parent {
  color: var(--ec-color-disable-text, #696984) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 16px !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

.ecl-mini-tooltip__path-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 0 10px !important;
  border-left: 2px solid var(--ec-color-filter-border, #EDEDF0) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.ecl-mini-tooltip__path-nested {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 4px !important;
  padding-left: 10px !important;
  border-left: 2px solid var(--ec-color-filter-border, #EDEDF0) !important;
}

.ecl-mini-tooltip__path-nested .ecl-mini-tooltip__path-group {
  gap: 2px !important;
}

.ecl-mini-tooltip__path-nested .ecl-mini-tooltip__path-list {
  border-left-color: transparent !important;
  padding-left: 8px !important;
}

.ecl-mini-tooltip__path-leaf,
.ecl-mini-tooltip__path-item {
  color: var(--On-surface-on-surface-brand, #00002E) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.ecl-mini-tooltip__path-item--self {
  padding-left: 10px !important;
  border-left: 2px solid var(--ec-color-filter-border, #EDEDF0) !important;
}

.ecl-mini-tooltip__arrow {
  position: absolute !important;
  z-index: 1 !important;
  width: 12px !important;
  height: 12px !important;
  background: var(--Surface-surface-white, #FFFFFF) !important;
  border: 1px solid var(--ec-color-filter-border, #EDEDF0) !important;
  transform: rotate(45deg) !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
}

.ecl-mini-tooltip--above .ecl-mini-tooltip__arrow {
  bottom: -7px !important;
  left: 50% !important;
  margin-left: -6px !important;
  border-top: none !important;
  border-left: none !important;
}

.ecl-mini-tooltip--below .ecl-mini-tooltip__arrow {
  top: -7px !important;
  left: 50% !important;
  margin-left: -6px !important;
  border-bottom: none !important;
  border-right: none !important;
}

/* Legacy match score text */
.ecl-result-card__match-score {
  display: none !important;
}

.ecl-result-card__title {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Heading: 20px / 32px Medium (500), primary link color */
.ecl-result-card__title-link {
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-size: 20px !important;
  line-height: 32px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: var(--ec-color-primary, #004494) !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: text-decoration 0.15s ease, color 0.15s ease !important;
}

/* Remove PDF or document icons injected by browser extensions or themes */
.ecl-result-card a::before,
.ecl-result-card a::after,
.ecl-result-card__title::before,
.ecl-result-card__title::after,
.ecl-result-card__title-link::before,
.ecl-result-card__title-link::after {
  content: none !important;
  display: none !important;
}

.ecl-result-card__title img,
.ecl-result-card__title-link img,
.ecl-result-card__title svg:not(.ecl-keep-icon) {
  display: none !important;
}

.ecl-result-card__title-link:hover {
  text-decoration: underline !important;
  color: var(--ec-color-primary, #004494) !important;
}

.ecl-result-card__title-link:focus,
.ecl-result-card__title-link:focus-visible,
.ecl-result-card__title-link:active {
  outline: none !important;
  outline-color: transparent !important;
  outline-style: none !important;
  box-shadow: none !important;
  border: none !important;
  color: var(--ec-color-primary, #004494) !important;
  text-decoration: underline !important;
}

/* Description: 16px / 24px Regular, brand text, 2-line clamp */
.ecl-result-card__description {
  margin: 0 0 10px 0 !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: var(--On-surface-on-surface-brand, #00002E) !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  flex: 0 0 auto;
}

/* Metadata key/value rows */
.ecl-result-card__meta {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  width: 100% !important;
  margin: 0 0 16px 0 !important;
  flex: 0 0 auto !important;
}

.ecl-result-card__meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: 100% !important;
  text-align: left !important;
}

/* Applied filters — wrap whole pairs to new lines; clip long values in-pair only */
.ecl-result-card__meta-row--attrs {
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  overflow: visible !important;
  gap: 8px !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ecl-result-card__meta-attrs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  align-content: flex-start !important;
  gap: 8px 12px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* Row-level "+N more" is unused for applied filters (path more handles clipping). */
.ecl-result-card__meta-row--attrs > .ecl-result-card__meta-more {
  display: none !important;
}

.ecl-result-card__meta-pair {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex: 0 1 auto !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Nested Coverage / Landcover: one full-width row so "+N more" fits the
   column (including when the map narrows the middle panel). */
.ecl-result-card__meta-pair--nested {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.ecl-result-card__meta-pair--nested .ecl-result-card__meta-label {
  flex: 0 0 auto !important;
}

.ecl-result-card__meta-pair--nested .ecl-result-card__meta-value,
.ecl-result-card__meta-pair .ecl-result-card__meta-value {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  flex: 1 1 auto !important;
}

/* Keep content min-size so pair.scrollWidth still detects overflow for fitting. */
.ecl-result-card__meta-pair--nested .ecl-result-card__meta-value {
  min-width: min-content !important;
}

/* Coverage / Landcover summary chips: Name (N Regions) */
.ecl-filter-summary__item {
  display: inline !important;
  white-space: nowrap !important;
  margin-right: 2px !important;
}

.ecl-result-card__meta-value > .ecl-filter-path__comma {
  margin-right: 6px !important;
}

.ecl-filter-summary__name {
  color: inherit !important;
  font: inherit !important;
}

.ecl-filter-summary__count,
.ecl-filter-summary__count-text {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  font: inherit !important;
  font-weight: 400 !important;
  color: var(--ec-color-disable-text, #696984) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-color: currentColor !important;
  cursor: pointer !important;
  vertical-align: baseline !important;
  white-space: nowrap !important;
}

.ecl-filter-summary__count-text {
  cursor: default !important;
  text-decoration: none !important;
}

.ecl-filter-summary__count:hover,
.ecl-filter-summary__count:focus-visible {
  color: var(--ec-color-primary, #004494) !important;
}

/* Inline path overflow control — same look as row "+N more". */
.ecl-filter-path__more {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  font: inherit !important;
  font-weight: 400 !important;
  color: var(--ec-color-primary, #004494) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  vertical-align: baseline !important;
}

.ecl-filter-path__more:hover,
.ecl-filter-path__more:focus-visible {
  text-decoration: none !important;
}

.ecl-result-card__meta-pair[hidden],
.ecl-result-card__meta-keyword[hidden],
.ecl-result-card__meta-more[hidden] {
  display: none !important;
}

.ecl-result-card__meta-label {
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
  color: var(--ec-color-disable-text, #696984) !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.ecl-result-card__meta-value {
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
  color: var(--On-surface-on-surface-brand, #00002E) !important;
}

/* Nested path separators (› · |) use muted label color; segments keep value color. */
.ecl-filter-path__sep {
  color: var(--ec-color-disable-text, #696984) !important;
  font: inherit !important;
}

.ecl-filter-path__seg,
.ecl-filter-path__comma {
  color: inherit !important;
  font: inherit !important;
}

.ecl-mini-tooltip__value .ecl-filter-path__sep {
  color: var(--ec-color-disable-text, #696984) !important;
}

.ecl-result-card__meta-row--keywords {
  flex-wrap: nowrap !important;
  align-items: center !important;
  overflow: hidden !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 8px !important;
}

.ecl-result-card__meta-keywords {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* Keep "+N more" immediately after the last visible badge (not at the row end). */
.ecl-result-card__meta-keywords > .ecl-result-card__meta-more {
  margin-left: 0 !important;
  order: 1 !important;
}

.ecl-result-card__meta-keywords > [data-ecl-adaptive-item] {
  order: 0 !important;
}

/* Keyword badges — full pills only (never clip/ellipsis in the row; overflow goes to +N more). */
.ecl-result-card__meta-keyword,
.ecl-result-card__keyword-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  max-width: none !important;
  min-height: 28px !important;
  padding: 4px 12px !important;
  border-radius: var(--Radius-pill, 12px) !important;
  background: var(--Surface-surface-filter-header, var(--ec-color-filter-header-bg, #EDEDF0)) !important;
  border: 1px solid transparent !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  color: var(--On-surface-on-surface-brand, #00002E) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.ecl-result-card__meta-keyword-text {
  display: inline-block !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  padding: 0 !important;
}

/* Tooltip badges may wrap within the tip panel width. */
.ecl-mini-tooltip__keyword-badges .ecl-result-card__keyword-badge,
.ecl-mini-tooltip__keyword-badges .ecl-result-card__meta-keyword-text {
  max-width: 100% !important;
}

.ecl-result-card__meta-keyword-sep {
  display: none !important;
}

/* Keyword "+N more" tooltip — badge wrap with padding */
.ecl-mini-tooltip__keyword-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 2px 0 !important;
  box-sizing: border-box !important;
}

.ecl-mini-tooltip__keyword-badges .ecl-result-card__keyword-badge {
  max-width: 100% !important;
}

.ecl-result-card__meta-more {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
  color: var(--ec-color-primary, #004494) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  vertical-align: baseline !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* Must beat display:inline-flex above — never show "+0 more". */
.ecl-result-card__meta-more[hidden],
.ecl-result-card__meta-more[aria-hidden="true"],
.ecl-result-card__meta-more[data-count="0"] {
  display: none !important;
}

.ecl-result-card__meta-more:hover,
.ecl-result-card__meta-more:focus-visible {
  text-decoration: none !important;
}

.ecl-result-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap !important;
  gap: 16px;
  margin-top: 10px !important;
  padding-top: 0 !important;
  flex: 0 0 auto;
}

.ecl-result-card__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  width: 100% !important;
  margin-left: 0 !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ecl-result-card__action--source,
.ecl-result-card__action--map,
.ecl-result-card__action--map-disabled,
.ecl-result-card__action--no-map {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-family: var(--Font-family-inter), 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  min-width: 0 !important;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease !important;
}

/* Visit Source — text link, right */
.ecl-result-card__action--source {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 0 auto !important;
  color: var(--ec-color-primary, #004494) !important;
  cursor: pointer !important;
}

.ecl-result-card__action--source:hover {
  color: var(--ec-color-primary, #004494) !important;
  opacity: 0.85 !important;
  text-decoration: underline !important;
}

/* View on Map — outlined button, left */
.ecl-result-card__action--map {
  margin: 0 auto 0 0 !important;
  padding: 8px 14px !important;
  border-radius: var(--Radius-s, 4px) !important;
  border: 1px solid #7C92D6 !important;
  background: var(--Surface-surface-white, #FFFFFF) !important;
  color: var(--ec-color-primary, #004494) !important;
  cursor: pointer !important;
}

.ecl-result-card__action--map:hover {
  background: var(--Surface-surface-primary-low-1, #D9E3FF) !important;
  border-color: var(--ec-color-primary, #004494) !important;
  color: var(--ec-color-primary, #004494) !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

.ecl-result-card__action--map:focus-visible {
  outline: 2px solid var(--ec-color-primary, #004494) !important;
  outline-offset: 2px !important;
}

/* No spatial — same button shape, disabled gray */
.ecl-result-card__action--map-disabled,
.ecl-result-card__action--no-map {
  margin: 0 auto 0 0 !important;
  padding: 8px 14px !important;
  border-radius: var(--Radius-s, 4px) !important;
  border: 1px solid var(--ec-color-filter-border, #EDEDF0) !important;
  background: var(--Surface-surface-filter-header, #EDEDF0) !important;
  color: var(--ec-color-disable-text, #696984) !important;
  opacity: 1 !important;
  cursor: default !important;
  pointer-events: none !important;
  user-select: none !important;
}

.ecl-result-card__action--map-disabled:hover,
.ecl-result-card__action--no-map:hover {
  opacity: 1 !important;
  text-decoration: none !important;
  background: var(--Surface-surface-filter-header, #EDEDF0) !important;
  color: var(--ec-color-disable-text, #696984) !important;
}

.ecl-result-card__action--map .ecl-result-card__action-icon,
.ecl-result-card__action--map-disabled .ecl-result-card__action-icon,
.ecl-result-card__action--no-map .ecl-result-card__action-icon,
.ecl-result-card__action--source .ecl-result-card__action-icon {
  color: inherit !important;
  stroke: currentColor !important;
}

.ecl-result-card__action-icon {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
  stroke-width: 2px !important;
  color: inherit !important;
  flex-shrink: 0 !important;
}

/* Ensure AI Overview Read More is hidden during typing animation */
.ecl-ai-overview.is-typing #ecl-ai-overview-read-more {
  display: none !important;
}
