/* =========================================================
   CENESTI MINI CART – FINAL (NO DUPES)
   - NO floating triggers (.cmc-fab / .cmc-bar hidden)
   - Desktop: drawer from right
   - Mobile: bottom-sheet from bottom
   - Clean items (no grey cards), separators only
   - Remove icon aligned to product name (cmc-topline)
   - Collapsible "Polecane" chevron (SVG injected by JS)
========================================================= */

/* Root */
.cmc{
  --cmc-bg: #fff;
  --cmc-muted: rgba(0,0,0,.58);
  --cmc-text: rgba(0,0,0,.86);
  --cmc-border: rgba(0,0,0,.10);
  --cmc-shadow: 0 18px 50px rgba(0,0,0,.18);
  --cmc-radius: 16px;
  --cmc-z: 2147483000;
  font-family: inherit;
}

/* Force top layer */
#cmc-root{
  position: relative;
  z-index: 2147483646 !important;
}
#cmc-root .cmc-drawer,
#cmc-root .cmc-backdrop{
  z-index: 2147483647 !important;
}

/* =========================================================
   KILL: stary off-canvas mini-cart z motywu/wtyczek
========================================================= */
.jws-mini-cart,
.jws-minicart,
.jws-cart-sidebar,
.jws-cart-sidebar-wrap,
.jws-cart-canvas,
.jws-offcanvas-cart,
#jws-mini-cart,
#cart-drawer,
.offcanvas-cart,
.offcanvas-minicart,
.drawer-cart,
.header-cart,
.widget_shopping_cart,
.woocommerce.widget_shopping_cart,
.woocommerce-mini-cart,
.elementor-menu-cart__container,
.elementor-menu-cart__main{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Awaryjne ubijanie overlay/blur z motywu */
.mini-cart-overlay,
.cart-overlay,
.offcanvas-overlay,
.jws-overlay,
.site-overlay{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* =========================================================
   IMPORTANT: WYŁĄCZAMY floating triggery z naszej wtyczki
   (Ty masz własny przycisk otwierania koszyka)
========================================================= */
#cmc-root .cmc-fab,
#cmc-root .cmc-bar{
  display:none !important;
}

/* =========================================================
   Backdrop
========================================================= */
#cmc-root .cmc-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  opacity: 0;
  transition: opacity .18s ease;
}

/* =========================================================
   Drawer (desktop default: right)
========================================================= */
#cmc-root .cmc-drawer{
  position: fixed;
  top: 0;
  right: 0;
  height: 100dvh;
  width: min(430px, 90vw);
  background: var(--cmc-bg);
  box-shadow: var(--cmc-shadow);
  transform: translateX(104%);
  transition: transform .18s ease;
  display: grid;
  grid-template-rows: auto 1fr auto;
  border-radius: 0;
}

/* Open state */
#cmc-root.cmc-open .cmc-backdrop{ opacity: 1; }
#cmc-root.cmc-open .cmc-drawer{ transform: translateX(0); }

/* =========================================================
   Header
========================================================= */
#cmc-root .cmc-head{
  padding: 16px 16px 12px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}
#cmc-root .cmc-head__title{
  font-size: 16px;
  font-weight: 600;
  color: var(--cmc-text);
}
#cmc-root .cmc-x{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(0,0,0,.04);
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  color: rgba(0,0,0,.55);
}
#cmc-root .cmc-x:hover{
  color: rgba(0,0,0,.75);
  background: rgba(0,0,0,.06);
}

/* =========================================================
   Body
========================================================= */
#cmc-root .cmc-body{
  overflow: auto;
  padding: 14px 14px 18px;
}
#cmc-root .cmc-empty{
  padding: 18px 12px;
  color: var(--cmc-muted);
  font-size: 14px;
}

/* =========================================================
   List + items (CLEAN – no grey cards)
========================================================= */
#cmc-root .cmc-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0;
}

/* item layout */
#cmc-root .cmc-item{
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  padding: 14px 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* separator between items */
#cmc-root .cmc-list .cmc-item + .cmc-item{
  border-top: 1px solid rgba(0,0,0,.06) !important;
}

/* thumbnail */
#cmc-root .cmc-thumb{
  width: 64px;
  height: 82px;
  border-radius: 10px;
  overflow: hidden;
  background: transparent !important;
  display: grid;
  place-items: center;
}
#cmc-root .cmc-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

#cmc-root .cmc-info{ min-width: 0; width:100%; }

#cmc-root .cmc-item:not(.cmc-skel-item) .cmc-topline{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 10px;
}


#cmc-root .cmc-name{
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.3;
  color: rgba(0,0,0,.82);
}

/* meta (Rozmiar) */
#cmc-root .cmc-meta,
#cmc-root .cmc-meta *{
  margin-top: 0px!important;
  font-size: 11.5px;
  line-height: 1.25;
  color: rgba(0,0,0,.55);
}

/* price */
#cmc-root .cmc-price{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(0,0,0,.65);
}

/* remove button – light, no grey card feel */
#cmc-root .cmc-remove{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer;
  line-height: 1;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(0,0,0,.45);
}
#cmc-root .cmc-remove:hover{
  color: rgba(0,0,0,.70);
}

/* =========================================================
   QTY controls (single source of truth — no dupes)
========================================================= */
#cmc-root .cmc-qty{
  margin-top: 10px;
  display: grid;
  grid-template-columns: 34px 64px 34px;
  align-items: center;
  height: 34px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0,0,0,.02);
}

#cmc-root .cmc-qty__btn{
  height: 34px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  font-weight: 400;
  color: rgba(0,0,0,.55);
  transition: background .15s ease, color .15s ease;
}
#cmc-root .cmc-qty__btn:hover{
  background: rgba(0,0,0,.04);
  color: rgba(0,0,0,.75);
}
#cmc-root .cmc-qty__input{
  height: 34px;
  border: 0;
  width: 64px;
  text-align: center;
  outline: none;
  font-size: 13px;
  font-weight: 500;
  color: rgba(0,0,0,.85);
  background: transparent;
  -moz-appearance: textfield;
}
#cmc-root .cmc-qty__input::-webkit-outer-spin-button,
#cmc-root .cmc-qty__input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* =========================================================
   Footer
========================================================= */
#cmc-root .cmc-foot{
  border-top: 1px solid rgba(0,0,0,.06);
  padding: 10px 12px 12px;
  background: #fcfcfc;
}
#cmc-root .cmc-totals{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
}
#cmc-root .cmc-totals__label{
  color: var(--cmc-muted);
  font-size: 12px;
}
#cmc-root .cmc-totals__value{
  font-weight: 700;
  font-size: 13.5px;
  color: rgba(0,0,0,.86);
}

#cmc-root .cmc-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
#cmc-root .cmc-btn{
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  text-decoration: none;
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: .2px;
}
#cmc-root .cmc-btn--ghost{
  border: 1px solid rgba(0,0,0,.14);
  color: rgba(0,0,0,.82);
  background: #fff;
}
#cmc-root .cmc-btn--primary{
  border: 1px solid rgba(0,0,0,.08);
  color: #fff;
  background: rgba(27,27,27,.92);
}

/* =========================================================
   "Dodano do koszyka" + Polecane (section)
========================================================= */
#cmc-root .cmc-added{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 0 14px !important;
  margin: 0 0 14px !important;
  box-shadow: none !important;
  position: relative;
}

/* separator after the whole added-section */
#cmc-root .cmc-added::after{
  content: "";
  display: block;
  height: 1px;
  background: rgba(0,0,0,.06);
  margin: 18px 0 6px;
}

#cmc-root .cmc-added-title{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .2px;
}

#cmc-root .cmc-added-product{
  display:flex;
  gap: 14px;
  margin-top: 12px;
}
#cmc-root .cmc-added-thumb{
  width: 64px;
  height: 64px;
  border-radius: 10px;
  background: rgba(0,0,0,.03);
  overflow:hidden;
  flex: 0 0 64px;
}
#cmc-root .cmc-added-thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

#cmc-root .cmc-added-meta{ flex: 1 1 auto; min-width: 0; }

#cmc-root .cmc-added-name{
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  margin: 0 0 4px;
}
#cmc-root .cmc-added-line{
  font-size: 12px;
  font-weight: 400;
  color: rgba(95,85,79,.7);
  margin-bottom: 6px;
}
/* "Dodano": rozmiar + ilość w jednej linii */
#cmc-root .cmc-added-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 10px;
}

/* atrybuty inline (żeby było w jednej linii) */
#cmc-root .cmc-added-attrs{
  display:flex;
  flex-wrap:wrap;          /* jakby kiedyś były 2 atrybuty */
  gap: 8px;
  font-size: 11px;         /* 1px mniejsze */
  line-height: 1.25;
  color: rgba(95,85,79,.75);
}

#cmc-root .cmc-added-attr{
  display:inline-flex;
  gap: 4px;
}

/* ilość po prawej, też 1px mniejsze */
#cmc-root .cmc-added-qty{
  white-space:nowrap;
  font-size: 11px;         /* 1px mniejsze */
  line-height: 1.25;
  color: rgba(95,85,79,.75);
}


/* ukryj subtotal w tej sekcji */
#cmc-root .cmc-added-subtotal{ display: none !important; }

/* =========================================================
   Collapsible "Polecane dla Ciebie" (chevron = SVG injected by JS)
========================================================= */
#cmc-root .cmc-rec-title,
#cmc-root .cenesti-rec-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  cursor:pointer;
  user-select:none;
  padding: 6px 0;
  color: rgba(0,0,0,.62);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .2px;
  margin: 0 0 8px;
}

#cmc-root .cmc-rec-chevron{
  display:inline-flex;
  width:18px;
  height:18px;
  opacity:.85;
}
#cmc-root .cmc-rec-chevron svg{
  width:18px;
  height:18px;
  display:block;
  transition: transform .22s ease;
}

#cmc-root .cmc-added-rec .cmc-rec-row,
#cmc-root .cmc-rec--addons .cmc-rec-row{
  display:flex !important;
  gap: 14px !important;
  overflow-x:auto !important;
  padding-bottom: 8px !important;
  -webkit-overflow-scrolling: touch;
}
/* Skeletony w "Polecane" – mniejsze paddingi boczne */
#cmc-root .cmc-rec--addons .cmc-rec-row:has(.cmc-skel-rec){
  padding-left: 5px;
  padding-right: 5px;
}


#cmc-root .cmc-rec--addons.is-collapsed .cmc-rec-row{
  display:none !important;
}


#cmc-root .cmc-rec--addons.is-collapsed .cmc-rec-chevron svg{
  transform: rotate(-90deg);
}


/* =========================================================
   Add-ons (HTML z [cenesti_addons]) jako poziomy slider
========================================================= */
#cmc-root .cmc-addons-note{
  display:flex;
  align-items:center;
  gap: 10px;
  margin: 2px 0 20px;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 500;
  color: rgba(95,85,79,.88);
}
#cmc-root .cmc-addons-note__bar{
  width: 2px;
  height: 14px;
  border-radius: 999px;
  background: rgba(95,85,79,.55);
}

#cmc-root .cenesti-addons > ul.products{
  list-style: none;
  margin: 0;
  padding: 0;
  display:flex;
  gap: 14px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
#cmc-root .cenesti-addons > ul.products::-webkit-scrollbar{ display:none; }

#cmc-root .cenesti-addons > ul.products > li.product{
  flex: 0 0 78%;
  max-width: 78%;
  scroll-snap-align: start;
  margin: 0 !important;
  list-style:none;
}
@media (min-width: 768px){
  #cmc-root .cenesti-addons > ul.products > li.product{
    flex-basis: 46%;
    max-width: 46%;
  }
}

/* Nawigacja strzałkami (mini cart) */
#cmc-root .cmc-addons-nav{
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  margin-bottom: 10px;
}
#cmc-root .cmc-addons-nav button{
  appearance:none;
  border: 1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius: 999px;
  height: 34px;
  width: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
#cmc-root .cmc-addons-nav button:disabled{ opacity:.35; cursor:default; }
#cmc-root .cmc-addons-nav .cmc-ico{ width:16px; height:16px; display:block; }

#cmc-root .cmc-added-rec .cenesti-addons .product-item-inner,
#cmc-root .cmc-rec--addons .cenesti-addons .product-item-inner{
  float:none !important;
  width:auto !important;
}

/* ukryj przyciski "Dodaj" w kafelkach add-ons */
#cmc-root .cenesti-addons .button,
#cmc-root .cenesti-addons a.button{
  display:none !important;
}

/* Twoje poprawki typografii w add-ons */
#cmc-root .cenesti-addons .products .woocommerce-loop-product__title a{
  color:#333 !important;
  line-height: 1em !important;
  font-size: 11.8px !important;
}
#cmc-root .cenesti-addons .products .price-item .price{
  font-size: 11.2px !important;
  color:#555 !important;
  font-weight:600 !important;
}
#cmc-root .cenesti-addons .products .cat-list a{
  display:none !important;
}
#cmc-root .cenesti-addons .products .product-item .product-image{
  border-radius: 11px !important;
}
#cmc-root .cenesti-addons .products .product-item .advanced-woo-labels{
  display:none !important;
}
#cmc-root .cenesti-addons .products .product-item-inner{
  width:130px !important;
}

/* =========================================================
   MOBILE: bottom-sheet (drawer from bottom)
========================================================= */
@media (max-width: 820px){
  #cmc-root .cmc-drawer{
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;

    width: 100% !important;
    max-width: 100% !important;

    height: min(86vh, 720px);
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;

    transform: translateY(105%);
    transition: transform .18s ease;
  }

  #cmc-root.cmc-open .cmc-drawer{
    transform: translateY(0);
  }
}

.cmc-el-btn{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: rgba(0,0,0,.85);
}

.cmc-el-icon svg{
  display:block;
}

.cmc-el-badge{
  position: absolute;
  top: -6px;
  right: 8px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  font-weight: 700;
  background: rgba(27,27,27,.92);
  color: #fff;
  line-height: 1;
}



#cmc-root .cmc-meta{
	margin-bottom: 5px !important;

}

#cmc-root .cmc-price{
	margin-top: 0px !important;
	line-height: 1.2;
}

#cmc-root .fbt-global-note{
  padding:16px 12px;
  border-top:1px solid #EAE6E2;
  background:#faf9f8;
  font-size:10px;
  font-weight:400;
  color:#5b4f47;
  line-height:1.5;
  isolation:isolate;
}
#cmc-root .fbt-note-inner{display:flex;align-items:flex-start;gap:6px;}
#cmc-root .fbt-note-icon{
  width:12px;height:12px;flex:0 0 12px;margin-top:2px;
  background-image:url("https://cenesti.com/wp-content/uploads/2022/02/info1.svg");
  background-repeat:no-repeat;background-position:center;background-size:contain;
  display:inline-block;
}

#cmc-root .cmc-meta .cmc-qtyline{ margin-top: 2px; }

#cmc-root .cmc-freebar{
  margin-top: 0px!important;
  padding-top: 0px!important;
}

#cmc-root .cmc-freebar{
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #EAE6E2;
}


/* Ikona ptaszka – koszyk główny (zostaje) */
.woocommerce-cart-form .wpcfb-qualified-message .wpcfb-message::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  background: center / contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236BA86B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  opacity: 0.9;
  transform: translateY(4px);
}

/* Ikona ptaszka – MINI KOSZYK */
#cmc-root .wpcfb-qualified-message .wpcfb-message::before {
  content: "";
  display: inline-block;
  width: 14px;              /* minimalnie mniejsza – lepiej wygląda w drawerze */
  height: 14px;
  margin-right: 6px;
  background: center / contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236BA86B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  opacity: 0.9;
  transform: translateY(3px);
}


/* WPC Free Shipping Bar – mini koszyk */
#cmc-root .cmc-freebar .wpcfb-qualified-message .wpcfb-message{
  font-size: 11.8px;
  font-weight: 500;
  line-height: 1.35; /* czytelniej w drawerze */
}


/* Topline */
.cmc-list .cmc-item .cmc-topline{
	margin-bottom:-3px!important;
}

#cmc-root .cmc-rec--addons{
  margin-top: 14px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.06);
}


/* Bdi */
.cmc-list .cmc-item bdi{
	font-size:11px!important;
	
}

/* Add-ons – ukryj poziomy scrollbar, zostaw drag */
#cmc-root .cenesti-addons ul.products{
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* IE / Edge legacy */
}

#cmc-root .cenesti-addons ul.products::-webkit-scrollbar{
  height: 0;                      /* Chrome / Safari */
}


#cmc-root .cenesti-addons ul.products{
  mask-image: linear-gradient(
    to right,
    transparent 0,
    black 24px,
    black calc(100% - 24px),
    transparent 100%
  );
}

/* =========================
   Add-ons / Polecane – ukryj poziomy scrollbar (pancerne)
   ========================= */

/* element, który realnie scrolluje (różne warianty) */
#cmc-root .cenesti-addons ul.products,
#cmc-root .cenesti-addons > ul.products,
#cmc-root .cmc-rec-row ul.products,
#cmc-root .cenesti-rec-row ul.products{
  scrollbar-width: none !important;          /* Firefox */
  -ms-overflow-style: none !important;       /* Edge legacy */
}

/* Chrome / Safari */
#cmc-root .cenesti-addons ul.products::-webkit-scrollbar,
#cmc-root .cmc-rec-row ul.products::-webkit-scrollbar,
#cmc-root .cenesti-rec-row ul.products::-webkit-scrollbar{
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}


/* Remove button – subtelny X */
#cmc-root .cmc-remove{
  background: transparent;
  border: 0;
  padding: 0;
  width: 22px;
  height: 22px;
  cursor: pointer;
  color: rgba(60,60,60,.55);
  transition: color .15s ease, background .15s ease;
}

#cmc-root .cmc-remove:hover{
  color: rgba(20,20,20,.9);
  background: rgba(0,0,0,.04);
  border-radius: 50%;
}

/* Rec title */
.cmc-body .cmc-rec-bottom .cmc-rec-title{
	font-weight:600;
	
}

#cmc-root .cmc-rec--addons .cmc-rec-title{
  font-size: 13.5px !important;
  color: #545454 !important;
  font-weight: 600;
  padding-top: 0 !important; /* ważne, bo miałaś padding-top 27px dla starego układu */
}



/* ===== Cenesti bundle promo – MINI CART DRAWER ===== */
#cmc-root .cenesti-bundle-badge-wrapper{
  display:block;
  margin-top:4px;
}
#cmc-root .cenesti-bundle-badge{
  display:inline-block;
  padding:1px 6px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.15px;
  text-transform:uppercase;
  line-height:1.3;
  border-radius:999px;
  border:1px solid transparent;
margin-bottom: 8px!important;
}

#cmc-root .cenesti-bundle-badge.pair-theme-1{ background:#F2EFEC; border-color:#E6E1DC; color:#7B756E; }
#cmc-root .cenesti-bundle-badge.pair-theme-2{ background:#EEF3EF; border-color:#D9E5DC; color:#5F6B63; }
#cmc-root .cenesti-bundle-badge.pair-theme-3{ background:#F3F0EB; border-color:#E2D9CE; color:#6F655C; }
#cmc-root .cenesti-bundle-badge.pair-theme-4{ background:#EFEFF4; border-color:#DCDDEA; color:#5F6174; }
#cmc-root .cenesti-bundle-badge.pair-theme-5{ background:#F4EEEE; border-color:#E6D8D8; color:#6E5E5E; }

/* subtle left bar on discounted items */
#cmc-root .cmc-item.cenesti-bundle-in-promo{
  border-left:3px solid #E6E1DC;
  padding-left:10px; /* żeby pasek nie wchodził na content */
}

/* before/now price */
#cmc-root .cenesti-price{ white-space:nowrap; }
#cmc-root .cenesti-price__before{ margin-right:6px; opacity:.55; }
#cmc-root .cenesti-price__now{ font-weight:700; color:#2F2A25; }


/* ===== Mini cart: meta + price w jednej linii ===== */
#cmc-root .cmc-meta{
  display: flex!important;
  align-items: center!important;
  gap: 10px;
  flex-wrap: wrap!important;
}




#cmc-root .cmc-meta,
#cmc-root .cmc-price{
  font-size: 11px!important;     /* było ~12–12.5px */
  line-height: 1.35;
}
#cmc-root .cmc-qtyline{
  font-size: 10.5px!important;
  color: rgba(95,85,79,0.75);
}



/* Meta */
#cmc-root .cmc-drawer .cmc-body .cmc-list .cmc-item .cmc-info .cmc-meta{
	margin-top:5px !important;
}


/* Meta */
#cmc-root .cmc-drawer .cmc-body .cmc-list .cmc-item .cmc-info .cmc-meta{
	margin-top:5px !important;
}

/* Bdi */
.cmc-list .cenesti-price__now bdi{
	font-weight:600;
	
}

/* ===== CMC remove loader ===== */
#cmc-root .cmc-item.is-removing{
  position: relative;
  opacity: .6;
  pointer-events: none; /* blokuje kliki w tej pozycji */
}


#cmc-root .cmc-remove.is-loading{
  opacity: .7;
}

#cmc-root .cmc-remove.is-loading .cmc-remove-ico{
  opacity: 0; /* chowamy X */
}

/* mały spinner dokładnie w miejscu X */
#cmc-root .cmc-remove.is-loading::after{
  content:"";
  display:inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(95,85,79,.25);
  border-top-color: rgba(95,85,79,.7);
  animation: cmcSpin .7s linear infinite;
}

@keyframes cmcSpin{
  to{ transform: rotate(360deg); }
}


.cmc-is-reloading #cmc-root .cmc-drawer::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(255,255,255,.7);
  backdrop-filter: blur(2px);
  z-index:9999;
}

.cmc-is-reloading #cmc-root .cmc-drawer::before{
  content:"";
  position:absolute;
  left:50%; top:38%;
  width:26px; height:26px;
  margin:-13px 0 0 -13px;
  border:2px solid rgba(0,0,0,.15);
  border-top-color: rgba(0,0,0,.55);
  border-radius:50%;
  animation: cmcSpin .7s linear infinite;
  z-index:10000;
}

@keyframes cmcSpin { to { transform: rotate(360deg); } }


/* =========================================================
   CMC – Desktop INLINE QV (panel wyboru rozmiaru pod przyciskiem)
   Zakres: tylko .cmc-inline-qv
========================================================= */

.cmc-inline-qv{
  margin: 0px!important;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  padding: 12px 12px 10px;
}

/* nagłówek */
.cmc-inline-qv__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 10px;
}

.cmc-inline-qv__title{
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  color: #111;
}

.cmc-inline-qv__x{
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  width: auto;
  height: auto;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  color: rgba(0,0,0,.45);
  font-weight: 300;
  opacity: 1;
}
.cmc-inline-qv__x:hover{
  color: rgba(0,0,0,.65);
}
.cmc-inline-qv__x:focus{ outline: none; }


/* stan ładowania */
.cmc-inline-qv__body.is-loading{
  opacity: .6;
  pointer-events:none;
}

/* ====== “Wybrany rozmiar” / buttony rozmiarów ======
   Cel: wygląd jak w Twoim screenie – proste kafelki S/M/L.
   Działa zarówno dla <select>, jak i dla swatches (jeśli są).
*/

/* jeśli Woo zwróci tabelę wariantów, zrób ją bardziej “czystą” */
.cmc-inline-qv .variations{
  margin: 0;
  border: 0;
}
.cmc-inline-qv .variations tr{
  display: block;
}
.cmc-inline-qv .variations th,
.cmc-inline-qv .variations td{
  display: block;
  padding: 0;
  border: 0;
}
.cmc-inline-qv .variations th.label{
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  color: #777;
}

/* ukryj “Wybierz opcję” / reset link (jakby się pojawił) */
.cmc-inline-qv .reset_variations{
  display: none !important;
}

/* select (gdyby nie było swatchy) */
.cmc-inline-qv .variations select{
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 12px;
  font-size: 13px;
  background: #fff;
}

/* swatche / buttony (różne wtyczki mają różne klasy, robimy “bezpiecznie”) */
.cmc-inline-qv .cvsw-swatches-container,
.cmc-inline-qv .cvsw-attribute-swatches,
.cmc-inline-qv .swatches,
.cmc-inline-qv .variable-items-wrapper{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

/* pojedynczy “kafelek” rozmiaru */
.cmc-inline-qv .cvsw-swatch,
.cmc-inline-qv .swatch,
.cmc-inline-qv .variable-item{
  min-width: 54px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  color: #111;
  cursor: pointer;
  user-select: none;
  box-shadow: none;
  margin: 0 !important;
}

/* hover */
.cmc-inline-qv .cvsw-swatch:hover,
.cmc-inline-qv .swatch:hover,
.cmc-inline-qv .variable-item:hover{
  border-color: rgba(0,0,0,.22);
}

/* active / selected (różne klasy – łapiemy kilka) */
.cmc-inline-qv .cvsw-swatch.cvsw-selected,
.cmc-inline-qv .swatch.selected,
.cmc-inline-qv .variable-item.selected,
.cmc-inline-qv .variable-item[aria-checked="true"]{
  border-color: rgba(0,0,0,.35);
}

/* disabled / out of stock */
.cmc-inline-qv .cvsw-swatch.cvsw-disabled,
.cmc-inline-qv .swatch.disabled,
.cmc-inline-qv .variable-item.disabled,
.cmc-inline-qv .variable-item.is-disabled{
  opacity: .45;
  cursor: not-allowed;
}

/* komunikaty Woo też chowamy (panel ma być czysty) */
.cmc-inline-qv .woocommerce-notices-wrapper,
.cmc-inline-qv .woocommerce-message,
.cmc-inline-qv .woocommerce-error,
.cmc-inline-qv .woocommerce-info{
  display: none !important;
}
.cmc-inline-qv__body{
  position: relative;
  min-height: 56px; /* ważne: żeby było miejsce na loader zanim wpadnie HTML */
}

.cmc-inline-qv__body.is-loading{
  opacity: .65;
}

.cmc-inline-qv__body.is-loading::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width: 18px;
  height: 18px;
  margin-left:-9px;
  margin-top:-9px;
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.16);
  border-top-color: rgba(0,0,0,.38);
  animation: cmcSpin .7s linear infinite;
  z-index: 2;
}

@keyframes cmcSpin { to { transform: rotate(360deg); } }


/* ===== CMC inline QV: animacje wejścia/wyjścia ===== */
.cmc-inline-qv{
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .12s ease;
  will-change: opacity, transform;
}

.cmc-inline-qv.is-open{
  opacity: 1;
  transform: translateY(0);
}

.cmc-inline-qv.is-closing{
  opacity: 0;
  transform: translateY(6px);
}

/* jeżeli hostem jest .product-buy albo element węższy niż zdjęcie */
.product-item .cmc-inline-qv,
li.product .cmc-inline-qv,
.product .cmc-inline-qv{
  left: 0;
  right: 0;
}

/* nagłówek też bez zaokrągleń */
.cmc-inline-qv__head{
  border-radius: 0;
}

/* jeśli wcześniej był cień – zdejmujemy go też przy animacjach */
.cmc-inline-qv.is-open,
.cmc-inline-qv.is-closing{
  box-shadow: none;
}


/* Label */
.cmc-inline-qv__body tr .label{
	display:none;
	
}


/* Inline  title */
.cmc-inline-qv .cmc-inline-qv__head .cmc-inline-qv__title{
	color:#444;
	font-size:12px;
	
}

/* Inline */
.append-class .slick-list .cmc-inline-qv{
	padding-bottom:0px;
}

/* Cvsw lowdot */
.cmc-inline-qv__body .cvsw-lowstock-legend .cvsw-lowdot{
	width:6px !important;
	height:6px !important;
}

/* Cvsw lowstock text */
.cmc-inline-qv__body tr .cvsw-lowstock-text{
	font-size:11.2px;
	
}


/* host = zdjęcie */
.product-item-inner.grid .product-image{
  position: relative;
}



/* panel ma leżeć NA zdjęciu, nie pod nim */
.product-item-inner.grid .product-image > .cmc-inline-qv{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;

  z-index: 50 !important;
  box-shadow: none !important;
}

/* żeby panel nie “wychodził” poza krawędzie zdjęcia (opcjonalnie) */
.product-item-inner.grid .product-image{
  overflow: hidden;
}


/* subtelna linia pod nagłówkiem */
.cmc-inline-qv__head{
  padding-bottom: 8px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}



/* zmniejsz odstęp pod komunikatem stock */
.cmc-inline-qv .stock,
.cmc-inline-qv .woocommerce-variation-availability,
.cmc-inline-qv .woocommerce-variation-availability p{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


.cmc-inline-qv .cvsw-swatches-container,
.cmc-inline-qv .variable-items-wrapper{
  gap: 8px; /* było ~10 */
}


/* Value */
.cmc-inline-qv__body tr .value{
	padding-bottom:0px!important;
	
}


/* 7) mniej powietrza na dole */
.cmc-inline-qv{
  padding-bottom: 8px !important;
}
.cmc-inline-qv .stock,
.cmc-inline-qv .woocommerce-variation-availability,
.cmc-inline-qv .woocommerce-variation-availability p{
  margin: 4px 0 0 !important;
  padding: 0 !important;
}

/* =========================================================
   CMC inline QV – przyciemnienie zdjęcia po otwarciu panelu
========================================================= */

/* wrapper zdjęcia musi być punktem odniesienia */
.product-item-inner.grid .product-image{
  position: relative;
}

/* overlay */
.product-item-inner.grid .product-image::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.28); /* delikatne przyciemnienie */
  opacity: 0;
  transition: opacity .18s ease-out;
  pointer-events: none;
  z-index: 1;
}

/* gdy panel jest otwarty */
.product-item-inner.grid .product-image.cmc-dimmed::after{
  opacity: 1;
}

/* panel ma być NAD overlayem */
.product-item-inner.grid .product-image .cmc-inline-qv{
  position: absolute;
  z-index: 2;
}

/* Value */
.cmc-inline-qv__body tr .value{
	padding-bottom:0px;
}

/* Cvsw item */
.cmc-inline-qv__body .variations_form .variations tbody tr .value .cvsw-wrap .cvsw .cvsw-items .cvsw-item{
	min-width:3px !important;
	font-weight:600 !important;
	color:#555 !important;
	border-bottom-right-radius:6px !important;
	border-bottom-left-radius:6px !important;
	border-top-right-radius:6px !important;
	border-top-left-radius:6px !important;
	height:32px !important;
}

/* Inline */
.append-class .slick-list .cmc-inline-qv{
  height: auto !important;
}

/* Span Tag */
.cmc-inline-qv__body .variations_form .single_variation_wrap .wpcsm-message .elementor .elementor-element .elementor-widget-button .elementor-widget-container .elementor-button-wrapper .elementor-button-link .elementor-button-content-wrapper span{
	display:none;
}

/* na wszelki wypadek: panel ma się rozciągać */
.product-item-inner.grid .product-image > .cmc-inline-qv{
  height: auto !important;
  max-height: none !important;
}
/* Cvsw items */
.cmc-inline-qv__body tr .cvsw-items{
	gap: 6px;
}

/* Cvsw */
.cmc-inline-qv__body tr .cvsw{
	padding-left:5px;
	padding-right:5px;
}


/* Cvsw item */
.cmc-inline-qv__body tr .cvsw-item{
	
}

	/* Cvsw item */
	.append-class .products-tab .slick-initialized .slick-list .slick-track .product-item .product-item-inner .product-image .cmc-inline-qv .cmc-inline-qv__body .variations_form .variations tbody tr .value .cvsw-wrap .cvsw .cvsw-items .cvsw-item{
		font-size:10.8px !important;
	
}

/* panel ma lee NA zdjciu, nie pod nim */
.product-item-inner.grid .product-image > .cmc-inline-qv{
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	border-radius: 0 !important;
	z-index: 50 !important;
	box-shadow: none !important;
}

/* wrapper zdjcia musi by punktem odniesienia */
.product-item-inner.grid .product-image{
	overflow: hidden;
	position: relative;
}

/* subtelna linia pod nagwkiem */
.cmc-inline-qv__head{
	padding-bottom: 8px;
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(0,0,0,.08);
}

.cmc-inline-qv .stock,.cmc-inline-qv .woocommerce-variation-availability,.cmc-inline-qv .woocommerce-variation-availability p{
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
}

.cmc-inline-qv .cvsw-swatches-container,.cmc-inline-qv .variable-items-wrapper{
	gap: 8px;
}

/* Value */
.cmc-inline-qv__body tr .value{
	padding-bottom:0px!important;
	padding-bottom:0px;
}

/* 7) mniej powietrza na dole */
.cmc-inline-qv{
	padding-bottom: 8px !important;
}

/* overlay */
.product-item-inner.grid .product-image::after{
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.28);
	opacity: 0;
	transition: opacity .18s ease-out;
	pointer-events: none;
	z-index: 1;
}

/* gdy panel jest otwarty */
.product-item-inner.grid .product-image.cmc-dimmed::after{
	opacity: 1;
}

/* panel ma by NAD overlayem */
.product-item-inner.grid .product-image .cmc-inline-qv{
	position: absolute;
	z-index: 2;
}

/* Cvsw item */
.cmc-inline-qv__body .variations_form .variations tbody tr .value .cvsw-wrap .cvsw .cvsw-items .cvsw-item{
	min-width:3px !important;
	font-weight:600 !important;
	color:#555 !important;
	border-bottom-right-radius:6px !important;
	border-bottom-left-radius:6px !important;
	border-top-right-radius:6px !important;
	border-top-left-radius:6px !important;
	height:32px !important;
}

/* Inline */
.append-class .slick-list .cmc-inline-qv{
	height:183px!important;
}

/* Cvsw items */
.cmc-inline-qv__body tr .cvsw-items{
	gap: 6px;
}

/* Cvsw */
.cmc-inline-qv__body tr .cvsw{
	padding-left:5px;
	padding-right:5px;
}

/* Cvsw item */
.append-class .products-tab .slick-initialized .slick-list .slick-track .product-item .product-item-inner .product-image .cmc-inline-qv .cmc-inline-qv__body .variations_form .variations tbody tr .value .cvsw-wrap .cvsw .cvsw-items .cvsw-item{
	width:32px !important;
	font-size:10.8px !important;
}

/* domylnie ukryj badge */
.cmc-inline-qv__body .cvsw-item .cvsw-lowdot{
	display:none !important;
}

/* zamie kropk w legendzie na kresk */
.cmc-inline-qv__body .cvsw-lowstock-legend .cvsw-lowdot{
	width: 9px !important;
	height: 1.5px !important;
	border-radius: 999px !important;
	background: rgba(107,43,43,.45) !important;
	margin-right: 0px !important;
}

/* baza */
.cmc-inline-qv__body .cvsw-item{
	position: relative !important;
}

/* low stock  subtelna kreska pod */
.cmc-inline-qv__body .cvsw-item.is-lowstock::after{
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	bottom: 5px !important;
	width: 12px !important;
	height: 1.5px !important;
	transform: translateX(-50%) !important;
	border-radius: 999px !important;
	background: rgba(107,43,43,.45) !important;
	pointer-events: none !important;
}



/* ================================
   CMC – MOBILE QV (wybór rozmiaru w drawerze)
================================ */

/* QV wrapper */
#cmc-root .cmc-qv{
  padding: 14px 14px 16px;
}

#cmc-root .cmc-qv-title{
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .2px;
  margin: 2px 0 12px;
}

/* Loader – jak masz spinner */
#cmc-root .cmc-qv-body.is-loading{
  position: relative;
  min-height: 84px;
}
#cmc-root .cmc-qv-body.is-loading .cmc-qv-loader{
  display: flex;
}
#cmc-root .cmc-qv-loader{
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px 0;
}

/* Formularz wariantów w QV */
#cmc-root .cmc-qv form.variations_form{
  margin: 0;
}

/* Ukryj zbędne elementy, jeśli coś się jeszcze pojawi */
#cmc-root .cmc-qv .woocommerce-notices-wrapper,
#cmc-root .cmc-qv .woocommerce-message,
#cmc-root .cmc-qv .woocommerce-error,
#cmc-root .cmc-qv .woocommerce-info,
#cmc-root .cmc-qv .reset_variations,
#cmc-root .cmc-qv .single_variation,
#cmc-root .cmc-qv .quantity{
  display: none !important;
}

/* Tabela wariantów -> zrób z niej “blok” */
#cmc-root .cmc-qv form.variations_form table.variations{
  width: 100%;
  border: 0;
  margin: 0 0 14px;
}
#cmc-root .cmc-qv form.variations_form table.variations th,
#cmc-root .cmc-qv form.variations_form table.variations td{
  padding: 0;
  border: 0;
}

/* Jeśli masz labelkę atrybutu, delikatnie */
#cmc-root .cmc-qv form.variations_form table.variations th label{
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 8px;
}

/* CVSW swatche – mniejsze i gęstsze */
#cmc-root .cmc-qv .cvsw-items{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
}

#cmc-root .cmc-qv tr.cvsw-item{
  margin: 0 !important;
  padding: 0 !important;
}

/* Każdy kafelek rozmiaru */
#cmc-root .cmc-qv .cvsw-item .cvsw-item-span{
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

/* Selected – czytelniej */
#cmc-root .cmc-qv tr.cvsw-item.cvsw-selected .cvsw-item-span{
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.12);
}

/* Disabled – bardziej “wyciszone” */
#cmc-root .cmc-qv tr.cvsw-item.cvsw-disabled .cvsw-item-span{
  opacity: .35;
}

/* Przycisk add to cart w QV */
#cmc-root .cmc-qv .single_variation_wrap{
  margin-top: 14px;
}
#cmc-root .cmc-qv .single_add_to_cart_button{
  width: 100% !important;
  display: block !important;
  border-radius: 14px;
  min-height: 46px;
  font-size: 14px;
  font-weight: 600;
}

/* Disabled (brak rozmiaru) */
#cmc-root .cmc-qv .single_add_to_cart_button[disabled],
#cmc-root .cmc-qv .single_add_to_cart_button.disabled{
  opacity: .45 !important;
  cursor: not-allowed !important;
}

/* Loading */
#cmc-root .cmc-qv .single_add_to_cart_button.is-loading{
  opacity: .75 !important;
  pointer-events: none !important;
}

/* ================================
   CMC – tryb QV: chowamy footer i elementy koszyka
================================ */

#cmc-root.cmc-view-qv .cmc-foot,
#cmc-root.cmc-view-qv .fbt-global-note{
  display: none !important;
}

/* gdyby coś z totalsów było poza .cmc-foot (na wszelki wypadek) */
#cmc-root.cmc-view-qv .cmc-totals,
#cmc-root.cmc-view-qv .cmc-actions,
#cmc-root.cmc-view-qv .cmc-freebar{
  display: none !important;
}

/* CMC drawer – mobile bez zaokrągleń */
@media (max-width: 991px){
  #cmc-root .cmc-drawer{
    border-radius: 0 !important;
  }

  /* jeśli coś w środku ma radius */
  #cmc-root .cmc-head,
  #cmc-root .cmc-body,
  #cmc-root .cmc-foot{
    border-radius: 0 !important;
  }
}
/* ================================
   CMC QV – loader overlay podczas ładowania
================================ */

/* body jako kontener dla overlay */
#cmc-root .cmc-qv-body{
  position: relative;
}

/* overlay */
#cmc-root .cmc-qv-body.is-loading::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(2px);
  z-index: 5;
}

/* loader centrowany */
#cmc-root .cmc-qv-body.is-loading .cmc-qv-loader{
  display: flex !important;
  position: absolute;
  inset: 0;
  align-items: center;
  justify-content: center;
  z-index: 6;
}

/* blokada interakcji */
#cmc-root .cmc-qv-body.is-loading{
  pointer-events: none;
  min-height: 180px;
}

/* spinner */
#cmc-root .cmc-qv-spinner{
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.18);
  border-top-color: rgba(0,0,0,.55);
  animation: cmcSpin .75s linear infinite;
}

@keyframes cmcSpin{
  to{ transform: rotate(360deg); }
}


/* ================================
   CMC – dynamiczna wysokość drawer (mobile)
================================ */

@media (max-width: 991px){

  /* DOMYŚLNIE – pełny koszyk */
  #cmc-root .cmc-drawer{
    height: 90vh;
    max-height: 90vh;
    transition: height .28s ease, max-height .28s ease;
  }

  /* TRYB QV – wybór rozmiaru (niższy drawer) */
  #cmc-root.cmc-view-qv .cmc-drawer{
    height: auto;
    max-height: 50vh;
  }

  /* body ma się przewijać tylko gdy trzeba */
  #cmc-root .cmc-body{
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

}
@media (max-width: 991px){
  #cmc-root.cmc-view-qv .cmc-drawer{
    box-shadow: 0 -8px 24px rgba(0,0,0,.12);
  }
}


/* ================================
   CMC QV – ukrycia TYLKO NA MOBILE
================================ */

@media (max-width: 991px){

  /* Label w tabeli wariantów */
  #cmc-root .cmc-qv-body tr .label{
    display: none !important;
  }

  /* Button wrapper (Elementor) */
  #cmc-root .cmc-qv-body .elementor .elementor-button-wrapper{
    display: none !important;
  }


	/* Button */
	.cmc-qv-body .variations_form .single_add_to_cart_button{
		border-top-left-radius:0px !important;
		border-top-right-radius:0px !important;
		border-bottom-left-radius:0px !important;
		border-bottom-right-radius:0px !important;
		
	}
	

	/* Title */
	#cmc-root .cmc-drawer .cmc-body .cmc-qv .cmc-qv-title{
		font-size:14px !important;
	}
	
	/* Body */
	#cmc-root .cmc-drawer .cmc-body{
		padding-left:8px;
		padding-right:8px;
	}
	
	/* Header */
	#cmc-root .cmc-drawer header{
		padding-left:20px;
		
	}
}

	/* Button */
	.cmc-drawer .cmc-head .cmc-x{
		background-color:rgba(0,0,0,0) !important;
		border-style:none !important;
	}


#cmc-root[data-cmc-mode="cart"] [data-cmc-added],
#cmc-root[data-cmc-mode="cart"] .cmc-added{
  display:none !important;
}


/* Button wrapper */
.cmc-inline-qv__body .elementor .elementor-button-wrapper{
	display:none;
}

/* Button */
.cmc-inline-qv__body .variations_form .single_add_to_cart_button{
	margin-top:0px;
	margin-bottom:5px;
	border-top-left-radius:12px;
	border-top-right-radius:12px;
	border-bottom-left-radius:12px;
	border-bottom-right-radius:12px;
	height:45px;
	
}

/* Span Tag */
.cmc-inline-qv__body .single_add_to_cart_button span{
	color:#ffffff!important;
	font-size:11.5px!important;
}

/* Coupon fields */
.cmc-inline-qv__body .variations_form .pdf-coupon-fields{
	display:none;
}


	/* Button */
	.append-class .products-tab .slick-initialized .slick-list .slick-track .product-item .product-item-inner .cmc-dimmed .cmc-inline-qv .cmc-inline-qv__body .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button{
		width:100% !important;
	}
	
	/* Quantity wrap */
	.cmc-inline-qv__body .variations_form .jws-quantity-wrap{
		display:none;
	}
	


#cmc-root .cmc-rec--addons .woocommerce-loop-product__title a{
  line-height: 1em !important;
}


/* QV (inline + drawer) – disabled Add to cart */
.cmc-inline-qv .single_add_to_cart_button[disabled],
#cmc-root .cmc-qv .single_add_to_cart_button[disabled],
.cmc-inline-qv .single_add_to_cart_button.is-disabled,
#cmc-root .cmc-qv .single_add_to_cart_button.is-disabled{
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}


/* =========================================
   CMC – Skeleton dla "Dodano do koszyka"
   Pokazuje się gdy root ma klasę .cmc-is-reloading
========================================= */

#cmc-root .cmc-added{ position: relative; }

/* Gdy ładujemy stan, ukryj realny content "Dodano..." */
.cmc-is-reloading #cmc-root .cmc-added .cmc-added-product,
.cmc-is-reloading #cmc-root .cmc-added .cmc-added-attrs,
.cmc-is-reloading #cmc-root .cmc-added .cmc-added-line,
.cmc-is-reloading #cmc-root .cmc-added .cmc-added-name{
  visibility: hidden;
}

.cmc-is-reloading #cmc-root .cmc-added::before{
  content:"";
  position:absolute;
  left: 16px;
  right: 16px;
  top: 44px;
  height: 72px;
  pointer-events:none;
  border-radius: 0;          /* ważne: nie robi klocka */
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.65) 50%,
    rgba(255,255,255,0) 100%
  );
  background-size: 220px 100%;
  animation: cmcSkelShimmer 1s linear infinite;
  opacity: .6;
  z-index: 2;
}
.cmc-is-reloading #cmc-root .cmc-added::after{
  left: 16px;
  right: 16px;
  top: 44px;
  height: 72px;
  border-radius: 0;          /* ważne:  */
  z-index: 1;
}


/* Delikatne “kształty”: miniaturka + 2 linie tekstu */
.cmc-is-reloading #cmc-root .cmc-added::after{
  content:"";
  position:absolute;
  left:0; right:0;
  top: 38px;
  height: 86px;
  pointer-events:none;

  background:
    /* thumb */
    linear-gradient(rgba(0,0,0,.10), rgba(0,0,0,.10)) 0 10px / 64px 64px no-repeat,
    /* line 1 */
    linear-gradient(rgba(0,0,0,.10), rgba(0,0,0,.10)) 78px 12px / 60% 12px no-repeat,
    /* line 2 */
    linear-gradient(rgba(0,0,0,.10), rgba(0,0,0,.10)) 78px 34px / 40% 10px no-repeat,
    /* line 3 (atrybut) */
    linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.08)) 78px 54px / 35% 10px no-repeat;

  border-radius: 12px;
  opacity: .65;
}

@keyframes cmcSkel{
  0%{ background-position: -240px 0; }
  100%{ background-position: 240px 0; }
}

/* =========================================
   CMC – skeleton (tylko elementy)
========================================= */

#cmc-root .cmc-skel{ position: relative; overflow: hidden; }
#cmc-root .cmc-skel::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,.04) 0%,
    rgba(0,0,0,.08) 35%,
    rgba(0,0,0,.04) 70%
  );
  background-size: 260px 100%;
  animation: cmcSkelShimmer 1.05s ease-in-out infinite;
  pointer-events:none;
}

@keyframes cmcSkelShimmer{
  0%{ transform: translateX(-60%); }
  100%{ transform: translateX(60%); }
}


#cmc-root .cmc-skel-thumb{
  width: 64px;
  height: 82px;
  border-radius: 10px;
  background: rgba(0,0,0,.06);
  position: relative;
  overflow: hidden;
}

#cmc-root .cmc-skel-lines{ display:flex; flex-direction:column; gap:10px; padding-top:2px; }
#cmc-root .cmc-skel-line{
  height: 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  position: relative;
  overflow: hidden;
}
#cmc-root .cmc-skel-line.sm{ height: 10px; opacity: .9; }
#cmc-root .cmc-skel-line.xs{ height: 10px; width: 45%; opacity: .75; }
#cmc-root .cmc-skel-line.w60{ width: 60%; }
#cmc-root .cmc-skel-line.w40{ width: 40%; }

#cmc-root .cmc-skel-circle{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  position: relative;
  overflow: hidden;
}

/* karta skeleton w "Dodano do koszyka" */
#cmc-root .cmc-added .cmc-added-product.cmc-skel-wrap{
  display:grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  margin-top: 12px;
}

#cmc-root .cmc-item.cmc-skel-item{
  display:grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  padding: 18px 0;          /* było 14px – lepiej oddycha */
}

/* pierwszy skeleton = więcej powietrza od góry body */
#cmc-root .cmc-list > .cmc-item.cmc-skel-item:first-child{
  margin-top: 8px;
}

#cmc-root .cmc-item.cmc-skel-item + .cmc-item.cmc-skel-item{
  border-top: 1px solid rgba(0,0,0,.06);
}

/* skeleton w polecanych (kafelki poziome) */
#cmc-root .cmc-rec-row .cmc-skel-rec,
#cmc-root .cenesti-rec-row .cmc-skel-rec{
  flex: 0 0 30%;
  max-width: 30%;
  height: auto;
  aspect-ratio: 3 / 4 !important;/* 🔒 to jest klucz */
  border-radius: 12px;
  background: rgba(0,0,0,.05);
  position: relative;
  overflow: hidden;
}

/* "Dodano do koszyka": Rozmiar + Ilość w jednej linii, cena pod spodem */
#cmc-root .cmc-added-row{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 2px;
}

#cmc-root .cmc-added-attrs{
  flex: 1 1 auto;
  min-width: 0;
  margin: 0; /* było sterowane przez marginy w innych miejscach */
}

/* jeśli atrybuty są w kilku liniach, niech się ładnie zawijają */
#cmc-root .cmc-added-attrs div{
  margin: 0;
  line-height: 1.35;
}

#cmc-root .cmc-added-qty{
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 11px;
  color: rgba(95,85,79,.75);
}


#cmc-root .cmc-added-price{
  margin-top: 6px;
  font-size: 11px!important;         /* 1px mniejsze */
  font-weight: 600;
  line-height: 1.2;
  color: rgba(0,0,0,.65);
}



/* Added */
#cmc-root .cmc-drawer .cmc-body .cmc-cartview .cmc-added{
	padding-left:8px !important;
	padding-right:8px !important;
	padding-top:10px !important;
}

/* List Item */
.cmc-cartview .cmc-list li{
	padding-left:8px !important;
}

/* List */
.cmc-body .cmc-cartview ul{
	margin-top:-15px !important;
}

/* w trakcie ładowania nie pokazuj empty-state */
.cmc-is-reloading #cmc-root .cmc-empty,
.cmc-is-reloading #cmc-root [data-cmc-empty],
.cmc-is-reloading #cmc-root .woocommerce-mini-cart__empty-message{
  display:none !important;
}


.cmc-is-reloading #cmc-root .cmc-drawer::after{
  display:none !important;
}


/* Wyłącz spinner/overlay w trakcie reloading – zostawiamy tylko skeletony */
.cmc-is-reloading #cmc-root .cmc-drawer::before,
.cmc-is-reloading #cmc-root .cmc-drawer::after{
  display:none !important;
  content:none !important;
}

/* 1) host dla pseudo-elementu */
#cmc-root .cmc-added{
  position: relative;
}

/* Skeleton "Dodano..." bez klocka, ale z delikatnym radius */
.cmc-is-reloading #cmc-root .cmc-added::before{
  display:none !important;
  content:none !important;
}

.cmc-is-reloading #cmc-root .cmc-added::after{
  border-radius: 10px;      /* tu ustaw ile chcesz: 8–12px */
  overflow: hidden;         /* ważne: żeby gradienty nie wystawały */
}

/* CENESTI ADD-ONS – karuzela w mini-koszyku (HTML z [cenesti_addons]) */
#cmc-root .cenesti-addons{
  margin-top: 0 !important;
}

#cmc-root .cenesti-addons > ul.products{
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  gap: 14px;

  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;

  scroll-snap-type: x mandatory;
  scroll-padding-left: 2px;

  scrollbar-width: none;
}
#cmc-root .cenesti-addons > ul.products::-webkit-scrollbar{ display:none; }

#cmc-root .cenesti-addons > ul.products > li.product{
  flex: 0 0 38%;
  max-width: 38%;
  scroll-snap-align: start;
  margin: 0 !important;
  list-style:none;
}


@media (min-width: 768px){
  #cmc-root .cenesti-addons > ul.products > li.product{
    flex-basis: 46%;
    max-width: 46%;
  }
}

/* Awl label text */
.cenesti-addons .product-item .awl-label-text{
	display:none !important;
}

/* Link */
.cenesti-addons .woocommerce-loop-product__title a{
	color:#333 !important;
	font-size:11.8px;
}

/* Product image */
.cenesti-addons .product-item .product-image{
	border-top-left-radius:11px;
	border-top-right-radius:11px;
	border-bottom-left-radius:11px;
	border-bottom-right-radius:11px;
	margin-bottom:4px !important;
}

/* Bdi */
.cenesti-addons .price bdi{
	color:#555;
	font-size:10.9px;
	font-weight:600;
}

/* Link */
#cmc-root .cmc-drawer .cmc-body .cmc-cartview .cmc-added .cmc-added-rec .cmc-rec-row .cenesti-addons .products-wrap .product-item .product-item-inner .woocommerce-loop-product__title a{
	line-height:1em !important;
}

#cmc-root .cmc-rec--addons .cmc-rec-title{
  font-size: 13.5px !important;
  color: #545454 !important;
}



#cmc-root .cenesti-addons .products,#cmc-root .cenesti-addons .products-wrap{
	gap: 0px !important;
}

/* Jeli motyw nie uywa gap, tylko margin na itemach */
#cmc-root .cenesti-addons .product-item{
	margin-right: 0px !important;
}

/* I eby nie robi odstpu po ostatnim */
#cmc-root .cenesti-addons .product-item:last-child{
	margin-right: 0 !important;
}

/* Delikatnie wiksze kafelki (mini-koszyk) */
#cmc-root .cmc-rec--addons .cenesti-addons .product-item{
	flex: 0 0 72% !important;
	max-width: 72% !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto !important;
}

/* Wlfmc custom */
.cenesti-addons .wlfmc-addtowishlist .wlfmc-custom-btn{
	display:none !important;
}
#cmc-root .cmc-added-rec .cenesti-addons .products-wrap,
#cmc-root .cmc-rec--addons .cenesti-addons .products-wrap{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
	justify-content: flex-start !important;
}

#cmc-root .cmc-rec--addons .cmc-rec-row{
  display: flex !important;
  gap: 14px !important;
  overflow-x: auto !important;
  padding-bottom: 8px !important;
}




/* baza: działa zawsze */
#cmc-root .cmc-added-rec{
  padding-top: 0;
}

/* tylko gdy rec jest na dole (normalne otwarcie koszyka) */
#cmc-root .cmc-added-rec.cmc-rec-bottom{
  margin-top: 14px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.06);
}


/* Added meta */
.cmc-added .cmc-added-product .cmc-added-meta{
	padding-bottom:40px;
	
}

/* Added product */
.cmc-cartview .cmc-added .cmc-added-product{
	padding-top:10px!important;
	
}



/* 768px and larger screen sizes */
@media (min-width: 768px){

	/* Delikatnie wiksze kafelki (mini-koszyk) */
	#cmc-root .cmc-rec--addons .cenesti-addons .product-item{
		flex-basis: 30% !important;
		max-width: 30% !important;
		gap: 0px!important;
	}
	
}

/* FIX: skeleton + rec-row layout */
#cmc-root .cmc-added-rec .cmc-rec-row{
  display: flex !important;
  gap: 14px !important;
  overflow-x: auto !important;
  padding-bottom: 8px !important;
}

/* FIX: add-ons – jeden “source of truth” dla szerokości kafelka */
#cmc-root .cmc-rec--addons .cenesti-addons .product-item{
  flex: 0 0 80% !important;     /* delikatnie większe, ale nie giganty */
  max-width: 80% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Desktop: 2–3 w rzędzie (dopasuj) */
@media (min-width: 768px){
  #cmc-root .cmc-rec--addons .cenesti-addons .product-item{
    flex: 0 0 46% !important;
    max-width: 46% !important;
  }
}

/* FIX: usuń wymuszanie stałej szerokości inner (to robi “korytarze”) */
#cmc-root .cenesti-addons .products .product-item-inner{
  width: auto !important;
}



#cmc-root .cmc-rec--addons .cenesti-addons > ul.products{
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

#cmc-root .cmc-added-rec .cenesti-addons > ul.products > *{
  scroll-snap-align: start;
}

#cmc-root .cmc-added-rec .cenesti-addons > ul.products{
  cursor: grab;
}
#cmc-root .cmc-added-rec .cenesti-addons > ul.products.is-dragging{
  cursor: grabbing;
  user-select: none;
}


/* 768px and larger screen sizes */
@media (min-width: 768px){

	/* Delikatnie wiksze kafelki (mini-koszyk) */
	#cmc-root .cmc-rec--addons .cenesti-addons .product-item{
		flex-basis: 30% !important;
		max-width: 30% !important;
		gap: 0px!important;
	}
	
}



/* Added thumb */
.cmc-added .cmc-added-product .cmc-added-thumb{
	border-top-left-radius:6px !important;
	border-top-right-radius:6px !important;
	border-bottom-left-radius:6px !important;
	border-bottom-right-radius:6px !important;
	
}

/* Added thumb */
#cmc-root .cmc-drawer .cmc-body .cmc-cartview .cmc-added .cmc-added-product .cmc-added-thumb{
	width:100% !important;
	height:82px !important;
}


.cmc-item.is-removing {
  opacity: 0.35;
  pointer-events: none;
  transition: opacity .15s ease;
}
.cmc-item.is-removing {
  display: none; /* jeśli wolisz: od razu znika */
}
.cmc-head__title{
  display:flex;
  align-items:center;
  gap:2px;
}

.cmc-head-badge{
  min-width: 18px;
  height: 18px;
  padding: 0 3px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 10px;
  line-height: 1;
  font-weight: 600;

  background: #111;
  color: #fff;

  transform: translateY(-2px); /* opcjonalnie: lekko do góry */

}

/* gdy polecane jest przeniesione na dół (normalny koszyk), nie dawaj spacingu z sekcji "Dodano" */
#cmc-root.cmc-mode-cart .cmc-added{
  margin: 0;
  padding: 0;
}


/* =========================================================
   Polecane na dole – zachowaj styling nawet po przeniesieniu z .cmc-added
========================================================= */

/* kontener sekcji na dole */
#cmc-root .cmc-added-rec.cmc-rec-bottom{
  margin-top: 14px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.06);
}

/* tytuł */
#cmc-root .cmc-added-rec.cmc-rec-bottom .cmc-rec-title{
  font-size: 13.5px !important;
  color: #545454 !important;
  font-weight: 600;
  padding-top: 0 !important; /* bo miałaś padding-top:27px pod .cmc-added */
}

/* rząd z karuzelą */
#cmc-root .cmc-rec--addons .cmc-rec-row{
  display: flex !important;
  gap: 14px !important;
  overflow-x: auto !important;
  padding-bottom: 8px !important;
  padding-left: 18px;
  padding-right: 18px;
}

/* add-ons w polecanych (kafelki) */
#cmc-root .cmc-added-rec.cmc-rec-bottom .cenesti-addons .products-wrap{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}

/* szerokości kafelków jak wcześniej */
#cmc-root .cmc-added-rec.cmc-rec-bottom .cenesti-addons .product-item{
  flex: 0 0 80% !important;
  max-width: 80% !important;
  margin: 0 !important;
  padding: 0 !important;
}


  #cmc-root .cmc-added-rec.cmc-rec-bottom .cenesti-addons .product-item{
    flex: 0 0 46% !important;
    max-width: 46% !important;
  }



/* Gdy polecane jest przeniesione na dół (normalne otwarcie koszyka),
   wyłącz separator z sekcji "Dodano..." */
#cmc-root.cmc-mode-cart .cmc-added::after{
  content: none !important;
  display: none !important;
}


/* Polecane na dole: desktop 30% kafelki */

  #cmc-root .cmc-added-rec.cmc-rec-bottom .cenesti-addons .product-item{
    flex: 0 0 30% !important;
    max-width: 30% !important;
  }


#cmc-root.cmc-mode-cart .cmc-added{
  margin: 0 !important;
  padding: 0 !important;
}

/* ================================
   MOBILE QV – loader na Dodaj do koszyka
   (konkretny selector z inspectora)
================================ */

#cmc-root.cmc-view-qv 
button.single_add_to_cart_button.button.alt.is-loading{
  position: relative;
  pointer-events: none;
  opacity: .9;
}

/* ukryj tekst podczas loadingu (żeby spinner był czytelny) */
#cmc-root.cmc-view-qv 
button.single_add_to_cart_button.button.alt.is-loading > span{
  visibility: hidden;
}

/* spinner NA ŚRODKU przycisku */
#cmc-root.cmc-view-qv 
button.single_add_to_cart_button.button.alt.is-loading::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  margin-top: -8px;
  border-radius: 50%;
  border: 1px solid #fff;
  border-right-color: transparent;
  animation: cmcSpin .7s linear infinite;
}

@keyframes cmcSpin{
  to { transform: rotate(360deg); }
}


/* QV view: ukryj badge/licznik przy tytule */
#cmc-root.cmc-view-qv [data-cmc-head-badge]{
  display: none !important;
}


/* =========================================================
   FIX: Polecane/Add-ons – spójne rozmiary kafelków
   (ostatni blok, żeby wygrał z wcześniejszymi duplikatami)
========================================================= */

/* MOBILE: niech nie będą “giganty” */
@media (max-width: 767px){
#cmc-root .cmc-rec--addons .cenesti-addons .product-item{
  flex:0 0 35% !important;
  max-width:35% !important;
}

  /* jeśli masz wymuszone 130px/auto, to to też porządkuje */
  #cmc-root .cenesti-addons .products .product-item-inner{
    width: auto !important;
  }
}

/* TABLET/DESKTOP: 2–3 w rzędzie */
@media (min-width: 768px){
  #cmc-root .cmc-added-rec .cenesti-addons .product-item,
  #cmc-root .cmc-added-rec.cmc-rec-bottom .cenesti-addons .product-item,
  #cmc-root .cenesti-addons > ul.products > li.product{
    flex: 0 0 30% !important;
    max-width: 30% !important;
  }
}

/* =========================================================
   MOBILE: CART jako bottom-sheet, ale TYLKO gdy drawer jest OTWARTY
   (i nigdy nie łamiemy hidden)
========================================================= */
@media (max-width: 767px){

  /* 1) Hidden ma zawsze wygrywać */
  #cmc-root .cmc-drawer[hidden],
  #cmc-root .cmc-backdrop[hidden]{
    display: none !important;
  }

  /* 2) Styl bottom-sheet tylko w stanie OPEN */
  #cmc-root.cmc-open.cmc-is-cartview .cmc-drawer{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    padding-bottom: env(safe-area-inset-bottom) !important;

    height: min(92vh, 860px) !important;
    max-height: 92vh !important;

    display: flex !important;
    flex-direction: column !important;

    /* UWAGA: nie wymuszaj translateY(0) globalnie, niech JS/animacje robią swoje */
  }

  #cmc-root.cmc-open.cmc-is-cartview .cmc-body{
    flex: 1 1 auto !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #cmc-root.cmc-open.cmc-is-cartview .cmc-foot{
    flex: 0 0 auto !important;
    position: sticky !important;
    bottom: 0 !important;
    padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
  }
}
#cmc-root .cmc-name-link{
  color: inherit;
  text-decoration: none;
}
#cmc-root .cmc-name-link:hover{
  text-decoration: underline; /* albo none */
}

#cmc-root .cmc-name-link{
  color: inherit;
  text-decoration: none;
}
#cmc-root .cmc-name-link:hover{
  text-decoration: underline;
}

/* jeśli owiniesz miniaturę */
#cmc-root .cmc-thumb-link{
  display:block;
  color: inherit;
}
#cmc-root .cmc-name-row{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
}

#cmc-root .cmc-name-link{
  color: inherit;
  text-decoration: none;
}

#cmc-root .cmc-name-link:hover{
  text-decoration: underline;
}

#cmc-root .cmc-name-row{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
}

#cmc-root .cmc-name-link{
  color: inherit;
  text-decoration: none;
}

#cmc-root .cmc-name-link:hover{
  text-decoration: underline;
}



/* (opcjonalnie) usuń underline nawet jeśli motyw go wymusza */
#cmc-root .cmc-name a::after,
#cmc-root a.cmc-name-link::after{
  text-decoration: none !important;
}

/* Mini-cart: link w nazwie produktu — JAŚNIEJSZY hover */
#cmc-root .cmc-name a,
#cmc-root a.cmc-name-link{
  color: rgba(0,0,0,.78);          /* baza: trochę ciemniej */
  text-decoration: none !important;
  transition: color .15s ease, opacity .15s ease;
}

/* hover / focus */
#cmc-root .cmc-name a:hover,
#cmc-root .cmc-name a:focus-visible,
#cmc-root a.cmc-name-link:hover,
#cmc-root a.cmc-name-link:focus-visible{
  color: rgba(0,0,0,.92);          /* hover: JAŚNIEJ */
  opacity: .95;
  text-decoration: none !important;
}
/* =========================================
   MINI CART – GROUPED CARDS (NO :has)
   Sklejanie nagłówka + itemów w jedną kartę
========================================= */

/* bazowo: dalej karty dla singli */
#cmc-root .cmc-list .cmc-item{
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 14px !important;
  padding: 20px !important;
  background: #fff !important;
  margin: 0 0 12px 0 !important;
}

/* header grupy = góra karty */
#cmc-root .cmc-list .cmc-item.cmc-group-head{
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
  border-radius: 14px 14px 0 0 !important;
  background: rgba(0,0,0,.015) !important;
}

/* itemy w grupie = środek karty (bez własnych marginesów) */
#cmc-root .cmc-list .cmc-item.cmc-group-item{
  margin: 0 !important;
  border-radius: 0 !important;
  border-left: 1px solid rgba(0,0,0,.10) !important;
  border-right: 1px solid rgba(0,0,0,.10) !important;
  border-top: 1px solid rgba(0,0,0,.06) !important; /* separator wewnątrz */
  border-bottom: 0 !important;
  background: #fff !important;
}


/* ostatni item w grupie: zamyka kartę */
#cmc-root .cmc-list .cmc-item.cmc-group-item.cmc-group-last{
  border-bottom: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 0 0 14px 14px !important;
  margin-bottom: 14px !important; /* odstęp między grupami */
}

/* usuń separator item+item z “clean list”, bo mamy karty */
#cmc-root .cmc-list .cmc-item + .cmc-item{
  border-top: 1px solid rgba(0,0,0,.04) !important;
}

/* FIX: górna krawędź karty dla zestawów (header) */
#cmc-root .cmc-list .cmc-item.cmc-group-head{
  border-top: 1px solid rgba(0,0,0,.10) !important;
}



/* tylko prawdziwe promo-boxy bez miniatury — NIE skeleton */
#cmc-root .cmc-item:not(.cmc-skel-item):not(:has(.cmc-thumb)){
  display: block !important;
  grid-template-columns: none !important;
}



/* === PROMO HEADER LAYOUT: title + pill w jednej linii, sub pod spodem === */

#cmc-root .cne-bundle-incomplete__left{
  display: grid !important;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "title pill"
    "sub   sub";
  column-gap: 6px; /* bliżej */
  row-gap: 4px;
}


/* przypisanie elementów do siatki */
#cmc-root .cne-bundle-incomplete__title{
  grid-area: title;
  margin: 0 !important;
}

#cmc-root .cne-bundle-incomplete__pill{
  grid-area: pill;
  white-space: nowrap;
  margin: 0 !important;
}

#cmc-root .cne-bundle-incomplete__text{
  grid-area: sub;
  margin: 0 !important;
}


/* === PROMO PILL = identyczny styl jak cenesti-bundle-badge === */

#cmc-root .cne-bundle-incomplete__pill{
  display: inline-block;
	padding-bottom:0px !important;
	padding-top:2px !important;
padding-left: 6px !important;
padding-right: 6px !important;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .2px;
  text-transform: uppercase;
  line-height: 1.4;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
  margin: 0 !important;
}

/* theme colors – dokładnie jak w badge */
#cmc-root .cenesti-pair-theme-1 .cne-bundle-incomplete__pill{
  background:#F2EFEC; border-color:#E6E1DC; color:#7B756E;
}
#cmc-root .cenesti-pair-theme-2 .cne-bundle-incomplete__pill{
  background:#EEF3EF; border-color:#D9E5DC; color:#5F6B63;
}
#cmc-root .cenesti-pair-theme-3 .cne-bundle-incomplete__pill{
  background:#F3F0EB; border-color:#E2D9CE; color:#6F655C;
}
#cmc-root .cenesti-pair-theme-4 .cne-bundle-incomplete__pill{
  background:#EFEFF4; border-color:#DCDDEA; color:#5F6174;
}
#cmc-root .cenesti-pair-theme-5 .cne-bundle-incomplete__pill{
  background:#F4EEEE; border-color:#E6D8D8; color:#6E5E5E;
}

/* === PROMO HEADER TYPOGRAFIA === */

/* Tytuł (np. „Uzyskano promocję”, „Dodaj produkt…”) */
#cmc-root .cne-bundle-incomplete__title{
  font-size: 12.8px;          /* lekko większy */
  font-weight: 600;           /* wyraźniejszy, ale nie ciężki */
  line-height: 1.35;
  letter-spacing: 0.1px;
  color: rgba(0,0,0,.78);
}

/* Subheader (opis pod spodem) */
#cmc-root .cne-bundle-incomplete__text{
  font-size: 11.5px;          /* mniejszy */
  font-weight: 500;
  line-height: 1.45;
  color: rgba(0,0,0,.48);     /* jasna szarość */
letter-spacing:0.22px;
}



/* Lewa kolumna: flex + wrap (żeby title i pill mogły być w 1 linii) */
#cmc-root .cmc-promo-box .cne-bundle-incomplete__left{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  column-gap: 10px !important;
  row-gap: 4px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}


#cmc-root .cmc-promo-box .cne-bundle-incomplete__pill{
  order: 2 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;

  /* styl kapsułki jak z Promocji */
  display: inline-block !important;
  padding: 1px 6px !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: .2px !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
}

/* sub zawsze w nowej linii pod spodem */
#cmc-root .cmc-promo-box .cne-bundle-incomplete__text{
  order: 3 !important;
  flex: 0 0 100% !important;
  margin: 0 !important;

  /* wygląd sub */
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: rgba(0,0,0,.52) !important;
}
/* =========================================================
   MINI CART – PROMO HEADER
   dynamiczne tło = kolor kapsułki (soft)
========================================================= */

/* 1) MAPOWANIE: theme → kolor kapsułki + soft background */
#cmc-root .cenesti-pair-theme-1{
  --cne-bundle-head-bg: rgba(242,239,236,.55); /* F2EFEC */
}
#cmc-root .cenesti-pair-theme-2{
  --cne-bundle-head-bg: rgba(238,243,239,.55); /* EEF3EF */
}
#cmc-root .cenesti-pair-theme-3{
  --cne-bundle-head-bg: rgba(243,240,235,.55); /* F3F0EB */
}
#cmc-root .cenesti-pair-theme-4{
  --cne-bundle-head-bg: rgba(239,239,244,.55); /* EFEFF4 */
}
#cmc-root .cenesti-pair-theme-5{
  --cne-bundle-head-bg: rgba(244,238,238,.55); /* F4EEEE */
}

/* 2) FAKTYCZNE UŻYCIE — header promo (leader) */
#cmc-root .cmc-promo-box{
  background: var(--cne-bundle-head-bg, #efeff4) !important;
}

/* Body */
#cmc-root .cmc-drawer .cmc-body{
	padding-top:35px!important;
	padding-bottom:20px!important;
padding-left:18px!important;
padding-right:18px!important;
	
}


/* 1) Tylko prawdziwe itemy koszyka (nie promo-boxy) */
#cmc-root .cmc-list li[data-cmc-item]{
	grid-template-columns: 84px 1fr !important;
	column-gap: 14px !important;
	align-items: start !important;
}

/* 2) Rozmiar boksu miniatury */
#cmc-root .cmc-list li[data-cmc-item] .cmc-thumb{
	width: 82px !important;
	height: 105px !important;
	flex: none !important;
}

/* 3) Link i obrazek maj wypenia boks */
#cmc-root .cmc-list li[data-cmc-item] a.cmc-thumb-link{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

/* Thumb */
.cmc-list .cmc-item .cmc-thumb{
	border-top-left-radius:8px !important;
	border-top-right-radius:8px !important;
	border-bottom-left-radius:8px !important;
	border-bottom-right-radius:8px !important;
	
}
/* MOBILE: lżej (żeby tekst miał miejsce) */
@media (max-width: 480px){
  #cmc-root .cmc-list li[data-cmc-item]{
    grid-template-columns: 72px 1fr !important;
    column-gap: 10px !important;
  }

  #cmc-root .cmc-list li[data-cmc-item] .cmc-thumb{
    width: 72px !important;
    height: 96px !important;
  }
}

/* bardzo małe telefony */
@media (max-width: 360px){
  #cmc-root .cmc-list li[data-cmc-item]{
    grid-template-columns: 66px 1fr !important;
    column-gap: 9px !important;
  }

  #cmc-root .cmc-list li[data-cmc-item] .cmc-thumb{
    width: 66px !important;
    height: 88px !important;
  }
}
	/* Link */
	.cmc-list .cmc-info a{
		font-size:11.9px!important;
	}


/* Bdi */
.cmc-list .cneprom-ins bdi{
	margin-left:2px;
}

/* Cneprom ins */
.cmc-list .cmc-item .cneprom-ins{
	color:#8f7e77;
	text-decoration:none;
	
}

/* Button */
.cmc-drawer .cmc-head .cmc-x{
	font-weight:300;
	
}


	/* Button */
	.cmc-drawer .cmc-head .cmc-x{
		font-size:21px !important;
	}

/* 1023px and smaller screen sizes */
@media (max-width:1023px){
	/* Button */
	.cmc-drawer .cmc-head .cmc-x{
		font-weight:300;
		
	}
	
	/* Button */
	#cmc-root .cmc-drawer .cmc-head .cmc-x{
		font-size:20px !important;
	}
	
}

.cmc-el-badge[hidden]{ display:none !important; }
.cmc-el-badge:empty{ display:none !important; }


/* =========================================================
   HOTFIX: Polecane/Add-ons – mniejsze kafelki na MOBILE
   Wklej na SAM KONIEC pliku
========================================================= */

@media (max-width: 767px){

  /* 1) Szerokość kafelka ~20% mniej */
  #cmc-root .cmc-added-rec .cenesti-addons .product-item,
  #cmc-root .cmc-added-rec.cmc-rec-bottom .cenesti-addons .product-item,
  #cmc-root .cenesti-addons > ul.products > li.product{
    flex: 0 0 38% !important;
    max-width: 38% !important;
  }

  /* 2) Wysokość zdjęcia ~10% mniej */
  #cmc-root .cenesti-addons .product-item .product-image img{
    height: 144px !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* 3) Bez wymuszonych szerokości inner */
  #cmc-root .cenesti-addons .products .product-item-inner{
    width: auto !important;
  }

	#cmc-root .cmc-rec-title, #cmc-root .cenesti-rec-title{
		padding-left: 12px !important;
		padding-right: 12px !important;
padding-bottom:12px!important;
padding-top:12px!important;
	}
		/* Link */
	.cenesti-addons .woocommerce-loop-product__title a{
		    display: block !important;
    max-width: 80% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* 767px and smaller screen sizes */
@media (max-width:767px){

	/* Body */
	#cmc-root .cmc-drawer .cmc-body{
		padding-left:10px !important;
		padding-right:10px !important;
		padding-top:30px !important;
	}
	
	/* Button */
	.cmc-drawer .cmc-body .cmc-qv .cmc-qv-body .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button{
		font-size:12px !important;
	}
	
	/* Span Tag */
	.cmc-qv-body .single_add_to_cart_button span{
		font-size:12px;
	}
	
}
/* =========================================================
   CMC LOADING MASK – ukryj stary content, pokaż skeleton
========================================================= */

/* Podczas loadingu chowamy realny content (żeby nie było flash starego) */
#cmc-root.cmc-loading .cmc-cartview,
#cmc-root.cmc-loading .cmc-added,
#cmc-root.cmc-loading .cmc-totals,
#cmc-root.cmc-loading .cmc-actions{
  visibility: hidden;
}

/* Skeleton ma być widoczny */
#cmc-root.cmc-loading .cmc-list,
#cmc-root.cmc-loading .cmc-skel,
#cmc-root.cmc-loading .cmc-skel-item{
  visibility: visible;
}

/* W trakcie loadingu blokujemy klikanie w środek (żeby nie klikać w stare dane) */
#cmc-root.cmc-loading .cmc-body{
  pointer-events: none;
}

/* Ale pozwól kliknąć zamknięcie (X/backdrop), jeśli chcesz */
#cmc-root.cmc-loading [data-cmc-close],
#cmc-root.cmc-loading .cmc-backdrop{
  pointer-events: auto;
}



/* =========================
   CMC: Bigger close "X" (pancerny)
   ========================= */
#cmc-root .cmc-head .cmc-x{
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;   /* zadziała jeśli X = tekst */
  line-height: 1 !important;
  font-weight: 400 !important;
}

/* jeśli X jest SVG */
#cmc-root .cmc-head .cmc-x svg{
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

/* jeśli X jest ikoną fontową (i/span) */
#cmc-root .cmc-head .cmc-x i,
#cmc-root .cmc-head .cmc-x span{
  font-size: 24px !important;
  line-height: 1 !important;
}

.add_to_cart_button.is-loading,
.single_add_to_cart_button.is-loading{
  opacity:.65;
  pointer-events:none;
}

.single_add_to_cart_button.is-loading{
  position: relative;
  pointer-events: none;
  opacity: .65;
  padding-right: 44px;
}
.single_add_to_cart_button.is-loading::after{
  content:"";
  width:16px;height:16px;
  border:2px solid rgba(0,0,0,.18);
  border-top-color: currentColor;
  border-radius:50%;
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  animation: cmcSpin .7s linear infinite;
}
@keyframes cmcSpin{ to{ transform:translateY(-50%) rotate(360deg);} }

/* ===== Remove UX (bez dodatkowego loadera) ===== */
#cmc-root .cmc-item.cmc-is-removing{
  opacity: .45;
  filter: grayscale(.15);
  pointer-events: none;
  transition: opacity .18s ease, filter .18s ease;
}



@keyframes cmcSkeleton{
  0%{ background-position: 100% 0; }
  100%{ background-position: 0 0; }
}

//* =========================================================
   Polecane (mini-koszyk) – MOBILE
   - większy padding TYLKO nagłówka
   - mniejsze kafelki (czyli mniejsze obrazki)
   - mniej paddingu po bokach obrazka
   - tytuł ucięty "..."
   Wklej na SAM KONIEC
========================================================= */
@media (max-width: 767px){

  /* 1) TYLKO nagłówek */
  #cmc-root .cmc-added-rec .cmc-rec-title,
  #cmc-root .cmc-rec--addons .cmc-rec-title{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* 2) container z kafelkami */
  #cmc-root .cmc-added-rec .cenesti-addons .products-wrap,
  #cmc-root .cmc-rec--addons .cenesti-addons .products-wrap{
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  /* 3) REALNY kafelek (u Ciebie: .product-item.product.col-*) -> ZMNIEJSZ to */
  #cmc-root .cmc-added-rec .cenesti-addons .products-wrap > .product-item.product,
  #cmc-root .cmc-rec--addons .cenesti-addons .products-wrap > .product-item.product{
    flex: 0 0 25% !important;      /* <— zmień na 28–34% jak chcesz */
    max-width: 15% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

 

  /* 6) tytuł z "..." */
  #cmc-root .cenesti-addons .product-item.product .woocommerce-loop-product__title a{
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
}

/* Ico */
#cmc-root .cmc-drawer .cmc-head .cmc-x .cmc-x-ico{
	width:16px !important;
	height:16px !important;
}

	/* Division */
	.cmc-drawer .cmc-body .cmc-qv{
		padding-top:0px !important;
		padding-bottom:0px !important;
		
	}

	/* Head  title text */
	.cmc-head .cmc-head__title .cmc-head__title-text{
		font-size:15px;
		color:#444;
		letter-spacing:0px;
		
	}


/* =========================================================
   CMC – ADD-ONS (MOBILE ONLY)
   - mniejsze kafelki
   - obraz 3:4 (wysoki, wąski)
   - brak „puchnięcia” po kolejnych dodaniach
========================================================= */

@media (max-width: 767px){

  /* 0) Reset Woo tylko na mobile (żeby nie mieszał) */
  #cmc-root .cenesti-addons ul.products,
  #cmc-root .cenesti-addons ul.products > li.product{
    all: unset;
  }

  /* 1) KAFEL – szerokość tylko na mobile */
  #cmc-root .cenesti-addons .products-wrap > .product-item{
    flex: 0 0 30% !important;     /* ≈ 3 kafelki na ekran */
    max-width: 30% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 2) NIE pozwól innerowi rozpychać kafla */
  #cmc-root .cenesti-addons .product-item-inner{
    width: auto !important;
    max-width: 100% !important;
  }

  /* 3) RATIO 3:4 – na WRAPPERZE obrazka */
  #cmc-root .cenesti-addons .product-item .product-image{
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    overflow: hidden !important;
    border-radius: 11px !important;
  }

  /* 4) IMG wypełnia wrapper */
  #cmc-root .cenesti-addons .product-item .product-image img{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }
}
/* =========================================================
   CMC – Button UX (mini-koszyk)
   Subtelny efekt kliknięcia / tap
========================================================= */

/* baza – animacje */
#cmc-root .cmc-btn{
  transition:
    transform .08s ease,
    box-shadow .08s ease,
    background-color .12s ease,
    color .12s ease,
    opacity .12s ease;
  will-change: transform;
}

/* hover (desktop) – minimalnie „podniesiony” */
@media (hover: hover){
  #cmc-root .cmc-btn:hover{
    transform: translateY(-1px);
  }
}

/* ACTIVE / TAP – efekt wciśnięcia */
#cmc-root .cmc-btn:active{
  transform: translateY(1px) scale(0.985);
}

/* focus-visible (klawiatura / accessibility) */
#cmc-root .cmc-btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}

/* =====================================
   Drobne różnice per typ przycisku
===================================== */

/* PRIMARY – „Przejdź do kasy” */
#cmc-root .cmc-btn--primary:active{
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

/* GHOST – „Przejdź do koszyka” */
#cmc-root .cmc-btn--ghost:active{
  background: rgba(0,0,0,.04);
}
/* CMC – Omnibus (mini koszyk) */
.cmc-omnibus{
  margin-top: 3px;
  font-size: 9px;
  line-height: 1.25;
  color: rgba(0,0,0,.45);
}

.cmc-omnibus *{
  font-size: 9px !important;
  color: rgba(0,0,0,.45) !important;
  font-weight: 500 !important;
}
/* CMC – Omnibus: wymuś 9px także na <bdi> (przebicie reguły koszyka) */
.cmc-omnibus bdi,
.cmc-omnibus .woocommerce-Price-amount,
.cmc-omnibus .woocommerce-Price-currencySymbol{
  font-size: 9px !important;
  color: rgba(0,0,0,.45) !important;
  font-weight: 500 !important;
}

/* Bdi */
.wc-price-history-shortcode .woocommerce-Price-amount bdi{
	display:inline-block;
	font-size:9px !important;
font-weight: 500 !important;
	
}


.cmc-list .cneprom-del,.cmc-list .cneprom-del .amount,.cmc-list .cneprom-del bdi{
	color: rgba(0,0,0,0.57);
}

.cmc-list .cneprom-del,.cmc-list .cneprom-del del,.cmc-list .cneprom-del .amount{
	text-decoration-line: line-through;
	text-decoration-color: rgba(0,0,0,0.23);
	text-decoration-thickness: 1px;
}

.cmc-list ins,.cmc-list ins bdi{
	color: #8f7e77;
	text-decoration: none !important;
}

/* Bdi */
.cmc-list del bdi{
		color: rgba(0,0,0,0.57);
}

/* Przekreślenie starej ceny – osobny kolor */
.cmc-list del{
  text-decoration-line: line-through;
	text-decoration-color: rgba(0,0,0,0.38);
  text-decoration-thickness: 1px;
}


/* INLINE QV ONLY: niedostępne swatche jako prawdziwie "disabled" */
.cmc-inline-qv button.cvsw-item.is-disabled.is-oos,
.cmc-inline-qv button.cvsw-item.is-oos[aria-disabled="true"],
.cmc-inline-qv button.cvsw-item[aria-disabled="true"]{
  opacity: .35 !important;
  cursor: not-allowed !important;
  pointer-events: none !important; /* KLUCZ: nie da się kliknąć */
  filter: grayscale(1) !important;
}

