/**
 * Cherry Godfrey skin — mirrors cherrygodfrey.com (Andrew 2026-10-20).
 *
 * Palette from their stylesheet: cherry #800924 (buttons, headings, footer),
 * deep cherry #980b2b / pink #d1004b for gradients, ink #1d1d1b, grey
 * #f2f2f2 / #e9e9e9 rules. Their typefaces are commercial (justus-pro for
 * headings, Avenir for body); the install's font options use the closest
 * free matches — Jost (headings) and Nunito Sans (body).
 *
 * Text on cherry fills uses --cg-on-cherry (= --color-primary-contrast from
 * talenthub_brand_contrast_css, white for this palette) — never hard-coded.
 * Scoped to body.th-skin-cherry-godfrey; only enqueued on the public site.
 */

.th-skin-cherry-godfrey {
	--cg-cherry: #800924;
	--cg-cherry-dark: #760821;
	--cg-cherry-deep: #980b2b;
	--cg-pink: #d1004b;
	--cg-stripe: #c70048;
	--cg-ink: #1d1d1b;
	--cg-grey: #f2f2f2;
	--cg-rule: #e9e9e9;
	--cg-on-cherry: var(--color-primary-contrast, #fff);
	--cg-contain: 1200px;
	color: var(--cg-ink);
}

/* ===== Header: white bar, colour logo left, ink nav, cherry underline ===== */
.th-skin-cherry-godfrey .site-header {
	background: #fff;
	border-bottom: 1px solid var(--cg-rule);
}
.th-skin-cherry-godfrey .header-container {
	max-width: var(--cg-contain);
	height: 88px;
}
.th-skin-cherry-godfrey .header-logo .custom-logo {
	max-height: 40px;
}
.th-skin-cherry-godfrey .primary-menu > li > a {
	color: var(--cg-ink);
	font-size: 16px;
	border-bottom: 2px solid transparent;
}
.th-skin-cherry-godfrey .primary-menu > li > a:hover,
.th-skin-cherry-godfrey .primary-menu > li > a:focus,
.th-skin-cherry-godfrey .primary-menu > li.current-menu-item > a,
.th-skin-cherry-godfrey .primary-menu > li.current_page_item > a {
	color: var(--cg-ink);
	border-bottom-color: var(--cg-cherry);
}
.th-skin-cherry-godfrey .header-action-link {
	border-radius: 0;
	font-weight: 500;
}
.th-skin-cherry-godfrey .header-action-secondary {
	color: var(--cg-cherry);
	border: 2px solid var(--cg-cherry);
	background: transparent;
}
.th-skin-cherry-godfrey .header-action-secondary:hover,
.th-skin-cherry-godfrey .header-action-secondary:focus {
	background: var(--cg-cherry);
	border-color: var(--cg-cherry);
	color: var(--cg-on-cherry);
}
/* Register = their .btn-cherry (square, 2px darker border). */
.th-skin-cherry-godfrey .header-action-primary {
	background: var(--cg-cherry);
	border: 2px solid #7b0923;
	color: var(--cg-on-cherry);
	box-shadow: none;
}
.th-skin-cherry-godfrey .header-action-primary:hover,
.th-skin-cherry-godfrey .header-action-primary:focus {
	background: var(--cg-cherry-dark);
	border-color: #720820;
	color: var(--cg-on-cherry);
}
.th-skin-cherry-godfrey .menu-icon-bar {
	background-color: var(--cg-cherry);
	height: 4px;
	border-radius: 3px;
}

/* ===== Page body ===== */
.th-skin-cherry-godfrey h1,
.th-skin-cherry-godfrey h2,
.th-skin-cherry-godfrey h3 {
	color: var(--cg-ink);
	font-weight: 400;
}
/* :where() keeps plain-link colouring at element specificity so it never
   outranks a link-styled button's own text colour (kb: brand contrast). */
:where(.th-skin-cherry-godfrey) a {
	color: var(--cg-cherry);
}
.th-skin-cherry-godfrey .btn-primary,
.th-skin-cherry-godfrey .button-primary,
.th-skin-cherry-godfrey button[type="submit"],
.th-skin-cherry-godfrey input[type="submit"] {
	background-color: var(--cg-cherry);
	border: 2px solid #7b0923;
	color: var(--cg-on-cherry);
	border-radius: 0;
}
.th-skin-cherry-godfrey .btn-primary:hover,
.th-skin-cherry-godfrey .btn-primary:focus,
.th-skin-cherry-godfrey button[type="submit"]:hover,
.th-skin-cherry-godfrey input[type="submit"]:hover {
	background-color: var(--cg-cherry-dark);
	border-color: #720820;
	color: var(--cg-on-cherry);
}

/* ===== Careers homepage (skins/cherry-godfrey/front-page.php) ===== */
.cg-contain {
	max-width: var(--cg-contain);
	margin: 0 auto;
	padding: 0 20px;
}
.cg-careers .cg-plus {
	font-weight: 200;
	line-height: 1;
}

/* Hero — full-width photo, white headline, tiles riding the bottom edge. */
.cg-hero {
	position: relative;
	min-height: 560px;
	background-size: cover;
	background-position: center 40%;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.cg-hero::before {
	/* Their slides sit under a dark scrim so the white type always reads. */
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.1) 100%);
}
.cg-hero-content {
	position: relative;
	max-width: var(--cg-contain);
	width: 100%;
	margin: 0 auto;
	padding: 110px 20px 40px;
}
.cg-careers .cg-hero-title {
	color: #fff;
	font-size: 64px;
	line-height: 1;
	font-weight: 300;
	margin: 0;
	max-width: 12em;
}
.cg-hero-title strong {
	font-weight: 600;
	display: block;
}
.cg-hero-sub {
	font-size: 22px;
	margin: 0.8em 0 0;
	max-width: 26em;
	color: #fff;
}
.cg-tiles {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	width: calc(100% - 40px);
	margin: 0 auto -40px;
	box-shadow: 0 0 5rem 0 rgba(0, 0, 0, 0.15);
	z-index: 2;
}
.th-skin-cherry-godfrey .cg-tile {
	flex: 1 1 0;
	min-width: 140px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 22px 12px;
	background: linear-gradient(to bottom, var(--cg-cherry) 0%, var(--cg-cherry-deep) 50%, var(--cg-pink) 100%);
	color: var(--cg-on-cherry);
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	border-right: 1px solid rgba(228, 228, 228, 0.2);
	transition: transform 0.4s cubic-bezier(0.36, 0.01, 0, 1.02);
}
.th-skin-cherry-godfrey .cg-tile:last-child {
	border-right: 0;
}
.th-skin-cherry-godfrey .cg-tile:hover,
.th-skin-cherry-godfrey .cg-tile:focus {
	transform: scale(1.04);
	color: var(--cg-on-cherry);
	z-index: 1;
}
.cg-tile .cg-plus {
	font-size: 34px;
}

/* "Let Cherry Godfrey help you…" strap + intro copy. */
.cg-strap {
	padding: 110px 0 30px;
	text-align: center;
}
.cg-careers .cg-strap-title {
	font-size: 44px;
	font-weight: 300;
	line-height: 1.2;
	max-width: 16em;
	margin: 0 auto 30px;
}
.cg-strap-title strong {
	font-weight: 600;
}
.cg-intro {
	max-width: 760px;
	margin: 0 auto;
	text-align: left;
	font-size: 17px;
	line-height: 1.7;
}
.cg-intro h3 {
	font-size: 26px;
	margin: 1.4em 0 0.4em;
}

/* Vacancies — their white "detail-section" cards with the big cherry +. */
.cg-vacancies {
	padding: 30px 0 60px;
}
.cg-careers .cg-section-title {
	text-align: center;
	font-size: 40px;
	font-weight: 300;
	margin: 0 0 30px;
}
.cg-empty {
	text-align: center;
	font-size: 17px;
}
.cg-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}
.cg-card {
	position: relative;
	background: #fff;
	padding: 30px 30px 70px;
	box-shadow: 0 0 3rem 0 rgba(0, 0, 0, 0.08);
	border-bottom: 3px solid var(--cg-cherry);
}
.cg-careers .cg-card-title {
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 10px;
}
.th-skin-cherry-godfrey .cg-card-title a {
	color: var(--cg-ink);
	text-decoration: none;
}
.th-skin-cherry-godfrey .cg-card-title a:hover {
	color: var(--cg-cherry);
}
.cg-card-meta {
	color: var(--cg-cherry);
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 12px;
}
.cg-card-text {
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}
.th-skin-cherry-godfrey .cg-card-more {
	position: absolute;
	left: 30px;
	bottom: 14px;
	color: var(--cg-cherry);
	text-decoration: none;
}
.cg-card-more .cg-plus {
	font-size: 56px;
}
.th-skin-cherry-godfrey .cg-card-more:hover .cg-plus {
	color: var(--cg-pink);
}

/* Kidney CTA — cherry gradient band with an outlined white button. */
.cg-kidney {
	position: relative;
	overflow: hidden;
	text-align: center;
	padding: 60px 30px 70px;
	margin: 20px 0 60px;
	background: linear-gradient(to bottom, var(--cg-cherry-deep), #8a0a27);
	border-radius: 0 0 50% 50% / 0 0 18% 18%;
	color: var(--cg-on-cherry);
}
.cg-careers .cg-kidney h3 {
	color: var(--cg-on-cherry);
	font-size: 44px;
	font-weight: 400;
	margin: 0 0 10px;
}
.cg-kidney-sub {
	font-size: 20px;
	margin: 0 0 28px;
	color: var(--cg-on-cherry);
}
.th-skin-cherry-godfrey .cg-kidney-btn {
	display: inline-block;
	color: var(--cg-on-cherry);
	border: 1px solid var(--cg-on-cherry);
	padding: 0.6em 1.4em 0.5em;
	font-size: 20px;
	text-decoration: none;
}
.th-skin-cherry-godfrey .cg-kidney-btn:hover,
.th-skin-cherry-godfrey .cg-kidney-btn:focus {
	text-decoration: underline;
	color: var(--cg-on-cherry);
}

/* "Est. 1993" about strap. */
.cg-about {
	text-align: center;
	padding: 10px 20px 80px;
}
.cg-about-text {
	font-size: 30px;
	font-weight: 300;
	line-height: 1.35;
	max-width: 24em;
	margin: 0 auto 30px;
}
.cg-highlight {
	display: block;
	color: var(--cg-pink);
	font-weight: 500;
}
.th-skin-cherry-godfrey .cg-btn {
	display: inline-block;
	background: var(--cg-cherry);
	border: 2px solid #7b0923;
	color: var(--cg-on-cherry);
	padding: 0.8em 1.4em;
	font-size: 16px;
	text-decoration: none;
}
.th-skin-cherry-godfrey .cg-btn:hover,
.th-skin-cherry-godfrey .cg-btn:focus {
	background: var(--cg-cherry-dark);
	border-color: #720820;
	color: var(--cg-on-cherry);
}

/* Floating "Contact us" tab, bottom-right, as on their site. */
.th-skin-cherry-godfrey .cg-contact-tab {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 900;
	padding: 1em 1.6em;
	background: linear-gradient(to right, #cc004a, var(--cg-cherry));
	color: var(--cg-on-cherry);
	font-size: 17px;
	font-weight: 600;
	border-top-left-radius: 1em;
	box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.3);
	text-decoration: none;
}
.th-skin-cherry-godfrey .cg-contact-tab:hover,
.th-skin-cherry-godfrey .cg-contact-tab:focus {
	color: var(--cg-on-cherry);
	text-decoration: underline;
}

/* ===== Footer: centred cherry band with their diagonal stripe ===== */
.th-skin-cherry-godfrey .site-footer {
	position: relative;
	background: var(--cg-cherry);
	border-top: 0;
	text-align: center;
	overflow: hidden;
}
.th-skin-cherry-godfrey .site-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(-45deg, transparent 0%, transparent 50%, var(--cg-stripe) 50%, var(--cg-stripe) 55%, var(--cg-cherry) 100%);
	opacity: 0.15;
	pointer-events: none;
}
.th-skin-cherry-godfrey .footer-main,
.th-skin-cherry-godfrey .footer-copyright {
	position: relative;
	background: transparent;
	border-top: 0;
}
.th-skin-cherry-godfrey .footer-grid {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}
.th-skin-cherry-godfrey .site-footer,
.th-skin-cherry-godfrey .site-footer p,
.th-skin-cherry-godfrey .site-footer li,
.th-skin-cherry-godfrey .site-footer a,
.th-skin-cherry-godfrey .footer-heading,
.th-skin-cherry-godfrey .copyright-text {
	color: var(--cg-on-cherry);
}
.th-skin-cherry-godfrey .footer-heading {
	display: none;
}
.th-skin-cherry-godfrey .footer-logo .custom-logo {
	filter: brightness(0) invert(1);
	width: 260px;
	max-width: 100%;
	height: auto;
}
.th-skin-cherry-godfrey .footer-menu,
.th-skin-cherry-godfrey .footer-contact-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 28px;
	padding: 0;
	margin: 0;
	list-style: none;
}
/* Their giant office number. */
.th-skin-cherry-godfrey .footer-contact-list .contact-phone a {
	font-size: 44px;
	font-weight: 500;
	text-decoration: none;
}
.th-skin-cherry-godfrey .footer-contact-list .contact-address {
	flex-basis: 100%;
	font-weight: 300;
	line-height: 1.6;
}
.th-skin-cherry-godfrey .social-links {
	justify-content: center;
}
.th-skin-cherry-godfrey .social-link {
	color: var(--cg-on-cherry);
	border-color: rgba(255, 255, 255, 0.5);
}
.th-skin-cherry-godfrey .copyright-content {
	justify-content: center;
	flex-direction: column;
}
.th-skin-cherry-godfrey .footer-legal-links {
	justify-content: center;
	flex-wrap: wrap;
}
.th-skin-cherry-godfrey .footer-legal-links a,
.th-skin-cherry-godfrey .copyright-text {
	font-size: 14px;
	font-weight: 300;
}

/* ===== Mobile ===== */
@media (max-width: 1024px) {
	.cg-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cg-careers .cg-hero-title { font-size: 52px; }
}
@media (max-width: 767px) {
	.th-skin-cherry-godfrey .header-container { height: 72px; }
	.th-skin-cherry-godfrey .header-logo .custom-logo { max-height: 30px; }
	.cg-hero { min-height: 480px; }
	.cg-hero-content { padding-top: 60px; }
	.cg-careers .cg-hero-title { font-size: 40px; }
	.cg-hero-sub { font-size: 18px; }
	.cg-tiles { margin-bottom: 0; width: 100%; }
	.th-skin-cherry-godfrey .cg-tile { flex: 1 1 50%; font-size: 17px; padding: 16px 8px; }
	.cg-strap { padding-top: 50px; }
	.cg-careers .cg-strap-title { font-size: 30px; }
	.cg-cards { grid-template-columns: 1fr; }
	.cg-careers .cg-kidney h3 { font-size: 32px; }
	.cg-about-text { font-size: 22px; }
	.th-skin-cherry-godfrey .footer-contact-list .contact-phone a { font-size: 32px; }
	/* Keep the floating tab from covering the last line of the footer. */
	.th-skin-cherry-godfrey .site-footer { padding-bottom: 60px; }
}
