div#sp-search {
    margin-top: 35px;
}

.usermenu {
    background: black;
}

.result-element {
    
    height: 40px;
    
}

div#sp-header-right {
    margin-top: 35px;
}

.menu-vertical .category-menu-title h4 {
    color: #000000;
    
}

i.fa.fa-list {
    font-size: 18px;
    color: #000;
}

#sp-header-top-bar a:hover {
    color: #d6b56e;
}

#sp-header-middle a:hover {
    color: #d6b56e;
}
.section-header .section-title h3:before, .sp-module.section-title .sp-module-title:before {
    border-color: #22b8f0;
}

#sp-left .sp-module, #sp-right .sp-module {
    border-top-color: #d6b56e;
}

#sp-primary .sp-module .sp-module-title,
#sp-main-body .sp-module .sp-module-title {
    display: flex;
    align-items: center;
    color: #0e9cd1;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
}

#sp-primary .sp-module .sp-module-title:after,
#sp-main-body .sp-module .sp-module-title:after {
    content: "";
    flex: 1 1 auto;
    height: 2px;
    margin-left: 16px;
    background: #d6b56e;
}

#sp-main-body #sp-left .sp-module .sp-module-title,
#sp-main-body #sp-right .sp-module .sp-module-title {
    font-size: 20px;
}

@media (max-width: 767px) {
    #sp-primary .sp-module .sp-module-title,
    #sp-main-body .sp-module .sp-module-title,
    #sp-main-body #sp-left .sp-module .sp-module-title,
    #sp-main-body #sp-right .sp-module .sp-module-title {
        font-size: 19px;
        line-height: 1.3;
    }

    #sp-primary .sp-module .sp-module-title:after,
    #sp-main-body .sp-module .sp-module-title:after {
        margin-left: 12px;
    }
}

.menu-vertical #megamenucss #js-mainnav.megamenu.blackwhite .js-megamenu li:hover a {
    background: #eaad0a !important;
}

.product-items div.product:hover, .product-items li.product:hover {
    border-top: 1px;
    border-bottom: 1px;
    border-left: 1px;
    border-right: 1px;
    border-style: solid;
    border-color: #eaad0a;
}

.category-content .category-items, .sp-megamenu-parent .sp-dropdown li.sp-menu-item >a:hover, .sp-megamenu-parent .sp-dropdown li.sp-menu-item.active>a, .productdetails .back-to-category .product-details:hover, .product-related-products .product-hover a:hover, .header-cart-content .cart-product-list a:hover {
    
    color: #eaad0a;
}

.productdetails .vm-product-details-container .addtocart-area span.addtocart-button:hover {
    background-color: #eaad0a;
}

.productdetails .product-next-previous .product-prev > a, .productdetails .product-next-previous .product-next > a {
    border: 1px solid #eaad0a;
    background-color: #fff;
    display: block;
    margin-right: -1px;
    padding: 3px 9px;
}

.productdetails .product-next-previous .product-prev .product-navbar, .productdetails .product-next-previous .product-next .product-navbar {
    color:  #eaad0a;
}

#sp-footer-middle a:hover {
    color: #0e9cd1;
}

#sp-footer-middle {
    position: relative;
    padding: 56px 0 38px;
    border-top: 3px solid #d6b56e;
    background: #f5fafc;
    color: #4c5962;
}

#sp-footer-middle:before {
    content: "";
    position: absolute;
    top: -3px;
    left: 0;
    width: 28%;
    max-width: 420px;
    height: 3px;
    background: #22b8f0;
}

#sp-footer-middle .container > .row {
    display: flex;
    flex-wrap: wrap;
}

#sp-footer-middle .container > .row > div {
    position: relative;
    padding-right: 28px;
    padding-left: 28px;
}

#sp-footer-middle .container > .row > div:first-child {
    padding-left: 15px;
}

#sp-footer-middle .container > .row > div:last-child {
    padding-right: 15px;
}

#sp-footer-middle .container > .row > div + div:before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 0;
    width: 1px;
    background: #d8eef7;
}

#sp-footer-middle .sp-module-title {
    position: relative;
    margin: 0 0 24px;
    padding-bottom: 13px;
    color: #18232b;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
}

#sp-footer-middle .sp-module-title:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 42px;
    height: 2px;
    background: #d6b56e;
}

#sp-footer-middle .about-logo {
    margin-bottom: 20px;
}

#sp-footer-middle .about-logo img {
    max-width: 150px;
    height: auto;
}

#sp-footer-middle a {
    color: #35434c;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}

#sp-footer-middle .menu > li a,
#sp-footer-middle .latestnews > div,
#sp-footer-middle ul.about-us > li {
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 1.5;
}

#sp-footer-middle .menu > li a,
#sp-footer-middle .latestnews > div a {
    display: inline-block;
}

#sp-footer-middle .menu > li a:before,
#sp-footer-middle .latestnews > div:before {
    color: #22b8f0;
    transition: transform .18s ease;
}

#sp-footer-middle .menu > li a:hover,
#sp-footer-middle .latestnews > div a:hover {
    color: #0e9cd1;
    transform: translateX(4px);
}

#sp-footer-middle ul.about-us > li i {
    width: 30px;
    padding-right: 10px;
    color: #0e9cd1;
    text-align: center;
}

#sp-footer-middle .sppb-icons-group-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

#sp-footer-middle .sppb-icons-group-list li {
    margin: 0 !important;
}

#sp-footer-middle .sppb-icons-group-list li a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: auto !important;
    height: 44px !important;
    min-height: 44px;
    padding: 7px 11px !important;
    border: 1px solid #d8eef7;
    border-radius: 7px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(24, 35, 43, 0.05);
}

#sp-footer-middle .sppb-icons-group-list li a:hover {
    border-color: #8edcf8;
    color: #0e9cd1 !important;
    transform: translateX(4px);
}

#sp-footer-copyright {
    padding: 18px 0;
    border-top: 1px solid #d8eef7;
    background: #ffffff;
    color: #66747d;
    font-size: 13px;
    line-height: 1.6;
}

#sp-footer-copyright p {
    margin-bottom: 0;
}

#sp-footer-copyright #sp-footer8 {
    text-align: right;
}

#sp-footer-copyright a {
    color: #0e9cd1;
    font-weight: 600;
    text-decoration: none;
    transition: color .18s ease;
}

#sp-footer-copyright a:hover,
#sp-footer-copyright a:focus {
    color: #18232b;
}

@media (max-width: 991px) {
    #sp-footer-middle {
        padding: 44px 0 20px;
    }

    #sp-footer-middle .container > .row > div {
        padding-right: 24px;
        padding-left: 24px;
    }

    #sp-footer-middle .container > .row > div:nth-child(odd) {
        padding-left: 15px;
    }

    #sp-footer-middle .container > .row > div:nth-child(even) {
        padding-right: 15px;
    }

    #sp-footer-middle .container > .row > div:nth-child(3):before {
        display: none;
    }
}

@media (max-width: 767px) {
    #sp-footer-middle {
        padding: 38px 0 12px;
    }

    #sp-footer-middle:before {
        width: 42%;
    }

    #sp-footer-middle .container > .row {
        display: block;
    }

    #sp-footer-middle .container > .row > div,
    #sp-footer-middle .container > .row > div:nth-child(odd),
    #sp-footer-middle .container > .row > div:nth-child(even) {
        margin-bottom: 0;
        padding: 0 15px 26px;
    }

    #sp-footer-middle .container > .row > div + div {
        padding-top: 26px;
        border-top: 1px solid #d8eef7;
    }

    #sp-footer-middle .container > .row > div + div:before {
        display: none;
    }

    #sp-footer-middle .sp-module-title {
        margin-bottom: 18px;
        font-size: 18px;
    }

    #sp-footer-copyright {
        padding: 20px 0;
        text-align: center;
    }

    #sp-footer-copyright #sp-footer8 {
        margin-top: 8px;
        text-align: center;
    }
}

.mini-cart .show_cart a:hover, .header-cart-content .cart-style-2 .cart-count, .topbar-cart .cart-count, .menu-vertical .category-menu-title, .owl-carousel.owl-theme .owl-nav [class*=owl-]:hover, .countdown .countdown-section, .product .product-highlight .featured span, .product-items .product .product-image .product_image_gallery .owl-dot.active span, .product-toolbar .gridlist-toggle .grid-view.active, .product-toolbar .gridlist-toggle .grid-view:hover, .product-toolbar .gridlist-toggle .list-view.active, .product-toolbar .gridlist-toggle .grid-view:hover, .product-toolbar .gridlist-toggle .list-view.active, .product-toolbar .gridlist-toggle .list-view:hover {
  
    background-color: #eaad0a;
}

.sp-megamenu-parent >li >a:hover {
    background-color: #eaad0a;
}

.orderby-displaynumber .orderlistcontainer .orderlist {
    
    width: 200px;
    
}


.sp-megamenu-parent li.sp-menu-item.label-sale >a:after, .sp-megamenu-parent li.sp-menu-item.label-sale span:after {
    content: 'Akció';
    background: #60BF79;
}

.sp-megamenu-parent li.sp-menu-item.label-new >a:after, .sp-megamenu-parent li.sp-menu-item.label-new span:after {
    content: 'Új';
    background: #eae30a;
;
}

.sp-megamenu-parent li.sp-menu-item.label-new >a:before, .sp-megamenu-parent li.sp-menu-item.label-new span:before {
    border-right-color: #eae30a;
}

.menu-vertical #megamenucss #js-mainnav.megamenu.vertical.left .js-megamenu ul li .jux-label-menu.label-new:after {
    content: 'Új';
    background: #22b8f0;
}

.menu-vertical #megamenucss #js-mainnav.megamenu.blackwhite .js-megamenu li:hover > a {
    color: #ffffff !important;
}

fieldset.vm-fieldset-tos {
    margin-top: 15px;
}

fieldset.vm-fieldset-adatvedelmitajekoztato {
    margin-top: 15px;
}

fieldset.vm-fieldset-linkadatvedelem {
    margin-bottom: 15px;
}

fieldset.vm-fieldset-customer-note {
    margin-bottom: 15px;
}

.cart_totals {
    background-color: #fafafa;
    border: 1px solid #515151;
    padding: 10px;
}

.alert {
    margin-bottom: 20px;
    background-color: #edf9fe;
    color: #22b8f0;
    padding: 15px;
    border-width: 1px;
    border-style: solid;
    border-color: #22b8f0;
    border-image: initial;
    border-radius: 4px;
}

#czd-login .modal-dialog {
    width: 350px;
}

#czd-login .modal-content {
    border-radius: 0;
    padding: 20px 20px;
    color: #000;
}

#czd-login .modal-content .modal-body .forget-name-link {
    margin-top: 20px;
    color: #a0a0a0;
    font-size: 14px;
    clear: both;
}

#czd-login .modal-content .modal-body .title {
    margin: 0 0 30px 0;
    font-weight: 600;
    color: #428bca;
    text-align: center;
}

#czd-login .modal-content .modal-footer {
    color: #0ba2e8;
    font-size: 14px;
    padding: 0;
    text-align: left;
    border: none;
    line-height: 1;
}

#czd-login .modal-content button.close i {
    width: 36px;
    height: 36px;
    text-align: center;
    border: none;
    border-radius:none; 
    line-height: 30px;
}

#czd-login .modal-content button.close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

/*  Ajax Search    */

input#search-area311 {
    height: 50px;
    line-height: 50px;  
}

input#suggestion-area311 {
    height: 50px;
    line-height: 50px;
}

#search-form311 #search-area-close311 {
    right: 60px;
  
}

#ajax-search-button311 {
    height: 50px;
    width: 50px;
    border: none;
    
    background: #0ba2e8;
    
}

#ajax-search-button311 .magnifier {
    
    height: 50px;
    width: 50px;
    
}


/*  Table start    */

table {
    width: 100%;
    max-width: 100%;
    border: 1px solid #d5d5d2;
    border-collapse: collapse
}

table caption {
    font-family: 'Tungsten A', 'Tungsten B', 'Arial Narrow', Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.954rem;
    line-height: 1;
    margin-bottom: .75em
}

table th {
    font-family: 'Gotham SSm A', 'Gotham SSm B', Verdana, sans-serif;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: .9353rem;
    padding: 1.2307em 1.0833em 1.0833em;
    line-height: 1.333;
    background-color: #eae9e6
}

table td, table th {
    text-align: left
}

table td {
    padding: .92307em 1em .7692em
}

table tbody tr:nth-of-type(even) {
    background-color: #f9f8f5
}

table tbody th {
    border-top: 1px solid #d5d5d2
}

table tbody td {
    border-top: 1px solid #d5d5d2
}

table.wdn_responsive_table thead th abbr {
    border-bottom: none
}

@media screen and (max-width:47.99em) {
    table.wdn_responsive_table td, table.wdn_responsive_table th {
        display: block
    }

    table.wdn_responsive_table thead tr {
        display: none
    }

    table.wdn_responsive_table tbody tr:first-child th {
        border-top-width: 0
    }

    table.wdn_responsive_table tbody tr:nth-of-type(even) {
        background-color: transparent
    }

    table.wdn_responsive_table tbody td {
        text-align: left
    }

    table.wdn_responsive_table tbody td:before {
        display: block;
        font-weight: 700;
        content: attr(data-header)
    }

    table.wdn_responsive_table tbody td:empty {
        display: none
    }

    table.wdn_responsive_table tbody td:nth-of-type(even) {
        background-color: #f9f8f5
    }
}

@media (min-width:48em) {
    table caption {
        font-size: 2.532rem
    }

    table th {
        padding: 1.2307em 1.2307em 1em;
        font-size: .802rem
    }

    table td {
        padding: .75em 1em .602em
    }
}

@media screen and (min-width:48em) {
    table.wdn_responsive_table thead th:not(:first-child) {
        text-align: center
    }

    table.wdn_responsive_table tbody td {
        text-align: center
    }

    table.wdn_responsive_table.flush-left td, table.wdn_responsive_table.flush-left thead th {
        text-align: left
    }
}

/*  Table END    */

.product-price .vm-price-value {
    display: block;
    padding-left: 0px;
}

span.PricebasePriceWithTax {
    text-decoration: line-through;
}

.PricebasePriceWithTax.vm-display.vm-price-value {
    float: left;
}

/* Usermenü */
.usermenu {
    background-color: #22b8f0;
}

/* Auth-aware menu visibility */
body.user-logged-in li.item-875,
body.user-logged-in li.item-895,
body.user-logged-in .offcanvas-menu li.item-875,
body.user-logged-in .offcanvas-menu li.item-895 {
    display: none !important;
}

body.user-guest li.item-877,
body.user-guest .offcanvas-menu li.item-877 {
    display: none !important;
}

.sp-module.penzvalto {
    vertical-align: top;
}

.product-sku {
    font-size: small;
}

.product-items .products .product-entry .product-content h3 {
    font-weight: bold;
    max-height: 38px;
    overflow: hidden;
    padding: 0;
    text-overflow: ellipsis;
    font-size: 14px;
    line-height: normal;
}

/* Shopcore visual refinements for VM category/product/cart */
.browse-view .orderby-displaynumber.product-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin: 8px 0 16px;
    padding: 12px 14px;
    background: #fafafa;
    border: 1px solid #e4e4e4;
}

.browse-view .gridlist-toggle a {
    display: inline-block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border: 1px solid #d8d8d8;
    border-radius: 2px;
    background: #fff;
}

.browse-view .gridlist-toggle a:hover,
.browse-view .gridlist-toggle a.active {
    border-color: #eaad0a;
    color: #eaad0a;
}

.browse-view .vm-order-list,
.browse-view .product-toolbar-pagination {
    margin: 0;
}

.browse-view .product-toolbar-pagination {
    margin-left: auto;
}

.category-view .product-items ul.products {
    list-style: none;
    margin: 0 -15px;
    padding: 0;
}

.category-view .product-items ul.products::after {
    content: "";
    display: table;
    clear: both;
}

.productdetails .spacer-buy-area {
    background: #fcfcfc;
    border: 1px solid #ececec;
    padding: 14px;
}

.productdetails .product-short-description {
    margin: 10px 0 14px;
    line-height: 1.55;
}

.productdetails .product-sku {
    margin-top: 8px;
    color: #555;
}

.productdetails .vm-product-details-container .addtocart-area {
    margin-top: 14px;
}

.productdetails .vm-product-details-container .addtocart-area input.quantity-input {
    height: 40px;
    border: 1px solid #d9d9d9;
}

.productdetails .vm-product-details-container .addtocart-area span.addtocart-button input {
    min-height: 40px;
    padding: 0 35px 0 45px;
    font-weight: 700;
}

#cart-view {
    border: 1px solid #ececec;
    padding: 16px;
    background: #fff;
}

#cart-view .checkout-button-top {
    margin-top: 12px;
}

#cart-view table {
    margin-bottom: 12px;
}

.vm-cart-header-container .vm-continue-shopping {
    text-align: right;
}

@media (max-width: 991px) {
    .browse-view .orderby-displaynumber.product-toolbar {
        display: block;
    }

    .browse-view .vm-order-list {
        margin: 10px 0;
    }

    .productdetails .spacer-buy-area {
        margin-top: 12px;
    }
}

@media (max-width: 767px) {
    .browse-view .orderby-displaynumber.product-toolbar {
        padding: 10px;
    }

    .browse-view .gridlist-toggle a {
        width: 32px;
        height: 32px;
        line-height: 32px;
    }

    #cart-view {
        padding: 10px;
    }

    .vm-cart-header-container .vm-continue-shopping {
        text-align: left;
        margin-top: 10px;
    }
}

/* Pixel refinement pass: product cards, details spacing, and cart table usability */
.product-items ul.products > li.product .product-entry {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #efefef;
    background: #fff;
}

.product-items ul.products > li.product .product-image {
    padding: 10px 10px 0;
}

.product-items ul.products > li.product .product-image img {
    width: 100%;
    height: auto;
}

/* Category page: enforce equal product image heights */
.category-view .product-items ul.products > li.product .product-image > a > img.img-responsive {
    width: 100%;
    height: 260px;
    display: block;
    object-fit: contain;
    object-position: 50% 12%;
}

.category-view .product-items ul.products > li.product .product-image .product_image_gallery img {
    width: 100%;
    height: 260px;
    display: block;
    object-fit: contain;
    object-position: 50% 12%;
}

.category-view .product-items ul.products > li.product:hover .product-image > a > img.img-responsive,
.category-view .product-items ul.products > li.product:hover .product-image .product_image_gallery img {
    object-position: 50% 12%;
}

.product-items ul.products > li.product .product-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 10px;
}

.product-items ul.products > li.product .product-title {
    min-height: 38px;
    line-height: 1.35;
    margin: 0 0 6px;
}

.product-items ul.products > li.product .short-description {
    min-height: 42px;
    margin-bottom: 8px;
    color: #666;
}

.product-items ul.products > li.product .product-loop-price {
    min-height: 42px;
    margin-bottom: 6px;
}

.product-items ul.products > li.product .product-buttons {
    margin-top: auto;
}

.productdetails-view .single-product-title {
    margin-bottom: 14px;
}

.productdetails-view .vm-product-details-container {
    padding: 0 0 0 6px;
}

#cart-view .vm-fieldset-pricelist {
    overflow-x: auto;
}

#cart-view .cart-summary.cart-items {
    min-width: 760px;
}

#cart-view .cart-summary .quantity-input {
    width: 62px;
    min-width: 62px;
    text-align: center;
}

#cart-view .cart-summary .vm-cart-item-delete .remove {
    width: 28px;
    height: 28px;
    line-height: 26px;
    border: 1px solid #ddd;
    background: #fff;
    color: #8c8c8c;
    font-size: 18px;
    border-radius: 2px;
}

#cart-view .cart-summary .vm-cart-item-delete .remove:hover {
    border-color: #d95b5b;
    color: #d95b5b;
}

@media (max-width: 991px) {
    .product-items ul.products > li.product {
        margin-bottom: 12px;
    }

    .productdetails-view .vm-product-details-container {
        padding-left: 0;
        margin-top: 12px;
    }
}

@media (max-width: 767px) {
    .product-items ul.products > li.product .product-title {
        min-height: 0;
    }

    .product-items ul.products > li.product .short-description {
        min-height: 0;
    }

    #cart-view .cart-summary.cart-items {
        min-width: 640px;
    }

    .category-view .product-items ul.products > li.product .product-image > a > img.img-responsive,
    .category-view .product-items ul.products > li.product .product-image .product_image_gallery img {
        height: 200px;
    }
}

/* Visual alignment pass: typography, CTA contrast, and cart totals emphasis */
.product-items ul.products > li.product .product-title a {
    color: #222;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.product-items ul.products > li.product .product-title a:hover {
    color: #eaad0a;
}

.product-items ul.products > li.product .product-loop-price .PricesalesPrice,
.product-items ul.products > li.product .product-loop-price .salesPrice {
    font-size: 18px;
    font-weight: 700;
    color: #1f1f1f;
}

.product-items ul.products > li.product .product-loop-price .PricebasePriceWithTax,
.product-items ul.products > li.product .product-loop-price .PricediscountAmount {
    font-size: 12px;
    color: #8a8a8a;
}

.product-items ul.products > li.product .addtocart-area .addtocart-bar {
    display: flex;
    align-items: center;
    gap: 8px;
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-bar {
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
}

.category-view .product-items ul.products > li.product .product-buttons {
    text-align: left;
}

.category-view .product-items ul.products > li.product .addtocart-area {
    display: block;
    width: 100%;
}

.category-view .product-items ul.products > li.product .addtocart-area form,
.category-view .product-items ul.products > li.product .addtocart-area .addtocart-bar,
.category-view .product-items ul.products > li.product .addtocart-area span.addtocart-button {
    float: none !important;
    text-align: left !important;
    width: 100%;
}

.product-items ul.products > li.product .addtocart-area .quantity-input {
    width: 50px;
    height: 36px;
    border: 1px solid #d8d8d8;
    text-align: center;
}

.product-items ul.products > li.product .addtocart-area .addtocart-button input,
.productdetails .vm-product-details-container .addtocart-area .addtocart-button input {
    border: 1px solid #d59a00;
    background: #eaad0a;
    color: #111;
    font-weight: 700;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.product-items ul.products > li.product .addtocart-area .addtocart-button input:hover,
.productdetails .vm-product-details-container .addtocart-area .addtocart-button input:hover {
    background: #d59a00;
    border-color: #c28b00;
    color: #fff;
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button {
    text-align: left;
    display: block;
    width: 100%;
}

.category-view .product-items ul.products > li.product .addtocart-area input.addtocart-button,
.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input {
    float: none !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input {
    min-height: 46px;
    min-width: 0;
    padding: 0 24px;
    font-size: 14px;
    line-height: 44px;
    margin: 0;
    text-align: center !important;
}

/* Add-to-cart icon should always be visible, without orange hover wrapper */
.product-items .products .product-content .product-buttons .addtocart-area span.addtocart-button,
.productdetails .vm-product-details-container .addtocart-area span.addtocart-button {
    position: relative;
    background: transparent !important;
}

.product-items .products .product-content .product-buttons .addtocart-area span.addtocart-button:before,
.productdetails .vm-product-details-container .addtocart-area span.addtocart-button:before {
    content: "\f07a";
    font-family: FontAwesome;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff;
    position: absolute;
    left: 35px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
}

.product-items .products .product-content .product-buttons .addtocart-area span.addtocart-button:hover,
.productdetails .vm-product-details-container .addtocart-area span.addtocart-button:hover {
    background: transparent !important;
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input,
.productdetails .vm-product-details-container .addtocart-area .addtocart-button input {
    padding-left: 40px;
    padding-right: 26px;
}

/* Modern skin pass: rounded UI + blue/yellow brand accents */
:root {
    --brand-red: #22b8f0;
    --brand-red-dark: #0e9cd1;
    --brand-yellow: #f4b400;
    --brand-yellow-dark: #d49a00;
    --surface-soft: #fff8ed;
    --surface-card: #ffffff;
    --text-strong: #1f1f1f;
}

.browse-view .orderby-displaynumber.product-toolbar {
    background: linear-gradient(180deg, #fff9ef 0%, #fff5e3 100%);
    border: 1px solid #f1d5aa;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(34, 184, 240, 0.08);
}

.browse-view .gridlist-toggle a {
    border-radius: 10px;
    border-color: #f0c877;
}

.browse-view .gridlist-toggle a:hover,
.browse-view .gridlist-toggle a.active {
    border-color: var(--brand-red);
    color: #fff;
    background: linear-gradient(180deg, var(--brand-red) 0%, var(--brand-red-dark) 100%);
}

.product-items ul.products > li.product .product-entry {
    border-radius: 16px;
    border: 1px solid #f1e4d0;
    box-shadow: 0 8px 22px rgba(31, 31, 31, 0.06);
    overflow: hidden;
}

.product-items ul.products > li.product .product-image {
    background: linear-gradient(180deg, #fffdf8 0%, #fff6e8 100%);
}

.product-items ul.products > li.product .product-content {
    background: var(--surface-card);
}

.product-items ul.products > li.product .product-title a {
    color: var(--text-strong);
}

.product-items ul.products > li.product .product-title a:hover {
    color: var(--brand-red);
}

.product-items ul.products > li.product .product-loop-price .PricesalesPrice,
.product-items ul.products > li.product .product-loop-price .salesPrice {
    color: var(--brand-red);
}

.product-items ul.products > li.product .addtocart-area .addtocart-button input,
.productdetails .vm-product-details-container .addtocart-area .addtocart-button input,
#cart-view .vmicon.vm2-add_quantity_cart {
    border-radius: 12px;
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input,
.productdetails .vm-product-details-container .addtocart-area .addtocart-button input {
    border: 0;
    background: linear-gradient(180deg, #22b8f0 0%, var(--brand-red) 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(34, 184, 240, 0.28);
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input:hover,
.productdetails .vm-product-details-container .addtocart-area .addtocart-button input:hover {
    background: linear-gradient(180deg, var(--brand-red) 0%, var(--brand-red-dark) 100%);
    color: #fff;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.34);
    transform: translateY(-1px);
}

.productdetails .spacer-buy-area,
#cart-view,
.cart_totals {
    border-radius: 16px;
}

.productdetails .spacer-buy-area {
    background: linear-gradient(180deg, #fffdf8 0%, #fff7ea 100%);
    border-color: #f1dfc3;
}

.productdetails .product_meta {
    border-top-color: #f1dfc3;
}

.cart_totals {
    background: linear-gradient(180deg, #fff9ef 0%, #fff4e0 100%);
    border: 1px solid #f1d5aa;
    box-shadow: 0 6px 18px rgba(34, 184, 240, 0.08);
}

.cart_totals h2,
.cart_totals .cart-items tr.sectiontableentry2 strong {
    color: var(--brand-red);
}

#cart-view .cart-summary .vm-cart-item-delete .remove {
    border-radius: 8px;
}

#cart-view .cart-summary .vm-cart-item-delete .remove:hover {
    background: #edf9fe;
}

input.quantity-input,
.browse-view .gridlist-toggle a,
.product-items ul.products > li.product .product-entry,
.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input {
    transition: all .2s ease;
}

/* Product details modernization pass */
.productdetails-view {
    margin-top: 8px;
    --pd-bg: #f7f8fb;
    --pd-card: #ffffff;
    --pd-border: #e7eaf0;
    --pd-text: #16181d;
    --pd-muted: #656b78;
}

.productdetails-view .images {
    background: var(--pd-card);
    border: 1px solid var(--pd-border);
    border-radius: 18px;
    padding: 14px;
    box-shadow: 0 8px 24px rgba(31, 31, 31, 0.06);
}

.productdetails-view .product-image-zoom {
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
}

.productdetails-view .product-image-zoom img.gallery-image {
    width: 100%;
    max-height: 520px;
    object-fit: contain;
    object-position: center;
}

.productdetails-view .thumbnails-carousel {
    margin-top: 14px;
}

.productdetails-view .thumbnails-carousel .item {
    border: 1px solid var(--pd-border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--pd-card);
}

.productdetails-view .thumbnails-carousel .item img {
    height: 92px;
    width: 100%;
    object-fit: cover;
}

.productdetails-view .single-product-title {
    background: var(--pd-card);
    border: 1px solid var(--pd-border);
    border-radius: 18px;
    padding: 14px 16px;
    box-shadow: 0 8px 24px rgba(31, 31, 31, 0.06);
}

.productdetails-view .single-product-title h1.product_title {
    color: var(--pd-text);
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.productdetails-view .product-next-previous {
    margin-top: 8px;
    padding-left: 10px;
    padding-right: 10px;
}

.productdetails-view .product-next-previous .product-prev > a,
.productdetails-view .product-next-previous .product-next > a {
    border-radius: 10px;
    border: 1px solid var(--pd-border);
    background: #f6f8fc;
}

.productdetails-view .vm-product-details-container {
    position: sticky;
    top: 18px;
}

.productdetails-view .spacer-buy-area {
    background: var(--pd-card);
    border: 1px solid var(--pd-border);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 28px rgba(31, 31, 31, 0.08);
}

.productdetails-view .product-short-description {
    font-size: 15px;
    color: var(--pd-muted);
}

.productdetails-view .spacer-buy-area .PricesalesPrice,
.productdetails-view .spacer-buy-area .salesPrice {
    color: var(--brand-red);
    font-weight: 800;
}

.productdetails-view .spacer-buy-area .PricebasePrice,
.productdetails-view .spacer-buy-area .PricebasePriceWithTax,
.productdetails-view .spacer-buy-area .priceCrossed,
.productdetails-view .spacer-buy-area .product-price .vm-price-value {
    color: #596074;
    font-weight: 600;
}

.productdetails-view .addtocart-area .addtocart-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    position: relative;
}

.productdetails-view .addtocart-area .quantity-box,
.productdetails-view .addtocart-area .quantity-controls {
    margin: 0;
}

.productdetails-view .addtocart-area span.quantity-controls {
    width: 72px;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
}

.productdetails-view .addtocart-area input.quantity-input {
    width: 72px;
    height: 46px;
    border: 1px solid var(--pd-border);
    border-radius: 12px;
    background: #f8fafd;
    color: #1f1f1f;
    font-weight: 700;
    text-align: center;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
}

.productdetails-view .addtocart-area .quantity-box:before,
.productdetails-view .addtocart-area .quantity-box:after {
    width: 16px;
    height: 46px;
    line-height: 36px;
    color: #596074;
}

.productdetails-view .addtocart-area input.quantity-controls {
    background: transparent;
    border: none;
    width: 14px;
    height: 46px;
    padding: 0;
    cursor: pointer;
}

.productdetails-view .addtocart-area .quantity-plus {
    float: right;
}

.productdetails-view .addtocart-area .quantity-minus {
    float: left;
}

.productdetails-view .addtocart-area .vmicon.vm2-add_quantity_cart:hover {
    border-color: var(--brand-red);
    color: var(--brand-red);
    background: #edf9fe;
}

.productdetails-view .availability {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
}

.productdetails-view .availability.instock {
    background: #e7f8ed;
    color: #1d7c3a;
}

.productdetails-view .availability.outstock {
    background: #edf9fe;
    color: #22b8f0;
}

.productdetails-view .ask-a-question a.ask-a-question {
    display: inline-block;
    border-radius: 10px;
    border: 1px solid var(--pd-border);
    background: #f6f8fc;
    color: #4f5767;
    padding: 9px 14px;
    font-weight: 600;
}

.productdetails-view .ask-a-question a.ask-a-question:hover {
    border-color: var(--brand-red);
    color: var(--brand-red);
}

.productdetails-view .product_meta {
    background: var(--pd-card);
    border: 1px solid var(--pd-border);
    border-radius: 14px;
    padding: 12px 14px;
}

.productdetails-view .icons,
.productdetails-view .social-share-button {
    background: var(--pd-card);
    border: 1px solid var(--pd-border);
    border-radius: 14px;
    padding: 10px 12px;
    margin-top: 10px;
}

.productdetails-view .social-share-button .prettySocial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #f6f8fc;
    color: var(--brand-red);
    margin-right: 6px;
}

.productdetails-view .social-share-button .prettySocial:hover {
    background: var(--brand-red);
    color: #fff;
}

.productdetails-view .czd-tabs {
    border-bottom: 0 !important;
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.productdetails-view .czd-tabs > li {
    float: none;
    margin-bottom: 0 !important;
}

.productdetails-view .czd-tabs > li > a {
    border: 1px solid var(--pd-border);
    border-bottom: 0 !important;
    border-radius: 12px;
    background: #f6f8fc;
    color: #4f5767;
    font-weight: 600;
    padding: 10px 14px;
}

.productdetails-view .czd-tabs > li.active > a,
.productdetails-view .czd-tabs > li > a:hover {
    border-color: var(--brand-red);
    background: linear-gradient(180deg, var(--brand-red) 0%, var(--brand-red-dark) 100%);
    color: #fff;
}

.productdetails-view .tab-content {
    background: var(--pd-card);
    border: 1px solid var(--pd-border);
    border-top: 0;
    border-radius: 16px;
    border-top-left-radius: 0;
    padding: 16px;
    box-shadow: 0 8px 24px rgba(31, 31, 31, 0.05);
}

@media (max-width: 991px) {
    .productdetails-view .vm-product-details-container {
        position: static;
        top: auto;
    }

    .productdetails-view .single-product-title h1.product_title {
        font-size: 24px;
    }
}

/* 2026 category design: clean, premium, responsive */
.category-view {
    --cat-bg: #f5fbfe;
    --cat-card: #ffffff;
    --cat-border: #d8eef7;
    --cat-text: #16181d;
    --cat-muted: #656b78;
    --cat-accent: #22b8f0;
    --cat-accent-dark: #0e9cd1;
}

.category-view .browse-view {
    background:
        radial-gradient(1200px 360px at 100% -10%, rgba(34, 184, 240, 0.08), transparent 62%),
        radial-gradient(1000px 320px at 0% -20%, rgba(22, 24, 29, 0.05), transparent 60%),
        var(--cat-bg);
    border: 1px solid var(--cat-border);
    border-radius: 22px;
    padding: 16px;
}

.category-view .browse-view > h1 {
    margin: 4px 0 16px;
    color: var(--cat-text);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 800;
}

.category-view .orderby-displaynumber.product-toolbar {
    border-radius: 14px;
    border: 1px solid #cceaf6;
    background: linear-gradient(180deg, #ffffff 0%, #f1faff 100%);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 8px 20px rgba(34, 184, 240, 0.09);
    margin-bottom: 14px;
}

.category-view .gridlist-toggle a {
    border-radius: 10px;
    border: 1px solid #cce7f2;
    background: #f7fcff;
    color: #4f5767;
}

.category-view .gridlist-toggle a:hover,
.category-view .gridlist-toggle a.active {
    border-color: var(--cat-accent);
    background: linear-gradient(180deg, var(--cat-accent) 0%, var(--cat-accent-dark) 100%);
    color: #fff;
    box-shadow: 0 5px 12px rgba(34, 184, 240, 0.24);
}

.category-view .product-toolbar .gridlist-toggle .grid-view:hover,
.category-view .product-toolbar .gridlist-toggle .grid-view.active,
.category-view .product-toolbar .gridlist-toggle .list-view:hover,
.category-view .product-toolbar .gridlist-toggle .list-view.active {
    background-color: var(--cat-accent);
}

.category-view .vm-order-list,
.category-view .product-toolbar-pagination {
    color: #5c6270;
}

.category-view .product-items ul.products {
    margin-top: 4px;
}

.category-view .product-items ul.products > li.product {
    margin-bottom: 18px;
    border: 0;
}

.category-view .product-items ul.products > li.product .product-entry {
    border: 1px solid var(--cat-border);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(31, 31, 31, 0.06);
    overflow: hidden;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.category-view .product-items ul.products > li.product:hover .product-entry {
    transform: translateY(-4px);
    border-color: #8edcf8;
    box-shadow: 0 18px 34px rgba(34, 184, 240, 0.16);
}

.category-view .product-items ul.products > li.product .product-image {
    background: #ffffff;
    padding: 12px 12px 0;
    margin-bottom: 0;
}

.category-view .product-items ul.products > li.product .product-highlight {
    top: 10px;
    bottom: auto;
    left: 10px;
}

.category-view .product-items .product .product-highlight .featured span {
    background-color: var(--cat-accent);
}

.category-view .product-items ul.products > li.product .product-image > a {
    display: block;
    line-height: 0;
}

.category-view .product-items ul.products > li.product .product-content {
    padding: 0 12px 12px;
    background: var(--cat-card);
}

.category-view .product-items ul.products > li.product .product-title-rating {
    margin-top: 0;
    padding-top: 0;
}

.category-view .product-items ul.products > li.product .product-title a {
    color: var(--cat-text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.category-view .product-items ul.products > li.product .product-title a:hover {
    color: var(--cat-accent);
}

.category-view .product-items ul.products > li.product .short-description {
    color: var(--cat-muted);
}

.category-view .product-items ul.products > li.product .product-loop-price .PricesalesPrice,
.category-view .product-items ul.products > li.product .product-loop-price .salesPrice {
    color: var(--cat-accent);
    font-size: 20px;
    font-weight: 800;
}

.category-view .product-items ul.products > li.product .product-loop-price .PricebasePriceWithTax,
.category-view .product-items ul.products > li.product .product-loop-price .PricediscountAmount {
    color: #8a91a1;
}

.category-view .product-items ul.products > li.product .product-loop-price .product-price {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
    padding: 0;
    text-align: center;
}

.category-view .product-items ul.products > li.product .product-loop-price .price-crossed {
    display: block;
}

.category-view .product-items ul.products > li.product .product-loop-price .product-price .vm-price-value {
    display: block;
    float: none;
    padding-left: 0;
    margin: 0;
    line-height: 1.15;
    text-align: center;
}

.category-view .product-items ul.products > li.product .product-loop-price .PricebasePriceWithTax.vm-display.vm-price-value {
    float: none;
}

.category-view .product-items ul.products > li.product .product-loop-price .product-price .vm-price-value > span {
    display: inline-block;
    white-space: nowrap;
}

.category-view .product-items ul.products > li.product .product-sku {
    color: #5f6674;
    background: #f4fbfe;
    border: 1px solid #d8eef7;
    border-radius: 10px;
    padding: 6px 8px;
}

.vmgroup .product-items ul.products > li.product .product-sku {
    color: #5f6674;
    background: #f6f8fc;
    border: 1px solid #e4e8f0;
    border-radius: 10px;
    padding: 6px 8px;
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input {
    border: 0;
    border-radius: 12px;
    background: #22b8f0;
    color: #fff;
    box-shadow: 0 8px 16px rgba(34, 184, 240, 0.25);
    font-weight: 700;
}

.vmgroup .product-items ul.products > li.product .addtocart-area .addtocart-button input {
    border: 0;
    border-radius: 12px;
    background: #22b8f0;
    color: #fff;
    box-shadow: 0 8px 16px rgba(34, 184, 240, 0.25);
    font-weight: 700;
}

.category-view .product-items ul.products > li.product .addtocart-area .addtocart-button input:hover {
    background: #0e9cd1;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.35);
}

.vmgroup .product-items ul.products > li.product .addtocart-area .addtocart-button input:hover {
    background: #0e9cd1;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.35);
}

/* Match category card add-to-cart layout in VM module cards */
.vmgroup .product-items ul.products > li.product .product-buttons {
    text-align: left;
}

.vmgroup .product-items ul.products > li.product .addtocart-area {
    display: block;
    width: 100%;
}

.vmgroup .product-items ul.products > li.product .addtocart-area form,
.vmgroup .product-items ul.products > li.product .addtocart-area .addtocart-bar,
.vmgroup .product-items ul.products > li.product .addtocart-area span.addtocart-button,
.vmgroup .product-items ul.products > li.product .addtocart-area .addtocart-button {
    float: none !important;
    text-align: left !important;
    width: 100%;
}

.vmgroup .product-items ul.products > li.product .addtocart-area input.addtocart-button,
.vmgroup .product-items ul.products > li.product .addtocart-area .addtocart-button input {
    float: none !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    min-height: 46px;
    min-width: 0;
    padding: 0 24px 0 40px;
    font-size: 14px;
    line-height: 44px;
    text-align: center !important;
}

.category-view .vm-pagination.vm-pagination-bottom {
    margin-top: 14px;
}

.category-view .vm-pagination .pagination > li > a,
.category-view .vm-pagination .pagination > li > span {
    border-radius: 10px;
    border: 1px solid #e1e6ef;
    color: #5b6372;
    margin: 0 3px;
}

.category-view .vm-pagination .pagination > .active > a,
.category-view .vm-pagination .pagination > .active > span,
.category-view .vm-pagination .pagination > li > a:hover,
.category-view .vm-pagination .pagination > li > span:hover {
    border-color: var(--cat-accent);
    background: var(--cat-accent);
    color: #fff;
}

/* Product-detail related products reuse the category card system. */
.product-related-products .product-items .owl-stage {
    display: flex;
}

.product-related-products .product-items .owl-item,
.product-related-products .product-items li.product,
.product-related-products .product-items .product-entry,
.product-related-products .product-field-display {
    height: 100%;
}

.product-related-products .product-items .owl-item,
.product-related-products .product-field-display,
.product-related-products .product-content {
    display: flex;
    flex-direction: column;
}

.product-related-products .product-items li.product {
    width: 100%;
    margin-bottom: 0;
    padding: 0;
}

.product-related-products .product-entry,
.product-related-products .product-content {
    flex: 1 1 auto;
}

.product-related-products .product-entry {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--cat-border);
    border-radius: 18px;
    background: var(--cat-card);
    box-shadow: 0 10px 24px rgba(31, 31, 31, 0.06);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.product-related-products li.product:hover .product-entry,
.product-related-products .product-entry:hover {
    transform: translateY(-4px);
    border-color: #8edcf8;
    box-shadow: 0 18px 34px rgba(34, 184, 240, 0.16);
}

.product-related-products .product-image {
    margin-bottom: 0;
    padding: 12px 12px 0;
    background: #ffffff;
}

.product-related-products .product-image > a {
    display: block;
    position: relative;
    line-height: 0;
}

.product-related-products .product-image img {
    width: 100%;
    height: 260px;
    object-fit: contain;
    object-position: center;
}

.product-related-products .product-content {
    padding: 0 12px 12px;
    background: var(--cat-card);
}

.product-related-products .product-title {
    min-height: 39px;
    margin: 0 0 7px;
}

.product-related-products .product-title a {
    color: var(--cat-text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.product-related-products .product-title a:hover {
    color: var(--cat-accent);
}

.product-related-products .product-loop-price {
    min-height: 46px;
    margin-bottom: 8px;
}

.product-related-products .product-loop-price .product-price {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
    padding: 0;
    text-align: center;
}

.product-related-products .product-loop-price .vm-price-value {
    display: block;
    float: none;
    margin: 0;
    padding-left: 0;
    line-height: 1.15;
    text-align: center;
}

.product-related-products .product-loop-price .PricesalesPrice,
.product-related-products .product-loop-price .salesPrice {
    color: var(--cat-accent);
    font-size: 20px;
    font-weight: 800;
}

.product-related-products .product-loop-price .PricebasePriceWithTax,
.product-related-products .product-loop-price .PricediscountAmount,
.product-related-products .product-loop-price .PricepriceWithoutTax {
    color: #8a91a1;
}

.product-related-products .cikkszam {
    margin-bottom: 10px;
}

.product-related-products .product-sku {
    padding: 6px 8px;
    border: 1px solid #d8eef7;
    border-radius: 10px;
    background: #f4fbfe;
    color: #5f6674;
}

.product-related-products .product-buttons {
    margin-top: auto;
}

.product-related-products .addtocart-area,
.product-related-products .addtocart-area form,
.product-related-products .addtocart-area .addtocart-bar,
.product-related-products .addtocart-area span.addtocart-button {
    float: none !important;
    width: 100%;
    text-align: left;
}

.product-related-products .addtocart-area .addtocart-button input {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 20px 0 40px;
    border: 0;
    border-radius: 12px;
    background: #22b8f0;
    color: #ffffff;
    box-shadow: 0 8px 16px rgba(34, 184, 240, 0.25);
    font-weight: 700;
    line-height: 44px;
    text-align: center !important;
}

.product-related-products .addtocart-area .addtocart-button input:hover {
    background: #0e9cd1;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.35);
}

@media (max-width: 767px) {
    .product-related-products .product-image img {
        height: 220px;
    }
}

/* #sp-primary featured module: reuse category card look on ZT product markup */
#sp-primary .vmgroup.product-items .product-slide .product {
    margin-bottom: 18px;
    padding: 0 6px;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-entry {
    border: 1px solid #e6ebf2;
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(31, 31, 31, 0.06);
    overflow: hidden;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#sp-primary .vmgroup.product-items .product-slide .product:hover .product-entry {
    transform: translateY(-4px);
    border-color: #d9dee8;
    box-shadow: 0 18px 34px rgba(22, 24, 29, 0.12);
}

#sp-primary .vmgroup.product-items .product-slide .product .product-image {
    background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
    padding: 12px 12px 0;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-image > a > img.img-responsive,
#sp-primary .vmgroup.product-items .product-slide .product .product-image .product_image_gallery img {
    width: 100%;
    height: 260px;
    object-fit: contain;
    object-position: center;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-content {
    padding: 12px;
    background: #fff;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-title {
    margin: 0 0 6px;
    min-height: 38px;
    line-height: 1.35;
    font-size: 15px;
    font-weight: 700;
    color: #222a36;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-title a {
    color: inherit;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-title a:hover {
    color: #22b8f0;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-loop-price {
    min-height: 42px;
    margin-bottom: 6px;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-loop-price .PricesalesPrice,
#sp-primary .vmgroup.product-items .product-slide .product .product-loop-price .salesPrice {
    color: #22b8f0;
    font-size: 20px;
    font-weight: 800;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-loop-price .PricebasePriceWithTax,
#sp-primary .vmgroup.product-items .product-slide .product .product-loop-price .PricediscountAmount {
    color: #8a91a1;
}

#sp-primary .vmgroup.product-items .product-slide .product .product-content .product-buttons {
    margin-top: auto;
}

#sp-primary .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input {
    border: 0;
    border-radius: 12px;
    background: #22b8f0;
    color: #fff;
    box-shadow: 0 8px 16px rgba(34, 184, 240, 0.25);
    font-weight: 700;
}

#sp-primary .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input:hover {
    background: #0e9cd1;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.35);
}

/* Same visual system for ZT default layout (#vmproduct .product-item .spacer) */
#sp-primary #vmproduct .product-item {
    margin-bottom: 18px;
}

#sp-primary #vmproduct .product-item .spacer {
    border: 1px solid #e6ebf2 !important;
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(31, 31, 31, 0.06);
    overflow: hidden;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 12px;
}

#sp-primary #vmproduct .product-item:hover .spacer {
    transform: translateY(-4px);
    border-color: #d9dee8 !important;
    box-shadow: 0 18px 34px rgba(22, 24, 29, 0.12);
}

#sp-primary #vmproduct .product-item .vm-product-media-container {
    background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
    margin: -12px -12px 0;
    padding: 12px 12px 0;
}

#sp-primary #vmproduct .product-item .vm-product-media-container img.featuredProductImage,
#sp-primary #vmproduct .product-item .vm-product-media-container img.img-responsive {
    width: 100%;
    height: 260px;
    object-fit: contain;
    object-position: center;
}

#sp-primary #vmproduct .product-item h3 {
    order: 2;
    margin: 10px 0 6px;
    min-height: 38px;
    line-height: 1.35;
    font-size: 15px;
    font-weight: 700;
}

#sp-primary #vmproduct .product-item h3 a {
    color: #222a36;
}

#sp-primary #vmproduct .product-item h3 a:hover {
    color: #22b8f0;
}

#sp-primary #vmproduct .product-item .product-bottom {
    order: 3;
    margin-top: auto;
}

#sp-primary #vmproduct .product-item .product-price .PricesalesPrice,
#sp-primary #vmproduct .product-item .product-price .salesPrice {
    color: #22b8f0;
    font-size: 20px;
    font-weight: 800;
}

#sp-primary #vmproduct .product-item .product-price .PricebasePriceWithTax,
#sp-primary #vmproduct .product-item .product-price .PricediscountAmount {
    color: #8a91a1;
}

#sp-primary #vmproduct .product-item .addtocart-area .addtocart-button input {
    border: 0;
    border-radius: 12px;
    background: #22b8f0;
    color: #fff;
    box-shadow: 0 8px 16px rgba(34, 184, 240, 0.25);
    font-weight: 700;
}

#sp-primary #vmproduct .product-item .addtocart-area .addtocart-button input:hover {
    background: #0e9cd1;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.35);
}

@media (max-width: 991px) {
    .category-view .browse-view {
        padding: 12px;
        border-radius: 16px;
    }

    .category-view .product-items ul.products > li.product .product-loop-price .PricesalesPrice,
    .category-view .product-items ul.products > li.product .product-loop-price .salesPrice {
        font-size: 18px;
    }
}

.productdetails-view .single-product-title h1.product_title {
    color: #1f1f1f;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 8px;
}

.productdetails .product_meta {
    border-top: 1px solid #ececec;
    margin-top: 14px;
    padding-top: 10px;
    color: #555;
}

.cart_totals h2 {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 12px;
    color: #1f1f1f;
}

.cart_totals .cart-items tr.sectiontableentry2 {
    background: #fff8e9;
}

.cart_totals .cart-items tr.sectiontableentry2 strong {
    color: #1f1f1f;
    font-size: 18px;
}

#cart-view .vmicon.vm2-add_quantity_cart {
    border: 1px solid #d9d9d9;
    background: #fff;
    color: #333;
    font-weight: 600;
    padding: 7px 14px;
}

#cart-view .vmicon.vm2-add_quantity_cart:hover {
    border-color: #eaad0a;
    color: #eaad0a;
}

@media (max-width: 767px) {
    .product-items ul.products > li.product .product-loop-price .PricesalesPrice,
    .product-items ul.products > li.product .product-loop-price .salesPrice {
        font-size: 16px;
    }

    .cart_totals h2 {
        font-size: 18px;
    }
}

/* QA polish pass: micro spacing and hierarchy */
.browse-view .orderby-displaynumber.product-toolbar .gridlist-toggle {
    margin-right: 8px;
}

.browse-view .orderby-displaynumber.product-toolbar .gridlist-toggle a + a {
    margin-left: 4px;
}

.browse-view .orderby-displaynumber.product-toolbar .vm-order-list {
    padding-top: 1px;
}

.productdetails-view .single-product-title {
    margin-bottom: 10px;
}

.productdetails .spacer-buy-area .product-short-description {
    margin-bottom: 12px;
}

.productdetails .spacer-buy-area .product-sku {
    margin-bottom: 10px;
}

.productdetails .vm-product-details-container .addtocart-area {
    padding-top: 2px;
}

.cart_totals .cart-items tr.sectiontableentry2 td {
    border-top: 1px solid #efd8a3;
    padding-top: 10px;
    padding-bottom: 10px;
}

.cart_totals .cart-items tr.sectiontableentry2 td:last-child {
    letter-spacing: 0.01em;
}

@media (max-width: 767px) {
    .browse-view .orderby-displaynumber.product-toolbar .gridlist-toggle {
        margin-right: 0;
        margin-bottom: 8px;
    }

    .cart_totals .cart-items tr.sectiontableentry2 td {
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

/* Breadcrumb should follow content width, not full row */
#sp-page-title .breadcrumb,
.sp-page-title .breadcrumb {
    display: inline-block;
    width: auto;
    max-width: 100%;
}

/* Modern header and navigation pass */
#sp-header-top-bar {
    background: linear-gradient(90deg, #fff6e7 0%, #fff2d7 100%);
    border-bottom: none;
}

#sp-header-top-bar,
#sp-header-top-bar a {
    color: #5e5648;
}

#sp-header-middle {
    background: rgba(255, 255, 255, 0.95);
    border-bottom: none;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.06);
    backdrop-filter: blur(8px);
    min-height: 60px;
}

#sp-header-middle > .container,
#sp-header-middle > .container > .row,
#sp-header-middle .sp-column {
    min-height: 60px;
}

#sp-header-middle > .container > .row {
    display: flex;
    align-items: center;
}

#sp-header-middle .sp-column,
#sp-header-middle .sp-module {
    display: flex;
    align-items: center;
}

#sp-header-middle a {
    color: #1f2430;
}

div#sp-header-right,
div#sp-search {
    margin-top: 0;
}

.sp-megamenu-parent > li > a {
    color: #111111;
    font-weight: 700;
    font-size: 13px;
    border-radius: 0;
    padding: 0 12px;
    line-height: 50px;
    min-height: 0;
    transition: all .2s ease;
}

.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
    line-height: 50px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 0 !important;
}

#sp-header {
    height: 60px;
}

#sp-header .logo {
    height: 60px;
}

#sp-menu .sp-megamenu-parent,
.sp-megamenu-parent {
    float: left !important;
}

#sp-menu,
#sp-header .sp-megamenu-wrapper {
    text-align: left;
}

.sp-megamenu-parent > li:hover > a,
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li > a:hover {
    color: #111111 !important;
    background: transparent !important;
}

.sp-megamenu-parent > li.sale-menu-link > a {
    min-height: 36px;
    margin: 7px 5px;
    padding: 0 14px !important;
    border: 1px solid #8edcf8;
    border-bottom: 2px solid #d6b56e;
    border-radius: 999px !important;
    background: #edf9fe !important;
    color: #0e9cd1 !important;
    line-height: 34px !important;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.sp-megamenu-parent > li.sale-menu-link:hover > a,
.sp-megamenu-parent > li.sale-menu-link.active > a,
.sp-megamenu-parent > li.sale-menu-link > a:hover {
    border-color: #0e9cd1;
    border-bottom-color: #d6b56e;
    background: #22b8f0 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(34, 184, 240, 0.25);
}

.offcanvas-menu .offcanvas-inner li.sale-menu-link > a {
    margin: 8px 10px;
    border: 1px solid rgba(142, 220, 248, 0.55);
    border-left: 3px solid #d6b56e;
    border-radius: 8px;
    background: rgba(34, 184, 240, 0.14);
    color: #ffffff;
}

.offcanvas-menu .offcanvas-inner li.sale-menu-link.active > a,
.offcanvas-menu .offcanvas-inner li.sale-menu-link > a:hover,
.offcanvas-menu .offcanvas-inner li.sale-menu-link > a:focus {
    background: rgba(34, 184, 240, 0.28) !important;
    box-shadow: inset 3px 0 0 #22b8f0;
}

.sp-megamenu-parent .sp-dropdown {
    border: none;
    border-radius: 14px;
    box-shadow: 0 18px 34px rgba(16, 24, 40, 0.12);
    overflow: hidden;
}

.sp-megamenu-parent > li,
.sp-megamenu-parent > li:last-child {
    border: none !important;
    overflow: visible;
}

.sp-megamenu-parent > li.sp-has-child:before {
    content: "\f107" !important;
    font-family: FontAwesome;
    font-size: 10px;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: #596074;
    opacity: 0.85;
}

.sp-megamenu-parent > li.sp-has-child > a,
.sp-megamenu-parent > li.sp-has-child > span {
    padding-right: 20px !important;
}

.sp-megamenu-parent > li:hover.sp-has-child:before,
.sp-megamenu-parent > li.active.sp-has-child:before {
    color: var(--brand-red);
}

.sp-megamenu-parent li.sp-menu-item.label-menu > a:after,
.sp-megamenu-parent li.sp-menu-item.label-menu > span:after {
    z-index: 5;
    width: auto;
    min-width: 0;
    height: 18px;
    padding: 0 7px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    color: #ffffff !important;
    font-size: 9px;
    font-weight: 800;
    line-height: 16px;
    letter-spacing: 0;
    white-space: nowrap;
    box-shadow: 0 3px 8px rgba(16, 24, 40, 0.16);
}

.sp-megamenu-parent li.sp-menu-item.label-menu > a:before,
.sp-megamenu-parent li.sp-menu-item.label-menu > span:before {
    display: none;
}

.sp-megamenu-parent > li.label-menu > a:after,
.sp-megamenu-parent > li.label-menu > span:after {
    top: 2px;
    right: -2px;
}

.sp-megamenu-parent li.sp-menu-item.label-sale > a:after,
.sp-megamenu-parent li.sp-menu-item.label-sale > span:after {
    content: "Akci\00f3";
    background: #22b8f0;
}

.sp-megamenu-parent li.sp-menu-item.label-new > a:after,
.sp-megamenu-parent li.sp-menu-item.label-new > span:after {
    content: "\00daj";
    background: #0e9cd1;
}

.sp-megamenu-parent li.sp-menu-item.label-hot > a:after,
.sp-megamenu-parent li.sp-menu-item.label-hot > span:after {
    content: "N\00e9pszer\0171";
    background: #147ea6;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    border: 1px solid #d8eef7;
    border-top: 3px solid #22b8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(16, 24, 40, 0.14);
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item {
    border-bottom: 0;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
    color: #111111;
    margin: 2px 6px;
    padding: 9px 11px;
    border-radius: 8px;
    line-height: 1.35;
    transition: color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:not(.sp-group-title):hover,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a:not(.sp-group-title) {
    background: #edf9fe;
    color: #0e9cd1 !important;
    box-shadow: inset 3px 0 0 #22b8f0;
    transform: translateX(6px);
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a.sp-group-title {
    margin: 2px 0 8px;
    padding: 7px 10px;
    color: #16181d;
    font-size: 13px;
    letter-spacing: 0;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item.label-menu > a:after,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.label-menu > span:after,
.sp-megamenu-parent .sp-dropdown.sp-dropdown-mega li.sp-menu-item.label-menu > a:after,
.sp-megamenu-parent .sp-dropdown.sp-dropdown-mega li.sp-menu-item.label-menu > span:after {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    margin: 0 0 0 8px;
    vertical-align: middle;
}

.offcanvas-menu .offcanvas-inner .sp-module-content ul > li > a {
    border-radius: 8px;
    transition: color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.offcanvas-menu .offcanvas-inner .sp-module-content ul ul > li > a {
    margin: 2px 10px !important;
    padding-right: 12px;
}

.offcanvas-menu .offcanvas-inner .sp-module .sp-module-content ul ul > li > a:hover,
.offcanvas-menu .offcanvas-inner .sp-module .sp-module-content ul ul > li > a:focus,
.offcanvas-menu .offcanvas-inner .sp-module .sp-module-content ul ul > li.active > a {
    background: rgba(34, 184, 240, 0.16) !important;
    color: #ffffff !important;
    box-shadow: inset 3px 0 0 #22b8f0 !important;
    transform: translateX(5px) !important;
}

.offcanvas-menu .offcanvas-inner li.label-menu > a:after {
    position: static;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    height: 18px;
    margin-left: 8px;
    padding: 0 7px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 9px;
    font-weight: 800;
    line-height: 18px;
    letter-spacing: 0;
    white-space: nowrap;
    vertical-align: middle;
}

.offcanvas-menu .offcanvas-inner li.label-sale > a:after {
    content: "Akci\00f3";
    background: #22b8f0;
}

.offcanvas-menu .offcanvas-inner li.label-new > a:after {
    content: "\00daj";
    background: #0e9cd1;
}

.offcanvas-menu .offcanvas-inner li.label-hot > a:after {
    content: "N\00e9pszer\0171";
    background: #147ea6;
}

.menu-vertical .category-menu-title {
    border-radius: 12px;
    background: linear-gradient(90deg, var(--brand-red) 0%, #f09d00 100%);
}

.menu-vertical .category-menu-title h4,
.menu-vertical .category-menu-title i {
    color: #fff;
}

#ajax-search-button311 {
    border-radius: 12px;
    background: linear-gradient(180deg, var(--brand-red) 0%, var(--brand-red-dark) 100%);
}

.topbar-cart .cart-count,
.header-cart-content .cart-style-2 .cart-count {
    border-radius: 999px;
    min-width: 22px;
    height: 22px;
    line-height: 22px;
    font-weight: 700;
    background: #f4b400;
    color: #231f12;
}

@media (max-width: 991px) {
    div#sp-header-right,
    div#sp-search {
        margin-top: 0;
    }

    .sp-megamenu-parent > li > a {
        padding: 0 10px;
    }

    #sp-header,
    #sp-header .logo {
        height: 60px;
    }
}

@media (min-width: 992px) {
    #offcanvas-toggler,
    .offcanvas-menu {
        display: none !important;
    }
}

/* Keep page-title section in container width (not full viewport) */
#sp-page-title,
.sp-page-title {
    width: 100%;
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

#sp-page-title > .container,
.sp-page-title > .container {
    width: 100%;
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 1400px) {
    body .container {
        width: 1320px;
        max-width: 1320px;
    }

    #sp-page-title,
    .sp-page-title,
    #sp-page-title > .container,
    .sp-page-title > .container {
        max-width: 1320px;
    }
}

body #sp-main-body {
    padding: 30px 0 !important;
}

#sppb-addon-1611082968923 .sppb-icons-group-list li#icon-1611082968926 a {
    color: #22b8f0 !important;
}

.com-sppagebuilder #sp-main-body {
    padding: 0 !important;
}

/* Ensure mini-cart dropdown stays above product cards */
#sp-header-middle,
#sp-header-right,
#sp-header-right .sp-module,
.miniCartWrap {
    overflow: visible !important;
}

.header-cart-content,
.vmcart1 .header-cart-content,
.vmcart2 .header-cart-content {
    position: relative !important;
    z-index: 10030 !important;
}

.header-cart-content .cart-product-list {
    z-index: 10040 !important;
}

/* Keep navigation fixed and visible when scrolling */
body.sticky-navigation.scrollActive #sp-header-navigation,
body.sticky-navigation #sp-header-navigation.menu-fixed {
    position: fixed !important;
    background: #ffffff !important;
    box-shadow: none;
    top: 0 !important;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 11000 !important;
}

body.sticky-navigation.scrollActive #sp-header-navigation {
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08);
}

@media (min-width: 992px) {
    #sp-header-navigation {
        position: sticky;
        background: #ffffff !important;
        top: 0;
        z-index: 11000;
    }
}

/* Hard override: make ZT VirtueMarter cards match category card design */
#sp-primary #vmproduct .product-item .spacer,
#sp-primary-1 #vmproduct .product-item .spacer,
#sp-primary-2 #vmproduct .product-item .spacer,
#sp-primary .vmgroup.product-items .product-slide .product .product-entry,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-entry,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-entry {
    border: 1px solid #d8eef7 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(34, 184, 240, 0.08) !important;
    background: #fff !important;
    overflow: hidden !important;
}

#sp-primary #vmproduct .product-item:hover .spacer,
#sp-primary-1 #vmproduct .product-item:hover .spacer,
#sp-primary-2 #vmproduct .product-item:hover .spacer,
#sp-primary .vmgroup.product-items .product-slide .product:hover .product-entry,
#sp-primary-1 .vmgroup.product-items .product-slide .product:hover .product-entry,
#sp-primary-2 .vmgroup.product-items .product-slide .product:hover .product-entry {
    transform: translateY(-4px) !important;
    border-color: #8edcf8 !important;
    box-shadow: 0 18px 34px rgba(34, 184, 240, 0.16) !important;
}

#sp-primary #vmproduct .product-item .vm-product-media-container,
#sp-primary-1 #vmproduct .product-item .vm-product-media-container,
#sp-primary-2 #vmproduct .product-item .vm-product-media-container,
#sp-primary .vmgroup.product-items .product-slide .product .product-image,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-image,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-image {
    background: linear-gradient(180deg, #ffffff 0%, #f5fbfe 100%) !important;
}

#sp-primary #vmproduct .product-item img.featuredProductImage,
#sp-primary #vmproduct .product-item img.img-responsive,
#sp-primary-1 #vmproduct .product-item img.featuredProductImage,
#sp-primary-1 #vmproduct .product-item img.img-responsive,
#sp-primary-2 #vmproduct .product-item img.featuredProductImage,
#sp-primary-2 #vmproduct .product-item img.img-responsive,
#sp-primary .vmgroup.product-items .product-slide .product .product-image > a > img.img-responsive,
#sp-primary .vmgroup.product-items .product-slide .product .product-image .product_image_gallery img,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-image > a > img.img-responsive,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-image .product_image_gallery img,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-image > a > img.img-responsive,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-image .product_image_gallery img {
    width: 100% !important;
    height: 260px !important;
    object-fit: contain !important;
    object-position: center !important;
}

#sp-primary #vmproduct .product-item h3 a,
#sp-primary-1 #vmproduct .product-item h3 a,
#sp-primary-2 #vmproduct .product-item h3 a,
#sp-primary .vmgroup.product-items .product-slide .product .product-title a,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-title a,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-title a {
    color: #222a36 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

#sp-primary #vmproduct .product-item h3 a:hover,
#sp-primary-1 #vmproduct .product-item h3 a:hover,
#sp-primary-2 #vmproduct .product-item h3 a:hover,
#sp-primary .vmgroup.product-items .product-slide .product .product-title a:hover,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-title a:hover,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-title a:hover {
    color: #22b8f0 !important;
}

#sp-primary #vmproduct .product-item .product-price .PricesalesPrice,
#sp-primary #vmproduct .product-item .product-price .salesPrice,
#sp-primary-1 #vmproduct .product-item .product-price .PricesalesPrice,
#sp-primary-1 #vmproduct .product-item .product-price .salesPrice,
#sp-primary-2 #vmproduct .product-item .product-price .PricesalesPrice,
#sp-primary-2 #vmproduct .product-item .product-price .salesPrice,
#sp-primary .vmgroup.product-items .product-slide .product .product-loop-price .PricesalesPrice,
#sp-primary .vmgroup.product-items .product-slide .product .product-loop-price .salesPrice,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-loop-price .PricesalesPrice,
#sp-primary-1 .vmgroup.product-items .product-slide .product .product-loop-price .salesPrice,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-loop-price .PricesalesPrice,
#sp-primary-2 .vmgroup.product-items .product-slide .product .product-loop-price .salesPrice {
    color: #22b8f0 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

#sp-primary #vmproduct .product-item .addtocart-area .addtocart-button input,
#sp-primary-1 #vmproduct .product-item .addtocart-area .addtocart-button input,
#sp-primary-2 #vmproduct .product-item .addtocart-area .addtocart-button input,
#sp-primary .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input,
#sp-primary-1 .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input,
#sp-primary-2 .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input {
    border: 0 !important;
    border-radius: 12px !important;
    background: #22b8f0 !important;
    color: #fff !important;
    box-shadow: 0 8px 16px rgba(34, 184, 240, 0.25) !important;
    font-weight: 700 !important;
}

#sp-primary #vmproduct .product-item .addtocart-area .addtocart-button input:hover,
#sp-primary-1 #vmproduct .product-item .addtocart-area .addtocart-button input:hover,
#sp-primary-2 #vmproduct .product-item .addtocart-area .addtocart-button input:hover,
#sp-primary .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input:hover,
#sp-primary-1 .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input:hover,
#sp-primary-2 .vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input:hover {
    background: #0e9cd1 !important;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.35) !important;
}

/* Keep every VirtueMart product module aligned with category cards. */
.vmgroup .product-items ul.products > li.product {
    border: 0;
    margin-bottom: 18px;
}

.vmgroup .product-items ul.products > li.product .product-entry,
.vmgroup.product-items .product-slide .product .product-entry,
.vmgroup #vmproduct .product-item .spacer,
.vmgroup .vmproduct.productdetails .product-container .spacer {
    border: 1px solid #d8eef7 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(34, 184, 240, 0.08) !important;
    overflow: hidden;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.vmgroup .product-items ul.products > li.product:hover .product-entry,
.vmgroup.product-items .product-slide .product:hover .product-entry,
.vmgroup #vmproduct .product-item:hover .spacer,
.vmgroup .vmproduct.productdetails .product-container:hover .spacer {
    transform: translateY(-4px) !important;
    border-color: #8edcf8 !important;
    box-shadow: 0 18px 34px rgba(34, 184, 240, 0.16) !important;
}

.vmgroup .product-items ul.products > li.product .product-image,
.vmgroup.product-items .product-slide .product .product-image,
.vmgroup #vmproduct .product-item .vm-product-media-container,
.vmgroup .vmproduct.productdetails .product-container .spacer > a:first-child {
    background: linear-gradient(180deg, #ffffff 0%, #f5fbfe 100%) !important;
}

.vmgroup .product-items ul.products > li.product .product-content,
.vmgroup.product-items .product-slide .product .product-content {
    background: #ffffff;
}

.vmgroup .product-items ul.products > li.product .product-sku {
    background: #f4fbfe;
    border-color: #d8eef7;
}

.vmgroup .product-items .product .product-highlight .featured span,
.vmgroup.product-items .product-slide .product .product-highlight .featured span {
    background-color: #22b8f0;
}

.vmgroup .product-items ul.products > li.product .product-title a:hover,
.vmgroup.product-items .product-slide .product .product-title a:hover,
.vmgroup #vmproduct .product-item h3 a:hover,
.vmgroup .vmproduct.productdetails .product-container .spacer > a:not([title]):hover {
    color: #22b8f0 !important;
}

.vmgroup .product-items ul.products > li.product .product-loop-price .PricesalesPrice,
.vmgroup .product-items ul.products > li.product .product-loop-price .salesPrice,
.vmgroup.product-items .product-slide .product .product-loop-price .PricesalesPrice,
.vmgroup.product-items .product-slide .product .product-loop-price .salesPrice,
.vmgroup #vmproduct .product-item .product-price .PricesalesPrice,
.vmgroup #vmproduct .product-item .product-price .salesPrice,
.vmgroup .vmproduct.productdetails .product-container .product-price .PricesalesPrice,
.vmgroup .vmproduct.productdetails .product-container .product-price .salesPrice {
    color: #22b8f0 !important;
    font-weight: 800;
}

.vmgroup .product-items ul.products > li.product .product-loop-price .product-price,
.vmgroup.product-items .product-slide .product .product-loop-price .product-price {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
    min-height: 46px;
    padding: 0;
    text-align: center;
}

.vmgroup .product-items ul.products > li.product .product-loop-price .price-crossed,
.vmgroup.product-items .product-slide .product .product-loop-price .price-crossed,
.vmgroup .product-items ul.products > li.product .product-loop-price .product-price .vm-price-value,
.vmgroup.product-items .product-slide .product .product-loop-price .product-price .vm-price-value {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1.2;
    text-align: center;
}

.vmgroup .product-items ul.products > li.product .product-loop-price .PricebasePriceWithTax,
.vmgroup.product-items .product-slide .product .product-loop-price .PricebasePriceWithTax {
    color: #8a91a1;
    font-size: 13px;
}

.vmgroup .product-items ul.products > li.product .product-loop-price .product-price .vm-price-value > span,
.vmgroup.product-items .product-slide .product .product-loop-price .product-price .vm-price-value > span {
    display: inline-block;
    white-space: nowrap;
}

.vmgroup .product-items ul.products > li.product .addtocart-area .addtocart-button input,
.vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input,
.vmgroup #vmproduct .product-item .addtocart-area .addtocart-button input,
.vmgroup .vmproduct.productdetails .product-container .addtocart-area .addtocart-button input {
    border: 0 !important;
    border-radius: 12px !important;
    background: #22b8f0 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 16px rgba(34, 184, 240, 0.25) !important;
    font-weight: 700;
}

.vmgroup .product-items ul.products > li.product .addtocart-area .addtocart-button input:hover,
.vmgroup.product-items .product-slide .product .addtocart-area .addtocart-button input:hover,
.vmgroup #vmproduct .product-item .addtocart-area .addtocart-button input:hover,
.vmgroup .vmproduct.productdetails .product-container .addtocart-area .addtocart-button input:hover {
    background: #0e9cd1 !important;
    box-shadow: 0 10px 22px rgba(14, 156, 209, 0.35) !important;
}

/* Module 322 (Kiemelt 2): enforce 4 products per row for mod_virtuemart_product default layout */
#sp-module-322 .vmproduct.productdetails .product-container.width25,
#sp-module-322 .vmproduct.productdetails .product-container.floatleft {
    float: left !important;
    width: 25% !important;
}

@media (max-width: 991px) {
    #sp-module-322 .vmproduct.productdetails .product-container.width25,
    #sp-module-322 .vmproduct.productdetails .product-container.floatleft {
        width: 50% !important;
    }
}

@media (max-width: 575px) {
    #sp-module-322 .vmproduct.productdetails .product-container.width25,
    #sp-module-322 .vmproduct.productdetails .product-container.floatleft {
        width: 100% !important;
    }
}

/* Fallback for VM core product module in primary positions when base VM width helpers are overridden */
#sp-primary .vmgroup > .vmproduct.productdetails .product-container.width25,
#sp-primary-1 .vmgroup > .vmproduct.productdetails .product-container.width25,
#sp-primary-2 .vmgroup > .vmproduct.productdetails .product-container.width25 {
    float: left !important;
    width: 25% !important;
}

#sp-primary .vmgroup > .vmproduct.productdetails .product-container.floatleft,
#sp-primary-1 .vmgroup > .vmproduct.productdetails .product-container.floatleft,
#sp-primary-2 .vmgroup > .vmproduct.productdetails .product-container.floatleft {
    float: left !important;
}

@media (max-width: 991px) {
    #sp-primary .vmgroup > .vmproduct.productdetails .product-container.width25,
    #sp-primary-1 .vmgroup > .vmproduct.productdetails .product-container.width25,
    #sp-primary-2 .vmgroup > .vmproduct.productdetails .product-container.width25 {
        width: 50% !important;
    }
}

@media (max-width: 575px) {
    #sp-primary .vmgroup > .vmproduct.productdetails .product-container.width25,
    #sp-primary-1 .vmgroup > .vmproduct.productdetails .product-container.width25,
    #sp-primary-2 .vmgroup > .vmproduct.productdetails .product-container.width25 {
        width: 100% !important;
    }
}

/* Hard lock for the primary-2 VM products module: 4 cards per row on desktop */
#sp-primary-2 .vmgroup > .vmproduct.productdetails > .product-container {
    float: left !important;
    width: 25% !important;
}

@media (max-width: 991px) {
    #sp-primary-2 .vmgroup > .vmproduct.productdetails > .product-container {
        width: 50% !important;
    }
}

@media (max-width: 575px) {
    #sp-primary-2 .vmgroup > .vmproduct.productdetails > .product-container {
        width: 100% !important;
    }
}
