/* BlueWave Service Grid — scope: .bw-services */
.bw-services { display: block; }

/* Tabs (visual only) */
.bw-services__tabs {
	display: flex;
	gap: 8px;
	margin: 0 0 36px;
	flex-wrap: wrap;
}
.bw-services__tab {
	padding: 10px 18px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 400;
	background: transparent;
	color: #023c5a;
	border: 1px solid rgba(2, 60, 90, 0.18);
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.bw-services__tab.is-active,
.bw-services__tab:hover {
	background: #023c5a;
	color: #f2ebdc;
	border-color: #023c5a;
}

/* Grid */
.bw-services__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

/* Card */
.bw-services__card {
	background: #ffffff;
	border-radius: 22px;
	padding: 28px;
	border: 3px solid #88b4c8;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.2s ease;
	display: flex;
	flex-direction: column;
	gap: 14px;
	position: relative;
	overflow: hidden;
}
.bw-services__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgba(2, 30, 45, 0.14);
	border-color: #0e547a;
}

.bw-services__icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #f2ebdc;
	color: #023c5a;
	display: grid;
	place-items: center;
}
.bw-services__icon svg { width: 22px; height: 22px; }

/* Number variant — replaces the icon bubble */
.bw-services__num {
	font-weight: 800;
	font-size: 36px;
	color: #f1c286;
	letter-spacing: -0.02em;
	line-height: 1;
}

.bw-services__title {
	margin: 0;
	color: #023c5a;
	font-size: 19px;
}
.bw-services__body {
	color: #5b6b75;
	margin: 0;
	font-size: 15px;
}
.bw-services__more {
	color: #0e547a;
	font-weight: 400;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	text-decoration: none;
}
.bw-services__more:hover .bw-btn-arrow { transform: translateX(3px); }

.bw-services__ribbon {
	position: absolute;
	right: -38px; top: 14px;
	background: #f1c286;
	color: #023c5a;
	transform: rotate(35deg);
	padding: 4px 40px;
	font-size: 10px;
	letter-spacing: 0.18em;
	font-weight: 700;
}

/* Per-card hide-on-breakpoint. */
@media (min-width: 1025px) { .bw-services__card--hide-desktop { display: none !important; } }
@media (max-width: 1024px) and (min-width: 768px) { .bw-services__card--hide-tablet { display: none !important; } }
@media (max-width: 767px) { .bw-services__card--hide-mobile { display: none !important; } }
