/* YottaFlex Hiring Widget – job description page styling.
 * Everything is scoped to body.yfjd-page (added only on the chosen job posts). */

body.yfjd-page {
	--yfjd-accent: #00e1be;
	--yfjd-accent-rgb: 0, 225, 190;
	--yfjd-blue: #5fb8ff;
	--yfjd-violet: #9f8cff;
	--yfjd-gold: #ffd84d;
	--yfjd-gold-rgb: 255, 216, 77;
	--yfjd-text: #f3f7ff;
	--yfjd-muted: #b8c6de;
	--yfjd-panel: rgba(255, 255, 255, .035);
	--yfjd-line: rgba(255, 255, 255, .09);
}

/* Hide the raw text for a moment so visitors never see it re-arrange.
 * The fail-safe animation reveals it anyway if the script cannot run. */
body.yfjd-page:not(.yfjd-ready) .elementor-widget-text-editor {
	opacity: 0;
	animation: yfjd-failsafe 0s 2.5s forwards;
}
body.yfjd-page.yfjd-ready .yfjd-content { animation: yfjd-in .45s ease both; }
@keyframes yfjd-failsafe { to { opacity: 1; } }
@keyframes yfjd-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

body.yfjd-page .yfjd-page *,
body.yfjd-page .yfjd-content *,
body.yfjd-page .yfjd-card * { box-sizing: border-box; }
body.yfjd-page .yfjd-content svg,
body.yfjd-page .yfjd-card svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ---------------------------------------------------------------- title */

body.yfjd-page .yfjd-title { letter-spacing: -.02em; }
body.yfjd-page .yfjd-title-tag {
	display: inline-block;
	margin-left: .25em;
	padding: .06em .42em .1em;
	border-radius: .32em;
	border: 1px solid rgba(var(--yfjd-accent-rgb), .45);
	font-size: .78em;
	vertical-align: .06em;
	color: transparent;
	background-image:
		linear-gradient(95deg, var(--yfjd-accent), var(--yfjd-blue) 55%, var(--yfjd-violet)),
		linear-gradient(100deg, rgba(var(--yfjd-accent-rgb), .14), rgba(159, 140, 255, .16));
	-webkit-background-clip: text, padding-box;
	background-clip: text, padding-box;
	-webkit-text-fill-color: transparent;
}

body.yfjd-page .yfjd-badges {
	position: relative;
	z-index: 2; /* sit above the Elementor container's background overlay */
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 6px;
	width: 100%;
}
body.yfjd-page .yfjd-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 15px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	color: var(--yfjd-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}
body.yfjd-page .yfjd-badge.is-money {
	background: linear-gradient(100deg, rgba(var(--yfjd-gold-rgb), .2), rgba(255, 138, 36, .14));
	border-color: rgba(var(--yfjd-gold-rgb), .55);
	color: var(--yfjd-gold);
	font-weight: 800;
	box-shadow: 0 0 18px rgba(var(--yfjd-gold-rgb), .15);
}
body.yfjd-page .yfjd-badge.is-live {
	border-color: rgba(var(--yfjd-accent-rgb), .45);
	color: var(--yfjd-accent);
	font-weight: 700;
}
body.yfjd-page .yfjd-badge i,
body.yfjd-page .yfjd-eyebrow i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--yfjd-accent);
	box-shadow: 0 0 0 0 rgba(var(--yfjd-accent-rgb), .6);
	animation: yfjd-pulse 1.8s ease-out infinite;
}
@keyframes yfjd-pulse {
	0% { box-shadow: 0 0 0 0 rgba(var(--yfjd-accent-rgb), .6); }
	70%, 100% { box-shadow: 0 0 0 7px rgba(var(--yfjd-accent-rgb), 0); }
}

/* ---------------------------------------------------------- main column */

body.yfjd-page .yfjd-main {
	padding: 22px 24px 20px !important;
	border-radius: 20px;
	background:
		radial-gradient(90% 40% at 100% 0%, rgba(var(--yfjd-accent-rgb), .07), transparent 70%),
		var(--yfjd-panel);
	border: 1px solid var(--yfjd-line);
}
body.yfjd-page .yfjd-main > .elementor-widget-heading .elementor-heading-title {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.01em;
}
body.yfjd-page .yfjd-apply {
	box-shadow: 0 8px 22px rgba(var(--yfjd-accent-rgb), .28);
	transition: transform .2s ease, box-shadow .2s ease;
}
body.yfjd-page .yfjd-apply:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(var(--yfjd-accent-rgb), .4);
}

body.yfjd-page .yfjd-content,
body.yfjd-page .yfjd-content > .elementor-widget-container {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body.yfjd-page .yfjd-content {
	color: var(--yfjd-muted);
	font-size: 15px;
	line-height: 1.65;
}
body.yfjd-page .yfjd-content p { margin: 0 0 12px; }
body.yfjd-page .yfjd-content strong { color: var(--yfjd-text); font-weight: 700; }

/* Intro */
body.yfjd-page .yfjd-lead {
	font-size: 18px;
	line-height: 1.55;
	color: var(--yfjd-text);
}
body.yfjd-page .yfjd-lead strong {
	background: linear-gradient(95deg, var(--yfjd-accent), var(--yfjd-blue));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
body.yfjd-page .yfjd-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 4px 0 18px;
}
body.yfjd-page .yfjd-chip {
	padding: 5px 12px;
	border-radius: 8px;
	background: rgba(95, 184, 255, .1);
	border: 1px solid rgba(95, 184, 255, .28);
	color: #cfe6ff;
	font-size: 13px;
	font-weight: 600;
}

body.yfjd-page .yfjd-attrs-box {
	position: relative;
	margin: 0 0 22px;
	padding: 16px 18px 18px 58px;
	border-radius: 16px;
	background: linear-gradient(120deg, rgba(var(--yfjd-accent-rgb), .08), rgba(159, 140, 255, .07));
	border: 1px solid rgba(var(--yfjd-accent-rgb), .22);
}
body.yfjd-page .yfjd-attrs-box > .yfjd-sec-icon { position: absolute; left: 16px; top: 15px; }
body.yfjd-page .yfjd-attrs-title { margin-bottom: 10px !important; color: var(--yfjd-text); }
body.yfjd-page .yfjd-content ol.yfjd-attrs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: yfjd-attr;
}
body.yfjd-page .yfjd-attrs li {
	counter-increment: yfjd-attr;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 7px 12px 7px 7px;
	border-radius: 999px;
	background: rgba(7, 12, 34, .55);
	border: 1px solid var(--yfjd-line);
	color: var(--yfjd-text);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.2;
}
body.yfjd-page .yfjd-attrs li::before {
	content: counter(yfjd-attr);
	position: static;
	left: auto;
	top: auto;
	flex: 0 0 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(var(--yfjd-accent-rgb), .18);
	color: var(--yfjd-accent);
	font-size: 11px;
	font-weight: 800;
}

/* Sections */
body.yfjd-page .yfjd-section {
	margin: 0 0 18px;
	padding: 18px 20px 16px;
	border-radius: 16px;
	background: rgba(8, 13, 36, .55);
	border: 1px solid var(--yfjd-line);
}
body.yfjd-page .yfjd-sec-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 14px;
}
body.yfjd-page .yfjd-sec-icon {
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	padding: 6px;
	border-radius: 9px;
	background: rgba(var(--yfjd-accent-rgb), .14);
	color: var(--yfjd-accent);
}
body.yfjd-page .yfjd-content .yfjd-sec-title {
	margin: 0 !important;
	color: var(--yfjd-text);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -.01em;
}
body.yfjd-page .yfjd-sec-sub {
	margin: 0 !important;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid var(--yfjd-line);
	color: var(--yfjd-muted);
	font-size: 12px;
	font-weight: 600;
}
body.yfjd-page .yfjd-sec-must .yfjd-sec-sub {
	background: rgba(255, 99, 99, .1);
	border-color: rgba(255, 120, 120, .3);
	color: #ffb4b4;
}
body.yfjd-page .yfjd-sec-pref .yfjd-sec-icon { background: rgba(159, 140, 255, .16); color: var(--yfjd-violet); }
body.yfjd-page .yfjd-sec-deal .yfjd-sec-icon { background: rgba(var(--yfjd-gold-rgb), .15); color: var(--yfjd-gold); }

/* The deal: figure cards */
body.yfjd-page .yfjd-deal {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 14px;
}
body.yfjd-page .yfjd-stat {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .04);
	border: 1px solid var(--yfjd-line);
}
body.yfjd-page .yfjd-stat-label {
	color: var(--yfjd-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.yfjd-page .yfjd-stat-value,
body.yfjd-page .yfjd-stat-value strong {
	color: var(--yfjd-text);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
}
body.yfjd-page .yfjd-stat.is-featured {
	grid-column: span 3;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	padding: 16px 18px;
	overflow: hidden;
	background: linear-gradient(110deg, rgba(var(--yfjd-gold-rgb), .18), rgba(255, 138, 36, .08) 60%, rgba(var(--yfjd-accent-rgb), .06));
	border-color: rgba(var(--yfjd-gold-rgb), .5);
	box-shadow: 0 10px 30px rgba(var(--yfjd-gold-rgb), .1);
}
body.yfjd-page .yfjd-stat.is-featured::after {
	content: "";
	position: absolute;
	top: -60%;
	left: -30%;
	width: 18%;
	height: 220%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .16), transparent);
	transform: rotate(18deg);
	animation: yfjd-sweep 5s ease-in-out 1s infinite;
	pointer-events: none;
}
@keyframes yfjd-sweep { 0% { left: -30%; } 40%, 100% { left: 130%; } }
body.yfjd-page .yfjd-stat.is-featured .yfjd-stat-label { flex: 1 0 100%; color: #ffe9a6; }
body.yfjd-page .yfjd-stat.is-featured .yfjd-stat-value,
body.yfjd-page .yfjd-stat.is-featured .yfjd-stat-value strong {
	color: var(--yfjd-gold);
	font-size: 28px;
	font-weight: 900;
	letter-spacing: -.02em;
}
body.yfjd-page .yfjd-stat-badge {
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--yfjd-gold);
	color: #1c1606;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .02em;
	box-shadow: 0 0 20px rgba(var(--yfjd-gold-rgb), .45);
}

body.yfjd-page .yfjd-callout {
	position: relative;
	margin: 14px 0 2px !important;
	padding: 12px 16px 12px 18px;
	border-radius: 12px;
	background: rgba(var(--yfjd-accent-rgb), .07);
	border: 1px solid rgba(var(--yfjd-accent-rgb), .22);
	border-left: 4px solid var(--yfjd-accent);
	color: var(--yfjd-muted);
}
body.yfjd-page .yfjd-callout strong { color: var(--yfjd-accent); }

/* Must-haves: checklist */
body.yfjd-page .yfjd-content ul.yfjd-checks {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.yfjd-page .yfjd-checks li {
	position: relative;
	margin: 0;
	padding: 9px 12px 9px 42px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .03);
	border: 1px solid rgba(255, 255, 255, .06);
	line-height: 1.5;
}
body.yfjd-page .yfjd-checks li::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 11px;
	width: 20px;
	height: 20px;
	border-radius: 6px;
	background: rgba(var(--yfjd-accent-rgb), .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%2300e1be' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;
}
body.yfjd-page .yfjd-checks li strong { color: #dff9f3; }

/* Preferred: tool tags */
body.yfjd-page .yfjd-pref {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
body.yfjd-page .yfjd-pref-row {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 11px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .03);
	border: 1px solid rgba(255, 255, 255, .06);
}
body.yfjd-page .yfjd-pref-row.is-solo { justify-content: center; }
body.yfjd-page .yfjd-pref-row.is-wide {
	grid-column: 1 / -1;
	background: linear-gradient(110deg, rgba(159, 140, 255, .1), rgba(var(--yfjd-accent-rgb), .06));
	border-color: rgba(159, 140, 255, .3);
}
body.yfjd-page .yfjd-pref-label {
	color: var(--yfjd-text);
	font-size: 13px;
	font-weight: 700;
}
body.yfjd-page .yfjd-pref-tools { display: flex; flex-wrap: wrap; gap: 6px; }
body.yfjd-page .yfjd-tag {
	padding: 3px 9px;
	border-radius: 6px;
	background: rgba(159, 140, 255, .12);
	border: 1px solid rgba(159, 140, 255, .28);
	color: #d9d2ff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

/* How we choose: numbered steps */
body.yfjd-page .yfjd-content ol.yfjd-steps {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: yfjd-step;
}
body.yfjd-page .yfjd-steps li {
	position: relative;
	counter-increment: yfjd-step;
	margin: 0;
	padding: 4px 0 18px 48px;
	color: var(--yfjd-text);
	font-weight: 500;
}
body.yfjd-page .yfjd-steps li:last-child { padding-bottom: 4px; }
body.yfjd-page .yfjd-steps li::before {
	content: counter(yfjd-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--yfjd-accent), var(--yfjd-blue));
	color: #04202a;
	font-size: 14px;
	font-weight: 900;
	box-shadow: 0 0 0 4px rgba(var(--yfjd-accent-rgb), .12);
}
body.yfjd-page .yfjd-steps li::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 34px;
	bottom: 0;
	width: 2px;
	background: linear-gradient(var(--yfjd-accent), rgba(var(--yfjd-accent-rgb), .1));
}
body.yfjd-page .yfjd-steps li:last-child::after { display: none; }

/* Highlights */
body.yfjd-page .yfjd-ai {
	padding: 0 .28em;
	border-radius: .3em;
	background: linear-gradient(100deg, rgba(var(--yfjd-accent-rgb), .18), rgba(159, 140, 255, .2));
	box-shadow: inset 0 0 0 1px rgba(var(--yfjd-accent-rgb), .35);
	color: #7ff7e1;
	font-weight: 800;
	-webkit-text-fill-color: #7ff7e1;
}
body.yfjd-page .yfjd-money {
	padding: 0 .3em;
	border-radius: .3em;
	background: rgba(var(--yfjd-gold-rgb), .16);
	box-shadow: inset 0 0 0 1px rgba(var(--yfjd-gold-rgb), .4);
	color: var(--yfjd-gold);
	font-weight: 800;
}

/* ------------------------------------------------------------ right card */

body.yfjd-page .yfjd-card {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0 0 18px;
	overflow: hidden;
	border-radius: 20px;
	background: linear-gradient(160deg, #111b42, #0b1030);
	border: 1px solid rgba(var(--yfjd-accent-rgb), .35);
	box-shadow: 0 20px 50px rgba(0, 6, 30, .5), 0 0 30px rgba(var(--yfjd-accent-rgb), .08);
	color: var(--yfjd-text);
}
body.yfjd-page .yfjd-card-media { padding: 10px 10px 0; }
body.yfjd-page .yfjd-card-media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
}
body.yfjd-page .yfjd-card-body { padding: 16px 20px 20px; }
body.yfjd-page .yfjd-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	padding: 4px 11px;
	border-radius: 999px;
	background: rgba(var(--yfjd-accent-rgb), .12);
	border: 1px solid rgba(var(--yfjd-accent-rgb), .3);
	color: var(--yfjd-accent);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.yfjd-page .yfjd-card-title {
	margin: 0 0 12px !important;
	color: var(--yfjd-text);
	font-size: 20px !important;
	font-weight: 800;
	line-height: 1.25 !important;
	letter-spacing: -.01em;
}
body.yfjd-page .yfjd-card-amount {
	display: inline-block;
	font-size: 40px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--yfjd-gold);
	background: linear-gradient(100deg, var(--yfjd-gold) 0%, var(--yfjd-gold) 38%, #fff 50%, var(--yfjd-gold) 62%, var(--yfjd-gold) 100%);
	background-size: 250% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 14px rgba(var(--yfjd-gold-rgb), .35));
	animation: yfjd-shine 4.5s ease-in-out 1s infinite;
}
@keyframes yfjd-shine { 0% { background-position: 100% 0; } 40%, 100% { background-position: 0 0; } }
body.yfjd-page .yfjd-card-label {
	margin: 8px 0 16px !important;
	color: var(--yfjd-muted);
	font-size: 13px;
	line-height: 1.45;
}
body.yfjd-page .yfjd-card-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 16px;
	border-radius: 12px;
	background: linear-gradient(105deg, #ffe45c, #ff8a24);
	color: #17213b !important;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none !important;
	box-shadow: 0 10px 26px rgba(255, 138, 36, .3);
	transition: transform .2s ease, box-shadow .2s ease;
}
body.yfjd-page .yfjd-card-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(255, 138, 36, .42);
}
body.yfjd-page .yfjd-card-btn svg { width: 17px; height: 17px; stroke-width: 2.6; }

/* ---------------------------------------------------------------- mobile */

@media (max-width: 767px) {
	body.yfjd-page .yfjd-main { padding: 16px 14px !important; border-radius: 16px; }
	body.yfjd-page .yfjd-section { padding: 14px 14px 12px; }
	body.yfjd-page .yfjd-deal,
	body.yfjd-page .yfjd-pref { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	body.yfjd-page .yfjd-stat.is-featured { grid-column: 1 / -1; }
	body.yfjd-page .yfjd-pref { grid-template-columns: minmax(0, 1fr); }
	body.yfjd-page .yfjd-lead { font-size: 16px; }
	body.yfjd-page .yfjd-attrs-box { padding: 14px; }
	body.yfjd-page .yfjd-attrs-box > .yfjd-sec-icon { display: none; }
	body.yfjd-page .yfjd-stat.is-featured .yfjd-stat-value,
	body.yfjd-page .yfjd-stat.is-featured .yfjd-stat-value strong { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
	body.yfjd-page .yfjd-card *,
	body.yfjd-page .yfjd-content *,
	body.yfjd-page .yfjd-badges * { animation: none !important; transition: none !important; }
}
