.gbb{
	--gbb-text:#45444A;
	--gbb-green:#3B7A75;
	--gbb-mid:#89AFA7;
	--gbb-light:#BDDBD4;
	--gbb-dark:#013F3E;
	font-family:var(--gb-font,'Montserrat',system-ui,sans-serif);
	color:var(--gbb-text);
	position:relative;
	width:100%;max-width:100%;min-width:0;
	margin:0 0 32px;
}
.gbb,.gbb *,.gbb *::before,.gbb *::after{box-sizing:border-box}
.gbb-hidden{display:none!important}

/* ---------- Search bar (same look as the municipalities map) ---------- */
.gbb .gbb-bar{
	display:flex;align-items:center;gap:10px;
	width:100%;height:36px;padding:0 16px 0 18px;
	background:#fff;border:1px solid var(--gbb-green);border-radius:999px;
	transition:border-color .2s ease;
}
.gbb .gbb-bar:focus-within{border-color:var(--gbb-dark)}
.gbb .gbb-bar .gbb-input,.gbb input.gbb-input{
	flex:1 1 auto;min-width:0;height:100%;margin:0!important;padding:0!important;
	border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;
	font:600 13px/1 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;color:var(--gbb-dark)!important;-webkit-text-fill-color:var(--gbb-dark)!important;
	-webkit-appearance:none;appearance:none;
}
.gbb .gbb-input::placeholder{color:var(--gbb-dark);-webkit-text-fill-color:var(--gbb-dark);opacity:1}
.gbb .gbb-input::-webkit-search-cancel-button,.gbb .gbb-input::-webkit-search-decoration{-webkit-appearance:none;display:none}
.gbb .gbb-clear{
	display:flex!important;align-items:center;justify-content:center;flex:none;
	width:20px!important;height:20px!important;min-height:0!important;margin:0 -2px 0 0!important;padding:0!important;
	background:none!important;color:var(--gbb-dark)!important;border:0!important;border-radius:50%!important;box-shadow:none!important;
	cursor:pointer;transition:background-color .2s ease;
}
.gbb .gbb-clear[hidden]{display:none!important}
.gbb .gbb-clear svg{display:block;flex:none;width:12px;height:12px}
.gbb .gbb-clear:hover{background:rgba(189,219,212,.6)!important}
.gbb .gbb-clear:focus-visible{outline:2px solid var(--gbb-dark)!important;outline-offset:1px}
.gbb .gbb-ico{flex:none;width:16px;height:16px;color:var(--gbb-dark)}

/* ---------- Filters ---------- */
.gbb .gbb-filters{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.gbb .gbb-f{position:relative}
.gbb .gbb-fbtn{
	display:inline-flex!important;align-items:center;gap:8px;
	height:34px!important;min-height:0!important;margin:0!important;padding:0 16px!important;
	background:#fff!important;color:var(--gbb-dark)!important;
	border:1px solid var(--gbb-green)!important;border-radius:999px!important;box-shadow:none!important;
	font:600 13px/1 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;text-transform:none!important;letter-spacing:0!important;
	cursor:pointer;transition:background-color .2s ease,color .2s ease;
}
.gbb .gbb-fbtn svg{flex:none;width:10px;height:6px;transition:transform .2s ease}
.gbb .gbb-fbtn[aria-expanded="true"] svg{transform:rotate(180deg)}
.gbb .gbb-fbtn:hover{background:var(--gbb-light)!important}
.gbb .gbb-fbtn.is-on{background:var(--gbb-green)!important;color:#fff!important}
.gbb .gbb-fbtn.is-on:hover{background:var(--gbb-dark)!important}
.gbb .gbb-fbtn:focus-visible{outline:2px solid var(--gbb-dark)!important;outline-offset:2px}

.gbb .gbb-panel{
	position:absolute;z-index:20;top:calc(100% + 6px);left:0;
	width:max-content;min-width:240px;max-width:min(340px,calc(100vw - 32px));
	background:#fff;border:1px solid var(--gbb-light);border-radius:14px;
	box-shadow:0 8px 24px rgba(1,63,62,.18);overflow:hidden;
}
.gbb .gbb-panel[hidden]{display:none}
.gbb .gbb-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--gbb-light)}
.gbb .gbb-panel-title{font-size:12px;font-weight:700;color:var(--gbb-dark)}
.gbb .gbb-clearf{
	margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;
	font:600 12px/1 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;color:var(--gbb-green)!important;text-decoration:underline;text-transform:none!important;cursor:pointer;
}
.gbb .gbb-clearf:hover{color:var(--gbb-dark)!important}
.gbb .gbb-list{max-height:280px;overflow-y:auto;padding:6px 0}
.gbb .gbb-opt{display:flex;align-items:center;gap:10px;margin:0;padding:7px 16px;font-size:13px;font-weight:500;line-height:1.3;color:var(--gbb-text);cursor:pointer}
.gbb .gbb-opt:hover{background:rgba(189,219,212,.35)}
.gbb .gbb-opt input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--gbb-green);cursor:pointer}
.gbb .gbb-opt input:focus-visible{outline:2px solid var(--gbb-dark);outline-offset:2px}

/* ---------- Active filter chips ---------- */
.gbb .gbb-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0}
.gbb .gbb-chips[hidden]{display:none}
.gbb .gbb-chip{
	display:inline-flex!important;align-items:center;gap:6px;
	height:26px!important;min-height:0!important;margin:0!important;padding:0 10px 0 12px!important;
	background:var(--gbb-light)!important;color:var(--gbb-dark)!important;border:0!important;border-radius:999px!important;box-shadow:none!important;
	font:600 12px/1 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;
}
.gbb .gbb-chip:hover{background:var(--gbb-mid)!important}
.gbb .gbb-chip svg{flex:none;width:8px;height:8px}
.gbb .gbb-chip:focus-visible{outline:2px solid var(--gbb-dark)!important;outline-offset:2px}
.gbb .gbb-clearall{
	margin:0 0 0 4px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;
	font:600 12px/1 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;color:var(--gbb-green)!important;text-decoration:underline;text-transform:none!important;cursor:pointer;
}
.gbb .gbb-clearall:hover{color:var(--gbb-dark)!important}

/* ---------- Status + results ---------- */
.gbb .gbb-status{margin:18px 0 0;padding:0;font-size:13px;font-weight:600;line-height:1.4;color:var(--gbb-green)}
.gbb .gbb-status:empty{display:none}
.gbb .gbb-results{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;
	margin:18px 0 0;padding:0;
}
.gbb .gbb-results[hidden]{display:none}
.gbb .gbb-card{
	min-width:0;padding:20px 22px 22px;border-radius:16px;
	background:rgba(189,219,212,.3);
}
.gbb .gbb-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 14px}
.gbb .gbb-city{margin:0 0 6px;padding:0;border:0;font-size:15px;font-weight:700;line-height:1.3;color:var(--gbb-dark)}
.gbb .gbb-tag{
	display:inline-block;padding:3px 10px;border-radius:999px;
	background:var(--gbb-green);color:#fff;font-size:11px;font-weight:600;line-height:1.4;
}
.gbb .gbb-copy{
	display:inline-flex!important;align-items:center;gap:6px;flex:none;white-space:nowrap;
	height:26px!important;min-height:0!important;margin:0!important;padding:0 10px!important;
	background:none!important;color:var(--gbb-dark)!important;border:1px solid var(--gbb-mid)!important;border-radius:999px!important;box-shadow:none!important;
	font:600 11px/1 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;
	transition:background-color .2s ease;
}
.gbb .gbb-copy svg{flex:none;width:12px;height:12px}
.gbb .gbb-copy:hover{background:var(--gbb-light)!important}
.gbb .gbb-copy:focus-visible{outline:2px solid var(--gbb-dark)!important;outline-offset:2px}
.gbb .gbb-group{margin:0 0 14px}
.gbb .gbb-card > .gbb-group:last-child{margin-bottom:0}
.gbb .gbb-line{display:block;font-size:11.5px;font-weight:400;line-height:1.5;color:var(--gbb-text);overflow-wrap:anywhere}
.gbb .gbb-role{margin:0 0 2px;font-size:13px;font-weight:700;line-height:1.35;color:var(--gbb-text)}
.gbb mark{background:#BDDBD4;color:var(--gbb-dark);padding:0 1px;border-radius:3px}

.gbb .gbb-more{
	display:flex!important;align-items:center;justify-content:center;
	height:34px!important;min-height:0!important;margin:24px auto 0!important;padding:0 24px!important;
	background:var(--gbb-green)!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:none!important;
	font:700 13px/1 var(--gb-font,'Montserrat',system-ui,sans-serif)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;
	transition:background-color .2s ease;
}
.gbb .gbb-more[hidden]{display:none!important}
.gbb .gbb-more:hover{background:var(--gbb-dark)!important}
.gbb .gbb-more:focus-visible{outline:2px solid var(--gbb-dark)!important;outline-offset:2px}

@media (max-width:640px){
	.gbb .gbb-results{grid-template-columns:minmax(0,1fr)}
	.gbb .gbb-filters{gap:8px}
}
@media (prefers-reduced-motion:reduce){
	.gbb .gbb-bar,.gbb .gbb-fbtn,.gbb .gbb-fbtn svg,.gbb .gbb-copy,.gbb .gbb-more,.gbb .gbb-clear{transition:none}
}
