/* Walker Counter Board
   Premium responsive stat/counter component.
*/

.walker-counter-board,
.walker-counter-board *{
	box-sizing:border-box;
}

/*
   WPBakery/Pixfort sometimes clips child shadows with overflow rules on rows/columns.
   Modern browsers use :has() to loosen only containers that actually include this widget.
*/
.vc_row:has(.walker-counter-board),
.vc_column_container:has(.walker-counter-board),
.vc_column-inner:has(.walker-counter-board),
.wpb_wrapper:has(> .walker-counter-board){
	overflow:visible !important;
}

.walker-overflow-visible,
.walker-overflow-visible > .wpb_column,
.walker-overflow-visible > .vc_column_container,
.walker-overflow-visible .vc_column-inner,
.walker-overflow-visible .wpb_wrapper{
	overflow:visible !important;
}

.walker-counter-board{
	width:100%;
	position:relative;
	overflow:visible;
	color:var(--wcb-title-color,#16323b);
	font-family:inherit;
	padding-top:var(--wcb-pad-top,54px);
	padding-bottom:var(--wcb-pad-bottom,96px);
	background:transparent;
	isolation:isolate;
	/* Keep card shadows visible even inside tighter WPBakery rows. */
	padding-left:0;
	padding-right:0;
}


.walker-counter-board .wcb-inner{
	width:min(var(--wcb-max-width,1520px),calc(100% - 64px));
	margin:0 auto;
	position:relative;
	z-index:1;
	overflow:visible;
}

.walker-counter-board.wcb--container-left .wcb-inner{
	margin-left:0;
	margin-right:auto;
}

.walker-counter-board.wcb--container-center .wcb-inner{
	margin-left:auto;
	margin-right:auto;
}

.walker-counter-board.wcb--container-right .wcb-inner{
	margin-left:auto;
	margin-right:0;
}

.walker-counter-board .wcb-header{
	display:flex;
	justify-content:space-between;
	gap:clamp(24px,5vw,80px);
	align-items:flex-end;
	margin-bottom:clamp(26px,4vw,46px);
}

.walker-counter-board .wcb-kicker{
	margin:0;
	color:var(--wcb-kicker-color,#B7A36A);
	text-transform:uppercase;
	letter-spacing:.16em;
	font-size:12px;
	line-height:1.2;
	font-weight:800;
	white-space:nowrap;
}

.walker-counter-board .wcb-heading{
	margin:0;
	max-width:850px;
	color:var(--wcb-heading-color,#243b4a);
	text-align:right;
	font-size:clamp(34px,4vw,62px);
	line-height:var(--wcb-heading-line-height,1.04);
	letter-spacing:-.055em;
	font-weight:800;
}

.walker-counter-board .wcb-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--wcb-card-min,280px)),1fr));
	gap:16px;
	/*
	   Real shadow buffer.
	   Do not use a negative bottom margin here. WPBakery/Pixfort rows often clip
	   at the section boundary, so the shadow needs actual interior space to paint.
	*/
	padding:0 54px 76px;
	margin:0 -54px;
	overflow:visible;
}

.walker-counter-board .wcb-card{
	position:relative;
	z-index:1;
	min-height:292px;
	padding:clamp(30px,2.8vw,42px);
	border:1px solid var(--wcb-line-color,rgba(16,32,39,.12));
	border-radius:30px;
	overflow:hidden;
	background:linear-gradient(145deg,var(--wcb-card-bg,#fff),rgba(255,255,255,.72));
	box-shadow:0 24px 64px rgba(16,32,39,.10);
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	isolation:isolate;
	transform:translateY(12px);
	opacity:0;
	transition:opacity 700ms ease, transform 700ms cubic-bezier(.22,1,.36,1), border-color 260ms ease, background 260ms ease, box-shadow 260ms ease;
}

.walker-counter-board.is-visible .wcb-card,
.walker-counter-board:not(.wcb--animate) .wcb-card{
	opacity:1;
	transform:translateY(0);
}

.walker-counter-board.is-visible .wcb-card:nth-child(2){transition-delay:70ms;}
.walker-counter-board.is-visible .wcb-card:nth-child(3){transition-delay:140ms;}
.walker-counter-board.is-visible .wcb-card:nth-child(4){transition-delay:210ms;}
.walker-counter-board.is-visible .wcb-card:nth-child(5){transition-delay:280ms;}
.walker-counter-board.is-visible .wcb-card:nth-child(6){transition-delay:350ms;}
.walker-counter-board.is-visible .wcb-card:nth-child(7){transition-delay:420ms;}
.walker-counter-board.is-visible .wcb-card:nth-child(8){transition-delay:490ms;}

.walker-counter-board .wcb-card::before{
	content:"";
	position:absolute;
	left:clamp(30px,2.8vw,42px);
	right:clamp(30px,2.8vw,42px);
	top:0;
	height:3px;
	border-radius:0 0 999px 999px;
	background:var(--item-accent,var(--wcb-accent,#2f787e));
	opacity:.9;
	z-index:3;
}

.walker-counter-board .wcb-card::after{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(135deg,rgba(255,255,255,.92),transparent 42%),
		radial-gradient(circle at 78% 18%, color-mix(in srgb,var(--item-accent,#2f787e) 18%,transparent), transparent 34%);
	opacity:.72;
	z-index:-1;
	pointer-events:none;
}

.walker-counter-board .wcb-card-glow{
	position:absolute;
	width:220px;
	height:220px;
	border-radius:999px;
	right:-112px;
	top:-112px;
	background:var(--item-accent,var(--wcb-accent,#2f787e));
	filter:blur(52px);
	opacity:.13;
	pointer-events:none;
}

.walker-counter-board .wcb-number-wrap{
	margin:0 0 22px;
	display:flex;
	align-items:baseline;
	gap:4px;
	max-width:100%;
	color:var(--wcb-number-color,#16323b);
	font-weight:900;
	letter-spacing:-.052em;
	line-height:var(--wcb-number-line-height,.86);
	white-space:nowrap;
}

.walker-counter-board .wcb-prefix,
.walker-counter-board .wcb-suffix{
	flex:0 0 auto;
	font-size:clamp(34px,3.6vw,58px);
	line-height:.9;
	color:var(--item-accent,var(--wcb-accent,#B7A36A));
	letter-spacing:-.025em;
}

.walker-counter-board .wcb-number{
	min-width:0;
	font-size:clamp(66px,7.2vw,118px);
	font-variant-numeric:tabular-nums;
}

.walker-counter-board .wcb-card h3{
	margin:0 0 12px;
	color:var(--wcb-title-color,#16323b);
	font-size:clamp(22px,1.6vw,29px);
	line-height:1.08;
	letter-spacing:-.038em;
	font-weight:800;
}

.walker-counter-board .wcb-card .wcb-description{
	margin:0;
	max-width:360px;
	color:var(--wcb-text-color,rgba(22,50,59,.68));
	font-size:clamp(15px,1vw,17px);
	line-height:1.45;
}

.walker-counter-board .wcb-card:hover{
	z-index:3;
	border-color:rgba(16,32,39,.22);
	background:linear-gradient(145deg,#fff,rgba(255,255,255,.86));
	box-shadow:0 30px 78px rgba(16,32,39,.14);
}

@media (max-width:1180px){
	.walker-counter-board .wcb-number{font-size:clamp(64px,10vw,104px);}
	.walker-counter-board .wcb-prefix,
	.walker-counter-board .wcb-suffix{font-size:clamp(32px,5vw,52px);}
}

@media (max-width:980px){
	.walker-counter-board{
		padding-top:min(var(--wcb-pad-top,54px),54px);
		padding-bottom:min(var(--wcb-pad-bottom,96px),72px);
	}
	.walker-counter-board .wcb-inner{width:min(100% - 36px,760px);}
	.walker-counter-board .wcb-header{display:block;margin-bottom:28px;}
	.walker-counter-board .wcb-kicker{margin-bottom:14px;}
	.walker-counter-board .wcb-heading{text-align:left;font-size:clamp(34px,7vw,54px);}
	.walker-counter-board .wcb-card{min-height:250px;border-radius:26px;}
	.walker-counter-board .wcb-number{font-size:clamp(66px,15vw,108px);}
}

@media (max-width:560px){
	.walker-counter-board .wcb-inner{width:min(100% - 28px,520px);}
	.walker-counter-board .wcb-grid{gap:10px;padding:0 24px 48px;margin:0 -24px;}
	.walker-counter-board .wcb-card{min-height:218px;padding:26px;border-radius:24px;}
	.walker-counter-board .wcb-card::before{left:26px;right:26px;}
	.walker-counter-board .wcb-number-wrap{margin-bottom:16px;}
	.walker-counter-board .wcb-number{font-size:clamp(62px,19vw,92px);}
	.walker-counter-board .wcb-prefix,
	.walker-counter-board .wcb-suffix{font-size:clamp(30px,10vw,46px);}
	.walker-counter-board .wcb-card h3{font-size:24px;}
}

@media (prefers-reduced-motion:reduce){
	.walker-counter-board .wcb-card{transition:none !important;opacity:1 !important;transform:none !important;}
}
