/* Treffpunkt Toskana Core - Sehenswürdigkeiten-Kompass (modern, responsive) */
.tt-sk{--sk-antike:#7B2D3A;--sk-sakral:#26384A;--sk-turm:#B85C38;--sk-bauwerk:#7D8248;--sk-natur:#33463A;--sk-unesco:#E2A93B;--sk-ink:#26384A;--sk-line:#e5ded1;--sk-bg:#faf6ee;color:var(--sk-ink);}
.tt-sk *{box-sizing:border-box;}
.tt-sk__loading{color:#6b6459;font-style:italic;padding:1rem 0;}
.tt-sk__bar{position:sticky;top:0;z-index:5;background:rgba(250,246,238,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--sk-line);border-radius:16px;padding:.85rem .9rem;margin:0 0 1.1rem;box-shadow:0 6px 22px rgba(38,56,74,.06);}
.tt-sk__chips{display:flex;flex-wrap:wrap;gap:.4rem;}
.tt-sk__chip{appearance:none;border:1.5px solid var(--sk-line);background:#fff;color:var(--sk-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-sk__chip:hover{border-color:#c9bfa9;transform:translateY(-1px);}
.tt-sk__chip .d{width:.6rem;height:.6rem;border-radius:50%;background:var(--c,#bbb);flex:0 0 auto;}
.tt-sk__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-sk__chip.is-active .d{background:rgba(255,255,255,.9);}
.tt-sk__row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.7rem;}
.tt-sk__search{flex:1 1 220px;min-width:170px;border:1.5px solid var(--sk-line);border-radius:10px;padding:.5rem .7rem;font:inherit;background:#fff;}
.tt-sk__search:focus{outline:none;border-color:var(--sk-turm);box-shadow:0 0 0 3px rgba(184,92,56,.15);}
.tt-sk__sel{border:1.5px solid var(--sk-line);border-radius:10px;padding:.5rem .7rem;font:inherit;background:#fff;cursor:pointer;}
.tt-sk__toggle{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--sk-line);background:#fff;border-radius:10px;padding:.5rem .7rem;font:600 .86rem/1 inherit;cursor:pointer;}
.tt-sk__toggle.is-active{background:var(--sk-unesco);border-color:var(--sk-unesco);color:#3a2c07;}
.tt-sk__reset{margin-left:auto;border:none;background:none;color:#8a5a3a;font:600 .86rem/1 inherit;cursor:pointer;text-decoration:underline;padding:.5rem .3rem;}
.tt-sk__count{font:700 .9rem/1 inherit;color:#6b6459;margin:.2rem .2rem 1rem;}
.tt-sk__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:1rem;}
.tt-sc{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--sk-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-sc:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--c,#B85C38);}
.tt-sc:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(38,56,74,.13);border-color:#d8cdb6;}
.tt-sc__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;}
.tt-sc__name{font:800 1.06rem/1.2 inherit;letter-spacing:-.01em;}
.tt-sc__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-sc__prov{font:600 .78rem/1 inherit;color:#9a917f;text-transform:uppercase;letter-spacing:.04em;margin:.5rem 0 .55rem;}
.tt-sc__note{font:400 .92rem/1.5 inherit;color:#4a453d;flex:1 1 auto;}
.tt-sc__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem;}
.tt-sc__tag{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;color:#fff;background:var(--tc,#888);}
.tt-sc__uni{font:700 .72rem/1 inherit;padding:.3rem .5rem;border-radius:999px;background:var(--sk-unesco);color:#3a2c07;}
.tt-sc__more{margin-top:.8rem;font:700 .85rem/1 inherit;color:#8a5a3a;}
.tt-sk__empty{grid-column:1/-1;padding:1.4rem;text-align:center;color:#6b6459;background:#fff;border:1px dashed var(--sk-line);border-radius:14px;}
.tt-sk__note{font:400 .8rem/1.5 inherit;color:#8a8577;margin:1.1rem .2rem 0;}
.tt-sk__skel{height:150px;border-radius:16px;background:linear-gradient(100deg,#f1eadd 30%,#f8f3e9 50%,#f1eadd 70%);background-size:200% 100%;animation:ttskel 1.2s infinite;}
@keyframes ttskel{to{background-position:-200% 0;}}
@media(max-width:640px){.tt-sk__grid{grid-template-columns:1fr;}.tt-sk__reset{margin-left:0;}}
@media(prefers-reduced-motion:reduce){.tt-sc,.tt-sk__chip{transition:none;}.tt-sk__skel{animation:none;}}
