/* sued – Website v2 · Farben & Schrift laut Brand Style Guide (Aug. 2026) */
@font-face{font-family:"WDXL Lubrifont SC";src:url("../fonts/wdxl-lubrifont-sc-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --schwarz:#202020;--white:#f6f6eb;--bergstein:#b6b19e;--blau:#acbcd4;--orange:#e79362;
  --schwarz-2:#2a2a2a;            /* leicht aufgehellte Fläche auf Dunkel */
  --font:"WDXL Lubrifont SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --max:1200px;--pad:clamp(1.25rem,4vw,2.5rem);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--schwarz)}
html body{font-family:var(--font);background:var(--schwarz);color:var(--white);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:var(--schwarz);padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}
h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.005em}
h2{font-size:clamp(2rem,4.2vw,3.2rem)}
h3{font-size:1.35rem}
.kicker{display:inline-block;font-size:.95rem;letter-spacing:.06em;color:var(--orange);margin-bottom:.9rem}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--bergstein);max-width:36em}
.btn{display:inline-flex;align-items:center;gap:.55em;font:inherit;font-size:1.05rem;text-decoration:none;border:0;cursor:pointer;
  background:var(--orange);color:var(--schwarz);padding:.8em 1.5em;border-radius:6px;transition:transform .15s ease,background .15s ease}
.btn:hover{background:#eda57a;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px var(--bergstein)}
.btn-ghost:hover{background:rgba(246,246,235,.08)}
.arrow{width:1em;height:1em;flex:none}
.textlink{color:var(--orange);text-underline-offset:.2em}

/* Header */
.top{position:sticky;top:0;z-index:50;background:rgba(32,32,32,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(246,246,235,.08)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
.brandmark{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brandmark img{width:30px;height:35px}
.nav{display:flex;align-items:center;gap:1.75rem;list-style:none}
.nav a{text-decoration:none;color:var(--white);opacity:.88}
.nav a:hover{opacity:1;color:var(--orange)}
.nav .btn{opacity:1;color:var(--schwarz);padding:.55em 1.1em;font-size:.98rem}
.nav .btn:hover{color:var(--schwarz)}
@media (max-width:820px){.nav li:not(.nav-cta){display:none}}

/* Hero */
.hero{position:relative;padding:clamp(3rem,7vw,6rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.hero .lead{font-size:clamp(1.15rem,1.8vw,1.4rem)}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.6rem);margin-bottom:1.25rem;max-width:12.5em}
.hero-logo{justify-self:end;width:min(340px,100%)}
.weg{position:absolute;pointer-events:none;color:var(--orange)}
.weg-hero{position:relative;width:min(460px,42vw);height:auto;margin:1.25rem 0 -.2rem 1.5rem}
.booking{position:relative;margin-top:0;background:var(--white);color:var(--schwarz);border-radius:10px;
  padding:1.5rem clamp(1rem,3vw,2rem) 1.25rem;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.booking-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1.5rem;margin-bottom:1rem}
.booking-head h2{font-size:1.5rem}
.booking-head p{font-size:.98rem;color:#4a4a4a}
.booking-foot{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;margin-top:1rem;font-size:.98rem}
.booking-foot a{color:var(--schwarz);text-underline-offset:.2em}
.booking-foot span{color:#4a4a4a}
#search-widget_IO312PWQ{min-height:64px}
/* Guesty-Suchleiste an die Marke anpassen (Klassen von Guesty können sich ändern) */
#search-widget_IO312PWQ,#search-widget_IO312PWQ *{font-family:var(--font)!important}
#search-widget_IO312PWQ [class*="calendar"],#search-widget_IO312PWQ [class*="datepicker"],#search-widget_IO312PWQ [class*="popup"],#search-widget_IO312PWQ [class*="dropdown"],#search-widget_IO312PWQ [class*="popover"]{z-index:60!important}
#search-widget_IO312PWQ .guesty-search-submit-btn{background:var(--orange)!important;color:var(--schwarz)!important;border-radius:6px!important;font-size:1.05rem!important}
#search-widget_IO312PWQ .guesty-search-submit-btn:hover{background:#eda57a!important}
#search-widget_IO312PWQ .guesty-widget__item{border-radius:6px!important}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-logo{order:-1;justify-self:start;width:180px}.weg-hero{display:none}.booking{margin-top:2.25rem}}

/* Sections */
.sec{padding:clamp(4rem,9vw,7.5rem) 0}
.sec-light{background:var(--white);color:var(--schwarz)}
.sec-light .lead{color:#3c3c3c}
.sec-light .kicker{color:var(--schwarz);box-shadow:inset 0 -.35em 0 rgba(231,147,98,.55)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 4rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}
@media (max-width:820px){.sec-head{grid-template-columns:1fr}}

/* So läuft's – Schritte */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;counter-reset:s}
.step{position:relative;padding-top:4.25rem}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:0;left:0;font-size:2.4rem;line-height:1;color:var(--orange)}
.step h3{margin-bottom:.5rem}
.step p{color:var(--bergstein)}
@media (max-width:980px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr;gap:2.25rem}.step{padding-top:0;padding-left:4.25rem}}

/* Wohnungen */
.apts{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.apt{display:flex;flex-direction:column;background:#fff;border-radius:10px;overflow:hidden;text-decoration:none;color:var(--schwarz);box-shadow:0 1px 0 rgba(32,32,32,.08),0 8px 24px rgba(32,32,32,.06);transition:transform .2s ease,box-shadow .2s ease}
.apt:hover{transform:translateY(-3px);box-shadow:0 1px 0 rgba(32,32,32,.08),0 14px 34px rgba(32,32,32,.12)}
.apt-img{position:relative;aspect-ratio:4/3;background:var(--white) url("../img/karo-blau.svg") 0 0/48px auto}
.apts li:nth-child(3n+2) .apt-img{background-image:url("../img/karo-bergstein.svg")}
.apts li:nth-child(3n+3) .apt-img{background-image:url("../img/karo-orange.svg")}
.ph{position:absolute;left:.75rem;top:.75rem;background:var(--schwarz);color:var(--white);font-size:.85rem;padding:.25em .6em;border-radius:4px}
.apt-body{padding:1.1rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.apt-body h3{font-size:1.3rem}
.apt-meta{color:#4a4a4a;font-size:.98rem}
.apt-more{margin-top:auto;padding-top:.6rem;display:flex;align-items:center;gap:.4em;color:var(--schwarz);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px}
.apt-more .arrow{color:var(--orange)}
.apt-all{display:flex;flex-direction:column;justify-content:center;gap:1rem;background:var(--schwarz);color:var(--white);border-radius:10px;padding:2rem 1.5rem}
.apt-all p{color:var(--bergstein)}

/* Draußen */
.out{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.out-visual{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--schwarz) url("../img/logomuster-2.webp") center/cover}
.out-visual .ph{left:auto;right:.75rem}
.acts{list-style:none;margin-top:2rem;display:grid;gap:0}
.acts li{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid rgba(246,246,235,.14)}
.acts li:last-child{border-bottom:1px solid rgba(246,246,235,.14)}
.acts strong{font-weight:400;color:var(--orange);font-size:1.2rem}
.acts span{color:var(--bergstein)}
@media (max-width:820px){.out{grid-template-columns:1fr}.out-visual{aspect-ratio:16/10;order:2}.acts li{grid-template-columns:1fr;gap:.15rem}}

/* Kontakt */
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem 4rem;align-items:center}
.contact-actions{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}
.contact-actions .btn{min-width:min(100%,20rem)}
.sec-light .btn-ghost{color:var(--schwarz);box-shadow:inset 0 0 0 1.5px var(--schwarz)}
.sec-light .btn-ghost:hover{background:rgba(32,32,32,.06)}
@media (max-width:820px){.contact{grid-template-columns:1fr}}

/* CTA */
.cta{position:relative;text-align:center;overflow:hidden}
.cta-nadel{width:72px;height:84px;margin:0 auto 1.75rem}
.cta h2{margin-bottom:1rem}
.cta .lead{margin:0 auto 2rem}

/* Footer */
.foot{border-top:1px solid rgba(246,246,235,.1);padding:4rem 0 2rem;color:var(--bergstein);font-size:.98rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.5rem}
.foot-logo{width:170px;margin-bottom:1.25rem}
.foot h3{font-size:1rem;color:var(--white);margin-bottom:.8rem;letter-spacing:.03em}
.foot ul{list-style:none;display:grid;gap:.45rem}
.foot a{text-decoration:none}
.foot a:hover{color:var(--orange)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(246,246,235,.1);font-size:.92rem}
.foot-bottom .claim{color:var(--orange)}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* Hinweis (kein Tracking) */
.notice{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;max-width:34rem;margin-left:auto;background:var(--schwarz-2);color:var(--white);
  border:1px solid rgba(246,246,235,.14);border-radius:10px;padding:1rem 1.1rem;box-shadow:0 12px 40px rgba(0,0,0,.4);display:flex;gap:1rem;align-items:flex-end;font-size:.95rem}
.notice[hidden]{display:none}
.notice p{color:var(--bergstein)}
.notice a{color:var(--white)}
.notice .btn{padding:.55em 1em;font-size:.95rem;flex:none}

/* Rechtstexte (Inhalt unverändert übernommen) */
.legal-page{background:var(--white);color:var(--schwarz);padding:clamp(3rem,7vw,5.5rem) 0 5rem}
.legal-page .container{max-width:52rem;margin:0 auto;padding:0 var(--pad)}
.legal-page h1{font-size:clamp(2.2rem,5vw,3.2rem);margin-bottom:2rem}
.legal-page h2{font-size:1.55rem;margin:2.5rem 0 .8rem}
.legal-page h3{font-size:1.2rem;margin:1.75rem 0 .6rem}
.legal-page p,.legal-page li{margin-bottom:.8rem;color:#2c2c2c}
.legal-page ul,.legal-page ol{padding-left:1.25rem;margin-bottom:1rem}
.legal-page a{color:var(--schwarz);text-decoration:underline;text-underline-offset:.15em;word-break:break-word}
.legal-page strong{font-weight:400;color:var(--schwarz)}
.legal-note{background:#ecebdd;border-left:4px solid var(--orange);padding:1rem 1.25rem;margin:1.5rem 0;border-radius:0 8px 8px 0}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:640px){
  .apts{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem;margin-right:calc(-1*var(--pad));padding-right:var(--pad)}
  .apts>li{scroll-snap-align:start}
}
