:root{--bg:#f5f2ec;--card:#fff;--ink:#24302b;--muted:#68736d;--accent:#5d735d;--accent2:#d9e2d6;--line:#ddd8cf;--shadow:0 10px 30px rgba(35,45,40,.08);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}a{color:inherit}.wrap{width:min(1080px,calc(100% - 32px));margin:auto}.topbar{position:sticky;top:0;z-index:10;background:rgba(245,242,236,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}.brand{font-weight:800;text-decoration:none;letter-spacing:-.02em}.nav{display:flex;gap:8px;overflow:auto;padding:8px 0}.nav a{white-space:nowrap;text-decoration:none;padding:8px 11px;border-radius:999px;font-size:.92rem}.nav a:hover,.nav a.active{background:var(--accent2)}.hero{padding:64px 0 34px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:var(--accent)}h1{font-size:clamp(2.3rem,6vw,4.7rem);line-height:.95;letter-spacing:-.055em;margin:.25em 0 .3em}.lead{font-size:clamp(1.05rem,2vw,1.3rem);max-width:740px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{grid-column:span 6;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card.wide{grid-column:1/-1}.card.third{grid-column:span 4}.card h2,.card h3{margin-top:0;line-height:1.15;letter-spacing:-.025em}.icon{width:44px;height:44px;border-radius:14px;background:var(--accent2);display:grid;place-items:center;font-size:1.35rem;margin-bottom:14px}.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-block;text-decoration:none;background:var(--ink);color:#fff;padding:11px 15px;border-radius:12px;font-weight:750}.btn.secondary{background:var(--accent2);color:var(--ink)}.meta{color:var(--muted);font-size:.92rem}.route{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}.route:first-of-type{border-top:0}.pill{padding:5px 9px;border-radius:999px;background:var(--accent2);font-size:.8rem;font-weight:800}.note{background:#fff7da;border:1px solid #eadb9f;padding:14px 16px;border-radius:14px}.schematic{min-height:310px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e4eadf,#f9f7f1);border-radius:18px;border:1px solid var(--line);padding:24px}.road{position:absolute;height:10px;background:#fff;border:1px solid #d6d1c8;border-radius:999px;transform-origin:left center}.r1{width:76%;left:12%;top:50%;transform:rotate(-15deg)}.r2{width:65%;left:18%;top:48%;transform:rotate(40deg)}.r3{width:55%;left:34%;top:32%;transform:rotate(90deg)}.marker{position:absolute;background:var(--ink);color:#fff;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:800;box-shadow:var(--shadow)}.m-home{left:39%;top:52%;background:var(--accent)}.m-b31{left:15%;top:58%}.m-tram{right:13%;top:23%}.m-s7{left:18%;top:22%}.m-b66{right:13%;bottom:17%}.list{padding-left:1.2rem}.list li{margin:.45rem 0}.footer{padding:48px 0 60px;color:var(--muted);font-size:.9rem}.footer a{text-decoration:none}.lang{font-size:.8rem;background:var(--accent2);padding:5px 8px;border-radius:999px}.quick{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.quick a{text-decoration:none;background:var(--card);border:1px solid var(--line);padding:18px;border-radius:16px;font-weight:800;text-align:center}.section{padding:20px 0 46px}.price{font-size:1.8rem;font-weight:850;letter-spacing:-.03em}.source{font-size:.78rem;color:var(--muted);margin-top:18px;border-top:1px solid var(--line);padding-top:12px}@media(max-width:800px){.topbar .wrap{display:block;padding-top:10px}.brand{display:block}.hero{padding-top:40px}.card,.card.third{grid-column:1/-1}.quick{grid-template-columns:1fr 1fr}.nav{margin:0 -4px}.schematic{min-height:260px}.m-home{left:35%}}@media(max-width:480px){.wrap{width:min(100% - 22px,1080px)}.quick{grid-template-columns:1fr}.card{padding:20px}h1{font-size:2.55rem}}

/* Interaktive Gästekarte */
.hero.compact{padding-bottom:20px}.guest-map{height:clamp(440px,68vh,690px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;background:#e9eee7}.map-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.map-filter{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 14px;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}.map-filter:hover,.map-filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.map-hint{font-size:.84rem;color:var(--muted);margin:12px 4px 0}.emoji-marker-wrap{background:transparent;border:0}.emoji-marker{width:40px;height:40px;display:grid;place-items:center;background:#fff;border:2px solid var(--ink);border-radius:50%;font-size:21px;box-shadow:0 5px 16px rgba(35,45,40,.22)}.emoji-marker.home{background:var(--accent2);border-color:var(--accent);transform:scale(1.12)}.map-popup{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-width:210px}.map-popup strong{font-size:1rem}.map-popup p{margin:.45rem 0}.popup-status{font-size:.74rem;color:var(--muted);font-weight:750}.popup-status.check{color:#8b5c00}.popup-actions{display:flex;gap:6px;margin-top:9px}.popup-actions a{text-decoration:none;background:var(--accent2);padding:6px 9px;border-radius:9px;font-size:.78rem;font-weight:800}.leaflet-control-attribution{font-size:10px!important}
@media(max-width:600px){.guest-map{height:62vh;min-height:430px}.map-toolbar{display:grid;grid-template-columns:1fr 1fr}.map-filter{padding:10px 8px;font-size:.88rem}}


/* Graz-Sehenswürdigkeiten als Bildkacheln */
.sight-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.sight-card .sight-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#e4e7e2}
.sight-card .sight-content{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.sight-card .sight-content p{margin-top:0}
.sight-card .sight-content .btns{margin-top:auto;padding-top:8px}
.sight-credit{display:block;padding:7px 10px;background:rgba(255,255,255,.94);color:var(--muted);font-size:.68rem;line-height:1.25;border-top:1px solid var(--line)}
.sight-credit a{color:inherit}
.sight-intro-actions{margin-top:18px}
@media(max-width:800px){.sight-card .sight-image{aspect-ratio:16/9}}


/* Apartment-Infos */
.section-title{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;letter-spacing:-.035em;margin:.2em 0 .25em}.apartment-lead{margin-bottom:24px}.apartment-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.apartment-info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.apartment-info-card summary{display:grid;grid-template-columns:52px 1fr 24px;align-items:center;gap:14px;padding:20px 22px;cursor:pointer;list-style:none}.apartment-info-card summary::-webkit-details-marker{display:none}.apartment-info-icon{width:46px;height:46px;border-radius:14px;background:var(--accent2);display:grid;place-items:center;font-size:1.35rem}.apartment-info-card summary strong{display:block;font-size:1.05rem;line-height:1.2}.apartment-info-card summary small{display:block;color:var(--muted);font-size:.86rem;margin-top:3px}.apartment-info-arrow{font-size:1.4rem;color:var(--muted);transition:transform .2s ease}.apartment-info-card[open] .apartment-info-arrow{transform:rotate(180deg)}.apartment-info-content{padding:0 22px 22px 88px;color:var(--muted)}.apartment-info-content ol{margin:0;padding-left:1.25rem}.apartment-info-content li{margin:.35rem 0}.info-tip{background:#f8f6ef;border:1px solid var(--line);padding:12px 14px;border-radius:12px;margin:16px 0 0;color:var(--ink)}.waste-list p{margin:.4rem 0}.waste-list strong{color:var(--ink)}
@media(max-width:800px){.apartment-info-grid{grid-template-columns:1fr}.apartment-info-content{padding:0 18px 20px}.apartment-info-card summary{padding:18px}}


/* Hover-Infos für Schnellzugriff */
.quick-link{position:relative}
.quick-link::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%) translateY(5px);width:max-content;max-width:240px;padding:9px 12px;background:var(--ink);color:#fff;font-size:.78rem;font-weight:500;line-height:1.4;text-align:center;border-radius:9px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:100}
.quick-link::before{content:"";position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--ink);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease;z-index:100}
.quick-link:hover::after,.quick-link:hover::before,.quick-link:focus-visible::after,.quick-link:focus-visible::before{opacity:1;visibility:visible}
.quick-link:hover::after,.quick-link:focus-visible::after{transform:translateX(-50%) translateY(0)}
@media(max-width:800px){.quick-link::after,.quick-link::before{display:none}}
