/*
 * Khối Tiện nghi – grouped-list: nhóm thành cột (tự co 4 → 3 → 2 → 1), biểu tượng hoặc số 01–12, nhãn Miễn phí / Có phí,
 * giờ một dòng bằng font accent. Mobile trước, mốc 640px / 1024px.
 */

.vh-agl {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(24px, 4vw, 40px) var(--vh-card-gap);
}

.vh-agl__group {
	min-width: 0;
}

.vh-agl__title {
	margin: 0 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px var(--vh-rule-style, solid) var(--vh-color-border-strong);
	font-family: var(--vh-font-ui, var(--vh-font-body));
	font-size: var(--vh-fs-small);
	font-weight: var(--vh-fw-bold);
	text-transform: var(--vh-label-transform, none);
	letter-spacing: var(--vh-ls-label, 0);
	line-height: var(--vh-lh-label, 1.4);
}

.vh-agl__list {
	display: grid;
	gap: 0.125rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vh-agl__item {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	min-height: 44px;
	padding: 0.5rem 0;
}

.vh-agl__icon {
	display: inline-grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--vh-color-surface);
	color: var(--vh-color-primary);
}

.vh-alt .vh-agl__icon {
	background: var(--vh-color-card);
}

.vh-agl__num {
	flex: none;
	min-width: 2.25rem;
	padding-top: 0.125rem;
	color: var(--vh-color-muted);
	font-family: var(--vh-font-accent, var(--vh-font-body));
	font-size: var(--vh-fs-small);
	font-variant-numeric: tabular-nums;
}

.vh-agl__text {
	display: grid;
	flex: 1 1 auto;
	gap: 0.125rem;
	min-width: 0;
	padding-top: 0.125rem;
}

.vh-agl--icons .vh-agl__text {
	padding-top: 0.375rem;
}

.vh-agl__name {
	overflow-wrap: anywhere;
	line-height: 1.4;
}

.vh-agl__hours {
	color: var(--vh-color-muted);
	font-family: var(--vh-font-accent, var(--vh-font-body));
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
}

.vh-agl__note {
	color: var(--vh-color-muted);
	font-size: var(--vh-fs-small);
	line-height: 1.45;
}

.vh-agl__tag {
	flex: none;
	margin-top: 0.25rem;
	padding: 0.0625rem 0.5rem;
	border-radius: var(--vh-radius-chip);
	font-size: 0.75rem;
	font-weight: var(--vh-fw-medium);
	font-variant-numeric: tabular-nums;
	text-transform: var(--vh-label-transform, none);
	letter-spacing: var(--vh-ls-label, 0);
	line-height: 1.5;
	white-space: nowrap;
}

.vh-agl__tag--free {
	border: 1px solid currentColor;
	color: var(--vh-color-success);
}

.vh-agl__tag--paid {
	border: 1px solid var(--vh-color-border-strong);
	color: var(--vh-color-text);
}

@media (min-width: 640px) {
	.vh-agl--c2,
	.vh-agl--c3,
	.vh-agl--c4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.vh-agl--c3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vh-agl--c4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
