/**
 * Single-event / single-location interactive map.
 */

.zeventra-single-map {
	width: 100%;
	margin: 0;
}

.zeventra-single-map-canvas {
	width: 100%;
	min-height: 200px;
	background: #e8eaed;
	border-radius: 4px;
	overflow: hidden;
}

.zeventra-single-map__fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 200px;
	padding: 1.25rem;
	text-align: center;
	color: #555;
	font-size: 0.95rem;
	line-height: 1.45;
	box-sizing: border-box;
}

.zeventra-single-map-canvas button[title="Close"] {
	position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 28px !important;
    height: 28px !important;
    z-index: 4;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #cf3030 !important;
	border-radius: 0 !important;
}

.zeventra-single-map-canvas button[title="Close"] span {
	width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
	background-color: #fff !important;
}

.zeventra-single-map-canvas .gm-style .gm-style-iw-c {
	padding-left: 17px !important;
}

/* InfoWindow card */
.zeventra-map-iw {
	max-width: 260px;
	font-family: inherit;
	color: #1a1a1a;
	margin-bottom: 6px;
}

.zeventra-map-iw__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin: 12px 0 8px 0;
}

.zeventra-map-iw__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	appearance: none;
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 4px;
	width: 2rem;
	height: 2rem;
	line-height: 1;
	font-size: 14px;
	cursor: pointer;
	padding: 0;
}

.zeventra-map-iw__nav-btn i {
	font-size: 14px;
}

.zeventra-map-iw__nav-btn:hover,
.zeventra-map-iw__nav-btn:focus {
	border-color: var(--zozo-primary);
	outline: none;
	color: #fff;
	background: var(--zozo-primary);
}

.zeventra-map-iw__pos {
	font-size: 0.8rem;
	color: #666;
}

.zeventra-map-iw__media {
	margin: 0 0 0.65rem;
	border-radius: 4px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #f0f0f0;
}

.zeventra-map-iw__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.zeventra-map-iw__title {
	display: block;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.35;
	margin: 0 0 0.45rem;
	color: #111;
	text-decoration: none;
}

a.zeventra-map-iw__title:hover,
a.zeventra-map-iw__title:focus {
	color: var(--zozo-primary);
}

.zeventra-map-iw__meta {
	font-size: 0.8rem;
	line-height: 1.4;
	margin: 0 0 0.25rem;
	color: #444;
}

.zeventra-map-iw__label {
	font-weight: 600;
	color: #222;
}

.zeventra-map-iw__directions {
	display: block;
	text-align: center;
	margin-top: 0.65rem;
	padding: 0.4rem 0.75rem;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	background: var(--zozo-primary);
	border-radius: 4px;
	text-decoration: none;
}

.zeventra-map-iw__directions:hover,
.zeventra-map-iw__directions:focus {
	background: var(--zozo-secondary);
	color: #fff;
	text-decoration: none;
}

/* Preserve prior layout hooks */
.zozo-event-map .zeventra-single-map-canvas,
.location-gmap-map .zeventra-single-map-canvas {
	width: 100%;
}

@media (max-width: 767px) {
	.zeventra-map-iw {
		max-width: 220px;
	}
}
