.cbt-job-offer-single__sheet {
  width: var(--tx-layout-content-width);
  max-width: var(--tx-layout-container-max);
  margin: var(--tx-spacing-3xl, 64px) auto;
}

.cbt-job-offer-single__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
  gap: var(--tx-layout-grid-gap);
  align-items: start;
}

.cbt-job-offer-single__card {
  display: grid;
  gap: var(--tx-spacing-xl, 32px);
  padding: var(--tx-layout-card-pad);
  background: var(--tx-color-white);
  border-radius: var(--tx-radius-medium, var(--tx-radius-small));
}

.cbt-job-offer-single__section {
  display: grid;
  gap: var(--tx-spacing-md, 16px);
}

.cbt-job-offer-single__section--resources {
  padding-top: var(--tx-spacing-lg, 24px);
}

.cbt-job-offer-single__card-title {
  margin: 0;
  color: var(--tx-color-brand-primary);
  font-size: var(--tx-font-size-xl);
}

.cbt-job-offer-single__rich-text {
  color: var(--tx-color-black);
}

.cbt-job-offer-single__rich-text > * {
  margin-block: 0 var(--tx-spacing-md, 16px);
}

.cbt-job-offer-single__rich-text > :last-child {
  margin-block-end: 0;
}

.cbt-job-offer-single__details {
  display: grid;
  gap: var(--tx-spacing-sm, 12px);
  margin: 0;
}

.cbt-job-offer-single__detail {
  display: grid;
  gap: var(--tx-spacing-xs, 8px);
  padding: var(--tx-spacing-md, 16px);
  background: var(--tx-surface-page-accent);
  border-radius: var(--tx-radius-small);
}

.cbt-job-offer-single__detail dt {
  color: var(--tx-color-brand-primary);
  font-weight: 700;
}

.cbt-job-offer-single__detail dd {
  margin: 0;
  color: var(--tx-color-black);
}

.cbt-job-offer-single__resources,
.cbt-job-offer-single__link-list {
  display: grid;
  gap: var(--tx-spacing-sm, 12px);
  justify-items: start;
}

@media (prefers-reduced-motion: no-preference) {
  .cbt-job-offer-single__panel {
    animation: cbt-job-offer-single-enter 500ms ease-out both;
  }
}

@media (width < 900px) {
  .cbt-job-offer-single__panel {
    grid-template-columns: 1fr;
  }
}

@keyframes cbt-job-offer-single-enter {
  from {
    opacity: 0;
    transform: translateX(-18px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}
