/* Shared image-led layout for all eight individual accommodation pages. */
.suite-property{--suite-line:#343e3526;background:#fff}
html:has(body.suite-property){scroll-padding-top:96px}
body.suite-property #galerie,body.suite-property #ueberblick,body.suite-property #ausstattung,body.suite-property #lage{scroll-margin-top:0}
body.grand-style.image-led.suite-property .suite-hero .hero-content{inset:auto 0 210px;padding:0 28px}
body.grand-style.image-led.suite-property .suite-hero h1{font-size:clamp(44px,5.5vw,80px);line-height:1.1;max-width:1200px;text-transform:none;font-weight:700;letter-spacing:-.025em}
.image-led.suite-property .property-gallery{padding:44px 0 32px;background:#fff}
.image-led.suite-property .gallery-heading{padding-bottom:26px;text-align:left}
.image-led.suite-property .gallery-heading h2{font-size:clamp(34px,3.8vw,52px);margin:0;letter-spacing:-.03em}
.image-led.suite-property .gallery-rail{gap:24px;scroll-padding-inline:var(--gutter);padding-inline:var(--gutter);scrollbar-width:none}
.image-led.suite-property .gallery-rail::-webkit-scrollbar{display:none}
.image-led.suite-property .gallery-rail>.gallery-frame{flex-basis:min(48vw,660px);min-width:0}
.image-led.suite-property .gallery-tile{height:auto;aspect-ratio:3/2;border:0;background:#e9e5dd}
.image-led.suite-property .gallery-tile img{object-fit:cover;background:#e9e5dd;transition:transform .8s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.image-led.suite-property .gallery-tile:hover img{transform:scale(1.025)}}
.image-led.suite-property .gallery-tile.gallery-portrait img{object-fit:contain}
.image-led.suite-property .gallery-tile.gallery-floorplan img{object-fit:contain;padding:12px;background:#faf8f3}
.suite-property .suite-intro>p.property-layout-notice{padding:16px 18px;border-left:2px solid #687061;background:#f3efe7;font-size:14px;line-height:1.65}
.image-led.suite-property .gallery-frame figcaption{padding-top:15px;font-size:14px;color:#575e53}
.image-led.suite-property .gallery-tile .gallery-enlarge{width:48px;min-height:48px;padding:0;display:grid;place-items:center;border-radius:50%;inset:auto 20px 20px auto;background:#faf8f3ed;color:#343e35;font-size:25px;backdrop-filter:blur(6px)}
.image-led.suite-property .gallery-rail-shell>.rail-controls{padding-top:20px;gap:14px;align-items:center;justify-content:flex-start}
.image-led.suite-property .gallery-rail-shell .rail-controls>button{border:1px solid #343e354f;border-radius:50%;width:52px;height:52px;background:transparent;color:#343e35;transition:background .2s,color .2s}
.image-led.suite-property .gallery-rail-shell .rail-controls>button:hover:not(:disabled){background:#343e35;color:#fff}
.image-led.suite-property .gallery-rail-shell .rail-status{font-size:13px;letter-spacing:.06em}
.image-led.suite-property .gallery-rail-shell .rail-progress{height:1px;background:#343e3526}
.image-led.suite-property .gallery-rail-shell .rail-progress>span{height:1px;background:#343e35}
.suite-property .suite-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.8fr);gap:60px clamp(50px,7vw,110px);padding-top:54px;padding-bottom:62px;background:#fff;border-top:1px solid var(--suite-line)}
.suite-property .suite-intro,.suite-property .suite-request{min-width:0}
.suite-property .suite-intro h2{font-size:clamp(34px,4vw,56px);line-height:1.12;letter-spacing:-.035em;margin:0 0 28px}
.suite-property .suite-key-facts{display:flex;flex-wrap:wrap;gap:18px 26px;padding:0;margin:0 0 32px;list-style:none}
.suite-property .suite-key-facts li{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.4}
.suite-property .suite-key-facts svg{width:26px;height:26px;flex-shrink:0;color:#52614e}
.suite-property .suite-intro>p{font-size:16px;line-height:1.9;max-width:650px;margin:0 0 20px;color:#5d6158}
.suite-property .suite-intro>p.suite-lead{color:#343e35;font-weight:600}
.suite-property .suite-request{align-self:start;background:#fff;border:1px solid #53624d28;padding:32px clamp(24px,2.6vw,38px);position:relative}
.suite-property .suite-request-icon{display:grid;place-items:center;width:48px;height:48px;background:#faf8f3aa;border-radius:50%;color:#53624d}
.suite-property .suite-request-icon svg{width:25px;height:25px}
.suite-property .suite-request h3{font-size:30px;line-height:1.2;margin:20px 0 16px;letter-spacing:-.025em}
.suite-property .suite-request>p{font-size:15px;line-height:1.8;color:#565f50;margin:0 0 24px}
.suite-property .suite-request>.button{display:flex;width:100%;justify-content:space-between;gap:12px;min-height:52px;font-size:14px;padding:14px 18px;white-space:normal}
.suite-property .suite-request>.button+.button{margin-top:11px}
.suite-property .suite-phone{display:inline-flex;gap:10px;align-items:center;min-height:44px;font-size:14px;margin-top:17px}
.suite-property .suite-phone svg{width:18px;height:18px}
.suite-property .suite-equipment{padding-top:34px;padding-bottom:52px;background:#fff}
.suite-property .suite-section-title h2{font-size:clamp(32px,3.5vw,46px);margin:0 0 34px;line-height:1.2}
.suite-property .suite-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:17px;list-style:none;padding:0;margin:0}
.suite-property .suite-amenities li{display:flex;align-items:center;gap:14px;min-height:54px;font-size:14px;line-height:1.5}
.suite-property .suite-amenity-icon{width:44px;height:52px;border-radius:26px;background:#ebe7de;display:grid;place-items:center;flex-shrink:0;color:#52614e}
.suite-property .suite-amenity-icon svg{width:25px;height:25px}
.suite-property .suite-location{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);gap:60px;padding-top:66px;padding-bottom:72px;background:#e9e7dd;align-items:center;border-top:1px solid var(--suite-line)}
.suite-property .suite-location h2{font-size:clamp(48px,6vw,80px);line-height:1.05;margin:0 0 28px;letter-spacing:-.04em}
.suite-property .suite-location address{font-style:normal;font-size:18px;line-height:1.8;margin:0 0 26px}
.suite-property .suite-location .button{font-size:14px;min-height:50px}
.suite-property .suite-back-link{display:block;width:fit-content;font-size:14px;line-height:1.5;margin-top:20px;padding:10px 0;text-decoration:underline;text-underline-offset:5px}
.suite-property .suite-map{height:420px;background:#d8dcd0;border:1px solid #343e351a;overflow:hidden}
.suite-property .suite-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.8)}
@media(max-width:1100px){
 .suite-property .suite-overview{column-gap:36px;grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr)}
 .suite-property .suite-amenities{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}
 .suite-property .suite-location{gap:35px;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr)}
}
@media(max-width:900px){html:has(body.suite-property){scroll-padding-top:88px}}
@media(max-width:700px){
 body.grand-style.image-led.suite-property .suite-hero .hero-content{inset:auto 0 180px;padding:0 24px}
 body.grand-style.image-led.suite-property .suite-hero h1{font-size:clamp(32px,8.4vw,48px);max-width:560px;line-height:1.12}
 .image-led.suite-property .property-gallery{padding-top:38px;padding-bottom:30px}
 .image-led.suite-property .gallery-heading{padding-bottom:24px}
 .image-led.suite-property .gallery-heading h2{font-size:34px}
 .image-led.suite-property .gallery-rail{gap:16px;padding-inline:20px;scroll-padding-inline:20px}
 .image-led.suite-property .gallery-rail>.gallery-frame{flex-basis:82vw}
 .image-led.suite-property .gallery-tile{aspect-ratio:3/2}
 .image-led.suite-property .gallery-tile .gallery-enlarge{inset:auto 12px 12px auto;width:44px;min-height:44px}
 .image-led.suite-property .gallery-rail-shell>.rail-controls{gap:14px;padding-top:14px}
 .image-led.suite-property .gallery-rail-shell .rail-controls>button{width:48px;height:48px}
 .suite-property .suite-overview{grid-template-columns:1fr;gap:34px;padding-top:46px;padding-bottom:48px}
 .suite-property .suite-intro h2{font-size:34px;margin-bottom:23px}
 .suite-property .suite-key-facts{gap:15px 22px;margin-bottom:25px}
 .suite-property .suite-key-facts li{font-size:14px;gap:8px}
 .suite-property .suite-intro>p{font-size:15px;line-height:1.85}
 .suite-property .suite-equipment{padding-top:30px;padding-bottom:36px}
 .suite-property .suite-amenities{grid-template-columns:1fr;gap:12px}
 .suite-property .suite-amenities li{font-size:14px;gap:14px;min-height:50px}
 .suite-property .suite-amenity-icon{width:42px;height:48px}
 .suite-property .suite-section-title h2{margin-bottom:25px}
 .suite-property .suite-request{padding:26px}
 .suite-property .suite-location{grid-template-columns:1fr;gap:30px;padding-top:44px;padding-bottom:42px}
 .suite-property .suite-location h2{font-size:54px;margin-bottom:22px}
 .suite-property .suite-location address{font-size:16px}
 .suite-property .suite-map{height:320px;margin-inline:0}
}
@media(prefers-reduced-motion:reduce){.image-led.suite-property .gallery-tile img,.image-led.suite-property .gallery-rail-shell .rail-controls>button{transition:none}}

/* Compact navigation and white sections; full-size photos remain keyboard accessible. */
.image-led.suite-property .gallery-rail-shell .rail-controls>button{margin:0;flex:0 0 auto}
.suite-property .suite-location address strong{display:block;font-weight:600;line-height:1.5;margin-bottom:5px}
.suite-property .suite-location address strong+br{display:none}
.suite-property #image-count{display:none}

/* Booking-style amenity categories keep every verified icon and detail. */
.suite-property .suite-amenity-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 38px;align-items:start}
.suite-property .suite-amenity-group{min-width:0}
.suite-property .suite-amenity-group h3{font-size:20px;line-height:1.3;letter-spacing:-.015em;margin:0 0 19px;padding-bottom:15px;border-bottom:1px solid var(--suite-line);color:#343e35;font-weight:600}
.suite-property .suite-amenity-group .suite-amenities{display:grid;grid-template-columns:1fr;gap:11px}
.suite-property .suite-amenity-group .suite-amenities li{min-height:48px}
.suite-property .suite-amenity-group .suite-amenity-icon{width:40px;height:46px}
body.grand-style.image-led.suite-property .suite-request{align-self:center;padding:0;background:transparent;border:0}
body.grand-style.image-led.suite-property .suite-request>.button{border-radius:999px;min-height:56px;padding:16px 24px;justify-content:center;gap:16px}
body.grand-style.image-led.suite-property .suite-request>.button+.button{margin-top:14px}
.suite-property .suite-house-rules{padding-top:60px;padding-bottom:66px;background:#fff}
.suite-property .suite-house-rules h2{font-size:clamp(34px,3.8vw,52px);line-height:1.15;margin:0 0 35px;letter-spacing:-.03em}
.suite-property .suite-rules-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 42px;margin:0}
.suite-property .suite-rules-list>div{border-top:1px solid var(--suite-line);padding-top:17px}
.suite-property .suite-rules-list dt{font-size:16px;font-weight:600;color:#343e35;line-height:1.5;margin:0 0 8px}
.suite-property .suite-rules-list dd{font-size:14px;line-height:1.8;color:#5d6158;margin:0}
body.suite-property #hausregeln{scroll-margin-top:0}
@media(max-width:1000px){
 .suite-property .suite-amenity-groups,.suite-property .suite-rules-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
}
@media(max-width:700px){
 .suite-property .suite-amenity-groups,.suite-property .suite-rules-list{grid-template-columns:1fr;gap:28px}
 .suite-property .footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
 .suite-property .suite-amenity-group h3{font-size:19px;margin-bottom:15px;padding-bottom:12px}
 .suite-property .suite-house-rules{padding-top:40px;padding-bottom:46px}
 .suite-property .suite-house-rules h2{font-size:34px;margin-bottom:28px}
 .suite-property .suite-rules-list{gap:23px}
 body.grand-style.image-led.suite-property .suite-request{width:100%;max-width:440px;justify-self:start}
}
/* Place the photo shade above the photograph and below text and navigation. */
body.grand-style.image-led.suite-property .suite-hero .hero-shade {
  display: block;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg,
      rgba(16,24,21,.80) 0,
      rgba(16,24,21,.65) min(220px,35%),
      rgba(16,24,21,0) min(340px,58%)),
    linear-gradient(0deg,
      rgba(16,24,21,.76) 0,
      rgba(16,24,21,.64) 35%,
      rgba(16,24,21,0) 55%);
}

body.grand-style.image-led.suite-property .suite-hero .hero-content,
body.grand-style.image-led.suite-property .suite-hero .hero-bottom {
  z-index: 2;
}
