/**
 * SiMa Careers — Jobvite iframe theme.
 *
 * Parent-page CSS cannot reach this markup (cross-origin iframe).
 * Host this file and either:
 *   1. Paste it into Jobvite Career Site → Custom CSS, or
 *   2. Ask Jobvite support to link this URL on the simaai career site.
 *
 * Public path (after deploy):
 *   /wp-content/themes/andanothertheme/assets/revamp/landings/careers/css/jobvite.css
 *
 * Selectors match jobs.jobvite.com/simaai — no Jobvite HTML changes.
 */

@import url("https://use.typekit.net/bdv5qsx.css");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");

:root {
	--sima-primary: #5998dd;
	--sima-green: #2a9c4f;
	--sima-navy: #0b1220;
	--sima-slate: #64748b;
	--sima-border: #e2e8f0;
	--sima-sans: "Denim", "Roboto", ui-sans-serif, system-ui, sans-serif;
	--sima-body: "Roboto", ui-sans-serif, system-ui, sans-serif;
}

html,
body {
	overflow: visible !important;
	background: #fff !important;
	color: var(--sima-navy) !important;
	font-family: var(--sima-body) !important;
	font-size: 16px !important;
}

.jv-page,
.jv-page-container,
.jv-page-content {
	min-height: 0 !important;
}

.jv-wrapper {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Our WordPress section already has heading + apply / alert links. */
.jv-page-header,
.jv-footer,
#tools,
#search h2,
h2.listing-header {
	display: none !important;
}

a:not(.jv-button),
a:not(.jv-button):visited {
	color: var(--sima-navy) !important;
	text-decoration: none !important;
}

a:not(.jv-button):hover,
a:not(.jv-button):focus {
	color: var(--sima-primary) !important;
}

/* CTAs — Apply is an <a class="jv-button">. Navy fill = white label;
 * white/outline fill = primary blue label. Hide Jobvite's divider + chevron. */
.jv-button,
a.jv-button,
a.jv-button:visited {
	position: relative !important;
	overflow: hidden !important;
	min-width: 0 !important;
	height: auto !important;
	padding: 1rem 1.5rem !important;
	line-height: 1.25 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--sima-sans) !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.jv-button::after,
.jv-button:hover::after,
.jv-button:focus::after,
.jv-button:active::after,
.jv-button-primary::after,
.jv-button-apply::after,
.jv-button-hollow::after,
.jv-button-apply-later::after,
a.jv-button::after {
	content: none !important;
	display: none !important;
	background: none !important;
	border: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	filter: none !important;
}

.jv-button .fa-search,
.jv-button .jv-text-icon,
.jv-button .icon {
	display: none !important;
}

/* White / outline CTAs (Apply Later, hollow). */
.jv-button:not(.jv-button-primary):not(.jv-button-apply),
.jv-button:not(.jv-button-primary):not(.jv-button-apply):visited,
.jv-button-hollow,
.jv-button-apply-later,
a.jv-button:not(.jv-button-primary):not(.jv-button-apply),
a.jv-button:not(.jv-button-primary):not(.jv-button-apply):visited,
a.jv-button-hollow,
a.jv-button-apply-later,
a.jv-button-hollow:visited,
a.jv-button-apply-later:visited {
	background: #fff !important;
	border: 1px solid var(--sima-primary) !important;
	color: var(--sima-primary) !important;
}

.jv-button:not(.jv-button-primary):not(.jv-button-apply):hover,
.jv-button:not(.jv-button-primary):not(.jv-button-apply):focus,
.jv-button-hollow:hover,
.jv-button-apply-later:hover,
a.jv-button:not(.jv-button-primary):not(.jv-button-apply):hover,
a.jv-button:not(.jv-button-primary):not(.jv-button-apply):focus,
a.jv-button-hollow:hover,
a.jv-button-apply-later:hover {
	background: #fff !important;
	border-color: var(--sima-primary) !important;
	color: var(--sima-primary) !important;
}

/* Filled navy CTAs (Search, Apply, primary). */
.jv-button.jv-button-primary,
.jv-button.jv-button-apply,
a.jv-button.jv-button-primary,
a.jv-button.jv-button-apply,
a.jv-button.jv-button-primary:visited,
a.jv-button.jv-button-apply:visited {
	background: var(--sima-navy) !important;
	border: 0 !important;
	color: #fff !important;
}

.jv-button.jv-button-primary:hover,
.jv-button.jv-button-apply:hover,
.jv-button.jv-button-primary:focus,
.jv-button.jv-button-apply:focus,
.jv-button.jv-button-primary:active,
.jv-button.jv-button-apply:active,
a.jv-button.jv-button-primary:hover,
a.jv-button.jv-button-apply:hover,
a.jv-button.jv-button-primary:focus,
a.jv-button.jv-button-apply:focus,
a.jv-button.jv-button-primary:active,
a.jv-button.jv-button-apply:active {
	background: var(--sima-primary) !important;
	border: 0 !important;
	color: #fff !important;
}

/* Filters — three fields + search, handoff-like controls. */
#search .section,
#search .jv-wrapper {
	margin: 0 0 3rem !important;
}

.jv-form.jv-search-form {
	align-items: stretch !important;
	width: 100% !important;
	gap: 1rem !important;
}

.jv-form.jv-search-form .jv-form-field,
.jv-form.jv-search-form .jv-form-field-control,
.jv-form.jv-search-form.jv-form-inline-md .jv-form-field-control {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	background: #fff !important;
	border: 1px solid var(--sima-border) !important;
	border-radius: 0 !important;
}

.jv-form.jv-search-form select,
.jv-form.jv-search-form input[type="search"],
.jv-form.jv-search-form .jv-search-input[type="search"] {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	padding: 1rem !important;
	border: 0 !important;
	background: #fff !important;
	color: var(--sima-navy) !important;
	font-family: var(--sima-body) !important;
	font-size: 1rem !important;
}

.jv-form.jv-search-form .jv-search-field .jv-search-input[type="search"] {
	padding-left: 2.75rem !important;
}

.jv-form.jv-search-form .jv-search-input[type="search"]::placeholder {
	color: var(--sima-slate) !important;
}

.jv-form.jv-search-form .jv-form-buttons {
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
}

/* Department group headings. */
#jobs h4,
#jobs .h4 {
	display: flex !important;
	align-items: center !important;
	margin: 2.5rem 0 1.25rem !important;
	padding: 0 0 1rem !important;
	border-bottom: 1px solid var(--sima-border) !important;
	font-family: var(--sima-sans) !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--sima-navy) !important;
	text-transform: none !important;
}

#jobs h4:first-of-type,
#jobs .h4:first-of-type {
	margin-top: 0 !important;
}

/* Jobs-page keyword/location/department form is .jv-search-form.
 * After a filter, Jobvite switches to a single-field .jv-list-search-form. */
.jv-list-search-form {
	position: relative !important;
	margin: 0 0 1.5rem !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.jv-list-search-form .jv-search-field,
.jv-list-search-form input[type="search"] {
	width: 100% !important;
	box-sizing: border-box !important;
	height: auto !important;
	margin: 0 !important;
	padding: 1rem 1rem 1rem 2.75rem !important;
	border: 1px solid var(--sima-border) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--sima-navy) !important;
	font-family: var(--sima-body) !important;
	font-size: 1rem !important;
}

.jv-list-search-form .jv-search-field::placeholder,
.jv-list-search-form input[type="search"]::placeholder {
	color: var(--sima-slate) !important;
}

.jv-search-filter {
	margin: 0 0 1.25rem !important;
	color: var(--sima-navy) !important;
	font-family: var(--sima-body) !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
}

.jv-search-filter a,
.jv-search-filter a:visited {
	color: var(--sima-primary) !important;
}

.jv-search-filter a:hover,
.jv-search-filter a:focus {
	color: var(--sima-green) !important;
}

.jv-pagination {
	margin: 0.25rem 0 0 !important;
	padding: 0 !important;
	color: var(--sima-slate) !important;
	font-family: var(--sima-body) !important;
	font-size: 0.875rem !important;
}

/* Job rows → bordered cards.
 * Default listing is ul/li with name + location inside one <a>.
 * Search/filter results are table.jv-search-list with name and location in
 * separate <td>s — do not card-style the title <a> or the location sits outside. */
.jv-job-list {
	margin: 0 0 1.5rem !important;
}

.jv-job-list ul {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.jv-job-list li {
	position: relative !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.jv-page-jobs .jv-job-list a,
.jv-job-list li a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 1.5rem !important;
	border: 1px solid var(--sima-border) !important;
	background: #fff !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.jv-page-jobs .jv-job-list a:hover,
.jv-job-list li a:hover {
	border-color: color-mix(in srgb, var(--sima-primary) 50%, transparent) !important;
	background: #fff !important;
	box-shadow: 0 4px 12px rgba(11, 18, 32, 0.08) !important;
}

.jv-job-list-name {
	flex: 1 1 auto !important;
	width: auto !important;
	color: var(--sima-navy) !important;
	font-family: var(--sima-sans) !important;
	font-size: 1.125rem !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

.jv-job-list li a:hover .jv-job-list-name {
	color: var(--sima-primary) !important;
}

.jv-job-list-location,
.jv-page-jobs .jv-job-list .jv-job-list-location,
.jv-page-search .jv-job-list .jv-job-list-location {
	margin-left: 1.5rem !important;
	color: var(--sima-slate) !important;
	font-family: var(--sima-body) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	text-align: right !important;
	white-space: nowrap !important;
}

/* Search results table → same card rows as the default list. */
.jv-page-search table.jv-job-list,
table.jv-job-list.jv-search-list {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

.jv-page-search table.jv-job-list thead,
table.jv-job-list.jv-search-list thead {
	display: none !important;
}

.jv-page-search table.jv-job-list tbody,
table.jv-job-list.jv-search-list tbody {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	width: 100% !important;
}

.jv-page-search table.jv-job-list tbody tr,
table.jv-job-list.jv-search-list tbody tr {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 1.5rem !important;
	border: 1px solid var(--sima-border) !important;
	background: #fff !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.jv-page-search table.jv-job-list tbody tr:hover,
table.jv-job-list.jv-search-list tbody tr:hover {
	border-color: color-mix(in srgb, var(--sima-primary) 50%, transparent) !important;
	box-shadow: 0 4px 12px rgba(11, 18, 32, 0.08) !important;
}

.jv-page-search table.jv-job-list td,
table.jv-job-list.jv-search-list td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	vertical-align: middle !important;
}

.jv-page-search table.jv-job-list .jv-job-list-name a,
.jv-page-search .jv-job-list.jv-search-list a,
table.jv-job-list.jv-search-list .jv-job-list-name a {
	position: static !important;
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit !important;
	cursor: pointer !important;
}

/* Stretch the title link over the whole row so location/padding are clickable. */
.jv-page-search table.jv-job-list .jv-job-list-name a::after,
table.jv-job-list.jv-search-list .jv-job-list-name a::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	pointer-events: auto !important;
}

.jv-page-search table.jv-job-list tbody tr:hover .jv-job-list-name,
.jv-page-search table.jv-job-list tbody tr:hover .jv-job-list-name a,
table.jv-job-list.jv-search-list tbody tr:hover .jv-job-list-name,
table.jv-job-list.jv-search-list tbody tr:hover .jv-job-list-name a {
	color: var(--sima-primary) !important;
}

@media (max-width: 767px) {
	.jv-form.jv-search-form.jv-form-inline-md {
		flex-direction: column !important;
	}

	.jv-job-list-location,
	.jv-page-jobs .jv-job-list .jv-job-list-location,
	.jv-page-search .jv-job-list .jv-job-list-location {
		margin-left: 0 !important;
		margin-top: 0.5rem !important;
		text-align: left !important;
		white-space: normal !important;
	}

	.jv-page-jobs .jv-job-list a,
	.jv-job-list li a,
	.jv-page-search table.jv-job-list tbody tr,
	table.jv-job-list.jv-search-list tbody tr {
		flex-wrap: wrap !important;
	}
}
