:root{--green:#183e34;--dark:#16352e;--cream:#f7f3eb;--ink:#243b33;--muted:#626d64;--line:#d9dfd5;--gold:#b5874f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--cream)}a{color:inherit}img{width:100%;height:auto;display:block;object-fit:cover}button,input,textarea,select{font:inherit}a,button,input,textarea,select{outline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h1{font-size:clamp(44px,5.2vw,78px);letter-spacing:-2.2px}h2{font-size:clamp(34px,3.5vw,50px);letter-spacing:-1px}h3{font-size:30px}p+p{margin-top:20px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.eyebrow{font-size:12px;text-transform:uppercase;font-weight:650;letter-spacing:2.1px;color:var(--green);margin-bottom:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--green);color:white;border:1px solid var(--green);padding:14px 23px;border-radius:3px;text-decoration:none;font-weight:600;font-size:15px;cursor:pointer;min-height:50px}.button:hover{background:#285648}.button.light{background:transparent;color:var(--green)}.topline{background:var(--green);color:#f3f0e5;text-align:center;font-size:12px;letter-spacing:.7px;padding:8px 20px}.site-header{position:sticky;top:0;z-index:10;background:rgba(247,243,235,.98);border-bottom:1px solid var(--line)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{line-height:1.1;text-decoration:none}.brand small{display:block;text-transform:uppercase;letter-spacing:2.4px;font-size:9px;margin-bottom:5px}.brand strong{font:26px Georgia,serif}.brand span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:3.4px;margin-top:7px}nav{display:flex;align-items:center;gap:27px}nav a{font-size:14px;text-decoration:none}nav a:hover{text-decoration:underline}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:47% 53%;min-height:640px}.hero-copy{padding:83px 65px 76px max(40px,calc((100vw - 1240px)/2));align-self:center}.hero-copy .intro{margin:26px 0 30px;color:var(--muted);max-width:470px;font-size:18px}.hero-copy .small{font-size:12px;color:var(--muted);margin-top:19px}.hero-visual{position:relative;overflow:hidden}.hero-visual>img{height:100%;min-height:640px}.photo-note{position:absolute;bottom:25px;left:28px;color:white;background:rgba(22,53,46,.88);padding:10px 16px;font-size:12px;letter-spacing:.3px}.benefits{border-bottom:1px solid var(--line);background:#ecefe6}.benefit-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;text-align:center;font-size:14px}.benefit-inner span+span{border-left:1px solid #cdd5ca}.benefit-inner b{display:block;font-size:12px;letter-spacing:.7px;text-transform:uppercase}.section{padding:95px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.intro-grid p{color:var(--muted);margin-top:24px}.intro-image{aspect-ratio:1.2}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:40px}.section-heading>p{max-width:380px;font-size:15px;color:var(--muted)}.rooms-section{background:#eef0e8}.rooms{display:grid;grid-template-columns:1fr 1fr;gap:28px}.room-card{background:var(--cream)}.room-card>img{aspect-ratio:1.65}.room-content{padding:32px}.room-content .label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.room-content p{font-size:15px;color:var(--muted);margin-top:15px}.rate-table{width:100%;border-collapse:collapse;margin:23px 0;font-size:15px}.rate-table td{padding:9px 0;border-bottom:1px solid var(--line)}.rate-table td:last-child{text-align:right;font-weight:600}.rates-note{margin-top:22px;font-size:13px;color:var(--muted)}.breakfast{display:grid;grid-template-columns:1.05fr 1fr;background:var(--green);color:var(--cream)}.breakfast>img{height:100%;min-height:510px}.breakfast-copy{padding:75px 70px;align-self:center}.breakfast-copy .eyebrow{color:#d2c5a8}.breakfast-copy p{margin-top:25px;color:#e0e7da}.pill{display:inline-block;border:1px solid #a5b7a0;padding:7px 14px;font-size:12px;margin-top:30px}.gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.gallery figure{margin:0}.gallery img{height:290px}.gallery figcaption{font-size:12px;color:var(--muted);margin-top:9px}.location{background:#e8ecdf}.location-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.location p{margin-top:25px;color:var(--muted)}.location-items{display:grid;gap:24px}.location-items article{border-bottom:1px solid #cbd3c6;padding-bottom:24px}.location-items h3{font-size:24px}.location-items p{font-size:15px;margin-top:10px}.request-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-info{margin-top:35px;font-size:16px}.contact-info a{display:inline-block;margin-top:8px}.contact-info address{font-style:normal;margin-top:22px}.contact-copy{color:var(--muted);margin-top:25px}form{background:white;border:1px solid var(--line);padding:35px;border-radius:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid #b9c5b6;border-radius:2px;padding:12px;background:#fff;color:var(--ink);margin-top:7px;font-size:15px}textarea{resize:vertical;min-height:110px}.field-wide{grid-column:1/-1}.check{display:flex;gap:11px;align-items:flex-start;font-size:12px;font-weight:400;margin:20px 0}.check input{width:17px;height:17px;flex-shrink:0;margin:3px 0 0}.price-hint{font-size:13px;color:var(--muted);margin:20px 0}.form-note{font-size:12px;color:var(--muted);margin-top:16px}.honeypot{position:absolute;left:-10000px}.status{padding:16px;margin-bottom:20px;background:#edf1e8;border-left:3px solid var(--green)}footer{background:var(--dark);color:var(--cream);padding:48px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.legal{padding-top:0}.legal details{border-top:1px solid var(--line);padding:22px 0}.legal summary{cursor:pointer;font-size:17px;font-weight:600}.legal details p{max-width:850px;font-size:14px;margin-top:18px;color:var(--muted)}.skip-link{position:fixed;left:10px;top:-100px;background:white;padding:15px;z-index:100}.skip-link:focus{top:10px}.preview-banner{background:#eee3c9;padding:10px;text-align:center;font-size:13px}
@media(min-width:1600px){.hero-copy{padding-right:90px}.hero{min-height:720px}.hero-visual>img{min-height:720px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}nav{gap:17px}.hero-copy{padding:60px 30px 60px 24px}.hero-visual>img{min-height:590px}.hero{min-height:590px}.intro-grid,.location-grid,.request-grid{gap:40px}.breakfast-copy{padding:45px 35px}.gallery img{height:230px}.header-inner{height:90px}}@media(max-width:760px){html{scroll-padding-top:92px}.wrap{width:calc(100% - 36px)}.topline{font-size:10px}.header-inner{height:82px}.brand strong{font-size:23px}.brand span{font-size:8px}.menu-toggle{display:block;background:transparent;border:1px solid var(--green);padding:8px 12px;font-size:13px;color:var(--green)}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:22px;border-bottom:1px solid var(--line);align-items:stretch;gap:20px}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 24px 42px}.hero-copy h1{font-size:49px;max-width:450px}.hero-copy .intro{font-size:16px;margin:22px 0}.hero-visual>img{height:340px;min-height:0}.photo-note{bottom:18px;left:18px}.benefit-inner{grid-template-columns:1fr 1fr;gap:20px 0;padding:24px 0;font-size:12px}.benefit-inner span:nth-child(3){border-left:0}.benefit-inner b{font-size:10px}.section{padding:60px 0}.intro-grid,.location-grid,.request-grid,.rooms,.breakfast{grid-template-columns:1fr}.intro-grid,.location-grid,.request-grid{gap:32px}.intro-image{aspect-ratio:1.4}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px}.room-content{padding:25px}.breakfast>img{height:330px;min-height:0}.breakfast-copy{padding:44px 25px 50px}.gallery{grid-template-columns:1fr 1fr;gap:20px 12px}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:180px}.gallery figure:first-child img{height:270px}form{padding:23px 18px}.form-grid{gap:16px 12px}.form-grid label{font-size:12px}.form-grid input,.form-grid select{min-width:0;font-size:14px;padding:10px}.footer-inner{display:block}.footer-inner p{margin-top:22px}.legal{padding-top:0}.button{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 1.0.1: Bildhoehen unabhaengig von HTML-Intrinsikmassen. */
.hero h1{font-size:clamp(42px,4.2vw,66px);line-height:1.08}.hero-visual{min-height:640px}.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;min-height:0}.breakfast>img{height:540px;min-height:0}
@media(min-width:1600px){.hero-visual{min-height:720px}}
@media(min-width:761px) and (max-width:1000px){.hero-visual{min-height:590px}}
@media(max-width:760px){.hero-visual{height:340px;min-height:340px}.hero-copy h1{font-size:clamp(39px,9.5vw,49px)}.breakfast>img{height:330px}}

/* Gästebuch und Google-Profil */
.guestbook-section{background:#eef0e8}.guestbook-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:start}.guest-entry{padding:27px 0;border-bottom:1px solid #cbd3c6}.guest-entry:first-child{padding-top:0}.guest-entry header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}.guest-entry h3{font:600 16px/1.5 system-ui,sans-serif}.guest-entry time{font-size:12px;white-space:nowrap;color:var(--muted)}.guest-entry>div{font-size:15px;color:var(--muted)}.guest-entry .archive-note{font-size:11px;color:var(--muted);margin-top:14px}.guest-reply{border-left:2px solid var(--gold);padding-left:18px;margin-top:22px}.google-card{background:var(--green);color:var(--cream);padding:32px;margin-bottom:28px}.google-card .eyebrow{color:#d2c5a8}.google-card>p:not(.eyebrow){font-size:15px;margin:20px 0}.google-card .button{background:var(--cream);color:var(--green);margin-top:5px}.google-card .form-note{color:#dde4d8;font-size:12px!important}.guest-form-title{font-size:28px;margin:0 0 22px}.guestbook-grid .comment-notes{font-size:13px}.guestbook-grid form{padding:25px}.guestbook-grid .form-submit{margin-top:20px}.guestbook-grid form p+p{margin-top:18px}.guestbook-grid .logged-in-as{font-size:13px;margin-bottom:18px}.guest-pagination{display:flex;position:static;gap:25px;margin-top:24px;font-size:14px}
@media(max-width:760px){.guestbook-grid{grid-template-columns:1fr;gap:35px}.guest-entry header{flex-wrap:wrap;gap:5px}.google-card{padding:25px}.guest-pagination{display:flex;flex-direction:row;background:transparent;padding:0;border:0}.guestbook-grid form{padding:22px 18px}}

/* Language selection remains visible on small screens. */
.header-inner{gap:20px}.language-switch{display:flex;gap:3px;margin-left:auto;flex-shrink:0}.language-switch a{padding:8px;font-size:12px;text-decoration:none;border-radius:2px;min-width:36px;text-align:center}.language-switch a[aria-current]{background:var(--green);color:#fff}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;margin-top:32px}.photo-grid figure{margin:0}.photo-grid img{height:250px}.photo-grid figcaption{font-size:12px;color:var(--muted);margin-top:9px}.brand{flex-shrink:0}.form-grid>*{min-width:0}details:target{scroll-margin-top:120px}a,button{touch-action:manipulation}
@media(min-width:761px) and (max-width:1150px){.header-inner{flex-wrap:wrap;height:auto;padding:15px 0;gap:12px}.header-inner nav{width:100%;justify-content:space-between}.language-switch{margin-left:auto}html{scroll-padding-top:160px}}
@media(max-width:760px){.header-inner{gap:10px}.language-switch a{min-width:32px;padding:8px 5px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.photo-grid img{height:190px}.brand span{letter-spacing:1.5px}.menu-toggle{padding:8px}.brand strong{font-size:21px}}
@media(max-width:380px){.brand strong{font-size:18px}.brand span{font-size:7px}.wrap{width:calc(100% - 28px)}.photo-grid img{height:150px}}

.faq-section{background:#eef0e8}.faq-list{margin-top:32px;max-width:900px}.faq-list details{border-bottom:1px solid #cbd3c6;padding:20px 0}.faq-list summary{cursor:pointer;font-weight:600;font-size:17px}.faq-list details p{margin-top:15px;color:var(--muted);font-size:15px;max-width:760px}

/* 1.3.0: clear contact, selected guest experiences and mobile legibility. */
.booking-steps{padding:0;list-style:none;counter-reset:steps;display:grid;gap:18px;margin:28px 0}.booking-steps li{counter-increment:steps;padding-left:42px;position:relative}.booking-steps li:before{content:counter(steps);position:absolute;left:0;top:2px;border:1px solid var(--green);border-radius:50%;width:28px;height:28px;text-align:center;line-height:27px;font-size:14px}.booking-steps strong,.booking-steps span{display:block}.booking-steps span{font-size:15px;color:var(--muted)}.stay-terms{font-size:15px;border-top:1px solid var(--line);padding-top:20px}.rate-table td:last-child{font-weight:750;color:var(--green);font-size:18px}.guestbook-more{margin-top:25px}.guestbook-more>summary{cursor:pointer;font-weight:600;padding:15px 0;text-decoration:underline;text-underline-offset:4px}.guestbook-older{padding-top:20px}.guest-city{font-size:13px;color:var(--muted);margin-top:12px}.mobile-contact{display:none}
@media(max-width:760px){
 :root{--muted:#4e5c53}body{font-size:18px;line-height:1.7;padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}.hero-copy{padding:32px 24px 34px}.hero-copy .intro{font-size:18px}.hero-copy .small,.photo-note{font-size:14px}.section-heading>p,.room-content p,.location-items p,.faq-list details p,.guest-entry>div,.google-card>p:not(.eyebrow),.booking-steps span,.stay-terms{font-size:17px}.rates-note,.price-hint,.form-note,.check,.legal details p{font-size:15px;line-height:1.65}.gallery figcaption,.photo-grid figcaption,.guest-entry time{font-size:14px}.guest-entry .archive-note{font-size:13px}.room-content .label{font-size:12px}.rate-table{font-size:16px}.rate-table td:last-child{font-size:19px}.form-grid label,label{font-size:15px}.form-grid input,.form-grid select,input,select,textarea{font-size:16px}.form-grid{grid-template-columns:1fr}.button{font-size:16px;min-height:48px}.benefit-inner{font-size:14px}.benefit-inner b{font-size:12px}.google-card .form-note{font-size:14px!important}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:10px;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:var(--cream);border-top:1px solid var(--line);box-shadow:0 -3px 16px #183e3410}.mobile-contact .button{flex:1;padding:12px 8px;line-height:1.3}.mobile-contact .button.light{flex:.65}.check{gap:12px}.check input{width:21px;height:21px}.guest-entry h3{font-size:18px}.guestbook-more summary{font-size:16px}html{scroll-padding-bottom:100px}
}

.google-rating strong{font-size:30px}.google-rating{font-size:14px!important}

.guestbook-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.guestbook-grid>*{min-width:0}.guest-entry,.guestbook-grid form,.google-card{overflow-wrap:anywhere}@media(max-width:760px){.guestbook-grid{grid-template-columns:minmax(0,1fr)}.contact-info a{overflow-wrap:anywhere}}

/* V1.4: compact room overview and accessible photo lightbox */
.room-overview{display:grid;gap:24px}.room-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.room-thumb{border:0;padding:0;position:relative;background:var(--green);cursor:pointer;color:#fff;text-align:left;overflow:hidden}.room-thumb img{aspect-ratio:2.05;transition:transform .2s}.room-thumb:hover img{transform:scale(1.025)}.room-thumb span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#11251dcc);padding:25px 16px 12px;font-weight:600;font-size:15px}.room-pricing{background:var(--cream);padding:26px}.room-pricing h3{font-size:25px}.room-pricing .rate-table th{text-align:left;font-size:13px}.room-pricing .rate-table th:not(:first-child),.room-pricing .rate-table td:not(:first-child){text-align:right}.room-pricing .button{margin-top:18px}.pb-photo-button{border:0;padding:0;background:transparent;cursor:zoom-in;width:100%;display:block}.pb-lightbox{position:fixed;inset:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;border:0;padding:45px 56px;background:#101c19ef;color:white}.pb-lightbox::backdrop{background:#000d}.pb-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;margin:0}.pb-lightbox figure img{width:auto;height:auto;max-width:100%;max-height:calc(100vh - 110px);object-fit:contain}.pb-lightbox figcaption{text-align:center;margin-top:12px}.pb-close,.pb-prev,.pb-next{position:absolute;border:0;background:#ffffff22;color:white;cursor:pointer;z-index:1}.pb-close{right:15px;top:12px;font-size:36px}.pb-prev,.pb-next{top:50%;font-size:46px;transform:translateY(-50%)}.pb-prev{left:8px}.pb-next{right:8px}@media(max-width:760px){.room-gallery-grid{gap:9px}.room-thumb img{aspect-ratio:1.3}.room-thumb span{font-size:12px;padding:17px 8px 8px}.room-pricing{padding:17px}.room-pricing .rate-table{font-size:13px}.room-pricing .rate-table th{font-size:11px}.pb-lightbox{padding:52px 30px}.pb-prev,.pb-next{font-size:30px}}

/* 1.4.4 readability and consistency */
:root{--muted:#44554b}
body{font-size:18px;line-height:1.6}
.brand{display:block;min-width:250px}
.brand strong{font:normal 26px/1.12 Georgia,'Times New Roman',serif;display:block}
.brand span{font-size:15px;letter-spacing:.7px;text-transform:none;margin-top:5px}
.site-header{top:0}
body.admin-bar .site-header{top:32px}
.benefit-inner,.benefit-inner b{font-size:16px}
.benefit-inner{gap:6px}
.section-heading>p,.room-content p,.location-items p,.intro-grid p,.contact-copy,.booking-steps span,.stay-terms,.room-pricing p,.faq-list details p,.legal details p{font-size:18px;line-height:1.6}
.rate-table,.room-pricing .rate-table{font-size:18px}
.rate-table td:last-child,.room-pricing .rate-table td:last-child{font-weight:700;font-size:22px}
.room-pricing .rate-table th{font-size:16px}
.room-pricing .rate-table td:last-child{font-size:22px}
label,.form-grid label{font-size:16px}
input,select,textarea,.form-grid input,.form-grid select{font-size:17px}
.price-hint,.form-note,.check,.rates-note{font-size:16px;line-height:1.6}
.check input{width:22px;height:22px}
.form-help{font-size:15px;font-weight:400;color:var(--muted);display:block;margin-top:6px}
#room-layout-wrap[hidden]{display:none}
@media(max-width:760px){
 body{font-size:17px;line-height:1.6}
 .site-header{top:0} body.admin-bar .site-header{top:46px}
 .brand{min-width:0}.brand strong{font-size:20px}.brand span{font-size:14px;letter-spacing:0}
 .benefit-inner,.benefit-inner b{font-size:15px}
 .section-heading>p,.room-content p,.location-items p,.intro-grid p,.contact-copy,.booking-steps span,.stay-terms,.room-pricing p,.faq-list details p,.legal details p{font-size:17px}
 .rate-table,.room-pricing .rate-table{font-size:17px}.room-pricing .rate-table th{font-size:15px}.room-pricing .rate-table td:last-child{font-size:20px}
 label,.form-grid label{font-size:16px}.price-hint,.form-note,.check,.rates-note{font-size:16px}
}

/* v1.4.5: staircase access must be visible without opening an accordion. */
.stair-access{background:#f0efe7;border-top:1px solid #d9dfd5;border-bottom:1px solid #d9dfd5}
.stair-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.stair-access h2{font-size:clamp(30px,3vw,44px);line-height:1.15;max-width:700px}
.stair-access p:not(.eyebrow){font-size:18px;line-height:1.65}
.stair-images{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start}
.stair-images figure{margin:0}.stair-images img{display:block;width:100%;height:370px;object-fit:cover;border-radius:3px}
.stair-images figure:nth-child(2) img{height:230px}.stair-images figcaption{font-size:15px;line-height:1.45;margin-top:8px}
@media(max-width:820px){.stair-grid{grid-template-columns:1fr;gap:24px}.stair-images img{height:300px}.stair-images figure:nth-child(2) img{height:200px}.stair-access p:not(.eyebrow){font-size:17px}}

/* v1.5.0: gallery aligned including fourth photo, readable captions and scrolling anchors */
html{scroll-padding-top:150px}section[id],details[id]{scroll-margin-top:150px}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.gallery figure:first-child{grid-column:auto}.gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.gallery figcaption,.photo-grid figcaption{font-size:16px;line-height:1.5;margin-top:10px}
.photo-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.room-gallery-grid img{width:100%;height:auto;display:block;object-fit:cover}
.rate-table td:not(:first-child){font-size:18px;font-weight:650}.room-pricing .rate-table td:not(:first-child){font-size:18px}
.request-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:16px}
.request-actions .button{cursor:pointer;min-height:48px;font-size:16px;text-align:center}
.request-actions .whatsapp-button{background:#16653f;color:white;border:1px solid #16653f}
.request-actions .whatsapp-button:hover{background:#0f4e30}
@media(max-width:760px){html{scroll-padding-top:115px}section[id],details[id]{scroll-margin-top:115px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.gallery figure:first-child{grid-column:auto}.gallery img,.gallery figure:first-child img{height:auto;aspect-ratio:4/3}.gallery figcaption,.photo-grid figcaption{font-size:15px}.request-actions{flex-direction:column}.request-actions .button{width:100%}.room-pricing .rate-table td:not(:first-child){font-size:16px}}

/* 1.5.1: accessible direct-call action beside email and WhatsApp */
.request-actions .phone-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:#f5f3ec;color:#153b31;border:1px solid #153b31;text-decoration:none;white-space:nowrap}
.request-actions .phone-button:hover,.request-actions .phone-button:focus-visible{background:#e5ebe2;color:#153b31}
.request-actions .button:focus-visible{outline:3px solid #b0733b;outline-offset:3px}

/* 1.5.2: targeted mobile legibility and contact-bar improvements. */
@media (max-width:760px) {
  body { font-size:18px; line-height:1.6; padding-bottom:calc(90px + env(safe-area-inset-bottom,0px)); }
  .section-heading>p, .room-content p, .location-items p, .intro-grid p,
  .contact-copy, .booking-steps span, .stay-terms, .room-pricing p,
  .faq-list details p, .legal details p, .stair-access p:not(.eyebrow) {
    font-size:18px;line-height:1.6;
  }
  .rate-table, .room-pricing .rate-table {font-size:17px;line-height:1.5;}
  .room-pricing .rate-table th {font-size:16px;}
  .rate-table td:not(:first-child), .room-pricing .rate-table td:not(:first-child) {font-size:17px;}
  .rate-table td:last-child, .room-pricing .rate-table td:last-child {font-size:20px;}
  .gallery figcaption,.photo-grid figcaption,.stair-images figcaption {font-size:15px;line-height:1.5;}
  .form-grid label,label {font-size:16px;}
  .form-grid input,.form-grid select,input,select,textarea {font-size:17px;}
  .rates-note,.price-hint,.form-note,.check,.form-help {font-size:16px;line-height:1.6;}
  .mobile-contact {transition:opacity .18s ease,visibility .18s ease;}
  .mobile-contact.pb-contact-hidden {opacity:0;visibility:hidden;pointer-events:none;}
}
@media (max-width:380px) {
  .rate-table, .room-pricing .rate-table {font-size:16px;}
  .room-pricing .rate-table th {font-size:15px;}
}
@media (prefers-reduced-motion:reduce) {
  .mobile-contact {transition:none;}
}

/* 1.5.3 – legible privacy policy, including compact screens */
.privacy-details h3{font-size:clamp(1.1rem,2.1vw,1.3rem);line-height:1.3;margin:1.5rem 0 .45rem}.privacy-details p{line-height:1.65;overflow-wrap:anywhere}.legal details:target{scroll-margin-top:5rem}@media(max-width:640px){.privacy-details p{font-size:1.0625rem}.privacy-details h3{font-size:1.15rem}}


/* 1.5.4 – finale mobile Lesbarkeit und zweispaltige Preiskarten */
@media (max-width:760px) {
  .section-heading>p,.room-content p,.location-items p,.intro-grid p,.contact-copy,
  .booking-steps span,.stay-terms,.room-pricing p,.faq-list details p,
  .legal details p,.guest-entry>div,.google-card>p:not(.eyebrow) {font-size:18px;line-height:1.65;}
  .room-pricing {padding:22px 17px;}
  .room-pricing h3 {font-size:25px;line-height:1.25;}
  .room-pricing .rate-table {display:block;width:100%;margin:20px 0 16px;border-collapse:separate;}
  .room-pricing .rate-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
  .room-pricing .rate-table tbody {display:grid;gap:13px;}
  .room-pricing .rate-table tr {display:grid;grid-template-columns:1fr 1fr;gap:13px 12px;background:#fff;padding:16px;border:1px solid #d6dbd0;border-radius:4px;}
  .room-pricing .rate-table td {display:block;min-width:0;padding:0;border:0;text-align:left!important;font-size:18px!important;line-height:1.4;}
  .room-pricing .rate-table td:first-child {grid-column:1/-1;font-weight:700;border-bottom:1px solid #d6dbd0;padding-bottom:10px;}
  .room-pricing .rate-table td:not(:first-child)::before {content:attr(data-label);display:block;font-weight:500;font-size:15px;line-height:1.35;color:#44554b;margin-bottom:7px;}
  .room-pricing .rate-table td:not(:first-child) {font-size:22px!important;font-weight:750;color:#153b31;white-space:nowrap;}
  .room-thumb span {font-size:14px;line-height:1.3;}
  .guest-entry h3 {font-size:19px;}
  .guest-entry time,.gallery figcaption,.photo-grid figcaption,.stair-images figcaption {font-size:15px;line-height:1.5;}
  .faq-list summary,.legal summary,.guestbook-more>summary {font-size:18px;line-height:1.5;}
  .privacy-details p {font-size:17px;line-height:1.65;}
  .request-actions .button {min-height:48px;}
  .mobile-contact {padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));}
  body {padding-bottom:calc(106px + env(safe-area-inset-bottom,0px));}
  .brand strong {font-size:20px;line-height:1.15;}
}
@media(max-width:360px){.room-pricing .rate-table tr{gap:10px 8px;padding:13px}.room-pricing .rate-table td:not(:first-child){font-size:20px!important}.room-pricing .rate-table td:not(:first-child)::before{font-size:14px}}

/* 1.5.7: Mobile price labels must never run outside their cards.
   Scope: room prices only; desktop layout and all content unchanged. */
@media (max-width: 600px) {
  .room-pricing .rate-table tr {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .room-pricing .rate-table td:first-child {
    grid-column: 1;
  }
  .room-pricing .rate-table td:not(:first-child) {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .room-pricing .rate-table td:not(:first-child)::before {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

.pb-extra-rates{margin-top:12px;line-height:1.6}
