/* Part-Time Jobs Botswana — palette:
   teal-green #1B7A5C (primary), sky-blue #2D7DD2 (secondary),
   warm yellow #F5B324 (accent), off-white #F7F9F8 bg, slate #20302B text */

.ptjb-directory {
	max-width: 1300px;
	margin: 0 auto;
	color: #20302B;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Filters */
.ptjb-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	background: #F7F9F8;
	border: 1px solid #E1E8E5;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 24px;
}

.ptjb-filters select {
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #CBD9D3;
	background: #fff;
	font-size: 15px;
	min-width: 180px;
}

.ptjb-btn {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 8px;
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	text-align: center;
	border: none;
	cursor: pointer;
	transition: transform 0.08s ease, box-shadow 0.15s ease;
}

.ptjb-btn-search {
	background: #1B7A5C;
	color: #fff;
}
.ptjb-btn-search:hover {
	background: #16624A;
}

.ptjb-empty {
	text-align: center;
	color: #5A6B64;
	padding: 32px 0;
}

/* ============ GRID: fixed columns per breakpoint ============ */
/* Fixed at 4 columns on desktop, with 12 results per page (see
   frontend.php) so pages naturally land as 2-3 full rows. */
.ptjb-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* tablet default */
	gap: 20px;
}

@media (min-width: 1024px) {
	.ptjb-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 24px;
	}
}

.ptjb-card {
	background: #fff;
	border: 1px solid #E1E8E5;
	border-top: 4px solid #2D7DD2;
	border-radius: 14px;
	padding: 18px;
	box-shadow: 0 1px 3px rgba(20, 40, 34, 0.06);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ptjb-card-photo {
	width: 100%;
	height: 200px;
	border-radius: 12px;
	overflow: hidden;
	border: 2px solid #F5B324;
	flex-shrink: 0;
}

.ptjb-card-photo .ptjb-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ptjb-card-photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E7F0EC;
	color: #1B7A5C;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 22px;
}

.ptjb-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ptjb-card-type {
	display: inline-block;
	align-self: flex-start;
	background: rgba(27, 122, 92, 0.1);
	color: #1B7A5C;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 4px 10px;
	border-radius: 999px;
}

.ptjb-card-types {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ptjb-card-name {
	margin: 4px 0 0;
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight: 700;
	font-size: 19px;
	color: #20302B;
}

.ptjb-card-location {
	font-size: 14px;
	color: #5A6B64;
	display: flex;
	align-items: center;
	gap: 4px;
}

.ptjb-card-location .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: #2D7DD2;
}

.ptjb-btn-whatsapp {
	margin-top: 8px;
	background: #F5B324;
	color: #20302B;
}
.ptjb-btn-whatsapp:hover {
	background: #E0A310;
}

/* Swipe nav bar — hidden on desktop, shown only under the mobile breakpoint below */
.ptjb-swipe-nav {
	display: none;
}

/* Load More (replaces the old Previous/Next pagination) */
.ptjb-load-more-wrap {
	text-align: center;
	margin-top: 24px;
}

.ptjb-btn-load-more {
	background: #2D7DD2;
	color: #fff;
	padding: 12px 28px;
}
.ptjb-btn-load-more:hover {
	background: #2367AC;
}
.ptjb-btn-load-more:disabled {
	opacity: 0.6;
	cursor: default;
}

.ptjb-load-more-error {
	color: #C0392B;
	font-size: 13px;
	margin-top: 8px;
}

/* ============ MOBILE: Bumble-style swipe stack ============ */
@media (max-width: 767px) {
	.ptjb-info-panels { grid-template-columns: 1fr; }
	.ptjb-hero.ptjb-employer-panel { padding: 40px 14px 34px; }
	.ptjb-community-panel { padding: 34px 18px; }
	.ptjb-community-button { width: 100%; box-sizing: border-box; }
	.ptjb-hero-search select,
	.ptjb-hero-search .ptjb-btn-hero-search { width: 100%; min-width: 0; }

	.ptjb-directory {
		padding: 0 8px;
	}

	.ptjb-filters {
		flex-direction: column;
		align-items: stretch;
	}
	.ptjb-filters select,
	.ptjb-filters .ptjb-btn-search {
		width: 100%;
	}

	.ptjb-results {
		position: relative;
	}

	.ptjb-grid.ptjb-grid-stack {
		display: block;
		position: relative;
		min-height: 560px;
		height: auto;
	}

	.ptjb-grid.ptjb-grid-stack .ptjb-card {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		min-height: 560px;
		height: auto;
		box-sizing: border-box;
		margin: 0;
		touch-action: pan-y;
		will-change: transform, opacity;
	}

	/* Big photo up top, dating-app style */
	.ptjb-grid.ptjb-grid-stack .ptjb-card-photo {
		width: 100%;
		height: 280px;
		border-radius: 12px;
		border-width: 0;
	}
	.ptjb-grid.ptjb-grid-stack .ptjb-card-photo-placeholder {
		font-size: 48px;
	}

	.ptjb-grid.ptjb-grid-stack .ptjb-card-name {
		font-size: 24px;
	}

	.ptjb-card-active {
		z-index: 5;
		transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
		box-shadow: 0 14px 36px rgba(20, 48, 43, 0.14);
	}

	.ptjb-card-behind {
		z-index: 4;
		transform: scale(0.955) translateY(14px);
		opacity: 0.82;
		pointer-events: none;
		transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
		box-shadow: 0 8px 22px rgba(20, 48, 43, 0.08);
	}

	.ptjb-card-behind-2 {
		z-index: 3;
		transform: scale(0.91) translateY(26px);
		opacity: 0.55;
		pointer-events: none;
		transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
	}

	.ptjb-card-gone {
		z-index: 1;
		opacity: 0;
		pointer-events: none;
		transform: scale(0.88) translateY(36px);
		transition: transform 0.28s ease, opacity 0.2s ease;
	}

	@media (prefers-reduced-motion: reduce) {
		.ptjb-card-active,
		.ptjb-card-behind,
		.ptjb-card-behind-2,
		.ptjb-card-gone {
			transition: none;
		}
	}

	.ptjb-swipe-nav {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
		margin-top: 16px;
	}

	.ptjb-swipe-btn {
		width: 48px;
		height: 48px;
		border-radius: 50%;
		border: none;
		background: #fff;
		box-shadow: 0 2px 8px rgba(20, 40, 34, 0.15);
		font-size: 20px;
		color: #1B7A5C;
		cursor: pointer;
	}
	.ptjb-swipe-btn:disabled {
		opacity: 0.35;
		cursor: default;
	}

	.ptjb-swipe-counter {
		font-family: 'Poppins', sans-serif;
		font-weight: 600;
		font-size: 14px;
		color: #5A6B64;
		min-width: 48px;
		text-align: center;
	}
}

/* Admin screens */
.ptjb-wrap .ptjb-other-field {
	margin-top: 6px;
}

.ptjb-required {
	color: #C0392B;
}

.ptjb-row-expired {
	opacity: 0.65;
}

.ptjb-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
}

.ptjb-badge-expired {
	background: rgba(192, 57, 43, 0.12);
	color: #C0392B;
}

.ptjb-badge-soon {
	background: rgba(245, 179, 36, 0.18);
	color: #8A5A00;
}

.ptjb-type-checkboxes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 6px 16px;
	max-width: 720px;
	margin-bottom: 10px;
}

.ptjb-type-checkbox {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: normal;
}

/* ============ LANDING PAGE ============ */
.ptjb-landing {
	max-width: 1300px;
	margin: 0 auto;
	color: #20302B;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.ptjb-section-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 24px;
	text-align: center;
	margin: 0 0 20px;
	color: #20302B;
}

.ptjb-panel-kicker {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

/* Employer panel */
.ptjb-hero.ptjb-employer-panel {
	text-align: center;
	padding: 56px 16px 48px;
	background: linear-gradient(180deg, #F7F9F8 0%, #EFF6F2 100%);
	border-radius: 18px;
	margin-bottom: 22px;
}

.ptjb-employer-panel .ptjb-panel-kicker {
	color: #1B7A5C;
}

.ptjb-hero-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.15;
	margin: 0 0 16px;
	color: #1B7A5C;
}

.ptjb-hero-subtitle {
	max-width: 680px;
	margin: 0 auto 28px;
	color: #5A6B64;
	font-size: 16px;
	line-height: 1.6;
}

.ptjb-hero-search {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	max-width: 700px;
	margin: 0 auto;
}

.ptjb-hero-search select {
	padding: 12px 16px;
	border-radius: 8px;
	border: 1px solid #CBD9D3;
	background: #fff;
	font-size: 10px;
	min-width: 180px;
}

.ptjb-btn-hero-search {
	background: #F5B324;
	color: #20302B;
	padding: 12px 28px;
	font-size: 10px;
}
.ptjb-btn-hero-search:hover {
	background: #E0A310;
}

/* Jobseeker/community panel — deliberately darker than employer panel */
.ptjb-community-panel {
	background: linear-gradient(135deg, #145A45 0%, #1B7A5C 100%);
	border-radius: 18px;
	padding: 42px 24px;
	margin-bottom: 48px;
	box-shadow: 0 8px 24px rgba(27, 122, 92, .12);
}

.ptjb-community-content {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
	color: #fff;
}

.ptjb-community-content .ptjb-panel-kicker {
	color: #D8F1E5;
}

.ptjb-community-content h2 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 12px;
	color: #fff;
}

.ptjb-community-content p {
	max-width: 680px;
	margin: 0 auto 22px;
	font-size: 15px;
	line-height: 1.65;
	color: #F1FAF6;
}

.ptjb-community-button {
	display: inline-block;
	background: #F5B324;
	color: #20302B;
	font-weight: 800;
	padding: 13px 24px;
	border-radius: 9px;
	text-decoration: none;
	transition: transform .12s ease, background .12s ease;
}

.ptjb-community-button:hover,
.ptjb-community-button:focus {
	background: #FFD36A;
	color: #20302B;
	transform: translateY(-1px);
}

.ptjb-community-note {
	font-size: 12px !important;
	color: #D8F1E5 !important;
	margin-top: 14px !important;
	margin-bottom: 0 !important;
}

/* Quick categories */
.ptjb-quick-categories {
	margin-bottom: 48px;
}

.ptjb-category-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.ptjb-category-pill {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #FFF6E3;
	border: 1px solid #F0E2BC;
	border-radius: 999px;
	padding: 10px 18px;
	text-decoration: none;
	color: #20302B;
	font-size: 14px;
	font-weight: 600;
	transition: border-color 0.15s ease, transform 0.08s ease;
}
.ptjb-category-pill:hover {
	border-color: #2D7DD2;
	transform: translateY(-1px);
}

/* Two balanced lower panels */
.ptjb-info-panels {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 22px;
	margin-bottom: 24px;
}

.ptjb-info-panel {
	border-radius: 18px;
	padding: 38px 24px;
	margin: 0;
}

.ptjb-how-it-works {
	background: linear-gradient(180deg, #EAF4EF 0%, #DDEEE6 100%);
}

.ptjb-how-it-works .ptjb-section-title {
	color: #145A45;
}

.ptjb-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	max-width: 900px;
	margin: 0 auto;
}

.ptjb-step {
	text-align: center;
	padding: 16px 10px;
}

.ptjb-step-icon {
	font-size: 32px;
	margin-bottom: 8px;
}

.ptjb-step h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 16px;
	margin: 0 0 7px;
	color: #1B7A5C;
}

.ptjb-step p {
	font-size: 13px;
	color: #496159;
	line-height: 1.5;
	margin: 0;
}

.ptjb-about-panel {
	background: linear-gradient(180deg, #DDEEE6 0%, #CFE6DB 100%);
}

.ptjb-about-panel .ptjb-panel-kicker {
	color: #145A45;
}

.ptjb-about-panel h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 26px;
	line-height: 1.2;
	margin: 0 0 12px;
	color: #145A45;
}

.ptjb-about-panel > p {
	font-size: 14px;
	line-height: 1.6;
	color: #496159;
	margin: 0 0 18px;
}

.ptjb-policy-box {
	background: rgba(255,255,255,.58);
	border: 1px solid rgba(27,122,92,.12);
	border-radius: 12px;
	padding: 16px 18px;
}

.ptjb-policy-box h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	margin: 0 0 8px;
	color: #145A45;
}

.ptjb-policy-box ul {
	margin: 0;
	padding-left: 20px;
	color: #496159;
	font-size: 13px;
	line-height: 1.55;
}

.ptjb-policy-box li + li {
	margin-top: 7px;
}

@media (max-width: 767px) {
	.ptjb-hero {
		padding: 40px 12px 32px;
	}
	.ptjb-hero-search select,
	.ptjb-hero-search .ptjb-btn-hero-search {
		width: 100%;
	}
	.ptjb-grid-preview {
		grid-template-columns: 1fr;
	}
}

/* V17 mobile jobseeker application */
.ptjb-application-wrap{max-width:680px;margin:24px auto;padding:0 14px;font-family:Calibri,"Segoe UI",Arial,sans-serif;color:#20302B}
.ptjb-application-wrap,.ptjb-application-wrap *{font-family:Calibri,"Segoe UI",Arial,sans-serif}
.ptjb-application-hero {
    position:relative;
    text-align:center;
    border-radius:22px;
    padding:34px 20px;
    margin-bottom:16px;
    background: linear-gradient(135deg, #1B7A5C 0%, #145A45 50%, #0F4636 100%);
    color: #fff;
    isolation:isolate
}
.ptjb-application-hero h1 {
    color: #fff;
    font-size:clamp(25px,7vw,36px);
    font-weight:800;
    margin:0 0 7px;
}
.ptjb-application-hero p {
    margin:0;
    color: rgba(255,255,255,0.85);
    font-size:15px;
}
.ptjb-application-hero-static {
    background: linear-gradient(135deg, #1B7A5C 0%, #145A45 50%, #0F4636 100%) !important;
}
.ptjb-application-hero-static:before {
    display: none !important;
}
.ptjb-application-hero h1{font-size:clamp(25px,7vw,36px);font-weight:800;margin:0 0 7px}
.ptjb-application-form{background:#fff;border:1px solid #E1E8E5;border-radius:18px;padding:22px;box-shadow:0 8px 28px rgba(20,40,34,.08)}
.ptjb-app-step{display:none}.ptjb-app-step.is-active{display:block}.ptjb-app-progress{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#2D7DD2;margin-bottom:8px}.ptjb-app-step h2{font-size:23px;font-weight:800;margin:0 0 20px}.ptjb-app-step label{display:block;font-weight:800;font-size:15px;margin:0 0 16px}.ptjb-app-step label>span{color:#C0392B}.ptjb-app-step label small{font-weight:500;color:#5A6B64}.ptjb-app-field-label{font-weight:800;font-size:15px;margin:0 0 10px}.ptjb-app-field-label span{color:#C0392B}.ptjb-app-field-label small{font-weight:500;color:#5A6B64}
.ptjb-app-step input,.ptjb-app-step select{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:5px 14px;border:1px solid #CBD9D3;border-radius:10px;background:#fff;font:inherit;font-size:16px}
.ptjb-app-step input:focus,.ptjb-app-step select:focus{outline:3px solid rgba(45,125,210,.16);border-color:#2D7DD2}
.ptjb-app-error{background:#FFF0EE;color:#A93226;border-radius:8px;padding:9px 11px;margin:-8px 0 13px;font-size:13px;font-weight:600}
.ptjb-app-buttons{display:flex;gap:10px}.ptjb-app-buttons .ptjb-btn{flex:1}.ptjb-app-back{background:#EEF3F1;color:#20302B}.ptjb-app-submit{background:#1B7A5C;color:#fff}
.ptjb-job-type-dropdown{margin:8px 0 4px;border:1px solid #CBD9D3;border-radius:10px;background:#fff;overflow:hidden}.ptjb-job-type-dropdown summary{cursor:pointer;list-style:none;padding:14px;font-size:16px;font-weight:700;color:#20302B}.ptjb-job-type-dropdown summary::-webkit-details-marker{display:none}.ptjb-job-type-dropdown summary:after{content:'⌄';float:right;font-size:18px;color:#1B7A5C}.ptjb-job-type-dropdown[open] summary{border-bottom:1px solid #E1E8E5}.ptjb-job-type-options{max-height:260px;overflow:auto;padding:8px}.ptjb-type-checkbox{display:flex!important;align-items:center;gap:10px;padding:10px 9px;margin:0!important;border-radius:8px;font-weight:600!important}.ptjb-type-checkbox:hover{background:#F7F9F8}.ptjb-type-checkbox input{width:auto!important;margin:0!important;padding:0!important}.ptjb-type-checkbox input:disabled+span{opacity:.45}
#ptjb_app_type_count{margin:8px 0 20px;font-size:13px}.ptjb-photo-tip{margin:0 0 20px;padding:11px 13px;border-radius:9px;background:#EAF4EF;color:#496159;font-size:13px;line-height:1.5}
.ptjb-payment-copy{line-height:1.55;color:#4E6059}.ptjb-payment-numbers{display:grid;gap:8px;margin:16px 0}.ptjb-payment-numbers div{display:flex;justify-content:space-between;gap:15px;padding:12px 14px;border-radius:10px;background:#F7F9F8;border:1px solid #E1E8E5}.ptjb-payment-numbers span{font-weight:800}.ptjb-payment-warning{font-size:12px;color:#8A5A00;background:#FFF6E3;padding:10px;border-radius:8px}
.ptjb-application-success{text-align:center;max-width:620px;margin:30px auto;padding:42px 22px;background:#fff;border:1px solid #E1E8E5;border-radius:20px;box-shadow:0 8px 28px rgba(20,40,34,.08);font-family:Calibri,"Segoe UI",Arial,sans-serif}.ptjb-success-check{width:68px;height:68px;margin:0 auto 18px}.ptjb-success-check svg{display:block;width:100%;height:100%;overflow:visible}.ptjb-success-check circle{fill:#EAF4EF;stroke:#1B7A5C;stroke-width:2}.ptjb-success-check path{fill:none;stroke:#1B7A5C;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.ptjb-application-success h2{margin:0 0 10px;font-size:28px;font-weight:800;color:#145A45}.ptjb-application-success p{font-size:15px;line-height:1.6;color:#496159}.ptjb-application-success strong{display:block;margin-top:16px;color:#1B7A5C;font-size:16px}
.ptjb-success-countdown{display:inline-block;min-width:1ch;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:600px){.ptjb-application-form{padding:18px 15px}.ptjb-app-buttons{position:sticky;bottom:8px;background:#fff;padding-top:8px}.ptjb-payment-numbers div{flex-direction:column;gap:3px}}
.ptjb-card-demographics{font-size:14px;color:#5A6B64;font-weight:600}
@media (prefers-reduced-motion: reduce) {
    .ptjb-application-hero:before {
        display: none;
    }
}

/* V17 landing-page refinements */
.ptjb-step-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:16px;background:rgba(27,122,92,.10);display:flex;align-items:center;justify-content:center}
.ptjb-step-icon svg{width:30px;height:30px;fill:none;stroke:#1B7A5C;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ptjb-step:hover .ptjb-step-icon{transform:translateY(-2px);box-shadow:0 8px 18px rgba(27,122,92,.10)}
.ptjb-about-link{display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:10px 14px;border-radius:9px;background:#fff;color:#145A45;text-decoration:none;font-weight:800;font-size:13px;border:1px solid rgba(20,90,69,.12)}
.ptjb-about-link:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,90,69,.10)}

/* V17 About / Safety page */
.ptjb-about-page{max-width:1050px;margin:28px auto;padding:0 16px;color:#20302B;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.ptjb-about-page-header{padding:46px 24px;text-align:center;border-radius:20px;background:linear-gradient(135deg,#EAF4EF 0%,#DDEEE6 100%);margin-bottom:22px}
.ptjb-about-page-header .ptjb-panel-kicker{color:#145A45}
.ptjb-about-page-header h1{font-family:'Poppins',sans-serif;font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1.15;color:#145A45;margin:0 0 10px}
.ptjb-about-page-header p{margin:0;color:#496159;font-size:16px}
.ptjb-about-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ptjb-about-page-grid section{padding:24px;border-radius:16px;background:linear-gradient(180deg,#F7F9F8 0%,#EFF6F2 100%);border:1px solid #E1E8E5}
.ptjb-about-page-grid h2{font-family:'Poppins',sans-serif;font-size:19px;font-weight:800;line-height:1.25;color:#145A45;margin:0 0 9px}
.ptjb-about-page-grid p{margin:0;color:#496159;font-size:14px;line-height:1.65}
@media(max-width:767px){.ptjb-about-page-grid{grid-template-columns:1fr}.ptjb-about-page-header{padding:36px 18px}}


/* ========== Split landing (employer | jobseeker) ========== */
.ptjb-landing-split {
	max-width: none;
	margin: 0;
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: #20302B;
}
.ptjb-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: min(88vh, 820px);
	width: 100%;
}
.ptjb-split-inner {
	max-width: 520px;
	width: 100%;
	margin: 0 auto;
	padding: 48px 36px;
	box-sizing: border-box;
}
.ptjb-split-employer {
	background: linear-gradient(165deg, #F7FAF8 0%, #EEF5F1 100%);
	display: flex;
	align-items: center;
}
.ptjb-split-jobseeker {
	background: linear-gradient(165deg, #145A45 0%, #0F4636 100%);
	color: #fff;
	display: flex;
	align-items: center;
	text-align: center;
}
.ptjb-split-employer .ptjb-panel-kicker {
	color: #1B7A5C;
	letter-spacing: .12em;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 10px;
}
.ptjb-panel-kicker-light {
	color: rgba(255,255,255,.85) !important;
	letter-spacing: .12em;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 10px;
}
.ptjb-landing-split .ptjb-hero-title {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 800;
	line-height: 1.15;
	color: #145A45;
	margin: 0 0 12px;
}
.ptjb-landing-split .ptjb-hero-subtitle {
	margin: 0 0 22px;
	font-size: 16px;
	line-height: 1.55;
	color: #496159;
}
.ptjb-landing-split .ptjb-hero-search {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #fff;
	padding: 16px;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(20, 90, 69, .08);
	border: 1px solid #E1E8E5;
}
.ptjb-landing-split .ptjb-hero-search select {
	width: 100%;
	box-sizing: border-box;
	padding: 5px 14px;
	border-radius: 10px;
	border: 1px solid #CBD9D3;
	font: inherit;
	background: #fff;
	color: #20302B;
}
.ptjb-landing-split .ptjb-btn-hero-search {
	width: 100%;
	border: none;
	border-radius: 10px;
	padding: 13px 16px;
	font-weight: 800;
	font-size: 15px;
	cursor: pointer;
	background: #1B6BFF;
	color: #fff;
	box-shadow: 0 8px 18px rgba(27, 107, 255, .25);
}
.ptjb-landing-split .ptjb-btn-hero-search:hover,
.ptjb-landing-split .ptjb-btn-hero-search:focus {
	background: #1557d4;
}
.ptjb-trust-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.ptjb-trust-pill {
	display: inline-flex;
	align-items: center;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(27, 122, 92, .08);
	color: #145A45;
	font-size: 12px;
	font-weight: 700;
}
.ptjb-jobseeker-title {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 12px;
	color: #fff;
}
.ptjb-jobseeker-text {
	margin: 0 0 22px;
	font-size: 16px;
	line-height: 1.55;
	color: rgba(255,255,255,.9);
}
.ptjb-btn-jobseeker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 14px 22px;
	border-radius: 12px;
	background: #F5B324;
	color: #20302B !important;
	font-weight: 800;
	font-size: 15px;
	text-decoration: none !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.18);
	border: none;
}
.ptjb-btn-jobseeker:hover,
.ptjb-btn-jobseeker:focus {
	background: #e5a51c;
	color: #20302B !important;
}
.ptjb-benefit-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 22px;
}
.ptjb-benefit-chip {
	display: inline-flex;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.18);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

@media (max-width: 900px) {
	.ptjb-split {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.ptjb-split-inner {
		padding: 36px 20px;
		max-width: 560px;
	}
	.ptjb-split-jobseeker {
		min-height: 420px;
	}
}

/* Hide legacy stacked landing blocks if a cache still injects them */
.ptjb-landing-split .ptjb-about-panel {
	display: none !important;
}


/* How it works under split landing */
.ptjb-landing-split .ptjb-how-it-works {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 20px 48px;
	box-sizing: border-box;
}
.ptjb-landing-split .ptjb-section-title {
	font-family: 'Poppins', sans-serif;
	text-align: center;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 800;
	color: #145A45;
	margin: 0 0 24px;
}
.ptjb-how-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.ptjb-how-card {
	background: #F7F9F8;
	border: 1px solid #E1E8E5;
	border-radius: 16px;
	padding: 22px 18px;
	text-align: center;
}
.ptjb-how-icon {
	width: 52px;
	height: 52px;
	margin: 0 auto 12px;
	border-radius: 14px;
	background: #EAF4EF;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ptjb-how-card h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 800;
	color: #145A45;
	margin: 0 0 8px;
}
.ptjb-how-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #496159;
}
.ptjb-how-about-cta {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}
.ptjb-landing-split .ptjb-about-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 18px;
	border-radius: 10px;
	background: #fff;
	color: #145A45;
	text-decoration: none;
	font-weight: 800;
	font-size: 14px;
	border: 1px solid rgba(20,90,69,.18);
	box-shadow: 0 4px 14px rgba(20,90,69,.08);
}
.ptjb-landing-split .ptjb-about-link:hover,
.ptjb-landing-split .ptjb-about-link:focus {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(20,90,69,.12);
	color: #0F4636;
}
@media (max-width: 767px) {
	.ptjb-how-grid { grid-template-columns: 1fr; }
}


/* Skeleton loaders (directory load-more) */
.ptjb-card-skeleton {
	pointer-events: none;
}
.ptjb-skel {
	background: linear-gradient(90deg, #E8EEEC 0%, #F4F7F6 45%, #E8EEEC 90%);
	background-size: 200% 100%;
	animation: ptjb-skel-shimmer 1.1s ease-in-out infinite;
	border-radius: 8px;
}
.ptjb-skel-photo {
	width: 100%;
	height: 160px;
	border-radius: 12px 12px 0 0;
}
.ptjb-grid-stack .ptjb-skel-photo {
	height: 220px;
}
.ptjb-skel-line {
	height: 12px;
	margin: 10px 0;
}
.ptjb-skel-line-lg { width: 55%; height: 18px; }
.ptjb-skel-line-md { width: 70%; }
.ptjb-skel-line-sm { width: 40%; }
.ptjb-skel-btn {
	height: 40px;
	width: 70%;
	margin-top: 16px;
	border-radius: 10px;
}
@keyframes ptjb-skel-shimmer {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}
@media (prefers-reduced-motion: reduce) {
	.ptjb-skel { animation: none; }
}

/* Sticky mobile CTAs on landing (after scroll) */
.ptjb-sticky-cta {
	display: none;
}
@media (max-width: 900px) {
	.ptjb-sticky-cta {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99990;
		gap: 8px;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
		background: rgba(255,255,255,.96);
		border-top: 1px solid #E1E8E5;
		box-shadow: 0 -8px 24px rgba(20, 48, 43, 0.1);
		transform: translateY(110%);
		opacity: 0;
		pointer-events: none;
		transition: transform 0.28s ease, opacity 0.28s ease;
	}
	.ptjb-sticky-cta.is-visible {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
	}
	.ptjb-sticky-cta a {
		flex: 1;
		text-align: center;
		text-decoration: none !important;
		font-weight: 800;
		font-size: 13px;
		padding: 12px 8px;
		border-radius: 10px;
	}
	.ptjb-sticky-cta-search {
		background: #1B6BFF;
		color: #fff !important;
	}
	.ptjb-sticky-cta-apply {
		background: #F5B324;
		color: #20302B !important;
	}
	body.ptjb-has-sticky-cta {
		padding-bottom: 72px;
	}
}


/* Categories under split landing */
.ptjb-landing-split .ptjb-category-section {
	max-width: 1100px;
	margin: 0 auto;
	padding: 28px 20px 8px;
	box-sizing: border-box;
}
.ptjb-landing-split .ptjb-category-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.ptjb-landing-split .ptjb-category-pill {
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	border-radius: 999px;
	background: #F0F6F3;
	border: 1px solid #D5E4DD;
	color: #145A45;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.ptjb-landing-split .ptjb-category-pill:hover,
.ptjb-landing-split .ptjb-category-pill:focus {
	background: #E3F0EA;
	color: #0F4636;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(20, 90, 69, 0.1);
}


/* Card hierarchy: name+age, gender, location, types last */
.ptjb-card-name {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}
.ptjb-card-age {
	font-weight: 700;
	font-size: 0.9em;
	color: #5A6B64;
}
.ptjb-card-gender {
	font-size: 14px;
	font-weight: 600;
	color: #5A6B64;
}
.ptjb-card-types {
	margin-top: 4px;
}

/* Report page form */
.ptjb-report-page {
	max-width: 560px;
	margin: 28px auto;
	padding: 0 16px 40px;
	color: #20302B;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.ptjb-report-page-header {
	text-align: center;
	margin-bottom: 22px;
	padding: 28px 18px;
	border-radius: 16px;
	background: linear-gradient(135deg, #EAF4EF 0%, #DDEEE6 100%);
}
.ptjb-report-page-header h1 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(24px, 4vw, 34px);
	font-weight: 800;
	color: #145A45;
	margin: 0 0 8px;
}
.ptjb-report-page-header p {
	margin: 0;
	color: #496159;
	font-size: 15px;
	line-height: 1.5;
}
.ptjb-report-page-form {
	background: #fff;
	border: 1px solid #E1E8E5;
	border-radius: 14px;
	padding: 22px 18px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	box-shadow: 0 8px 24px rgba(20, 48, 43, 0.06);
}
.ptjb-report-page-form label {
	display: block;
	font-weight: 700;
	font-size: 13px;
	color: #20302B;
}
.ptjb-report-page-form label span {
	color: #C0392B;
}
.ptjb-report-page-form input,
.ptjb-report-page-form select,
.ptjb-report-page-form textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 6px;
	padding: 11px 12px;
	border: 1px solid #CBD9D3;
	border-radius: 10px;
	font: inherit;
}
.ptjb-report-page-form .ptjb-btn-search {
	width: 100%;
	margin-top: 6px;
}

/* PTJB 1.18.4 - plan pricing and application consent */
.ptjb-plan-intro{margin:-6px 0 16px;color:#496159;line-height:1.55}
.ptjb-plan-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px}
.ptjb-plan-option{display:flex!important;align-items:center;gap:9px;padding:14px 12px;background:#F7FAF8;border:1px solid #CBD9D3;border-radius:12px;cursor:pointer;margin:0!important}
.ptjb-plan-option:has(input:checked){border-color:#1B7A5C;background:#EAF4EF;box-shadow:0 0 0 2px rgba(27,122,92,.08)}
.ptjb-plan-option input{width:auto!important;margin:0!important;flex:0 0 auto}
.ptjb-plan-option span{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.ptjb-plan-option strong{font-size:15px}
.ptjb-plan-option b{font-size:17px;color:#1B7A5C}
.ptjb-plan-option small{font-size:11px;color:#5A6B64;font-weight:600}
.ptjb-consent-box{margin-top:18px;padding:16px;border:1px solid #D9E4DE;border-radius:14px;background:#FAFCFB}
.ptjb-consent-box p{margin:0 0 10px;line-height:1.5;color:#30443D}
.ptjb-consent-box ul{margin:0 0 15px 20px;padding:0;color:#496159;line-height:1.55}
.ptjb-consent-choice{display:flex!important;align-items:flex-start;gap:9px;padding:11px 12px;background:#fff;border:1px solid #CBD9D3;border-radius:10px;margin:8px 0!important;cursor:pointer}
.ptjb-consent-choice input{width:auto!important;margin:3px 0 0!important;flex:0 0 auto}
.ptjb-consent-choice span{font-weight:700}
.ptjb-consent-exit{background:#FFF0EE!important;color:#A93226!important;border:1px solid #E8B9B2!important}
.ptjb-consent-next[hidden],.ptjb-consent-exit[hidden]{display:none!important}
@media(max-width:600px){.ptjb-plan-options{grid-template-columns:1fr}.ptjb-plan-option{min-height:58px}}

/* PTJB report form polish / success state */
.ptjb-report-form input:focus,
.ptjb-report-form select:focus,
.ptjb-report-form textarea:focus,
.ptjb-report-page-form input:focus,
.ptjb-report-page-form select:focus,
.ptjb-report-page-form textarea:focus {
    outline: 3px solid rgba(45,125,210,.14);
    border-color: #2D7DD2;
}
.ptjb-report-status.error { color:#C0392B; background:rgba(192,57,43,.07); padding:9px 10px; border-radius:8px; }
.ptjb-report-status.checking { color:#2D7DD2; background:rgba(45,125,210,.07); padding:9px 10px; border-radius:8px; }
.ptjb-report-success { text-align:center; padding:26px 12px 10px; }
.ptjb-report-success h2,
.ptjb-report-success h3 { margin:0 0 9px; color:#145A45; font-size:25px; font-weight:800; }
.ptjb-report-success p { margin:0; color:#496159; line-height:1.55; font-size:14px; }
.ptjb-report-success strong { display:block; margin-top:12px; color:#1B7A5C; font-size:14px; }
.ptjb-report-page-success { max-width:560px; margin:22px auto 0; background:#fff; border:1px solid #E1E8E5; border-radius:14px; box-shadow:0 8px 24px rgba(20,48,43,.06); }
.ptjb-report-privacy { max-width:560px; margin:12px auto 0; font-size:12px; color:#6A7873; text-align:center; line-height:1.5; }
.ptjb-report-form input[type="tel"] { letter-spacing:.02em; }


/* PTJB 1.20.2 report field validation */
.ptjb-report-field-message {
    display: block;
    margin: -7px 0 10px;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
}
.ptjb-report-field-message.success { color: #1B7A5C; }
.ptjb-report-field-message.error { color: #C0392B; }
.ptjb-report-form input.ptjb-input-valid,
.ptjb-report-page-form input.ptjb-input-valid { border-color: #1B7A5C; }
.ptjb-report-form input.ptjb-input-invalid,
.ptjb-report-page-form input.ptjb-input-invalid { border-color: #C0392B; }

/* Phase 1 Batch 2: report field validation */
.ptjb-report-field-error{display:block;margin:-8px 0 12px;color:#b42318;font-size:12px;font-weight:600}


/* V1.25.2 report form validation */
.ptjb-report-whatsapp-wrap{position:relative;display:flex;align-items:center}.ptjb-report-whatsapp-wrap input{padding-right:48px}.ptjb-report-whatsapp-status{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:800;font-size:18px;line-height:1}.ptjb-report-whatsapp-status.success{color:#27AE60}.ptjb-report-whatsapp-status.error{color:#C0392B}.ptjb-report-whatsapp-status.checking{color:#777}.ptjb-report-whatsapp-wrap input.success{border-color:#27AE60!important;border-width:2px!important}.ptjb-report-whatsapp-wrap input.error{border-color:#C0392B!important;border-width:2px!important}.ptjb-report-whatsapp-message{display:block;min-height:18px;margin-top:5px;font-size:12px;font-weight:600}.ptjb-report-whatsapp-message.success{color:#277A4D}.ptjb-report-whatsapp-message.error{color:#C0392B}.ptjb-report-whatsapp-message.checking{color:#777}.ptjb-report-page-form button[type="submit"]:disabled{opacity:.55;cursor:not-allowed}


/* Sex-based silhouette avatars when no photo */
.ptjb-card-photo-placeholder.ptjb-sil-male,
.ptjb-card-photo-placeholder.ptjb-sil-female {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, #E8F0EC 0%, #D5E5DC 100%);
	color: #1B7A5C;
	font-size: 0;
}
.ptjb-card-photo-placeholder .ptjb-sil-icon {
	width: 58%;
	height: 70%;
	display: block;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	opacity: 0.85;
}
.ptjb-sil-male .ptjb-sil-icon {
	/* Simple male silhouette via CSS mask shapes */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Ccircle cx='32' cy='18' r='12' fill='%231B7A5C'/%3E%3Cpath d='M12 74c0-14 9-24 20-24s20 10 20 24' fill='%231B7A5C'/%3E%3C/svg%3E");
}
.ptjb-sil-female .ptjb-sil-icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Ccircle cx='32' cy='16' r='11' fill='%231B7A5C'/%3E%3Cpath d='M18 74c2-16 8-22 14-22s12 6 14 22' fill='%231B7A5C'/%3E%3Cpath d='M22 48h20l4 26H18l4-26z' fill='%231B7A5C'/%3E%3C/svg%3E");
}
.ptjb-apply-notice {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #EAF4EF;
	border: 1px solid #1B7A5C;
	color: #145A45;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 600;
}
.ptjb-types-intro { margin: 0 0 12px; color: #496159; }
.ptjb-type-count { font-size: 13px; font-weight: 700; color: #5A6B64; margin: 8px 0 16px; }
.ptjb-consent-exit-panel {
	text-align: center;
	padding: 20px 16px;
	border-radius: 12px;
	background: #F7F9F8;
	border: 1px solid #E1E8E5;
	margin: 12px 0;
}
.ptjb-consent-exit-panel h3 { margin: 0 0 8px; color: #145A45; }
.ptjb-optional { font-weight: 500; color: #5A6B64; font-size: 12px; }
