/*
 * Joomla 6 compatibility only.
 * The visual geometry stays in legacy.css copied from the supplied Joomla 2.5
 * template. Do not apply a global box-sizing reset or substitute fixed input
 * dimensions: both alter the legacy 2012 rendering.
 */

/* Joomla may otherwise set a background on the root. The legacy CSS intentionally
   contains the original invalid five-digit fallback #fffed, which the browser
   ignores; that is why the archived page is white. */
html { background: #fff; }
body.komissionny-source-port { margin: 0; }

/* Security fields needed by the Joomla 6 fallback must not affect the old 24px bar. */
.legacy-login-security { display: none; }

/* Exact archived top-strip structure: source CSS gives .moduletable_reg its
   float, 11px text, padding and margin. No flex, no forced width/height, no
   modern blue button. */
#pred .moduletable_reg { display: block; }
#pred #login-form_reg { white-space: nowrap; }
#pred .inputbox_reg { box-sizing: content-box; }
#pred .button_reg { box-sizing: content-box; }
#pred .mod_login_reg { color: #fff; }
#pred .mod_login_reg:hover { color: #a8ef9d; text-decoration: none; }

/* The top login module is functional but its configured technical title
   (for example MOD_LOGIN_REGISTER) must never appear as a visible heading. */
#pred .moduletable_reg > h1,
#pred .moduletable_reg > h2,
#pred .moduletable_reg > h3,
#pred .moduletable_reg > h4,
#pred .moduletable_reg > h5,
#pred .moduletable_reg > h6,
#pred .moduletable_reg .module-title,
#pred .moduletable_reg .moduletitle,
#pred .moduletable_reg .moduletable > h1,
#pred .moduletable_reg .moduletable > h2,
#pred .moduletable_reg .moduletable > h3,
#pred .moduletable_reg .moduletable > h4,
#pred .moduletable_reg .moduletable > h5,
#pred .moduletable_reg .moduletable > h6 {
    display: none !important;
}


/* Joomla 6 article metadata is not part of the archived home page. */
#post .article-info,
#post .com-content-article__info,
#post .com-content-category-blog__item .article-info,
#post .blog-item .article-info { display: none !important; }

/* Adapt only modern class names to the old content box appearance. The source
   dimensions are retained: 666px content, 320px first left cell, second cell
   starts at x=350px, and row 0 has the archived 343px height. */
#post .blog-items,
#post .com-content-category-blog__items { display: block; margin: 0; padding: 0; }
#post .blog-item,
#post .com-content-category-blog__item,
#post .com-content-article {
    margin: 0 0 15px;
    padding: 10px;
    background: url("../images/blacktrans.png");
    border-radius: 20px;
    box-shadow: #ffffff 0 0 0 3px, 0 0 13px #7b7b7b;
    font-size: .9em;
    line-height: 1.5em;
}
#post .blog-items > :nth-child(1),
#post .com-content-category-blog__items > :nth-child(1) {
    width: 320px;
    height: 343px;
    float: left;
}
#post .blog-items > :nth-child(2),
#post .com-content-category-blog__items > :nth-child(2) {
    margin-left: 350px;
}
#post .blog-items > :nth-child(n+3),
#post .com-content-category-blog__items > :nth-child(n+3) { clear: both; }
#post .blog-items::after,
#post .com-content-category-blog__items::after { content: ""; display: block; clear: both; }

@media (max-width: 979px) {
    body.komissionny-source-port { overflow-x: auto; }
}

/*
 * Archived VirtueMart category bar. The source page used an old VM tree in
 * menuTop; this fallback keeps the same selector structure and hover behavior
 * without loading VirtueMart or a generic Joomla menu module.
 */
#catnav.legacy-vm-catnav .legacy-vm-category-menu,
#catnav.legacy-vm-catnav .menu_VMmenu {
    margin: 0;
    padding: 0;
    list-style: none;
}
#catnav.legacy-vm-catnav .legacy-vm-category-menu > .menu_VMmenu {
    display: block;
}
#catnav.legacy-vm-catnav .legacy-vm-category-menu > .menu_VMmenu > li {
    list-style: none;
}
/* Original .nav li:hover ul works on a mouse; focus-within is added only so
   keyboard users can reveal the exact same legacy dropdown. */
#catnav.legacy-vm-catnav .legacy-vm-category-menu > .menu_VMmenu > li:focus-within > ul {
    left: auto;
}
#catnav.legacy-vm-catnav .legacy-vm-category-menu a {
    text-decoration: none;
}
#catnav.legacy-vm-catnav .legacy-vm-category-menu > .menu_VMmenu > li > div > a {
    white-space: nowrap;
}


/* VM6_CART_FULL_SHIFT_SIDEBAR_SHADOW_HOME_CLEAN_v231439
   Corrections after live verification.

   1) The VirtueMart header cart is made from separate float blocks.
      Shift every visible row itself, so product name, quantity, total,
      item count and "Open cart" move together by 30px.
   2) Main Joomla content cards get no outer shadow.
   3) The approved outer shadow is assigned to the two right VM modules.
   4) No background, padding or shadow is added to #aboveContentLine:
      it is only the small breadcrumb strip below the main menu. */

/* CART: reset the old wrapper movement, then shift every actual cart row. */
#header #headerbanner {
    right: 0 !important;
    overflow: visible !important;
}

/* HOME CONTENT: these are the exact Joomla 6 cards that received the old shadow. */
#post .blog-item,
#post .com-content-category-blog__item,
#post .com-content-article {
    box-shadow: none !important;
}

/* Remove the accidental v2.3.14.38 "stripe" under the six-button menu. */
#aboveContentLine.above-content-line {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* RIGHT SIDE: the "Акции" and "Случайные товары" containers receive
   the actual old-style outer shadow. */
#sidebar .side-ad-promotions .vm-sidebar-product-module,
#sidebar .side-ad-random .vm-sidebar-product-module {
    position: relative;
    border-radius: 20px !important;
    box-shadow: 0 0 0 3px #ffffff, 0 0 13px #7b7b7b !important;
}

@media (max-width: 700px) {
}

/* The right modules have an outer width of 300px. Their product image uses
   that full size, with proportions preserved inside the square window. */
#sidebar .side-ad-promotions ul.vmproduct > li.product-container > a:first-child,
#sidebar .side-ad-random ul.vmproduct > li.product-container > a:first-child {
    display: flex !important;
    width: 300px !important;
    height: 300px !important;
    margin: 0 0 7px -10px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
}

#sidebar .side-ad-promotions ul.vmproduct > li.product-container > a:first-child img,
#sidebar .side-ad-random ul.vmproduct > li.product-container > a:first-child img,
#sidebar .side-ad-promotions img.featuredProductImage,
#sidebar .side-ad-random img.featuredProductImage {
    display: block !important;
    width: 300px !important;
    height: 300px !important;
    min-width: 300px !important;
    min-height: 300px !important;
    max-width: 300px !important;
    max-height: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 700px) {
}


/* VM6_CART_NO_OVERLAP_SIDEBAR_ALIGN_AFTER_ROUTE_v231441
   Header cart correction:
   VirtueMart adds a floated .subtotal_with_tax after the product name.
   The module already shows the same amount in the separate .total row.
   Hide only the duplicate inner subtotal, then use a two-column grid so
   the text does not overlap other cart blocks.

   Sidebar correction:
   On pages with #aboveContentLine, content starts 28px below #main
   (18px route line + 10px bottom margin). The sidebar receives the same
   offset so the advertising module starts level with the main content. */

/* Restore the cart's original clipping boundary. */
#header #headerbanner {
    overflow: hidden !important;
}

/* Align the right-side advertising/product modules with the actual beginning
   of the main content, after its compact route line. */
#sidebar.sidebar-after-route {
    margin-top: 28px !important;
}

@media (max-width: 700px) {

    #sidebar.sidebar-after-route {
        margin-top: 0 !important;
    }
}


/* VM6_RESTORE_ORIGINAL_LOGO_BOX_EXACT_SOURCE_v231450
   Restore the ORIGINAL stable legacy header geometry:
   #header #logo is 480px wide and floats left.
   The uploaded LOGO.png is copied byte-for-byte with no pixel changes.
   It is only displayed at a header-safe height; this does not alter the
   search/cart layout. */

/* Keep the two non-logo v2.3.14.42 changes. */
#sidebar.sidebar-after-route {
    margin-top: 33px !important;
}

/* Exact stable layout of the original template. */
#header #logo.site-logo-1komissionny,
#header #logo {
    float: left !important;
    width: 480px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    display: block !important;
}

#header #logo.site-logo-1komissionny > a,
#header #logo > a {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* The source image itself is unchanged. CSS only scales its display box. */
#header #logo.site-logo-1komissionny img,
#header #logo img {
    display: block !important;
    float: left !important;
    position: static !important;
    width: auto !important;
    height: 94px !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 700px) {
    #header #logo.site-logo-1komissionny,
    #header #logo {
        width: 480px !important;
    }

    #header #logo.site-logo-1komissionny img,
    #header #logo img {
        height: 74px !important;
        margin-right: 8px !important;
    }
}


/* VM6_COMPACT_LOGO_BIG_VISUAL_STABLE_BOX_v231451
   Use the newly uploaded compact logo, but keep the ORIGINAL stable 480px
   outer #logo box so search/cart do not shift.
   The inner clickable/logo area is adapted to the compact proportions and
   the logo is shown about twice as large visually compared to the previous
   94px-high display. */

#header #logo.site-logo-1komissionny,
#header #logo {
    width: 480px !important;
    overflow: visible !important;
}

#header #logo.site-logo-1komissionny > a,
#header #logo > a {
    display: block !important;
    width: 250px !important;
    height: 190px !important;
    overflow: visible !important;
}

#header #logo.site-logo-1komissionny img,
#header #logo img {
    float: left !important;
    width: auto !important;
    height: 180px !important;
    max-width: none !important;
    max-height: none !important;
    margin: -6px 10px 0 0 !important;
    object-fit: contain !important;
}

@media (max-width: 700px) {
    #header #logo.site-logo-1komissionny > a,
    #header #logo > a {
        width: 170px !important;
        height: 120px !important;
    }

    #header #logo.site-logo-1komissionny img,
    #header #logo img {
        height: 114px !important;
        margin-top: 0 !important;
    }
}


/* VM6_TWO_STATE_LOGO_BOX400_v231452
   Two exact user-provided PNG states. The outer stable #logo box is
   reduced from 480px to 400px without changing site width. */
#header #logo.site-logo-1komissionny,
#header #logo {
    float: left !important;
    display: block !important;
    width: 400px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

#header #logo.site-logo-1komissionny > a.site-logo-link,
#header #logo > a.site-logo-link {
    position: relative !important;
    display: block !important;
    width: 250px !important;
    height: 190px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

#header #logo.site-logo-1komissionny .site-logo-image,
#header #logo .site-logo-image {
    position: absolute !important;
    top: -6px !important;
    left: 0 !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    height: 180px !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity 120ms linear;
}

#header #logo.site-logo-1komissionny .site-logo-hover,
#header #logo .site-logo-hover {
    opacity: 0 !important;
}

#header #logo.site-logo-1komissionny > a.site-logo-link:hover .site-logo-normal,
#header #logo > a.site-logo-link:hover .site-logo-normal,
#header #logo.site-logo-1komissionny > a.site-logo-link:focus-visible .site-logo-normal,
#header #logo > a.site-logo-link:focus-visible .site-logo-normal {
    opacity: 0 !important;
}

#header #logo.site-logo-1komissionny > a.site-logo-link:hover .site-logo-hover,
#header #logo > a.site-logo-link:hover .site-logo-hover,
#header #logo.site-logo-1komissionny > a.site-logo-link:focus-visible .site-logo-hover,
#header #logo > a.site-logo-link:focus-visible .site-logo-hover {
    opacity: 1 !important;
}

@media (max-width: 700px) {
    #header #logo.site-logo-1komissionny,
    #header #logo {
        width: 400px !important;
    }

    #header #logo.site-logo-1komissionny > a.site-logo-link,
    #header #logo > a.site-logo-link {
        width: 170px !important;
        height: 120px !important;
    }

    #header #logo.site-logo-1komissionny .site-logo-image,
    #header #logo .site-logo-image {
        top: 0 !important;
        height: 114px !important;
    }
}


/* VM6_CART_POPUP_IFRAME_v231453
   The header "Open cart" link is intercepted by cart-popup.js and opens the
   existing VirtueMart cart page in an iframe modal. With JavaScript disabled,
   the original link remains a normal cart-page link. */

html.vm-cart-popup-open,
body.vm-cart-popup-open {
    overflow: hidden !important;
}

#vmCartPopup[hidden] {
    display: none !important;
}

#vmCartPopup.vm-cart-popup {
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

#vmCartPopup .vm-cart-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

#vmCartPopup .vm-cart-popup__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(920px, calc(100vw - 48px));
    height: min(760px, calc(100vh - 48px));
    overflow: hidden;
    background: #fff;
    border: 3px solid #fff;
    border-radius: 20px;
    box-shadow: 0 0 0 3px #fff, 0 0 18px #111;
}

#vmCartPopup .vm-cart-popup__header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    padding: 0 10px 0 16px;
    background: url(../images/bodybg1.png) no-repeat left top #fff;
    background-size: auto 100%;
    border-bottom: 1px solid #c6c6c6;
}

#vmCartPopup .vm-cart-popup__header h2 {
    margin: 0;
    color: #1f65b5;
    font: normal 18px Arial, sans-serif;
}

#vmCartPopup .vm-cart-popup__close {
    width: 30px;
    height: 30px;
    padding: 0;
    color: #fff;
    background: #2f8e2f;
    border: 1px solid #157115;
    border-radius: 5px;
    font: normal 25px/25px Arial, sans-serif;
    cursor: pointer;
}

#vmCartPopup .vm-cart-popup__close:hover,
#vmCartPopup .vm-cart-popup__close:focus-visible {
    background: #49a949;
    outline: 2px solid #1f65b5;
    outline-offset: 1px;
}

#vmCartPopup .vm-cart-popup__body {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    background: #fff;
}

#vmCartPopup #vmCartPopupFrame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

#vmCartPopup .vm-cart-popup__footer {
    flex: 0 0 auto;
    min-height: 28px;
    padding: 5px 14px;
    background: #f7f7f7;
    border-top: 1px solid #d8d8d8;
    text-align: right;
    box-sizing: border-box;
}

#vmCartPopup .vm-cart-popup__footer a {
    color: #1461ba;
    font: normal 12px Arial, sans-serif;
}

/* This body exists only in tmpl=component&popup_cart=1 inside the iframe. */
body.vm-cart-popup-component {
    margin: 0;
    padding: 14px;
    background: #fff;
    color: #222;
    font-family: Arial, sans-serif;
    box-sizing: border-box;
}

body.vm-cart-popup-component .alert,
body.vm-cart-popup-component .vm-error,
body.vm-cart-popup-component .vm-message {
    margin: 0 0 10px;
}

@media (max-width: 700px) {
    #vmCartPopup.vm-cart-popup {
        padding: 10px;
    }

    #vmCartPopup .vm-cart-popup__dialog {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        border-radius: 10px;
    }

    #vmCartPopup .vm-cart-popup__header {
        min-height: 38px;
    }
}


/* Parent modal dimensions remain unchanged; the iframe itself now carries
   cart-popup-component.css and Bootstrap form/grid support. */
#vmCartPopup .vm-cart-popup__body {
    overflow: hidden;
}


/* VM6_HEADER_CART_ICON_WITH_BADGE_v231470
   The header is intentionally icon-only. Quantity is maintained by the
   lightweight template script, not by a hidden VirtueMart module. */

#header #headerbanner .legacy-cart-icon-slot {
    display: block !important;
    width: 88px;
    height: 78px;
    margin: 0 0 4px auto;
    padding: 0;
    overflow: visible;
    text-align: right;
}

#header #headerbanner .legacy-cart-icon-link {
    position: relative;
    display: inline-block;
    width: 78px;
    height: 78px;
    margin: 0;
    padding: 0;
    background: #242224;
    border-radius: 0;
    text-decoration: none;
    vertical-align: top;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}

#header #headerbanner .legacy-cart-icon-link:hover,
#header #headerbanner .legacy-cart-icon-link:focus-visible {
    background: #2b292b;
    outline: 2px solid #69b4ff;
    outline-offset: 1px;
}

#header #headerbanner .legacy-cart-icon-svg {
    position: absolute;
    left: 13px;
    top: 16px;
    width: 40px;
    height: 40px;
    overflow: visible;
}

#header #headerbanner .legacy-cart-icon-svg circle,
#header #headerbanner .legacy-cart-icon-svg path {
    fill: none;
    stroke: #ffffff;
    stroke-width: 3.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#header #headerbanner .legacy-cart-icon-badge {
    position: absolute;
    right: 7px;
    top: 5px;
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    color: #fff;
    background: #4ab24d;
    border-radius: 13px;
    text-align: center;
    font: bold 18px/26px Arial, sans-serif;
    box-shadow: 0 0 0 2px #242224;
    box-sizing: border-box;
}

#header #headerbanner .legacy-cart-icon-badge.is-hidden {
    display: none !important;
}

@media (max-width: 700px) {
    #header #headerbanner .legacy-cart-icon-slot {
        width: 70px;
        height: 62px;
    }

    #header #headerbanner .legacy-cart-icon-link {
        width: 62px;
        height: 62px;
    }

    #header #headerbanner .legacy-cart-icon-svg {
        left: 10px;
        top: 13px;
        width: 32px;
        height: 32px;
    }

    #header #headerbanner .legacy-cart-icon-badge {
        right: 5px;
        top: 4px;
        min-width: 20px;
        height: 20px;
        padding: 0 4px;
        border-radius: 10px;
        font-size: 13px;
        line-height: 20px;
    }
}


/* VM6_CART_TRANSPARENT_SEARCH_CENTER_v231456
   - remove the dark square behind the cart icon;
   - keep a dark cart outline so it remains readable on the pale header;
   - anchor the search module to the horizontal centre of the full 980px header,
     independent of logo width and cart position. */

/* The header becomes the positioning reference only. Its size and page layout
   remain unchanged. */
#header {
    position: relative !important;
}

/* Cart: transparent area, no black panel or black badge halo. */
#header #headerbanner .legacy-cart-icon-link,
#header #headerbanner .legacy-cart-icon-link:hover,
#header #headerbanner .legacy-cart-icon-link:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
}

#header #headerbanner .legacy-cart-icon-link:focus-visible {
    outline: 2px solid #69b4ff;
    outline-offset: 1px;
}

#header #headerbanner .legacy-cart-icon-svg circle,
#header #headerbanner .legacy-cart-icon-svg path {
    stroke: #242224 !important;
}

#header #headerbanner .legacy-cart-icon-badge {
    box-shadow: 0 0 0 2px #ffffe1 !important;
}

/* Search: absolute position stops it from being moved by the 400px logo box
   or the right-aligned cart. */
#header #headerSearchSlot {
    position: absolute !important;
    z-index: 10;
    top: 39px;
    left: 50%;
    width: 300px;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%);
    text-align: center;
}

#header #headerSearchSlot > .moduletable,
#header #headerSearchSlot > .module,
#header #headerSearchSlot .moduletable,
#header #headerSearchSlot .module {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#header #headerSearchSlot form,
#header #headerSearchSlot .search {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

#header #headerSearchSlot #mod_virtuemart_search,
#header #headerSearchSlot input[type="search"],
#header #headerSearchSlot input[type="text"] {
    position: static !important;
    right: auto !important;
    float: none !important;
    margin: 0 auto !important;
}

@media (max-width: 700px) {
    #header #headerSearchSlot {
        top: 42px;
        left: 50%;
        width: 280px;
    }
}


/* VM6_CART_ICON_NO_HOVER_BOX_v231457
   Hovering the header cart must not light, tint or outline the full 78px
   clickable area. The click target remains unchanged. */

#header #headerbanner .legacy-cart-icon-link:hover,
#header #headerbanner .legacy-cart-icon-link:active {
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    outline: none !important;
}

#header #headerbanner .legacy-cart-icon-link:hover .legacy-cart-icon-svg circle,
#header #headerbanner .legacy-cart-icon-link:hover .legacy-cart-icon-svg path {
    stroke: #242224 !important;
}


/* VM6_QUICK_ADD_STAY_CATALOG_v231461
   No popup/overlay: the only feedback is a brief text state on the button. */

.browse-view .addtocart-button.vm-quick-add-success,
.productdetails-view .addtocart-button.vm-quick-add-success {
    background: #3d983d !important;
    border-color: #247425 !important;
}

.browse-view .addtocart-button.vm-quick-add-error,
.productdetails-view .addtocart-button.vm-quick-add-error {
    background: #b34a4a !important;
    border-color: #8e2c2c !important;
}





/* VM6_DETAIL_BUTTON_AND_NO_RATINGS_v231472
   The full product card owns one lightweight add button. The native VM form
   remains in the DOM for product IDs, variants and CSRF, but its visible +/-
   controls and original submit are never shown. */
.productdetails-view .vm-detail-own-cart .quantity_box,
.productdetails-view .vm-detail-own-cart .quantity-box,
.productdetails-view .vm-detail-own-cart .quantity-controls,
.productdetails-view .vm-detail-own-cart .quantity-input,
.productdetails-view .vm-detail-own-cart .addtocart-bar > .row > .col-auto,
.productdetails-view form.vm-detail-quick-add-ready .quantity_box,
.productdetails-view form.vm-detail-quick-add-ready .quantity-box,
.productdetails-view form.vm-detail-quick-add-ready .quantity-controls,
.productdetails-view form.vm-detail-quick-add-ready .quantity-input,
.productdetails-view form.vm-detail-quick-add-ready .addtocart-bar > .row > .col-auto {
    display: none !important;
}

.productdetails-view .vm-detail-own-cart .addtocart-bar > .addtocart-button:not(.vm-detail-quick-add-wrapper),
.productdetails-view .vm-detail-own-cart .addtocart-bar > input[name="addtocart"],
.productdetails-view .vm-detail-own-cart .addtocart-bar > button[name="addtocart"]:not(.vm-detail-quick-add-button),
.productdetails-view form.vm-detail-quick-add-ready .addtocart-bar > .addtocart-button:not(.vm-detail-quick-add-wrapper),
.productdetails-view form.vm-detail-quick-add-ready .addtocart-bar > input[name="addtocart"],
.productdetails-view form.vm-detail-quick-add-ready .addtocart-bar > button[name="addtocart"]:not(.vm-detail-quick-add-button) {
    display: none !important;
}

.productdetails-view .vm-detail-own-cart .vm-detail-quick-add-wrapper,
.productdetails-view form.vm-detail-quick-add-ready .vm-detail-quick-add-wrapper {
    display: block !important;
    width: 152px !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
}

.productdetails-view .vm-detail-own-cart .vm-detail-quick-add-button,
.productdetails-view form.vm-detail-quick-add-ready .vm-detail-quick-add-button {
    display: block !important;
    width: 152px !important;
    min-width: 152px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 auto !important;
    padding: 4px 5px !important;
    color: #ffffff !important;
    background: url(/components/com_virtuemart/assets/images/vmgeneral/backgrounds.png) 0 -160px repeat-x #e8e8e8 !important;
    border: 1px solid #00a000 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: normal !important;
    line-height: 22px !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.productdetails-view .vm-detail-own-cart .vm-detail-quick-add-button:hover,
.productdetails-view .vm-detail-own-cart .vm-detail-quick-add-button:focus,
.productdetails-view form.vm-detail-quick-add-ready .vm-detail-quick-add-button:hover,
.productdetails-view form.vm-detail-quick-add-ready .vm-detail-quick-add-button:focus {
    color: #ffffff !important;
    background-position: 0 -160px !important;
    filter: brightness(1.08);
    outline: none !important;
}

/* Remove rating markup everywhere in the storefront; product reviews remain
   disabled visually, not deleted from the database. */
.productdetails-view .vm-product-rating-container,
.productdetails-view .ratingbox,
.productdetails-view .rating,
.productdetails-view .vm-rating,
.productdetails-view [class*="rating-"],
.browse-view .vm-product-rating-container,
.featured-view .vm-product-rating-container,
.latest-view .vm-product-rating-container,
.topten-view .vm-product-rating-container,
.recent-view .vm-product-rating-container,
.related-products-view .vm-product-rating-container {
    display: none !important;
}


/* VM6_DETAIL_QUANTITY_AND_LOGO_BOTTOM_GAP_v231474
   The one-click product view always submits quantity=1, so no VM quantity
   caption or plus/minus column is rendered. Move the logo 8px down inside
   the existing header box to reduce the empty gap below it. */
#header #logo.site-logo-1komissionny .site-logo-image,
#header #logo .site-logo-image {
    top: 2px !important;
}

@media (max-width: 700px) {
    #header #logo.site-logo-1komissionny .site-logo-image,
    #header #logo .site-logo-image {
        top: 2px !important;
    }
}


/* VM6_DETAIL_REMOVE_NATIVE_DUPLICATE_AND_EMAIL_v231475
   The original BS5 add-to-cart row contains a second, tiny VM button inside
   .vm-addtocart-button-col. The template's own button is appended separately,
   so the native column is removed from the detailed card only. */
.productdetails-view .vm-detail-own-cart .vm-addtocart-button-col,
.productdetails-view .vm-detail-own-cart .vm-addtocart-button-wrapper,
.productdetails-view form.vm-detail-quick-add-ready .vm-addtocart-button-col,
.productdetails-view form.vm-detail-quick-add-ready .vm-addtocart-button-wrapper {
    display: none !important;
}

/* Defensive fallback for cached or extension-injected product detail markup. */
.productdetails-view .recommened-to-friend,
.productdetails-view .emailButton,
.productdetails-view a[title="Email"] {
    display: none !important;
}

/* VM6_ALIGN_CATEGORY_TEXT_WITH_BUTTON_STRIP_AND_RAISE_LOGO_IMAGE_v231487
   Desktop only. The category strip itself is allowed to clear the floated
   logo, while its inner menu is visually aligned with the already-raised
   buttons.png background. The logo PNG moves within its existing absolute
   positioning context; neither #logo nor the header flow is moved. */
@media (min-width: 701px) {
    /* Let the painted category strip occupy the header-adjacent position. */
    #catnav.legacy-vm-catnav {
        clear: none !important;
    }

    /* The Joomla menu module's list was still laid out below the 190px logo float.
       Move only that list back onto its own painted six-button strip. */
    #catnav #vm6-catnav.nav.menu_VMmenu,
    #catnav .legacy-vm-category-menu > .nav.menu_VMmenu,
    #catnav > .moduletable > .nav.menu_VMmenu {
        position: relative !important;
        top: -90px !important;
        z-index: 20 !important;
    }

    /* Keep the logo box and click area fixed; lift only both PNG states. */
    #header #logo.site-logo-1komissionny .site-logo-image,
    #header #logo .site-logo-image {
        top: -55px !important;
    }
}

/* VM6_LOGO_IMAGE_FIXED_HEIGHT_140PX_v231490
   Desktop only: render both supplied logo PNG states at fixed height 140px,
   keeping their width automatic. The logo box, click box, category menu
   alignment and logo top offset are intentionally unchanged. */
@media (min-width: 701px) {
    #header #logo.site-logo-1komissionny .site-logo-image,
    #header #logo .site-logo-image {
        height: 140px !important;
        max-height: 140px !important;
        width: auto !important;
    }
}

/* VM6_LOGO_IMAGE_UP_40PX_RIGHT_40PX_v231493
   Desktop only: move both logo PNG states within the unchanged clickable/logo
   container. The PNG display height stays 140px; #logo, its link, the header
   and category navigation geometry are untouched. */
@media (min-width: 701px) {
    #header #logo.site-logo-1komissionny .site-logo-image,
    #header #logo .site-logo-image {
        top: -40px !important;
        left: 40px !important;
    }
}


/* VM6_LOGO_NO_DRAG_v231497 */
#header #logo .site-logo-image {
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}


/* VM6_CART_POPUP_SINGLE_TITLE_AND_PRODUCTS_FIRST_v231500
   Outer popup title is kept for accessibility but visually hidden because
   the VirtueMart component already prints its own “Кошик” heading. */
.vm-cart-popup__sr-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.vm-cart-popup__header {
    justify-content: flex-end !important;
    min-height: 38px;
}


/* Monobank parts badge and requirements popup on the full product page */
.productdetails-view .product-price .vm-monobank-parts-badge {
    display: inline-grid !important;
    clear: both !important;
    float: none !important;
    position: static !important;
    width: fit-content !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    grid-template-columns: minmax(0, max-content) !important;
    justify-items: start !important;
    align-items: start !important;
    margin: 8px 0 0 !important;
    padding: 4px 11px 5px !important;
    border: 1px solid #8e8e8e !important;
    border-radius: 999px !important;
    background: #f4f4f4 !important;
    color: #3d3d3d !important;
    line-height: 1 !important;
    text-align: left !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    appearance: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    align-self: flex-start !important;
}

.productdetails-view .product-price .vm-monobank-parts-badge img {
    display: block !important;
    width: 106px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: left center !important;
    background: transparent !important;
}

.productdetails-view .product-price .vm-monobank-parts-badge__label {
    display: block !important;
    margin: -8px 0 0 40px !important;
    color: #3d3d3d !important;
    font-size: 7px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.65), 0 0 3px rgba(0,0,0,0.08) !important;
}

.productdetails-view .product-price .vm-monobank-parts-badge:hover,
.productdetails-view .product-price .vm-monobank-parts-badge:active,
.productdetails-view .product-price .vm-monobank-parts-badge:focus {
    border-color: #8e8e8e !important;
    background: #f4f4f4 !important;
    color: #3d3d3d !important;
    box-shadow: none !important;
    transform: none !important;
    outline: none !important;
}

.productdetails-view .product-price .vm-monobank-parts-badge:focus-visible {
    outline: 2px solid #4b4b4b !important;
    outline-offset: 2px !important;
}

.vm-monobank-parts-modal[hidden] {
    display: none !important;
}

.vm-monobank-parts-modal {
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    box-sizing: border-box;
}

.vm-monobank-parts-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.46);
}

.vm-monobank-parts-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 440px);
    overflow: hidden;
    border: 1px solid #cfcfcf;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 46px rgba(0, 0, 0, 0.32);
    color: #242424;
}

.vm-monobank-parts-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid #e1e1e1;
}

.vm-monobank-parts-modal__heading {
    min-width: 0;
}

.vm-monobank-parts-modal__header h2 {
    margin: 0;
    color: #1f1f1f;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

.vm-monobank-parts-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: -2px -4px -2px 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #333333;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.vm-monobank-parts-modal__close:hover,
.vm-monobank-parts-modal__close:focus-visible {
    background: #ededed;
    outline: none;
}

.vm-monobank-parts-modal__body {
    padding: 16px;
    font-size: 15px;
    line-height: 1.45;
}

.vm-monobank-parts-modal__service {
    margin: 3px 0 0;
    color: #303030;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.vm-monobank-parts-modal__terms {
    margin: 0 0 12px;
    color: #474747;
    font-size: 14px;
    line-height: 1.4;
}

.vm-monobank-parts-modal__body ul {
    margin: 0;
    padding-left: 20px;
    list-style: disc;
}

.vm-monobank-parts-modal__body li + li {
    margin-top: 9px;
}



@media (max-width: 420px) {
    .productdetails-view .product-price .vm-monobank-parts-badge {
        padding: 5px 10px 6px;
    }

    .productdetails-view .product-price .vm-monobank-parts-badge img {
        width: 100px;
    }
}


/* 2.3.16.98 - Popup cart has no separate full-page escape link.
   Keeping checkout inside the controlled component popup prevents the unstyled
   full-cart variant from appearing and avoids a second layout path to maintain. */
#vmCartPopup .vm-cart-popup__footer {
    display: none !important;
}
