/* Unterkunftsuebersicht (Kandidat "-unterkunft-kandidat", Praefix tp-ul / tp-ulf).
   Baut auf tp-place-list.css und tp-place-list-karte.css auf (Tokens --tp-* / --lk-*, Hero, Karten tp-lk-k,
   Seitenleiste, Kaestchen tp-hero-chip__haken). Hier steht nur, was die Restaurantliste nicht hat:
   Filterleiste, aktive Filter, Sterne, Seitenwechsel. Keine Schriften, keine Fremdressourcen. */

.tp-ul .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}
.tp-ul :focus-visible{outline:3px solid var(--tp-accent,#B5532F);outline-offset:2px}

/* Filterleiste */
.tp-ul .tp-ulf{margin:0 0 1.5rem;padding:1.1rem 1.25rem 1rem;background:var(--lk-weiss,#fff);border:1px solid var(--lk-linie,#D9E6ED);border-radius:16px;scroll-margin-top:96px}
.tp-ul .tp-ulf__ueberschrift{margin:0 0 .8rem;font-family:var(--lk-serif);font-size:1.15rem;font-weight:600;line-height:1.25;color:var(--lk-tinte)}
.tp-ul .tp-ulf__direkt{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1.6fr);gap:1rem 1.75rem}
.tp-ul .tp-ulf__gruppe{min-width:0;margin:0}
.tp-ul .tp-ulf__titel{margin:0;font-family:var(--lk-serif);font-size:1rem;font-weight:600;color:var(--lk-tinte)}
.tp-ul .tp-ulf__hinweis{margin:.15rem 0 .5rem;font-size:.8rem;line-height:1.35;color:var(--lk-stein,#526571)}
.tp-ul .tp-ulf__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.tp-ul .tp-ulf__chips li{margin:0;padding:0;list-style:none}
.tp-ul .tp-ulf__chips li::marker{content:""}
.tp-ul .tp-ulf__chips--spalten{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.15rem 1rem}

/* Eine Option: Kaestchen + Text + Zahl. Zustand durch Haken UND Schriftstaerke/Rahmen, nicht nur Farbe. */
.tp-ul .tp-ulf-chip,.tp-ul a.tp-ulf-chip:visited{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;box-sizing:border-box;padding:.3rem .75rem .3rem .5rem;border:1px solid var(--lk-linie,#D9E6ED);border-radius:10px;background:#fff;color:var(--lk-tinte);font-size:.9rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer}
.tp-ul a.tp-ulf-chip:hover{border-color:var(--tp-accent,#B5532F);background:rgba(23,50,71,.03)}
.tp-ul a.tp-ulf-chip:hover .tp-hero-chip__haken{border-color:var(--tp-accent,#B5532F)}
.tp-ul .tp-ulf-chip.is-an,.tp-ul a.tp-ulf-chip.is-an:visited{border-color:var(--tp-accent,#B5532F);border-width:2px;padding:calc(.3rem - 1px) calc(.75rem - 1px) calc(.3rem - 1px) calc(.5rem - 1px);font-weight:700;background:#fff}
.tp-ul .tp-ulf-chip.is-aus{cursor:default;color:#7A8A94;background:#F6F8F9;border-style:dashed}
.tp-ul .tp-ulf-chip.is-aus .tp-hero-chip__haken{border-color:#C3CED5;background:#F6F8F9}
.tp-ul .tp-ulf__chips--spalten .tp-ulf-chip{display:flex;width:100%;border-color:transparent;background:transparent;padding-left:.25rem}
.tp-ul .tp-ulf__chips--spalten a.tp-ulf-chip:hover{border-color:var(--lk-linie,#D9E6ED)}
.tp-ul .tp-ulf__chips--spalten .tp-ulf-chip.is-an{border-color:var(--tp-accent,#B5532F);background:#fff}
.tp-ul .tp-hero-chip__haken{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;border:1.5px solid #8DA0AC;border-radius:5px;background:#fff;color:#fff;box-sizing:border-box}
.tp-ul .tp-hero-chip.is-an .tp-hero-chip__haken{background:var(--tp-accent,#B5532F);border-color:var(--tp-accent,#B5532F)}
.tp-ul .tp-hero-chip__haken svg{display:block}
.tp-ul .tp-ulf-chip__zahl{margin-left:auto;padding-left:.15rem;font-size:.8rem;font-weight:500;color:var(--lk-stein,#526571)}
.tp-ul .tp-ul-sterne{letter-spacing:.06em;color:#9A6B00}

/* Ausstattung (einklappbar) */
.tp-ul .tp-ulf__mehr{margin:1rem 0 0;border-top:1px solid var(--lk-linie,#D9E6ED)}
.tp-ul .tp-ulf__mehr-kopf{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.4rem 0;cursor:pointer;list-style:none}
.tp-ul .tp-ulf__mehr-kopf::-webkit-details-marker{display:none}
.tp-ul .tp-ulf__mehr-kopf .tp-ulf__titel{flex:0 1 auto}
.tp-ul .tp-ulf__anzahl{flex:0 0 auto;padding:.1rem .6rem;border-radius:999px;background:var(--tp-accent,#B5532F);color:#fff;font-size:.75rem;font-weight:600}
.tp-ul .tp-ulf__chev{flex:0 0 auto;margin-left:auto;transition:transform .15s ease}
.tp-ul .tp-ulf__mehr[open]>summary .tp-ulf__chev{transform:rotate(180deg)}
.tp-ul .tp-ulf__mehr>.tp-ulf__gruppe{padding:0 0 .5rem}

/* Trefferzahl, Zuruecksetzen, aktive Filter */
.tp-ul .tp-ulf__status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid var(--lk-linie,#D9E6ED)}
.tp-ul .tp-ulf__treffer{margin:0;font-size:1rem;color:var(--lk-tinte)}
.tp-ul a.tp-ulf__reset,.tp-ul a.tp-ulf__reset:visited{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-weight:600;text-decoration:underline}
.tp-ul .tp-ulf__aktiv{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.4rem 0 0}
.tp-ul .tp-ulf__aktiv-titel{margin:0;font-size:.85rem;font-weight:600;color:var(--lk-stein,#526571)}
.tp-ul .tp-ulf__aktiv-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.tp-ul .tp-ulf__aktiv-liste li{margin:0;padding:0}
.tp-ul .tp-ulf__aktiv-liste li::marker{content:""}
.tp-ul a.tp-ulf-aktiv,.tp-ul a.tp-ulf-aktiv:visited{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;box-sizing:border-box;padding:.25rem .7rem;border-radius:999px;background:var(--lk-creme,#F2F8FB);border:1px solid var(--lk-linie,#D9E6ED);color:var(--lk-tinte);font-size:.85rem;font-weight:600;text-decoration:none}
.tp-ul a.tp-ulf-aktiv:hover{border-color:var(--tp-accent,#B5532F)}
.tp-ul .tp-ulf__aktiv-liste--leer{margin:.75rem 0 0}

/* Karte: Art und Sterne, Zusatz bei Einheitenmerkmalen */
.tp-ul .tp-ul-k__art{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;margin:-.15rem 0 .45rem;font-size:.86rem;font-weight:600;color:var(--lk-stein,#526571)}
.tp-ul .tp-ul-k__sterne{display:inline-flex;align-items:center;gap:.35rem}
.tp-ul .tp-ul-k__sterne-text{font-weight:500}
.tp-ul .tp-ul-k__zusatz{font-size:.72rem;color:var(--lk-stein,#526571)}
.tp-ul .tp-ul-k__zusatz::before{content:"·";margin:0 .3rem 0 .1rem}
.tp-ul .tp-lk-k:focus-within{border-color:var(--tp-accent,#B5532F)}

/* Seitenwechsel */
.tp-ul .tp-ul-bereich{margin:0 0 .6rem;font-size:.85rem;color:var(--lk-stein,#526571)}
.tp-ul .tp-ul-seiten{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;margin:1.5rem 0 0}
.tp-ul .tp-ul-seiten__liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.tp-ul .tp-ul-seiten__liste li{margin:0;padding:0}
.tp-ul .tp-ul-seiten__liste li::marker{content:""}
.tp-ul a.tp-ul-seiten__nr,.tp-ul a.tp-ul-seiten__nr:visited,.tp-ul a.tp-ul-seiten__schritt,.tp-ul a.tp-ul-seiten__schritt:visited{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:44px;min-height:44px;box-sizing:border-box;padding:0 .8rem;border:1px solid var(--lk-linie,#D9E6ED);border-radius:10px;background:#fff;color:var(--lk-tinte);font-weight:600;text-decoration:none}
.tp-ul a.tp-ul-seiten__nr.is-an{background:var(--tp-accent,#B5532F);border-color:var(--tp-accent,#B5532F);color:#fff;text-decoration:underline}
.tp-ul a.tp-ul-seiten__nr:hover,.tp-ul a.tp-ul-seiten__schritt:hover{border-color:var(--tp-accent,#B5532F)}
.tp-ul .tp-ul-seiten__luecke{display:inline-flex;align-items:center;min-height:44px;padding:0 .2rem;color:var(--lk-stein,#526571)}
.tp-ul .tp-ul-seiten__stand{flex:1 0 100%;margin:.2rem 0 0;text-align:center;font-size:.82rem;color:var(--lk-stein,#526571)}

/* Sprunglink zu den Ergebnissen: nur auf schmalen Bildschirmen (dort steht die Liste weit unten) */
.tp-ul a.tp-ulf__zu-ergebnissen{display:none}
.tp-ul .tp-lk__raster{scroll-margin-top:16px}

/* Filter in der Seitenleiste (wie der Spezialitaetenfilter der Restaurants): Desktop rechts unter der Karte,
   einspaltig; die Leiste scrollt mit, weil der Filter hoeher als der Bildschirm sein kann. */
.tp-ul .tp-lk__seite .tp-ulf{margin:0}
@media (min-width:1100px){
	.tp-ul .tp-lk__seite{position:static}
	.tp-ul .tp-lk__seite .tp-ulf{padding:1rem 1.1rem}
	.tp-ul .tp-lk__seite .tp-ulf__direkt{grid-template-columns:minmax(0,1fr);gap:1rem}
	.tp-ul .tp-lk__seite .tp-ulf__chips--spalten{grid-template-columns:minmax(0,1fr)}
	.tp-ul .tp-lk__seite .tp-ulf__zu-ergebnissen{display:none}
}
/* Handy/Tablet: einspaltiges Raster, Seitenleiste (Karte dort ausgeblendet) mit dem Filter VOR der Liste */
@media (max-width:1099px){
	.tp-ul .tp-lk__seite{order:-1}
}
/* Tablet: Gruppen untereinander, Ort volle Breite */
@media (max-width:1099px){
	.tp-ul .tp-ulf__direkt{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
	.tp-ul .tp-ulf__gruppe--orte{grid-column:1/-1}
}
/* Handy: dieselben Bedienelemente, einspaltig, Trefferflaechen 48 px */
@media (max-width:640px){
	.tp-ul .tp-ulf{padding:.9rem .9rem .8rem;border-radius:14px}
	.tp-ul .tp-ulf__direkt{grid-template-columns:minmax(0,1fr)}
	.tp-ul .tp-ulf-chip,.tp-ul a.tp-ulf-chip:visited{min-height:48px}
	.tp-ul .tp-ulf__chips--spalten{grid-template-columns:minmax(0,1fr)}
	.tp-ul a.tp-ulf__reset,.tp-ul a.tp-ul-seiten__nr,.tp-ul a.tp-ul-seiten__schritt{min-height:48px}
	.tp-ul a.tp-ulf-aktiv{min-height:44px}
	.tp-ul .tp-ulf__treffer{flex:1 0 100%}
	/* Art, Sterne und Ort bleiben direkt erreichbar, aber als waagerecht scrollbare Zeile (Tastatur: Tab scrollt mit) */
	.tp-ul .tp-ulf__direkt .tp-ulf__chips{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 6px;margin:0 -2px;scroll-padding:0 16px;-webkit-overflow-scrolling:touch}
	.tp-ul .tp-ulf__direkt .tp-ulf__chips li{flex:0 0 auto}
	.tp-ul .tp-ulf__direkt .tp-ulf-chip{white-space:nowrap}
	.tp-ul a.tp-ulf__zu-ergebnissen,.tp-ul a.tp-ulf__zu-ergebnissen:visited{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:0 1rem;border-radius:10px;background:var(--tp-accent,#B5532F);color:#fff;font-weight:700;text-decoration:none}
}
@media (prefers-reduced-motion:reduce){.tp-ul .tp-ulf__chev{transition:none}}
