
/**
 * CreativeByte Templates – Careers Page
 * Accent: #1D76BE  |  Gray BG: #F7F7F7
 * Square corners on everything except buttons.
 * Font family inherited from the site theme.
 */

/* ── RESET & BASE ── */
.cbt-careers-page, .cbt-careers-page * {
	box-sizing: border-box;
}

.cbt-careers-page {
	font-family: inherit;
	color: #333;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.cbt-careers-page img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ── CONTAINER ── */
.cbt-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.cbt-container--narrow {
	max-width: 860px;
}

/* ── SECTIONS ── */
.cbt-section {
	padding: 80px 0;
}

.cbt-section--white {
	background: #fff;
}

.cbt-section--gray {
	background: #f7f7f7;
}

.cbt-section--accent {
	background: #1d76be;
}

/* ── TYPOGRAPHY ── */
.cbt-section__headline {
	font-size: 34px;
	font-weight: 700;
	color: #222;
	margin: 0 0 20px;
	line-height: 1.25;
}

.cbt-section__headline--center {
	text-align: center;
}

.cbt-section__headline--white {
	color: #fff;
}

.cbt-section__text {
	font-size: 17px;
	line-height: 1.75;
	color: #555;
	margin: 0 0 24px;
}

.cbt-section__text--center {
	text-align: center;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.cbt-section__text--white {
	color: rgba(255, 255, 255, .9);
}

.cbt-section__text--emphasis {
	font-style: italic;
	font-weight: 500;
	color: #333;
}

.cbt-list-heading {
	font-size: 17px;
	font-weight: 600;
	color: #333;
	margin: 24px 0 12px;
}

/* ── SECTION CTA ── */
.cbt-section__cta {
	margin-top: 32px;
}

.cbt-section__cta--center {
	text-align: center;
}

/* ── BUTTONS ── */
.cbt-btn {
	display: inline-block;
	padding: 14px 36px;
	font-size: 15px;
	font-weight: 600;
	font-family: inherit;
	text-decoration: none;
	text-align: center;
	border: 2px solid transparent;
	border-radius: 5px;
	cursor: pointer;
	transition: background .25s ease, color .25s ease, border-color .25s ease, transform .15s ease;
	letter-spacing: .3px;
}

.cbt-btn:hover {
	transform: translateY(-1px);
}

.cbt-btn--primary {
	background: #1d76be;
	color: #fff;
	border-color: #1d76be;
}

.cbt-btn--primary:hover {
	background: #155d99;
	border-color: #155d99;
	color: #fff;
}

.cbt-btn--white {
	background: #fff;
	color: #1d76be;
	border-color: #fff;
}

.cbt-btn--white:hover {
	background: #f0f0f0;
	border-color: #f0f0f0;
	color: #155d99;
}

.cbt-btn--outline-white {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .7);
}

.cbt-btn--outline-white:hover {
	background: rgba(255, 255, 255, .15);
	border-color: #fff;
	color: #fff;
}

/* ════════════════════════════════════════════
   1. HERO
   ════════════════════════════════════════════ */
.cbt-hero {
	position: relative;
	background-color: #0e3a5c;
	padding: 100px 0 80px;
	color: #fff;
	overflow: hidden;
}

.cbt-hero__bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center;
	z-index: 0;
	transform: scale(1.08);
	animation: cbtHeroBgZoom 6s ease-out forwards;
}

@keyframes cbtHeroBgZoom {
	0% {
		transform: scale(1.08);
	}
	
	100% {
		transform: scale(1);
	}
}

.cbt-hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(10, 40, 70, .88) 0%, rgba(29, 118, 190, .72) 100%);
	z-index: 1;
}

.cbt-hero .cbt-container {
	position: relative;
	z-index: 2;
}

/* Staggered entrance for hero text elements */
.cbt-hero__label {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .7);
	margin-bottom: 8px;
	animation: cbtSlideUp .7s ease-out .2s both;
}

.cbt-hero__sublabel {
	font-size: 18px;
	font-weight: 400;
	color: rgba(255, 255, 255, .85);
	margin: 0 0 28px;
	max-width: 650px;
	animation: cbtSlideUp .7s ease-out .35s both;
}

.cbt-hero__title {
	font-size: 44px;
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 20px;
	max-width: 750px;
	color: #fff !important;
	animation: cbtSlideUp .8s ease-out .5s both;
}

.cbt-hero__subtitle {
	font-size: 18px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .9);
	margin: 0 0 36px;
	max-width: 650px;
	animation: cbtSlideUp .7s ease-out .7s both;
}

.cbt-hero__features {
	animation: cbtSlideUp .7s ease-out .9s both;
}

.cbt-hero__ctas {
	animation: cbtSlideUp .7s ease-out 1.1s both;
}

@keyframes cbtSlideUp {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Hero feature bullets with icons */
.cbt-hero__features {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 32px;
	margin-bottom: 40px;
}

.cbt-hero__feature {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 500;
	color: #fff;
}

.cbt-hero__feature-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: rgba(255, 255, 255, .15);
	border-radius: 50%;
	flex-shrink: 0;
	color: #fff;
}

.cbt-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

/* ════════════════════════════════════════════
   2. WHY CHOOSE US – two-column layout
   ════════════════════════════════════════════ */
.cbt-why__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	margin-bottom: 8px;
	align-items: start;
}

.cbt-why__media img, .cbt-why__media video {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
}

.cbt-why__benefits--full {
	margin-top: 32px;
}

.cbt-why__benefits {
	background: #f7f7f7;
	padding: 32px;
}

.cbt-why__benefits-title {
	font-size: 22px;
	font-weight: 700;
	color: #1d76be;
	margin: 0 0 16px;
}

/* ════════════════════════════════════════════
   CHECKLISTS
   ════════════════════════════════════════════ */
.cbt-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
}

.cbt-checklist li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 12px;
	font-size: 16px;
	color: #444;
	line-height: 1.55;
}

.cbt-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 18px;
	height: 18px;
	background: #1d76be;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	mask-size: contain;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

.cbt-checklist--accent li::before {
	background: #1d76be;
}

/* ════════════════════════════════════════════
   3. GALLERY
   ════════════════════════════════════════════ */
.cbt-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 12px;
	margin: 36px 0 40px;
}

.cbt-gallery__item {
	overflow: hidden;
	aspect-ratio: 4/3;
}

.cbt-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.cbt-gallery__item:hover img {
	transform: scale(1.04);
}

/* Highlight cards (icon + text) below gallery */
.cbt-highlights {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin: 36px 0 24px;
}

.cbt-highlight {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: #fff;
	padding: 24px;
	border-left: 3px solid #1d76be;
}

.cbt-highlight__icon {
	flex-shrink: 0;
	color: #1d76be;
	display: flex;
	align-items: center;
}

.cbt-highlight__text {
	font-size: 15px;
	font-weight: 500;
	color: #333;
	line-height: 1.5;
}

/* ════════════════════════════════════════════
   4. SPLIT LAYOUT (Lab, Relocation)
   ════════════════════════════════════════════ */
.cbt-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
	margin-bottom: 8px;
}

.cbt-split__media img {
	width: 100%;
	height: auto;
}

.cbt-video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.cbt-video-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.cbt-video-wrap {
	position: relative;
	display: block;
	width: 100%;
	line-height: 0;
}

.cbt-video-native {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

.cbt-video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	color: #fff;
	background: rgba(0, 0, 0, .55);
	backdrop-filter: blur(2px);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .25);
	transition: background .2s ease, transform .2s ease, opacity .2s ease;
	opacity: 1;
}

.cbt-video-play svg {
	margin-left: 4px;
}

.cbt-video-play:hover, .cbt-video-play:focus-visible {
	background: rgba(0, 0, 0, .75);
	transform: translate(-50%, -50%) scale(1.05);
	outline: none;
}

.cbt-video-wrap.is-playing .cbt-video-play {
	opacity: 0;
	pointer-events: none;
}

/* ════════════════════════════════════════════
   5. COMPENSATION CARDS
   ════════════════════════════════════════════ */
.cbt-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin: 36px 0;
}

.cbt-card {
	background: #fff;
	padding: 28px 24px;
	border-bottom: 3px solid #1d76be;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	transition: box-shadow .25s ease;
}

.cbt-card:hover {
	box-shadow: 0 6px 24px rgba(0, 0, 0, .08);
}

.cbt-card__icon {
	flex-shrink: 0;
	color: #1d76be;
	display: flex;
	align-items: center;
}

.cbt-card__text {
	font-size: 15px;
	font-weight: 500;
	color: #333;
	margin: 0;
	line-height: 1.5;
}

/* ════════════════════════════════════════════
   7. CHECKLIST GRID (Right Fit)
   ════════════════════════════════════════════ */
.cbt-checklist-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
	max-width: 900px;
	margin: 32px auto;
}

.cbt-checklist-grid__item {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	padding: 18px 22px;
	font-size: 15px;
	font-weight: 500;
	color: #333;
	border-left: 3px solid #1d76be;
}

.cbt-checklist-grid__icon {
	flex-shrink: 0;
	color: #1d76be;
	display: flex;
	align-items: center;
}

/* ════════════════════════════════════════════
   8. HIRING STEPS
   ════════════════════════════════════════════ */
.cbt-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 28px;
	margin: 48px 0 40px;
	position: relative;
}

/* connector line between steps */
.cbt-steps::before {
	content: "";
	position: absolute;
	top: 30px;
	left: 48px;
	right: 48px;
	height: 2px;
	background: #dde6ee;
	z-index: 0;
}

.cbt-step {
	text-align: center;
	position: relative;
	z-index: 1;
}

.cbt-step__number {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #1d76be;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
	margin: 0 auto 16px;
	position: relative;
	z-index: 2;
	box-shadow: 0 4px 12px rgba(29, 118, 190, .3);
}

.cbt-step__title {
	font-size: 16px;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px;
}

.cbt-step__desc {
	font-size: 14px;
	color: #666;
	line-height: 1.55;
	margin: 0;
}

/* ════════════════════════════════════════════
   9. FINAL CTA (accent BG)
   ════════════════════════════════════════════ */
.cbt-section--accent {
	padding: 72px 0;
	text-align: center;
}

.cbt-final-ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

/* ════════════════════════════════════════════
   EXTERNAL FORMS
   ════════════════════════════════════════════ */
.cbt-form-embed {
	max-width: 800px;
	margin: 0 auto 48px;
}

.cbt-form-embed:last-child {
	margin-bottom: 0;
}

.cbt-form-embed__heading {
	font-size: 26px;
	font-weight: 700;
	color: #222;
	text-align: center;
	margin: 0 0 24px;
}

.cbt-form-embed__code {}

.cbt-form-embed__code iframe {
	max-width: 100%;
}

/* ════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════ */
@media (max-width: 1024px) {
	.cbt-hero__title {
		font-size: 36px;
	}
	
	.cbt-section__headline {
		font-size: 28px;
	}
	
	.cbt-why__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	
	.cbt-split {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	
	.cbt-steps::before {
		display: none;
	}
}

@media (max-width: 768px) {
	.cbt-section {
		padding: 56px 0;
	}
	
	.cbt-hero {
		padding: 72px 0 56px;
	}
	
	.cbt-hero__title {
		font-size: 28px;
	}
	
	.cbt-hero__subtitle, .cbt-hero__sublabel {
		font-size: 16px;
	}
	
	.cbt-section__headline {
		font-size: 24px;
	}
	
	.cbt-section__text {
		font-size: 15px;
	}
	
	.cbt-hero__features {
		flex-direction: column;
		gap: 12px;
	}
	
	.cbt-hero__ctas {
		flex-direction: column;
	}
	
	.cbt-hero__ctas .cbt-btn {
		text-align: center;
	}
	
	.cbt-gallery {
		grid-template-columns: 1fr 1fr;
	}
	
	.cbt-highlights {
		grid-template-columns: 1fr;
	}
	
	.cbt-card-grid {
		grid-template-columns: 1fr;
	}
	
	.cbt-checklist-grid {
		grid-template-columns: 1fr;
	}
	
	.cbt-steps {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
	
	.cbt-btn {
		padding: 12px 28px;
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.cbt-container {
		padding: 0 16px;
	}
	
	.cbt-hero__title {
		font-size: 24px;
	}
	
	.cbt-gallery {
		grid-template-columns: 1fr;
	}
	
	.cbt-steps {
		grid-template-columns: 1fr;
	}
	
	.cbt-final-ctas {
		flex-direction: column;
	}
	
	.cbt-final-ctas .cbt-btn {
		text-align: center;
	}
}

/* ════════════════════════════════════════════
   SCROLL ANIMATIONS
   ════════════════════════════════════════════ */
.cbt-animate {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .6s ease, transform .6s ease;
}

.cbt-animate.cbt-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ════════════════════════════════════════════
   REQUEST-A-CALL MODAL
   ════════════════════════════════════════════ */
.cbt-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	visibility: hidden;
	opacity: 0;
	transition: opacity .25s ease, visibility 0s linear .25s;
}

.cbt-modal.cbt-modal--open {
	visibility: visible;
	opacity: 1;
	transition: opacity .25s ease, visibility 0s linear 0s;
}

.cbt-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 30, 50, .55);
	cursor: pointer;
}

.cbt-modal__dialog {
	position: relative;
	background: #fff;
	width: 100%;
	max-width: 480px;
	padding: 36px 32px 28px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
	transform: translateY(16px) scale(.98);
	transition: transform .3s ease;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
}

.cbt-modal--open .cbt-modal__dialog {
	transform: translateY(0) scale(1);
}

.cbt-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #cfd5db;
	color: #fff;
	border: 0;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease, color .2s ease, transform .15s ease;
}

.cbt-modal__close:hover {
	background: #1d76be;
	color: #fff;
}

.cbt-modal__close:focus {
	outline: 2px solid #1d76be;
	outline-offset: 2px;
}

.cbt-modal__title {
	font-size: 26px;
	font-weight: 800;
	color: #222;
	margin: 0 32px 22px 0;
	line-height: 1.2;
}

/* Form layout */
.cbt-call-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cbt-field {
	position: relative;
}

.cbt-field input[type="text"], .cbt-field input[type="email"], .cbt-field input[type="tel"], .cbt-field textarea {
	width: 100%;
	padding: 14px 44px 14px 18px;
	font-size: 15px;
	font-family: inherit;
	color: #333;
	background: #fff;
	border: 1px solid #d6d6d6;
	border-radius: 4px;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
	box-sizing: border-box;
}

.cbt-field input:focus, .cbt-field textarea:focus {
	border-color: #1d76be;
	box-shadow: 0 0 0 2px rgba(29, 118, 190, .15);
}

.cbt-field input::placeholder, .cbt-field textarea::placeholder {
	color: #a3a3a3;
}

.cbt-field textarea {
	resize: vertical;
	min-height: 100px;
	padding-right: 18px;
	line-height: 1.5;
	font-family: inherit;
}

.cbt-field__icon {
	position: absolute;
	right: 14px;
	top: 16px;
	color: #b8b8b8;
	pointer-events: none;
	display: flex;
	align-items: center;
	line-height: 0;
}

.cbt-field--phone .cbt-field__icon {
	top: 50%;
	transform: translateY(-50%);
}

.cbt-field--textarea .cbt-field__icon {
	display: none;
}

/* Phone field (flag + country code + number) */
.cbt-field--phone {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

.cbt-field__cc-wrap {
	position: relative;
	display: flex;
	align-items: center;
	background: #f0f0f0;
	border: 1px solid #d6d6d6;
	border-radius: 4px;
	padding: 0 6px 0 10px;
	flex-shrink: 0;
	min-width: 90px;
}

.cbt-field__flag {
	font-size: 18px;
	line-height: 1;
	margin-right: 6px;
	pointer-events: none;
}

.cbt-field__cc {
	border: 0;
	background: transparent;
	font-size: 15px;
	color: #333;
	font-family: inherit;
	padding: 12px 16px 12px 0;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0 center;
	/* hide the long native option text in the closed state by clipping */
	text-overflow: clip;
	width: 60px;
	direction: ltr;
}

.cbt-field__cc.nitro-lazy {
	background-image: none !important;
}

.cbt-field__cc:focus {
	outline: none;
}

.cbt-field__cc-wrap:focus-within {
	border-color: #1d76be;
	box-shadow: 0 0 0 2px rgba(29, 118, 190, .15);
}

.cbt-field--phone > input[type="tel"] {
	flex: 1;
	min-width: 0;
}

/* Checkbox */
.cbt-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 15px;
	color: #444;
	user-select: none;
	margin: 4px 2px;
	position: relative;
}

.cbt-checkbox input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
	margin: 0;
}

.cbt-checkbox__box {
	width: 18px;
	height: 18px;
	border: 1px solid #c0c0c0;
	border-radius: 3px;
	background: #fff;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease, border-color .15s ease;
}

.cbt-checkbox input[type="checkbox"]:checked + .cbt-checkbox__box {
	background: #1d76be;
	border-color: #1d76be;
}

.cbt-checkbox input[type="checkbox"]:checked + .cbt-checkbox__box::after {
	content: "";
	width: 10px;
	height: 5px;
	border: 2px solid #fff;
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg) translate(1px, -1px);
}

.cbt-checkbox input[type="checkbox"]:focus-visible + .cbt-checkbox__box {
	outline: 2px solid #1d76be;
	outline-offset: 2px;
}

/* Honeypot */
.cbt-honeypot {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Submit button (pill outline) */
.cbt-modal__actions {
	display: flex;
	justify-content: center;
	margin-top: 12px;
}

.cbt-btn--pill-outline {
	background: #fff;
	color: #1d76be;
	border: 2px solid #1d76be;
	border-radius: 999px;
	padding: 12px 44px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, transform .15s ease;
}

.cbt-btn--pill-outline:hover:not(:disabled) {
	background: #1d76be;
	color: #fff;
	transform: translateY(-1px);
}

.cbt-btn--pill-outline:disabled {
	opacity: .6;
	cursor: not-allowed;
}

/* Result message */
.cbt-form-result {
	text-align: center;
	margin-top: 6px;
	font-size: 14px;
	min-height: 18px;
	line-height: 1.4;
}

.cbt-form-result--success {
	color: #1a7f3c;
}

.cbt-form-result--error {
	color: #c0392b;
}

/* Lock body scroll while modal is open */
body.cbt-modal-open {
	overflow: hidden;
}

@media (max-width: 480px) {
	.cbt-modal__dialog {
		padding: 28px 22px 22px;
	}
	
	.cbt-modal__title {
		font-size: 22px;
	}
	
	.cbt-field__cc-wrap {
		min-width: 84px;
	}
}

/* ════════════════════════════════════════════
   OPEN POSITIONS (JOBS TABLE)
   ════════════════════════════════════════════ */
.cbt-jobs {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 24px;
}

.cbt-jobs__head, .cbt-jobs__row {
	display: grid;
	grid-template-columns: 2fr 1.2fr 1.6fr auto;
	align-items: center;
	gap: 16px;
}

.cbt-jobs__head {
	padding: 0 22px;
	color: #8a8a8a;
	font-size: 14px;
	font-weight: 500;
}

.cbt-jobs__row {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 18px 22px;
	transition: box-shadow .2s ease, border-color .2s ease;
}

.cbt-jobs__row:hover {
	border-color: #d1d5db;
	box-shadow: 0 4px 14px rgba(15, 30, 50, .06);
}

.cbt-jobs__cell {
	font-size: 16px;
	color: #222;
	min-width: 0;
}

.cbt-jobs__cell--title {
	font-weight: 500;
}

.cbt-jobs__cell--action {
	justify-self: end;
}

.cbt-jobs__title-link {
	color: inherit;
	text-decoration: none;
	transition: color .2s ease;
}

.cbt-jobs__title-link:hover, .cbt-jobs__title-link:focus {
	color: #1d76be;
	text-decoration: underline;
}

.cbt-jobs__apply {
	white-space: nowrap;
}

@media (max-width: 768px) {
	.cbt-jobs__head {
		display: none;
	}
	
	.cbt-jobs__row {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 18px 18px 20px;
	}
	
	.cbt-jobs__cell--action {
		justify-self: stretch;
		margin-top: 8px;
	}
	
	.cbt-jobs__apply {
		width: 100%;
		text-align: center;
	}
	
	.cbt-jobs__cell[data-label]::before {
		content: attr(data-label) ": ";
		color: #8a8a8a;
		font-size: 13px;
		font-weight: 500;
		margin-right: 4px;
	}
	
	.cbt-jobs__cell--title[data-label]::before {
		display: block;
		margin-right: 0;
		margin-bottom: 2px;
	}
}

/* ════════════════════════════════════════════
   APPLY POPUP (wide modal, holds embed iframe)
   ════════════════════════════════════════════ */
.cbt-modal__dialog--wide {
	max-width: 820px;
	padding: 40px 36px 32px;
}

.cbt-modal--apply .cbt-modal__title {
	margin: 0 40px 18px 0;
}

.cbt-modal__body {
	min-height: 200px;
}

.cbt-modal__body iframe {
	display: block;
	width: 100%;
	min-height: 560px;
	border: 0;
}

@media (max-width: 600px) {
	.cbt-modal__dialog--wide {
		padding: 28px 18px 22px;
	}
	
	.cbt-modal__body iframe {
		min-height: 70vh;
	}
}
