.cos-section{padding:60px 20px;text-align:center;overflow:hidden;}
.cos-header{max-width:800px;margin:0 auto 40px;}
.cos-title-line1{font-size:28px;font-weight:700;margin:0;line-height:1.3;}
.cos-title-line2{font-size:24px;font-weight:700;color:#fff;margin:6px 0 16px;line-height:1.3;}
.cos-desc{color:#cbd5e1;font-size:15px;line-height:1.7;margin:0;}

.cos-carousel-wrap{
	position:relative;
	max-width:1200px;
	margin:0 auto;
	padding:0 55px;
}

.cos-track{
	display:flex;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	gap:24px;
	padding:4px;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
	-ms-overflow-style:none;
}
.cos-track::-webkit-scrollbar{display:none;height:0;}

.cos-card{
	position:relative;
	scroll-snap-align:start;
	flex:0 0 calc((100% - (var(--cos-visible-desktop) - 1) * 24px) / var(--cos-visible-desktop));
	min-height:230px;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 6px 18px rgba(0,0,0,.12);
	transition:transform .25s ease, box-shadow .25s ease;
}
.cos-card:hover{
	transform:translateY(-6px);
	box-shadow:0 14px 28px rgba(0,0,0,.22);
}

/* Front face: icon, title, salary — visible by default, hidden on hover */
.cos-card-front{
	background:#fff;
	height:100%;
	padding:32px 18px 26px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	transition:opacity .25s ease, visibility .25s ease;
}
.cos-card:hover .cos-card-front{
	opacity:0;
	visibility:hidden;
}

.cos-icon{
	width:56px;height:56px;margin:0 auto 16px;
	border-radius:50%;
	background:#dbeafe;
	display:flex;align-items:center;justify-content:center;
	font-size:22px;
	flex-shrink:0;
}
.cos-icon i, .cos-icon svg{ color:#2563eb; width:22px; height:22px; }

.cos-card-title{font-weight:700;font-size:15px;line-height:1.4;margin-bottom:14px;min-height:42px;display:flex;align-items:center;}
.cos-salary{display:inline-block;background:#f97316;color:#fff;font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:20px;white-space:nowrap;}

/* Hover overlay: title + description only, replaces the front face entirely */
.cos-card-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(160deg,#1e3a8a,#2563eb);
	color:#fff;
	padding:26px 22px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
	transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
	pointer-events:none;
}
.cos-card:hover .cos-card-overlay{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
	pointer-events:auto;
}
.cos-overlay-title{font-weight:700;font-size:16px;margin-bottom:12px;}
.cos-overlay-desc{font-size:13.5px;line-height:1.6;color:#e2e8f0;margin:0;}

/* Arrows — centered on the card row itself */
.cos-arrow{
	position:absolute;
	top:calc(50% - 4px);
	transform:translateY(-50%);
	z-index:2;
	box-sizing:border-box;
	width:42px;height:42px;min-width:42px;min-height:42px;
	margin:0;padding:0;
	border-radius:50%;border:none;outline:none;
	background:#f97316;color:#fff;font-size:15px;line-height:1;
	font-family:inherit;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 4px 10px rgba(0,0,0,.25);
	transition:background .2s;
	-webkit-appearance:none;appearance:none;
}
.cos-arrow::-moz-focus-inner{ border:0;padding:0; }
.cos-arrow:hover{background:#ea580c;}
.cos-arrow-left{ left:0; }
.cos-arrow-right{ right:0; }

/* Tablet */
@media (max-width:1024px){
	.cos-carousel-wrap{ padding:0 48px; }
	.cos-card{flex-basis:calc((100% - (var(--cos-visible-tablet) - 1) * 20px) / var(--cos-visible-tablet));}
	.cos-track{ gap:20px; }
}

/* Mobile */
@media (max-width:600px){
	.cos-section{ padding:40px 14px; }
	.cos-title-line1,.cos-title-line2{font-size:19px;}
	.cos-desc{font-size:13.5px;}
	.cos-carousel-wrap{ padding:0 40px; }
	.cos-card{flex-basis:calc((100% - (var(--cos-visible-mobile) - 1) * 16px) / var(--cos-visible-mobile));min-height:210px;}
	.cos-track{gap:16px;}
	.cos-arrow{width:34px;height:34px;min-width:34px;min-height:34px;font-size:12px;top:50%;}
	.cos-card-front{ padding:24px 14px 20px; }
	.cos-card:hover{ transform:none; }

	/* no real hover on touch — tap toggles the overlay instead */
	.cos-card:hover .cos-card-front{ opacity:1; visibility:visible; }
	.cos-card:hover .cos-card-overlay{ opacity:0; visibility:hidden; }

	.cos-card.cos-active .cos-card-overlay{
		opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;
	}
	.cos-card.cos-active .cos-card-front{ opacity:0; visibility:hidden; }
}
