/**
 * Figma-aligned jobs board styles (scoped to .yesnet-jobs-listing).
 *
 * @package YesNet_HireZoot_Shortcodes
 */

.yesnet-jobs-listing {
	--yesnet-color-navy: #1a3a5a;
	--yesnet-color-navy-light: #2a5080;
	--yesnet-color-green: #6fba2c;
	--yesnet-color-green-hover: #5da022;
	--yesnet-color-white: #ffffff;
	--yesnet-color-gray-50: #f9f9f9;
	--yesnet-color-gray-100: #f0f0f0;
	--yesnet-color-gray-300: #d1d5db;
	--yesnet-color-gray-600: #6b7280;
	--yesnet-color-text: #333333;
	--yesnet-font-family: 'Heebo', Arial, sans-serif;
	--yesnet-radius-sm: 8px;
	--yesnet-radius-md: 12px;
	--yesnet-radius-lg: 24px;
	--yesnet-radius-pill: 999px;
	--yesnet-shadow-card: 0 4px 20px rgba(0, 0, 0, 0.08);
	--yesnet-transition: 0.25s ease;

	font-family: var(--yesnet-font-family);
	background: var(--yesnet-color-gray-50);
	padding: 3rem 0 4rem;
}

.yesnet-jobs-listing *,
.yesnet-jobs-listing *::before,
.yesnet-jobs-listing *::after {
	box-sizing: border-box;
}

/* Board layout */

.yesnet-jobs-listing--checkbox-filters .yesnet-jobs-layout {
	gap: 2rem;
}

.yesnet-jobs-listing .yesnet-jobs-layout__main {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.yesnet-jobs-listing .awsm-job-wrap {
	background: transparent;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.yesnet-jobs-listing .awsm-filter-wrap {
	margin: 0;
}

.yesnet-jobs-listing .awsm-filter-wrap .awsm-filter-item-search {
	padding-bottom: 0;
}

.yesnet-jobs-listing .awsm-filter-wrap form {
	margin: 0;
}

.yesnet-jobs-listing .awsm-filter-item-search {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
	position: relative;
}

.yesnet-jobs-listing .awsm-filter-item-search::before {
	content: '';
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	z-index: 1;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.yesnet-jobs-listing .awsm-filter-item-search .awsm-job-form-control,
.yesnet-jobs-listing .awsm-filter-item-search .awsm-job-search {
	width: 100%;
	font-family: inherit;
	font-size: 1rem;
	padding: 0.9rem 1rem 0.9rem 3rem !important;
	border: 1px solid var(--yesnet-color-gray-300);
	border-radius: var(--yesnet-radius-md);
	background: var(--yesnet-color-white);
	color: var(--yesnet-color-text);
	box-shadow: var(--yesnet-shadow-card);
	transition: border-color var(--yesnet-transition), box-shadow var(--yesnet-transition);
	text-align: right;
}

.yesnet-jobs-listing .awsm-filter-item-search .awsm-job-form-control:focus,
.yesnet-jobs-listing .awsm-filter-item-search .awsm-job-search:focus {
	outline: none;
	border-color: var(--yesnet-color-green);
	box-shadow: 0 0 0 3px rgba(111, 186, 44, 0.15);
}

.yesnet-jobs-listing .awsm-filter-item-search .awsm-job-search-icon-wrapper {
	display: none !important;
}

.yesnet-jobs-listing .awsm-filter-item-search .awsm-job-search-btn,
.yesnet-jobs-listing .awsm-filter-item-search .awsm-job-search-close-btn {
	display: none !important;
}

/* Results count */

.yesnet-jobs-listing .yesnet-jobs-results-count {
	font-size: 0.9rem;
	color: var(--yesnet-color-gray-600);
	margin: 0;
}

/* Job list */

.yesnet-jobs-listing .awsm-job-listings {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.yesnet-jobs-listing .awsm-job-listings.awsm-row {
	margin: 0;
	flex-direction: column;
}

.yesnet-jobs-listing .awsm-list-item {
	float: none;
	width: 100%;
	padding: 0;
	background: var(--yesnet-color-white);
	border-radius: var(--yesnet-radius-md);
	box-shadow: var(--yesnet-shadow-card);
	padding: 1.75rem;
	transition: transform var(--yesnet-transition), box-shadow var(--yesnet-transition);
}

.yesnet-jobs-listing .awsm-list-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.yesnet-jobs-listing .awsm-list-item .awsm-job-item {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.yesnet-jobs-listing .awsm-list-left-col,
.yesnet-jobs-listing .awsm-list-right-col {
	float: none !important;
	width: 100%;
	text-align: right;
}

.yesnet-jobs-listing .awsm-list-item .awsm-job-featured-image {
	display: none;
}

.yesnet-jobs-listing .awsm-list-item h2.awsm-job-post-title {
	font-size: clamp(1.15rem, 2.5vw, 1.4rem);
	font-weight: 700;
	color: var(--yesnet-color-navy);
	margin: 0 0 1rem;
	line-height: 1.35;
}

.yesnet-jobs-listing .awsm-list-item h2.awsm-job-post-title a {
	color: inherit;
	transition: color var(--yesnet-transition);
}

.yesnet-jobs-listing .awsm-list-item h2.awsm-job-post-title a:hover {
	color: var(--yesnet-color-green);
}

/* Specification tags */

.yesnet-jobs-listing .awsm-list-right-col {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 1rem;
	text-align: right !important;
	float: none !important;
}

.yesnet-jobs-listing .awsm-list-right-col::before {
	content: '';
	grid-column: 1 / -1;
	grid-row: 2;
	border-top: 1px solid var(--yesnet-color-gray-100);
	margin-top: 1rem;
}

.yesnet-jobs-listing .awsm-job-specification-wrapper,
.yesnet-jobs-listing .awsm-job-specifications-container {
	grid-column: 1 / -1;
	grid-row: 1;
	margin: 0 0 1.25rem;
}

.yesnet-jobs-listing .awsm-job-specification-wrapper,
.yesnet-jobs-listing .awsm-job-specifications-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.yesnet-jobs-listing .awsm-job-specification-item {
	display: inline-flex;
	align-items: center;
	margin: 0;
	float: none;
}

.yesnet-jobs-listing .awsm-job-specification-item > [class^="awsm-job-icon-"],
.yesnet-jobs-listing .awsm-job-specification-label {
	display: none !important;
}

.yesnet-jobs-listing .awsm-job-specification-term {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.75rem;
	border-radius: var(--yesnet-radius-pill);
	background: var(--yesnet-color-gray-100);
	color: var(--yesnet-color-navy);
	font-size: 0.82rem;
	font-weight: 500;
	text-decoration: none;
	margin: 0;
}

.yesnet-jobs-listing .awsm-job-specification-term::after {
	content: none !important;
}

.yesnet-jobs-listing .awsm-job-specification-term:last-child::after {
	content: none;
}

.yesnet-jobs-listing .awsm-job-specification-job-type .awsm-job-specification-term,
.yesnet-jobs-listing .awsm-job-specification-job-category .awsm-job-specification-term {
	background: rgba(111, 186, 44, 0.12);
	color: var(--yesnet-color-green-hover);
}

.yesnet-jobs-listing .awsm-job-specification-job-location .awsm-job-specification-term::before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231a3a5a' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Card footer */

.yesnet-jobs-listing .awsm-job-more-container {
	grid-column: 1;
	grid-row: 2;
	padding-top: 1rem;
	margin: 0;
	text-align: right !important;
	align-self: center;
}

.yesnet-jobs-listing .awsm-job-more-container .awsm-job-more {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--yesnet-color-navy-light);
	transition: color var(--yesnet-transition);
	text-decoration: none;
}

.yesnet-jobs-listing .awsm-job-more-container .awsm-job-more:hover {
	color: var(--yesnet-color-green);
}

.yesnet-jobs-listing .awsm-job-more-container .awsm-job-more span {
	display: none;
}

.yesnet-jobs-listing .awsm-job-more-container .awsm-job-more::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232a5080' stroke-width='2'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform var(--yesnet-transition);
}

.yesnet-jobs-listing .awsm-job-more-container .awsm-job-more:hover::after {
	transform: translateX(-3px);
}

.yesnet-jobs-listing .yesnet-job-apply-wrap {
	grid-column: 2;
	grid-row: 2;
	padding-top: 1rem;
	margin: 0 !important;
	text-align: left;
	align-self: center;
}

.yesnet-jobs-listing .awsm-list-item .awsm-job-specification-item {
	margin: 0 !important;
	float: none !important;
}

/* Empty state */

.yesnet-jobs-listing .awsm-jobs-none-container,
.yesnet-jobs-listing .yesnet-jobs-none-container {
	text-align: center;
	padding: 3rem 1.5rem;
	background: var(--yesnet-color-white);
	border-radius: var(--yesnet-radius-md);
	box-shadow: var(--yesnet-shadow-card);
	color: var(--yesnet-color-gray-600);
	font-size: 1.05rem;
}

.yesnet-jobs-listing .awsm-jobs-pagination,
.yesnet-jobs-listing .awsm-load-more-main {
	display: none !important;
}

@media (max-width: 900px) {
	.yesnet-jobs-listing {
		padding: 2rem 0 3rem;
		padding-inline: 1.5rem;
	}
}

@media (max-width: 600px) {
	.yesnet-jobs-listing .awsm-list-right-col {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
	}

	.yesnet-jobs-listing .awsm-list-right-col::before {
		grid-row: 2;
	}

	.yesnet-jobs-listing .awsm-job-more-container {
		grid-column: 1;
		grid-row: 3;
	}

	.yesnet-jobs-listing .yesnet-job-apply-wrap {
		grid-column: 1;
		grid-row: 4;
	}

	.yesnet-jobs-listing .yesnet-job-apply-wrap .yesnet-job-apply-btn {
		width: 100%;
	}
}
