/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* GENERATEPRESS */

/* See some styles updated in the Customizers */


/* WPJM */

/* Display of jobs in search */

.rp4wp-related-job_listing>ul, ul.job_listings {
    border-top: 0;
    margin: 0;
    padding: 0;
}

h3.job_listing_title {
    font-size: 22px;
    font-weight: 700;
    display: block;
    line-height: normal;
    margin-bottom: 0 !important;
    padding: 0;
    border: 0;
}

.job_listing_details ul {
    padding: 0 !important;
    margin: 0 !important;
}

.job_listing_details ul li {
    color: #666;
    font-size: 16px;
    list-style: none;
    list-style-type: none;
    text-transform: capitalize;
    padding-left: 0 !important;
    margin: 0 !important;
}

/* WPJM */

/* Display of faceted dropdowns on ajax jobs */

.gb-element-85f8660d input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select {
    width: 100% !important;
	border-radius: 12px !important;
}

.ajax-search .facetwp-facet {
	margin-bottom: 20px !important;
}


/* WPJM */

/* Display of single job listing */

.single_job_listing .job_description h4, .single_job_listing .job_responsibilities h4, .single_job_listing .job_qualifications h4, .single_job_listing .job_core_skills h4, .single_job_listing .job_certifications h4, .single_job_listing .job_additional_info h4 {
    border-bottom: 1px solid #eee;
    font-size: 16px !important;
    font-weight: 700;
    margin-top: 40px;
    padding-bottom: 3px;
    text-transform: uppercase;
}

.single_job_listing .meta {
    zoom: 1;
    clear: both;
    list-style: none outside;
    margin: 0;
    overflow: hidden;
    padding: 0;
}

.skills_list {
    border: 1px solid #efefef;
    border-radius: 40px;
    display: inline-block;
	font-size: 12px;
    list-style-type: none;
    margin: 4px 12px 4px 0;
    padding: 6px 10px;
    background: #fbfbfb;
}

/* AJAX-only: meta list as 2 columns, no bullets */
.info-area--ajax ul.job-meta {
  display: flex;
  flex-wrap: wrap;
  list-style: none;     /* removes discs */
  margin: 0;            /* remove UL margin */
  padding: 0;           /* remove UL padding */
  column-gap: 0;        /* we’ll control spacing on li */
}

.info-area--ajax ul.job-meta {
  display: grid;
  grid-template-columns: 46% 52%;
  column-gap: 16px;
  row-gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.info-area--ajax ul.job-meta > li {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.info-area--ajax ul.job-meta {
  display: grid;
  grid-template-columns: 50% 50%;
  column-gap: 16px;
  row-gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}


.info-area--ajax ul.job-meta > li {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.job-manager-application-wrapper .application .application_button, .single_job_listing .application .application_button {
	background: #d55256;
	border-radius: 12px;
    display: inline-block;
    font-size: 1.1em;
    line-height: 1em;
    margin: 0 .5em 0 0;
    outline: 0;
    padding: 0.7em 1.2em;
    text-align: center;
}

/* WPJM Ajax Layout
 * ========================================================================== */

.wpjm-split-layout {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}

/* LEFT PANE: no scrolling, full height */
.wpjm-split-layout__left {
  flex: 0 0 40%;
  max-width: 40%;
  overflow-y: visible;   /* stop internal scroll */
  max-height: none;      /* remove 80vh cap */
  border: 0;
  padding: 0 1rem 1em 1rem;

  scrollbar-width: auto;
  -ms-overflow-style: auto;
}

/* RIGHT PANE: sticky job detail */
.wpjm-split-layout__right {
	position: sticky;
	top: 60px;              /* adjust for your header */
	align-self: flex-start; /* important inside flex */
}


/* Remove default link styling inside the job-list summaries */
.wpjm-split-layout__left .job_listings a {
	color: inherit;
	text-decoration: none;
}

/* Ensure hover still feels clickable, like Indeed/CareerBeacon */
.wpjm-split-layout__left .job_listings a:hover {
	background-color: #f8f9fb;
	text-decoration: none;
}

/* Ensure titles remain bold and don’t inherit odd colors */
.wpjm-split-layout__left .job_listings .job_listing h3 {
	color: #333;
	font-weight: 600;
}

.wpjm-split-layout__right {
	flex: 1 1 60%;
	min-height: 300px;
	padding: 30px;
	border: 1px solid #aaa;
	border-radius: 12px;
}

.wpjm-split-layout__placeholder {
	color: #eee;
	font-style: italic;
	margin-top: 1rem;
}

h2.ajax-entry-title {
	font-size: 30px;
	margin-bottom: 5px;
	font-weight: 500;
}

.wpjm-split-layout__right h5 {
	font-size: 18px;
	display: block;
	line-height: normal;
	margin-bottom: 0.5rem;
	border: 0;
}

.wpjm-split-layout li.job_listing {
	border: 1px solid #eee;
	border-radius: 12px;
	margin-bottom: 1rem !important;
	position: relative; /* keep for any absolute elements you may add later */
}

/* Highlight active job in list */
.wpjm-split-layout li.job_listing.is-active {
	background: #fff;
	border: 1px solid #aaa;
	border-radius: 12px;
}

/* Make the card background live on the <a>, not hidden under it */
.wpjm-split-layout li.job_listing > a.wpjm-split-job-link {
  display: block;
  background: transparent; /* default */
}

/* When a listing is active, paint the <a> too */
.wpjm-split-layout li.job_listing.is-active > a.wpjm-split-job-link {
	background: #fff;
}

/* Keep hover from "washing out" the active color */
.wpjm-split-layout li.job_listing.is-active > a.wpjm-split-job-link:hover,
.wpjm-split-layout li.job_listing.is-active > a.wpjm-split-job-link:focus,
.wpjm-split-layout li.job_listing.is-active > a.wpjm-split-job-link:active {
	background: #fff;
}


/* Make sure rounded corners clip inner content */
.wpjm-split-layout li.job_listing {
  border-radius: 12px;
  overflow: hidden;            /* ✅ this is the key */
  position: relative;
}

/* Ensure the big clickable <a> fills the li cleanly */
.wpjm-split-layout li.job_listing > a.wpjm-split-job-link {
  display: block;
  border-radius: inherit;      /* belt + suspenders */
}


/* Optional loading style */
.wpjm-split-layout__right.is-loading {
	opacity: 0.6;
}

/* Style the main pager container */
.facetwp-pager {
	text-align: center;
	margin-top: 20px;
}

/* Style the individual page links */
.facetwp-pager a {
	display: inline-block;
	padding: 8px 12px;
	margin: 0 4px;
	border: 1px solid #ccc;
	color: #333;
	text-decoration: none;
	border-radius: 4px;
}

/* Style the current page link */
.facetwp-pager a.active {
	background-color: #0073aa;
	color: #fff;
	border-color: #0073aa;
}

/* Style the "Prev" and "Next" links */
.facetwp-pager .pager-prev,
.facetwp-pager .pager-next {
	font-weight: bold;
}

/* Hover effects for links */
.facetwp-pager a:hover:not(.active) {
	background-color: #eee;
}

/* Show job meta info-area inside AJAX detail panel even if it has hide-on-desktop */
.wpjm-split-layout__right .info-area.hide-on-desktop {
	display: block;
}

/* WPJM Mobile: list-only, no AJAX detail pane */
@media (max-width: 768px) {
  .wpjm-split-layout {
    display: block;              /* stack instead of split */
  }

  .wpjm-split-layout__left {
    flex: none;
    max-width: 100%;
    max-height: none;            /* no left scroll */
    overflow: visible;
    padding: 0.75rem;
  }

  .wpjm-split-layout__right {
    display: none !important;    /* hide detail pane entirely */
  }
}



/* GRAVITY FORMS */

/* Add margin below page steps on multi=page forms */

.gform-theme--framework .gf_page_steps, .gform-theme--framework .gf_progressbar_wrapper {
	margin-bottom: 60px !important;
}
/* Remove margin below form section titles */

.gsection_title {
    margin-bottom: 0 !important;
}


/* FACETWP */

/** change width of input box **/

.facetwp-input-wrap {
  width: 100%;
}
.facetwp-facet input.facetwp-search {
  width: 100%;
	border-radius: 12px;
}


/* HUGEICONS */

.hgi-stroke {
    vertical-align: bottom !important;
    margin-right: 8px;
}