/* UGG Seitensuche – Overlay + Ergebnisseite. Ruhig, gleiche Sprache wie die Gemeindesuche. */
.us, .ugg-sr {
	--us-ink: #1b1b1b;
	--us-muted: #6b6f6d;
	--us-line: #e3e5e4;
	--us-soft: #f4f5f4;
	--us-green: #41b991;
	--us-green-t: #23805f;
	--us-hover: #edf8f3;
	--us-ease: cubic-bezier(.2, .8, .2, 1);
	font-family: Poppins, system-ui, sans-serif;
	color: var(--us-ink);
}

/* altes Bricks-Akkordeon („Wonach suchen Sie?“ springt unter dem Header auf) nicht mehr zeigen */
.search-icon-header .button-search-content { display: none !important; }
/* Lupe-Bubble näher an die Telesales-Box (Box endet bei 90 + ~120 px; vorher top 234 px); seitenbezogene !important-Regeln aus Bricks gelten weiter */
#brxe-cdwxuw.search-icon-header { top: 212px; }

html.us-open { overflow: hidden; }
.us { position: fixed; inset: 0; z-index: 100003; }
.us[hidden] { display: none; }
.us__backdrop { position: absolute; inset: 0; background: rgba(250, 250, 249, .55); -webkit-backdrop-filter: blur(10px) saturate(120%); backdrop-filter: blur(10px) saturate(120%); opacity: 0; transition: opacity .35s ease; }
.us.is-open .us__backdrop { opacity: 1; }

.us__panel {
	position: absolute; top: var(--us-top, 96px); left: 50%; width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - var(--us-top, 96px) - 24px);
	display: flex; flex-direction: column; transform-origin: 50% 0; margin-left: calc(min(680px, calc(100vw - 32px)) / -2);
	background: #fff; border: 1px solid var(--us-line); border-radius: 24px; box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .04); overflow: hidden;
}
.us__bar { position: relative; display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 10px 10px 18px; border-bottom: 1px solid transparent; transition: border-color .2s; }
.us.has-value .us__bar, .us__panel:has(.us__body:not(:empty)) .us__bar { border-bottom-color: var(--us-line); }
.us__icon { flex: none; width: 22px; height: 22px; fill: none; stroke: var(--us-ink); stroke-width: 2; stroke-linecap: round; }
.us .us__input {
	flex: 1; min-width: 0; height: 48px; margin: 0; padding: 0 4px !important; border: 0 !important; border-radius: 0 !important; outline: none; background: transparent !important; box-shadow: none !important;
	font: 500 18px/1.2 Poppins, system-ui, sans-serif; color: var(--us-ink); -webkit-appearance: none; appearance: none;
}
.us .us__input::placeholder { color: #6f7371; font-weight: 400; }
.us .us__input::-webkit-search-cancel-button { display: none; }
.us__clear, .us__close { flex: none; display: inline-grid; place-items: center; height: 36px; border: 0; background: var(--us-soft); color: var(--us-ink); cursor: pointer; transition: background-color .2s, opacity .2s, transform .25s var(--us-ease); }
.us__clear { width: 36px; height: 36px; border-radius: 50%; opacity: 0; transform: scale(.7); pointer-events: none; }
.us.has-value .us__clear { opacity: 1; transform: none; pointer-events: auto; }
.us__close { display: inline-flex; align-items: center; gap: 6px; padding: 0 12px; border-radius: 18px; font: 600 12px Poppins, sans-serif; color: var(--us-muted); }
.us__clear:hover, .us__close:hover { background: #e9ebea; color: var(--us-ink); }
.us__clear svg, .us__close svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.us__cancel { display: none; }

/* feine Ladelinie statt Spinner */
.us__progress { position: relative; height: 2px; margin-top: -1px; overflow: hidden; }
.us__progress::after { content: ""; position: absolute; top: 0; left: -40%; width: 40%; height: 100%; background: linear-gradient(90deg, transparent, var(--us-green), transparent); opacity: 0; }
.us.is-loading .us__progress::after { opacity: 1; animation: us-load 1s var(--us-ease) infinite; }
@keyframes us-load { to { left: 100%; } }

.us__body { overflow-y: auto; overscroll-behavior: contain; padding: 6px 8px 8px; scrollbar-width: thin; }
.us__body:empty { display: none; }
.us__group { margin: 10px 12px 4px; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--us-muted); }
.us__row {
	display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 14px; color: var(--us-ink) !important; text-decoration: none !important;
	animation: us-in .34s var(--us-ease) both; animation-delay: calc(var(--i, 0) * 18ms); transition: background-color .15s ease;
}
@keyframes us-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.us__row.is-kept, .us__hint.is-kept { animation: none; }
/* Symbol-Kachel je Typ, Thumbnail bei Beiträgen */
.us__tile { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--us-soft); color: #3d4240; overflow: hidden; }
.us__tile svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.us__tile--gemeinden, .us__tile--ihre_gemeinde { background: #e7f5ef; color: var(--us-green-t); }
.us__tile--faqs, .us__tile--frage { background: #eef2fb; color: #33508f; }
.us__tile--downloads { background: #fbefe9; color: #b2442a; }
.us__tile--img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.us__row--bet .us__tile { background: var(--us-green-t); color: #fff; }
.us__grp--direkt { margin: 2px 0 6px; padding-bottom: 6px; border-bottom: 1px solid var(--us-line); }
.us__row--bet .us__title { font-weight: 600; }
.us__sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
.us__plz { font-size: 13px; color: var(--us-muted); }
.us__phase { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 500; color: #3d4240; }
.us__dot { width: 8px; height: 8px; border-radius: 50%; background: #b9bdbb; }
.us__phase--1 .us__dot { background: #f0a33a; }
.us__phase--2 .us__dot { background: #6f9bd6; }
.us__phase--3 .us__dot { background: #e55c3d; }
.us__phase--4 .us__dot { background: var(--us-green); }
.us__ftype { padding: 2px 7px; border-radius: 6px; background: var(--us-soft); font-weight: 600; font-size: 11.5px; letter-spacing: .03em; }
.us__all .us__main { padding-left: 54px; }
/* sichtbarer Fokus bei Tastaturbedienung (Pfeiltasten über aria-activedescendant bzw. Tab) */
.us.is-kb .us__row.is-active { box-shadow: inset 0 0 0 2px var(--us-green-t); }
.us :focus-visible, .ugg-sr :focus-visible { outline: 2px solid var(--us-green-t); outline-offset: 2px; }
.us .us__input:focus-visible { outline: none; }
.us__hint a { color: var(--us-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.us__row.is-active, .us__row:hover { background: var(--us-hover); }
.us__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.us__title { font-size: 15px; font-weight: 500; line-height: 1.35; }
.us__snip { font-size: 13px; line-height: 1.45; color: var(--us-muted); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.us__meta { flex: none; font-size: 12.5px; color: var(--us-muted); white-space: nowrap; }
.us mark, .ugg-sr mark { background: none; color: inherit; font-weight: 700; padding: 0; }
.us__go { flex: none; width: 17px; height: 17px; fill: none; stroke: var(--us-green-t); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform: translateX(-6px); transition: opacity .2s, transform .3s var(--us-ease); }
.us__row.is-active .us__go, .us__row:hover .us__go { opacity: 1; transform: none; }
.us__all { margin-top: 6px; padding-top: 14px; padding-bottom: 6px; border-top: 1px solid var(--us-line); border-radius: 0 0 14px 14px; } /* mit Body-Abstand unten optisch mittig: 15 px oben und unten */
.us__all .us__title { font-weight: 600; font-size: 14px; }
.us__all .us__go { opacity: 1; transform: none; }
.us__hint { padding: 16px 12px 10px; font-size: 14px; line-height: 1.5; color: var(--us-muted); animation: us-in .34s var(--us-ease) both; }
.us__hint p { margin: 0; }
.us__hint-title { margin-bottom: 2px !important; color: var(--us-ink); font-weight: 600; font-size: 15px; }
.us__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.us__chip { min-height: 40px; padding: 7px 14px; border: 1px solid var(--us-line); border-radius: 30px; background: #fff; color: var(--us-ink); font: 500 13.5px Poppins, sans-serif; cursor: pointer; transition: border-color .2s, background-color .2s; }
.us__chip:hover { border-color: var(--us-green); background: var(--us-hover); }
.us__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.us.is-leaving .us__panel { opacity: .75; transition: opacity .2s; }

@media (max-width: 639px) {
	.us__backdrop { background: rgba(255, 255, 255, .96); }
	.us__panel { top: 0; left: 0; margin: 0; width: 100%; height: 100%; max-height: none; border: 0; border-radius: 0; box-shadow: none; padding-top: env(safe-area-inset-top); }
	.us__bar { padding: 10px 10px 10px 16px; }
	.us .us__input { font-size: 17px; }
	.us__kbd { display: none; }
	.us__close { padding: 0 6px 0 8px; background: none; font-size: 15px; font-weight: 500; color: var(--us-green-t); }
	.us__close:hover { background: none; color: var(--us-ink); }
	.us__cancel { display: inline; }
	.us__body { flex: 1; padding: 4px 6px 24px; }
	.us__row { padding: 10px 10px; gap: 12px; }
	.us__all { padding: 14px 10px; } /* mobil Vollbild: kein Panelrand unten */
	.us__all .us__main { padding-left: 52px; }
	.us__meta { display: none; }
}
@media (prefers-reduced-motion: reduce) { .us__row, .us__hint { animation: none; } .us__backdrop { transition: none; } }

/* ---------- Ergebnisseite ---------- */
.ugg-sr { padding: 40px 16px 96px; }
.ugg-sr__inner { max-width: 780px; margin: 0 auto; }
.ugg-sr__h1 { margin: 0 0 16px; font-size: clamp(26px, 3.2vw, 36px); line-height: 1.2; font-weight: 600; letter-spacing: -.01em; color: var(--us-ink); overflow-wrap: anywhere; }
.ugg-sr__form { position: relative; display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 18px; border: 1px solid var(--us-line); border-radius: 40px; background: #fff; box-shadow: 0 14px 40px -26px rgba(0, 0, 0, .35); transition: border-color .2s, box-shadow .3s; }
.ugg-sr__form:focus-within { border-color: var(--us-green-t); box-shadow: 0 0 0 4px rgba(65, 185, 145, .16), 0 14px 40px -26px rgba(0, 0, 0, .35); }
.ugg-sr__icon { flex: none; width: 22px; height: 22px; fill: none; stroke: var(--us-ink); stroke-width: 2; stroke-linecap: round; }
.ugg-sr .ugg-sr__form input { flex: 1; min-width: 0; height: 46px; margin: 0; padding: 0 4px !important; border: 0 !important; background: none !important; box-shadow: none !important; outline: none; font: 500 17px Poppins, sans-serif; color: var(--us-ink); }
.ugg-sr .ugg-sr__form input::placeholder { color: #6f7371; }
.ugg-sr__go { flex: none; height: 46px; padding: 0 22px; border: 0; border-radius: 30px; background: #c9472b; color: #fff; font: 600 15px Poppins, sans-serif; cursor: pointer; transition: background-color .2s; } /* UGG-Orange abgedunkelt: Weiß 4,75:1 (AA); #e55c3d hätte 3,5:1 */
.ugg-sr__go:hover { background: #b23c22; }

/* Filter nach Typ */
.ugg-sr__filter { display: flex; gap: 8px; margin: 20px 0 4px; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.ugg-sr__filter::-webkit-scrollbar { display: none; }
.ugg-sr__filter a { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--us-line); border-radius: 30px; background: #fff; color: var(--us-ink) !important; text-decoration: none !important; font-size: 14px; font-weight: 500; transition: border-color .2s, background-color .2s; }
.ugg-sr__filter a:hover { border-color: #c9cbca; }
.ugg-sr__filter a[aria-current="page"] { background: var(--us-ink); border-color: var(--us-ink); color: #fff !important; }
.ugg-sr__n { font-size: 12.5px; font-weight: 600; color: var(--us-muted); }
.ugg-sr__filter a[aria-current="page"] .ugg-sr__n { color: rgba(255, 255, 255, .8); }

.ugg-sr .ugg-sr__sec { margin: 28px 4px 10px; line-height: 1.4; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--us-muted); }
.ugg-sr__count { margin: 18px 4px 8px;
}
.ugg-sr__sec + .ugg-sr__count { margin-top: 0; }
.ugg-sr__count { font-size: 14px; color: var(--us-muted); }
.ugg-sr__empty p { margin: 0 4px 8px; font-size: 15px; line-height: 1.6; color: var(--us-muted); }
.ugg-sr__empty a { color: var(--us-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* Direkt zu */
.ugg-sr__bets { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ugg-sr .ugg-sr__bet { flex-direction: row; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--us-line); border-radius: 18px; background: #fff; }
.ugg-sr .ugg-sr__bet:hover { border-color: var(--us-green); background: var(--us-hover); }
.ugg-sr__bet .us__tile { background: var(--us-green-t); color: #fff; }
.ugg-sr__bet .ugg-sr__title { font-size: 17px; }
.ugg-sr__arrow { flex: none; width: 20px; height: 20px; margin-left: auto; fill: none; stroke: var(--us-green-t); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s var(--us-ease); }
.ugg-sr__bet:hover .ugg-sr__arrow { transform: translateX(3px); }

/* Trefferliste */
.ugg-sr__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--us-line); }
.ugg-sr__item { border-bottom: 1px solid var(--us-line); }
.ugg-sr__link { display: flex; align-items: flex-start; gap: 16px; padding: 16px 8px; color: var(--us-ink) !important; text-decoration: none !important; transition: background-color .15s; border-radius: 14px; }
.ugg-sr__link:hover { background: var(--us-soft); }
.ugg-sr__link .us__tile { width: 48px; height: 48px; border-radius: 14px; }
.ugg-sr__link .us__tile svg { width: 22px; height: 22px; }
.ugg-sr__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ugg-sr__type { display: flex; flex-wrap: wrap; align-items: center; gap: 0 2px; font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: var(--us-green-t); }
.ugg-sr__type .us__phase { font-weight: 500; letter-spacing: 0; }
.ugg-sr .ugg-sr__title { margin: 0; font: 600 18px/1.35 Poppins, system-ui, sans-serif; color: var(--us-ink); overflow-wrap: anywhere; }
.ugg-sr__link:hover .ugg-sr__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ugg-sr__snip { font-size: 14px; line-height: 1.55; color: var(--us-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ugg-sr__pages { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 26px; }
.ugg-sr__pages a, .ugg-sr__pages span.page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--us-line); border-radius: 22px; color: var(--us-ink); text-decoration: none; font-size: 14px; font-weight: 500; }
.ugg-sr__pages .current { background: var(--us-ink); border-color: var(--us-ink); color: #fff; }
.ugg-sr__pages .dots { border-color: transparent; }
.ugg-sr__pages a:hover { border-color: #c9cbca; }
.ugg-sr .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 639px) {
	.ugg-sr { padding-top: 24px; }
	.ugg-sr__go { padding: 0 16px; }
	.ugg-sr .ugg-sr__title { font-size: 16px; }
	.ugg-sr__link { gap: 12px; padding: 14px 4px; }
	.ugg-sr__link .us__tile { width: 40px; height: 40px; border-radius: 12px; }
	.ugg-sr__filter { margin-left: -16px; margin-right: -16px; padding: 2px 16px; }
}
@media (prefers-reduced-motion: reduce) { .ugg-sr__arrow { transition: none; } }
