/* Jobs directory - sidebar filters + results list (mirrors the listings/business archive) */

/* Grouped facets sharing one heading (e.g. "Visa Support" = Offering
   Sponsorship + Regional / Farm Work stacked under one .idu-facet-label). */
.idu-jobs-dir .idu-facet-group-items {
	display: flex;
	flex-direction: column;
	gap: var(--idu-spacing-2);
}
.idu-jobs-dir .idu-facet-group-items .facetwp-facet {
	margin: 0 !important;
}


/* -------------------------- Single job page -------------------------- */
article.job_listing ul.job-listing-meta li.job-badge:before, 
article.job_listing ul.job-listing-meta li.job-type:before {
	font-family: bb-icons !important;
    font-size: 18px;
	margin-right: 7px;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
article.job_listing ul.job-listing-meta li.job-type:before {
    content: "\ef3b";
}
article.job_listing ul.job-listing-meta li.job-badge-sponsorship:before { 
    content: "\ef17"; 
}
article.job_listing ul.job-listing-meta li.job-badge-regional:before { 
    content: "\eeaa"; 
} 
.single-job_listing article.job_listing ul.job-listing-meta li.job-type, 
.single-job_listing article.job_listing ul.job-listing-meta li.job-badge {
    font-size: 14px;
    line-height: 1em;
    padding: 2px 10px 2px 0;
    margin-right: .5em;
}
.mfp-wrap .button.wp_job_manager_send_application_button {
    margin-left: 0 !important;
}


/* -------------------------- General -------------------------- */
.idu-submit-shell,
#submit-job-form, 
#job_preview {
	--idu-listings-accent: var(--idu-listings-primary);
	--idu-listings-ink: var(--idu-listings-primary-ink);
	--idu-listings-muted: #6b7280;
	--idu-listings-line: #e5e7eb;
	margin: 0 auto;
	color: var(--idu-listings-ink);
	box-sizing: border-box;
}
@media (max-width: 600) {
    #job_preview {
        --idu-spacing: 8px;
    }
}

/* Job manager notice/info */
.idu-submit-shell .job-manager-info.job-manager-info {
    border-top-color: var(--idu-listings-gold) !important;
    border: none;
}
.idu-submit-shell .job-manager-info, 
.idu-submit-shell .job_listing .job-manager-info {
    background: var(--idu-listings-gold) !important;
    color: var(--idu-listings-ink) !important;
    border-radius: var(--idu-listings-radius-sm) !important;
}
.idu-submit-shell .job-manager-info a, 
.idu-submit-shell .job_listing .job-manager-info a {
    text-decoration: underline !important;
    font-weight: 500;
    transition: color 0.2 ease;
}
.idu-submit-shell .job-manager-info a:hover, 
.idu-submit-shell .job_listing .job-manager-info a:hover {
    color: var(--idu-listings-white) !important;
}
.idu-submit-shell .job-manager-info::before, 
.idu-submit-shell .job_listing .job-manager-info::before {
    color: var(--idu-listings-ink) !important;
}


/* -------------------------- Job lists -------------------------- */


.idu-jobs-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.idu-job-card {
    display: flex;
    flex-direction: column;
    gap: var(--idu-spacing-2);
    padding: var(--idu-spacing) var(--idu-spacing) var(--idu-spacing-2);
    background: var(--idu-listings-white, #fff);
    border: 1px solid var(--idu-listings-line);
    border-radius: var(--idu-listings-radius);
    transition: unset;
}

.idu-job-card:hover {
    box-shadow: unset;
    transform: unset;
}

.idu-job-card-link {
    display: flex;
    flex-direction: column;
    gap: var(--idu-spacing-4);
    text-decoration: none;
    color: inherit;
}

.idu-job-upper {
    display: flex;
    gap: var(--idu-spacing-4);
    align-items: flex-start;
    padding-bottom: var(--idu-spacing-2);
    align-items: center;
}

.idu-job__logo {
    flex: 0 0 auto;
    width: 80px;
    height: 80px;
    border-radius: var(--idu-listings-radius-pill);
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--idu-listings-cream, #f3ede4);
    color: var(--idu-listings-accent);
}

.idu-job__logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.idu-job__logo .idu-ico,
.idu-job__logo .idu-icon {
    width: 32px;
    height: 32px;
}

.idu-job__body {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.idu-job__title {
    margin: 0;
    font-size: var(--idu-listings-h4);
    line-height: normal;
    letter-spacing: -0.48px;
    color: var(--idu-listings-ink);
}

.idu-job__company {
    font-size: 16px;
    line-height: 123.725%; /* 19.796px */
    letter-spacing: -0.16px;
    color: var(--idu-listings-ink-2);
}

.idu-job__row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 24px;
}

.idu-job__row--bordered {
    padding: 15px 0;
    border-top: 1px solid var(--idu-listings-line);
    border-bottom: 1px solid var(--idu-listings-line);
}

.idu-job__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px; /* 150% */
    color: var(--idu-listings-ink-2);
}
.idu-job__meta-item:has(.idu-job__salary-unit) {
    font-weight: 500;
}

.idu-job__meta-item .idu-ico,
.idu-job__meta-item .idu-icon {
    color: var(--idu-listings-accent);
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}

.idu-job__date {
    margin-left: auto;
    font-size: 16px;
    line-height: 24px; /* 150% */
    color: var(--idu-listings-muted);
}

.idu-job__salary-unit {
    margin-left: 2px;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    color: var(--idu-listings-muted);
}

.idu-job__cat {
    margin-left: auto;
    font-size: 16px;
    line-height: 24px; /* 150% */
    color: var(--idu-listings-ink-2);
}

.idu-job__apply {
    align-self: flex-start;
}

.idu-jobs-empty {
    padding: 48px 20px;
    text-align: center;
    color: var(--idu-listings-muted);
    border: 1px dashed var(--idu-listings-line);
    border-radius: var(--idu-listings-radius);
}

/* grid/list view toggle */
.idu-jobs-dir .idu-results.idu-view-grid .idu-jobs-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

@media (max-width: 900px) {
    .idu-jobs-dir .idu-results.idu-view-grid .idu-jobs-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .idu-job-card {
        padding: var(--idu-spacing-3);
        gap: var(--idu-spacing);
    }
    .idu-job__logo {
        width: 52px;
        height: 52px;
    }
    .idu-job__logo .idu-ico,
    .idu-job__logo .idu-icon {
        width: 22px;
        height: 22px;
    }
    .idu-job__company {
        font-size: 14px;
        line-height: 123.725%; /* 17.321px */
        letter-spacing: -0.14px;
    }
    .idu-job__row {
        gap: var(--idu-spacing-2);
    }
    .idu-job__meta-item, 
    .idu-job__date, 
    .idu-job__cat {
        font-size: 14px;
    }
}


/* -------------------------- Submit job form -------------------------- */
#submit-job-form.idu-job-submit-form .fieldset-logged_in {
    display: none;
}

.idu-job-heading {
    margin-bottom: var(--idu-spacing);
}
h2.idu-job-heading {
	margin: 0 0 var(--idu-spacing);
    font-size: var(--idu-listings-h2);
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.72px;
}

h3.idu-job-heading {
	font-weight: 500;
    line-height: normal;
    letter-spacing: -0.6px;
	font-size: var(--idu-listings-h3);
}

@media (max-width: 600px) {
    h2.idu-job-heading {
        font-weight: 500;
        line-height: 33px; /* 126.923% */
        letter-spacing: -0.26px;
    }
    h3.idu-job-heading { 
        font-weight: 500;
        line-height: 33px; /* 150% */
        letter-spacing: -0.22px;
    }
}

.idu-req {
	color: var(--idu-listings-ink);
}

/* Label above the field (core/theme default is label-left). */
#submit-job-form.idu-job-submit-form fieldset {
	display: block;
	border: 0;
	margin: 0 0 var(--idu-spacing);
	padding: 0;
}

#submit-job-form.idu-job-submit-form fieldset label {
	display: block;
	float: none;
	width: auto;
	font-size: 15px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.15px;
    color: var(--idu-listings-ink);
    padding-right: 0;
    margin-bottom: 0 !important;
}

#submit-job-form.idu-job-submit-form fieldset div.field {
	width: auto;
	margin: 0;
    width: 100%;
}

#submit-job-form.idu-job-submit-form fieldset div.field small.description {
	display: block;
	margin-top: 6px;
	font-size: 0.82rem;
	color: var(--idu-listings-muted);
}

.idu-job-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 20px;
}

@media (min-width: 600px) {
	.idu-job-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Inputs/selects/textareas/editor to match idu-submit's field chrome. */
#submit-job-form.idu-job-submit-form fieldset div.field {
    margin-top: 15px;
}
#submit-job-form.idu-job-submit-form input.input-text,
#submit-job-form.idu-job-submit-form input.input-date,
#submit-job-form.idu-job-submit-form select,
#submit-job-form.idu-job-submit-form textarea.idu-job-textarea,
#submit-job-form.idu-job-submit-form .select2-container--default .select2-selection--multiple,
#submit-job-form.idu-job-submit-form .wp-editor-container {
	width: 100%;
	padding: 12px 20px;
	border: 1px solid var(--idu-listings-line);
	border-radius: var(--idu-listings-radius-sm);
	background: var(--idu-listings-white);
    margin-top: 0;
    font-size: 15px;
    line-height: normal;
    letter-spacing: -0.15px;
    height: auto;
}
#submit-job-form.idu-job-submit-form input.input-text:focus,
#submit-job-form.idu-job-submit-form input.input-date:focus,
#submit-job-form.idu-job-submit-form select:focus,
#submit-job-form.idu-job-submit-form textarea.idu-job-textarea:focus,
#submit-job-form.idu-job-submit-form .select2-container--default .select2-selection--multiple:focus,
#submit-job-form.idu-job-submit-form .wp-editor-container:focus {
    outline: 0;
    background-color: var(--bb-content-background-color);
    box-shadow: var(--bb-input-focus-shadow);
    border-color: var(--bb-input-focus-border-color);
}

#submit-job-form.idu-job-submit-form textarea.idu-job-textarea {
	resize: vertical;
	font-family: inherit;
}

#submit-job-form.idu-job-submit-form input.input-text::placeholder,
#submit-job-form.idu-job-submit-form input.input-date::placeholder, 
#submit-job-form.idu-job-submit-form select::placeholder, 
#submit-job-form.idu-job-submit-form textarea.idu-job-textarea::placeholder, 
#submit-job-form.idu-job-submit-form .select2-container--default .select2-selection--multiple::placeholder, 
#submit-job-form.idu-job-submit-form .wp-editor-container::placeholder {
    font-size: 15px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.15px;
}


#submit-job-form.idu-job-submit-form .select2-container .select2-selection--multiple .select2-selection__rendered li,
#submit-job-form.idu-job-submit-form .select2-container .select2-selection--multiple .select2-selection__rendered input {
    margin: 0;
    padding: 0;
}
#submit-job-form.idu-job-submit-form .select2-container .select2-selection--multiple .select2-selection__rendered li {
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 0px 5px;
}

#submit-job-form.idu-job-submit-form .select2-container {
	width: 100% !important;
}

body > .select2-container--open .select2-dropdown {
	min-width: 100%;
}

#submit-job-form.idu-job-submit-form .chosen-container {
	width: 100% !important;
}

#submit-job-form.idu-job-submit-form .fieldset-type-checkbox {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
}
#submit-job-form.idu-job-submit-form .fieldset-type-checkbox::before,
#submit-job-form.idu-job-submit-form .fieldset-type-checkbox::after {
    display: none;
}

#submit-job-form.idu-job-submit-form .fieldset-type-checkbox label {
	margin-bottom: 0;
	white-space: nowrap;
	flex-shrink: 0;
}

#submit-job-form.idu-job-submit-form .fieldset-type-checkbox .field {
	display: flex;
	align-items: center;
    gap: 10px;
    margin-top: 0;
    flex-shrink: 0;
    margin-left: 10px;
}

#submit-job-form.idu-job-submit-form .fieldset-type-checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--idu-listings-accent, var(--idu-listings-primary));
}

/* Dropzone (company logo upload). */
.idu-job-dropzone {
	position: relative;
	border: 1px dashed var(--idu-listings-line);
	border-radius: var(--idu-listings-radius-sm);
	padding: 32px 20px;
	text-align: center;
	cursor: pointer;
	background: rgba(217, 219, 210, 0.15);
	transition: border-color 0.15s ease, background 0.15s ease;
}

.idu-job-dropzone:hover,
.idu-job-dropzone.dragover {
	border-color: var(--idu-listings-accent, var(--idu-listings-primary));
	background: var(--idu-listings-white);
}

.idu-job-dropzone-prompt {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--idu-listings-muted);
	pointer-events: none;
}

.idu-job-dropzone-ico .idu-ico {
	width: 40.581px;
	height: 47.744px;
	color: var(--idu-listings-accent, var(--idu-listings-primary));
}

.idu-job-dropzone-text {
	font-size: 18px;
	font-weight: 500;
	color: var(--idu-listings-ink);
}

.idu-job-dropzone-browse {
	color: var(--idu-listings-accent, var(--idu-listings-primary));
	font-weight: 500;
	text-decoration: underline;
}

/* Drag and drop uploader */
.idu-job-dropzone-input, 
#submit-job-form.idu-job-submit-form .idu-job-dropzone-wrap label {
	display: none !important;
}

.idu-job-dropzone-wrap .job-manager-uploaded-files:empty {
	display: none;
}

.idu-job-dropzone-wrap .job-manager-uploaded-files {
	margin-top: 12px;
}

.idu-job-dropzone-wrap .job-manager-uploaded-file-preview img {
	width: 92px;
	height: 92px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--idu-listings-line);
}

.idu-job-dropzone {
	position: relative;
	border: 1px dashed var(--idu-listings-line);
	border-radius: var(--idu-listings-radius-sm);
	padding: 32px 20px;
	text-align: center;
	cursor: pointer;
	background: rgba(217, 219, 210, 0.15);
    box-shadow: var(--idu-listings-shadow-sm);
	transition: border-color 0.15s ease, background 0.15s ease;
    margin-top: 10px;
}

.idu-job-dropzone:hover,
.idu-job-dropzone.dragover {
	border-color: var(--idu-listings-accent);
    background: var(--idu-listings-white);
}

.idu-job-dropzone-input {
	display: none !important;
}

.idu-job-dropzone-prompt {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--idu-listings-muted);
	pointer-events: none;
}

.idu-job-dropzone-ico .idu-ico {
	width: 40.581px;
    height: 47.744px;
	color: var(--idu-listings-accent);
}

.idu-job-dropzone-text {
    font-size: 18px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.18px;
	color: var(--idu-listings-ink);
}

.idu-job-dropzone-browse {
	color: var(--idu-listings-accent);
	font-weight: 500;
	text-decoration: underline;
}

.idu-job-submit-form input[type="file"] {
    width: auto;
    background: transparent;
    border: none;
    box-shadow: none;
}

.idu-job-dropzone small, 
.idu-job-dropzone-wrap .job-manager-remove-uploaded-file  {
	color: rgba(57, 75, 65, 0.60);
    font-size: 1em;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.16px;
}

.idu-job-dropzone-wrap .job-manager-remove-uploaded-file:hover {
    color: var(--idu-listings-gold);
}


/* Terms and Conditions agreement checkbox. */
.idu-job-submit-form .full-line-checkbox-field {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}

#submit-job-form.idu-job-submit-form .fieldset-agreement-checkbox  .full-line-checkbox-field label {
    padding-right: 15px;
    margin-top: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.15px;
}
#submit-job-form.idu-job-submit-form .fieldset-agreement-checkbox .field {
    margin-top: 0;
}
.idu-job-submit-form .full-line-checkbox-field input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	accent-color: var(--idu-listings-accent, var(--idu-listings-primary));
}

.idu-job-submit-form .full-line-checkbox-field label {
	font-size: 14px;
	margin: 0;
}

/* Actions row (Preview / Save Draft). */
.idu-job-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-block: 0;
}

@media (max-width: 600px) {
	.idu-job-actions .spinner {
		flex-basis: 100%;
		margin: 0;
	}
}


.idu-job-actions .idu-btn--outline:hover {
	background: var(--idu-listings-accent);
}

.job-form-existing-text {
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.16px;
    color: var(--idu-listings-ink);
}
.job-form-existing-text a {
    color: var(--idu-listings-accent);
    font-weight: 500;
    transition: color 0.15 ease;
}
.job-form-existing-text a:hover {
    color: var(--idu-listings-ink);
}


/* -------------------------- Job preview -------------------------- */
.idu-job-preview-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: var(--idu-spacing);
}

.idu-job-preview-title .idu-job-heading {
	margin: 0;
}

.idu-job-preview-actions {
	display: flex;
	align-items: center;
	gap: 20px;
}


.idu-job-preview-section:first-child {
	margin-bottom: 60px;
}

h4.idu-job-preview-section-title {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0 0 18px;
	font-weight: 500;
    line-height: normal;
    letter-spacing: -0.48px;
	color: var(--idu-listings-ink);
    font-size: var(--idu-listings-h4);
    margin-bottom: var(--idu-spacing);
}

.idu-job-preview-section-ico {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
}

/* Add circle bg to the icon */
.idu-job-preview-section-ico::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: var(--idu-listings-radius-pill);
	width: 30px;
	height: 30px;
	z-index: 0;
}
.idu-job-preview-section.preview-job .idu-job-preview-section-ico::before{
    background: #dce7fc;
}
.idu-job-preview-section.preview-company .idu-job-preview-section-ico::before{
    background: #ebf6e8;
}

.idu-job-preview-section-ico .idu-icon {
	position: relative;
	z-index: 1;
	width: 35px;
    height: 35px;
	color: var(--idu-listings-green-4);
}

.idu-preview-row {
	display: grid;
    grid-template-columns: 300px 10px 1fr;
    gap: 5px;
    padding: 24px 0;
    border-bottom: 1px solid var(--idu-listings-line-4);
    font-size: 16px;
    align-items: center;
}

.idu-job-preview-section:not(:first-child) .idu-preview-row:last-child {
	border-bottom: none;
}

.idu-preview-label {
	color: var(--idu-listings-ink-2);
    line-height: normal;
    letter-spacing: -0.16px;
}

.idu-preview-sep {
	color: #394B4180;
    font-size: 15px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.15px;
}

.idu-preview-value {
	color: var(--idu-listings-primary-ink);
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.16px;
}
.idu-preview-value p {
    margin-bottom: 0;
}

#job_preview .idu-job-preview-logo {
	width: 80px;
    height: 80px;
    border-radius: var(--idu-listings-radius-pill);
	object-fit: cover;
}

.idu-preview-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.idu-preview-pill {
	display: flex;
	padding: 8px 12px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	background: #f4f4f4;
	border-radius: var(--idu-listings-radius-pill);
}

#job_preview .job_listing_preview, 
#job_preview .resume_preview, 
#resume_preview .job_listing_preview, #resume_preview .resume_preview {
    border: none !important;
    padding: 0 !important;
}

@media (max-width: 640px) {
	.idu-preview-row {
        grid-template-columns: 126px 10px 1fr;
	}
    .idu-job-preview-section:first-child {
        margin-bottom: 35px;
    }

	/* Job Category (pills)*/
	.idu-preview-row:has(.idu-preview-pills) {
		row-gap: 8px;
	}
	.idu-preview-row:has(.idu-preview-pills) .idu-preview-value {
		grid-column: 1 / -1;
	}
    .idu-preview-pills {
        padding-block: 12px;
    }

    .idu-preview-label {
        font-size: 14px;
        letter-spacing: -0.14px;
    }

    .idu-job-preview-actions .idu-btn {
        font-size: 13px;
        padding: 14px 20px;
    }
    .idu-job-preview-actions {
        gap: 10px;
        margin-bottom: 27px;
    }

    /* Preview cta with specific icons */
	.idu-job-preview-actions .idu-btn-has-mobile-ico::before {
		content: "";
		width: 15px;
		height: 15px;
		flex: 0 0 auto;
		background-image: var(--idu-btn-ico);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
	.idu-job-preview-actions .idu-btn-has-mobile-ico.idu-arrow::after {
		content: none;
	}
}



/* -------------------------- Choose package (plan) -------------------------- */
.idu-submit-shell .job_listing_packages_title {
    background: transparent;
    padding: 0;
}
.idu-submit-shell .job_listing_packages {
    border: none;
}

.idu-submit-shell .job_listing_packages_title h2 {
    margin: 0 0 var(--idu-spacing);
    font-size: var(--idu-listings-h2);
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.72px;
}

.idu-submit-shell form#job_package_selection {
    margin-bottom: 0;
}

/* Submit cta */
.idu-submit-shell form#job_package_selection {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas:
		"title"
		"packages"
		"submit";
	gap: 20px;
	align-items: start;
}

.idu-submit-shell .job_listing_packages_title {
	grid-area: title;
}

.idu-submit-shell .job_listing_packages {
	grid-area: packages;
}

.idu-submit-shell .idu-package-submit {
	grid-area: submit;
	justify-self: start;
}

@media (min-width: 641px) {
	.idu-submit-shell form#job_package_selection {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"title submit"
			"packages packages";
	}

	.idu-submit-shell .idu-package-submit {
		justify-self: end;
		align-self: center;
	}
}

.idu-submit-shell .job_listing_packages ul.job_packages .package-section {
    display: none;
}

.idu-submit-shell .job_listing_packages .idu-packages {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--idu-spacing);
}

.idu-submit-shell .job_listing_packages .idu-package, 
.idu-submit-shell .job_listing_packages .idu-package:last-child {
	border: 1px solid var(--idu-listings-line-4);
	border-radius: var(--idu-listings-radius);
	transition: border-color 0.15s ease, background-color 0.15s ease;
    padding: 0 !important;
}

.idu-submit-shell .job_listing_packages  .idu-package:has(input:checked) {
	background: #f3f6fe;
    border: 1px solid #f3f6fe;
}

.idu-package-row {
	display: flex;
	align-items: center;
	gap: 25px;
	padding: 25px 30px;
	cursor: pointer;
}

.idu-package-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: var(--idu-listings-radius-pill);
	flex: 0 0 auto;
}

.idu-package-ico .idu-icon {
	width: 35px;
	height: 35px;
	color: var(--idu-listings-accent, var(--idu-listings-primary));
}

/* Icon wrapper */
.idu-package-ico--employee {
	background: #dce7fc;
}
.idu-package-ico--briefcase {
	background: #ebf6e8;
}
.idu-package-ico--business-growth {
	background: #fef3df;
}
.idu-package-ico--assign {
	background: #f2e8f6;
}

.idu-package-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.idu-package-title {
	font-size: var(--idu-listings-h4);
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.24px;
}

.idu-package-desc {
	font-size: 15px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.15px;
    color: var(--idu-listings-primary-ink);
}

.idu-package-select {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	color: var(--idu-listings-ink);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.16px;
}

.idu-package-select input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	width: 20px;
	height: 20px;
	margin: 0;
	border: 2px solid var(--idu-listings-line);
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	outline: none;
}

.idu-package-select input[type="radio"]:checked {
	border-color: var(--idu-listings-accent, var(--idu-listings-primary));
}

.idu-package-select input[type="radio"]:checked::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--idu-listings-accent, var(--idu-listings-primary));
}

.idu-package-select input[type="radio"]:focus-visible {
	outline: 2px solid var(--idu-listings-accent, var(--idu-listings-primary));
	outline-offset: 2px;
}

@media (max-width: 640px) {
	.idu-package-row {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"ico body"
			"select select";
		align-items: start;
        padding: 15px;
        gap: 20px 25px;
	}

	.idu-package-ico {
		grid-area: ico;
        width: 70px;
        height: 70px;
	}

	.idu-package-body {
		grid-area: body;
	}

	.idu-package-select {
		grid-area: select;
		justify-self: end;
		margin-left: 0;
	}

    .idu-submit-shell .job_listing_packages_title h2 {
        font-weight: 500;
        line-height: 33px; /* 126.923% */
        letter-spacing: -0.26px;
    }

    .idu-package-title {
        font-size: 22px;
        letter-spacing: -0.22px;
    }

    .idu-package-desc {
        font-size: 14px;
        line-height: 22px; /* 157.143% */
        letter-spacing: -0.14px;
    }
}
