/* Savonia rail – native carousels (savonia-rail.js) and one product card design for all of them:
   white card, green top edge, soft shadow (as the order-success box). Loaded on every page (Savonia_ProductPage). */
:root {
    --sv-green: #a9cf45;
    --sv-green-dark: #7fa12a;
    --sv-green-soft: #f3f8e6;
    --sv-orange: #dc8430;        /* only the big add-to-cart button of the product page (warm amber, complements the green) */
    --sv-orange-dark: #c06d1c;
    --sv-text: #2f2f2f;
    --sv-muted: #6b6b6b;
    --sv-line: #ececec;
    --sv-radius: 10px;
    --sv-shadow: 0 2px 12px rgba(0, 0, 0, .07);
}

/* ---------- rail (carousel) ---------- */
.sv-rail { position: relative; --sv-gap: 16px; --sv-per: 4; }
.sv-rail__track {
    display: flex !important; gap: var(--sv-gap); margin: 0 -10px !important; padding: 6px 10px 16px !important; scroll-padding: 0 10px; align-items: stretch; list-style: none;
    overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; outline: 0;
}
.sv-rail__track::-webkit-scrollbar { display: none; }
.sv-rail--moving .sv-rail__track { scroll-snap-type: none; }
.sv-rail__track > * {
    flex: 0 0 calc((100% - (var(--sv-per) - 1) * var(--sv-gap)) / var(--sv-per));
    min-width: 0; max-width: none !important; width: auto !important; float: none !important; margin: 0 !important;
    scroll-snap-align: start;
}
.sv-rail--single { --sv-gap: 0px; }
.sv-rail--single .sv-rail__track { margin: 0 !important; padding: 0 !important; scroll-padding: 0; } /* banners: no shadow room, exactly the column width */
.sv-rail--single .sv-rail__track > * { flex-basis: 100%; }
.sv-rail__track:focus-visible { box-shadow: 0 0 0 2px var(--sv-green); border-radius: var(--sv-radius); }

.sv-rail__nav {
    position: absolute; top: calc(50% - 26px); z-index: 2; width: 42px; height: 42px; padding: 0;
    border: 1px solid var(--sv-line); border-radius: 50%; background: #fff; box-shadow: var(--sv-shadow);
    color: var(--sv-text); cursor: pointer; transition: opacity .2s, background-color .2s;
}
.sv-rail__nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.sv-rail__nav:hover { background: var(--sv-green); border-color: var(--sv-green); color: #fff; }
.sv-rail__nav--prev { left: -14px; }
.sv-rail__nav--next { right: -14px; }
.sv-rail__nav:disabled, .sv-rail--static .sv-rail__nav { opacity: 0; pointer-events: none; }
@media (hover: none), (max-width: 767px) { .sv-rail--cards .sv-rail__nav { display: none; } }

.sv-rail__dots { display: flex; justify-content: center; gap: 8px; padding: 10px 0 2px; }
.sv-rail__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #d5d5d5; cursor: pointer; }
.sv-rail__dots button[aria-current="true"] { background: var(--sv-green); width: 22px; border-radius: 5px; }
.sv-rail--single .sv-rail__nav { top: calc(50% - 21px); }
.sv-rail--single .sv-rail__nav--prev { left: 10px; }
.sv-rail--single .sv-rail__nav--next { right: 10px; }

/* ---------- section titles ---------- */
.sv-rail-box, .savonia-rv { margin: 36px 0 8px; }
.savonia-pp .sv-rail-box .sv-rail-box__title, .sv-rail-box__title, .savonia-pp .savonia-rv > h2 {
    margin: 0 0 10px; padding: 0; border: 0; background: none;
    color: var(--sv-text); font-size: 20px; font-weight: 700; line-height: 1.3; letter-spacing: 0; text-transform: none;
}
.sv-rail-box__title:after, .savonia-pp .savonia-rv > h2:after { content: none; }
.savonia-rv .savonia-rv-sub { margin: -4px 0 8px; padding: 0; font-size: 14px; }

/* ---------- product card (one design for all rails) ---------- */
.sv-card, .sv-rail--cards .item-area {
    position: relative; display: flex; flex-direction: column;
    background: #fff; border: 0; border-top: 4px solid var(--sv-green); border-radius: var(--sv-radius);
    box-shadow: var(--sv-shadow); overflow: hidden; text-align: left;
}
.products-grid li.item.sv-card { padding: 0 !important; min-height: 0; border-bottom: 0; }
.sv-card .product-image { position: relative; display: block; padding: 10px 10px 0; background: #fff; }
.sv-card .product-image img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.sv-card__badge {
    position: absolute; top: 12px; left: 12px; padding: 3px 8px; border-radius: 12px;
    background: #ee3124; color: #fff; font-size: 12px; font-weight: 700; line-height: 1.3;
}
.sv-card__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 10px 12px 14px; }
.sv-card__name { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.35; text-transform: none; }
.sv-card__name a {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis;
    height: 4.05em; color: var(--sv-text); font-weight: 600; text-decoration: none;
}
.sv-card__name a:hover { color: var(--sv-green-dark); }
.sv-card__rating .ratings { margin: 0; }
.sv-card__rating .amount, .sv-card__rating .rating-links { display: none; }
.sv-card__price { margin-top: auto; }
.sv-card__price .price-box { margin: 0; text-align: left; }
.sv-card__price .price-box p { display: inline-block; margin: 0 6px 0 0; }
.sv-card__price .price { font-size: 17px; font-weight: 700; }
.sv-card__price .old-price .price { font-size: 13px; font-weight: 400; color: #999; }
.sv-card__price .price-label, .sv-card__price .prp-label { display: none; }
.sv-card__cart, .sv-rail--cards .actions .addtocart {
    display: flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; margin: 4px 0 0; padding: 0 12px;
    border: 0; border-radius: 21px; background: var(--sv-green); color: #fff !important;
    font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; text-decoration: none !important; cursor: pointer; transition: background-color .2s;
}
.sv-card__cart:hover, .sv-rail--cards .actions .addtocart:hover { background: var(--sv-green-dark); }
/* after a successful add the button shows "✓ Adăugat" for a moment */
.sv-card__cart:active, .sv-rail--cards .actions .addtocart:active { transform: scale(.98); }
.sv-card__cart.is-added, .sv-rail--cards .actions .addtocart.is-added { background: var(--sv-green-dark) !important; }
.btn-cart.is-added { background: var(--sv-green) !important; border-color: var(--sv-green) !important; }
.sv-card__cart--view { background: #fff; border: 1.5px solid var(--sv-green); color: var(--sv-green-dark) !important; }
.sv-card__cart--view:hover { color: #fff !important; }

/* Porto cards in a rail (home page product widgets, "Continua de unde ai ramas") in the same design */
.sv-rail--cards .item { padding: 0 !important; }
.sv-rail--cards .product-image-area { padding: 10px 10px 0; margin: 0; border: 0; }
.sv-rail--cards .product-image-area img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.sv-rail--cards .details-area { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 10px 12px 14px; text-align: left; }
.sv-rail--cards .details-area .product-name { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.35; text-align: left; text-transform: none; }
.sv-rail--cards .details-area .product-name a {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis; height: 4.05em; color: var(--sv-text); font-weight: 600;
}
.sv-rail--cards .price-box { margin: auto 0 0; text-align: left; }
.sv-rail--cards .price-box .price { font-size: 17px; font-weight: 700; }
.sv-rail--cards .actions { margin: 0; padding: 0; border: 0; }
.sv-rail--cards .actions .addtocart i { display: none; }
.sv-rail--cards .loader-container { display: none; }

@media (max-width: 767px) {
    .sv-rail { --sv-gap: 12px; }
    .sv-rail-box, .savonia-rv { margin-top: 28px; }
    .savonia-pp .sv-rail-box .sv-rail-box__title, .sv-rail-box__title, .savonia-pp .savonia-rv > h2 { font-size: 18px; }
    .sv-card__body, .sv-rail--cards .details-area { padding: 8px 10px 12px; }
    .sv-card__price .price, .sv-rail--cards .price-box .price { font-size: 16px; }
    .sv-card__cart, .sv-rail--cards .actions .addtocart { min-height: 44px; padding: 0 6px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .sv-rail__track { scroll-behavior: auto; } }

/* PRP in the rails: the label stays, the explanation bubble is not shown (it slid under the next card) */
.sv-rail .tooltipprp { border-bottom: 0; cursor: default; }
.sv-rail .tooltiptextprp { display: none !important; }

/* equal card heights: the li / owl item is stretched by the flex row, the Porto card fills it */
.sv-rail--cards .sv-rail__track > .item { display: flex; }
.sv-rail--cards .sv-rail__track > .item > .item-area { flex: 1; }
/* the owl-era -10px side margin is not needed any more (it pushed the rails out of the page) */
.owl-top-narrow { margin-left: 0 !important; margin-right: 0 !important; }

/* ---------- page width: fluid from 992px, content at most 1500px (all pages) ---------- */
@media (min-width: 992px) {
    .container, .main.container, .footer .container { width: auto; max-width: 1500px; padding-left: 24px; padding-right: 24px; }
    /* sticky product bar: its content stays within the page width */
    .sticky-product > .container { max-width: 1500px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
    .container .container { max-width: none; padding-left: 0; padding-right: 0; }
}
/* laptops (1024–1279px): the main menu stays on one line */
@media (min-width: 992px) and (max-width: 1279px) {
    .main-nav ul.menu > li > a, .fixed-header ul.menu > li > a { padding-left: 9px !important; padding-right: 9px !important; font-size: 13px !important; }
}

/* ---------- product list (category, search): the same card in a grid ---------- */
/* narrower filter column from 992px: 3 cards at 1024px, 4 at 1366px, 5 at 1500px */
@media (min-width: 992px) {
    .col2-left-layout .col-left.sidebar { width: 250px; }
    .col2-left-layout .col-main { width: calc(100% - 250px); }
}
.products-grid.sv-grid {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: 20px 16px;
    margin: 16px 0 24px !important; padding: 0 !important; list-style: none;
}
.products-grid.sv-grid:before, .products-grid.sv-grid:after { content: none; display: none; }
.products-grid.sv-grid > li.item.sv-card { width: auto !important; float: none !important; margin: 0 !important; clear: none !important; }
@media (max-width: 767px) {
    .products-grid.sv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
}
.toolbar .view-mode { display: none; } /* grid only */
.sv-card__stock {
    position: absolute; left: 12px; bottom: 8px; padding: 3px 8px; border-radius: 12px;
    background: rgba(47, 47, 47, .85); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.3;
}
.sv-card__cart--off { background: #eee; color: #888 !important; cursor: default; }
.sv-card__cart--off:hover { background: #eee; }
.sv-card__label {
    position: absolute; top: 12px; right: 12px; padding: 4px 9px; border-radius: 12px;
    background: #000; color: #fff; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: .02em; text-transform: uppercase;
}

/* Porto cards in rails (home page): the button stays inside the card */
.sv-rail--cards .details-area .actions { position: static; width: auto; margin: auto 0 0 !important; padding: 0 !important; text-align: center; }
.sv-rail--cards .details-area .actions .addtocart { box-sizing: border-box; width: 100%; margin: 0; float: none; }
.sv-rail--cards .details-area .price-box { margin-bottom: 8px; }

/* ---------- stock badge ---------- */
.sv-stock, .product-shop .availability {
    display: inline-flex; align-items: center; margin: 6px 0; padding: 4px 12px 4px 10px; border-radius: 14px;
    background: var(--sv-green-soft); color: var(--sv-green-dark); font-size: 13px; font-weight: 600; line-height: 1.4;
}
.sv-stock:before, .product-shop .availability.in-stock span:before {
    content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #5ba51f;
    box-shadow: 0 0 0 3px rgba(91, 165, 31, .18); vertical-align: 1px;
}
.product-shop .availability span { margin-left: 4px; color: inherit; font-weight: 700; }
.sv-stock span { margin: 0; }
.sv-stock--out, .product-shop .availability.out-of-stock { background: #f4f4f4; color: #777; }
.sv-stock--out:before { background: #bbb; box-shadow: none; }
.sticky-product .sv-stock { margin: 0 0 0 8px; padding: 2px 10px 2px 8px; font-size: 12px; }

/* ---------- desktop header: logo | search | account, favourites, cart ---------- */
.sv-hicon { display: none; }
@media (min-width: 992px) {
    .header-container.type4 .header.container { display: flex; align-items: center; gap: 28px; padding-top: 18px; padding-bottom: 18px; }
    .header-container.type4 .header > .logo { flex: 0 0 auto; float: none; margin: 0 !important; max-width: 240px; }
    .header-container.type4 .header > .logo img { max-height: 58px; width: auto; }
    .header-container.type4 .search-area { order: 2; flex: 1 1 auto; float: none; position: relative; left: auto; top: auto; margin: 0; max-width: 760px; }
    .header-container.type4 .search-area .search-icon { display: none; }
    .header-container.type4 .header #search_mini_form { display: block; width: 100%; margin: 0; }
    .header-container.type4 .header .form-search {
        position: relative; width: 100% !important; height: 48px; padding: 0; border: 1.5px solid #2f2f2f; border-radius: 24px; background: #fff;
    }
    .header-container.type4 .header .form-search:focus-within { border-color: var(--sv-green); box-shadow: 0 0 0 3px rgba(169, 207, 69, .25); }
    .header-container.type4 .header #search_mini_form .form-search input#search {
        width: 100%; height: 45px; padding: 0 70px 0 22px; border: 0; background: transparent; font-size: 15px; color: var(--sv-text);
    }
    .header-container.type4 .header .form-search button.button {
        position: absolute; top: 4px; right: 4px; width: 58px; height: 37px; padding: 0; border: 0; border-radius: 19px;
        background: var(--sv-green); color: #fff; line-height: 37px;
    }
    .header-container.type4 .header .form-search button.button:hover { background: var(--sv-green-dark); }
    .header-container.type4 .header .form-search button.button i { color: #fff; font-size: 18px; line-height: 37px; }
    .header-container.type4 .cart-area { order: 3; display: flex; align-items: center; gap: 22px; float: none; position: static; margin: 0 0 0 auto; }
    .sv-hicon { position: relative; display: flex; align-items: center; gap: 8px; color: var(--sv-text) !important; text-decoration: none !important; }
    .sv-hicon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    .sv-hicon span { display: flex; flex-direction: column; line-height: 1.15; }
    .sv-hicon small { color: #777; font-size: 12px; }
    .sv-hicon b { font-size: 15px; font-weight: 700; }
    .sv-hicon:hover { color: var(--sv-green-dark) !important; }
    .sv-hcount {
        position: absolute; top: -7px; left: 18px; min-width: 19px; height: 19px; padding: 0 5px; border: 2px solid #fff; border-radius: 10px;
        background: var(--sv-green-dark); color: #fff; font-size: 11px; font-style: normal; font-weight: 700; line-height: 15px; text-align: center;
    }
    .sv-hcount[hidden] { display: none; }
    /* mini cart as the third icon */
    .header-container.type4 .mini-cart { position: relative; top: 0; left: 0; width: auto !important; height: auto; }
    .header-container.type4 .mini-cart .mybag-link {
        display: flex; align-items: center; gap: 8px; position: relative; top: 0; width: auto !important; height: auto; padding: 0;
        background: none; color: var(--sv-text) !important; line-height: 1.15; text-decoration: none; text-transform: none;
    }
    .header-container.type4 .mini-cart .mybag-link:hover { color: var(--sv-green-dark) !important; }
    .header-container.type4 .mini-cart .mybag-link .icon-mini-cart:before { content: none; }
    .header-container.type4 .mini-cart .mybag-link .icon-mini-cart {
        display: block; width: 32px; height: 30px; background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4h2.4l2.2 11h11l2.3-8H7'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4h2.4l2.2 11h11l2.3-8H7'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .header-container.type4 .mini-cart .mybag-link .icon-mini-cart { position: static; flex: 0 0 32px; margin: 0; font-size: 0; }
    .header-container.type4 .mini-cart .cart-info {
        display: flex; flex-direction: column; position: static !important; width: auto !important; margin: 0; padding: 0;
        background: none; color: inherit; line-height: 1.15; text-align: left; text-transform: none;
    }
    .header-container.type4 .mini-cart .cart-info > span:not(.cart-qty) { display: none; }
    .header-container.type4 .mini-cart .cart-info:before { content: "Coșul"; color: #777; font-size: 12px; }
    .header-container.type4 .mini-cart .cart-info:after { content: "meu"; font-size: 15px; font-weight: 700; color: var(--sv-text); }
    .header-container.type4 .mini-cart .cart-qty {
        position: absolute; top: -7px; left: 18px; min-width: 19px; height: 19px; padding: 0 5px; border: 2px solid #fff; border-radius: 10px;
        background: var(--sv-green-dark); color: #fff; font-size: 11px; font-weight: 700; line-height: 15px; text-align: center;
    }
    .header-container.type4 .menu-icon { display: none; }
}

/* ---------- one page width everywhere (≥992px): every top-level container 24px side padding ---------- */
@media (min-width: 992px) {
    .wrapper .container { padding-left: 24px; padding-right: 24px; }
    .wrapper .container .container { padding-left: 0; padding-right: 0; }
    .header-container.type4 .header.container { padding-left: 24px !important; padding-right: 24px !important; }
    /* sticky product bar: content within the page width (after the nested-container rule above) */
    .wrapper .sticky-product > .container { position: relative; max-width: 1500px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
    .wrapper .sticky-product .add-to-cart { right: 24px; }

    /* sticky header: the menu keeps room for the cart, the cart has the same icon + badge + two-line label */
    .header-container.type4.sticky-header .main-nav ul.menu { padding-right: 130px; }
    .header-container.type4.sticky-header .main-nav .menu-wrapper .mini-cart { top: 50%; right: 0; transform: translateY(-50%); }
    .header-container.type4.sticky-header .main-nav .mini-cart .cart-info {
        display: flex !important; flex-direction: column; position: static !important; width: auto !important; margin: 0; padding: 0;
        background: none; line-height: 1.15; text-align: left; white-space: nowrap;
    }
    .header-container.type4.sticky-header .main-nav .mini-cart .cart-qty { top: -7px !important; left: 18px !important; right: auto !important; }
}
.sv-card__form { margin: 0; }
/* laptops (992–1279px), sticky header: compact menu + cart icon with count only, so the menu stays on one line */
@media (min-width: 992px) and (max-width: 1279px) {
    .header-container.type4.sticky-header .main-nav ul.menu { padding-right: 48px !important; }
    .header-container.type4.sticky-header .main-nav ul.menu > li > a { padding-left: 7px !important; padding-right: 7px !important; }
    .header-container.type4.sticky-header .main-nav .mini-cart .cart-info:before,
    .header-container.type4.sticky-header .main-nav .mini-cart .cart-info:after { content: none; }
}
/* home page top area (banner + side menu): same 24px side padding as every other page (a Porto rule forced 15px) */
@media (min-width: 992px) {
    .wrapper .top-container > div > .container, .wrapper .top-container > .container { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (min-width: 992px) {
    /* the Bootstrap clearfix pseudo elements would be flex items (+28px gap before the logo) */
    .header-container.type4 .header.container:before, .header-container.type4 .header.container:after { content: none; display: none; }
}

/* ---------- cart page cross-sell rail: full-size card images (Porto: .cart .crosssell .product-image 90px, floated, bordered) ---------- */
.cart .crosssell .sv-card .product-image { float: none; width: auto; height: auto; padding: 10px 10px 0; border: 0; border-radius: 0; }
.cart .crosssell .sv-card .product-details { margin-left: 0; }
.cart .crosssell li.item.sv-card { margin: 0; }

/* ---------- add-to-cart popup (Smartwave ajaxcart): dialog on desktop, bottom sheet on phones ---------- */
#after-loading-success-message { font-size: 14px; }
#after-loading-success-message .background-overlay { background: rgba(25, 25, 25, .5); opacity: 1; }
#success-message-container {
    position: fixed; top: 50%; left: 50%; z-index: 1000; box-sizing: border-box;
    width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 32px); margin: 0; padding: 22px 24px 24px; overflow: auto;
    transform: translate(-50%, -50%); border: 0; border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(0, 0, 0, .25);
    color: var(--sv-text); line-height: 1.4; text-align: left;
}
#success-message-container button.sv-pop__x {
    position: absolute; top: 12px; right: 12px; width: 36px; min-width: 0; height: 36px; margin: 0; padding: 0; border: 0; border-radius: 50%;
    background: #f3f3f3; color: #555; font-size: 24px; line-height: 36px; text-align: center; cursor: pointer;
}
#success-message-container button.sv-pop__x:hover { background: #e7e7e7; color: #222; }
#success-message-container .msg-box { display: grid; grid-template-columns: 76px 1fr; gap: 16px; align-items: center; padding-right: 40px; }
#success-message-container .msg-box img.product-image {
    grid-column: 1; grid-row: 1; display: block; width: 76px; height: 76px; padding: 4px; box-sizing: border-box;
    border: 1px solid var(--sv-line); border-radius: 10px; object-fit: contain; background: #fff;
}
#success-message-container .msg { grid-column: 2; grid-row: 1; margin: 0; color: var(--sv-text); font-size: 16px; font-weight: 700; }
#success-message-container .msg:before {
    content: "\2713"; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin: 0 8px 0 0;
    border-radius: 50%; background: var(--sv-green); color: #fff; font-size: 13px; vertical-align: 2px;
}
#success-message-container .msg .product-name {
    display: -webkit-box; margin: 6px 0 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    color: var(--sv-muted) !important; font-size: 14px; font-weight: 400;
}
#success-message-container .msg .timer { display: none !important; }
#success-message-container .sv-pop__actions { display: flex; gap: 12px; margin-top: 20px; }
#success-message-container .sv-pop__actions button.button {
    display: inline-flex; flex: 1 1 0; align-items: center; justify-content: center; min-width: 0; min-height: 50px; margin: 0; padding: 0 20px;
    border: 1.5px solid var(--sv-green); border-radius: 25px; background: #fff; color: var(--sv-green-dark);
    font-size: 15px; font-weight: 700; line-height: 1.2; text-transform: none; cursor: pointer; transition: background-color .2s, color .2s, transform .1s;
}
#success-message-container .sv-pop__actions button.button > span,
#success-message-container .sv-pop__actions button.button > span > span {
    display: inline-flex; align-items: center; gap: 10px; height: auto; padding: 0; border: 0; background: none; color: inherit;
    font: inherit; line-height: inherit; white-space: nowrap;
}
#success-message-container .sv-pop__actions button.button:hover { background: var(--sv-green-soft); }
#success-message-container .sv-pop__actions button.button:active { transform: scale(.98); }
#success-message-container .sv-pop__actions #finish_and_checkout { border-color: var(--sv-green); background: var(--sv-green); color: #fff; box-shadow: 0 4px 12px rgba(127, 161, 42, .3); }
#success-message-container .sv-pop__actions #finish_and_checkout:hover { border-color: var(--sv-green-dark); background: var(--sv-green-dark); }
#success-message-container .sv-pop__actions #finish_and_checkout > span > span:before {
    content: ""; width: 20px; height: 20px; flex: 0 0 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1.5 1.5 0 0 0 1.5 1.1h8.4a1.5 1.5 0 0 0 1.4-1l1.8-6.3H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
}

#success-message-container .sv-pop__recobox { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--sv-line); }
#success-message-container .sv-pop__title { margin: 0 0 12px; color: var(--sv-text); font-size: 16px; font-weight: 700; }
#success-message-container .sv-pop__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
#success-message-container .sv-pop__card {
    display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 8px 8px 10px;
    border: 1px solid var(--sv-line); border-radius: var(--sv-radius); background: #fff; transition: box-shadow .2s;
}
#success-message-container .sv-pop__card:hover { box-shadow: var(--sv-shadow); }
#success-message-container .sv-pop__img { display: block; }
#success-message-container .sv-pop__img img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
#success-message-container .sv-pop__name {
    display: -webkit-box; min-height: 2.7em; margin: 8px 0 6px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    color: var(--sv-text); font-size: 13px; font-weight: 600; line-height: 1.35; text-decoration: none;
}
#success-message-container .sv-pop__name:hover { color: var(--sv-green-dark); }
#success-message-container .sv-pop__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 6px; margin-top: auto; }
#success-message-container .sv-pop__price { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
#success-message-container .sv-pop__price del { color: #999; font-size: 12px; }
#success-message-container .sv-pop__price strong { color: #ee3124; font-size: 15px; font-weight: 700; white-space: nowrap; }
#success-message-container .sv-pop__add {
    display: inline-flex; flex: 0 0 40px; align-items: center; justify-content: center; width: 40px; min-width: 0; height: 40px; margin: 0; padding: 0;
    border: 0; border-radius: 50%; background: var(--sv-green); color: #fff; cursor: pointer; transition: background-color .2s, transform .1s;
}
#success-message-container .sv-pop__add:hover { background: var(--sv-green-dark); }
#success-message-container .sv-pop__add:active { transform: scale(.93); }
#success-message-container .sv-pop__add svg { width: 20px; height: 20px; fill: none; stroke: #fff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
#success-message-container .sv-pop__card.is-skel .sv-pop__img { aspect-ratio: 1 / 1; border-radius: 6px; background: #f2f2f2; }
#success-message-container .sv-pop__card.is-skel .sv-pop__name { min-height: 2.7em; border-radius: 4px; background: #f2f2f2; }
#success-message-container .sv-pop__card.is-skel { animation: sv-pop-pulse 1.2s ease-in-out infinite alternate; }
@keyframes sv-pop-pulse { from { opacity: 1; } to { opacity: .55; } }

@media (max-width: 767px) {
    #success-message-container {
        top: auto; bottom: 0; left: 0; width: 100%; max-height: 90vh; padding: 18px 16px calc(16px + env(safe-area-inset-bottom));
        transform: none; border-radius: 18px 18px 0 0; animation: sv-pop-up .25s ease-out;
    }
    #success-message-container .msg-box { grid-template-columns: 60px 1fr; gap: 12px; }
    #success-message-container .msg-box img.product-image { width: 60px; height: 60px; }
    #success-message-container .msg { font-size: 15px; }
    #success-message-container .sv-pop__actions { flex-direction: column-reverse; gap: 10px; margin-top: 16px; }
    #success-message-container .sv-pop__actions button.button { flex: 0 0 auto; min-height: 48px; }
    #success-message-container .sv-pop__recobox { margin-top: 18px; padding-top: 14px; }
    #success-message-container .sv-pop__list {
        display: flex; gap: 10px; margin: 0 -16px; padding: 0 16px 4px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 16px;
        -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    #success-message-container .sv-pop__list::-webkit-scrollbar { display: none; }
    #success-message-container .sv-pop__card { flex: 0 0 42%; scroll-snap-align: start; }
}
@keyframes sv-pop-up { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    #success-message-container, #success-message-container .sv-pop__card.is-skel { animation: none; }
}

/* phones: nothing may widen the page sideways (iOS Safari pans the page even with body { overflow-x: hidden }) */
@media (max-width: 991px) {
    .wrapper { overflow-x: hidden; }
    @supports (overflow-x: clip) { .wrapper { overflow-x: clip; } }
}

/* ---------- header icons (≥992px): the whole item is the button, light Savonia green on hover, text colour unchanged ---------- */
@media (min-width: 992px) {
    .header-container.type4 .cart-area { gap: 6px; }
    .sv-hicon, .header-container.type4 .mini-cart .mybag-link {
        gap: 10px; padding: 8px 14px 8px 10px; border-radius: 14px; transition: background-color .15s;
    }
    .sv-hicon svg { width: 32px; height: 32px; }
    .header-container.type4 .mini-cart .mybag-link .icon-mini-cart { flex-basis: 34px; width: 34px; height: 32px; }
    .sv-hicon b, .header-container.type4 .mini-cart .cart-info:after { font-size: 16px; }
    .sv-hicon:hover, .sv-hicon:focus-visible, .header-container.type4 .mini-cart:hover .mybag-link, .header-container.type4 .mini-cart .mybag-link:focus-visible {
        background: var(--sv-green-soft); color: var(--sv-text) !important;
    }
    .sv-hicon:focus-visible, .header-container.type4 .mini-cart .mybag-link:focus-visible { outline: 2px solid var(--sv-green); outline-offset: 1px; }
    .header-container.type4 .mini-cart .mybag-link { cursor: pointer; }
    .sv-hcount, .header-container.type4 .mini-cart .cart-qty { top: 1px !important; left: 30px !important; }
    .sv-hcount { background: var(--sv-green-dark); }

    /* guests: hint under the favourites icon */
    .sv-tip {
        position: absolute; top: calc(100% + 10px); left: 50%; z-index: 30; width: 260px; padding: 14px 16px; transform: translateX(-50%);
        border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .16); color: var(--sv-text);
        font-size: 14px; font-weight: 400; line-height: 1.45; white-space: normal; text-align: left;
        opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s, visibility .15s;
    }
    .sv-tip:before {
        content: ""; position: absolute; top: -6px; left: 50%; width: 12px; height: 12px; margin-left: -6px;
        transform: rotate(45deg); background: #fff; box-shadow: -2px -2px 4px rgba(0, 0, 0, .05);
    }
    .sv-hicon--wish:hover .sv-tip, .sv-hicon--wish:focus-visible .sv-tip { opacity: 1; visibility: visible; }
}

/* ---------- cart dropdown (Porto mini cart) ---------- */
.mini-cart .topCartContent {
    width: 360px; max-width: calc(100vw - 24px); padding: 0; border: 0 !important; border-radius: 16px; background: #fff;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .16); overflow: hidden;
}
.mini-cart .topCartContent .inner-wrapper { padding: 6px 18px 18px; border: 0; background: #fff; }
.mini-cart .topCartContent:before, .mini-cart .topCartContent:after { display: none; }
.sv-mc__head { display: flex; align-items: center; justify-content: space-between; margin: 0 -18px 4px; padding: 12px 12px 12px 18px; border-bottom: 1px solid var(--sv-line); }
.sv-mc__head b { color: var(--sv-text); font-size: 16px; font-weight: 700; }
.sv-mc__x {
    display: flex; align-items: center; justify-content: center; width: 36px; min-width: 0; height: 36px; margin: 0; padding: 0;
    border: 0; border-radius: 50%; background: #f1f1f1; color: #333; cursor: pointer; transition: background-color .15s;
}
.sv-mc__x:hover { background: #e4e4e4; }
.sv-mc__x svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.mini-cart .topCartContent .mini-products-list { max-height: 330px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.mini-cart .topCartContent .mini-products-list li.item {
    position: relative; display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--sv-line);
}
.mini-cart .topCartContent .mini-products-list li.item:last-child { border-bottom: 0; }
.mini-cart .topCartContent .mini-products-list .product-image {
    flex: 0 0 64px; width: 64px; height: 64px; margin: 0; padding: 3px; border: 1px solid var(--sv-line); border-radius: 10px; background: #fff; float: none;
}
.mini-cart .topCartContent .mini-products-list .product-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.mini-cart .topCartContent .mini-products-list .product-details { position: static; flex: 1 1 auto; min-width: 0; margin: 0; padding: 0 40px 0 0; }
.mini-cart .topCartContent .mini-products-list .product-name { margin: 0 0 4px; font-size: 14px; font-weight: 600; line-height: 1.35; }
.mini-cart .topCartContent .mini-products-list .product-name a {
    display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--sv-text) !important; text-decoration: none;
}
.mini-cart .topCartContent .mini-products-list .product-name a:hover { color: var(--sv-green-dark) !important; }
.mini-cart .topCartContent .qty-price { margin: 0; color: var(--sv-muted) !important; font-size: 13px; }
.mini-cart .topCartContent .qty-price .price { color: var(--sv-text) !important; font-weight: 700; }
.mini-cart .topCartContent .mini-products-list li a.btn-remove {
    position: absolute; top: 50%; right: 0; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin: -17px 0 0;
    padding: 0; border-radius: 50%; color: #555 !important; font-size: 0; line-height: 0; transition: background-color .15s, color .15s;
}
.mini-cart .topCartContent .mini-products-list li a.btn-remove i { display: none; }
.mini-cart .topCartContent .mini-products-list li a.btn-remove:before {
    content: ""; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M5.5 7l1 12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2l1-12M9 7V4.5h6V7'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M5.5 7l1 12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2l1-12M9 7V4.5h6V7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mini-cart .topCartContent .mini-products-list li a.btn-remove:hover { background: #fdecea; color: #d32f2f !important; }
.mini-cart .topCartContent .totals {
    display: flex; align-items: baseline; justify-content: space-between; margin: 4px 0 14px; padding: 14px 0 0; border-top: 1px solid var(--sv-line); text-align: left;
}
.mini-cart .topCartContent .totals .label { color: var(--sv-muted); font-size: 15px; font-weight: 600; }
.mini-cart .topCartContent .totals .price { color: var(--sv-text) !important; font-size: 20px; font-weight: 700; }
.mini-cart .topCartContent .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 0; }
.mini-cart .topCartContent .actions .clearer { display: none; }
.mini-cart .topCartContent .actions .btn {
    display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; margin: 0; padding: 0 12px; float: none;
    border: 1.5px solid var(--sv-green); border-radius: 23px; background: #fff; color: var(--sv-green-dark) !important;
    font-size: 14px; font-weight: 700; line-height: 1.2; text-transform: none; white-space: nowrap; box-shadow: none; transition: background-color .15s;
}
.mini-cart .topCartContent .actions .btn i { display: none; }
.mini-cart .topCartContent .actions .btn:hover { background: var(--sv-green-soft); }
.mini-cart .topCartContent .actions .btn[href*="onepage"], .mini-cart .topCartContent .actions .btn[href*="checkout/onepage"] {
    background: var(--sv-green); color: #fff !important;
}
.mini-cart .topCartContent .actions .btn[href*="onepage"]:hover { border-color: var(--sv-green-dark); background: var(--sv-green-dark); }

/* ---------- top bar (≥992px): account / favourites / sign-in links only in the header icons; sign out as a small button ---------- */
@media (min-width: 992px) {
    /* hidden, not removed: savonia-rail.js reads the favourites count and the guest state from these links */
    .top-links-container .links > li:has(> a[href*="/customer/account/"]:not([href*="/logout"])),
    .top-links-container .links > li:has(> a[href*="/wishlist"]) { display: none !important; }
    .top-links-container .links { display: flex; align-items: center; gap: 8px; margin-top: 0; }
    .top-links-container .links > li { padding: 0 !important; border: 0 !important; line-height: 1; }
    .top-links-container .links > li:before, .top-links-container .links > li:after { content: none !important; }
    .top-links-container .welcome-msg { color: var(--sv-text) !important; font-weight: 600; }
    .top-links-container .links a[href*="/customer/account/logout"] {
        display: inline-flex; align-items: center; gap: 6px; height: 25px; margin: 0; padding: 0 12px;
        border: 1px solid var(--sv-green); border-radius: 14px; background: #fff; color: var(--sv-green-dark) !important;
        font-size: 0 !important; line-height: 1; text-transform: none; text-decoration: none; transition: background-color .15s;
    }
    .top-links-container .links a[href*="/customer/account/logout"]:hover { background: var(--sv-green-soft); }
    .top-links-container .links a[href*="/customer/account/logout"]:before {
        content: ""; width: 15px; height: 15px; background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3M10 17l5-5-5-5M15 12H4'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3M10 17l5-5-5-5M15 12H4'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .top-links-container .links a[href*="/customer/account/logout"]:after { content: "Deconectare"; font-size: 13px; font-weight: 600; letter-spacing: 0; }
}

/* ===== Round 15: breadcrumb – left aligned, green links, thin separators, house icon; mobile: one line, own horizontal scroll ===== */
.breadcrumbs { --sv-crumb-link: #5f7d1c; --sv-crumb-link-hover: #4a6214; --sv-crumb-current: #4f4f4f; --sv-crumb-sep: #d4d4d4; }
.top-container > .breadcrumbs { padding: 10px 0 2px; text-align: left; }
.breadcrumbs .row > .breadcrumbs { padding: 0 15px; min-width: 0; }
.breadcrumbs ul {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start;
    margin: 0; padding: 0; list-style: none; text-align: left; max-width: 100%;
}
.breadcrumbs ul li {
    display: inline-flex; align-items: center; margin: 0; padding: 0;
    font-size: 13px; line-height: 22px; color: var(--sv-crumb-current); white-space: nowrap;
}
.breadcrumbs ul li a { color: var(--sv-crumb-link); font-weight: 400; text-decoration: none; }
.breadcrumbs ul li a:hover,
.breadcrumbs ul li a:focus { color: var(--sv-crumb-link-hover); text-decoration: underline; }
.breadcrumbs ul li strong { color: var(--sv-crumb-current); font-weight: 400; }
/* the "/ " separator becomes a thin vertical line */
.breadcrumbs ul li > span {
    display: inline-block; width: 1px; height: 14px; margin: 0 12px; padding: 0;
    background: var(--sv-crumb-sep); font-size: 0; line-height: 0; color: transparent; overflow: hidden;
}
/* house icon instead of "Pagina principala" (the text stays for screen readers) */
.breadcrumbs ul li.home a {
    display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px;
    font-size: 0; line-height: 0; color: var(--sv-crumb-link);
}
.breadcrumbs ul li.home a:before {
    content: ""; display: block; width: 18px; height: 18px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9v11h5v-6h4v6h5V9'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9v11h5v-6h4v6h5V9'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 767px) {
    .top-container > .breadcrumbs { padding: 6px 0 0; }
    .breadcrumbs ul {
        flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain; padding-bottom: 6px;
        scrollbar-width: thin; scrollbar-color: var(--sv-green) var(--sv-green-soft);
    }
    .breadcrumbs ul::-webkit-scrollbar { height: 3px; }
    .breadcrumbs ul::-webkit-scrollbar-track { background: var(--sv-green-soft); border-radius: 3px; }
    .breadcrumbs ul::-webkit-scrollbar-thumb { background: var(--sv-green); border-radius: 3px; }
    .breadcrumbs ul li { flex: 0 0 auto; }
    .breadcrumbs ul li > span { margin: 0 10px; }
}

/* ===== Round 16: mobile – less space between the header (search / breadcrumb) and the content; Porto local.css: .main-container { padding: 20px 0 50px } ===== */
@media (max-width: 767px) {
    body .main-container { padding: 5px 0 0; }
}

/* ---------- r19 (2026-11-02): cards – plain "PRP: 25,00 Lei", the price on its own line under it, more room around
   "Adaugă în coș", no grey line after the stars; one star colour everywhere. The popup cards (.sv-pop__*) are not touched. ---------- */
:root { --sv-star-color: #f5a623; /* not --sv-star: that is the star SIZE of .sv-stars (savonia-pp.css) */ }
/* PRP without the explanation bubble: category/search lists, rails, "Continuă de unde ai rămas", sticky bar
   (the bubble stays only next to the product image, savonia-pp.css) */
.sv-card .tooltipprp, .sv-rail--cards .tooltipprp, .sticky-product .tooltipprp { border-bottom: 0; cursor: inherit; }
.sv-card .tooltiptextprp, .sv-rail--cards .tooltiptextprp, .sticky-product .tooltiptextprp { display: none !important; }
.sv-card__price .price-box p, .sv-rail--cards .details-area .price-box p { display: block; margin: 0; }
.sv-card__price .old-price, .sv-rail--cards .details-area .price-box .old-price { margin-bottom: 1px; font-size: 13px; line-height: 1.35; }
.sv-card__price .special-price, .sv-rail--cards .details-area .price-box .special-price { line-height: 1.3; }
/* the grey line after the stars = the Porto rating-bar.png background of .ratings */
.sv-card .ratings, .sv-rail--cards .ratings, .sticky-product .ratings { background: none; }
.sv-card .rating-box .rating:before, .sv-rail--cards .rating-box .rating:before { color: var(--sv-star-color); }
/* "Adaugă în coș": more air above and below */
.sv-card__body, .sv-rail--cards .details-area { padding-bottom: 18px; }
.sv-card__cart, .sv-rail--cards .actions .addtocart { margin-top: 12px; }
@media (max-width: 767px) {
    .sv-card__body, .sv-rail--cards .details-area { padding-bottom: 14px; }
    .sv-card__cart, .sv-rail--cards .actions .addtocart { margin-top: 10px; }
}

/* ---------- r20 (2026-11-02): category toolbar, pager and filters (templates savonia/catalog/*, Savonia_ProductPage observer)
   Toolbar: one quiet line – sort pill, product count, pager; no limiter. Pager: 44 px tap targets, as the Recenzii pager.
   Filters: not a card – a pale sage panel with hairline sections and chips (count inside the chip, green when chosen);
   on phones a bottom sheet opened from the toolbar ("Filtrează"), only when savonia-rail.js runs (html.sv-js-filters). */
.category-products .toolbar.sv-tb { margin: 0 0 18px; padding: 0 0 14px; border: 0; border-bottom: 1px solid var(--sv-line); background: none; }
.toolbar.sv-tb .sv-tb__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; float: none; width: auto; margin: 0; padding: 0; }
.toolbar.sv-tb .sv-tb__row:before, .toolbar.sv-tb .sv-tb__row:after { content: none; display: none; }
.toolbar.sv-tb .sort-by.sv-sort { display: flex; align-items: center; gap: 10px; float: none; margin: 0; padding: 0; }
.toolbar.sv-tb .sv-sort__label { margin: 0; color: var(--sv-muted); font-size: 14px; font-weight: 400; white-space: nowrap; }
.toolbar.sv-tb .sv-sort__field { position: relative; display: inline-block; }
.toolbar.sv-tb select.sv-sort__select {
    -webkit-appearance: none; -moz-appearance: none; appearance: none; height: 44px; min-width: 200px; margin: 0; padding: 0 42px 0 18px;
    border: 1px solid #dfe6cf; border-radius: 999px; background: #fff; box-shadow: none;
    color: var(--sv-text); font-size: 15px; font-weight: 600; line-height: 42px; cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.toolbar.sv-tb select.sv-sort__select:hover { border-color: var(--sv-green); }
.toolbar.sv-tb select.sv-sort__select:focus { border-color: var(--sv-green); box-shadow: 0 0 0 3px rgba(169, 207, 69, .3); outline: 0; }
.toolbar.sv-tb .sv-sort__chev { position: absolute; top: 50%; right: 16px; width: 18px; height: 18px; margin-top: -9px; pointer-events: none; fill: none; stroke: var(--sv-green-dark); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.toolbar.sv-tb .amount.sv-tb__amount { display: block; float: none; margin: 0 0 0 auto; padding: 0; color: var(--sv-muted); font-size: 14px; line-height: 1.4; }
.toolbar.sv-tb .amount.sv-tb__amount strong { color: var(--sv-text); font-weight: 700; }
.toolbar.sv-tb .pager.sv-tb__pager { display: block; float: none; width: auto; margin: 0; padding: 0; border: 0; text-align: left; }
.toolbar.sv-tb .sv-tb__filter { display: none; }

/* pager (top: compact numbers; bottom: centred, with "Înapoi / Înainte") */
.pager .pages.sv-pages, .sv-pages { display: block; float: none; margin: 0; }
.pager .pages.sv-pages ol { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pager .pages.sv-pages li { display: block !important; float: none; width: auto !important; height: auto !important; min-width: 0; margin: 0 !important; padding: 0; border: 0 !important; background: none !important; line-height: 1; }
.sv-pages li > a, .sv-pages li > span {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; box-sizing: border-box; min-width: 44px; height: 44px; margin: 0; padding: 0 12px;
    border: 1px solid var(--sv-line) !important; border-radius: 10px !important; background: #fff !important; color: var(--sv-text) !important;
    font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none; transition: background-color .15s, border-color .15s;
}
.sv-pages li > a:hover, .sv-pages li > a:focus-visible { border-color: var(--sv-green) !important; background: var(--sv-green-soft) !important; color: var(--sv-text) !important; }
.sv-pages li > a:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(169, 207, 69, .35); }
.sv-pages li.current > span { border-color: var(--sv-green) !important; background: var(--sv-green) !important; color: #fff !important; cursor: default; }
.sv-pages .sv-pages__gap > a { min-width: 32px; padding: 0 4px; border-color: transparent !important; color: var(--sv-muted) !important; }
.sv-pages svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.sv-tb__pager .sv-pages__txt { display: none; }
.toolbar-bottom .sv-tb__pager .sv-pages__txt { display: inline; }
.sv-pages li > a i, .sv-pages li > a:before { display: none; }

/* bottom toolbar: only the pager (centred) and the count under it */
.toolbar-bottom { display: block; width: 100%; float: none; }
.toolbar-bottom .toolbar.sv-tb { display: block; width: 100%; margin: 26px 0 8px; padding: 18px 0 0; border-bottom: 0; border-top: 1px solid var(--sv-line); }
.toolbar-bottom .toolbar.sv-tb .sv-tb__row { flex-direction: column-reverse; gap: 10px; }
.toolbar-bottom .toolbar.sv-tb .sort-by, .toolbar-bottom .toolbar.sv-tb .sv-tb__filter { display: none !important; }
.toolbar-bottom .toolbar.sv-tb .amount.sv-tb__amount { margin: 0; text-align: center; }
.toolbar-bottom .toolbar.sv-tb .pager.sv-tb__pager { width: 100%; }

/* ---------- filters (desktop: in the left column) ---------- */
.block.block-layered-nav.sv-filters { margin: 0 0 20px; padding: 6px 18px 16px; border: 0; border-radius: 16px; background: #f6f9ee; box-shadow: none; }
.sv-filters .sv-filters__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 0 4px; }
.sv-filters .sv-filters__title { color: var(--sv-green-dark); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sv-filters .sv-filters__close, .sv-filters .sv-filters__foot { display: none; }
.sv-filters .block-content.sv-filters__body { padding: 0; border: 0; background: none; }
.sv-filters dl.sv-filters__list { margin: 0; padding: 0; }
.sv-filters .sv-filters__name { margin: 0; padding: 0; border: 0; border-top: 1px solid #e3eacf; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.sv-filters .sv-filters__list > .sv-filters__name:first-child { border-top: 0; }
.sv-filters .sv-filters__name:before, .sv-filters .sv-filters__name:after { content: none !important; display: none !important; }
.sv-filters .sv-filters__name button {
    display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; margin: 0; padding: 12px 0 8px;
    border: 0; background: none; color: var(--sv-text); font-size: 15px; font-weight: 700; text-align: left; text-transform: none; cursor: pointer;
}
.sv-filters .sv-filters__name button svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: var(--sv-muted); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.sv-filters .sv-filters__name.is-closed button svg { transform: rotate(-90deg); }
.sv-filters .sv-filters__name.is-closed + dd.sv-filters__opts { display: none !important; }
.sv-filters dd.sv-filters__opts { display: block !important; margin: 0; padding: 0 0 14px; border: 0; background: none; }

/* chips */
.sv-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sv-chips li { display: block; float: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; line-height: 1; }
.sv-chips li:before { content: none !important; }
.sv-chip, .block-layered-nav .sv-chip {
    display: inline-flex; align-items: center; gap: 8px; box-sizing: border-box; max-width: 100%; min-height: 40px; padding: 7px 8px 7px 14px;
    border: 1px solid #dde6c6; border-radius: 999px; background: #fff; color: var(--sv-text) !important;
    font-size: 14px; font-weight: 500; line-height: 1.25; text-decoration: none !important; transition: border-color .15s, background-color .15s;
}
.sv-chip__label { overflow-wrap: anywhere; }
.sv-chip__label:first-letter { text-transform: uppercase; }
.sv-chip__count {
    display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 7px; box-sizing: border-box;
    border-radius: 999px; background: var(--sv-green-soft); color: var(--sv-green-dark); font-size: 12px; font-weight: 700;
}
a.sv-chip:hover, a.sv-chip:focus-visible { border-color: var(--sv-green); background: #fbfdf5; }
a.sv-chip:hover .sv-chip__count { background: var(--sv-green); color: #fff; }
a.sv-chip:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(169, 207, 69, .35); }
.sv-chip.is-empty { padding-right: 14px; color: #aaa !important; background: transparent; }
.sv-chip.is-on { padding: 7px 10px 7px 14px; border-color: var(--sv-green); background: var(--sv-green); color: #fff !important; font-weight: 600; }
.sv-chip.is-on svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; }
.sv-chip.is-on:hover { border-color: var(--sv-green-dark); background: var(--sv-green-dark); }

/* active filters + "clear all" (Porto draws grey boxes around .currently / .block-subtitle / .actions) */
.block-layered-nav.sv-filters .currently.sv-active, .block-layered-nav.sv-filters .currently.sv-active ol,
.block-layered-nav.sv-filters .sv-active__title, .block-layered-nav.sv-filters .actions.sv-filters__clear {
    border: 0 !important; background: none !important; box-shadow: none !important;
}
.block-layered-nav.sv-filters .currently.sv-active { margin: 4px 0 4px; padding: 0 !important; }
.block-layered-nav.sv-filters .currently.sv-active ol { padding: 0 !important; }
.block-layered-nav.sv-filters .sv-active__title { margin: 4px 0 10px; padding: 0 !important; color: var(--sv-muted); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.block-layered-nav.sv-filters .actions.sv-filters__clear { margin: 0 0 6px; padding: 0 0 8px !important; border-bottom: 1px solid #e3eacf !important; border-radius: 0 !important; text-align: left; }
.sv-filters .sv-filters__clear a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sv-green-dark); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* price slider (Smartwave Ajaxcatalog markup and inline styles, behaviour unchanged) */
.sv-filters .price-filter-slider { padding: 6px 4px 0; }
.sv-filters .price-filter-slider .ui-slider { height: 6px !important; margin: 14px 11px 22px !important; border: 0 !important; border-radius: 999px !important; background: #dfe7c9 !important; }
.sv-filters .price-filter-slider .ui-slider .ui-slider-range { border-radius: 999px; background: var(--sv-green) !important; box-shadow: none !important; }
.sv-filters .price-filter-slider .ui-slider .ui-slider-handle {
    top: 50% !important; width: 24px !important; height: 24px !important; margin: -12px 0 0 -12px !important; border: 3px solid var(--sv-green) !important;
    border-radius: 50% !important; background: #fff !important; box-shadow: 0 1px 4px rgba(0, 0, 0, .18); outline: 0; touch-action: none;
}
.sv-filters .price-filter-slider .ui-slider .ui-slider-handle:after { content: ""; position: absolute; inset: -10px; } /* 44 px touch area */
.sv-filters .price-filter-slider .ui-slider .ui-slider-handle:focus-visible { box-shadow: 0 0 0 4px rgba(169, 207, 69, .4); }
.sv-filters .price-filter-slider .text-box { display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; color: var(--sv-muted); font-size: 14px; text-align: left; }
.sv-filters .price-filter-slider .text-box input.priceTextBox {
    width: 100% !important; min-width: 0; box-sizing: border-box; height: 40px; margin: 0 !important; padding: 0 10px !important; border: 1px solid #dde6c6 !important; border-radius: 10px;
    background: #fff; color: var(--sv-text) !important; font-size: 15px !important; font-weight: 600;
}
.sv-filters .price-filter-slider .text-box input.priceTextBox:focus { border-color: var(--sv-green) !important; outline: 0; box-shadow: 0 0 0 3px rgba(169, 207, 69, .3); }
.sv-filters .price-filter-slider .text-box input.go {
    grid-column: 1 / -1; height: 44px; margin: 4px 0 0 !important; padding: 0 18px; border: 0; border-radius: 999px;
    background: var(--sv-green) !important; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer;
}
.sv-filters .price-filter-slider .text-box input.go:hover { background: var(--sv-green-dark) !important; }

/* category list block above the filters: the same quiet look (no grey Porto box) */
.sidebar .block.block-category-nav { margin: 0 0 16px; border: 0; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--sv-line); }
.sidebar .block.block-category-nav .block-title { padding: 16px 18px 6px; border: 0; background: none; }
.sidebar .block.block-category-nav .block-title:before { display: none; }
.sidebar .block.block-category-nav .block-title strong { color: var(--sv-green-dark); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sidebar .block.block-category-nav .block-content { padding: 0 8px 10px; border: 0; background: none; }
.sidebar .block.block-category-nav .category-list li { margin: 0; padding: 0; border: 0; line-height: 1.35; }
.sidebar .block.block-category-nav .category-list a { display: block; min-height: 0; padding: 9px 10px; border-radius: 8px; color: var(--sv-text); font-size: 14px; line-height: 1.35; }
.sidebar .block.block-category-nav .category-list a:hover { background: var(--sv-green-soft); color: var(--sv-text); text-decoration: none; }

/* ---------- phones (<768px): filter button in the toolbar, filters in a bottom sheet ---------- */
@media (max-width: 767px) {
    .category-products .toolbar.sv-tb { margin-bottom: 14px; padding-bottom: 12px; }
    .toolbar.sv-tb .sv-tb__row { gap: 8px; }
    .toolbar.sv-tb .sort-by.sv-sort { flex: 1 1 0; min-width: 0; }
    .toolbar.sv-tb .sv-sort__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .toolbar.sv-tb .sv-sort__field { width: 100%; }
    .toolbar.sv-tb select.sv-sort__select { width: 100%; min-width: 0; padding-left: 16px; padding-right: 38px; }
    .toolbar.sv-tb .amount.sv-tb__amount { flex: 1 0 100%; margin: 2px 0 0; font-size: 13px; }
    .category-products > .toolbar .pager.sv-tb__pager { display: none; } /* top: no pager on phones, it is at the bottom */
    .toolbar-bottom .sv-pages li > a, .toolbar-bottom .sv-pages li > span { min-width: 44px; }
    html.sv-js-filters .toolbar.sv-tb .sv-tb__filter:not([hidden]) {
        display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 8px; height: 44px; margin: 0; padding: 0 16px;
        border: 1px solid var(--sv-green); border-radius: 999px; background: var(--sv-green-soft); color: var(--sv-text); font-size: 15px; font-weight: 700; cursor: pointer;
    }
    .sv-tb__filter svg { width: 20px; height: 20px; fill: none; stroke: var(--sv-green-dark); stroke-width: 2.4; stroke-linecap: round; }
    .sv-tb__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: var(--sv-green); color: #fff; font-size: 12px; }
    .sv-tb__badge[hidden] { display: none; }

    html.sv-js-filters .block.block-layered-nav.sv-filters {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 100010; display: flex; flex-direction: column; max-height: 86vh; max-height: 86dvh; margin: 0; padding: 0;
        border-radius: 20px 20px 0 0; background: #fff; box-shadow: 0 -8px 30px rgba(0, 0, 0, .18);
        transform: translateY(105%); visibility: hidden; transition: transform .28s ease, visibility 0s linear .28s;
    }
    html.sv-filters-open .block.block-layered-nav.sv-filters { transform: none; visibility: visible; transition: transform .28s ease; }
    html.sv-js-filters .sv-filters .sv-filters__head { flex: 0 0 auto; padding: 8px 8px 8px 20px; border-bottom: 1px solid var(--sv-line); }
    html.sv-js-filters .sv-filters .sv-filters__head:before { content: ""; position: absolute; top: 6px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: #d9d9d9; }
    html.sv-js-filters .sv-filters .sv-filters__title { color: var(--sv-text); font-size: 17px; letter-spacing: 0; text-transform: none; }
    html.sv-js-filters .sv-filters .sv-filters__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--sv-text); cursor: pointer; }
    html.sv-js-filters .sv-filters .sv-filters__close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
    html.sv-js-filters .sv-filters .block-content.sv-filters__body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 4px 20px 8px; }
    html.sv-js-filters .sv-filters .sv-filters__foot { display: block; flex: 0 0 auto; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--sv-line); background: #fff; }
    html.sv-js-filters .sv-filters .sv-filters__done { display: block; width: 100%; height: 48px; border: 0; border-radius: 999px; background: var(--sv-green); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
    .sv-filters-backdrop { position: fixed; inset: 0; z-index: 100009; background: rgba(20, 24, 12, .45); opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s linear .25s; }
    html.sv-filters-open .sv-filters-backdrop { opacity: 1; visibility: visible; transition: opacity .25s; }
    html.sv-filters-open, html.sv-filters-open body { overflow: hidden; }
    .sv-chip { min-height: 44px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    html.sv-js-filters .block.block-layered-nav.sv-filters, .sv-filters-backdrop, .sv-filters .sv-filters__name button svg { transition: none !important; }
}

/* ---------- sticky header (≥992px): cart badge at the icon corner like the normal header (round 11 padding moved the icon;
   the round 7 sticky rule put the badge 15px above it, cut by the top edge); 1280–1399px: compact menu so it stays on one line ---------- */
@media (min-width: 992px) {
    .header-container.type4.sticky-header .main-nav .mini-cart .cart-qty { top: 1px !important; left: 30px !important; }
}
@media (min-width: 1280px) and (max-width: 1399px) {
    .header-container.type4.sticky-header .main-nav ul.menu > li > a { padding-left: 10px !important; padding-right: 10px !important; }
}

/* ---------- toolbar without lines (2026-11-03): no grey line under the top toolbar and above the bottom pager;
   the bottom toolbar keeps only the pager (the count stays at the top). Its spacing sits on the pager itself,
   so a one-page list leaves no empty band. ---------- */
.category-products .toolbar.sv-tb { padding-bottom: 0; border-bottom: 0; }
.toolbar-bottom .toolbar.sv-tb { margin: 0; padding: 0; border-top: 0; }
.toolbar-bottom .toolbar.sv-tb .amount.sv-tb__amount { display: none; }
.toolbar-bottom .sv-pages { margin: 26px 0 8px; }
@media (max-width: 767px) {
    .category-products .toolbar.sv-tb { padding-bottom: 0; }
}
