@font-face{font-family:Fallback;src:local('Georgia')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:#263c33;background:#f8f6f0;font-family:Arial,Helvetica,sans-serif;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(44px,5vw,78px)}h2{font-size:clamp(34px,3.8vw,54px)}h3{font-size:23px}p{color:#536158}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#24483d;color:white;border:1px solid #24483d;border-radius:6px;padding:14px 22px;font-weight:600;line-height:1.25;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#315e4f}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c58e3d;outline-offset:4px}.button.cream{background:#f4ebd8;color:#24483d;border-color:#f4ebd8}.small{padding:11px 15px;font-size:14px}.full{width:100%}.secondary{background:transparent;color:#24483d}.secondary:hover{background:#e7eee6}.danger{background:#8c3b30;border-color:#8c3b30}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15;letter-spacing:.02em}.brand img{width:46px;height:46px}.brand span{font-size:18px}.brand strong{font-size:22px}.brand-icon{width:66px;margin-bottom:24px}.site-header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-header nav>a:not(.button){text-decoration:none}.hero{position:relative;height:min(730px,78vw);min-height:520px;margin:0 24px;overflow:hidden;border-radius:8px;color:white}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,32,23,.75),rgba(15,32,23,.14) 75%),linear-gradient(0deg,rgba(15,32,23,.5),transparent 30%)}.hero-copy{position:absolute;left:7%;top:16%}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:700;margin-bottom:25px;color:#6b795d}.hero .eyebrow{color:#e4d9c4}.hero h1{font-size:clamp(62px,6.8vw,108px);margin-bottom:25px}.hero p:not(.eyebrow){color:#f4f1e8;font-size:21px;line-height:1.5;margin-bottom:30px}.hero-bottom{position:absolute;bottom:24px;left:7%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.02em;color:#f4f1e8}.section{padding:100px 8%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.lead{font-size:23px;line-height:1.5;color:#334a3d}.facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.facts span{border:1px solid #d8dfd1;border-radius:50px;padding:8px 15px;font-size:13px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-heading h2{margin:0}.section-heading p{font-size:14px}.gallery-section{padding-top:10px}.gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:240px 240px;gap:18px}.photo{position:relative;padding:0;border:0;border-radius:7px;overflow:hidden;display:block;text-align:left;background:#e3e5dd}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo:hover img{transform:scale(1.035)}.photo span{position:absolute;bottom:0;left:0;right:0;padding:45px 20px 16px;background:linear-gradient(transparent,rgba(13,31,22,.7));color:white;font-size:15px}.main-photo{grid-row:span 2}.nature{display:grid;grid-template-columns:1fr 1fr;background:#e8e9de;margin:0 24px;border-radius:8px;overflow:hidden}.nature-image{height:660px}.nature-image img{width:100%;height:100%;object-fit:cover}.nature-copy{padding:75px 15% 60px 12%;align-self:center}.nature-copy h2{font-size:clamp(48px,4.7vw,75px)}.nature-copy p:not(.eyebrow){font-size:17px}.text-link{font-weight:600;font-size:14px}.booking{display:grid;grid-template-columns:1fr 1.05fr;gap:10%}.booking h2{margin-bottom:28px}.steps{list-style:none;padding:0;margin:32px 0}.steps li{display:flex;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid #d9dfd2;font-size:14px}.steps b{font-family:Georgia,serif;color:#8f9c79;font-size:25px;font-weight:400}.price-box{background:#eeeee5;padding:22px;border-radius:5px;margin:30px 0}.price-box p{font-size:14px;margin-bottom:8px}.price-box strong{float:right}.panel{padding:30px;background:white;border:1px solid #dfe3d9;border-radius:10px;margin-bottom:25px}.booking-panel{box-shadow:0 12px 40px #243d3310}.booking-panel h3{margin-bottom:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:span 2}label{display:block;font-size:13px;font-weight:600;margin-bottom:17px}input,select,textarea{width:100%;display:block;margin-top:7px;border:1px solid #cdd6ca;border-radius:5px;background:#fcfdf9;padding:12px;color:#263c33;min-width:0}textarea{resize:vertical}.check{display:flex;align-items:start;gap:10px;font-weight:400}.check input{width:18px;height:18px;flex:none;margin:2px 0 0}.muted{font-size:12px;color:#708071;margin:14px 0 0;font-weight:400}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.calendar-toolbar button{padding:7px 12px;background:transparent;color:#24483d;border-color:#dfe4d9}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday{text-align:center;color:#7a8678;font-size:11px;padding-bottom:6px}.day{padding:8px 0;min-height:35px;background:#eef3e8;color:#263c33;border:0;border-radius:4px;font-weight:400;font-size:13px}.day:hover{background:#d8e3ca}.day.busy{background:#ebddd0;color:#8a6451;text-decoration:line-through}.day.past{opacity:.5}.legend{display:flex;align-items:center;gap:8px;font-size:11px;margin:15px 0 24px}.legend i{width:11px;height:11px;background:#eef3e8;display:inline-block;border:1px solid #dbe3d3}.legend i.taken{background:#ebddd0;margin-left:10px}.notice{padding:16px 20px;background:#eaf3e6;color:#24483d;border-radius:6px;font-size:14px}.notice.error{background:#fae9e3;color:#843727}.honeypot{position:absolute;left:-10000px}.setup{max-width:780px;margin:55px auto;padding:0 25px}.setup h1{font-size:47px}.login{max-width:480px;margin-top:70px}footer{padding:45px 5%;border-top:1px solid #d9dfd2;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px}footer .brand span{font-size:14px}footer .brand strong{font-size:18px}footer p{margin:0}footer>div{display:flex;gap:20px}dialog{border:0;border-radius:10px;padding:18px;max-width:94vw;max-height:95vh;background:#f8f6f0}dialog::backdrop{background:#0d211be0}dialog img{display:block;max-width:85vw;max-height:78vh;object-fit:contain}dialog p{margin:10px 0 0}.close{position:absolute;right:22px;top:22px;border:0;background:white;color:#24483d;border-radius:50%;font-size:24px;width:38px;height:38px;padding:0}.admin{background:#f3f4ed}.admin-header{display:flex;align-items:center;justify-content:space-between;max-width:1140px;margin:auto;padding:24px}.admin-header .brand small{display:block;margin-top:7px;font-size:11px;color:#758574}.admin-nav{display:flex;gap:6px;padding:0 24px 15px;max-width:1140px;margin:auto;overflow-x:auto}.admin-nav a{padding:10px 17px;border-radius:6px;text-decoration:none;font-size:14px;white-space:nowrap}.admin-nav .active{background:#24483d;color:white}.admin-main{max-width:1140px;margin:25px auto 60px;padding:0 24px}.admin-main h1{font-size:46px;margin-bottom:30px}.admin-main h2{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.025em;font-size:23px;font-weight:600}.admin-main .section-heading h1{margin:0}.admin-main .eyebrow{margin-bottom:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stats>div{padding:22px;border:1px solid #dfe3d9;border-radius:8px;background:#fff}.stats strong{display:block;font-size:32px;font-family:Georgia,serif}.stats span{font-size:12px;color:#708071}.booking-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:20px;background:white;border:1px solid #dfe3d9;border-radius:8px;padding:22px;margin-bottom:12px;text-decoration:none;font-size:14px}.booking-row:hover{border-color:#9caf94}.booking-row>div span{display:block;color:#708071;font-size:12px;margin-top:5px}.status{font-size:11px;padding:7px 10px;border-radius:30px;justify-self:start;background:#e9edf6;color:#495881}.status.reserved{background:#f7ead5;color:#8e6434}.status.confirmed{background:#e3eee1;color:#395d35}.status.blocked,.status.cancelled{background:#eaece6;color:#66705e}.archive-row{display:block;padding:15px 0;border-bottom:1px solid #e4e8de;font-size:13px}.rate-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #dfe3d9;font-size:14px;gap:15px}.rate-row form{margin:0}.guest-message{padding:20px;background:#f3f4ed;white-space:normal}.owner-calendar{max-width:640px}.owner-calendar .day{padding:16px 0;font-size:16px}.delete-form{border-top:1px solid #eee;padding-top:24px;margin-top:30px}.logout{margin-top:35px}.empty{padding:45px}.legal-text{overflow-wrap:anywhere}.panel summary{cursor:pointer;font-weight:600}input[type=file]{font-size:13px}
@media(max-width:800px){.site-header{padding:18px 5%}.site-header nav>a:not(.button){display:none}.site-header nav{gap:0}.site-header .brand span{font-size:14px}.site-header .brand strong{font-size:17px}.brand img{width:40px;height:40px}.hero{margin:0 12px;height:650px;min-height:0}.hero-copy{top:18%;left:8%;right:5%}.hero h1{font-size:74px}.hero p:not(.eyebrow){font-size:18px}.hero-bottom{left:8%;font-size:10px}.hero-bottom span:last-child{display:none}.section{padding:65px 6%}.intro{grid-template-columns:1fr;gap:15px}.lead{font-size:20px}.section-heading{align-items:start;flex-direction:column;gap:10px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 210px 210px;gap:12px}.main-photo{grid-column:span 2;grid-row:auto}.nature{grid-template-columns:1fr;margin:0 12px}.nature-image{height:360px}.nature-copy{padding:40px 8% 50px}.nature-copy h2{font-size:54px}.booking{grid-template-columns:1fr;gap:25px}.panel{padding:23px}footer{align-items:start;flex-direction:column;gap:20px}footer>div{flex-wrap:wrap}.admin-header{padding:18px}.admin-header .brand span{font-size:15px}.admin-nav{padding:0 12px 12px}.admin-nav a{padding:9px 12px;font-size:12px}.admin-main{padding:0 16px;margin-top:20px}.admin-main h1{font-size:37px}.stats{gap:8px}.stats>div{padding:16px 10px}.stats strong{font-size:28px}.stats span{font-size:10px;line-height:1.2;display:block}.booking-row{grid-template-columns:1fr auto;padding:18px;gap:10px}.booking-row>.status{grid-column:span 2}.owner-calendar .day{padding:12px 0}.form-grid{gap:0 12px}.setup{margin-top:35px}.setup h1{font-size:39px}}
@media(max-width:420px){.hero h1{font-size:60px}.hero{height:570px}.site-header .button{font-size:11px;padding:11px}.site-header .brand img{width:34px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.gallery{grid-template-rows:270px 180px 180px}.photo span{font-size:12px;padding-left:12px}.booking-row{grid-template-columns:1fr}.booking-row>.status{grid-column:auto}}
/* Version 0.1.1: Seiten, Ausstattung und Bilder */
.site-header{flex-wrap:wrap;gap:18px}.site-header nav{gap:20px}.site-header nav .current{color:#24483d;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.menu-toggle{display:none}.overview{padding-bottom:25px}.overview+.intro{padding-top:65px}.amenity-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:32px 0}.amenity-tile{background:#fff;border:1px solid #dce2d8;border-radius:10px;padding:22px 17px;display:flex;align-items:center;gap:14px;min-height:94px;font-size:14px;color:#2e493b}.amenity-tile svg{width:33px;height:33px;flex-shrink:0}.preview-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;grid-template-rows:225px 225px}.preview-grid .photo:first-child{grid-row:span 2}.page-heading{padding-top:65px;padding-bottom:55px}.page-heading h1{font-size:clamp(46px,5.5vw,80px);margin-bottom:25px}.page-heading>.lead{max-width:750px}.room-section{display:grid;grid-template-columns:1fr 1fr;max-width:1344px;margin:0 auto 35px;overflow:hidden;border-radius:10px;background:#e9ecdf}.room-section>img{width:100%;height:490px;object-fit:cover}.room-section>div{align-self:center;padding:45px 13%}.room-section.reverse>img{order:2}.room-section p{font-size:17px}.amenities-section{padding-top:0}.amenity-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.amenity-group{border:1px solid #dce2d8;border-radius:10px;padding:28px;background:#fff}.amenity-group h2{font-family:Arial,Helvetica,sans-serif;font-size:23px;font-weight:600;letter-spacing:-.02em}.amenity-group ul{list-style:none;padding:0;margin:0}.amenity-group li{display:flex;gap:15px;padding:18px 0;border-top:1px solid #edf0e7}.amenity-group svg{width:25px;height:25px;flex-shrink:0}.amenity-group strong{font-size:14px}.amenity-group p{font-size:13px;margin:5px 0 0}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.gallery-filters .active{background:#24483d;color:white}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}.photo-grid .photo{height:360px}.photo[hidden]{display:none}.environment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.environment-grid .photo{height:310px}.stay-cta{max-width:1344px;margin:55px auto 65px;padding:42px 50px;border:1px solid #d9dfd2;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#efefe5}.stay-cta h2{font-size:38px;margin-bottom:15px}.stay-cta p{margin-bottom:0}.stay-cta .eyebrow{margin-bottom:15px}.stay-cta .button{flex-shrink:0}.lightbox-controls{display:flex;gap:18px;align-items:center;justify-content:space-between;padding-top:10px}.lightbox-controls button{padding:10px 16px;flex-shrink:0}.lightbox-controls p{text-align:center;font-size:14px;margin:0}.amenity-admin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-top:24px}.amenity-admin small{display:block;color:#708071;font-weight:400}.lightbox-controls button:disabled{opacity:.45}
@media(max-width:1100px){.site-header nav{gap:14px;font-size:13px}.amenity-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.amenity-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.room-section{margin-left:24px;margin-right:24px}.stay-cta{margin-left:24px;margin-right:24px}.photo-grid .photo{height:300px}.environment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.site-header{position:relative}.menu-toggle{display:inline-flex}.site-header nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:4px;padding-top:12px;border-top:1px solid #d9dfd2}.site-header nav.open{display:flex}.site-header nav>a:not(.button){display:block;padding:10px 5px}.site-header nav .button{margin-top:8px}.amenity-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.amenity-tile{padding:16px 13px;font-size:13px;min-height:90px;gap:12px}.amenity-tile svg{width:28px;height:28px}.overview{padding-bottom:10px}.overview+.intro{padding-top:40px}.page-heading{padding-top:40px;padding-bottom:35px}.room-section{grid-template-columns:1fr;margin:0 12px 22px}.room-section>img{height:390px}.room-section.reverse>img{order:0}.room-section>div{padding:35px 7%}.amenity-groups{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-grid .photo{height:280px}.preview-grid{grid-template-columns:1fr 1fr;grid-template-rows:310px 210px 210px;gap:12px}.preview-grid .photo:first-child{grid-column:span 2;grid-row:auto}.environment-grid .photo{height:250px}.stay-cta{margin:30px 12px 45px;padding:30px 7%;align-items:start;flex-direction:column;gap:22px}.stay-cta h2{font-size:34px}.amenity-admin{grid-template-columns:1fr}.lightbox-controls{gap:8px}.lightbox-controls p{font-size:12px}}
@media(max-width:420px){.amenity-tile{flex-direction:column;align-items:start;gap:10px;padding:16px;min-height:112px}.photo-grid{grid-template-columns:1fr}.photo-grid .photo{height:350px}.environment-grid{grid-template-columns:1fr}.environment-grid .photo{height:340px}.room-section>img{height:340px}.preview-grid{grid-template-rows:270px 180px 180px}.page-heading h1{font-size:45px}.gallery-filters .small{font-size:12px;padding:11px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* Version 0.1.2: Anreise und Abreise im Kalender */
.day.selected-arrival,.day.selected-departure{background:#24483d;color:#fff;box-shadow:0 0 0 2px #24483d;text-decoration:none;opacity:1}.day.selected-range{background:#d6e6d0;color:#24483d}.day.departure-choice:not(.selected-arrival){box-shadow:inset 0 0 0 1px #95af84}.day.busy.departure-choice{background:#edf2e6;color:#24483d;text-decoration:none}.range-status{min-height:2.5em}.range-reset{margin-top:8px}.range-reset[hidden]{display:none}

/* Version 0.1.3: Jahresübersicht und begrenzte Buchungslisten */
.year-filter{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.year-filter label{margin:0;min-width:150px}.year-filter label:nth-of-type(2){min-width:240px}.year-filter button{min-height:47px}.annual-total .section-heading{align-items:center;margin-bottom:20px}.annual-total .eyebrow{margin-bottom:8px}.annual-total h2{margin-bottom:0}.annual-amount{font-family:Georgia,serif;font-size:clamp(30px,4vw,43px);line-height:1.2;color:#24483d;white-space:nowrap}.total-breakdown{display:flex;gap:25px;flex-wrap:wrap;padding-top:18px;border-top:1px solid #e1e6db;font-size:14px}.total-breakdown b{display:block;margin-top:5px}.booking-list-heading{align-items:center;margin:30px 0 18px}.booking-list-heading h2{margin:0}.booking-list-heading p{margin:0}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:25px 0}.pagination>span{font-size:13px}
@media(max-width:600px){.year-filter{gap:12px}.year-filter label,.year-filter label:nth-of-type(2){min-width:0;flex:1 1 100%}.year-filter button{width:100%}.annual-total .section-heading{align-items:start}.total-breakdown{gap:20px}.booking-list-heading{align-items:start}.annual-amount{font-size:36px}}

/* Version 0.1.4: kräftige Navigation und Preisvorschau */
.site-header{display:flex;flex-direction:column;align-items:center;gap:20px;padding:26px 5% 22px;max-width:1600px;margin:auto}.site-header .brand img{width:52px;height:52px}.site-header .brand span{font-size:19px}.site-header .brand strong{font-size:25px}.site-header nav{display:flex;align-items:center;justify-content:center;width:100%;gap:10px;background:#e9eddf;border:1px solid #d5ddcc;border-radius:12px;padding:10px 16px;font-size:16px;font-weight:600}.site-header nav>a:not(.button){display:block;padding:12px 20px;border-radius:7px;transition:background .15s}.site-header nav>a:not(.button):hover{background:#f8f9f2}.site-header nav .current{background:#fff;color:#24483d;text-decoration:none;box-shadow:0 2px 9px #24483d12}.site-header nav .button{margin-left:10px;padding:14px 20px;font-size:15px}.stay-quote{padding:22px;border:1px solid #d5dfce;border-radius:8px;background:#f0f4e9;margin:5px 0 28px}.stay-quote .quote-heading{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#526a46;margin-bottom:14px}.stay-quote [data-quote-message]{font-size:14px;margin:0;color:#3e5646}.quote-line{display:flex;justify-content:space-between;gap:15px;align-items:baseline;font-size:14px;padding:7px 0}.quote-line strong{white-space:nowrap}.quote-total{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid #d2dccb;padding-top:16px;margin-top:10px;font-weight:600}.quote-total strong{font-size:28px;font-family:Georgia,serif;white-space:nowrap;color:#24483d}.stay-quote.quote-error{background:#f9eee7;border-color:#e8d4c4}.stay-dates{margin-top:4px}.stay-quote [hidden]{display:none}
@media(max-width:1100px){.site-header nav{gap:5px;padding:10px}.site-header nav>a:not(.button){padding:12px 13px}.site-header nav .button{margin-left:4px;padding:14px;font-size:14px}}
@media(max-width:1050px){.site-header{display:grid;grid-template-columns:1fr auto;gap:16px;padding:18px 5%}.site-header .brand{justify-self:start}.site-header .brand img{width:44px;height:44px}.site-header .brand span{font-size:16px}.site-header .brand strong{font-size:21px}.site-header .menu-toggle{display:inline-flex;justify-self:end;font-size:14px;font-weight:600;padding:12px 16px}.site-header nav{grid-column:1/-1;display:none;flex-direction:column;align-items:stretch;gap:5px;padding:12px;width:100%;font-size:16px}.site-header nav.open{display:flex}.site-header nav>a:not(.button){display:block;padding:12px 16px}.site-header nav .button{margin:5px 0 0;font-size:15px}}
@media(max-width:420px){.site-header{gap:12px}.site-header .brand img{width:38px;height:38px}.site-header .brand span{font-size:14px}.site-header .brand strong{font-size:19px}.site-header .menu-toggle{font-size:12px;padding:11px 12px}.stay-quote{padding:18px}.quote-total strong{font-size:25px}.quote-line{font-size:13px}}

/* Gästestimmen auf HOME */
.guest-reviews{padding-bottom:25px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{margin:0;background:#fff;border:1px solid #dce2d6;border-radius:12px;padding:30px;display:flex;flex-direction:column}.review-mark{font-family:Georgia,serif;font-size:70px;line-height:.8;color:#b99153;margin:0 0 10px}.review-card blockquote{margin:0;flex:1}.review-card blockquote p{font-family:Georgia,serif;font-size:23px;line-height:1.5;color:#324d3d;margin-bottom:28px}.review-card figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #e7ebe1}.review-avatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#eaf0e0;color:#395443;font-weight:600}.review-card figcaption strong{display:block;font-size:14px}.review-card figcaption div>span{display:block;font-size:11px;color:#73806d;margin-top:2px}
@media(max-width:800px){.review-grid{grid-template-columns:1fr;gap:16px}.review-card{padding:26px}.review-card blockquote p{font-size:22px;margin-bottom:22px}}

/* Version 0.1.5: Einleitung mit längeren Texten */
.intro{display:block;max-width:1200px}.intro>div:first-child{margin-bottom:30px}.intro>div:last-child{max-width:none}.intro h2{margin-bottom:0}.intro .lead{max-width:none}.intro .eyebrow{margin-bottom:18px}
@media(max-width:800px){.intro>div:first-child{margin-bottom:24px}}

/* Version 0.1.6: gemeinsame Inhaltskanten */
:root{--page-gutter:clamp(18px,4vw,64px);--page-max:1440px}
.section{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-gutter)}
.intro{max-width:var(--page-max)}.intro>div:last-child{max-width:1050px}.intro .lead{max-width:1000px}
.site-header{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-gutter)}
.hero,.nature,.room-section,.stay-cta{width:calc(100% - var(--page-gutter) - var(--page-gutter));max-width:1312px;margin-inline:auto}
footer{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-gutter)}

/* Gleiche Schriftgröße für die Beschreibung auf HOME und Wohnung */
body:not(.admin) .intro p:not(.eyebrow),body:not(.admin) .page-heading>.lead{font-size:18px;line-height:1.7;color:#536158}

/* Version 0.1.7: Logo neben dem Menü und Informationen zum Aufenthalt */
@media(min-width:1051px){.site-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:center;padding-block:22px}.site-header .brand{white-space:nowrap}.site-header nav{min-width:0;gap:4px;padding:10px;font-size:15px}.site-header nav>a{white-space:nowrap}.site-header nav>a:not(.button){padding:12px 13px}.site-header nav .button{margin-left:4px;padding:14px;font-size:14px}}
@media(min-width:1051px) and (max-width:1200px){.site-header{gap:18px}.site-header .brand img{width:44px;height:44px}.site-header .brand span{font-size:16px}.site-header .brand strong{font-size:21px}.site-header nav{font-size:14px;gap:2px;padding:8px}.site-header nav>a:not(.button){padding:12px 9px}.site-header nav .button{padding:13px 11px;font-size:13px}}
.stay-information{margin:28px 0;border:1px solid #dce2d6;border-radius:10px;padding:26px;background:#fff}.stay-information h3{font-size:23px;margin-bottom:20px}.stay-information dl{margin:0}.stay-information dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;padding:16px 0;border-top:1px solid #e7ebe1}.stay-information dt{font-weight:600;font-size:14px}.stay-information dd{margin:0;font-size:15px;color:#536158}.stay-information dd p{font-size:13px;margin:8px 0 0}.stay-information-section{padding-block:10px}.stay-information-section .stay-information{max-width:900px;margin:15px 0}
@media(max-width:420px){.stay-information{padding:20px}.stay-information dl>div{grid-template-columns:1fr;gap:5px}.stay-information dd{font-size:14px}}

/* Umgebung: Karte erst nach Klick laden */
.location-section{padding-bottom:30px}.location-map{border:1px solid #d5ddcc;border-radius:12px;padding:25px;background:#e9eddf;overflow:hidden}.map-placeholder{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 20px;background:#f4f6ed;border-radius:8px}.map-placeholder[hidden]{display:none}.map-placeholder p{max-width:650px;font-size:14px}.map-placeholder h3{margin-bottom:15px}.map-symbol{font-size:60px;color:#70845d;line-height:1.2;margin-bottom:15px}.location-map iframe{display:block;width:100%;height:420px;border:0;border-radius:8px;background:#f4f6ed}.map-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.location-map>.muted{margin-top:18px}@media(max-width:600px){.location-map{padding:18px}.map-placeholder{padding:25px 15px;min-height:300px}.location-map iframe{height:350px}.map-actions{flex-direction:column}.map-actions .button,.map-actions button{width:100%;font-size:14px}}

/* Version 0.1.11: lesbare Hero-Überschrift auf schmalen Bildschirmen */
@media(max-width:600px){.hero{height:auto;min-height:550px}.hero>img{position:absolute;inset:0}.hero-copy{position:relative;inset:auto;padding:65px 7% 120px}.hero h1{font-size:clamp(30px,9vw,54px);line-height:1.08;margin-bottom:25px;letter-spacing:-.045em}.hero .eyebrow{font-size:10px;letter-spacing:.12em;line-height:1.6;margin-bottom:24px}.hero p:not(.eyebrow){font-size:17px;line-height:1.5}.hero-copy .button{max-width:100%;gap:12px;padding:14px 18px;font-size:14px}.hero-bottom{left:7%;right:7%;bottom:24px;line-height:1.5;font-size:11px}}

@media(max-width:600px){.nature-copy h2{font-size:clamp(29px,8vw,46px);line-height:1.12}.nature-copy{padding:38px 7% 42px}body:not(.admin) h1,body:not(.admin) h2{overflow-wrap:anywhere}}

/* Version 0.1.12: Übersicht und direkte Buchungsaktionen */
.booking-row{grid-template-columns:150px minmax(0,1fr) auto;align-items:start}.booking-row-info{min-width:0;overflow-wrap:anywhere}.booking-row .booking-row-price{font-size:14px;font-weight:600;color:#263c33;margin-top:9px}.booking-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:420px}.booking-row-actions form{margin:0}.booking-row-actions .button,.booking-row-actions button{font-size:12px;padding:10px 12px;gap:8px}.booking-delete summary{cursor:pointer;border:1px solid #d6c1b9;color:#843727;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600}.booking-delete[open]{flex-basis:100%;padding:12px;border:1px solid #e7d4cc;border-radius:6px}.booking-delete[open] summary{border:0;padding:0 0 12px}.booking-delete label{margin-bottom:12px;font-size:12px}@media(max-width:900px){.booking-row{grid-template-columns:130px minmax(0,1fr)}.booking-row>.status{grid-column:auto}.booking-row-actions{grid-column:1/-1;max-width:none;justify-content:flex-start;padding-top:14px;border-top:1px solid #e7ebe1}}@media(max-width:420px){.booking-row{grid-template-columns:1fr}.booking-row>.status{grid-column:auto}.booking-row-actions{grid-column:auto}}

.booking-row-actions svg{width:18px;height:18px;flex:none}.booking-row-actions .button,.booking-row-actions button,.booking-delete summary{display:inline-flex;align-items:center;justify-content:center;gap:7px}.booking-delete summary{min-height:37px}.booking-delete summary::-webkit-details-marker{display:none}.booking-delete summary::marker{content:''}@media(max-width:600px){.booking-row-actions{gap:10px}.booking-row-actions .action-label{display:none}.booking-row-actions>.button,.booking-row-actions>form>button,.booking-delete>summary{width:44px;height:44px;padding:10px}.booking-row-actions svg{width:20px;height:20px}.booking-delete[open]>summary{width:auto;padding:0 0 12px;justify-content:flex-start}.booking-delete[open] .action-label{display:inline}.booking-delete[open]>form>button{width:auto;height:auto;min-height:44px}}

/* Unverbindliche Anfragen nur im Verwaltungskalender */
.owner-calendar .day.has-request{background:#fff0c8;color:#745318;box-shadow:inset 0 0 0 2px #d8ad51}.owner-calendar .day.has-request.busy{background:#ebddd0;color:#8a6451}.owner-calendar .day.has-request.selected-arrival{background:#24483d;color:#fff}.owner-calendar .legend{flex-wrap:wrap}.legend i.requested{background:#fff0c8;border-color:#d8ad51;margin-left:10px}.calendar-request-panel{padding:18px;border:1px solid #e3c986;background:#fff8e7;border-radius:8px;margin:18px 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.calendar-request-panel[hidden]{display:none}.calendar-request-panel strong{font-size:14px}.calendar-request-panel a{max-width:100%;text-align:left}.calendar-request-panel .button{white-space:normal;line-height:1.5}

/* Öffentlicher Kalender: anonym vorgemerkte Anfragen */
.calendar .day.has-request{background:#fff0c8;color:#745318;box-shadow:inset 0 0 0 2px #d8ad51}.calendar .day.has-request.busy{background:#ebddd0;color:#8a6451}.calendar .day.has-request.selected-arrival,.calendar .day.has-request.selected-departure{background:#24483d;color:#fff;box-shadow:0 0 0 2px #24483d}.calendar .day.has-request.selected-range{background:#dce8cf;color:#263c33}.booking-panel .legend{flex-wrap:wrap;margin-bottom:10px}.request-calendar-note{margin:0 0 22px}

/* Anfragen dezent als gelbe Fläche, ohne Rahmen */
.day.has-request:not(.selected-arrival):not(.selected-departure){box-shadow:none}

/* Preise und altersabhängige Kinderfelder */
.price-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1rem 0}.price-table th,.price-table td{text-align:left;padding:.6rem .3rem;border-bottom:1px solid #d7dfd8}.price-table th{font-weight:600}.child-ages:empty{display:none}.child-ages{margin:0 0 1rem}

.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero-price-link{background:transparent;color:#fff;border:1px solid #fff}.hero-price-link:hover{background:#fff;color:#24483d}.home-price-note{width:calc(100% - var(--page-gutter) - var(--page-gutter));max-width:1312px;margin:24px auto 0;padding:26px 32px;background:#e9ecdf;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:22px}.home-price-note p{margin:0}.home-price-note .eyebrow{margin:0 0 9px}.home-price-note strong{font-size:21px}.home-price-note span{display:block;margin-top:5px;font-size:14px}.home-price-note .button{flex-shrink:0}.prices-page{padding-top:0}.prices-page .price-box{margin:0 0 32px;max-width:900px}.prices-page .price-table{font-size:clamp(15px,2vw,20px)}.prices-page .price-table th,.prices-page .price-table td{padding:18px 8px}.price-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0}.price-notes h3{margin-bottom:12px}@media(max-width:800px){.home-price-note{padding:24px;align-items:flex-start;flex-direction:column}.price-notes{grid-template-columns:1fr;gap:18px}.prices-page .price-table th,.prices-page .price-table td{padding:14px 3px}.hero-actions .button{padding:14px 17px;font-size:14px}}

.booking.booking-only{display:block;max-width:920px}.booking-only>.booking-panel{margin-top:30px}.booking-only h2{margin-bottom:20px}.prices-page .stay-information{max-width:900px;margin:30px 0 36px}

.home-price-note{border:2px solid #24483d;background:#e8eee5}.home-price-note .home-direct-benefit{font-size:clamp(23px,2.5vw,30px);font-weight:700;line-height:1.25;color:#24483d;margin:0 0 6px}.home-price-note .home-direct-subtitle{font-size:17px;font-weight:600;margin:0 0 18px;color:#24483d}.direct-booking-benefit{display:flex;align-items:flex-start;gap:14px;padding:22px 24px;margin:20px 0 26px;border-radius:10px;border:1px solid #b9cbb3;background:#e8eee5;color:#24483d}.direct-booking-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#24483d;color:white;font-size:21px}.direct-booking-benefit p{margin:0}.direct-booking-benefit strong{display:block;font-size:clamp(20px,2.2vw,26px);line-height:1.3}.direct-booking-benefit p>span{display:block;margin-top:6px;font-size:16px}@media(max-width:600px){.direct-booking-benefit{padding:20px 16px;gap:10px}.direct-booking-icon{width:28px;height:28px;font-size:18px}.home-price-note .home-direct-subtitle{font-size:16px}}

.page-heading.apartment-heading h1{font-size:clamp(32px,4vw,64px);text-wrap:balance}

/* Action labels use the button color rather than the booking detail color. */
.booking-row .booking-row-actions .action-label{color:inherit;font-size:inherit;margin-top:0}

/* Keep all child ages together beneath the party size, before contact fields. */
#booking-request>.form-grid>.child-ages{grid-column:1 / -1}
#booking-request .child-ages:empty{display:none}

/* Update 027: language selection and clear party capacity */
.language-switch{display:flex;align-items:center;gap:3px;justify-self:end;white-space:nowrap;border:1px solid #cbd5c9;border-radius:999px;padding:3px;grid-column:2;grid-row:2}
.language-switch a{display:block;padding:7px 10px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:700;color:#24483d}
.language-switch a[aria-current="true"]{background:#24483d;color:#fff}
.language-switch a:focus-visible{outline:2px solid #24483d;outline-offset:3px}
.party-limit{padding:12px 15px;background:#edf3ea;border-radius:8px;color:#24483d}
.party-grid .child-ages{grid-column:1/-1}
#booking-request .stay-quote{margin:18px 0 24px}
@media(min-width:1051px){.site-header{grid-template-columns:auto minmax(0,1fr) auto;gap:14px}.language-switch{grid-column:3;grid-row:1}.site-header nav{font-size:14px;padding:7px}.site-header nav>a:not(.button){padding-inline:9px}}
@media(max-width:1050px){.site-header{position:relative}.language-switch{order:2;margin-left:auto}.site-header .menu-toggle{order:3;margin-left:0}.site-header nav{order:4}.site-header .brand{margin-right:0}}
@media(max-width:420px){.site-header{gap:8px}.language-switch a{padding:6px 7px}.site-header .menu-toggle{padding:9px 8px}}
.price-box>p>strong{float:none}
@media(min-width:601px) and (max-width:1050px){.site-header{grid-template-columns:minmax(0,1fr) auto auto}.site-header .brand{grid-column:1;grid-row:1}.language-switch{grid-column:2;grid-row:1}.site-header .menu-toggle{grid-column:3;grid-row:1}.site-header nav{grid-column:1/-1;grid-row:2}}
@media(max-width:600px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.site-header .brand{grid-column:1;grid-row:1/span 2}.site-header .menu-toggle{grid-column:2;grid-row:1}.language-switch{grid-column:2;grid-row:2;margin:0;justify-self:end}.site-header nav{grid-column:1/-1;grid-row:3}}

/* Update 029: two guest reviews */
.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.review-grid{grid-template-columns:1fr}}

/* Update 030: guest reviews with native swipe navigation */
.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:4px 0 15px;scrollbar-width:thin;scrollbar-color:#98aa91 #e8eddf}
.review-track .review-card{flex:0 0 calc((100% - 22px)/2);scroll-snap-align:start;margin:0;display:flex;flex-direction:column;min-width:0}
.review-summary{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.4;color:#334a3d;margin:0 0 28px;flex:1}
.review-track .review-card figcaption{margin-top:auto}
.review-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:15px}
.review-controls button{min-width:46px;font-size:20px;padding:9px 15px}
.review-controls button:disabled{opacity:.35;background:transparent;cursor:default}
.review-position{min-width:70px;text-align:center;font-size:13px;color:#60735e}
@media(max-width:800px){.review-track{gap:16px}.review-track .review-card{flex-basis:100%}.review-summary{font-size:22px}}
@media(prefers-reduced-motion:reduce){.review-track{scroll-behavior:auto}}

/* Update 031: back to top */
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:20;width:46px;height:46px;padding:0;border-radius:50%;box-shadow:0 4px 16px #17372c26;font-size:28px;line-height:1}
.back-to-top[hidden]{display:none}
@media(max-width:600px){.back-to-top{right:max(14px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:44px;height:44px}}

.quote-child{padding-left:12px;border-left:2px solid #cbd9c3}.quote-child>span{min-width:0}.quote-child>strong{flex-shrink:0}
