/* Original CI and layout CSS are retained as local assets. This layer replaces
   layout/interaction dependencies previously supplied by WordPress plugins. */
:root{--escape-blue:#202864;--escape-orange:#e66a00;--escape-text:#444f60}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body.php-site{overflow-x:clip;padding-bottom:36px}
.php-site img{max-width:100%;height:auto}
.php-site img[src*="tripadvisor-award"]{width:150px!important;max-width:150px!important;height:auto!important;display:inline-block}
.php-site img.social-icon{width:65px;height:auto;max-width:65px}
.php-site img.size-thumbnail{width:150px;max-width:100%;height:auto}
.php-site dialog:not([open]){display:none}
.php-site :focus-visible{outline:3px solid var(--escape-orange);outline-offset:4px}
.skip-link{position:fixed;top:-80px;left:16px;z-index:10001;background:white;padding:12px 20px}
.skip-link:focus{top:12px}
.php-site #header{position:fixed!important;top:0;z-index:1000;width:100%;background:white}
.php-site nav#main-nav{display:none}
.php-site #c2a-nav{display:inline-block!important;visibility:visible!important}
.php-site .owl-lazy{opacity:1!important}
.php-site nav#main-nav.is-open{display:block!important;position:absolute;top:100%;left:0;right:0;width:100%;max-height:80vh;overflow:auto;background:#fff;padding:20px 5%;box-sizing:border-box;box-shadow:0 12px 20px #20286424}
.php-site nav#main-nav.is-open>ul{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;float:none;width:100%;height:auto}
.php-site nav#main-nav.is-open li{float:none;display:block;margin:0;position:static;text-align:left}
.php-site nav#main-nav.is-open li a{display:block;padding:9px 6px;line-height:1.4;height:auto}
.php-site nav#main-nav.is-open ul.sub-menu{display:block!important;position:static!important;opacity:1;visibility:visible;transform:none;box-shadow:none;width:auto;padding:0;margin:0;border:0;background:#fff}
.php-site nav#main-nav.is-open ul.sub-menu a{font-size:14px}
.php-site .isotope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;height:auto!important}
.php-site .isotope-grid:after{display:none}
.php-site .isotope-grid .isotope-item{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;margin:0!important;opacity:1!important;visibility:visible!important}
.php-site .isotope-grid .grid-sizer{display:none}
.php-site .isotope-item a{display:block}
.php-site .isotope-item img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.php-site .owl-galerieslider{display:flex;overflow:hidden;gap:16px;padding:0}
.php-site .owl-galerieslider>div,.php-site .owl-galerieslider>a{flex:0 0 300px}
.php-site .owl-galerieslider img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.film-gallery{--gallery-gap:16px;--gallery-width:calc((100% - 48px)/4);margin:0 auto;max-width:1800px}
.php-site .film-gallery__viewport{display:block;overflow:hidden;touch-action:pan-y pinch-zoom}
.php-site .film-gallery__track{display:flex;gap:var(--gallery-gap);width:100%;will-change:transform}
.php-site .film-gallery__track>.owl-item{flex:0 0 var(--gallery-width);min-width:0;float:none;margin:0}
.film-gallery .item-wrapper,.film-gallery a{display:block}
.film-gallery .item-wrapper{overflow:hidden;border-radius:5px}
.film-gallery a{cursor:zoom-in}
.booking-jump{text-align:center;margin:0 0 12px;clear:both}
.booking-jump .sr-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;box-sizing:border-box}
.booking-jump .sr-button span{font-family:Arial,sans-serif;font-size:22px}
#direkt-buchen{scroll-margin-top:80px}
html:has(#direkt-buchen){scroll-padding-top:0}
#direkt-buchen:focus{outline:none}
@media(max-width:1024px){.php-site #c2a-termin[href="#direkt-buchen"]{display:inline-block!important}}
@media(max-width:1100px){.film-gallery{--gallery-width:calc((100% - 32px)/3)}}
@media(max-width:800px){.film-gallery{--gallery-width:calc((100% - 16px)/2)}}
@media(max-width:560px){.film-gallery{--gallery-gap:10px;--gallery-width:82%}.booking-jump{margin-top:14px}.booking-jump .sr-button{width:100%;max-width:360px}.php-site .film-gallery__track{flex-basis:auto}}
.php-site .toggle-title{cursor:pointer}
.php-site .toggle-inner{display:none}
.php-site .toggle-item.is-open>.toggle-inner{display:block}
.php-site .toggle-item.is-open>.toggle-title:after{transform:rotate(45deg)}
.php-site video{max-width:100%;height:auto}
.php-site .eu-inline-video.is-playing .eu-inline-video__play{display:none}
.native-booking{padding:28px;border:1px solid #e1e2eb;border-top:4px solid var(--escape-orange);border-radius:6px;background:white;display:flex;gap:24px;align-items:center;justify-content:space-between;margin:30px 0 48px;box-shadow:0 6px 25px #2028640a;clear:both}
.native-booking h2{font-size:30px;margin:6px 0 12px}
.native-booking p{margin:0;font-size:16px}
.native-booking .sr-button{flex-shrink:0;white-space:nowrap;min-height:48px;box-sizing:border-box}
.room-content{max-width:1120px;margin:0 auto;padding:30px 0;color:var(--escape-text);font-size:16px;line-height:1.65}
.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:38px;align-items:start;padding:32px 0;max-width:1200px;margin:auto}
.room-layout .room-content{min-width:0;padding:0}
.booking-sidebar{position:sticky;top:110px;padding:0;min-width:0;scroll-margin-top:110px}
.room-layout .room-content .regiondo-room-details__gallery{margin-top:0}
escape-booking:not(:defined){display:block;padding:30px;border:1px solid #ddd}
.room-content h1{font:700 30px/1.25 'Open Sans',sans-serif;text-transform:none;color:var(--escape-text);margin:24px 0 18px}
.room-content h2,.room-content h3{text-transform:none;color:var(--escape-text)}
.room-content .regiondo-room-details__gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:24px 0}
.room-content .regiondo-room-details__gallery img{flex:0 0 72%;width:72%;max-height:450px;object-fit:cover;scroll-snap-align:start;cursor:zoom-in;border-radius:4px}
.room-content .regiondo-room-details__gallery{display:block;overflow:visible}
.room-content .regiondo-room-details__facts{padding-left:24px;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
.room-content .regiondo-room-details__important{margin-top:30px}
.room-content .regiondo-room-details__location{font-size:14px;color:#68717e}
.room-content .regiondo-room-details__description{max-width:none}
.room-content .native-booking{margin-bottom:0}
.preview-note{position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#202864;color:#fff;font:12px/1.5 'Open Sans',sans-serif;padding:7px 18px;display:flex;gap:20px;justify-content:center;box-shadow:0 -2px 8px #0001}
.preview-note a{color:#fff;text-decoration:underline}
.booking-choices{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0 48px}
.page-directory{max-width:1050px;margin:50px auto;padding:0 22px}
.page-directory ul{columns:2;column-gap:40px;list-style:none;margin:25px 0}
.page-directory li{break-inside:avoid;border-bottom:1px solid #e9e9ee;padding:12px 0;line-height:1.6}
.page-directory a{display:block;font-size:16px}
.external-media{padding:18px;background:#f6f7fa;border-radius:6px}
.form-status{padding:15px;border-left:4px solid var(--escape-orange);background:#fff3e8;color:#202864;margin:15px 0}
#image-viewer{max-width:90vw;max-height:92vh;padding:16px;border:0;border-radius:6px;background:#fff}
#image-viewer::backdrop{background:#11162de6}
#image-viewer img{display:block;max-height:76vh;max-width:85vw;object-fit:contain}
#image-viewer button{position:absolute;top:8px;right:8px;border:0;border-radius:50%;width:44px;height:44px;font:28px Arial;background:#202864;color:#fff;cursor:pointer}
#image-viewer p{font-size:14px;margin:8px 0 0}
@media(max-width:850px){.php-site .isotope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.php-site nav#main-nav.is-open>ul{grid-template-columns:1fr 1fr}.native-booking{align-items:stretch;flex-direction:column}.room-content{padding:22px 0}}
@media(max-width:1000px){.room-layout{grid-template-columns:1fr}.booking-sidebar{position:static;max-width:650px;width:100%;margin:0 auto}.room-layout .room-content .regiondo-room-details__gallery img{flex-basis:85%;width:85%}}
@media(max-width:560px){.php-site .isotope-grid{grid-template-columns:1fr;gap:16px}.php-site nav#main-nav.is-open>ul{grid-template-columns:1fr;gap:10px}.php-site nav#main-nav.is-open{max-height:calc(100dvh - 90px)}.room-content .regiondo-room-details__facts{grid-template-columns:1fr}.room-content .regiondo-room-details__gallery img{flex-basis:95%;width:95%}.native-booking{padding:22px}.room-content h1{font-size:26px}.page-directory ul{columns:1}.booking-choices{grid-template-columns:1fr}.preview-note{font-size:11px;gap:14px}.php-site .owl-galerieslider>div,.php-site .owl-galerieslider>a{flex-basis:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:1200px){.php-site nav#main-nav{display:block}.php-site #c2a-nav{display:none!important}.php-site nav#main-nav li:focus-within>ul.sub-menu{display:block!important;visibility:visible;opacity:1}}
