.cf7-glp-wrapper {
	width: 100%;
	position: relative;
	margin-bottom: 20px;
}

.cf7-location-field {
	width: 100%;
}

.cf7-location-map {
	width: 100%;
	height: 300px;
	border: 1px solid #ccc;
	border-radius: 4px;
	margin-top: 10px;
	background: #f1f1f1;
}

/* Ensure map controls are visible */
.gm-style .gm-style-iw {
	color: #000;
}

/* Google Places Autocomplete Styling */
.pac-container {
	background-color: #fff;
	border: 1px solid #d9d9d9;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
	border-radius: 0 0 2px 2px;
	/* Matches standard Google look */
	font-family: Roboto, Arial, sans-serif;
	z-index: 99999 !important;
	/* High z-index to overlay other elements */
	margin-top: 2px;
}

.pac-item {
	cursor: default;
	padding: 8px 10px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	line-height: 30px;
	text-align: left;
	border-top: 1px solid #e6e6e6;
	font-size: 14px;
	color: #555;
	background-color: #fff;
}

.pac-item:first-child {
	border-top: none;
}

.pac-item:hover,
.pac-item-selected {
	background-color: #f1f3f4;
	/* Google's hover grey */
}

.pac-item-query {
	font-size: 14px;
	color: #000;
	padding-right: 3px;
	font-weight: bold;
	/* Make the matched name bold */
}

/* Icon refinement */
.pac-icon {
	width: 15px;
	height: 20px;
	margin-right: 7px;
	margin-top: 6px;
	display: inline-block;
	vertical-align: top;
	background-image: url(https://maps.gstatic.com/mapfiles/api-3/images/autocomplete-icons.png);
	background-size: 34px;
	opacity: 0.6;
}

.pac-icon-marker {
	background-position: -1px -161px;
}