/**

 * Job Plugin Frontend Styles

 *

 * @package Custom_Job_Plugin

 */



/* ============================

   Job Hub Grid

   ============================ */

.cjp-job-hub {

	width: 100%;

	max-width: 1200px;

	margin: 0 auto;

}



/* Filter Section */

.cjp-filters {

	background-color: #f9f8f6;

	padding: 25px;

	border-radius: 20px;

	margin-bottom: 30px;

	border: 1px solid #e9ecef;

}



.cjp-filter-form {

	display: grid;

	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

	gap: 20px;

	align-items: flex-end;

}



.cjp-filter-group {

	display: flex;

	flex-direction: column;

}



.cjp-filter-group label {

	display: block;

	margin-bottom: 8px;
	font-size: 1.4rem;
    color: #000;

}



.cjp-filter-select {
    padding: 10px 12px;
    border: 1px solid #ddd !important;
    border-radius: 4px;
    background-color: white;
    font-size: 1rem;
    color: #333;
    cursor: pointer;
    transition: border-color 0.3s ease;
    box-shadow: none !important;
    border-radius: 7px;
}

.cjp-filter-select:hover,

.cjp-filter-select:focus {

	border-color: #0073aa;

	outline: none;

	box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);

}

 
.cjp-filter-submit:active {

	transform: translateY(1px);

}



/* Job Card */

.cjp-job-card {

	background-color: white;

	border: 1px solid #e9ecef;

	border-radius: 20px;

	overflow: hidden;

	transition: all 0.3s ease;

	display: flex;

	flex-direction: column;

	height: 100%;

}



.cjp-job-card:hover {

	border-color: #413268;

	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

	transform: translateY(-2px);

}



.cjp-job-image {

	width: 100%;

	height: 200px;

	overflow: hidden;

	background-color: #f8f9fa;

}



.cjp-job-image img {

	width: 100%;

	height: 100%;

	object-fit: cover;

}



.cjp-job-content {

	padding: 20px;

	display: flex;

	flex-direction: column;

	flex-grow: 1;
	background-color: #f9f8f6;

}


h3.cjp-job-title{line-height: normal;}
h3.cjp-job-title a{text-decoration: none;}


.cjp-job-excerpt p{
    margin: 0 0 15px 0;
    font-size: 1.2rem;
    color: #000;
    line-height: 1.4;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}



.cjp-job-meta {

	display: flex;

	flex-direction: column;

	gap: 8px;

	margin-bottom: 15px;

	padding-bottom: 15px;

	border-bottom: 1px solid #f0f0f0;

}



.cjp-meta-item {

	font-size: 13px;

	color: #555;

}



.cjp-meta-item strong {

	color: #333;

	margin-right: 5px;

}




/* No Jobs Found */

.cjp-no-jobs {

	padding: 60px 20px;

	text-align: center;

	color: #666;

	font-size: 16px;

}



/* ============================

   Application Form

   ============================ */

.cjp-application-form {
	padding: 30px;
}



.cjp-application-form h3 {

	margin-top: 0;

	color: #333;

	font-size: 22px;

	margin-bottom: 25px;

}



.cjp-form-group {

	margin-bottom: 20px;

}



.cjp-form-label {
    display: block;
    margin-bottom: 8px;
    font-variation-settings: 'slnt' -1, 'wdth' 80, 'wght' 500;
    font-size: 18px;
}



.cjp-form-label .required {

	color: #d32f2f;

}



.cjp-form-input,

.cjp-form-textarea {

	width: 100%;

	padding: 12px 14px;

	border: 1px solid #ddd;

	border-radius: 4px;

	font-size: 14px;

	font-family: inherit;

	color: #333;

	background-color: white;

	transition: border-color 0.3s ease;

	box-sizing: border-box;

}



.cjp-form-input:focus,

.cjp-form-textarea:focus {

	outline: none;

	border-color: #0073aa;

	box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);

}



.cjp-form-textarea {

	resize: vertical;

	height: 110px;

}



.cjp-file-input-wrapper {

	position: relative;

}



.cjp-file-input {

	opacity: 0;

	position: absolute;

	width: 100%;

	height: 100%;

	cursor: pointer;

	top: 0;

	left: 0;

}



.cjp-file-input-label {

	display: inline-block;

	padding: 12px 20px;

	background-color: white;

	color: #0073aa;

	border: 2px dashed #0073aa;

	border-radius: 4px;

	cursor: pointer;

	font-size: 14px;

	font-weight: 600;

	transition: all 0.3s ease;

	width: 100%;

	box-sizing: border-box;

	text-align: center;

}



.cjp-file-input:focus + .cjp-file-input-label {

	background-color: #f0f5fa;

}



.cjp-file-input-label:hover {

	background-color: #f0f5fa;

	border-color: #005a87;

	color: #005a87;

}



.cjp-file-info {

	margin-top: 10px;

	padding: 10px 14px;

	background-color: #d4edda;

	color: #155724;

	border-radius: 4px;

	font-size: 13px;

}



.cjp-submit-btn {

	padding: 12px 30px;

	background-color: #0073aa;

	color: white;

	border: none;

	border-radius: 4px;

	font-size: 16px;

	font-weight: 600;

	cursor: pointer;

	transition: all 0.3s ease;

	width: 100%;

	max-width: 300px;

}




.cjp-submit-btn:active:not(:disabled) {

	transform: translateY(1px);

}



.cjp-submit-btn:disabled {

	background-color: #ccc;

	cursor: not-allowed;

	opacity: 0.7;

}



.cjp-submit-btn.cjp-loading {

	position: relative;

}



/* ============================

   Messages

   ============================ */

.cjp-message {

	padding: 15px 20px;

	border-radius: 4px;

	display: flex;

	align-items: center;

	gap: 12px;

	margin-bottom: 20px;

	font-size: 14px;

	animation: slideInDown 0.3s ease;

}



@keyframes slideInDown {

	from {

		opacity: 0;

		transform: translateY(-10px);

	}

	to {

		opacity: 1;

		transform: translateY(0);

	}

}



.cjp-success-message {

	background-color: #d4edda;

	border: 1px solid #c3e6cb;

	color: #155724;

}



.cjp-error-message {

	background-color: #f8d7da;

	border: 1px solid #f5c6cb;

	color: #721c24;

}



.cjp-message-icon {

	font-size: 18px;

	font-weight: bold;

	flex-shrink: 0;

}



.cjp-message-text {

	flex: 1;

}



/* Loading spinner */

.cjp-spinner {

	display: inline-block;

	width: 16px;

	height: 16px;

	border: 2px solid rgba(255, 255, 255, 0.3);

	border-top-color: white;

	border-radius: 50%;

	animation: spin 0.8s linear infinite;

}



@keyframes spin {

	to {

		transform: rotate(360deg);

	}

}



/* ============================

   Responsive Design

   ============================ */

@media (max-width: 768px) {

	.cjp-filter-form {

		grid-template-columns: 1fr;

	}



	.cjp-jobs-grid {

		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;

	}



	.cjp-application-form {

		padding: 20px;

	}



	.cjp-job-card {

		margin-bottom: 20px;

	}

}



@media (max-width: 480px) {

	.cjp-job-hub {

		padding: 10px;

	}



	.cjp-filters {

		padding: 30px;

	}



	.cjp-job-card {

		border-radius: 6px;

	}



	.cjp-application-form {

		padding: 15px;

	}



	.cjp-jobs-grid {

		grid-template-columns: 1fr !important;

		gap: 15px;

	}



	.cjp-submit-btn {

		max-width: 100%;

	}

}



/* ============================

   Pagination

   ============================ */

.cjp-pagination {

	display: flex;

	justify-content: center;

	gap: 10px;

	list-style: none;

	padding: 30px 0 0;

	flex-wrap: wrap;

}



.cjp-pagination .page-numbers {

	display: inline-block;

	padding: 8px 12px;

	background-color: white;

	border: 1px solid #ddd;

	border-radius: 4px;

	color: #0073aa;

	text-decoration: none;

	transition: all 0.3s ease;

}



.cjp-pagination .page-numbers:hover {

	background-color: #0073aa;

	color: white;

	border-color: #0073aa;

}



.cjp-pagination .page-numbers.current {

	background-color: #0073aa;

	color: white;

	border-color: #0073aa;

	cursor: default;

}

/*new*/
.archive-page-main {
    padding-top: 200px;
    margin-bottom: 50px;
}
.single-job_opening header.site-header .main-navigation ul li a,
.post-type-archive-job_opening  header.site-header .main-navigation ul li a{
    color: #000;
}
.single-job_opening header.site-header .menu-icon,
.post-type-archive-job_opening header.site-header .menu-icon {filter: brightness(0);}
.cjp-form-group{position: relative;}
.cjp-popup {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	display: none;
	z-index: 9999;
}

.cjp-popup-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
}

.cjp-popup-content {
    position: absolute;
    top: 0;
    right: -100%;
    width: 580px;
    height: 100%;
    background: #fff;
    overflow-y: auto;
    transition: 0.8s;
    max-width: 100%;
}

.cjp-popup.active .cjp-popup-content {
	right: 0;
}
.archive-heading{background-color:#f9f8f6; padding:30px 20px; margin-bottom:30px; border-radius:20px;}
.archive-heading h1{display: inline-block;margin-bottom: 0;line-height: normal;font-variation-settings: 'slnt' 0, 'wdth' 67.5, 'wght' 700;}
.archive-heading .rw {display: flex;justify-content: space-between;align-items: flex-start;}
.cjp-submit-btn,
button#openApplicationForm {background: #413268; color: #fff; font-size: 1.25rem; display: inline-block; padding: 11px 30px; border-radius: 40px; margin-bottom: 34px; font-family: 'fatfrank', sans-serif;cursor: pointer;margin-top: 18px;border:1px solid #413268 !important;margin-top: 0}
.cjp-submit-btn:hover,
.cjp-filter-submit:hover,
button#openApplicationForm:hover{background: #fff !important;color:#413268;}
.archive-page-main ol, .archive-page-main ul {margin-left: 10px;}
.cjp-meta-item {font-size: 1.2rem;color: #000;}
.cjp-meta-item strong {font-size: 1.4rem;color: #000;}
button.cjp-close-popup {background: none; border: none; font-size: 30px; color: #000; position: absolute; right: 0;cursor: pointer;}
button#openApplicationForm{margin-top: 11px;margin-bottom:0;white-space: nowrap;}
.prc-note{background: #f9f8f6; padding: 15px; border-radius: 20px; margin-bottom: 25px;}
.prc-note p {font-size: 14px;line-height: normal;margin-bottom: 0}
.cjp-application-form h2,
.archive-page-main strong{ font-variation-settings: 'slnt' 0, 'wdth' 67.5, 'wght' 700;}
.archive-page-main table{margin-bottom: 0}
.cjp-apply-btn, .cjp-filter-submit {background: #413268; color: #fff !important; font-size: 1.25rem; display: inline-block; padding: 7px 30px; border-radius: 40px; margin-bottom: 0px; cursor: pointer; border: 1px solid #413268 !important; margin-top: 0; font-variation-settings: 'slnt' 0, 'wdth' 67.5, 'wght' 700;}
.cjp-apply-btn{text-decoration: none;text-decoration: none;width: max-content;margin-block-start: auto}
.cjp-apply-btn:hover,
.cjp-filter-submit:hover{background: #fff;color: #413268 !important;}
button.cjp-filter-submit {font-family: 'acumin-variable' !important; font-variation-settings: 'slnt' 0, 'wdth' 67.5, 'wght' 700; padding: 10px 11px;border-radius: 7px;height: 45px;}
@media screen and (max-width: 1365px){
.archive-page-main{padding-top: 200px;}
}

@media screen and (max-width: 1199px){
.archive-heading h1 {font-size: 2.5rem;}
}

@media screen and (max-width: 991px){
.archive-page-main{padding-top: 150px;}
.archive-heading h1 {font-size: 1.8rem;}
button#openApplicationForm{margin-top: 0}
.cjp-jobs-grid{grid-template-columns: repeat(2, 1fr) !important;}
}

@media screen and (max-width: 767px){
.archive-heading .rw {flex-direction: column;gap: 19px;}
button#openApplicationForm {font-size: 1.2rem;padding: 10px 32px;font-variation-settings: 'slnt' 0, 'wdth' 67.5, 'wght' 700;}
.archive-page-main p,
.archive-page-main ul li,
.archive-page-main ol li,
.archive-page-main td {font-size: 1.2rem;}
.archive-heading{padding-inline: 38px;}
.cjp-jobs-grid {grid-template-columns: repeat(1, 1fr) !important;}
.cjp-job-content {padding: 21px 30px;}
}
.archive-page-main table{
	border-collapse: collapse;
}
.archive-page-main td {
    border: solid;
    border-color: #f9f8f6;
    padding: 5px;
	background-color: #413268;
    color: #fff;
}
div#div_cjp_group
{
    padding: 2rem;
    border: 1px solid #ccc;
	border-radius: 20px;
}
.cjp-file-wrapper {
	position: relative;
	border: 1px solid #ccc;
	padding: 10px 12px;
	border-radius: 54px;
	display: flex;
	align-items: center;
	cursor: pointer;
}

.cjp-file-input {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.cjp-upload-icon {
	width: 18px;
	height: 18px;
	margin-right: 8px;
}

.cjp-placeholder {
	color: #666;
	font-size: 14px;
}

 
.job-details-grid {

  display: grid;

  grid-template-columns: 190px 1fr;

  border: 1px solid #ddd;

  border-radius: 20px;

  overflow: hidden;

}
 
.job-details-grid__label,

.job-details-grid__value {

  padding: 0.5rem 1.5rem;

  border-bottom: 1px solid #ddd;
  background-color: #413268;
    color: #fff;

}
 
.job-details-grid__label {

  border-right: 1px solid #ddd;

}
 
.job-details-grid > :nth-last-child(-n+2) {

  border-bottom: 0;

}
 
@media (max-width: 767px) {

  .job-details-grid {

    grid-template-columns: 1fr;

  }
 
  .job-details-grid__label {

    border-right: 0;

    border-bottom: 0;

    padding-bottom: 0.25rem;

  }
 
  .job-details-grid__value {

    padding-top: 0.25rem;

  }
 
  .job-details-grid > :nth-last-child(-n+2) {

    border-bottom: 1px solid #ddd;

  }
 
  .job-details-grid > :last-child {

    border-bottom: 0;

  }
  .cjp-filter-group {
    max-width: calc(100vw - 50px);
  }
  body .job-details-grid > :nth-last-child(-n+2){
	border-bottom: none;
  }
  button.cjp-close-popup { font-size: 32px;  padding: 8px 14px 0 0;}
  body .cjp-application-form{padding-top: 36px;}

}
 
@media screen and (max-width: 480px){
.cjp-filter-group {
    max-width: calc(100vw - 106px);
}
}