/* Only article content: booking forms, navigation, editor and brand logo retain their styles. */
.kx-content-care {font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:1rem!important;line-height:1.7;color:#172b3e;overflow-wrap:anywhere;}
.kx-content-care :is(p,li,td,th,div,span,font,a,strong,b,em) {font-family:inherit!important;}
.kx-content-care :is(p,li,td,th,span,font,a) {font-size:1rem!important;line-height:1.7!important;}
.kx-content-care :is(h1,h2,h3,h4,h5,h6),.kx-content-care :is(h1,h2,h3,h4,h5,h6) * {font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:700!important;line-height:1.25!important;color:#173e66!important;font-style:normal!important;letter-spacing:normal!important;text-transform:none!important;}
.kx-content-care h1,.kx-content-care h1 * {font-size:clamp(1.8rem,4vw,2.6rem)!important;}
.kx-content-care h2,.kx-content-care h2 * {font-size:clamp(1.4rem,3vw,1.9rem)!important;}
.kx-content-care :is(h3,h4,h5,h6),.kx-content-care :is(h3,h4,h5,h6) * {font-size:1.2rem!important;}
.kx-content-care :is(h1,h2,h3,h4,h5,h6) {margin:1.5rem 0 .8rem;}
.kx-content-care p {margin:0 0 1rem;}
.kx-content-care a {color:#075aa8!important;text-decoration:underline;text-underline-offset:.15em;}
.kx-content-care a:hover {color:#173e66!important;}
.kx-content-care :is(strong,b) {font-weight:700!important;color:#172b3e;}
.kx-content-care pre {font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:1rem!important;white-space:pre-wrap;line-height:1.7;}
.kx-content-care img {max-width:100%;height:auto;}

/* Neutral hotel palette. Existing links, booking controls and content stay intact. */
body.kx-app.kx-app {--kx-green:#244c69;--kx-green-deep:#18384e;--kx-green-soft:#365f7b;--kx-cream:#faf9f6;--kx-ink:#252724;--kx-muted:#595c57;--kx-border:#e5e2da;--kx-font-body:Arial,Helvetica,sans-serif;--kx-font-display:Georgia,serif;background:#faf9f6!important;color:#252724!important;}
body.kx-app.kx-app :is(.kx-mainheader,.kx-home-top,.kx-home-menubar) {background:#fff!important;color:#252724!important;box-shadow:none!important;}
body.kx-app.kx-app :is(.kx-brand,.kx-brand__copy strong,.kx-brand__copy small,.kx-mainnav__item>a,.kx-mainnav__label,.kx-mainnav__toggle) {color:#252724!important;}
body.kx-app.kx-app :is(.kx-brand__mark,.kx-contactbar,.kx-site-footer,.kx-home-stage .kx-site-footer--stage) {background:#eeece6!important;color:#50534f!important;}
body.kx-app.kx-app :is(.kx-contactitem,.kx-contactitem svg,.kx-site-footer a) {color:#50534f!important;}
body.kx-app.kx-app .kx-home-stage {background:#eeeae2!important;color:#252724!important;box-shadow:none!important;border-radius:12px!important;}
body.kx-app.kx-app .kx-home-stage__art {background-color:#eeeae2!important;opacity:1!important;}
body.kx-app.kx-app .kx-home-stage__art::before {background:linear-gradient(90deg,#eeeae2 0%,#eeeae2 35%,rgba(238,234,226,.93) 46%,rgba(238,234,226,.12) 70%)!important;}
body.kx-app.kx-app :is(.kx-home-stage__art::after,.kx-home-stage::after) {display:none!important;}
body.kx-app.kx-app .kx-home-copy {background:#eeeae2;padding:24px;border-radius:6px;}
body.kx-app.kx-app .kx-home-copy h1 {color:#252724!important;font-family:Georgia,serif!important;font-weight:400!important;line-height:1.12!important;font-size:clamp(2.1rem,4.5vw,4rem)!important;letter-spacing:-.025em!important;}
body.kx-app.kx-app .kx-lead {color:#50534f!important;font-size:1.05rem!important;line-height:1.65!important;}
body.kx-app.kx-app .kx-booking-teaser {background:#fff!important;color:#252724!important;border:1px solid #e5e2da;box-shadow:0 8px 24px rgba(30,30,25,.08)!important;border-radius:10px!important;}
body.kx-app.kx-app .kx-booking-teaser h2 {color:#252724!important;font-family:Georgia,serif!important;font-size:clamp(1.7rem,3vw,2.6rem)!important;line-height:1.2!important;}
body.kx-app.kx-app :is(.kx-btn-primary,.kx-btn-book,.kx-header-book) {background:#244c69!important;color:#fff!important;border-color:#244c69!important;box-shadow:none!important;border-radius:6px!important;}
body.kx-app.kx-app :is(.kx-btn-primary,.kx-btn-book,.kx-header-book):hover {background:#18384e!important;color:#fff!important;}
body.kx-app.kx-app :is(.kx-btn-ghost,.kx-cart-button,.kx-hero-contactbar a) {background:#fff!important;color:#244c69!important;border:1px solid #dedbd3!important;box-shadow:none!important;}
body.kx-app.kx-app :is(.kx-hero-contactbar svg,.kx-menu-toggle) {color:#244c69!important;}
body.kx-app.kx-app :is(.kx-nav-dropdown,.kx-home-stage>.kx-mobile-nav) {background:#fff!important;color:#252724!important;}
body.kx-app.kx-app :is(.kx-nav-dropdown a,.kx-mobile-nav__primary) {color:#252724!important;}
body.kx-app.kx-app .page-header h1 {color:#252724!important;font-family:Georgia,serif!important;line-height:1.2!important;}
.kx-content-care {color:#252724;}
.kx-content-care :is(h1,h2,h3,h4,h5,h6),.kx-content-care :is(h1,h2,h3,h4,h5,h6) * {color:#252724!important;}
.kx-content-care a {color:#244c69!important;}
/* VikBooking digital registration form: presentation only, no field or token changes. */
body.kx-app.kx-app :is(.vbo-booking-details-precheckin,.vbo-precheckin-container) {font-family:Arial,Helvetica,sans-serif!important;color:#252724!important;background:#fff!important;line-height:1.6;font-size:1rem;max-width:100%;}
body.kx-app.kx-app :is(.vbo-precheckin-room-head,.vbo-precheckin-adult-num,.vbo-precheckin-disclaimer) {background:#eeece6!important;color:#252724!important;font-family:inherit!important;}
body.kx-app.kx-app .vbo-precheckin-container :is(h1,h2,h3,h4,label) {color:#252724!important;font-family:inherit!important;font-weight:700;}
body.kx-app.kx-app .vbo-precheckin-container :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea) {background:#fff;color:#252724;border:1px solid #aaa79f;border-radius:5px;font:inherit;max-width:100%;min-height:44px;}
body.kx-app.kx-app .vbo-precheckin-container :is(button[type=submit],input[type=submit]) {background:#244c69!important;color:#fff!important;border-radius:6px;min-height:44px;}
@media(max-width:767px) {
 body.kx-app.kx-app .kx-home-copy {padding:20px;}
 body.kx-app.kx-app .kx-home-main {grid-template-columns:minmax(0,1fr)!important;gap:24px!important;}
 body.kx-app.kx-app .kx-booking-teaser {width:100%!important;min-width:0!important;padding:24px!important;}
 body.kx-app.kx-app .kx-brand__copy strong {white-space:normal!important;}
 body.kx-app.kx-app .vbo-precheckin-guest-fields {display:flex;flex-direction:column;min-width:0;}
 body.kx-app.kx-app .vbo-precheckin-guest-fields>div {width:100%!important;max-width:100%;min-width:0;}
}
@media print {
 body.kx-app.kx-app .vbo-booking-details-precheckin,body.kx-app.kx-app .vbo-precheckin-container {color:#000!important;background:#fff!important;box-shadow:none!important;}
 body.kx-app.kx-app .vbo-precheckin-room-wrapper {break-inside:avoid;}
}

body.kx-app.kx-app .vbo-precheckin-guest-fields label {display:block;margin-bottom:.4rem;}

/* 1.1.4: lighter translucent surfaces instead of solid boxes. */
body.kx-app.kx-app .kx-home-stage {background:transparent!important;}
body.kx-app.kx-app .kx-home-stage__art::before {background:linear-gradient(90deg,rgba(224,237,249,.80),rgba(205,225,245,.38) 52%,rgba(23,80,132,.08))!important;}
body.kx-app.kx-app .kx-home-copy {background:rgba(224,237,249,.72)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
body.kx-app.kx-app .kx-booking-teaser {background:rgba(218,235,251,.76)!important;border:1px solid rgba(255,255,255,.6)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 24px rgba(30,30,25,.06)!important;}
body.kx-app.kx-app :is(.kx-mainheader,.kx-home-top,.kx-home-menubar) {background:rgba(229,240,251,.86)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
body.kx-app.kx-app :is(.kx-contactbar,.kx-site-footer,.kx-home-stage .kx-site-footer--stage) {background:rgba(207,226,245,.78)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
body.kx-app.kx-app :is(.kx-btn-ghost,.kx-cart-button,.kx-hero-contactbar a) {background:rgba(222,237,252,.78)!important;}
body.kx-app.kx-app :is(.vbo-booking-details-precheckin,.vbo-precheckin-container) {background:rgba(224,237,249,.68)!important;}
body.kx-app.kx-app :is(.vbo-precheckin-room-head,.vbo-precheckin-adult-num,.vbo-precheckin-disclaimer) {background:rgba(205,225,245,.62)!important;}
@media(prefers-reduced-transparency:reduce){body.kx-app.kx-app :is(.kx-home-copy,.kx-booking-teaser,.kx-home-top,.kx-home-menubar,.kx-mainheader,.kx-contactbar,.kx-site-footer,.vbo-precheckin-container) {background:#e5eff9!important;backdrop-filter:none!important;}}
@media print {body.kx-app.kx-app .vbo-precheckin-container {background:#fff!important;}}

body.kx-app.kx-app {--kx-cream:#f3f7fb;--kx-green:#16578d;--kx-green-deep:#103f68;background:#f3f7fb!important;}
body.kx-app.kx-app :is(.kx-btn-primary,.kx-btn-book,.kx-header-book) {background:#16578d!important;border-color:#16578d!important;color:#fff!important;}

/* Mobile header: contact details already available in the lower contact section. */
@media screen and (max-width:767px) {
 body.kx-app.kx-app .kx-shell-head .kx-contactbar {display:none!important;}
}

/* 1.1.6: reference design – photograph visible behind the hero text. */
body.kx-app.kx-app .kx-home-stage__art::before {background:rgba(0,0,0,.28)!important;}
body.kx-app.kx-app .kx-home-copy {background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body.kx-app.kx-app .kx-home-copy h1 {font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;color:#fff!important;text-shadow:0 2px 6px rgba(0,0,0,.6);}
body.kx-app.kx-app .kx-home-copy .kx-lead {color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.85);}
body.kx-app.kx-app :is(.kx-home-top,.kx-home-menubar) {background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body.kx-app.kx-app.kx-home-page :is(.kx-brand,.kx-brand__copy strong,.kx-brand__copy small,.kx-mainnav__item>a,.kx-mainnav__label,.kx-mainnav__toggle) {color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.7);}
body.kx-app.kx-app .kx-home-menubar .kx-mainnav__list {background:rgba(20,33,47,.42)!important;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px;}
body.kx-app.kx-app .kx-booking-teaser {background:rgba(255,255,255,.96)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:20px!important;}
body.kx-app.kx-app .kx-booking-teaser h2 {font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;}
body.kx-app.kx-app .kx-hero-contactbar a {background:rgba(20,33,47,.38)!important;color:#fff!important;border-color:rgba(255,255,255,.5)!important;}
body.kx-app.kx-app .kx-hero-contactbar svg {color:#fff!important;}
@media screen and (max-width:767px) {
 body.kx-app.kx-app :is(.kx-hero-actions .kx-btn,.kx-btn-book,.kx-header-book) {background:#16578d!important;color:#fff!important;border-color:#16578d!important;text-shadow:none!important;}
 body.kx-app.kx-app :is(.kx-hero-actions .kx-btn,.kx-btn-book,.kx-header-book):hover {background:#103f68!important;color:#fff!important;}
}
/* Ensure the photo covers the complete hero, including stacked mobile content. */
body.kx-app.kx-app .kx-home-stage__art {inset:0!important;width:100%!important;height:100%!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;}
/* Subtle blue backgrounds for bottom mobile navigation, on home and inner pages. */
@media screen and (max-width:767px) {
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button) {
  background:rgba(205,226,248,.88)!important;color:#174c7a!important;border-radius:12px;
 }
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button):is(:hover,:focus-visible,.is-active,[aria-expanded="true"]) {
  background:#b6d6f3!important;color:#103f68!important;
 }
}
/* 1.1.9: clear bottom buttons and room to scroll contact links above the dock. */
@media screen and (max-width:1140px) {
 body.kx-app.kx-app {padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;}
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button),
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button):is(:hover,:focus-visible,.is-active,[aria-expanded="true"]) {
  background:transparent!important;box-shadow:none!important;
 }
 body.kx-app.kx-app .kx-home-mobilebar :is(a,button) {color:#fff!important;}
 body.kx-app.kx-app .kx-mobile-dock :is(a,button) {color:#174c7a!important;}
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) a.is-active {text-decoration:underline!important;text-underline-offset:4px;}
 body.kx-app.kx-app .kx-mobile-nav {max-height:calc(100vh - 140px)!important;max-height:calc(100dvh - 140px)!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0px);}
 body.kx-app.kx-app :is(.kx-hero-contactbar,.kx-mobile-nav__contact) a {scroll-margin-bottom:calc(120px + env(safe-area-inset-bottom,0px));}
}
/* Matching pill-shaped hero actions, on desktop and mobile. */
body.kx-app.kx-app .kx-hero-actions .kx-btn {border-radius:999px!important;}
/* Replace decorative emoji without changing booking values or form fields. */
body.kx-app.kx-app .kx-booking-date::before,body.kx-app.kx-app .kx-booking-date::after,
body.kx-app.kx-app .kx-booking-date>i,body.kx-app.kx-app .kx-booking-date>svg {display:none!important;content:none!important;}
body.kx-app.kx-app .kx-booking-date .vbo-results-head-det-val {white-space:normal!important;line-height:1.5!important;}
body.kx-app.kx-app .kx-booking-date-out .vbo-results-head-det-lbl {display:none!important;}
body.kx-app.kx-app .kx-date-symbol {display:inline-flex;color:#16578d;flex:0 0 24px;margin-right:12px;}
body.kx-app.kx-app .kx-date-symbol::before,body.kx-app.kx-app .kx-date-symbol::after {content:none!important;}
/* Mobile navigation: selection by weight only, consistently white. */
@media screen and (max-width:1140px) {
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button),
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button):is(:hover,:focus-visible,.is-active,[aria-current="page"],[aria-expanded="true"]) {
  background:transparent!important;color:#fff!important;text-decoration:none!important;box-shadow:none!important;font-weight:400!important;
 }
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a.is-active,a[aria-current="page"],button[aria-expanded="true"]) {font-weight:700!important;}
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button) span {color:inherit!important;font-weight:inherit!important;}
 /* White icons/text need a dark transparent carrier on bright inner pages. */
 body.kx-app.kx-app .kx-mobile-dock {background:rgba(17,46,72,.82)!important;}
}
/* Fixed foreground mobile navigation, with iPhone safe-area spacing. */
@media screen and (max-width:1140px) {
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) {
  position:fixed!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
  left:50%!important;right:auto!important;transform:translateX(-50%)!important;
  width:min(calc(100% - 24px),620px)!important;max-width:calc(100% - 24px)!important;
  z-index:2147481000!important;margin:0!important;background:rgba(17,46,72,.72)!important;
  border-radius:22px!important;isolation:isolate;
 }
 body.kx-app.kx-app.kx-home-page .kx-mobile-dock {display:none!important;}
 body.kx-app.kx-app .kx-home-mobilebar__inner {width:100%!important;max-width:100%!important;padding:6px!important;}
}
/* Native-like horizontal stability; vertical scroll and accessibility zoom remain. */
@media screen and (max-width:1140px) {
 html.kx-mobile-app-shell,html.kx-mobile-app-shell body.kx-app.kx-app {
  width:100%!important;max-width:100%!important;overflow-x:hidden!important;
  overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;
 }
 @supports(overflow:clip) {
  html.kx-mobile-app-shell,html.kx-mobile-app-shell body.kx-app.kx-app {overflow-x:clip!important;}
 }
 body.kx-app.kx-app :is(.kx-shell-inner,.kx-home-main,.kx-home-copy,.kx-booking-teaser,.kx-hero-contactbar) {min-width:0!important;max-width:100%!important;}
}
/* Mobile: show the full-width house photograph instead of cropping to a balcony. */
@media screen and (max-width:767px) {
 body.kx-app.kx-app .kx-home-stage__art {
  background-size:100% auto!important;background-position:center top!important;
  background-repeat:no-repeat!important;background-color:#123e64!important;
 }
 body.kx-app.kx-app .kx-home-stage__art::before {background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.12) 40%,transparent 70%)!important;}
}
/* Edge-to-edge bottom app bar, including the device's home-indicator area. */
@media screen and (max-width:1140px) {
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) {
  left:0!important;right:0!important;bottom:0!important;top:auto!important;
  width:100%!important;max-width:100%!important;transform:none!important;
  border-radius:0!important;margin:0!important;border:0!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  background:rgba(17,46,72,.94)!important;
  padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))!important;
  box-shadow:0 -3px 16px rgba(0,0,0,.10)!important;
 }
 body.kx-app.kx-app .kx-home-mobilebar__inner {padding:0!important;margin:0 auto!important;}
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button) {min-height:56px!important;}
}
/* Transparent edge-to-edge app bar; preserve fixed position and button states. */
@media screen and (max-width:1140px) {
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) {
  background:transparent!important;border-color:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 }
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock)::before,
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock)::after {background:transparent!important;box-shadow:none!important;}
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button) {text-shadow:0 1px 3px rgba(0,0,0,.85);}
}
/* Soft translucent blue app-bar surface; individual buttons remain transparent. */
@media screen and (max-width:1140px) {
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) {
  background:rgba(38,91,137,.76)!important;
  border-top:1px solid rgba(213,234,253,.32)!important;
  box-shadow:0 -2px 14px rgba(16,52,83,.12)!important;
  backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;
 }
}
/* The bottom navigation itself uses a soft translucent blue, including AGB. */
@media screen and (max-width:1140px) {
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) {
  background:rgba(49,105,154,.68)!important;
  border-top:1px solid rgba(215,235,253,.28)!important;
 }
 body.kx-app.kx-app :is(.kx-home-mobilebar,.kx-mobile-dock) :is(a,button):is(.active,.is-active,[aria-current="page"],[aria-expanded="true"]) {
  background:transparent!important;color:#fff!important;font-weight:700!important;
  border-color:transparent!important;text-decoration:none!important;
 }
}
body.kx-app.kx-app .kx-site-footer__inner {justify-content:center!important;}
body.kx-app.kx-app .kx-site-footer nav.kx-legal-links {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0!important;}
body.kx-app.kx-app .kx-legal-links a+a::before {content:"|";display:inline-block;margin:0 .65em;color:inherit;}
