/* Account access stays explicit, including when the theme was set to icon-only. */
.mky-header-account > a { display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; font-family: inherit; font-size: 14px; line-height: 1.4; white-space: nowrap; }
.mky-header-account > a svg { width: 19px; height: 19px; flex: 0 0 19px; }

.mobile-header-icons > .mky-mobile-account-entry { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 0; min-width: 44px; min-height: 44px; margin-left: 0; background: transparent; color: inherit; border: 0; border-radius: 0; text-decoration: none; font-family: inherit; }
.mky-mobile-account-entry svg { display: block; width: 24px; height: 24px; }
.mobile-header-icons > .mky-mobile-account-entry + * { margin-left: 0; }
.mky-mobile-account-entry:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 760px) {
 :is(#masthead, #mobile-menu) .header-mobile > .konte-container-fluid { width: calc(100vw - 32px); margin-left: calc(50% - 50vw + 16px); margin-right: calc(50% - 50vw + 16px); padding-left: 0; padding-right: 0; }
}
/* Keep the native WooCommerce counter so cart fragments continue to update it. */
.header-mobile .mobile-header-icons .header-cart > a { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; gap: 0; }
.header-mobile .mobile-header-icons .header-cart .cart-counter { position: absolute; top: 3px; right: 1px; display: inline-flex; align-items: center; justify-content: center; min-width: 16px; width: auto; height: 16px; padding: 0 4px; margin: 0; border-radius: 50%; font-size: 10px; font-weight: 600; line-height: 16px; pointer-events: none; }

/* Match the visual weight of Konte's account and shopping-bag pictograms. */
.header-mobile .mky-mobile-account-entry .svg-icon,
.header-mobile .mobile-header-icons .header-cart .svg-icon { display: inline-flex; width: 24px; height: 24px; font-size: 24px; line-height: 1; }
.header-mobile .mobile-header-icons .header-cart .svg-icon svg { display: block; width: 24px; height: 24px; }

/* Center controls independently of the inline text baseline. */
.header-mobile .mobile-menu-hamburger,
.header-mobile .mobile-header-icons .header-cart { display: flex; align-items: center; line-height: 1; }
.header-mobile .mobile-menu-toggle { display: inline-flex; align-items: center; justify-content: flex-start; min-width: 44px; min-height: 44px; line-height: 1; }
.header-mobile .mobile-menu-toggle .hamburger-box { display: block; vertical-align: middle; }
.header-mobile .mobile-header-icons > .mky-mobile-account-entry,
.header-mobile .mobile-header-icons .header-cart > a { height: 44px; line-height: 1; }
.header-mobile .mobile-header-icons .header-cart .icon-cart { transform: translateY(-0.5px); }

@media (max-width: 760px) {
 /* Give wide logos flexible space while reserving non-overlapping touch targets. */
 :is(#masthead, #mobile-menu) .header-mobile.logo-center > .konte-container-fluid { gap: 4px; }
 :is(#masthead, #mobile-menu) .header-mobile.logo-center .mobile-menu-hamburger { flex: 1 1 100px; min-width: 44px; }
 :is(#masthead, #mobile-menu) .header-mobile.logo-center .mobile-header-icons { flex: 1 0 110px; transform: translateX(6px); }
 :is(#masthead, #mobile-menu) .header-mobile .site-branding { flex: 0 1 auto; min-width: 0; max-width: calc(100vw - 194px); }
 :is(#masthead, #mobile-menu) .header-mobile .site-branding img { max-width: 100%; height: auto; }
 :is(#masthead, #mobile-menu) .mobile-header-icons > .mky-mobile-account-entry + .header-cart { margin-left: 5px; }
 /* Shift the pictures within separate 44px controls instead of overlapping links. */
 :is(#masthead, #mobile-menu) .header-mobile .mky-mobile-account-entry .svg-icon { transform: translateX(5px); }
 :is(#masthead, #mobile-menu) .header-mobile .header-cart .svg-icon { transform: translate(-5px, -0.5px); }
 :is(#masthead, #mobile-menu) .header-mobile .header-cart .cart-counter { right: 6px; }
}

#page .bookly-stepper { display: none !important; }
/* Let the mobile availability step use the whole content column. */
@media (max-width: 650px) {
  #page .bookly-mobile-step-2 > .bookly-box {
    display: block !important;
    width: 100%;
  }
  #page .bookly-mobile-step-2 .bookly-mobile-float-none {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
  #page .bookly-mobile-step-2 .bookly-week-days {
    justify-content: space-between;
  }
  #page .bookly-mobile-step-2 .bookly-week-days > div {
    flex: 1;
    min-width: 0;
  }
}
