.sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}

.nowrap {
	white-space: nowrap;
}

#map-wrapper {
	width: 100%;
	position: relative;
}

#map,
#elevation-div {
	width: 100%;
}

#map {
	height: 600px;
	border-radius: 12px;
}

/* #map.embed-with-elevation height is set by JS (applyHalfHillHeight in filter-panel.js)
 * to match the .half-hill > * container height. This CSS fallback only applies when
 * the half-hill ancestor is not found (e.g. standalone embed outside that layout). */
#map.embed-with-elevation {
	height: 600px;
}

#elevation-div {
	margin-top: 10px;
	font-size: 12px;
	line-height: 1.5;
	/* font-family intentionally omitted — inherits from WordPress theme */
	font-weight: 300;
}

#elevation-div-name {
	font-size: 14px;
	line-height: 1.2;
	/* font-family intentionally omitted — inherits from WordPress theme */
	font-weight: 700;
	text-align: center;
}

/* Top-right map controls: direction toggle + basemap switcher */
#map-controls-right {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 999;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* Direction toggle pill — hidden until a trail section is loaded */
.elevation-dir-toggle[hidden] {
	display: none;
}

/* Direction toggle pill */
.elevation-dir-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	font-size: 12px;
	/* font-family intentionally omitted — inherits from WordPress theme */
	font-weight: 500;
	padding: 3px 8px 3px 6px;
	height: auto;
	white-space: nowrap;
	color: #666;
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 20px;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.elevation-dir-toggle:hover {
	background: #e8e8e8;
	color: #1a1a1a;
	border-color: #bbb;
}

.elevation-dir-toggle.is-active {
	background: #1a1a1a;
	color: #fff;
	border-color: #1a1a1a;
}

@media screen and (max-width: 571px) { /* 600px - (10px + 5px)*2 padding */
	#map {
		height: 100vw;
		max-height: 360px;
	}
	
	/* JS overrides this when half-hill ancestor is present */
	#map.embed-with-elevation {
		height: calc(100vw - 77px);
	}

	#elevation-div {
		height: 150px;
		height: 250px; /* to accom stats */
		margin-top: 10px;
	}
}

#elevation-div .download {
	display: none !important;
}

/* Compact elevation chart height for constrained containers (e.g. inside
 * .half-hill > * with a fixed height). The SVG/chart inside #elevation-div-line
 * defaults to ~200px from the library; we reduce it so the total #elevation-div
 * stays around 100px, leaving more room for #map.
 * In fullscreen, JS (applyFullscreenSizes) overrides this to 200px via inline style. */
/* #elevation-div-line height matches the elevation_config height option (120px).
 * The library generates the SVG at exactly that height — no CSS scaling needed.
 * g.grid gets height - margins.top - margins.bottom = 120 - 8 - 22 = 90px.
 * In fullscreen, JS overrides this to 200px via inline style. */
#elevation-div-line {
	height: 120px;
	overflow: hidden;
}

.map-theme-dist-marker {
	font-size: 9px;
	border: 1px solid var(--foht-trail-color, #d8a56d);
	border-radius: 8px;
	text-align: center;
	/*color: var(--foht-trail-color, #d8a56d);*/
	color: #000;
	background: #fff;
	margin-left: -17px;
	margin-top: -8px;
	height: 12px;
	padding: 0 4px;
	width: auto;
	white-space: nowrap;
	line-height: 1.2;
}

#basemaps-wrapper {
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
	border-bottom: none !important;
}

#basemaps {
	margin: 0;
}

#basemaps-wrapper .btn {
	padding: 6px 14px;
	font-size: 12px;
}

#basemaps-wrapper .bootstrap-select {
	width: 112px;
}

#basemaps-wrapper .bootstrap-select .dropdown-menu {
	padding: 0 5px;
	margin: -1px 0 0 0;
}

#basemaps-wrapper .bootstrap-select .dropdown-menu.inner {
	padding: 0;
}

#basemaps-wrapper .bootstrap-select .dropdown-menu li {
	margin: 5px 0;
}

#basemaps-wrapper .bootstrap-select .dropdown-menu li a {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	text-align: left;
	line-height: 1.2;
	padding: 8px 10px;
	font-size: 12px;
}

#basemaps-wrapper .bootstrap-select .dropdown-menu>.active>a {
	color: #000;
	text-decoration: none;
	outline: 0;
	background-color: #e6e6e6;
	background-image: -moz-linear-gradient(top, #e6e6e6, #e6e6e6);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#e6e6e6));
	background-image: -webkit-linear-gradient(top, #e6e6e6, #e6e6e6);
	background-image: -o-linear-gradient(top, #e6e6e6, #e6e6e6);
	background-image: linear-gradient(to bottom, #e6e6e6, #e6e6e6);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffe6e6e6', GradientType=0);
}

#basemaps-wrapper .bootstrap-select .dropdown-menu>li>a:hover, 
#basemaps-wrapper .bootstrap-select .dropdown-menu>li>a:focus,
#basemaps-wrapper .bootstrap-select .dropdown-menu>.active>a:hover, 
#basemaps-wrapper .bootstrap-select .dropdown-menu>.active>a:focus {
	color: #ffffff;
	text-decoration: none;
	outline: 0;
	background-color: #fa824c;
	background-image: -moz-linear-gradient(top, #fa824c, #597423);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fa824c), to(#597423));
	background-image: -webkit-linear-gradient(top, #fa824c, #597423);
	background-image: -o-linear-gradient(top, #fa824c, #597423);
	background-image: linear-gradient(to bottom, #fa824c, #597423);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff9AB26B', endColorstr='#ff597423', GradientType=0);
}

/* make room for Esri basemap switcher which isn't using leaflet panes! */
.leaflet-top.leaflet-right {
	top: 50px;
}

/* geoJSON from leaflet-elevation */
path.leaflet-interactive:not([stroke-width]) {
	stroke-width: 5;
	/*stroke-opacity: 0.75;*/
}

.map-theme-placemarker {

}

.leaflet-container {
	font-size: 12px;
	line-height: 1.5;
	/* font-family intentionally omitted — inherits from WordPress theme */
	font-weight: 300;
}

.leaflet-popup-content-wrapper {
	max-width: 300px;
}

.info-popups-v2 .leaflet-popup-content-wrapper {
	max-width: none;
}

.leaflet-popup-content {
	margin: 6px 10px;
	line-height: 1.1;
}

.leaflet-popup-content p.leaflet-popup-content-inner-p {
	margin: 0 0 7px 0;
}

.leaflet-popup-content p.leaflet-popup-content-inner-p.leaflet-popup-content-name {
	font-weight: bold;
	font-size: 14px;
}

/*
#map .leaflet-control-attribution a[href*="leafletjs"] {
	display: none;
}
*/

#map.leaflet-container .leaflet-control-attribution, 
#map.leaflet-container .leaflet-control-scale {
	font-size: 12px;
}

#map.leaflet-container .leaflet-control-attribution {
	text-align: right;
	margin-right: 0;
	border-top-left-radius: 12px;
}
#map.leaflet-container .leaflet-control-attribution .attribution-theme-text {
	/* new line below */
	display: block; 
	text-align: right;
	
	/* font-family intentionally omitted — inherits from WordPress theme */
	font-weight: 700;
}
#map.leaflet-container .leaflet-control-attribution .attribution-theme-text-version {
	/* font-family intentionally omitted — inherits from WordPress theme */
	font-weight: 300;
}

.watermark-theme-logo {
	-webkit-filter: drop-shadow( 1px 1px 4px rgba(0, 0, 0, 0.4));
	filter: drop-shadow( 1px 1px 4px rgba(0, 0, 0, 0.4));
}
@media (max-width: 500px) {
	.watermark-theme-logo {
		width: 120px !important;
		max-width: 120px !important;
	}
}


.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	max-width: 225px;
	max-width: 260px;
}

.leaflet-control-layers-base,
.leaflet-control-layers-overlays {
	display: flex;
	flex-direction: column;
}

.leaflet-control-layers-base label,
.leaflet-control-layers-overlays label {
	border-bottom: 1px solid #ccc;
	margin: 4px 0;
}
.leaflet-control-layers-base label,
.leaflet-control-layers-overlays label {
	border-bottom: 1px solid #ccc;
	margin: 0;
	padding: 3px 0;
	
	font-size: 13px;
}
.leaflet-control-layers-base label.legend-type-feature,
.leaflet-control-layers-overlays label.legend-type-feature {
	border-bottom: 0;
}

.leaflet-control-layers-base label:first-child,
.leaflet-control-layers-overlays label:first-child {
	margin-top: 0;
}

.leaflet-control-layers-base label:last-child,
.leaflet-control-layers-overlays label:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}

.leaflet-control-layers-base label div,
.leaflet-control-layers-base label div .map-theme-legend-trail-name,
.leaflet-control-layers-overlays label div,
.leaflet-control-layers-overlays label div .map-theme-legend-trail-name,
input[type="radio"].leaflet-control-layers-selector, 
input[type="checkbox"].leaflet-control-layers-selector {
	line-height: 17px;
}

.leaflet-control-layers-base label div,
.leaflet-control-layers-overlays label div {
	display: flex;
    align-items: center;
}

.leaflet-control-layers-base label div > span,
.leaflet-control-layers-overlays label div > span {
	display: flex;
    align-items: center;
	width: 100%;
}

input[type="radio"].leaflet-control-layers-selector, 
input[type="checkbox"].leaflet-control-layers-selector {
	margin: 0;
}

.map-theme-legend-trail-color,
.leaflet-control-layers-base label div .map-theme-legend-trail-color,
.leaflet-control-layers-overlays label div .map-theme-legend-trail-color,

.map-theme-legend-icon,
.leaflet-control-layers-base label div .map-theme-legend-icon,
.leaflet-control-layers-overlays label div .map-theme-legend-icon {
	display: inline-block;
	width: 14px;
	height: 5px;
	margin: 0 6px 0 5px;
}
.map-theme-legend-icon,
.leaflet-control-layers-base label div .map-theme-legend-icon,
.leaflet-control-layers-overlays label div .map-theme-legend-icon {
	height: 17px;
	
	width: 22px;
    height: 26px;
    margin: -2px 3px -3px 2px;
	
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.map-theme-legend-trail-name,
.leaflet-control-layers-base label div .map-theme-legend-trail-name,
.leaflet-control-layers-overlays label div .map-theme-legend-trail-name {
	display: inline-block;
    vertical-align: middle;
    line-height: 15px;
	/*
	max-width: 153px;
	*/
	width: calc(100% - 14px);
}

.map-theme-legend-action-icon {
	display: block;
    float: right;
	width: 17px;
	height: 17px;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
}
	
.map-theme-legend-action-icon.map-theme-legend-zoom-to-section {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' data-name='Layer 1' viewBox='0 0 17 17'%3E%3Cpath fill='%23333333' d='m17 15.23-4.44-4.44A6.901 6.901 0 0 0 6.91-.07C3.1-.07 0 3.02 0 6.84s3.09 6.91 6.91 6.91c1.47 0 2.84-.46 3.96-1.25l4.44 4.44 1.7-1.7ZM1.7 6.84c0-2.87 2.34-5.21 5.21-5.21s5.21 2.34 5.21 5.21-2.34 5.21-5.21 5.21S1.7 9.71 1.7 6.84Z'/%3E%3C/svg%3E");
	width: 13px;
	background-position: bottom center;
	margin-right: 5px;
}
.leaflet-map-legend-tabs-content .map-theme-legend-action-icon.map-theme-legend-zoom-to-section {
	width: 23px;
	margin-right: 0;
}
.map-theme-legend-action-icon.map-theme-legend-show-elevation {
	width: 22px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 17'%3E%3Cpath fill='%23333333' d='M1.34 9.59c-.17 0-.34-.09-.43-.25a.493.493 0 0 1 .18-.68L6.6 5.41h1.77l2.16-2c.2-.19.52-.18.71.03.19.2.17.52-.03.71L8.77 6.41H6.88L1.61 9.52c-.08.05-.17.07-.25.07Z'/%3E%3Cpath fill='%23333333' d='m11.67 6.4-1-.08.17-2.48-2.47-.01v-1l3.55.02-.25 3.55zM23 12.06l-5.5-5.48a.749.749 0 0 0-1.04 0l-1.01 1.01h-2.16c-.2 0-.38.08-.52.22l-2.25 2.25H8.37c-.13 0-.27.04-.38.1L0 14.98v-1.75l7.23-4.34c.34-.21.74-.32 1.14-.32h1.54l1.81-1.81c.42-.42.97-.65 1.57-.65h1.54l.58-.58c.84-.84 2.3-.84 3.13 0l4.45 4.45v2.07Z'/%3E%3C/svg%3E");
}
.leaflet-map-legend-tabs-content .map-theme-legend-action-icon.map-theme-legend-show-elevation {
	width: 28px;
}

.leaflet-control-layers {
	padding: 0 6px 6px 6px;
}
@media screen and (min-width: 768px) {
	.leaflet-control-layers .leaflet-control-layers-toggle {
		display: none !important;
	}
	.leaflet-control-layers .leaflet-control-layers-list {
		display: block !important;
	}
	.leaflet-control-layers {
		padding: 0 6px 6px 6px;
		color: #000;
		background: #fff;
	}
}

.leaflet-control-layers-overlays .overlay-legend-type {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	margin-left: -6px;
	margin-right: -6px;
	width: calc(100% + 12px);
	background: #cccccc;
}
.leaflet-control-layers-overlays .overlay-legend-type p {
	margin: 0 !important;
}
.leaflet-control-layers-overlays .overlay-legend-type.overlay-legend-type-before-features {
	margin-top: -1px;
}

.leaflet-control-layers-overlays .overlay-legend-type.overlay-legend-type-before-trail {
	order: 0;
}
.leaflet-control-layers-overlays > label.legend-type-trail {
	order: var(--data-overlay-order);
}
.leaflet-control-layers-overlays .overlay-legend-type.overlay-legend-type-before-features {
	order: 100;
}
.leaflet-control-layers-overlays > label.legend-type-feature {
	order: var(--data-overlay-order);
}


/* pop up for parks, regions */
.leaflet-popup-container {
	display: flex;
	flex-direction: row;
}

.leaflet-popup-content-column {
	flex: 0 0 50%;
    max-width: 50%;
}

.leaflet-popup-content-column.leaflet-popup-content-column-image {
	max-width: 150px;
}

.leaflet-popup-content-column.leaflet-popup-content-column-text {
	flex-basis: 100%;
	max-width: 100%;
}

.leaflet-popup-content-column.leaflet-popup-content-column-text.contains-image {
	flex-basis: calc(100% - 150px);
    max-width: calc(100% - 150px);
}

@media screen and (max-width: 600px) {
	.leaflet-popup-content-column.leaflet-popup-content-column-text.contains-image {
		flex-basis: 100%;
		max-width: 100%;
	}
	
	.leaflet-popup-content-column.leaflet-popup-content-column-image {
		display: none;
	}
}

.info-popups-v2 .leaflet-popup-content {
    margin: 0;
	padding: 6px 10px;
    box-sizing: border-box;
}

.leaflet-popup-container img {
	max-width: calc(100% - 10px);
}

.leaflet-popup-content-column p {
	margin: 5px 0 5px;
    font-size: 16px;
    line-height: 1.2;
}

.leaflet-popup-content-name {
	margin: 0 0 5px 0;
    font-size: 19px;
    line-height: 1.1;
}

.leaflet-popup-content-column p.leaflet-popup-content-excerpt {
	font-size: 14px;
}

.leaflet-popup-content-column .leaflet-popup-content-name + p.leaflet-popup-content-length,
.leaflet-popup-content-column .leaflet-popup-content-name + p.leaflet-popup-content-park {
	margin-top: -3px;
}

.leaflet-popup-content-column .leaflet-popup-content-name + p.leaflet-popup-content-park + p.leaflet-popup-content-length {
	margin-top: -7px;
}

.leaflet-popup-content-inner-btn.read-more-button {
    margin-top: 0;
    margin-bottom: 3px;
    padding: 4px 10px;
    display: inline-block;
    clear: both;
    background: #fa824c;
    color: #FFF;
    text-decoration: none;
    /* font-family intentionally omitted — inherits from WordPress theme */
	font-weight: 700;
    -webkit-transition: background-color 500ms ease-in;
    -moz-transition: background-color 500ms ease-in;
    -o-transition: background-color 500ms ease-in;
    transition: background-color 500ms ease-in;
}

.leaflet-popup-content-inner-btn.read-more-button a.read-more-link {
    display: block;
    font-size: 16px;
    line-height: 1;
    color: #FFF;
    text-decoration: none;
}

.map-type-area .elevation-detached .elevation svg {
	width: 100% !important;
}

.lime-theme.elevation-control.elevation .legend-altitude .area {
	stroke-dasharray: 50,70;
	stroke-width: 3px;
}

.leaflet-popup-content-dl {
	display: grid;
	grid-gap: 7px 16px;
	grid-template-columns: 118px 1fr;
	margin: 0;
}
.leaflet-popup-content-dt {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
}
.leaflet-popup-content-dd {
	margin: 0;
	grid-column-start: 2;
	font-size: 14px;
	line-height: 1.2;
}
.leaflet-popup-content-dd.leaflet-popup-content-name,
.leaflet-popup-content-dd.leaflet-popup-content-image {
	grid-column: 1 / 3;
}
.leaflet-popup-content-dd p,
.leaflet-popup-content-dd h1,
.leaflet-popup-content-dd h2,
.leaflet-popup-content-dd h3,
.leaflet-popup-content-dd h4,
.leaflet-popup-content-dd h5,
.leaflet-popup-content-dd h6 {
	font-size: 14px;
	line-height: 1.2;
	margin: 0;
}
.leaflet-popup-content-dd.leaflet-popup-content-name h3 {
    font-size: 17px;
	margin: 0;
	margin-bottom: 0;
    padding-bottom: 3px;
}

/* show related coloured line beneath heading */
.leaflet-popup-content-dd.leaflet-popup-content-name h3 {
    position: relative;
}
.leaflet-popup-content-dd.leaflet-popup-content-name h3:after {
    content: "";
	position: absolute;
	height: 2px;
    background: white;
	background-color: var(--data-color-line, #cccccc);
    width: 100%;
	left: 0;
    bottom: -1px;
}

.leaflet-popup-easy-select {
	/* Select all text with just ONE click */
	user-select: all;
}

.leaflet-popup-content-dd a {
	/* These are technically the same, but use both */
	overflow-wrap: break-word;
	word-wrap: break-word;

	-ms-word-break: break-all;
	/* This is the dangerous one in WebKit, as it breaks things wherever */
	word-break: break-all;
	/* Instead use this non-standard one: */
	word-break: break-word;

	/* Adds a hyphen where the word breaks, if supported (No Blink) */
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.popup-firebandistrict .leaflet-popup-content-dt,
.popup-firebandistrict .leaflet-popup-content-dd,
.popup-tourismregion .leaflet-popup-content-dt,
.popup-tourismregion .leaflet-popup-content-dd {
	grid-column: 1 / 3;
}

.leaflet-control.leaflet-map-legend-custom {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(255,255,255,0.9);
	margin: 0;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	
	background: #fff;
	border-radius: 6px;
    border: 2px solid #cccccc;
	border-top: 0;
	
	min-width: 268px;
}

.leaflet-map-legend-heading {
	font-size: 13px;
	line-height: 1.2;
    font-weight: bold;
    text-align: center;
	color: #000;
	margin: 0;
	padding: 2px 0;
	
	margin-left: -2px;
	margin-right: -2px;
    background: #cccccc;
	border: 2px solid #cccccc;
	border-bottom: 0;
}
.leaflet-map-legend-heading.leaflet-map-legend-heading-primary {
	border-radius: 6px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.leaflet-map-legend-group.leaflet-map-legend-group-secondary {
	margin-top: 3px;
}

.leaflet-map-legend-intro {
	font-size: 13px;
	line-height: 1.2;
    font-weight: normal;
    text-align: center;
	color: #000;
	margin: 0;
	padding: 4px 0 0 0;
	
	background: #fff;
}

.leaflet-control-layers-custom-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.leaflet-control-layers-custom-list .leaflet-map-legend-item {
	display: flex;
    flex-direction: row;
    align-items: center;
	gap: 7px;
	
	border-bottom: 1px solid #ccc;
	margin: 0;
	padding: 3px 0;
	font-size: 13px;
}
.leaflet-map-legend-content-features .leaflet-control-layers-custom-list .leaflet-map-legend-item {
	padding: 2px 0;
}
.leaflet-control-layers-custom-list .leaflet-map-legend-item:last-child {
	border-bottom: none;
}
.leaflet-map-legend-content-features .leaflet-control-layers-custom-list .leaflet-map-legend-item {
	gap: 0;
}
.leaflet-map-legend-item .map-theme-legend-trail-color {
	margin: 0;
}
.leaflet-map-legend-item label {
	border-bottom: 0;
	margin: 0;
	padding: 0;
	font-size: 13px;
}

.leaflet-map-legend-tabs-nav {
	overflow: hidden;
	border: 0;
	background-color: #fff;
	
	position: relative;
	margin-top: 6px;
}

.leaflet-map-legend-tabs-nav button {
	background-color: transparent;
	border: none;
	outline: none;
	cursor: pointer;
	padding: 1px 3px 0 3px;
	transition: 0.3s;
	
	font-size: 13px;
    font-weight: normal;
    line-height: 1.2;
    font-weight: bold;
	color: #000;
	
	border-radius: 0;
	border: none;
	border-bottom: 1px solid #ccc;
	
	margin-bottom: -1px;
	
	position: relative;
}
.leaflet-map-legend-tabs-nav button:first-child {
	padding-left: 6px;
}
.leaflet-map-legend-tabs-nav button:last-child {
	padding-right: 6px;
}

.leaflet-map-legend-tabs-nav button span { 
	padding: 1px 8px;
    border: 1px solid #ccc;
	border-radius: 4px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
    background: #ccc;
}

.leaflet-map-legend-tabs-nav button:active span { 
	background: #fff;
    border-bottom: 1px solid #fff;
}

.leaflet-map-legend-tabs-nav:before, 
.leaflet-map-legend-tabs-nav:after {
	content: "";
    border-bottom: 1px solid #ccc;
    bottom: 0;
    position: absolute;
    width: 100%;
}
.leaflet-map-legend-tabs-nav:before {
	left: -100%;
}

.leaflet-map-legend-tabs-nav button:hover {
	background-color: transparent !important;
}

.leaflet-map-legend-tabs-nav button:hover span {
	background-color: #bbb;
}

.leaflet-map-legend-tabs-nav button.active {
	background-color: #fff;
	border: none;
    border-bottom: 1px solid #ccc;
	
	margin-bottom: -2px;
    padding-bottom: 1px;
}
.leaflet-map-legend-tabs-nav button.active:before {
	content: "";
    border-bottom: 1px solid #ccc;
    bottom: 0;
    position: absolute;
    width: 6px;
    left: 0;
}
.leaflet-map-legend-tabs-nav button.active:after {
	content: "";
    border-bottom: 1px solid #ccc;
    bottom: 0;
    position: absolute;
    width: 6px;
	width: 4px;
    right: 0;
}

.leaflet-map-legend-tabs-nav button.active span {
    background: transparent;
    border-bottom: 2px solid #fff;
}

.leaflet-map-legend-tabs-content {
	padding: 0px 7px;
	border: none;
}
.leaflet-map-legend-tabs-content {
    border: none;
}
.leaflet-map-legend-tabs-content:not(.active) {
	display: none;
}

.leaflet-map-legend-tabs-content-desc {
    text-align: left;
    margin: 5px 0 0 0;
    line-height: 1.2;
}

.leaflet-map-legend-group.leaflet-map-legend-group-secondary .leaflet-control-layers-custom-list {
	padding: 0px 7px;
}

.leaflet-control-layers-custom-below {
	padding: 3px 7px 5px 7px;
	background: #cccccc;
}

.leaflet-control-layers-custom-below p {
	margin: 4px 0 0 0;
    line-height: 1.2;
}

.leaflet-control-layers-custom-below a {
	text-decoration: underline;
	color: #000 !important;
}


/* -------------------------------------------------------
   Basemap switcher — plain <select> styled without Bootstrap
   (bootstrap-select dependency removed)
------------------------------------------------------- */
#basemaps-wrapper {
    z-index: 999;
	
	max-height: 40px;
}

#basemaps-wrapper select#basemaps {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23555'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 10px 6px;
    min-width: 130px;
}

#basemaps-wrapper select#basemaps:hover {
    border-color: rgba(0,0,0,0.5);
}

/* Fix #5: outline:none was removing the only focus indicator, failing WCAG 2.4.7.
   Replaced with a consistent 2px blue outline matching the pill button focus style. */
#basemaps-wrapper select#basemaps:focus-visible {
    outline: 2px solid #1a73e8;
    outline-offset: 2px;
    border-color: rgba(0,0,0,0.5);
}


.map-wrapper-after {
	margin: 10px 0;
	clear: both;
}

.leaflet-right .leaflet-control {
	margin-right: 12px;
}