/*
 * Careers (jobs CPT) front-end styles.
 *
 * Shared presentation for the jobs CPT, the Current Openings list and the
 * single-job template. Values continue to come from the UWC Elementor kit.
 */

/*
 * The track class is on <body> for a job single and on the loop-item wrapper
 * for a job card, so these rules are deliberately not anchored to either.
 */

/* ---------------------------------------------------------------- header */

.uwc-job-track-faculty .uwc-page-title-variant--career,
.uwc-job-track-staff .uwc-page-title-variant--career {
 background-color: var(--e-global-color-secondary, #009b90);
}

.uwc-job-track-faculty .uwc-career-title__pill--primary,
.uwc-job-track-staff .uwc-career-title__pill--primary {
 background-color: var(--e-global-color-uwc0020);
}

.uwc-job-track-faculty .uwc-career-title__pill--secondary,
.uwc-job-track-staff .uwc-career-title__pill--secondary {
	background-color: var(--e-global-color-uwc0022);
}

/*
 * A job with no track assigned would otherwise render a transparent header over
 * the pattern. Faculty is the majority case and the safer default.
 */
body.uwc-job-single:not(.uwc-job-track-faculty):not(.uwc-job-track-staff) .uwc-page-title-variant--career {
	background-color: var(--e-global-color-secondary);
}

/* ------------------------------------------------------------ spec strip */

.uwc-job-specs {
	display: grid;
	gap: var(--uwc-job-specs-row-gap, 0.35rem);
	margin: 0;
}

.uwc-job-specs__row {
	display: grid;
	grid-template-columns: var(--uwc-job-specs-label-width, 150px) 1fr;
	gap: var(--uwc-job-specs-column-gap, 1rem);
	align-items: baseline;
}

.uwc-job-specs__label {
	margin: 0;
	color: var(--uwc-job-specs-label-color, inherit);
	font-size: var(--uwc-job-specs-label-size, 0.6875rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.uwc-job-specs__value {
	margin: 0;
	color: var(--uwc-job-specs-value-color, inherit);
	font-size: var(--uwc-job-specs-value-size, 0.875rem);
	font-weight: 600;
	line-height: 1.4;
}

@media (max-width: 767px) {
	.uwc-job-specs__row {
		grid-template-columns: 1fr;
		gap: 0.1rem;
	}
}

/*
 * The contextual sub-nav's pill row is wider than the viewport at exactly
 * 768px: its horizontal scroll rail only engages below that width, so the
 * overflow escapes and the whole document scrolls sideways. Measured by
 * hiding each section in turn — the carousels are not the cause. `clip` rather
 * than `hidden` so nothing inside becomes a scroll container.
 */
.uwc-careers-subnav {
	overflow-x: clip;
}

/* ------------------------------------------------ current openings list */

body.elementor-page-83373 #job-openings .elementor-widget-loop-grid,
body.elementor-page-83373 #job-openings .elementor-loop-container {
 width: 100%;
}

body.elementor-page-83373 #job-openings .elementor-loop-container {
 grid-template-columns: minmax(0, 1fr) !important;
 gap: 1rem !important;
}

body.elementor-page-83373 #job-openings .e-loop-item {
 height: auto;
 min-width: 0;
}

.uwc-job-card {
 height: auto;
 box-sizing: border-box;
 border: 1px solid #dfe8e7;
 border-radius: 0.5rem;
 background-color: var(--e-global-color-uwc0023);
 overflow: hidden;
}

.uwc-job-track-faculty .uwc-job-card,
.uwc-job-track-staff .uwc-job-card {
 background-color: var(--e-global-color-uwc0023);
}

/* Match the native one-row card composition in the approved design. */
body.elementor-page-83373 .uwc-job-card {
 display: grid !important;
 grid-template-columns: minmax(0, 1fr) auto;
 grid-template-areas:
  "pills pills"
  "title title"
  "specs actions";
 column-gap: 2rem !important;
 row-gap: 1.25rem !important;
 min-height: 0 !important;
}

body.elementor-page-83373 .uwc-job-card__pills {
 grid-area: pills;
}

body.elementor-page-83373 .uwc-job-card__title {
 grid-area: title;
 border-bottom: 1px solid var(--e-global-color-uwc0016);
 padding-bottom: 1.25rem;
}

body.elementor-page-83373 .uwc-job-card__specs {
 grid-area: specs;
 min-width: 0;
}

body.elementor-page-83373 .uwc-job-card__actions {
 grid-area: actions;
 align-self: center;
 justify-self: end;
}

.uwc-job-card__pills {
	flex-wrap: wrap;
}

/*
 * An Elementor child container fills its row by default, which turns both pills
 * into full-width bars. They have to hug their label.
 */
.uwc-job-card .uwc-career-title__pill {
	width: auto;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	flex: 0 0 auto;
}

body.elementor-page-83373 .uwc-job-card .uwc-career-title__pill .elementor-heading-title {
	font-size: 0.625rem !important;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.6 !important;
	text-transform: uppercase;
}

body.elementor-page-83373 .uwc-job-card .uwc-career-title__pill--primary .elementor-heading-title {
	color: var(--e-global-color-uwc0008, #00756d);
}

body.elementor-page-83373 .uwc-job-card .uwc-career-title__pill--secondary {
	border: 1px solid #dfe8e7;
}

/*
 * Card typography needs three classes to win. Elementor writes
 * `.elementor-widget-heading .elementor-heading-title { font-family: … }` into
 * every page's own CSS, which loads after this file, so a two-class rule ties
 * on specificity and loses on source order — the card title would render at
 * full display-hero size. Families still come from the kit globals.
 */
body.elementor-page-83373 .uwc-job-card .uwc-job-card__title .elementor-heading-title {
	color: #222;
	font-family: var( --e-global-typography-uwct004-font-family ), serif;
	font-size: 1.75rem !important;
	font-weight: 400;
	line-height: 1.4167 !important;
}

body.elementor-page-83373 .uwc-job-card .uwc-job-card__title .elementor-heading-title a {
	color: #222;
	text-decoration: none;
}

body.elementor-page-83373 .uwc-job-track-faculty .uwc-job-card__title .elementor-heading-title a::before {
	content: "Faculty – ";
}

body.elementor-page-83373 .uwc-job-track-staff .uwc-job-card__title .elementor-heading-title a::before {
	content: "Staff – ";
}

body.elementor-page-83373 .uwc-job-card .uwc-job-card__title .elementor-heading-title a:hover,
body.elementor-page-83373 .uwc-job-card .uwc-job-card__title .elementor-heading-title a:focus-visible {
	color: var(--e-global-color-secondary, #009b90);
	text-decoration: none;
}

/* The design has one full-width divider between the title and job details. */
.uwc-job-card__specs {
	border: 0;
}

/* The card's own spec strip is tighter than the one on the single. */
.uwc-job-card .uwc-job-specs {
	--uwc-job-specs-label-width: 120px;
	--uwc-job-specs-row-gap: 0.25rem;
	--uwc-job-specs-label-size: 0.6875rem;
	--uwc-job-specs-value-size: 0.75rem;
}

body.elementor-page-83373 .uwc-job-card .uwc-job-specs__label {
	letter-spacing: 0.06em;
	line-height: 1.3636;
}

body.elementor-page-83373 .uwc-job-card .uwc-job-specs__row {
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 0.35rem;
}

body.elementor-page-83373 .uwc-job-card .uwc-job-specs__label::after {
	content: ":";
}

body.elementor-page-83373 .uwc-job-card .uwc-job-specs__value {
	letter-spacing: 0.06em;
	line-height: 1.25;
}

.uwc-job-card__actions {
 gap: 0.5rem;
 margin-top: 0;
}

body.elementor-page-83373 .uwc-job-card__actions .uwc-cta-button--primary {
	background-color: var(--e-global-color-secondary, #009b90);
	border-color: var(--e-global-color-secondary, #009b90);
}

body.elementor-page-83373 .uwc-job-card__actions .uwc-cta-button--primary:hover,
body.elementor-page-83373 .uwc-job-card__actions .uwc-cta-button--primary:focus-visible {
	background-color: var(--e-global-color-uwc0008, #00756d);
	border-color: var(--e-global-color-uwc0008, #00756d);
}

body.elementor-page-83373 .uwc-job-card__actions .uwc-cta-button--light {
	background-color: #fff;
	border: 1px solid #dfe8e7;
}

body.elementor-page-83373 .uwc-job-card__actions .uwc-cta-button--light .uwc-cta-button__icon--arrow {
	display: none;
}

@media (max-width: 767px) {
 body.elementor-page-83373 .uwc-job-card .uwc-job-card__title .elementor-heading-title {
  font-size: 1.5rem !important;
 }

 body.elementor-page-83373 .uwc-job-card {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
   "pills"
   "title"
   "specs"
   "actions";
  column-gap: 0 !important;
  row-gap: 1.25rem !important;
 }

 .uwc-job-card .uwc-job-specs {
  --uwc-job-specs-label-width: 100px;
 }

 body.elementor-page-83373 .uwc-job-card__actions {
  width: 100%;
  justify-self: stretch;
  flex-wrap: wrap;
 }
}

/* Closed job notice (Jobs\closed_banner). */
.uwc-job-closed {
	margin: 0 0 2rem;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--e-global-color-secondary, #1b365d);
	background: #f3f4f6;
}
.uwc-job-closed p {
	margin: 0;
	font-weight: 600;
}
