/* Flytta till Polen – Jobbaggregator */
.ftpj-board{margin-top:2rem}
.ftpj-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end;padding:1rem;border:1px solid #dedad1;border-radius:16px;background:#f8f7f3}
.ftpj-filters label{display:grid;gap:.4rem;font-weight:700}
.ftpj-filters select{width:100%;padding:.7rem;border:1px solid #cbc7bd;border-radius:9px;background:#fff;font:inherit}
.ftpj-filters button,.ftpj-apply{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border:0;border-radius:9px;background:#b4232d;color:#fff!important;font-weight:800;text-decoration:none}
.ftpj-count{margin:1.2rem 0;color:#667085}
.ftpj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem}
.ftpj-card{display:flex;flex-direction:column;padding:1.2rem;border:1px solid #e1ddd4;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(23,32,51,.06)}
.ftpj-card h2{margin:.7rem 0 .35rem;font-size:1.28rem;line-height:1.25}
.ftpj-card-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.ftpj-card-tags span{padding:.3rem .55rem;border-radius:999px;background:#f5e7e9;color:#a51f2a;font-size:.78rem;font-weight:800}
.ftpj-company{font-weight:750;margin:.25rem 0}
.ftpj-location{color:#475467;margin:.1rem 0 .7rem}
.ftpj-card-footer{display:flex;align-items:end;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:1rem}
.ftpj-card-footer a{font-weight:800}
.ftpj-source{display:block;margin-top:.7rem;color:#667085}
.ftpj-pagination{margin:2rem 0;text-align:center}
.ftpj-pagination .page-numbers{display:inline-flex;margin:.2rem;padding:.45rem .7rem;border:1px solid #ddd8cf;border-radius:7px;text-decoration:none}
.ftpj-job-details{margin:1.5rem 0;padding:1.15rem;border:1px solid #dedad1;border-radius:15px;background:#f8f7f3}
.ftpj-job-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;margin:0}
.ftpj-job-details dl div{padding-bottom:.55rem;border-bottom:1px solid #e4e0d7}
.ftpj-job-details dt{font-weight:800}
.ftpj-job-details dd{margin:.2rem 0 0}
.ftpj-disclaimer,.ftpj-source-note{padding:1rem;border-left:4px solid #b4232d;background:#fff5f5;font-size:.92rem}
@media(max-width:760px){.ftpj-filters{grid-template-columns:1fr}.ftpj-job-details dl{grid-template-columns:1fr}.ftpj-card-footer{align-items:flex-start;flex-direction:column}}


/* 1.0.1 – improved individual job page */
.single-ftp_job .wp-block-post-title,
.single-ftp_job .entry-title,
.single-ftp_job main > h1 {
	max-width: 980px !important;
	margin-inline: auto !important;
	font-size: clamp(2.35rem, 6vw, 4.8rem) !important;
	line-height: 1.02 !important;
	letter-spacing: -.035em !important;
	overflow-wrap: break-word !important;
}

.single-ftp_job .wp-block-post-content,
.single-ftp_job .entry-content {
	width: min(100% - 2rem, 980px) !important;
	max-width: 980px !important;
	margin-inline: auto !important;
}

.ftpj-single-card {
	margin: 1.5rem 0 2rem;
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px solid #dedad1;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 40px rgba(23,32,51,.07);
}

.ftpj-single-badges {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-bottom: 1rem;
}

.ftpj-single-badges span {
	padding: .35rem .65rem;
	border-radius: 999px;
	background: #f5e7e9;
	color: #a51f2a;
	font-size: .82rem;
	font-weight: 800;
}

.ftpj-single-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem 1.25rem;
	margin: 0;
}

.ftpj-single-details > div {
	padding: .7rem 0;
	border-bottom: 1px solid #e8e4dc;
}

.ftpj-single-details dt {
	font-weight: 800;
	color: #172033;
}

.ftpj-single-details dd {
	margin: .2rem 0 0;
	color: #475467;
}

.ftpj-apply-wrap {
	margin: 1.25rem 0 .5rem;
}

.ftpj-last-checked {
	margin: .75rem 0 0;
	color: #667085;
	font-size: .86rem;
}

.ftpj-summary {
	margin: 2rem 0 1.25rem;
}

.ftpj-summary h2 {
	margin-bottom: .75rem;
	font-size: clamp(1.45rem, 3vw, 2rem);
}

@media (max-width: 680px) {
	.single-ftp_job .wp-block-post-title,
	.single-ftp_job .entry-title,
	.single-ftp_job main > h1 {
		font-size: clamp(2rem, 10vw, 3rem) !important;
	}

	.ftpj-single-details {
		grid-template-columns: 1fr;
	}

	.ftpj-apply {
		width: 100%;
		text-align: center;
	}
}


/* 1.0.2 – import-form improvements */
.post-type-ftp_job select[name="manual_city"],
.post-type-ftp_job select[name="manual_category"],
.post-type-ftp_job select[name="manual_work_mode"] {
	min-width: 280px;
	max-width: 100%;
}


/* 1.0.3 – job editor classification controls */
.post-type-ftp_job #ftpj_job_details select {
	min-width: 280px;
	max-width: 100%;
}


/* 1.0.4 – prominent jobs landing hero */
.ftpj-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, .75fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	margin: 0 0 2.25rem;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border-radius: 24px;
	background:
		radial-gradient(circle at top right, rgba(180,35,45,.14), transparent 34%),
		linear-gradient(135deg, #172033 0%, #202b43 100%);
	color: #fff;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(23,32,51,.18);
}

.ftpj-hero::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -120px;
	width: 280px;
	height: 280px;
	border: 46px solid rgba(255,255,255,.05);
	border-radius: 50%;
	pointer-events: none;
}

.ftpj-hero-copy,
.ftpj-hero-stats {
	position: relative;
	z-index: 1;
}

.ftpj-eyebrow {
	margin: 0 0 .65rem;
	color: #b4232d;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ftpj-hero .ftpj-eyebrow {
	color: #ffd8dc;
}

.ftpj-hero h2 {
	max-width: 720px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(2.15rem, 4.6vw, 3.85rem) !important;
	line-height: 1.02 !important;
	letter-spacing: -.035em !important;
	text-wrap: balance;
}

.ftpj-hero-lead {
	max-width: 760px;
	margin: 1.15rem 0 0;
	color: rgba(255,255,255,.86);
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	line-height: 1.55;
}

.ftpj-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.5rem;
}

.ftpj-hero-primary,
.ftpj-hero-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .75rem 1rem;
	border-radius: 10px;
	font-weight: 850;
	text-decoration: none !important;
}

.ftpj-hero-primary {
	background: #c92b36;
	color: #fff !important;
}

.ftpj-hero-primary:hover,
.ftpj-hero-primary:focus {
	background: #e03844;
}

.ftpj-hero-secondary {
	border: 1px solid rgba(255,255,255,.28);
	background: rgba(255,255,255,.08);
	color: #fff !important;
}

.ftpj-hero-stats {
	display: grid;
	gap: .75rem;
}

.ftpj-hero-stats > div {
	display: grid;
	gap: .15rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 14px;
	background: rgba(255,255,255,.07);
	backdrop-filter: blur(8px);
}

.ftpj-hero-stats strong {
	color: #fff;
	font-size: 1.25rem;
	line-height: 1.1;
}

.ftpj-hero-stats span {
	color: rgba(255,255,255,.72);
	font-size: .86rem;
}

.ftpj-section-heading {
	margin: 0 0 1.15rem;
}

.ftpj-section-heading h2 {
	margin: 0 0 .55rem;
	font-size: clamp(1.8rem, 4vw, 3rem);
	line-height: 1.08;
}

.ftpj-section-heading p:last-child {
	max-width: 760px;
	margin-bottom: 0;
	color: #475467;
}

@media (max-width: 860px) {
	.ftpj-hero {
		grid-template-columns: 1fr;
	}

	.ftpj-hero-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.ftpj-hero {
		margin-inline: -.25rem;
		padding: 1.35rem;
		border-radius: 18px;
	}

	.ftpj-hero h2 {
		font-size: clamp(2rem, 9.5vw, 2.85rem) !important;
		line-height: 1.05 !important;
	}

	.ftpj-hero-actions {
		flex-direction: column;
	}

	.ftpj-hero-primary,
	.ftpj-hero-secondary {
		width: 100%;
	}

	.ftpj-hero-stats {
		grid-template-columns: 1fr;
	}

	.ftpj-section-heading h2 {
		font-size: 2rem;
	}
}


/* 1.0.6 – stable hero and responsive filters */
.ftpj-board .ftpj-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 1.5rem !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: clamp(1.35rem, 4vw, 2.5rem) !important;
	overflow: hidden !important;
}

.ftpj-board .ftpj-hero-copy,
.ftpj-board .ftpj-hero-stats {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.ftpj-board .ftpj-hero h2 {
	max-width: 680px !important;
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(2rem, 5vw, 3.2rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -.03em !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	text-wrap: balance;
}

.ftpj-board .ftpj-hero-lead {
	max-width: 760px !important;
	font-size: clamp(1rem, 2.2vw, 1.18rem) !important;
	line-height: 1.55 !important;
}

.ftpj-board .ftpj-hero-stats {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: .75rem !important;
}

.ftpj-board .ftpj-hero-stats > div {
	min-width: 0 !important;
	padding: .9rem 1rem !important;
}

.ftpj-board .ftpj-hero-stats strong,
.ftpj-board .ftpj-hero-stats span {
	display: block !important;
	max-width: 100% !important;
	overflow-wrap: break-word !important;
}

.ftpj-board .ftpj-filters {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr)) !important;
	gap: .85rem !important;
	align-items: end !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 1rem !important;
	overflow: hidden !important;
}

.ftpj-board .ftpj-filters label,
.ftpj-board .ftpj-filters select,
.ftpj-board .ftpj-filters button {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.ftpj-board .ftpj-filters label {
	overflow: hidden !important;
}

.ftpj-board .ftpj-filters select {
	display: block !important;
	padding: .72rem 2.25rem .72rem .72rem !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

.ftpj-board .ftpj-filters button {
	min-height: 46px !important;
}

@media (max-width: 700px) {
	.ftpj-board .ftpj-hero {
		padding: 1.25rem !important;
		border-radius: 18px !important;
	}

	.ftpj-board .ftpj-hero h2 {
		font-size: clamp(1.9rem, 9vw, 2.55rem) !important;
	}

	.ftpj-board .ftpj-hero-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	.ftpj-board .ftpj-hero-actions a {
		width: 100% !important;
	}

	.ftpj-board .ftpj-hero-stats {
		grid-template-columns: 1fr !important;
	}

	.ftpj-board .ftpj-filters {
		grid-template-columns: 1fr !important;
	}
}


/* 1.1.0 – API administration */
.ftpj-code-example {
	max-width: 760px;
	padding: 1rem;
	border: 1px solid #c7c7c7;
	border-radius: 6px;
	background: #f6f7f7;
	overflow-x: auto;
}

.ftpj-ai-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: .75rem;
	max-width: 1050px;
	margin: 1rem 0;
}

.ftpj-ai-summary > div {
	display: grid;
	gap: .2rem;
	padding: 1rem;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	background: #fff;
}

.ftpj-ai-summary strong {
	font-size: 1.25rem;
}

.ftpj-ai-summary span {
	color: #646970;
}

.ftpj-log-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	margin-bottom: 1rem;
}


/* 1.2.0 – Pracuj.pl connector admin */
.ftpj-pracuj-status {
	max-width: 760px;
	margin: 1rem 0;
}

.ftpj-pracuj-status th {
	width: 190px;
}


/* 1.2.3 – visual polish for jobs landing and job cards */
.ftpj-board {
	margin-top: 2.25rem;
}

.ftpj-board .ftpj-hero {
	margin-bottom: 2.5rem !important;
	gap: 1.35rem !important;
}

.ftpj-board .ftpj-hero-copy {
	display: grid;
	gap: 0;
}

.ftpj-board .ftpj-hero h2 {
	max-width: 560px !important;
	font-size: clamp(1.95rem, 4.4vw, 3rem) !important;
}

.ftpj-board .ftpj-hero-lead {
	max-width: 660px !important;
	margin-top: 1rem !important;
}

.ftpj-board .ftpj-hero-actions {
	margin-top: 1.35rem !important;
}

.ftpj-board .ftpj-hero-stats {
	align-self: end;
}

.ftpj-board .ftpj-hero-stats > div {
	min-height: 86px;
}

.ftpj-board .ftpj-section-heading {
	margin: 0 0 1.35rem;
}

.ftpj-board .ftpj-filters {
	gap: 1rem !important;
	padding: 1.1rem 1.15rem !important;
}

.ftpj-board .ftpj-filters label {
	font-size: .95rem;
}

.ftpj-board .ftpj-filters button {
	min-height: 48px !important;
}

.ftpj-grid {
	align-items: stretch;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 1.15rem;
}

.ftpj-card {
	height: 100%;
	padding: 1.25rem;
}

.ftpj-card h2 {
	margin: .7rem 0 .45rem;
	font-size: 1.16rem;
	line-height: 1.22;
}

.ftpj-card h2 a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.ftpj-card .ftpj-company {
	margin: .15rem 0;
}

.ftpj-card .ftpj-location {
	margin: 0 0 .7rem;
}

.ftpj-card > p:not(.ftpj-company):not(.ftpj-location) {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
	min-height: calc(1.6em * 5);
	margin: 0;
	color: #344054;
}

.ftpj-card-footer {
	align-items: center;
	flex-wrap: wrap;
	gap: .6rem .9rem;
	margin-top: 1rem;
	padding-top: .95rem;
	border-top: 1px solid #ede8df;
}

.ftpj-card-footer small {
	flex: 1 1 140px;
	color: #667085;
	line-height: 1.45;
}

.ftpj-card-footer a {
	flex: 0 0 auto;
	white-space: nowrap;
}

.ftpj-source {
	margin-top: .55rem;
	font-size: .84rem;
	line-height: 1.45;
}

@media (max-width: 760px) {
	.ftpj-board .ftpj-hero {
		padding: 1.25rem !important;
	}

	.ftpj-board .ftpj-hero h2 {
		max-width: 100% !important;
		font-size: clamp(1.75rem, 8vw, 2.35rem) !important;
	}

	.ftpj-board .ftpj-hero-lead {
		font-size: 1rem !important;
	}

	.ftpj-grid {
		grid-template-columns: 1fr;
	}

	.ftpj-card {
		padding: 1.15rem;
	}

	.ftpj-card h2 {
		font-size: 1.08rem;
	}

	.ftpj-card > p:not(.ftpj-company):not(.ftpj-location) {
		-webkit-line-clamp: 4;
		min-height: calc(1.6em * 4);
	}

	.ftpj-card-footer {
		align-items: flex-start;
	}

	.ftpj-card-footer small {
		flex-basis: 100%;
	}
}


/* 1.3.0 – multi-source admin */
.ftpj-source-status {
	max-width: 1180px;
	margin: 1rem 0;
}
.ftpj-source-status td,
.ftpj-source-status th {
	vertical-align: top;
}
.ftpj-source-status td:last-child {
	max-width: 360px;
}


/* 1.5.0 – clearer freshness and date information */
.ftpj-card-dates {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
	margin-top: 1rem;
	padding-top: 0.9rem;
	border-top: 1px solid rgba(20, 34, 60, 0.12);
}
.ftpj-card-dates small {
	display: block;
	opacity: 0.78;
}
.ftpj-card-dates + .ftpj-card-footer {
	margin-top: 0.55rem;
	padding-top: 0;
	border-top: 0;
}
@media (max-width: 640px) {
	.ftpj-card-dates {
		flex-direction: column;
		gap: 0.25rem;
	}
}
