/* Austrian public pages: readable forms, strong focus and stable image boxes. */
.card .small{color:#5d6b81}
#partnerForm{color:#142039}
.booking-group-label{font-weight:800;margin:0 0 5px}
.top .logo,footer .logo,.hero img,.gallery img{height:auto}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #fff!important;outline-offset:2px!important;box-shadow:0 0 0 7px #031744!important}
html.a11y-contrast :where(header,footer,main,section,article,aside,nav,div,button,.btn,input,select,textarea,summary){background-image:none!important}
.eye-privacy-panel{padding:0;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}

/* Structural containers and third-party overlays retain their transparency. */
html.a11y-contrast div{background-color:transparent!important}
html.a11y-contrast :is(.card,.panel,.box,.location-map,.a11y-panel,.price-panel-head){background-color:#fff!important}
html.a11y-contrast :where(img[src="logo.png"],img[src="/logo.png"],img[src="logo-at-520-20261001.webp"]){filter:brightness(0)}

/* Keep navigation reachable when the desktop links are hidden. */
.mobile-navigation{display:none;position:relative}
.mobile-navigation>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;list-style:none;cursor:pointer;border:1px solid #667b9d;border-radius:9px}
.mobile-navigation>summary::-webkit-details-marker{display:none}
.mobile-navigation-links{position:absolute;right:0;top:calc(100% + 9px);width:min(280px,calc(100vw - 34px));max-height:calc(100dvh - 100px);overflow-y:auto;padding:6px;background:#fff;color:#031744;border:1px solid #dce5ef;border-radius:10px;box-shadow:0 12px 32px #00133340}
.mobile-navigation-links a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:7px;line-height:1.35;overflow-wrap:anywhere}
.mobile-navigation-links a:hover{background:#eaf0f9}
html.a11y-contrast .mobile-navigation-links{background:#fff!important}
@media(max-width:900px){
  .mobile-navigation{display:block}
  .top .nav{gap:8px}
  .top .nav>.btn{display:none}
  .top .language-menu summary{width:44px;height:44px}
}
@media(max-width:760px){
  #appointment .form>div,.grid>div{min-width:0}
  input,select,textarea{min-width:0;max-width:100%}
  .title,.card,.summary,.notice,.status{overflow-wrap:anywhere}
}

/* Reduce motion on the document itself as well as its descendants. */
html.a11y-motion{scroll-behavior:auto!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation-iteration-count:1!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-iteration-count:1!important}}

