/* OIB Job Postings — minimal, theme-agnostic styling. */

/* ---------- Shared wrapper (used by the standalone fallback archive template) ---------- */

.oib-jobs-archive__inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 20px;
}

.oib-jobs-archive__title {
	margin-bottom: 24px;
}

.oib-jobs-empty {
	padding: 20px 0;
	color: #666;
}

/* ---------- Accordion listing ([job_listings] shortcode) ---------- */

.oib-jobs-accordion {
	width: 100%;
	/* Reset text-align so the component looks the same regardless of
	   whatever alignment the surrounding page section uses (some theme
	   sections — e.g. this site's centered "HTML" section type — set
	   text-align: center on everything inside them). Specific pieces
	   below (like the closing-date column) opt back into a different
	   alignment on top of this. */
	text-align: left;
}

.oib-jobs-accordion__header {
	display: flex;
	padding: 0 24px 10px;
	font-weight: 600;
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #777;
}

.oib-jobs-accordion__col--title {
	flex: 3 1 0;
}

.oib-jobs-accordion__col--date {
	flex: 1 1 0;
	text-align: right;
}

.oib-jobs-item {
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	margin-bottom: 16px;
	overflow: hidden;
}

.oib-jobs-item__heading {
	margin: 0;
}

.oib-jobs-item__toggle {
	display: flex;
	align-items: center;
	width: 100%;
	background: #fff;
	border: 0;
	cursor: pointer;
	padding: 20px 24px;
	text-align: left;
	font-size: 1em;
	font-family: inherit;
	color: inherit;
	transition: background-color 0.15s ease;
}

.oib-jobs-item__toggle:hover,
.oib-jobs-item__toggle:focus-visible {
	background-color: #fafafa;
}

.oib-jobs-item__title {
	flex: 3 1 0;
	font-weight: 600;
	font-size: 1.05em;
	padding-right: 16px;
}

.oib-jobs-item__date {
	flex: 1 1 0;
	text-align: right;
	color: #666;
	font-size: 0.92em;
	padding-right: 16px;
}

.oib-jobs-item__icon {
	flex: 0 0 auto;
	width: 12px;
	height: 12px;
	position: relative;
}

.oib-jobs-item__icon::before,
.oib-jobs-item__icon::after {
	content: "";
	position: absolute;
	background: #333;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.oib-jobs-item__icon::before {
	width: 12px;
	height: 2px;
}

.oib-jobs-item__icon::after {
	width: 2px;
	height: 12px;
	transition: transform 0.2s ease;
}

.oib-jobs-item__toggle[aria-expanded="true"] .oib-jobs-item__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}

.oib-jobs-item__toggle[aria-expanded="true"] {
	background-color: #f7f7f7;
}

.oib-jobs-item__panel {
	border-top: 1px solid #eee;
}

.oib-jobs-item__panel-inner {
	padding: 28px 24px 32px;
}

/* ---------- Inside an expanded panel ---------- */

.oib-jobs-panel-banner {
	margin: -28px -24px 24px;
	max-height: 320px;
	overflow: hidden;
	border-radius: 0;
}

.oib-jobs-panel-banner__image {
	display: block;
	width: 100%;
	height: 320px;
	object-fit: cover;
}

.oib-job-header__location {
	margin: 0 0 6px;
	font-size: 1.05em;
	color: #444;
	font-weight: 600;
}

.oib-job-header__dates {
	margin: 0 0 20px;
	color: #777;
	font-size: 0.9em;
}

.oib-job-description {
	line-height: 1.7;
	margin-bottom: 28px;
}

.oib-job-description > *:first-child {
	margin-top: 0;
}

/* Restore normal list indentation inside the description — some themes
   zero out ul/ol padding globally (usually meant for their nav menus),
   which otherwise leaves bullets and wrapped text flush against the left
   edge instead of properly indented. */
.oib-job-description ul,
.oib-job-description ol {
	margin: 0 0 1.2em;
	padding-left: 1.8em !important;
}

.oib-job-description ul {
	list-style-type: disc;
}

.oib-job-description ol {
	list-style-type: decimal;
}

.oib-job-description ul ul,
.oib-job-description ol ol,
.oib-job-description ul ol,
.oib-job-description ol ul {
	margin: 0.3em 0 0;
}

.oib-job-description li {
	list-style-position: outside;
	margin-bottom: 0.5em;
	padding-left: 0.3em;
}

.oib-job-pdf-viewer {
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 16px;
	background: #f5f5f5;
}

.oib-job-pdf-viewer__frame {
	display: block;
	width: 100%;
	height: 75vh;
	min-height: 480px;
	max-height: 900px;
	border: 0;
}

.oib-job-download {
	margin-bottom: 20px;
}

.oib-job-download__button {
	display: inline-block;
	padding: 12px 24px;
	background: #fff;
	color: #1a1a1a;
	text-decoration: none;
	border: 2px solid #1a1a1a;
	border-radius: 4px;
	font-weight: 600;
}

.oib-job-download__button:hover {
	background: #1a1a1a;
	color: #fff;
}

.oib-job-apply {
	background: #f5f5f5;
	border-radius: 8px;
	padding: 24px;
}

.oib-job-apply--closed {
	background: #fdecea;
	color: #a00;
}

.oib-job-apply__button {
	display: inline-block;
	padding: 12px 24px;
	background: #1a1a1a;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
}

.oib-job-apply__button:hover {
	background: #333;
	color: #fff;
}

.oib-job-apply__note {
	margin: 12px 0 0;
	font-size: 0.9em;
	color: #555;
}

/* ---------- Standalone single job page (fallback template only —
   used before the shortcode is placed on any page) ---------- */

.oib-job-banner {
	/* Full-bleed banner even inside a theme's centered content column. */
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	max-height: 420px;
	overflow: hidden;
}

.oib-job-banner__image {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

.oib-job-single__inner {
	max-width: 800px;
	margin: 0 auto;
	padding: 40px 20px;
}

.oib-job-header {
	margin-bottom: 24px;
	border-bottom: 1px solid #eee;
	padding-bottom: 20px;
}

.oib-job-header__title {
	margin: 0 0 8px;
}

.oib-job-back {
	margin-top: 24px;
}
