/* =================================================================
   ECA · JOBS PAGE (new design)
   Prefix: eca-jb-
   ================================================================= */

:root {
	--jb-forest: #234b36;
	--jb-forest-dark: #1f3a2c;
	--jb-forest-soft: #2f5d44;
	--jb-gold: #d4a62a;
	--jb-gold-soft: #e8b933;
	--jb-cream: #f7f1de;
	--jb-cream-deep: #ede1ba;
	--jb-green: #2bb670;
	--jb-text: #1f2a25;
	--jb-text-soft: #5a6660;
	--jb-text-mute: #7a8580;
	--jb-line: rgba(35, 75, 54, .1);
	--jb-line-soft: rgba(35, 75, 54, .06);
	--jb-radius: 16px;
	--jb-radius-lg: 22px;
	--jb-shadow: 0 4px 14px rgba(31, 42, 37, .04);
}

.eca-jb-page {
	max-width: 1240px;
	margin: 0 auto;
	padding: 20px 16px 60px;
	color: var(--jb-text);
	font-family: 'Gilroy', Roboto, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ============ HERO ============ */
.eca-jb-hero {
	background: linear-gradient(135deg, #fbf6e3 0%, #f1ead0 100%);
	border-radius: var(--jb-radius-lg);
	padding: 32px 36px 28px;
	margin-bottom: 18px;
	box-shadow: var(--jb-shadow);
	position: relative;
	/* overflow visible so dropdowns can escape */
	overflow: visible;
}

.eca-jb-hero-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 24px;
	align-items: center;
	margin-bottom: 22px;
}

.eca-jb-hero-title {
	font-family: 'Gilroy', sans-serif;
	font-weight: 800;
	font-size: 32px;
	line-height: 1.15;
	color: var(--jb-text);
	margin: 0 0 12px;
	letter-spacing: -.5px;
}

.eca-jb-hero-title-mark {
	color: var(--jb-gold);
}

.eca-jb-hero-sub {
	font-size: 14px;
	line-height: 1.55;
	color: var(--jb-text-soft);
	margin: 0;
	max-width: 480px;
}

.eca-jb-hero-illo {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.eca-jb-hero-illo svg {
	width: 100%;
	max-width: 240px;
	height: auto;
}

/* === Hero form: filters + search === */
.eca-jb-hero-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
	z-index: 5;
}

.eca-jb-hero-filters {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.eca-jb-select {
	position: relative;
	z-index: 5;
}

.eca-jb-select.show {
	z-index: 50;
}

.eca-jb-select-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	height: 46px;
	padding: 0 16px;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: 999px;
	color: var(--jb-text);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all .18s ease;
}

.eca-jb-select-btn:hover,
.eca-jb-select-btn[aria-expanded="true"] {
	border-color: var(--jb-forest);
	box-shadow: 0 4px 12px rgba(35, 75, 54, .08);
}

.eca-jb-select-btn > svg:first-of-type {
	color: var(--jb-forest);
	flex: 0 0 16px;
}

.eca-jb-select-btn > span {
	flex: 1;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.eca-jb-caret {
	color: var(--jb-text-mute);
	flex: 0 0 12px;
	transition: transform .2s ease;
}

.eca-jb-select-btn[aria-expanded="true"] .eca-jb-caret {
	transform: rotate(180deg);
}

.eca-jb-caret-plus {
	color: var(--jb-forest);
	width: 14px;
	height: 14px;
	transform: none !important;
}

.eca-jb-select-menu.dropdown-menu {
	display: none;
	position: absolute !important;
	top: calc(100% + 6px) !important;
	bottom: auto !important;
	left: 0 !important;
	right: auto !important;
	transform: none !important;
	min-width: 100%;
	max-width: 320px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: var(--jb-radius);
	box-shadow: 0 14px 32px rgba(31, 42, 37, .14);
	margin: 0;
	z-index: 2000;
}
.eca-jb-select.show > .eca-jb-select-menu.dropdown-menu,
.eca-jb-select-menu.dropdown-menu.show {
	display: block;
}

.eca-jb-select-menu .dropdown-item {
	padding: 9px 14px;
	font-size: 13px;
	color: var(--jb-text-soft);
	border-radius: 10px;
	margin: 1px 0;
}

.eca-jb-select-menu .dropdown-item:hover {
	background: rgba(35, 75, 54, .06);
	color: var(--jb-forest);
}

.eca-jb-select-menu .dropdown-item.active {
	background: var(--jb-forest);
	color: #fff;
}

.eca-jb-select-menu-scroll {
	max-height: 280px;
	overflow: hidden;
}

.eca-jb-select-menu-scroll .js_scroller {
	max-height: 280px;
	overflow-y: auto;
}

.eca-jb-select-menu-pad {
	padding: 16px;
	min-width: 260px;
}

.eca-jb-distance-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.eca-jb-distance-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--jb-text-soft);
	margin: 0;
}

.eca-jb-distance-input .input-group-text {
	background: var(--jb-forest);
	color: #fff;
	border: 0;
}

.eca-jb-distance-btn {
	height: 38px;
	background: var(--jb-forest);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
}

/* === Hero search bar === */
.eca-jb-hero-search {
	display: flex;
	align-items: center;
	gap: 0;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: 999px;
	padding: 5px 5px 5px 18px;
	transition: all .18s ease;
}

.eca-jb-hero-search:focus-within {
	border-color: var(--jb-forest);
	box-shadow: 0 4px 16px rgba(35, 75, 54, .12);
}

.eca-jb-hero-search-icon {
	color: var(--jb-text-mute);
	flex: 0 0 18px;
}

.eca-jb-hero-search input {
	flex: 1;
	border: 0;
	outline: 0;
	background: transparent;
	height: 42px;
	padding: 0 14px;
	font-size: 13px;
	color: var(--jb-text);
}

.eca-jb-hero-search input::placeholder {
	color: #9ba49d;
}

.eca-jb-hero-search-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 22px;
	background: var(--jb-forest);
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all .18s ease;
	white-space: nowrap;
	margin-right: 6px;
}

.eca-jb-hero-search-btn:hover {
	background: var(--jb-forest-dark);
	box-shadow: 0 4px 14px rgba(35, 75, 54, .3);
}

.eca-jb-hero-create-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 22px;
	background: linear-gradient(180deg, var(--jb-gold-soft), var(--jb-gold));
	border: 0;
	border-radius: 999px;
	color: #1a1408;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .18s ease;
	white-space: nowrap;
	box-shadow: 0 6px 14px rgba(212, 166, 42, .35);
}

.eca-jb-hero-create-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(212, 166, 42, .45);
}

/* ============ STATS BAR ============ */
.eca-jb-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: var(--jb-radius-lg);
	margin-bottom: 22px;
	box-shadow: var(--jb-shadow);
}

.eca-jb-stat {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-right: 16px;
	border-right: 1px solid var(--jb-line-soft);
}

.eca-jb-stat:last-child {
	border-right: 0;
}

.eca-jb-stat-icon {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(35, 75, 54, .08);
	color: var(--jb-forest);
	border-radius: 12px;
}

.eca-jb-stat-body {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.eca-jb-stat-num {
	font-family: 'Gilroy', sans-serif;
	font-weight: 800;
	font-size: 22px;
	line-height: 1.1;
	color: var(--jb-text);
}

.eca-jb-stat-label {
	font-size: 12px;
	color: var(--jb-text-soft);
	line-height: 1.3;
}

.eca-jb-stat-trend {
	font-size: 11px;
	font-weight: 600;
	margin-top: 2px;
}

.eca-jb-stat-trend.up {
	color: var(--jb-green);
}

.eca-jb-stat-trend.neutral {
	color: var(--jb-text-mute);
}

/* ============ TYPE CHIPS ============ */
.eca-jb-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 22px;
}

.eca-jb-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: 12px;
	color: var(--jb-text-soft);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: all .18s ease;
}

.eca-jb-chip:hover {
	color: var(--jb-forest);
	border-color: var(--jb-forest);
	text-decoration: none;
}

.eca-jb-chip.active {
	background: var(--jb-forest);
	border-color: var(--jb-forest);
	color: #fff;
	box-shadow: 0 4px 12px rgba(35, 75, 54, .2);
}

.eca-jb-chip svg {
	flex: 0 0 14px;
}

/* ============ LAYOUT ============ */
.eca-jb-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 22px;
	align-items: flex-start;
}

/* === Section head === */
.eca-jb-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	margin-bottom: 14px;
	border-bottom: 2px solid var(--jb-forest);
	padding-bottom: 8px;
}

.eca-jb-section-title {
	font-family: 'Gilroy', sans-serif;
	font-weight: 800;
	font-size: 18px;
	color: var(--jb-text);
	margin: 0;
}

.eca-jb-section-sort {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--jb-text-soft);
}

.eca-jb-sort-inline {
	position: relative;
}

.eca-jb-sort-inline-btn {
	background: transparent;
	border: 0;
	color: var(--jb-text);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* ============ JOB CARD LIST ============ */
.eca-jb-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.eca-jb-item {
	list-style: none;
}

.eca-jb-card {
	display: grid;
	grid-template-columns: 76px 1fr;
	gap: 18px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: var(--jb-radius);
	transition: all .18s ease;
}

.eca-jb-card:hover {
	border-color: var(--jb-forest);
	box-shadow: 0 8px 22px rgba(35, 75, 54, .08);
	transform: translateY(-1px);
}

.eca-jb-card-boost {
	border-color: rgba(212, 166, 42, .45);
	background: linear-gradient(135deg, #fffaee, #fff);
}

.eca-jb-card-locked {
	grid-column: 1 / -1;
	text-decoration: none;
	color: inherit;
}

.eca-jb-card-logo {
	position: relative;
	width: 76px;
	height: 76px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--jb-forest) 0%, var(--jb-forest-soft) 100%);
	color: #fff;
	border-radius: 14px;
	font-size: 28px;
	font-weight: 800;
	font-family: 'Gilroy', sans-serif;
	overflow: hidden;
	text-decoration: none !important;
	flex-shrink: 0;
}

.eca-jb-card-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eca-jb-card:nth-child(4n+2) .eca-jb-card-logo {
	background: linear-gradient(135deg, var(--jb-gold) 0%, var(--jb-gold-soft) 100%);
	color: #1a1408;
}

.eca-jb-card:nth-child(4n+3) .eca-jb-card-logo {
	background: linear-gradient(135deg, #6b8d6e 0%, #859e87 100%);
}

.eca-jb-card:nth-child(4n+4) .eca-jb-card-logo {
	background: linear-gradient(135deg, #c9b88a 0%, #d8c8a0 100%);
	color: #3a2f0c;
}

.eca-jb-card-new {
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	padding: 2px 8px;
	background: var(--jb-forest);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .5px;
	border-radius: 6px;
	white-space: nowrap;
}

.eca-jb-card-body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.eca-jb-card-top {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: flex-start;
}

.eca-jb-card-titles {
	min-width: 0;
	flex: 1;
}

.eca-jb-card-title {
	margin: 0 0 4px;
	font-family: 'Gilroy', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	color: var(--jb-text);
}

.eca-jb-card-title a {
	color: inherit;
	text-decoration: none;
}

.eca-jb-card-title a:hover {
	color: var(--jb-forest);
	text-decoration: none;
}

.eca-jb-card-company {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	color: var(--jb-text-soft);
	font-weight: 500;
	text-decoration: none;
}

.eca-jb-card-company:hover {
	color: var(--jb-forest);
	text-decoration: none;
}

.eca-jb-card-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	flex-shrink: 0;
	text-align: right;
}

.eca-jb-card-salary {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.eca-jb-card-salary b {
	font-family: 'Gilroy', sans-serif;
	font-weight: 700;
	font-size: 14px;
	color: var(--jb-text);
}

.eca-jb-card-salary small {
	font-size: 11px;
	color: var(--jb-text-mute);
}

.eca-jb-card-time {
	font-size: 11px;
	color: var(--jb-text-mute);
}

.eca-jb-card-bookmark {
	background: transparent;
	border: 0;
	color: var(--jb-text-mute);
	cursor: pointer;
	padding: 2px;
	transition: color .15s;
}

.eca-jb-card-bookmark:hover,
.eca-jb-card-bookmark.active {
	color: var(--jb-gold);
}

.eca-jb-card-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--jb-text-soft);
}

.eca-jb-card-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.eca-jb-card-meta-item svg {
	color: var(--jb-text-mute);
	flex: 0 0 13px;
}

.eca-jb-card-dot {
	color: var(--jb-text-mute);
}

.eca-jb-card-desc {
	font-size: 13px;
	color: var(--jb-text-soft);
	line-height: 1.5;
	margin: 0;
}

.eca-jb-card-actions {
	display: flex;
	gap: 10px;
	margin-top: 4px;
}

.eca-jb-card-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 18px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: all .18s ease;
	border: 0;
}

.eca-jb-card-btn.primary {
	background: var(--jb-forest);
	color: #fff;
}

.eca-jb-card-btn.primary:hover {
	background: var(--jb-forest-dark);
	box-shadow: 0 6px 14px rgba(35, 75, 54, .25);
	color: #fff;
	text-decoration: none;
}

.eca-jb-card-btn.ghost {
	background: transparent;
	color: var(--jb-text-soft);
	border: 1px solid var(--jb-line);
}

.eca-jb-card-btn.ghost:hover {
	color: var(--jb-forest);
	border-color: var(--jb-forest);
	text-decoration: none;
}

/* ============ MORE BUTTON ============ */
.eca-jb-more-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 50px;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: 999px;
	color: var(--jb-text);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	margin-top: 16px;
	transition: all .18s ease;
}

.eca-jb-more-btn:hover {
	color: var(--jb-forest);
	border-color: var(--jb-forest);
	text-decoration: none;
}

.eca-jb-pager {
	margin-top: 16px;
}

.eca-jb-search-results {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	background: rgba(35, 75, 54, .06);
	border-radius: var(--jb-radius);
	margin-bottom: 18px;
	font-size: 13px;
	color: var(--jb-text-soft);
}

.eca-jb-search-results svg {
	color: var(--jb-forest);
}

.eca-jb-empty {
	text-align: center;
	padding: 60px 24px;
	background: #fff;
	border: 1px dashed var(--jb-line);
	border-radius: var(--jb-radius);
}

.eca-jb-empty svg {
	color: var(--jb-text-mute);
	margin-bottom: 12px;
}

.eca-jb-empty h3 {
	font-size: 18px;
	color: var(--jb-text);
	margin: 0 0 6px;
}

.eca-jb-empty p {
	font-size: 13px;
	color: var(--jb-text-soft);
	margin: 0;
}

/* ============ SIDEBAR ============ */
.eca-jb-side {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 84px;
}

.eca-jb-side-card {
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: var(--jb-radius);
	padding: 18px 18px 16px;
}

.eca-jb-side-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
}

.eca-jb-side-head h3 {
	font-family: 'Gilroy', sans-serif;
	font-weight: 800;
	font-size: 15px;
	color: var(--jb-text);
	margin: 0;
}

.eca-jb-side-head a {
	font-size: 11px;
	font-weight: 600;
	color: var(--jb-forest);
	text-decoration: none;
}

.eca-jb-side-head a:hover {
	color: var(--jb-gold);
	text-decoration: none;
}

/* === Mini list (Empleos destacados) === */
.eca-jb-mini-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.eca-jb-mini-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.eca-jb-mini-logo {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	border-radius: 10px;
	font-size: 18px;
	font-weight: 800;
	overflow: hidden;
	text-decoration: none !important;
}

.eca-jb-mini-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eca-jb-mini-list .eca-jb-mini-item:nth-child(2) .eca-jb-mini-logo {
	background: linear-gradient(135deg, var(--jb-gold) 0%, var(--jb-gold-soft) 100%);
	color: #1a1408;
}

.eca-jb-mini-list .eca-jb-mini-item:nth-child(3) .eca-jb-mini-logo {
	background: linear-gradient(135deg, #c9b88a 0%, #d8c8a0 100%);
	color: #3a2f0c;
}

.eca-jb-mini-body {
	min-width: 0;
	flex: 1;
}

.eca-jb-mini-title {
	display: block;
	font-family: 'Gilroy', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: var(--jb-text);
	line-height: 1.3;
	text-decoration: none;
	margin-bottom: 2px;
}

.eca-jb-mini-title:hover {
	color: var(--jb-forest);
	text-decoration: none;
}

.eca-jb-mini-company {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: var(--jb-text-soft);
	margin-bottom: 4px;
}

.eca-jb-mini-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 10px;
	color: var(--jb-text-mute);
}

.eca-jb-mini-meta span {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}

.eca-jb-mini-empty {
	font-size: 12px;
	color: var(--jb-text-mute);
	text-align: center;
	padding: 8px 0;
}

/* === Category grid === */
.eca-jb-cat-grid {
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.eca-jb-cat-grid-item.is-hidden {
	display: none;
}

.eca-jb-cat-grid[data-eca-collapsed="0"] {
	max-height: 420px;
	overflow-y: auto;
	padding-right: 4px;
}

.eca-jb-cat-tile {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	background: rgba(35, 75, 54, .04);
	border-radius: 10px;
	text-decoration: none;
	transition: background .15s;
}

.eca-jb-cat-tile:hover {
	background: rgba(35, 75, 54, .1);
	text-decoration: none;
}

.eca-jb-cat-tile-icon {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	color: var(--jb-forest);
	background: rgba(35, 75, 54, .12);
}

.eca-jb-cat-tile-icon-0 { background: rgba(35, 75, 54, .12); color: var(--jb-forest); }
.eca-jb-cat-tile-icon-1 { background: rgba(212, 166, 42, .15); color: var(--jb-gold); }
.eca-jb-cat-tile-icon-2 { background: rgba(43, 182, 112, .15); color: var(--jb-green); }
.eca-jb-cat-tile-icon-3 { background: rgba(232, 185, 51, .15); color: #c69926; }
.eca-jb-cat-tile-icon-4 { background: rgba(107, 141, 110, .18); color: #5a7d5d; }
.eca-jb-cat-tile-icon-5 { background: rgba(212, 166, 42, .12); color: #b88e1f; }

.eca-jb-cat-tile b {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--jb-text);
	line-height: 1.2;
}

.eca-jb-cat-tile small {
	font-size: 10px;
	color: var(--jb-text-mute);
}

.eca-jb-cat-all {
	display: block;
	width: 100%;
	text-align: center;
	padding: 10px;
	background: var(--jb-forest);
	color: #fff;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s;
}

.eca-jb-cat-all:hover {
	background: var(--jb-forest-dark);
	color: #fff;
	text-decoration: none;
}

/* === Tip card === */
.eca-jb-tip-body {
	display: flex;
	gap: 12px;
	align-items: center;
}

.eca-jb-tip-text {
	flex: 1;
	min-width: 0;
}

.eca-jb-tip-text b {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--jb-text);
	margin-bottom: 4px;
	line-height: 1.3;
}

.eca-jb-tip-text small {
	display: block;
	font-size: 11px;
	color: var(--jb-text-soft);
	line-height: 1.4;
	margin-bottom: 6px;
}

.eca-jb-tip-link {
	font-size: 11px;
	font-weight: 700;
	color: var(--jb-forest);
	text-decoration: none;
}

.eca-jb-tip-link:hover {
	color: var(--jb-gold);
	text-decoration: none;
}

.eca-jb-tip-illo {
	flex: 0 0 100px;
}

.eca-jb-tip-illo svg {
	width: 100%;
	height: auto;
}

/* ============ CTA BOTTOM ============ */
.eca-jb-cta {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 22px 26px;
	background: #fff;
	border: 1px solid var(--jb-line);
	border-radius: var(--jb-radius-lg);
	margin-top: 22px;
	box-shadow: var(--jb-shadow);
}

.eca-jb-cta-icon {
	flex: 0 0 60px;
	width: 60px;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--jb-forest);
	color: #fff;
	border-radius: 50%;
}

.eca-jb-cta-text {
	flex: 1;
	min-width: 0;
}

.eca-jb-cta-text h3 {
	font-family: 'Gilroy', sans-serif;
	font-weight: 800;
	font-size: 17px;
	color: var(--jb-text);
	margin: 0 0 2px;
}

.eca-jb-cta-text p {
	font-size: 13px;
	color: var(--jb-text-soft);
	margin: 0;
}

.eca-jb-cta-btn {
	height: 46px;
	padding: 0 28px;
	background: linear-gradient(180deg, var(--jb-gold-soft), var(--jb-gold));
	border: 0;
	border-radius: 999px;
	color: #1a1408;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all .18s ease;
	box-shadow: 0 6px 16px rgba(212, 166, 42, .35);
	white-space: nowrap;
}

.eca-jb-cta-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(212, 166, 42, .45);
}

/* =================================================================
   RESPONSIVE
   ================================================================= */

@media (max-width: 1199.98px) {
	.eca-jb-layout {
		grid-template-columns: 1fr 290px;
	}
	.eca-jb-hero-title { font-size: 28px; }
}

@media (max-width: 991.98px) {
	.eca-jb-layout {
		grid-template-columns: 1fr;
	}
	.eca-jb-side {
		position: static;
	}
	.eca-jb-stats {
		grid-template-columns: repeat(2, 1fr);
	}
	.eca-jb-stat:nth-child(2n) {
		border-right: 0;
	}
	.eca-jb-hero-inner {
		grid-template-columns: 1fr;
	}
	.eca-jb-hero-illo {
		display: none;
	}
	.eca-jb-hero-filters {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767.98px) {
	.eca-jb-page {
		padding: 14px 12px 40px;
	}
	.eca-jb-hero {
		padding: 24px 20px 22px;
		border-radius: var(--jb-radius);
	}
	.eca-jb-hero-title {
		font-size: 24px;
	}
	.eca-jb-hero-filters {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	.eca-jb-hero-search {
		padding: 4px 4px 4px 14px;
		flex-wrap: wrap;
	}
	.eca-jb-hero-search input {
		min-width: 100%;
		order: -1;
	}
	.eca-jb-hero-search-btn,
	.eca-jb-hero-create-btn {
		flex: 1;
		justify-content: center;
		padding: 0 12px;
		font-size: 12px;
	}
	.eca-jb-stats {
		padding: 16px;
		gap: 10px;
	}
	.eca-jb-stat {
		padding-right: 8px;
		gap: 10px;
	}
	.eca-jb-stat-icon {
		flex: 0 0 36px;
		width: 36px;
		height: 36px;
	}
	.eca-jb-stat-num { font-size: 18px; }
	.eca-jb-stat-label { font-size: 11px; }
	.eca-jb-chips {
		gap: 6px;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 6px;
	}
	.eca-jb-chip {
		flex-shrink: 0;
		padding: 8px 14px;
		font-size: 12px;
	}
	.eca-jb-card {
		grid-template-columns: 56px 1fr;
		padding: 14px 14px;
		gap: 12px;
	}
	.eca-jb-card-logo {
		width: 56px;
		height: 56px;
		font-size: 22px;
	}
	.eca-jb-card-top {
		flex-direction: column;
	}
	.eca-jb-card-aside {
		flex-direction: row;
		align-items: center;
		align-self: stretch;
		justify-content: space-between;
	}
	.eca-jb-card-actions {
		flex-direction: column;
	}
	.eca-jb-card-btn {
		width: 100%;
		justify-content: center;
	}
	.eca-jb-cta {
		flex-direction: column;
		text-align: center;
		padding: 22px;
	}
	.eca-jb-cta-btn {
		width: 100%;
	}
}

@media (max-width: 479.98px) {
	.eca-jb-stats {
		grid-template-columns: 1fr 1fr;
	}
	.eca-jb-hero-filters {
		grid-template-columns: 1fr;
	}
	.eca-jb-section-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
}

/* ==========================================================================
   JOB DETAIL PAGE (/posts/{id} for post_type=job)
   ========================================================================== */

.eca-jb-detail-page .post-body { padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
.eca-jb-detail-page .post { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }

.eca-jb-detail {
	font-family: 'Gilroy', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	color: #1d2a23;
	margin-bottom: 24px;
}
/* Hard reset against SNGINE/SocialV inherited rules that break our layout */
.eca-jb-detail,
.eca-jb-detail * {
	word-break: normal !important;
	overflow-wrap: break-word !important;
	hyphens: none !important;
}
.eca-jb-detail-page .post,
.eca-jb-detail-page .post-body {
	overflow: visible !important;
}

.eca-jb-detail-hero {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	background: linear-gradient(135deg, #f1f6f1 0%, #e3eee5 50%, #e8e0c9 100%);
	border: 1px solid rgba(35, 75, 54, 0.08);
	box-shadow: 0 6px 20px rgba(35, 75, 54, 0.06);
}
.eca-jb-detail-hero-bg {
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 12% 0%, rgba(212, 166, 42, 0.18), transparent 35%),
		radial-gradient(circle at 100% 100%, rgba(35, 75, 54, 0.12), transparent 40%);
	pointer-events: none;
}
.eca-jb-detail-hero-inner {
	position: relative;
	padding: 22px 26px;
}

.eca-jb-detail-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #5b6b62;
	margin-bottom: 18px;
}
.eca-jb-detail-crumbs a {
	color: #234b36;
	text-decoration: none;
	font-weight: 600;
}
.eca-jb-detail-crumbs a:hover { color: #d4a62a; }
.eca-jb-detail-crumbs .is-current {
	color: #1d2a23;
	font-weight: 700;
}

.eca-jb-detail-hero-row {
	display: grid;
	grid-template-columns: 68px 1fr;
	gap: 16px;
	align-items: flex-start;
}

.eca-jb-detail-logo {
	width: 68px !important;
	height: 68px !important;
	max-width: 68px !important;
	min-width: 68px !important;
	border-radius: 14px;
	background: #fff;
	border: 1px solid rgba(35, 75, 54, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(35, 75, 54, 0.08);
	position: relative;
}
.eca-jb-detail-logo img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover;
	z-index: 2;
	background: #fff;
}
.eca-jb-detail-logo-initials {
	font-size: 22px;
	font-weight: 800;
	color: #234b36;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	z-index: 1;
}

.eca-jb-detail-headblock { min-width: 0; }

.eca-jb-detail-status {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}
.eca-jb-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2px;
}
.eca-jb-pill-open { background: rgba(43, 182, 112, 0.14); color: #1f8a4f; }
.eca-jb-pill-closed { background: rgba(220, 53, 69, 0.12); color: #b51f2c; }
.eca-jb-pill-cat { background: rgba(35, 75, 54, 0.1); color: #234b36; }

.eca-jb-detail-title {
	font-size: 26px;
	line-height: 1.2;
	margin: 0 0 8px;
	color: #1d2a23;
	font-weight: 800;
}

.eca-jb-detail-company {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.eca-jb-detail-company-avatar {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	object-fit: cover;
}
.eca-jb-detail-company-name {
	color: #234b36;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}
.eca-jb-detail-company-name:hover { color: #d4a62a; }
.eca-jb-detail-verified { flex-shrink: 0; }

.eca-jb-detail-meta {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 13px;
	color: #5b6b62;
}
.eca-jb-detail-meta li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.eca-jb-detail-meta svg { color: #234b36; }

.eca-jb-detail-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 18px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid rgba(35, 75, 54, 0.1);
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(35, 75, 54, 0.05);
	flex-wrap: wrap;
}
.eca-jb-detail-salary {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
}
.eca-jb-detail-salary small {
	display: block;
	font-size: 10px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: #7a8a82;
	font-weight: 700;
	margin-bottom: 2px;
	line-height: 1;
}
.eca-jb-detail-salary-amt {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}
.eca-jb-detail-salary b {
	font-size: 20px;
	font-weight: 800;
	color: #234b36;
	line-height: 1.1;
}
.eca-jb-detail-salary span {
	font-size: 15px;
	color: #5b6b62;
	font-weight: 700;
}
.eca-jb-detail-salary em {
	font-style: normal;
	font-size: 11px;
	color: #7a8a82;
	font-weight: 600;
}
.eca-jb-detail-cta-actions {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}
.eca-jb-detail-cta-actions .eca-jb-btn {
	width: auto;
}

.eca-jb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px 16px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
	text-decoration: none;
}
.eca-jb-btn-primary {
	background: #234b36;
	color: #fff;
	box-shadow: 0 4px 12px rgba(35, 75, 54, 0.25);
}
.eca-jb-btn-primary:hover:not(:disabled) {
	background: #1c3c2c;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(35, 75, 54, 0.35);
}
.eca-jb-btn-primary:disabled { opacity: 0.55; cursor: not-allowed; }
.eca-jb-btn-ghost {
	background: #fff;
	color: #234b36;
	border-color: rgba(35, 75, 54, 0.18);
}
.eca-jb-btn-ghost:hover {
	background: #f1f6f1;
	color: #234b36;
	border-color: rgba(35, 75, 54, 0.3);
}

/* QUICK FACTS */
.eca-jb-detail-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}
.eca-jb-detail-fact {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid rgba(35, 75, 54, 0.08);
	border-radius: 12px;
	padding: 12px 14px;
	box-shadow: 0 2px 6px rgba(35, 75, 54, 0.03);
	min-width: 0;
}
.eca-jb-detail-fact-ico {
	width: 36px;
	height: 36px;
	min-width: 36px;
	border-radius: 10px;
	background: rgba(35, 75, 54, 0.08);
	color: #234b36;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.eca-jb-detail-fact > div { min-width: 0; flex: 1 1 auto; }
.eca-jb-detail-fact small {
	display: block;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #7a8a82;
	font-weight: 700;
	margin-bottom: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.eca-jb-detail-fact b {
	font-size: 14px;
	color: #1d2a23;
	font-weight: 700;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.3;
}

/* SECTIONS */
.eca-jb-detail-section {
	background: #fff;
	border: 1px solid rgba(35, 75, 54, 0.08);
	border-radius: 14px;
	padding: 18px 22px;
	margin-top: 16px;
	box-shadow: 0 2px 6px rgba(35, 75, 54, 0.03);
}
.eca-jb-detail-section-head {
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(35, 75, 54, 0.08);
}
.eca-jb-detail-section-head h2 {
	font-size: 16px;
	font-weight: 800;
	color: #1d2a23;
	margin: 0;
}
.eca-jb-detail-prose {
	font-size: 14px;
	line-height: 1.65;
	color: #2d3a32;
}
.eca-jb-detail-prose .post-text { color: #2d3a32 !important; }

.eca-jb-detail-fields {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 22px;
	margin: 0;
}
.eca-jb-detail-field dt {
	font-size: 11px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #7a8a82;
	font-weight: 700;
	margin-bottom: 2px;
}
.eca-jb-detail-field dd {
	margin: 0;
	font-size: 14px;
	color: #1d2a23;
	font-weight: 600;
}
.eca-jb-detail-field dd a { color: #234b36; text-decoration: underline; }

/* Responsive */
@media (max-width: 991.98px) {
	.eca-jb-detail-fields { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
	.eca-jb-detail-hero-inner { padding: 18px 16px; }
	.eca-jb-detail-hero-row {
		grid-template-columns: 56px 1fr;
		gap: 12px;
	}
	.eca-jb-detail-logo {
		width: 56px !important;
		height: 56px !important;
		max-width: 56px !important;
		min-width: 56px !important;
	}
	.eca-jb-detail-logo-initials { font-size: 18px; }
	.eca-jb-detail-title { font-size: 20px; }
	.eca-jb-detail-section { padding: 14px 16px; }
	.eca-jb-detail-cta {
		flex-direction: column;
		align-items: stretch;
	}
	.eca-jb-detail-cta-actions { width: 100%; }
	.eca-jb-detail-cta-actions .eca-jb-btn { flex: 1 1 auto; }
}
@media (max-width: 480px) {
	.eca-jb-detail-facts { grid-template-columns: 1fr; }
}
