/* Mercury Recruitment — tokens (đặt :root để popup ngoài .ml-recruitment vẫn dùng được) */
:root {
	--ml-primary: #0296c7;
	--ml-text: #f0f0f0;
	--ml-muted: #b4b4b4;
	--ml-bg: #0b1117;
	--ml-bg-soft: #141f2a;
	--ml-white: #ffffff;
	--ml-soft: #fbfafa;
	--ml-font-display: "Michroma", sans-serif;
	--ml-font-body: "Manrope", sans-serif;
}

/* fadeInUp — giống Elementor */
@keyframes mlFadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.ml-recruitment {
	color: var(--ml-text);
	font-family: "Manrope", var(--ml-font-body), sans-serif;
	background: var(--ml-bg);
}

.ml-recruitment__hero {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: var(--ml-bg);
	background-size: cover;
	background-position: center;
	padding: 16rem 20px 80px;
	isolation: isolate;
	margin-top: -10rem;
}

.ml-recruitment__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(11, 17, 23, 1) 0%,
		rgba(11, 17, 23, 0) 100%
	);
}

.ml-recruitment__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(
		0deg,
		rgba(11, 17, 23, 1) 0%,
		rgba(11, 17, 23, 0) 100%
	);
}

.ml-recruitment__hero-inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
	width: 100%;
	animation: mlFadeInUp 0.8s ease both;
}

.ml-recruitment__title {
	margin: 0 0 16px;
	font-family: var(--ml-font-display);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1.3;
	color: var(--ml-white);
}

.ml-recruitment__desc {
	margin: 0 auto 28px;
	max-width: 560px;
	font-family: "Manrope", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--ml-text);
}

.ml-recruitment__search {
	display: flex;
	align-items: center;
	gap: 0;
	max-width: 520px;
	margin: 0 auto;
	background: rgba(11, 17, 23, 0.35);
	border: 1px solid rgba(240, 240, 240, 0.45);
	border-radius: 999px;
	overflow: hidden;
	padding: 4px 6px 4px 22px;
	backdrop-filter: blur(4px);
}

.ml-recruitment__search input {
	flex: 1;
	border: 0;
	outline: 0;
	background: transparent;
	font-family: "Manrope", sans-serif;
	font-size: 0.95rem;
	color: var(--ml-white);
	min-height: 44px;
}

.ml-recruitment__search input::placeholder {
	color: rgba(240, 240, 240, 0.55);
}

.ml-recruitment__search input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.ml-recruitment__search button {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23c8c8c8' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	color: transparent;
	font-size: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	outline: none;
	box-shadow: none;
	transform: none;
}

.ml-recruitment__search button:hover,
.ml-recruitment__search button:focus,
.ml-recruitment__search button:focus-visible,
.ml-recruitment__search button:active {
	background-color: transparent;
	outline: none;
	box-shadow: none;
	transform: none;
}

.ml-recruitment__list {
	position: relative;
	z-index: 2;
	max-width: 990px;
	margin: 0 auto;
	padding: 48px 20px 80px;
}

.ml-recruitment__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 0;
	border-bottom: 1px solid #0296c7;
	animation: mlFadeInUp 0.7s ease both;
}

.ml-recruitment__item:nth-child(1) { animation-delay: 0.05s; }
.ml-recruitment__item:nth-child(2) { animation-delay: 0.12s; }
.ml-recruitment__item:nth-child(3) { animation-delay: 0.19s; }
.ml-recruitment__item:nth-child(4) { animation-delay: 0.26s; }
.ml-recruitment__item:nth-child(5) { animation-delay: 0.33s; }
.ml-recruitment__item:nth-child(6) { animation-delay: 0.4s; }
.ml-recruitment__item:nth-child(7) { animation-delay: 0.47s; }
.ml-recruitment__item:nth-child(8) { animation-delay: 0.54s; }
.ml-recruitment__item:nth-child(9) { animation-delay: 0.61s; }
.ml-recruitment__item:nth-child(10) { animation-delay: 0.68s; }

.ml-recruitment__item.is-hidden {
	display: none;
}

.ml-recruitment__item-title {
	margin: 0 0 8px;
	font-family: var(--ml-font-display);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ml-white);
}

.ml-recruitment__item-salary {
	margin: 0;
	font-family: "Manrope", sans-serif !important;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ml-muted);
}

.ml-recruitment__apply {
	flex-shrink: 0;
	min-width: 110px;
	padding: 12px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ml-white);
	color: #111;
	font-family: "Manrope", sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	outline: none;
	box-shadow: none;
	transform: none;
}

.ml-recruitment__apply:hover,
.ml-recruitment__apply:focus,
.ml-recruitment__apply:focus-visible,
.ml-recruitment__apply:active {
	background: var(--ml-white) !important;
	color: #111 !important;
	outline: none !important;
	box-shadow: none !important;
	transform: none !important;
}

.ml-recruitment__load-more {
	display: block;
	margin: 40px auto 0;
	min-width: 110px;
	padding: 12px 36px;
	border: 0;
	border-radius: 999px;
	background: var(--ml-white);
	color: #111;
	font-family: "Manrope", sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	animation: mlFadeInUp 0.7s ease both;
	animation-delay: 0.35s;
}

.ml-recruitment__load-more:hover {
	background: var(--ml-primary);
	color: var(--ml-white);
}

.ml-recruitment__load-more.is-hidden,
.ml-recruitment__empty {
	display: none;
}

.ml-recruitment__empty.is-visible {
	display: block;
	text-align: center;
	color: var(--ml-muted);
	font-family: "Manrope", sans-serif;
}

.ml-recruitment__loading {
	text-align: center;
	color: var(--ml-muted);
	margin: 24px 0 0;
	font-family: "Manrope", sans-serif;
}

/* Popup */
.ml-job-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	font-family: "Manrope", sans-serif;
}

.ml-job-modal.is-open {
	display: flex;
}

.ml-job-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
}

.ml-job-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(720px, 100%);
	max-height: min(85vh, 800px);
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #0b1117 !important;
	background-color: #0b1117 !important;
	color: var(--ml-soft);
	border-radius: 16px;
	padding: 40px 36px 32px;
	box-sizing: border-box;
	font-family: "Manrope", sans-serif;
}

.ml-job-modal__dialog::-webkit-scrollbar {
	width: 6px;
}

.ml-job-modal__dialog::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.25);
	border-radius: 999px;
}

.ml-job-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 0;
	padding: 0;
	background-color: transparent !important;
	background-image: url("https://mercurylines.com.vn/wp-content/uploads/2026/08/close-pop-re.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	font-size: 0;
	line-height: 0;
	color: transparent;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	outline: none;
	box-shadow: none;
	opacity: 1;
	transform: none;
	filter: none;
}

.ml-job-modal__close:hover,
.ml-job-modal__close:focus,
.ml-job-modal__close:focus-visible,
.ml-job-modal__close:active {
	background-color: transparent !important;
	background-image: url("https://mercurylines.com.vn/wp-content/uploads/2026/08/close-pop-re.svg") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 24px 24px !important;
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.ml-job-modal__title {
	margin: 0 40px 10px;
	font-family: var(--ml-font-display);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: #fbfafa;
	text-align: center;
}

/* Box 1 header meta — Manrope + fadeInUp */
.ml-job-modal.is-open .ml-job-modal__title {
	animation: mlFadeInUp 0.7s ease both;
	animation-delay: 0.05s;
}

.ml-job-modal__salary,
.ml-job-modal__deadline {
	font-family: "Manrope", sans-serif !important;
	text-align: center;
}

.ml-job-modal.is-open .ml-job-modal__salary,
.ml-job-modal.is-open .ml-job-modal__deadline {
	animation: mlFadeInUp 0.7s ease both;
	animation-delay: 0.15s;
}

.ml-job-modal__salary {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #fbfafa;
	opacity: 0.5;
}

.ml-job-modal.is-open .ml-job-modal__salary {
	opacity: 0.5;
}

.ml-job-modal__deadline {
	margin: 0 0 28px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #0296c7;
}

.ml-job-modal__sections {
	text-align: left;
}

.ml-job-modal__section + .ml-job-modal__section {
	margin-top: 28px;
}

/* Box content — fadeInUp stagger */
.ml-job-modal.is-open .ml-job-modal__section {
	animation: mlFadeInUp 0.75s ease both;
}

.ml-job-modal.is-open .ml-job-modal__section:nth-child(1) {
	animation-delay: 0.25s;
}

.ml-job-modal.is-open .ml-job-modal__section:nth-child(2) {
	animation-delay: 0.4s;
}

.ml-job-modal.is-open .ml-job-modal__section:nth-child(3) {
	animation-delay: 0.55s;
}

.ml-job-modal.is-open .ml-job-modal__section:nth-child(4) {
	animation-delay: 0.7s;
}

.ml-job-modal__section h3 {
	margin: 0 0 12px;
	font-family: var(--ml-font-display);
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 28.8px;
	letter-spacing: 5px;
	text-transform: uppercase;
	color: #0296c7;
}

/* Body text — ép Manrope (popup nằm ngoài .ml-recruitment + chống Elementor) */
.ml-job-modal__section-content,
.ml-job-modal__section-content *,
.ml-job-modal__section-content p,
.ml-job-modal__section-content li,
.ml-job-modal__section-content ul,
.ml-job-modal__section-content ol,
.ml-job-modal__section-content span,
.ml-job-modal__section-content strong,
.ml-job-modal__section-content em,
.ml-job-modal__section-content a {
	font-family: "Manrope", sans-serif !important;
	font-size: 16px !important;
	font-style: normal;
	font-weight: 500 !important;
	line-height: 1.7 !important;
	color: #fbfafa !important;
	letter-spacing: normal !important;
}

.ml-job-modal__section-content p {
	margin: 0 0 12px;
}

.ml-job-modal__section-content p:last-child {
	margin-bottom: 0;
}

.ml-job-modal__section-content ul,
.ml-job-modal__section-content ol {
	margin: 0;
	padding-left: 1.25em;
}

.ml-job-modal__section-content ul {
	list-style: disc;
}

.ml-job-modal__section-content ol {
	list-style: decimal;
}

.ml-job-modal__section-content li {
	margin: 0 0 8px;
	padding-left: 0.15em;
}

.ml-job-modal__section-content li:last-child {
	margin-bottom: 0;
}

.ml-job-modal__section-content a {
	color: var(--ml-primary) !important;
}

/* Apply via Email — trong popup */
.ml-job-modal__apply {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 36px auto 8px;
	padding: 14px 36px;
	border: 0;
	border-radius: 999px;
	background: #0296c7;
	color: #ffffff !important;
	font-family: "Manrope", sans-serif !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	animation: mlFadeInUp 0.75s ease both;
	animation-delay: 0.65s;
        transition: all .3s;
}

.ml-job-modal__apply:hover {
  background: #0080AA !important;
}

.ml-job-modal__apply[hidden] {
	display: none !important;
}


.ml-job-modal__apply:focus,
.ml-job-modal__apply:active {
	background: #0296c7 !important;
	color: #ffffff !important;
	opacity: 1;
	outline: none;
	box-shadow: none;
	transform: none;
	text-decoration: none !important;
}

body.ml-modal-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	.ml-recruitment__hero {
		padding: 10rem 16px 64px;
		margin-top: -4rem;
		min-height: 0;
	}

	.ml-recruitment__title {
		font-size: 1.75rem;
	}

	.ml-recruitment__desc {
		font-size: 0.9rem;
		margin-bottom: 20px;
	}

	.ml-recruitment__search {
		max-width: 100%;
		padding: 2px 4px 2px 16px;
	}

	.ml-recruitment__search input {
		font-size: 0.875rem;
		min-height: 40px;
	}

	.ml-recruitment__search button {
		width: 40px;
		height: 40px;
	}

	.ml-recruitment__list {
		margin-top: -4rem;
		padding: 32px 16px 64px;
	}

	.ml-recruitment__item {
		flex-direction: row;
		align-items: flex-start;
		gap: 16px;
		padding: 20px 0;
	}

	.ml-recruitment__item-title {
		font-size: 14px;
	}

	.ml-recruitment__item-salary {
		font-size: 12px;
	}

	.ml-recruitment__apply {
		align-self: flex-start;
		min-width: 96px;
		padding: 10px 10px;
		font-size: 13px;
	}

	.ml-recruitment__load-more {
		margin-top: 28px;
		padding: 10px 28px;
		font-size: 0.875rem;
	}

	.ml-job-modal__dialog {
		padding: 28px 18px 22px;
		background: #0b1117 !important;
		background-color: #0b1117 !important;
	}

	.ml-job-modal__title {
		font-size: 16px;
	}

	.ml-job-modal__salary,
	.ml-job-modal__deadline {
		font-size: 14px !important;
	}

	.ml-job-modal__section h3 {
		font-size: 12px;
		letter-spacing: 3px;
		line-height: 24px;
	}

	.ml-job-modal__section-content,
	.ml-job-modal__section-content * {
		font-size: 14px !important;
	}

	.ml-job-modal__close {
		width: 24px;
		height: 24px;
		background-size: 24px 24px;
	}

	.ml-job-modal__apply {
		margin-top: 28px;
		padding: 12px 28px;
		font-size: 14px;
	}
}
