@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&family=Lato:wght@300;400;500;600;700&display=swap');

/* === Clovin brand palette === */
:root {
  --clv-ink:  #101828;   /* headings (Jost), menu text */
  --clv-text: #525C6B;   /* body text (Lato) */
  --clv-blue: #0F76C4;   /* links, CTA hover */
  --clv-mint: #2EC4B6;   /* icons, underlines, tile backgrounds */
  --clv-soft: #F5F7FA;   /* section backgrounds */
  --clv-sale: #E8443A;   /* promo flags, discount prices */
  --clv-line: #D0D5DD;   /* borders, separators */
  --clv-font-heading: 'Jost', sans-serif;
  --clv-font-body:    'Lato', sans-serif;
}

/* =============================================
   CLOVIN CUSTOM THEME OVERRIDES
   Theme: PRS02047_3 (CoderPlace)
   ============================================= */

/* ── 0. CAROUSEL COMPONENT (CoderPlace defaults) ─────────────── */
.tm-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.cp-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  display: flex !important;
  flex-wrap: wrap;
}
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-wrapper-outer {
  overflow-x: hidden;
  overflow-x: clip;
  position: relative;
  float: left;
  width: 100%;
  z-index: 4;
}
.owl-carousel .owl-wrapper-outer.autoHeight {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}
.owl-carousel .owl-item {
  float: left;  
  display: flex;
  height: auto;
}
.owl-carousel .owl-item .manu_image a {
  display: inline-block;
}
.owl-carousel .owl-item .manu_image a img {
  max-width: 100%;
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  /* fix */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  text-align: center;
}

/* mouse grab icon */
.customNavigation {
	position: absolute;
	z-index: 9;
	width: 100%;
	top: 50%;
	direction: ltr;
	right: 0;
	left: auto;
  opacity: 0;
  -khtml-opacity: 0;
-webkit-opacity: 0;
-moz-opacity: 0;
}
.products .customNavigation {
	top: 48%;
}
.tmcategorylist .customNavigation, .testimonial-block-part .customNavigation {
	top: 54%;
}
.tmcategorylist:hover .customNavigation {
	opacity: 1;
	-khtml-opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
}
.customNavigation a.prev::before {
	content: "\E314";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	right: 5px;
	top: -1px;
	color: #808080;
}
.customNavigation a.next::before {
	content: "\E315";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	position: absolute;
	right: 3px;
	top: -1px;
	color: #808080;
}
#tmtestimonialcmsblock .customNavigation {
  top: -24px;
  z-index: 5;
  right: 15px;
}
#index #tmtestimonialcmsblock .customNavigation {
  top: -40px;
  right: 0;
}
.special-products .customNavigation {
	top: 52%;
}
.special-products:hover .customNavigation, 
.products:hover .customNavigation,
.testimonial-block-part:hover .customNavigation,
.tmblog-latest:hover .customNavigation, 
#tminstagramblock:hover .customNavigation,
.product-accessories:hover .customNavigation,
.productscategory-products:hover .customNavigation{
  opacity: 1;
  -khtml-opacity: 1;
  -webkit-opacity: 1;
  -moz-opacity: 1;
}
.lastest_block .customNavigation {
	top: 44%;
}
.customNavigation i {
	color: #222;
	cursor: pointer;
	font-size: 0;
	font-weight: 500;
	height: 38px;
	line-height: 32px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	text-align: center;
	width: 38px;
	background: transparent;
	border-radius: 0;
	font-style: unset;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.11);
}

.customNavigation i.prev {
	background: transparent;
	right: auto;
	background: #fff;
	border-radius: 50%;
	left: -5px;
}
.customNavigation i.next {
	background: transparent;
	right: 0px;
	background: #fff;
	border-radius: 50%;
	right: -5px;
}
.tmcategorylist .customNavigation i.prev, 
.testimonial-block-part .customNavigation i.prev, 
#tminstagramblock .btn.prev.instagram_prev,
.special-products .customNavigation i.prev{
	left: -20px;
}
.tmcategorylist .customNavigation i.next, 
.testimonial-block-part .customNavigation i.next, 
#tminstagramblock .btn.next.instagram_next,
.special-products .customNavigation i.next  {
  right: -20px;
}
.customNavigation i.prev::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-left.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-left.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 14px;
	font-size: 14px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 14px;
}
#tmtestimonialcmsblock .customNavigation i.prev::before {
  right: 1px;
  font-weight: 500;
}
#tmtestimonialcmsblock .customNavigation i.next::before {
  right: 0;
  font-weight: 500;
}
.customNavigation i.next::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-right.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-right.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 14px;
	font-size: 14px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 14px;
}
.customNavigation i.next:hover::before,.customNavigation i.prev:hover::before  {
  color: #fff;
}
#cpleftbanner1 img,
#cpleftbanner2 img {
  max-width: 100%;
}
#cpleftbanner1 li,
#cpleftbanner2 li {
  overflow: hidden;
  position: relative;
  float: left;
  border-radius: 5px;
}
#cpleftbanner1 li a,
#cpleftbanner2 li a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: top;
}
.footer-container .links.lastest_block .customNavigation i.prev:hover {
  color: #9bbab1;
}
.footer-container .links.lastest_block .customNavigation i.next:hover {
  color: #9bbab1;
}

@media (max-width: 1449px) {
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev,
  .special-products .customNavigation i.prev {
    left: -15px;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next,
   .special-products .customNavigation i.next {
    right: -15px;
  }
  .customNavigation i.next {
    right: 0;
  }
  .customNavigation i.prev {
    left: 0;
  }
}
@media (max-width: 1199px) {
  #tmtestimonialcmsblock .customNavigation {
    top: -36px;
    z-index: 5;
    right: -18px;
  }
}

@media (max-width: 991px) {
  #cpleftbanner1 li img,
  #cpleftbanner2 li a {
    width: auto;
  }
  #tmtestimonialcmsblock .customNavigation {
    top: 0;
    right: 0;
  }
}
@media (max-width: 767px) {
  .customNavigation {
    opacity: 1;
    -khtml-opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
  }
  
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev, 
  .special-products .customNavigation i.prev,
  .btn.prev.accessories_prev {
    left: 0;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next, 
   .special-products .customNavigation i.next,
   .btn.next.accessories_next {
    right: 0;
  }
  #main .images-container .js-qv-mask .customNavigation {
    top: 13px;
  }
  .quickview .mask.additional_slider .customNavigation i.prev {
    left: -10px;
  }
  .quickview .mask.additional_slider .customNavigation i.next {
    right: -10px;
  }
  .btn.next.brand_next {
    left: auto;
    right: 0;
    position: absolute;
  }
  .btn.prev.brand_prev {
    left: 0;
    right: auto;
  }
  .customNavigation i.next {
    left: auto;
    right: 0;
  }
}
@media (max-width: 480px) {
}

/* ── 1. FONTS & BRAND PALETTE ─────────────────────────────────── */

/* ── 1b. CUSTOM CSS (migrated from DB, now file-managed) ─────── */

/* Clovin rebrand: override cp_themeoptions font variables (Jost/Lato) */
:root {
  --body-font-family: var(--clv-font-body), Arial, sans-serif;
  --title-font-family: var(--clv-font-heading), Arial, sans-serif;
}

body {
  font-family: var(--clv-font-body), Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 400;
  color: var(--clv-text);
  letter-spacing: 0.5px;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--clv-font-heading), Arial, sans-serif !important;
  color: var(--clv-ink);
}

/* Add-to-cart + primary buttons: Clovin navy #2E3092 */
.btn-primary,
.add-to-cart,
button[data-button-action="add-to-cart"],
.product-add-to-cart .btn,
.product-add-to-cart button {
  background-color: #2E3092 !important;
  border-color: #2E3092;
  color: #ffffff !important;
}
.btn-primary:hover,
.add-to-cart:hover,
button[data-button-action="add-to-cart"]:hover {
  background-color: #252780;
  border-color: #252780;
}

/* Search button: coral #E9735C (must come after navy rule - overrides .btn-primary) */
#search_block_top button[type="submit"],
#searchbox button[type="submit"] {
  background-color: #E9735C;
  border-color: #E9735C;
  color: #ffffff;
}
#search_block_top button[type="submit"]:hover,
#searchbox button[type="submit"]:hover {
  background-color: #d94050;
  border-color: #d94050;
}

/* ── 2. CATEGORY LIST COMPONENT ───────────────────────────────── */

/* cpcategorylist: suppress broken-image alt text (images are 404 placeholders) */
.cpcategory-container .categoryblock .block_content .cat-img {
  font-size: 0;
  line-height: 0;
}

/* cpcategorylist: tighten item and section spacing */
.cpcategorylist {
  margin: 15px 4px 15px 4px;
}
.cpcategory-container .categoryblock .block_content {
  margin: 0 3px;
  padding: 4px 4px 8px !important;
}
.cpcategorylist .cate-heading a {
  font-size: 13px !important;
  line-height: 1.3 !important;
  display: block;
}

/* ── 3. HEADER, NAVIGATION & MEGA-MENU ────────────────────────── */

/* Header bar: white bg + navy bottom border */
.header-top-main,
.header-top-main.bg_main {
  background-color: #ffffff !important;
  border-bottom: 2px solid #2E3092;
}
/* bg_main state (sticky/scroll): override theme.css white-on-dark rule */
.header-top-main.bg_main #_top_main_menu li a[data-depth="0"],
.header-top-main.bg_main #_top_main_menu .top-menu.more_sub_menu li a[data-depth="0"] {
  color: var(--clv-ink) !important;
}
/* menu text = ink, final user decision after live comparison */
.top-menu a, .top-menu > li > a, #top-menu > li > a {
  color: var(--clv-ink);
}
/* Top-level links only (depth=0): medium weight */
.top-menu a[data-depth="0"], #top-menu a[data-depth="0"] {
  font-weight: 500 !important;
  color: var(--clv-ink);
}
/* Sub-menu links: normal weight */
.top-menu a[data-depth="1"], .top-menu a[data-depth="2"] {
  font-weight: 400;
}
.popover, .top-menu .sub-menu, .top-menu .collapse {
  color: var(--clv-ink);
}
.top-menu .sub-menu a, .top-menu .collapse a {
  color: var(--clv-ink);
}
/* Hide broken placeholder images entirely */
.cpcategory-container .categoryblock .block_content .cat-img {
  display: none;
}
/* Clean card tile: border + centered name */
.cpcategory-container .categoryblock .block_content {
  border: 1px solid var(--clv-line);
  border-radius: 6px !important;
  padding: 14px 10px;
  text-align: center;
  justify-content: center;
  min-height: 60px;
}
/* Category name link: brand ink medium */
.cpcategorylist .cate-heading a {
  color: var(--clv-ink);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.4;
  display: block;
}
.cpcategorylist .cate-heading a:hover {
  color: var(--clv-blue) !important;
  text-decoration: none;
}

/* ── 4. LEFT COLUMN, FILTERS & HIDE ELEMENTS ──────────────────── */

/* Left column layout: applies on category/product pages */
#left-column { padding-top: 8px; }
#left-column .block {
  margin-bottom: 12px;
  border: 1px solid var(--clv-line);
  border-radius: 4px;
  padding: 8px;
}
#left-column .block-title h2,
#left-column .title_block {
  font-size: 14px;
  font-weight: 500;
  color: var(--clv-ink);
  padding-bottom: 6px;
  margin-bottom: 0;
}
#left-column ul li { padding: 3px 0; line-height: 1.5; }
#left-column ul li a { color: #2b2b2b; font-size: 13px; }
#left-column ul li a:hover { color: var(--clv-blue); }

/* Hide brands section (all logos are pl.jpg blank placeholder) */
section.brands { display: none; }

/* cpcmsbanner3 NIE jest tu ukrywany: to nie pusty baner demo, tylko główny blok SEO strony głównej */
#cpcmsbanner4 { display: none; }

/* Belt-and-suspenders: suppress any remaining pl-default images not already hidden */
img[src*="pl-default"] { display: none; }

/* Suppress brand placeholder images */
img[src*="/img/m/pl.jpg"] { display: none; }

/* ── 5. LAYOUT - PAGE BACKGROUNDS ─────────────────────────────── */

/* Pokaż więcej / Pokaż mniej toggle link */
.facet-show-more {
  display: inline-block;
  margin: 4px 0 8px;
  font-size: 12px;
  color: var(--clv-ink);
  text-decoration: none;
  cursor: pointer;
}
.facet-show-more:hover {
  text-decoration: underline;
  color: var(--clv-ink);
}

/* Header logo - reduced ~22% per user request (zmniejsz trochę logo) */
/* Theme default: .header_logo { width: 200px }; natural logo: 760x425px */
#header .header-top .header_logo {
  width: 155px;
}

/* ── 6. PRODUCT TILES (category / list pages) ─────────────────── */

/* Hide manufacturer/brand name (span.product-brand in product.tpl / product-listgrid.tpl) */
.product-miniature .product-brand {
  display: none;
}

/* Hide availability / stock text (span.availability-list covers both in-stock and out-of-stock) */
.product-miniature .availability-list {
  display: none;
}

/* Grey-out out-of-stock tiles; :has() checks DOM presence even when span is hidden */
.product-miniature:has(.availability-list-out-of-stock) .product-thumbnail img {
  filter: grayscale(100%);
  opacity: 0.5;
}
.product-miniature:has(.availability-list-out-of-stock) {
  opacity: 0.7;
}

/* Brand-accent "Niedostępny" label on out-of-stock tiles */
.product-miniature:has(.availability-list-out-of-stock) .product-description::after {
  content: 'Niedostępny';
  display: block;
  color: var(--clv-mint);
  font-size: 13px;
  font-weight: 600;
  margin-top: 4px;
}

/* Listing hover: raise z-index so add-to-cart button appears above next row */
.product-miniature:hover {
  z-index: 10;
}
.product_list article.product_item .product-miniature:hover::before,
.product_list article.item .product-miniature:hover::before {
  bottom: -60px;
}
.product_list article.product_item .bottom-addtocart,
.product_list article.item .bottom-addtocart {
  padding-bottom: 20px;
}

/* ── 7. PRODUCT CARD (detail page) ────────────────────────────── */

/* Wishlist + compare buttons - outline/text-link style */

/* Wrapper: ensure side-by-side layout, no overlap */
.wish-comp {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}

#subcategories .subcategory-heading { display: none; }

/* Product name weight → 400 (theme.css sets 600/500 with higher specificity) */
.product-title,
.product-title a,
.product-miniature .product-title,
.product-miniature .product-title a,
.product-name,
.product-name a {
  font-weight: 400;
}

/* Filter label weights → 400/normal */
/* Filter group headings (e.g. "Dostępność", "Cena") */
#search_filters .facet-title,
.facets-enumeration .facet-title {
  font-weight: 500;
}
/* Filter option labels (individual values) */
#search_filters .facet-label,
#search_filters .facet-label a,
#search_filters .facet ul li label,
.facets-enumeration li label,
.facets-enumeration .facet-label {
  font-weight: 400;
}

/* Add-to-cart button → uppercase */
button.add-to-cart,
.product-add-to-cart button.add-to-cart,
a.add-to-cart {
  text-transform: uppercase;
}

/* Subcategory link → brand ink (h5 already ink, <a> inside was black) */
a.subcategory-name,
#subcategories h5 a {
  color: var(--clv-ink);
}

/* Dropdown sub-menu links → bold */
#top-menu .sub-menu a,
.top-menu .sub-menu li a {
  font-weight: 700;
}

/* Menu hierarchy - level-0 bold, level-1/2 normal+indented
   depth-0 gets 700, depth-1/2 revert to 400 (overrides sub-menu bold rule above) */
.top-menu a[data-depth="0"],
#top-menu a[data-depth="0"] {
  font-weight: 700;
}

.top-menu a[data-depth="1"],
#top-menu .sub-menu a[data-depth="1"] {
  font-weight: 400;
  padding-left: 1rem;
}

.top-menu a[data-depth="2"],
#top-menu .sub-menu a[data-depth="2"] {
  font-weight: 400;
  padding-left: 2rem;
  font-size: 0.9em;
}

/* Hover: jaśniejszy niebieski, tak jak "Dodaj do koszyka" (--clv-blue).
   Wcześniej świeciły na koralowo (#E9735C) - nie pasowało do CTA obok. */
.wish-comp .compare .st-compare-button.btn-product.btn:hover,
.wish-comp .wishlist .st-wishlist-button.btn-product.btn:hover {
  color: var(--clv-blue) !important;
}
.wish-comp .compare .st-compare-button.btn-product.btn .fa,
.wish-comp .wishlist .st-wishlist-button.btn-product.btn .fa {
  color: #000000;
}
.wish-comp .compare .st-compare-bt-content,
.wish-comp .wishlist .st-wishlist-bt-content {
  color: #000000;
}
.wish-comp .compare .st-compare-button.btn-product.btn:hover .fa,
.wish-comp .wishlist .st-wishlist-button.btn-product.btn:hover .fa,
.wish-comp .compare .st-compare-button.btn-product.btn:hover .st-compare-bt-content,
.wish-comp .wishlist .st-wishlist-button.btn-product.btn:hover .st-wishlist-bt-content {
  color: var(--clv-blue) !important;
}

/* Hide social sharing */
.social-sharing,
#social-sharing,
.product-social-sharing {
  display: none;
}

/* Hide payment logo block */
.cpproductpaymentlogo,
.productpaymentlogo,
.uctpaymentlogo,
#uctpaymentlogo,
[class*="uctpayment"],
[class*="paymentlogo"] {
  display: none;
}

/* Constrain description-tab images */
.product-description img,
#product-description-short img,
.tab-content .product-description img,
#description .rte img,
#tab-content .rte img,
.product-information .product-description img {
  max-width: 350px;
  max-width: min(350px, 100%);
  height: auto;
}

/* Hide tax-label on product card (fixes price-with-unit doubling) */
.tax-shipping-delivery-label,
.product-price .tax-label,
.product-prices .tax-label,
.current-price .tax-label,
span.tax-label {
  display: none;
}

/* Bezpieczenstwo produktu tab uses .data-sheet dl layout */

/* Remove box-shadow/outline from wish-comp buttons */
.wish-comp .compare .st-compare-button.btn-product.btn,
.wish-comp .wishlist .st-wishlist-button.btn-product.btn {
  box-shadow: none !important;
  outline: none !important;
}
/* Ramka ma ZOSTAĆ na hoverze - wcześniej `border: none` kasowało ją razem
   z wysokością pudełka (przycisk skakał o 2px) i przycisk gubił kształt.
   Zamiast tego przebarwiamy ją na ten sam jaśniejszy niebieski co tekst. */
.wish-comp .compare .st-compare-button.btn-product.btn:hover,
.wish-comp .wishlist .st-wishlist-button.btn-product.btn:hover {
  border: 1px solid var(--clv-blue) !important;
}

/* Wish-comp button wrapper - transparent bg (overrides theme.css default #fff) */
.wish-comp .compare .btn, .wish-comp .wishlist .btn {
  background: transparent;
  border: none;
}

/* Styl obrysowany przycisków wish-comp (c: cp_themeoptions injektuje .btn {bg: --primary-color} po) */
.wish-comp .compare .st-compare-button.btn,
.wish-comp .wishlist .st-wishlist-button.btn {
  background-color: transparent !important;
  border: 1px solid #2E3092 !important;
  color: #2E3092 !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  /* płynne przejście na hover, tak samo jak przy "Dodaj do koszyka" */
  transition: color 0.2s ease, border-color 0.2s ease;
}
.wish-comp .compare .st-compare-button.btn .fa,
.wish-comp .wishlist .st-wishlist-button.btn .fa {
  color: #2E3092 !important;
  font-size: 13px !important;
  transition: color 0.2s ease;
}
.wish-comp .compare .st-compare-button.btn .st-compare-bt-content,
.wish-comp .wishlist .st-wishlist-button.btn .st-wishlist-bt-content {
  color: #2E3092 !important;
  background-color: transparent !important;
  font-size: 13px !important;
  transition: color 0.2s ease;
}

/* ── 8. BUTTONS & HOVER STATES ────────────────────────────────── */

/* Global link hover color (brand blue) on all text links */
a:hover,
a:focus,
.top-menu a:hover,
.top-menu a:focus,
#top-menu a:hover,
#top-menu a:focus,
.product-title a:hover,
.product-title a:focus,
.product-name a:hover,
.product-name a:focus,
.breadcrumb a:hover,
.breadcrumb a:focus,
#footer a:hover,
#footer a:focus,
.footer-container a:hover,
.footer-container a:focus,
.facet-label a:hover,
.facet-label a:focus,
.facet a:hover,
.pagination a:hover,
.pagination a:focus,
.js-facet-show-more:hover,
.js-facet-show-more:focus,
.category-sub-menu a:hover,
.category-sub-menu a:focus,
.subcategory-name a:hover,
.subcategory-name a:focus,
.cms-page-link:hover,
.cms-page-link:focus {
  color: var(--clv-blue) !important;
  transition: color 0.15s ease;
}

/* Exclusions: filled primary buttons keep their own hover states */
.btn:hover,
.btn:focus,
.button:hover,
.button:focus,
.add-to-cart:hover,
.add-to-cart:focus,
button[type="submit"]:hover,
button[type="submit"]:focus,
.search_query:hover,
input[type="submit"]:hover,
input[type="submit"]:focus,
.cart-preview .cart-icon:hover,
.blockcart a:hover {
  color: inherit !important;
}

/* ── 9. MEGA-MENU & DROPDOWNS ─────────────────────────────────── */

/* Nasze marki dropdown - aligned to category-dropdown style */
/* theme.css forces manufacturers .sub-menu to display:block, width:245px, padding:20px.
   Override to match category dropdown: display:flex, full-width, padding:40px */
#_top_main_menu .top-menu .manufacturers .sub-menu {
  display: flex !important;
  width: auto;
  min-width: 0;
  max-height: none;
  overflow-y: visible;
  padding: 40px;
  left: 0;
  right: 0;
}
/* Item typography matches depth-1 category items */
.nasze-marki-dropdown > ul.top-menu > li > a {
  font-weight: 400;
}

/* Nasze marki - siatka logotypow (twarda lista 18 marek w ps_mainmenu.tpl).
   Dropdown ma display:flex (regula wyzej), wiec grid musi dostac width:100%. */
.nasze-marki-dropdown .brands-grid {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  padding: 18px;
}
/* !important: theme.css wymusza min-width:220px na linkach w dropdownach menu
   (#header .header-top-main.bg_main .menu .sub-menu a) - bez tego kafelki
   rozpychaja siatke poza viewport */
#header .nasze-marki-dropdown .brands-grid a.brand-logo-link {
  min-width: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
  padding: 10px 14px;
  border: 1px solid var(--clv-line);
  border-radius: 8px;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
#header .nasze-marki-dropdown .brands-grid a.brand-logo-link:hover {
  border-color: #2E3092;
  box-shadow: 0 3px 12px rgba(46, 48, 146, .15);
}
.nasze-marki-dropdown .brand-logo-link img {
  max-width: 100%;
  max-height: 60px;
  width: auto;
  object-fit: contain;
}
@media (max-width: 1200px) {
  .nasze-marki-dropdown .brands-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 991px) {
  .nasze-marki-dropdown .brands-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
  .nasze-marki-dropdown .brands-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── 10. PRODUCT CARD - TABS ──────────────────────────────────── */

/* Skład tab styles */
.product-sklad-list {
  list-style: disc;
  padding-left: 1.5rem;
  margin: 0;
}
.product-sklad-list li {
  padding: 0.2rem 0;
  font-weight: 400;
  color: #333;
}

/* Zapytaj o produkt inquiry form - centered */
.product-inquiry-form { max-width: 600px; margin: 0 auto; }
.product-inquiry-form .inquiry-intro { color: #555; margin-bottom: 1rem; }
.product-inquiry-form .form-group { margin-bottom: 1rem; }
.product-inquiry-form label { font-weight: 500; color: #2E3092; display: block; margin-bottom: 0.3rem; }
.product-inquiry-form .form-control { width: 100%; border: 1px solid #ddd; border-radius: 3px; padding: 0.5rem 0.75rem; font-family: inherit; }
.product-inquiry-form .inquiry-submit-btn { background: #2E3092; color: #fff; border: none; padding: 0.6rem 1.5rem; cursor: pointer; border-radius: 3px; }
.product-inquiry-form .inquiry-submit-btn:hover { background: var(--clv-blue); }
.inquiry-feedback { margin-top: 0.75rem; padding: 0.5rem 0.75rem; border-radius: 3px; }
.inquiry-success { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.inquiry-error   { background: #fff3e0; color: #e65100; border: 1px solid #ffcc80; }

/* Unified Dane-tech + Bezpieczeństwo dl - identical style, zero gaps */

/* Meta block wrapper: flush against feature section (was 12px) */
#product-details .js-product-attributes-source { margin-bottom: 0; }
#product-details .qtyprogress { display: none; }

/* Meta rows: 1fr/2fr grid, flush flush (margin:0 kills the 2px gaps) */
#product-details .js-product-attributes-source .product-manufacturer,
#product-details .js-product-attributes-source .product-reference,
#product-details .js-product-attributes-source .product-quantities {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  font-size: 15px;
  padding: 0.625rem;
  background-color: #f2f2f2;
  margin: 0;
  word-break: break-all;
}
#product-details .js-product-attributes-source .product-reference { background-color: #f8f8f8; }
#product-details .js-product-attributes-source label.label {
  font-weight: 600;
  display: block;
  min-width: 0;
  margin: 0;
  color: inherit;
  font-size: 15px;
}
#product-details .js-product-attributes-source .product-manufacturer span,
#product-details .js-product-attributes-source .product-reference span,
#product-details .js-product-attributes-source .product-quantities span {
  display: block;
  color: #757575;
}
#product-details .js-product-attributes-source .product-manufacturer span a { color: #757575; }

/* "Karta produktu" h3: flush, no whitespace gap between meta rows and dl */
#product-details .product-features h3.h6 {
  font-size: 15px;
  font-weight: 700;
  color: var(--clv-ink);
  margin: 0;
  padding: 0.625rem;
  text-transform: none;
}

/* dl grid layout - both tabs identical */
#product-details .product-features dl.data-sheet,
#product-safety .product-safety-block dl.data-sheet {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  font-size: 15px;
}

/* dt/dd reset - margin:0 kills the 8px browser default on dd (white gap source) */
#product-details .product-features dl.data-sheet dt.name,
#product-details .product-features dl.data-sheet dd.value,
#product-safety .product-safety-block dl.data-sheet dt.name,
#product-safety .product-safety-block dl.data-sheet dd.value {
  width: auto;
  display: block;
  margin: 0;
  padding: 0.625rem;
  font-size: 15px;
}
#product-details .product-features dl.data-sheet dt.name,
#product-safety .product-safety-block dl.data-sheet dt.name { font-weight: 600; }

/* Zebra - both tabs: odd #f2f2f2, even #f8f8f8 */
#product-details .product-features dl.data-sheet dt.name,
#product-details .product-features dl.data-sheet dd.value,
#product-safety .product-safety-block dl.data-sheet dt.name,
#product-safety .product-safety-block dl.data-sheet dd.value { background-color: #f2f2f2; }
#product-details .product-features dl.data-sheet dt.name:nth-of-type(even),
#product-details .product-features dl.data-sheet dd.value:nth-of-type(even),
#product-safety .product-safety-block dl.data-sheet dt.name:nth-of-type(even),
#product-safety .product-safety-block dl.data-sheet dd.value:nth-of-type(even) { background-color: #f8f8f8; }

/* Skład tab - left-align (justify stretches short br-broken lines) */
#product-sklad .product-sklad-block dl.data-sheet dd.value,
#product-sklad .product-sklad-block p {
  text-align: left;
}

/* Filled button hover - swap brand colors */

/* CTA buttons (add-to-cart / primary) → brand blue on hover */
.btn-primary:hover,
.btn-primary:focus,
.add-to-cart:hover,
.add-to-cart:focus,
button[data-button-action="add-to-cart"]:hover,
button[data-button-action="add-to-cart"]:focus,
.product-add-to-cart button:hover,
.product-add-to-cart button:focus {
  background-color: var(--clv-blue) !important;
  border-color: var(--clv-blue) !important;
  color: #ffffff !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Wypełnione przyciski trzymają BIAŁY napis w każdym stanie. */
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
input.btn[name="submitNewsletter"]:hover,
input.btn[name="submitNewsletter"]:focus,
input.btn[name="submitNewsletter"]:active {
  color: #ffffff !important;
}

/* Przycisk nieaktywny (np. "Przekształć teraz" przy zbyt niskim saldzie) nie
   udaje klikalnego: zostaje przy navy, nie rozjaśnia się na hoverze, ale napis
   też ma być biały, a nie czarny. */
.btn.btn-primary[disabled],
.btn.btn-primary[disabled]:hover,
.btn.btn-primary[disabled]:focus,
.btn.btn-primary.disabled,
.btn.btn-primary.disabled:hover,
.btn.btn-primary.disabled:focus {
  background-color: #2E3092 !important;
  border-color: #2E3092 !important;
  color: #ffffff !important;
  cursor: not-allowed;
}

/* Preserved coral hover - allproducts / clear-filters / pagination (kept as-is, not part of rebrand) */
#left-column .block_content .allproducts:hover,
#left-column .block_content .allproducts:focus,
.js-search-filters-clear-all:hover,
.js-search-filters-clear-all:focus,
.pagination a:hover,
.pagination a:focus {
  background-color: #E9735C !important;
  border-color: #E9735C !important;
  color: #ffffff !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Coral search button (#E9735C) → navy on hover */
#search_block_top button[type="submit"]:hover,
#search_block_top button[type="submit"]:focus,
#searchbox button[type="submit"]:hover,
#searchbox button[type="submit"]:focus {
  background-color: #2E3092;
  border-color: #2E3092;
  color: #ffffff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Sentence-case tab labels - theme.css has text-transform:capitalize on .nav-link */
#product .product-tabcontent .nav-link {
  text-transform: none;
}

/* ── 11. FOOTER ───────────────────────────────────────────────── */

/* Hide footer-after animated element */
.footer-after {
  display: none;
}

/* Fix orphaned items in mega-menu category dropdowns */
/* ul[data-depth="1"] is block so flex:1 on li (theme.css) is inactive;
   6 items × 220px > container width causes Wybielacze to wrap to bottom-left row */
#_top_main_menu .top-menu li.category > .sub-menu ul[data-depth="1"] {
  display: flex;
  flex-wrap: wrap;
}
#_top_main_menu .top-menu .sub-menu.collapse {
  align-items: flex-start;
}

/* Fix orphaned subcategory item in mega-menu column layout */
.top-menu .sub-menu li {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

/* consentV2 Dostosuj panel - info icons + button styling */
/* theme.css line 867: svg:not(:root) { height: 300px; width: 300px; } blows info icons up */
#cookie-consent .info-icon-container svg {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}
/* "Zapisz" - primary save: brand blue bg + white text */
button#submit-btn3[name="save-preferences"] {
  background-color: #0F76C4;
  color: #fff;
  border: none;
  font: 600 14px/100% Arial, Helvetica, sans-serif;
  padding: 0.5em 2em 0.55em;
  border-radius: 0.5em;
  cursor: pointer;
}
button#submit-btn3[name="save-preferences"]:hover {
  background-color: #0C639F;
}
/* "Odrzuć wszystko" - secondary reject: navy border + navy text (overrides footer.tpl coral) */
#cookie-consent #cookie-reject-all {
  background: transparent;
  border: 2px solid #2E3092;
  box-shadow: none;
  color: #2E3092;
  padding: 0.4em 1.5em;
  border-radius: 0.5em;
  text-decoration: none;
  cursor: pointer;
}
#cookie-consent #cookie-reject-all:hover {
  background-color: #2E3092;
  color: #fff;
}

/* Mobile menu (cp_sideverticalmenu) styling */
@media (max-width: 991px) {
  /* Header bg is white; hamburger icon inherits white → override to navy */
  .header-top-main .menu-icon .material-icons { color: var(--clv-mint) !important; }
  /* Sidebar: ensure top-level category links are bold ink */
  #cp_sidevertical_menu_top .top-menu a[data-depth="0"] {
    color: var(--clv-ink);
    font-weight: 700;
  }
}

/* Constrain wide tables in product description */
.product-description table {
  max-width: 100%;
  overflow-x: auto;
  display: block;
}

/* Stack product-tab dl at mobile - label above value */
@media (max-width: 767px) {
  #product-details .product-features dl.data-sheet,
  #product-safety .product-safety-block dl.data-sheet {
    grid-template-columns: 1fr;
  }
  #product-details .product-features dl.data-sheet dt.name,
  #product-safety .product-safety-block dl.data-sheet dt.name {
    padding-bottom: 2px;
    font-weight: 600;
  }
  #product-details .product-features dl.data-sheet dd.value,
  #product-safety .product-safety-block dl.data-sheet dd.value {
    padding-top: 2px;
    padding-bottom: 8px;
  }
}

/* Mobile homepage layout overrides - desktop (≥768px) completely unchanged */
@media (max-width: 767px) {

  /* Hero slider - 320px forced height.
     Slider module CSS sets height:100% (no !important), so !important overrides cleanly. */
  #wrapper-top .carousel-item img {
    height: 320px;
    width: 100%;
    object-fit: cover;
    object-position: center top;
  }

  /* Service block - hidden on mobile */
  #cpserviceblock { display: none; }

  /* cpcmsbanner2 - side-by-side layout */
  #cpcmsbanner2_block1 {
    flex-direction: row;
    align-items: stretch;
    flex-wrap: nowrap;
  }
  #cpcmsbanner2_block1 > * {
    width: 50%;
    box-sizing: border-box;
  }
}

/* Remove blue border-bottom on active product tab at mobile (≤767px)
   theme.css sets border-bottom: 2px solid #2936cc on .nav-link.active */
@media (max-width: 767px) {
  #product .tabs .nav-tabs .nav-link.active {
    border-bottom: none;
  }
}

/* Mobile logo margin + height; hamburger icon size */
@media (max-width: 767px) {
  /* Logo - 20px left indent, capped at 70px height, aspect ratio preserved */
  .header-top .header_logo img {
    margin-left: 20px;
    max-height: 70px;
    width: auto;
  }

  /* Hamburger icon - 24px → 34px (size only; color set by mobile-menu rules above) */
  .header-top-main .menu-icon .material-icons {
    font-size: 34px;
    line-height: 1;
  }
}

/* Hide mobile nav toggle container on desktop (≥992px) */
@media (min-width: 992px) {
  .header-top-main.bg_main .container.text-xs-center.mobile {
    display: none;
  }
}

/* Cookie banner bg: cover both consentV2 markup variants (#okno-cookie and #cookie-consent .okno) */
#okno-cookie, #cookie-consent .okno { background-color: #ffffff; }

/* Hide subcategory tiles on mobile phones */
@media (max-width: 767px) {
  #subcategories {
    display: none;
  }
}

/* Skład tab dl: override 2-col grid - ingredient list is prose, not key-value pairs */
#product-sklad .product-sklad-block dl.data-sheet {
  display: block;
}
#product-sklad .product-sklad-block dl.data-sheet dt.name {
  display: none;
}
#product-sklad .product-sklad-block dl.data-sheet dd.value {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* === mega-menu hierarchy + layout (desktop only) === */
/* Desktop menu container: #_top_main_menu. Mobile sidebar: #sidevertical_menu - unaffected. */

/* brand links (li.manufacturer) excluded from hierarchy rules */
/* Selectors below target only li.category > a, not li.manufacturer > a */

/* Level-2 category parents (depth=1): bold ink + bullet - CATEGORY ITEMS ONLY */
#_top_main_menu li.category > a[data-depth="1"] {
  font-weight: 700;
  color: var(--clv-ink);
  font-size: 0.88rem;
  padding-left: 1.4em;
  position: relative;
  display: block;
}
#_top_main_menu li.category > a[data-depth="1"]::before {
  content: "•";
  position: absolute;
  left: 0.4em;
  color: var(--clv-ink);
}

/* Level-3 children (depth=2): indented, normal weight, ink */
#_top_main_menu a[data-depth="2"] {
  font-weight: 400;
  color: var(--clv-ink);
  font-size: 0.82rem;
  padding-left: 2.2em;
  display: block;
}
#_top_main_menu a[data-depth="2"]:hover {
  color: #1a1d6e;
}
#_top_main_menu a[data-depth="2"]::before {
  content: none;
}


/* flex+order layout - items-with-children first, leaves last */
/* flex-wrap replaces column-count:3 so CSS order works */

/* Category dropdowns: flex layout with ~3-col wrap */
#_top_main_menu ul.top-menu[data-depth="1"]:has(> li.category) {
  display: flex !important;
  flex-wrap: wrap !important;
  column-count: unset !important;
  gap: 0.4rem 1rem;
}

/* Category items WITH children (have a .collapse div): shown first */
#_top_main_menu ul.top-menu[data-depth="1"] > li.category:has(> div.collapse) {
  order: 1;
  flex: 0 0 calc(33.33% - 0.75rem);
  min-width: 200px;
  margin-bottom: 0.35rem;
}

/* Category leaf items (NO children - no .collapse div): shown after parents */
#_top_main_menu ul.top-menu[data-depth="1"] > li.category:not(:has(> div.collapse)) {
  order: 2;
  flex: 0 0 calc(33.33% - 0.75rem);
  min-width: 200px;
  margin-bottom: 0.35rem;
}

/* wrap subcategory text, no clip; min-width from DOM measurement.
   overflow:hidden clipped text when sub-menu UL is narrow (e.g. Higiena rąk:
   UL=275px → flex-basis=80px → text clipped). min-width:200px prevents collapse
   below usable column width; overflow-wrap:break-word handles long single words. */
#_top_main_menu ul.top-menu[data-depth="1"] > li.category {
  overflow: visible;
  overflow-wrap: break-word;
  white-space: normal;
  min-width: 200px;
}

/* Hide "Pokaż wszystkie" / show-all links if rendered */
#_top_main_menu .all-product-link {
  display: none;
}

/* === responsive: counter theme.css max-width caps at ≤1449px ===
   theme.css sets max-width:160px on ul[data-depth="1"] > li at ≤1449px.
   Without an override, category flex items (flex-basis: 33.33%) are capped at 160px
   → 6 columns instead of 3 at 1280px. Counter with max-width: none. */
@media (max-width: 1449px) {
  #_top_main_menu ul.top-menu[data-depth="1"] > li.category {
    max-width: none;
  }
}

/* hide mobile toggle on desktop (eliminates phantom vertical space) */
@media (min-width: 992px) {
  .container.text-xs-center.mobile {
    display: none;
  }
}

/* restore mobile hamburger visibility (white text → navy on white header) */
/* header bg is #ffffff; theme.css sets .mobile .cat-title color:#ffffff → invisible without override */
@media (max-width: 991px) {
  .container.text-xs-center.mobile {
    display: block;
  }
  .container.text-xs-center.mobile .cat-title {
    color: var(--clv-ink) !important;
  }
  .container.text-xs-center.mobile .material-icons {
    color: var(--clv-mint) !important;
  }
}
/* Note: "Browse Categories" text is in template (not CSS) - Polish translation requires template edit */

/* === Nasze marki - flat brand list, multi-column, consistent with category tabs === */

/* 3-column layout for the flat brand list.
   Also override the old 2-column rule at line ~837 (same selector, later = wins at equal specificity). */
#manufacturers ul.top-menu[data-depth="1"],
#_top_main_menu ul.top-menu[data-depth="1"]:has(> li.manufacturer) {
  column-count: 3 !important;
  column-gap: 1.5rem;
  display: block !important;
  /* Override any flex rules that might leak in */
  flex-wrap: unset !important;
}

/* Brand items: clean normal-weight items, no bullet, ink links */
#manufacturers li.manufacturer > a[data-depth="1"] {
  font-weight: 400;
  color: var(--clv-ink) !important;
  font-size: 0.88rem;
  padding-left: 0.6rem;
  display: block;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}
#manufacturers li.manufacturer > a[data-depth="1"]:hover {
  color: #1a1d6e !important;
}

/* No bullet */
#manufacturers li.manufacturer > a[data-depth="1"]::before {
  content: none;
}


/* Spacing between brand rows */
#manufacturers li.manufacturer {
  margin-bottom: 0.25rem;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

/* ── gwiazdki opinii NAD ceną + smooth-scroll ──────────────── */
html { scroll-behavior: smooth; }
.comments-note-link {
  text-decoration: none;
  display: inline-block;
}
.comments-note-link:hover {
  opacity: 0.85;
}
/* Ukryj etykietę "Oceń" / "Grade" - zostają same gwiazdki */
.comments-note-link .comments-note > span {
  display: none;
}
/* Ukryj duplikat summary pod formularzem */
.product-additional-info .product-comments-additional-info {
  display: none;
}

/* solidny fix układu kart opinii (flexbox, scoped do #product-comments-list) */

/* === KARTA = FLEX CONTAINER (eliminuje float chaos) === */
#product-comments-list .product-comment-list-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--clv-line);
  border-radius: 6px;
  padding: 16px 20px;
  margin-bottom: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  margin-left: 0;
  margin-right: 0;
  float: none;
}

/* === LEWA KOLUMNA: autor + gwiazdki + data === */
#product-comments-list .product-comment-list-item .comment-infos,
#product-comments-list .product-comment-list-item .col-sm-3 {
  flex: 0 0 180px;
  max-width: 180px;
  float: none;
  height: auto;
  min-height: 0;
  width: auto;
  padding: 0;
}

/* === PRAWA KOLUMNA: treść + łapki === */
#product-comments-list .product-comment-list-item .comment-content,
#product-comments-list .product-comment-list-item .col-sm-9 {
  flex: 1;
  min-width: 0;
  float: none;
  height: auto;
  min-height: 0;
  width: auto;
  padding: 0;
}

/* === UKRYJ zdublowany tytuł === */
#product-comments-list .comment-content .h4 {
  display: none;
}

/* === GWIAZDKI złote #FECD2F === */
#product-comments-list .grade-stars .star-on,
#product-comments-list .grade-stars .star-on svg,
#product-comments-list .grade-stars .grade-star-on { color: #FECD2F; fill: #FECD2F; }
#product-comments-list .grade-stars .star-off,
#product-comments-list .grade-stars .star-off svg,
#product-comments-list .grade-stars .grade-star-off { color: #ddd; fill: #ddd; }

/* === AUTOR / DATA === */
#product-comments-list .comment-author { font-weight: 600; margin-bottom: 4px; }
#product-comments-list .comment-date { font-size: 0.85rem; color: #888; }

/* === TREŚĆ === */
#product-comments-list .comment-content { line-height: 1.6; color: #333; }

/* === ŁAPKI === */
#product-comments-list .comment-usefulness,
#product-comments-list .comment-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font-size: 0.85rem;
  color: #666;
}

/* === MOBILE: kolumny pod sobą === */
@media (max-width: 767px) {
  #product-comments-list .product-comment-list-item {
    flex-direction: column;
    gap: 8px;
  }
  #product-comments-list .product-comment-list-item .comment-infos,
  #product-comments-list .product-comment-list-item .col-sm-3 {
    flex: none;
    max-width: 100%;
  }
}

/* === UKRYJ dublet nagłówka sekcji opinii [0,1,0,0] > każdej klasy === */
#product-comments-list-header { display: none; }

/* === marginesy gwiazdki+cena - specyficzność wygrywa bez siły === */

#add-to-cart-or-refresh .product-comments-additional-info { margin: 0; }
/* theme.css: .product-prices { margin: 20px 0 } [0,0,1,0] */
/* .product-prices.js-product-prices = [0,0,2,0] - wygrywa */
.product-prices.js-product-prices { margin: 0 0 20px; }

/* hide tax/shipping/delivery label on product page */
/* theme.css only sets margin-left/vertical-align on this selector, not display - !important not needed. */
.tax-shipping-delivery-label {
    display: none;
}

/* unit price - smaller font, orange color */
/* theme.css only sets margin-bottom on .product-unit-price - no font-size/color override. */
.product-unit-price {
    font-size: 0.65em;
    color: #F39200;
}

/* hide product condition (Stan: Nowy) - redundant for this shop */
.product-condition { display: none; }

/* hide tax label on product cards */
/* theme.css: .product-prices .tax-shipping-delivery-label = (0,2,0); !important ensures override */
.product-prices .tax-shipping-delivery-label {
    display: none !important;
}

/* ── 12. EVER BLOG TWEAKS ─────────────────────────────────────── */

/* hide publication date on single post page (2nd p.mb-3 inside post-intro = "Publication date:") */
body#module-everpsblog-post .everpsblog-post-intro p.mb-3:nth-of-type(2) { display: none; }

/* hide date on listing cards (scoped to everpsblog-listing-card - safe on rest of site) */
.everpsblog-listing-card p.small.text-muted { display: none; }

/* 3-column listing card: title | excerpt | Read-more - desktop row, mobile stack */
.everpsblog-listing-card .card-body {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
}
.everpsblog-listing-card .card-body > h2 {
  flex: 0 0 25%;
  margin-bottom: 0;
}
.everpsblog-listing-card .card-body > div.everpsblogcontent {
  flex: 1 1 auto;
  margin-bottom: 0;
}
.everpsblog-listing-card .card-body > div.mt-auto {
  flex: 0 0 auto;
  margin-top: 0 !important;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .everpsblog-listing-card .card-body {
    flex-direction: column;
    align-items: flex-start;
  }
  .everpsblog-listing-card .card-body > h2,
  .everpsblog-listing-card .card-body > div.everpsblogcontent,
  .everpsblog-listing-card .card-body > div.mt-auto {
    flex: none;
    width: 100%;
    white-space: normal;
  }
}

/* Hide comments clearfix section on blog post pages only */
body#module-everpsblog-post .container.clearfix { display: none; }


/* 3a: hide the image-wrapper itself */
body[id^="module-everpsblog"] .everpsblog-image-wrapper:has(img[src*="/img/logo"]) { display: none; }

/* 3b: collapse the col-lg-5 image column so no dead space is left */
body[id^="module-everpsblog"] .everpsblog-listing-card .row:has(.everpsblog-image-wrapper img[src*="/img/logo"]) > div:first-child {
  display: none;
}

/* 3c: expand text column to full width when image column is gone */
body[id^="module-everpsblog"] .everpsblog-listing-card .row:has(.everpsblog-image-wrapper img[src*="/img/logo"]) > div:last-child {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
}

/* kolor zestawy nasze marki*/
#_top_main_menu #category-5 > a,
#_top_main_menu #manufacturers > a,
#sidevertical_menu #cpcategory-5 > a,
#sidevertical_menu #manufacturers > a {
  color: #00ACED !important;
}

/* Hover: przywraca globalny link-hover (brand blue), ktory !important powyzej by zabilo */
#_top_main_menu #category-5 > a:hover,
#_top_main_menu #manufacturers > a:hover,
#sidevertical_menu #cpcategory-5 > a:hover,
#sidevertical_menu #manufacturers > a:hover {
  color: var(--clv-blue) !important;
}

/* strzalki w #product-modal */
#product-modal .modal-body figure { position: relative; }
#product-modal .cl-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  color: #888;
  font-size: 2.5rem;
  line-height: 1;
  padding: .5rem 1rem;
  cursor: pointer;
  z-index: 2;
}
#product-modal .cl-nav:hover { color: var(--clv-blue); }
#product-modal .cl-nav-prev { left: 0; }
#product-modal .cl-nav-next { right: 0; }

/* tytul wesalikami */
h1.productpage_title { text-transform: uppercase; }

.product-meta-table {
  clear: both;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 4px 24px;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
  font-size: 14px;
}
.product-meta-table dt { color: #555; font-weight: 400; margin: 0; }
.product-meta-table dd { color: #2E3092; font-weight: 700; margin: 0; }

.js-product-add-to-cart .product-double-quantity {
  display: flex !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  margin-bottom: 7px;
}
.js-product-add-to-cart .product-double-quantity::after {
  content: "szt." !important;
  font-size: 13px;
  color: #666;
}
.js-product-add-to-cart .product-double-quantity .control-label {
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.js-product-add-to-cart .product-double-quantity .control-label::after { content: ":"; }
.js-product-add-to-cart .product-double-quantity .qty {
  float: none !important;
  margin: 0 !important;
  width: auto !important;
}
.js-product-add-to-cart .input-group.bootstrap-touchspin {
  display: flex !important;
  align-items: center;
  width: auto !important;
  gap: 6px;
}
.js-product-add-to-cart .input-group.bootstrap-touchspin input.form-control {
  width: 48px !important;
  height: 34px !important;
  text-align: center;
  margin: 0 !important;
}
/* Kontener strzalek. */
.js-product-add-to-cart .input-group-btn-vertical {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  gap: 4px;
  float: none !important;
  position: static !important;
}

/* theme.css daje minusowi margin-top:-2px */
.js-product-add-to-cart .input-group-btn-vertical .bootstrap-touchspin-down {
  margin-top: 0 !important;
}

/* theme.css daje przyciskim margin-left:-1px padding:8px 10px */
.js-product-add-to-cart .input-group-btn-vertical > .btn {
  margin-left: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

.js-product-add-to-cart .input-group-btn-vertical .btn-touchspin {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  width: 34px !important;
  border: 0 !important;
  border-radius: 4px !important;
  line-height: 1 !important;
}

.js-product-add-to-cart .input-group-btn-vertical i.material-icons {
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-size: 18px !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  color: #fff !important;
  margin: 0 !important;
}

/* theme.css: strzalki \E5CE / \E5CF. */
.js-product-add-to-cart .input-group-btn-vertical .touchspin-up::after {
  content: "\E145" !important;
  color: #fff !important;
}
.js-product-add-to-cart .input-group-btn-vertical .touchspin-down::after {
  content: "\E15B" !important;
  color: #fff !important;
}

/* theme.css: .add ma float:left, przez co przycisk koszyka wchodzil obok pola ilosci */
.js-product-add-to-cart .product-quantity .add {
  float: none !important;
  clear: both;
  /* theme.css: .add ma margin-inline:15px i width:50% -> przycisk stal 15px
     w prawo od reszty kolumny (zmierzone: left 691 vs 676 u pozostalych). */
  margin-inline: 0 !important;
  width: auto !important;
}
.js-product-add-to-cart .product-quantity .add .btn { width: auto; }

.product-comments-additional-info .star-content {
  margin-left: -4px !important;
}
.product-comments-additional-info .star:first-child { margin-left: 0 !important; }

.product-comments-additional-info .comments-note { margin-bottom: 10px !important; }
.product-prices.js-product-prices { margin-bottom: 10px !important; }
.js-product-add-to-cart { padding: 10px 0 !important; }

/* Odstep kreska pod marka -> gwiazdki. Byl 40px = dwa marginesy po 20*/
.product-information .product-short-description:empty { margin-bottom: 0 !important; }
.productpage-attributes-items { margin-bottom: 10px !important; }

/* ===kolor marki pod nazwa produktu === */
.brand-infos,
.brand-infos .label,
.brand-infos a { color: #00ACED !important; }

/* === miniatury w kolumnie po lewej. === */
@media (min-width: 768px) {
  #main .images-container {
    --cl-thumb: 90px;
    --cl-thumb-gap: 16px;
    --cl-thumb-visible: 4;
    --cl-thumb-max-h: calc(var(--cl-thumb) * var(--cl-thumb-visible) + var(--cl-thumb-gap) * (var(--cl-thumb-visible) - 1));

    /* Szerokosc strzalki na duzym zdjeciu */
    --cl-arrow-w: 56px;

    /* Odstep miedzy kolumna miniatur a zdjeciem.*/
    --cl-gap: 24px;

    display: flex !important;
    flex-direction: row !important;
    gap: var(--cl-gap);
    align-items: flex-start;
  }
  #main .images-container .product-cover {
    order: 2 !important;
    flex: 1 1 auto !important;
    min-width: 0;
    position: relative;

    /* Miejsce na strzalki */
    padding-left: var(--cl-arrow-w);
    padding-right: var(--cl-arrow-w);

    /* Motyw daje tu overflow:hidden przez co strzalka wstecz byla przycinanapo lewej.*/
    overflow: visible;
  }
  #main .images-container .js-qv-mask {
    order: 1 !important;
    flex: 0 0 var(--cl-thumb) !important;
    width: var(--cl-thumb) !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  #main .images-container #additional-carousel {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--cl-thumb-gap);
    margin: 0;
    padding: 0;
    list-style: none;
    width: var(--cl-thumb) !important;

    max-height: var(--cl-thumb-max-h);
    overflow-y: auto;
    /* min-height:0 obowiazkowo: bez tego automatyczny minimalny rozmiar elementu flex
       rozpiera liste do wysokosci tresci i max-height nie ma prawa zadzialac. */
    min-height: 0;
  }
  #main .images-container .thumb-container {
    width: var(--cl-thumb) !important;
    max-width: var(--cl-thumb) !important;
    flex: 0 0 auto;
    padding: 0 !important;
    margin: 0 !important;
  }
  #main .images-container .thumb-container img {
    width: 100% !important;
    height: auto !important;
  }
}

/* === strzalki przewijania kolumny miniatur === */
#main .images-container .cl-thumbs-arrow,
#product-modal .cl-thumbs-arrow {
  flex: 0 0 auto;
  align-self: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.11);
  color: #222;
  cursor: pointer;
}
#main .images-container .cl-thumbs-arrow::before,
#product-modal .cl-thumbs-arrow::before {
  font-family: "Material Icons";
  font-size: 24px;
  line-height: 38px;
  display: block;
}
#main .images-container .cl-thumbs-up::before,
#product-modal .cl-thumbs-up::before { content: "\E316"; }
#main .images-container .cl-thumbs-down::before,
#product-modal .cl-thumbs-down::before { content: "\E313"; }
/* Thumb-scroller arrow hover: brand mint (secondary accent) */
#main .images-container .cl-thumbs-arrow:hover,
#product-modal .cl-thumbs-arrow:hover {
  color: var(--clv-mint);
}

/* === okno ze zdjeciami, kolumna miniatur === */
#product-modal #thumbnails {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
#product-modal .js-modal-mask.mask {
  overflow-y: auto !important;
  margin: 0 !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#product-modal .js-modal-mask.mask::-webkit-scrollbar { display: none; }
#product-modal .js-modal-product-images {
  margin: 0;
  padding: 0;
  list-style: none;
}

#product-modal .js-modal-arrows { display: none !important; }

/* === ramka miniatur w oknie ze zdjeciami === */
#product-modal .js-modal-mask .thumb-container .thumb {
  border: 1px solid var(--clv-line);
  cursor: pointer;
}
#product-modal .js-modal-mask .thumb-container .thumb.selected {
  border-color: #2936cc;
}

/* Pasek przewijamy strzalkami, wiec systemowy suwak jest zbedny. Dotyczy tez mobile,
   gdzie pasek jest poziomy i przesuwa sie palcem. */
#main .images-container #additional-carousel {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#main .images-container #additional-carousel::-webkit-scrollbar { display: none; }

/* Szablon renderuje .customNavigation przy 4 i wiecej zdjeciach, a motyw pokazuje je
   dopiero po najechaniu na .js-qv-mask (theme.css: opacity 0, potem :hover opacity 1).*/
#main .images-container .customNavigation { display: none !important; }

/* Markup wstrzykuje custom.js, funkcja clCoverArrows(), i tylko przy dwoch i wiecej zdjeciach. */
#main .images-container .cl-cover-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;

  /* Pole klikalne, nie sam szewron. Szewron zostaje maly, bo rysuje go font-size ponizej,
     nie te wymiary. Wysokosc 96 zdejmuje celowanie w pionie.  */
  width: var(--cl-arrow-w, 56px);
  height: 96px;

  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: none;
  color: var(--clv-mint);
  cursor: pointer;

  /* pointer-events razem z opacity. */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
#main .images-container .product-cover.cl-cover-hover .cl-cover-arrow,
#main .images-container .product-cover.cl-arrows-on .cl-cover-arrow {
  opacity: 1;
  pointer-events: auto;
}
#main .images-container .cl-cover-arrow::before {
  font-family: "Material Icons";
  font-size: 40px;
  line-height: 1;
  display: block;
}
/* Obie strzalki stoja przy zewnetrznych krawedziach galerii. */
#main .images-container .cl-cover-prev { left: calc(-1 * var(--cl-gap)); }
#main .images-container .cl-cover-next { right: 0; }
#main .images-container .cl-cover-prev::before { content: "\E314"; }
#main .images-container .cl-cover-next::before { content: "\E315"; }

/* Na desktopie kresek nie ma, tam nawigacja to kolumna miniatur i strzalki na zdjeciu. */
#main .images-container .cl-dots { display: none; }


@media (max-width: 767px) {
  /* To jest powod, dla ktorego zdjecie bylo male mimo pasa na 100%. */
  #product .page-content .product-leftside { width: 100%; }

  #main .images-container .js-qv-mask { display: none !important; }
  #main .images-container .product-cover.cl-has-slider > img.js-qv-product-cover { display: none !important; }

  #main .images-container .cl-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #main .images-container .cl-slider::-webkit-scrollbar { display: none; }
  #main .images-container .cl-slide {
    flex: 0 0 100%;
    max-width: 100%;
    scroll-snap-align: center;
    /* stop: palec nie przeskoczy dwoch zdjec naraz przy mocniejszym machnieciu */
    scroll-snap-stop: always;
  }
  #main .images-container .cl-slide img {
    display: block;
    width: 100%;
    height: auto;
  }

  #main .images-container .cl-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 16px 0 0;
    padding: 0;
  }
  #main .images-container .cl-dot {
    width: 28px;
    height: 3px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #d9d9d9;
    cursor: pointer;
    transition: background 0.2s ease;
  }
  #main .images-container .cl-dot.is-active { background: #2e3092; }

  #main .images-container .cl-thumbs-arrow { display: none !important; }
}

/* === Nagłówek: ikony clovin-icons, wyszukiwarka z lupą, kwota koszyka === */

@font-face {
  font-family: 'clovin-icons';
  src: url('../fonts/clovin-icons.woff2') format('woff2');
  font-weight: normal; font-style: normal; font-display: swap;
}
.cico {
  font-family: 'clovin-icons' !important;
  font-style: normal; font-weight: normal; font-variant: normal;
  text-transform: none; line-height: 1; speak: none;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

/* --- Ikony: reset masek SVG / ligatur material-icons --- */
#header #_desktop_user_info .account .account-icon,
#_desktop_cart .carthome, #_mobile_cart .carthome {
  -webkit-mask-image: none !important; mask-image: none !important;
  background: none !important; width: auto !important; height: auto !important;
}
/* konto (osoba) */
#header #_desktop_user_info .account .account-icon::before {
  font-family: 'clovin-icons'; content: "a"; font-size: 20px; color: var(--clv-mint);
}
/* koszyk (wózek) */
#_desktop_cart .carthome::before, #_mobile_cart .carthome::before {
  font-family: 'clovin-icons'; content: "c"; font-size: 27px; color: var(--clv-mint);
}
/* ulubione (gwiazdka) - stfeature: widoczna ikona to mask-image na samym <a>
   (nie na <i>), więc reset maski na linku i glif clovin przez ::before */
.head-wishlist .ap-btn-wishlist {
  -webkit-mask-image: none !important; mask-image: none !important;
  background: none !important;
}
.head-wishlist .ap-btn-wishlist .material-icons { font-size: 0 !important; width: auto !important; }
.head-wishlist .ap-btn-wishlist::before {
  font-family: 'clovin-icons'; content: "w"; font-size: 24px; color: var(--clv-mint); line-height: 1;
}
/* telefon / mail w górnym pasku (cp_headercms1, ligatury material-icons) */
#cpheadercms1 a[href^="tel:"] .material-icons,
#cpheadercms1 a[href^="mailto:"] .material-icons { font-size: 0 !important; width: auto !important; }
#cpheadercms1 a[href^="tel:"] .material-icons::before {
  font-family: 'clovin-icons'; content: "p"; font-size: 17px; color: var(--clv-mint);
}
#cpheadercms1 a[href^="mailto:"] .material-icons::before {
  font-family: 'clovin-icons'; content: "m"; font-size: 17px; color: var(--clv-mint);
}

/* --- Wyszukiwarka: pole 48px, lupa wewnątrz pola (bez przycisku z tekstem) --- */
#header #search_block_top .searchtoggle form,
#header #search_widget .searchtoggle form {
  position: relative; display: block; min-height: 48px;
}
/* .cpsearch-main bywa float - wyzeruj, żeby form nie kolapsował (lupa centruje się względem 48px) */
#header #search_block_top .cpsearch-main { float: none !important; height: 48px; }
#header #search_block_top #search_query_top,
#header #search_widget input[type="text"] {
  height: 48px !important; width: 100% !important;
  border: 1.5px solid #d3d8e0 !important; border-radius: 12px !important;
  padding: 0 52px 0 18px !important; font-size: 18px !important;
  color: #2b2b2b !important; background: #fff !important; box-shadow: none !important;
}
#header #search_block_top #search_query_top:focus,
#header #search_widget input[type="text"]:focus { border-color: #2E3092 !important; outline: none !important; }
#header #search_block_top #search_query_top::placeholder,
#header #search_widget input::placeholder { color: #6b7280; opacity: 1; }
#header #search_block_top button[type="submit"],
#header #search_widget button[type="submit"] {
  position: absolute; right: 5px; top: 50%; transform: translateY(-50%);
  width: 42px !important; height: 42px !important; min-width: 0 !important;
  padding: 0 !important; margin: 0 !important; background: transparent !important;
  border: 0 !important; border-radius: 9px !important; box-shadow: none !important;
  display: flex !important; align-items: center; justify-content: center; z-index: 2;
}
#header #search_block_top button[type="submit"]:hover,
#header #search_widget button[type="submit"]:hover { background: #f0f2f7 !important; }
#header #search_block_top button[type="submit"] .submit-text,
#header #search_widget button[type="submit"] .submit-text { display: none !important; }
#header #search_block_top button[type="submit"] .cico,
#header #search_widget button[type="submit"] .cico { font-size: 22px; color: var(--clv-mint); }

/* --- Koszyk: widoczna kwota (desktop), obszar wyśrodkowany --- */
#_desktop_cart .cart-amount {
  display: inline-flex; flex-direction: column; align-items: flex-start;
  justify-content: center; line-height: 1.2; margin-left: 10px; vertical-align: middle;
  min-width: 66px;
}
#_desktop_cart .cart-amount .cart-amount-label { font-size: 12px; font-weight: 500; color: #6b7280; }
#_desktop_cart .cart-amount .cart-amount-value {
  font-size: 15px; font-weight: 600; color: #2E3092;
  font-variant-numeric: tabular-nums;
}
/* na mniejszych ekranach chowamy kwotę (zostaje sam licznik) */
@media (max-width: 991px) { #_desktop_cart .cart-amount { display: none !important; } }

#header #_top_main_menu #top-menu > li > a[data-depth="0"],
#header .header-top-main .top-menu > li > a[data-depth="0"] {
  color: var(--clv-ink) !important; font-weight: 600 !important; font-size: 16px !important;
}
/* Ścieśnienie odstępów, żeby 8 pozycji przy 16px/600 zmieściło się w jednej linii
   (kontener ~1170px; 15px marginesu powodowało zawijanie ostatniej pozycji). */
#header .header-top-main #_top_main_menu li,
#header .header-top-main.bg_main #_top_main_menu li { margin-inline: 8px !important; }

/* --- Obszary klikalne akcji nagłówka + widoczny focus (dostępność) --- */
#header .track-order, #header .account.top-link,
#header .head-wishlist > a, #header .head-compare > a,
#_desktop_cart .blockcart > a, #_desktop_cart .header.blockcart-header {
  min-height: 44px;
}
#header a:focus-visible, #header button:focus-visible {
  outline: 2px solid #2E3092; outline-offset: 2px; border-radius: 6px;
}

/* === Nagłówek: layout desktop (≥992px) === */
@media (min-width: 992px) {

/* --- Górny pasek: telefon/mail vs track/konto na wspólnej osi --- */
.header-nav .container { align-items: center !important; justify-content: space-between !important; min-height: 44px; }
.header-nav .left-nav, .header-nav .right-nav {
  float: none !important; display: flex !important; align-items: center !important; height: auto !important;
}
#cpheadercms1, #cpheadercms1 .contact-link { display: flex; align-items: center; }
#cpheadercms1 .contact-link { gap: 24px; }
#cpheadercms1 .contact-link a {
  display: inline-flex; align-items: center; gap: 8px; line-height: 1;
  color: #2b2b2b; font-size: 14px;
}
/* separator telefon|mail - spójny z motywowym .top-link::after (18px, #e5e5e5) */
#cpheadercms1 .contact-link a[href^="tel:"] { position: relative; margin-right: 12px; }
#cpheadercms1 .contact-link a[href^="tel:"]::after {
  content: ""; width: 1px; height: 18px; background: var(--clv-line);
  position: absolute; right: -12px; top: 50%; transform: translateY(-50%);
}
#cpheadercms1 a[href^="tel:"] .material-icons::before,
#cpheadercms1 a[href^="mailto:"] .material-icons::before { font-size: 18px; }
/* track/konto: równe odstępy, wyśrodkowanie, ikona+tekst, separator + bold konto */
#header #_desktop_user_info { display: flex; align-items: center; gap: 20px; }
#header #_desktop_user_info .track-order,
#header #_desktop_user_info .account.top-link {
  display: inline-flex; align-items: center; gap: 8px; line-height: 1; margin: 0;
}
#header #_desktop_user_info .track-order .track-icon { margin: 0; }
#header #_desktop_user_info .account .account-icon::before { font-size: 19px; }
/* pogrubione „Moje konto" (separator daje motyw: .top-link::after - nie dublować!) */
#header #_desktop_user_info .account.top-link span { font-weight: 600; }

/* --- Szerokość kontenera nagłówka (1278px zamiast 1170px) --- */
.header-nav .container,
.header-top .header-div .container,
.header-top-main .container { max-width: 1278px !important; }

/* --- Główny wiersz: logo | wyszukiwarka (rośnie) | akcje, wspólna oś --- */
.header-top .header-div .container { align-items: center !important; }
.header-top .header-left { float: none !important; flex: 0 0 auto !important; padding-left: 34px; }
/* logo mniejsze - do proporcji (~72px wys. zamiast 87px) */
.header-top .header_logo img.logo { height: 72px !important; width: auto !important; }
.header-top .header-center {
  flex: 0 1 720px !important; max-width: 720px !important;
  margin: 0 auto 0 34px !important; width: auto !important; /* tuż przy logo, wolna przestrzeń przed akcjami */
}
#header #search_block_top { width: 100% !important; float: none !important; max-width: none !important; }

/* --- Akcje: jednolite rozmiary ikon, wyrównanie, równe odstępy --- */
.header-top .header-right { gap: 20px !important; align-items: center !important; }
.header-top .header-right .head-compare,
.header-top .header-right .head-wishlist {
  display: flex !important; align-items: center; margin: 0 !important;
}
/* compare (⇄): brand mint zamiast czarnego, rozmiar jak reszta */
.head-compare .ap-btn-compare {
  background-color: var(--clv-mint) !important;
  -webkit-mask-size: 23px !important; mask-size: 23px !important;
  width: 24px !important; height: 24px !important; display: inline-block;
}
/* ujednolicone rozmiary glifów ikon akcji (koszyk optycznie cięższy → mniejszy) */
.head-wishlist .ap-btn-wishlist::before { font-size: 23px !important; }
#_desktop_cart .carthome::before { font-size: 22px !important; }

/* --- Koszyk: ikona + licznik + „Koszyk / kwota” z czytelnymi odstępami --- */
#_desktop_cart .blockcart-header { display: flex !important; align-items: center; }
#_desktop_cart .icon_menu { display: inline-flex !important; align-items: center; position: relative; }
#_desktop_cart .carthome { position: relative; }
/* licznik jako badge na ikonie wózka (nie zlewa się z napisem „Koszyk”) */
#_desktop_cart .cart-products-counthome {
  position: absolute; top: -6px; left: 16px; right: auto;
  width: 17px; height: 17px; line-height: 17px; font-size: 11px;
  border: 2px solid #fff; background-color: #2E3092;
}
#_desktop_cart .cart-amount { margin-left: 12px !important; }

}

/* === Nagłówek: mobile (≤991px) === */
@media (max-width: 991px) {
  /* Górny pasek: telefon po lewej, konto po prawej (nie wyśrodkowane) */
  .header-nav .container { display: flex !important; align-items: center !important; justify-content: space-between !important; }
  .header-nav .left-nav { display: flex !important; align-items: center !important; float: none !important; }
  #cpheadercms1, #cpheadercms1 .contact-link { display: flex !important; align-items: center !important; }
  #cpheadercms1 .contact-link a[href^="mailto:"] { display: none !important; } /* mobile: tylko telefon */
  #cpheadercms1 .contact-link a[href^="tel:"] { display: inline-flex !important; align-items: center; gap: 6px; font-size: 13px; }
  .header-nav .left-nav, .header-nav .right-nav { min-height: 44px; }
  .header-nav .right-nav { display: flex !important; align-items: center !important; float: none !important; margin-left: auto; }
  #header #_desktop_user_info { display: flex !important; align-items: center !important; position: static !important; gap: 0; }
  /* tablet/mobile: ukryj track (jak przy 720 i w artefakcie mobile) - usuwa ściśnięcie */
  #header #_desktop_user_info .track-order { display: none !important; }
  /* skrócona etykieta „Konto" na mobile */
  #header #_desktop_user_info .account.top-link span { font-size: 0 !important; }
  #header #_desktop_user_info .account.top-link span::after { content: "Konto"; font-size: 13px; font-weight: 600; }
  #header #_desktop_user_info .account .account-icon::before { font-size: 18px; color: var(--clv-mint); }

  /* Ulubione (gwiazdka) widoczne w rzędzie akcji przy koszyku; compare pozostaje ukryte */
  #header .head-wishlist { display: inline-flex !important; align-items: center !important; margin-right: 14px; }
  #header .head-wishlist .ap-btn-wishlist::before { font-size: 22px !important; }
}


/* === Nagłówek: wyrównanie i rozmiary ikon === */

/* Wspólne: nośniki ikon jako wyśrodkowane pudełka o stałym rozmiarze */
#cpheadercms1 .contact-link a .material-icons,
#header #_desktop_user_info .account .account-icon,
#header .head-wishlist .ap-btn-wishlist,
#header .head-compare .ap-btn-compare,
#_desktop_cart .carthome, #_mobile_cart .carthome {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  line-height: 1 !important; vertical-align: middle;
}

/* Górny pasek: telefon/mail - glif 17px, pudełko 20px */
#cpheadercms1 .contact-link a { align-items: center !important; }
#cpheadercms1 .contact-link a .material-icons { width: 20px !important; height: 20px !important; }
#cpheadercms1 .contact-link a[href^="tel:"] .material-icons::before,
#cpheadercms1 .contact-link a[href^="mailto:"] .material-icons::before { font-size: 17px !important; line-height: 1 !important; }

/* Konto: mniejsza ikona (18px), wyśrodkowana z „Moje konto" */
#header #_desktop_user_info .account.top-link { align-items: center !important; }
#header #_desktop_user_info .account .account-icon { width: 20px !important; height: 20px !important; }
#header #_desktop_user_info .account .account-icon::before { font-size: 18px !important; line-height: 1 !important; }

/* Track (kurier): wyśrodkowany, rozmiar spójny z tekstem */
#header #_desktop_user_info .track-order { align-items: center !important; }
#header #_desktop_user_info .track-order .track-icon {
  width: 20px !important; height: 20px !important;
  -webkit-mask-size: 19px !important; mask-size: 19px !important;
}

/* Akcje: wspólna oś pionowa + jednolity rozmiar ~20-21px.
   UWAGA: nie wymuszamy display na .head-compare/.head-wishlist - inaczej odkryłoby
   je na mobile (motyw je chowa). Wyrównanie zapewnia flex na .header-right. */
#header .header-right #_desktop_cart .blockcart-header,
#header .header-right #_desktop_cart .icon_menu { display: inline-flex !important; align-items: center !important; }

#header .head-wishlist .ap-btn-wishlist { width: 24px !important; height: 24px !important; }
#header .head-wishlist .ap-btn-wishlist::before { font-size: 20px !important; line-height: 1 !important; }

#_desktop_cart .carthome { width: 24px !important; height: 24px !important; }
#_desktop_cart .carthome::before { font-size: 21px !important; line-height: 1 !important; }

/* Compare: maska = proste ⇄ (dwie proste strzałki) */
#header .head-compare .ap-btn-compare {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h14l-3.5-3.5M21 16H7l3.5 3.5'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h14l-3.5-3.5M21 16H7l3.5 3.5'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important; mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important; mask-position: center !important;
  -webkit-mask-size: 22px !important; mask-size: 22px !important;
  background-color: var(--clv-mint) !important;
  width: 24px !important; height: 24px !important;
}

/* Track (kurier): maska = ciężarówka */
#header #_desktop_user_info .track-order .track-icon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 5h13v10H1zM14 8h4l3 3v4h-7'/%3E%3Ccircle cx='6' cy='18' r='1.6'/%3E%3Ccircle cx='17.5' cy='18' r='1.6'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 5h13v10H1zM14 8h4l3 3v4h-7'/%3E%3Ccircle cx='6' cy='18' r='1.6'/%3E%3Ccircle cx='17.5' cy='18' r='1.6'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important; mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important; mask-position: center !important;
  -webkit-mask-size: 20px !important; mask-size: 20px !important;
  background-color: #2b2b2b !important;
  width: 22px !important; height: 22px !important;
}

/* === Nagłówek: ikony bez italic, liczniki, menu 992-1199px === */

/* Ikony nigdy italic - font clovin-icons dziedziczył font-style */
#cpheadercms1 .contact-link a .material-icons::before,
#header #_desktop_user_info .account .account-icon::before,
#header .head-wishlist .ap-btn-wishlist::before,
#_desktop_cart .carthome::before, #_mobile_cart .carthome::before,
.header-top-main .menu-icon .material-icons { font-style: normal !important; }

/* Liczniki (badge) ujednolicone: to samo koło 17px, navy, na ikonie */
#header .head-compare, #header .head-wishlist,
#_desktop_cart .icon_menu { position: relative; }
#header .head-wishlist .ap-total-wishlist,
#header .head-compare .ap-total-compare,
#header .head-compare .ap-total,
#_desktop_cart .cart-products-counthome {
  position: absolute !important; top: -7px !important; left: 15px !important; right: auto !important;
  width: 17px !important; height: 17px !important; min-width: 17px !important;
  padding: 0 !important; margin: 0 !important; border-radius: 50% !important;
  background-color: #2E3092 !important; color: #fff !important;
  font-size: 11px !important; font-weight: 600 !important; line-height: 13px !important;
  text-align: center !important; border: 2px solid #fff !important; box-sizing: border-box !important;
  /* display BEZ !important - JS chowa zerowe liczniki inline-stylem */
  display: flex; align-items: center; justify-content: center;
}

/* Menu: przy 992-1199px 16px/600 nie mieści się w jednej linii → 14px, ciaśniej */
@media (min-width: 992px) and (max-width: 1199px) {
  #header #_top_main_menu #top-menu > li > a[data-depth="0"],
  #header .header-top-main .top-menu > li > a[data-depth="0"] { font-size: 14px !important; }
  #header .header-top-main #_top_main_menu li,
  #header .header-top-main.bg_main #_top_main_menu li { margin-inline: 6px !important; }
  /* górny pasek: mniejszy font i odstępy, żeby mail/track się nie nakładały */
  #cpheadercms1 .contact-link a, #header #_desktop_user_info .track-order,
  #header #_desktop_user_info .account.top-link { font-size: 13px !important; }
  #cpheadercms1 .contact-link { gap: 14px; }
  #header #_desktop_user_info { gap: 14px; }
  /* logo trochę mniejsze, pole i akcje bliżej */
  .header-top .header-center { margin: 0 auto 0 24px !important; }
}

/* === Nagłówek: inset paska, odstęp search↔akcje, hover ikon (≥992px) === */
@media (min-width: 992px) {
  /* Górny pasek: inset 34px jak treść (telefon pod logo, konto nad akcjami) */
  .header-nav .container { padding-left: 34px !important; padding-right: 34px !important; }
  /* Akcje: 34px inset z prawej → odstęp search↔akcje ~89px */
  .header-top .header-right { margin-right: 34px !important; }
}

/* Badge: te same pudełka-nośniki 44px z wyśrodkowaną ikoną → badge na tej samej wysokości */
#header .head-compare, #header .head-wishlist, #_desktop_cart .icon_menu {
  position: relative !important; display: inline-flex !important; align-items: center !important; height: 44px !important;
}
#header .head-compare .ap-btn-compare, #header .head-wishlist .ap-btn-wishlist, #_desktop_cart .carthome {
  height: 24px !important;
}
#header .head-wishlist .ap-total-wishlist,
#header .head-compare .ap-total-compare, #header .head-compare .ap-total,
#_desktop_cart .cart-products-counthome {
  top: 4px !important; left: 14px !important; right: auto !important;
}

/* Jednolity wizualny rozmiar glifów akcji + lupy (21px) */
#header .head-wishlist .ap-btn-wishlist::before { font-size: 21px !important; }
#_desktop_cart .carthome::before { font-size: 21px !important; }
#header .head-compare .ap-btn-compare { -webkit-mask-size: 21px !important; mask-size: 21px !important; }
#header #search_block_top button .cico { font-size: 21px !important; }

/* Hover: tło pod ikoną akcji (compare/wishlist/cart) */
#header .head-compare .ap-btn-compare, #header .head-wishlist .ap-btn-wishlist {
  border-radius: 8px !important; transition: background-color .15s !important;
}
#header .head-compare .ap-btn-compare:hover, #header .head-wishlist .ap-btn-wishlist:hover,
#_desktop_cart .blockcart-header:hover .carthome { background-color: #eef0f7 !important; }
/* obszar hover trochę większy niż ikona */
#header .head-compare .ap-btn-compare, #header .head-wishlist .ap-btn-wishlist,
#_desktop_cart .carthome { padding: 6px !important; box-sizing: content-box !important; }

/* Search bliżej logo (x278) - header-left szerszy niż samo logo */
@media (min-width: 992px) {
  .header-top .header-center { margin-left: 8px !important; }
}

/* === Nagłówek: tablet (600-991px), pełny górny pasek === */
@media (min-width: 600px) and (max-width: 991px) {
  #cpheadercms1 .contact-link a[href^="mailto:"] { display: inline-flex !important; align-items: center; gap: 6px; }
  #header #_desktop_user_info .track-order { display: inline-flex !important; align-items: center; gap: 8px; }
}
@media (max-width: 991px) {
  .header-right { gap: 16px !important; }
}

/* Tablet: odstępy wewnętrzne górnego paska (jak desktop) - bez ściśnięcia */
@media (min-width: 600px) and (max-width: 991px) {
  #cpheadercms1 .contact-link { display: flex !important; align-items: center !important; gap: 20px !important; }
  #cpheadercms1 .contact-link a { display: inline-flex !important; align-items: center !important; gap: 7px; }
  #cpheadercms1 .contact-link a[href^="tel:"] { position: relative; margin-right: 10px; }
  #cpheadercms1 .contact-link a[href^="tel:"]::after {
    content: ""; width: 1px; height: 16px; background: var(--clv-line);
    position: absolute; right: -10px; top: 50%; transform: translateY(-50%);
  }
  #header #_desktop_user_info { display: flex !important; align-items: center !important; gap: 18px !important; }
  #header #_desktop_user_info .track-order,
  #header #_desktop_user_info .account.top-link { display: inline-flex !important; align-items: center !important; gap: 7px; }
}

/* === Nagłówek: rozmiary ikon, badge w rogu, separatory === */

/* Ikony akcji: czyste 24px bez paddingu; hover przez box-shadow (bez przesunięć layoutu) */
#header .head-compare .ap-btn-compare,
#header .head-wishlist .ap-btn-wishlist,
#_desktop_cart .carthome {
  padding: 0 !important; width: 24px !important; height: 24px !important;
  box-sizing: border-box !important; border-radius: 6px !important;
}
#header .head-compare .ap-btn-compare:hover,
#header .head-wishlist .ap-btn-wishlist:hover,
#_desktop_cart .blockcart-header:hover .carthome {
  background-color: #eef0f7 !important; box-shadow: 0 0 0 6px #eef0f7 !important;
}

/* Badge: środek okręgu w prawym górnym rogu ikony (24px) */
#header .head-compare, #header .head-wishlist, #_desktop_cart .icon_menu { position: relative !important; }
#header .head-wishlist .ap-total-wishlist,
#header .head-compare .ap-total-compare, #header .head-compare .ap-total,
#_desktop_cart .cart-products-counthome {
  top: 0px !important; left: 16px !important; right: auto !important;
}

/* Równe gapy ikon: zeruj marginesy bloku koszyka */
#_desktop_cart, #_desktop_cart .blockcart, #_desktop_cart .blockcart-header, #_desktop_cart .icon_menu { margin: 0 !important; }

/* Track (kurier): brand mint i rozmiar jak reszta ikon górnego paska */
#header #_desktop_user_info .track-order .track-icon {
  background-color: var(--clv-mint) !important;
  -webkit-mask-size: 18px !important; mask-size: 18px !important;
  width: 20px !important; height: 20px !important;
}

/* Separatory identyczne: telefon|email == track|konto (18px, offset -10) */
#cpheadercms1 .contact-link { gap: 20px !important; }
#header #_desktop_user_info { gap: 20px !important; }
#cpheadercms1 .contact-link a[href^="tel:"]::after,
#header #_desktop_user_info .top-link::after {
  height: 18px !important; width: 1px !important; background-color: var(--clv-line) !important;
  right: -10px !important; left: auto !important; top: 50% !important; transform: translateY(-50%) !important;
}
#cpheadercms1 .contact-link a[href^="tel:"] { margin-right: 10px !important; }

/* 500px/mobile: konto - ikona i tekst wyśrodkowane pionowo jak telefon */
@media (max-width: 991px) {
  #header #_desktop_user_info .account.top-link { display: inline-flex !important; align-items: center !important; height: auto !important; }
  #header #_desktop_user_info .account .account-icon { display: inline-flex !important; align-items: center !important; }
}

/* 1024: kwota koszyka bez zawijania „zł" */
#_desktop_cart .cart-amount { min-width: 0 !important; }
#_desktop_cart .cart-amount-value, #_desktop_cart .cart-amount-label { white-space: nowrap !important; }

/* .overlay (dimmer dropdown koszyka) jest elementem flex między wishlist a koszykiem */
#header .header-right > .overlay { position: absolute !important; width: 0 !important; height: 0 !important; }

/* Tablet: usuń margines wishlist (dublował gap → nierówne odstępy ikon) */
@media (max-width: 991px) { #header .head-wishlist { margin-right: 0 !important; } }

/* Menu: przy 992-1099px nawet 14px nie mieści się → 13px, ciaśniej (bez zawijania) */
@media (min-width: 992px) and (max-width: 1099px) {
  #header #_top_main_menu #top-menu > li > a[data-depth="0"],
  #header .header-top-main .top-menu > li > a[data-depth="0"] { font-size: 13px !important; }
  #header .header-top-main #_top_main_menu li,
  #header .header-top-main.bg_main #_top_main_menu li { margin-inline: 4px !important; }
}

/* Opis kategorii: przycięcie wysokości + przycisk "czytaj dalej"/"zwiń".
   custom.js: gdy opis mieści się w limicie, zdejmuje clamp i chowa przycisk. */
#js-product-list-header #category-description.cat-desc-clamped {
  max-height: 4.5em;
  overflow: hidden;
  position: relative;
}
#js-product-list-header #category-description.cat-desc-clamped::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1.5em;
  background: linear-gradient(to bottom, transparent, #fff);
  pointer-events: none;
}
/* Rozwinięcie: stan trzyma zaznaczony checkbox stojący PRZED opisem  */
#js-product-list-header .cat-desc-check:checked ~ #category-description.cat-desc-clamped,
#js-product-list-header #category-description.cat-desc-clamped.expanded {
  max-height: none;
  overflow: visible;
}
/* Po rozwinięciu gradient jest zbędny i szarzył ostatnie zdanie - chowamy go. */
#js-product-list-header .cat-desc-check:checked ~ #category-description.cat-desc-clamped::after,
#js-product-list-header #category-description.cat-desc-clamped.expanded::after { content: none; }

/* Etykieta przycisku żyje w CSS, bo w HTML-u jest pusta  */
#js-product-list-header .cat-desc-toggle { margin-bottom: 0; }  /* zeruje bootstrapowe label { margin-bottom: .5rem } */
#js-product-list-header .cat-desc-toggle::after { content: 'czytaj dalej \2192'; }
#js-product-list-header .cat-desc-check:checked ~ .cat-desc-toggle::after { content: 'zwiń \2191'; }
/* Opis mieści się w całości. custom.js dokłada tę klasę i przycisk znika. */
#js-product-list-header .cat-desc-toggle.cat-desc-toggle-hidden { display: none; }
/* Checkbox chowamy wizualnie */
#js-product-list-header .cat-desc-check {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
#js-product-list-header .cat-desc-check:focus-visible ~ .cat-desc-toggle {
  outline: 2px solid var(--clv-blue);
  outline-offset: 2px;
}
.cat-desc-toggle {
  display: inline-block;
  margin-top: 6px;
  cursor: pointer;
  color: var(--clv-ink); /* Clovin brand ink - spójne z konwencją "ink przycisk" */
  font-size: 0.875rem;
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
}
.cat-desc-toggle:hover { color: var(--clv-blue); } /* Clovin link hover - spójne z konwencją "ink → blue hover" */

/* === Baner SEO strony głównej: zwijanie/rozwijanie === */
#cpcmsbanner3 .seo-banner-content.seo-banner-clamped {
/* Przy 485px zza grafiki wyglądał ledwie skrawek tekstu. */
  max-height: 533px;
  overflow: hidden;
  position: relative;
}
#cpcmsbanner3 .seo-banner-content.seo-banner-clamped.expanded {
  max-height: none;
  overflow: visible;
}
/* Odstęp większy niż przy opisie kategorii: tam nad przyciskiem jest gradient,
   który sam robi oddech, a tutaj napis siadał wprost na urwanym zdaniu. */
.seo-banner-toggle { margin-top: 16px; }

/* === Karta produktu: układ cen ===
   Ustawia aktualną cenę, starą cenę i oszczędność w jednym wierszu. */
#main .product-information .current-price {
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
}
#main .product-information .current-price .regular-price,
#main .product-information .current-price .cl-regular-price-next-to-current {
  display: inline-block !important;
  margin: 0 !important;
  color: #2E3092 !important;
  font-size: 0.68em !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-decoration: line-through !important;
  white-space: nowrap;
}
#main .product-information .current-price .cl-save-price-next-to-current,
#main .product-information .current-price .discount,
#main .product-information .current-price .discount-percentage,
#main .product-information .current-price .discount-amount {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--clv-sale) !important;
  font-size: 0.58em !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap;
}

/* === Karta produktu: pozycja sekcji opinii === */
#product-comments-list {
  scroll-margin-top: 20px;
}

/* === Menu: warstwa nad zoomem produktu ===
   Rozwijane menu zasłania galerię produktu. */
#header {
  position: relative;
  z-index: 1001;
}

#header #_top_main_menu .sub-menu,
#header #_top_main_menu .popover {
  z-index: 1002 !important;
  background-color: #fff !important;
}

/* Wylaczenie dymkow (tooltip) przy przyciskach */
.tooltip { display: none !important; }

/* ETS: przywrocenie szerokosci z klas siatki (modul nadpisuje width:100%) */
.links a.eam-box-featured { width: 100%; }                         /* col-xs-12 */
@media (min-width: 544px) {
    .links a.eam-box-featured { width: 50%; }                      /* col-sm-6 */
}
@media (min-width: 768px) {
    .links a.eam-box-featured { width: 50%; }                      /* col-md-6 */
}
@media (min-width: 992px) {
    .links a.eam-box-featured { width: 33.3333%; }                 /* col-lg-4 */
}

/* Ikona kafelka modułu ma renderować się dokładnie tak, jak ikona zwykłego
   kafelka konta (<i class="material-icons">).*/
.page-my-account #content .links a.eam-box-featured .link-item i.ets_svg {
    display: flex;
    align-items: center;
    justify-content: center;   
    width: 100%;
    height: 55px;             
    min-height: 0;             
    margin: 0;               
    padding: 0 0 15px;         
    line-height: 1;
}
.page-my-account #content .links a.eam-box-featured .link-item i.ets_svg svg {
    display: block;
    width: 36px;
    height: 36px;
    float: none;
    margin: 0;
    /* display:block wyłącza też svg { vertical-align: -2px } z front.css,
       przez które ikona siadała 2px niżej niż glif motywu. */
}

.page-my-account #content .page-header,
.page-my-account .page-header {
  margin-top: 28px;
  margin-bottom: 28px;
  text-align: center;
}
.page-my-account .page-header h1,
.page-my-account .page-header .h1 {
  font-size: 1.75rem;
  line-height: 1.3;
  margin: 0;
}

.cat-desc-toggle:hover {
  background: #2E3092;
  border-color: #2E3092;
  color: #fff;
}

.product-notification .product-recommend-content {
  padding-right: 30px;
}

/* === ETS: strony programow, poskromienie ikon === */
body[id^="module-ets_affiliatemarketing"] .ets_svg,
body[id^="module-ets_affiliatemarketing"] .ets_svg svg {
    width: 18px !important;
    height: 18px !important;
    display: inline-block;
    vertical-align: -2px;
}
/* naglowek "Moje nagrody" moze miec odrobine wieksza */
body[id^="module-ets_affiliatemarketing"] h1 .ets_svg,
body[id^="module-ets_affiliatemarketing"] h1 .ets_svg svg {
    width: 24px !important;
    height: 24px !important;
}

/* ETS Panel: cala sekcja wykresow + filtr precz */
#module-ets_affiliatemarketing-dashboard .ets-am-content .panel {
    display: none !important;
}

/* ETS: ikony przyciskow powrotu (inne klasy niz reszta) */
body[id^="module-ets_affiliatemarketing"] .eam-back-section .icon_svg,
body[id^="module-ets_affiliatemarketing"] .eam-back-section .icon_svg svg,
body[id^="module-ets_affiliatemarketing"] .eam-back-section .svg_icon,
body[id^="module-ets_affiliatemarketing"] .eam-back-section .svg_icon svg {
    width: 16px !important;
    height: 16px !important;
    display: inline-block;
    vertical-align: -2px;
}
/* === ETS: strona "Przeksztalc na kupony", lifting === */
#module-ets_affiliatemarketing-voucher .eam-convert-voucher {
    max-width: none;
    margin: 12px auto 0;
}
#module-ets_affiliatemarketing-voucher .eam-convert-voucher > p,
#module-ets_affiliatemarketing-voucher .eam-voucher-form > p {
    font-size: 15px;
    text-align: center;
}
#module-ets_affiliatemarketing-voucher .eam-voucher-form {
    background: #f7f8fb;
    border: 1px solid #e4e7ee;
    border-radius: 10px;
    padding: 28px 32px 24px;
    text-align: center;
}
#module-ets_affiliatemarketing-voucher .eam-voucher-form label {
    font-size: 15px;
    display: block;
    margin-bottom: 6px;
}
#module-ets_affiliatemarketing-voucher .eam-voucher-form .input-group {
    max-width: 220px;
    margin: 0 auto 6px;
}
#module-ets_affiliatemarketing-voucher .eam-voucher-form .form-control {
    text-align: center;
    font-size: 16px;
}
#module-ets_affiliatemarketing-voucher .eam-voucher-form .btn-primary {
    margin-top: 14px;
    padding: 12px 36px;
    font-size: 15px;
    background: #2e3092;
    border-color: #2e3092;
}
#module-ets_affiliatemarketing-voucher .eam-note {
    color: #6b7280;
    font-size: 13px;
    margin-top: 10px;
}
/* tabela kuponow */
#module-ets_affiliatemarketing-voucher .eam-voucher-history { margin-top: 36px; }
#module-ets_affiliatemarketing-voucher .eam-voucher-history h4 { text-align: center; }
#module-ets_affiliatemarketing-voucher .eam-voucher-history table { width: 100%; }
#module-ets_affiliatemarketing-voucher .eam-voucher-history th,
#module-ets_affiliatemarketing-voucher .eam-voucher-history td {
    padding: 10px 12px;
    border-bottom: 1px solid #eceff4;
    vertical-align: middle;
}
#module-ets_affiliatemarketing-voucher .eam-voucher-history thead th {
    border-bottom: 2px solid #d9dee8;
    font-size: 13px;
    text-transform: uppercase;
}
#module-ets_affiliatemarketing-voucher .eam-voucher-form .form-group label {
    display: block;
    width: 100%;
    float: none;
    text-align: center;
}
/* forma i wstep zostaja waskie, historia na pelna szerokosc */
#module-ets_affiliatemarketing-voucher .eam-convert-voucher > p,
#module-ets_affiliatemarketing-voucher .eam-voucher-form {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}
/* na desktopie tabela bez poziomego scrolla */
@media (min-width: 768px) {
    #module-ets_affiliatemarketing-voucher .eam-voucher-history .table-responsive {
        overflow-x: visible;
    }
}

/* ETS stopka: wysrodkowane niebieskie przyciski, hover jasnoniebieski */
body[id^="module-ets_affiliatemarketing"] #main .page-footer {
    float: none;
    width: 100%;
}
body[id^="module-ets_affiliatemarketing"] .eam-back-section {
    text-align: center !important;
    margin-top: 32px;
}
body[id^="module-ets_affiliatemarketing"] .eam-back-section .eam-back-link {
    display: inline-block !important;
    margin: 0 7px;
    padding: 10px 22px;
    background: #2e3092 !important;
    border-radius: 8px;
    color: #fff !important;
    text-decoration: none;
    transition: all .2s ease;
}
/* Hover jak przy "Dodaj do koszyka", newsletterze i przyciskach wishlist/compare:
   navy -> jaśniejszy niebieski (--clv-blue), napis zostaje biały. */
body[id^="module-ets_affiliatemarketing"] .eam-back-section .eam-back-link:hover,
body[id^="module-ets_affiliatemarketing"] .eam-back-section .eam-back-link:focus {
    background: var(--clv-blue) !important;
    color: #fff !important;
}

/* === Ten sam wyglad przyciskow powrotu na POZOSTALYCH podstronach konta ===
   Motyw zdejmuje float tylko dla #my-account (theme.css). */
#main .page-footer:has(.account-link) {
    float: none;
    width: 100%;
    text-align: center;
    margin-top: 32px;
}
/* Fallback dla przegladarek bez :has(). */
.page-customer-account #main .page-footer,
#addresses #main .page-footer,
#address #main .page-footer,
#order-detail #main .page-footer,
#order-return #main .page-footer,
#module-ps_emailalerts-account #main .page-footer,
#module-blockwishlist-lists #main .page-footer,
#module-psgdpr-gdpr #main .page-footer,
#module-przelewy24payment-cards #main .page-footer {
    float: none;
    width: 100%;
    text-align: center;
    margin-top: 32px;
}

.page-footer .account-link {
    display: inline-block !important;
    margin: 0 7px 10px !important;   /* nadpisuje theme.css margin-right: 1rem */
    padding: 10px 22px;
    background: #2e3092 !important;
    border-radius: 8px;
    color: #fff !important;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.2;
    transition: all .2s ease;
}
/* Hover jak w stopce ETS i przy "Dodaj do koszyka": navy -> --clv-blue. */
.page-footer .account-link:hover,
.page-footer .account-link:focus {
    background: var(--clv-blue) !important;
    color: #fff !important;
    text-decoration: none;
}
/* Ikony: material-icons zamiast inline SVG, ale docelowo ten sam rozmiar
   co ikonki w stopce ETS (16px) */
.page-footer .account-link i,
.page-footer .account-link .material-icons {
    font-size: 16px !important;
    line-height: 16px !important;
    vertical-align: -3px;
    margin-right: 5px;
    color: inherit;
}
.page-footer .account-link span {
    vertical-align: middle;
}
@media (max-width: 575px) {
    .page-footer .account-link {
        padding: 10px 16px;
        margin: 0 4px 10px !important;
    }
}

section#wrapper-top { background-color: var(--clv-soft); }
body, #content-wrapper { background-color: #ffffff !important; }

/* === Spójne szare tlo podstron (--clv-soft) === */
section#content { background-color: var(--clv-soft); }
#wrapper { background-color: var(--clv-soft); }

/* === CHECKOUT - przelewy24 i Blik === */

/* Pola modulow platnosci nie plywaja - inaczej kolejna metoda oblewa je z prawej. */
body#checkout .payment-options .form-group {
  float: none;
  width: auto;
}

/* Domkniecie floatow zostawionych przez moduly platnosci. */
body#checkout .additional-information {
  display: flow-root;
}

/* Regulamin sklepu: nowa linia i wspolna lewa krawedz z checkboxami modulow. */
body#checkout #conditions-to-approve {
  clear: both;
  margin-left: 2.875rem;
}

/* Kratka absolutnie po lewej. */
body#checkout section.checkout-step #conditions-to-approve li {
  display: block;
  position: relative;
  padding-left: 1.75rem;
}
body#checkout section.checkout-step #conditions-to-approve li > .pull-xs-left {
  position: absolute;
  left: 0;
  top: 0.125rem;
  margin: 0;
}
body#checkout section.checkout-step #conditions-to-approve .condition-label {
  margin: 0;
}

/* Kratka regulaminu sklepu wyglada tak samo jak kratka Przelewy24. */
body#checkout #conditions-to-approve .custom-checkbox input[type="checkbox"] + span {
  width: 1.125rem;
  height: 1.125rem;
  margin-right: 0;
  border: 2px solid #232323;
}

/* Przycisk BLIK nie dokłada odstepu pod blokiem platnosci. */
body#checkout .js-przelewy24-blik-wrapper > .form-group:last-child {
  margin-bottom: 0;
}

/* Blok BLIK jako jedna calosc - przycisk nalezy do niego, nie do metody ponizej. */
body#checkout .js-przelewy24-blik-wrapper {
  padding: 1rem;
  border-radius: 6px;
  background: var(--clv-soft);
}

/* Linki do regulaminow pogrubione tak samo w obu checkboxach. */
body#checkout .przelewy24-checkbox__label a {
  font-weight: 700;
}

/* Motyw ukrywa nagłówki h2 na stronach CMS o ID 1, 3 i 5 */
body#cms .page-content.page-cms h2 {
  display: block;
}

/* Zdjęcie floata i sztywnej szerokości z bloków treści CMS, także w modalu regulaminu. */
.page-content-container .page-content {
  float: none !important;
  width: auto !important;
}

/* Modal regulaminu w checkoucie: domyślne 500px z Bootstrapa to za mało na taką treść. */
#modal .modal-dialog {
  width: calc(100% - 30px);
  max-width: 900px;
}
