/* Job List Page Styles */

.panel-joblist { }

@media (min-width:1200px) {
	.panel-joblist .row-main { margin:0 -25px; }
	.panel-joblist .row-main > div { padding:0 25px; }
}


/* Results heading */
.job-list-results-heading {
	font-weight: 600;
	font-size: 21px;
	line-height: 1.2;
	color: var(--darkbluegrey);
	margin-bottom: 32px;
}

.job-list-results-heading .count {
	color: var(--blue);
}

/* Sidebar - Locations Filter */
.job-list-sidebar {
	background: white;
	border: 1px solid #DFDFE0;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
}

.job-list-sidebar h3 {
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2;
	letter-spacing: -0.28px;
	color: var(--darkbluegrey);
	margin-bottom: 22px;
}

.job-list-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.job-list-sidebar ul li {
	margin-bottom: 14px;
}

.job-list-sidebar ul li:last-child {
	margin-bottom: 0;
}

.job-list-sidebar ul li a {
	display: flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
	padding: 0;
	border-radius: 8px;
	transition: all 0.2s;
}

.job-list-sidebar ul li a span {
	font-weight: 400;
	font-size: 19px;
	line-height: 1.4;
	color: var(--darkbluegrey);
}

.job-list-sidebar ul li a.selected span {
	font-weight: 600;
}

/* Radio button styles */
.job-list-radio {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid #DFDFE0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: relative;
}

.job-list-radio::after {
	content: '';
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: transparent;
}

.job-list-sidebar ul li a.selected .job-list-radio {
	border-color: var(--blue);
}

.job-list-sidebar ul li a.selected .job-list-radio::after {
	background-color: var(--blue);
}

/* Keyword Search Box */
.job-list-keyword-box {
	background: white;
	border: 1px solid #DFDFE0;
	border-radius: 12px;
	padding: 24px;
}

.job-list-keyword-box h3 {
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2;
	letter-spacing: -0.28px;
	color: var(--darkbluegrey);
	margin-bottom: 26px;
}

.job-list-keyword-input {
	display: flex;
	align-items: center;
	gap: 12px;
	background: white;
	border: 1px solid #DFDFE0;
	border-radius: 8px;
	padding: 12px;
	height: 44px;
}

.job-list-keyword-input input {
	flex: 1;
	width:100%;
	border: none;
	outline: none;
	font-size: 16px;
	line-height: 1.2;
	color: var(--darkbluegrey);
}

.job-list-keyword-input input::placeholder {
	color: rgba(99, 102, 111, 0.8);
}

.job-list-keyword-input svg,
.job-list-keyword-input img {
	width: 17px;
	height: 17px;
	flex-shrink: 0;
}

.job-list-search-btn {
	margin-top: 16px;
	margin-left:-16px;
}

.job-list-search-btn input,
.job-list-search-btn a {
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	color: var(--blue);
	text-decoration: underline;
	display: inline-block;
	padding: 10px 16px;
	transition: opacity 0.2s;
	background:none;
	border:none;
}

.job-list-search-btn input:hover,
.job-list-search-btn a:hover {
	opacity: 0.8;
}

/* Job Listing Container */
.job-listing-inner {
	display: flex;
	flex-direction: column;
	gap: 27px;
}

/* Job Card */
.position {
	background: white;
	border: 1px solid #DFDFE0;
	border-radius: 12px;
	position: relative;
}

.position.featured {
	border-color: var(--yellow);
	border-width: 2px;
}

.position-top {
	padding: 21px 26px 26px 26px;
}
.position-top .button {
	margin-top:25px;
}
@media (min-width:1200px) {
	.position-top {
		position:relative;
	}
	.position-top-left {
		padding-right:188px;
	}
	.position-top .button {
		position:absolute;
		bottom:26px;
		right:26px;
	}
}

.group-title {
	margin-bottom: 16px;
}

.group-title h3 {
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2;
	letter-spacing: -0.28px;
	color: var(--darkbluegrey);
	margin-bottom: 8px;
}

.group-title h3 a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.group-title h3 a:hover {
	color: var(--blue);
}

.group-title .work-type {
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	color: var(--darkbluegrey);
	margin: 0;
}

.position .description {
	
}

.position .description ul {
	list-style: disc;
	margin: 0;
	padding-left: 24px;
}

.position .description li {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.2;
	color: #63666F;
	margin-bottom: 10px;
}

.position .description li:last-child {
	margin-bottom: 0;
}

/* Position Bottom */
.position-bottom {
	border-top: 1px solid #DFDFE0;
	padding: 16px 26px;
}

.position-top .location {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	color: var(--darkbluegrey);
	margin: 0 0 16px 0;
}

.position-top .location span {
	width: 14px;
	height: 20px;
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='20' viewBox='0 0 14 20' fill='none'%3E%3Cpath d='M7 20C6.76667 20 6.56667 19.9333 6.4 19.8C6.23333 19.6667 6.10833 19.4917 6.025 19.275C5.70833 18.3417 5.30833 17.4667 4.825 16.65C4.35833 15.8333 3.7 14.875 2.85 13.775C2 12.675 1.30833 11.625 0.775 10.625C0.258333 9.625 0 8.41667 0 7C0 5.05 0.675 3.4 2.025 2.05C3.39167 0.683333 5.05 0 7 0C8.95 0 10.6 0.683333 11.95 2.05C13.3167 3.4 14 5.05 14 7C14 8.51667 13.7083 9.78333 13.125 10.8C12.5583 11.8 11.9 12.7917 11.15 13.775C10.25 14.975 9.56667 15.975 9.1 16.775C8.65 17.5583 8.275 18.3917 7.975 19.275C7.89167 19.5083 7.75833 19.6917 7.575 19.825C7.40833 19.9417 7.21667 20 7 20ZM7 16.425C7.28333 15.8583 7.6 15.3 7.95 14.75C8.31667 14.2 8.85 13.4667 9.55 12.55C10.2667 11.6167 10.85 10.7583 11.3 9.975C11.7667 9.175 12 8.18333 12 7C12 5.61667 11.5083 4.44167 10.525 3.475C9.55833 2.49167 8.38333 2 7 2C5.61667 2 4.43333 2.49167 3.45 3.475C2.48333 4.44167 2 5.61667 2 7C2 8.18333 2.225 9.175 2.675 9.975C3.14167 10.7583 3.73333 11.6167 4.45 12.55C5.15 13.4667 5.675 14.2 6.025 14.75C6.39167 15.3 6.71667 15.8583 7 16.425ZM7 9.5C7.7 9.5 8.29167 9.25833 8.775 8.775C9.25833 8.29167 9.5 7.7 9.5 7C9.5 6.3 9.25833 5.70833 8.775 5.225C8.29167 4.74167 7.7 4.5 7 4.5C6.3 4.5 5.70833 4.74167 5.225 5.225C4.74167 5.70833 4.5 6.3 4.5 7C4.5 7.7 4.74167 8.29167 5.225 8.775C5.70833 9.25833 6.3 9.5 7 9.5Z' fill='%23003EAB'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size: contain;
}

.position-bottom .details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 50px;
	margin: 0;
}

.position-bottom .details .start,
.position-bottom .details .salary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 600;
	color: var(--darkbluegrey);
	background: white;
	border-radius: 30px;
}

.position-bottom .details .start::before,
.position-bottom .details .salary::before {
	content: '';
	width: 20px;
	height: 20px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

.position-bottom .details .start::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='19' viewBox='0 0 17 19' fill='none'%3E%3Cpath d='M11.5444 1V4.24444M5.05556 1V4.24444M1 7.48889H15.6M2.62222 2.62222H13.9778C14.8737 2.62222 15.6 3.34852 15.6 4.24444V15.6C15.6 16.4959 14.8737 17.2222 13.9778 17.2222H2.62222C1.72629 17.2222 1 16.4959 1 15.6V4.24444C1 3.34852 1.72629 2.62222 2.62222 2.62222Z' stroke='%23003EAB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.position-bottom .details .salary::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='17' viewBox='0 0 15 17' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.08696 8.8V12.8C8.46377 12.6735 9.04348 11.8852 9.04348 10.8438C9.04348 9.84136 8.59259 9.24769 7.08696 8.8ZM5.91304 6.8V3.2C4.63241 3.36615 3.95652 4.13231 3.95652 4.97231C3.95652 5.81231 4.49012 6.43077 5.91304 6.8ZM7.02427 7.09469L7.44369 7.20554C9.74175 7.76905 11 8.76674 11 10.7344C11 12.9977 9.25243 14.2818 7.02427 14.448V16H6.03689V14.448C3.81748 14.2725 2.06117 12.9515 2 10.7344H3.80874C3.96602 11.8152 4.6301 12.6097 6.03689 12.7667V8.73903L5.67864 8.64665C3.45922 8.10162 2.26214 7.0485 2.26214 5.17321C2.26214 3.10393 3.83495 1.73672 6.03689 1.5612V0H7.02427V1.5612C9.20874 1.74596 10.7903 3.13164 10.8602 5.22864H9.04272C8.92913 4.06467 8.14272 3.3903 7.02427 3.24249V7.09469Z' fill='%23003EAB'/%3E%3C/svg%3E");
	background-position:100% 50%;
}


/* Pagination */
.pagination-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 13px;
	margin-top: 40px;
}

.pagination-wrapper .page-number {
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	font-size: 20px;
	line-height: 1.2;
	text-decoration: none;
	transition: all 0.2s;
}

.pagination-wrapper .page-number.active {
	background: #EFF5FE;
	color: var(--blue);
	font-weight: 600;
}

.pagination-wrapper .page-number:not(.active) {
	color: #63666F;
	font-weight: 500;
}

.pagination-wrapper .page-number:hover {
	background: #EFF5FE;
}

.pagination-wrapper .pagination-next {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 20px;
	font-weight: 500;
	color: #63666F;
	text-decoration: none;
	transition: color 0.2s;
}

.pagination-wrapper .pagination-next:hover {
	color: var(--blue);
}

.pagination-wrapper .pagination-next svg {
	width: 32px;
	height: 32px;
}

/* Responsive adjustments */
@media (max-width: 991px) {
	.col-sidebar {
		margin-bottom: 30px;
	}
	
	.position-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.position-bottom .button {
		margin-left: 0;
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.job-list-sidebar h3,
	.job-list-keyword-box h3 {
		font-size: 24px;
	}
	
	.job-list-results-heading {
		font-size: 18px;
	}
	
	/* Job Card Mobile Styling */
	.position {
		border-radius: 14px;
		box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.1), 0px 1px 2px 0px rgba(0,0,0,0.1);
	}
	
	.position-top {
		padding: 21px 21px 24px 21px;
	}
	
	.group-title h3 {
		font-size: 26px;
		line-height: 1.15;
		letter-spacing: 0;
		margin-bottom: 15px;
	}
	
	.position-top .location {
		font-size: 18px;
		font-weight: 400;
		line-height: 1.4;
		margin-bottom: 24px;
	}
	
	.position .description li {
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 8px;
	}
	
	/* Position Bottom Mobile */
	.position-bottom {
		border-top: 1px solid #F3F4F6;
		padding: 17px 21px 20px 21px;
		flex-direction: column;
		gap: 20px;
	}
	
	.position-bottom .details {
		flex-direction: column;
		gap: 16px;
		width: 100%;
	}
	
	.position-bottom .details .start,
	.position-bottom .details .salary {
		width: 100%;
		background: #EFF5FE;
		padding: 6px 12px;
		border-radius: 100px;
		font-size: 16px;
		line-height: 1.4;
		font-weight: 600;
		gap: 8px;
		min-height: 32px;
	}
	
	.position-bottom .details .start strong,
	.position-bottom .details .salary strong {
		font-weight: 600;
		color: var(--darkbluegrey);
	}
	
	.position-bottom .details .start span,
	.position-bottom .details .salary span {
		font-weight: 400;
		color: #63666F;
	}
	
	.position-bottom .button {
		width: 100%;
		height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 18px;
		line-height: 1.5;
		border-radius: 10px;
		margin-top: 0;
	}
	
	.position-top .button {
		margin-top: 0;
	}
}
