:root{--green:#253b33;--deep:#172a24;--cream:#f6f4ef;--sand:#eae4d8;--accent:#d7ad7e;--ink:#242d29;--muted:#717a74;--line:#e6e6df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #bd864a;outline-offset:3px}.container{max-width:1230px;padding:0 34px;margin:auto}.skip{position:absolute;left:-9999px;background:white;padding:10px;z-index:99}.skip:focus{left:10px;top:10px}.site-header{position:sticky;top:0;z-index:30;background:#fffdfbf2;backdrop-filter:blur(12px);border-bottom:1px solid #eae9e3}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:12px;font-size:16px;line-height:1.15;letter-spacing:.015em}.logo strong{font-weight:700}.logo small{display:block;font-size:9px;letter-spacing:.27em;margin-top:7px;color:#798078;font-weight:700}.logo-mark{font-family:Georgia,serif;font-size:36px;font-style:italic;color:var(--green);border:1px solid #d7d8cc;border-radius:100%;width:48px;height:48px;display:grid;place-items:center;position:relative}.logo-mark span{position:absolute;right:3px;top:1px;font-size:24px;color:#cb9666}.site-header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700;letter-spacing:.04em}.site-header nav a:hover{color:#b07b47}.site-header nav .nav-book{background:var(--green);color:white;padding:15px 19px}.site-header nav .nav-book:hover{background:#456357;color:white}.menu-toggle{display:none;border:0;background:transparent;color:var(--green);cursor:pointer}.hero{position:relative;min-height:680px;background:#44554c;isolation:isolate;color:white;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,#303e34,#536b5f 55%,#9e9986);display:grid;place-items:center}.hero-photo>span,.photo span,.gallery-item span{font-size:10px;font-weight:700;letter-spacing:.14em;border:1px solid #ffffff80;padding:9px;color:#fff;max-width:85%;text-align:center}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10231dcc 0%,#10231d8c 55%,#10231d22 100%)}.hero-inner{width:100%;padding-top:80px;padding-bottom:95px}.eyebrow{font-size:10px;letter-spacing:.28em;font-weight:700;color:#a57b57}.eyebrow.light{color:#e4c8a7}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(48px,6.3vw,91px);margin:27px 0}h2{font-size:clamp(37px,4.1vw,62px);margin:18px 0 27px}h1 em,h2 em{font-weight:400;color:var(--accent)}.hero p{font-size:17px;max-width:520px;color:#eeeae1}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:16px 22px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#dfb68b;color:#142921}.btn-outline{border-color:#fff8;color:#fff}.btn-dark{background:var(--green);color:white}.hero-side{position:absolute;right:24px;bottom:48px;font-size:10px;letter-spacing:.26em;writing-mode:vertical-rl}.facts{background:#f8f7f3;border-bottom:1px solid var(--line)}.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-top:28px;padding-bottom:28px}.facts-grid>div{display:grid;grid-template-columns:32px 1fr;column-gap:9px;border-right:1px solid #deded7;padding-left:24px}.facts-grid>div:first-child{padding-left:0}.facts-grid>div:last-child{border:0}.facts-icon{grid-row:1/3;font-family:Georgia,serif;font-size:28px;color:#a27f5f}.facts strong{font-size:12px}.facts span:last-child{font-size:11px;color:var(--muted)}.section{padding:105px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.intro p,.location p{max-width:505px;color:#666f69;font-size:14px}.text-link{font-weight:700;font-size:12px;border-bottom:1px solid #b68c62;padding-bottom:7px;display:inline-flex;gap:30px;margin-top:16px}.intro-pictures{display:grid;grid-template-columns:1fr .68fr;grid-template-rows:330px 135px;gap:18px;position:relative}.photo{display:grid;place-items:center;background:linear-gradient(135deg,#889c8a,#43594e)}.ph-kitchen{grid-row:1/3;background:linear-gradient(130deg,#556e60,#a79e80)}.ph-detail{grid-column:2;background:linear-gradient(145deg,#a18e78,#d9c7ae)}.picture-note{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#8d7967;font-size:20px;align-self:center}.amenities{background:var(--cream)}.center-heading{text-align:center}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:43px}.amenity-grid article{background:#fff;padding:34px 27px;min-height:215px}.amenity-grid article span{color:#b39272;font-family:Georgia,serif;font-size:23px}.amenity-grid article h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;margin:24px 0 10px;font-weight:500}.amenity-grid article p{font-size:12px;color:#737975}.amenity-note,.gallery-footnote{font-size:11px;color:#858d87;margin-top:22px}.section-row{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-row p{font-size:13px;color:var(--muted);max-width:220px}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:230px 230px;gap:13px}.gallery-item{min-width:0;border:0;background:linear-gradient(130deg,#8b988a,#53695b);cursor:pointer;display:grid;place-items:center;transition:filter .2s,transform .2s}.gallery-item:nth-child(3){background:linear-gradient(135deg,#baa794,#7f756d)}.gallery-item:nth-child(4){background:linear-gradient(130deg,#d2c9b9,#8b8177)}.gallery-item:nth-child(5){background:linear-gradient(120deg,#8e9785,#c2a98b)}.gallery-item:hover{filter:brightness(1.1)}.gallery-item.large{grid-row:span 2}.location{background:#f8f7f3}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.location-visual{height:350px;background:radial-gradient(circle at 54% 43%,#c5c7b1 0 2px,transparent 3px),repeating-linear-gradient(21deg,transparent 0 43px,#b4c1b04d 44px 46px),repeating-linear-gradient(111deg,#e6e6d8 0 83px,#c7d1c55e 84px 87px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#2d4b3c;letter-spacing:.24em}.location-dot{font-family:Georgia,serif;border-radius:50%;background:#38584b;color:#fff;display:grid;place-items:center;width:65px;height:65px;font-size:33px;font-style:italic;letter-spacing:0;margin-bottom:12px}.location-visual strong{font-size:24px}.location-visual small{font-size:10px;letter-spacing:.15em}.booking{background:var(--deep);color:white}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.booking h2 em{color:#e2bb91}.booking p{color:#d8e1db;max-width:430px;font-size:14px}.booking-hint{font-size:12px!important;color:#9bab9e!important}.booking-card{background:white;color:var(--ink);padding:28px;box-shadow:0 20px 55px #0003}.booking-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;gap:10px}.booking-card-header span{color:#a3876e;font-size:10px;letter-spacing:.2em}.booking-card-header strong{font-size:15px}.embed-placeholder{min-height:275px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:#f6f6f2;margin-top:20px}.embed-placeholder .embed-icon{font-size:32px;color:#799184}.embed-placeholder strong{margin-top:12px}.embed-placeholder p{color:#697670;font-size:12px;margin:8px 0;max-width:330px}.embed-placeholder small{font-size:10px;color:#a27b67}.closing{text-align:center;padding:85px 0 95px;background:#ede8df}.closing h2{margin-bottom:33px}footer{background:#182c24;color:#fff}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;padding-top:68px;padding-bottom:65px}.footer-logo{font-size:23px;font-family:Georgia,'Times New Roman',serif}.footer-main p{font-size:12px;color:#c4d0c7;margin-top:13px}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:10px;font-size:12px;color:#ced6d0}.footer-main strong{color:white;margin-bottom:8px}.footer-bottom{border-top:1px solid #ffffff29;display:flex;justify-content:space-between;padding-top:20px;padding-bottom:23px;color:#b3beb6;font-size:11px}.lightbox{max-width:min(800px,94vw);width:100%;border:0;background:#20372d;color:#fff;padding:40px;box-shadow:0 15px 70px #0005}.lightbox::backdrop{background:#000b}.lightbox-close{float:right;background:none;border:0;color:white;font-size:25px;cursor:pointer}.lightbox-content{min-height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.lightbox-content span{font-size:16px;font-weight:700}.lightbox-content p{color:#bbc9bf;font-size:13px}.lightbox-controls{display:flex;align-items:center;justify-content:space-between}.lightbox-controls button{background:#ffffff1a;border:1px solid #ffffff44;color:white;padding:8px 18px;cursor:pointer}.legal{max-width:790px;margin:80px auto;padding:0 25px;min-height:60vh}.legal h1{font-size:47px;color:var(--green)}.legal .notice{padding:20px;background:#fff5e7;border-left:3px solid #ae7f51;font-size:14px}.legal p,.legal li{font-size:14px} @media(max-width:900px){.container{padding:0 25px}.site-header nav{gap:15px}.intro-grid,.location-grid,.booking-layout{gap:30px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.facts-grid{grid-template-columns:repeat(2,1fr);gap:16px}.facts-grid>div:nth-child(2){border:0}.facts-grid>div:nth-child(3){padding-left:0}.intro-pictures{grid-template-rows:265px 100px}.gallery{grid-template-rows:200px 200px}} @media(max-width:680px){.container{padding:0 20px}.header-inner{min-height:70px}.logo{font-size:14px}.logo-mark{width:41px;height:41px;font-size:30px}.menu-toggle{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 13px 25px #0002;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:12px}.hero{min-height:620px}.hero-inner{padding-top:60px;padding-bottom:90px}.hero p{font-size:15px}.hero-side{display:none}.hero-photo>span{font-size:8px}.btn{width:100%}.hero-actions{flex-direction:column}.facts-grid{padding-top:25px;padding-bottom:25px}.facts-grid>div{padding:8px!important;border:0!important;grid-template-columns:25px 1fr}.facts-icon{font-size:22px}.facts strong{font-size:11px}.facts span:last-child{font-size:10px}.section{padding:70px 0}.intro-grid,.location-grid,.booking-layout{grid-template-columns:1fr;gap:35px}.intro-pictures{grid-template-rows:225px 100px}.amenity-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.amenity-grid article{padding:19px;min-height:230px}.amenity-grid article h3{font-size:18px}.amenity-grid article p{font-size:11px}.section-row{align-items:start}.section-row p{display:none}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:180px 155px 155px}.gallery-item.large{grid-column:span 2;grid-row:auto}.gallery-item span{font-size:8px}.location-visual{height:260px}.booking-card{padding:17px}.footer-main{grid-template-columns:1fr 1fr;padding-top:43px;padding-bottom:35px}.footer-main>div:first-child{grid-column:span 2}.closing{padding:70px 0}.legal{margin:45px auto}.legal h1{font-size:37px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* V0.2 – echte, optimierte Originalfotos */
.hero-photo{background:#405047 url("assets/photos/hero.webp") center 46%/cover no-repeat}
.ph-kitchen{background:#b3b2a2 url("assets/photos/kitchen.webp") center/cover no-repeat}
.ph-detail{background:#777f73 url("assets/photos/living.webp") center/cover no-repeat}
.gallery-item{background:#e7e4dd!important;overflow:hidden;display:block;padding:0}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-item:hover img{transform:scale(1.035)}
.lightbox{max-width:min(1100px,96vw);padding:22px}
.lightbox-content{min-height:0;gap:9px}
.lightbox-content img{width:100%;max-height:72vh;object-fit:contain;display:block}
@media(max-width:680px){.hero-photo{background-position:50% 42%}.lightbox{padding:12px}.lightbox-content img{max-height:65vh}}

/* Smoobu booking widget (V0.4) */
.smoobu-widget{margin-top:20px;min-height:320px;width:100%;overflow:visible}
#apartmentIframeAll{width:100%;min-height:320px}
#apartmentIframeAll iframe{display:block;width:100%;max-width:100%;border:0}
@media(max-width:680px){.booking-card{min-width:0}.smoobu-widget{min-width:0}}

/* Contact section, v0.6 */
.contact-section{background:#f6f4ef}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.contact-layout>div>p{max-width:440px;color:#666f69}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:25px}.contact-link{font-weight:600;text-decoration:underline;text-underline-offset:4px}.contact-form{background:white;padding:34px;box-shadow:0 12px 30px #1b33230e}.contact-form h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0 0 10px}.contact-form .form-explainer,.form-info{font-size:12px;color:#6e766e}.contact-form label{display:block;font-size:12px;font-weight:700;margin:15px 0 5px}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid #cbd1ca;border-radius:2px;background:white;color:#242d29;font:inherit;font-size:14px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #5f826a;outline-offset:1px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form button{cursor:pointer;margin-top:19px}.form-info{margin-top:12px}@media(max-width:900px){.contact-layout{gap:28px}}@media(max-width:680px){.contact-layout{grid-template-columns:1fr;gap:35px}.contact-form{padding:22px}.form-pair{grid-template-columns:1fr}.contact-form button{width:100%}}

.inquiry-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Preisangaben: rein erläuternd; Beträge stammen ausschließlich aus Smoobu. */
.price-info{margin-top:32px;max-width:450px;border-top:1px solid #ffffff35;padding-top:24px}.price-info h3{font:400 27px/1.2 Georgia,'Times New Roman',serif;margin:0 0 10px;color:#fff}.price-info>p{margin:0 0 14px}.price-benefits{list-style:none;padding:0;margin:15px 0 18px;display:grid;gap:11px}.price-benefits li{position:relative;padding-left:27px;color:#f3eee6;font-size:14px}.price-benefits li::before{content:'✓';position:absolute;left:0;top:0;color:#e2bb91;font-weight:700}.price-info .booking-hint{margin:0;font-size:12px!important;line-height:1.65}
@media(max-width:680px){.price-info{margin-top:26px;padding-top:20px}.price-info h3{font-size:25px}.price-benefits li{font-size:13px}}

.starting-price{border-left:3px solid #dfb68b;padding:14px 0 14px 18px;margin:20px 0 10px;display:flex;flex-direction:column;gap:4px}.starting-price #starting-price-value{font-family:Georgia,serif;font-size:clamp(21px,2.4vw,29px);color:#f0ca9f;line-height:1.25}.starting-price small{font-size:12px;color:#dce6dc}.price-info .booking-hint{line-height:1.7}

/* V1.2 – lesbare, responsive Preispräsentation; Daten weiterhin ausschließlich aus Smoobu */
.price-info{max-width:510px}
.starting-price{border-left:0;border-top:1px solid #ffffff3d;padding:22px 0 10px;margin:22px 0 12px;gap:8px;min-width:0}
.starting-price .price-kicker{font-size:10px;letter-spacing:.22em;color:#dfb68b;font-weight:700}
.starting-price .price-headline{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;min-width:0}
.starting-price .price-lead{font:400 clamp(22px,3vw,29px)/1.2 Georgia,serif;color:#f3eee6}
.starting-price #starting-price-value{font:400 clamp(30px,4vw,46px)/1.12 Georgia,serif;color:#dfb68b;overflow-wrap:anywhere}
.starting-price .price-unit{font-size:15px;white-space:nowrap;color:#f3eee6}
.starting-price #starting-price-detail{display:block;max-width:420px;font-size:12px;line-height:1.65;color:#d1ded6}
.price-info .minimum-stay{display:block;margin-top:10px!important;color:#f3eee6;font-size:14px!important}
@media(max-width:680px){.starting-price{padding-top:18px}.starting-price .price-headline{gap:5px 8px}.starting-price .price-lead{font-size:23px}.starting-price #starting-price-value{font-size:34px}.starting-price .price-unit{font-size:14px}}

/* V1.3 – responsive Originalfoto-Galerie */
.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 26px}
.gallery-filter{border:1px solid #d6d7cf;background:transparent;color:var(--green);border-radius:30px;padding:9px 15px;font-size:12px;cursor:pointer}
.gallery-filter.active,.gallery-filter:hover{background:var(--green);color:#fff;border-color:var(--green)}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:210px;gap:12px}
.gallery-item{position:relative;display:block;overflow:hidden;border-radius:2px}
.gallery-item[hidden]{display:none!important}
.gallery-item.large{grid-column:span 2;grid-row:span 2}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;border:0!important;background:linear-gradient(transparent,#172a24ba);color:white;text-align:left!important;padding:25px 12px 9px!important;font-size:11px!important;letter-spacing:.03em!important;max-width:none!important}
.lightbox-content img{max-height:74vh}
@media(max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:170px}}
@media(max-width:680px){.gallery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.gallery-filter{flex:0 0 auto}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:155px;gap:8px}.gallery-item.large{grid-column:span 2;grid-row:span 2}.lightbox-content img{max-height:68vh}}

/* V1.3 – responsive Originalfoto-Galerie */
.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 26px}
.gallery-filter{border:1px solid #d6d7cf;background:transparent;color:var(--green);border-radius:30px;padding:9px 15px;font-size:12px;cursor:pointer}
.gallery-filter.active,.gallery-filter:hover{background:var(--green);color:#fff;border-color:var(--green)}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:210px;gap:12px}
.gallery-item{position:relative;display:block;overflow:hidden;border-radius:2px}
.gallery-item[hidden]{display:none!important}
.gallery-item.large{grid-column:span 2;grid-row:span 2}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;border:0!important;background:linear-gradient(transparent,#172a24ba);color:white;text-align:left!important;padding:25px 12px 9px!important;font-size:11px!important;letter-spacing:.03em!important;max-width:none!important}
.lightbox-content img{max-height:74vh}
@media(max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:170px}}
@media(max-width:680px){.gallery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.gallery-filter{flex:0 0 auto}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:155px;gap:8px}.gallery-item.large{grid-column:span 2;grid-row:span 2}.lightbox-content img{max-height:68vh}}

/* V1.4 bilingual navigation and mobile language selector */
.language-switch{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;margin-left:12px;font-size:12px;font-weight:700}.language-switch a{padding:7px 3px;text-decoration:none;opacity:.6}.language-switch a[aria-current=page]{opacity:1;color:#b77d45;border-bottom:2px solid #b77d45}.language-switch span{opacity:.35}.english-legal-note{grid-column:1/-1;font-size:12px;opacity:.7;margin-top:12px;max-width:600px}@media(max-width:900px){.language-switch{margin:12px 0 0;justify-content:flex-start}}

/* V1.5: Zurückhaltende Vorschaltung für externe Buchungsinhalte */
.smoobu-consent{padding:1.5rem;background:#f5f3ef;color:#24362e;line-height:1.65;border:1px solid #e6e0d6}
.smoobu-consent a{color:inherit;text-decoration:underline}.smoobu-consent button{margin-top:1rem;max-width:100%;white-space:normal}

/* V1.6: Smoobu direkt und rechtlicher Hinweis */
.widget-privacy-note{font-size:.76rem;line-height:1.6;color:#66756e;margin:1rem 0 .7rem}.widget-privacy-note a{color:inherit;text-decoration:underline}.legal{max-width:900px;margin:5rem auto;padding:1rem 1.5rem 5rem;line-height:1.75}.legal h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem}.legal h2{font-size:1.35rem;margin:2rem 0 .5rem}.legal p,.legal li{max-width:78ch}.legal a{overflow-wrap:anywhere}
