/* CAYK Benefit Card — scoped to .cayk-benefit-card */

.cayk-benefit-card {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	overflow: hidden;
	background-color: var(--cbc-card-bg, #ffffff);
	border: 1px solid var(--cbc-card-border, #e3eaf3);
	border-radius: var(--cbc-card-radius, 16px);
	box-shadow: 0 6px 24px rgba(20, 50, 100, 0.08);
	transition: transform var(--cbc-hover-speed, 300ms) ease, box-shadow var(--cbc-hover-speed, 300ms) ease;
}

.cayk-benefit-card.cayk-benefit-card-lift:hover,
.cayk-benefit-card.cayk-benefit-card-lift:focus-within {
	transform: translateY(calc(var(--cbc-hover-lift, 6px) * -1));
}

/* Header */
.cayk-benefit-card .cayk-benefit-card-header {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 28px 22px;
	background-color: #2c6bb3;
}

.cayk-benefit-card .cayk-benefit-card-title {
	margin: 0;
	padding: 0;
	width: 100%;
	color: #ffffff;
	font-family: "Poppins", sans-serif;
	line-height: 1.3;
}

.cayk-benefit-card .cayk-benefit-card-lead,
.cayk-benefit-card .cayk-benefit-card-rest {
	display: inline;
	color: inherit;
}

.cayk-benefit-card .cayk-benefit-card-lead {
	font-size: 26px;
	font-weight: 700;
	color: var(--cbc-lead-color, #ffffff);
}

.cayk-benefit-card .cayk-benefit-card-rest {
	font-size: 17px;
	font-weight: 600;
	color: var(--cbc-rest-color, #ffffff);
}

/* Body */
.cayk-benefit-card .cayk-benefit-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	box-sizing: border-box;
	padding: 24px 22px 28px;
}

.cayk-benefit-card .cayk-benefit-card-highlight {
	margin: 0 0 var(--cbc-highlight-gap, 16px);
	padding: 0;
	font-family: "Poppins", sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--cbc-highlight-color, #2c6bb3);
}

.cayk-benefit-card .cayk-benefit-card-desc {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: var(--cbc-desc-color, #1f2a37);
}

.cayk-benefit-card .cayk-benefit-card-desc p {
	margin: 0 0 0.8em;
}

.cayk-benefit-card .cayk-benefit-card-desc p:last-child {
	margin-bottom: 0;
}

/* Footer note */
.cayk-benefit-card .cayk-benefit-card-footer {
	margin: 16px 0 0;
	padding: 0;
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	color: #2c6bb3;
}

/* Button */
.cayk-benefit-card .cayk-benefit-card-actions {
	display: flex;
	margin-top: auto;
	padding-top: var(--cbc-button-gap, 20px);
}

.cayk-benefit-card .cayk-benefit-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 12px 22px;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	color: var(--cbc-button-color, #ffffff);
	background-color: var(--cbc-button-bg, #2c6bb3);
	border-radius: 8px;
	transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease;
}

.cayk-benefit-card .cayk-benefit-card-button:hover,
.cayk-benefit-card .cayk-benefit-card-button:focus-visible {
	color: var(--cbc-button-color-hover, #ffffff);
	background-color: var(--cbc-button-bg-hover, #1f5594);
}

.cayk-benefit-card .cayk-benefit-card-button:focus-visible {
	outline: 2px solid var(--cbc-button-bg, #2c6bb3);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.cayk-benefit-card,
	.cayk-benefit-card .cayk-benefit-card-button {
		transition: none;
	}
	.cayk-benefit-card.cayk-benefit-card-lift:hover,
	.cayk-benefit-card.cayk-benefit-card-lift:focus-within {
		transform: none;
	}
}
