.jt-offers-surface .jt-entry-header {
	display: none;
}

.jt-offers-surface .entry-content.jt-prose {
	max-width: none;
	padding-inline: 0;
}

.jt-offers-hub,
.jt-offer-page__inner {
	width: min(100% - 2rem, 1240px);
	margin-inline: auto;
	padding-block: clamp(3rem, 8vw, 7rem);
}

.jt-offers-hero {
	max-width: 980px;
	margin-bottom: clamp(2rem, 5vw, 4rem);
}

.jt-offers-hero h1,
.jt-offer-single h1 {
	max-width: 18ch;
	margin: 0.2em 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.8rem, 7vw, 6.6rem);
	font-weight: 900;
	letter-spacing: -0.055em;
	line-height: 0.9;
	text-transform: uppercase;
}

.jt-offers-hero > p:last-child {
	max-width: 72ch;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.jt-offers-search {
	margin-bottom: 2rem;
	padding: clamp(1rem, 3vw, 1.8rem);
	border: 2px solid var(--jt-rule);
	background: var(--jt-paper-light);
	box-shadow: var(--jt-shadow);
	color: var(--jt-ink);
}

.jt-offers-search__main {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
	align-items: end;
	gap: 1rem;
}

.jt-offers-search label,
.jt-offers-filters label {
	display: grid;
	gap: 0.35rem;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.jt-offers-search input,
.jt-offers-search select {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.8rem;
	border: 2px solid var(--jt-rule);
	border-radius: 0;
	background: #fff;
	color: var(--jt-ink);
	font: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.jt-offers-search button,
.jt-offer-single button {
	min-height: 48px;
	padding: 0.75rem 1.1rem;
	border: 2px solid var(--jt-rule);
	border-radius: 0;
	background: var(--jt-ink);
	color: var(--jt-paper-light);
	font-weight: 900;
	cursor: pointer;
}

.jt-offers-search button:hover,
.jt-offer-single button:hover {
	background: var(--jt-vermilion);
}

.jt-offers-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
	align-items: end;
	gap: 0.8rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid color-mix(in srgb, var(--jt-rule), transparent 65%);
}

.jt-offers-filters > a {
	padding-bottom: 0.8rem;
	font-size: 0.85rem;
	font-weight: 800;
}

.jt-offers-warning {
	margin: 0 0 1.5rem;
	padding: 0.8rem 1rem;
	border-left: 6px solid var(--jt-mustard);
	background: var(--jt-paper-light);
}

.jt-offers-results-heading {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin: 1.8rem 0 1rem;
}

.jt-offers-results-heading p {
	margin: 0;
}

.jt-offers-local-note {
	color: var(--jt-muted);
	font-size: 0.9rem;
}

.jt-offers-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.jt-offer-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 320px;
	padding: 1.25rem;
	border: 2px solid var(--jt-rule);
	background: var(--jt-paper-light);
	/* Reset: parent .jt-offers sets color: paper-light on vermilion. */
	color: var(--jt-ink);
	transition: transform 140ms ease, box-shadow 140ms ease;
}

.jt-offer-card:hover {
	box-shadow: 5px 5px 0 var(--jt-ink);
	transform: translate(-2px, -2px);
}

.jt-offer-card__topline {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 0.75rem;
}

.jt-offer-source {
	display: inline-block;
	padding: 0.25rem 0.45rem;
	border: 2px solid currentcolor;
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.jt-offer-favorite {
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--jt-ink);
	font-size: 1.7rem;
	line-height: 1;
	cursor: pointer;
}

.jt-offer-favorite[aria-pressed="true"] {
	color: var(--jt-vermilion);
}

.jt-offer-card h3 {
	margin: 1rem 0 0.4rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.3rem, 2.1vw, 1.8rem);
	letter-spacing: -0.025em;
	line-height: 1;
}

.jt-offer-card h3 a {
	color: inherit;
	text-decoration: none;
}

.jt-offer-card h3 a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.jt-offer-card {
	position: relative;
}

.jt-offer-card button,
.jt-offer-card footer a {
	position: relative;
	z-index: 1;
}

.jt-offer-company {
	margin: 0.2rem 0;
	font-weight: 800;
}

.jt-offer-details {
	color: var(--jt-muted);
	font-size: 0.92rem;
}

.jt-offer-compensation {
	color: var(--jt-vermilion);
	font-weight: 900;
}

.jt-offer-card footer {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid color-mix(in srgb, var(--jt-rule), transparent 70%);
	font-size: 0.8rem;
}

.jt-offer-card footer a {
	font-weight: 900;
}

.jt-offer-card--compact {
	min-height: 285px;
}

.jt-offers-more {
	margin-top: 1.5rem;
	text-align: center;
}

.jt-offers-more .wp-element-button:hover {
	background-color: var(--jt-ink);
	color: var(--jt-paper-light);
}

.jt-offers-empty,
.jt-offer-missing {
	padding: clamp(2rem, 5vw, 4rem);
	border: 2px solid var(--jt-rule);
	background: var(--jt-paper-light);
	color: var(--jt-ink);
	text-align: center;
}

.jt-offers-empty h2,
.jt-offer-missing h1 {
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
}

.jt-offers-pagination {
	margin-top: 2rem;
}

.jt-offers-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	padding: 0;
	list-style: none;
}

.jt-offers-pagination a,
.jt-offers-pagination span {
	display: grid;
	min-width: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
	padding: 0.4rem;
	border: 2px solid var(--jt-rule);
	background: var(--jt-paper-light);
	color: var(--jt-ink);
	font-weight: 900;
	text-decoration: none;
}

.jt-offers-pagination .current {
	background: var(--jt-ink);
	color: var(--jt-paper-light);
}

.jt-offer-page__inner {
	max-width: 980px;
}

.jt-offer-single {
	padding: clamp(1.25rem, 4vw, 3rem);
	border: 2px solid var(--jt-rule);
	background: var(--jt-paper-light);
	box-shadow: var(--jt-shadow);
	color: var(--jt-ink);
}

.jt-offer-single h1 {
	margin-top: 0.5rem;
	font-size: clamp(2.4rem, 6vw, 5.5rem);
}

.jt-offer-single__company {
	margin-bottom: 0.2rem;
	font-size: 1.35rem;
	font-weight: 900;
}

.jt-offer-single__details {
	color: var(--jt-muted);
	font-size: 1.05rem;
}

.jt-offer-single__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 2rem 0;
	padding: 1.25rem 0;
	border-block: 2px solid var(--jt-rule);
}

.jt-offer-single__actions .wp-element-button {
	display: inline-flex;
	align-items: center;
}

.jt-offer-single__description {
	max-width: 74ch;
}

.jt-offer-single__description h2 {
	margin-top: 2rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 4vw, 3.5rem);
	text-transform: uppercase;
}

.jt-offer-attribution {
	margin-top: 2rem;
	padding: 1rem;
	border-left: 6px solid var(--jt-blue);
	background: var(--jt-paper);
	font-size: 0.9rem;
}

.jt-offers-status {
	min-height: 1.5em;
	margin-top: 0.75rem;
	font-weight: 800;
}

@media (max-width: 900px) {
	.jt-offers-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jt-offers-search__main {
		grid-template-columns: 1fr 1fr;
	}

	.jt-offers-search__main button {
		grid-column: 1 / -1;
	}

	.jt-offers-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.jt-offers-hub,
	.jt-offer-page__inner {
		width: min(100% - 1.25rem, 1240px);
	}

	.jt-offers-grid,
	.jt-offers-search__main,
	.jt-offers-filters {
		grid-template-columns: 1fr;
	}

	.jt-offer-card {
		min-height: 0;
	}

	.jt-offers-results-heading,
	.jt-offer-card footer {
		align-items: start;
		flex-direction: column;
	}

	.jt-offer-single {
		box-shadow: 4px 4px 0 var(--jt-ink);
	}
}

@media (prefers-reduced-motion: reduce) {
	.jt-offer-card {
		transition: none;
	}
}

.jt-offers-bridge {
	margin: 2rem 0;
	padding: 1.25rem;
	border: 2px solid var(--jt-ink, #1f1a14);
	background: #fffaf3;
}

.jt-offers-bridge__header h2 {
	margin: 0 0 0.4rem;
	font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.jt-offers-bridge__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	margin: 1rem 0;
}

.jt-offers-bridge__more {
	margin: 0;
	font-weight: 700;
}

.jt-offers-bridge--empty {
	background: #f7f2ea;
}
