/*
Theme Name: Hello Child
Theme URI: https://agamecoach.uk/hello-child/
description: >-
  Hello Child Theme

Template: hello-elementor
Author: agamecoach
Author URI: https://agamecoach.uk
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain: hello-child
*/
/* additional CSS for custom theme */

/* bof make header sticky */
.ehf-header #masthead {
position: sticky;
position: -webkit-sticky;
top: -1rem;
}
/* eof make header sticky */
/* bof hide tags on pages */
.post-tags {
  display: none;
}
/* eof hide tags on pages */
/* bof make pipe symbol gold on footer nav */
.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal:not(.eael-simple-menu-responsive) > li:first-child > a {
	border-left: 1px solid #FFD700 !important; 
}

.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal:not(.eael-advanced-menu-responsive) > li > a {
	border-right: 1px solid #FFD700 !important;
}
/* eof make pipe symbol gold on footer nav */

/*bof apply and job submission form */
/* This targets the container holding your shortcode form */
.jb-job-apply-wrapper, 
#jb-job-submission-form-wrapper {
    
    background: #fafafa; /* Very subtle off-white */
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #eee;
    box-shadow: 0 4px 15px rgba(3,3,0,0.05); /* Soft professional shadow */
    margin-top: 20px;
	  margin-bottom: 20px;
    box-sizing: border-box; /* Includes padding in the width calculation */
    max-width: 100%;       /* Ensures it never exceeds the screen width */
    overflow: hidden;      /* Clips any rogue internal elements */
}
/* Mobile Specific Tweak */
@media (max-width: 768px) {
    .jb-job-apply-wrapper,
    #jb-job-submission-form-wrapper {
        padding: 20px; /* Reduces padding slightly so the form fields have more room on small screens */
    }
    .jb-job-apply-wrapper,
    #jb-job-submission-form-wrapper h3 {
        font-size: 0.8rem; /* Shrinks that big H3 so it doesn't wrap weirdly on mobile */
    }
}

/* Make the labels look elite */
.jb-job-apply-wrapper,
#jb-job-submission-form-wrapper label {
    font-weight: 600;
	font-family: 'Playfair Display', serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.8rem;
    color: #333;
}
.jb-job-apply-wrapper,
 #jb-job-submission-form-wrapper h3 {
	text-align: center;
	font-weight: 600;
	font-family: 'Playfair Display', serif;
	letter-spacing: 1px;
  font-size: 1.1rem;
	color: #000000;
}
/*eof apply and job submission form */
/*bof form buttons */

#jb-job-preview,
#jb-job-draft,
.jb-button {
  display: inline-block;
  font-weight: 400;
  color: #000000 !important;
  text-align: center;
  font-family: "Inter", Sans-serif !important;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent !important;
  border: 1px solid #000000 !important;
  padding: .5rem 1rem;
  font-size: 1rem;
  border-radius: 3px;
  transition: all .3s;
}

#jb-job-preview:hover,
#jb-job-draft:hover,
.jb-button:hover {
  background-color: #5E646A !important;
  color: white !important;
}
/*eof form submit buttons */
/* =================================================
   Jobs list page - JobsBoard WP
   Page ID: 8063
   ================================================= */

/* ---------- Search header ---------- */

.jb-jobs .jb-jobs-header .jb-jobs-header-row.jb-jobs-search-row .jb-jobs-search-line {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
	margin: 0 0 30px 0;
	background-color: #000;
	padding: 20px;
	border-radius: 15px;
}

.page-id-8063 .jb-do-search.jb-button {
	display: inline-block;
	font-weight: 400;
	color: #fff !important;
	text-align: center;
	font-family: "Inter", sans-serif !important;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	background-color: #000 !important;
	border: 1px solid #fff !important;
	border-radius: 3px;
	padding: .5rem 1rem;
	font-size: 1rem;
	transition: all .3s;
}

.page-id-8063 .jb-do-search.jb-button:hover {
	background-color: #5E646A !important;
	color: #fff !important;
}



/* ---------- Header filter tidy-up ---------- */
/* Filter heading */

.page-id-8063 .jb-jobs-header .jb-jobs-filters-row::before {
	content: "Filter:";
	font-family: "Playfair Display", serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: #111;
	margin-right: auto;
	align-self: center;
}

/* Hide "Show only remote jobs" */
.page-id-8063 .jb-jobs-header .jb-jobs-filters-row > label:first-child {
	display: none !important;
}

/* Hide salary checkbox + salary slider row completely */
.page-id-8063 .jb-jobs-header .jb-salary-filters-row {
	display: none !important;
}

/* Keep remaining dropdown filters aligned right */
.page-id-8063 .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
	margin: 20px 0 34px 0;
	padding: 0;
}

/* Remove default spacing on filter labels */
.page-id-8063 .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) label {
	display: block;
	margin: 0;
}

/* Style both dropdowns consistently */
.page-id-8063 .jb-jobs-header .jb-job-type-filter,
.page-id-8063 .jb-jobs-header .jb-job-category-filter {
	display: block;
	min-width: 260px;
	height: 50px;
	padding: 0 16px;
	font-size: 1rem;
	font-family: "Inter", sans-serif !important;
	color: #333;
	background-color: #e9e9e9;
	border: 1px solid #8f8f8f;
	border-radius: 6px;
	box-sizing: border-box;
	cursor: pointer;
}

/* Hover/focus polish */
.page-id-8063 .jb-jobs-header .jb-job-type-filter:hover,
.page-id-8063 .jb-jobs-header .jb-job-category-filter:hover {
	border-color: #555;
}

.page-id-8063 .jb-jobs-header .jb-job-type-filter:focus,
.page-id-8063 .jb-jobs-header .jb-job-category-filter:focus {
	outline: none;
	border-color: #000;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}

/* ---------- Job list card styling ---------- */

.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row {
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 14px;
	padding: 22px 24px;
	margin-bottom: 18px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.07);
	border-color: #d7d7d7;
}

/* ---------- Jobs list title typography ---------- */

.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link-line,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link {
	font-family: "Playfair Display", serif !important;
	font-weight: 600;
	letter-spacing: .2px;
	line-height: 1.25;
	color: #111 !important;
	text-decoration: none;
}

/* Slightly larger title link */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link {
	font-size: 1.35rem;
}

/* Optional subtle hover */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link:hover {
	color: #3a3a3a !important;
}
/* Premium job title styling */

.page-id-8063 .jb-jobs .jb-job-title-link {
	display: inline-block;
	font-family: "Playfair Display", serif !important;
	font-weight: 600;
	font-size: 1.35rem;
	line-height: 1.3;
	color: #111;
	text-decoration: none;
	position: relative;
	transition: color .25s ease;
}

/* Subtle hover colour change */

.page-id-8063 .jb-jobs .jb-job-title-link:hover {
	color: #444;
}

/* Elegant underline animation */

/* Cleaner title hover underline */
.page-id-8063 .jb-jobs .jb-job-title-link {
	display: inline;
	font-family: "Playfair Display", serif !important;
	font-weight: 600;
	font-size: 1.35rem;
	line-height: 1.3;
	color: #111 !important;
	text-decoration: none !important;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-size: 0% 1px;
	background-position: 0 100%;
	transition: color .25s ease, background-size .25s ease;
}

.page-id-8063 .jb-jobs .jb-job-title-link:hover {
	color: #444 !important;
	background-size: 100% 1px;
}
/* Supporting/meta text */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-info,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-info *,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-content,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row p,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-button {
	font-family: "Inter", sans-serif !important;
}

/* Meta items */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-data .jb-row-info .jb-row-left-side > div {
	margin: 0 18px 8px 0;
	font-size: .95rem;
	color: #4b4b4b;
}
/* Remove location link behaviour */

.page-id-8063 .jb-jobs .jb-jobs-wrapper .location a {
	pointer-events: none;
	text-decoration: none;
	color: inherit;
	cursor: default;
}
/* Remove category link behaviour */

.page-id-8063 .jb-jobs .jb-row-left-side .category a {
	pointer-events: none;
	text-decoration: none;
	color: inherit;
	cursor: default;
}

/* Meta icons */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-info i {
  display: none;
	margin-right: 6px;
	color: #777;
}
/* bof Bullet separators for job meta row */
/* Remove any earlier generic bullet rule */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side > div::before {
	content: none !important;
}

/* Meta row layout */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/* Tighter spacing between meta items */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-data .jb-row-info .jb-row-left-side > div {
	margin: 0 6px 6px 0;
}



/* Add bullets before everything except location */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side .category::before,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side .expires::before,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side .jb-job-salary::before,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side .date::before {
	content: "•" !important;
	display: inline-block;
	margin-right: 10px;
	color: #aaa;
	font-size: 0.95em;
	line-height: 1;
}
/* eof Bullet separators for job meta row */

/* Main row/body text */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-content,
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row p {
	color: #333;
	line-height: 1.65;
}

/* Button spacing */
.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-buttons {
	margin-top: 10px;
}


/* ---------- Hide company name + icon from job meta row ---------- */

.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-data .jb-row-info .jb-row-left-side > div.company {
	display: none !important;
}


/* ---------- Mobile ---------- */
/* bof filter heading*/
@media (max-width: 767px) {

	.page-id-8063 .jb-jobs-header .jb-jobs-filters-row::before {
		display: block;
		width: 100%;
		margin-bottom: 8px;
    margin-top: 8px;
		font-size: 1.5rem;
	}
}
/* eof filter heading*/

@media (max-width: 767px) {

	/* Dropdowns under search */
	.page-id-8063 .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		margin: -15px 0 20px 0;
	}

	.page-id-8063 .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) label {
		width: 100%;
	}

	.page-id-8063 .jb-jobs-header .jb-job-type-filter,
	.page-id-8063 .jb-jobs-header .jb-job-category-filter {
		width: 100%;
		min-width: 0;
		height: 48px;
	}
}

	/* Job cards */
	.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row {
		padding: 18px 16px;
		border-radius: 12px;
	}

	.page-id-8063 .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-data .jb-row-info .jb-row-left-side > div {
		margin: 0 12px 8px 0;
		font-size: .92rem;
	}



/*bof hides comapny details form job description page */

.jb-single-job-wrapper .jb-job-company {
	display: none !important;
}

/*eof hides comapny details form job description page */
/* eof Hide company name + icon from job meta row */
/* bof  styling for job description page */
/* =================================================
   JobsBoard - Single Job Page Typography Styling
   ================================================= */

/* Center the job title and apply Playfair Display */
.jb-single-job-wrapper .jb-job-title h1 {
	font-family: "Playfair Display", serif;
	text-align: center;
	font-weight: 600;
  font-size: 65px;
	letter-spacing: 0.5px;
	margin-bottom: 10px;
  margin-top: 50px;
	position: relative;
}

/* Add elegant underline */
.jb-single-job-wrapper .jb-job-title h1:after {
	content: "";
	display: block;
	width: 70px;
	height: 2px;
	background: #FFD700; /* gold accent like your footer */
	margin: 14px auto 0 auto;
}

/* Breadcrumb styling */
.jb-single-job-wrapper .jb-job-breadcrumbs {
	font-family: "Inter", sans-serif;
	text-align: center;
	font-size: 0.9rem;
	margin-bottom: 20px;
	color: #666;
}

/* All job meta info (location / date / salary) */
.jb-single-job-wrapper .jb-job-info {
	font-family: "Inter", sans-serif;
	font-size: 0.95rem;
	color: #333;
}

/* Job description text */
.jb-single-job-wrapper .jb-job-content-section {
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #222;
}

/* Section title "Description" */
.jb-single-job-wrapper .jb-job-content-separator {
	font-family: "Playfair Display", serif;
	font-size: 1.2rem;
	font-weight: 600;
	margin-top: 30px;
	margin-bottom: 15px;
}

/* Ensure job type tag doesn't inherit Playfair */
.jb-single-job-wrapper .jb-job-type {
	font-family: "Inter", sans-serif;
}
.jb-single-job-wrapper .jb-job-info-row {
	justify-content: center;
}
/* Improve header spacing */

.jb-single-job-wrapper .jb-job-title {
	margin-bottom: 10px;
}

.jb-single-job-wrapper .jb-job-breadcrumbs {
	margin-bottom: 20px;
}

.jb-single-job-wrapper .jb-job-info {
	margin-bottom: 35px;
}
/* Improve job meta row layout */

.jb-single-job-wrapper .jb-job-info-row {
	display: flex;
	justify-content: center;
	gap: 25px;
}

.jb-single-job-wrapper .jb-job-info-row i {
	margin-right: 6px;
	color: #555;
}
.jb-single-job-wrapper .jb-job-content {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #e5e5e5;
}
.jb-single-job-wrapper {
	font-family: "Inter", sans-serif;
}
/* Mobile improvements for job page */

@media (max-width: 768px) {

	/* Slightly reduce title size for smaller screens */
	.jb-single-job-wrapper .jb-job-title h1 {
		font-size: 1.6rem;
	}

	/* Allow job meta row to wrap neatly */
	.jb-single-job-wrapper .jb-job-info-row {
		flex-wrap: wrap;
		gap: 12px;
	}

	/* Center each item cleanly */
	.jb-single-job-wrapper .jb-job-location,
	.jb-single-job-wrapper .jb-job-posted,
	.jb-single-job-wrapper .jb-job-salary {
		font-size: 0.9rem;
	}

	/* Description spacing */
	.jb-single-job-wrapper .jb-job-content-section {
		font-size: 0.95rem;
	}
}
.jb-single-job-wrapper .jb-job-breadcrumbs {
	word-break: break-word;
}
/* =========================================
   Ultimate Member login form
   Strong override version
   ========================================= */

/* Labels */
.um.um-login .um-form .um-field-label label {
	font-family: "Playfair Display", serif !important;
	font-size: 25px !important;
	font-weight: 400 !important;
	color: #000 !important;
	line-height: 1.2 !important;
}

/* Required asterisk */
.um.um-login .um-form .um-field-label .um-req {
	color: #000 !important;
}

/* Inputs */
.um.um-login .um-form input.um-form-field {
	font-family: "Inter", sans-serif !important;
	font-size: 1rem !important;
	color: #222 !important;
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 6px !important;
	padding: 10px 12px !important;
	box-sizing: border-box !important;
}

/* Supporting text */
.um.um-login .um-form .um-field-checkbox-option,
.um.um-login .um-form .um-link-alt,
.um.um-login .um-form .um-col-alt,
.um.um-login .um-form .um-col-alt-b {
	font-family: "Inter", sans-serif !important;
	color: #333 !important;
}

/* Forgot password */
.um.um-login .um-form .um-link-alt {
	text-decoration: none !important;
}

.um.um-login .um-form .um-link-alt:hover {
	color: #000 !important;
	text-decoration: underline !important;
}

/* Base button styling */
.um.um-login .um-form input[type="submit"].um-button,
.um.um-login .um-form a.um-button.um-alt {
	font-family: "Inter", sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	text-align: center !important;
	border-radius: 3px !important;
	padding: .5rem 1rem !important;
	border: 1px solid #000 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	background-image: none !important;
	transition: all .3s ease !important;
}

/* Login button */
.um.um-login .um-form input[type="submit"].um-button {
	background: #000 !important;
	color: #fff !important;
}

/* Login hover */
.um.um-login .um-form input[type="submit"].um-button:hover {
	background: #5E646A !important;
	color: #fff !important;
}

/* Register button */
.um.um-login .um-form a.um-button.um-alt {
	background: #5E646A !important;
	color: #fff !important;
}

/* Register hover */
.um.um-login .um-form a.um-button.um-alt:hover {
	background: #000 !important;
	color: #fff !important;
	border-color: #000 !important;
}
/* =========================================
   Ultimate Member Register Form
   ========================================= */

/* Labels */
.um.um-register.um-8052 .um-field-label label {
	font-family: "Playfair Display", serif !important;
	font-size: 25px !important;
	font-weight: 400 !important;
	color: #000 !important;
}

/* Inputs */
.um.um-register.um-8052 .um-form-field {
	font-family: "Inter", sans-serif !important;
	font-size: 1rem !important;
	color: #222 !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 6px !important;
	padding: 10px 12px !important;
	background: #fff !important;
	box-sizing: border-box !important;
}

/* Radio option text */
.um.um-register.um-8052 .um-field-radio-option {
	font-family: "Inter", sans-serif !important;
	color: #333 !important;
}

/* Register button (same as login button) */
.um.um-register.um-8052 input.um-button#um-submit-btn {
	font-family: "Inter", sans-serif !important;
	background-color: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
	border-radius: 3px !important;
	padding: .5rem 1rem !important;
	font-size: 1rem !important;
	transition: all .3s ease !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* Hover */
.um.um-register.um-8052 input.um-button#um-submit-btn:hover {
	background-color: #5E646A !important;
	color: #fff !important;
}
/*eof login page*/
/* bof job description */
.jb-job-content h3 {
    font-family: "Playfair Display", serif;
    font-size: 1.3rem;
    margin-top: 30px;
    margin-bottom: 10px;
    font-weight: 600;
}
/* eof job description
/* =================================================
   Job category archive pages
   Match main jobs list styling
   ================================================= */

/* Archive heading */
.jb-job-category-wrapper + *,
.page-header.alignwide {
	text-align: center;
}

.page-header.alignwide .page-title {
	font-family: "Playfair Display", serif !important;
	font-size: 65px;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
	margin-bottom: 10px;
}

.page-header.alignwide .page-title::after {
	content: "";
	display: block;
	width: 70px;
	height: 2px;
	background: #FFD700;
	margin: 14px auto 0;
}

/* Search header */
.jb-job-category-wrapper .jb-jobs .jb-jobs-header .jb-jobs-header-row.jb-jobs-search-row .jb-jobs-search-line {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
	margin: 0 0 30px 0;
	background-color: #000;
	padding: 20px;
	border-radius: 15px;
}

.jb-job-category-wrapper .jb-do-search.jb-button {
	display: inline-block;
	font-weight: 400;
	color: #fff !important;
	text-align: center;
	font-family: "Inter", sans-serif !important;
	white-space: nowrap;
	user-select: none;
	background-color: #000 !important;
	border: 1px solid #fff !important;
	border-radius: 3px;
	padding: .5rem 1rem;
	font-size: 1rem;
	transition: all .3s;
}

.jb-job-category-wrapper .jb-do-search.jb-button:hover {
	background-color: #5E646A !important;
	color: #fff !important;
}

/* Filter tidy-up */
.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row > label:first-child {
	display: none !important;
}

.jb-job-category-wrapper .jb-jobs-header .jb-salary-filters-row {
	display: none !important;
}

.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
	margin: 20px 0 34px 0;
	padding: 0;
}

.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) label {
	display: block;
	margin: 0;
}

.jb-job-category-wrapper .jb-jobs-header .jb-job-type-filter,
.jb-job-category-wrapper .jb-jobs-header .jb-job-category-filter {
	display: block;
	min-width: 260px;
	height: 50px;
	padding: 0 16px;
	font-size: 1rem;
	font-family: "Inter", sans-serif !important;
	color: #333;
	background-color: #e9e9e9;
	border: 1px solid #8f8f8f;
	border-radius: 6px;
	box-sizing: border-box;
	cursor: pointer;
}

.jb-job-category-wrapper .jb-jobs-header .jb-job-type-filter:hover,
.jb-job-category-wrapper .jb-jobs-header .jb-job-category-filter:hover {
	border-color: #555;
}

.jb-job-category-wrapper .jb-jobs-header .jb-job-type-filter:focus,
.jb-job-category-wrapper .jb-jobs-header .jb-job-category-filter:focus {
	outline: none;
	border-color: #000;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}

/* Job cards */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row {
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 14px;
	padding: 22px 24px;
	margin-bottom: 18px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.07);
	border-color: #d7d7d7;
}

/* Job title */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title,
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link-line,
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link {
	font-family: "Playfair Display", serif !important;
	font-weight: 600;
	letter-spacing: .2px;
	line-height: 1.25;
	color: #111 !important;
	text-decoration: none;
}

.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link {
	font-size: 1.35rem;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-size: 0% 1px;
	background-position: 0 100%;
	transition: color .25s ease, background-size .25s ease;
}

.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link:hover {
	color: #444 !important;
	background-size: 100% 1px;
}

/* Supporting/meta text */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-info,
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-info *,
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-content,
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row p,
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-button {
	font-family: "Inter", sans-serif !important;
}

/* Hide company */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-data .jb-row-info .jb-row-left-side > div.company {
	display: none !important;
}

/* Meta row layout */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-data .jb-row-info .jb-row-left-side > div {
	margin: 0 10px 8px 0;
	font-size: .95rem;
	color: #4b4b4b;
	line-height: 1.5;
}

/* Remove icons */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-info i {
	display: none !important;
}

/* Disable location/category links */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .location a,
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .category a {
	pointer-events: none;
	text-decoration: none;
	color: inherit;
	cursor: default;
}

/* Bullet separators */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-left-side > div::before {
	content: none !important;
}

.jb-job-category-wrapper .jb-jobs .jb-row-left-side .category::before,
.jb-job-category-wrapper .jb-jobs .jb-row-left-side .date::before,
.jb-job-category-wrapper .jb-jobs .jb-row-left-side .expires::before,
.jb-job-category-wrapper .jb-jobs .jb-row-left-side .jb-job-salary::before {
	content: "•" !important;
	display: inline-block;
	margin-right: 6px;
	color: #aaa;
	font-size: 0.95em;
	line-height: 1;
}

/* Mobile */
@media (max-width: 767px) {
	.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		margin: -15px 0 20px 0;
	}

	.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) label {
		width: 100%;
	}

	.jb-job-category-wrapper .jb-jobs-header .jb-job-type-filter,
	.jb-job-category-wrapper .jb-jobs-header .jb-job-category-filter {
		width: 100%;
		min-width: 0;
		height: 48px;
	}

	.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row {
		padding: 18px 16px;
		border-radius: 12px;
	}

	.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-job-title-link {
		font-size: 1.18rem;
	}

	.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row .jb-row-data .jb-row-info .jb-row-left-side > div {
		margin: 0 8px 8px 0;
		font-size: .92rem;
	}
}
/* =================================================
   Job category archive - extra polish
   Make it closer to the main jobs list page
   ================================================= */

/* Give the archive heading more breathing room */
.page-header.alignwide {
	max-width: 1200px;
	margin: 30px auto 35px auto;
	padding: 0 20px;
}

/* Heading closer to main jobs page */
.page-header.alignwide .page-title {
	margin-top: 0;
	margin-bottom: 0;
}

/* Outer jobs area width + spacing */
.jb-job-category-wrapper {
	max-width: 1200px;
	margin: 0 auto 70px auto;
	padding: 0 20px;
}

/* Make the whole jobs block feel like one styled panel */
.jb-job-category-wrapper .jb-jobs {
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 16px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
	padding: 22px;
}

/* Keep search header sitting nicely inside the panel */
.jb-job-category-wrapper .jb-jobs-header {
	margin-bottom: 18px;
}

/* Filter row spacing more like main jobs page */
.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row) {
	margin: 18px 0 30px 0;
}

/* Add the "Filter:" label on category pages too */
.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row)::before {
	content: "Filter:";
	font-family: "Playfair Display", serif;
	font-size: 1.4rem;
	font-weight: 600;
	color: #111;
	margin-right: auto;
	align-self: center;
	letter-spacing: 0.2px;
}

/* Slightly more separation between cards */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row {
	margin-bottom: 16px;
}

/* Last card doesn’t need extra gap */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-job-list-row:last-child {
	margin-bottom: 0;
}

/* Optional: soften the date on the right a touch */
.jb-job-category-wrapper .jb-jobs .jb-jobs-wrapper .jb-row-right-side .date {
	color: #7a7a7a;
}

/* Mobile tidy-up */
@media (max-width: 767px) {
	.page-header.alignwide {
		margin: 20px auto 25px auto;
		padding: 0 16px;
	}

	.page-header.alignwide .page-title {
		font-size: 2rem !important;
	}

	.jb-job-category-wrapper {
		padding: 0 16px;
		margin-bottom: 40px;
	}

	.jb-job-category-wrapper .jb-jobs {
		padding: 16px;
		border-radius: 14px;
	}

	.jb-job-category-wrapper .jb-jobs-header .jb-jobs-filters-row:not(.jb-salary-filters-row)::before {
		display: block;
		width: 100%;
		margin-bottom: 8px;
		font-size: 1.3rem;
	}
}
/* SEO text block under category job lists */
.agc-category-seo-text {
	max-width: 1200px;
	margin: 50px auto 0 auto;
	padding: 0 20px;
}

.agc-category-seo-text-inner {
	border-top: 1px solid #444;
	padding-top: 28px;
	text-align: center;
}

.agc-category-seo-text-inner p {
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #333;
	max-width: 1100px;
	margin: 0 auto;
}

@media (max-width: 767px) {
	.agc-category-seo-text {
		padding: 0 16px;
		margin-top: 35px;
	}

	.agc-category-seo-text-inner {
		padding-top: 22px;
	}

	.agc-category-seo-text-inner p {
		font-size: 0.95rem;
	}
}
/* eof Job category archive pages */
/* =================================================
   Contact page form - WPForms
   Page ID: 15
   ================================================= */

/* Form card */
.page-id-15 .wpforms-container {
	background: #fafafa;
	padding: 30px;
	border-radius: 8px;
	border: 1px solid #eee;
	box-shadow: 0 4px 15px rgba(3, 3, 0, 0.05);
	margin-top: 20px;
	margin-bottom: 20px;
	box-sizing: border-box;
	max-width: 100%;
	overflow: hidden;
}

/* Main labels / legends */
.page-id-15 .wpforms-form .wpforms-field-label,
.page-id-15 .wpforms-form legend.wpforms-field-label {
	font-family: "Playfair Display", serif !important;
	font-size: 1.25rem !important;
	font-weight: 400 !important;
	color: #000 !important;
	line-height: 1.2;
}

/* Required asterisk */
.page-id-15 .wpforms-form .wpforms-required-label {
	color: #000 !important;
}

/* Sublabels like First / Last */
.page-id-15 .wpforms-form .wpforms-field-sublabel,
.page-id-15 .wpforms-form .wpforms-field-label-inline,
.page-id-15 .wpforms-form .wpforms-field-limit-text {
	font-family: "Inter", sans-serif !important;
	color: #333 !important;
}

/* Inputs and textarea */
.page-id-15 .wpforms-form input[type="text"],
.page-id-15 .wpforms-form input[type="email"],
.page-id-15 .wpforms-form textarea {
	font-family: "Inter", sans-serif !important;
	font-size: 1rem !important;
	color: #222 !important;
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 6px !important;
	padding: 10px 12px !important;
	box-sizing: border-box !important;
}

/* Textarea */
.page-id-15 .wpforms-form textarea {
	min-height: 160px;
	line-height: 1.6;
}

/* Focus states */
.page-id-15 .wpforms-form input[type="text"]:focus,
.page-id-15 .wpforms-form input[type="email"]:focus,
.page-id-15 .wpforms-form textarea:focus {
	border-color: #000 !important;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08) !important;
	outline: none !important;
}

/* Radio option text */
.page-id-15 .wpforms-form .wpforms-field-radio ul li label {
	font-family: "Inter", sans-serif !important;
	color: #333 !important;
}

/* Submit button - match your site buttons */
.page-id-15 .wpforms-form button.wpforms-submit {
	display: inline-block !important;
	font-weight: 400 !important;
	color: #fff !important;
	text-align: center !important;
	font-family: "Inter", sans-serif !important;
	white-space: nowrap !important;
	user-select: none !important;
	background-color: #000 !important;
	border: 1px solid #000 !important;
	border-radius: 3px !important;
	padding: .5rem 1rem !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	height: auto !important;
	min-height: 0 !important;
	transition: all .3s ease !important;
	box-shadow: none !important;
	background-image: none !important;
}

/* Submit hover */
.page-id-15 .wpforms-form button.wpforms-submit:hover {
	background-color: #5E646A !important;
	color: #fff !important;
	border-color: #5E646A !important;
}

/* Button spacing */
.page-id-15 .wpforms-form .wpforms-submit-container {
	margin-top: 10px;
}

/* Mobile */
@media (max-width: 767px) {
	.page-id-15 .wpforms-container {
		padding: 20px;
	}

	.page-id-15 .wpforms-form .wpforms-field-label,
	.page-id-15 .wpforms-form legend.wpforms-field-label {
		font-size: 1.1rem !important;
	}

	.page-id-15 .wpforms-form button.wpforms-submit {
		width: 100%;
	}
}
/* eof Contact page form */