/* Approved OV optical control dimensions; existing native handlers remain owners. */
html[data-brand61] { --kp79-control:56px; --kp79-edge:24px; --kp79-top:22px; }
html[data-brand61="ii"][data-ii-ui75] { --ii75-control:56px; }
html[data-brand61] body .kp-header61 .kp-toggle61,
html[data-brand61] body section.hero .kp-header61 .kp-toggle61,
html[data-brand61].kp61-scrolled body section.hero .kp-header61 .kp-toggle61 {
 display:grid!important; place-items:center!important; position:fixed!important;
 inset:var(--kp79-top) var(--kp79-edge) auto auto!important;
 width:var(--kp79-control)!important; min-width:var(--kp79-control)!important; max-width:var(--kp79-control)!important;
 height:var(--kp79-control)!important; min-height:var(--kp79-control)!important; max-height:var(--kp79-control)!important;
 margin:0!important; padding:0!important; border-radius:8px!important; box-sizing:border-box!important;
}
html[data-brand61] body .kp-header61 .kp-toggle61 svg,
html[data-brand61] body section.hero .kp-header61 .kp-toggle61 svg { width:26px!important; height:26px!important; }
html[data-brand61] body .kp-header61 .kp-toggle61[aria-expanded="true"]::before,
html[data-brand61] body .kp-header61 .kp-toggle61[aria-expanded="true"]::after { width:26px!important; height:2.5px!important; }
html[data-brand61] body section.hero .kp-header61 :is(.mobile-navigation,.kp-menu61-panel):not([hidden]),
html[data-brand61] body section.hero .kp-header61.aa33-nav-open>nav[aria-label="Hauptnavigation"] {
 inset:calc(var(--kp79-top) + var(--kp79-control) + 12px) var(--kp79-edge) auto auto!important;
 width:min(510px,calc(100% - var(--kp79-edge)*2))!important;
 max-height:calc(100dvh - var(--kp79-top) - var(--kp79-control) - 36px)!important;
 box-sizing:border-box!important;
}
html[data-brand61] body :is(.kp-contact-dock,.kp-contact-dock-v17) {
 right:var(--kp79-edge)!important; bottom:var(--kp79-edge)!important; gap:12px!important;
}
html[data-brand61] body :is(.kp-round-button,.kp-round-button-v17,.kp-function-toggle,.kp-function-toggle-v17,.immo-function-toggle) {
 width:var(--kp79-control)!important; min-width:var(--kp79-control)!important;
 height:var(--kp79-control)!important; min-height:var(--kp79-control)!important;
 padding:0!important; border-radius:8px!important; box-sizing:border-box!important;
}
html[data-brand61] body :is(.kp-round-button,.kp-round-button-v17,.immo-round-button) svg { width:28px!important; height:28px!important; }
html[data-brand61] body :is(.kp-up,.kp-up-v17) { order:0!important; }
html[data-brand61] body :is(.kp-whatsapp,.kp-whatsapp-v17) { order:1!important; }
html[data-brand61] body :is(.kp-whatsapp-card,.kp-whatsapp-card-v17) { bottom:calc(var(--kp79-control) + 16px)!important; }
html[data-brand61="ii"][data-ii-ui75] body a.ii75-action { font-size:15px; padding:10px 16px; }
html[data-brand61="ii"][data-ii-ui75] body .immo-round-button svg { width:28px!important; height:28px!important; }
html[data-brand61="ii"][data-ii-ui75] body section.hero#start .hero-bar.kp-header61 .kp-toggle61::before { width:26px!important; height:2.5px!important; box-shadow:0 -7px 0 #fff,0 7px 0 #fff; }
html[data-brand61="ii"][data-ii-ui75] body section.hero#start .hero-bar.kp-header61 .kp-toggle61[aria-expanded="true"]::before,
html[data-brand61="ii"][data-ii-ui75] body section.hero#start .hero-bar.kp-header61 .kp-toggle61[aria-expanded="true"]::after,
html[data-brand61="ii"][data-ii-ui75] body .menu-backdrop .menu-head button[aria-label="Menü schließen"]::before,
html[data-brand61="ii"][data-ii-ui75] body .menu-backdrop .menu-head button[aria-label="Menü schließen"]::after { width:26px!important; height:2.5px!important; }
html[data-brand61="ii"][data-ii-ui75] body a.ii75-action[href="#reservierung"] {
 background:linear-gradient(135deg,#126886,#063e61); border-color:#b3dae8; text-shadow:1px 1px 2px #0008;
}
html[data-brand61="ii"][data-ii-ui75] body a.ii75-action[href="#finanzierung"] {
 background:linear-gradient(135deg,#10a9c0,#08728c); border-color:#b8f2f6; text-shadow:1px 1px 2px #0008;
}
@media(min-width:768px) {
 html[data-brand61] body :is(.kp-function-dock,.kp-function-dock-v17) { top:clamp(132px,18vh,170px)!important; left:0!important; bottom:auto!important; }
 html[data-brand61] body :is(.kp-function-links,.kp-function-links-v17) { gap:10px!important; }
 html[data-brand61] body :is(.kp-function-links,.kp-function-links-v17) a {
  width:var(--kp79-control)!important; min-width:var(--kp79-control)!important;
  height:var(--kp79-control)!important; min-height:var(--kp79-control)!important;
  grid-template-columns:var(--kp79-control) 174px!important; border-radius:0 8px 8px 0!important; padding:0!important;
 }
 html[data-brand61] body :is(.kp-function-links,.kp-function-links-v17) a:is(:hover,:focus-visible) { width:230px!important; }
 html[data-brand61] body :is(.kp-function-links,.kp-function-links-v17) a>span,
 html[data-brand61] body :is(.kp-function-icon,.kp-function-icon-v17) { width:var(--kp79-control)!important; height:var(--kp79-control)!important; flex-basis:var(--kp79-control)!important; }
 html[data-brand61] body :is(.kp-function-icon,.kp-function-icon-v17) svg { width:28px!important; height:28px!important; }
 html[data-brand61] body :is(.kp-function-label,.kp-function-label-v17) { font-size:15px!important; }
 html[data-brand61="ii"][data-ii-ui75] body .immo-function-dock { top:clamp(132px,18vh,170px)!important; }
 html[data-brand61="ii"][data-ii-ui75] body .immo-function-links a:is(:hover,:focus-visible) { width:230px!important; }
 html[data-brand61="ii"][data-ii-ui75] body .immo-function-links a b { font-size:15px!important; }
}
@media(min-width:1181px) {
 html[data-brand61]:not([data-brand61="ii"]) body section.hero .kp-header61 :is(nav[aria-label="Hauptnavigation"],.desktop-nav,.header-service-links),
 html[data-brand61]:not([data-brand61="ii"]) body section.hero .kp-header61>.button,
 html[data-brand61]:not([data-brand61="ii"]) body section.hero .kp-header61 .header-inner>.button { margin-right:70px!important; }
 html[data-brand61]:not([data-brand61="ii"]) body section.hero .kp-header61 :is(.header-cta,.header-service-links>a),
 html[data-brand61]:not([data-brand61="ii"]) body section.hero .kp-header61>.button,
 html[data-brand61]:not([data-brand61="ii"]) body section.hero .kp-header61 .header-inner>.button {
  min-height:56px!important; padding:10px 16px!important; font-size:15px!important; box-sizing:border-box!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
 }
}
/* All five women sources share alpha bounds y154..3643 / 3840, and the
   registered Stefan artwork y155..3648 / 3840. Match OV's rendered desktop
   canvas ratio 102/105.6 without any image distortion. The common 0.05104
   shoe anchor retains OV's ~1px visible shoe-depth difference at 720px. */
@media(min-width:1101px) {
 html[data-brand61] body section.hero.kp-full-header .kp-full-scene .kp-full-portraits img.kp-full-woman {
  height:calc(var(--kp-person-h)*.9659090909)!important;
  bottom:calc(10px - var(--kp-person-h)*.9659090909*.05104)!important;
 }
 html[data-brand61="ii"][data-ii-ui75] body section.hero#start .people .person-ludmilla img {
  height:calc(var(--ii-depth-person)*.9659090909)!important;
  bottom:calc(16px - var(--ii-depth-person)*.9659090909*.05104)!important;
 }
}
@media(max-width:767px) {
 html[data-brand61] { --kp79-control:48px; --kp79-edge:12px; --kp79-top:14px; }
 html[data-brand61="ii"][data-ii-ui75] { --ii75-control:48px; }
 html[data-brand61] body :is(.kp-function-links,.kp-function-links-v17,.immo-function-links) a { height:48px!important; min-height:48px!important; }
 html[data-brand61] body :is(.kp-function-links,.kp-function-links-v17,.immo-function-links) a>span,
 html[data-brand61] body :is(.kp-function-icon,.kp-function-icon-v17) { width:48px!important; height:48px!important; flex-basis:48px!important; }
 html[data-brand61] body section.hero .kp-header61 :is(.mobile-navigation,.kp-menu61-panel):not([hidden]),
 html[data-brand61] body section.hero .kp-header61.aa33-nav-open>nav[aria-label="Hauptnavigation"] { grid-template-columns:1fr!important; }
}
/* One native logo scale (font 180, white contour 19, canvas height 350).
   Native widths differ; applying a common CSS width would enlarge short names.
   These rules survive the existing static/animated image source switches. */
html[data-brand61] {
 --kp79-ov-header-logo-width:min(calc(100vw - 2*var(--kp79-edge) - var(--kp79-control) - 12px),calc(clamp(92px,7.64vw,110px)*6.8093));
 --kp79-ov-footer-logo-width:min(450px,calc(100vw - 2*var(--kp79-edge)));
}
html[data-brand61="ii"] { --kp79-logo-ratio:.878072763; }
html[data-brand61="aa"] { --kp79-logo-ratio:.796951819; }
html[data-brand61="ks"] { --kp79-logo-ratio:.890363815; }
html[data-brand61="kj"] { --kp79-logo-ratio:.646017699; }
html[data-brand61] body .kp-header61,
html[data-brand61] body .kp-header61>.header-inner,
html[data-brand61] body section.hero .kp-header61,
html[data-brand61] body section.hero .kp-header61>.header-inner { padding-inline:var(--kp79-edge)!important; }
html[data-brand61] body .kp-header61:has(>.header-inner),
html[data-brand61] body section.hero .kp-header61:has(>.header-inner) { padding-inline:0!important; }
html[data-brand61] body .kp-header61 .kp-logo61-free,
html[data-brand61] body section.hero .kp-header61 .kp-logo61-free,
html[data-brand61="ii"][data-ii-ui75] body section.hero#start .hero-bar.kp-header61 .kp-logo61-free {
 width:calc(var(--kp79-ov-header-logo-width)*var(--kp79-logo-ratio))!important;
 max-width:none!important; min-width:0!important; height:auto!important; justify-self:start!important;
}
html[data-brand61] body .kp-header61 .kp-logo61-free img,
html[data-brand61] body section.hero .kp-header61 .kp-logo61-free img,
html[data-brand61] body :is(.kp-footer-logo-approved,.footer-brand-tile) img {
 width:100%!important; max-width:none!important; height:auto!important; max-height:none!important;
 aspect-ratio:auto!important; object-fit:contain!important;
}
html[data-brand61] body :is(.kp-footer-logo-approved,.footer-brand-tile),
html[data-brand61] body footer .footer-inner>img.kp-logo61-free,
html[data-brand61] body footer .footer-brand>img[data-kp-logo45] {
 width:calc(var(--kp79-ov-footer-logo-width)*var(--kp79-logo-ratio))!important;
 max-width:100%!important; height:auto!important; max-height:none!important; aspect-ratio:auto!important;
}
html[data-brand61] body .kp-booking-head a>img {
 width:calc(min(350px,56vw)*var(--kp79-logo-ratio))!important;
 height:auto!important; max-height:none!important; object-fit:contain!important;
}
html[data-brand61="ii"] body .legal-site-header>.legal-logo {
 width:calc(min(350px,48vw)*var(--kp79-logo-ratio))!important;
}
html[data-brand61="ii"] body .legal-site-header>.legal-logo img {
 width:100%!important; height:auto!important; max-height:none!important; aspect-ratio:auto!important; object-fit:contain!important;
}
html[data-brand61="ii"] body .cookie-notice .cookie-brand img {
 width:calc(132px*var(--kp79-logo-ratio))!important;
 height:auto!important; max-height:none!important; aspect-ratio:auto!important; object-fit:contain!important;
}
@media(max-width:760px) {
 html[data-brand61] body .kp-booking-head a>img { width:calc(min(245px,63vw)*var(--kp79-logo-ratio))!important; }
}
@media(min-width:768px) and (max-width:1279px) {
 /* The OV second row keeps the shared logo scale clear of the priority CTA. */
 html[data-brand61="ii"][data-ii-ui75] body section.hero#start .hero-bar.kp-header61 { grid-template-columns:minmax(0,1fr) var(--ii75-control)!important; }
 html[data-brand61="ii"][data-ii-ui75] body .hero-bar .ii75-actions { grid-column:1/3!important; grid-row:2!important; justify-self:end!important; }
}
@media(max-width:767px) {
 html[data-brand61] { --kp79-ov-header-logo-width:min(620px,calc(100vw - 2*var(--kp79-edge) - var(--kp79-control) - 12px)); }
}
