.location-info {
			--location-info-grid-gap: 48px;
			--location-info-heading-gap: 16px;
			--location-info-item-gap: 14px;
			--location-info-icon-size: 22px;
			--location-info-text-color: #1a1a1a;
			--location-info-muted-color: #6b6b6b;
			--location-info-border-color: #e3e3e3;
			--location-info-accent-color: #0071c2;
		}
		.location-info__title {
			font-size: 1.5rem;
			line-height: 1.3;
			font-weight: 700;
			color: var(--location-info-text-color);
			margin: 0 0 24px;
		}

		/* Desktop / default: fluid auto-fit grid, no fixed column count */
		.location-info__grid {
        	display: block;
        	column-count: 2;
        	column-gap: 24px;
        }
        
        .location-info__grid > * {
        	display: inline-block;
        	width: 100%;
        	margin: 0 0 24px;
        	break-inside: avoid;
        	page-break-inside: avoid;
        	vertical-align: top;
        }
        
		.location-info__section {
			min-width: 0;
		}

		.location-info__heading {
			display: flex;
			align-items: center;
			gap: 10px;
			margin-bottom: var(--location-info-heading-gap);
		}

		.location-info__heading h3 {
			font-size: 1.0625rem;
			font-weight: 700;
			color: var(--location-info-text-color);
			margin: 0;
		}

		.location-info__icon {
			flex: 0 0 auto;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: var(--location-info-icon-size);
			height: var(--location-info-icon-size);
			color: var(--location-info-accent-color);
		}

		.location-info__icon svg {
			width: 100%;
			height: 100%;
			display: block;
		}

		.location-info__list {
			list-style: none;
			margin: 0;
			padding: 0;
			display: flex;
			flex-direction: column;
			gap: var(--location-info-item-gap);
		}

		.location-info__list li {
			border-bottom: 1px dashed var(--location-info-border-color);
			padding-bottom: var(--location-info-item-gap);
		}

		.location-info__list li:last-child {
			border-bottom: none;
			padding-bottom: 0;
		}

		.location-info__list a,
		.location-info__list div.location-info__row {
			display: flex;
			align-items: baseline;
			justify-content: space-between;
			gap: 8px;
			text-decoration: none;
			color: inherit;
		}

		.location-info__list a {
			cursor: pointer;
			border-radius: 4px;
			transition: background-color 0.15s ease;
		}

		.location-info__list a:hover,
		.location-info__list a:focus-visible {
			background-color: #f2f6fa;
		}

		.location-info__list a:focus-visible {
			outline: 2px solid var(--location-info-accent-color);
			outline-offset: 2px;
		}

		.location-info__name {
			color: var(--location-info-text-color);
			font-size: 0.9375rem;
			overflow-wrap: break-word;
			word-break: break-word;
		}

		.location-info__distance {
			flex: 0 0 auto;
			text-align: right;
			color: var(--location-info-muted-color);
			font-size: 0.875rem;
			white-space: nowrap;
		}

		/* Tablet: force 2 columns */
		@media (max-width: 900px) {
			.location-info__grid {
				column-count: 2;
			}
		}

		/* Mobile: single column, wider section spacing */
		@media (max-width: 767px) {
        	.location-info__grid {
        		column-count: 1;
        	}
        }