/* Core Block */
.wp-block-indigotree-interactive-locations {
	position: relative;
	margin-block-end: 30px;
	container-name: interactive-locations;
	container-type: inline-size;
}

/* Inner Block */
.interactive-locations {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	justify-content: space-between;
}

/* Map */
.interactive-locations__map {
	position: relative;
	min-width: 100%;
	max-width: 100%;
	aspect-ratio: 2.9 / 1.7;
	overflow: hidden;
	background-image: url("./images/map.svg");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 100% 100%;
}

.interactive-locations__map-point {
	position: absolute;
	width: 20px;
	height: 20px;
	background: linear-gradient(90deg, #2a0b57 0%, #2a0b57 100%);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	cursor: pointer;
	transition: all 0.3s linear;
}

.interactive-locations__map-point.active,
.interactive-locations__map-point:hover {
	background: linear-gradient(90deg, #891fdc 0%, #cd2ff1 100%);
	z-index: 1;
}

.interactive-locations__map-point.active {
	transform: translate(-50%, -50%) scale(2);
}

@container interactive-locations (width > 768px) {
	.interactive-locations__map {
		min-width: calc(calc(100% - 30px) / 10 * 7);
		max-width: calc(calc(100% - 30px) / 10 * 7);
	}
}

/* Location */
.interactive-locations__location {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	border-radius: 22px;
	padding: clamp(20px, calc(20px + 1.96vw), 40px);
}

.interactive-locations__location * {
	margin: 0;
	font-family: "Inter", sans-serif;
	font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.196), 16px);
	font-weight: 400;
	line-height: 120%;
	color: #000;
}

.interactive-locations__location .title {
	font-family: "Moderustic", sans-serif;
	font-size: clamp(26px, 1.625rem + ((1vw - 3.2px) * 0.196), 28px);
	font-weight: 700;
}

.interactive-locations__location .description {
	padding-top: clamp(12px, 12px + (100vw - 425px) * 0.006557, 18px);
	font-size: clamp(20px, 1.25rem + ((1vw - 3.2px) * 0.196), 22px);
	font-weight: 500;
}

.interactive-locations__location .address {
	padding-top: clamp(12px, 12px + (100vw - 425px) * 0.006557, 18px);
}

.interactive-locations__location .address span {
	display: block;
}

.interactive-locations__location .phone a {
	text-decoration: underline;
}

.interactive-locations__location .directions {
	padding-top: clamp(12px, 12px + (100vw - 425px) * 0.006557, 18px);
}

.interactive-locations__location .directions a {
	display: flex;
	gap: 5px;
	text-decoration: none;
	font-weight: 500;
}

.interactive-locations__location .directions a:hover,
.interactive-locations__location .directions a:focus,
.interactive-locations__location .directions a:active {
	text-decoration: underline;
}

.interactive-locations__location .directions svg {
	width: 20px;
	height: 20px;
}

/* Sidebar */
.interactive-locations__sidebar {
	position: relative;
	width: 100%;
}

.interactive-locations__sidebar .interactive-locations__location {
	background-color: #2a0b57;
}

.interactive-locations__sidebar .interactive-locations__location * {
	color: #fff;
	fill: #fff;
}

@container interactive-locations (width > 768px) {
	.interactive-locations__sidebar {
		width: calc(calc(100% - 30px) / 10 * 3);
	}
}

/* Accordions */
.interactive-locations__accordions {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 30px;
}

.interactive-locations__accordion {
	width: 100%;
}

.interactive-locations__accordion .interactive-locations__location {
	background-color: #fff;
}

.interactive-locations__accordion .interactive-locations__location .title {
	color: #891fdc;
	padding-right: 60px;
	min-height: 34px;
	background-image: url("./images/circle-plus.svg");
	background-repeat: no-repeat;
	background-position: center right;
	background-size: 34px;
	transition: all 0.3s linear;
	cursor: pointer;
}

.interactive-locations__accordion.open .interactive-locations__location .title {
	background-image: url("./images/circle-minus.svg");
}

@container interactive-locations (width > 768px) {
	.interactive-locations__accordion {
		width: calc(calc(100% - 30px) / 2);
	}
}

@container interactive-locations (width > 1024px) {
	.interactive-locations__accordion {
		width: calc(calc(100% - 60px) / 3);
	}
}
