/**
 * Resource Centers widgets (License + Salary) — shared card styles.
 *
 * Ported from Mary's standalone mockup (resource-centers-section v3.19.1).
 * Self-contained: the only design token the block references (--am-navy2) is
 * scoped onto .am-rc-card here rather than relying on the mockup's .am-page
 * host, so the styles work wherever Elementor drops the widget.
 *
 * @package Advantis
 */

.am-rc-card {
	--am-navy2: #132C44;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	/* Fill the Elementor column so the auto-margin CTA bottom-aligns across
	   the two independent widgets (see height chain at end of file). */
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
	padding: 20px 22px 22px;
	background: linear-gradient(150deg, var(--am-navy2), #0F3450);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 2px 4px rgba(15, 23, 34, .18), 0 14px 34px rgba(15, 23, 34, .22);
	transition: box-shadow .2s, transform .2s;
}

.am-rc-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(15, 23, 34, .20), 0 20px 44px rgba(15, 23, 34, .30);
}

.am-rc-card,
.am-rc-card * {
	box-sizing: border-box;
}

.am-rc-kicker {
	display: block;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #7CC9E8;
}

.am-rc-h {
	font-weight: 800;
	font-size: 1.18rem;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: #fff;
	margin: 6px 0 5px;
}

.am-rc-sub {
	font-size: .92rem;
	color: #BCD7E8;
	line-height: 1.55;
	margin: 0 0 12px;
}

.am-rc-chartbox {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .10);
	border-radius: 10px;
	padding: 20px 14px 12px;
	margin: 2px 0 14px;
}

.am-rc-badge {
	position: absolute;
	top: -11px;
	transform: translateX(-50%);
	font-size: 10.5px;
	font-weight: 700; /* mockup 800 -> 700 per request */
	padding: 3px 10px;
	border-radius: 99px;
	white-space: nowrap;
}

.am-rc-badge::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -4px;
	transform: translateX(-50%);
	border: 4px solid transparent;
	border-bottom: 0;
}

.am-rc-badge-grad {
	left: 50%;
	background: linear-gradient(90deg, #39B8EB, #1C8AD2);
	color: #fff;
	box-shadow: 0 3px 10px rgba(28, 138, 210, .40);
}

.am-rc-badge-grad::after {
	border-top-color: #2AA1DF;
}

.am-rc-badge-pin {
	background: #fff;
	color: var(--am-navy2);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .30);
}

.am-rc-badge-pin::after {
	border-top-color: #fff;
}

.am-rc-usmap {
	display: block;
	width: 100%;
	height: auto;
	max-width: 222px;
	margin: 0 auto;
}

.am-rc-usmap .st {
	fill: rgba(255, 255, 255, .13);
	stroke: #13233A;
	stroke-width: 1.4;
	stroke-linejoin: round;
}

.am-rc-usmap .st.on {
	fill: url(#amRcMapFill);
}

.am-rc-bars {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	height: 100%;
	width: 100%;
}

.am-rc-bars i {
	flex: 1;
	border-radius: 5px 5px 0 0;
	background: rgba(255, 255, 255, .13);
}

.am-rc-bars i.am-rc-hi {
	background: linear-gradient(180deg, #4FC3EC, #0CA2D4);
}

.am-rc-pin {
	position: absolute;
	top: 10px;
	bottom: 14px;
	width: 2px;
	background: #7CC9E8;
}

.am-rc-checks {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	display: grid;
	gap: 7px;
}

.am-rc-checks li {
	position: relative;
	padding-left: 24px;
	font-size: .9rem;
	line-height: 1.45;
	color: #BCD7E8;
	font-weight: 600;
}

.am-rc-checks li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 800;
	color: #7CC9E8;
}

.am-rc-cta {
	display: block;
	width: 100%;
	margin-top: auto;
	text-align: center;
	background: #fff;
	color: var(--am-navy2);
	font-weight: 700; /* mockup 800 -> 700 per request */
	font-size: .95rem;
	padding: 11px 24px;
	border-radius: 99px;
	box-shadow: 0 8px 22px rgba(15, 23, 34, .35);
	transition: .18s ease;
}

.am-rc-card:hover .am-rc-cta {
	transform: translateY(-1px);
	box-shadow: 0 10px 26px rgba(15, 23, 34, .45);
}

@media (min-width: 900px) {
	.am-rc-chartbox {
		height: 172px;
	}

	.am-rc-bars {
		height: 140px;
	}
}

@media (max-width: 899.9px) {
	.am-rc-bars {
		height: 140px;
	}
}

/* Entrance: state wave + hover elevation, bar grow-in. Entrance animates
   OPACITY ONLY (fill-mode pins animated props, so transform stays free for
   the hover lift). Hidden state exists only under .am-rc-anim (JS-added)
   inside no-preference — no-JS and reduced-motion users always see the
   static section. */
.am-rc-usmap .st {
	transition: transform .18s ease, filter .18s ease;
}

.am-rc-usmap .st:hover {
	transform: translateY(-3px);
	filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .5)) brightness(1.15);
}

@media (prefers-reduced-motion: no-preference) {
	.am-rc-usmap.am-rc-anim .st {
		opacity: 0;
	}

	.am-rc-usmap.am-rc-anim.am-rc-go .st {
		animation: amRcStateIn .55s cubic-bezier(.22, .61, .36, 1) both;
		animation-delay: var(--d, 0s);
	}

	.am-rc-bars.am-rc-anim i {
		transform: scaleY(0);
		transform-origin: bottom;
	}

	.am-rc-bars.am-rc-anim.am-rc-go i {
		animation: amRcBarIn .5s cubic-bezier(.22, .61, .36, 1) both;
		animation-delay: var(--d, 0s);
	}
}

@keyframes amRcStateIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes amRcBarIn {
	0% {
		transform: scaleY(0);
	}

	100% {
		transform: scaleY(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.am-rc-card,
	.am-rc-card * {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

/* Equal-height chain: make each widget fill its Elementor column so the
   CTA's margin-top:auto bottom-aligns across the two independent widgets.
   Place the two widgets in two equal-width columns of one section. The
   element-level rule covers legacy Columns (where the widget element sits at
   content height); the container rule + card height:100% carry it down. */
.elementor-widget-rc_license_center,
.elementor-widget-rc_salary_center {
	height: 100%;
}

.elementor-widget-rc_license_center .elementor-widget-container,
.elementor-widget-rc_salary_center .elementor-widget-container {
	height: 100%;
}
