/* Matching compact fixed controls on product and category pages. */
body#product #main.vvp-accessory-product .vvp-mobile-purchase-bar { position: fixed; inset-inline: 0; bottom: max(10px, env(safe-area-inset-bottom)); z-index: 1040; display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 1.3fr); align-items: center; gap: 12px; width: min(520px, calc(100% - 20px)); margin: 0 auto; padding: 10px 12px; border: 1px solid #e0e5ec; border-radius: 16px; color: var(--vvp-color-action); background: var(--vvp-color-subtle); box-shadow: 0 5px 22px rgba(27,43,69,.14); }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-bar[hidden] { display: none !important; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-info { min-width: 0; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-price { display: block; font-size: 21px; line-height: 25px; font-weight: 600; letter-spacing: -.025em; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-price:empty { display: none; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-options { display: block; width: 100%; min-height: 26px; margin: 0; padding: 4px 0 0; border: 0; background: transparent; color: #4b5e7b; font-size: 12px; line-height: 17px; text-align: start; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-options[hidden] { display: none; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-action { min-width: 0; min-height: 48px; height: auto; margin: 0; padding: 10px 12px; border: 1px solid var(--vvp-color-action); border-radius: 12px; background: var(--vvp-color-action); color: #fff; font-size: 14px; font-weight: 500; line-height: 20px; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-action:hover:not(:disabled) { background: #1c2d4d; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-action:disabled { cursor: default; color: #5c626b; background: var(--vvp-color-pressed); border-color: var(--vvp-color-pressed); }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-bar:not(:has([data-mobile-purchase-price]:not(:empty), [data-mobile-purchase-options]:not([hidden]))) { grid-template-columns: minmax(0,1fr); }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-bar:not(:has([data-mobile-purchase-price]:not(:empty), [data-mobile-purchase-options]:not([hidden]))) .vvp-mobile-purchase-info { display: none; }

/* A visibly separate surface, shared by the purchase and catalogue docks. */
body#product #main.vvp-accessory-product .vvp-mobile-purchase-bar,
body#category .skf-dock { background: #e1e9f4; border: 2px solid #8da2bf; border-radius: 20px; box-shadow: 0 0 0 3px rgba(255,255,255,.95), 0 8px 28px rgba(27,43,69,.24); }
body#category .skf-dock { padding: 4px; border-radius: 20px; gap: 3px; }
body#category .skf-dock button.skf-dock-button { border-radius: 14px; font-size: 12px; gap: 2px; padding: 5px 4px; }
body#category .skf-dock button.skf-dock-button--brands,
body#category .skf-dock button.skf-dock-button--sort { flex-direction: column; }
body#category .skf-dock button.skf-dock-button--filters { flex-direction: row; gap: 7px; padding-inline: 10px; }
body#category .skf-dock .skf-dock-label { line-height: 17px; }
body#category .skf-dock .skf-dock-icon { flex-basis: 20px; height: 20px; width: 20px; }
body#category .skf-dock .skf-dock-product-count { font-size: 11px; line-height: 14px; }
body#product:has(#main[data-purchase-dock-ready]) { padding-bottom: calc(var(--vvp-product-dock-height, 78px) + 40px + env(safe-area-inset-bottom)); }
html:has(body#product #main.has-mobile-purchase) { scroll-padding-bottom: calc(var(--vvp-product-dock-height, 78px) + 24px); }
@media (forced-colors: active) {
  body#product #main.vvp-accessory-product .vvp-mobile-purchase-bar,
  body#category .skf-dock { background: Canvas; border-color: CanvasText; box-shadow: none; }
}
