/* Godstone Green Estate Map */

.gg-estate-map {
	position: relative;
	width: 100%;
	min-height: 320px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
	background: #e5efe5;
	z-index: 0;
}

/* Full-width map.
   Block themes: the `alignfull` class on the wrapper makes the theme break it
   out of the constrained content column (its is-layout-constrained CSS uses
   margin:auto!important + max-width that our own margins can't override).
   Classic themes: `alignfull` is inert, so the negative-margin fallback below
   (guarded to NOT stack on a theme that already positions alignfull) widens it.
   This stylesheet only loads on pages with the map, so the overflow guard is
   safely scoped to those pages. */
html {
	overflow-x: hidden;
}

/* fallback breakout for classic themes that don't style .alignfull */
body:not(.wp-embed-responsive) .gg-estate-map-fullbleed:not(.alignfull) {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.gg-estate-map-fullbleed {
	box-sizing: border-box;
}

.gg-estate-map-fullbleed .gg-estate-map {
	border-radius: 0;
}

.gg-map-loading,
.gg-map-error {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font: 15px/1.5 system-ui, sans-serif;
	color: #1a7a3a;
	padding: 20px;
	text-align: center;
}

.gg-map-error { color: #b91c1c; }

/* plot number labels — subtle, masterplan style */
.gg-plot-label {
	background: rgba(255, 255, 255, 0.6);
	border: none;
	border-radius: 3px;
	color: #2d4a22;
	font: 600 10px/1 system-ui, sans-serif;
	padding: 1px 3px;
	white-space: nowrap;
	width: auto !important;
	height: auto !important;
	transform: translate(-50%, -50%);
	box-shadow: none;
}

/* permanent labels on the rear land parcels */
.gg-rear-label{
	background:rgba(255,251,240,.85);
	border:1px solid #8a6d3b;
	border-radius:4px;
	color:#5c4a1f;
	font:600 11px/1.1 system-ui,sans-serif;
	padding:2px 6px;
	white-space:nowrap;
	box-shadow:0 1px 2px rgba(0,0,0,.2);
}
.gg-rear-label::before{display:none !important}

/* jump-to-third-zone button */
.gg-jump{
	background:#b45309;color:#fff;border:0;padding:7px 12px;
	font:600 13px/1 system-ui,sans-serif;border-radius:6px;cursor:pointer;
	box-shadow:0 1px 4px rgba(0,0,0,.3);
}
.gg-jump:hover{background:#92400e}

/* entrance flag */
.gg-entrance-icon {
	font-size: 26px;
	color: #b91c1c;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9), 0 0 6px rgba(255, 255, 255, 0.8);
}

/* popup */
.gg-pop h4 {
	margin: 0 0 4px;
	font: 700 16px/1.2 system-ui, sans-serif;
	color: #14532d;
}

.gg-pop .gg-house {
	margin: 0 0 8px;
	font: 600 13px/1.3 system-ui, sans-serif;
	color: #1a7a3a;
}

.gg-pop-img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
	margin: 0 0 2px;
}

.gg-img-cap {
	margin: 0 0 8px;
	font: 11px/1.3 system-ui, sans-serif;
	color: #9ca3af;
}

.gg-pop table { border-collapse: collapse; width: 100%; margin: 0 0 10px; }

.gg-pop td {
	font: 13px/1.5 system-ui, sans-serif;
	padding: 2px 8px 2px 0;
	vertical-align: top;
}

.gg-pop td:first-child { color: #6b7280; white-space: nowrap; }

.gg-mut { color: #9ca3af; font-weight: 400; font-size: 12px; }

.gg-pop-btns { display: flex; flex-direction: column; gap: 6px; }

.gg-btn {
	display: block;
	width: 100%;
	text-align: center;
	background: #1a7a3a;
	color: #fff !important;
	border: 0;
	border-radius: 8px;
	padding: 8px 10px;
	font: 600 13px/1.2 system-ui, sans-serif;
	cursor: pointer;
	text-decoration: none !important;
	box-sizing: border-box;
}

.gg-btn:hover { background: #14532d; color: #fff; }

.gg-btn-sec { background: #f1f5f9; color: #14532d !important; border: 1px solid #cbd5e1; }

.gg-btn-sec:hover { background: #e2e8f0; color: #14532d; }

/* route tooltip */
.gg-route-tip {
	background: #fff7ed;
	border: 1px solid #f59e0b;
	color: #92400e;
	font: 600 12px/1.2 system-ui, sans-serif;
	border-radius: 6px;
	padding: 3px 8px;
}

/* search control */
.gg-search {
	display: flex;
	background: #fff;
	overflow: hidden;
}

.gg-search input {
	border: 0;
	outline: none;
	padding: 6px 10px;
	font: 14px/1.4 system-ui, sans-serif;
	width: 160px;
	background: #fff;
	color: #111827;
}

.gg-search input.gg-notfound {
	background: #fee2e2;
	transition: background 0.2s;
}

.gg-search button {
	border: 0;
	background: #1a7a3a;
	color: #fff;
	padding: 0 12px;
	cursor: pointer;
	font-size: 14px;
}

.gg-search button:hover { background: #14532d; }

@media (max-width: 600px) {
	.gg-search input { width: 110px; }
	.gg-estate-map { border-radius: 8px; }
}
