/* ============================================
   DKR THEME — Custom CSS (mebloo.pl style)
   ============================================ */

/* --- Google Fonts: Poppins + Material Icons --- */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

/* --- Bootstrap responsive utilities (Bootstrap not loaded separately) --- */
/* Bootstrap 3 .hide class — not present in PS8/BS4, re-add it */
.hide { display: none !important; }

@media (min-width: 768px) {
  .hidden-md-up { display: none !important; }
}
@media (max-width: 767px) {
  .hidden-sm-down { display: none !important; }
}
@media (min-width: 992px) {
  .hidden-lg-up { display: none !important; }
}
@media (max-width: 575px) {
  .hidden-xs-down { display: none !important; }
}

/* --- LAYOUT-FULL-WIDTH: нет боковых колонок --- */
.layout-full-width #left-column,
.layout-full-width #right-column {
  display: none !important;
}
.layout-full-width #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* --- RESET / BASE --- */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: #1a1a1a;
  background: #f7f6f4;
}

a { color: inherit; text-decoration: none; }
a:hover { color: #1a1a1a; }

.container-xl {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ============================================
   TOP PROMO BAR
   ============================================ */
.dkr-topbar {
  background: #1a1a1a;
  color: #fff;
  text-align: center;
  position: relative;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.3px;
  padding: 8px 16px;
  line-height: 1.4;
}

.dkr-topbar a { color: #fff; text-decoration: underline; }

.dkr-topbar__close {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.7;
  padding: 4px 8px;
}
.dkr-topbar__close:hover { opacity: 1; }

/* ============================================
   MAIN HEADER
   ============================================ */
#header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000;
  background: #f7f6f4;
}

#header.header--sticky {
  box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}

@keyframes dkr-slide-down {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}

.dkr-header {
  background: #f7f6f4;
  border-bottom: 1px solid #f0f0f0;
}

.dkr-header__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 20px;
  padding-bottom: 20px;
}

/* LOGO */
.dkr-header__logo {
  flex-shrink: 0;
  min-width: 220px;
  display: flex;
  align-items: center;
  margin-right: 12px;
}

.dkr-logo-wrap {
  margin: 0;
  display: flex;
  align-items: center;
  line-height: 1;
  text-decoration: none;
  color: #1a1a1a;
}

/* Hide tiny PS default logo.png — replace with CSS text logo */
.dkr-logo-wrap img {
  display: none;
}

/* CSS text logo: circle icon + "dobrekrzesła" */
.dkr-logo-wrap a {
  text-decoration: none;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Circle icon before text (like mebloo black circle) */
.dkr-logo-wrap a::before {
  content: '';
  display: inline-block;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #1a1a1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1.5' fill='%23fff' stroke='none'/%3E%3C/svg%3E") no-repeat center/55%;
  flex-shrink: 0;
}

.dkr-logo-wrap a::after {
  content: 'dobrekrzesła';
  font-family: 'Poppins', sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: -0.5px;
  line-height: 1;
}

/* Ensure h1/div wrapper doesn't add extra space */
.logo,
h1.dkr-logo-wrap {
  font-size: 0;
  margin: 0;
  padding: 0;
}

/* SEARCH */
.dkr-header__search {
  flex: 1;
  min-width: 0;
}

/* Search form: relative for icon positioning */
.dkr-header__search .search-widget,
#search_widget {
  position: relative;
  width: 100%;
}

.dkr-header__search form,
#search_widget form {
  width: 100%;
}

#search_widget form {
  position: relative;
  display: flex;
  align-items: center;
}

/* Input field: pill shape like mebloo */
.dkr-header__search input[type="text"],
#search_widget input[type="text"] {
  width: 100%;
  flex: 1;
  border: 2px solid #1a1a1a;
  border-radius: 24px;
  padding: 14px 50px 14px 24px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: #333;
  outline: none;
  transition: border-color 0.2s;
  background: #fff;
}

#search_widget input[type="text"]:focus {
  border-color: #1a1a1a;
  background: #fff;
}

/* Search icon — move to RIGHT side */
#search_widget form i.material-icons.search {
  position: absolute;
  right: 16px;
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  color: #666;
  pointer-events: none;
  z-index: 2;
}

/* Hide clear icon */
#search_widget form i.material-icons.clear {
  display: none;
}

/* Hide default submit button if present */
.dkr-header__search button[type="submit"] {
  display: none;
}

/* PHONE BUTTON — green border like mebloo */
.dkr-header__phone {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #17afa0;
  border-radius: 50px;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  color: #1a1a1a;
  transition: all 0.2s;
}

.dkr-header__phone:hover {
  background: #17afa0;
  border-color: #17afa0;
  color: #fff;
}

.dkr-header__phone svg {
  flex-shrink: 0;
  stroke: #17afa0;
}

.dkr-header__phone:hover svg {
  stroke: #fff;
}

/* HEADER ICONS (account, wishlist, cart) */
.dkr-header__icons {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* display:contents — makes #_desktop_user_info transparent to flex layout
   so .user-info and .blockcart become direct flex children of .dkr-header__icons */
.dkr-header__icons #_desktop_user_info {
  display: contents;
}

/* Hide currency/language selectors from icons area (they're in mobile menu) */
.dkr-header__icons .currency-selector,
.dkr-header__icons .language-selector,
.dkr-header__icons ._desktop_currency_selector,
.dkr-header__icons ._desktop_language_selector {
  display: none;
}

/* Override default PS nav styles */
#header .header-nav { display: none; }

/* Fix: nav bar has duplicate search — hide it */
.dkr-nav .search-widget,
.dkr-nav #search_widget {
  display: none;
}

/* Hide text labels — show only icons (like mebloo) */
.dkr-header__icons span.hidden-sm-down { display: none !important; }

/* Account link — icon only */
.dkr-header__icons .user-info a,
.dkr-header__icons #_desktop_user_info a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 8px;
  color: #333;
  transition: background 0.15s;
}

/* Replace Material Icon with SVG outline user (Feather style, like mebloo) */
.user-info a i.material-icons {
  font-size: 0 !important;
  width: 28px;
  height: 28px;
  display: inline-block;
  flex-shrink: 0;
}

.user-info a i.material-icons::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") no-repeat center/contain;
}

.dkr-header__icons a:hover {
  background: #f5f5f5;
  color: #1a1a1a;
}

/* Cart — icon only */
.blockcart {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s;
  position: relative;
}

.blockcart:hover { background: #f5f5f5; }

/* Replace filled Material Icon with outline SVG shopping CART (trolley with wheels, Feather style) */
.blockcart .material-icons.shopping-cart {
  font-size: 0 !important;
  width: 28px;
  height: 28px;
  display: inline-block;
  flex-shrink: 0;
}

.blockcart .material-icons.shopping-cart::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Cart counter badge (top-right of icon) */
.blockcart .cart-products-count {
  position: absolute;
  top: 2px;
  right: 2px;
  background: #17afa0;
  color: #fff;
  border-radius: 50%;
  width: 17px;
  height: 17px;
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* ============================================
   NAVIGATION BAR
   ============================================ */
.dkr-nav {
  background: #f7f6f4;
  border-top: 1px solid #f0f0f0;
}

.dkr-nav__inner {
  display: flex;
  align-items: center;
}

/* PS top menu module */
#_desktop_top_menu .top-menu,
.dkr-nav .top-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.dkr-nav .top-menu > li > a,
#_desktop_top_menu .top-menu > li > a {
  display: block;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.15s;
  border-bottom: 2px solid transparent;
}

.dkr-nav .top-menu > li > a:hover,
#_desktop_top_menu .top-menu > li > a:hover {
  color: #555;
  border-bottom-color: #1a1a1a;
}

/* BASE — position всегда absolute независимо от Bootstrap state */
.dkr-nav .popover.sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 1050;
  background: #fff;
  border-top: 2px solid #1a1a1a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  min-width: 220px;
  padding: 8px 0;
  margin: 0;
  border-radius: 0 0 4px 4px;
  overflow: visible !important;
}

/* Закрыт по умолчанию */
.dkr-nav .popover.sub-menu.collapse {
  display: none;
  height: auto !important;
}

/* .collapsing — Bootstrap анимация, не пускаем в поток */
.dkr-nav .popover.sub-menu.collapsing {
  display: block !important;
  height: auto !important;
}

/* CSS hover */
.dkr-nav .category:hover > .popover.sub-menu {
  display: block !important;
  height: auto !important;
}

/* Bootstrap JS .show */
.dkr-nav .popover.sub-menu.collapse.show {
  display: block !important;
  height: auto !important;
}

/* Пункты меню */
.dkr-nav .popover.sub-menu .top-menu[data-depth="1"] {
  list-style: none;
  padding: 0;
  margin: 0;
}

.dkr-nav .popover.sub-menu .dropdown-item {
  display: block;
  padding: 10px 20px;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  transition: background 0.15s;
}

.dkr-nav .popover.sub-menu .dropdown-item:hover {
  background: #f5f5f5;
  color: #1a1a1a;
}

/* Relative positioning for dropdown trigger */
.dkr-nav .top-menu > li,
.dkr-nav .category {
  position: relative;
}

/* Sub-menu: nested .top-menu must be VERTICAL (block), not flex */
.sub-menu .top-menu,
.js-sub-menu .top-menu {
  display: block !important;
  flex-wrap: unset !important;
}

/* ============================================
   PRODUCT CARDS
   ============================================ */
.product-miniature {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.2s;
  background: #fff;
}

.product-miniature:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.product-miniature .thumbnail-container {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #f8f8f8;
}

.product-miniature img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  transition: transform 0.3s ease;
  display: block;
}

.product-miniature:hover img {
  transform: scale(1.04);
}

.product-miniature .product-description {
  padding: 12px 4px;
}

.product-miniature .product-title a {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  line-height: 1.3;
}

.product-miniature .product-price-and-shipping {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  margin-top: 4px;
}

.product-miniature .regular-price {
  font-size: 12px;
  color: #999;
  text-decoration: line-through;
  font-weight: 400;
}

/* Product flags (Nowy, -20%) — mebloo pill style */
.product-flags {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 5px;
  z-index: 2;
  list-style: none;
  margin: 0;
  padding: 0;
}

.product-flag {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  line-height: 1.4;
}

.product-flag.new { background: #17afa0; color: #fff; }
.product-flag.discount { background: #e63946; color: #fff; }
.product-flag.pack { background: #17afa0; color: #fff; }

/* Add to cart button */
.btn-primary,
.add-to-cart {
  background: #1a1a1a;
  border: none;
  border-radius: 6px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 20px;
  cursor: pointer;
  transition: background 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.btn-primary:hover, .add-to-cart:hover {
  background: #333;
  color: #fff;
}

/* ============================================
   HOMEPAGE SECTIONS
   ============================================ */
#content-wrapper {
  padding-top: 0;
}

/* Section headings */
.products-section-title,
h2.h2, .h2 {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 24px;
  position: relative;
}

/* Category nav (slider area) */
.featured-products {
  padding: 40px 0;
}

/* ============================================
   BOOTSTRAP CAROUSEL — minimum CSS (Bootstrap not loaded separately)
   ============================================ */
.carousel { position: relative; }
.carousel-inner { position: relative; width: 100%; overflow: hidden; }
.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform .6s ease;
}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev { display: block; }
.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right { transform: translateX(100%); }
.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left { transform: translateX(-100%); }
.carousel-fade .carousel-item { opacity: 0; transform: none; transition: opacity .6s ease; }
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right { opacity: 1; }
/* Indicators: dots, not numbers */
.carousel-indicators {
  position: absolute;
  right: 0; bottom: 10px; left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin: 0 15%;
  list-style: none;
}
.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px; height: 3px;
  margin: 0 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
}
.carousel-indicators .active { opacity: 1; }
/* Controls */
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0; bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: .5;
}
.carousel-control-prev { left: 0; }
.carousel-control-next { right: 0; }

/* Slider */
#carousel .carousel-item img {
  border-radius: 8px;
  max-height: 480px;
  object-fit: cover;
}

/* ============================================
   FOOTER
   ============================================ */
.dkr-footer,
#footer {
  background: #1a1a1a;
  color: #ccc;
  padding: 48px 0 24px;
  font-size: 13px;
}

#footer .links .h3,
#footer .h3 {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

#footer .links ul li a {
  color: #aaa;
  padding: 4px 0;
  display: block;
  transition: color 0.15s;
  font-size: 13px;
}

#footer .links ul li a:hover {
  color: #fff;
}

#footer .block-contact .data {
  color: #aaa;
}

#footer .block-contact a {
  color: #ccc;
}

/* Footer bottom */
.footer-container .sub-footer {
  background: #111;
  padding: 16px 0;
  font-size: 12px;
  color: #666;
  text-align: center;
}

.footer-container .sub-footer a {
  color: #888;
}

/* Newsletter in footer */
.block_newsletter input[type="email"] {
  border: 1px solid #444;
  background: #2a2a2a;
  color: #fff;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 13px;
  width: 100%;
}

.block_newsletter button {
  background: #fff;
  color: #1a1a1a;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  margin-top: 8px;
}

/* ============================================
   BREADCRUMB
   ============================================ */
.breadcrumb-wrapper {
  background: #f8f8f8;
  padding: 10px 0;
  font-size: 12px;
}

.breadcrumb {
  background: none;
  margin: 0;
  padding: 0;
}

.breadcrumb li a { color: #666; }
.breadcrumb li.active { color: #1a1a1a; font-weight: 500; }

/* ============================================
   CATEGORY PAGE
   ============================================ */
#category #left-column {
  padding-right: 24px;
}

/* Filter sidebar */
.facets-title,
.facet .title {
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #1a1a1a;
}

.facet-label {
  font-size: 13px;
  color: #333;
}

/* ============================================
   PRODUCT PAGE
   ============================================ */
#product .product-name {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a1a;
}

#product .current-price {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
}

#product .product-add-to-cart .add-to-cart {
  width: 100%;
  padding: 14px;
  font-size: 15px;
  border-radius: 8px;
}

/* ============================================
   UTILS
   ============================================ */
.text-muted { color: #999 !important; }

/* ============================================
   ETAP 2 — HOMEPAGE SECTIONS
   ============================================ */

/* --- GLOBAL CONTAINERS --- */
.dkr-home { background: #f7f6f4; }

.dkr-container {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 24px;
  background: #f7f6f4;
}

/* --- BUTTONS --- */
.dkr-btn {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 4px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.dkr-btn--dark  { background: #1a1a1a; color: #fff; border: 2px solid #1a1a1a; }
.dkr-btn--dark:hover { background: #333; color: #fff; }
.dkr-btn--white { background: #fff; color: #1a1a1a; border: 2px solid #fff; }
.dkr-btn--white:hover { background: transparent; color: #fff; }
.dkr-btn--outline { background: transparent; color: #1a1a1a; border: 2px solid #1a1a1a; }
.dkr-btn--outline:hover { background: #1a1a1a; color: #fff; }
.dkr-btn--green { background: #2d6a4f; color: #fff; border: 2px solid #2d6a4f; }
.dkr-btn--green:hover { background: #1b4332; color: #fff; }

/* ============================================
   HERO GRID
   ============================================ */
/* Hero: break out of PS .container → 1390px centered */
.dkr-hero {
  width: 1390px;
  margin-left: calc(50% - 695px);
  margin-top: 0;
  margin-bottom: 0;
}

.dkr-hero__grid {
  display: grid;
  grid-template-columns: 67.5676fr 32.4324fr;
  grid-template-rows: 464px;
  gap: 24px;
  background: #f7f6f4;
  padding: 0 24px;
  box-sizing: border-box;
}

/* LEFT: Slider */
.dkr-hero__slider {
  position: relative;
  overflow: hidden;
  background: #e8e4de;
}

.dkr-hero__slider-inner { height: 100%; }

/* Override PS slider to fill hero */
.dkr-hero__slider #carousel,
.dkr-hero__slider .carousel {
  height: 100% !important;
  border-radius: 0 !important;
}

.dkr-hero__slider .carousel-item,
.dkr-hero__slider .carousel-inner {
  height: 100% !important;
}

/* carousel-inner это <ul> — браузерный дефолт padding-left:40px, margin:14px */
.dkr-hero__slider .carousel-inner,
.dkr-hero__slider ul.carousel-inner {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* carousel-item это <li> */
.dkr-hero__slider .carousel-item,
.dkr-hero__slider li.carousel-item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Сбросить браузерный margin у figure (1em 40px по умолчанию!) */
.dkr-hero__slider figure {
  margin: 0 !important;
  padding: 0 !important;
  display: block;
}

.dkr-hero__slider .carousel-item img,
.dkr-hero__slider img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

/* Hide PS imageslider built-in caption (we use our own overlay) */
.dkr-hero__slider figcaption.caption,
.dkr-hero__slider .caption-description { display: none !important; }

/* Hide slide title (h2) from PS imageslider */
.dkr-hero__slider .carousel-item h2,
.dkr-hero__slider .carousel-item h3 { display: none !important; }

.dkr-hero__slider-label {
  position: absolute;
  bottom: 32px;
  left: 32px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dkr-hero__slider-label span {
  font-size: 15px;
  color: #fff;
  font-weight: 400;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

/* MIDDLE: Outlet banner */
.dkr-hero__banner {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dkr-hero__banner--outlet {
  background: linear-gradient(135deg, #f5f0ea 0%, #e8dfd4 100%);
}

.dkr-hero__banner--outlet::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=600&q=60') center/cover;
  opacity: 0.35;
}

.dkr-hero__banner-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 24px;
}

.dkr-hero__banner-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #1a1a1a;
  margin-bottom: 8px;
}

.dkr-hero__banner-title {
  font-size: 22px;
  font-weight: 800;
  color: #1a1a1a;
  line-height: 1.1;
  margin-bottom: 20px;
}

.dkr-hero__banner-title span {
  font-size: 52px;
  display: block;
  color: #1a1a1a;
}

/* RIGHT STACK — img fill + text overlay at bottom-left */
.dkr-hero__banners-stack {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 24px;
  background: #f7f6f4;
}

.dkr-hero__right-item {
  flex: 1;
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;
}

.dkr-hero__right-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dkr-hero__right-txt {
  position: absolute;
  bottom: 4px;
  left: 15px;
}

.dkr-hero__right-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}

.dkr-hero__right-text {
  font-size: 12px;
  color: rgba(255,255,255,0.9);
  margin: 0;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}

/* ============================================
   HERO QUICK LINKS (4 buttons under hero)
   ============================================ */
.dkr-hero-links {
  background: #f7f6f4;
  border-bottom: 1px solid #ebebeb;
  padding: 0;
}

.dkr-hero-links__inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  gap: 0;
}

.dkr-hero-links__btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  text-decoration: none;
  border-right: 1px solid #ebebeb;
  letter-spacing: 0.2px;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}

.dkr-hero-links__btn:last-child { border-right: none; }
.dkr-hero-links__btn:hover { background: #f7f6f4; color: #1a1a1a; }
.dkr-hero-links__btn--active {
  background: #17afa0;
  color: #fff;
}
.dkr-hero-links__btn--active:hover { background: #0d8c85; color: #fff; }

/* ============================================
   SECTION COMMON
   ============================================ */
.dkr-section {
  padding: 56px 0;
}

.dkr-section__head {
  margin-bottom: 32px;
}

.dkr-section__head--row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.dkr-section__title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 6px;
}

.dkr-section__sub {
  font-size: 14px;
  color: #555;
  margin: 0;
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
}

.dkr-section__sub::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #2d6a4f;
}

.dkr-link-all {
  font-size: 13px;
  color: #555;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s;
}
.dkr-link-all:hover { color: #1a1a1a; }

/* ============================================
   PRODUCTS SECTION — override PS defaults
   ============================================ */
/* Hide PS module titles inside product grid, but NOT our own section title */
.dkr-section--polecamy .dkr-products-grid .products-section-title,
.dkr-section--polecamy .dkr-products-grid h2,
.dkr-section--polecamy .dkr-products-grid .h2 {
  display: none; /* we use our own title */
}

/* Products grid */
.dkr-section .products,
.dkr-section .product-list {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Product card */
.dkr-section .product-miniature,
.dkr-section .js-product {
  border: 1px solid #f0f0f0 !important;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  transition: box-shadow 0.2s, border-color 0.2s;
  position: relative;
}

.dkr-section .product-miniature:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  border-color: #1a1a1a !important;
}

/* Product image */
.dkr-section .product-miniature .thumbnail-container {
  background: #f7f6f4;
  border-radius: 6px 6px 0 0;
  overflow: hidden;
  position: relative;
}

.dkr-section .product-miniature img.product-cover-img,
.dkr-section .product-miniature .card-img-top {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4/5 !important;
  object-fit: cover !important;
  display: block;
  transition: transform 0.35s ease;
}

.dkr-section .product-miniature:hover img {
  transform: scale(1.05);
}

/* Quick view button — visible on hover */
.dkr-section .product-miniature .highlighted-informations {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(26,26,26,0.85);
  padding: 10px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.2s;
}

.dkr-section .product-miniature:hover .highlighted-informations {
  opacity: 1;
}

.dkr-section .product-miniature .highlighted-informations a {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Product description */
.dkr-section .product-miniature .product-description {
  padding: 14px 12px 16px;
}

.dkr-section .product-miniature .product-title {
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.3;
  margin-bottom: 8px;
}

.dkr-section .product-miniature .product-title a {
  color: #1a1a1a;
}

.dkr-section .product-miniature .product-price-and-shipping {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
}

.dkr-section .product-miniature .product-price-and-shipping .regular-price {
  font-size: 12px;
  font-weight: 400;
  color: #aaa;
  text-decoration: line-through;
  margin-right: 6px;
}

/* Flags — dkr-section override (same pill style) */
.dkr-section .product-flags {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 5px;
  z-index: 3;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dkr-section .product-flag {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  line-height: 1.4;
}

.dkr-section .product-flag.new    { background: #17afa0; color: #fff; }
.dkr-section .product-flag.discount { background: #e63946; color: #fff; }
.dkr-section .product-flag.pack   { background: #17afa0; color: #fff; }

/* Custom badges: Bestseller, Raty */
.dkr-badge-bestseller {
  background: #17afa0;
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.dkr-badge-raty {
  background: #e63946;
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
}

/* ============================================
   DO KOSZYKA BUTTON (mebloo style)
   ============================================ */
.dkr-card-btn {
  display: block;
  width: 100%;
  max-width: 190px;
  margin: 10px auto 0;
  height: 38px;
  line-height: 36px;
  text-align: center;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #1a1a1a;
  background: #fff;
  border: 1px solid #1a1a1a;
  border-radius: 20px;
  text-decoration: none;
  transition: background-color 0.2s ease-out, color 0.2s ease-out;
  cursor: pointer;
  white-space: nowrap;
  overflow: visible;
}

.dkr-card-btn:hover {
  background: #1a1a1a;
  color: #fff;
  text-decoration: none;
}

/* Fix: thumbnail-container clips button — move overflow to image wrapper */
.dkr-section .product-miniature .thumbnail-container {
  overflow: visible !important;
}

.dkr-section .product-miniature .thumbnail-top {
  overflow: hidden;
  border-radius: 6px 6px 0 0;
  position: relative;
}

/* Wishlist button */
.dkr-section .product-miniature .wishlist-button-add,
.dkr-section .product-miniature [data-button-action="add-to-wishlist"] {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  background: #fff;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  cursor: pointer;
  color: #aaa;
  transition: color 0.2s;
}
.dkr-section .product-miniature .wishlist-button-add:hover { color: #e63946; }

/* ============================================
   CATEGORY GRID
   ============================================ */
.dkr-section--cats {
  background: #faf9f7;
}

.dkr-cats__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.dkr-cat-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: #1a1a1a;
  transition: transform 0.2s;
  overflow: hidden;
}

.dkr-cat-card:hover { transform: translateY(-4px); }
.dkr-cat-card:hover .dkr-cat-card__img { transform: scale(1.04); }

.dkr-cat-card__img {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  background-color: #f0ede8;
  transition: transform 0.3s ease;
}

/* Category images (placeholders — replace with real photos later) */
.dkr-cat-card__img--1 { background-image: url('https://images.unsplash.com/photo-1506439773649-6e0eb8cfb237?w=400&q=70'); }
.dkr-cat-card__img--2 { background-image: url('https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=400&q=70'); }
.dkr-cat-card__img--3 { background-image: url('https://images.unsplash.com/photo-1567016432779-094069958ea5?w=400&q=70'); }
.dkr-cat-card__img--4 { background-image: url('https://images.unsplash.com/photo-1524758631624-e2822e304c36?w=400&q=70'); }
.dkr-cat-card__img--5 { background-image: url('https://images.unsplash.com/photo-1493663284031-b7e3aefcae8e?w=400&q=70'); }

/* Pomieszczenia */
.dkr-cat-card__img--r1 { background-image: url('https://images.unsplash.com/photo-1549497538-c0a19e45e5b4?w=400&q=70'); }
.dkr-cat-card__img--r2 { background-image: url('https://images.unsplash.com/photo-1585771724684-38269d6639fd?w=400&q=70'); }
.dkr-cat-card__img--r3 { background-image: url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=400&q=70'); }
.dkr-cat-card__img--r4 { background-image: url('https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=400&q=70'); }
.dkr-cat-card__img--r5 { background-image: url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=400&q=70'); }

.dkr-cats__label {
  font-size: 12px;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 16px 0;
}
.dkr-cats__label:not(:first-of-type) { margin-top: 32px; }

.dkr-cat-card__name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-align: center;
  padding-top: 14px;
  margin-top: 13px;
  border-top: 1px solid #e2e2e2;
}

/* ============================================
   OFERTA PROMOCYJNA
   ============================================ */
.dkr-section--oferta {
  background: #faf9f7;
  padding: 56px 0;
}

.dkr-oferta__inner {
  display: block;
}

.dkr-oferta__banner {
  display: none;
}

.dkr-oferta__tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.dkr-oferta__title {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 1px;
  margin-bottom: 16px;
  line-height: 1.1;
}

.dkr-oferta__desc {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 24px;
  line-height: 1.5;
}

/* Products inside oferta section — white/light like mebloo */
.dkr-section--oferta .products {
  grid-template-columns: repeat(5, 1fr) !important;
}

.dkr-section--oferta .product-miniature {
  background: #fff !important;
}

/* ============================================
   SKLEP MEBLOWY ONLINE — text block
   ============================================ */
.dkr-section--sklep {
  padding: 48px 0;
  background: #fafafa;
}
.dkr-sklep__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.dkr-sklep__title {
  font-size: 26px;
  font-weight: 800;
  margin-bottom: 16px;
  color: #1a1a1a;
}
.dkr-sklep__text p {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 12px;
}
.dkr-sklep__img img {
  width: 100%;
  border-radius: 12px;
  display: block;
  object-fit: cover;
  max-height: 320px;
}
@media (max-width: 767px) {
  .dkr-sklep__inner { grid-template-columns: 1fr; }
  .dkr-sklep__img { display: none; }
}

/* ============================================
   OD RĘKI — dark banner
   ============================================ */
.dkr-od-reki {
  background: #1a1a1a url('https://images.unsplash.com/photo-1506439773649-6e0eb8cfb237?w=1400&q=60') center/cover no-repeat;
  position: relative;
  padding: 72px 0;
  text-align: center;
}
.dkr-od-reki::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 20, 0.72);
}
.dkr-od-reki__inner {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 auto;
  padding: 0 24px;
}
.dkr-od-reki__title {
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 16px;
}
.dkr-od-reki__title strong { color: #17afa0; }
.dkr-od-reki__sub {
  font-size: 15px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 32px;
}
.dkr-btn--white {
  background: #fff;
  color: #1a1a1a;
  border: 2px solid #fff;
  padding: 14px 36px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
  letter-spacing: 0.5px;
  transition: background 0.2s, color 0.2s;
}
.dkr-btn--white:hover {
  background: #17afa0;
  border-color: #17afa0;
  color: #fff;
}
@media (max-width: 767px) {
  .dkr-od-reki { padding: 48px 0; }
  .dkr-od-reki__title { font-size: 26px; }
}

/* ============================================
   USP BAR
   ============================================ */
.dkr-usp {
  background: #f7f6f4;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  padding: 28px 0;
}

.dkr-usp__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.dkr-usp__item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.dkr-usp__icon {
  font-size: 28px;
  flex-shrink: 0;
}

.dkr-usp__text {
  display: flex;
  flex-direction: column;
}

.dkr-usp__text strong {
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
}

.dkr-usp__text span {
  font-size: 12px;
  color: #777;
}

/* ============================================
   HIDE PS DEFAULT HOMEPAGE WRAPPER ELEMENTS
   ============================================ */
/* Hide default section titles from hooks */
.page-home > .featured-products > h2,
.page-home > .new-products > h2,
.page-home > .products-section-title {
  display: none;
}

/* Override page background */
#main .page-home {
  background: none;
  padding: 0;
}

#content-wrapper {
  padding: 0 !important;
}

/* Remove default PS gray background */
#wrapper {
  background: #f7f6f4;
}

/* ============================================
   HOOK SECTION SPLITTING (nth-of-type approach)
   displayHome outputs: [carousel][section1=featured][a.banner][div][section2=bestsellers][section3=newproducts]
   We use CSS to show only the relevant section in each container
   ============================================ */

/* All product containers: hide carousel, banner link, custom text div */
.dkr-products-grid > div,
.dkr-products-grid > a,
.dkr-oferta__products > div,
.dkr-oferta__products > a { display: none !important; }

/* POLECAMY: show only 1st section (featured products) */
.dkr-section--polecamy .dkr-products-grid > section:not(:nth-of-type(1)) { display: none !important; }
/* POLECAMY: max 4 products visible */
.dkr-section--polecamy .products > .js-product:nth-child(n+5) { display: none !important; }

/* OFERTA: show only 2nd section (bestsellers) */
.dkr-oferta__products > section:not(:nth-of-type(2)) { display: none !important; }
/* OFERTA: max 4 products */
.dkr-oferta__products .products > .js-product:nth-child(n+5) { display: none !important; }

/* HIT DNIA: show only 3rd section (new products) */
.dkr-section--hit .dkr-products-grid > section:not(:nth-of-type(3)) { display: none !important; }
/* HIT DNIA: max 4 products */
.dkr-section--hit .products > .js-product:nth-child(n+5) { display: none !important; }

/* ============================================
   BOOTSTRAP COL OVERRIDE (product grid fix)
   PS wraps products in col-xl-3 Bootstrap cells
   which conflict with our CSS Grid layout
   ============================================ */
.dkr-products-grid .products.row,
.dkr-products-grid .products {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Reset Bootstrap column flex on product items */
.dkr-products-grid .products > [class*="col-"],
.dkr-products-grid .products > .js-product {
  flex: none !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Oferta products: 4 cols on dark bg */
.dkr-oferta__products .products.row,
.dkr-oferta__products .products {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dkr-oferta__products .products > [class*="col-"],
.dkr-oferta__products .products > .js-product {
  flex: none !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
}

/* ============================================
   HIDE PS MODULE DEFAULT TITLES IN SECTIONS
   ============================================ */
.dkr-products-grid .products-section-title,
.dkr-products-grid h2.h2,
.dkr-oferta__products .products-section-title,
.dkr-oferta__products h2.h2 {
  display: none !important;
}

/* Hide "Wszystkie produkty" links from hook output in our sections */
.dkr-products-grid > .featured-products > .all-product-link,
.dkr-products-grid > section > .all-product-link,
.dkr-oferta__products > .featured-products > .all-product-link,
.dkr-oferta__products > section > .all-product-link,
.dkr-section .all-product-link,
.all-product-link {
  display: none !important;
}

/* Hide PS module section titles EVERYWHERE */
.products-section-title,
section.featured-products > h2,
section.new-products > h2,
section.bestsellers > h2 {
  display: none !important;
}

/* Hide breadcrumb on homepage (PS adds it even on index) */
.page-index .breadcrumb-wrapper,
.page-index nav.breadcrumb,
.page-index .breadcrumb {
  display: none !important;
}

/* Hide quick-view button */
.quick-view,
.js-quick-view,
a.quick-view {
  display: none !important;
}

/* Hide ps_customtext block ("Custom Text Block / Lorem ipsum") */
#custom-text,
.page-index #custom-text {
  display: none !important;
}

/* Hide wishlist "favorite_border" text until Material Icons load */
.wishlist-button-add .wishlist-button-label {
  display: none !important;
}

/* Hide extra padding from featured-products wrapper */
.dkr-products-grid > .featured-products,
.dkr-products-grid > section.featured-products {
  padding: 0 !important;
  margin: 0 !important;
}

.dkr-oferta__products > .featured-products,
.dkr-oferta__products > section.featured-products {
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================
   OFERTA SECTION — light product cards (like mebloo)
   ============================================ */
.dkr-oferta__products .product-miniature {
  background: #fff !important;
  border-radius: 6px;
  overflow: hidden;
}

.dkr-oferta__products .product-miniature .thumbnail-container {
  background: #f7f6f4 !important;
}

.dkr-oferta__products .product-miniature .product-title a {
  color: #1a1a1a !important;
}

.dkr-oferta__products .product-miniature .product-price-and-shipping {
  color: #1a1a1a !important;
}

.dkr-oferta__products .product-miniature .product-price-and-shipping .regular-price {
  color: #aaa !important;
}

/* ============================================
   HIT DNIA section
   ============================================ */
.dkr-section--hit {
  background: #fff;
  border-top: 1px solid #f0f0f0;
}

/* ============================================
   WISHLIST HEART ICON IN HEADER
   display:contents on #_desktop_user_info makes .user-info and .blockcart
   direct flex children → we can reorder with CSS order
   ============================================ */

/* Reorder: account (1) → wishlist (2) → cart (3)
   Note: blockcart is wrapped in #_desktop_cart, so order goes on the wrapper */
.dkr-header__icons .user-info       { order: 1; }
.dkr-header__wishlist               { order: 2; }
.dkr-header__icons #_desktop_cart   { order: 3; }

/* Wishlist button style (same as account/cart) */
.dkr-header__wishlist {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s;
  color: #333;
  text-decoration: none;
}

.dkr-header__wishlist:hover {
  background: #f5f5f5;
  color: #e63946;
}

.dkr-header__wishlist svg {
  display: block;
  transition: stroke 0.15s;
  width: 28px;
  height: 28px;
}

.dkr-header__wishlist:hover svg {
  stroke: #e63946;
}

/* Hide cart badge when cart is empty (PS adds .inactive class to .blockcart) */
.blockcart.inactive .cart-products-count { display: none !important; }

/* ============================================
   RESPONSIVE BREAKPOINTS
   ============================================ */

/* === DESKTOP: constrain buttons to slider column width === */
@media (min-width: 1400px) {
  .dkr-hero-links {
    width: 1390px;
    margin-left: calc(50% - 695px);
    padding: 0;
    box-sizing: border-box;
  }
  .dkr-hero-links__inner {
    padding-left: 24px;
    padding-right: 0;
    margin: 0;
    max-width: none;
    /* slider col = (1390-48-24)*0.675676 ≈ 890px + 24px left pad = 914px */
    width: 914px;
  }
}

/* === TABLET LARGE (1024px – 1399px) === */
@media (min-width: 1024px) and (max-width: 1399px) {
  .dkr-hero {
    width: 100%;
    margin-left: 0;
  }
  .dkr-hero__grid {
    padding: 0 16px;
  }
  .dkr-hero-links {
    width: 100%;
    margin-left: 0;
    padding: 0;
  }
  .dkr-hero-links__inner {
    padding-left: 16px;
    padding-right: 0;
    margin: 0;
    max-width: none;
    /* slider = (100% - padding*2 - gap)*0.675676 + left_pad */
    width: calc((100% - 56px) * 0.675676 + 16px);
  }
  .dkr-section .products,
  .dkr-section .products.row,
  .dkr-products-grid .products,
  .dkr-products-grid .products.row,
  .dkr-oferta__products .products,
  .dkr-oferta__products .products.row,
  .dkr-section--oferta .products,
  .dkr-section--oferta .products.row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .dkr-cats__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* === TABLET SMALL (768px – 1023px) === */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Header */
  .dkr-header__inner {
    gap: 12px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .dkr-header__logo { min-width: 160px; margin-right: 10px; }
  .dkr-logo-wrap a::before { width: 44px; height: 44px; }
  .dkr-logo-wrap a::after  { font-size: 20px; }
  .dkr-header__phone { padding: 10px 16px; font-size: 13px; }

  /* Hero: single column, banners as row below */
  .dkr-hero { width: 100%; margin-left: 0; }
  .dkr-hero__grid {
    grid-template-columns: 1fr;
    grid-template-rows: 280px auto;
    gap: 12px;
    padding: 0 16px;
  }
  .dkr-hero__banners-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    flex-direction: unset;
    height: 160px;
    background: #f7f6f4;
  }
  .dkr-hero__right-item { height: 100%; }

  /* Buttons: full width + scroll */
  .dkr-hero-links { width: 100%; margin-left: 0; padding: 0; }
  .dkr-hero-links__inner {
    width: 100%; max-width: none; margin: 0; padding: 0 16px;
    overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .dkr-hero-links__inner::-webkit-scrollbar { display: none; }
  .dkr-hero-links__btn { flex: 0 0 auto; }

  /* Products: 2 cols */
  .dkr-section .products,
  .dkr-section .products.row,
  .dkr-products-grid .products,
  .dkr-products-grid .products.row,
  .dkr-oferta__products .products,
  .dkr-oferta__products .products.row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  .dkr-cats__grid { grid-template-columns: repeat(3, 1fr); }
  .dkr-oferta__inner { grid-template-columns: 1fr; gap: 24px; }
  .dkr-usp__grid { grid-template-columns: repeat(2, 1fr); }
}

/* === MOBILE (< 768px) === */
@media (max-width: 767px) {

  /* ============================================================
     MOBILE: BOTTOM NAV BAR
     Header переміщений вниз екрану для зручної роботи однією рукою
     ============================================================ */

  /* TOPBAR: ховаємо на мобілі */
  .dkr-topbar { display: none !important; }

  /* HEADER: fixed на мобілі — padding-top на body (без JS, без тайминга) */
  body {
    padding-top: 57px !important;
  }
  #header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background: #fff !important;
    box-shadow: none !important;
    width: 100% !important;
  }
  #header.header--sticky {
    box-shadow: 0 1px 0 #e0e0e0, 0 2px 12px rgba(0,0,0,0.06) !important;
  }
  .dkr-header__inner { position: relative !important; }

  /* Header inner: flex-column (search зверху, бар знизу) */
  .dkr-header__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    gap: 0 !important;
    align-items: stretch !important;
  }
  /* container-xl всередині шапки — скидаємо бокові відступи */
  #header .container-xl {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  /* SEARCH: прихований за замовчуванням, відкривається вниз */
  .dkr-header__search,
  #_desktop_search {
    display: none !important;
    order: 3;
    width: 100%;
    padding: 10px 16px;
    border-bottom: 1px solid #e8e8e8;
    background: #fff;
  }
  .dkr-header__search.dkr-search-open,
  #_desktop_search.dkr-search-open {
    display: block !important;
  }

  /* TOP BAR: [left] [logo center] [right] */
  .dkr-header__mobile-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 56px !important;
    order: 2;
    padding: 0 8px !important;
    position: relative !important;
  }

  /* Ховаємо desktop-елементи */
  .dkr-header__logo { display: none !important; }
  .dkr-header__icons { display: none !important; }
  .dkr-header__phone { display: none !important; }
  #_desktop_language_selector,
  #_desktop_currency_selector { display: none !important; }

  /* Ліва і права групи */
  .dkr-mob-left,
  .dkr-mob-right {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    z-index: 1;
  }

  /* Кнопки */
  .dkr-mob-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 44px !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #1a1a1a !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
  }

  /* Logo — абсолютний центр */
  #_mobile_logo {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  h1.dkr-logo-wrap, .dkr-logo-wrap {
    font-size: 16px !important;
    height: auto !important;
    line-height: normal !important;
    display: flex !important;
    align-items: center !important;
  }
  .dkr-logo-wrap a {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: auto !important;
  }
  .dkr-logo-wrap a::before { width: 30px !important; height: 30px !important; }
  .dkr-logo-wrap a::after  { font-size: 15px !important; }

  /* Cart всередині dkr-mob-btn--cart */
  .dkr-mob-btn--cart { position: relative !important; }
  .dkr-mob-btn--cart .header__nav,
  .dkr-mob-btn--cart .blockcart { display: flex !important; align-items: center !important; }

  /* Search input */
  #search_widget input[type="text"] {
    padding: 10px 44px 10px 14px;
    font-size: 13px;
    border-radius: 8px;
  }

  /* MOBILE NAV: прихований за замовчуванням (навіть якщо PS theme.js авто-відкрив) */
  #mobile_top_menu_wrapper {
    display: none !important;
    position: fixed !important;
    top: 56px !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    max-height: calc(100vh - 56px) !important;
    overflow-y: auto !important;
    background: #fff !important;
    border-top: 1px solid #e8e8e8 !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
    z-index: 998 !important;
    -webkit-overflow-scrolling: touch;
  }
  /* Відкривається тільки через наш JS toggle */
  #mobile_top_menu_wrapper.dkr-nav-open {
    display: block !important;
  }

  /* NAV: desktop nav прихована */
  .dkr-nav { display: none !important; }

  /* MOBILE NAV: стиль панели */
  #mobile_top_menu_wrapper ul,
  #mobile_top_menu_wrapper li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #mobile_top_menu_wrapper a {
    display: block;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 500;
    color: #1a1a1a;
    border-bottom: 1px solid #f0f0f0;
    text-decoration: none;
  }
  #mobile_top_menu_wrapper a:hover { background: #f9f9f9; }
  #mobile_top_menu_wrapper .category-sub-menu a {
    padding-left: 36px;
    font-size: 14px;
    font-weight: 400;
    color: #555;
  }
  /* Скрыть collapse toggle icons и js-bottom блок */
  #mobile_top_menu_wrapper .navbar-toggler { display: none !important; }
  #mobile_top_menu_wrapper .js-top-menu-bottom {
    padding: 12px 20px;
    border-top: 2px solid #f0f0f0;
    font-size: 13px;
    color: #666;
  }
  /* Развернуть sub-categories (убрать collapse) */
  #mobile_top_menu_wrapper .collapse { display: block !important; height: auto !important; }

  /* --- HERO: полная ширина на мобиле --- */
  /* Родитель .dkr-hero это #main (no padding) — убираем дефолтный body margin 8px */
  .dkr-hero {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
  }
  .dkr-hero__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto !important;
    gap: 0;
    padding: 0;
  }
  /* Carousel controls: hide arrows on mobile, swipe handles navigation */
  .dkr-hero__slider .carousel-control,
  .dkr-hero__slider .left.carousel-control,
  .dkr-hero__slider .right.carousel-control { display: none !important; }

  /* 2 баннера под слайдером — рядом, фиксированная высота как у референса */
  .dkr-hero__banners-stack {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    height: 340px;
    gap: 8px;
    padding: 8px;
    background: #f7f6f4;
  }
  .dkr-hero__right-item {
    border-radius: 10px;
    min-height: unset;
    height: 100%;
  }
  .dkr-hero__right-item img { height: 100%; }

  /* Слайдер: высота auto чтобы не было пустого места */
  .dkr-hero__slider { border-radius: 0; }
  .dkr-hero__slider #carousel,
  .dkr-hero__slider .carousel { height: auto !important; min-height: 180px; }
  .dkr-hero__slider .carousel-inner { min-height: 180px; }
  .dkr-hero__slider .carousel-item { min-height: 180px; }
  .dkr-hero__slider figure { margin: 0 !important; min-height: 180px; }
  .dkr-hero__slider .carousel-item img,
  .dkr-hero__slider img {
    height: auto !important;
    min-height: 180px;
    width: 100% !important;
    display: block !important;
    object-fit: cover !important;
  }
  .dkr-hero__slider-label { bottom: 14px; left: 14px; gap: 8px; }
  .dkr-hero__slider-label span { font-size: 12px; }

  /* --- QUICK LINKS BUTTONS --- */
  .dkr-hero-links { width: 100%; margin-left: 0; padding: 0; }
  .dkr-hero-links__inner {
    width: 100%; max-width: 100%; padding: 0; margin: 0;
    overflow-x: auto; overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    display: flex; flex-wrap: nowrap;
  }
  .dkr-hero-links__inner::-webkit-scrollbar { display: none; }
  .dkr-hero-links__btn {
    flex: 0 0 auto;
    font-size: 12px;
    padding: 11px 14px;
    white-space: nowrap;
    border-right: 1px solid #ebebeb;
  }

  /* --- CONTAINER --- */
  .dkr-container { padding: 0 16px; }

  /* --- SECTIONS --- */
  .dkr-section { padding: 28px 0; }
  .dkr-section__head { margin-bottom: 20px; }
  .dkr-section__title { font-size: 20px; }
  .dkr-section__head--row { flex-direction: column; gap: 6px; align-items: flex-start; }

  /* --- PRODUCTS: 2 cols --- */
  .dkr-section .products,
  .dkr-section .products.row,
  .dkr-products-grid .products,
  .dkr-products-grid .products.row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .dkr-oferta__products .products,
  .dkr-oferta__products .products.row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .dkr-section .product-miniature img.product-cover-img,
  .dkr-section .product-miniature .card-img-top {
    height: 150px !important;
  }
  .dkr-section .product-miniature .product-description { padding: 10px 8px 12px; }
  .dkr-section .product-miniature .product-title { font-size: 12px; }
  .dkr-section .product-miniature .product-price-and-shipping { font-size: 14px; }

  /* --- CATEGORIES: 3 cols --- */
  .dkr-cats__grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .dkr-cat-card__name { font-size: 11px; }

  /* --- OFERTA: stack --- */
  .dkr-oferta__inner { grid-template-columns: 1fr; gap: 24px; }
  .dkr-oferta__title { font-size: 24px; }

  /* --- USP: 2 cols --- */
  .dkr-usp__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .dkr-usp__icon { font-size: 22px; }
  .dkr-usp__text strong { font-size: 13px; }

  /* --- TOPBAR --- */
  .dkr-topbar { font-size: 11px; padding: 6px 12px; }

  /* --- SIDEBARS: скрываем на мобиле (PS рендерит категорийное дерево в left-column) --- */
  #left-column,
  #right-column {
    display: none !important;
  }
  #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* ============================================
   DKR FOOTER — стиль как mebloo.pl
   ============================================ */

/* Скрываем старый PS footer */
.footer-container,
#footer .block_newsletter,
#footer .block-social {
  display: none !important;
}
#footer > .container > .row,
.footer-container { display: none !important; }

/* Основной footer wrapper */
.dkr-footer {
  background: #1a1a1a;
  color: #fff;
  padding: 48px 0 0;
  margin-top: 0;
}

/* Верхняя часть — 5 колонок */
.dkr-footer__cols {
  display: grid;
  grid-template-columns: 1.6fr 1.2fr 1.2fr 1.4fr 1.6fr;
  gap: 32px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.dkr-footer__col-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #fff;
  margin: 0 0 16px;
}

.dkr-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dkr-footer__col ul li {
  margin-bottom: 9px;
}

.dkr-footer__col ul li a {
  font-size: 13px;
  color: rgba(255,255,255,0.68);
  text-decoration: none;
  transition: color 0.15s;
}

.dkr-footer__col ul li a:hover {
  color: #fff;
}

/* Контакт: кнопки телефон/email */
.dkr-footer__contact-hours {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 12px;
}

.dkr-footer__btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 8px;
  transition: opacity 0.15s;
}
.dkr-footer__btn:hover { opacity: 0.85; }
.dkr-footer__btn--tel {
  background: #17afa0;
  color: #fff;
  display: flex;
}
.dkr-footer__btn--email {
  background: rgba(255,255,255,0.1);
  color: #fff;
  display: flex;
}

/* Средняя полоса: доставка | платежи | соцсети */
.dkr-footer__bar {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.dkr-footer__bar-item {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  padding: 0 24px;
  border-right: 1px solid rgba(255,255,255,0.1);
}
.dkr-footer__bar-item:first-child { padding-left: 0; }
.dkr-footer__bar-item:last-child { border-right: none; }

.dkr-footer__bar-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.5);
  white-space: nowrap;
}

.dkr-footer__bar-logos {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.dkr-footer__bar-logos img {
  height: 22px;
  opacity: 0.7;
  filter: brightness(10);
}

.dkr-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: #fff;
  transition: background 0.15s;
  margin-right: 6px;
}
.dkr-footer__social a:hover { background: #17afa0; }
.dkr-footer__social svg { display: block; }

/* Копирайт */
.dkr-footer__copy {
  padding: 16px 0;
  font-size: 12px;
  color: rgba(255,255,255,0.4);
  text-align: center;
}

/* MOBILE footer */
@media (max-width: 767px) {
  .dkr-footer { padding: 32px 0 0; }
  .dkr-footer__cols {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    padding-bottom: 28px;
  }
  .dkr-footer__col:last-child {
    grid-column: 1 / -1;
  }
  .dkr-footer__bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 0;
  }
  .dkr-footer__bar-item {
    padding: 0;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding-bottom: 12px;
    width: 100%;
  }
  .dkr-footer__bar-item:last-child { border-bottom: none; padding-bottom: 0; }
}

/* =============================================
   DKR PRODUCT PAGE (Etap 3)
   ============================================= */

/* --- Layout --- */
.dkr-product-page #wrapper { background: #f7f6f4; }
.dkr-product-page .container { max-width: 1260px; }

.dkr-product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  padding: 24px 0 48px;
}

/* --- LEFT: Gallery --- */
.dkr-product__gallery {
  position: relative;
}

.dkr-product__flags {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dkr-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #17afa0;
  color: #fff;
}
.dkr-badge--new { background: #17afa0; }
.dkr-badge--discount { background: #e74c3c; }
.dkr-badge--on-sale { background: #e74c3c; }
.dkr-badge--pack { background: #666; }

.dkr-product__cover {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f7f5;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dkr-product__cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Thumbnails */
.dkr-product__thumbs {
  margin-top: 12px;
  overflow: hidden;
}

.dkr-product__thumbs-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dkr-product__thumb-item {
  width: 72px;
  height: 72px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color 0.2s;
  background: #f8f7f5;
  flex-shrink: 0;
}

.dkr-product__thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dkr-product__thumb-item:has(.js-thumb-selected),
.dkr-product__thumb-item:hover {
  border-color: #1a1a1a;
}

/* --- Tabs --- */
.dkr-product__tabs {
  margin-top: 32px;
  border-top: 1px solid #e8e8e8;
  padding-top: 0;
}

.dkr-tabs__nav {
  display: flex;
  border-bottom: 1px solid #e8e8e8;
}

.dkr-tabs__btn {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 14px 20px;
  font-size: 13px;
  font-weight: 600;
  color: #999;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  margin-bottom: -1px;
  font-family: inherit;
}

.dkr-tabs__btn:hover { color: #1a1a1a; }
.dkr-tabs__btn--active {
  color: #1a1a1a;
  border-bottom-color: #1a1a1a;
}

.dkr-tabs__panel {
  display: none;
  padding: 20px 0;
  background: #f7f6f4;
}
.dkr-tabs__panel--active { display: block; }

/* Params table */
.dkr-params-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.dkr-params-table tr {
  border-bottom: 1px solid #f0f0f0;
}
.dkr-params-table td {
  padding: 8px 4px;
  vertical-align: top;
}
.dkr-params-table__name {
  color: #888;
  width: 50%;
}
.dkr-params-table__val {
  color: #1a1a1a;
  font-weight: 500;
}

.dkr-product__description {
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}

/* --- RIGHT: Product info --- */
.dkr-product__name {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: #1a1a1a;
  margin: 0 0 8px;
}

.dkr-product__short-desc {
  font-size: 13px;
  color: #777;
  margin-bottom: 12px;
  line-height: 1.5;
}

/* Timer */
.dkr-timer {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff8e1;
  border: 1px solid #ffe082;
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 16px;
  font-size: 13px;
  color: #7a5900;
}
.dkr-timer__countdown {
  font-weight: 700;
  font-size: 15px;
  color: #e65100;
  font-variant-numeric: tabular-nums;
  min-width: 60px;
}

/* Price block */
.dkr-product__price-block {
  margin-bottom: 16px;
}

.dkr-product__price-block .current-price .price {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
}

.dkr-product__price-block .regular-price {
  font-size: 16px;
  color: #999;
  text-decoration: line-through;
  margin-right: 8px;
}

.dkr-product__price-block .discount-percentage {
  background: #e74c3c;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 12px;
}

/* Variants */
.dkr-product__variants {
  margin-bottom: 16px;
}

.dkr-product__variants .product-variants > .product-variants-item {
  margin-bottom: 14px;
}

.dkr-product__variants label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  display: block;
  margin-bottom: 6px;
}

.dkr-product__variants select {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid #d0d0d0;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  color: #1a1a1a;
  background: #fff;
  appearance: none;
  cursor: pointer;
}

.dkr-product__variants select:focus {
  outline: none;
  border-color: #1a1a1a;
}

/* Quantity + Cart button */
.dkr-product__cart-row .product-add-to-cart {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dkr-product__cart-row .qty { margin: 0; }
.dkr-product__cart-row .qty .label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  margin-bottom: 6px;
  display: block;
}

.dkr-product__cart-row .input-group {
  display: flex;
  align-items: center;
  border: 1.5px solid #d0d0d0;
  border-radius: 8px;
  overflow: hidden;
  width: 120px;
}

.dkr-product__cart-row .input-group .btn.js-touchspin {
  background: none;
  border: none;
  padding: 8px 14px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  color: #1a1a1a;
}
.dkr-product__cart-row .input-group .btn.js-touchspin:hover {
  background: #f5f5f5;
}

.dkr-product__cart-row .input-group .form-control {
  border: none;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  width: 44px;
  padding: 0;
  box-shadow: none;
}

.dkr-product__cart-row .add {
  margin-top: 8px;
}

.dkr-product__cart-row .btn-add-to-cart,
.dkr-product__cart-row #add-to-cart {
  width: 100%;
  background: #1a1a1a;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 15px 24px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}

.dkr-product__cart-row .btn-add-to-cart:hover,
.dkr-product__cart-row #add-to-cart:hover {
  background: #333;
}

.dkr-product__cart-row .btn-add-to-cart:active,
.dkr-product__cart-row #add-to-cart:active {
  transform: scale(0.99);
}

/* --- Delivery Calculator --- */
.dkr-delivery-calc {
  border: 1.5px solid #e8e8e8;
  border-radius: 10px;
  padding: 16px;
  margin: 16px 0;
  background: #fafaf9;
}

.dkr-delivery-calc__title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #888;
  margin-bottom: 12px;
}

.dkr-delivery-calc__row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.dkr-delivery-calc__label {
  font-size: 13px;
  color: #555;
  white-space: nowrap;
}

.dkr-delivery-calc__input-wrap {
  display: flex;
  align-items: center;
  border: 1.5px solid #d0d0d0;
  border-radius: 8px;
  overflow: hidden;
}

.dkr-delivery-calc__btn {
  background: none;
  border: none;
  padding: 6px 12px;
  font-size: 18px;
  cursor: pointer;
  color: #1a1a1a;
}
.dkr-delivery-calc__btn:hover { background: #f0f0f0; }

.dkr-delivery-calc__input {
  border: none;
  width: 48px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  padding: 6px 0;
}
.dkr-delivery-calc__input:focus { outline: none; }
.dkr-delivery-calc__input::-webkit-inner-spin-button,
.dkr-delivery-calc__input::-webkit-outer-spin-button { -webkit-appearance: none; }

.dkr-delivery-calc__result {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 10px 14px;
}

.dkr-delivery-calc__method {
  font-size: 13px;
  color: #333;
}

.dkr-delivery-calc__price {
  font-weight: 700;
  font-size: 15px;
  color: #1a1a1a;
}

/* --- Product Info List --- */
.dkr-product__info-list {
  margin-top: 16px;
  border-top: 1px solid #f0f0f0;
  padding-top: 12px;
}

.dkr-product__info-item {
  display: flex;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid #f5f5f5;
  font-size: 13px;
}

.dkr-product__info-label {
  color: #999;
  flex: 0 0 120px;
}

.dkr-product__info-val {
  color: #1a1a1a;
  font-weight: 500;
}

/* Hide PS junk on product page */
.dkr-product-page .page-content,
.dkr-product-page #content { display: contents; }
.dkr-product-page .scroll-box-arrows { display: none !important; }
.dkr-product-page .product-footer { display: none; }
.dkr-product-page .page-footer { display: none; }
.dkr-product-page .social-sharing { display: none; }
.dkr-product-page .blockreassurance_product { display: none !important; }
.dkr-product-page #product-availability { font-size: 12px; color: #17afa0; margin: 4px 0; }

/* Related products */
.dkr-product__related {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid #f0f0f0;
}

/* ---- BREADCRUMB on product page ---- */
.dkr-product-page .breadcrumb {
  font-size: 12px;
  color: #999;
  padding: 12px 0 0;
}

/* =============================================
   PRODUCT PAGE RESPONSIVE
   ============================================= */
@media (max-width: 900px) {
  .dkr-product {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .dkr-product__cover {
    aspect-ratio: 4/3;
  }
}

@media (max-width: 600px) {
  .dkr-product__name { font-size: 18px; }
  .dkr-product__price-block .current-price .price { font-size: 22px; }
  .dkr-delivery-calc__row { flex-wrap: wrap; }
  .dkr-product__info-label { flex: 0 0 100px; }
  .dkr-tabs__btn { padding: 12px 14px; font-size: 12px; }
}

/* =============================================
   PRODUCT PAGE — FIXES v2
   ============================================= */

/* Breadcrumb */
.dkr-product-page ol.breadcrumb {
  list-style: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 12px 0 0;
  margin: 0 0 8px;
  font-size: 12px;
  counter-reset: none;
}
.dkr-product-page ol.breadcrumb li {
  counter-increment: none;
  display: flex;
  align-items: center;
  color: #999;
}
.dkr-product-page ol.breadcrumb li::before { content: none !important; }
.dkr-product-page ol.breadcrumb li + li::before {
  content: "/";
  margin-right: 4px;
  color: #ccc;
}
.dkr-product-page ol.breadcrumb a { color: #888; text-decoration: none; }
.dkr-product-page ol.breadcrumb a:hover { color: #1a1a1a; }
.dkr-product-page ol.breadcrumb .current { color: #1a1a1a; font-weight: 500; }

/* Quantity input */
.dkr-product__cart-row #quantity_wanted,
.dkr-product__cart-row .qty input {
  width: 80px !important;
  padding: 10px 12px;
  border: 1.5px solid #d0d0d0;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  text-align: center;
  box-shadow: none;
  background: #fff;
  margin-bottom: 10px;
}
.dkr-product__cart-row #quantity_wanted:focus,
.dkr-product__cart-row .qty input:focus {
  outline: none;
  border-color: #1a1a1a;
}

/* ---- Touchspin fix: PS uses input-group-btn-vertical (stacked +/- on right) ---- */
.dkr-product__cart-row .bootstrap-touchspin.input-group {
  width: auto;
  min-width: 120px;
  max-width: 140px;
  height: 44px;
}
/* Input: flex:1 but leave room for the vertical buttons column */
.dkr-product__cart-row .bootstrap-touchspin #quantity_wanted {
  flex: 1;
  width: auto !important;
  min-width: 50px;
  height: 44px !important;
  border: none !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 8px !important;
  box-shadow: none !important;
}
/* Vertical buttons column — fixed 36px width, full 44px height */
.dkr-product__cart-row .bootstrap-touchspin .input-group-btn-vertical {
  flex: 0 0 36px;
  width: 36px;
  height: 44px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #e0e0e0;
}
.dkr-product__cart-row .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin,
.dkr-product__cart-row .bootstrap-touchspin .input-group-btn-vertical .js-touchspin {
  flex: 1;
  width: 36px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  font-size: 16px;
  color: #1a1a1a;
  cursor: pointer;
  line-height: 1;
}
.dkr-product__cart-row .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin + .btn-touchspin {
  border-top: 1px solid #e0e0e0;
}
.dkr-product__cart-row .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin:hover {
  background: #f5f5f5;
}
/* Hide empty material-icons, show text symbols via ::after */
.dkr-product__cart-row .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin .material-icons {
  display: none;
}
.dkr-product__cart-row .bootstrap-touchspin .bootstrap-touchspin-up::after {
  content: '+';
  font-size: 18px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  line-height: 1;
}
.dkr-product__cart-row .bootstrap-touchspin .bootstrap-touchspin-down::after {
  content: '−';
  font-size: 18px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  line-height: 1;
}

/* Qty label */
.dkr-product__cart-row .control-label,
.dkr-product__cart-row .qty .label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  display: block;
  margin-bottom: 6px;
}

/* Add to cart button */
.dkr-product__cart-row .btn.add-to-cart,
.dkr-product__cart-row .btn-primary.add-to-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px;
  padding: 15px 24px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
  font-family: inherit;
}
.dkr-product__cart-row .btn.add-to-cart:hover {
  background: #333 !important;
}
.dkr-product__cart-row .btn.add-to-cart .material-icons {
  font-size: 18px;
}

/* Wishlist icon - hide displayProductActions if empty */
.dkr-product__cart-row .product-quantity .js-mailalert { display: none; }

/* Hide ugly PS bottom stuff */
.dkr-product-page #product-availability { font-size: 12px; color: #17afa0; margin: 4px 0 0; }
.dkr-product-page .product-minimal-quantity:empty { display: none; }

/* Hide all PS review moderation junk */
.dkr-product-page .productcomments_block_tab_links_block { display: none !important; }
.dkr-product-page #hook-display-footer-product { display: none !important; }

/* Footer product hook (reviews, report, etc) — hide all */
.dkr-product-page .page-footer { display: none !important; }
.dkr-product-page footer.page-footer { display: none !important; }

/* Reviews section at bottom */
.dkr-product-page #reviews + div,
.dkr-product-page .products-selection { display: none !important; }

/* Hide PS junk: "CHWILOWO NIE MOŻESZ..." "ZGŁOŚ KOMENTARZ" etc. */
.dkr-product-page [class*="productcomments"] { display: none !important; }

/* Wishlist heart */
.dkr-product__cart-row .js-product-add-to-cart + * { margin-top: 8px; }
.dkr-product-page .wishlist-button-add {
  background: none;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color 0.2s;
  margin-top: 8px;
}
.dkr-product-page .wishlist-button-add:hover { border-color: #1a1a1a; }
.dkr-product-page .wishlist-button-add .material-icons { font-size: 20px; color: #666; }

/* Hide extra PS social/share/reassurance */
.dkr-product-page #main .social-sharing,
.dkr-product-page #main .page-footer,
.dkr-product-page #main footer { display: none !important; }

/* Product quantity clearfix fix */
.dkr-product__cart-row .product-quantity {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* =============================================
   BREADCRUMB FIX (product + all pages)
   ============================================= */
nav.breadcrumb ol {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
nav.breadcrumb li {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: #999;
}
nav.breadcrumb li::marker { content: none !important; }
nav.breadcrumb li + li::before {
  content: "/";
  margin: 0 6px;
  color: #ccc;
}
nav.breadcrumb li a { color: #999; text-decoration: none; }
nav.breadcrumb li a:hover { color: #1a1a1a; }
nav.breadcrumb li:last-child span { color: #1a1a1a; font-weight: 500; }

/* Hide modal-body on product page */
.dkr-product-page .modal-body { display: none !important; }

/* =============================================
   CAROUSEL #carousel — modern style
   ============================================= */

/* Container */
#carousel {
  border-radius: 12px;
  overflow: hidden;
}

/* Smooth fade вместо slide */
#carousel.carousel-fade .carousel-item {
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  position: absolute;
  top: 0; left: 0;
  width: 100%;
}
#carousel.carousel-fade .carousel-item.active {
  opacity: 1;
  position: relative;
}

/* Images — cover, no distortion */
#carousel .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Dots — маленькие круглые, не прямоугольники */
#carousel .carousel-indicators {
  margin-bottom: 14px;
  gap: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  list-style: none;
}

#carousel .carousel-indicators li {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  border: none;
  margin: 0 3px;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
  flex-shrink: 0;
}

#carousel .carousel-indicators li.active {
  background: #fff;
  transform: scale(1.3);
}

/* Стрелки — компактные круглые кнопки */
#carousel .carousel-control,
#carousel .carousel-control.left,
#carousel .carousel-control.right {
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.85) !important;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s, background 0.2s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  text-decoration: none;
}

#carousel .carousel-control.left  { left: 12px; right: auto; }
#carousel .carousel-control.right { right: 12px; left: auto; }

#carousel:hover .carousel-control { opacity: 1; }
#carousel .carousel-control:hover { background: #fff !important; }

/* Иконки стрелок */
#carousel .carousel-control .icon-prev,
#carousel .carousel-control .icon-next,
#carousel .carousel-control::after {
  display: none;
}

#carousel .carousel-control.left::before {
  content: "‹";
  font-size: 22px;
  font-weight: 300;
  color: #1a1a1a;
  line-height: 1;
  margin-left: -1px;
}
#carousel .carousel-control.right::before {
  content: "›";
  font-size: 22px;
  font-weight: 300;
  color: #1a1a1a;
  line-height: 1;
  margin-right: -1px;
}

/* Скрыть стрелки на мобиле */
@media (max-width: 767px) {
  #carousel .carousel-control { display: none !important; }
}

/* =============================================
   CAROUSEL INDICATORS — вне баннера на мобиле
   ============================================= */
@media (max-width: 767px) {
  /* Место под точки */
  .dkr-hero__slider { padding-bottom: 28px; }

  /* Снять overflow:hidden чтобы точки вышли за пределы слайда */
  .dkr-hero__slider #carousel,
  .dkr-hero__slider .carousel { overflow: visible !important; }

  /* Опустить точки ниже баннера */
  #carousel .carousel-indicators {
    bottom: -20px;
    margin-bottom: 0;
  }

  /* Тёмные точки — теперь на белом/светлом фоне */
  #carousel .carousel-indicators li {
    background: rgba(0, 0, 0, 0.2);
  }
  #carousel .carousel-indicators li.active {
    background: #1a1a1a;
  }
}

/* =============================================
   FOOTER — СВЕТЛАЯ ТЕМА
   ============================================= */

/* Основной фон и цвет */
.dkr-footer {
  background: #f7f6f4;
  color: #333;
}

/* Разделитель колонок */
.dkr-footer__cols {
  border-bottom-color: rgba(0, 0, 0, 0.08);
}

/* Заголовки колонок */
.dkr-footer__col-title {
  color: #1a1a1a;
}

/* Ссылки */
.dkr-footer__col ul li a {
  color: #555;
}
.dkr-footer__col ul li a:hover {
  color: #1a1a1a;
}

/* Часы работы */
.dkr-footer__contact-hours {
  color: #888;
}

/* Кнопка email — адаптируем под светлый фон */
.dkr-footer__btn--email {
  background: #e8e8e6;
  color: #1a1a1a;
}

/* Средняя полоса: разделители */
.dkr-footer__bar {
  border-bottom-color: rgba(0, 0, 0, 0.08);
}
.dkr-footer__bar-item {
  border-right-color: rgba(0, 0, 0, 0.1);
}

/* Лейблы "ДОСТАВКА" / "ПЛАТЕЖИ" */
.dkr-footer__bar-label {
  color: #999;
}

/* Лого платёжных систем — убираем filter:brightness(10) */
.dkr-footer__bar-logos img {
  opacity: 0.55;
  filter: none;
}

/* Иконки соцсетей */
.dkr-footer__social a {
  background: rgba(0, 0, 0, 0.07);
  color: #444;
}

/* Копирайт */
.dkr-footer__copy {
  color: #aaa;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
}

/* Мобильный футер — светлые разделители */
@media (max-width: 767px) {
  .dkr-footer__bar-item {
    border-bottom-color: rgba(0, 0, 0, 0.07);
  }
}

/* Fix: #footer parent bg on light theme */
#footer { background: #f7f6f4 !important; }


/* =============================================
   CAROUSEL — FULL REWRITE (smooth + clean btns)
   ============================================= */

/* === 1. FADE вместо slide — чистый CSS, без carousel-fade класса === */

/* Все слайды скрыты, абсолютно позиционированы */
#carousel .carousel-item {
  opacity: 0;
  position: absolute !important;
  top: 0; left: 0;
  width: 100%;
  transition: opacity 0.55s ease-in-out !important;
  /* Убиваем BS4 slide transform */
  transform: none !important;
}
/* Активный — поверх, видимый, занимает место в потоке */
#carousel .carousel-item.active {
  opacity: 1;
  position: relative !important;
  z-index: 2;
}
/* Входящий слайд во время перехода */
#carousel .carousel-item-next.carousel-item-left,
#carousel .carousel-item-prev.carousel-item-right {
  opacity: 1 !important;
  z-index: 3;
}
/* Уходящий слайд */
#carousel .active.carousel-item-right,
#carousel .active.carousel-item-left {
  opacity: 0 !important;
  z-index: 2;
}
/* Все переходы без translate */
#carousel .carousel-item-next,
#carousel .carousel-item-prev,
#carousel .carousel-item-next.carousel-item-left,
#carousel .carousel-item-prev.carousel-item-right,
#carousel .active.carousel-item-right,
#carousel .active.carousel-item-left {
  transform: none !important;
}

/* === 2. КНОПКИ — убиваем Bootstrap 15%-полосу с градиентом === */
#carousel .carousel-control,
#carousel .carousel-control.left,
#carousel .carousel-control.right {
  /* Сбрасываем BS3: width:15%, height:100%, gradient */
  position: absolute !important;
  width: 40px !important;
  height: 40px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  /* Чистый фон — только круг */
  background: rgba(255, 255, 255, 0.92) !important;
  background-image: none !important;
  filter: none !important;
  border-radius: 50% !important;
  /* display controlled by JS */
  align-items: center !important;
  justify-content: center !important;
  /* Скрыто до ховера */
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
  text-shadow: none !important;
  text-decoration: none !important;
}
#carousel .carousel-control.left  { left: 14px !important; right: auto !important; }
#carousel .carousel-control.right { right: 14px !important; left: auto !important; }

#carousel:hover .carousel-control      { opacity: 1 !important; }
#carousel .carousel-control:hover      { background: #fff !important; }

/* Убиваем всё внутри кнопок (иконки material, span) */
#carousel .carousel-control * {
  display: none !important;
}

/* Стрелки через ::before — только символ */
#carousel .carousel-control.left::before {
  content: "‹";
  display: block !important;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  color: #1a1a1a;
  margin-left: -2px;
}
#carousel .carousel-control.right::before {
  content: "›";
  display: block !important;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  color: #1a1a1a;
  margin-right: -2px;
}

/* Мобиле — кнопки скрыть */
@media (max-width: 767px) {
  #carousel .carousel-control { display: none !important; }
}

/* =============================================

/* =============================================
   MOBILE: CATEGORY PAGE — v3
   Ключ: section#main > #products — только категория,
   не трогает .dkr-section .products на главной
   ============================================= */
@media (max-width: 767px) {

  /* === 1. HEADER категории — убрать card-стиль === */
  .block-category.card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
  }
  .block-category .h1 {
    font-size: 22px !important;
    margin: 10px 0 6px !important;
  }
  /* Скрыть описание и обложку категории */
  .block-category-inner { display: none !important; }

  /* === 2. ПОДКАТЕГОРИИ — 2-col сетка === */
  #subcategories.card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 14px !important;
  }
  .subcategory-heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #aaa !important;
    margin-bottom: 10px !important;
  }
  .subcategories-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .subcategories-list li { margin: 0 !important; list-style: none !important; }
  .subcategory-image {
    border-radius: 10px !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    background: #f0eeea !important;
  }
  .subcategory-image a { display: block; height: 100%; }
  .subcategory-image img {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
  }
  .subcategories-list h5 {
    font-size: 11px !important; font-weight: 600 !important;
    text-align: center !important; margin: 5px 0 0 !important;
  }
  .subcategories-list h5 a { color: #1a1a1a !important; text-decoration: none !important; }
  .subcategories-list .cat_desc { display: none !important; }

  /* === 3. SORT BAR === */
  /* Dropdown-меню скрыто по умолчанию */
  .products-sort-order .dropdown-menu { display: none !important; }
  .products-sort-order.show .dropdown-menu,
  .products-sort-order.open .dropdown-menu { display: block !important; }

  .sort-by-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  .sort-by { display: none !important; }

  .products-sort-order {
    flex: 1 1 auto !important; min-width: 0 !important;
  }
  .products-sort-order .select-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    width: 100% !important;
  }
  .filter-button { flex: 0 0 auto !important; width: auto !important; padding: 0 !important; }
  .filter-button .btn {
    padding: 9px 14px !important;
    font-size: 12px !important; font-weight: 600 !important;
    border-radius: 8px !important; white-space: nowrap !important;
  }
  .products-selection .col-lg-7 {
    width: 100% !important; max-width: 100% !important;
    flex: 0 0 100% !important; padding: 0 !important;
  }
  .products-selection .showing {
    font-size: 11px !important; color: #999 !important;
    padding: 4px 0 2px !important; text-align: left !important;
  }

  /* === 4. PRODUCT GRID — 2 колонки, ТОЛЬКО страница категорий ===
     section#main > #products — прямой путь, не задевает главную */
  section#main > #products #js-product-list .products.row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    margin: 0 !important;
  }
  section#main > #products #js-product-list .products.row > .js-product {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* === 5. PRODUCT MINIATURE — компактная === */
  section#main > #products .thumbnail-container {
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f8f7f5 !important;
  }
  /* Квадратное фото через padding-bottom trick */
  section#main > #products .thumbnail-top {
    position: relative !important;
    padding-bottom: 100% !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  section#main > #products .thumbnail-top .product-thumbnail {
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
  }
  section#main > #products .thumbnail-top img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  /* Скрыть quick-view */
  section#main > #products .highlighted-informations { display: none !important; }

  section#main > #products .product-description {
    padding: 7px 4px 4px !important;
  }
  section#main > #products .product-title {
    font-size: 12px !important;
    line-height: 1.35 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin-bottom: 4px !important;
  }
  section#main > #products .product-title a {
    color: #1a1a1a !important;
    text-decoration: none !important;
  }
  section#main > #products .product-price-and-shipping {
    font-size: 13px !important;
    font-weight: 700 !important;
  }
  section#main > #products .product-price-and-shipping .regular-price {
    font-size: 11px !important;
  }
  /* Флаги */
  section#main > #products .product-flags { top: 5px !important; left: 5px !important; }
  section#main > #products .product-flag {
    font-size: 9px !important; padding: 2px 5px !important; border-radius: 4px !important;
  }
  /* Wishlist */
  section#main > #products .wishlist-button-add,
  section#main > #products [data-button-action="add-to-wishlist"] {
    width: 28px !important; height: 28px !important;
    top: 5px !important; right: 5px !important;
  }
}

/* =============================================
   SORT DROPDOWN — стилизация
   ============================================= */

/* Кнопка-триггер (select-title) — desktop + global */
.products-sort-order {
  position: relative;
}
.products-sort-order .select-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  background: #fff;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
}
.products-sort-order .select-title:hover,
.products-sort-order.show .select-title,
.products-sort-order.open .select-title {
  border-color: #1a1a1a;
  box-shadow: 0 0 0 2px rgba(26,26,26,0.06);
  outline: none;
}
.products-sort-order .select-title .material-icons {
  font-size: 16px;
  color: #888;
  flex-shrink: 0;
  transition: transform 0.2s;
}
.products-sort-order.show .select-title .material-icons,
.products-sort-order.open .select-title .material-icons {
  transform: rotate(180deg);
}

/* Dropdown-контейнер */
.products-sort-order .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: 0 !important;
  z-index: 1050 !important;
  min-width: 100% !important;
  background: #fff !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.10) !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Опции */
.products-sort-order .dropdown-menu .select-list {
  display: block !important;
  padding: 9px 16px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #444 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: transparent !important;
  transition: background 0.15s, color 0.15s !important;
  border: none !important;
}
.products-sort-order .dropdown-menu .select-list:hover {
  background: #f5f4f2 !important;
  color: #1a1a1a !important;
}
.products-sort-order .dropdown-menu .select-list.current {
  font-weight: 600 !important;
  color: #1a1a1a !important;
  background: #f0eeea !important;
}

/* Sort dropdown — desktop max-width */
@media (min-width: 768px) {
  .products-sort-order {
    max-width: 260px;
  }
}

/* =============================================
   CART PAGE — mobile adaptation
   ============================================= */
@media (max-width: 767px) {

  /* === CART CONTAINER — убрать card === */
  .cart-container.card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .cart-container .card-block { padding: 0 0 8px !important; }
  .cart-container .separator { margin: 0 0 10px !important; }
  .cart-container h1.h1 { font-size: 24px !important; margin: 10px 0 !important; }

  /* === PRODUCT LIST === */
  ul.cart-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  li.cart-item {
    padding: 14px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    list-style: none !important;
  }
  li.cart-item:last-child { border-bottom: none !important; }

  /* === PRODUCT LINE: image + body side by side === */
  .product-line-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  /* Top row: image + info */
  .product-line-grid-left,
  .product-line-grid-body {
    float: none !important;
    position: static !important;
  }
  .product-line-grid-left {
    width: 80px !important;
    max-width: 80px !important;
    flex: 0 0 80px !important;
    padding: 0 !important;
  }
  .product-line-grid-left .product-image img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #f8f7f5 !important;
  }
  /* Первые два блока — в ряд */
  .product-line-grid > .product-line-grid-left,
  .product-line-grid > .product-line-grid-body {
    display: inline-block !important;
  }
  .product-line-grid-left + .product-line-grid-body {
    vertical-align: top !important;
  }
  /* Переопределяем flex на первые два как горизонтальный ряд */
  li.cart-item .product-line-grid {
    display: block !important;
  }
  li.cart-item .product-line-grid-left {
    float: left !important;
    margin-right: 10px !important;
    margin-bottom: 0 !important;
  }
  li.cart-item .product-line-grid-body {
    overflow: hidden !important;
    width: auto !important;
    max-width: none !important;
    flex: 1 !important;
    padding: 0 !important;
  }

  /* === PRODUCT BODY: name, price, attributes === */
  .product-line-grid-body .product-line-info.label,
  .product-line-grid-body a.label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    margin-bottom: 3px !important;
    display: block !important;
  }
  .product-line-grid-body .product-line-info { margin-bottom: 2px !important; }
  .product-line-grid-body .product-line-info .label {
    font-size: 11px !important;
    color: #888 !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .product-line-grid-body .product-line-info .value {
    font-size: 11px !important;
    color: #444 !important;
  }
  /* Цены */
  .product-line-grid-body .product-line-info.product-price {
    margin-top: 4px !important;
  }
  .product-line-grid-body .regular-price {
    font-size: 11px !important;
    color: #999 !important;
    text-decoration: line-through !important;
  }
  .product-line-grid-body .current-price .price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
  }
  .product-line-grid-body .discount-percentage {
    font-size: 10px !important;
    color: #e74c3c !important;
    font-weight: 600 !important;
    margin-left: 4px !important;
  }

  /* === ACTIONS ROW: qty + price + delete === */
  .product-line-grid-right {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px 0 0 90px !important; /* отступ под изображение */
  }
  .product-line-grid-right > .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  /* Скрыть пустой спейсер col-xs-4.hidden-md-up */
  .product-line-grid-right .hidden-md-up {
    display: none !important;
  }
  /* Блок qty + price */
  .product-line-grid-right .col-md-10.col-xs-6 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }
  .product-line-grid-right .col-md-10.col-xs-6 > .row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  /* Qty spinner */
  .product-line-grid-right .qty {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }
  .js-cart-line-product-quantity {
    width: 48px !important;
    height: 34px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 0 4px !important;
  }
  .btn-touchspin {
    width: 28px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1.5px solid #e0e0e0 !important;
    background: #fff !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }
  .bootstrap-touchspin {
    width: auto !important;
    flex-wrap: nowrap !important;
  }
  /* Price (total для строки) */
  .product-line-grid-right .price {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: right !important;
  }
  .product-line-grid-right .product-price strong {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
  }
  /* Delete button */
  .product-line-grid-right .col-md-2.col-xs-2 {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }
  .remove-from-cart .material-icons {
    font-size: 18px !important;
    color: #bbb !important;
  }
  .remove-from-cart:hover .material-icons { color: #e74c3c !important; }

  /* === CONTINUE SHOPPING === */
  a.label.Kontynuuj,
  a[href*=pl/]:not(.label) {
    /* generic — skip */
  }
  .cart-grid-body > a.label {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 12px !important;
    font-size: 13px !important;
    color: #555 !important;
    text-decoration: none !important;
    gap: 2px !important;
  }
  .cart-grid-body > a.label .material-icons {
    font-size: 16px !important;
  }

  /* === CART SUMMARY (right block) === */
  .cart-grid-right {
    margin-top: 16px !important;
  }
  .cart-summary.card {
    border: none !important;
    box-shadow: none !important;
    background: #f8f7f5 !important;
    border-radius: 12px !important;
    padding: 4px 0 !important;
  }
  .cart-detailed-subtotals .cart-summary-line,
  .cart-summary-totals .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    color: #444 !important;
  }
  .cart-summary-totals .cart-total {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    border-top: 1px solid #e8e6e2 !important;
    padding-top: 12px !important;
    margin-top: 4px !important;
  }
  .cart-summary-line .value {
    font-weight: 600 !important;
    color: #1a1a1a !important;
  }
  /* Shipping free */
  #cart-subtotal-shipping .value {
    color: #17afa0 !important;
    font-weight: 600 !important;
  }
  .card-block.cart-detailed-subtotals,
  .card-block.cart-summary-totals {
    padding: 0 !important;
  }

  /* === CHECKOUT BUTTON === */
  .checkout.card-block {
    padding: 12px 16px 16px !important;
  }
  .checkout .btn-primary {
    width: 100% !important;
    padding: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    border-radius: 10px !important;
  }

  /* === BLOCKREASSURANCE — скрыть на мобиле === */
  .blockreassurance_product { display: none !important; }

}

/* =============================================
   CART PAGE — mobile adaptation
   ============================================= */
@media (max-width: 767px) {

  /* === CART CONTAINER — убрать card === */
  .cart-container.card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .cart-container .card-block { padding: 0 0 8px !important; }
  .cart-container .separator { margin: 0 0 10px !important; }
  .cart-container h1.h1 { font-size: 24px !important; margin: 10px 0 !important; }

  /* === PRODUCT LIST === */
  ul.cart-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  li.cart-item {
    padding: 14px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    list-style: none !important;
  }
  li.cart-item:last-child { border-bottom: none !important; }

  /* === IMAGE + BODY: side by side === */
  li.cart-item .product-line-grid {
    display: block !important;
  }
  li.cart-item .product-line-grid-left {
    float: left !important;
    width: 80px !important;
    max-width: 80px !important;
    padding: 0 !important;
    margin-right: 10px !important;
  }
  li.cart-item .product-line-grid-left img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #f8f7f5 !important;
  }
  li.cart-item .product-line-grid-body {
    overflow: hidden !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  /* === PRODUCT BODY: name, price, attributes === */
  .product-line-grid-body a.label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    display: block !important;
    margin-bottom: 3px !important;
  }
  .product-line-grid-body .product-line-info { margin-bottom: 2px !important; }
  .product-line-grid-body .product-line-info > .label {
    font-size: 11px !important;
    color: #888 !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .product-line-grid-body .product-line-info .value {
    font-size: 11px !important;
    color: #444 !important;
  }
  .product-line-grid-body .regular-price {
    font-size: 11px !important;
    color: #999 !important;
    text-decoration: line-through !important;
    margin-right: 4px !important;
  }
  .product-line-grid-body .current-price .price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
  }
  .product-line-grid-body .discount-percentage {
    font-size: 10px !important;
    color: #e74c3c !important;
    font-weight: 600 !important;
    margin-left: 4px !important;
  }

  /* === ACTIONS ROW: qty + price + delete === */
  .product-line-grid-right {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 0 0 90px !important;
  }
  .product-line-grid-right > .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  .product-line-grid-right .hidden-md-up { display: none !important; }
  .product-line-grid-right .col-md-10.col-xs-6 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }
  .product-line-grid-right .col-md-10.col-xs-6 > .row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  .product-line-grid-right .qty {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }
  .js-cart-line-product-quantity {
    width: 48px !important;
    height: 34px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px 0 0 6px !important;
    padding: 0 4px !important;
  }
  .btn-touchspin {
    width: 28px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1.5px solid #e0e0e0 !important;
    background: #fff !important;
  }
  .product-line-grid-right .price {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: right !important;
  }
  .product-line-grid-right .product-price strong {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
  }
  .product-line-grid-right .col-md-2.col-xs-2 {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }
  .remove-from-cart .material-icons {
    font-size: 18px !important;
    color: #bbb !important;
  }

  /* === CONTINUE SHOPPING === */
  .cart-grid-body > a.label {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 12px !important;
    font-size: 13px !important;
    color: #555 !important;
    text-decoration: none !important;
  }
  .cart-grid-body > a.label .material-icons { font-size: 16px !important; }

  /* === CART SUMMARY === */
  .cart-grid-right { margin-top: 16px !important; }
  .cart-summary.card {
    border: none !important;
    box-shadow: none !important;
    background: #f8f7f5 !important;
    border-radius: 12px !important;
    padding: 4px 0 !important;
  }
  .cart-detailed-subtotals .cart-summary-line,
  .cart-summary-totals .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    color: #444 !important;
  }
  .cart-summary-totals .cart-total {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    border-top: 1px solid #e8e6e2 !important;
    margin-top: 4px !important;
    padding-top: 12px !important;
  }
  .cart-summary-line .value { font-weight: 600 !important; color: #1a1a1a !important; }
  #cart-subtotal-shipping .value { color: #17afa0 !important; font-weight: 600 !important; }
  .card-block.cart-detailed-subtotals,
  .card-block.cart-summary-totals { padding: 0 !important; }

  /* === CHECKOUT BUTTON === */
  .checkout.card-block { padding: 12px 16px 16px !important; }
  .checkout .btn-primary {
    width: 100% !important;
    padding: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    border-radius: 10px !important;
  }

  /* === BLOCKREASSURANCE — скрыть на мобиле === */
  .blockreassurance_product { display: none !important; }

}

/* =============================================
   CART PAGE — mobile adaptation
   ============================================= */
@media (max-width: 767px) {

  /* === CART CONTAINER — убрать card === */
  .cart-container.card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .cart-container .card-block { padding: 0 0 8px !important; }
  .cart-container .separator { margin: 0 0 10px !important; }
  .cart-container h1.h1 { font-size: 24px !important; margin: 10px 0 !important; }

  /* === PRODUCT LIST === */
  ul.cart-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  li.cart-item {
    padding: 14px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    list-style: none !important;
  }
  li.cart-item:last-child { border-bottom: none !important; }

  /* === IMAGE + BODY: side by side === */
  li.cart-item .product-line-grid {
    display: block !important;
  }
  li.cart-item .product-line-grid-left {
    float: left !important;
    width: 80px !important;
    max-width: 80px !important;
    padding: 0 !important;
    margin-right: 10px !important;
  }
  li.cart-item .product-line-grid-left img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #f8f7f5 !important;
  }
  li.cart-item .product-line-grid-body {
    overflow: hidden !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  /* === PRODUCT BODY: name, price, attributes === */
  .product-line-grid-body a.label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    display: block !important;
    margin-bottom: 3px !important;
  }
  .product-line-grid-body .product-line-info { margin-bottom: 2px !important; }
  .product-line-grid-body .product-line-info > .label {
    font-size: 11px !important;
    color: #888 !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .product-line-grid-body .product-line-info .value {
    font-size: 11px !important;
    color: #444 !important;
  }
  .product-line-grid-body .regular-price {
    font-size: 11px !important;
    color: #999 !important;
    text-decoration: line-through !important;
    margin-right: 4px !important;
  }
  .product-line-grid-body .current-price .price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
  }
  .product-line-grid-body .discount-percentage {
    font-size: 10px !important;
    color: #e74c3c !important;
    font-weight: 600 !important;
    margin-left: 4px !important;
  }

  /* === ACTIONS ROW: qty + price + delete === */
  .product-line-grid-right {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 0 0 90px !important;
  }
  .product-line-grid-right > .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  .product-line-grid-right .hidden-md-up { display: none !important; }
  .product-line-grid-right .col-md-10.col-xs-6 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }
  .product-line-grid-right .col-md-10.col-xs-6 > .row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  .product-line-grid-right .qty {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }
  .js-cart-line-product-quantity {
    width: 48px !important;
    height: 34px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px 0 0 6px !important;
    padding: 0 4px !important;
  }
  .btn-touchspin {
    width: 28px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1.5px solid #e0e0e0 !important;
    background: #fff !important;
  }
  .product-line-grid-right .price {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: right !important;
  }
  .product-line-grid-right .product-price strong {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
  }
  .product-line-grid-right .col-md-2.col-xs-2 {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }
  .remove-from-cart .material-icons {
    font-size: 18px !important;
    color: #bbb !important;
  }

  /* === CONTINUE SHOPPING === */
  .cart-grid-body > a.label {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 12px !important;
    font-size: 13px !important;
    color: #555 !important;
    text-decoration: none !important;
  }
  .cart-grid-body > a.label .material-icons { font-size: 16px !important; }

  /* === CART SUMMARY === */
  .cart-grid-right { margin-top: 16px !important; }
  .cart-summary.card {
    border: none !important;
    box-shadow: none !important;
    background: #f8f7f5 !important;
    border-radius: 12px !important;
    padding: 4px 0 !important;
  }
  .cart-detailed-subtotals .cart-summary-line,
  .cart-summary-totals .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    color: #444 !important;
  }
  .cart-summary-totals .cart-total {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    border-top: 1px solid #e8e6e2 !important;
    margin-top: 4px !important;
    padding-top: 12px !important;
  }
  .cart-summary-line .value { font-weight: 600 !important; color: #1a1a1a !important; }
  #cart-subtotal-shipping .value { color: #17afa0 !important; font-weight: 600 !important; }
  .card-block.cart-detailed-subtotals,
  .card-block.cart-summary-totals { padding: 0 !important; }

  /* === CHECKOUT BUTTON === */
  .checkout.card-block { padding: 12px 16px 16px !important; }
  .checkout .btn-primary {
    width: 100% !important;
    padding: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    border-radius: 10px !important;
  }

  /* === BLOCKREASSURANCE — скрыть на мобиле === */
  .blockreassurance_product { display: none !important; }

}

/* =============================================
   CART — fix v2: touchspin + layout refinement
   ============================================= */
@media (max-width: 767px) {

  /* Сброс неудачных переопределений touchspin */
  .js-cart-line-product-quantity {
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
  }
  .btn-touchspin {
    width: auto !important;
    height: auto !important;
    border: 1px solid #ccc !important;
  }

  /* Touchspin — не трогаем внутренности, просто контейнер */
  .product-line-grid-right .bootstrap-touchspin {
    width: auto !important;
  }

  /* Actions row: flex с правильным выравниванием */
  .product-line-grid-right > .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Qty col */
  .product-line-grid-right .qty {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }
  /* Price col */
  .product-line-grid-right .price {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: right !important;
  }
  /* Delete col */
  .product-line-grid-right .col-md-2.col-xs-2 {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
  }

  /* padding слева = ширина картинки + отступ */
  .product-line-grid-right {
    padding: 8px 0 0 90px !important;
  }

}

/* =============================================
   CART — touchspin fix
   ============================================= */
@media (max-width: 767px) {

  /* Touchspin: flex layout */
  .product-line-grid-right .bootstrap-touchspin.input-group {
    display: inline-flex !important;
    align-items: stretch !important;
    width: auto !important;
    max-width: 110px !important;
  }
  .product-line-grid-right .js-cart-line-product-quantity {
    flex: 1 1 auto !important;
    min-width: 40px !important;
    max-width: 50px !important;
    width: auto !important;
    height: 34px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 0 4px !important;
  }
  /* Вертикальные кнопки */
  .product-line-grid-right .input-group-btn-vertical {
    display: flex !important;
    flex-direction: column !important;
    width: 28px !important;
  }
  .product-line-grid-right .btn-touchspin {
    flex: 1 1 50% !important;
    width: 28px !important;
    height: 17px !important;
    padding: 0 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-left: none !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    line-height: 1 !important;
    color: #555 !important;
    cursor: pointer !important;
  }
  .product-line-grid-right .bootstrap-touchspin-up {
    border-radius: 0 4px 0 0 !important;
    border-bottom: 1px solid #e8e8e8 !important;
  }
  .product-line-grid-right .bootstrap-touchspin-down {
    border-radius: 0 0 4px 0 !important;
  }
  /* Иконки пустые — добавляем + и − через CSS */
  .product-line-grid-right .bootstrap-touchspin-up i { display: none !important; }
  .product-line-grid-right .bootstrap-touchspin-down i { display: none !important; }
  .product-line-grid-right .bootstrap-touchspin-up::after {
    content: '+' !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #444 !important;
    display: block !important;
  }
  .product-line-grid-right .bootstrap-touchspin-down::after {
    content: '−' !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #444 !important;
    display: block !important;
  }
  /* Скрытые prefix/postfix */
  .product-line-grid-right .bootstrap-touchspin-prefix,
  .product-line-grid-right .bootstrap-touchspin-postfix {
    display: none !important;
  }
  /* Округлить левый край input */
  .product-line-grid-right .js-cart-line-product-quantity {
    border-radius: 4px 0 0 4px !important;
    border-right: none !important;
  }

}

/* =============================================
   CHECKOUT PAGE — mobile adaptation
   body#checkout
   ============================================= */
@media (max-width: 767px) {

  /* ========== STEP HEADERS ========== */
  #checkout .checkout-step {
    border-bottom: 1px solid #f0f0f0 !important;
    margin-bottom: 0 !important;
  }
  #checkout .checkout-step:last-of-type { border-bottom: none !important; }

  #checkout .step-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 14px 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    flex-wrap: nowrap !important;
  }
  /* Checkmark icon (done steps) */
  #checkout .step-title .material-icons.done {
    font-size: 18px !important;
    color: #17afa0 !important;
    flex-shrink: 0 !important;
  }
  /* Step number badge */
  #checkout .step-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 50% !important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    font-style: normal !important;
  }
  #checkout .-unreachable .step-number {
    background: #ddd !important;
    color: #999 !important;
  }
  /* Edit button — float right */
  #checkout .step-edit {
    margin-left: auto !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #999 !important;
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
  }
  #checkout .step-edit .material-icons { font-size: 14px !important; }

  /* Step content */
  #checkout .checkout-step .content {
    padding: 12px 0 16px !important;
  }

  /* ========== NAV TABS (Zamówienie jako gość | Zaloguj się) ========== */
  #checkout ul.nav.nav-inline {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: 1.5px solid #ebebeb !important;
  }
  #checkout .nav-item { list-style: none !important; }
  #checkout .nav-link {
    display: block !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #999 !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1.5px !important;
    white-space: nowrap !important;
  }
  #checkout .nav-link.active {
    color: #1a1a1a !important;
    font-weight: 700 !important;
    border-bottom-color: #1a1a1a !important;
  }
  #checkout .nav-separator { color: #ddd !important; padding: 0 !important; }

  /* ========== FORM FIELDS ========== */
  #checkout .form-group.row {
    display: block !important;
    margin: 0 0 12px !important;
  }
  #checkout .form-control-label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 5px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
  }
  #checkout .js-input-column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  #checkout .form-control-comment {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 3px 0 0 !important;
    font-size: 10px !important;
    color: #bbb !important;
    font-style: normal !important;
  }
  /* Inputs styling */
  #checkout .form-control {
    width: 100% !important;
    height: 42px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }
  #checkout .form-control:focus {
    border-color: #1a1a1a !important;
    box-shadow: 0 0 0 2px rgba(26,26,26,0.06) !important;
    outline: none !important;
  }
  /* Password input group */
  #checkout .input-group {
    display: flex !important;
    align-items: stretch !important;
  }
  #checkout .input-group .form-control {
    border-radius: 8px 0 0 8px !important;
    border-right: none !important;
    flex: 1 !important;
  }
  #checkout .input-group .input-group-btn {
    flex: 0 0 auto !important;
  }
  #checkout .input-group .input-group-btn .btn {
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-left: none !important;
    border-radius: 0 8px 8px 0 !important;
    background: #f8f7f5 !important;
    color: #555 !important;
    white-space: nowrap !important;
  }
  /* Radio buttons */
  #checkout .radio-inline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 14px !important;
    font-size: 13px !important;
    cursor: pointer !important;
  }
  /* Checkboxes */
  #checkout .checkbox-field {
    margin-bottom: 10px !important;
  }
  #checkout .checkbox .custom-checkbox {
    margin-right: 8px !important;
  }
  /* Section heading (Stwórz konto) */
  #checkout h4.h4, #checkout .register-form-heading {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin: 16px 0 4px !important;
    color: #1a1a1a !important;
  }
  /* Optional hint */
  #checkout .forgot-password {
    font-size: 12px !important;
    color: #999 !important;
    display: block !important;
    margin: 6px 0 !important;
    text-decoration: none !important;
  }

  /* ========== CONTINUE BUTTON ========== */
  #checkout .continue.btn {
    width: 100% !important;
    padding: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    margin-top: 14px !important;
    letter-spacing: 0.02em !important;
  }

  /* ========== CART SUMMARY (right col) ========== */
  #checkout .cart-grid-right {
    margin-top: 20px !important;
  }
  #checkout #js-checkout-summary.card {
    border: none !important;
    box-shadow: none !important;
    background: #f8f7f5 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  #checkout #js-checkout-summary .card-block {
    padding: 0 !important;
  }
  /* "1 produkt" + "pokaż szczegóły" */
  #checkout .cart-summary-products {
    padding: 12px 16px 10px !important;
  }
  #checkout .cart-summary-products p {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin: 0 0 4px !important;
  }
  #checkout .js-show-details {
    font-size: 12px !important;
    color: #888 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
  }
  #checkout .js-show-details .material-icons { font-size: 16px !important; }
  /* Product list */
  #checkout ul.media-list {
    list-style: none !important;
    padding: 6px 16px 10px !important;
    margin: 0 !important;
  }
  #checkout .media {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 6px 0 !important;
    list-style: none !important;
  }
  #checkout .media-left {
    flex: 0 0 50px !important;
    width: 50px !important;
    padding: 0 !important;
  }
  #checkout .media-left img.media-object {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    background: #fff !important;
  }
  #checkout .media-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 12px !important;
    color: #555 !important;
  }
  #checkout .media-body .product-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
  }
  /* Totals */
  #checkout .cart-detailed-subtotals,
  #checkout .cart-summary-totals {
    padding: 0 !important;
  }
  #checkout .cart-detailed-subtotals .cart-summary-line,
  #checkout .cart-summary-totals .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    color: #555 !important;
  }
  #checkout .cart-summary-line .value { font-weight: 600 !important; color: #1a1a1a !important; }
  #checkout #cart-subtotal-shipping .value { color: #17afa0 !important; }
  #checkout .cart-total {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    border-top: 1px solid #e8e6e2 !important;
    padding-top: 12px !important;
    margin-top: 4px !important;
  }

  /* ========== BREADCRUMB на checkout убрать ========== */
  #checkout .breadcrumb { display: none !important; }

  /* ========== TERMS/FOOTER STRIP ========== */
  #checkout .checkout-step + div { clear: both !important; }

}

/* =============================================
   CHECKOUT: сховати стандартний PS search-top
   замість нього вже є dkr-header__mobile-toggle
   ============================================= */
@media (max-width: 767px) {
  body#checkout .header-top.hidden-md-up {
    display: none !important;
  }
  body#checkout .header-nav {
    display: none !important;
  }
}

/* =============================================
   CHECKOUT: DKR mobile bar (v2)
   ============================================= */

/* Прибираємо старе приховування header-nav */
@media (max-width: 767px) {
  body#checkout .header-nav {
    display: block !important;
  }
  /* header-top більше не містить search — можна не ховати,
     але залишимо на випадок якщо модуль щось додасть */
  body#checkout .header-top.hidden-md-up {
    display: none !important;
  }

  /* === DKR checkout mobile bar === */
  body#checkout .dkr-checkout-mobile-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 56px !important;
    padding: 0 8px !important;
    background: #fff !important;
  }
  body#checkout .dkr-mob-left,
  body#checkout .dkr-mob-right {
    display: flex !important;
    align-items: center !important;
    min-width: 44px !important;
  }
  body#checkout .dkr-mob-right { justify-content: flex-end !important; }
  /* Back arrow button */
  body#checkout .dkr-checkout-back {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f5f4f2 !important;
    color: #333 !important;
    text-decoration: none !important;
  }
  body#checkout .dkr-checkout-back .material-icons {
    font-size: 20px !important;
  }
  /* Logo center */
  body#checkout .dkr-checkout-logo {
    flex: 1 !important;
    text-align: center !important;
  }
  body#checkout .dkr-checkout-logo a {
    display: inline-block !important;
  }
  body#checkout .dkr-checkout-logo img {
    max-height: 28px !important;
    width: auto !important;
  }
  /* Cart button */
  body#checkout #_mobile_cart {
    position: relative !important;
  }
  body#checkout .dkr-mob-btn--cart .blockcart {
    background: none !important;
    border: none !important;
    padding: 0 !important;
  }
  body#checkout .dkr-mob-btn--cart .material-icons {
    font-size: 22px !important;
    color: #333 !important;
  }
  body#checkout .dkr-mob-btn--cart .cart-products-count {
    position: absolute !important;
    top: -4px !important;
    right: -6px !important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Сховати span "Koszyk" text та лишній контент */
  body#checkout .dkr-mob-btn--cart .hidden-sm-down { display: none !important; }

  /* Header-nav на mobile — тільки бар, без зайвого */
  body#checkout .header-nav .container,
  body#checkout .header-nav .row { padding: 0 !important; margin: 0 !important; }
  body#checkout .header-nav { border-bottom: 1px solid #f0f0f0 !important; }
}

/* CHECKOUT BAR — logo centering fix */
@media (max-width: 767px) {
  body#checkout .dkr-checkout-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  body#checkout .dkr-checkout-logo .dkr-logo-wrap {
    justify-content: center !important;
  }
  /* Cart: ensure visible */
  body#checkout #_mobile_cart .blockcart .header {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    cursor: pointer !important;
  }
  body#checkout #_mobile_cart .blockcart {
    padding: 0 !important;
    background: none !important;
  }
  body#checkout #_mobile_cart .shopping-cart {
    font-size: 22px !important;
    color: #333 !important;
  }
  body#checkout #_mobile_cart .cart-products-count {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #333 !important;
  }
  body#checkout #_mobile_cart .hidden-sm-down { display: none !important; }
}

/* ============================================
   BOOTSTRAP FLEX GRID (PS compatibility)
   Needed: PS uses col-xs-* / col-md-* / col-lg-*
   ============================================ */

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

[class^="col-"], [class*=" col-"] {
  position: relative;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  min-height: 1px;
}

/* col-xs-* / col-* (≥0px) */
.col-xs-1,  .col-1  { flex: 0 0 8.3333%;   max-width: 8.3333%; }
.col-xs-2,  .col-2  { flex: 0 0 16.6667%;  max-width: 16.6667%; }
.col-xs-3,  .col-3  { flex: 0 0 25%;       max-width: 25%; }
.col-xs-4,  .col-4  { flex: 0 0 33.3333%;  max-width: 33.3333%; }
.col-xs-5,  .col-5  { flex: 0 0 41.6667%;  max-width: 41.6667%; }
.col-xs-6,  .col-6  { flex: 0 0 50%;       max-width: 50%; }
.col-xs-7,  .col-7  { flex: 0 0 58.3333%;  max-width: 58.3333%; }
.col-xs-8,  .col-8  { flex: 0 0 66.6667%;  max-width: 66.6667%; }
.col-xs-9,  .col-9  { flex: 0 0 75%;       max-width: 75%; }
.col-xs-10, .col-10 { flex: 0 0 83.3333%;  max-width: 83.3333%; }
.col-xs-11, .col-11 { flex: 0 0 91.6667%;  max-width: 91.6667%; }
.col-xs-12, .col-12 { flex: 0 0 100%;      max-width: 100%; }

/* col-sm-* (≥576px) */
@media (min-width: 576px) {
  .col-sm-1  { flex: 0 0 8.3333%;   max-width: 8.3333%; }
  .col-sm-2  { flex: 0 0 16.6667%;  max-width: 16.6667%; }
  .col-sm-3  { flex: 0 0 25%;       max-width: 25%; }
  .col-sm-4  { flex: 0 0 33.3333%;  max-width: 33.3333%; }
  .col-sm-5  { flex: 0 0 41.6667%;  max-width: 41.6667%; }
  .col-sm-6  { flex: 0 0 50%;       max-width: 50%; }
  .col-sm-7  { flex: 0 0 58.3333%;  max-width: 58.3333%; }
  .col-sm-8  { flex: 0 0 66.6667%;  max-width: 66.6667%; }
  .col-sm-9  { flex: 0 0 75%;       max-width: 75%; }
  .col-sm-10 { flex: 0 0 83.3333%;  max-width: 83.3333%; }
  .col-sm-11 { flex: 0 0 91.6667%;  max-width: 91.6667%; }
  .col-sm-12 { flex: 0 0 100%;      max-width: 100%; }
}

/* col-md-* (≥768px) */
@media (min-width: 768px) {
  .col-md-1  { flex: 0 0 8.3333%;   max-width: 8.3333%; }
  .col-md-2  { flex: 0 0 16.6667%;  max-width: 16.6667%; }
  .col-md-3  { flex: 0 0 25%;       max-width: 25%; }
  .col-md-4  { flex: 0 0 33.3333%;  max-width: 33.3333%; }
  .col-md-5  { flex: 0 0 41.6667%;  max-width: 41.6667%; }
  .col-md-6  { flex: 0 0 50%;       max-width: 50%; }
  .col-md-7  { flex: 0 0 58.3333%;  max-width: 58.3333%; }
  .col-md-8  { flex: 0 0 66.6667%;  max-width: 66.6667%; }
  .col-md-9  { flex: 0 0 75%;       max-width: 75%; }
  .col-md-10 { flex: 0 0 83.3333%;  max-width: 83.3333%; }
  .col-md-11 { flex: 0 0 91.6667%;  max-width: 91.6667%; }
  .col-md-12 { flex: 0 0 100%;      max-width: 100%; }
}

/* col-lg-* (≥992px) */
@media (min-width: 992px) {
  .col-lg-1  { flex: 0 0 8.3333%;   max-width: 8.3333%; }
  .col-lg-2  { flex: 0 0 16.6667%;  max-width: 16.6667%; }
  .col-lg-3  { flex: 0 0 25%;       max-width: 25%; }
  .col-lg-4  { flex: 0 0 33.3333%;  max-width: 33.3333%; }
  .col-lg-5  { flex: 0 0 41.6667%;  max-width: 41.6667%; }
  .col-lg-6  { flex: 0 0 50%;       max-width: 50%; }
  .col-lg-7  { flex: 0 0 58.3333%;  max-width: 58.3333%; }
  .col-lg-8  { flex: 0 0 66.6667%;  max-width: 66.6667%; }
  .col-lg-9  { flex: 0 0 75%;       max-width: 75%; }
  .col-lg-10 { flex: 0 0 83.3333%;  max-width: 83.3333%; }
  .col-lg-11 { flex: 0 0 91.6667%;  max-width: 91.6667%; }
  .col-lg-12 { flex: 0 0 100%;      max-width: 100%; }
}

/* col-xl-* (≥1200px) */
@media (min-width: 1200px) {
  .col-xl-1  { flex: 0 0 8.3333%;   max-width: 8.3333%; }
  .col-xl-2  { flex: 0 0 16.6667%;  max-width: 16.6667%; }
  .col-xl-3  { flex: 0 0 25%;       max-width: 25%; }
  .col-xl-4  { flex: 0 0 33.3333%;  max-width: 33.3333%; }
  .col-xl-5  { flex: 0 0 41.6667%;  max-width: 41.6667%; }
  .col-xl-6  { flex: 0 0 50%;       max-width: 50%; }
  .col-xl-7  { flex: 0 0 58.3333%;  max-width: 58.3333%; }
  .col-xl-8  { flex: 0 0 66.6667%;  max-width: 66.6667%; }
  .col-xl-9  { flex: 0 0 75%;       max-width: 75%; }
  .col-xl-10 { flex: 0 0 83.3333%;  max-width: 83.3333%; }
  .col-xl-11 { flex: 0 0 91.6667%;  max-width: 91.6667%; }
  .col-xl-12 { flex: 0 0 100%;      max-width: 100%; }
}

/* ============================================
   BOOTSTRAP GRID SAFEGUARDS
   Override Bootstrap .row margins for elements
   that use CSS Grid (not Bootstrap flex)
   ============================================ */

/* Product grids use CSS Grid, not Bootstrap flex */
.products.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.products.row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex: unset !important;
  max-width: none !important;
  width: 100% !important;
}

/* Footer rows */
#footer .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ============================================
   CATEGORY PAGE — SIDEBAR STYLES
   ============================================ */

/* Container for category page needs proper alignment */
#wrapper .container {
  padding-left: 20px;
  padding-right: 20px;
}

/* ---- Category Tree (ps_categorytree) ---- */
.block-categories {
  background: #f7f6f4;
  border: 1px solid #f0eeeb;
  border-radius: 10px;
  padding: 18px 16px;
  margin-bottom: 16px;
}

.block-categories .category-top-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Hide "Strona główna" as first item */
.block-categories .category-top-menu > li:first-child > a.h6 {
  display: none;
}

.block-categories .category-sub-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.block-categories .category-sub-menu li {
  position: relative;
  list-style: none;
}
.block-categories .category-sub-menu li[data-depth="0"] {
  margin-bottom: 2px;
}
.block-categories .category-sub-menu li[data-depth="0"] > a {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  padding: 5px 28px 5px 0;
  text-decoration: none;
  line-height: 1.4;
}
.block-categories .category-sub-menu li[data-depth="0"] > a:hover { color: #555; }
.block-categories .category-sub-menu li[data-depth="1"] {
  padding-left: 10px;
  margin-bottom: 2px;
}
.block-categories .category-sub-menu li[data-depth="1"] a {
  font-size: 12px;
  color: #666;
  text-decoration: none;
  display: block;
  padding: 3px 0;
}
.block-categories .category-sub-menu li[data-depth="1"] a:hover { color: #1a1a1a; }

/* +/- toggle buttons */
.block-categories .collapse-icons {
  position: absolute;
  top: 4px;
  right: 0;
  cursor: pointer;
  padding: 0;
  background: none;
  border: none;
  color: #bbb;
  line-height: 1;
}
.block-categories .collapse-icons .material-icons { font-size: 18px; }
.block-categories .collapse-icons .remove { display: none; }
.block-categories .collapse-icons[aria-expanded="true"] .add { display: none; }
.block-categories .collapse-icons[aria-expanded="true"] .remove { display: block; }

/* Sub-menu collapse state */
.block-categories .collapse-icons[aria-expanded="false"] + .collapse {
  display: none;
}
.block-categories .collapse-icons[aria-expanded="true"] + .collapse,
.block-categories .collapse {
  display: block;
}

/* ---- Faceted Search Sidebar ---- */
#search_filters_wrapper {
  background: #fff;
  border: 1px solid #f0eeeb;
  border-radius: 10px;
  padding: 18px 16px;
  margin-bottom: 16px;
}

/* "Filtruj według" heading — hide (each facet has own title) */
#search_filters_wrapper > #search_filter_controls,
#search_filters_wrapper .hidden-sm-down:first-child > .h6 {
  display: none !important;
}

#search_filters .h6.text-uppercase {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #aaa;
  margin: 0 0 14px 0;
}

.facet {
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #f0eeeb;
}
.facet:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Desktop facet title (visible) */
.facet .h6.facet-title.hidden-sm-down {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #888 !important;
  margin: 0 0 8px 0 !important;
}

/* Mobile title toggle — hidden on desktop */
.facet .title.hidden-md-up { display: none !important; }

/* Keep facet lists visible on desktop */
#search_filters .facet ul.collapse {
  display: block !important;
  height: auto !important;
}

.facet ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.facet li {
  list-style: none;
}
.facet .facet-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  cursor: pointer;
  font-size: 13px;
  color: #444;
  line-height: 1.4;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
}
.facet .facet-label:hover { color: #1a1a1a; }
.facet .facet-label a {
  flex: 1;
  color: inherit;
  text-decoration: none;
}

/* Custom checkbox */
.facet .custom-checkbox {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.facet .custom-checkbox input[type="checkbox"] {
  opacity: 0;
  position: absolute;
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  z-index: 1;
  top: 0; left: 0;
}
.facet .custom-checkbox .ps-shown-by-js {
  width: 16px;
  height: 16px;
  border: 1.5px solid #d0ccc8;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  pointer-events: none;
  flex-shrink: 0;
}
.facet .custom-checkbox input:checked ~ .ps-shown-by-js {
  background: #1a1a1a;
  border-color: #1a1a1a;
}
.facet .custom-checkbox .ps-shown-by-js .material-icons {
  font-size: 11px;
  color: #fff;
}

/* ============================================
   CATEGORY PAGE — DESKTOP SORT BAR
   ============================================ */
@media (min-width: 768px) {
  .products-selection {
    display: flex !important;
    align-items: center !important;
    padding: 10px 0 12px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    margin-bottom: 16px !important;
    flex-wrap: nowrap !important;
  }
  .products-selection .total-products {
    flex: 0 0 auto !important;
    font-size: 13px !important;
    color: #999 !important;
    padding: 0 !important;
  }
  .products-selection .col-lg-7 {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    padding: 0 !important;
    max-width: none !important;
  }
  .sort-by-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    margin: 0 !important;
  }
  .sort-by-row .sort-by {
    font-size: 13px !important;
    color: #888 !important;
    white-space: nowrap !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    max-width: none !important;
  }
  .sort-by-row .products-sort-order {
    flex: 0 0 auto !important;
    max-width: 240px !important;
    min-width: 180px !important;
  }
}

/* ============================================
   CATEGORY PAGE — DESKTOP PRODUCT GRID
   ============================================ */
@media (min-width: 768px) {
  /* Product grid: 2 columns on tablet */
  #js-product-list .products.row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  /* Full thumbnail show on desktop */
  #js-product-list .thumbnail-top {
    position: relative !important;
    padding-bottom: 80% !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  #js-product-list .thumbnail-top .product-thumbnail {
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
  }
  #js-product-list .thumbnail-top img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  #js-product-list .highlighted-informations { display: none !important; }
  #js-product-list .thumbnail-container {
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f8f7f5 !important;
  }
  #js-product-list .product-title {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 4px !important;
  }
  #js-product-list .product-price-and-shipping {
    font-size: 15px !important;
    font-weight: 700 !important;
  }
}
@media (min-width: 1200px) {
  /* 3 columns on large desktop */
  #js-product-list .products.row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* ============================================
   CART PAGE — DESKTOP LAYOUT
   ============================================ */
@media (min-width: 768px) {
  /* Cart product line: horizontal layout */
  .product-line-grid {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #f5f3f0 !important;
    gap: 0 !important;
  }
  .product-line-grid-left {
    flex: 0 0 auto !important;
    width: 100px !important;
    max-width: 100px !important;
    padding-right: 16px !important;
  }
  .product-line-grid-left img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 8px !important;
  }
  .product-line-grid-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 16px 0 0 !important;
  }
  .product-line-grid-right {
    flex: 0 0 200px !important;
    max-width: 200px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
  /* Qty + price row inside cart actions */
  .product-line-grid-right > .row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
  }
  /* Force col widths inside cart right */
  .product-line-grid-right .col-xs-4.hidden-md-up { display: none !important; }
  .product-line-grid-right .col-md-10 {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
  }
  .product-line-grid-right .col-md-2 {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
  }
  /* Qty input + touchspin */
  .product-line-grid-right .qty .bootstrap-touchspin {
    display: inline-flex !important;
    align-items: stretch !important;
  }
  .product-line-grid-right .input-group-btn-vertical {
    display: flex !important;
    flex-direction: column !important;
    width: 26px !important;
  }
  /* Price label */
  .product-line-grid-right .product-price {
    font-size: 15px !important;
    font-weight: 700 !important;
  }
  /* Remove button */
  .cart-line-product-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
}

/* ============================================
   CHECKOUT PAGE — DESKTOP LAYOUT
   ============================================ */
@media (min-width: 768px) {
  /* Checkout container padding */
  #checkout #wrapper .container {
    padding: 0 20px !important;
  }
  /* Steps */
  #checkout .step-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 16px 0 !important;
  }
  #checkout .step-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
  }
  #checkout .-unreachable .step-number {
    background: #e0e0e0 !important;
    color: #aaa !important;
  }
  #checkout .step-edit {
    margin-left: auto !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Form controls */
  #checkout .form-group {
    margin-bottom: 16px !important;
  }
  #checkout .form-control-label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin-bottom: 4px !important;
    display: block !important;
  }
  #checkout .form-control {
    width: 100% !important;
    height: 42px !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    padding: 8px 12px !important;
    transition: border-color 0.2s !important;
  }
  #checkout .form-control:focus {
    border-color: #1a1a1a !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(26,26,26,0.06) !important;
  }

  /* Continue button */
  #checkout .continue.btn,
  #checkout .btn-primary {
    padding: 13px 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    letter-spacing: 0.02em !important;
  }

  /* Nav tabs (guest / login) */
  #checkout ul.nav.nav-inline {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    display: flex !important;
    border-bottom: 2px solid #f0f0f0 !important;
  }
  #checkout .nav-link {
    padding: 10px 16px !important;
    font-size: 14px !important;
    color: #888 !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    display: block !important;
    text-decoration: none !important;
  }
  #checkout .nav-link.active,
  #checkout .nav-link:hover {
    color: #1a1a1a !important;
    font-weight: 600 !important;
    border-bottom-color: #1a1a1a !important;
  }

  /* Cart summary in checkout */
  #checkout #js-checkout-summary.card {
    border: 1px solid #f0eeeb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }
  #checkout .cart-summary-items {
    padding: 0 !important;
  }
  #checkout ul.media-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #checkout .media {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #f5f3f0 !important;
    list-style: none !important;
  }
  #checkout .cart-summary-totals .cart-total {
    font-size: 16px !important;
    font-weight: 700 !important;
    border-top: 2px solid #e8e6e2 !important;
    padding: 14px 16px !important;
  }
}

/* ============================================
   CATEGORY PAGE DESKTOP — дополнительные стили
   ============================================ */

@media (min-width: 768px) {

  /* === CATEGORY HEADER === */
  .block-category.card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 14px !important;
  }
  .block-category .h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 8px 0 !important;
    color: #1a1a1a !important;
  }
  /* Hide category description + cover on desktop */
  .block-category .block-category-inner,
  #category-description,
  .category-cover { display: none !important; }

  /* === SUBCATEGORIES — desktop grid 4 columns === */
  #subcategories.card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
  }
  #subcategories .subcategory-heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #aaa !important;
    margin-bottom: 12px !important;
  }
  .subcategories-list {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .subcategories-list li {
    margin: 0 !important;
    list-style: none !important;
  }
  .subcategory-image {
    border-radius: 10px !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    background: #f0eeea !important;
  }
  .subcategory-image a { display: block; height: 100%; }
  .subcategory-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .subcategories-list h5 {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: center !important;
    margin: 6px 0 0 !important;
    line-height: 1.3 !important;
  }
  .subcategories-list h5 a {
    color: #1a1a1a !important;
    text-decoration: none !important;
  }
  .subcategories-list .cat_desc { display: none !important; }

  /* === ACTIVE FILTERS BAR === */
  #js-active-search-filters {
    margin-bottom: 12px !important;
  }
  .active-filter-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #aaa !important;
    margin-bottom: 8px !important;
  }
  .filter-block {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px 10px !important;
    background: #f0eeea !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    color: #1a1a1a !important;
    margin: 3px 4px 3px 0 !important;
  }
  .filter-block a {
    color: #999 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    margin-left: 2px !important;
  }
  .filter-block a:hover { color: #1a1a1a !important; }

  /* === PRODUCT COUNT at bottom === */
  #js-product-list-bottom .showing {
    font-size: 12px !important;
    color: #999 !important;
    text-align: center !important;
    padding: 16px 0 !important;
  }

  /* === PAGINATION === */
  .page-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  .page-list li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #444 !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s !important;
    background: #fff !important;
  }
  .page-list li.current a,
  .page-list li a.disabled {
    background: #17afa0 !important;
    border-color: #17afa0 !important;
    color: #fff !important;
  }
  .page-list li a:hover:not(.disabled) {
    background: #f5f5f5 !important;
    color: #1a1a1a !important;
  }
  .page-list li a .material-icons {
    font-size: 16px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }
  nav.pagination {
    margin: 24px 0 !important;
  }
  nav.pagination .col-md-4 {
    font-size: 12px !important;
    color: #999 !important;
  }

  /* === SIDEBAR tweaks === */
  #left-column {
    padding-right: 8px !important;
  }

  /* Category tree: active state */
  .block-categories .category-sub-menu li.current > a {
    color: #1a1a1a !important;
    font-weight: 700 !important;
  }

  /* Sidebar card subtle shadow */
  .block-categories,
  #search_filters_wrapper {
    box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
  }

  /* Remove product "Do koszyka" button — show it on desktop */
  #js-product-list .product-add-to-cart,
  #js-product-list .add-to-cart-wrap,
  #js-product-list button.add-to-cart {
    display: block !important;
  }

  /* Product description padding */
  #js-product-list .product-description {
    padding: 10px 6px 6px !important;
  }

  /* Product title font */
  #js-product-list .product-title a {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
  }

  /* Flags */
  #js-product-list .product-flags {
    top: 8px !important;
    left: 8px !important;
  }

  /* Wishlist button */
  #js-product-list .wishlist-button-add,
  #js-product-list [data-button-action="add-to-wishlist"] {
    width: 32px !important;
    height: 32px !important;
    top: 8px !important;
    right: 8px !important;
  }
}

/* ============================================
   CART PAGE DESKTOP — styles
   ============================================ */
@media (min-width: 992px) {
  /* Cart summary card */
  .cart-summary.card {
    border: 1px solid #f0eeeb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 20px !important;
  }
  .cart-summary .card-block {
    padding: 16px !important;
  }
  .cart-summary-totals .cart-total {
    font-size: 16px !important;
    font-weight: 700 !important;
    border-top: 2px solid #e8e6e2 !important;
    padding-top: 12px !important;
    margin-top: 8px !important;
  }
  #cart-subtotal-shipping .value {
    color: #17afa0 !important;
    font-weight: 600 !important;
  }
  /* Checkout button */
  .checkout.card-block .btn-primary {
    width: 100% !important;
    padding: 14px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    letter-spacing: 0.02em !important;
  }
  /* Cart product body: name link */
  .product-line-grid-body .label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 6px !important;
  }
  .product-line-grid-body .label:hover { color: #555 !important; }
}

/* ============================================
   DROPDOWN BASE — hide by default
   (Bootstrap dropdown base was missing)
   ============================================ */
.dropdown-menu { display: none; }
.dropdown-menu.show,
.show > .dropdown-menu,
.open > .dropdown-menu { display: block; }

/* Sort order dropdown — show/hide */
.products-sort-order .dropdown-menu { display: none \!important; }
.products-sort-order.show .dropdown-menu,
.products-sort-order.open .dropdown-menu { display: block \!important; }

/* ============================================
   CART PAGE — desktop fixes
   ============================================ */

/* Remove bullets from cart list globally */
ul.cart-items { list-style: none !important; padding: 0 !important; margin: 0 !important; }
li.cart-item  { list-style: none !important; }

/* Cart container styling */
.cart-container.card {
  border: 1px solid #f0eeeb !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
}
.cart-container .card-block { padding: 0 20px !important; }

@media (min-width: 768px) {
  /* --- Product line layout on desktop --- */
  .product-line-grid {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #f5f3f0 !important;
    gap: 16px !important;
    width: 100% !important;
  }
  .cart-items > .cart-item:last-child .product-line-grid {
    border-bottom: none !important;
  }

  /* Image */
  .product-line-grid-left {
    flex: 0 0 90px !important;
    max-width: 90px !important;
    padding: 0 !important;
  }
  .product-line-grid-left img {
    width: 90px !important;
    height: 90px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #f8f7f5 !important;
  }

  /* Body */
  .product-line-grid-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  .product-line-grid-body .label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    display: block !important;
    margin-bottom: 4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .product-line-grid-body .product-line-info {
    font-size: 12px !important;
    color: #777 !important;
    line-height: 1.4 !important;
  }
  .product-line-grid-body .product-price {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-top: 4px !important;
    display: block !important;
  }

  /* Right: qty + price + delete */
  .product-line-grid-right {
    flex: 0 0 180px !important;
    max-width: 180px !important;
    padding: 0 !important;
  }
  .product-line-grid-right > .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    margin: 0 !important;
    justify-content: flex-end !important;
    height: 90px !important;
  }
  /* Hide mobile spacer */
  .product-line-grid-right .col-xs-4.hidden-md-up {
    display: none !important;
  }
  /* Qty wrapper */
  .product-line-grid-right .col-md-10 {
    flex: 1 1 auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
  }
  .product-line-grid-right .col-md-10 > .row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
  }
  .product-line-grid-right .qty {
    flex: 0 0 auto !important;
    padding: 0 !important;
    max-width: none !important;
    width: auto !important;
  }
  .product-line-grid-right .price {
    flex: 0 0 auto !important;
    padding: 0 !important;
    max-width: none !important;
    width: auto !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }
  /* Remove button */
  .product-line-grid-right .col-md-2 {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
  }
  .cart-line-product-actions a.remove-from-cart {
    color: #bbb !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }
  .cart-line-product-actions a.remove-from-cart:hover {
    color: #c0392b !important;
  }

  /* Touchspin on desktop */
  .qty .bootstrap-touchspin.input-group {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    max-width: 100px !important;
  }
  .qty .bootstrap-touchspin input {
    border: none !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    width: 44px !important;
    padding: 6px 4px !important;
    background: #fff !important;
    flex: 1 !important;
  }
  .qty .input-group-btn-vertical {
    display: flex !important;
    flex-direction: column !important;
    width: 26px !important;
  }
  .qty .input-group-btn-vertical .btn {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: #f8f7f5 !important;
    border: none !important;
    border-left: 1.5px solid #e0e0e0 !important;
    cursor: pointer !important;
  }
  .qty .input-group-btn-vertical .btn:first-child {
    border-bottom: 1px solid #e0e0e0 !important;
  }
  .qty .bootstrap-touchspin-up::after { content: '+'; font-size: 14px; }
  .qty .bootstrap-touchspin-down::after { content: '−'; font-size: 14px; }
  .qty .material-icons { display: none !important; }

  /* Cart summary card */
  .cart-grid-right .cart-summary.card {
    border: 1px solid #f0eeeb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 20px !important;
  }
  .cart-grid-right .cart-summary .card-block {
    padding: 16px 20px !important;
  }
  .cart-summary-totals .cart-subtotals {
    padding-bottom: 12px !important;
    margin-bottom: 8px !important;
  }
  .cart-summary-totals .cart-subtotals > div {
    display: flex !important;
    justify-content: space-between !important;
    padding: 4px 0 !important;
    font-size: 13px !important;
    color: #555 !important;
  }
  .cart-summary-totals .cart-total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-top: 2px solid #f0eeeb !important;
    padding-top: 12px !important;
    margin-top: 4px !important;
  }
  #cart-subtotal-shipping .value {
    color: #17afa0 !important;
    font-weight: 600 !important;
  }
  .checkout.card-block .btn-primary {
    width: 100% !important;
    padding: 14px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    letter-spacing: 0.02em !important;
    margin-top: 4px !important;
  }
  /* Reassurance under checkout button */
  .blockreassurance_product { display: none !important; }
}

/* ============================================
   CHECKOUT PAGE — desktop more fixes
   ============================================ */
@media (min-width: 768px) {
  /* Checkout card sections */
  .checkout-step {
    border: 1px solid #f0eeeb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
  }
  .checkout-step .step-title {
    padding: 16px 20px !important;
    border-bottom: 1px solid #f0eeeb !important;
    cursor: pointer !important;
    background: #fff !important;
  }
  .checkout-step.-current .step-title {
    border-bottom-color: #f0eeeb !important;
  }
  .checkout-step .step-content {
    padding: 20px !important;
  }
  #checkout .checkout-step .-reachable .step-title:hover {
    background: #fafaf9 !important;
  }

  /* Personal info form */
  .checkout-step .form-group {
    margin-bottom: 14px !important;
  }
  .checkout-step .form-group.row {
    display: block !important;
  }
  .checkout-step .col-md-6 {
    padding: 0 !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Cart summary in checkout - product lines */
  #checkout #js-checkout-summary {
    border: 1px solid #f0eeeb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }
  #checkout .cart-summary-top {
    padding: 14px 16px !important;
    background: #fafaf9 !important;
    border-bottom: 1px solid #f0eeeb !important;
    cursor: pointer !important;
  }
  #checkout .media.row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #f5f3f0 !important;
    margin: 0 !important;
  }
  #checkout .media.row:last-child { border-bottom: none !important; }
  #checkout .media-left { flex: 0 0 50px !important; }
  #checkout .media-left img { width: 50px !important; height: 50px !important; object-fit: contain !important; }
  #checkout .media-body { flex: 1 !important; min-width: 0 !important; }
  #checkout .media-body .product-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
  }
  #checkout .product-quantity {
    font-size: 12px !important;
    color: #999 !important;
  }
}

/* ============================================
   GLOBAL: fix Bootstrap .row margin in containers
   that should NOT have negative margins
   ============================================ */

/* Base container padding (Bootstrap container base) */
.container {
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Checkout form inner rows — no negative margins */
.checkout-step .row,
.checkout-process .row:not(.nav):not(.nav-inline) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.checkout-step [class*="col-"],
.checkout-process [class*="col-"]:not(.cart-grid-body):not(.cart-grid-right) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Cart inner product-line rows — no negative margins */
.product-line-grid-right > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.product-line-grid-right > .row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* === UNIFIED BACKGROUND (Etap 2 fix) === */
body { background: #f5f3f0 !important; }
#wrapper { background: #f5f3f0 !important; }

/* Content areas stay white */
.page-content,
.cart-container.card,
.checkout-step,
#js-checkout-summary,
.dkr-product-page .dkr-product,
#search_filters_wrapper,
.cart-summary.card { background: #fff; }

/* Category page content wrapper */
#content-wrapper { background: transparent; }
/* === PRODUCT VARIANTS — fix bullets + style === */
.product-variants > .product-variants-item ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  /* display controlled by JS */
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.product-variants > .product-variants-item ul li {
  list-style: none !important;
  margin: 0 !important;
}
/* Radio label style */
.product-variants .input-radio + span,
.product-variants label span {
  display: inline-block;
  padding: 6px 14px;
  border: 1.5px solid #e0e0e0;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s;
}
.product-variants input[type="radio"]:checked + span,
.product-variants input[type="radio"]:checked ~ span {
  border-color: #1a1a1a !important;
  color: #fff !important;
}
/* Select dropdown style */
.product-variants select {
  width: 100% !important;
  padding: 9px 12px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  background: #fff !important;
  appearance: auto !important;
}
/* === SORT BAR FIX — dropdown не обрізається === */
@media (min-width: 768px) {
  .products-selection {
    overflow: visible !important;
  }
  .sort-by-row {
    overflow: visible !important;
  }
  .products-sort-order .dropdown-menu {
    right: 0 !important;
    left: auto !important;
    min-width: 200px !important;
    background: #fff !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 4px 0 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
    z-index: 100 !important;
  }
  .products-sort-order .dropdown-menu a {
    display: block !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    color: #333 !important;
    text-decoration: none !important;
  }
  .products-sort-order .dropdown-menu a:hover {
    background: #f5f3f0 !important;
  }
  .sort-by-row .select-title {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 220px !important;
  }
}

/* === PRODUCT PAGE — CSS polish === */

/* Kalkulator dostawy */
.dkr-delivery-calc {
  background: #f8f7f5 !important;
  border: 1.5px solid #e8e6e2 !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin: 16px 0 !important;
}
.dkr-delivery-calc__title {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #999 !important;
  margin-bottom: 12px !important;
}
.dkr-delivery-calc__row {
  /* display controlled by JS */
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.dkr-delivery-calc__label {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #555 !important;
  white-space: nowrap !important;
}
.dkr-delivery-calc__input-wrap {
  display: inline-flex !important;
  align-items: center !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.dkr-delivery-calc__btn {
  width: 32px !important;
  height: 36px !important;
  border: none !important;
  background: #f5f3f0 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  color: #555 !important;
  /* display controlled by JS */
  align-items: center !important;
  justify-content: center !important;
}
.dkr-delivery-calc__btn:hover { background: #e8e6e2 !important; }
.dkr-delivery-calc__input {
  width: 48px !important;
  text-align: center !important;
  border: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 6px 4px !important;
  background: #fff !important;
}
.dkr-delivery-calc__result {
  /* display controlled by JS */
  justify-content: space-between !important;
  align-items: center !important;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  border: 1px solid #e0e0e0 !important;
}
.dkr-delivery-calc__method { font-size: 13px !important; font-weight: 500 !important; }
.dkr-delivery-calc__price { font-size: 14px !important; font-weight: 700 !important; }

/* Product info list */
.dkr-product__info-list {
  border-top: 1px solid #f0eeeb !important;
  padding-top: 14px !important;
  margin-top: 4px !important;
}
.dkr-product__info-item {
  /* display controlled by JS */
  gap: 8px !important;
  padding: 5px 0 !important;
  font-size: 13px !important;
  border-bottom: 1px solid #f8f7f5 !important;
}
.dkr-product__info-label {
  color: #999 !important;
  min-width: 110px !important;
  flex-shrink: 0 !important;
}
.dkr-product__info-val { font-weight: 600 !important; color: #1a1a1a !important; }

/* Tabs */
.dkr-product__tabs {
  margin-top: 24px !important;
  border: 1px solid #f0eeeb !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.dkr-tabs__nav {
  /* display controlled by JS */
  border-bottom: 1px solid #f0eeeb !important;
  background: #faf9f7 !important;
}
.dkr-tabs__btn {
  padding: 12px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: none !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  cursor: pointer !important;
  color: #888 !important;
  margin-bottom: -1px !important;
  transition: color 0.15s !important;
}
.dkr-tabs__btn--active {
  color: #1a1a1a !important;
  border-bottom-color: #1a1a1a !important;
  background: #fff !important;
}
.dkr-tabs__panel { display: none !important; padding: 20px !important; }
.dkr-tabs__panel--active { display: block !important; }

/* Parametry table */
.dkr-params-table { width: 100% !important; border-collapse: collapse !important; }
.dkr-params-table tr:not(:last-child) td { border-bottom: 1px solid #f5f3f0 !important; }
.dkr-params-table td { padding: 8px 0 !important; font-size: 13px !important; vertical-align: top !important; }
.dkr-params-table__name { color: #888 !important; width: 40% !important; }
.dkr-params-table__val { font-weight: 600 !important; color: #1a1a1a !important; }

/* Timer */
.dkr-timer {
  /* display controlled by JS */
  align-items: center !important;
  gap: 8px !important;
  background: #fff8e1 !important;
  border: 1.5px solid #ffe082 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin-bottom: 14px !important;
  font-size: 13px !important;
}
.dkr-timer__countdown {
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #e65100 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Product right column spacing */
.dkr-product__name { font-size: 22px !important; font-weight: 700 !important; margin-bottom: 6px !important; line-height: 1.3 !important; }
.dkr-product__short-desc { font-size: 13px !important; color: #666 !important; margin-bottom: 12px !important; line-height: 1.5 !important; }
.dkr-product__variants { margin-bottom: 14px !important; }
.dkr-product__variants .product-variants-item { margin-bottom: 10px !important; }
.dkr-product__variants label { font-size: 13px !important; font-weight: 600 !important; display: block !important; margin-bottom: 6px !important; }
.dkr-product__cart-row { margin-bottom: 10px !important; }

/* Wishlist button */
.dkr-product__right .wishlist-button-add,
.dkr-product__right [data-button-action="add-to-wishlist"] {
  width: 40px !important; height: 40px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  /* display controlled by JS */
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  cursor: pointer !important;
  margin-top: 8px !important;
}
/* === FIX TIMER — не перебивати JS display:none === */
.dkr-timer {
  align-items: center !important;
  gap: 8px !important;
  background: #fff8e1 !important;
  border: 1.5px solid #ffe082 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin-bottom: 14px !important;
  font-size: 13px !important;
  /* НЕ ставимо display тут — JS контролює */
}

/* === FIX SORT BAR — dropdown не виходить за межі === */
@media (min-width: 768px) {
  #js-product-list-top .sort-by-row {
    justify-content: flex-end !important;
  }
  .products-sort-order {
    position: relative !important;
  }
  .products-sort-order .select-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 14px !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    min-width: 180px !important;
    white-space: nowrap !important;
  }
}
/* === SMOOTH SLIDER — GPU acceleration + better easing === */
.dkr-hero__slider .carousel-item {
  transition: transform 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
  -webkit-backface-visibility: hidden !important;
}
/* GPU layer for carousel inner */
.dkr-hero__slider .carousel-inner {
  transform: translateZ(0) !important;
}
/* Smooth quick-links button transition */
.dkr-hero-links__btn {
  transition: background 0.25s ease, color 0.25s ease !important;
}
/* === CAROUSEL FADE MODE === */
.dkr-hero__slider .carousel-fade .carousel-item {
  opacity: 0 !important;
  transition: opacity 0.75s ease !important;
  transform: none !important;
  will-change: opacity !important;
}
.dkr-hero__slider .carousel-fade .carousel-item.active,
.dkr-hero__slider .carousel-fade .carousel-item-next.carousel-item-left,
.dkr-hero__slider .carousel-fade .carousel-item-prev.carousel-item-right {
  opacity: 1 !important;
  transform: none !important;
}
.dkr-hero__slider .carousel-fade .active.carousel-item-left,
.dkr-hero__slider .carousel-fade .active.carousel-item-right {
  opacity: 0 !important;
  transform: none !important;
}
/* ============================================
   1. MOBILE MENU — вертикальний дропдаун (стандарт)
   ============================================ */
@media (max-width: 767px) {
  /* Відновлення вертикального дропдауну */
  #mobile_top_menu_wrapper {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    max-height: calc(100vh - 56px) !important;
    height: auto !important;
    padding: 0 !important;
    top: 56px !important;
    border-top: 1px solid #e8e8e8 !important;
  }
  #mobile_top_menu_wrapper.dkr-nav-open {
    display: block !important;
  }
  /* Вертикальний список */
  #mobile_top_menu_wrapper > .container,
  #mobile_top_menu_wrapper > div,
  #mobile_top_menu_wrapper > nav {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }
  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li {
    display: block !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }
  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li > a {
    display: block !important;
    position: relative !important;
    padding: 14px 48px 14px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
  }
  /* Іконка розкриття — абсолютно справа */
  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li > a .float-xs-right {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    float: none !important;
  }
  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li > a:hover,
  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li.current > a {
    color: #17afa0 !important;
    background: #faf9f7 !important;
  }
  /* Підменю — показати */
  #mobile_top_menu_wrapper .collapse { display: block !important; height: auto !important; }
  #mobile_top_menu_wrapper .popover.sub-menu { display: block !important; position: static !important; box-shadow: none !important; border: none !important; }
  #mobile_top_menu_wrapper .top-menu[data-depth="1"] li a {
    padding: 10px 20px 10px 36px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #555 !important;
    border-bottom: 1px solid #f5f5f5 !important;
    display: block !important;
    text-transform: none !important;
  }
  /* Collapse-іконки (стрілка) */
  #mobile_top_menu_wrapper .collapse-icons { display: inline-flex !important; }
  #mobile_top_menu_wrapper .navbar-toggler { display: none !important; }
  /* Мова/валюта — показати */
  #mobile_top_menu_wrapper .js-top-menu-bottom {
    display: block !important;
    padding: 16px 20px !important;
    border-top: 2px solid #f0f0f0 !important;
    font-size: 13px !important;
    color: #666 !important;
  }
}

/* ============================================
   2. LOGO — бірюзовий колір бренду
   ============================================ */
.dkr-logo-wrap a::before {
  background-color: #17afa0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1.5' fill='%23fff' stroke='none'/%3E%3C/svg%3E") !important;
}

/* ============================================
   3. ВСІ КНОПКИ — бірюзовий колір бренду
   ============================================ */
/* Основна кнопка (add to cart, checkout, тощо) */
.btn-primary,
button.btn-primary,
a.btn-primary,
.add-to-cart,
button.add-to-cart,
#add-to-cart,
.dkr-btn--dark,
.cart-line-product-actions,
.checkout.card-block .btn-primary {
  background: #17afa0 !important;
  border-color: #17afa0 !important;
  color: #fff !important;
}
.btn-primary:hover,
button.btn-primary:hover,
.add-to-cart:hover,
.dkr-btn--dark:hover {
  background: #0d8c85 !important;
  border-color: #0d8c85 !important;
  color: #fff !important;
}
/* DODAJ DO KOSZYKA на картці товару */
.dkr-product__cart-row .btn-primary,
.dkr-product__cart-row button[data-button-action="add-to-cart"] {
  background: #17afa0 !important;
  border-color: #17afa0 !important;
}
/* Кнопки в корзині і чекауті */
.checkout.card-block .btn-primary:hover {
  background: #0d8c85 !important;
}
/* Кнопка фільтрів */
.filter-button .btn { background: #17afa0 !important; border-color: #17afa0 !important; color: #fff !important; }
/* Pagination active */
.pagination .page-item.active .page-link {
  background: #17afa0 !important;
  border-color: #17afa0 !important;
}

/* ============================================
   4. СЛАЙДЕР — прибрати fade, швидший slide
   ============================================ */
.dkr-hero__slider .carousel-item {
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
}
/* Скасувати fade режим */
.dkr-hero__slider .carousel-fade .carousel-item {
  opacity: 1 !important;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.dkr-hero__slider .carousel-fade .carousel-item.active,
.dkr-hero__slider .carousel-fade .carousel-item-next.carousel-item-left,
.dkr-hero__slider .carousel-fade .carousel-item-prev.carousel-item-right,
.dkr-hero__slider .carousel-fade .active.carousel-item-left,
.dkr-hero__slider .carousel-fade .active.carousel-item-right {
  opacity: 1 !important;
}

/* FIX: DODAJ DO KOSZYKA — перебиваємо чорний через вищу специфічність */
.dkr-product__cart-row .btn.add-to-cart,
.dkr-product__cart-row .btn-primary.add-to-cart {
  background: #17afa0 !important;
  border-color: #17afa0 !important;
}
.dkr-product__cart-row .btn.add-to-cart:hover,
.dkr-product__cart-row .btn-primary.add-to-cart:hover {
  background: #0d8c85 !important;
  border-color: #0d8c85 !important;
}

/* Desktop only: ensure fixed on all pages */
@media (min-width: 768px) {
  body.page-category #header,
  body.page-new-products #header,
  body.page-prices-drop #header,
  body.page-search #header,
  body.page-cms #header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}

/* === PAGINATION fix (page-list — PrestaShop native, all screens) === */
.page-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}
.page-list li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 10px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #444 !important;
  text-decoration: none !important;
  background: #fff !important;
}
.page-list li.current a,
.page-list li a.disabled {
  background: #17afa0 !important;
  border-color: #17afa0 !important;
  color: #fff !important;
}
.page-list li a:hover:not(.disabled) {
  background: #f5f5f5 !important;
  color: #1a1a1a !important;
}
.page-list li a .material-icons {
  font-size: 16px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
nav.pagination {
  margin: 24px 0 !important;
}

/* Footer cechy banner — match footer background */
.dkr-footer__cechy {
  background: #f7f6f4;
  padding: 20px 0;
}

/* =============================================
   DKR: Cart Toast Notification
   ============================================= */
.dkr-cart-toast {
  position: fixed;
  top: 90px;
  right: -420px;
  width: 360px;
  max-width: calc(100vw - 24px);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08);
  z-index: 99999;
  transition: right 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
  overflow: hidden;
  display: none;
}
.dkr-cart-toast.dkr-cart-toast--show {
  display: block;
  right: 20px;
}
.dkr-cart-toast.dkr-cart-toast--hide {
  right: -420px;
}

/* Header */
.dkr-cart-toast__header {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #17afa0;
  color: #fff;
  padding: 13px 16px;
}
.dkr-cart-toast__check {
  width: 24px;
  height: 24px;
  background: rgba(255,255,255,0.25);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}
.dkr-cart-toast__title {
  flex: 1;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}
.dkr-cart-toast__close {
  background: none;
  border: none;
  color: rgba(255,255,255,0.8);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0 0 0 8px;
  flex-shrink: 0;
}
.dkr-cart-toast__close:hover { color: #fff; }

/* Body */
.dkr-cart-toast__body {
  padding: 14px 16px 10px;
}
.dkr-cart-toast__product {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.dkr-cart-toast__img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.dkr-cart-toast__info { flex: 1; min-width: 0; }
.dkr-cart-toast__name {
  font-size: 13px;
  font-weight: 600;
  color: #222;
  margin: 0 0 4px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dkr-cart-toast__price {
  font-size: 15px;
  font-weight: 700;
  color: #17afa0;
  margin: 0 0 3px;
}
.dkr-cart-toast__attr {
  font-size: 11px;
  color: #888;
  display: block;
  margin-bottom: 2px;
}
.dkr-cart-toast__qty {
  font-size: 12px;
  color: #888;
  margin: 0;
}
.dkr-cart-toast__summary {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #f2f2f2;
  font-size: 13px;
  color: #555;
}
.dkr-cart-toast__total {
  color: #222;
}

/* Footer */
.dkr-cart-toast__footer {
  display: flex;
  gap: 8px;
  padding: 10px 16px 14px;
}
.dkr-cart-toast__btn {
  flex: 1;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  border: none;
  text-decoration: none;
  display: block;
  transition: opacity 0.15s, background 0.15s;
  line-height: 1.2;
}
.dkr-cart-toast__btn--secondary {
  background: #f4f4f4;
  color: #555;
}
.dkr-cart-toast__btn--secondary:hover { background: #eaeaea; color: #333; }
.dkr-cart-toast__btn--primary {
  background: #17afa0;
  color: #fff !important;
}
.dkr-cart-toast__btn--primary:hover { opacity: 0.88; }

/* Progress bar auto-close */
.dkr-cart-toast__progress {
  height: 3px;
  background: #17afa0;
  width: 100%;
  transform-origin: left;
  transform: scaleX(1);
  transition: transform 4s linear;
  opacity: 0.35;
}
.dkr-cart-toast--show .dkr-cart-toast__progress {
  transform: scaleX(0);
}

/* Mobile */
@media (max-width: 767px) {
  .dkr-cart-toast {
    top: -300px;
    right: 10px;
    left: 10px;
    width: auto;
    border-radius: 12px;
    transition: top 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
  }
  .dkr-cart-toast.dkr-cart-toast--show {
    top: 66px;
    right: 10px;
  }
  .dkr-cart-toast.dkr-cart-toast--hide {
    top: -300px;
  }
}

/* Product page — right column grey card */
.dkr-product__right {
  background: #f7f6f4;
  border-radius: 12px;
  padding: 20px 20px 16px;
}
@media (max-width: 991px) {
  .dkr-product__right {
    border-radius: 8px;
    padding: 16px;
    margin-top: 16px;
  }
}

/* Product page — left column (images) */
.dkr-product__left {
  background: #f7f6f4;
}

/* === FIX nowe-produkty / new-products page: h1 uses class="h2" → remove uppercase === */
#js-product-list-header h1.h2,
#js-product-list-header.h2 {
  text-transform: none !important;
}

/* === YouTube video embed — responsive 16:9 === */
.dkr-video-embed {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  border-radius: 8px;
}
.dkr-video-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
}

/* === BUG FIXES v27: variants AJAX + picker layout + photo background === */

/* Fix label override — only target control-label heading, not swatch labels */
.dkr-product__variants .product-variants-item > span.control-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  margin-bottom: 8px;
}
/* Reset label inside li — must NOT be block or it breaks grid */
.dkr-product__variants .product-variants-item ul li label {
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  cursor: pointer;
}

/* Fix: hide radio input visually but keep it clickable (PS AJAX needs change event) */
.product-variants input.input-color,
.product-variants input.input-radio {
  opacity: 0;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
.product-variants li.input-container {
  position: relative;
}

/* Color/texture swatch */
.product-variants .color {
  width: 50px;
  height: 50px;
  display: block;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  cursor: pointer;
  background-size: cover;
  background-position: center;
  transition: border-color 0.15s;
}
.product-variants input.input-color:checked + .color,
.product-variants input.input-color:checked ~ span.color {
  border-color: #17afa0 !important;
  box-shadow: 0 0 0 2px #17afa0;
}

/* Radio label pill */
.product-variants .radio-label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1.5px solid #e0e0e0;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  background: #fff;
  color: #1a1a1a;
}
.product-variants input.input-radio:checked ~ .radio-label,
.product-variants input.input-radio:checked + .radio-label {
  border-color: #1a1a1a !important;
  background: #1a1a1a !important;
  color: #fff !important;
}

/* Fix: product gallery — white background so photos blend */
.dkr-product__gallery,
.dkr-product__cover,
.dkr-product__cover picture,
.dkr-product__thumbs {
  background: #fff !important;
}


/* === v28: PRODUCT CARD SIZE — match mebloo.pl === */

/* Container width: 1440→1480px like mebloo (92.5rem) */
.container-xl,
.dkr-container {
  max-width: 1480px !important;
}

/* Product image: square 1:1 like mebloo (was portrait 4:5) */
.dkr-section .product-miniature img.product-cover-img,
.dkr-section .product-miniature .card-img-top,
.dkr-section .product-miniature .thumbnail-container .product-thumbnail img,
.dkr-section .thumbnail-top img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
}

.dkr-section .product-miniature .thumbnail-container {
  aspect-ratio: 1 / 1 !important;
  background: #fff !important;
}

.dkr-section .product-miniature .thumbnail-top {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden;
}

/* White bg on all product cards */
.dkr-section .product-miniature .card,
.dkr-section .product-miniature {
  background: #fff !important;
}


/* === v29: revert aspect-ratio back to 4/5 portrait (correct, matches mebloo) === */
.dkr-section .product-miniature img.product-cover-img,
.dkr-section .product-miniature .card-img-top,
.dkr-section .product-miniature .thumbnail-container .product-thumbnail img,
.dkr-section .thumbnail-top img {
  aspect-ratio: 4 / 5 !important;
}
.dkr-section .product-miniature .thumbnail-container {
  aspect-ratio: 4 / 5 !important;
}
.dkr-section .product-miniature .thumbnail-top {
  aspect-ratio: 4 / 5 !important;
}


/* === v30: force full width on PS module section wrappers === */
.dkr-products-grid > section,
.dkr-products-grid > .featured-products,
.dkr-products-grid > .new-products,
.dkr-products-grid > .products-special {
  width: 100% !important;
  max-width: none !important;
}

.dkr-section .products.row,
.dkr-products-grid .products.row {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}


/* === v33: SITE MIN-WIDTH — desktop only, mobile/tablet unrestricted === */
@media (min-width: 992px) {
  body {
    min-width: 1470px;
  }
}

/* Override ALL PS/Bootstrap containers to 1470px max */
.container,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container-fluid {
  max-width: 1470px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

.dkr-container,
.dkr-hero-links__inner {
  max-width: 1470px !important;
}


/* === v32: VARIANT PICKER — flex grid, hide visible sr-only text === */

/* Hide attribute-name text inside color swatches - sr-only override */
.product-variants .color .attribute-name,
.product-variants .color span.attribute-name {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Variant list: flex grid layout */
.product-variants-item ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
}

/* Each variant item: just the swatch, no extra width */
.product-variants-item ul li {
  flex: 0 0 auto !important;
  display: block !important;
}

/* Label wraps swatch only */
.product-variants-item ul li label {
  display: block !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* Color/texture swatch: 50×50, rounded, border */
.product-variants .color {
  display: block !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 4px !important;
  border: 2px solid #e0e0e0 !important;
  background-size: cover !important;
  background-position: center !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Selected swatch: teal border */
.product-variants input.input-color:checked + .color,
.product-variants input.input-color:checked ~ .color {
  border-color: #17afa0 !important;
  box-shadow: 0 0 0 1px #17afa0 !important;
}

/* Text-only variants (non-color) stay as pills */
.product-variants input.input-radio + span {
  display: inline-block !important;
  padding: 6px 14px !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

.product-variants input.input-radio:checked + span {
  border-color: #17afa0 !important;
  color: #17afa0 !important;
}


/* === v34: FIX — transparent bg on click/tap for tabs & params table === */
.dkr-tabs__btn:focus,
.dkr-tabs__btn:active {
  outline: none !important;
  background: transparent !important;
  -webkit-tap-highlight-color: transparent !important;
}
.dkr-tabs__btn--active:focus,
.dkr-tabs__btn--active:active {
  background: transparent !important;
}
.dkr-params-table tr:hover,
.dkr-params-table tr:active {
  background: transparent !important;
}
.dkr-params-table td,
.dkr-params-table th {
  -webkit-tap-highlight-color: transparent !important;
}
