/*!
 * Forum Sozial e.V. - 07-overrides partial.
 * XD 2026 overrides: member area + public jobs rebuild, query loop (deduplicated).
 * NOTE: cascade order is significant - see inc/enqueue.php.
 */

/* ─── XD 2026 member area and jobs rebuild ───────────────────────────── */

.fsev-site-header__inner.fsev-member-header__inner{
	padding-bottom: var(--wp--preset--spacing--50);
}

.fsev-job-filterbar button {
	background: var(--wp--preset--color--white);
	border: 2px solid var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--forum-blue);
	font-family: var(--wp--preset--font-family--finlandica-text);
	font-size: var(--wp--preset--font-size--subheading);
	font-weight: 600;
	line-height: 1.2;
	padding: 6px 20px;
	text-decoration: none;
}

/* "Zurück" is a plain underlined text link on the Veranstaltungen choice
   page (patterns/page-mitglieder-veranstaltungen.php) - the only remaining
   place still using the bare .fsev-member-subpage__back markup. Everywhere
   else it's now a proper .is-style-arrow-back button (Jobs-Übersicht, Neuer
   Job, and the sidebar variant .fsev-member-aside__back), which must not
   inherit this underline treatment. */
.fsev-member-subpage__back a {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--body);
	text-decoration: underline;
}

.fsev-member-subpage__back a:hover {
	text-decoration: none;
}

.fsev-member-subpage__back.is-style-arrow-back a {
	text-decoration: none;
}

.fsev-member-home__intro {
	padding: var(--wp--preset--spacing--3-xl) 0 var(--wp--preset--spacing--50);
}

/* Profil verwalten has no "Zurück" element above its H1 (it lives in the
   sidebar instead) - without its own top spacing the heading sat flush
   against the header separator, same issue as .fsev-event-signup__main. */
.fsev-profile-header {
	padding-top: var(--wp--preset--spacing--50);
}
.fsev-profile-header > p:first-of-type {
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--50);
}

.fsev-member-home__intro h1,
.fsev-member-subpage h1,
.fsev-event-signup h1 {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--page-title);
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--l);
}

.fsev-member-home__intro p,
.fsev-member-subpage > p,
.fsev-event-signup > p {
	margin: 0;
}

.fsev-member-home__band {
	background: var(--wp--preset--color--ice-blue);
}

.fsev-member-hub-grid {
	background: transparent;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 0;
}

.fsev-member-hub-card {
	padding: 0 26px;
}

.fsev-member-hub-card:first-child {
	padding-left: 0;
}

.fsev-member-hub-card:last-child {
	padding-right: 0;
}

.fsev-member-hub-card h2 {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--subheading);
	font-weight: 600;
	margin: 0 0 8px;
}

.fsev-member-subpage__titlebar h1,
.fsev-public-jobs h1 {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--section);
	margin: 0 0 8px;
}

.fsev-job-single-view h1 {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--page-title);
	font-weight: 600;
	margin: 0 0 8px;
}

.fsev-member-hub-card p {
	margin: 0 0 18px;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.35;
}

.fsev-member-hub-links {
	display: grid;
	gap: 9px;
}

/* Shared icon-link treatment: 32px circle-chevron icon + text underlined only
   on its own span (the global link style underlines the whole <a> by default,
   which would otherwise run the line under the icon too). Used by the member
   dashboard hub cards, the profile sidebar links, and any other member-area
   "Zur Sache ›" style link via the generic .fsev-icon-link class. */
.fsev-member-hub-links a,
.fsev-icon-link,
.fsev-sidebar-links a {
	align-items: center;
	color: var(--wp--preset--color--forum-blue);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--body);
	gap: 10px;
	text-decoration: none;
}

.fsev-member-hub-links a:before,
.fsev-icon-link:before,
.fsev-sidebar-links a:before {
	background: url('../icons/circle-chevron-right-solid-sharp.svg') center / contain no-repeat;
	content: "";
	flex: 0 0 32px;
	height: 32px;
	transform-origin: center;
	transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
	width: 32px;
}

.fsev-member-hub-link__text,
.fsev-icon-link__text {
	text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
	.fsev-member-hub-links a:hover .fsev-member-hub-link__text,
	.fsev-icon-link:hover .fsev-icon-link__text {
		text-decoration: none;
	}

	.fsev-member-hub-links a:hover:before,
	.fsev-icon-link:hover:before,
	.fsev-sidebar-links a:hover:before {
		transform: translateX(3px) scale(1.06);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fsev-member-hub-links a:before,
	.fsev-icon-link:before,
	.fsev-sidebar-links a:before {
		transition: none;
	}

	.fsev-member-hub-links a:hover:before,
	.fsev-icon-link:hover:before,
	.fsev-sidebar-links a:hover:before {
		transform: none;
	}
}

.fsev-arrow-link {
	align-items: center;
	color: var(--wp--preset--color--forum-blue);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--body);
	gap: 10px;
	text-decoration: underline;
}

.fsev-arrow-link:before {
	align-items: center;
	background: var(--wp--preset--color--forum-blue);
	border-radius: 50%;
	color: var(--wp--preset--color--white);
	content: "\203a";
	display: inline-flex;
	flex: 0 0 26px;
	font-size: 26px;
	font-weight: 700;
	height: 26px;
	justify-content: center;
	line-height: 1;
	width: 26px;
}

.fsev-member-logout-row {
	padding-block: 50px;
	border-bottom: 2px solid var(--wp--preset--color--forum-blue);
}
.fsev-member-logout-row p{
	margin: 0;
}

.fsev-member-logout-row a {
	color: var(--wp--preset--color--forum-blue);
	text-decoration: underline;
}

.fsev-member-logout-row a:hover {
	text-decoration: none;
}

.fsev-member-faq {
	padding-top: 50px;
}

.fsev-member-faq h2 {
	margin: 0;
}

.fsev-member-faq-grid {
	display: block;
	columns: 2;
	gap: var(--wp--preset--spacing--50);
}
.fsev-member-faq-item:nth-child(even) {
	margin-top: var(--wp--preset--spacing--xl);
}

@media (max-width: 700px) {
	.fsev-member-faq-grid {
		columns: 1;
	}

	.fsev-member-faq-item:nth-child(even) {
		margin-top: 0;
	}

	.fsev-member-faq-item:not(:first-child) {
		margin-top: var(--wp--preset--spacing--xl);
	}
}

.fsev-member-faq-item h3 {
	color: var(--wp--preset--color--body-text);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	margin: 0 0 10px;
	line-height: 1.3;
}


.fsev-member-faq-item p {
	margin: 0;
	line-height: 1.35;
}

.fsev-member-subpage__back,
.fsev-member-aside__back {
	margin-bottom: 28px;
}

.fsev-member-subpage__titlebar {
	align-items: start;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--wp--preset--color--forum-blue);
}

.fsev-member-jobs-list {
	display: grid;
	gap: 14px;
	margin-top: 34px;
}

.fsev-member-jobs-list article,
.fsev-empty-panel {
	background: var(--wp--preset--color--ice-blue);
	padding: 22px;
}

.fsev-member-jobs-list h2 {
	font-size: var(--wp--preset--font-size--subheading);
	margin: 0 0 6px;
}

.fsev-member-jobs-list p,
.fsev-member-jobs-list span {
	font-size: var(--wp--preset--font-size--small-copy);
	margin: 0;
}

.fsev-jobs-list-actions {
	display: flex;
	gap: 8px;
	margin-top: 14px;
}

.fsev-panel-form {
	display: grid;
	gap: 22px;
	margin-top: 34px;
}

.fsev-panel-form input,
.fsev-panel-form select,
.fsev-panel-form textarea,
.fsev-edit-form input,
.fsev-edit-form select,
.fsev-edit-form textarea {
	background: var(--wp--preset--color--ice-blue);
	border: 1px solid var(--wp--preset--color--forum-blue);
	border-radius: 5px;
	color: var(--wp--preset--color--body-text);
	font-family: var(--wp--preset--font-family--finlandica-text);
	font-size: var(--wp--preset--font-size--body);
	padding: 10px 12px;
}

.fsev-panel-form label {
	color: var(--wp--preset--color--body-text);
	font-weight: 600;
}

/* Stellenbeschreibung: classic-editor (TinyMCE) chrome matched to the
   ice-blue/forum-blue form fields around it. */
.fsev-panel-form .wp-editor-container,
.fsev-edit-form .wp-editor-container {
	border: 1px solid var(--wp--preset--color--forum-blue);
}

.fsev-panel-form .wp-editor-tabs,
.fsev-edit-form .wp-editor-tabs {
	border: 1px solid var(--wp--preset--color--forum-blue);
	border-bottom: none;
}

.fsev-event-signup {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 52px;
}

/* Unlike the other member subpages, this page has no "Zurück" element above
   its H1 (that link now lives in the sidebar) - without its own top spacing
   the heading sat flush against the header separator. */
.fsev-event-signup__main {
	padding-top: var(--wp--preset--spacing--50);
}

.fsev-event-signup__main h2 {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--section);
	font-weight: 600;
	margin: 0;
	padding-top: var(--wp--preset--spacing--50);
}

.fsev-event-signup__main > p:first-of-type {
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--50);
}

.fsev-event-choice {
	align-items: flex-start;
	border-bottom: 1px dotted var(--wp--preset--color--muted);
	display: flex;
	gap: 10px;
	padding: 10px 0;
}

.fsev-event-choice input {
	flex: 0 0 auto;
	margin-top: 3px;
}

.fsev-inline-number {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	margin-bottom: 20px;
}

.fsev-inline-number input {
	text-align: center;
	width: 62px;
	border: 1px solid var(--wp--preset--color--forum-blue);
	border-radius: 5px;
}

/* ─── Reusable member-area sidebar (main + aside two-column layout) ─────
   Used by [fsev_event_signup], the profile sidebar, jobs and job-form pages
   for visual consistency across the member area's subpages. ─────────── */

.fsev-member-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 52px;
}

/* Lines up the "Zurück" button with the H1 in the main column, which also
   sits var(--wp--preset--spacing--50) below the header separator. */
.fsev-member-aside {
	padding-top: var(--wp--preset--spacing--50);
}

.fsev-member-aside h2 {
	margin: var(--wp--preset--spacing--50) 0 0;
}

.fsev-member-aside p {
	margin: 0;
}

.fsev-section-rule {
	border: 0;
	border-top: 2px solid var(--wp--preset--color--forum-blue);
	margin: 0;
}

.fsev-form-note {
	color: var(--wp--preset--color--body-text);
	font-size: var(--wp--preset--font-size--body);
	margin: 0 0 10px;
}

.fsev-person-row {
	margin-top: 10px;
}

.fsev-confirm-row {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-top: 20px;
}

.fsev-event-confirm {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 10px;
}

.fsev-event-confirm input {
	flex: 0 0 auto;
}

.fsev-pin-icon {
	display: inline-block;
	flex-shrink: 0;
	margin-right: 5px;
	vertical-align: middle;
}

.fsev-public-jobs .fsev-page-header,
.fsev-job-single-view .fsev-page-header {
	margin-bottom: 18px;
}

.fsev-public-jobs .fsev-page-header h1,
.fsev-job-single-view .fsev-page-header h1 {
	border-bottom: 2px solid var(--wp--preset--color--forum-blue);
	padding-bottom: var(--wp--preset--spacing--xl);
	margin-bottom: 0;
}

.fsev-job-filterbar {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 34px 0 0;
}

.fsev-job-toggle {
	display: flex;
	gap: 0;
}

.fsev-job-toggle button + button {
	border-left: 0;
}

.fsev-job-filterbar button.is-active {
	background: var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--white);
}

/* "Kreis wählen" dropdown: white box, 2px blue border, blue text, custom chevron (XD). */
.fsev-job-filterbar__right {
	position: relative;
	background: var(--wp--preset--color--white);
}

.fsev-job-filterbar__right:hover {
	background: var(--wp--preset--color--ice-blue);
}

/* Background box behind the arrow */
.fsev-job-filterbar__right::after {
	content: '';
	position: absolute;
	top: 2px;
	right: 2px;
	bottom: 2px;
	width: 45px;
	pointer-events: none;
	transition: background-color 0.2s;
	z-index: 1;
}


/* Arrow icon: rotates independently of the background */
.fsev-job-filterbar__right::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 2px;
	width: 45px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230147A8' stroke-width='2' d='M3 6l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 16px 16px;
	background-position: center;
	pointer-events: none;
	transition: transform 0.2s;
	transform: translateY(-50%);
	z-index: 2;
}

.fsev-job-filterbar__right:hover::before {
	transform: translateY(-50%) rotate(180deg);
}

.fsev-job-filterbar select {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 2px solid var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--forum-blue);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--finlandica-text);
	font-size: var(--wp--preset--font-size--subheading);
	font-weight: 600;
	line-height: 1.2;
	padding: 7px 45px 7px 15px;
	text-decoration: none;
	max-width: 200px;
}

.fsev-public-jobs__band {
	background: var(--wp--preset--color--ice-blue);
	margin-top: 34px;
	padding-top: 58px;
	padding-bottom: 80px;
}

.fsev-public-job-grid {
	background: transparent;
	display: grid;
	gap: 38px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
}


.fsev-public-job-card {
	background: var(--wp--preset--color--white);
	display: flex;
	flex-direction: column;
	min-height: 360px;
}

.fsev-public-job-card[hidden] {
	display: none;
}

.fsev-public-job-card__logo {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 124px;
	padding: 26px 24px 18px;
}

.fsev-public-job-card__logo img {
	max-height: 76px;
	max-width: 190px;
	object-fit: contain;
}

.fsev-job-logo-mark {
	color: var(--wp--preset--color--member-navy-900);
	display: inline-block;
	font-size: 40px;
	font-weight: 400;
	line-height: .9;
	padding: 14px 0 0 34px;
	position: relative;
	white-space: nowrap;
}

.fsev-job-logo-mark:before {
	background: var(--wp--preset--color--member-navy-900);
	clip-path: polygon(35% 0, 76% 14%, 76% 100%, 0 100%, 0 30%);
	content: "";
	height: 42px;
	left: 0;
	position: absolute;
	top: 11px;
	width: 27px;
}

.fsev-job-logo-mark:after {
	background: linear-gradient(100deg, transparent 0 18%, var(--wp--preset--color--accent-rose) 20% 66%, transparent 68%);
	content: "";
	height: 20px;
	left: 62px;
	position: absolute;
	top: 0;
	transform: skewX(-22deg);
	width: 118px;
}

.fsev-job-logo-mark__kiel {
	color: var(--wp--preset--color--accent-crimson);
	margin-left: 3px;
}

.fsev-job-logo-mark small {
	display: block;
	font-size: 8px;
	letter-spacing: 0;
	line-height: 1.1;
	margin-top: 2px;
}

.fsev-job-logo-text {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--section);
	font-weight: 600;
}

.fsev-public-job-card__body {
	border-top: 1px solid var(--wp--preset--color--ice-blue);
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 30px 15px 20px;
}
.fsev-public-job-card__body h2{
	margin-bottom: 0;
	padding-bottom: 15px;
}
.fsev-job-card-btn-wrapper {
	border-top: 1px solid #EDF2F9;
	padding: 25px 15px 40px;
	display: flex;
	justify-content: flex-start;
}

.fsev-public-job-card .fsev-job-tags {
	display: flex;
	gap: 10px;
	margin-bottom: 5px;
}

.fsev-public-job-card .fsev-job-tags span,
.fsev-job-facts dd span {
	background: var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--white);
	display: inline-block;
	font-size: var(--wp--preset--font-size--small-copy);
	font-weight: 600;
	line-height: 1.1;
	padding: 3px 6px;
}
.fsev-job-facts dd span:not(:last-child) {
	margin-bottom: 5px;
}

.fsev-public-job-card h3 {
	font-size: var(--wp--preset--font-size--section);
	margin: 5px 0 15px;
}

.fsev-job-location-line {
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.35;
	align-items: flex-start;
	display: flex;
	gap: 10px;
	margin: 0;
}

.fsev-job-single-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 58px;
	padding-bottom: var(--wp--preset--spacing--100);
}



/* Post content h2 headings in job description */
.fsev-job-copy h2 {
	margin-bottom: 0;
}
.fsev-job-copy p {
	margin: 0 0 20px 0;
}
.fsev-job-copy p:last-child {
	margin-bottom: 0;
}
.fsev-job-single-apply-button {
	margin-top: var(--wp--preset--spacing--50);
}



.fsev-job-divider {
	border: none;
	border-top: 2px solid var(--wp--preset--color--forum-blue);
	margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--100);
}

.fsev-job-facts img {
	display: block;
	margin: 0 0 34px;
	max-width: 230px;
}

.fsev-job-facts dl {
	margin: 0;
}

.fsev-job-facts dt {
	color: var(--wp--preset--color--body-text);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	margin-top: 30px;
	margin-bottom: 10px;
	line-height: 1.2;
}

.fsev-job-facts dt:first-child {
	margin-top: 0;
}

.fsev-job-facts dd {
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.35;
	margin: 0;
}
.fsev-job-facts dd:has(span) {
	line-height: 1;
}

.fsev-job-facts dd a {
	color: var(--wp--preset--color--forum-blue);
	text-decoration: underline;
}

.fsev-job-facts dd a:hover {
	text-decoration: none;
}
.fsev-job-facts h2 {
	margin-bottom: 0;
}

/* "Jetzt bewerben ↗" link in sidebar */
.fsev-job-apply-link {
	align-items: center;
	color: var(--wp--preset--color--forum-blue);
	display: inline-flex;
	font-weight: 600;
	gap: 5px;
	text-decoration: underline;
}

.fsev-job-apply-link:hover {
	text-decoration: none;
}

.fsev-job-apply-link svg {
	flex-shrink: 0;
}

/* ─── Job archive card refinements (XD 2026) ─────────────────────────── */

.fsev-public-job-card .fsev-job-tags span {
	font-size: var(--wp--preset--font-size--micro);
}

.fsev-public-job-card h3 a {
	color: var(--wp--preset--color--forum-blue);
	text-decoration: underline;
}

.fsev-public-job-card h3 a:hover {
	text-decoration: none;
}

.fsev-job-location-line .fsev-pin-icon {
	color: var(--wp--preset--color--forum-blue);
	flex-shrink: 0;
	margin-top: 2px;
}

.fsev-job-card-btn {
	align-self: flex-start;
	margin-top: 25px;
}

/* Card actions: button sits in its own container below the body so the
   divider spans the full card width (the body has horizontal padding). */
.fsev-public-job-card__actions {
	border-top: 1px solid var(--wp--preset--color--ice-blue);
	padding: 25px 15px 40px;
}

.fsev-public-job-card__actions .fsev-job-card-btn {
	margin-top: 0;
}

/* Front-page jobs band: background bleeds wide, but the grid + button align
   to the content column so they line up with the heading/intro above and the
   Veranstaltungen section (which sit at content-size, not wide-size). */
.fsev-band.fsev-jobs-band {
	padding-block: 80px 100px;
}

.fsev-jobs-band .fsev-public-job-grid,
.fsev-jobs-band .fsev-front-jobs-empty,
.fsev-jobs-band .wp-block-buttons {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--content-size);
}

/* Empty state of the front-page jobs band. Own class because .fsev-jobs-empty
   (jobs archive) brings its own ice-blue background and centred text - inside
   the band that would repeat the background and break the left edge the
   heading, intro and cards share. */
/* Same idea as the jobs empty state, but the events section sits in the
   normal content column, so it needs no band alignment. */
.fsev-events-empty {
	font-size: var(--wp--preset--font-size--body);
	margin: 0;
}

.fsev-front-jobs-empty p {
	font-size: var(--wp--preset--font-size--body);
	margin: 0;
}

.fsev-front-jobs-empty p + p {
	margin-top: 12px;
}

.fsev-jobs-load-more {
	margin-top: 48px;
	text-align: left;
}

.fsev-btn-load-more {
	background: transparent;
	border: 1px solid var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--forum-blue);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--finlandica-text);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 600;
	padding: 10px 20px;
}

.fsev-btn-load-more:hover {
	background: var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--white);
}

/* ─── End XD 2026 refinements ────────────────────────────────────────── */

@media (max-width: 900px) {
	.fsev-member-hub-grid,
	.fsev-event-signup,
	.fsev-member-layout,
	.fsev-public-job-grid,
	.fsev-job-single-grid {
		grid-template-columns: 1fr;
	}

	.fsev-confirm-row {
		flex-direction: column;
		align-items: flex-start;
	}

	.fsev-event-signup__side,
	.fsev-member-aside {
		order: -1;
	}

	.fsev-job-filterbar,
	.fsev-member-subpage__titlebar {
		align-items: flex-start;
		flex-direction: column;
	}

	.fsev-member-hub-card {
		border-right: 0;
		border-bottom: 1px dotted color-mix(in srgb, var(--wp--preset--color--forum-blue) 55%, transparent);
		padding: 22px 0;
	}

	.fsev-member-home__band {
		padding-top: 28px;
		padding-bottom: 42px;
	}

	.fsev-member-hub-card:last-child {
		border-bottom: 0;
	}

	.fsev-public-job-grid {
		padding: 0;
	}

	.fsev-public-jobs__band {
		padding-top: 34px;
		padding-bottom: 34px;
	}
}

/* ─── Jobs grid list reset ([fsev_jobs_grid]/[fsev_front_page_jobs]) ───── */

ul.fsev-public-job-grid {
	list-style: none;
	margin: 0;
}

ul.fsev-public-job-grid > li.wp-block-post {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.fsev-public-job-grid > li.wp-block-post[hidden] {
	display: none;
}

ul.fsev-public-job-grid > li.wp-block-post .fsev-public-job-card {
	flex: 1;
}

/* ─── Member area consistency pass (2026-07) ───────────────────────── */

/* Existing pages may still contain the old standalone profile header in
   post_content. The shortcode now owns the complete two-column page shell. */
.fsev-profile-header {
	display: none;
}

.fsev-member-home__intro {
	border-bottom: 2px solid var(--wp--preset--color--forum-blue);
	padding: var(--wp--preset--spacing--50) 0;
}

.fsev-member-home__band {
	margin-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--3-xl);
	padding-top: var(--wp--preset--spacing--50);
}

.fsev-member-subpage__main {
	min-width: 0;
	padding-bottom: var(--wp--preset--spacing--100);
	padding-top: var(--wp--preset--spacing--50);
}

.fsev-member-mobile-back {
	display: none;
}

.fsev-member-subpage__main > p,
.fsev-member-subpage__intro > p,
.fsev-member-subpage__titlebar p {
	margin: 0;
}

.fsev-member-subpage__main > p,
.fsev-member-subpage__intro {
	padding-bottom: var(--wp--preset--spacing--50);
}

.fsev-member-subpage__titlebar {
	align-items: flex-start;
	border-bottom: 2px solid var(--wp--preset--color--forum-blue);
	padding-bottom: var(--wp--preset--spacing--50);
}

.fsev-member-subpage__titlebar h1 {
	font-size: var(--wp--preset--font-size--page-title);
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--l);
}

.fsev-member-subpage__titlebar > .wp-element-button {
	flex: 0 0 auto;
	margin-top: 0;
}

.fsev-member-aside,
.fsev-profile-aside {
	min-width: 0;
	padding-bottom: var(--wp--preset--spacing--100);
}

.fsev-member-aside__back {
	margin-bottom: 0;
}

.fsev-member-aside h2 {
	font-size: var(--wp--preset--font-size--section);
	font-weight: 500;
	margin: var(--wp--preset--spacing--50) 0 16px;
	padding: 0;
}

.fsev-member-aside p {
	line-height: 1.35;
}

.fsev-sidebar-links {
	display: grid;
	gap: 12px;
}

.fsev-profile-aside__preview-copy {
	font-size: var(--wp--preset--font-size--small-copy);
}

.fsev-profile-preview-surface {
	margin-top: 18px;
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--ice-blue);
}

.fsev-profile-aside #fsev-preview-card {
	margin-top: 0;
}

.fsev-panel-form,
.fsev-profile-editor .fsev-member-form {
	gap: 30px;
	margin-top: var(--wp--preset--spacing--50);
}

.fsev-profile-editor .fsev-member-form h3 {
	border-top: 1px solid var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--section);
	font-weight: 600;
	margin: 10px 0 -10px;
	padding-top: 30px;
}

.fsev-panel-form .fsev-form-field,
.fsev-profile-editor .fsev-form-field,
.fsev-edit-form .fsev-form-field {
	gap: 8px;
}

/* Text-like inputs only - checkboxes keep the shared 27px .fsev-checkbox box. */
.fsev-panel-form input:not([type="hidden"], [type="checkbox"]),
.fsev-panel-form select,
.fsev-profile-editor .fsev-member-form input:not([type="hidden"], [type="checkbox"]),
.fsev-profile-editor .fsev-member-form select,
.fsev-edit-form input:not([type="hidden"], [type="checkbox"]),
.fsev-edit-form select {
	box-sizing: border-box;
	height: 50px;
	padding: 12px 16px;
	width: 100%;
}

.fsev-panel-form textarea,
.fsev-profile-editor .fsev-member-form textarea,
.fsev-edit-form textarea {
	box-sizing: border-box;
	height: auto;
	min-height: 160px;
	padding: 14px 16px;
	resize: vertical;
	width: 100%;
}

.fsev-panel-form input[type="file"],
.fsev-profile-editor .fsev-member-form input[type="file"] {
	padding: 10px 12px;
}

.fsev-panel-form :is(input, select, textarea):focus-visible,
.fsev-profile-editor :is(input, select, textarea):focus-visible,
.fsev-edit-form :is(input, select, textarea):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--wp--preset--color--forum-blue) 30%, transparent);
	outline-offset: 2px;
}

.fsev-panel-form .fsev-form-actions,
.fsev-profile-editor .fsev-form-actions {
	justify-content: flex-end;
	margin-top: 20px;
}

/* Privacy consent above the save button - the 27px box comes from the shared
   .fsev-checkbox rule in 03-forms.css, so this only handles the row layout. */
.fsev-form-consent {
	margin-top: 30px;
}

.fsev-form-consent__label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: var(--wp--preset--font-size--small-copy);
	font-weight: 400;
	color: var(--wp--preset--color--body-text);
	cursor: pointer;
}

.fsev-form-consent__label .fsev-checkbox {
	margin-right: 0;
}

.fsev-form-consent__label a {
	color: var(--wp--preset--color--forum-blue);
	text-decoration: underline;
}

.fsev-form-consent__label a:hover {
	text-decoration: none;
}

.fsev-form-consent .fsev-form-hint {
	display: block;
	margin-top: 8px;
	padding-left: 37px;
}

.fsev-member-jobs-toolbar {
	justify-content: flex-end;
	margin-top: 30px;
}

.fsev-member-jobs-toolbar .wp-block-button__link {
	font-size: var(--wp--preset--font-size--body);
}

.fsev-member-jobs-list {
	gap: 20px;
	margin-top: 30px;
}

.fsev-member-jobs-list article {
	background: var(--wp--preset--color--ice-blue);
	border-left: 4px solid var(--wp--preset--color--forum-blue);
	display: flex;
	flex-direction: column;
	padding: 0;
	transition: background-color 180ms ease, transform 180ms ease;
}

.fsev-member-job-card__content {
	padding: 26px 30px 24px;
}

.fsev-member-jobs-list h2 {
	font-size: var(--wp--preset--font-size--subheading);
	line-height: 1.2;
	margin: 0 0 22px;
	padding: 0;
}

.fsev-member-jobs-list h2 a {
	color: var(--wp--preset--color--forum-blue);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.fsev-member-job-card__facts {
	display: grid;
	gap: 18px 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fsev-member-job-card__facts > div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.fsev-member-job-card__facts span {
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 600;
	letter-spacing: 0.035em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fsev-member-job-card__facts strong {
	font-size: var(--wp--preset--font-size--small-copy);
	font-weight: 500;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.fsev-member-job-card__footer {
	align-items: flex-end;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--forum-blue) 24%, transparent);
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-top: auto;
	padding: 18px 30px 22px;
}

.fsev-member-job-card__status {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--forum-blue);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 600;
	line-height: 1;
	padding: 6px 8px;
}

.fsev-jobs-list-actions {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(118px, 1fr));
	margin: 0;
}

.fsev-jobs-list-actions .fsev-btn-edit,
.fsev-jobs-list-actions .fsev-btn-delete {
	width: 100%;
}

.fsev-empty-panel {
	margin-top: 30px;
	padding: 24px 28px;
}

.fsev-empty-panel p {
	margin: 0;
}

@media (hover: hover) and (pointer: fine) {
	.fsev-member-jobs-list article:hover {
		background: color-mix(in srgb, var(--wp--preset--color--ice-blue) 82%, var(--wp--preset--color--white));
		transform: translateX(2px);
	}
}

/* Compact edit modal: title and actions stay fixed while only the fields scroll. */
.fsev-edit-modal__content {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	max-height: min(78vh, 760px);
	max-width: 704px;
	overflow: hidden;
	padding: 28px 30px;
	width: min(90%, 704px);
}

.fsev-edit-modal__content h3 {
	flex: 0 0 auto;
	margin: 0 0 20px;
	padding: 0;
}

.fsev-edit-form {
	display: grid;
	flex: 1 1 auto;
	grid-template-rows: minmax(0, 1fr) auto;
	min-height: 0;
}

.fsev-edit-form__body {
	overflow-y: auto;
	padding-right: 12px;
	scrollbar-gutter: stable;
}

.fsev-edit-form .fsev-form-actions {
	align-items: stretch;
	background: var(--wp--preset--color--white);
	border-top: 1px solid var(--wp--preset--color--forum-blue);
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 140px));
	justify-content: end;
	margin-top: 18px;
	padding-top: 18px;
}

.fsev-edit-form .fsev-form-actions button {
	height: 40px;
	width: 100%;
}

.fsev-edit-form .fsev-form-status {
	grid-column: 1 / -1;
	text-align: right;
}

.fsev-btn-edit,
.fsev-btn-delete,
.fsev-btn-cancel {
	align-items: center;
	border: 2px solid var(--wp--preset--color--forum-blue);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--finlandica-text);
	font-size: var(--wp--preset--font-size--small-copy);
	font-weight: 600;
	justify-content: center;
	margin: 0;
	min-height: 38px;
	padding: 7px 14px;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.fsev-btn-edit {
	background: var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--white);
}

.fsev-btn-delete,
.fsev-btn-cancel {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--forum-blue);
}

.fsev-btn-edit:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--forum-blue);
}

.fsev-btn-delete:hover,
.fsev-btn-cancel:hover {
	background: var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--white);
}

.fsev-btn-edit:active,
.fsev-btn-delete:active,
.fsev-btn-cancel:active {
	transform: translateY(1px);
}

.fsev-btn-edit:focus-visible,
.fsev-btn-delete:focus-visible,
.fsev-btn-cancel:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--wp--preset--color--forum-blue) 30%, transparent);
	outline-offset: 2px;
}

.fsev-member-events-landing__actions {
	margin-top: var(--wp--preset--spacing--50);
}

.fsev-modal-open {
	overflow: hidden;
}

.fsev-job-delete-confirm {
	background: var(--wp--preset--color--white);
	border-top: 2px solid var(--wp--preset--color--forum-blue);
	padding: 18px 30px 22px;
}

.fsev-job-delete-confirm[hidden] {
	display: none;
}

.fsev-job-delete-confirm p {
	font-weight: 600;
	margin: 0 0 14px;
}

.fsev-job-delete-confirm > div {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(118px, 1fr));
	max-width: 256px;
}

.fsev-btn-confirm-delete,
.fsev-btn-cancel-delete {
	align-items: center;
	border: 2px solid var(--wp--preset--color--forum-blue);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--finlandica-text);
	font-size: var(--wp--preset--font-size--small-copy);
	font-weight: 600;
	height: 38px;
	justify-content: center;
	padding: 7px 14px;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
	width: 100%;
}

.fsev-btn-confirm-delete {
	background: var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--white);
}

.fsev-btn-cancel-delete {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--forum-blue);
}

.fsev-btn-confirm-delete:hover,
.fsev-btn-cancel-delete:hover {
	background: var(--wp--preset--color--forum-blue);
	color: var(--wp--preset--color--white);
}

.fsev-btn-confirm-delete:focus-visible,
.fsev-btn-cancel-delete:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--wp--preset--color--forum-blue) 30%, transparent);
	outline-offset: 2px;
}

.fsev-job-delete-confirm .fsev-form-status:not(:empty) {
	display: block;
	margin-top: 12px;
}
@media (max-width: 900px) {
	.fsev-member-layout {
		gap: 0;
	}

	.fsev-member-mobile-back {
		display: flex;
		margin-bottom: var(--wp--preset--spacing--50);
	}

	.fsev-member-subpage__main + .fsev-member-aside,
	.fsev-event-signup__main + .fsev-member-aside {
		border-top: 2px solid var(--wp--preset--color--forum-blue);
		margin-top: var(--wp--preset--spacing--50);
		order: 0;
		padding-top: var(--wp--preset--spacing--50);
	}

	.fsev-member-subpage__main + .fsev-member-aside .fsev-member-aside__back,
	.fsev-event-signup__main + .fsev-member-aside .fsev-member-aside__back {
		display: none;
	}

	.fsev-member-subpage__titlebar > .wp-element-button {
		margin-top: 20px;
	}
}

@media (max-width: 700px) {
	.fsev-member-job-card__facts {
		grid-template-columns: 1fr;
	}

	.fsev-member-job-card__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.fsev-jobs-list-actions {
		width: 100%;
	}

	.fsev-member-jobs-toolbar {
		justify-content: flex-start;
	}

	.fsev-edit-modal__content {
		max-height: 82vh;
		padding: 22px 20px;
		width: calc(100% - 24px);
	}

	.fsev-edit-form .fsev-form-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fsev-member-subpage__main {
		padding-top: 0;
	}

	.fsev-member-subpage__main,
	.fsev-member-aside,
	.fsev-profile-aside {
		padding-bottom: var(--wp--preset--spacing--50);
	}

	.fsev-member-subpage__titlebar > .wp-element-button,
	.fsev-panel-form .fsev-form-actions .wp-element-button,
	.fsev-profile-editor .fsev-form-actions .wp-element-button {
		width: 100%;
	}

	.fsev-panel-form .fsev-form-actions,
	.fsev-profile-editor .fsev-form-actions {
		align-items: stretch;
		flex-direction: column;
	}
}
