/*
Theme Name: Appartment24
Description: Immobilien-Theme für Wohnungen, Tageswohnungen und Stundenzimmer.
Version: 1.5
Author: Appartment24
Text Domain: appartment24
*/
:root{--bg:#f3f5f4;--ink:#12262b;--muted:#4d6266;--card:#fff;--line:#d3dcdb;--brand:#0f4c56;--onbrand:#f3f5f4;--accent:#e3a72f}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 Figtree,system-ui,sans-serif}
h1,h2,h3{font-family:"Familjen Grotesk",system-ui,sans-serif;line-height:1.1;margin:0;letter-spacing:-.01em}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
.top{background:var(--brand);color:var(--onbrand)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;padding-bottom:1rem}
.logo{font:700 1.25rem "Familjen Grotesk",sans-serif;text-decoration:none}
.btn{display:inline-block;padding:.8rem 1.3rem;border-radius:999px;font-weight:600;text-decoration:none;background:var(--accent);color:var(--ink);border:2px solid var(--accent)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.hero{background:var(--brand);color:var(--onbrand);padding:clamp(2.5rem,8vw,5rem) 0 clamp(3rem,8vw,5rem)}
.hero h1{font-size:clamp(2.6rem,8vw,5.6rem);max-width:12ch}
.hero p{max-width:34rem;font-size:1.2rem;margin:1.4rem 0 2rem;opacity:.92}
.hero .row{display:flex;gap:.8rem;flex-wrap:wrap}
section{padding:clamp(3rem,7vw,5rem) 0}
h2{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:.6rem}
.lead{color:var(--muted);max-width:38rem;margin:0 0 2rem}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.tabs button{font:inherit;font-weight:500;padding:.5rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.card[hidden]{display:none}
.ph,.card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ph{display:grid;place-items:center;background:repeating-linear-gradient(135deg,var(--line) 0 2px,transparent 2px 14px),var(--bg);color:var(--muted);font-size:.9rem}
.card .body{padding:1.25rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.card h3{font-size:1.5rem}
.tag{align-self:flex-start;font-size:.85rem;font-weight:600;padding:.15rem .7rem;border-radius:999px;background:var(--accent);color:var(--ink)}
.card ul{margin:0;padding:0;list-style:none;color:var(--muted);font-size:.98rem}
.card .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.6rem;border-top:1px solid var(--line)}
.price,.ask{font-weight:600}
.band{background:var(--card);border-block:1px solid var(--line)}
.band .wrap{max-width:720px}
footer{background:var(--ink);color:var(--bg);padding:2.5rem 0}
footer .wrap{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
footer a{font-weight:600}
.page-content{padding:3rem 0}
.page-content h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:1rem}
.page-content img{max-width:100%;height:auto}
.foot-bottom{width:100%;border-top:1px solid rgba(243,245,244,.25);padding-top:1rem;font-size:.9rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.page-content h2{font-size:1.3rem;margin:1.6rem 0 .3rem}
.page-content p{margin:0 0 .6rem}
