/* WordPress integration of the supplied design. Reference assets remain separate. */
:root { --fs-display:76px; --fs-h1:52px; --fs-h1-small:20px; --fs-h2-lg:44px; --fs-h2:34px; }
*, *::before, *::after { letter-spacing:0; }
:is(h1,h2,h3,h4,.rt-display,.rt-h2-lg,.rt-eyebrow,.rt-pricebar__price strong) { letter-spacing:0; }
body { min-height:100vh; display:flex; flex-direction:column; }
.rt-main { flex:1; }
body.admin-bar .rt-header { top:32px; }
body.admin-bar { --header-h:112px; }
.dashicons { flex:none; font-size:20px; width:20px; height:20px; line-height:1; }
.rt-js-only { display:none !important; }
.js .rt-js-only { display:inline-flex !important; }
.js .rt-js-only[hidden] { display:none !important; }
.js .rt-burger, .js .rt-pricebar { display:none !important; }
.rt-header__bar { min-width:0; }
.rt-wp-menu, .rt-wp-menu .sub-menu { list-style:none; margin:0; padding:0; }
.rt-header__nav { min-width:0; flex:1; justify-content:flex-start; }
.js:not(.rt-navigation-ready) .rt-header__nav .sub-menu { visibility:hidden; }
.rt-header__nav .rt-wp-menu { display:flex; align-items:center; gap:24px; }
.rt-header__nav .rt-wp-menu > li { position:relative; display:flex; align-items:center; gap:2px; }
.rt-header__nav .rt-wp-menu > li > a { min-height:60px; display:flex; align-items:center; font-size:15px; font-weight:600; color:var(--c-ink); text-decoration:none; }
.rt-menu-toggle { min-width:44px; min-height:44px; display:grid; place-items:center; background:transparent; border:0; color:var(--c-ink); }
.rt-menu-toggle[aria-expanded=true] { transform:rotate(180deg); }
.rt-header__nav .sub-menu { position:absolute; top:100%; left:0; width:280px; max-height:70vh; overflow:auto; background:var(--c-surface); box-shadow:var(--sh-3); border:0; border-radius:0 0 var(--r-md) var(--r-md); padding:12px; }
.rt-header__nav .sub-menu a { display:flex; align-items:center; min-height:44px; padding:10px; text-decoration:none; color:var(--c-ink); font-size:15px; overflow-wrap:anywhere; }
.rt-header__nav .sub-menu a:hover { background:var(--c-bg); }
.rt-header__nav .sub-menu .sub-menu { position:static; width:auto; box-shadow:none; border:0; padding:0 0 0 14px; }
.rt-header__nav .sub-menu li { position:relative; }
.rt-header__nav .sub-menu .rt-menu-toggle { position:absolute; top:0; right:0; }
.rt-language { position:relative; }
.rt-language summary { display:flex; align-items:center; gap:6px; cursor:pointer; font-weight:700; min-width:44px; min-height:44px; }
.rt-language summary::marker { content:''; }
.rt-language ul { position:absolute; right:0; top:100%; padding:10px; list-style:none; background:white; border:0; border-radius:var(--r-md); min-width:180px; max-height:calc(100dvh - 120px); overflow:auto; box-shadow:var(--sh-2); }
.rt-language a { display:flex; align-items:center; min-height:44px; padding:10px; text-decoration:none; border-radius:6px; }
.rt-language a:hover, .rt-mobile-languages a:hover { background:var(--c-navy-tint); color:var(--c-navy); text-decoration:none; }
.rt-mobile-languages { margin-top:24px; border-top:1px solid var(--c-line); padding-top:20px; }
.rt-mobile-languages h2 { font-size:18px; }
.rt-mobile-languages ul { display:flex; flex-wrap:wrap; gap:4px 20px; list-style:none; padding:12px 0 0; margin:0; }
.rt-mobile-languages a { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:6px; text-decoration:none; }
.rt-mobile-languages [aria-current=page] { background:var(--c-navy-tint); font-weight:700; }
.rt-mobile-dialog, .rt-saved-dialog { border:0; border-radius:var(--r-lg); color:var(--c-text); width:min(640px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px; }
dialog::backdrop { background:rgb(20 36 58 / .7); }
.rt-mobile-dialog form, .rt-saved-dialog form, .rt-image-dialog form { display:flex; justify-content:flex-end; margin:0 0 14px; }
.rt-mobile-dialog nav a { min-height:44px; padding:10px 0; display:inline-flex; text-decoration:none; font-weight:600; }
.rt-mobile-dialog .sub-menu { padding:0 0 0 16px; }
.rt-mobile-dialog li { position:relative; }
.rt-mobile-dialog .rt-menu-toggle { position:absolute; right:0; top:0; }
.rt-mobile-dialog .menu-item-has-children > a,
.rt-header__nav .sub-menu .menu-item-has-children > a { padding-right:52px; }
.rt-saved-dialog h2 { font-size:26px; margin-bottom:20px; }
.rt-saved-item { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--c-line); }
.rt-saved-item a { overflow-wrap:anywhere; }
.rt-saved-item__link { display:flex; align-items:center; gap:16px; min-width:0; flex:1; text-decoration:none; }
.rt-saved-item__link img { flex:none; width:96px; height:80px; object-fit:cover; border-radius:6px; }
.rt-saved-item__copy { display:grid; gap:4px; min-width:0; font-size:13px; }
.rt-saved-item__copy strong { font-size:16px; }
.rt-saved-item > button { flex:none; }
.rt-saved-dialog .rt-caption { margin-top:20px; }
.rt-stars { color:var(--c-star); display:inline-flex; gap:2px; align-items:center; font-weight:700; }
.rt-stars .dashicons { font-size:16px; width:16px; height:16px; }
.rt-detail-head h1, .rt-card__title, .rt-detail-section h2 { overflow-wrap:anywhere; }
.rt-theme-gallery { grid-template-rows:repeat(2,minmax(0,1fr)); }
.rt-theme-gallery > a { position:relative; min-width:0; min-height:0; overflow:hidden; background:var(--c-surface-2); cursor:zoom-in; }
.rt-theme-gallery > a:first-child { grid-row:span 2; }
.rt-theme-gallery.rt-gallery--1, .rt-theme-gallery.rt-gallery--2 { grid-template-rows:minmax(0,1fr); }
.rt-theme-gallery.rt-gallery--1 > a:first-child, .rt-theme-gallery.rt-gallery--2 > a:first-child { grid-row:auto; }
.rt-theme-gallery.rt-gallery--4 > a:nth-child(4) { grid-column:3; grid-row:1 / span 2; }
.rt-theme-gallery [data-extra-gallery] { display:none; }
.rt-theme-gallery img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--dur-3) var(--ease); }
@media (hover:hover) and (pointer:fine) { .rt-theme-gallery > a:hover img { transform:scale(1.03); } }
.rt-gallery__source { position:absolute; inset:8px 8px auto; width:fit-content; max-width:calc(100% - 16px); padding:5px 8px; border-radius:4px; background:var(--c-hero-credit-bg); color:var(--c-hero-text); font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.rt-theme-gallery > a:focus-visible { outline-offset:-5px; }
.no-native-dialog :is([data-gallery-open],[data-mobile-open],[data-saved-open],[data-save-id]) { display:none !important; }
.no-native-dialog .rt-theme-gallery [data-extra-gallery] { display:block; }
.no-native-dialog .rt-theme-gallery { height:auto; grid-auto-rows:220px; grid-template-rows:repeat(2,220px); }
.rt-image-dialog { border:1px solid var(--c-line); background:var(--c-surface); color:var(--c-ink); padding:20px; width:min(1400px,calc(100% - 40px)); max-height:calc(100dvh - 40px); border-radius:var(--r-2xl); }
.rt-image-dialog::backdrop { background:var(--c-gallery-backdrop); }
.rt-image-dialog .rt-icon-btn { color:var(--c-ink); background:var(--c-surface); border-color:var(--c-line-strong); }
.rt-image-dialog__stage { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; }
.rt-image-dialog figure { margin:0; min-width:0; }
.rt-image-dialog figure img { width:100%; height:min(72dvh,calc(100dvh - 180px)); object-fit:contain; background:var(--c-gallery-matte); }
.rt-image-dialog figcaption { text-align:center; margin-top:12px; min-height:26px; }
.rt-detail > .rt-intro { grid-column:1; grid-row:1; }
.rt-detail { row-gap:0; }
.rt-detail__main { grid-column:1; grid-row:2; }
.rt-detail__aside { grid-column:2; grid-row:1 / span 2; align-self:stretch; }
.rt-detail:not(:has(> .rt-intro)) .rt-detail__main { grid-row:1; }
.rt-intro > p:first-of-type { font-weight:600; color:var(--c-ink); }
.rt-intro > h2 { font-size:26px; line-height:1.3; margin-bottom:16px; }
.rt-subtitle-part { display:inline-block; max-width:100%; overflow-wrap:anywhere; vertical-align:top; }
.rt-subtitle-separator { white-space:nowrap; }
.rt-hotel-lower { min-width:0; padding-bottom:48px; }
.rt-about--text-only { grid-template-columns:minmax(0,1fr); }
.rt-hotel-about .rt-prose { max-width:72ch; }
.rt-theme-chips { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.rt-theme-chips li { padding:5px 10px; border:1px solid var(--c-line); border-radius:var(--r-pill); background:var(--c-surface); font-size:13px; }
.rt-theme-chips li, .rt-fact-list :is(dt,dd) { min-width:0; overflow-wrap:anywhere; }
.rt-impressions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.rt-impressions a { display:block; overflow:hidden; border-radius:var(--r-xl); aspect-ratio:4/3; }
.rt-impressions img { width:100%; height:100%; object-fit:cover; }
.rt-impressions a:focus-visible { outline-offset:-5px; }
.rt-room-specs { display:flex; flex-wrap:wrap; gap:24px; margin:16px 0; }
.rt-room-specs dt { color:var(--c-muted); font-size:14px; }
.rt-room-specs dd { margin:4px 0 0; font-weight:600; }
.rt-child-description { min-width:0; }
.rt-related-note { margin-block:0 20px; }
.rt-child-description__image { display:block; overflow:hidden; border-radius:var(--r-xl); aspect-ratio:4/3; }
.rt-child-description__image img { width:100%; height:100%; object-fit:cover; }
.rt-child-description__image:focus-visible { outline-offset:4px; }
.rt-anchor-nav a[aria-current=location] { background:var(--c-navy); color:white; }
.rt-section-navigation { position:sticky; top:var(--rt-section-top,var(--header-h)); z-index:20; margin-top:24px; min-width:0; }
.rt-section-navigation .rt-anchor-nav { position:static; margin:0; border-radius:var(--r-pill); scrollbar-width:thin; scroll-padding-inline:40px; }
.rt-section-navigation .rt-anchor-nav::-webkit-scrollbar { display:block; height:5px; }
.rt-section-navigation .rt-anchor-nav a { min-height:44px; }
.rt-section-navigation__hint { display:none; position:absolute; top:1px; bottom:1px; width:36px; align-items:center; justify-content:center; pointer-events:none; color:var(--c-ink); }
.rt-section-navigation__hint--start { left:1px; border-radius:var(--r-pill) 0 0 var(--r-pill); background:linear-gradient(to right,var(--c-surface) 65%,transparent); }
.rt-section-navigation__hint--end { right:1px; border-radius:0 var(--r-pill) var(--r-pill) 0; background:linear-gradient(to left,var(--c-surface) 65%,transparent); }
.rt-section-navigation[data-overflow-start] .rt-section-navigation__hint--start,
.rt-section-navigation[data-overflow-end] .rt-section-navigation__hint--end { display:flex; }
.rt-detail #buchung { top:calc(var(--rt-section-top,var(--header-h)) + var(--rt-section-nav-height,56px) + 20px); }
html:not(.js) .rt-section-navigation { position:static; }
@media (max-width:1023px) { .rt-section-navigation { top:var(--rt-section-top,var(--header-h-mobile)); } }
.rt-intro > p:not(:first-of-type) { font-size:16px; }
.rt-collection-more { margin-top:20px; }
/* Related inventories are static: balance the actual rendered cards without JS. */
@media (min-width:768px) {
  .rt-related-grid > :last-child:nth-child(odd) { grid-column:1/-1; }
  .rt-related-grid > :last-child:nth-child(odd) .rt-card__media { max-height:340px; }
}
.rt-pills { display:flex; gap:8px; overflow-x:auto; padding:0 0 18px; }
.rt-pill { flex:none; border:1px solid var(--c-line-strong); border-radius:var(--r-pill); min-height:44px; padding:8px 16px; background:var(--c-surface); cursor:pointer; font-weight:600; }
.rt-pill[aria-pressed=true] { color:white; background:var(--c-navy); border-color:var(--c-navy); }
.rt-pill span { opacity:.8; padding-left:5px; }
.rt-card__media { display:block; }
.rt-card > .rt-card__heart { position:absolute; z-index:3; width:44px; height:44px; }
.rt-card__heart:focus-visible { outline-offset:-4px; }
.rt-card__body { min-width:0; }
.rt-card__heading { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.rt-card__heading .rt-card__title { min-width:0; margin:0; }
.rt-card__heading .rt-stars { flex:none; }
.rt-card__hotel { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:14px; color:var(--c-muted); }
.rt-card__hotel > span:first-child { min-width:0; overflow-wrap:anywhere; }
.rt-card__themes { display:flex; flex-wrap:wrap; gap:6px; padding:4px 0; margin:0; list-style:none; }
.rt-card__themes li { padding:4px 9px; border-radius:4px; background:var(--c-card-chip-bg); color:var(--c-card-chip-text); font-size:13px; line-height:1.45; overflow-wrap:anywhere; max-width:100%; }
.rt-card__foot { gap:12px; flex-wrap:wrap; }
.rt-card__foot .rt-price { min-width:0; }
.rt-card__foot .rt-price small { display:block; }
.rt-card__foot .rt-price--compact-person { white-space:nowrap; }
.rt-card__foot .rt-price--compact-person small { display:inline; }
.rt-card__foot > .rt-btn { margin-inline-start:auto; }
.rt-card--offer .rt-card__foot { gap:8px; }
.rt-card--offer .rt-card__foot > .rt-btn { padding-inline:10px; font-size:14px; }
.rt-card__text { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.rt-card--hotel .rt-card__text { -webkit-line-clamp:2; }
.rt-service-entry { min-width:0; background:var(--c-surface); border:1px solid var(--c-line); border-radius:var(--r-md); padding:18px; }
.rt-service-entry summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; cursor:pointer; list-style:none; }
.rt-service-entry summary::-webkit-details-marker { display:none; }
.rt-service-entry summary > strong { min-width:0; overflow-wrap:anywhere; }
.rt-service-entry summary > span:not(.dashicons) { grid-column:1 / -1; display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; font-size:14px; }
.rt-service-entry[open] summary > .dashicons { transform:rotate(180deg); }
.rt-service-entry summary .rt-price { margin-left:auto; }
.rt-service-entry summary .rt-price small { white-space:nowrap; }
.rt-service-entry .rt-prose { padding:16px 0 4px; }
.rt-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; }
.rt-fact-list { margin:0; }
.rt-fact-list > div { display:flex; gap:20px; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--c-line); }
.rt-fact-list dt { font-weight:500; }
.rt-fact-list dd { margin:0; color:var(--c-muted); }
.rt-theme-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; padding:24px 0; border-top:1px solid var(--c-line); overflow-wrap:anywhere; }
.rt-theme-contact address { font-style:normal; margin-top:12px; }
.rt-theme-contact address span { display:block; }
.rt-theme-contact .rt-contact { padding:16px 20px; border-radius:var(--r-xl); }
.rt-theme-contact .rt-contact a { min-height:44px; text-decoration:none; }
/* Unlinked e-mail line sits on the same rhythm as the linked contact rows. */
.rt-theme-contact .rt-contact__item { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:0; overflow-wrap:anywhere; }
.rt-contact-social { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.rt-contact-social a { text-decoration:none; }
.rt-contact-social .rt-chip { min-height:var(--touch); }
.rt-theme-contact .rt-contact a span:not(.dashicons) { min-width:0; text-underline-offset:3px; }
.rt-theme-contact .dashicons { flex:none; }
.rt-about-image { margin:24px 0 0; max-width:600px; }
.rt-about-image img { border-radius:var(--r-md); }
#bewertungen .cusu-reviews__head > h2 { display:none; }
#bewertungen .cusu-reviews { padding:0; gap:24px; --cusu-review-radius:var(--r-xl); --cusu-review-card-bg:var(--c-surface); --cusu-review-border:var(--c-line); --cusu-review-text:var(--c-text); --cusu-review-muted:var(--c-muted); }
#bewertungen .cusu-reviews__summary { padding:24px; background:var(--c-surface); border:1px solid var(--c-line); border-radius:var(--r-xl); }
#bewertungen .cusu-reviews__score { flex-wrap:wrap; gap:10px; margin-bottom:20px; }
#bewertungen .cusu-reviews__score-val { font-family:var(--ff-head); font-size:44px; line-height:1.1; }
#bewertungen .cusu-reviews__count { flex-basis:100%; font-size:14px; color:var(--c-muted); }
#bewertungen .cusu-reviews__criteria { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
#bewertungen .cusu-reviews__criteria-title { margin:16px 0 8px; }
#bewertungen .cusu-reviews__criterion { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:12px 0; border:0; border-bottom:1px solid var(--c-line); border-radius:0; }
#bewertungen .cusu-reviews__criterion > span { overflow-wrap:anywhere; }
#bewertungen .cusu-reviews__criterion .cusu-review-dialog__stars { flex-wrap:wrap; justify-content:flex-end; }
#bewertungen .cusu-reviews__filters { gap:16px; }
#bewertungen .cusu-reviews__filter { flex:1; min-width:0; font-size:14px; }
#bewertungen .cusu-reviews__filter select { min-height:44px; width:100%; }
#bewertungen .cusu-reviews__list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#bewertungen .cusu-reviews__list > .cusu-review-card:last-child:nth-child(odd) { grid-column:1 / -1; }
.rt-hotel-lower #bewertungen .cusu-reviews:has(.cusu-review-card) { grid-template-columns:minmax(0,1fr) minmax(0,2fr); align-items:start; }
.rt-hotel-lower #bewertungen .cusu-reviews__head { grid-column:1; grid-row:1 / span 3; }
.rt-hotel-lower #bewertungen :is(.cusu-reviews__filters,.cusu-reviews__list,.cusu-reviews__more) { grid-column:2; }
.rt-hotel-lower #bewertungen :is(.cusu-reviews__divider,.cusu-reviews__cta-head,.cusu-reviews__cta,.cusu-reviews__lock) { grid-column:1 / -1; }
.rt-hotel-lower #bewertungen .cusu-reviews__criteria { grid-template-columns:minmax(0,1fr); }
#bewertungen .cusu-review-card { display:flex; flex-direction:column; padding:20px; border-radius:var(--r-xl); min-width:0; }
#bewertungen .cusu-review-card__body { padding:0; min-width:0; }
#bewertungen .cusu-review-card__top { flex-wrap:wrap; gap:12px; }
#bewertungen .cusu-review-card__author { overflow-wrap:anywhere; }
#bewertungen .cusu-review-card__author strong, #bewertungen .cusu-review-card__author time { display:block; }
#bewertungen .cusu-review-card__author time { margin-top:4px; color:var(--c-muted); font-size:13px; }
#bewertungen .cusu-review-card__text { font-size:15px; line-height:1.65; }
#bewertungen :is(.cusu-review-card__more,.cusu-reviews__more,.cusu-reviews__cta) { min-height:44px; padding:10px 16px; border-radius:var(--r-md); }
.cusu-review-dialog { max-width:calc(100% - 24px); max-height:calc(100dvh - 24px); }
/* Own stacking context: Leaflet panes (z-index 400–650) must stay below the sticky header, section nav and price bar.
   Portal's top margin would make the map shorter than the contact card beside it. */
.rt-location-content .cusu-pm-map { margin:0; border-radius:var(--r-xl); overflow:hidden; isolation:isolate; }
.rt-location-content .cusu-pm-map__canvas { border-color:var(--c-line); border-radius:inherit; }
.rt-location-content .cusu-pm-hotel-contact { overflow-wrap:anywhere; }
.rt-location-content .cusu-pm-hotel-contact__line { padding:12px 0; border-bottom:1px solid var(--c-line); }
.rt-location-content .cusu-pm-map__action { min-height:44px; }
.rt-location-content .cusu-pm-map__style-option { min-height:44px; }
.rt-location-content .cusu-pm-map__label,
.rt-location-content .cusu-pm-map__style-label { letter-spacing:0; }
.rt-location-content .cusu-pm-map__field a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; }
.rt-location-content a:focus-visible,
.rt-location-content button:focus-visible { outline:var(--focus-ring); outline-offset:var(--focus-offset); }
.rt-booking .retreva-external-booking { display:flex; flex-direction:column; gap:16px; }
.rt-booking .retreva-external-booking p { margin:0; font-size:14px; color:var(--c-muted); }
.rt-booking .retreva-external-booking__travel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.rt-booking .retreva-external-booking__travel label { display:flex; flex-direction:column; gap:5px; min-width:0; font-size:12px; font-weight:600; }
.rt-booking .retreva-external-booking__travel input { min-width:0; width:100%; min-height:44px; padding:8px; border:1px solid var(--c-line-field); border-radius:var(--r-md); background:white; }
.rt-booking .retreva-external-booking a { display:flex; align-items:center; justify-content:center; min-height:48px; border:1px solid var(--c-navy); border-radius:var(--r-md); padding:10px 14px; font-weight:700; font-size:15px; text-decoration:none; text-align:center; }
.rt-booking .retreva-external-booking a[data-retreva-handoff=book] { background:var(--c-book); color:var(--c-on-book); border-color:var(--c-book); }
.rt-booking .retreva-external-booking a[data-retreva-handoff=inquire] { background:white; color:var(--c-navy); }
.rt-booking .rt-price { display:block; }
.rt-booking .rt-price strong { font-size:30px; font-family:var(--ff-head); }
.rt-detail #buchung { scroll-margin-top:20px; }
.rt-detail #buchung .rt-price { line-height:1.3; }
.rt-detail #buchung .rt-price small { display:block; margin-top:4px; font-size:13px; color:var(--c-muted); }
.rt-detail #buchung .rt-travel-actions--dual a[data-retreva-handoff=inquire] { min-height:44px; padding:6px 8px; border-color:transparent; background:transparent; font-size:14px; text-decoration:none; }
.rt-detail #buchung .rt-travel-actions--dual a[data-retreva-handoff=inquire]:hover { color:var(--c-link); background:var(--c-bg); }
@media (min-width:1024px) and (max-height:800px) { .rt-detail #buchung { position:static; } }
@media (min-width:1024px) {
  .rt-detail #buchung.is-fit { position:sticky; }
  .rt-detail #buchung.is-too-tall { position:static; }
  .rt-pricebar { padding-inline:max(24px,calc((100vw - 1200px)/2)); }
}
  body.has-adaptive-pricebar { padding-bottom:var(--rt-detail-pricebar-height,100px); }
  .js .has-adaptive-pricebar [data-pricebar].rt-pricebar { display:flex !important; visibility:hidden; pointer-events:none; opacity:0; transition:transform var(--dur-2) var(--ease),opacity var(--dur-2) var(--ease),visibility var(--dur-2); }
  .js [data-pricebar].rt-pricebar.is-visible { visibility:visible; pointer-events:auto; opacity:1; transform:none; }
  .rt-pricebar__price { flex:1 1 auto; }
  [data-pricebar] .rt-pricebar__price > .rt-price { display:block; white-space:normal; line-height:1.25; overflow-wrap:anywhere; }
  .rt-pricebar__price .rt-price strong { font-size:22px; white-space:nowrap; }
  .rt-pricebar__price .rt-price small { display:block; margin-top:3px; overflow:visible; text-overflow:clip; white-space:normal; font-size:12px; }
  .rt-pricebar > .rt-btn { flex:0 1 auto; max-width:62%; min-height:48px; text-align:center; white-space:normal; }
.rt-booking .rt-notice p { margin-top:6px; font-size:14px; }
.rt-footer__cols { padding-bottom:32px; }
.rt-footer .rt-wp-menu > li { display:block; }
.rt-footer nav a { min-height:44px; overflow-wrap:anywhere; }
.rt-footer__legal a { display:inline-flex; align-items:center; min-height:44px; }
.rt-footer .sub-menu { padding-left:12px; }
html:not(.js) .rt-header, .no-native-dialog .rt-header { position:static; }
.rt-header__nav a[aria-current=page] { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px; }
.rt-language a[aria-current=page] { font-weight:700; background:var(--c-navy-tint); }
.rt-search-options summary { min-height:44px; padding-block:10px; cursor:pointer; }
.rt-prose > h1 + *, .rt-detail-section > h1 + * { margin-top:20px; }
.rt-detail-section [data-collection] + .rt-prose:not(:empty) { margin-top:20px; }
.rt-travel-popover--guests select { scroll-margin-block:24px 140px; }
#bewertungen .cusu-reviews { --cusu-review-empty-text:var(--c-text-2); }
html:not(.js) .rt-booking [data-travel-panel] { display:none; }
.cusu-review-dialog { width:min(900px,calc(100vw - 32px)); max-width:calc(100vw - 32px); }
.rt-prose :is(img,iframe) { max-width:100%; }
.rcshow, .rchide { max-width:100%; }
@media (max-width:639px) { .rchide { display:none !important; } }
@media (min-width:640px) { .rcshow { display:none !important; } }
.rt-theme-toast { position:fixed; z-index:var(--z-toast); bottom:24px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); padding:14px 20px; background:var(--c-ink); color:white; border-radius:var(--r-md); box-shadow:var(--sh-2); }
@media (max-width:1199px) { :root { --fs-h1:44px; --fs-h2:30px; } .rt-header__nav .rt-wp-menu { gap:14px; } .rt-header__nav .rt-wp-menu > li > a { font-size:14px; } }
@media (max-width:1023px) { .rt-header__nav { display:none; } .js .rt-burger { display:inline-flex !important; } .rt-detail { grid-template-columns:minmax(0,1fr); } .rt-booking { position:static; } .rt-detail .rt-detail__main { grid-row:3; } .rt-intro { grid-row:1; } .rt-detail__aside { grid-column:1; grid-row:2; } .js .rt-pricebar.is-visible { display:flex !important; } body { padding-bottom:90px; }
  .js:not(.no-native-dialog) .rt-header__tools > .rt-language { display:none; }
  :is(.no-native-dialog,html:not(.js)) .rt-header__bar { flex-wrap:wrap; }
  :is(.no-native-dialog,html:not(.js)) .rt-header__nav { display:flex; order:3; flex:1 0 100%; }
  :is(.no-native-dialog,html:not(.js)) .rt-header__nav .rt-wp-menu { flex-wrap:wrap; gap:0 16px; }
  :is(.no-native-dialog,html:not(.js)) .rt-header { position:static; }
}
@media (max-width:767px) {
  :root { --fs-h1:32px; --fs-h2:26px; --fs-h1-small:16px; }
  body.admin-bar .rt-header { top:46px; }
  .rt-detail-head { padding-top:20px; }
  .rt-detail-head__row { flex-direction:column; align-items:stretch; gap:16px; }
  .rt-share-row { justify-content:flex-start; }
  .rt-theme-gallery { display:flex; height:300px; overflow-x:auto; scroll-snap-type:x mandatory; border-radius:var(--r-xl); }
  .no-native-dialog .rt-theme-gallery { height:300px; }
  .rt-theme-gallery > a { flex:0 0 100%; scroll-snap-align:start; }
  .rt-theme-gallery [data-extra-gallery] { display:block; }
  .rt-theme-gallery .rt-gallery__all { display:none !important; }
  .rt-detail { gap:24px; }
  .rt-detail-section { padding-top:32px; }
  .rt-anchor-nav { top:60px; margin-top:0; }
  .rt-theme-contact { grid-template-columns:1fr; gap:20px; }
      .rt-impressions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rt-intro > h2 { font-size:23px; }
  #bewertungen .cusu-reviews__list, #bewertungen .cusu-reviews__criteria { grid-template-columns:minmax(0,1fr); }
  .rt-image-dialog { padding:12px; }
  .rt-image-dialog__stage { position:relative; grid-template-columns:minmax(0,1fr); gap:0; }
  .rt-image-dialog__stage .rt-icon-btn { position:absolute; top:50%; transform:translateY(-50%); min-width:44px; width:44px; height:44px; background:rgb(255 255 255 / .94); }
  .rt-image-dialog__stage [data-gallery-prev] { left:6px; }
  .rt-image-dialog__stage [data-gallery-next] { right:6px; }
  .rt-image-dialog figure img { height:auto; max-height:calc(100dvh - 200px); }
  .rt-service-entry summary { align-items:flex-start; gap:12px; }
  .rt-services { grid-template-columns:minmax(0,1fr); }
  .rt-theme-toast { bottom:100px; }
}
@media (max-width:1023px) {
  .rt-hotel-lower #bewertungen .cusu-reviews:has(.cusu-review-card) { grid-template-columns:minmax(0,1fr); }
  .rt-hotel-lower #bewertungen .cusu-reviews > * { grid-column:1; grid-row:auto; }
}
@media (max-width:479px) {
  .rt-impressions { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:479px) {
  .rt-service-entry summary { flex-direction:column; align-items:stretch; gap:8px; }
  .rt-service-entry summary > span { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; text-align:left; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; } }
.rt-service-filters { margin-bottom:0; }
@media (min-width:1024px) {
  .rt-home-hotels { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .rt-home-hotels > * { grid-column:span 2; }
  .rt-home-hotels > .is-wide { grid-column:span 4; }
  .rt-home-hotels > .is-half { grid-column:span 3; }
  .rt-home-hotels > .is-single { grid-column:1/-1; }
  .rt-home-hotels > .is-single .rt-card__media { height:420px; aspect-ratio:auto; }
}
@media (min-width:768px) and (max-width:1023px) {
  .rt-home-hotels:has(> :last-child:nth-child(even)) > .is-wide { grid-column:auto; }
  .rt-home-hotels:has(> :last-child:nth-child(even)) > .is-wide .rt-card__title { font-size:24px; }
  .rt-home-hotels:not(:has(> .is-wide)) > :last-child:nth-child(odd) { grid-column:1/-1; }
}
.rt-print-header { display:none; }
