/* Treffpunkt Toskana Core - Strände-Kompass (Untergrund, Familie, Blaue/Grüne Flagge, Live-Wetter) */
.tt-bk{--bk-sand:#E2A93B;--bk-kies:#9a917f;--bk-fels:#5b6e8c;--bk-blau:#2b6cb0;--bk-gruen:#3a7d44;--bk-ink:#26384A;--bk-line:#e5ded1;color:var(--bk-ink);}
.tt-bk *{box-sizing:border-box;}
.tt-bk__loading{color:#6b6459;font-style:italic;padding:1rem 0;}
.tt-bk__bar{position:sticky;top:0;z-index:5;background:rgba(250,246,238,.93);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--bk-line);border-radius:16px;padding:.85rem .9rem;margin:0 0 1.1rem;box-shadow:0 6px 22px rgba(38,56,74,.06);}
.tt-bk__chips{display:flex;flex-wrap:wrap;gap:.4rem;}
.tt-bk__chip{appearance:none;border:1.5px solid var(--bk-line);background:#fff;color:var(--bk-ink);border-radius:999px;padding:.42rem .8rem;font:600 .86rem/1 inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.38rem;transition:.16s ease;white-space:nowrap;}
.tt-bk__chip:hover{border-color:#c9bfa9;transform:translateY(-1px);}
.tt-bk__chip .d{width:.6rem;height:.6rem;border-radius:50%;background:var(--c,#bbb);flex:0 0 auto;}
.tt-bk__chip.is-active{color:#fff;background:var(--c,#333);border-color:var(--c,#333);box-shadow:0 4px 12px rgba(38,56,74,.18);}
.tt-bk__chip.is-active .d{background:rgba(255,255,255,.9);}
.tt-bk__row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.7rem;}
.tt-bk__search{flex:1 1 200px;min-width:160px;border:1.5px solid var(--bk-line);border-radius:10px;padding:.5rem .7rem;font:inherit;background:#fff;}
.tt-bk__search:focus{outline:none;border-color:var(--bk-sand);box-shadow:0 0 0 3px rgba(226,169,59,.2);}
.tt-bk__sel{border:1.5px solid var(--bk-line);border-radius:10px;padding:.5rem .7rem;font:inherit;background:#fff;cursor:pointer;}
.tt-bk__toggle{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--bk-line);background:#fff;border-radius:10px;padding:.5rem .7rem;font:600 .84rem/1 inherit;cursor:pointer;}
.tt-bk__toggle.fam.is-active{background:#B85C38;border-color:#B85C38;color:#fff;}
.tt-bk__toggle.blau.is-active{background:var(--bk-blau);border-color:var(--bk-blau);color:#fff;}
.tt-bk__toggle.gruen.is-active{background:var(--bk-gruen);border-color:var(--bk-gruen);color:#fff;}
.tt-bk__reset{margin-left:auto;border:none;background:none;color:#8a5a3a;font:600 .86rem/1 inherit;cursor:pointer;text-decoration:underline;padding:.5rem .3rem;}
.tt-bk__count{font:700 .9rem/1 inherit;color:#6b6459;margin:.2rem .2rem 1rem;}
.tt-bk__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:1rem;}
.tt-bc{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--bk-line);border-radius:16px;padding:1rem 1rem 1.05rem;text-decoration:none;color:inherit;overflow:hidden;transition:.18s ease;box-shadow:0 3px 10px rgba(38,56,74,.05);}
.tt-bc:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--c,#E2A93B);}
.tt-bc:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(38,56,74,.13);border-color:#d8cdb6;}
.tt-bc__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;}
.tt-bc__name{font:800 1.05rem/1.2 inherit;letter-spacing:-.01em;}
.tt-bc__wx{flex:0 0 auto;display:inline-flex;align-items:center;gap:.2rem;font:700 .82rem/1 inherit;color:#8a5a3a;background:#fbf1e4;border-radius:999px;padding:.28rem .5rem;}
.tt-bc__loc{font:600 .78rem/1 inherit;color:#9a917f;text-transform:uppercase;letter-spacing:.03em;margin:.5rem 0 .55rem;}
.tt-bc__note{font:400 .92rem/1.5 inherit;color:#4a453d;flex:1 1 auto;}
.tt-bc__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem;}
.tt-bc__tag{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;color:#fff;background:var(--tc,#888);}
.tt-bc__fam{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;background:#f6e7dd;color:#8a4a2a;}
.tt-bc__blau{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;background:var(--bk-blau);color:#fff;}
.tt-bc__gruen{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;background:var(--bk-gruen);color:#fff;}
.tt-bk__empty{grid-column:1/-1;padding:1.4rem;text-align:center;color:#6b6459;background:#fff;border:1px dashed var(--bk-line);border-radius:14px;}
.tt-bk__note{font:400 .8rem/1.5 inherit;color:#8a8577;margin:1.1rem .2rem 0;}
.tt-bk__skel{height:150px;border-radius:16px;background:linear-gradient(100deg,#f1eadd 30%,#f8f3e9 50%,#f1eadd 70%);background-size:200% 100%;animation:ttbkskel 1.2s infinite;}
@keyframes ttbkskel{to{background-position:-200% 0;}}
@media(max-width:640px){.tt-bk__grid{grid-template-columns:1fr;}.tt-bk__reset{margin-left:0;}}
@media(prefers-reduced-motion:reduce){.tt-bc,.tt-bk__chip{transition:none;}.tt-bk__skel{animation:none;}}
.tt-bk__toggle.hundt.is-active{background:#6b4e2e;border-color:#6b4e2e;color:#fff;}
.tt-bk__toggle.libt.is-active{background:#2f8f6b;border-color:#2f8f6b;color:#fff;}
.tt-bc__hund{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;background:#6b4e2e;color:#fff;}
.tt-bc__libera{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;background:#2f8f6b;color:#fff;}
.tt-bk__toggle.velet.is-active{background:#1f6f78;border-color:#1f6f78;color:#fff;}
.tt-bc__vele{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;background:#1f6f78;color:#fff;}
