:root {
 --snusowo-accent: #1de9b6;

 --snusowo-content-max: 1280px;
 --snusowo-page-gutter: 12px;

 --snusowo-text-primary: #111111;
 --snusowo-text-inverse: #ffffff;

 --snusowo-bg-inverse: #050505;
 --snusowo-bg-dark: #111111;

 --snusowo-bg-page: #f5f5f5;
 --snusowo-bg-product-image: #f2f2f2;
 --snusowo-surface: #ffffff;

 --bs-transition-default: none;
}
@media (min-width: 768px) {
 :root {
  --snusowo-page-gutter: 24px;
 }
}

@media (min-width: 1200px) {
 :root {
  --snusowo-page-gutter: 40px;
 }
}

.snusowo-container {
 width: 100%;

 max-width: calc(
         var(--snusowo-content-max)
         + (var(--snusowo-page-gutter) * 2)
 );

 margin-inline: auto;
 padding-inline: var(--snusowo-page-gutter);
}
body {
 font-family: "Inter", sans-serif;
}
body,
#wrapper {
 background: var(--snusowo-bg-page);
}
#wrapper .breadcrumb__wrapper[data-depth="1"] {
 display: none;
}
#cart #wrapper {
 margin-top: 32px;
}
body#cart .columns-container.container {
 width: 100%;
 max-width: none;

 margin-inline: 0;
 padding-inline: 0;
}
/* =========================================================
   CART
   ========================================================= */

.snusowo-cart {
 width: 100%;
}

.snusowo-cart__header {
 width: 100%;
 margin-bottom: 16px;
}

.snusowo-cart .cart-grid {
 align-items: flex-start;
}

.snusowo-cart__products-card,
.snusowo-cart .cart-grid__aside-wrapper {
 width: 100%;

 background: var(--snusowo-surface);
 border: 0;
 border-radius: 16px;
 box-shadow: none;
}

/* lewy panel */

.snusowo-cart__products-card {
 padding: 20px;
}

/* prawy panel */

.snusowo-cart .cart-grid__aside-wrapper {
 position: static !important;
 inset: auto !important;
 top: auto !important;

 padding: 20px;
}

/* wyłączenie sticky także na rodzicu */

.snusowo-cart .cart-grid__aside {
 position: static !important;
 top: auto !important;
 align-self: flex-start;
}

/* heading podsumowania */

.snusowo-cart .cart-grid__aside-wrapper > h2 {
 margin: 0 0 20px;

 color: var(--snusowo-text-primary);

 font-size: 22px;
 font-weight: 700;
 line-height: 28px;
}

/* delikatne separatory */

.snusowo-cart .cart-grid__aside-wrapper hr {
 margin: 16px 0;

 border: 0;
 border-top: 1px solid #dedede;

 opacity: 1;
}
body#cart .cart__list .product-line__img {
 width: 96px;
 height: 96px;
}
/* =========================================================
   CART PRODUCT ROW
   ========================================================= */

body#cart .product-line {
 width: 100%;

 display: grid;
 grid-template-columns: 96px minmax(0, 1fr);
 align-items: center;
 gap: 24px;
}


/* ---------- MAIN ---------- */

body#cart .snusowo-cart-line__main {
 min-width: 0;
 width: 100%;

 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 align-items: stretch;
 gap: 24px;
}


/* ---------- INFO ---------- */

body#cart .snusowo-cart-line__info {
 min-width: 0;

 align-self: center;
}

body#cart .snusowo-cart-line__info .product-line__title {
 display: block;

 margin: 0;

 color: var(--snusowo-text-primary);

 font-weight: 700;
 text-decoration: none;
}

body#cart .snusowo-cart-line__quantity .quantity-button__group {
 height: 35px;
}
/* ---------- CONTROLS ---------- */

body#cart .snusowo-cart-line__controls {
 align-self: center;

 display: grid;
 grid-template-columns: 90px 100px 36px;
 align-items: center;
 gap: 16px;
}

body#cart .cart-grid__footer .product-carousel > .module-products {
 width: 100%;
 max-width: 100%;

 margin-inline: 0;
 padding-inline: 0;
}
/* ---------- PRICES ---------- */

body#cart .snusowo-cart-line__prices {
 width: auto;

 display: flex;
 flex-direction: column;
 align-items: flex-start;
 justify-content: center;
 gap: 4px;

 margin: 0;
 padding: 0;

 white-space: nowrap;
}

body#cart .snusowo-cart-line__prices > * {
 margin: 0;
}

body#cart .product-line__item-price {
 font-size: 14px;
 font-weight: 700;
 line-height: 18px;
}

body#cart .product-line__item-regular-price {
 color: #777;

 font-size: 12px;
 line-height: 16px;

 text-decoration: line-through;
}

body#cart .product-line__item-discount {
 width: max-content;
}
body#cart .snusowo-discount-badge {
 background: #050505;
 color: #fff;
}
/* ---------- REMOVE ---------- */

body#cart .snusowo-cart-line__actions {
 width: 36px;

 display: flex;
 align-items: center;
 justify-content: center;
}

body#cart .snusowo-cart-line__remove {
 width: 36px;
 height: 36px;

 display: flex;
 align-items: center;
 justify-content: center;

 margin: 0;
 padding: 0;

 color: var(--snusowo-text-primary);
 background: transparent;


 text-decoration: none;
}

body#cart .snusowo-cart-line__remove-icon {
 width: 30px;
 height: 30px;

 display: block;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.btn {
 font-weight: 600;
 text-transform: uppercase;
 border-radius: 12px;

 color: var(--snusowo-text-primary);
 font-size: 14px;
}

.btn-primary {
 background-color: var(--snusowo-accent);
 border-color: var(--snusowo-accent);
 color: var(--snusowo-text-primary);
}
.btn-outline-primary {
 border: 1px solid var(--snusowo-accent) !important;
}
.btn-outline-primary:hover {
 background: var(--snusowo-accent) !important;
}
.products__filter-button {
 background-color: var(--snusowo-accent);
 border-color: var(--snusowo-accent);
 color: var(--snusowo-text-primary);
}

/* =========================================================
   PRODUCT CARDS - GLOBAL
   ========================================================= */

.product-miniature__inner,
.product-miniature__inner .thumbnail-container {
 box-shadow: none !important;
}

.product-miniature__inner:hover,
.product-miniature__inner .thumbnail-container:hover {
 box-shadow: none !important;
}
.btn-primary:hover,
.btn-primary:focus {
 background-color: var(--snusowo-accent);
 border-color: var(--snusowo-accent);
 color: var(--snusowo-text-primary);
}

.btn-secondary {
 background-color: var(--snusowo-bg-dark);
 border-color: var(--snusowo-bg-dark);
 color: #fff;
}
.product-carousel__all-link {
 display: inline-flex;
 align-items: center;
 justify-content: center;

 min-width: 245px;
 min-height: 56px;
 padding: 12px 30px;

 border: 2px solid var(--snusowo-accent-primary, #1de9b6);
 border-radius: 999px;

 background: #fff;
 color: var(--snusowo-text-primary);

 font-size: 16px;
 font-weight: 800;
 line-height: 1;
 letter-spacing: .8px;
 text-align: center;
 text-decoration: none;
 text-transform: uppercase;
}
/* QUANTITY INPUT - GLOBAL */

.quantity-button__group {
 display: flex;
 flex-wrap: nowrap;
 align-items: stretch;
 overflow: hidden;
 background: var(--snusowo-surface);
 border: 1px solid #d8d8d8;
 border-radius: 12px;
}

.quantity-button__group > .btn,
.quantity-button__group > .form-control {
 margin: 0;
 background: var(--snusowo-surface);
 border: 0;
 border-radius: 0;
 color: var(--snusowo-text-primary);
 box-shadow: none;
}

.quantity-button__group > .btn {
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 0;
 text-transform: none;
}

.quantity-button__group > .form-control {
 min-width: 0;
 padding: 0;
 text-align: center;
 font-weight: 700;
}

.quantity-button__group > :not(:first-child) {
 margin-left: 0;
}

.quantity-button__group > .btn:hover,
.quantity-button__group > .btn:focus,
.quantity-button__group > .btn:active {
 background: var(--snusowo-surface);
 color: var(--snusowo-text-primary);

 border: 0;
 box-shadow: none;
}

.quantity-button__group > .form-control:focus {
 background: var(--snusowo-surface);
 color: var(--snusowo-text-primary);

 border: 0;
 outline: 0;
 box-shadow: none;
}
.page-link {
 color: #111111;
}
.active>.page-link {
 color: var(--snusowo-accent);
}
/* =========================================================
   PRODUCT CAROUSEL
   ========================================================= */

.product-carousel {
 width: 100%;
 max-width: none;

 margin-right: 0;
 margin-left: 0;
}

.product-carousel > .module-products {
 width: 100%;

 max-width: calc(
         var(--snusowo-content-max)
         + (var(--snusowo-page-gutter) * 2)
 );

 margin-inline: auto;
 padding-inline: var(--snusowo-page-gutter);
}
body#product
.columns-container
.product-carousel
> .module-products {
 max-width: 100%;
 padding-inline: 0;
}
/* ---------- HEADER ---------- */

.product-carousel__header {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-block: 32px;
}
.snusowo-search-clear {
 position: absolute;
 right: 12px;
 top: 50%;
 transform: translateY(-50%);

 display: flex;
 align-items: center;
 justify-content: center;

 padding: 0;
 border: 0;
 background: transparent;
 box-shadow: none;

 color: #fff;
 cursor: pointer;
}

.snusowo-search-clear .material-icons {
 color: #fff;
 font-size: 24px;
}
.product-carousel__heading {
 width: 100%;
 text-align: center;
}

/*.section-title {*/
/* margin: 0;*/
/* padding: 0;*/

/* color: var(--snusowo-text-primary);*/

/* font-family: "Inter", sans-serif;*/
/* font-size: 28px;*/
/* font-weight: 800;*/
/* line-height: 36px;*/
/* letter-spacing: 0.96px;*/
/* text-transform: uppercase;*/
/*}*/
.product-carousel__heading .section-title {
 font-size: clamp(35px, 5vw, 55px) !important;
 font-weight: 900 !important;
 text-transform: uppercase !important;
 text-align: center !important;
 letter-spacing: 4px !important;
 margin: 0 !important;
 background: var(--snusowo-text-primary);
 background-size: 200% auto !important;
 color: transparent !important;
 -webkit-background-clip: text !important;
 background-clip: text !important;
 cursor: default !important;
 font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
}

.product-carousel__controls {
 display: flex;
 align-items: center;
 gap: 8px;

 flex: 0 0 auto;
}
.product-carousel__footer {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-top: 36px;
}
.product-carousel--static .product-carousel__controls {
 display: none;
}

.product-carousel__button {
 width: 44px;
 height: 44px;

 display: flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 44px;

 padding: 0;

 color: var(--snusowo-text-primary);
 background: var(--snusowo-surface);
 border: 1px solid #dedede;
 border-radius: 50%;

 font-size: 20px;

 cursor: pointer;
}

.product-carousel__button:disabled {
 opacity: 0.35;
 cursor: default;
}

/* ---------- EMBLA ---------- */

.product-carousel__viewport {
 width: 100%;

 overflow: hidden;
 contain: layout paint;
}

.product-carousel__container {
 display: flex;
 gap: 24px;

 touch-action: pan-y pinch-zoom;

 transition: none !important;
 will-change: transform;
 backface-visibility: hidden;
}

.product-carousel__slide {
 min-width: 0;

 flex: 0 0 calc((100% - 96px) / 5);

 background: transparent;
}

.product-carousel__slide > .product-miniature {
 width: 100%;

 border-radius: 16px;
 overflow: hidden;
}
.product-miniature {
 position: relative;
}

.product-miniature .wishlist-button-add {
 position: absolute !important;
 z-index: 20 !important;
 right: 0;
 top: 0;
}
.wishlist-list .wishlist-list-item:hover {
 background: none!important;
}
.wishlist-add-to-new i {
 color: #111111!important;
}
.wishlist-container .page-content.card {
 box-shadow: none!important;
}
.product-carousel__slide img {
 pointer-events: none;

 user-select: none;
 -webkit-user-select: none;
 -webkit-user-drag: none;
}
/* =========================================================
   PRODUCT CAROUSEL - STAGE / SIDE ARROWS
   ========================================================= */

.product-carousel__stage {
 position: relative;
 width: 100%;
}

.product-carousel__side-button {
 position: absolute;
 top: 50%;
 z-index: 5;

 width: 32px;
 height: 48px;

 display: none;
 align-items: center;
 justify-content: center;

 margin: 0;
 padding: 0;

 color: var(--snusowo-text-primary);
 background: transparent;

 border: 0;
 border-radius: 0;
 outline: 0;
 box-shadow: none;

 transform: translateY(-50%);

 cursor: pointer;
}

.product-carousel__side-button svg {
 width: 28px;
 height: 28px;

 display: block;

 pointer-events: none;
}

.product-carousel__side-button--prev {
 left: -36px;
}

.product-carousel__side-button--next {
 right: -36px;
}

.product-carousel__side-button:disabled {
 opacity: 0.25;
 cursor: default;
 display: none !important;
}

.product-carousel__side-button:is(
 :hover,
 :focus,
 :active
) {
 color: var(--snusowo-text-primary);
 background: transparent;

 border: 0;
 outline: 0;
 box-shadow: none;
}
/* ---------- MOBILE PAGINATION ---------- */

/* ---------- PAGINATION ---------- */

.product-carousel__pagination {
 width: max-content;

 flex-direction: column;
 align-items: center;
 gap: 8px;

 margin: 16px auto 0;
}

.product-carousel__pagination:not([hidden]) {
 display: flex;
}

.product-carousel__pagination[hidden] {
 display: none !important;
}

/* Licznik domyślnie ukryty - pokazujemy go tylko mobile */

.product-carousel__pagination-count {
 display: none;
}

.product-carousel__pagination-track {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
}

.product-carousel__pagination-segment {
 width: 44px;
 height: 4px;

 display: block;

 margin: 0;
 padding: 0;

 background: #c9c9c9;
 border: 0;
 border-radius: 999px;
 outline: 0;

 cursor: pointer;

 transition:
         background-color 150ms ease,
         opacity 150ms ease;
}

.product-carousel__pagination-segment.is-active {
 background: var(--snusowo-accent);
}

.product-carousel__pagination-segment:is(
 :hover,
 :focus-visible
) {
 opacity: 0.7;
}

.product-carousel__pagination-segment.is-active:is(
 :hover,
 :focus-visible
) {
 opacity: 1;
}

.product-carousel--static .product-carousel__pagination {
 display: none !important;
}
.snusowo-account-icon {
 width: 35px;
 height: 35px;

 display: block;
 flex: 0 0 35px;

 color: currentColor;
}

@layer bs-base {
 .product-flags.js-product-flags .badge {
  background-color: var(--snusowo-bg-dark) !important;
  border-color: var(--snusowo-bg-dark) !important;
  text-transform: uppercase;

 }
}

.header,
.header-bottom {
 border-bottom: 0 !important;
}

.header-bottom {
 position: relative;
 background: var(--snusowo-bg-inverse);
}

.header-bottom__container {
 height: 100%;
 margin: 0 auto;
}

.header-bottom__row {
 height: 100%;

 display: flex;
 align-items: center;
 flex-wrap: nowrap;

 margin: 0;
 padding: 0;
}

.header-bottom__h1 {
 width: 100%;
 height: 100%;

 display: flex;
 align-items: center;
 justify-content: center;

 margin: 0;
 padding: 0;
}

.header-bottom__logo {
 display: flex;
 align-items: center;

 margin: 0;
 padding: 0;
}

.header-bottom__logo > a,
.header-bottom__h1 > a {
 height: 100%;

 display: flex;
 align-items: center;
}

#_desktop_ps_shoppingcart {
 display: none !important;
}

.snusowo-mobile-nav__action {
 width: 40px;
 height: 40px;

 display: flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 40px;

 margin: 0;
 padding: 0;

 color: var(--snusowo-text-inverse);
 background: transparent;
 border: 0;
 border-radius: 12px;

 text-decoration: none;
 outline: 0;
 box-shadow: none;
}

.snusowo-mobile-nav__action:is(:hover, :focus, :active) {
 color: var(--snusowo-text-inverse);
 background: transparent;
 border: 0;

 text-decoration: none;
 outline: 0;
 box-shadow: none;
}

.snusowo-mobile-nav__icon {
 width: 22px;
 height: 22px;

 display: block;
 flex: 0 0 22px;
}

/* ---------- COMPACT CART ---------- */

.snusowo-mobile-nav__action--cart,
.snusowo-mobile-nav__action--cart:is(:hover, :focus, :active) {
 position: relative;

 color: var(--snusowo-bg-inverse);
 background: var(--snusowo-accent);

 overflow: visible;
}

.snusowo-mobile-nav__cart-count {
 position: absolute;
 top: -6px;
 right: -6px;

 min-width: 20px;
 height: 20px;

 display: inline-flex;
 align-items: center;
 justify-content: center;

 padding: 0 4px;

 color: var(--snusowo-bg-inverse);
 background: var(--snusowo-text-inverse);

 border: 2px solid var(--snusowo-bg-inverse);
 border-radius: 999px;

 font-size: 10px;
 font-weight: 800;
 line-height: 14px;

 box-sizing: border-box;
 pointer-events: none;
 z-index: 5;
}

.snusowo-mobile-nav__cart-count[hidden] {
 display: none;
}
/* =========================================================
   PDP - COMMON
   ========================================================= */

.product__container {
 width: 100%;
 display: flex;

 margin-inline: auto;
 padding: 0;
}

.product__left,
.product__right {
 min-width: 0;

 background: var(--snusowo-surface);
 border-radius: 16px;
}

.product__left .product__main-image {
 display: block;

 margin-inline: auto;

 object-fit: contain;
}

/* PDP THUMBNAILS - COMMON */

.product__left .product__thumbnails-list {
 width: 100%;

 display: flex;

 margin: 0;
 padding: 0;

 list-style: none;
}

.product__left .product__thumbnail {
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0;
 padding: 0;
 background: #fafafa;
 border: 1px solid #e0e0e0;
 border-radius: 8px;
 box-shadow: none;
 outline: 0;
 box-sizing: border-box;
}

/* Przycisk/link wewnątrz kafelka */

.product__left .product__thumbnail > button,
.product__left .product__thumbnail > a,
.product__left .product__thumbnail-button {
 width: 100%;
 height: 100%;
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0;
 padding: 0;
 background: transparent;
 border: 0;
 border-radius: inherit;
 box-shadow: none;
}


/* Sam obraz nigdy nie dostaje borderu Hummingbirda */

.product__left .product__thumbnail img,
.product__left .product__thumbnail-image,
.product__left .product__thumbnail-image.selected {
 display: block;

 object-fit: contain;

 border: 0 !important;
 border-radius: 0;
 outline: 0;
 box-shadow: none;
}

/* Aktywna miniatura – czarny border na zewnętrznym kafelku */

.product__thumbnail:has(.js-thumb-selected) {
 border: 2px solid var(--snusowo-text-primary);
}
/* Klawiatura – również czarny stan focus */
.product__left .product__thumbnail:focus-within {
 border-color: var(--snusowo-text-primary);
}

/* PDP PRODUCT DETAILS - COMMON*/

.snusowo-product-details {
 width: 100%;

 margin: 0;

 background: var(--snusowo-bg-page);
}

.snusowo-product-details__container {
 width: 100%;
 max-width: 760px;

 display: flex;
 flex-direction: column;
 gap: 20px;

 margin: 0 auto;
 padding: 0;
}

.snusowo-product-details__columns {
 width: 100%;

 display: flex;
 flex-direction: column;
 gap: 20px;
}

.snusowo-product-details__description-card,
.snusowo-product-details__specifications {
 width: 100%;
 min-width: 0;
 padding: 20px;
 background: var(--snusowo-surface);
 border-radius: 16px;
}

.product__right {
 display: flex;
 flex-direction: column;
 align-items: stretch;
}

.product__right .product__manufacturer,
.product__right .product__name,
.product__right .product__availability {
 padding: 0;
}
.product__right .product__name,
.product__right .product__description-short,
.product__right .product__availability,
.product__right .product__actions-qty-add,
.product__right .product__purchase-reassurance {
 width: 100%;
}

.product__right .product__manufacturer a {
 color: #00a47b;

 font-weight: 700;
 text-decoration: none;
 text-transform: uppercase;
}

.product__right .product__name {
 color: var(--snusowo-text-primary);
 font-weight: 800;
}

.product__right .product__description-short {
 color: #4f4f4f;

 font-weight: 400;

 border-bottom: 1px solid #e8e8e8;
}

.product__right .product__description-short p {
 margin: 0;
}

.product__right .product__availability-status--in-stock {
 width: 100%;

 display: flex;
 align-items: center;

 color: #06785e;
 background: #e9fbf6;
}

.product__right .product__availability-dot {
 background: #00a47b;
 border-radius: 50%;
}

.product__right .product__availability-text {
 font-weight: 600;
 line-height: 16px;
}

.product__right .product__actions-qty-add {
 display: flex;
 align-items: stretch;

 margin: 0;
}

.product__right .product__add-to-cart {
 min-width: 0;
 flex: 1 1 auto;
}

.product__right .product__add-to-cart-button {
 width: 100%;

 display: flex;
 align-items: center;
 justify-content: center;

 margin: 0;

 color: var(--snusowo-text-primary);
 background: var(--snusowo-accent);
 border: 0;
 border-radius: 12px;

 font-weight: 700;
 text-transform: uppercase;
}

.product__right .product__add-to-cart-button:is(:hover, :focus, :active) {
 color: var(--snusowo-text-primary);
 background: var(--snusowo-accent);
 border: 0;
 box-shadow: none;
}

.product__add-to-cart-icon {
 color: var(--snusowo-text-primary);
}
/* ---------- SECTION HEADING ---------- */

.snusowo-product-details__heading {
 width: 100%;

 display: flex;
 flex-direction: column;

 margin: 0;
 padding: 0;
}

.snusowo-product-details__eyebrow {
 color: #00a47b;

 font-weight: 700;
 text-transform: uppercase;
}

.snusowo-product-details__title {
 margin: 0;
 padding: 0;
 color: var(--snusowo-text-primary);
 font-weight: 800;
}


.snusowo-product-details__card-title {
 margin: 0;
 color: var(--snusowo-text-primary);
 font-weight: 700;
}

/* ---------- DESCRIPTION ---------- */

.snusowo-product-details__description {
 color: #4d4d4d;

 font-weight: 400;
}

.snusowo-product-details__description > :first-child {
 margin-top: 0;
}

.snusowo-product-details__description > :last-child {
 margin-bottom: 0;
}

/* ---------- DIVIDER ---------- */

.snusowo-product-details__divider {
 width: 100%;
 height: 1px;

 background: #e7e7e7;
}

/* ---------- ADVANTAGES ---------- */

.snusowo-product-details__advantages-title {
 color: var(--snusowo-text-primary);

 font-weight: 700;
}

.snusowo-product-details__advantages {
 width: 100%;

 display: grid;
}

.snusowo-product-details__advantage {
 min-width: 0;

 display: flex;

 background: var(--snusowo-bg-page);
 border-radius: 10px;
}

.snusowo-product-details__advantage-title {
 color: var(--snusowo-text-primary);

 font-weight: 700;
 text-transform: uppercase;
}

.snusowo-product-details__advantage-value {
 color: #606060;

 font-weight: 400;
}

/* ---------- SPECIFICATIONS ---------- */

.snusowo-product-details__spec-list {
 width: 100%;

 padding: 0;
}

.snusowo-product-details__spec-row {
 display: flex;
 justify-content: space-between;

 margin: 0;

 border-bottom: 1px solid #e7e7e7;
}

.snusowo-product-details__spec-row:last-child {
 border-bottom: 0;
}

.snusowo-product-details__spec-name,
.snusowo-product-details__spec-value {
 min-width: 0;

 margin: 0;
}

.snusowo-product-details__spec-name {
 color: #6a6a6a;

 font-weight: 400;
}

.snusowo-product-details__spec-value {
 color: var(--snusowo-text-primary);

 font-weight: 600;
 text-align: right;
}

/* =========================================================
   PDP GALLERY FLAGS - COMMON
   ========================================================= */

.product__gallery-top {
 width: 100%;

 display: flex;
 align-items: center;
 justify-content: space-between;

 margin: 0;
 padding: 0;
}

.product__gallery-flags {
 display: flex;
 align-items: center;

 margin: 0;
 padding: 0;
}

.product__left
.product__gallery-flags
> .product-flags {
 position: static;
 inset: auto;

 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 8px;

 margin: 0;
 padding: 0;

 list-style: none;
}

.product__left
.product__gallery-flags
> .product-flags
> li.badge {
 position: static;

 min-width: 84px;
 height: 28px;

 display: inline-flex;
 align-items: center;
 justify-content: center;

 margin: 0;
 padding: 0 12px;

 color: var(--snusowo-text-inverse);

 background: var(--snusowo-bg-dark);
 border: 0;
 border-radius: 6px;

 font-size: 11px;
 font-weight: 700;
 line-height: 13px;

 text-transform: uppercase;
 white-space: nowrap;

 box-shadow: none;
}
/* =========================================================
   PRODUCT MINIATURES - COMMON
   ========================================================= */

.product-miniature {
 min-width: 0;
 height: 100%;
}

.product-miniature__inner {
 height: 100%;

 display: flex;
 flex-direction: column;

 padding: 12px;

 background: var(--snusowo-surface);
 border-radius: 16px;
 box-shadow: 0 5px 16px rgb(0 0 0 / 6%);

 overflow: hidden;
}


/* ---------- IMAGE ---------- */

.product-miniature__top {
 position: relative;

 width: 100%;
 aspect-ratio: 1;

 background: var(--snusowo-bg-product-image);
 border-radius: 12px;

 overflow: hidden;
}

.product-miniature__image-container,
.product-miniature__image-link,
.product-miniature__image-link picture {
 width: 100%;
 height: 100%;

 display: block;
}
.product-miniature__image-link{
 background: var(--snusowo-surface);
}
.product-miniature__image {
 width: 100%;
 height: 100%;

 display: block;

 object-fit: contain;
 mix-blend-mode: multiply;

 transform: none !important;
 scale: none !important;
 transition: none !important;
}

/* ---------- FLAGS ---------- */

.product-miniature__top .product-flags {
 position: absolute;
 top: 4px;
 left: 4px;
 z-index: 2;

 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 4px;

 margin: 0;
 padding: 0;

 list-style: none;
}

.product-miniature__top .product-flags > li {
 min-width: 0;
 height: 24px;

 display: inline-flex;
 align-items: center;
 justify-content: center;

 margin: 0;
 padding: 0 9px;

 color: var(--snusowo-text-inverse);
 background: var(--snusowo-bg-dark);
 border-radius: 6px;

 font-size: 10px;
 font-weight: 700;
 line-height: 12px;

 text-transform: uppercase;
}


/* ---------- CONTENT ---------- */

.product-miniature__bottom {
 flex: 1;

 display: flex;
 flex-direction: column;

 padding:0px
}

.product-miniature__infos {
 display: flex;
 flex-direction: column;
 gap: 8px;
}

.product-miniature__title {
 min-height: 40px;

 display: -webkit-box;

 margin: 0;

 color: var(--snusowo-text-primary);

 font-size: 14px;
 font-weight: 700;
 line-height: 20px;
 text-align: left;
 text-decoration: none;

 overflow: hidden;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 3;
}

.product-miniature__title:is(:hover, :focus, :active) {
 color: var(--snusowo-text-primary);
 text-decoration: none;
}


/* ---------- ACTIONS ---------- */

.product-miniature__actions {
 margin-top: auto;
 padding-top: 16px;
}

.product-miniature__form {
 width: 100%;

 display: flex;
 flex-direction: column;
 align-items: stretch;
 gap: 8px;

 margin: 0;
}

.product-miniature__buy-row {
 width: 100%;
 min-width: 0;

 display: grid;
 grid-template-columns:
  minmax(0, 1fr)
  clamp(76px, 38%, 96px);
 align-items: center;
 gap: 8px;
}


/* ---------- PRICES ---------- */

.product-miniature__prices {
 min-width: 0;

 display: flex;
 flex-direction: column-reverse;
 align-items: flex-start;
 justify-content: center;
 gap: 2px;
}

.product-miniature__price {
 color: var(--snusowo-text-primary);

 font-size: 14px;
 font-weight: 700;
 line-height: 18px;

 white-space: nowrap;
}

.product-miniature__regular-price {
 color: #777;

 font-size: 11px;
 font-weight: 400;
 line-height: 14px;

 text-decoration: line-through;
}


/* ---------- QUANTITY ---------- */

.product-miniature__quantity {
 width: 100%;
 min-width: 0;

 margin: 0;
 padding: 0;
}

.product-miniature__quantity .quantity-button__group {
 width: 100%;
 height: 36px;

 display: flex;
 align-items: center;
 margin: 0;

 border: 1px solid #dedede;
 border-radius: 12px;

 overflow: hidden;
}

.product-miniature__quantity .quantity-button__group > .btn {
 width: 28px;
 height: 100%;

 flex: 0 0 28px;

 margin: 0;
 padding: 0;

 color: var(--snusowo-text-primary);
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
}

.product-miniature__quantity input {
 min-width: 0;
 height: 100%;

 flex: 1;

 margin: 0;
 padding: 0;

 color: var(--snusowo-text-primary);
 background: transparent;
 border: 0;
 box-shadow: none;

 font-size: 12px;
 font-weight: 600;
 text-align: center;
}


/* ---------- ADD TO CART ---------- */
.product-miniature__add .product-miniature__add-text {
 display: inline;
}
.product-miniature__add {
 width: 100%;
 height: 40px;

 display: flex;
 align-items: center;
 justify-content: center;
 gap: 6px;

 margin: 0;
 padding: 0 10px;

 color: var(--snusowo-text-primary);
 background: var(--snusowo-accent);
 border: 0;
 border-radius: 12px;
 box-shadow: none;

 font-size: 11px;
 font-weight: 700;
 line-height: 14px;

 text-transform: uppercase;
 white-space: nowrap;
}

.product-miniature__add:is(:hover, :focus, :active) {
 color: var(--snusowo-text-primary);
 background: var(--snusowo-accent);
 border: 0;
 box-shadow: none;
}

.product-miniature__add .material-icons {
 font-size: 18px;
 line-height: 1;
}
body#cart .snusowo-cart-line__prices > * {
 width: auto !important;
 max-width: none;
 flex: 0 0 auto;
 margin: 0;
}

/* ---------- DETAILS FALLBACK ---------- */

.product-miniature__details {
 width: 100%;
 min-height: 40px;
 font-size: 11px;
 display: flex;
 align-items: center;
 justify-content: center;

 margin-top: 8px;

 border-radius: 12px;
}

.footer__main {
 width: 100%;

 color: var(--snusowo-text-inverse);
 background: var(--snusowo-bg-inverse);
 border-bottom: 1px solid #222;
}

.footer__content,
.footer__bottom-container,
.snusowo-footer-brand {
 width: 100%;
}

.footer__content > * {
 width: 100% !important;
 max-width: none !important;

 margin: 0 !important;
}

.footer__content ul {
 margin: 0;

 list-style: none;
}

.footer__content li {
 margin: 0 0 10px;
}

.footer__content li:last-child {
 margin-bottom: 0;
}

.footer__content a {
 color: #cfcfcf;

 font-size: 13px;
 line-height: 20px;

 text-decoration: none;
}

.footer__content a:hover {
 color: var(--snusowo-text-inverse);
 text-decoration: none;
}

.snusowo-footer-brand__logo > a {
 display: flex !important;
 align-items: center;

 margin: 0;
 padding: 0;
}

.snusowo-footer-brand__logo img {
 display: block;
 height: auto;
}

.footer__copyright {
 margin: 0;

 text-align: center;
}

/* =========================================================
   NEWSLETTER
   ========================================================= */

.ps-emailsubscription {
 padding: 26px 20px 24px !important;

 color: var(--snusowo-text-inverse);
 background: var(--snusowo-bg-inverse) !important;
}

.ps-emailsubscription > .container {
 width: 100%;
 max-width: 680px;

 padding: 0;
}

.ps-emailsubscription .row {
 display: flex;
 flex-direction: column;
 align-items: center;

 margin: 0;
}

.ps-emailsubscription .h3 {
 width: 100%;

 margin: 0 0 14px;
 padding: 0;

 color: var(--snusowo-text-inverse);

 font-size: 20px;
 font-weight: 700;
 line-height: 26px;

 text-align: center;
}

.ps-emailsubscription form {
 width: 100%;
 max-width: 620px;

 padding: 0;
}

/* Połączony input + przycisk */

.ps-emailsubscription__fields {
 width: 100%;
 max-width: 530px;

 display: flex;
 flex-flow: row nowrap;
 align-items: stretch;
 gap: 0;

 margin: 0 auto 8px;
}

.ps-emailsubscription__input {
 width: 0;
 min-width: 0;
 height: 40px;

 flex: 1 1 0;

 padding: 0 16px;

 color: var(--snusowo-text-primary);
 background: var(--snusowo-surface);
 border: 1px solid #dedede;
 border-radius: 12px 0 0 12px;
 box-shadow: none;

 font-size: 14px;
 line-height: 20px;
}

.ps-emailsubscription__input:focus {
 position: relative;
 z-index: 1;

 border-color: var(--snusowo-accent);
 box-shadow: none;
 outline: 0;
}

.ps-emailsubscription__submit {
 width: auto;
 height: 40px;

 flex: 0 0 auto;

 margin: 0 0 0 -1px;
 padding: 0 16px;

 color: var(--snusowo-text-primary);
 background: var(--snusowo-accent);
 border: 1px solid var(--snusowo-accent);
 border-radius: 0 12px 12px 0;
 box-shadow: none;

 font-size: 13px;
 font-weight: 700;
 line-height: 16px;

 text-transform: uppercase;
 white-space: nowrap;
 cursor: pointer;
}

.ps-emailsubscription__submit:is(:hover, :focus, :active) {
 color: var(--snusowo-text-primary);
 background: var(--snusowo-accent);
 border-color: var(--snusowo-accent);
 box-shadow: none;
}


/* Tekst pod formularzem */

.ps-emailsubscription__conditions {
 margin: 0 !important;

 color: var(--snusowo-text-inverse) !important;

 font-size: 10px !important;
 line-height: 14px;

 text-align: center;
}

.breadcrumb__wrapper,
.breadcrumb__wrapper > .container,
.breadcrumb {
 background: var(--snusowo-bg-page) !important;
}

.breadcrumb__wrapper {
 margin-bottom: 0 !important;
}

.breadcrumb {
 list-style: none;
}

.breadcrumb a,
.breadcrumb span {
 color: inherit;
 text-decoration: none;
}

.breadcrumb a:is(:hover, :focus) {
 color: inherit;
 text-decoration: none;
}

/*reguła do znikania miniatur*/
.page-product
.product__left:not(
    :has(.product__thumbnails-list > .product__thumbnail:nth-child(2))
  )
.product__thumbnails {
 display: none;
}
/* PDP — ukrycie informacji o produkcie obecnym w koszyku */

body#product #notifications .alert-info {
 display: none;
}

body#product
#notifications
> .container:has(> .alert-info:only-child) {
 display: none;
}
/* =========================================================
   SNUSOWO - FACETED SEARCH / CATEGORY FILTERS
   Hummingbird / ps_facetedsearch
   ========================================================= */


/* =========================================================
   PANEL
   ========================================================= */

#search-filters.search-filters {
 width: 100%;

 margin: 0;
 padding: 20px;

 background: #fff;

 border: 0;
 border-radius: 16px;
 box-shadow: none;
}


/* =========================================================
   MAIN TITLE
   ========================================================= */

#search-filters .left-block__title {
 margin: 0;
 padding: 0;

 color: var(--snusowo-text-primary);

 font-size: 20px;
 font-weight: 700;
 line-height: 28px;

 text-transform: none;
}


/* =========================================================
   CLEAR ALL
   ========================================================= */

#search-filters .search-filters__clear {
 margin: 0;
}
body#category .subcategory {
 display: none;
}
.category-tree__item-header {
 padding:0;
}
#search-filters .search-filters__clear .btn {
 min-height: 32px;

 padding: 0;

 color: #777;
 background: transparent;

 border: 0;
 box-shadow: none;

 font-size: 12px;
 font-weight: 600;

 text-transform: none;
}

#search-filters .search-filters__clear .btn:is(
 :hover,
 :focus,
 :active
) {
 color: var(--snusowo-text-primary);
 background: transparent;

 border: 0;
 box-shadow: none;
}


/* =========================================================
   FACETS ORDER
   PRICE ALWAYS FIRST
   ========================================================= */

#search-filters .accordion {
 display: flex;
 flex-direction: column;

 margin: 0;
}

#search-filters .accordion-item[data-type="price"] {
 order: -100;
}


/* =========================================================
   FACET SECTIONS
   ========================================================= */

#search-filters .accordion-item {
 margin: 0;
 padding: 0;

 background: transparent;

 border: 0;
 border-radius: 0;
}

#search-filters .accordion-item + .accordion-item {
 padding-block: 20px;

}


/* =========================================================
   ALWAYS OPEN
   ========================================================= */

#search-filters .accordion-collapse {
 display: block !important;

 height: auto !important;

 visibility: visible !important;
}


/* =========================================================
   FACET HEADINGS
   ========================================================= */

#search-filters .accordion-button {
 width: 100%;
 min-height: 0;

 display: block;

 margin: 0 0 14px;
 padding: 0;

 color: var(--snusowo-text-primary);
 background: transparent;

 border: 0;
 border-radius: 0;
 box-shadow: none;

 font-size: 16px;
 font-weight: 700;
 line-height: 24px;

 text-align: left;

 pointer-events: none;
}


/* Bootstrap arrow */
#search-filters .accordion-button::after {
 display: none !important;
}


/* collapsed/open states should look identical */
#search-filters .accordion-button.collapsed,
#search-filters .accordion-button:not(.collapsed) {
 color: var(--snusowo-text-primary);
 background: transparent;

 border: 0;
 box-shadow: none;
}


/* =========================================================
   ACCORDION BODY
   ========================================================= */

#search-filters .accordion-body {
 margin: 0;
 padding: 0;

 list-style: none;
}

#search-filters .accordion-body > li {
 margin: 0;
 padding: 0;

 list-style: none;
}

#search-filters .accordion-body > li + li {
 margin-top: 12px;
}


/* =========================================================
   FILTER ROW
   ========================================================= */

#search-filters .search-filters__item {
 margin: 0;
 padding: 0;
}

/* =========================================================
   GLOBAL CHECKBOX
   ========================================================= */

.form-check-input[type="checkbox"] {
 width: 20px;
 height: 20px;
 appearance: none;
 -webkit-appearance: none;

 background-color: #fff;
 background-image: none;

 border: 1.5px solid #b8bdc3;
 border-radius: 5px;

 box-shadow: none;

 cursor: pointer;
}

.form-check-input[type="checkbox"]:hover {
 border-color: #777;
}

.form-check-input[type="checkbox"]:checked {
 background-color: var(--snusowo-accent);
 border-color: var(--snusowo-accent);

 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23050505' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8.5 6.5 12 13 4.5'/%3E%3C/svg%3E");

 background-repeat: no-repeat;
 background-position: center;
 background-size: 13px 13px;
}

.form-check-input[type="checkbox"]:focus {
 border-color: var(--snusowo-accent);
 box-shadow: 0 0 0 2px rgb(29 233 182 / 18%);
 outline: 0;
}

.form-check-input[type="checkbox"]:disabled {
 opacity: .5;
 cursor: not-allowed;
}
/* =========================================================
   ADDRESS GRID
   ========================================================= */

.snusowo-checkout .address__list {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 16px;
 align-items: stretch;
}
#checkout .snusowo-shipping {
 --shipping-accent: var(--snusowo-accent, #1de9b6);
 --shipping-selected-bg: #edfcf7;
 --shipping-border: #dedfe2;
 --shipping-text: #111;
 --shipping-muted: #6b7079;
 color: var(--shipping-text);
}

#checkout .snusowo-shipping__form { margin: 0; }

#checkout .snusowo-shipping__options {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 16px;
 align-items: stretch;
 margin: 0;
 padding: 0;
 border: 0;
}

/* Keep native carrier wrappers in the DOM for PrestaShop/module scripts.
   Their cards and extra content become grid items without moving any nodes. */
#checkout .snusowo-shipping__option { display: contents; }

#checkout .snusowo-shipping__card {
 position: relative;
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 grid-template-rows: 76px auto 1fr auto;
 gap: 10px;
 align-items: start;
 order: 0;
 width: 100%;
 min-width: 0;
 height: 100%;
 margin: 0;
 padding: 20px;
 border: 1px solid var(--shipping-border);
 border-radius: 12px;
 background: #fff;
 color: var(--shipping-text);
 text-align: left;
 cursor: pointer;
 box-shadow: none;
}

#checkout .snusowo-shipping__card:has(.snusowo-shipping__radio:checked) {
 border-color: var(--shipping-accent);
 background: var(--shipping-selected-bg);
 box-shadow: inset 0 0 0 1px var(--shipping-accent);
}

#checkout .snusowo-shipping__card:has(.snusowo-shipping__radio:focus-visible) {
 outline: 2px solid var(--shipping-text);
 outline-offset: 3px;
}

/* Visually hidden, still keyboard-accessible and submitted normally. */
#checkout .snusowo-shipping__check {
 position: absolute;
 width: 1px;
 height: 1px;
 margin: -1px;
 padding: 0;
 overflow: hidden;
 clip: rect(0, 0, 0, 0);
 clip-path: inset(50%);
 white-space: nowrap;
 border: 0;
}

#checkout .snusowo-shipping__radio {
 float: none;
 margin: 0;
}

#checkout .snusowo-shipping__logo-wrap {
 display: flex;
 align-items: flex-start;
 width: 100%;
 min-width: 0;
 height: 76px;
}

#checkout .snusowo-shipping__logo {
 display: block;
 width: 88px;
 height: 70px;
 max-width: 100%;
 max-height: none;
 margin: 0;
 padding: 0;
 object-fit: contain;
 object-position: left top;
}

#checkout .snusowo-shipping__name {
 display: block;
 min-width: 0;
 margin: 0;
 color: var(--shipping-text);
 font-size: 17px;
 font-weight: 700;
 line-height: 1.35;
 overflow-wrap: anywhere;
}

#checkout .snusowo-shipping__delay {
 display: block;
 width: auto;
 min-width: 0;
 margin: 0;
 padding: 0 0 18px;
 color: var(--shipping-muted);
 font-size: 14px;
 font-weight: 400;
 line-height: 1.45;
 text-align: left;
 overflow-wrap: anywhere;
}

#checkout .snusowo-shipping__price {
 display: block;
 width: 100%;
 min-width: 0;
 margin: 0;
 padding: 18px 0 0;
 border-top: 1px solid var(--shipping-border);
 color: var(--shipping-text);
 font-size: 14px;
 font-weight: 700;
 line-height: 1.2;
 text-align: left;
 overflow-wrap: anywhere;
}

/* Extra content spans the full row AFTER all carrier cards.
   checked is authoritative even during the native AJAX update. */
#checkout .snusowo-shipping__extra { display: none !important; }

#checkout .snusowo-shipping__option:has(.snusowo-shipping__radio:checked)
> .snusowo-shipping__extra--has-content {
 display: grid !important;
 grid-column: 1 / -1;
 grid-template-columns: minmax(0, 1fr);
 gap: 20px;
 align-items: center;
 order: 1;
 width: 100%;
 min-width: 0;
 margin: 0;
 padding: 12px 0 8px;
 border: 0;
 background: transparent;
}

#checkout .snusowo-shipping__option:has(.snusowo-shipping__radio:checked)
> .snusowo-shipping__extra:has(.furgonetkapl-set-point) {
 grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

#checkout .snusowo-shipping__pickup-intro { display: none; }

#checkout .snusowo-shipping__extra:has(.furgonetkapl-set-point)
.snusowo-shipping__pickup-intro {
 display: flex;
 align-items: center;
 gap: 14px;
 min-width: 0;
}

#checkout .snusowo-shipping__pickup-icon {
 flex: 0 0 auto;
 font-size: 36px;
 line-height: 1;
}

#checkout .snusowo-shipping__pickup-title {
 margin: 0 0 4px;
 font-size: 17px;
 font-weight: 700;
 line-height: 1.35;
}

#checkout .snusowo-shipping__pickup-description {
 margin: 0;
 color: var(--shipping-muted);
 font-size: 13px;
 line-height: 1.5;
}

#checkout .snusowo-shipping__module {
 display: block;
 width: 100%;
 min-width: 0;
 margin: 0;
 padding: 0;
 border: 0;
 background: transparent;
 overflow-wrap: anywhere;
}

#checkout .snusowo-shipping .furgonetkapl-set-point,
#checkout .snusowo-shipping__continue {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 0;
 height: auto;
 border-radius: 12px;
 background: var(--shipping-accent);
 color: #050505;
 line-height: 1.4;
 text-align: center;
 text-transform: none;
 white-space: normal;
 box-shadow: none;
}

#checkout .snusowo-shipping .furgonetkapl-set-point { width: 100%; }

#checkout .snusowo-shipping .furgonetkapl-set-point:focus-visible,
#checkout .snusowo-shipping__continue:focus-visible,
#checkout .snusowo-shipping__comment-toggle:focus-visible {
 outline: 2px solid #111;
 outline-offset: 3px;
}

#checkout .snusowo-shipping__order-options { margin: 24px 0 0; }

#checkout .snusowo-shipping__comment {
 margin: 0;
 border-top: 1px solid var(--shipping-border);
 border-bottom: 1px solid var(--shipping-border);
}

#checkout .snusowo-shipping__comment-toggle {
 display: flex;
 align-items: center;
 gap: 12px;
 margin: 0;
 padding: 20px 0;
 color: var(--shipping-text);
 font-size: 14px;
 font-weight: 400;
 line-height: 1.5;
 list-style: none;
 cursor: pointer;
}

#checkout .snusowo-shipping__comment-toggle::-webkit-details-marker { display: none; }
#checkout .snusowo-shipping__comment-toggle::marker { content: ''; }
#checkout .snusowo-shipping__comment-symbol { flex: 0 0 20px; text-align: center; }

#checkout .snusowo-shipping__comment-content { margin: 0; padding: 0 0 20px; }
#checkout .snusowo-shipping__comment-label { display: block; margin: 0 0 8px; font-size: 13px; }

#checkout .snusowo-shipping__textarea {
 display: block;
 width: 100%;
 max-width: 100%;
 min-height: 96px;
 padding: 12px 14px;
 border: 1px solid var(--shipping-border);
 border-radius: 8px;
 background: #fff;
 color: var(--shipping-text);
 font-size: 14px;
 line-height: 1.5;
 resize: vertical;
}

#checkout .snusowo-shipping__textarea:focus {
 border-color: var(--shipping-accent);
 outline: 2px solid var(--shipping-accent);
 outline-offset: 1px;
 box-shadow: none;
}
/* =========================================================
   AUTH - LOGIN / REGISTER
   ========================================================= */

/* Page title */

#center-column > .page-header {
 text-align: center;
}


/* Auth links */

#login-form .snusowo-login-forgot {
 display: flex;
 justify-content: center;
 margin: 4px 0 20px;
}

#login-form .snusowo-login-forgot a,
.register-form__login-prompt a {
 color: #000000;
 font-size: 14px;
 font-weight: 500;
 text-decoration: underline;
}



/* Main auth buttons */

#login-form .snusowo-login-submit,
.register-form button[type="submit"] {
 width: 100%;
 min-height: 48px;
}


/* Google */

#login-form .snusowo-login-google {
 width: 100%;
 margin-top: 14px;
}

#login-form .snusowo-login-google > * {
 width: 100%;
}

#login-form .snusowo-login-google a,
#login-form .snusowo-login-google button {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 min-height: 48px;
 margin: 0;
 border: 1px solid #d9d9d9;
 border-radius: 12px;
 background: #fff;
 color: var(--snusowo-text-primary);
 font-size: 14px;
 font-weight: 600;
 text-transform: uppercase;
 text-decoration: none;
 box-shadow: none;
}

#login-form .snusowo-login-google a:hover,
#login-form .snusowo-login-google button:hover {
 background: #f7f7f7;
 color: var(--snusowo-text-primary);
}


/* Login registration prompt */

.login__register-prompt {
 text-align: center;
}

.login__register-prompt .h4 {
 margin-bottom: 14px;
}

.login__register-prompt .btn {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 min-height: 48px;
}


/* Registration login prompt */

.register-form__login-prompt {
 margin: 20px 0 0;
 text-align: center;
}

#checkout .snusowo-shipping__additional-option { margin-top: 16px; margin-bottom: 16px; }

#checkout .snusowo-shipping__actions {
 display: flex;
 flex-direction: row;
 justify-content: center;
 width: 100%;
 margin: 24px 0 0;
 padding: 0;
}

#checkout .snusowo-shipping__continue { width: 280px; max-width: 100%; }

@media (max-width: 1199.98px) {
 #checkout .snusowo-shipping__options { grid-template-columns: minmax(0, 1fr); gap: 12px; }

 #checkout .snusowo-shipping__card {
  grid-template-columns: 60px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 4px;
  align-items: center;
  padding: 16px 12px;
 }

 #checkout .snusowo-shipping__logo-wrap {
  grid-column: 1;
  grid-row: 1 / 3;
  height: auto;
  align-items: center;
 }

 #checkout .snusowo-shipping__logo { width: 60px; height: 52px; object-position: left center; }
 #checkout .snusowo-shipping__name { grid-column: 2; grid-row: 1; font-size: 14px; align-self: end; }
 #checkout .snusowo-shipping__delay { grid-column: 2; grid-row: 2; padding: 0; font-size: 12px; align-self: start; }
 #checkout .snusowo-shipping__price {
  grid-column: 3;
  grid-row: 1 / 3;
  width: auto;
  max-width: 100px;
  padding: 0;
  border: 0;
  text-align: right;
 }

 #checkout .snusowo-shipping__option:has(.snusowo-shipping__radio:checked)
 > .snusowo-shipping__extra:has(.furgonetkapl-set-point) {
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
 }

 #checkout .snusowo-shipping__pickup-title { font-size: 15px; }
 #checkout .snusowo-shipping__order-options { margin-top: 20px; }
 #checkout .snusowo-shipping__continue { width: 100%; }
}

@media (max-width: 374.98px) {
 #checkout .snusowo-shipping__card { grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 8px; padding: 12px 10px; }
 #checkout .snusowo-shipping__logo { width: 44px; height: 44px; }
 #checkout .snusowo-shipping__name { font-size: 13px; }
 #checkout .snusowo-shipping__price { max-width: 80px; }
}
/* PLUS OBRACANY W X */

#checkout .snusowo-shipping__comment-symbol {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 20px;
 width: 20px;
 height: 20px;
}

#checkout .snusowo-shipping__comment-symbol::before {
 content: '+';
 display: block;
 width: 20px;
 height: 20px;
 font-size: 26px;
 line-height: 20px;
 text-align: center;
 transform: rotate(0deg);
 transform-origin: center;
 transition: transform 280ms ease;
}

#checkout .snusowo-shipping__comment[open]
.snusowo-shipping__comment-symbol::before {
 transform: rotate(45deg);
}


/* PŁYNNE ROZWIJANIE I ZWIJANIE KOMENTARZA */

@supports (interpolate-size: allow-keywords) and selector(::details-content) {
 #checkout .snusowo-shipping__comment {
  interpolate-size: allow-keywords;
 }

 #checkout .snusowo-shipping__comment::details-content {
  height: 0;
  overflow: clip;
  transition:
          height 280ms ease,
          content-visibility 280ms allow-discrete;
 }

 #checkout .snusowo-shipping__comment[open]::details-content {
  height: auto;
 }
}
/* =========================================================
   SNUSOWO — PŁATNOŚĆ
   ========================================================= */

#checkout .snusowo-payment__options {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 gap: 16px;
 margin: 0;
 padding: 0;
}

#checkout .snusowo-payment__option {
 min-width: 0;
 margin: 0;
 padding: 0;
 border: 0;
 background: transparent;
}


/* ---------- KLIKALNY KAFELEK ---------- */

#checkout .snusowo-payment__card {
 position: relative;
 display: block;
 min-height: 100px;
 margin: 0;
 padding: 0;
 border: 1px solid #dedfe2;
 border-radius: 12px;
 background: #fff;
 box-shadow: none;
}

#checkout .snusowo-payment__card:has(
  .snusowo-payment__radio:checked
) {
 border-color: var(--snusowo-accent, #1de9b6);
 background: #edfcf7;
 box-shadow: inset 0 0 0 1px var(--snusowo-accent, #1de9b6);
}

#checkout .snusowo-payment__label {
 display: flex;
 align-items: center;
 gap: 20px;
 width: 100%;
 min-height: 100px;
 margin: 0;
 padding: 22px 24px 22px 64px;
 color: #111;
 cursor: pointer;
}


/* ---------- RADIO ---------- */

#checkout .snusowo-payment__radio {
 position: absolute;
 top: 50%;
 left: 24px;
 z-index: 1;
 float: none;
 width: 22px;
 height: 22px;
 margin: 0;
 border: 2px solid #aeb4bc;
 border-radius: 50%;
 background: #fff;
 background-image: none;
 appearance: none;
 transform: translateY(-50%);
 box-shadow: none;
 cursor: pointer;
}

#checkout .snusowo-payment__radio:checked {
 border-color: var(--snusowo-accent, #1de9b6);
 background:
         radial-gradient(
                 circle at center,
                 #111 0 5px,
                 #fff 5.5px
         );
}

#checkout .snusowo-payment__radio:focus {
 box-shadow: none;
}

#checkout .snusowo-payment__card:has(
  .snusowo-payment__radio:focus-visible
) {
 outline: 2px solid #111;
 outline-offset: 3px;
}


/* ---------- LOGO I TEKST ---------- */

#checkout .snusowo-payment__logo {
 display: block;
 flex: 0 0 80px;
 width: 80px;
 height: 44px;
 max-width: none;
 margin: 0;
 object-fit: contain;
 mix-blend-mode: multiply;
}

#checkout .snusowo-payment__text {
 display: flex;
 flex: 1 1 auto;
 flex-direction: column;
 gap: 5px;
 min-width: 0;
}

#checkout .snusowo-payment__name {
 color: #111;
 font-size: 18px;
 font-weight: 700;
 line-height: 1.3;
}

#checkout .snusowo-payment__description {
 color: #606773;
 font-size: 14px;
 font-weight: 400;
 line-height: 1.45;
}


/* ---------- ETYKIETA WYBORU ---------- */

#checkout .snusowo-payment__selected {
 display: none;
 flex: 0 0 auto;
 align-items: center;
 justify-content: center;
 padding: 7px 13px;
 border-radius: 999px;
 background: #c9f8eb;
 color: #08664f;
 font-size: 12px;
 font-weight: 700;
 line-height: 1.3;
 white-space: nowrap;
}

#checkout .snusowo-payment__card:has(
  .snusowo-payment__radio:checked
) .snusowo-payment__selected {
 display: inline-flex;
}


/* ---------- INFORMACJA POD KAFELKIEM ---------- */

#checkout .snusowo-payment__additional {
 margin: 18px 0 0;
 padding: 0;
 border: 0;
 background: transparent;
}

#checkout .snusowo-payment__redirect {
 margin: 0;
 padding: 0;
}

#checkout .snusowo-payment__redirect p {
 margin: 0;
 color: #6b7079;
 font-size: 14px;
 line-height: 1.6;
}


/* ---------- ZGODY ---------- */

#checkout .snusowo-payment__conditions {
 margin: 26px 0 0;
 padding: 0;
}

#checkout .snusowo-payment__condition {
 display: flex;
 align-items: flex-start;
 gap: 12px;
 min-height: 24px;
 margin: 0 0 12px;
 padding: 0;
}

#checkout .snusowo-payment__condition:last-child {
 margin-bottom: 0;
}

#checkout .snusowo-payment__checkbox {
 float: none;
 flex: 0 0 22px;
 width: 22px;
 height: 22px;
 margin: 1px 0 0;
 border: 1px solid #b8bec7;
 border-radius: 5px;
 cursor: pointer;
}

#checkout .snusowo-payment__checkbox:checked {
 border-color: var(--snusowo-accent, #1de9b6);
 background-color: var(--snusowo-accent, #1de9b6);
}

#checkout .snusowo-payment__checkbox:focus-visible {
 outline: 2px solid #111;
 outline-offset: 3px;
 box-shadow: none;
}

#checkout .snusowo-payment__condition-label {
 min-width: 0;
 margin: 0;
 color: #111;
 font-size: 14px;
 line-height: 1.6;
 cursor: pointer;
}

#checkout .snusowo-payment__condition-label a {
 color: #111;
 font-weight: 500;
 text-decoration: underline;
 text-underline-offset: 3px;
}

#checkout .snusowo-payment__condition-label a:hover {
 color: #111;
}


/* ---------- PRZYCISK ZAMÓWIENIA ---------- */

#checkout .snusowo-payment__actions {
 display: flex;
 flex-direction: row;
 justify-content: center;
 width: 100%;
 margin: 26px 0 0;
 padding: 0;
}

#checkout .snusowo-payment__submit {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 280px;
 min-width: 0;
 max-width: 100%;
 min-height: 48px;
 padding: 12px 24px;
 border: 1px solid var(--snusowo-accent, #1de9b6);
 border-radius: 12px;
 background: var(--snusowo-accent, #1de9b6);
 color: #050505;
 font-size: 13px;
 font-weight: 700;
 line-height: 1.4;
 text-transform: none;
 white-space: normal;
 box-shadow: none;
}

#checkout .snusowo-payment__submit:hover,
#checkout .snusowo-payment__submit:active {
 border-color: var(--snusowo-accent, #1de9b6);
 background: var(--snusowo-accent, #1de9b6);
 color: #050505;
}

#checkout .snusowo-payment__submit:disabled,
#checkout .snusowo-payment__submit.disabled {
 opacity: 0.45;
 cursor: not-allowed;
}

#checkout .snusowo-payment__submit:focus-visible {
 outline: 2px solid #111;
 outline-offset: 3px;
}


/* ---------- MOBILE ---------- */

@media (max-width: 767.98px) {
 #checkout .snusowo-payment__label {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 10px;
  min-height: 100px;
  padding: 18px 14px 18px 46px;
 }

 #checkout .snusowo-payment__radio {
  left: 14px;
  width: 20px;
  height: 20px;
 }

 #checkout .snusowo-payment__logo {
  width: 60px;
  height: 36px;
 }

 #checkout .snusowo-payment__name {
  font-size: 16px;
 }

 #checkout .snusowo-payment__description {
  font-size: 12px;
 }

 #checkout .snusowo-payment__selected {
  grid-column: 2;
  justify-self: start;
  padding: 5px 10px;
  font-size: 11px;
 }

 #checkout .snusowo-payment__additional {
  margin-top: 14px;
 }

 #checkout .snusowo-payment__redirect p {
  font-size: 13px;
 }

 #checkout .snusowo-payment__conditions {
  margin-top: 22px;
 }

 #checkout .snusowo-payment__condition-label {
  font-size: 13px;
 }

 #checkout .snusowo-payment__actions {
  margin-top: 22px;
 }

 #checkout .snusowo-payment__actions #payment-confirmation,
 #checkout .snusowo-payment__submit {
  width: 100%;
 }
}
/* RESPEKTOWANIE SYSTEMOWEGO OGRANICZENIA ANIMACJI */

@media (prefers-reduced-motion: reduce) {
 #checkout .snusowo-shipping__comment-symbol::before {
  transition: none;
 }

 #checkout .snusowo-shipping__comment::details-content {
  transition: none;
 }
}
/* =========================================================
   ADDRESS CARD
   ========================================================= */

.snusowo-checkout .address-card {
 position: relative;
 min-width: 0;
 min-height: 200px;
 align-self: start;
 background: #fff;

 border: 2px solid var(--snusowo-bg-inverse);
 border-radius: 12px;

 overflow: hidden;
 transition: border-color .2s ease, background-color .2s ease;
}
.snusowo-checkout
.js-checkout-completed-display
.checkout-steps__edit {
 margin-left: auto;
 font-size: 20px;
 line-height: 1;
}
.snusowo-checkout .address-card__container {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 grid-template-rows: auto auto;
 grid-template-areas:
    "header actions"
    "content content";

 column-gap: 12px;
 align-items: start;

 width: 100%;
 height: auto;
 padding: 20px;
}

/* ukrywamy radio, ale zostaje funkcjonalne */
.snusowo-checkout .address-card .custom-radio {
 position: absolute;
 width: 1px;
 height: 1px;

 overflow: hidden;
 opacity: 0;
 pointer-events: none;
}

/* wybrany adres */
.snusowo-checkout .address-card.selected,
.snusowo-checkout .address-card:has(input[type="radio"]:checked) {
 border-color: var(--snusowo-accent);
 background: color-mix(
         in srgb,
         var(--snusowo-accent) 6%,
         #fff
 );
}

/* check w prawym górnym rogu */
.snusowo-checkout .address-card__content {
 margin-block-end: 0;
 grid-area: content;
 margin: 0;
}
.snusowo-checkout .address-card__header {
 grid-area: header;
 min-width: 0;
 padding-right: 0;
 margin-block-end: 0;
}
.modal-content {
 background: var(--snusowo-bg-page);
 border-radius: 16px;
}
.snusowo-checkout .address-card__actions {
 grid-area: actions;

 display: flex;
 gap: 0;
 justify-content: flex-end;

 margin: 0;
}

/* pióro + kosz */
.snusowo-checkout .address-card__edit,
.snusowo-checkout .address-card__delete {
 display: inline-flex;
 align-items: center;
 justify-content: flex-end;
 width: 36px;
 height: 36px;
 padding: 0;
 color: var(--snusowo-bg-inverse);
 text-decoration: none;
}

.snusowo-checkout .address-card__actions .material-icons {
 font-size: 19px;
}

/* focus klawiatury */
.snusowo-checkout .address-card:focus-within {
 outline: 3px solid rgb(29 233 182 / 22%);
 outline-offset: 2px;
}

/* =========================================================
   ADD ADDRESS CARD
   ========================================================= */

.snusowo-checkout .snusowo-address-add {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 gap: 10px;

 min-width: 0;
 min-height: 200px;
 padding: 20px;

 background: #fff;

 border: 2px solid #111111;
 border-radius: 12px;

 color: var(--snusowo-bg-inverse);
 text-align: center;
 text-decoration: none;

 transition: border-color .2s ease, background-color .2s ease;
}

 border-color: var(--snusowo-accent);
 color: var(--snusowo-bg-inverse);
}


.snusowo-checkout .snusowo-address-add__label {
 font-weight: 600;
}

#search-filters .search-filters__form-label {
 min-width: 0;

 flex: 1 1 auto;

 margin: 0;
 padding: 0;

 color: var(--snusowo-text-primary);

 cursor: pointer;
}

#search-filters .search-filters__link {
 color: #343434;

 font-size: 14px;
 font-weight: 400;
 line-height: 20px;

 text-decoration: none;
}

#search-filters .search-filters__link:is(
 :hover,
 :focus,
 :active
) {
 color: var(--snusowo-text-primary);
 text-decoration: none;
}

#search-filters .facet-label.active .search-filters__link {
 color: var(--snusowo-text-primary);

 font-weight: 600;
}


/* quantity */

#search-filters .search-filters__magnitude {
 margin-left: 4px;

 color: #888;

 font-size: 12px;
 font-weight: 400;
}

/* =========================================================
   DROPDOWN FACETS
   ========================================================= */

#search-filters .search-filters__dropdown-toggle {
 width: 100%;

 min-height: 40px;

 display: flex;
 align-items: center;
 justify-content: space-between;

 padding: 0 12px;

 color: var(--snusowo-text-primary);
 background: #fff;

 border: 1px solid #d8d8d8;
 border-radius: 10px;

 box-shadow: none;

 text-align: left;
 text-transform: none;
}


/* =========================================================
   PRICE SLIDER
   ========================================================= */

#search-filters .search-filters__slider-container {
 margin: 0;
 padding: 0;
}


/*
 * Element, do którego ps_facetedsearch podpina noUiSlider.
 */
#search-filters .search-filters__slider {
 width: auto;

 margin: 8px 10px 0;
}


/* Track */

#search-filters .noUi-target {
 height: 4px;

 background: #d8dadd;

 border: 0;
 border-radius: 999px;

 box-shadow: none;
}


/* Base */

#search-filters .noUi-base,
#search-filters .noUi-connects {
 height: 4px;
}
/* =========================================
   LANGUAGE SELECTOR
   ========================================= */
#_desktop_ps_languageselector {
 order: 3;
}
.snusowo-language-selector {
 position: relative;
}


/* TRIGGER */

.snusowo-language-trigger {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 10px;

 min-width: 70px;
 height: 48px;

 margin: 0;
 padding: 0 14px;

 border: 0;
 border-radius: 12px;

 outline: 0;

 background: var(--snusowo-bg-inverse);
 color: var(--snusowo-text-inverse);

 font: inherit;
 font-weight: 700;
 text-transform: uppercase;

 cursor: pointer;

 box-shadow: none;
}

.snusowo-language-trigger:hover,
.snusowo-language-trigger:focus,
.snusowo-language-trigger:active {
 border: 0;
 outline: 0;

 background: var(--snusowo-bg-inverse);
 color: var(--snusowo-text-inverse);

 box-shadow: none;
}


/* STRZAŁKA */

.snusowo-language-chevron {
 display: block;

 width: 16px;
 height: 16px;

 fill: none;
 stroke: currentColor;
 stroke-width: 2;
 stroke-linecap: round;
 stroke-linejoin: round;

 transition: transform .18s ease;
}

.snusowo-language-selector.is-open .snusowo-language-chevron {
 transform: rotate(180deg);
}


/* MENU */

.snusowo-language-menu {
 position: absolute;
 left: 0;
 z-index: 1000;
 min-width: 100%;
 margin: 0;
 max-height: 0;
 padding: 0;
 overflow: hidden;
 list-style: none;
 background: var(--snusowo-bg-inverse);
 border: 1px solid rgba(255, 255, 255, 0.14);
 border-radius: 12px;
 visibility: hidden;
 pointer-events: none;

 transition:
         max-height .5s cubic-bezier(.4, 0, .2, 1),
         padding .5s cubic-bezier(.4, 0, .2, 1),
         visibility 0s linear .5s;
}
/* =========================================================
   SNUSOWO - O NAS
   ========================================================= */

.page-cms .snusowo-about {
 width: 100%;
 background: #f5f5f5;
 color: #111;
}

.page-cms .snusowo-about *,
.page-cms .snusowo-about *::before,
.page-cms .snusowo-about *::after {
 box-sizing: border-box;
}


/* TYPOGRAFIA */

.page-cms .snusowo-about h1,
.page-cms .snusowo-about h2,
.page-cms .snusowo-about h3,
.page-cms .snusowo-about p {
 margin-top: 0;
}

.page-cms .snusowo-about h1 {
 margin-bottom: 20px;
 color: #111;
 font-size: 44px;
 font-weight: 700;
 line-height: 1.08;
 letter-spacing: -.025em;
}

.page-cms .snusowo-about h2 {
 margin-bottom: 18px;
 color: #111;
 font-size: 34px;
 font-weight: 700;
 line-height: 1.12;
 letter-spacing: -.02em;
}

.page-cms .snusowo-about h3 {
 margin-bottom: 8px;
 color: #111;
 font-size: 16px;
 font-weight: 700;
 line-height: 1.3;
}

.page-cms .snusowo-about p {
 margin-bottom: 18px;
 color: #555;
 font-size: 15px;
 line-height: 1.65;
}


/* EYEBROW */

.page-cms .snusowo-about-label {
 display: flex;
 align-items: center;
 gap: 14px;

 margin-bottom: 16px;

 color: var(--snusowo-accent, #1de9b6);

 font-size: 12px;
 font-weight: 700;
 line-height: 1;
 letter-spacing: .08em;
 text-transform: uppercase;
}

.page-cms .snusowo-about-label::after {
 content: "";
 display: block;
 width: 30px;
 height: 2px;
 background: var(--snusowo-accent, #1de9b6);
}


/* =========================================================
   HERO
   ========================================================= */

.page-cms .snusowo-about-hero {
 display: grid !important;
 grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
 gap: 72px;
 align-items: center;

 margin-bottom: 24px;
 padding: 48px;

 background: #fff !important;
 border-radius: 12px;
}

.page-cms .snusowo-about-hero-copy {
 min-width: 0;
}

.page-cms .snusowo-about-hero-copy p {
 max-width: 640px;
 margin-bottom: 0;
}


/* STATS */

.page-cms .snusowo-about-stats {
 display: grid !important;
 grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

 min-height: 220px;

 border: 1px solid #ededed;
 border-radius: 12px;

 background: #fff;
}

.page-cms .snusowo-about-stat {
 position: relative;

 display: flex !important;
 flex-direction: column;
 align-items: center;
 justify-content: center;

 min-width: 0;
 padding: 30px 22px;

 text-align: center;
}

.page-cms .snusowo-about-stat + .snusowo-about-stat::before {
 content: "";

 position: absolute;
 top: 30px;
 bottom: 30px;
 left: 0;

 width: 1px;
 background: #e7e7e7;
}

.page-cms .snusowo-about-stat strong {
 display: block;
 margin-top: 12px;

 color: #111;
 font-size: 28px;
 font-weight: 700;
 line-height: 1;
}

.page-cms .snusowo-about-stat b {
 margin-top: 5px;

 color: #111;
 font-size: 13px;
 font-weight: 700;
}

.page-cms .snusowo-about-stat span {
 max-width: 145px;
 margin-top: 9px;

 color: #888;
 font-size: 12px;
 line-height: 1.4;
}

.page-cms .snusowo-about-card {
 margin-bottom: 24px;
 background: #fff !important;
 border-radius: 12px;
}

.page-cms .snusowo-about-story {
 display: grid !important;
 grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr) !important;
 gap: 70px;

 padding: 48px;
}

.page-cms .snusowo-about-story-copy p:last-child {
 margin-bottom: 0;
}


/* VALUES */

.page-cms .snusowo-about-values {
 display: flex !important;
 flex-direction: column;
 justify-content: center;
 gap: 4px;

 padding: 4px 0;
}

.page-cms .snusowo-about-value {
 display: grid !important;
 grid-template-columns: 46px minmax(0, 1fr) !important;
 gap: 17px;
 align-items: start;

 padding: 12px 0;
}

.page-cms .snusowo-about-value strong {
 display: block;
 margin-bottom: 4px;

 color: #111;
 font-size: 15px;
 font-weight: 700;
}

.page-cms .snusowo-about-value p {
 margin: 0;

 color: #777;
 font-size: 13px;
 line-height: 1.45;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.page-cms .snusowo-about-benefits {
 margin-bottom: 24px;
 padding: 38px 48px 48px;

 background: #fff !important;
 border-radius: 12px;
}

.page-cms .snusowo-about-benefits-grid {
 display: grid !important;
 grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
 gap: 16px;

 margin-top: 26px;
}

.page-cms .snusowo-about-benefit {
 display: grid !important;
 grid-template-columns: 48px minmax(0, 1fr) !important;
 gap: 18px;

 min-width: 0;
 padding: 28px;

 border: 1px solid #ededed;
 border-radius: 12px;

 background: #fff !important;
}

.page-cms .snusowo-about-benefit p {
 margin-bottom: 0;

 color: #666;
 font-size: 13px;
 line-height: 1.55;
}


/* =========================================================
   KATALOG
   ========================================================= */

.page-cms .snusowo-about-catalog {
 display: grid !important;
 grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr) !important;
 gap: 70px;
 align-items: center;

 margin-bottom: 24px;
 padding: 42px 48px;

 background: #070707 !important;
 border-radius: 12px;

 color: #fff !important;
}

.page-cms .snusowo-about-catalog h2 {
 color: #fff !important;
}

.page-cms .snusowo-about-catalog p {
 max-width: 700px;
 color: rgba(255, 255, 255, .7) !important;
}

.page-cms .snusowo-about-catalog-features {
 padding: 28px;

 border: 1px solid rgba(255,255,255,.10);
 border-radius: 12px;

 background: rgba(255,255,255,.06) !important;
}

.page-cms .snusowo-about-catalog-features > div {
 display: flex !important;
 align-items: center;
 gap: 12px;

 color: #fff;
}

.page-cms .snusowo-about-catalog-features > div + div {
 margin-top: 18px;
}

.page-cms .snusowo-about-catalog-features span {
 display: flex;
 align-items: center;
 justify-content: center;

 flex: 0 0 24px;

 width: 24px;
 height: 24px;

 border-radius: 50%;

 background: var(--snusowo-accent, #1de9b6);
 color: #050505;

 font-size: 14px;
 font-weight: 800;
}


/* =========================================================
   ACCOUNT
   ========================================================= */

.page-cms .snusowo-about-account {
 display: flex !important;
 align-items: center;
 justify-content: space-between;
 gap: 60px;

 padding: 32px 48px;

 background: #fff !important;
 border-radius: 12px;
}

.page-cms .snusowo-about-account h2 {
 margin-bottom: 8px;
 font-size: 28px;
}

.page-cms .snusowo-about-account p {
 max-width: 760px;
 margin-bottom: 0;
 font-size: 14px;
}


/* =========================================================
   BUTTON
   ========================================================= */

.page-cms .snusowo-about-button {
 display: inline-flex !important;
 align-items: center;
 justify-content: center;
 gap: 18px;

 min-height: 46px;
 margin-top: 8px;
 padding: 0 24px;

 border-radius: 12px;

 background: var(--snusowo-accent, #1de9b6) !important;
 color: #050505 !important;

 font-size: 13px;
 font-weight: 700;
 line-height: 1;

 text-decoration: none !important;
}

.page-cms .snusowo-about-account .snusowo-about-button {
 flex: 0 0 auto;
 min-width: 180px;
 margin-top: 0;
}


/* =========================================================
   ICON BASE
   ========================================================= */

.page-cms .snusowo-about-stat-icon,
.page-cms .snusowo-about-value-icon,
.page-cms .snusowo-about-benefit-icon {
 position: relative;

 display: block;

 width: 38px;
 height: 38px;
}

.page-cms .snusowo-about-stat-icon::before,
.page-cms .snusowo-about-value-icon::before,
.page-cms .snusowo-about-benefit-icon::before {
 content: "";

 position: absolute;
 inset: 3px;

 background-color: #111;

 mask-repeat: no-repeat;
 mask-position: center;
 mask-size: contain;

 -webkit-mask-repeat: no-repeat;
 -webkit-mask-position: center;
 -webkit-mask-size: contain;
}


/* BOX */

.page-cms .snusowo-about-icon-box::before {
 inset: 2px;
 background: center / contain no-repeat
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");

 mask: none;
 -webkit-mask: none;
}
.page-cms .snusowo-delivery-intro {
 margin-bottom: 24px;
 padding: 40px 48px;
}

.page-cms .snusowo-delivery-intro p {
 max-width: 720px;
 margin-bottom: 0;
}


/* INFORMACJE O REALIZACJI */

.page-cms .snusowo-delivery-info {
 margin-bottom: 48px;
 padding: 36px 48px;
}

.page-cms .snusowo-delivery-info-heading {
 display: flex;
 align-items: center;
 gap: 12px;

 margin-bottom: 16px;
}

.page-cms .snusowo-delivery-info-heading h2 {
 margin: 0;
 font-size: 20px;
}

.page-cms .snusowo-delivery-info > p {
 margin-bottom: 8px;
}

.page-cms .snusowo-delivery-note {
 margin-bottom: 0 !important;

 color: #999 !important;

 font-size: 13px !important;
 font-style: italic;
}

.ps-searchbar__dropdown {
 right: auto;
 transform: translate(-50%);
 left: 50%;
}
/* =========================================================
   METODY DOSTAWY
   ========================================================= */

.page-cms .snusowo-delivery-methods {
 margin-bottom: 48px;
}

.page-cms .snusowo-delivery-method-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 16px;

 margin-top: 26px;
}

.page-cms .snusowo-delivery-method {
 overflow: hidden;

 border-radius: 12px;

 background: #fff;
}


/* GÓRA KARTY */

.page-cms .snusowo-delivery-method-head {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;

 min-height: 175px;

 padding: 28px 20px 24px;

 text-align: center;
}

.page-cms .snusowo-delivery-method-head h3 {
 margin: 12px 0 7px;

 color: #111;

 font-size: 16px;
 font-weight: 700;
}

.page-cms .snusowo-delivery-method-type {
 color: #777;

 font-size: 10px;
 font-weight: 700;
 line-height: 1.3;
 letter-spacing: .12em;
}


/* CENA */

.page-cms .snusowo-delivery-price {
 padding: 20px;

 border-top: 1px solid #ededed;
 border-bottom: 1px solid #ededed;

 color: #111;

 font-size: 23px;
 font-weight: 700;
 line-height: 1;

 text-align: center;
}


/* SZCZEGÓŁY */

.page-cms .snusowo-delivery-details {
 padding: 18px 22px;
}

.page-cms .snusowo-delivery-details > div {
 display: flex;
 justify-content: space-between;
 gap: 20px;

 padding: 6px 0;

 font-size: 12px;
 line-height: 1.4;
}

.page-cms .snusowo-delivery-details span {
 color: #999;
}

.page-cms .snusowo-delivery-details strong {
 color: #222;

 font-weight: 500;
 text-align: right;
}


/* =========================================================
   CLOCK ICON
   ========================================================= */

.page-cms .snusowo-delivery-icon-clock {
 position: relative;

 display: block;

 width: 38px;
 height: 38px;
}

.page-cms .snusowo-delivery-icon-clock::before {
 content: "";

 position: absolute;
 inset: 3px;

 background: center / contain no-repeat
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* TRUCK */

.page-cms .snusowo-about-icon-truck::before {
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3z'/%3E%3Cpath d='M14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E");

 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3z'/%3E%3Cpath d='M14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E");
}


/* QUALITY */

.page-cms .snusowo-about-icon-quality::before {
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 5-8 5-8-5 8-5Z'/%3E%3Cpath d='m4 12 8 5 8-5'/%3E%3Cpath d='m4 16 8 5 8-5'/%3E%3C/svg%3E");

 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 5-8 5-8-5 8-5Z'/%3E%3Cpath d='m4 12 8 5 8-5'/%3E%3Cpath d='m4 16 8 5 8-5'/%3E%3C/svg%3E");
}


/* SHIELD */

.page-cms .snusowo-about-icon-shield::before {
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 2.7 8.5 7 10 4.3-1.5 7-5.5 7-10V6l-7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");

 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 2.7 8.5 7 10 4.3-1.5 7-5.5 7-10V6l-7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}


/* USERS */

.page-cms .snusowo-about-icon-users::before {
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M3 20c0-4 2.5-7 6-7s6 3 6 7'/%3E%3Cpath d='M15 14c3 0 5 2 5 5'/%3E%3C/svg%3E");

 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M3 20c0-4 2.5-7 6-7s6 3 6 7'/%3E%3Cpath d='M15 14c3 0 5 2 5 5'/%3E%3C/svg%3E");
}


/* GROWTH */

.page-cms .snusowo-about-icon-growth::before {
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 20V13'/%3E%3Cpath d='M10 20V9'/%3E%3Cpath d='M16 20V5'/%3E%3Cpath d='M22 20H2'/%3E%3C/svg%3E");

 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 20V13'/%3E%3Cpath d='M10 20V9'/%3E%3Cpath d='M16 20V5'/%3E%3Cpath d='M22 20H2'/%3E%3C/svg%3E");
}


/* SUPPORT */

.page-cms .snusowo-about-icon-support::before {
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18H4a2 2 0 0 1-2-2V9a7 7 0 0 1 14 0v7a2 2 0 0 1-2 2h-1'/%3E%3Cpath d='M5 10v5'/%3E%3Cpath d='M15 10v5'/%3E%3Cpath d='M15 18c0 2-2 3-4 3h-1'/%3E%3C/svg%3E");

 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18H4a2 2 0 0 1-2-2V9a7 7 0 0 1 14 0v7a2 2 0 0 1-2 2h-1'/%3E%3Cpath d='M5 10v5'/%3E%3Cpath d='M15 10v5'/%3E%3Cpath d='M15 18c0 2-2 3-4 3h-1'/%3E%3C/svg%3E");
}
.page-cms .page-header {
 display: none;
}
/* O NAS - pozwalamy snusowo-container sterować szerokością */
body.page-cms .columns-container.container {
 width: 100%;
 max-width: none;
 margin-left: 0;
 margin-right: 0;
 padding-left: 0;
 padding-right: 0;
}
.page-cms .snusowo-payments-intro p {
 max-width: 720px;
 margin-bottom: 0;
}

.page-cms .snusowo-payment-method {
 display: grid;
 grid-template-columns: 48px minmax(0, 1fr);
 gap: 18px;
 align-items: center;

 margin-top: 24px;
 padding: 24px 28px;

 border: 1px solid #ededed;
 border-radius: 12px;

 background: #fff;
}
.page-cms .snusowo-payments-intro {
 margin-bottom: 24px;
 padding: 40px 48px;
}
.page-cms .snusowo-payment-method h3 {
 margin-bottom: 5px;
}

.page-cms .snusowo-payment-method p {
 margin-bottom: 0;
 font-size: 13px;
}

.page-cms .snusowo-payment-icon {
 display: flex;
 align-items: center;
 justify-content: center;

 width: 38px;
 height: 38px;
}

.page-cms .snusowo-payment-blik {
 width: 42px;
 height: 24px;

 border-radius: 3px;

 background: #111;
 color: #fff;

 font-size: 12px;
 font-weight: 800;
 letter-spacing: .04em;
}
.snusowo-language-selector.is-open .snusowo-language-menu {
 max-height: 200px;
 padding: 6px 0;

 visibility: visible;
 pointer-events: auto;

 transition:
         max-height .5s cubic-bezier(.4, 0, .2, 1),
         padding .5s cubic-bezier(.4, 0, .2, 1),
         visibility 0s;
}
/* ELEMENTY */
.snusowo-language-item {
 margin: 0;
 padding: 0;
}

.snusowo-language-link {
 display: block;

 padding: 8px 14px;

 background: transparent !important;

 color: var(--snusowo-text-inverse) !important;

 font-weight: 500;
 line-height: 1.3;

 text-decoration: none !important;

 transition: color .15s ease;
}


/* TYLKO TEKST ZMIENIA KOLOR */

.snusowo-language-link:hover,
.snusowo-language-link:focus {
 background: transparent !important;
 color: var(--snusowo-accent) !important;

 outline: 0;
}


/* AKTUALNY JĘZYK */

.snusowo-language-link.is-current {
 background: transparent !important;
 color: var(--snusowo-accent) !important;
}
/* Overflow container */

#search-filters .noUi-connects {
 border-radius: 999px;
}


/* Active range */

#search-filters .noUi-connect {
 background: var(--snusowo-accent);
}


/* Handles */

#search-filters .noUi-horizontal .noUi-handle {
 width: 20px;
 height: 20px;

 right: -10px;
 top: -8px;

 background: #fff;

 border: 2px solid var(--snusowo-accent);
 border-radius: 50%;

 box-shadow: none;
}

#search-filters .noUi-horizontal .noUi-handle:active {
 cursor: grabbing;
}


/* Remove native handle lines */

#search-filters .noUi-handle::before,
#search-filters .noUi-handle::after {
 display: none;
}


/* Focus */

#search-filters .noUi-handle:focus {
 outline: 0;

 box-shadow:
         0 0 0 3px rgb(29 233 182 / 16%);
}


/* Price values */

#search-filters .search-filters__slider-values {
 margin-top: 14px;

 color: #111111;

 font-size: 13px;
 font-weight: 400;
 line-height: 18px;
}


/* Hidden inputs used by ps_facetedsearch */

#search-filters .js-faceted-slider-start,
#search-filters .js-faceted-slider-end {
 display: none;
}
/* =========================================================
   SNUSOWO - CATEGORY TREE / LEFT PANEL
   ========================================================= */

.ps-categorytree {
 width: 100%;
 padding: 20px 20px 5px;

 background: var(--snusowo-surface);

 border: 0;
 border-radius: 16px;

 box-shadow: none;
}
/* =========================================================
   CATEGORY TREE - MOBILE COLLAPSE
   ========================================================= */

.category-tree__mobile-toggle {
 width: 100%;

 display: flex;
 align-items: center;
 justify-content: space-between;

 background: transparent;
 border: 0;
 box-shadow: none;

 text-align: left;
 cursor: default;
}

/* strzałka > */
.category-tree__mobile-toggle::after {
 content: "";

 width: 9px;
 height: 9px;

 flex: 0 0 9px;

 margin-left: 16px;

 border-top: 1.5px solid currentColor;
 border-right: 1.5px solid currentColor;

 transform: rotate(45deg);

 transition: transform 180ms ease;
}
/* =========================================================
   SNUSOWO FORM FIELDS
   ========================================================= */

.snusowo-field {
 position: relative;
}


/* LABEL NA RAMCE INPUTA */
.snusowo-field > .form-label {
 position: absolute;
 top: 0;
 left: 12px;
 z-index: 2;
 letter-spacing: 1px;
 margin: 0;
 padding: 4px 6px;
 border: 1px solid #d9d9d9;
 background: #fff;
 color: #111;
 border-radius: 6px;
 font-size: 13px;
 font-weight: 600;
 line-height: 1;

 transform: translateY(-50%);
}


/* ZWYKŁE POLA */
.snusowo-field > .form-control,
.snusowo-field > .form-select {
 min-height: 44px;
 padding: 10px 14px;

 border: 1px solid #d9d9d9;
 border-radius: 10px;

 background: #fff;
 color: #111;

 box-shadow: none;
}


/* PASSWORD */

.snusowo-field--password > .form-label {
 z-index: 2;
}

.snusowo-field__control--password {
 position: relative;
 z-index: 1;
}

.snusowo-field__control--password .form-control:focus {
 z-index: auto;
}

/* TEXTAREA */
.snusowo-field > textarea.form-control {
 min-height: 90px;
}


.snusowo-field > .input-group {
 display: flex;
 flex-wrap: nowrap;
 align-items: stretch;
 overflow: hidden;

 min-height: 44px;

 background: #fff;
 border: 1px solid #d9d9d9;
 border-radius: 12px;
}

.snusowo-field > .input-group .form-control {
 flex: 1 1 auto;
 min-width: 0;
 min-height: 44px;

 border: 0;
 border-radius: 0;
 box-shadow: none;
}
.snusowo-field--voucher > .input-group > .btn {
 flex: 0 0 auto;

 width: auto;
 min-width: 0;

 border: 0;
 border-left: 1px solid #d9d9d9;
 border-radius: 0;
}
.snusowo-field--password > .form-label {
 z-index: 2;
}
.snusowo-field > .input-group:focus-within {
 border-color: #111;
 box-shadow: 0 0 0 1px #111;
}
.snusowo-field > .input-group > .form-control:focus {
 border: 0;
 box-shadow: none;
 outline: 0;
}
.snusowo-field--voucher {
 flex: 1 1 100%;
}
.snusowo-field__control--password {
 position: relative;
 z-index: 1;
}

.snusowo-field__control--password .input-group {
 position: static;
}


/* OPIS / OPCJONALNE */
.snusowo-field > .form-text {
 margin-top: 4px;

 color: #666;
 font-size: 13px;
}
@media (min-width: 768px) {
 .category-tree__mobile-toggle::after {
  display: none;
 }
}

/* =========================================================
   BLOCKCART MODAL
   ========================================================= */

#blockcart-modal .blockcart-modal__dialog {
 display: flex;
 align-items: center;

 width: calc(100% - 24px);
 max-width: 1000px;
 min-height: calc(100% - 24px);

 margin: 12px auto;
}

#blockcart-modal .blockcart-modal__surface {
 max-height: calc(100dvh - 24px);

 overflow-y: auto;

 background: #f5f5f5;
 border: 0;
 border-radius: 16px;
 box-shadow: none;

 scrollbar-width: none;
 -ms-overflow-style: none;
}

#blockcart-modal .blockcart-modal__surface::-webkit-scrollbar {
 display: none;
 width: 0;
 height: 0;
}

/* HEADER */

#blockcart-modal .blockcart-modal__header {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;

 padding: 12px;
}

#blockcart-modal .blockcart-modal__title {
 display: flex;
 align-items: center;
 gap: 12px;

 margin: 0;

 color: #111;
 font-size: 20px;
 font-weight: 700;
 line-height: 1.2;
}

#blockcart-modal .blockcart-modal__title-icon {
 color: #15966c;
 font-size: 28px;
}

#blockcart-modal .blockcart-modal__close {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 auto;

 width: 36px;
 height: 36px;

 margin: 0;
 padding: 0;

 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;

 color: #777;
 cursor: pointer;
}

#blockcart-modal .blockcart-modal__close .material-icons {
 font-size: 26px;
}

/* BODY */

#blockcart-modal .blockcart-modal__body {
 padding: 0 12px 12px;
 overflow: visible;
}

/* GÓRNE KAFLE */

#blockcart-modal .blockcart-modal__top {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
 gap: 12px;
 align-items: stretch;
}

#blockcart-modal .blockcart-modal__product-card,
#blockcart-modal .blockcart-modal__summary-card {
 min-width: 0;
 padding: 12px;

 background: #fff;
 border: 0;
 border-radius: 16px;

 color: #111;
 font-size: 14px;
 line-height: 1.4;
}

/* LEWY KAFEL */

#blockcart-modal .blockcart-modal__product-card {
 display: grid;
 grid-template-columns: 140px minmax(0, 1fr);
 grid-template-rows: minmax(0, 1fr) auto;
 grid-template-areas:
    "media info"
    "button button";
 gap: 12px;
 align-items: start;
}

#blockcart-modal .blockcart-modal__media {
 grid-area: media;
}

#blockcart-modal .blockcart-modal__image {
 display: block;

 width: 140px;
 height: 140px;

 object-fit: contain;
 border-radius: 12px;
}

#blockcart-modal .blockcart-modal__product-info {
 grid-area: info;

 display: flex;
 flex-direction: column;
 gap: 6px;

 min-width: 0;
}

#blockcart-modal .blockcart-modal__name {
 color: #111;
 font-size: 14px;
 font-weight: 700;
 line-height: 1.4;
}

#blockcart-modal .blockcart-modal__price,
#blockcart-modal .blockcart-modal__quantity,
#blockcart-modal .blockcart-modal__property {
 margin: 0;

 color: #333;
 font-size: 14px;
 line-height: 1.4;
}

/* PRAWY KAFEL */

#blockcart-modal .blockcart-modal__summary-card {
 display: flex;
 flex-direction: column;
}

#blockcart-modal .blockcart-modal__summary-content {
 display: flex;
 flex-direction: column;
 gap: 0;

 margin-bottom: 12px;
}

#blockcart-modal .blockcart-modal__nb-products,
#blockcart-modal .blockcart-modal__total {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 gap: 12px;
 align-items: baseline;

 padding: 4px 0;

 color: #333;
 font-size: 14px;
 line-height: 1.4;
}

#blockcart-modal .blockcart-modal__nb-products .value,
#blockcart-modal .blockcart-modal__total .value {
 text-align: right;
 white-space: nowrap;
 font-weight: 700;
}

#blockcart-modal .blockcart-modal__grand-total {
 margin-top: 6px;
 padding-top: 12px;

 border-top: 1px solid #d9d9d9;
}

#blockcart-modal .blockcart-modal__total--bold {
 color: #111;
 font-weight: 700;
}

#blockcart-modal .blockcart-modal__extra:empty {
 display: none;
}

/* CROSS-SELL – NIE DOTYKAMY JEGO WNĘTRZA */

#blockcart-modal .blockcart-modal__recommendations {
 display: block;

 width: 100%;
 margin: 0;
 padding: 0 12px 12px;

 background: transparent;
 border: 0;
 box-shadow: none;
}

#blockcart-modal .blockcart-modal__recommendations > * {
 margin: 0;
}

#blockcart-modal .blockcart-modal__cart-footer-extra {
 width: 100%;
 margin: 0;
 padding: 0;
}
#blockcart-modal .blockcart-modal__product-card > .btn {
 grid-area: button;
 width: 100%;
}
/* =========================================================
   RESPONSYWNOŚĆ
   ========================================================= */
#blockcart-modal .blockcart-modal__continue--mobile {
 display: none;
}
@media (max-width: 767.98px) {
 #blockcart-modal .blockcart-modal__dialog {
  width: calc(100% - 16px);
  min-height: calc(100% - 16px);

  margin: 8px auto;
 }
 #blockcart-modal .blockcart-modal__continue--desktop {
  display: none;
 }

 #blockcart-modal .blockcart-modal__continue--mobile {
  display: block;
  margin-bottom: 12px;
 }
 #blockcart-modal .blockcart-modal__surface {
  max-height: calc(100dvh - 16px);
 }

 #blockcart-modal .blockcart-modal__title {
  font-size: 18px;
 }

 #blockcart-modal .blockcart-modal__top {
  grid-template-columns: minmax(0, 1fr);
 }

 #blockcart-modal .blockcart-modal__product-card {
  grid-template-columns: 110px minmax(0, 1fr);
 }

 #blockcart-modal .blockcart-modal__image {
  width: 110px;
  height: 110px;
 }
}

@media (max-width: 420px) {
 #blockcart-modal .blockcart-modal__product-card {
  grid-template-columns: 90px minmax(0, 1fr);
 }

 #blockcart-modal .blockcart-modal__image {
  width: 90px;
  height: 90px;
 }
}
/* =========================================================
   MOBILE
   ========================================================= */
#index .page-content--home {
 gap: 0;
}
@media (max-width: 767.98px) {

 .ps-categorytree {
  padding: 16px 20px 4px;
 }

 .category-tree__mobile-toggle {
  margin: 0;
  padding: 0;

  cursor: pointer;
 }
 .page-cms .snusowo-about-hero,
 .page-cms .snusowo-about-story,
 .page-cms .snusowo-about-catalog {
  grid-template-columns: 1fr !important;
  gap: 24px;
  padding: 24px 20px;
 }

 /* statystyki zostają obok siebie */
 .page-cms .snusowo-about-stats {
  grid-template-columns: repeat(2, 1fr) !important;
  min-height: 160px;
 }
 #personal-information-tabs .nav-link {
  padding: 0 8px !important;
 }
 #checkout .buttons-wrapper .btn-primary {
  width: 100% !important;
 }
 .page-cms .snusowo-about-stat {
  padding: 20px 12px;
 }

 .page-cms .snusowo-about-stat + .snusowo-about-stat::before {
  top: 20px;
  bottom: 20px;
 }

 /* wartości pod tekstem */
 .page-cms .snusowo-about-values {
  width: 100%;
 }

 /* benefity jeden pod drugim */
 .page-cms .snusowo-about-benefits {
  padding: 24px 20px;
 }

 .page-cms .snusowo-about-benefits-grid {
  grid-template-columns: 1fr !important;
  gap: 12px;
 }

 .page-cms .snusowo-about-benefit {
  min-height: 0;
  padding: 20px;
 }

 /* katalog */
 .page-cms .snusowo-about-catalog {
  align-items: stretch;
 }

 /* końcowe CTA */
 .page-cms .snusowo-about-account {
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
  padding: 24px 20px;
 }
 .product-miniature__inner {
  padding: 8px;
 }
 .page-cms .snusowo-about-account .snusowo-about-button {
  width: 100%;
 }

 /* żeby długie nagłówki nie robiły dziwnych łamań */
 .page-cms .snusowo-about h1,
 .page-cms .snusowo-about h2 {
  max-width: 100%;
 }

 .page-cms .snusowo-about h1 {
  font-size: 32px;
 }

 .page-cms .snusowo-about h2 {
  font-size: 27px;
 }
 body.page-cms.cms-id-4 .snusowo-about .snusowo-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
 }
 .category-tree__mobile-toggle .left-block__title-text {
  padding-bottom: 0;
  border-bottom: 0;
 }

  .ps-categorytree #snusowo-category-tree-content {
   display: grid;

   grid-template-rows: 0fr;

   margin-top: 0;

   opacity: 0;

   transition:
           grid-template-rows 260ms ease,
           opacity 180ms ease,
           margin-top 260ms ease;
  }

  .ps-categorytree
  #snusowo-category-tree-content > nav {
   min-height: 0;

   overflow: hidden;
  }

  .ps-categorytree.is-category-tree-open
  #snusowo-category-tree-content {
   grid-template-rows: 1fr;

   margin-top: 16px;

   opacity: 1;
  }

  .category-tree__mobile-toggle::after {
   transition: transform 260ms ease;
  }

  .ps-categorytree.is-category-tree-open
  .category-tree__mobile-toggle::after {
   transform: rotate(135deg);
  }
 .snusowo-checkout .address__list {
  grid-template-columns: 1fr;
 }

 .snusowo-checkout .snusowo-address-add {
  min-height: 120px;
 }
}

/* =========================================================
   TITLE
   ========================================================= */

.ps-categorytree .left-block__title {
 margin: 0 0 14px;
 padding: 0;

 color: var(--snusowo-text-primary);

 font-size: 20px;
 font-weight: 700;
 line-height: 28px;

 text-transform: none;
}

.ps-categorytree .left-block__title-text,
.ps-categorytree .left-block__title-link {
 display: inline-block;

 padding-bottom: 2px;

 color: var(--snusowo-text-primary);

 border-bottom: 2px solid var(--snusowo-accent);

 text-decoration: none;
}


/* =========================================================
   ROOT LIST
   ========================================================= */

.ps-categorytree .category-tree__list {
 margin: 0;
 padding: 0;
 gap: 0;
 list-style: none;
}

.ps-categorytree
.category-tree__list[data-depth="0"] {
 width: 100%;
}


/* =========================================================
   ROOT ITEMS
   ========================================================= */

.ps-categorytree
.category-tree__list[data-depth="0"]
> .category-tree__item {
 margin: 0;
 padding: 0;

 background: transparent;

 border: 0;
 border-bottom: 1px solid #d7d7d7;
}
.ps-categorytree
.category-tree__list[data-depth="0"]
> .category-tree__item:last-child {
 border-bottom: 0;
}

/* =========================================================
   ITEM HEADER
   ========================================================= */

.ps-categorytree
.category-tree__list[data-depth="0"]
> .category-tree__item
> .category-tree__item-header {
 position: relative;

 width: 100%;
 min-height: 41px;

 display: flex;
 align-items: center;

 margin: 0;
 padding: 0;

 background: transparent !important;

 border: 0;
}


/* =========================================================
   CATEGORY LINK
   ========================================================= */

.ps-categorytree
.category-tree__list[data-depth="0"]
> .category-tree__item
> .category-tree__item-header
> .category-tree__item-link {
 min-width: 0;

 flex: 1 1 auto;

 display: flex;
 align-items: center;

 min-height: 41px;

 margin: 0;
 padding: 8px 8px 8px 0;

 color: var(--snusowo-text-primary);

 background: transparent !important;

 font-size: 16px;
 font-weight: 600;
 line-height: 24px;

 text-decoration: none;
}

.ps-categorytree
.category-tree__item-link:is(
 :hover,
 :focus,
 :active
) {
 color: var(--snusowo-text-primary);

 background: transparent;

 text-decoration: none;
}


/* =========================================================
   ACCORDION BUTTON / CHEVRON
   ========================================================= */

.ps-categorytree
.category-tree__item-header
> .accordion-button {
 position: relative;

 width: 28px;
 min-width: 28px;
 height: 41px;
 min-height: 41px;

 flex: 0 0 28px;

 display: flex;
 align-items: center;
 justify-content: center;

 margin: 0;
 padding: 0;

 color: var(--snusowo-text-primary);

 background: transparent !important;

 border: 0;
 border-radius: 0;

 box-shadow: none !important;
}


/* wywalamy bootstrapową grafikę */
.ps-categorytree
.category-tree__item-header
> .accordion-button::after {
 content: "";

 width: 8px;
 height: 8px;

 flex: 0 0 8px;

 margin: 0;

 background-image: none !important;

 border-top: 1.5px solid currentColor;
 border-right: 1.5px solid currentColor;

 /* > */
 transform: rotate(45deg);

 transition: transform 180ms ease;
}

/* po rozwinięciu: v */
.ps-categorytree
.category-tree__item-header
> .accordion-button:not(.collapsed)::after {
 transform: rotate(135deg);
}


/* wszystkie stany buttona */
.ps-categorytree
.category-tree__item-header
> .accordion-button:is(
 :hover,
 :focus,
 :active
) {
 color: var(--snusowo-text-primary);

 background: transparent !important;

 border: 0;

 box-shadow: none !important;
}


/* =========================================================
   SUBCATEGORIES
   ========================================================= */

.ps-categorytree .accordion-collapse {
 border: 0;
}

.ps-categorytree .accordion-body {
 margin: 0;
}

.ps-categorytree
.category-tree__list[data-depth]:not([data-depth="0"])
.category-tree__item {
 margin: 0;
 padding: 0;

 border: 0;
}

.ps-categorytree
.category-tree__list[data-depth]:not([data-depth="0"])
.category-tree__item-link {
 display: block;

 padding: 6px 0;

 color: #111111;

 font-size: 14px;
 font-weight: 500;
 line-height: 20px;

 text-decoration: none;
}

.ps-categorytree
.category-tree__list[data-depth]:not([data-depth="0"])
.category-tree__item-link:hover {
 color: var(--snusowo-text-primary);
}
/* =========================================================
   CATEGORY - SORTING
   ========================================================= */

body#category .products__selection {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 24px;
}

/* wywalamy "Sortuj wg." */

body#category .products__sort-label {
 display: none !important;
}

/* szerokość całego dropdownu */

.products__sort-dropdown {
 width: 240px;
}

.products__sort-dropdown .dropdown-menu {
 min-width: 240px !important;
}
body#category .d-none .d-xl-flex{
 display: none;
}
/* przycisk otwierający */
/* Search clear - ukryty gdy input pusty */
#ps_searchbar .snusowo-search-clear {
 display: none !important;
}

/* pokaż X dopiero gdy input faktycznie ma treść */
#ps_searchbar
.ps-searchbar__input:not(:placeholder-shown)
+ .snusowo-search-clear {
 display: flex !important;
}
.products__sort-dropdown .dropdown-toggle {
 display: flex;
 align-items: center;
 justify-content: space-between;
 font-size: .875rem;
 white-space: nowrap;
}
.products__count {
 display: none;
}
.form-select {
 border-radius: 12px;
}
#checkout .buttons-wrapper .btn-primary {
 width: fit-content;
 min-width: 170px;
}
#checkout .buttons-wrapper--end,
#checkout .buttons-wrapper--split {
 justify-content: center;
}

/* =========================================================
   SNUSOWO CHECKOUT
   ========================================================= */

body#checkout {
 background: #f5f5f5;
}


/* MAIN WRAPPER
--------------------------------------------------------- */

.snusowo-checkout {
 padding-top: 32px;
 padding-bottom: 64px;
}


/* TWO COLUMNS
--------------------------------------------------------- */

.snusowo-checkout__layout {
 display: flex;
 align-items: flex-start;
 gap: 28px;
}
.snusowo-checkout__main {
 flex: 1 1 auto;
 min-width: 0;

 display: flex;
 flex-direction: column;
 gap: 12px;
}

.snusowo-checkout__aside {
 flex: 0 0 30%;
 min-width: 0;
 position: sticky;
 top: 100px;
}


/* CURRENT CHECKOUT STEP
--------------------------------------------------------- */

.snusowo-checkout__current {
 background: #fff;
 border-radius: 16px;
 padding: 20px;
}


/* STEPS BELOW CURRENT CONTENT
--------------------------------------------------------- */
#personal-information-tabs {
 display: inline-flex;
 align-items: stretch;
 width: fit-content;
 max-width: 100%;
 gap: 0;
 padding: 0;

 list-style: none;

 border: 1px solid #d9d9d9;
 border-radius: 12px;
 overflow: hidden;

 background: #fff;
}

#personal-information-tabs .nav-item {
 margin: 0;
 padding: 0;
}

#personal-information-tabs .nav-link {
 display: inline-flex;
 align-items: center;
 justify-content: center;

 min-height: 30px;
 padding: 0 20px;

 border: 0;
 border-bottom: 0 !important;
 border-radius: 0;
 margin: 0;

 background: #fff;
 color: #111;

 font-size: 16px;
 font-weight: 600;
 line-height: 1;
 text-decoration: none;

 white-space: nowrap;
 box-shadow: none;
}

#personal-information-tabs .nav-link:hover,
#personal-information-tabs .nav-link:focus {
 border-bottom: 0 !important;
 box-shadow: none;
 color: #111;
}

#personal-information-tabs .nav-link.active,
#personal-information-tabs .show > .nav-link {
 background: #050505;
 color: #fff;
 border-bottom: 0 !important;
}

/* opcjonalnie jeśli chcesz lekki separator między segmentami */
#personal-information-tabs .nav-item + .nav-item .nav-link {
 border-left: 1px solid #d9d9d9;
}
.snusowo-checkout__steps {
 width: 100%;
}


.snusowo-checkout__summary {
 background: #fff;
 border-radius: 16px;
 padding: 20px !important;
}
.cart-summary__total {
 margin-block-end: 0 !important;
}
.snusowo-field--password .form-control {
 border-radius: 12px;
 min-height: 44px;
}
.form-control:focus {
 border: 2px solid #111111;
 box-shadow: none;
}
.cart-summary__total {
 border-bottom: none;
}
#checkout .snusowo-checkout__summary .cart-summary__total {
 padding-block-start: .5rem;
 padding-block-end: 0;
 margin-block-end: 0 !important;
 border-bottom: 0;
}
/* =========================================================
   CHECKOUT STEPS
   ========================================================= */

.snusowo-checkout .checkout-steps {
 width: 100%;
 margin: 0;
 padding: 0;
}

.snusowo-checkout .checkout-steps__list {
 display: flex;
 flex-direction: column;
 gap: 12px;

 width: 100%;
 margin: 0;
 padding: 0;

 list-style: none;
}


/* RESET STARYCH STYLI HUMMINGBIRDA */
.snusowo-checkout .checkout-steps__step {
 position: static;

 display: block;

 width: 100%;
 margin: 0;
 padding: 0;

 border: 0;
}

.snusowo-checkout .checkout-steps__step::before,
.snusowo-checkout .checkout-steps__step::after {
 content: none;
 display: none;
}


/* CAŁY BIAŁY PASEK */
.snusowo-checkout .checkout-steps__btn {
 position: static;

 display: flex;
 align-items: center;
 justify-content: flex-start;

 width: 100%;
 min-height: 80px;

 gap: 10px;
 margin: 0;
 padding: 0 20px;

 background: #fff;
 border: 0;
 border-radius: 16px;

 color: #111;
 font: inherit;
 text-align: left;
 text-decoration: none;

 transform: none;

 cursor: not-allowed;
}
.snusowo-checkout .checkout-steps,
.snusowo-checkout .checkout-steps__list,
.snusowo-checkout__steps {
 background: transparent;
}
/* =========================================================
   CHECKOUT STEP POSITION
   ========================================================= */

.snusowo-checkout__steps--completed,
.snusowo-checkout__steps--upcoming {
 width: 100%;
}


/* UKOŃCZONE KROKI */

.snusowo-checkout__steps--completed .checkout-steps__btn {
 cursor: pointer;
}


/* PRZYSZŁE KROKI */

.snusowo-checkout .checkout-steps__btn.is-locked {
 cursor: not-allowed;
}


/* nie zmieniamy koloru na hover */

.snusowo-checkout .checkout-steps__btn:hover {
 background: #fff;
}
/* NUMEREK */
.snusowo-checkout .checkout-steps__number {
 position: static;

 flex: 0 0 32px;

 display: inline-flex;
 align-items: center;
 justify-content: center;

 width: 32px;
 height: 32px;

 margin: 0;
 padding: 0;

 background: transparent;

 border: 2px solid #b7b7b7;
 border-radius: 10px;

 color: #b7b7b7;
 font-size: 20px;
 font-weight: 500;
 line-height: 1;
 transform: none;
}


/* NAZWA ETAPU */
.snusowo-checkout .checkout-steps__title {
 position: static;

 flex: 0 1 auto;

 width: auto;
 margin: 0;
 padding: 0;

 color: #b7b7b7;

 font-size: 20px;
 font-weight: 500;
 line-height: 1.3;
 text-align: left;

 transform: none;
}
/* UKOŃCZONE / KLIKALNE ETAPY */
.snusowo-checkout .checkout-steps__step.is-completed .checkout-steps__number {
 color: #111;
 border-color: #111;
}

.snusowo-checkout .checkout-steps__step.is-completed .checkout-steps__title {
 color: #111;
}

.snusowo-checkout .checkout-steps__step.is-completed .checkout-steps__btn {
 cursor: pointer;
}
.snusowo-checkout__summary .accordion-button,
.snusowo-checkout__summary a,
.snusowo-checkout__summary a:hover {
 color: #111;
}
/* =========================================================
   PASSWORD FIELD
   ========================================================= */

.snusowo-field--password .input-group {
 display: flex;
 align-items: stretch;
 overflow: hidden;

 border: 1px solid #d9d9d9;
 border-radius: 12px;

 background: #fff;
}

/* INPUT */
.snusowo-field--password .form-control {
 flex: 1 1 auto;

 min-width: 0;
 min-height: 44px;

 border: 0;
 border-radius: 0;

 box-shadow: none;
}

/* EYE BUTTON */
.snusowo-field--password .password-field__toggle {
 flex: 0 0 56px;

 border: 0;
 border-left: 1px solid #d9d9d9;
 border-radius: 0;

 background: var(--snusowo-accent);
 color: #111;
}

/* FOCUS NA CAŁĄ GRUPĘ */
.snusowo-field--password .input-group:focus-within {
 border-color: #111;
 box-shadow: 0 0 0 1px #111;
}

/* żeby globalny focus inputa nie robił drugiej ramki */
.snusowo-field--password .form-control:focus {
 border: 0;
 box-shadow: none;
 outline: 0;
}
.form-check-input:checked {
 background-color: var(--snusowo-text-primary);
 border-color: var(--snusowo-text-primary);
}
.brand {
 border: none;
 background: #fff;
 border-radius: 16px;
}
.brand a{
 color: var(--snusowo-text-primary);
 font-weight: 550;
}
@media (max-width: 767.98px) {
 .snusowo-checkout__layout {
  flex-direction: column;
  gap: 16px;
 }

 .snusowo-checkout__main,
 .snusowo-checkout__aside {
  width: 100%;
  flex: none;
 }
 /*footer*/
 /* logo */
 .snusowo-footer-brand {
  display: flex;
  justify-content: center;
  margin: 0 0 24px;
 }

 .snusowo-footer-brand__logo {
  width: 140px;
  height: 44px;
 }

 .snusowo-footer-brand__logo > a {
  width: 140px;
  height: 44px;
 }

 /* FOOTER CONTENT */

 .footer__content {
  display: block;
  margin: 0;
  padding: 0;
 }

 /*ACCORDION ROWS */

 .footer__content .footer-block {
  width: 100%;

  border-bottom: 1px solid #222222;
 }

 .footer__content .footer-block__title {
  position: relative;

  width: 100%;
  min-height: 56px;

  display: flex;
  align-items: center;

  margin: 0;
  padding: 0 36px 0 0;

  color: var(--snusowo-text-inverse);

  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
 }
 /* przycisk/strzałka collapse z Hummingbirda */
 .footer__content .footer-block__title--toggle > button {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;

  margin: 0;
  padding: 0;

  background: transparent;
  border: 0;

  color: var(--snusowo-text-inverse);
 }

 .footer__content
 .footer-block__title--toggle
 > button
 .material-icons {
  position: absolute;

  top: 50%;
  right: 0;

  font-size: 22px;

  transform: translateY(-50%);
 }

 /* EXPANDED CONTENT */

 .footer__content .footer-block__content {
  padding: 0 0 20px;
  color: #cfcfcf;
 }

 .footer__content ul {
  padding: 0 0 20px;
 }

 /* CONTACT */

 .snusowo-footer-contact address {
  margin: 0 0 12px;

  font-size: 13px;
  line-height: 20px;
 }

 .ps-contactinfo__phone,
 .ps-contactinfo__fax,
 .ps-contactinfo__email {
  margin-bottom: 8px;
 }

 /* FOOTER BOTTOM*/

 .footer__bottom-container {
  margin: 0;
  padding: 16px 20px;
  background-color: var(--snusowo-bg-inverse);
  color: var(--snusowo-text-inverse);
 }

 .footer__copyright {
  font-size: 10px;
  line-height: 14px;
 }

 .breadcrumb__wrapper {
  padding: 0;
 }

 .breadcrumb__wrapper > .container {
  max-width: none;

  margin: 0;
  padding: 0 20px;

  background: var(--snusowo-bg-page);
 }

 .breadcrumb {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 12px 0;
 }

 /* Ukrycie całej ścieżki */

 .breadcrumb-item {
  display: none;
 }

 /* Wyświetlenie tylko przedostatniego elementu */
 #blockcart-modal .blockcart-modal__top {
  margin: 0;
 }

 #blockcart-modal
 .blockcart-modal__top
 > .blockcart-modal__product {
  padding: 16px;

  background: #fff;

  border: 1px solid #e5e5e5;
  border-radius: 16px;
 }
 .breadcrumb-item:nth-last-child(2) {
  display: block;

  margin: 0;
  padding: 0;
 }

 /* Usunięcie separatora Bootstrapa */

 .breadcrumb-item::before {
  content: none !important;
 }

 /* Link powrotny */

 .breadcrumb-item:nth-last-child(2) .breadcrumb-link {
  max-width: 100%;
  min-height: 36px;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: #6f6f6f;

  font-size: 12px;
  font-weight: 600;
  line-height: 16px;

  letter-spacing: 0.2px;
  text-transform: none;
  text-decoration: none;
 }

 /* Łagodny chevron */

 .breadcrumb-item:nth-last-child(2) .breadcrumb-link::before {
  content: "";

  width: 18px;
  height: 18px;

  flex: 0 0 18px;

  background-color: currentColor;

  -webkit-mask:
          url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 18l-6-6 6-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%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'%3E%3Cpath d='M15 18l-6-6 6-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
          center / contain no-repeat;

  opacity: 0.8;
 }

 .product-carousel__header {
  margin-bottom: 20px;
 }

 .product-carousel__header .section-title {
  font-size: 22px;
  line-height: 28px;
 }
 /* Układ mobilny wspólny dla stron z tym kontenerem */
 .snusowo-container > .row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
 }

 /* Pełna szerokość kolumn */
 .snusowo-container > .row > div {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
 }

 .snusowo-container #left-column {
  margin-bottom: 16px;
 }

 @media (max-width: 767.98px) {
  .products__sort {
   width: 100%;
  }

  #search_filter_toggler {
   flex: 1 1 auto;
   width: auto;
   max-width: none;
   font-size: .875rem;
  }
  .product-carousel__controls {
   display: none;
  }

  .product-carousel__container {
   gap: 12px;
  }

  .product-carousel__slide {
   flex-basis: calc((100% - 12px) / 2);
  }

  .product-carousel__pagination-count {
   display: flex;
   align-items: center;
   gap: 4px;

   color: var(--snusowo-text-primary);

   font-size: 14px;
   font-weight: 600;
   line-height: 20px;
  }

 }
 .ps-emailsubscription {
  padding: 12px 12px !important;
 }

 .ps-emailsubscription .h3 {
  margin-bottom: 14px;

  font-size: 18px;
  line-height: 24px;
 }

 .ps-emailsubscription input[type='submit'] {
  padding: 0 12px;

  font-size: 11px;
 }
 .ps-categoryproducts.product-carousel {
  margin-block-end: 0;
 }

 /* ---------- GALLERY FLAGS ---------- */

 .product__gallery-top {
  width: 100%;
  height: auto;
  min-height: 44px;
  padding: 16px 16px 0;
 }

 .product__gallery-top:not(:has(.product-flags > li)) {
  display: none;
 }
 /* PDP PANELS - MOBILE ONLY */

 /* PDP - THUMBNAILS */

 .product__thumbnails {
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 12px 16px 16px;
  overflow: hidden;
 }

 .page-product .product__images {
  margin-block-end: 0;
 }

 .product__thumbnails-list {
  height: auto;
  min-height: 0;

  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;

  padding-bottom: 2px;

  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
 }

 .product__thumbnails-list::-webkit-scrollbar {
  display: none;
 }

 .product__thumbnail {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  scroll-snap-align: start;
 }

 .product__thumbnail img,
 .product__thumbnail-image {
  width: 56px;
  height: 56px;
 }
 /* PDP - PRIMARY LAYOUT*/
 .product__container {
  width: 100%;
  max-width: 760px;

  display: flex;
  flex-direction: column;
  gap: 20px;

  margin: 0 auto;
  padding: 0;
 }

 /* PDP - GALLERY PANEL */

 .product__left {
  order: 1;
  flex: none;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  padding: 0;
  background: var(--snusowo-surface);
  border-radius: 16px;
  overflow: hidden;
 }

 .product__gallery-count {
  display: none;
 }

 /* ---------- GALLERY HEIGHT RESET ---------- */

 .product__left .product__images,
 .product__left .product__carousel,
 .product__left .carousel-inner,
 .product__left .carousel-item {
  height: auto;
  min-height: 0;
 }

 .product__left .carousel-item.active {
  display: flex;
  justify-content: center;
 }

 /* ---------- MAIN IMAGE ---------- */

 .product__left .product__main-image {
  width: min(100%, 320px);
  height: min(
          calc(
                  100vw
                  - var(--snusowo-page-gutter)
                  - var(--snusowo-page-gutter)
          ),
          320px
  );
  display: block;
  margin: 0 auto;
  object-fit: contain;
 }
 /* PDP - PURCHASE PANEL */
 .product__right {
  order: 2;
  flex: none;

  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;

  margin-bottom: 20px;
  padding: 20px;

  background: var(--snusowo-surface);
  border-radius: 16px;
 }

 .product__right .product__manufacturer {
  margin: 0 0 10px;
 }

 .product__right .product__manufacturer a {
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0.3px;
 }

 /* ---------- TITLE ---------- */

 .product__right .product__name {
  margin: 0 0 14px;
  padding: 0;
  font-size: 28px;
  line-height: 32px;
  text-transform: none;
 }

 /* ---------- RATING ---------- */

 .product__rating-slot {
  min-height: 0;
  margin: 0 0 14px;
 }

 .product__rating-slot:not(:has(*)) {
  display: none;
 }

 /* ---------- PRICE ---------- */

 .product__right .product-prices {
  margin: 0 0 16px;
  padding: 0;
 }

 .product__right .current-price {
  margin: 0;
 }

 .product__right .current-price-value {
  color: var(--snusowo-text-primary);
  font-size: 24px;
  font-weight: 800;
  line-height: 28px;
 }

 .product__right .tax-shipping-delivery-label {
  display: block;
  margin-top: 4px;
  color: #747474;
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
 }
 /* ---------- SHORT DESCRIPTION ---------- */
 .product__right .product__description-short {
  margin: 0 0 16px;
  padding: 0 0 16px;
  font-size: 14px;
  line-height: 21px;
 }

 /* ---------- AVAILABILITY ---------- */

 .product__right .product__availability {
  margin: 0 0 16px;
  padding: 0;
 }

 .product__right .product__availability-status--in-stock {
  min-height: 40px;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 10px;
 }

 .product__right .product__availability-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
 }

 .product__right .product__availability-text {
  font-size: 12px;
 }

 .product__right .product__availability-separator {
  margin-inline: 2px;
 }

 /* UANTITY + ADD TO CART*/

 .product__right .product__actions-qty-add {
  gap: 8px;
 }

 /* ---------- QUANTITY ---------- */

 .product__right .product-actions__quantity {
  width: 104px;
  min-width: 104px;
  flex: 0 0 104px;
 }
 .product__right .quantity-button__group {
  width: 100%;
  height: 48px;
 }
 .product__right .quantity-button__group > .btn {
  width: 32px;
  height: 100%;
  flex: 0 0 32px;
  font-size: 16px;
 }

 .product__right .quantity-button__group > .form-control {
  width: auto;
  height: 100%;
  flex: 1 1 auto;
  font-size: 14px;
  font-weight: 700;
  line-height: 16px;
 }
 /* ---------- ADD TO CART ---------- */
 .product__right .product__add-to-cart-button {
  height: 48px;
  gap: 6px;
  padding: 0 10px;
  font-size: 13px;
  line-height: 15px;
  white-space: nowrap;
 }

 .product__add-to-cart-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
 }
 /* PURCHASE REASSURANCE*/
 .product__right .product__purchase-reassurance {
  height: auto;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
 }

 .product__right .product__purchase-reassurance-item {
  min-width: 0;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  color: #424242;

  background: var(--snusowo-bg-page);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 600;
  line-height: 14px;
  white-space: normal;
 }

 /* Trzecia informacja pod dwiema pierwszymi */

 .product__right .product__purchase-reassurance-item:last-child {
  grid-column: 1 / -1;
 }
 .layout-left-column .products,
 .layout-right-column .products {
  gap: 12px;
 }

 body#cart .snusowo-cart-line__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
 }

 body#cart .snusowo-cart-line__info {
  align-self: start;
  padding-top: 0;
  margin-top: 0;
 }

 body#cart .snusowo-cart-line__info .product-line__title {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1.3;
 }
 .cart-grid__content {
  margin-block-end: 12px;
 }
 body#cart .snusowo-cart-line__controls {
  gap: 8px;
 }
 .snusowo-cart__products-card {
  padding: 12px;
 }
 body#cart .product-line {
  gap: 12px;
 }
 body#cart .cart__item + .cart__item .product-line {
  padding-top: 12px;
 }
 body#cart .snusowo-cart-line__controls {
  grid-template-columns: auto 90px 36px;
 }
 .page-cms .snusowo-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
 }
 .page-cms .snusowo-payments-intro {
  padding: 24px 20px;
 }

 .page-cms .snusowo-payment-method {
  padding: 20px;
 }
 .page-cms .snusowo-delivery-intro,
 .page-cms .snusowo-delivery-info {
  margin-left: 0;
  margin-right: 0;

  padding: 24px 20px;
 }

 .page-cms .snusowo-delivery-methods {
  padding-left: 20px;
  padding-right: 20px;
 }

 .page-cms .snusowo-delivery-method-grid {
  grid-template-columns: 1fr;
  gap: 12px;
 }

 .page-cms .snusowo-delivery-method-head {
  min-height: 0;
  padding: 24px 20px;
 }
 .product__left .product__carousel .product__zoom {
  display: none;
 }
 .page-cms .snusowo-delivery-support {
  margin-left: 0;
  margin-right: 0;
 }
}

/* =========================================================
   MOBILE SEARCH OFFCANVAS
   ========================================================= */

#searchCanvas.ps-searchbar__offcanvas {
 --bs-offcanvas-height: 64px;

 width: 100%;
 height: 64px !important;
 min-height: 64px;
 max-height: 64px;

 padding: 0;

 background: var(--snusowo-bg-inverse);
 border: 0;

 overflow: visible;
}

/* Zerowanie domyślnego układu Bootstrapa */

#searchCanvas .offcanvas-header,
#searchCanvas .offcanvas-body {
 position: static;

 margin: 0;
 padding: 0;

 overflow: visible;
}

#searchCanvas .offcanvas-title {
 display: none;
}

/* ---------- SEARCHBAR ---------- */

#searchCanvas .ps-searchbar {
 position: absolute;
 top: 12px;
 left: var(--snusowo-page-gutter);
 right: calc(var(--snusowo-page-gutter) + 52px);

 width: auto;
 height: 40px;

 margin: 0;
 padding: 0;
}

#searchCanvas .ps-searchbar__form {
 position: relative;

 width: 100%;
 height: 40px;

 display: flex;
 align-items: center;

 margin: 0;
 padding: 0;

 background: var(--snusowo-bg-dark);
 border-radius: 12px;

 overflow: hidden;
}

/* ---------- MAGNIFIER ---------- */

#searchCanvas .ps-searchbar__magnifier {
 position: absolute;
 top: 50%;
 left: 12px;

 width: 20px;
 height: 20px;

 display: flex;
 align-items: center;
 justify-content: center;

 margin: 0;

 color: var(--snusowo-text-inverse);

 font-size: 20px;
 line-height: 20px;

 transform: translateY(-50%);
 pointer-events: none;

 z-index: 2;
}

/* ---------- INPUT ---------- */

#searchCanvas .ps-searchbar__input {
 width: 100%;
 height: 40px;
 min-width: 0;

 margin: 0;
 padding: 0 16px 0 44px;

 color: var(--snusowo-text-inverse);
 background: #1a1a1a;

 border: 0;
 border-radius: 12px;
 outline: 0;
 box-shadow: none;

 font-size: 14px;
 font-weight: 400;
 line-height: 20px;

 appearance: none;
 -webkit-appearance: none;
}

#searchCanvas .ps-searchbar__input::placeholder {
 color: rgba(255, 255, 255, 0.55);
 opacity: 1;
}

#searchCanvas .ps-searchbar__input:focus {
 color: var(--snusowo-text-inverse);
 background: var(--snusowo-bg-dark);

 border: 0;
 outline: 0;
 box-shadow: none;
}

/* Usunięcie natywnego X z inputa type="search" */

#searchCanvas
input[type="search"]::-webkit-search-cancel-button {
 display: none;

 appearance: none;
 -webkit-appearance: none;
}

/* ---------- CLOSE BUTTON ---------- */

#searchCanvas
:is(
  .btn-close,
  .js-search-offcanvas-close,
  [data-bs-dismiss="offcanvas"]
) {
 position: absolute;
 top: 12px;
 right: var(--snusowo-page-gutter);

 width: 40px;
 height: 40px;

 display: block;

 margin: 0;
 padding: 0;

 color: transparent;
 background-color: var(--snusowo-accent);
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 6L18 18M18 6L6 18' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
 background-repeat: no-repeat;
 background-position: center;
 background-size: 22px 22px;

 border: 0;
 border-radius: 12px;
 outline: 0;
 box-shadow: none;

 font-size: 0;
 line-height: 0;

 opacity: 1;

 appearance: none;
 -webkit-appearance: none;
}

#searchCanvas
:is(
  .btn-close,
  .js-search-offcanvas-close,
  [data-bs-dismiss="offcanvas"]
):is(:hover, :focus, :active) {
 background-color: var(--snusowo-accent);
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 6L18 18M18 6L6 18' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");

 border: 0;
 outline: 0;
 box-shadow: none;

 opacity: 1;
}

/* =========================================================
   CATEGORY PAGE - 30 / 70 COLUMNS
   ========================================================= */
@media (min-width: 768px) {
 .snusowo-container > .row > #left-column {
  flex: 0 0 30%;
  width: 30%;
  max-width: 30%;
 }
.snusowo-container > .row > #left-column {
  flex: 0 0 30%;
  width: 30%;
  max-width: 30%;
 }

.snusowo-container > .row > #center-column {
  flex: 0 0 70%;
  width: 70%;
  max-width: 70%;
 }
}
.snusowo-category-seo a {
 color: var(--snusowo-accent);
 font-weight: 700;
 text-decoration: none;
}

.snusowo-category-seo a:hover {
 text-decoration: none;
}
@media (min-width: 768px) {

 #_desktop_ps_searchbar {
  display: flex;
  align-items: center;
 }

 #_desktop_ps_searchbar .ps-searchbar,
 #_desktop_ps_searchbar .ps-searchbar__form {
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-width: 0;

  margin: 0;
  padding: 0;
 }

 #_desktop_ps_searchbar .ps-searchbar__form {
  position: relative;
 }

 #_desktop_ps_searchbar .ps-searchbar__input {
  appearance: none;

  width: 100%;
  height: 40px;
  min-width: 0;

  margin: 0;
  padding: 0 16px;

  color: var(--snusowo-text-inverse);
  background: #1a1a1a;

  border: 0;
  border-radius: 12px;
  outline: 0;
  box-shadow: none;

  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
 }

 #_desktop_ps_searchbar .ps-searchbar__input::placeholder {
  color: rgba(255, 255, 255, 0.7);
  opacity: 1;
 }

 #_desktop_ps_searchbar .ps-searchbar__input:focus {
  color: var(--snusowo-text-inverse);
  background: var(--snusowo-bg-dark);

  border: 0;
  outline: 0;
  box-shadow: none;
 }

 #_desktop_ps_searchbar .ps-searchbar__magnifier {
  display: none;
 }

 #_desktop_ps_searchbar .ps-searchbar__clear {
  position: absolute;
  top: 50%;
  right: 8px;

  transform: translateY(-50%);
 }

 .product__container {
  width: 100%;
  max-width: 1280px;

  display: grid;
  grid-template-columns:
  minmax(0, 16fr)
  minmax(0, 15fr);
  align-items: stretch;
  gap: clamp(24px, 2.5vw, 40px);

  margin: 0 auto 64px;
  padding: 0;
 }

 /* ---------- LEFT / GALLERY CARD ---------- */

 .product__left {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;

  padding: clamp(20px, 1.5vw, 24px);

  background: var(--snusowo-surface);
  border-radius: 16px;
 }

 /* ---------- RIGHT / PURCHASE CARD ---------- */

 .product__right {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;

  padding: clamp(24px, 2vw, 32px);

  background: var(--snusowo-surface);
  border-radius: 16px;
 }

 .product__left .product__images {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
 }

 /* ---------- GALLERY TOP ---------- */

 .product__gallery-top {
  width: 100%;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  margin: 0;
  padding: 0;
 }

 .product__gallery-count {
  color: #707070;

  font-size: 12px;
  font-weight: 600;
  line-height: 14px;

  white-space: nowrap;
 }

 /* ---------- MAIN IMAGE ---------- */

 .product__left .product__carousel {
  width: 100%;
  height: 496px;

  margin: 0;
  padding: 0;

  background: transparent;
  border-radius: 12px;

  overflow: hidden;
 }

 .product__left .carousel-inner,
 .product__left .carousel-item {
  width: 100%;
  height: 100%;
 }

 .product__left .carousel-item picture {
  width: 100%;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;
 }

 .product__left .product__main-image {
  width: min(100%, 390px);
  height: auto;
  aspect-ratio: 1 / 1;

  max-width: 390px;
  max-height: 390px;

  display: block;
  object-fit: contain;

  margin: 0 auto;
 }

 /* strzałek i zoomu nie ma w projekcie */
 .product__left .product__carousel .carousel-control-prev,
 .product__left .product__carousel .carousel-control-next,
 .product__left .product__carousel .product__zoom {
  display: none;
 }

 /* ---------- THUMBNAILS ---------- */

 .product__left .product__thumbnails {
  width: 100%;
  height: 88px;

  margin: 0;
  padding: 0;
 }

 .product__left .product__thumbnails-list {
  height: 88px;

  align-items: flex-start;
  gap: 12px;
 }

 .product__left .product__thumbnail {
  width: 88px;
  height: 88px;

  flex: 0 0 88px;
 }

 .product__left .product__thumbnail-image {
  width: 64px;
  height: 64px;
 }

 /* ---------- BRAND ---------- */

 .product__right .product__manufacturer {
  margin: 0 0 14px;
 }

 .product__right .product__manufacturer a {
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
 }

 /* ---------- TITLE ---------- */

 .product__right .product__name {
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  font-size: 38px;
  line-height: 44px;
  text-transform: uppercase;
 }

 /* ---------- RATING SLOT ---------- */

 .product__rating-slot {
  min-height: 20px;

  margin: 0 0 18px;
 }

 /* ---------- SHORT DESCRIPTION ---------- */

 .product__right .product__description-short {
  margin: 0 0 18px;
  padding: 0 0 18px;
  font-size: 15px;
  line-height: 23px;
 }

 /* ---------- AVAILABILITY ---------- */

 .product__right .product__availability {
  margin: 0 0 18px;
  padding: 0;
 }

 .product__right .product__availability-status--in-stock {
  height: 44px;
  gap: 10px;
  padding: 0 14px;
  border-radius: 12px;
 }

 .product__right .product__availability-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
 }

 .product__right .product__availability-text {
  font-size: 13px;
 }

 .product__right .product__availability-separator {
  margin: 0 4px;
 }

 /* ---------- BUY ACTION ---------- */

 .product__right .product__actions-qty-add {
  gap: 12px;
 }

 .product__right .product-actions__quantity {
  flex: 0 0 128px;
 }

 .product__right .quantity-button__group {
  width: 100%;
  height: 52px;
 }

 .product__right .quantity-button__group > .btn {
  flex: 0 0 40px;
  width: 40px;
  height: 100%;
 }

 .product__right .quantity-button__group > .form-control {
  flex: 1 1 auto;
  width: auto;
  height: 100%;
  font-size: 16px;
  font-weight: 700;
  line-height: 18px;
 }

 .product__right .product__add-to-cart-button {
  height: 52px;
  gap: 10px;
  padding: 0 20px;
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
 }

 .product__add-to-cart-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
 }

 .product__right .product__purchase-reassurance {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
 }

 .product__right .product__purchase-reassurance-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #424242;
  font-size: 12px;
  font-weight: 600;
  line-height: 14px;
  white-space: nowrap;
 }



 /* =========================================================
    FOOTER - MAIN GRID
    ========================================================= */

 .footer__content {
  display: grid;
  grid-template-columns: 320px repeat(3, minmax(0, 1fr));
  gap: 64px;

  align-items: start;
 }

 /* FOOTER - BRAND / CONTACT======= */

 .snusowo-footer-contact {
  min-width: 0;
 }

 .snusowo-footer-brand {
  margin: 0 0 28px;
 }

 .snusowo-footer-brand__logo {
  width: 196px;
  height: 60px;

  display: flex;
  align-items: center;
 }

 .snusowo-footer-brand__logo > a {
  width: 196px;
  height: 60px;
  line-height: 1;
 }

 .snusowo-footer-brand__logo img {
  width: 196px;
  max-height: 60px;
 }


 /* FOOTER - TITLES*/

 .footer-block__title a {

  color: var(--snusowo-text-inverse);

  font-size: 13px;
  font-weight: 700;
  line-height: 18px;

  text-decoration: none;
 }

 /* FOOTER - LINKS*/

 .footer__content ul {
  padding: 0;
 }

 .footer__content li {
  padding: 0;
 }
 /* FOOTER - CONTACT DETAILS */

 .snusowo-footer-contact .footer-block__title {
  margin-bottom: 16px;
 }

 .snusowo-footer-contact .footer-block__content {
  color: #cfcfcf;
 }

 .snusowo-footer-contact address {
  margin: 0 0 16px;

  color: #cfcfcf;

  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
 }

 .ps-contactinfo__phone,
 .ps-contactinfo__fax,
 .ps-contactinfo__email {
  display: flex;
  align-items: flex-start;
  gap: 8px;

  margin: 0 0 8px;
 }

 .ps-contactinfo__phone .material-icons,
 .ps-contactinfo__fax .material-icons,
 .ps-contactinfo__email .material-icons {
  flex: 0 0 18px;
  font-size: 18px;
  line-height: 20px;
  color: var(--snusowo-text-inverse);
  margin-right: 0;
 }

 /*FOOTER - BOTTOM*/

 .footer__bottom {
  width: 100%;

  background: var(--snusowo-bg-inverse);
 }

 .footer__bottom-container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 20px 80px;
 }

 .footer__copyright {
  padding: 0;
  color: var(--snusowo-text-inverse);
  font-size: 11px;
  font-weight: 400;
  line-height: 16px;
 }

 .breadcrumb {
  width: calc(100% - 160px);
  max-width: 1280px;
  min-height: 20px;
  margin: 0 auto;
  padding: 28px 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
 }

 .breadcrumb li {
  display: flex;
  align-items: center;

  margin: 0;
  padding: 0;

  color: #6f6f6f;

  font-size: 10px;
  font-weight: 600;
  line-height: 16px;

  letter-spacing: 0.4px;
  text-transform: uppercase;
 }

 .breadcrumb-item + .breadcrumb-item::before {
  padding-inline-end: 8px;
 }

 .snusowo-product-details__container {
  max-width: 1280px;
  gap: clamp(20px, 2.2vw, 28px);
 }

 .snusowo-product-details__columns {
  display: grid;
  grid-template-columns:
   minmax(0, 1.85fr)
   minmax(280px, 1fr);
  gap: clamp(20px, 1.7vw, 24px);
 }

 .snusowo-product-details__description-card,
 .snusowo-product-details__specifications {
  padding: clamp(20px, 2vw, 32px);
 }

}

/* PDP - TABLET PANELS */
@media (max-width: 1199.98px) {
 /* ---------- GLOBAL GUTTER ---------- */
 .ps-searchbar__dropdown {
  left: 0;
  right: auto;
  transform: none;
  width: calc(100vw - 24px);
  max-width: none;
 }
 .header-bottom__container,
 .breadcrumb__wrapper > .container,
 #wrapper > .container {
  width: 100%;
  max-width: none;

  padding-inline: var(--snusowo-page-gutter);
 }

 /* ---------- HEADER LAYOUT ---------- */

 .header-bottom {
  height: 64px;
 }

 /* ---------- DESKTOP ELEMENTS OFF ---------- */

 .header-bottom__utilities {
  display: none !important;
 }
 /* ---------- MOBILE ACTIONS ---------- */

 .snusowo-mobile-nav__actions {
  position: relative;

  display: flex;
  align-items: center;
  gap: 8px;

  margin: 0;

  z-index: 3;
 }

 .snusowo-mobile-nav__action--burger .snusowo-mobile-nav__icon {
  width: 35px;
  height: 35px;

  flex-basis: 35px;
 }

 /* ---------- BURGER ---------- */

 .snusowo-mobile-nav__burger-wrap {
  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  flex: 0 0 40px;

  margin: 0;
  padding: 0;
 }

 .ps-mainmenu__mobile-toggle {
  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0;
 }

 /* ---------- MOBILE SEARCH ---------- */
 .snusowo-product-details {
  padding: 12px 0 12px;
 }

 /* ---------- SECTION HEADING ---------- */

 .snusowo-product-details__heading {
  gap: 6px;
 }

 .snusowo-product-details__eyebrow {
  font-size: 11px;
  line-height: 14px;
 }

 .snusowo-product-details__title {
  font-size: 24px;
  line-height: 29px;
 }

 .snusowo-product-details__card-title {
  font-size: 20px;
  line-height: 25px;
 }

 /* ---------- DESCRIPTION ---------- */

 .snusowo-product-details__description {
  margin-top: 16px;

  font-size: 14px;
  line-height: 22px;
 }

 .snusowo-product-details__description p {
  margin: 0 0 16px;
 }

 /* ---------- DIVIDER ---------- */

 .snusowo-product-details__divider {
  margin: 16px 0;
 }

 /* ---------- ADVANTAGES ---------- */

 .snusowo-product-details__advantages-title {
  margin: 0 0 12px;

  font-size: 14px;
  line-height: 18px;
 }

 .snusowo-product-details__advantages {
  grid-template-columns: 1fr;
  gap: 8px;
 }

 .snusowo-product-details__advantage {
  min-height: 60px;
  height: auto;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
 }

 .snusowo-product-details__advantage-title {
  font-size: 12px;
  line-height: 16px;
 }

 .snusowo-product-details__advantage-value {
  font-size: 12px;
  line-height: 16px;
  text-align: right;
 }

 /* ---------- SPECIFICATIONS ---------- */

 .snusowo-product-details__spec-list {
  margin: 14px 0 0;
 }

 .snusowo-product-details__spec-row {
  min-height: 46px;
  align-items: center;
  gap: 16px;
  padding: 10px 0;
 }

 .snusowo-product-details__spec-name,
 .snusowo-product-details__spec-value {
  font-size: 12px;
  line-height: 16px;
  overflow-wrap: anywhere;
 }

 .snusowo-product-details__spec-name {
  flex: 1 1 auto;
 }

 .snusowo-product-details__spec-value {
  max-width: 55%;
  flex: 0 1 auto;
 }
 .product-miniature__add .material-icons {
  display: none;
 }

}
@media (min-width: 768px) and (max-width: 1199.98px) {


 .product-carousel__slide {
  flex-basis: calc((100% - 48px) / 3);
 }

 .product__container {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);

  margin-bottom: 40px;
 }

 .product__left,
 .product__right {
  height: auto;
  min-height: 0;
 }

 .product__left {
  padding: clamp(16px, 2.5vw, 24px);
 }
 .snusowo-container {
  padding-inline: 24px;
 }
 .product__right {
  padding: clamp(16px, 2.5vw, 24px);
 }

 .product__left .product__carousel {
  height: clamp(340px, 44vw, 496px);
 }

 .product__left .product__thumbnails,
 .product__left .product__thumbnails-list {
  height: 72px;
 }

 .product__left .product__thumbnails-list {
  gap: 8px;

  overflow-x: auto;
  overflow-y: hidden;

  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
 }

 .product__left .product__thumbnails-list::-webkit-scrollbar {
  display: none;
 }

 .product__left .product__thumbnail {
  width: 72px;
  height: 72px;

  flex-basis: 72px;
 }

 .product__left .product__thumbnail-image {
  width: 56px;
  height: 56px;
 }

 .product__rating-slot {
  width: 100%;
  min-height: 20px;

  display: flex;
  align-items: center;
 }

 .product__rating-slot .ppr-mini-stars {
  margin: 0;
 }

 .product__right .product__name {
  margin-bottom: 14px;

  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
 }

 .product__right .product__description-short {
  margin-bottom: 16px;
  padding-bottom: 16px;

  font-size: 14px;
  line-height: 21px;
 }

 .product__right .product__availability {
  margin-bottom: 16px;
 }

 .product__right .product-actions__quantity {
  flex-basis: 104px;
 }

 .product__right .product__add-to-cart-button {
  gap: 6px;
  padding-inline: 12px;

  font-size: 13px;
  white-space: nowrap;
 }

 .product__right .product__purchase-reassurance {
  height: auto;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
 }

 .product__right .product__purchase-reassurance-item {
  min-width: 0;
  min-height: 36px;

  padding: 7px 9px;

  background: var(--snusowo-bg-page);
  border-radius: 8px;

  font-size: 11px;
  line-height: 14px;
  white-space: normal;
 }

 .product__right .product__purchase-reassurance-item:last-child {
  grid-column: 1 / -1;
 }

 .product__gallery-top {
  width: 100%;
  height: 32px;
  min-height: 0;

  display: flex;

  padding: 0;
 }
}
@media (max-width: 1199.98px) {
 /* ---------- MOBILE HEADER ---------- */
 .header-bottom__row {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;

  width: 100%;
  min-width: 0;
  gap: 0;
 }

 /* ---------- LOGO LEFT ---------- */
 .header-bottom__logo {
  position: static;
  order: 0;
  flex: 0 1 140px;

  width: 140px;
  min-width: 0;
  height: 44px;

  margin: 0 auto 0 0;
  padding: 0;

  justify-content: flex-start;
  transform: none;
  z-index: auto;
 }

 .header-bottom__h1,
 .header-bottom__logo > a,
 .header-bottom__h1 > a {
  width: 100%;
  min-width: 0;
  height: 100%;
  justify-content: flex-start;
 }
 #_desktop_ps_searchbar {
  display: none;
  min-width: 0;
 }
 .header-bottom__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 44px;
  object-fit: contain;
 }
 .snusowo-language-selector {
  display: none;
 }
 .header-bottom__row > .snusowo-mobile-nav__action--language {
  display: flex;
  order: 1;
  flex: 0 0 32px;

  width: 32px;
  height: 40px;
  margin: 0;
 }
 /* Wrapper menu nie zajmuje miejsca w rzędzie.
    Sam panel i overlay mają position: fixed. */
 .header-bottom__row > .custom-category-nav-wrapper {
  order: 1;
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
 }

 /* Konto i koszyk uczestniczą w układzie głównego rzędu.
    Dzięki temu lupa może znaleźć się między nimi. */
 .snusowo-mobile-nav__actions {
  display: contents;
 }

 /* ---------- ACCOUNT ---------- */
 .snusowo-mobile-nav__action--account {
  order: 2;
  flex: 0 0 36px;

  width: 36px;
  height: 40px;
  margin: 0;
 }

 /* ---------- SEARCH ---------- */
 .snusowo-mobile-nav__search-wrap {
  order: 3;
  flex: 0 0 36px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 36px;
  height: 40px;
  margin: 0;
  padding: 0;
 }

 .snusowo-mobile-nav__search-wrap > button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;

  width: 36px;
  max-width: 36px;
  height: 40px;
  margin: 0;
  padding: 0;
 }

 /* ---------- CART ---------- */
 .snusowo-mobile-nav__action--cart {
  order: 4;
  flex: 0 0 40px;

  width: 40px;
  height: 40px;
  margin: 0 4px 0 0;
 }

 /* ---------- BURGER RIGHT ---------- */
 .header-bottom__row > .mobile-nav-toggle {
  position: relative;
  order: 5;
  flex: 0 0 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;

  box-sizing: border-box;
 }

 .header-bottom__row > .mobile-nav-toggle > .burger-icon {
  position: absolute;
  top: 50%;
  left: 8px;

  width: 24px;
  height: 2px;
  margin-top: -1px;
 }

 .header-bottom__row > .mobile-nav-toggle > .burger-icon::before,
 .header-bottom__row > .mobile-nav-toggle > .burger-icon::after {
  left: 0;
  width: 24px;
 }
 .snusowo-mobile-nav__action--language {
  display: flex;
  order: 1;
  flex: 0 0 32px;

  width: 32px;
  height: 40px;
  margin: 0;
 }
}
 @media (max-width: 767.98px) {
 .snusowo-container {
  padding-inline: 12px;
 }

}
@media (min-width: 1200px) {
 #product .columns-container.container {
  width: 100%;

  max-width: calc(
          var(--snusowo-content-max)
          + (var(--snusowo-page-gutter) * 2)
  );

  margin-inline: auto;
  padding-inline: var(--snusowo-page-gutter);
 }
 /* ---------- HEADER ---------- */
 .product-carousel__side-button:not([hidden]) {
  display: flex;
 }
 .header-bottom {
  height: 84px;
 }


 /* ---------- MAIN LAYOUT ---------- */

 .header-bottom__container {
  width: 100%;
  max-width: 1280px;

  margin-inline: auto;
  padding: 0;
 }

 .header-bottom__row {
  width: 100%;
  gap: clamp(16px, calc(6.667vw - 64px), 16px);
 }
 /*gwizdki opinii pod tytułem*/

 .product__rating-slot {
  width: 100%;
  min-height: 20px;

  display: flex;
  align-items: center;
 }

 .product__rating-slot .ppr-mini-stars {
  margin: 0;
 }

 /* =========================================================
    LOGO
    ========================================================= */

 .header-bottom__logo {
  order: 0;
  flex: 0 0 196px;
  height: 100%;
  justify-content: center;
 }

 .header-bottom__logo > a,
 .header-bottom__h1 > a {
  width: 196px;
  max-width: none;
  max-height: none;
  justify-content: center;
  margin: 0;
  padding: 0;
  line-height: 1;
 }

 .header-bottom__logo img {
  display: block;

  min-width: 196px;
  height: auto;
  max-height: 84px;

  object-fit: contain;

  margin: 0;
  padding: 0;
 }

 /* MAIN MENU*/

 /*
  * Menu z modułu nadal posiada col-xl / col-auto.
  * Nasz flex jest źródłem prawdy dla szerokości.
  */
 .header-bottom__row > .ps-mainmenu--desktop {
  order: 1;
  flex: 1 1 auto;
  min-width: 0;
  width: auto;

  height: 100%;

  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  position: static;
 }

 .ps-mainmenu--desktop .ps-mainmenu__desktop {
  width: 100%;
  position: static;
 }

 .ps-mainmenu--desktop .ps-mainmenu__tree {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(12px, calc(5vw - 48px), 24px);

  margin: 0;
  padding: 0;

  list-style: none;
  position: static;
 }

 .ps-mainmenu--desktop .ps-mainmenu__tree > li {
  flex: 0 0 auto;

  margin: 0;
  padding: 0;

  position: static;
 }

 .ps-mainmenu--desktop .ps-mainmenu__tree-item-wrapper {
  display: flex;
  align-items: center;
  position: static;
 }


 /* ---------- MENU LINK ---------- */

 .ps-mainmenu--desktop
 .ps-mainmenu__tree > li
 .ps-mainmenu__tree-link {
  padding: 0;

  color: var(--snusowo-text-inverse);

  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.96px;
  text-transform: uppercase;
  text-decoration: none;
  background: transparent;
  white-space: nowrap;
 }

 .ps-mainmenu--desktop
 .ps-mainmenu__tree-link:is(:hover, :focus, :active) {
  color: var(--snusowo-text-inverse);

  background: transparent;
  text-decoration: none;
 }


 /* ---------- DROPDOWN ARROW ---------- */

 .ps-mainmenu--desktop
 .ps-mainmenu__tree-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0 0 0 8px;

  color: var(--snusowo-text-inverse);

  background: transparent;
  border: 0;
 }

 .ps-mainmenu--desktop
 .ps-mainmenu__tree-dropdown-toggle:is(:hover, :focus, :active) {
  color: var(--snusowo-text-inverse);

  background: transparent;
 }

 .ps-mainmenu--desktop
 .ps-mainmenu__tree-dropdown-toggle::after {
  color: var(--snusowo-text-inverse);

  transform: none;
  transition: none;
 }

 .ps-mainmenu--desktop
 .ps-mainmenu__tree-dropdown-toggle[aria-expanded="true"]::after {
  transform: none;
 }


 /* ---------- MEGA MENU ---------- */

 .ps-mainmenu--desktop .js-sub-menu.submenu {
  position: absolute;
  top: 100% !important;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0;
  z-index: 1000;
 }


 /*SEARCH*/

 #_desktop_ps_searchbar {
  order: 2;
  height: 40px;

  flex: 0 0 230px;

  margin: 0;
  padding: 0;

  align-self: center;
 }
 .snusowo-mobile-nav__actions {
  order: 4;

  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  flex: 0 0 40px;
  gap: 0;

  margin: 0;
  padding: 0;

  position: relative;
  transform: none;
  z-index: 3;
 }

 /*
  * Na desktopie konto renderuje .header-bottom__utilities,
  * więc z mobilnej grupy pokazujemy tylko koszyk.
  */
 .snusowo-mobile-nav__action--account {
  display: none;
 }

 .header-bottom__utilities {
  order: 3;

  display: flex;
  align-items: center;
  gap: 8px;

  flex: 0 0 auto;

  margin: 0;
  padding: 0;
 }
 /* =========================================================
   ACCOUNT MENU
   ========================================================= */

 .header-bottom__account {
  position: relative;

  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;

  margin: 0;
  padding: 0;

  overflow: visible;
 }

 .snusowo-account-menu {
  position: relative;

  width: 40px;
  height: 40px;
 }

 /* ---------- TRIGGER ---------- */

 .snusowo-account-menu__trigger {
  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0;

  color: var(--snusowo-text-inverse);
  background: transparent;
  border: 0;
  border-radius: 12px;

  text-decoration: none;
  outline: 0;
  box-shadow: none;
 }

 .snusowo-account-menu__trigger:is(:hover, :focus, :active) {
  color: var(--snusowo-text-inverse);
  background: transparent;

  text-decoration: none;
  outline: 0;
  box-shadow: none;
 }

 .snusowo-account-menu__trigger:focus-visible {
  outline: 2px solid var(--snusowo-accent);
  outline-offset: 2px;
 }

 /* ---------- DROPDOWN ---------- */

 .snusowo-account-menu__dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  right: auto;

  width: max-content;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  color: var(--snusowo-text-inverse);
  background: var(--snusowo-bg-inverse);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translate(-50%, 6px);
  z-index: 1100;
 }

 /* Niewidoczny mostek, żeby dropdown nie znikał po drodze */

 .snusowo-account-menu__dropdown::after {
  content: "";

  position: absolute;
  right: 0;
  bottom: 100%;

  width: 100%;
  height: 10px;
 }

 .snusowo-account-menu:hover .snusowo-account-menu__dropdown,
 .snusowo-account-menu:focus-within .snusowo-account-menu__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transform: translate(-50%, 0);
 }

 /* ---------- LINKS ---------- */

 .snusowo-account-menu__link {
  position: relative;

  min-width: max-content;
  align-self: stretch;

  display: flex;
  align-items: center;
  gap: 12px;

  margin: 0;
  padding: 16px 20px;

  color: var(--snusowo-text-inverse);
  background: transparent;
  border: 0;

  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  justify-content: center;

  text-decoration: none;
  white-space: nowrap;
  outline: 0;
  box-shadow: none;
 }

 .snusowo-account-menu__link:is(:hover, :focus, :active) {
  color: var(--snusowo-accent);
  background: transparent;

  text-decoration: none;
  outline: 0;
  box-shadow: none;
 }

 /* ---------- LINK ICON ---------- */

 .snusowo-account-menu__link-icon {
  width: 22px;
  height: 22px;

  display: block;
  flex: 0 0 22px;

  color: currentColor;
 }

 /* ---------- SEPARATOR ---------- */

 .snusowo-account-menu__separator {
  width: 70%;
  height: 1px;

  display: block;
  flex: 0 0 1px;

  margin: 0;

  background: var(--snusowo-text-inverse);
  border: 0;

  pointer-events: none;
 }
 .snusowo-mobile-nav__search-wrap {
  display: none;
 }
 /* PDP - PRODUCT DETAILS*/

 .snusowo-product-details {
  padding: 64px 0;
 }
 /* ---------- SECTION HEADING ---------- */

 .snusowo-product-details__heading {
  gap: 8px;
 }

 .snusowo-product-details__eyebrow {
  font-size: 12px;
  line-height: 16px;
 }

 .snusowo-product-details__title {
  font-size: 28px;
  line-height: 35px;
 }

 .snusowo-product-details__card-title {
  font-size: 22px;
  line-height: 29px;
 }


 /* ---------- DESCRIPTION ---------- */

 .snusowo-product-details__description {
  margin-top: 20px;

  font-size: 15px;
  line-height: 25px;
 }

 .snusowo-product-details__description p {
  margin: 0 0 20px;
 }


 /* ---------- DIVIDER ---------- */

 .snusowo-product-details__divider {
  margin: 20px 0;
 }


 /* ---------- ADVANTAGES ---------- */

 .snusowo-product-details__advantages-title {
  margin: 0 0 20px;

  font-size: 15px;
  line-height: 20px;
 }

 .snusowo-product-details__advantages {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
 }

 .snusowo-product-details__advantage {
  height: 116px;

  flex-direction: column;
  gap: 8px;

  padding: 20px 16px;
 }

 .snusowo-product-details__advantage-title {
  font-size: 13px;
  line-height: 16px;
 }

 .snusowo-product-details__advantage-value {
  font-size: 13px;
  line-height: 18px;
 }


 /* ---------- SPECIFICATIONS ---------- */

 .snusowo-product-details__spec-list {
  margin: 18px 0 0;
 }

 .snusowo-product-details__spec-row {
  min-height: 47px;

  align-items: center;
  gap: 24px;

  padding: 9px 0;
 }

 .snusowo-product-details__spec-name,
 .snusowo-product-details__spec-value {
  font-size: 13px;
  line-height: 16px;
 }
 .product-carousel__container {
  gap: 20px;
 }

 .product-carousel__slide {
  flex: 0 0 calc((100% - 80px) / 5);
  width: calc((100% - 80px) / 5);
  max-width: calc((100% - 80px) / 5);
 }
}

/* ==============================================================================
   SNUSOWO - HISTORIA ZAMÓWIEŃ
   ============================================================================== */

/* --- 1. NUMER ZAMÓWIENIA --- */
.order-history__cell--reference {
    color: #1de9b6 !important;
    background-color: #111111 !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    padding: 4px 12px !important;
    border-radius: 8px !important;
    align-self: center !important;
    justify-self: start !important;
    height: max-content !important;
    width: max-content !important;
}

/* --- 2. ZNACZEK STATUSU --- */
span.order-history__status {
    background-color: #1de9b6 !important;
    color: #111111 !important;
    border: none !important;
    background-image: none !important;
    text-shadow: none !important;
    font-weight: 700 !important;
}

/* --- 3. PRZYCISKI - SZCZEGÓŁY I ZAMÓW PONOWNIE --- */
.order-history__cell--actions .btn {
    background-color: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
}
.order-history__cell--actions .btn:hover {
    background-color: #1de9b6 !important;
    color: #111111 !important;
    border-color: #1de9b6 !important;
}

/* --- 4. MENU BOCZNE --- */
body.page-customer-account .col-lg-3 a:hover,
body.page-customer-account .col-lg-3 a.active {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.2s ease !important;
}

body.page-customer-account .col-lg-3 a:hover *,
body.page-customer-account .col-lg-3 a.active * {
    color: #1de9b6 !important;
}

/* ==============================================================================
   4. SNUSOWO - MENU BOCZNE
   ============================================================================== */

/* --- BAZA --- */
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a {
    background-color: transparent !important;
    border: none !important;
    color: #111111 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important; /* Usunięty cień */
    transition: all 0.3s ease !important;
}

/* Wymuszamy czarny kolor na ikonach w stanie bazowym */
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a *,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a * {
    color: #111111 !important;
    fill: #111111 !important;
    transition: all 0.3s ease !important;
}

/* Margines dla ikony */
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a i,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a span.material-icons,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a i,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a span.material-icons {
    margin-right: 12px !important;
}

/* --- HOVER I AKTYWNA ZAKŁADKA (Miętowy tekst i ikona, brak tła, delikatne wysunięcie) --- */
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a:hover,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a.active,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a:hover,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a.active {
    background-color: transparent !important;
    border-color: transparent !important;
    color: #1de9b6 !important;
    transform: translateX(6px) !important;
}

:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a:hover *,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a.active *,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a:hover *,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a.active * {
    color: #1de9b6 !important;
    fill: #1de9b6 !important;
}

/* --- WYJĄTEK - WYLOGUJ SIĘ --- */
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a[href*="mylogout"],
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a[href*="mylogout"] {
    background-color: transparent !important;
    border: 1px solid rgba(255, 76, 76, 0.25) !important;
    color: #ff4c4c !important;
    margin-top: 16px !important;
    transform: none !important;
}

:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a[href*="mylogout"] *,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a[href*="mylogout"] * {
    color: #ff4c4c !important;
    fill: #ff4c4c !important;
}

:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a[href*="mylogout"]:hover,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a[href*="mylogout"]:hover {
    background-color: #ff4c4c !important;
    border-color: #ff4c4c !important;
    color: #ffffff !important;
}

:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #left-column a[href*="mylogout"]:hover *,
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body.page-customer-account) main#wrapper #center-column > .row > .col-lg-3 a[href*="mylogout"]:hover * {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* ==============================================================================
   5. SNUSOWO - GŁÓWNY KOKPIT
   ============================================================================== */
body#my-account main#wrapper section#content.page-content--customer a {
    background-color: #111111 !important;
    border: 1px solid #111111 !important;
    color: #1de9b6 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
}

body#my-account main#wrapper section#content.page-content--customer a * {
    color: #1de9b6 !important;
    fill: #1de9b6 !important;
    transition: all 0.3s ease !important;
}

/* Hover dla kafelków */
body#my-account main#wrapper section#content.page-content--customer a:hover {
    background-color: #1de9b6 !important;
    border-color: #1de9b6 !important;
    color: #111111 !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(29, 233, 182, 0.2) !important; /* Lekki neonowy glow pod spodem */
}

body#my-account main#wrapper section#content.page-content--customer a:hover * {
    color: #111111 !important;
    fill: #111111 !important;
}

/* ==============================================================================
   KARTA "DODAJ NOWY ADRES"
   ============================================================================== */

/* Główny kontener karty - wymuszenie struktury pionowej, zachowanie domyślnej ramki motywu */
body#addresses main#wrapper a.address-card--add-address {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

/* 1. ETYKIETA "Dodaj nowy adres" */
body#addresses main#wrapper a.address-card--add-address span.address-card__add-text {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    display: inline-block !important;
    border: 1px solid #111111 !important;
    transition: none !important;
}

/* Twarda blokada dziedziczenia efektu hover przez etykietę */
body#addresses main#wrapper a.address-card--add-address:hover span.address-card__add-text {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    border-color: #111111 !important;
}

/* 2. KONTENER IKONY (Okrągły, neonowy plusik) */
body#addresses main#wrapper a.address-card--add-address span.address-card__add-icon {
    background-color: #1de9b6 !important;
    color: #111111 !important;
    border: 2px solid #1de9b6 !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 12px !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Czysta ikona wewnątrz - dziedziczy kolory od kontenera */
body#addresses main#wrapper a.address-card--add-address span.address-card__add-icon i {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

/* 3. IKONA PLUS (+) - STAN HOVER */
body#addresses main#wrapper a.address-card--add-address:hover span.address-card__add-icon {
    background-color: #111111 !important;
    border-color: #111111 !important;
    color: #1de9b6 !important;
}


/* ==============================================================================
   SZCZEGÓŁY ZAMÓWIENIA
   ============================================================================== */

/* 1. PRZYCISK "ZAMÓW PONOWNIE" (Czarna baza, miętowy efekt najechania) */
body#order-detail main#wrapper .order-infos__actions a.btn {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    border: 1px solid #111111 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

body#order-detail main#wrapper .order-infos__actions a.btn:hover {
    background-color: #1de9b6 !important;
    color: #111111 !important;
    border-color: #1de9b6 !important;
}

/* 2. ETYKIETA STATUSU ZAMÓWIENIA (Nadpisanie stylów inline z bazy danych) */
body#order-detail main#wrapper span.order-status__badge {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    border: 1px solid #111111 !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    transition: none !important; /* Sztywna blokada interakcji (Brak hovera) */
}

/* Twarde wymuszenie braku zmian przy najechaniu */
body#order-detail main#wrapper span.order-status__badge:hover {
    background-color: #111111 !important;
    color: #1de9b6 !important;
}

/* 3. NAZWA PRODUKTU W TABELI (Minimalizm, czysty czarny kolor) */
body#order-detail main#wrapper a.order-product__name {
    color: #111111 !important;
    background-color: transparent !important;
    text-decoration: none !important;
    font-weight: 700 !important; /* Zachowanie czytelności */
}

/* Utrzymanie czerni na hoverze */
body#order-detail main#wrapper a.order-product__name:hover {
    color: #111111 !important;
}

/* 4. INFORMACJA O NUMERZE ZAMÓWIENIA (Formatowanie bloku informacyjnego) */
body#order-detail main#wrapper p.order-infos__reference {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    display: inline-block !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}


/* ==============================================================================
   KUPONY RABATOWE
   ============================================================================== */

/* Precyzyjne targetowanie tagów <strong> (Kod rabatowy oraz Wartość) 
   wewnątrz siatki tabeli na podstronie Kuponów */
body#discount main#wrapper .grid-table__row span[data-ps-label="Kod"] strong,
body#discount main#wrapper .grid-table__row span[data-ps-label="Wartość"] strong {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    display: inline-block !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    border: 1px solid #111111 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
}


/* ==============================================================================
   RODO - DANE OSOBOWE
   ============================================================================== */

/* 1. PRZYCISKI POBIERANIA PDF/CSV (Baza: Przezroczyste tło, miętowa ramka, czarny tekst) */
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToCsv,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToPdf {
    background-color: transparent !important;
    border: 2px solid #1de9b6 !important; /* Miętowa ramka */
    color: #111111 !important; /* Czarny tekst */
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* Wymuszenie czarnego koloru na ikonach pobierania wewnątrz przycisków w stanie bazowym */
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToCsv i,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToPdf i,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToCsv span,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToPdf span {
    color: #111111 !important;
    fill: #111111 !important;
    transition: all 0.3s ease !important;
}

/* 2. PRZYCISKI POBIERANIA PDF/CSV - STAN HOVER (Czarne tło i ramka, miętowy tekst) */
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToCsv:hover,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToPdf:hover {
    background-color: #111111 !important;
    border-color: #111111 !important;
    color: #1de9b6 !important;
}

/* Ikony po najechaniu (Miętowe) */
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToCsv:hover i,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToPdf:hover i,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToCsv:hover span,
body#module-psgdpr-gdpr main#wrapper #content a#exportDataToPdf:hover span {
    color: #1de9b6 !important;
    fill: #1de9b6 !important;
}

/* 3. LINK "STRONĘ KONTAKTOWĄ" */
body#module-psgdpr-gdpr main#wrapper #content p a {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    display: inline-block !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    border: 1px solid #111111 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    margin: 0 4px !important; /* Drobny margines, aby link nie sklejał się ze zwykłym tekstem */
}

/* HOVER DLA LINKU KONTAKTOWEGO (Pełna mięta, czarny tekst) */
body#module-psgdpr-gdpr main#wrapper #content p a:hover {
    background-color: #1de9b6 !important;
    border-color: #1de9b6 !important;
    color: #111111 !important;
}


/* ==============================================================================
   SYSTEMOWE POWIADOMIENIA (GLOBALNE DLA CAŁEGO KONTA KLIENTA)
   ============================================================================== */

/* Wyłapujemy wszystkie domyślne powiadomienia (.alert) wewnątrz panelu klienta */
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body[id*="psgdpr"], body.page-customer-account) main#wrapper #content .alert {
    background-color: #111111 !important;
    color: #1de9b6 !important;
    border: 1px solid #111111 !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    padding: 16px !important; /* Gwarancja, że tekst ma miejsce oddychać */
}

/* Jeśli w środku powiadomienia pojawi się link (np. "kliknij tutaj, aby dodać"), robimy go na biało dla kontrastu */
:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body[id*="psgdpr"], body.page-customer-account) main#wrapper #content .alert a {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
}

:is(body#my-account, body#history, body#addresses, body#address, body#identity, body#discount, body#order-slip, body#order-detail, body[id*="alert"], body[id*="psgdpr"], body.page-customer-account) main#wrapper #content .alert a:hover {
    color: #1de9b6 !important;
}
.snusowo-product-details__columns--no-specifications {
 grid-template-columns: 1fr;
}
body#order-confirmation .snusowo-order-confirmation {
 padding-block: 32px 48px;
}

.snusowo-order-confirmation__header {
 display: flex;
 align-items: center;
 gap: 24px;

 margin-bottom: 24px;
}

.snusowo-order-confirmation__success-icon {
 display: flex;
 align-items: center;
 justify-content: center;

 flex: 0 0 88px;
 width: 88px;
 height: 88px;

 border-radius: 50%;

 background: rgba(29, 233, 182, 0.15);
 color: #079969;
}

.snusowo-order-confirmation__success-icon svg {
 width: 44px;
 height: 44px;
}

.snusowo-order-confirmation__title {
 margin: 0 0 4px;

 font-size: 36px;
 font-weight: 700;
 line-height: 1.1;
}

.snusowo-order-confirmation__subtitle {
 margin: 0;

 color: #667085;

 font-size: 17px;
}

.snusowo-order-confirmation__layout {
 display: grid;
 grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
 margin-bottom: 24px;
 gap: 24px;
 align-items: start;
}

.snusowo-order-confirmation__panel {
 background: #fff;
 border-radius: 14px;
}

.snusowo-order-confirmation__main {
 padding: 24px;
}

.snusowo-order-confirmation__summary {
 padding: 24px;
}
.snusowo-order-confirmation__summary-value {
 font-weight: 600;
 color: var(--snusowo-text-primary);
}
.snusowo-order-confirmation__section-title {
 margin: 0 0 12px;

 color: #111;

 font-size: 24px;
 font-weight: 700;
}
.snusowo-order-confirmation__product {
 display: grid;
 grid-template-columns: 110px minmax(0, 1fr) 70px 100px;
 align-items: center;

 gap: 12px;

 padding: 12px 0 12px;

 border-bottom: 1px solid #e3e3e3;
}

.snusowo-order-confirmation__product-image {
 display: flex;
 align-items: center;
 justify-content: center;
}

.snusowo-order-confirmation__product-image img {
 display: block;

 width: 96px;
 height: 96px;

 object-fit: contain;
}

.snusowo-order-confirmation__product-name {
 color: #111;

 font-size: 16px;
 font-weight: 500;
}

.snusowo-order-confirmation__product-reference,
.snusowo-order-confirmation__product-attributes {
 margin-top: 4px;

 color: #858b98;

 font-size: 13px;
}

.snusowo-order-confirmation__product-quantity {
 text-align: center;

 white-space: nowrap;
}

.snusowo-order-confirmation__product-total {
 text-align: right;

 font-weight: 700;

 white-space: nowrap;
}
.snusowo-order-confirmation__info-section {
 padding: 20px 0;

 border-bottom: 1px solid #e3e3e3;
}

.snusowo-order-confirmation__info-section:last-child {
 padding-bottom: 0;
 border-bottom: 0;
}

.snusowo-order-confirmation__info-title,
.snusowo-order-confirmation__payment h2,
.snusowo-order-confirmation__payment h3 {
 margin: 0 0 4px;

 color: #111;

 font-size: 18px;
 font-weight: 700;
}

.snusowo-order-confirmation__payment p {
 margin: 3px 0;

 color: #667085;

 font-size: 14px;
 line-height: 1.45;
}

.snusowo-order-confirmation__details-list {
 display: grid;

 gap: 4px;

 margin: 0;
}

.snusowo-order-confirmation__detail {
 display: flex;

 gap: 5px;

 font-size: 14px;
}

.snusowo-order-confirmation__detail dt {
 color: #667085;
 font-weight: 400;
}

.snusowo-order-confirmation__detail dd {
 margin: 0;

 color: #667085;
}
.snusowo-order-confirmation__summary-lines {
 display: grid;

 gap: 12px;
}

.snusowo-order-confirmation__summary-line,
.snusowo-order-confirmation__summary-total,
.snusowo-order-confirmation__summary-tax-total {
 display: flex;
 align-items: center;
 justify-content: space-between;

 gap: 20px;
}

.snusowo-order-confirmation__summary-line {
 color: #344054;

 font-size: 15px;
}

.snusowo-order-confirmation__summary-divider {
 height: 1px;

 margin: 12px 0;

 background: #e3e3e3;
}

.snusowo-order-confirmation__summary-total {
 color: #111;
 margin-bottom: 12px;
 font-size: 18px;
 font-weight: 700;
}

.snusowo-order-confirmation__summary-total-value {
 font-size: 22px;
}

.snusowo-order-confirmation__back-button {
 width: 100%;
}

.snusowo-order-confirmation__contact {
 margin-top: 12px;
 padding-top: 12px;

 border-top: 1px solid #e3e3e3;

 text-align: center;
}

.snusowo-order-confirmation__contact-text {
 margin: 0 0 6px;

 color: #8a8f99;

 font-size: 13px;
}

.snusowo-order-confirmation__contact-link {
 color: #00ad83;

 font-size: 14px;
 text-decoration: none;
}
.snusowo-order-confirmation__payment {
 padding: 20px 0 0;
 border-bottom: 0;
}


/* zdejmujemy wygląd generowany przez moduł płatności */
.snusowo-order-confirmation__payment .card,
.snusowo-order-confirmation__payment .card-body,
.snusowo-order-confirmation__payment .card-header,
.snusowo-order-confirmation__payment .card-footer,
.snusowo-order-confirmation__payment .alert {
 margin: 0;
 padding: 0;

 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
}


/* nagłówki z modułu */
.snusowo-order-confirmation__payment h2,
.snusowo-order-confirmation__payment h3 {
 margin: 0 0 6px;

 color: #111;

 font-size: 18px;
 font-weight: 700;
 line-height: 1.3;
}


/* dodatkowy tytuł np. "Zapłać gotówką przy odbiorze" */
.snusowo-order-confirmation__payment h4 {
 margin: 0 0 8px;

 color: #667085;

 font-size: 14px;
 font-weight: 500;
}


/* tekst */
.snusowo-order-confirmation__payment p {
 margin: 2px 0;

 color: #667085;

 font-size: 14px;
 line-height: 1.45;
}
body#category.category-id-2 #wrapper {
 margin-top: 32px;
}
@media (max-width: 767px) {
 .product-carousel__heading .section-title {
  line-height: 1.15;
 }
 #_desktop_ps_languageselector {
  display: none !important;
 }
 body#order-confirmation .snusowo-order-confirmation {
  padding-block: 20px 32px;
 }

 .snusowo-order-confirmation__header {
  align-items: flex-start;
  gap: 14px;

  margin-bottom: 20px;
 }

 .snusowo-order-confirmation__success-icon {
  flex-basis: 52px;

  width: 52px;
  height: 52px;
 }

 .snusowo-order-confirmation__success-icon svg {
  width: 28px;
  height: 28px;
 }

 .snusowo-order-confirmation__title {
  font-size: 25px;
 }

 .snusowo-order-confirmation__subtitle {
  font-size: 14px;
 }

 .snusowo-order-confirmation__layout {
  grid-template-columns: 1fr;
  gap: 16px;
 }

 .snusowo-order-confirmation__main,
 .snusowo-order-confirmation__summary {
  padding: 16px;
 }

 .snusowo-order-confirmation__product {
  grid-template-columns: 74px minmax(0, 1fr) auto;

  gap: 12px;
 }

 .snusowo-order-confirmation__product-image img {
  width: 70px;
  height: 70px;
 }

 .snusowo-order-confirmation__product-quantity {
  grid-column: 2;

  text-align: left;

  font-size: 13px;
 }

 .snusowo-order-confirmation__product-total {
  grid-column: 3;
  grid-row: 1 / 3;

  align-self: center;
 }
}
body#order-confirmation
.snusowo-order-confirmation__after
.product-carousel > .module-products {
 width: 100%;
 max-width: none;
 margin-inline: 0;
 padding-inline: 0;
}
.product-carousel[data-carousel-initialized="true"] .product-carousel__slide,
.product-carousel[data-carousel-initialized="true"] .product-carousel__slide * {
 -webkit-user-select: none;
 user-select: none;
}

.product-carousel[data-carousel-initialized="true"] .product-carousel__slide img,
.product-carousel[data-carousel-initialized="true"] .product-carousel__slide a {
 -webkit-user-drag: none;
}
.snusowo-language-panel__option.is-active,
.snusowo-language-panel__option.is-active:visited,
.snusowo-language-panel__option.is-active:hover {
 color: #fff;
 background: #292929;
 border-color: #292929;

 font-weight: 700;
}

.snusowo-language-panel__close:focus-visible,
.snusowo-language-panel__option:focus-visible,
.snusowo-mobile-nav__action--language:focus-visible {
 outline: 2px solid var(--snusowo-accent);
 outline-offset: 3px;
}

.ps-categorytree .sn-brand-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 8px;
 margin: 0;
 padding: 10px 0;
 list-style: none;
}

.ps-categorytree .sn-brand-item {
 min-width: 0;
 margin: 0;
 padding: 0;
 border: 0;
}

.ps-categorytree .sn-brand-header {
 position: relative;
 height: 100%;
 padding: 0;
 border: 0;
}

.ps-categorytree .sn-brand-tile {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 gap: 6px;
 width: 100%;
 min-width: 0;
 min-height: 104px;
 padding: 10px 6px;
 box-sizing: border-box;
 border: 1px solid #e5e5e5;
 border-radius: 10px;
 background: #fff;
 color: #050505;
 font-size: 11px;
 font-weight: 600;
 line-height: 1.3;
 text-align: center;
 text-decoration: none;
}
.ps-contactinfo__item a {
 color: var(--snusowo-text-primary);
}
.ps-categorytree .sn-brand-logo {
 display: block;
 width: 56px;
 height: 56px;
 object-fit: contain;
 margin-inline: auto;
}
/* =========================================================
   MOBILE LANGUAGE PANEL
   ========================================================= */

.snusowo-mobile-nav__action--language {
 display: none;
}

#snusowoLanguageCanvas {
 --bs-offcanvas-width: 100vw;

 width: 100vw;
 max-width: none;
 height: 100vh;
 height: 100dvh;

 color: #050505;
 background: #fff;
 border: 0;
}

.snusowo-language-panel__header {
 display: flex;
 align-items: center;
 justify-content: space-between;
 flex: 0 0 auto;

 min-height: 74px;
 padding: 12px 16px;

 border-bottom: 1px solid #e8e8e8;
}

.snusowo-language-panel__title {
 margin: 0;
 color: #050505;

 font-size: 20px;
 font-weight: 700;
 line-height: 1.3;
}

.snusowo-language-panel__close {
 display: flex;
 align-items: center;
 justify-content: center;
 flex: 0 0 40px;

 width: 40px;
 height: 40px;
 padding: 0;

 color: #050505;
 background: transparent;
 border: 0;
 border-radius: 12px;

 cursor: pointer;
}

.snusowo-language-panel__body {
 flex: 1 1 auto;
 min-height: 0;
 padding: 22px 16px 40px;
 padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));

 overflow-y: auto;
 overscroll-behavior: contain;
}

.snusowo-language-panel__heading {
 margin: 0 0 18px;
 padding-bottom: 12px;

 color: #050505;
 border-bottom: 1px solid #e8e8e8;

 font-size: 18px;
 font-weight: 700;
 line-height: 1.3;
}

.snusowo-language-panel__options {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 14px;

 margin: 0;
 padding: 0;
 list-style: none;
}

.snusowo-language-panel__options > li {
 min-width: 0;
}

.snusowo-language-panel__option {
 display: flex;
 align-items: center;
 justify-content: center;

 min-height: 44px;
 padding: 10px 16px;

 color: #292929;
 background: #fff;
 border: 1px solid #ededed;
 border-radius: 999px;
 box-shadow: 0 2px 8px rgb(0 0 0 / 6%);

 font-size: 14px;
 font-weight: 500;
 line-height: 1.3;
 text-align: center;
 text-decoration: none;
}

.snusowo-language-panel__option:visited {
 color: #292929;
}

.snusowo-language-panel__option:hover {
 color: #050505;
 background: #f5f5f5;
 text-decoration: none;
}
.products article .wishlist-button-add {
 top:0;
 right: 0;
}
.snusowo-footer-contact .ps-contactinfo__whatsapp {
 display: flex;
 align-items: center;
 gap: 8px;
 margin-top: 10px;
}

.snusowo-footer-contact .ps-contactinfo__whatsapp svg {
 width: 18px;
 height: 18px;
 min-width: 18px;
 fill: #25d366;
}

.snusowo-footer-contact .ps-contactinfo__whatsapp a {
 font-size: 13px;
 line-height: 1.5;
 text-decoration: none;
 /*transition: color 0.2s ease;*/
}


/* Responsywna paginacja karuzel na mobile */
@media (max-width: 767.98px) {

 .product-carousel .product-carousel__pagination:not([hidden]) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
 }

 .product-carousel .product-carousel__pagination-track {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 6px;
  justify-content: center;
 }

 .product-carousel .product-carousel__pagination-segment {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 44px;
 }

}
