/* Approved unified sidebar; native Woo widgets remain the source of every value. */
.widget ul.product_list_widget:not(.cart_list) {
    --vk-widget-surface: #fff;
    --vk-widget-line: #cdd5e0;
    --vk-widget-ink: #171922;
    --vk-widget-muted: #626b78;
    --vk-widget-saving: #197348;
    --vk-widget-gradient: linear-gradient(110deg, #4f63f6, #8160c2 52%, #c23a8e);
    container: vk-widget-list / inline-size;
    width: 100%; margin: 0 !important; padding: 0;
}
html[data-vk-theme="dark"] .widget ul.product_list_widget:not(.cart_list),
body.mc-dark .widget ul.product_list_widget:not(.cart_list) {
    /* Follow the catalogue's effective colour-mode rules and shared tokens. */
    --vk-widget-surface: var(--vk3-surface, #191c23);
    --vk-widget-line: var(--vk3-border-soft, #282e38);
    --vk-widget-ink: #f3f4f8;
    --vk-widget-muted: #a5adbd;
    --vk-widget-saving: #86dfb2;
}
body .widget ul.product_list_widget > li.vk-widget-product {
    box-sizing: border-box;
    position: relative;
    min-width: 0;
    min-height: 79px;
    margin: 0 0 10px;
    padding: 10px 10px 10px 76px;
    border: 1.5px solid var(--vk-widget-line);
    border-radius: 12px;
    background: var(--vk-widget-surface);
    color: var(--vk-widget-ink);
    box-shadow: 0 6px 16px rgb(0 0 0 / 5%);
    transform: none;
}
body .widget ul.product_list_widget > li.vk-widget-product:last-child { margin-bottom: 0; }
html[data-vk-theme="dark"] body .widget ul.product_list_widget > li.vk-widget-product:hover,
body.mc-dark .widget ul.product_list_widget > li.vk-widget-product:hover {
    background: var(--vk3-surface-raised, #20242d);
    border-color: var(--vk3-border, #343a46);
}
body .widget .vk-widget-product::before {
    content: '' !important; display: block !important; position: absolute; inset: -1.5px !important;
    width: auto !important; height: auto !important; z-index: 2; pointer-events: none;
    border: 1.5px solid transparent; border-radius: inherit;
    background: var(--vk-widget-gradient) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity: 0; transition: opacity 180ms ease;
}
@media (hover: hover) and (pointer: fine) {
    body .widget .vk-widget-product:hover::before { opacity: 1; }
}
body .widget .vk-widget-product:has(:focus-visible)::before { opacity: 1; }
body .widget .vk-widget-product .vk-widget-product__link,
body .widget .vk-widget-product .vk-widget-product__link .product-title {
    display: block; min-width: 0; margin: 0; padding: 0;
    color: var(--vk-widget-ink) !important;
    font: 500 13px/1.4 "Open Sans", sans-serif !important;
    text-transform: none; overflow-wrap: anywhere;
}
body .widget .vk-widget-product .vk-widget-product__link img {
    position: absolute; top: 10px; left: 10px; float: none;
    width: 56px; height: 56px; margin: 0;
    max-width: none; border-radius: 4px; object-fit: contain;
    background: #fff; filter: none !important;
}
body .widget .vk-widget-product .vk-widget-product__price {
    display: block; margin-top: 7px; font-variant-numeric: tabular-nums;
    color: var(--vk-widget-ink);
}
body .widget .vk-widget-product__price :is(.amount, bdi, .woocommerce-Price-currencySymbol) {
    color: var(--vk-widget-ink) !important; font-size: 18px !important;
    font-weight: 650 !important; line-height: 1.25 !important; letter-spacing: -.3px;
}
body .widget .vk-widget-product .vk-widget-product__price :is(.woocommerce-price-suffix, .woocommerce-price-suffix span, .woocommerce-price-suffix bdi, .woocommerce-price-suffix small) {
    color: var(--vk-widget-muted) !important; font-size: 11px !important;
    line-height: 1.4 !important; font-weight: 400 !important; letter-spacing: normal;
}
body .widget .vk-widget-product:not(:has(.vkpe-sale-price)) .woocommerce-price-suffix { display: inline-block; margin-inline-start: 7px; }
/* display:contents only unwraps presentation spans, never the native product link. */
body .widget ul.product_list_widget > li.vk-widget-product:has(.vkpe-sale-price) {
    --vk-price-row: 2; --vk-footer-row: 3;
    display: grid; grid-template-columns: 56px minmax(0, max-content) minmax(85px, 1fr);
    column-gap: 10px; row-gap: 7px; align-items: baseline;
    padding: 10px;
}
body .widget .vk-widget-product:has(.vkpe-sale-price):has(> .star-rating) { --vk-price-row: 3; --vk-footer-row: 4; }
body .widget .vk-widget-product:has(.vkpe-sale-price) .vk-widget-product__link { grid-column: 2 / -1; grid-row: 1; }
body .widget .vk-widget-product:has(.vkpe-sale-price) > .star-rating { grid-column: 2 / -1; grid-row: 2; }
body .widget .vk-widget-product:has(.vkpe-sale-price) :is(.vk-widget-product__price, .vkpe-sale-price) { display: contents !important; }
body .widget .vk-widget-product:has(.vkpe-sale-price)::after {
    content: ''; display: block; grid-column: 1 / -1; grid-row: var(--vk-footer-row);
    align-self: start; width: 100%; height: 0; border-top: 1px solid rgb(128 136 152 / 20%);
    pointer-events: none;
}
body .widget .vk-widget-product .vkpe-sale-price__current { grid-column: 2; grid-row: var(--vk-price-row); }
body .widget .vk-widget-product .vkpe-sale-price__suffix { grid-column: 3; grid-row: var(--vk-price-row); min-width: 0; }
body .widget .vk-widget-product .vkpe-sale-price__reference { grid-column: 1 / -1; grid-row: var(--vk-footer-row); display: inline-flex; flex-wrap: nowrap; gap: 5px; justify-self: start; white-space: nowrap; }
body .widget .vk-widget-product .vkpe-sale-price__saving { grid-column: 1 / -1; grid-row: var(--vk-footer-row); justify-self: end; text-align: right; white-space: nowrap; }
body .widget .vk-widget-product :is(.vkpe-sale-price__reference, .vkpe-sale-price__reference span, .vkpe-sale-price__reference bdi, .vkpe-sale-price__suffix, .vkpe-sale-price__suffix span, .vkpe-sale-price__suffix small, .vkpe-sale-price__suffix bdi) {
    font-size: 11px !important; font-weight: 400 !important; line-height: 1.4 !important;
    color: var(--vk-widget-muted) !important; letter-spacing: normal; text-decoration: none !important;
}
body .widget .vk-widget-product :is(.vkpe-sale-price__saving, .vkpe-sale-price__saving span, .vkpe-sale-price__saving bdi) {
    color: var(--vk-widget-saving) !important; font-size: 11px !important;
    line-height: 1.4 !important; font-weight: 500 !important; letter-spacing: normal;
}
body .widget .vk-widget-product :is(.vkpe-sale-price__reference, .vkpe-sale-price__saving) {
    min-width: 0; margin: 2px 0 0; padding: 8px 0 0; background: transparent; border-radius: 0; align-self: start;
}
body .widget .vk-widget-product .vkpe-sale-price__reference { align-items: baseline; }
body .widget .vk-widget-product .vkpe-sale-price__current,
body .widget .vk-widget-product .vkpe-sale-price__current :is(span, bdi) {
    color: var(--vk-widget-ink) !important; font-size: 18px !important;
    font-weight: 650 !important; line-height: 1.25 !important; letter-spacing: -.3px;
}
@container vk-widget-list (max-width: 280px) {
    body .widget ul.product_list_widget > li.vk-widget-product { padding-left: 66px; }
    body .widget .vk-widget-product .vk-widget-product__link img { width: 48px; height: 48px; }
    body .widget .vk-widget-product:not(:has(.vkpe-sale-price)) .vk-widget-product__link { min-height: 48px; }
    body .widget .vk-widget-product:not(:has(.vkpe-sale-price)) .vk-widget-product__price { margin-inline-start: -56px; width: calc(100% + 56px); }
    body .widget ul.product_list_widget > li.vk-widget-product:has(.vkpe-sale-price) { padding: 10px; grid-template-columns: 48px minmax(0, 1fr) minmax(85px, 1fr); column-gap: 8px; }
    body .widget .vk-widget-product .vkpe-sale-price__current { grid-column: 1 / 3; }
    body .widget .vk-widget-product .vkpe-sale-price__suffix { justify-self: end; }
}
@container vk-widget-list (max-width: 305px) {
    body .widget .vk-widget-product :is(.vkpe-sale-price__reference, .vkpe-sale-price__reference span, .vkpe-sale-price__reference bdi, .vkpe-sale-price__saving, .vkpe-sale-price__saving span, .vkpe-sale-price__saving bdi) { font-size: 10px !important; }
}
/* The existing 320px filter drawer keeps its native slide distance. Reclaim
   inner padding for translated one-line labels rather than widening the drawer. */
body #filters-offcanvas { padding-inline: 8px; }
/* Keep readable one-line price footers: a narrow desktop sidebar used to squeeze
   the labels into 220px. Rebalance the existing columns instead of tiny text. */
@media (min-width: 991px) {
    body #primary.shop-page #content > .row > .sidebar-pos:has(.vk-widget-product) { width: 360px !important; }
    body #primary.shop-page #content > .row > .sidebar-pos:has(.vk-widget-product) + .content-pos { width: calc(100% - 360px) !important; }
}
@media (min-width: 991px) and (max-width: 1199px) {
    body #primary.shop-page:has(.sidebar-pos .vk-widget-product) #products.products.product-layout-grid:not(.owl-carousel) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Menus and filters share the same typography, spacing and neutral controls. */
body :is(.shop_sidebar, #filters-offcanvas) {
    --vk-side-ink: #171922; --vk-side-muted: #626b78; --vk-side-line: #cdd5e0;
    --vk-side-soft: #f7f8fb; --vk-side-accent-line: #b4a9c8;
}
html[data-vk-theme="dark"] body :is(.shop_sidebar, #filters-offcanvas),
body.mc-dark :is(.shop_sidebar, #filters-offcanvas) {
    --vk-side-ink: #f3f4f8; --vk-side-muted: #a5adbd; --vk-side-line: #343946;
    --vk-side-soft: #1b1e25; --vk-side-accent-line: #53506b;
}
body :is(.shop_sidebar, #filters-offcanvas) .widget { margin-bottom: 26px; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.widget-title, .wp-block-heading, .widget .widgettitle) {
    margin: 0 0 12px; font: 700 14px/1.4 "Open Sans", sans-serif !important;
    letter-spacing: 0; color: var(--vk-side-ink);
}
body :is(.shop_sidebar, #filters-offcanvas) :is(.product-categories, .wc-block-product-categories-list, .product-categories-with-icon) { margin: 0; padding: 0; list-style: none; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.product-categories, .wc-block-product-categories-list, .product-categories-with-icon) li { position: relative; border: 0 !important; padding: 0; margin: 0; list-style: none; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.product-categories, .wc-block-product-categories-list, .product-categories-with-icon) > li { border-bottom: 1px solid rgb(128 136 152 / 16%) !important; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.product-categories, .wc-block-product-categories-list, .product-categories-with-icon) li > a {
    display: block; min-height: 39px; padding: 9px 34px 9px 0 !important;
    font: 500 13px/1.4 "Open Sans", sans-serif !important; color: var(--vk-side-ink);
    text-transform: none; background: transparent !important;
}
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-subcategories { margin: 0 0 6px 2px !important; padding: 0 0 0 12px !important; border-left: 1px solid #8160c2; }
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-subcategories[hidden] { display: none !important; }
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-subcategories:not([hidden]) { display: block !important; }
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-subcategories li > a { min-height: 30px; padding-top: 6px !important; padding-bottom: 6px !important; font-size: 12px !important; font-weight: 400 !important; color: var(--vk-side-muted); }
body :is(.shop_sidebar, #filters-offcanvas) :is(.current-cat, .current-cat-ancestor) > a { color: #7554b4 !important; }
html[data-vk-theme="dark"] body :is(.shop_sidebar, #filters-offcanvas) :is(.current-cat, .current-cat-ancestor) > a { color: #c2b5f0 !important; }
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-toggle {
    position: absolute; top: 0; right: 0; display: grid; place-items: center;
    width: 34px; height: 36px; margin: 0; padding: 0; border: 0; background: transparent;
    color: var(--vk-side-muted); box-shadow: none; cursor: pointer;
}
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-toggle::after {
    content: ''; width: 14px; height: 14px; background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-toggle[aria-expanded="true"]::after { transform: rotate(90deg); }
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-tree .child-indicator { display: none !important; }
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-filter-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-reset { font: 400 11px/1.4 "Open Sans", sans-serif; text-transform: none; color: var(--vk-side-muted) !important; white-space: nowrap; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.vks-price-inputs, .price_slider_amount .price_label) { font-size: 11px; }
body :is(.shop_sidebar, #filters-offcanvas) .vks-price-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.vks-price-inputs label, .widget_layered_nav label) { font: 400 11px/1.4 "Open Sans", sans-serif; color: var(--vk-side-muted); }
body :is(.shop_sidebar, #filters-offcanvas) :is(.vks-price-inputs input, .widget select, .widget input[type="search"], .widget_layered_nav select) {
    box-sizing: border-box; width: 100%; min-width: 0; height: 38px; margin: 6px 0 0;
    padding: 8px 10px; border: 1px solid var(--vk-side-line); border-radius: 6px;
    background: var(--vk-side-soft); color: var(--vk-side-ink); font: 400 13px/1.4 "Open Sans", sans-serif;
}
body :is(.shop_sidebar, #filters-offcanvas) :is(.vks-price-actions button, .widget_price_filter .price_slider_amount .button, .woocommerce-widget-layered-nav-dropdown__submit) {
    display: block; width: 100%; min-height: 38px; margin: 0; padding: 9px 11px;
    border: 1px solid var(--vk-side-accent-line) !important; border-radius: 6px; background: transparent !important;
    color: var(--vk-side-ink) !important; font: 500 12px/1.4 "Open Sans", sans-serif !important;
    text-align: left; text-transform: none; box-shadow: none;
}
body :is(.shop_sidebar, #filters-offcanvas) .widget_layered_nav li { margin: 0; padding: 6px 0; border: 0; font: 400 12px/1.4 "Open Sans", sans-serif; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.vks-price-actions button, .widget_price_filter .price_slider_amount .button) { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.vks-price-actions button, .widget_price_filter .price_slider_amount .button)::after {
    content: ''; width: 15px; height: 15px; flex: 0 0 15px; background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body :is(.shop_sidebar, #filters-offcanvas) .widget input:is([type="checkbox"], [type="radio"]) { accent-color: #8160c2; }
body :is(.shop_sidebar, #filters-offcanvas) :is(.vk-sidebar-toggle, .vk-sidebar-reset, .vks-price-actions button):focus-visible { outline: 2px solid #8160c2; outline-offset: 2px; }
@media (pointer: coarse) {
    body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-toggle { width: 44px; height: 44px; }
    body :is(.shop_sidebar, #filters-offcanvas) .vk-sidebar-tree li > a { min-height: 44px; padding-right: 44px !important; }
    body :is(.shop_sidebar, #filters-offcanvas) .widget input { font-size: 16px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { body .widget .vk-widget-product::before { transition: none; } }
