.checkout-header .title
{
    font-size: 20px;
}

#shopping-cart-table .product-item-name a
{
    white-space : normal!important;
    font-weight: 500!important;
}


.limiter-label
{
   padding-right : 5px
}

.slideraspect .pagebuilder-overlay
{
	aspect-ratio : 3.6 / 1;
}

.filter-options-content .items {
    margin-top: -1px;
    max-height: 320px;
    overflow-x: scroll;
}

.page-main .columns
{
  overflow : hidden;
}

.amgdprcookie-bar-container .amgdprcookie-button.-settings
{
  display : none;
}

.amgdpr-cookie-link
{
  display : none;
}

.amcheckout-method .col-carrier
{
  display : none;
}

#cart-sidebar-reorder
{
  white-space : normal!important;
}

#cart-sidebar-reorder .product-item-name a
{
  white-space : normal!important;
}

#cart-sidebar-reorder .product-item-name
{
  white-space : normal!important;
}

.sidebar .block-reorder
{
  display : none;
}

.grand.totals.excl
{
  display : none;
}

.footer .follow-us .share-links a:not(:hover)
{
  color:black!important;
}

button:not(.primary)
{
	line-height: 0.3em!important;
}

.amcheckout-button:hover, .action-select-shipping-item:hover, .action-update:hover, .action-cancel:hover, .amcheckout-wrapper .login:hover, button.action.primary:hover, #top-cart-btn-checkout:hover, .action-dismiss:hover, .action-accept:hover
{
    background-color: #530658!important;
    color : white!important;
}

.amcheckout-step-container .checkout-billing-address .amcheckout-button.-edit:hover:before
{
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9IiNmZmZmZmYiPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIuNjEzIDBsLTEuNzA2IDEuNzE2IDIuMzg4IDIuNEwxNSAyLjQwMyAxMi42MTMgMHpNMS43IDEwLjk4bDIuMzg2IDIuNCA4LjE4Ny04LjIzMy0yLjM4Ny0yLjQwMUwxLjcgMTAuOTh6TTAgMTVsMi44OS0uNzYzLTIuMTMtMi4xNDRMMCAxNXoiIGZpbGw9IiNmZmZmZmYiLz4KPC9zdmc+Cg==')!important;
}

.action-dismiss, .action-accept
{
    float : left;
}

.action-accept
{
    margin-left : 20px;
}

.amcheckout-button, .action-select-shipping-item, .action-update, .action-cancel, .amcheckout-wrapper .login, .action-dismiss, .action-accept
{
    border-radius: 0!important;
    color: #333!important;;
    background-color: #fff!important;;
    border-color: #ddd!important;;
    line-height: 34px!important;
    padding: 0 0.625rem!important;;
    font-size: .75rem!important;;
    height: 36px!important;;
    font-weight: 600!important;;
    text-transform: uppercase!important;;
    display: block!important;;
    vertical-align: middle!important;;
    position: relative!important;;
    z-index: 1!important;;
    width: 150px!important;;
    min-height: 40px!important;;
    border: 1px solid!important;;
}

html .action.primary, #top-cart-btn-checkout
{
    border-radius: 0!important;
    color: #333!important;
    border-color: #ddd!important;
    border: 1px solid!important;
    background-color: #fff!important;
}


.amcheckout-step-container .checkout-billing-address .actions-toolbar > .primary .action
{
    margin-left : 10px!important;
}

#checkout .action-auth-toggle
{
    background-color: #fff!important;;
    color: #333!important;;
    border: 1px solid!important;;
    height: 40px;
    font-size: 2em;
}

.actions-toolbar .secondary .remind
{
    margin-top : 28px!important;
}

.action.checkout.amasty
{
    color : white!important;
}

.catalog-category-view .page-title-wrapper
{
	display : block!important;
}

.inpost-carrier-wrapper .secondary
{
	line-height: 1em!important;
}


.footer-middle a:hover, .footer-middle a:focus
{
  color : #64126D!important;
}


@media (min-width: 768px) {
.column.main>.custom-block {
    display: block!important;
    width: 100%!important;
    float: none!important;
    padding-left: 0px!important;
}

body.catalog-product-view[class*=product-type-] .column.main>.custom-block
{
	display : block!important;
}

.page-layout-1column .column.main > .custom-block ~ .product.media
{
	width : 60%!important;
}
}


.owl-carousel .owl-nav button[class*='owl-'] {
    color: #FFF;
    font-size: 24px!important;
    margin: 0;
    padding: 25px 25px!important;
    background: #D6D6D6;
    display: inline-block;
    cursor: pointer;
    height: auto;
}

#omnibus_notice
{
    margin-top:10px;
    font-weight : 200;
    font-size: 0.9rem;
}

.omnibus-price
{
    margin-top:10px;
    font-weight : 200;
    font-size: 0.9rem;
}

.stocklegalnotice
{
    font-size: 0.8em;
    padding-top: 5px;
    padding-bottom: 15px;
}

.products-grid .product-item .product-item-details .product-item-name {
    white-space: normal!important
}

.product-item-name {
    height: 63px;
    overflow: hidden
}

.product-item-name a
{
    white-space: normal!important
}

.mp-blog-rss
{
	display: none;
}

#mpblog-list-container #limiter
{
	padding-left : 10px;
	padding-right : 20px;
}


.mainpageblogwidget
{
	overflow : hidden;
}

@media (max-width: 1023px) {
    .mainpageblogwidget .post-list-item {
        max-width: 100%;
        width: 100%;
    }
}

@media (min-width: 1024px) {
    .mainpageblogwidget .post-list-item
    {
        max-width : 32%;
    }
}

.mp-sidebar .row
{
    margin : 0px;
}

.unit_price
{
    font-weight: 100;
    margin-top : 10px;
}

.product-item-details .unit_price
{
    margin-top : -12px;
    margin-bottom: 5px;
}

.amgdprjs-bar-template.-popup.-upgraded
{
    z-index: 100!important;
}

.amgdprjs-bar-template.-upgraded
{
    z-index:100!important;
}

.payment-method-montonio_payments_blik  label, .payment-method-montonio_payments_card_applepay label
{
  background-position: 45px 50%!important;
  background-size: 50px 26px!important;
}

.payment-method-montonio_payments_blik  span, .payment-method-montonio_payments_card_applepay span
{
  margin-left : 55px;
}

.paynow-payment-option-blik input[type=text] {
    padding: 0.75rem!important;
}

@media (min-width: 768px) {
    .amgdprprem-popup-buttons {
        height: 90px;
    }
}

.block-search{
z-index: 7!important;
padding-left: 0px !important;
}


@media (max-width: 768px) {
    .page-with-filter .columns .sidebar-main {
        max-width: 60%;
        width: 100%;
    }

    .form.minisearch.active .control
    {
	    position : static!important;
    }

}


.product-item-name a {
  font-weight: 500 !important;
}


@media (max-width: 767px) {
    .field.search .control {
        margin-left: 0; /* Remove negative margin */
        padding-left: 0; /* Adjust padding to avoid overlap */
        width: 100%; /* Full width on mobile */
        box-sizing: border-box;
        position: relative;
        left: 0; /* Reset left positioning */
    }
    .input-text {
        width: 100%; /* Full width to fit container */
        padding-left: 15px; /* Adjust to match desktop spacing */
        box-sizing: border-box;
        position: relative;
        left: 0; /* Reset left positioning */
        margin: 0; /* Remove any unwanted margins */
    }
}


.mp-blog-view .post-post_content {
	font-size: 14px;
}

/* Orlen Paczka - checkout */
[data-orlen-logo] {
    display: inline;
}

[data-orlen-logo] img {
    height: 60px;
    width: auto;
    vertical-align: middle;
    margin-right: 5px;
}

.orlen-carrier-wrapper {
    margin: 10px 0 0 0;
    font-size: 11px;
}

.orlen-carrier-wrapper .point-data {
    margin: 0 0 10px 0;
}

.orlen-carrier-wrapper .point-data p {
    margin: 0;
}

.orlen-carrier-wrapper .secondary {
    line-height: 1em!important;
}

/* Social Login Popup - tło i layout */
#social-login-popup {
    overflow: hidden;
    background: #fff;
    border-radius: 4px;
}

#social-login-popup .block-container .block {
    background: #fff;
}

.white-popup {
    background: #fff !important;
}

.btn-social.btn-google,
.btn-social.btn-facebook {
    white-space: normal;
    height: auto;
    overflow: visible;
}

.social-login-authentication-channel .block-title {
    margin-top: 20px;
}


/* Blog frontpage - zachowanie proporcji obrazkow */
#frontapgeblogouter .post-image img {
    width: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

#frontapgeblogouter .mp-post-title {
    font-size: 18px !important;
}

/* ===== PASI FILTER REDESIGN (port) ===== */
.filter-options > .filter-options-item {
  margin-bottom: 14px !important;
  border-bottom: none !important;
}

.filter-options > .filter-options-item > .filter-options-title {
  margin-bottom: 0px !important;
  color: #141a1f !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  margin-bottom: 10px !important;
}


.filter-options > .filter-options-item > .filter-options-title::after {
  display: none !important;
}

.filter-options-content {
  padding-bottom: 10px !important;
}

.filter-options-content > ol.items > li.item {
  margin-top: 9px !important;
  margin-bottom: 9px !important;
}

.filter-options-content > ol.items > li.item > input {
  top: 0px !important;
}

.filter-options-content > ol.items > li.item > a {
  color: #777 !important;
  font-size: 13px !important;
  padding: 0 !important;
}

.filter-options-content > ol.items > li.item > a > span {
  color: #777 !important;
  font-size: 13px !important;
}

.block-content.filter-content.mageplaza-layer-disabled > .filter-current {
  padding: 0 !important;
}

.block-content.filter-content.mageplaza-layer-disabled
  > .filter-current
  > ol.items {
  padding-bottom: 10px !important;
}

.block-content.filter-content.mageplaza-layer-disabled
  > .filter-current
  > ol.items
  > li.item {
  margin: 9px 0 !important;
  font-size: 13px !important;
}

.block-category-list .block-title,
.filter-options-title,
.filter .filter-current-subtitle {
  font-weight: 700 !important;
}

.filter .filter-current-subtitle {
  padding: 10px 15px !important;
}

.block-actions.filter-actions {
  padding: 10px 15px !important;
  text-align: right !important;
}

.block-actions.filter-actions > a.action.clear.filter-clear {
  color: #64126d !important;
  font-size: 11px !important;
}

.ui-slider-handle.ui-corner-all.ui-state-default {
  width: 11px !important;
  height: 11px !important;
  margin-top: -4px !important;
  border-radius: 6px !important;
  background: #64126d !important;
}

.ui-slider.ui-corner-all.ui-slider-horizontal.ui-widget.ui-widget-content {
  height: 2px !important;
}

#ln_slider_text_price {
  font-size: 13px !important;
}


/* === Quick toggles na kategoriach (Wysylka 48h / Promocja) === */
.pops-quicktoggles {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    padding: 12px 0;
    margin: 0 0 14px 0;
    align-items: center;
    justify-content: flex-end;
}
.pops-quicktoggles .pops-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    margin: 0;
    user-select: none;
    background: #64126d;
    padding: 8px 16px 8px 12px;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(87, 172, 48, 0.35);
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}
.pops-quicktoggles .pops-toggle:hover {
    background: #4d0e54;
    box-shadow: 0 3px 9px rgba(87, 172, 48, 0.5);
    transform: translateY(-1px);
}
.pops-quicktoggles .pops-toggle input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.pops-quicktoggles .pops-toggle-slider {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 22px;
    background: rgba(255, 255, 255, 0.35);
    border-radius: 22px;
    transition: background 0.2s ease;
    flex-shrink: 0;
}
.pops-quicktoggles .pops-toggle-slider::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 50%;
    top: 2px;
    left: 2px;
    transition: left 0.2s ease, background 0.2s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
.pops-quicktoggles .pops-toggle input[type="checkbox"]:checked + .pops-toggle-slider {
    background: #fff;
}
.pops-quicktoggles .pops-toggle input[type="checkbox"]:checked + .pops-toggle-slider::after {
    left: 22px;
    background: #3a073f;
}
.pops-quicktoggles .pops-toggle-label {
    font-weight: 700;
    font-size: inherit;
    color: #fff;
}
@media (max-width: 575px) {
    .pops-quicktoggles {
        justify-content: flex-start;
        gap: 14px;
    }
}
/* === end quick toggles === */

/* === Horizontal layered navigation (filtry na gorze kategorii) === */
body.pops-horizontal-filter.pops-filter-page .block.filter {
    margin: 0 0 20px 0;
    padding: 0;
    border: none;
    background: transparent;
    overflow: visible;
}
body.pops-horizontal-filter.pops-filter-page .block.filter .block-title.filter-title,
body.pops-horizontal-filter.pops-filter-page .block.filter .block-subtitle.filter-subtitle {
    display: none !important;
}
body.pops-horizontal-filter.pops-filter-page .block.filter .block-content.filter-content {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 4px 4px 8px 4px;
    background: transparent;
    overflow: visible;
}
body.pops-horizontal-filter.pops-filter-page .column.main,
body.pops-horizontal-filter.pops-filter-page .columns,
body.pops-horizontal-filter.pops-filter-page #layered-filter-block-container {
    overflow: visible !important;
}
/* Ukryj liczby produktow przy opcjach filtrow - county z ES splaszczonego indexu
   nie odzwierciedlaja prawdziwych ilosci po naszym variant-AND filtrowaniu,
   wiec lepiej ich w ogole nie pokazywac. Badge .pops-count-badge (licznik wybranych
   przez usera) zostaje. */
body.pops-filter-page .filter-options-content .count,
body.pops-filter-page .filter-options-content .filter-count-label {
    display: none !important;
}

/* Aktywne filtry jako chips - widoczne gdy user wybral filtry.
   Pokazuje wybrane wartosci z [x] zeby usunac. Niezalezne od stanu dropdownow:
   gdy kombinacja filtrow daje 0 wynikow i dropdowny sie zwijaja, user wciaz widzi
   co jest wybrane. Magento native state.phtml renderuje .filter-current. */
body.pops-filter-page .block.filter .filter-current {
    display: block;
    width: 100%;
    margin: 0 0 14px 0;
    padding: 0;
    background: transparent;
    border: none;
    flex-basis: 100%;
    order: 0;
}
body.pops-filter-page .block.filter .filter-current .filter-current-subtitle {
    display: none;
}
body.pops-filter-page .block.filter .filter-current ol.items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item {
    position: relative !important;
    display: inline-block !important;
    padding: 0 36px 0 14px !important;
    background: #f4ebf6 !important;
    border: 1px solid #64126d !important;
    border-radius: 999px !important;
    color: #3a073f !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    line-height: 30px !important;
    height: 32px !important;
    min-height: 32px !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item > span.filter-label,
body.pops-filter-page .block.filter .filter-current ol.items li.item > span.filter-value {
    line-height: 30px !important;
    display: inline !important;
    vertical-align: baseline !important;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .filter-label {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .filter-label::after {
    content: ':';
    margin-right: 2px;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .filter-value {
    font-weight: 600;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .action.remove {
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    left: auto !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    margin: -11px 0 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    background-color: #64126d !important;
    background-image: none !important;
    border: none !important;
    border-radius: 50% !important;
    text-decoration: none;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    transition: background-color 0.15s ease;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .action.remove::after {
    content: '\2715';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .action.remove::before {
    content: none;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .action.remove span {
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
body.pops-filter-page .block.filter .filter-current ol.items li.item .action.remove:hover {
    background-color: #4d0e54;
    text-decoration: none;
}
body.pops-horizontal-filter.pops-filter-page .block.filter .block-actions.filter-actions {
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    order: 99;
}
body.pops-horizontal-filter.pops-filter-page .block.filter .filter-actions a.filter-clear {
    display: inline-flex;
    align-items: center;
    height: 46px;
    padding: 0 22px;
    color: #64126d;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    background: #fff;
    border: 1px solid #64126d;
    border-radius: 4px;
    transition: background 0.15s ease, color 0.15s ease;
}
body.pops-horizontal-filter.pops-filter-page .block.filter .filter-actions a.filter-clear:hover {
    background: #64126d;
    color: #fff;
}
body.pops-horizontal-filter.pops-filter-page .block.filter .filter-actions.filter-actions-empty a.filter-clear {
    color: #b5b5b5;
    border-color: #d4d4d4;
    background: #f7f7f7;
    pointer-events: none;
    cursor: default;
}

/* Global Zatwierdz - obok Wyczysc w filter-actions.
   Widoczny tylko gdy w jakimkolwiek dropdownie sa pending zmiany (JS toggluje .is-visible).
   Tylko desktop - reguly sa pod body.pops-horizontal-filter, ktora jest dodawana tylko >= 992px.
   Na mobile button istnieje w DOM ale base .filter-apply-btn-global { display: none } go chowa. */
.filter-apply-btn-global {
    display: none;
}
body.pops-horizontal-filter.pops-filter-page .filter-apply-btn-global.is-visible {
    display: inline-flex;
    align-items: center;
    height: 46px;
    padding: 0 22px;
    margin-left: 8px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    background: #64126d;
    border: 1px solid #64126d;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.15s ease;
}
body.pops-horizontal-filter.pops-filter-page .filter-apply-btn-global.is-visible:hover {
    background: #4d0e54;
}
body.pops-horizontal-filter.pops-filter-page .filter-options {
    display: contents;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item {
    position: relative !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    min-width: 180px !important;
    height: auto !important;
    min-height: 46px !important;
    border: 0 !important;
    box-shadow: inset 0 0 0 1px #d4d4d4 !important;
    border-radius: 4px !important;
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    display: flex !important;
    align-items: stretch !important;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item:hover,
body.pops-horizontal-filter.pops-filter-page .filter-options-item.active {
    box-shadow: inset 0 0 0 1px #64126d !important;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 36px 12px 16px !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: none !important;
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    line-height: 1.2 !important;
    height: auto !important;
    min-height: 46px !important;
    border-bottom: 0 !important;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-title::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 6px solid #666 !important;
    transform: translateY(-50%) !important;
    transition: transform 0.2s ease !important;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item.active .filter-options-title::after,
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-title[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(180deg) !important;
    border-top-color: #64126d !important;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-title .toggle {
    display: none;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-content {
    position: absolute;
    top: calc(100% + 4px);
    left: -1px;
    z-index: 100;
    min-width: calc(100% + 2px);
    width: max-content;
    max-width: 480px;
    background: #fff;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    padding: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    overflow: hidden;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-content .items {
    margin: 0;
    padding: 8px 0;
    list-style: none;
    max-height: 340px;
    overflow-y: auto;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-content .item {
    padding: 6px 14px;
    margin: 0;
    line-height: 1.4;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 8px;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-content .item > input[type="checkbox"],
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-content .item > input[type="radio"] {
    flex: 0 0 auto;
    margin: 0;
    vertical-align: middle;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-content .item a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #333;
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
    flex: 1 1 auto;
    line-height: 1;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-content .item a:hover {
    color: #64126d;
}

/* Ukryj filtr Kategoria (menu kategorii jest osobno jako drzewo).
   Dublujemy z 'body' prefix (specificity 0,3,1) zeby przebic horizontal-nav
   display:flex (body.pops-horizontal-filter.pops-filter-page = 0,3,1). */
body.pops-filter-page .filter-options-item[attribute="cat"],
body.pops-filter-page .filter-options-item[attribute="category"],
body.pops-horizontal-filter.pops-filter-page .filter-options-item[attribute="cat"],
body.pops-horizontal-filter.pops-filter-page .filter-options-item[attribute="category"] {
    display: none !important;
}

/* Toolbar - toggles zamiast view-mode w polu .modes */
body.pops-horizontal-filter.pops-filter-page .toolbar .modes.pops-quicktoggles {
    display: flex !important;
    flex-direction: row;
    gap: 18px;
    align-items: center;
    margin: 0;
    padding: 0;
}
/* Desktop: kolejnosc w top toolbar - sorter, ZARAZ za nim toggle (Wysylka 48h),
   reszta po prawej. Porto default .sorter ma margin-right:auto co rozpychalo toggle
   na prawa krawedz - override na 0 + auto margin na nastepny element po toggle. */
body.pops-horizontal-filter.pops-filter-page .toolbar.toolbar-products .sorter {
    order: 1;
    margin: 0 !important;
    align-self: center !important;
}
body.pops-horizontal-filter.pops-filter-page .toolbar.toolbar-products .modes.pops-quicktoggles {
    order: 2;
    margin: 0 !important;
    margin-left: 50px !important;
    margin-right: auto !important;
    align-self: center !important;
}
body.pops-horizontal-filter.pops-filter-page .toolbar.toolbar-products .toolbar-amount {
    order: 3;
}
body.pops-horizontal-filter.pops-filter-page .toolbar.toolbar-products .pages {
    order: 4;
}
body.pops-horizontal-filter.pops-filter-page .toolbar.toolbar-products .limiter {
    order: 5;
}
body.pops-horizontal-filter.pops-filter-page .toolbar .modes.pops-quicktoggles strong.modes-label {
    display: none !important;
}
body.pops-horizontal-filter.pops-filter-page .toolbar .modes.pops-quicktoggles .pops-toggle {
    margin: 0;
}
/* Toolbar renderuje sie 2x (top+bottom). Pokaz toggle tylko w gornym (przed lista produktow). */
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ .toolbar .pops-quicktoggles,
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ * .pops-quicktoggles {
    display: none !important;
}

/* Top toolbar widoczny zawsze (porto JS chowa go gdy istnieje layered-filter-block-container,
   ale my mamy layered nav inline na gorze, wiec musimy go wymusic). */
body.pops-horizontal-filter.pops-filter-page .toolbar.toolbar-products {
    display: flex !important;
}

/* Bottom toolbar - tylko pager. Wszystko inne (sorter/Kategorie/amount/limiter/modes) schowane.
   Container minimalny height + flex zeby empty hidden children nie zajmowali miejsca. */
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ .toolbar.toolbar-products,
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ * .toolbar.toolbar-products {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    gap: 0 !important;
}
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ .toolbar.toolbar-products > *:not(.pages),
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ * .toolbar.toolbar-products > *:not(.pages) {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
}
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ .toolbar.toolbar-products .pages,
body.pops-horizontal-filter.pops-filter-page .products.wrapper ~ * .toolbar.toolbar-products .pages {
    font-size: 14px;
    line-height: 1.4;
    margin: 0 auto !important;
}

/* Desktop: schowaj porto drawer button (filtry jako horizontal na gorze) + filter-placeholder
   rezerwacja porto. Sidebar.main ZOSTAJE widoczny z menu kategorii (.block-category-list). */
body.pops-horizontal-filter.pops-filter-page .porto-product-filters-toggle,
body.pops-horizontal-filter.pops-filter-page .filter-placeholder {
    display: none !important;
}

/* Mobile: button "Filtry" tej samej szerokosci co dropdown sortowania.
   Uzywamy CSS Grid 1fr 1fr - gwarantuje identyczne 50% widths.
   Label "Sortuj wg:" + sorter-action schowane, select rozszerzony do 100% komorki. */
@media (max-width: 991px) {
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        margin-right: 0 !important;
    }
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products > * {
        margin: 0 !important;
    }
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products > .porto-product-filters-toggle {
        grid-column: 1 / 2 !important;
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products > .toolbar-sorter,
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products > .sorter {
        grid-column: 2 / 3 !important;
        width: 100% !important;
        display: flex !important;
        box-sizing: border-box !important;
    }
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products .sorter > .sorter-label,
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products .sorter > .sorter-action {
        display: none !important;
    }
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products .sorter > select.sorter-options {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    /* Toggle Wysylka 48h - full width row 2 */
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products > .modes.pops-quicktoggles {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
    /* Hide toolbar-amount/pages/limiter na mobile w TOP toolbar (zostaja w bottom) */
    body:not(.pops-horizontal-filter).pops-filter-page .toolbar.toolbar-products > .toolbar-amount {
        display: none !important;
    }
}

/* Loadmore - mniejszy odstep */
body.pops-horizontal-filter.pops-filter-page .pops-loadmore {
    margin: 10px 0 !important;
}

/* Badge z liczba wybranych filtrow w title dropdownu */
body.pops-horizontal-filter.pops-filter-page .filter-options-item .filter-options-title .pops-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin-left: 10px;
    margin-right: 0;
    padding: 0 7px;
    background: #64126d;
    color: #fff;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: none;
    flex-shrink: 0;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item.active,
body.pops-horizontal-filter.pops-filter-page .filter-options-item:has(.pops-count-badge) {
    box-shadow: inset 0 0 0 1px #64126d !important;
}

/* Mobile (<768px): horizontal-nav rules NIE dotycza (body.pops-horizontal-filter
   jest dodawany tylko na desktop >=992px). Sidebar porto natywny + Magento
   accordion widget obsluguje rozwijanie filtrow. Tutaj zostawiamy tylko
   styling dla toolbar/quick toggles oraz scroll lock dla drawer porto. */
@media (max-width: 767px) {
    /* Toolbar nie obcina toggle */
    .pops-filter-page .toolbar.toolbar-products {
        overflow: visible !important;
        flex-wrap: wrap !important;
        height: auto !important;
        padding: 8px !important;
        gap: 8px !important;
    }
    .pops-filter-page .toolbar .modes.pops-quicktoggles {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 12px 18px !important;
        width: 100% !important;
        justify-content: center !important;
        padding: 4px 0 !important;
    }
    .pops-filter-page .toolbar .modes.pops-quicktoggles .pops-toggle {
        font-size: 16px !important;
        font-weight: 700 !important;
        gap: 10px !important;
        flex: 0 0 auto !important;
    }
    .pops-filter-page .toolbar .modes.pops-quicktoggles .pops-toggle-slider {
        width: 34px !important;
        height: 18px !important;
        border-radius: 18px !important;
    }
    .pops-filter-page .toolbar .modes.pops-quicktoggles .pops-toggle-slider::after {
        width: 14px !important;
        height: 14px !important;
        top: 2px !important;
        left: 2px !important;
    }
    .pops-filter-page .toolbar .modes.pops-quicktoggles input[type="checkbox"]:checked + .pops-toggle-slider::after {
        left: 18px !important;
    }
}

/* === Mobile sidebar drawer scroll lock ===
   Porto JS dodaje html.sidebar-opened gdy klikniesz "Filtry". Wtedy:
   - body scroll lock (zeby kolko myszki/touch nad drawerem nie scrollowalo strony pod spodem)
   - .columns .mobile-sidebar dostaje overflow-y:auto (scroll w drawerze) + max-height:100vh */
@media (max-width: 991px) {
    html.sidebar-opened,
    html.sidebar-opened body {
        overflow: hidden !important;
        height: 100vh !important;
        touch-action: none;
    }
    html.sidebar-opened .columns .mobile-sidebar {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        max-height: 100vh !important;
        overscroll-behavior: contain;
        touch-action: pan-y;
    }
}
/* === end horizontal layered nav === */

/* === Apply button (Zatwierdz) sticky bottom w dropdownie - desktop === */
.pops-filter-page .filter-options-item .filter-options-content .filter-apply-btn-inline {
    display: block;
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin: 0;
    width: 100%;
    background: #64126d;
    color: #fff;
    border: none;
    border-radius: 0 0 4px 4px;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 -4px 8px rgba(0,0,0,0.05);
    transition: background 0.15s ease;
}
.pops-filter-page .filter-options-item .filter-options-content .filter-apply-btn-inline:hover {
    background: #4d0e54;
}
.pops-filter-page .filter-options-item .filter-options-content .filter-apply-btn-inline:disabled {
    background: #d9bfdd;
    cursor: default;
}


/* === Filtr Cena (ln_price_range) - Od/Do side-by-side === */
body.pops-horizontal-filter.pops-filter-page .filter-options-item[attribute="price"] .filter-options-content {
    min-width: 320px !important;
    max-width: 360px !important;
    overflow: visible !important;
    padding: 0 !important;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item[attribute="price"] .filter-options-content .items {
    margin: 0 !important;
    padding: 14px 14px 0 14px !important;
    list-style: none !important;
    max-height: none !important;
    overflow: visible !important;
}
body.pops-horizontal-filter.pops-filter-page .filter-options-item[attribute="price"] .filter-options-content .item {
    padding: 0 !important;
    white-space: normal !important;
}
.pops-filter-page .ln_price_range_fields {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    align-items: center !important;
}
.pops-filter-page .ln_price_range_label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 1 1 50% !important;
    margin: 0 !important;
}
.pops-filter-page .ln_price_range_label > span {
    flex: 0 0 auto !important;
    font-size: 13px !important;
    color: #555 !important;
}
.pops-filter-page .ln_price_range_label > input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 6px 8px !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    height: 34px !important;
    box-sizing: border-box !important;
}
/* Mobile (porto sidebar drawer) - Od/Do tez side-by-side */
@media (max-width: 991px) {
    .pops-filter-page .filter-options-item[attribute="price"] .filter-options-content {
        padding: 10px 0 !important;
    }
}


/* ===== end PASI FILTER REDESIGN ===== */

/* GNL horizontal full-width: ukryj lewy sidebar OD RAZU na desktop (klasa serwerowa, bez czekania na JS -> brak migotania) */
@media (min-width: 992px) {
  body.catalog-category-view .sidebar.sidebar-main,
  body.catalogsearch-result-index .sidebar.sidebar-main { display: none !important; }
  body.catalog-category-view .column.main,
  body.catalogsearch-result-index .column.main { width: 100% !important; float: none !important; }
  body.catalog-category-view .columns,
  body.catalogsearch-result-index .columns { display: block !important; }
}


/* GNL anty-FOUC: ukryj content dropdownow dopoki accordion sie nie zainicjalizuje */
body.pops-filter-page:not(.pops-filters-ready) .filter-options-content { display: none !important; }


/* GNL: chipy podkategorii "Kategorie" w naglowku horizontal (zastepuja sidebar) */
.gnl-subcat-chips { display: none; }
body.pops-horizontal-filter.pops-filter-page .gnl-subcat-chips {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 0 0 18px 0;
}
.gnl-subcat-label { font-weight: 700; text-transform: uppercase; font-size: 13px; color: #514943; margin-right: 6px; white-space: nowrap; }
.gnl-subcat-list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.gnl-subcat-chip {
  display: inline-block; padding: 9px 20px; border: 1px solid #64126d; border-radius: 22px;
  color: #1a1a1a; font-size: 14px; font-weight: 600; line-height: 1; background: #f4ebf6;
  text-decoration: none; transition: background .15s, color .15s;
}
.gnl-subcat-chip:hover { background: #64126d; color: #fff; text-decoration: none; }

/* GNL: naglowek nad filtrami (desktop horizontal) */
body.pops-horizontal-filter.pops-filter-page .block.filter::before {
  content: "Filtruj produkty:";
  display: block;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: .3px;
  color: #514943;
  margin: 0 0 12px 0;
}


/* GNL: ukryj dropdown custom_stock_status (jest tylko jako toolbar-toggle "Wysylka 24h") */
body.pops-filter-page .filter-options-item[attribute="custom_stock_status"] { display: none !important; }

/* GNL: wiecej odstepu pod toolbarem (sortowanie + toggle) przed kaflami produktow */
body.pops-horizontal-filter.pops-filter-page .toolbar.toolbar-products {
  margin-bottom: 28px !important;
}

/* GNL: ukryj limiter (dropdown ilosci produktow na stronie) w toolbarze */
.pops-filter-page .toolbar-products .limiter,
.pops-filter-page .toolbar-products .field.limiter,
.pops-filter-page .toolbar .limiter,
.pops-filter-page .toolbar .field.limiter { display: none !important; }


/* GNL desktop: stylizacja NATYWNYCH chipow podkategorii (.gnl-subcat-chips__*) w naglowku horizontal - KATEGORIE + fiolet GNL. Mobile uzywa inline-style z subcategories_chips.phtml (slidowane). */
body.pops-horizontal-filter.pops-filter-page .gnl-subcat-chips::before {
  content: "KATEGORIE"; font-weight: 700; text-transform: uppercase; font-size: 13px;
  color: #514943; margin-right: 6px; white-space: nowrap; align-self: center;
}
body.pops-horizontal-filter.pops-filter-page .gnl-subcat-chips__list {
  display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none;
}
body.pops-horizontal-filter.pops-filter-page .gnl-subcat-chips__link {
  display: inline-block; padding: 9px 20px; border: none; border-radius: 22px;
  color: #333; font-size: 14px; font-weight: 600; line-height: 1; background: #f3f3f3; text-decoration: none;
}
body.pops-horizontal-filter.pops-filter-page .gnl-subcat-chips__link:hover { background: #64126d; color: #fff; text-decoration: none; }


/* GNL: limit 5 wartosci per atrybut filtra - zablokowane opcje + komunikat */
.pops-opt-locked { opacity: .4; }
.pops-opt-locked input,
.pops-opt-locked label { cursor: not-allowed; }
.pops-max-hint { color: #64126d; font-size: 12px; font-weight: 700; margin: 4px 0 8px; }
