/* Original route navigation rules, moved unchanged from HEAD. */
body.type-post .vk-unified .vk-fact:last-child p{display:grid;grid-template-columns:76px minmax(0,max-content);align-items:center;column-gap:12px;margin:0 0 12px!important}body.type-post .vk-unified .vk-fact:last-child p>span{display:contents}body.type-post .vk-unified .vk-route-facts .vk-fact:last-child a{display:flex;align-items:center;justify-content:center;width:auto!important;max-width:100%;min-height:34px;margin:0!important;padding:6px 12px!important;font-size:14px!important;white-space:normal;text-align:center;line-height:1.4;box-sizing:border-box}

/* Veloklasik audit 118 + 119, release 2026-10-02 v1. */

/* A119: keyboard focus, including custom controls and form labels.
   White inner ring + dark blue outer ring works on light and dark surfaces. */
html body :is(a[href],button,input:not([type="hidden"]),select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus-visible,
html body input:is([type="checkbox"],[type="radio"]):focus-visible + label,
html body label:has(input:is([type="checkbox"],[type="radio"]):focus-visible) {
  outline: 3px solid #14536b !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}
@media (forced-colors: active) {
  html body :focus-visible,
  html body input:is([type="checkbox"],[type="radio"]):focus-visible + label,
  html body label:has(input:is([type="checkbox"],[type="radio"]):focus-visible) {
    outline: 3px solid Highlight !important;
    box-shadow: none !important;
  }
}
@supports not selector(:focus-visible) {
  html body :is(a[href],button,input:not([type="hidden"]),select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role="button"]):focus {
    outline: 3px solid #14536b !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px #fff !important;
  }
}

/* A118: minimum 44 CSS px hit areas on mobile and touchscreens.
   Inline links in prose retain their natural layout. */
@media (max-width: 767px), (pointer: coarse) {
  html body :is(button,a.btn,[role="button"],input:is([type="submit"],[type="button"],[type="reset"]),summary) {
    box-sizing: border-box !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  html body :is(input:not([type="hidden"],[type="checkbox"],[type="radio"]),select,textarea) {
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
  html body :is(#navigation a,.navigation-buttons a,.top-navigation-tools a,#header .toggle-window,.prodejna-btn,#topNavigationDropdown,.pagination a,.pagination__link,.p-tools a,.p-detail-tabs a,#tabs a,.p-thumbnails a,.p-thumbnails-wrapper a,.slick-arrow,.toggle-filters,.show-more,.vk-footer-maps a,.vk-route-facts a) {
    min-width: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    align-items: center;
  }
  html body :is(#navigation a,.p-tools a,.p-detail-tabs a,#tabs a,.toggle-filters,.show-more) {
    display: inline-flex;
    align-items: center;
  }
  html body .custom-variants .variant[data-value]:not([data-value=""]) {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  html body #filters .filter-label,
  html body label:has(> input:is([type="checkbox"],[type="radio"])) {
    display: flex;
    align-items: center;
    min-width: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
  /* Side-by-side quantity buttons avoid two 44px targets overlapping. */
  html body .quantity {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 0 !important;
    gap: 2px;
  }
  html body .quantity > label { order: 1; margin: 0 !important; }
  html body .quantity > .decrease { order: 0; }
  html body .quantity > .increase { order: 2; }
  html body .quantity > :is(.increase,.decrease) {
    position: static !important;
    transform: none !important;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  html body .quantity input.amount {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    text-align: center;
  }
  html body .quantity > :is(.increase-tooltip,.decrease-tooltip) { position: absolute; }
}
