/**
 * Greenwoods Interactive Map — front-end styles.
 *
 * Scoped under .gwm-map-app so nothing leaks into the host theme. Uses CSS
 * custom properties for brand theming (override --gwm-* on the container
 * or :root to re-skin without editing this file).
 *
 * Sections:
 *   1. Tokens, container, loading/fallback
 *   2. Layout (sidebar + map)
 *   3. Sidebar: header, filters, search, count, cards
 *   4. Shared bits: pills, rating, status, buttons
 *   5. Leaflet: markers, clusters, overlays
 *   6. Detail (map popup + mobile sheet)
 *   7. Responsive (mobile stacked + full-screen sheet)
 *   8. Print
 */

/* -------------------------------------------------------------------------
 * 1. Tokens / container
 * ---------------------------------------------------------------------- */
.gwm-map-app {
	--gwm-green: #61B247 !important;
	--gwm-green-dark: #046937 !important;
	--gwm-green-tint: #e8f3ec !important;
	--gwm-green-soft: #eaf4ee !important;
	--gwm-blue: #2a6fb0 !important;
	--gwm-brown: #8a5a2b !important;
	--gwm-ink: #14211a !important;
	--gwm-muted: #5c6b73 !important;
	--gwm-line: #e4e9ea !important;
	--gwm-bg: #ffffff !important;
	--gwm-bg-soft: #f5f8f6 !important;
	--gwm-open: #1f7a3d !important;
	--gwm-closed: #b23b3b !important;
	--gwm-star: #f4a600 !important;
	--gwm-radius: 16px !important;
	--gwm-radius-sm: 12px !important;
	--gwm-shadow: 0 8px 30px rgba(18, 45, 30, 0.10) !important;
	--gwm-map-height: 720px !important;
	--gwm-sidebar-width: 500px !important;

	box-sizing: border-box !important;
	position: relative !important;
	width: 100% !important;
	color: var(--gwm-ink) !important;
	font-family: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, sans-serif !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
}
.gwm-map-app *, .gwm-map-app *::before, .gwm-map-app *::after { box-sizing: border-box !important; }

.gwm-map-app__loading {
	display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
	min-height: 300px !important; 
	/* height: var(--gwm-map-height) !important; */
	color: var(--gwm-muted) !important; background: var(--gwm-bg-soft) !important;
	border: 1px solid var(--gwm-line) !important; border-radius: var(--gwm-radius) !important;
}
.gwm-map-app.is-ready .gwm-map-app__loading,
.gwm-map-app.is-ready .gwm-fallback { display: none !important; }
.gwm-map-app:not(.is-ready) .gwm-shell { display: none !important; }
.gwm-spinner { width: 20px !important; height: 20px !important; border: 3px solid var(--gwm-line) !important; border-top-color: var(--gwm-green) !important; border-radius: 50% !important; animation: gwm-spin 0.8s linear infinite !important; }
@keyframes gwm-spin { to { transform: rotate(360deg) !important; } }

.gwm-fallback { padding: 8px 4px !important; }
.gwm-fallback__title { font-size: 1.4rem !important; margin: 0 0 12px !important; }
.gwm-fallback__list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid !important; gap: 16px !important; }
.gwm-fallback__item { padding: 14px !important; border: 1px solid var(--gwm-line) !important; border-radius: var(--gwm-radius-sm) !important; }
.gwm-fallback__name { margin: 0 0 4px !important; font-size: 1.05rem !important; }
.gwm-fallback__category { margin: 0 0 6px !important; color: var(--gwm-muted) !important; font-size: 0.9rem !important; }
.gwm-fallback__address, .gwm-fallback__phone, .gwm-fallback__directions { margin: 2px 0 !important; font-size: 0.92rem !important; }

/* -------------------------------------------------------------------------
 * 2. Layout
 * ---------------------------------------------------------------------- */
.gwm-shell {
	display: flex !important;
	height: var(--gwm-map-height) !important;
	min-height: 460px !important;
	border: 1px solid var(--gwm-line) !important;
	border-radius: var(--gwm-radius) !important;
	overflow: hidden !important;
	background: var(--gwm-bg) !important;
	box-shadow: var(--gwm-shadow) !important;
}
.gwm-sidebar {
	flex: 0 0 var(--gwm-sidebar-width) !important;
	max-width: var(--gwm-sidebar-width) !important;
	display: flex !important; flex-direction: column !important;
	background: var(--gwm-bg) !important;
	border-right: 1px solid var(--gwm-line) !important;
	min-height: 0 !important;
}
.gwm-map-wrap { position: relative !important; flex: 1 1 auto !important; min-width: 0 !important; }
.gwm-map { position: absolute !important; inset: 0 !important; height: 100% !important; width: 100% !important; background: var(--gwm-bg-soft) !important; }

/* -------------------------------------------------------------------------
 * 3. Sidebar
 * ---------------------------------------------------------------------- */
.gwm-sidebar__head { padding: 20px 20px 14px !important; border-bottom: 1px solid var(--gwm-line) !important; }
.gwm-sidebar__title { margin: 0 0 4px !important; font-size: 1.55rem !important; font-weight: 800 !important; letter-spacing: -0.01em !important; }
.gwm-sidebar__subtitle { margin: 0 0 14px !important; color: var(--gwm-muted) !important; font-size: 0.92rem !important; }

.gwm-filters { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px !important; margin-bottom: 12px !important; }
.gwm-filter {
	display: inline-flex !important; align-items: center !important; gap: 6px !important;
	border: 1px solid var(--gwm-line) !important; background: #fff !important; color: var(--gwm-ink) !important;
	padding: 7px 14px !important; border-radius: 999px !important;
	font-size: 0.85rem !important; font-weight: 600 !important; cursor: pointer !important; white-space: nowrap !important;
	transition: all 0.15s !important;
}
.gwm-filter svg { width: 15px !important; height: 15px !important; }
.gwm-filter:hover { border-color: var(--gwm-green) !important; color: var(--gwm-green) !important; }
.gwm-filter.is-active { background: var(--gwm-green) !important; border-color: var(--gwm-green) !important; color: #fff !important; }

.gwm-filterdrop { position: relative !important; margin-left: auto !important; }
.gwm-filterdrop__menu {
	position: absolute !important; right: 0 !important; top: calc(100% + 6px) !important; z-index: 20 !important;
	min-width: 190px !important; background: #fff !important; border: 1px solid var(--gwm-line) !important;
	border-radius: 12px !important; box-shadow: var(--gwm-shadow) !important; padding: 6px !important;
	display: none !important;
}
.gwm-filterdrop.is-open .gwm-filterdrop__menu { display: block !important; }
.gwm-filterdrop__opt {
	display: block !important; width: 100% !important; text-align: left !important; border: 0 !important; background: none !important;
	padding: 9px 12px !important; border-radius: 8px !important; font-size: 0.88rem !important; font-weight: 600 !important;
	color: var(--gwm-ink) !important; cursor: pointer !important;
}
.gwm-filterdrop__opt:hover { background: var(--gwm-bg-soft) !important; }
.gwm-filterdrop__opt.is-active { background: var(--gwm-green-tint) !important; color: var(--gwm-green-dark) !important; }

.gwm-search { display: flex !important; gap: 8px !important; align-items: stretch !important; }
.gwm-search__box { position: relative !important; flex: 1 1 auto !important; display: flex !important; align-items: center !important; }
.gwm-search__icon { position: absolute !important; left: 12px !important; width: 18px !important; height: 18px !important; color: var(--gwm-muted) !important; pointer-events: none !important; }
.gwm-search__input {
	width: 100% !important; padding: 10px 12px 10px 38px !important;
	border: 1px solid var(--gwm-line) !important; border-radius: 10px !important; font-size: 0.92rem !important;
	background: var(--gwm-bg-soft) !important; color: var(--gwm-ink) !important; outline: none !important;
	transition: border-color 0.15s, box-shadow 0.15s, background 0.15s !important;
}
.gwm-search__input:focus { border-color: var(--gwm-green) !important; box-shadow: 0 0 0 3px var(--gwm-green-tint) !important; background: #fff !important; }
.gwm-search__btn { border: 1px solid var(--gwm-line) !important; background: #fff !important; color: var(--gwm-ink) !important; padding: 0 15px !important; border-radius: 7px !important; font-size: 0.88rem !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.15s !important; }
.gwm-search__btn--ghost:hover { background: var(--gwm-bg-soft) !important; }
.gwm-search__btn--primary { background: var(--gwm-green) !important; border-color: var(--gwm-green) !important; color: #fff !important; }
.gwm-search__btn--primary:hover { background: var(--gwm-green-dark) !important; border-color: var(--gwm-green-dark) !important; }

.gwm-count { padding: 12px 20px 6px !important; font-size: 0.76rem !important; color: var(--gwm-muted) !important; font-weight: 700 !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; }
.gwm-sidebar__body { display: flex !important; flex-direction: column !important; min-height: 0 !important; flex: 1 1 auto !important; }
.gwm-list { list-style: none !important; margin: 0 !important; padding: 0 10px 14px !important; overflow-y: auto !important; flex: 1 1 auto !important; min-height: 0 !important; scrollbar-width: thin !important; }

/* Cards */
.gwm-card {
	display: grid !important; grid-template-columns: 104px 1fr !important; gap: 14px !important;
	padding: 12px !important; border-radius: var(--gwm-radius-sm) !important; cursor: pointer !important;
	border: 1px solid transparent !important; transition: background 0.15s, border-color 0.15s, box-shadow 0.15s !important;
}
.gwm-card + .gwm-card { margin-top: 8px !important; }
.gwm-card:hover { background: var(--gwm-bg-soft) !important; }
.gwm-card.is-active { background: var(--gwm-green-soft) !important; border-color: var(--gwm-green) !important; }
.gwm-card__media { width: 104px !important; height: 116px !important; border-radius: 12px !important; overflow: hidden !important; background: var(--gwm-bg-soft) !important; }
.gwm-card__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.gwm-card__body { min-width: 0 !important; display: flex !important; flex-direction: column !important; }
.gwm-card__name { margin: 6px 0 4px !important; font-size: 15px !important; font-weight: 800 !important; line-height: 1.2 !important; }
.gwm-card__desc { margin: 0 0 8px !important; font-size: 0.85rem !important; color: var(--gwm-muted) !important;
	display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.gwm-card__foot { margin-top: auto !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; padding-top: 8px !important; }

/* -------------------------------------------------------------------------
 * 4. Shared: pills / rating / status / buttons
 * ---------------------------------------------------------------------- */
.gwm-pill {
	display: inline-block !important; align-self: flex-start !important;
	background: var(--gwm-green-tint) !important; color: var(--gwm-green-dark) !important;
	font-size: 0.72rem !important; font-weight: 700 !important; padding: 4px 10px !important; border-radius: 999px !important;
}
.gwm-pill--onmedia { position: absolute !important; left: 14px !important; top: 14px !important; background: rgba(255,255,255,0.94) !important; color: var(--gwm-green-dark) !important; }

.gwm-rating { display: flex !important; align-items: center !important; gap: 3px !important; margin-bottom: 8px !important; font-size: 0.84rem !important; flex-wrap: wrap !important; }
.gwm-star { color: #d9dee0 !important; font-size: 0.95rem !important; line-height: 1 !important; }
.gwm-star.is-on { color: var(--gwm-star) !important; }
.gwm-rating__val { font-weight: 800 !important; margin-left: 4px !important; }
.gwm-rating__count { color: var(--gwm-muted) !important; margin-left: 4px !important; }

.gwm-status { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-weight: 700 !important; font-size: 0.85rem !important; }
.gwm-status svg { width: 16px !important; height: 16px !important; }
.gwm-status.is-open { color: var(--gwm-open) !important; }
.gwm-status.is-closed { color: var(--gwm-closed) !important; }

.gwm-btn {
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important;
	padding: 11px 14px !important; border-radius: 11px !important; font-size: 0.9rem !important; font-weight: 700 !important;
	text-decoration: none !important; cursor: pointer !important; border: 1px solid var(--gwm-line) !important;
	background: #fff !important; color: var(--gwm-ink) !important; transition: background 0.15s, border-color 0.15s, transform 0.05s !important;
}
.gwm-btn svg { width: 16px !important; height: 16px !important; flex: none !important; }
.gwm-btn:hover { background: var(--gwm-bg-soft) !important; }
.gwm-btn:active { transform: translateY(1px) !important; }
.gwm-btn--sm { padding: 7px 12px !important; font-size: 0.82rem !important; border-radius: 9px !important; }
.gwm-btn--wide { width: 100% !important; }
.gwm-btn--primary { background: var(--gwm-green) !important; border-color: var(--gwm-green) !important; color: #fff !important; }
.gwm-btn--primary:hover { background: var(--gwm-green-dark) !important; border-color: var(--gwm-green-dark) !important; }
.gwm-btn--dark { background: var(--gwm-green-dark) !important; border-color: var(--gwm-green-dark) !important; color: #fff !important; }
.gwm-btn--dark:hover { background: #0d3e20 !important; }
.gwm-btn--soft { background: var(--gwm-green-soft) !important; border-color: var(--gwm-green-soft) !important; color: var(--gwm-green-dark) !important; }
.gwm-btn--soft:hover { background: var(--gwm-green-tint) !important; }

.gwm-empty { padding: 36px 16px !important; text-align: center !important; color: var(--gwm-muted) !important; font-size: 0.92rem !important; }

/* -------------------------------------------------------------------------
 * 5. Leaflet: markers / clusters / overlays
 * ---------------------------------------------------------------------- */
.gwm-map .leaflet-container { font: inherit !important; }
.gwm-marker { width: 37px !important; height: 45px !important; position: relative !important; }
.gwm-marker svg {
	display: block !important; width: 100% !important; height: 100% !important;
	filter: drop-shadow(0 3px 6px rgba(0,0,0,0.3)) !important;
	transform-origin: 50% 95% !important; transition: transform 0.12s !important;
}
.gwm-marker.is-active svg, .gwm-marker:hover svg { transform: scale(1.18) !important; }
.gwm-marker.is-active { z-index: 1000 !important; }

.gwm-cluster { background: var(--gwm-green) !important; color: #fff !important; border: 3px solid #fff !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 800 !important; font-size: 0.95rem !important; box-shadow: 0 3px 10px rgba(0,0,0,0.28) !important; }
.gwm-cluster div { width: 100% !important; text-align: center !important; }

.gwm-parking { width: 24px !important; height: 24px !important; background: var(--gwm-blue) !important; color: #fff !important; border: 2px solid #fff !important; border-radius: 6px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 800 !important; font-size: 0.8rem !important; box-shadow: 0 2px 5px rgba(0,0,0,0.3) !important; }
.gwm-entrance { width: 20px !important; height: 20px !important; background: #fff !important; border: 3px solid var(--gwm-green-dark) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--gwm-green-dark) !important; font-weight: 800 !important; font-size: 0.8rem !important; box-shadow: 0 1px 4px rgba(0,0,0,0.35) !important; }
.gwm-entrance.is-main, .gwm-entrance.is-backdoor { border-color: var(--gwm-green-dark) !important; }
.gwm-entrance.is-backdoor { color: var(--gwm-green-dark) !important; }
.gwm-arrow { color: var(--gwm-green-dark) !important; font-size: 15px !important; text-shadow: 0 0 3px #fff, 0 0 3px #fff !important; transform-origin: center !important; }

/* -------------------------------------------------------------------------
 * 6. Detail (map popup + mobile sheet share .gwm-detail__* markup)
 * ---------------------------------------------------------------------- */
.gwm-map .leaflet-popup.gwm-popup .leaflet-popup-content-wrapper { border-radius: 16px !important; padding: 0 !important; overflow: hidden !important; box-shadow: 0 12px 40px rgba(18,45,30,0.26) !important; }
.gwm-map .leaflet-popup.gwm-popup .leaflet-popup-content { margin: 0 !important; width: 400px !important; }
.gwm-map .leaflet-popup.gwm-popup .leaflet-popup-close-button { width: 28px !important; height: 28px !important; top: 8px !important; right: 8px !important; color: #fff !important; background: #62b143 !important; border-radius: 50% !important; font-size: 18px !important; line-height: 26px !important; text-align: center !important; z-index: 5 !important; }

.gwm-detail__media { position: relative !important; height: 150px !important; background: var(--gwm-bg-soft) !important; }
.gwm-detail__media::after {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg, #0469377a 0%, rgba(0,0,0,0) 100%) !important;
	pointer-events: none !important;
	z-index: 1 !important;
}
.gwm-detail__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.gwm-pill--onmedia { z-index: 2 !important; }
.gwm-detail__close { position: relative !important; z-index: 2 !important; }
.gwm-detail__close { position: absolute !important; top: 14px !important; right: 14px !important; width: 40px !important; height: 40px !important; border: 0 !important; border-radius: 50% !important; background: var(--gwm-green) !important; color: #fff !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important; }
.gwm-detail__close svg { width: 20px !important; height: 20px !important; }
.gwm-detail__body { padding: 14px 16px 16px !important; }
.gwm-detail__name { margin: 0 0 6px !important; font-size: 1.2rem !important; font-weight: 800 !important; }
.gwm-detail__desc { margin: 0 0 10px !important; }
.gwm-detail__desc-text { margin: 0 !important; color: var(--gwm-muted) !important; font-size: 0.9rem !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.gwm-detail__desc.is-expanded .gwm-detail__desc-text { -webkit-line-clamp: unset !important; }
.gwm-detail__more { border: 0 !important; background: none !important; padding: 4px 0 0 !important; color: var(--gwm-green) !important; font-weight: 700 !important; font-size: 0.85rem !important; cursor: pointer !important; }
.gwm-detail__status { width: 100% !important; margin: 4px 0 10px !important; }
.gwm-detail__hourstoggle { margin-left: auto !important; border: 0 !important; background: none !important; color: inherit !important; cursor: pointer !important; font-size: 1rem !important; padding: 2px 4px !important; }
.gwm-detail__hours { list-style: none !important; margin: 0 0 12px !important; padding: 0 !important; font-size: 0.85rem !important; display: none !important; border-top: 1px solid var(--gwm-line) !important; padding-top: 8px !important; }
.gwm-detail__hours.is-open { display: block !important; }
.gwm-detail__hours li { display: flex !important; justify-content: space-between !important; padding: 3px 0 !important; color: var(--gwm-muted) !important; }
.gwm-detail__hours li.is-today { color: var(--gwm-ink) !important; font-weight: 800 !important; }

.gwm-detail__contact { margin: 0 0 14px !important; }
.gwm-detail__contact h4 { margin: 0 0 8px !important; font-size: 0.95rem !important; color: var(--gwm-green-dark) !important; font-weight: 800 !important; }
.gwm-contact__row { display: flex !important; align-items: flex-start !important; gap: 10px !important; padding: 4px 0 !important; color: var(--gwm-ink) !important; text-decoration: none !important; font-size: 0.9rem !important; }
.gwm-contact__row svg { width: 17px !important; height: 17px !important; color: var(--gwm-muted) !important; flex: none !important; margin-top: 1px !important; }
a.gwm-contact__row:hover { color: var(--gwm-green) !important; }

.gwm-detail__actions { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.gwm-detail__actions .gwm-btn--wide { grid-column: 1 / -1 !important; }

/* -------------------------------------------------------------------------
 * 7. Responsive
 * ---------------------------------------------------------------------- */
@media (max-width: 860px) {
	.gwm-map-app { --gwm-map-height: auto !important; }
	.gwm-shell { flex-direction: column !important; height: auto !important; }
	.gwm-sidebar { display: contents !important; }
	.gwm-sidebar__head { order: 1 !important; border-right: 0 !important; }
	.gwm-map-wrap { order: 2 !important; flex: none !important; height: 300px !important; }
	.gwm-sidebar__body { order: 3 !important; }
	.gwm-list { max-height: none !important; overflow: visible !important; padding-bottom: 20px !important; }

	/* Full-screen detail sheet */
	.gwm-detail {
		position: fixed !important; inset: 0 !important; z-index: 100000 !important;
		background: var(--gwm-bg) !important; overflow-y: auto !important;
		transform: translateY(100%) !important; transition: transform 0.28s ease !important;
		visibility: hidden !important;
	}
	.gwm-detail.is-open { transform: translateY(0) !important; visibility: visible !important; }
	.gwm-detail__map { position: relative !important; height: 260px !important; margin-top: 14px !important; border-radius: 12px !important; overflow: hidden !important; }
	.gwm-detail__map .gwm-map-wrap { position: absolute !important; inset: 0 !important; height: 100% !important; }
	.gwm-detail__body { padding: 18px 18px 32px !important; }
	.gwm-detail__name { font-size: 1.5rem !important; }
	.gwm-detail__media { height: 190px !important; }
}
@media (min-width: 861px) {
	.gwm-detail { display: none !important; }
}

/* -------------------------------------------------------------------------
 * 8. Print
 * ---------------------------------------------------------------------- */
@media print {
	body.gwm-printing > *:not(.gwm-print-root) { display: none !important; }
}
.gwm-print-root { display: none !important; }
/* Fixed width so the on-screen layout (where Leaflet frames the map) and the
 * printed page have identical dimensions. Without this the preview spans the
 * full browser width, then shrinks to paper width during print rendering —
 * after JS can run — leaving the map centered on the wrong spot. 680px fits
 * inside Letter/A4 printable width with default browser margins. */
body.gwm-printing .gwm-print-root {
	display: block !important; position: relative !important; padding: 40px !important;
	width: 680px !important; margin: 0 auto !important; box-sizing: border-box !important;
	color: var(--gwm-ink, #14211a) !important; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
	--gwm-blue: #2a6fb0 !important;
	--gwm-green-dark: #046937 !important;
}
/* Preserve brand colours (green headings, gold stars, overlay fills, tiles)
 * — browsers strip backgrounds/colour on print by default. */
.gwm-print-root, .gwm-print-root * {
	-webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
}

/* Header: category pill + title + rating on the left, logo on the right. */
.gwm-print-root .gwm-print__head {
	display: flex !important; align-items: flex-start !important; justify-content: space-between !important;
	gap: 24px !important; margin: 0 0 16px !important;
}
.gwm-print-root .gwm-print__head-main { min-width: 0 !important; }
.gwm-print-root .gwm-print__logo { width: 165px !important; height: 37px !important; flex: 0 0 auto !important; }
.gwm-print-root .gwm-print__titlerow { display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 0 6px !important; }
.gwm-print-root .gwm-print__pill {
	display: inline-block !important; background: #d1f0c7 !important; color: var(--gwm-green-dark, #12532a) !important;
	font-size: 11px !important; font-weight: 700 !important; padding: 4px 12px !important; border-radius: 999px !important; margin: 0 !important; flex: 0 0 auto !important;
}
.gwm-print-root .gwm-print__title { font-size: 20px !important; font-weight: 700 !important; color: var(--gwm-green-dark, #12532a) !important; margin: 0 !important; padding-left: 12px !important; border-left: 2px solid #dfe4e2 !important; font-family: 'Inter', 'Poppins', sans-serif !important;}
.gwm-print-root .gwm-print__rating { display: flex !important; font-weight: 400 !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; font-family: 'Inter', 'Poppins', sans-serif !important;}
.gwm-print-root .gwm-print__rating .gwm-star { color: #d7dbdc !important; font-size: 15px !important; line-height: 1 !important; }
.gwm-print-root .gwm-print__rating .gwm-star.is-on { color: var(--gwm-star, #f4a600) !important; }
.gwm-print-root .gwm-print__rating-val { font-weight: 800 !important; }
.gwm-print-root .gwm-print__rating-count { color: #5c6b73 !important; }

.gwm-print__section h2{ font-weight: 700 !important; font-family: 'Inter', 'Poppins', sans-serif !important;}

.gwm-print-root .gwm-print__map { position: relative !important; width: 100% !important; border: 1px solid #dfe4e2 !important; border-radius: 10px !important; overflow: hidden !important; margin: 0 0 22px !important; }
.gwm-print-root .gwm-print__map-canvas { position: relative !important; width: 100% !important; height: 420px !important; }

/* Two-column hours + contact. */
.gwm-print-root .gwm-print__cols { display: flex !important; gap: 48px !important; margin: 0 0 8px !important; }
.gwm-print-root .gwm-print__cols > .gwm-print__section { flex: 1 1 0 !important; margin: 0 0 18px !important; }
.gwm-print-root .gwm-print__contact-row { display: flex !important; align-items: center !important; gap: 10px !important; font-size: 13px !important; padding: 5px 0 !important; color: var(--gwm-ink, #14211a) !important; }
.gwm-print-root .gwm-print__contact-row svg {
	box-sizing: border-box !important; width: 28px !important; height: 28px !important; padding: 6px !important;
	border: 1px solid #c7cfcc !important; border-radius: 50% !important; color: #5c6b73 !important; flex: 0 0 auto !important;
}

.gwm-print-root table { border-collapse: collapse !important; font-size: 13px !important; width: 100% !important; }
.gwm-print-root th, .gwm-print-root td { text-align: left !important; padding: 4px 16px 4px 0 !important; font-weight: 500 !important; }
.gwm-print-root th { color: #14211a !important; font-weight: 500 !important; }
.gwm-print-root td { color: #14211a !important; }
.gwm-print-root .gwm-print__section { margin: 0 0 14px !important; }
.gwm-print-root h2 { font-size: 15px !important; font-weight: 600 !important; color: var(--gwm-green-dark, #12532a) !important; margin: 0 0 8px !important; border-bottom: 1px solid #dfe4e2 !important; padding-bottom: 6px !important; }
.gwm-print-root .gwm-print__section p { font-size: 13px !important; margin: 0 !important; }


.gwm-map .leaflet-popup.gwm-popup .leaflet-popup-content { margin: 0 !important; width: 400px !important; }

.gwm-card__desc{
    -webkit-line-clamp: 1 !important;
    
}

.gwm-card__foot{
   padding-top: 0px !important; 
}

.gwm-card__desc{
    margin: 0 !important;
}

.gwm-card__media img {
    margin: 0px !important;
}

.gwm-rating{
    margin: 0px !important;
}

.gwm-card{
	background: #F8FAFC !important;
    margin-bottom: 12px !important;
    border-color: #5c6b7333 !important;
}

.gwm-btn--sm{
    border-radius: 50px !important;
}

div .gwm-status{
font-family: 'Inter','Poppins';
font-size: 0.8rem !important;
}


.gwm-shell{
    height: 100dvh !important;
    box-shadow: unset !important;
    border-radius: unset !important;
    border: 0px !important;
}

@media (max-width: 768px){
    .gwm-btn--sm {
    display: none !important;
    }
}

@media (max-width: 442px){
    .gwm-filterdrop {
    display: none !important;
    }
}

.leaflet-popup.gwm-popup.leaflet-zoom-animated img{
 margin: 0 !important;
    border-radius: 0 !important;
}

div .gwm-shell{
    overflow: auto !important;
}

.gwm-detail__media img{
	margin: 0 !important;
   border-radius: 0 !important;
   }

/* -------------------------------------------------------------------------
 * 9. Brand typography — Inter (headings / bold / UI) + Poppins (body copy)
 * ---------------------------------------------------------------------- */
.gwm-map-app {
	font-family: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
.gwm-sidebar__title, .gwm-card__name, .gwm-detail__name,
.gwm-fallback__title, .gwm-fallback__name, .gwm-detail__contact h4,
.gwm-count, .gwm-rating__val, .gwm-status, .gwm-btn, .gwm-filter,
.gwm-filterdrop__trigger, .gwm-filterdrop__opt, .gwm-search__btn,
.gwm-pill, .gwm-cluster, .gwm-parking,
.gwm-map-app strong, .gwm-map-app b {
	font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
.gwm-sidebar__subtitle, .gwm-card__desc, .gwm-detail__desc-text,
.gwm-contact__row, .gwm-detail__hours, .gwm-fallback__address,
.gwm-fallback__category, .gwm-search__input {
	font-family: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* -------------------------------------------------------------------------
 * 10. Compact card CTA ("Details")
 * ---------------------------------------------------------------------- */
.gwm-card__cta {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	font-size: 0.72rem !important;
	gap: 5px !important;
}
.gwm-card__cta svg { width: 14px !important; height: 14px !important; }

/* -------------------------------------------------------------------------
 * 11. Whole status row toggles hours
 * ---------------------------------------------------------------------- */
.gwm-detail__status { cursor: pointer !important; user-select: none !important; }
.gwm-detail__hourstoggle { cursor: pointer !important; }

/* -------------------------------------------------------------------------
 * 12. Soft green/blue basemap tint (approximates the brand reference map)
 * ---------------------------------------------------------------------- */
.gwm-map .leaflet-tile-pane {
	filter: brightness(1.03) saturate(0.85) sepia(0.22) hue-rotate(62deg) !important;
}


/* -------------------------------------------------------------------------
 * 13. Search input and button font size
 * ---------------------------------------------------------------------- */
.gwm-search__input{ font-size: 0.72rem !important }
.gwm-btn{ font-size: 0.75rem !important }
.entry-content li{ margin-bottom: unset !important; font-size: unset !important; line-height: 1.3 !important; }



ul.gwm-list { padding-bottom: 15% !important; }
@media (max-width: 768px){
	.gwm-shell { height: unset !important; }
}