:root {
	--bilito-primary: #2457d6;
	--bilito-text: #172033;
	--bilito-muted: #667085;
	--bilito-border: #e4e7ec;
	--bilito-surface: #fff;
	--bilito-background: #f7f8fa;
}

body {
	margin: 0;
	color: var(--bilito-text);
	background: var(--bilito-background);
	font-family: Tahoma, Arial, sans-serif;
}

.bilito-container,
.site-main,
.woocommerce-page main {
	width: min(1180px, calc(100% - 32px));
	margin-inline: auto;
}

.site-header,
.site-footer {
	padding: 20px 0;
	background: var(--bilito-surface);
	border-bottom: 1px solid var(--bilito-border);
}

.site-footer {
	margin-top: 48px;
	border-top: 1px solid var(--bilito-border);
	border-bottom: 0;
}

.site-brand {
	color: var(--bilito-text);
	font-size: 22px;
	font-weight: 700;
	text-decoration: none;
}

.bilito-service-card {
	float: none;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 28px;
	padding: 24px;
	clear: both;
	background: var(--bilito-surface);
	border: 1px solid var(--bilito-border);
	border-top: 4px solid var(--bilito-accent, var(--bilito-primary));
	border-radius: 16px;
	box-shadow: 0 12px 32px rgb(16 24 40 / 7%);
}

.bilito-service-card--bilito_bus { --bilito-accent: #f79009; }
.bilito-service-card--bilito_train { --bilito-accent: #7f56d9; }
.bilito-service-card--bilito_flight { --bilito-accent: #1570ef; }
.bilito-service-card--bilito_tour { --bilito-accent: #039855; }
.bilito-service-card--bilito_hotel { --bilito-accent: #d92d20; }

.bilito-service-card__title {
	margin: 0 0 18px;
	font-size: 22px;
}

.bilito-service-card__route {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
	font-size: clamp(20px, 4vw, 32px);
	font-weight: 700;
}

.bilito-service-card__route-separator {
	flex: 1;
	height: 2px;
	background: var(--bilito-border);
	position: relative;
}

.bilito-service-card__route-separator::after {
	content: "";
	position: absolute;
	inset-inline-end: 0;
	top: -4px;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--bilito-accent);
	border-inline-end: 2px solid var(--bilito-accent);
	transform: rotate(45deg);
}

.bilito-service-card__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}

.bilito-service-card__item {
	padding: 12px;
	background: var(--bilito-background);
	border-radius: 10px;
}

.bilito-service-card__item dt {
	margin-bottom: 5px;
	color: var(--bilito-muted);
	font-size: 12px;
}

.bilito-service-card__item dd {
	margin: 0;
	font-weight: 600;
	white-space: pre-line;
}

@media (max-width: 600px) {
	.bilito-service-card { padding: 18px; }
	.bilito-service-card__route { gap: 10px; }
}

