/* Locations Block Styles */

.locations-block {
	position: relative;
	width: 100%;
}

.locations-container {
	margin: 0 auto;
	padding-left: 90px;
	padding-right: 90px;
	z-index: 5;
	position: relative;
}

.locations-wrapper {
	position: relative;
	width: 100%;
}

/* Header Section (Title and Rich Text) */
.locations-header {
	margin-bottom: 60px; /* 60px gap before repeater field */
}

.locations-title {
	margin: 0; /* 22px gap between title and rich text */
}

.locations-info {
	margin: 0;
}

.locations-info p {
	margin: 0 0 1rem 0;
}

.locations-info p:last-child {
	margin-bottom: 0;
}

/* Button Section */
.locations-button {
	margin-top: 20px;
}

/* Locations List */
.locations-list {
	padding-left: 70px; /* Additional 70px indent beyond container */
}

.location-item {
	display: flex;
	align-items: center;
	gap: 35px; /* 35px gap between image and content */
	margin-bottom: 35px; /* 35px gap between rows */
}

.location-item:last-child {
	margin-bottom: 0;
}

/* Location Image */
.location-image {
	flex-shrink: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	/* Width and height are set dynamically via PHP based on user settings */
	/* Default ratio is 241x147px (approximately 61% height ratio) */
}

/* Location Content */
.location-content {
	flex: 1;
	min-width: 0; /* Allows text to wrap properly */
}

.location-name {
	color: var(--charcoal);
	line-height: 1.18;
}

.location-address {
	margin: 0;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--dark-gray-1);
}

/* Background Layer Styles */
.locations-block .background-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.locations-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.locations-image-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 2;
	filter:grayscale(100%);
}

.content-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.locations-container {
	position: relative;
	z-index: 4;
}

/* Responsive Design */
@media (max-width: 980px) {
	
	.locations-list {
		padding-left: 50px; /* Reduce indent on tablets */
	}
}

@media (max-width: 768px) {
	
	.locations-list {
		padding-left: 0px !important; /* Further reduce indent on mobile */
	}
	
	.location-item {
		gap: 20px; /* Smaller gap on mobile */
		margin-bottom: 30px;
	}
	
	.location-image {
		align-self: flex-start; /* Keep image aligned to left when stacked */
		max-width: 100%;
	}
}

@media (max-width: 580px) {
	.location-item { flex-direction: column; align-items: flex-start; }
	
	.locations-list {
		padding-left: 50px !important; /* Remove indent on small mobile */
	}
	
	.locations-header {
		margin-bottom: 40px; /* Reduce gap before repeater on mobile */
	}
	
	.locations-title {
		margin-bottom: 16px; /* Reduce gap between title and info on mobile */
	}
	
	.location-item {
		gap: 16px;
		margin-bottom: 25px;
	}
}