/* Explicit TSDS opt-ins: native horizontal card row and compact media card. */
.elementor .elementor-element.scroll-cards {
  --tsds-scroll-card-count: 4;
  display: grid !important;
  grid-auto-flow: column;
  grid-template-columns: none !important;
  grid-template-rows: auto !important;
  grid-auto-columns: calc((100% - (var(--tsds-scroll-card-count) - 1) * var(--tsds-gap, var(--gap-s))) / var(--tsds-scroll-card-count));
  align-items: stretch;
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
}
.elementor .elementor-element.scroll-cards > * {
  min-inline-size: 0;
  display: flex;
  align-items: stretch;
  scroll-snap-align: start;
}
@media (max-width: 1330px) {
  .elementor .elementor-element.scroll-cards { --tsds-scroll-card-count: 3; }
}
@media (max-width: 767px) {
  .elementor .elementor-element.scroll-cards { --tsds-scroll-card-count: 2; }
}
.elementor .elementor-element.card-media-compact {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  min-inline-size: 0;
}
.elementor .elementor-element.card-media-compact > .card-media {
  flex: 0 0 auto;
  aspect-ratio: 16 / 10;
}
.elementor .elementor-element.card-media-compact > .card-media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center top;
}
.elementor .elementor-element.card-media-compact > :where(div, section, article):not(.card-media) {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  row-gap: var(--tsds-flow, var(--flow-xs)) !important;
  min-inline-size: 0;
}
.elementor .elementor-element.card-media-compact > :where(div, section, article):not(.card-media) > * {
  margin-block: 0 !important;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}
.elementor .elementor-element.card-media-compact > :where(div, section, article):not(.card-media) > .e-button-base:last-child {
  margin-block-start: auto !important;
  white-space: normal;
  min-block-size: 2.75rem;
}

/* Explicit linked-card UX; no change to unlinked Cards or TSDS base factors. */
.elementor a.card-media-layout[data-mps-card-link] {
  color: var(--tsds-card-color);
  text-decoration: none;
  cursor: pointer;
}
.elementor a.card-media-compact[data-mps-job-filter-card] { text-align: center; }
.elementor a.card-media-layout[data-mps-card-link]:focus-visible {
  outline: 3px solid var(--ts-color-primary);
  outline-offset: -3px;
}
.elementor a.card-media-layout[data-mps-card-link] [data-mps-card-cta] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-block-size: 2.75rem;
  box-sizing: border-box;
  padding-block: var(--btn-py-xs);
  padding-inline: var(--btn-px-xs);
  border: var(--btn-border-width) solid var(--ts-color-primary);
  border-radius: var(--btn-radius);
  background: transparent;
  color: var(--ts-color-primary);
  line-height: 1.1;
  text-align: center;
  white-space: normal;
  transition: background-color var(--btn-transition-duration) var(--btn-transition-easing), color var(--btn-transition-duration) var(--btn-transition-easing);
}
.elementor a.card-media-compact[data-mps-job-filter-card] [data-mps-card-cta] { align-self: center; }
.elementor a.card-media-layout[data-mps-card-link]:is(:hover, :focus-visible) [data-mps-card-cta],
.elementor a.card-media-layout[data-mps-card-link][aria-pressed="true"] [data-mps-card-cta] {
  background: var(--ts-color-primary);
  color: var(--ts-color-on-primary);
}
.elementor .scroll-cards[data-mps-rail-enhanced] {
  scrollbar-width: thin;
  scrollbar-color: var(--ts-color-primary) transparent;
}
.elementor .scroll-cards[data-mps-rail-enhanced]::-webkit-scrollbar { height: 6px; }
.elementor .scroll-cards[data-mps-rail-enhanced]::-webkit-scrollbar-thumb { background: var(--ts-color-primary); border-radius: var(--btn-radius); }
.elementor [data-mps-rail-controls] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-xs);
  margin-block-start: var(--flow-xs);
}
.elementor [data-mps-rail-controls][hidden] { display: none; }
.elementor [data-mps-rail-controls] p { margin: 0; min-inline-size: 0; }
.elementor [data-mps-rail-actions] { display: flex; gap: var(--gap-xs); flex: 0 0 auto; }
.elementor [data-mps-rail-direction] { min-inline-size: 2.75rem; min-block-size: 2.75rem; }
.elementor [data-mps-rail-direction][aria-disabled="true"] { opacity: .4; cursor: default; }
.elementor [data-mps-rail-mobile] { display: none; }
@media (max-width: 767px) {
  .elementor [data-mps-rail-mobile] { display: inline; }
  .elementor [data-mps-rail-desktop] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor a.card-media-layout[data-mps-card-link] [data-mps-card-cta] { transition: none; }
}
@media (forced-colors: active) {
  .elementor a.card-media-layout[data-mps-card-link]:focus-visible { outline-color: Highlight; }
  .elementor .scroll-cards[data-mps-rail-enhanced] { scrollbar-color: auto; }
}
