.moby-resource-grid,
.moby-resource-filter,
.moby-resource-pagination,
.moby-featured-resources {
  font-family: 'Inter', Arial, sans-serif;
}

.moby-resource-grid {
  display: grid;
  grid-template-columns: repeat(var(--moby-resource-columns, 3), minmax(0, 1fr));
  gap: 30px;
  width: 100%;
}

/* Dark-section defaults for the date-state resource views. Elementor controls
   can override these values per widget without changing the normal archive. */
.moby-resource-card-instance--upcoming,
.moby-resource-card-instance--past {
  color: #FFFFFF;
  font-family: 'Inter', Arial, sans-serif;
}

.moby-resource-card-instance--upcoming .moby-resource-card__link,
.moby-resource-card-instance--past .moby-resource-card__link {
  color: #FFFFFF;
  background: rgba(255, 255, 255, .045);
  border-color: rgba(255, 255, 255, .28);
}

.moby-resource-card-instance--upcoming .moby-resource-card__link:hover,
.moby-resource-card-instance--upcoming .moby-resource-card__link:focus-visible,
.moby-resource-card-instance--past .moby-resource-card__link:hover,
.moby-resource-card-instance--past .moby-resource-card__link:focus-visible {
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, .55);
}

.moby-resource-card-instance--upcoming .moby-resource-card__title,
.moby-resource-card-instance--past .moby-resource-card__title {
  color: #FFFFFF;
}

.moby-resource-card-instance--upcoming .moby-resource-card__rule,
.moby-resource-card-instance--past .moby-resource-card__rule {
  background: rgba(255, 255, 255, .28);
}

.moby-resource-card-instance--upcoming .moby-resource-card__meta,
.moby-resource-card-instance--past .moby-resource-card__meta {
  color: #C7D4FF;
}

.moby-resource-card-instance--upcoming .moby-resource-card__date,
.moby-resource-card-instance--past .moby-resource-card__date {
  color: #D9E3FF;
}

.moby-resource-card-instance--upcoming .moby-resource-card__separator,
.moby-resource-card-instance--upcoming .moby-resource-card__reading,
.moby-resource-card-instance--past .moby-resource-card__separator,
.moby-resource-card-instance--past .moby-resource-card__reading {
  color: #C7D4FF;
}

.moby-resource-card-instance--upcoming .moby-resource-card__label,
.moby-resource-card-instance--past .moby-resource-card__label {
  color: #071330;
  background: #D9E3FF;
  border-color: rgba(255, 255, 255, .45);
}

.moby-resource-card-instance--upcoming .moby-resource-card__arrow,
.moby-resource-card-instance--past .moby-resource-card__arrow {
  color: #1475D1;
  background: #E8EEF9;
}

.moby-resource-card-instance--upcoming .moby-resource-pagination,
.moby-resource-card-instance--past .moby-resource-pagination {
  color: #FFFFFF;
}

.moby-resource-card-instance--upcoming .moby-resource-pagination__button,
.moby-resource-card-instance--past .moby-resource-pagination__button {
  color: #FFFFFF;
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .35);
}

.moby-resource-card-instance--upcoming .moby-resource-pagination__button:hover:not(:disabled),
.moby-resource-card-instance--upcoming .moby-resource-pagination__button:focus-visible:not(:disabled),
.moby-resource-card-instance--past .moby-resource-pagination__button:hover:not(:disabled),
.moby-resource-card-instance--past .moby-resource-pagination__button:focus-visible:not(:disabled) {
  color: #FFFFFF;
  background: #1475D1;
}

.moby-resource-card-instance--upcoming .moby-resource-pagination__ellipsis,
.moby-resource-card-instance--past .moby-resource-pagination__ellipsis {
  color: #C7D4FF;
}

.moby-resource-card {
  min-width: 0;
  height: 100%;
}

.moby-resource-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e3e3e3;
  border-radius: 20px;
  transition: none;
}

.moby-resource-card__link:hover,
.moby-resource-card__link:focus-visible {
  color: inherit;
  text-decoration: none;
  border-color: #e3e3e3;
  box-shadow: none;
}

.moby-resource-card__image-wrap {
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  background: #e9edf2;
  border-radius: 20px 20px 0 0;
}

.moby-resource-card__image {
  display: block;
  width: 100%;
  height: 315px;
  object-fit: cover;
}

.moby-resource-card__image--placeholder {
  background: linear-gradient(135deg, #dbe4ed 0%, #f1f4f7 100%);
}

.moby-resource-card__label {
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 9px 21px;
  color: #111111;
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, .05);
  border-radius: 999px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.moby-resource-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 66px;
  height: 66px;
  place-items: center;
  color: #ffffff;
  border: 5px solid #ffffff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.moby-resource-card__play span {
  width: 0;
  height: 0;
  margin-left: 5px;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 19px solid #ffffff;
}

.moby-resource-card__body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 38px 30px 29px;
}

.moby-resource-card__title {
  max-width: 100%;
  margin: 0;
  color: #071330;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
}

.moby-resource-card__rule {
  width: 100%;
  height: 1px;
  margin: 31px 0 28px;
  background: #e6e6e6;
}

.moby-resource-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding-right: 60px;
  color: #737373;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}

.moby-resource-card__separator {
  color: #737373;
}

.moby-resource-card__reading {
  color: #111111;
  font-weight: 500;
  white-space: nowrap;
}

.moby-resource-card__arrow {
  position: absolute;
  right: 30px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  color: #1475d1;
  background: #e8eef9;
  border-radius: 50%;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  transition: none;
}

.moby-resource-card__link:hover .moby-resource-card__arrow,
.moby-resource-card__link:focus-visible .moby-resource-card__arrow {
  color: #b28b3c;
  background: #e8eef9;
  transform: none;
}

.moby-resource-grid__empty {
  grid-column: 1 / -1;
  margin: 0;
}

@media (max-width: 1024px) {
  .moby-resource-grid {
    grid-template-columns: repeat(var(--moby-resource-columns-tablet, 2), minmax(0, 1fr)) !important;
    gap: 24px;
  }

  .moby-resource-card__image {
    height: 260px;
  }

  .moby-resource-card__title {
    font-size: 24px;
  }

  .moby-resource-card__meta {
    font-size: 17px;
  }
}

@media (max-width: 767px) {
  .moby-resource-grid {
    grid-template-columns: repeat(var(--moby-resource-columns-mobile, 1), minmax(0, 1fr)) !important;
    gap: 22px;
  }

  .moby-resource-card__image {
    height: 240px;
  }

  .moby-resource-card__body {
    padding: 26px 24px 28px;
  }

  .moby-resource-card__title {
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.16;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .moby-resource-card__rule {
    margin: 26px 0 22px;
  }

  .moby-resource-card__meta {
    padding-right: 0;
    font-size: 16px;
    line-height: 1.35;
  }

  .moby-resource-card__label {
    top: 18px;
    left: 18px;
    min-height: 42px;
    padding: 8px 17px;
    font-size: 17px;
  }

  .moby-resource-card__body {
    padding: 29px 22px 24px;
  }

  .moby-resource-card__title {
    font-size: 24px;
  }

  .moby-resource-card__rule {
    margin: 24px 0 22px;
  }

  .moby-resource-card__meta {
    padding-right: 50px;
    font-size: 16px;
  }

  .moby-resource-card__arrow {
    right: 20px;
    bottom: 20px;
    width: 44px;
    height: 44px;
    font-size: 24px;
  }
}


/* Pagination */
.moby-resource-pagination-divider {
  width: 100%;
  height: 1px;
  margin: 0;
  background: linear-gradient(90deg, var(--moby-resource-divider-1, #D9B4E8) 0%, var(--moby-resource-divider-2, #E8C5DD) 35%, var(--moby-resource-divider-3, #B9DCEF) 68%, var(--moby-resource-divider-4, #D7E6C7) 100%);
}

.moby-resource-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin-top: 36px;
  color: #071330;
}

.moby-resource-pagination__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 12px 22px;
  border: 1px solid #D6DDEB;
  border-radius: 24px;
  color: #071330;
  background: #E8EEF9;
  font: inherit;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: none;
}

.moby-resource-pagination__button:hover:not(:disabled),
.moby-resource-pagination__button:focus-visible:not(:disabled) {
  color: #FFFFFF;
  background: #1475D1;
}

.moby-resource-pagination__button.is-current,
.moby-resource-pagination__button:disabled {
  opacity: .55;
  cursor: default;
}

.moby-resource-pagination__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.moby-resource-pagination--prev_next {
  justify-content: space-between;
}

.moby-resource-pagination--load_more {
  justify-content: center;
}

@media (max-width: 767px) {
  .moby-resource-pagination {
    margin-top: 26px;
  }

  .moby-resource-pagination--prev_next {
    justify-content: center;
  }

  .moby-resource-pagination__button {
    min-width: 40px;
    min-height: 40px;
  }
}

/* Compact numbered pagination */
.moby-resource-pagination--number {
  justify-content: flex-start;
  gap: 14px;
  padding-bottom: 0;
  border-bottom: 0;
}

.moby-resource-pagination--number .moby-resource-pagination__button {
  min-width: 42px;
  min-height: 48px;
  padding: 10px 16px;
  border-color: #071330;
  border-radius: 18px;
  background: #ffffff;
}

.moby-resource-pagination--number .moby-resource-pagination__button.is-current {
  color: #071330;
  background: #ffffff;
  opacity: 1;
}

.moby-resource-pagination--number .moby-resource-pagination__next {
  min-width: 68px;
}

.moby-resource-pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  min-height: 48px;
  color: #071330;
  font-size: 18px;
}

@media (max-width: 767px) {
  .moby-resource-pagination--number {
    gap: 8px;
  }

  .moby-resource-pagination--number .moby-resource-pagination__button {
    min-width: 38px;
    min-height: 42px;
    padding: 8px 12px;
  }
}

/* CPTUI taxonomy filter */
.moby-resource-filter {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-bottom: 24px;
}

.moby-resource-filter__select {
  min-width: 190px;
  padding: 12px 42px 12px 18px;
  color: #071330;
  background: #ffffff;
  border: 1px solid #d6ddeb;
  border-radius: 999px;
  font: inherit;
  cursor: pointer;
}

@media (max-width: 767px) {
  .moby-resource-filter {
    justify-content: stretch;
  }

  .moby-resource-filter__select {
    width: 100%;
  }
}

/* Featured Resources widget */
.moby-featured-resources { width: 100%; background: #fff; }
.moby-featured-resources__inner { width: 100%; max-width: 1800px; margin: 0 auto; }
.moby-featured-resources.is-header-hidden .moby-featured-resources__grid { margin-top: 0 !important; }
.moby-featured-resources__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; margin-bottom: 64px; }
.moby-featured-resources__heading { margin: 0; color: #071a63; font-size: clamp(34px, 4vw, 58px); line-height: 1.08; font-weight: 400; }
.moby-featured-resources__intro { margin-top: 16px; color: #071330; }
.moby-featured-resources__intro p:last-child { margin-bottom: 0; }
.moby-featured-resources__cta { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 64px; padding: 17px 30px; border-radius: 999px; background: #f7b83b; color: #071330; font-weight: 600; text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.moby-featured-resources__cta:hover, .moby-featured-resources__cta:focus-visible { background: #e5a62e; color: #071330; transform: translateY(-1px); }
.moby-featured-resources__grid { display: grid; grid-template-columns: repeat(var(--moby-featured-columns, 3), minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.moby-featured-resources__card { display: flex; min-width: 0; height: 100%; }
.moby-featured-resources__link { display: flex; flex-direction: column; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.moby-featured-resources__image-wrap { position: relative; overflow: hidden; border-radius: 16px; background: #e9edf5; }
.moby-featured-resources__image { display: block; width: 100%; height: 315px; object-fit: cover; }
.moby-featured-resources__image--placeholder { min-height: 315px; }
.moby-featured-resources__label { position: absolute; left: 28px; bottom: -1px; display: inline-flex; align-items: center; min-height: 42px; padding: 9px 21px; border: 1px solid #e3e3e3; border-radius: 999px; background: #fff; color: #071330; font-size: 16px; line-height: 1; }
.moby-featured-resources__body { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; min-height: 230px; padding: 30px 0 86px; }
.moby-featured-resources__title { height: 145px; min-height: 0; margin: 0; padding-right: 68px; color: #071330; font-size: 25px; line-height: 1.18; font-weight: 500; }
.moby-featured-resources__rule { flex: 0 0 auto; height: 1px; margin: 24px 0 18px; background: #e3e3e3; }
.moby-featured-resources__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-top: auto; padding-right: 68px; color: #737373; font-size: 20px; line-height: 1.35; }
.moby-featured-resources__date-label { color: #737373; font-weight: 400; }
.moby-featured-resources__date { color: #111111; font-weight: 500; }
.moby-featured-resources__cta#arrowbutton { position: relative; overflow: hidden; isolation: isolate; transition: color .25s ease, background-color .25s ease, transform .25s ease, padding-right .25s ease; }
.moby-featured-resources__cta#arrowbutton::after { content: '→'; display: inline-block; max-width: 0; margin-left: 0; overflow: hidden; color: currentColor; opacity: 0; transform: translateX(-8px); transition: max-width .25s ease, margin-left .25s ease, opacity .25s ease, transform .25s ease; }
.moby-featured-resources__cta#arrowbutton:hover, .moby-featured-resources__cta#arrowbutton:focus-visible { padding-right: 24px; padding-left: 36px; transform: translateY(-2px); }
.moby-featured-resources__cta#arrowbutton:hover::after, .moby-featured-resources__cta#arrowbutton:focus-visible::after { max-width: 24px; margin-left: 10px; opacity: 1; transform: translateX(0); }
 .moby-featured-resources__arrow { position: absolute; right: 0; bottom: 24px; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #e8eef9; color: #1475d1; font-size: 24px; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.moby-featured-resources__link:hover .moby-featured-resources__arrow, .moby-featured-resources__link:focus-visible .moby-featured-resources__arrow { background: #dbe6f8; color: #b28b3c; transform: translateX(2px); }
 .moby-featured-resources__link:focus-visible, .moby-featured-resources__cta:focus-visible { outline: 3px solid #1475d1; outline-offset: 5px; }
.moby-featured-resources__placeholder, .moby-featured-resources__empty { padding: 32px; border: 1px dashed #cbd4e5; border-radius: 16px; color: #5d6680; }
@media (max-width: 1024px) { .moby-featured-resources__grid { grid-template-columns: repeat(var(--moby-featured-columns, 2), minmax(0, 1fr)); } .moby-featured-resources__header { margin-bottom: 42px; } }
@media (max-width: 767px) { .moby-featured-resources__header { display: block; margin-bottom: 32px; } .moby-featured-resources__cta { margin-top: 24px; } .moby-featured-resources__grid { grid-template-columns: repeat(var(--moby-featured-columns, 1), minmax(0, 1fr)); gap: 24px; } .moby-featured-resources__image { height: 250px; } .moby-featured-resources__image--placeholder { min-height: 250px; } .moby-featured-resources__body { min-height: 210px; } }

/* Keep the divider above a single aligned metadata/footer row. */
.moby-featured-resources__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 50px; margin-top: auto; }
.moby-featured-resources__footer .moby-featured-resources__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; margin-top: 0; padding-right: 0; font-size: 16px; line-height: 1.25; }
.moby-featured-resources__separator { color: #737373; }
.moby-featured-resources__reading { color: #111111; font-weight: 500; white-space: nowrap; }
.moby-featured-resources__footer .moby-featured-resources__arrow { position: static; flex: 0 0 auto; width: 48px; height: 48px; }
@media (max-width: 767px) { .moby-featured-resources__footer { gap: 12px; } .moby-featured-resources__footer .moby-featured-resources__meta { gap: 6px; font-size: 15px; } .moby-featured-resources__footer .moby-featured-resources__arrow { width: 44px; height: 44px; } }

/* v1.7.6: resource-type label inside the image at the top-left */
.moby-featured-resources__image-wrap .moby-featured-resources__label { position: absolute; top: 28px; left: 28px; bottom: auto; z-index: 2; display: inline-flex; align-items: center; min-height: 42px; padding: 9px 21px; border: 1px solid #e3e3e3; border-radius: 999px; background: #fff; color: #071330; font-size: 16px; line-height: 1; }
@media (max-width: 767px) { .moby-featured-resources__image-wrap .moby-featured-resources__label { top: 18px; left: 18px; min-height: 38px; padding: 8px 16px; font-size: 14px; } }
