.top-info-bar {
  /* full-bleed background, ale bez łamania układu */
  position: relative;
left: 0;
  margin-left: 0;
  width: 100%;
  box-sizing: border-box;

  /* wyśrodkowanie treści i stała wysokość */
  display: flex;
  align-items: center;
  justify-content: center;

  height: 50px;         /* podstawowa wysokość – zmień jeśli trzeba */
  padding: 0 16px;      /* poziome paddingi, pionowe niepotrzebne */
  z-index: 1000;        /* nad headerem */
}

.top-info-bar.top {
  background-color: #b77f5e;
}
.top-info-bar.bottom {
  background-color: #d7a992;
  height: 40px; /* niższy pasek u dołu */
  z-index: -2;
}


.top-info-bar span {
  display: inline-block;  /* zapewnia przewidywalne box-model */
  margin: 0;
  padding: 0;
  line-height: 1;         /* nie dziedziczy dziwnych wartości */
  font-size: 16px;
  color: #fff;
  font-weight: 500;
  white-space: nowrap;    /* zapobiega łamaniu jeżeli nie chcesz */
}

.header-top {
  box-sizing: border-box;
  min-height: 80px; /* dopasuj do wysokości logo (u Ciebie logo max-height:70px) */
  padding-top: 0;   /* jeżeli miałeś padding, możesz dopracować */
  padding-bottom: 0 !important;
}

.header-top .row {
    display: flex;
    align-items: center;
}

/* 🔴 USUŃ PUSTĄ PRZESTRZEŃ NAD HEADEREM */
#block_myaccount_infos,
.block-contact,
.links.wrapper {
  display: none !important;
}

/* Ukrywa wszystkie puste kolumny nad header-top */
.col-md-6.links,
.block-contact.links.wrapper {
    display: none !important;
}



#_desktop_logo img {
  max-height: 110px;
  width: auto;
  display: block;
  margin: 0 auto;
}



/* Header: trzy kolumny: search | logo | user/cart */
#header-search-col {
  display: flex;
  align-items: center;
}

#_desktop_logo img {
  max-height: 110px; /* dostosuj wysokość logo */
  width: auto;
}

/* Usuń ewentualne przesunięcia w module wyszukiwarki */
#header-search-col .search-box,
#header-search-col .search-form,
#header-search-col .ps_search {
  margin: 0;
}

/* Prawa kolumna (ikonki) */
#header-user-col {
  gap: 12px; /* odstęp między elementami */
}



.right-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px; /* odstęp między ikonami */
}

/* upewnij się, że moduły nie łamią linii */
.right-nav > * {
  display: flex;
  align-items: center;
}

/* displayNav1 – ujednolicenie grubości fontu */
.header-nav a {
  font-weight: 600;
}


.header-nav {
  font-size: 18px;
  text-align: center;
}
/* Kategorie – ps_mainmenu */
.header-nav .top-menu a {
  font-size: 18px;
}


body {
  font-family: 'FrysBaskerville', serif !important;
}


.footer {
  background-color: #f8f8f8;
  padding: 40px 0;
  font-size: 14px;
  color: #333;
}

.footer h5 {
  font-weight: bold;
  margin-bottom: 15px;
}

.footer ul {
  list-style: none;
  padding: 0;
}

.footer ul li {
  margin-bottom: 8px;
}

.footer ul li a {
  color: #333;
  text-decoration: none;
}

.footer ul li a:hover {
  text-decoration: underline;
}

.footer-social {
  margin-top: 15px;
}

.footer-social a {
  margin-right: 10px;
  color: #333;
  font-size: 18px;
}

.footer-social a:hover {
  color: #000;
}

.home-category-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 0;
}

/* WRAPPER */
.category-wrapper {
  display: flex;
  gap: 0;
  transition: transform 0.3s ease;
}

/* POJEDYNCZY ELEMENT – 4 WIDOCZNE + WIĘKSZA WYSOKOŚĆ */
.category-item {
  flex: 0 0 25%;
  height: 438px;       /* wysokość kafla */
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  
  display: flex;
  flex-direction: column; /* dziecko w pełnej wysokości */
  align-items: stretch;   /* rozciągamy w poziomie */
  justify-content: stretch; /* rozciągamy w pionie */
  margin: 0;              /* usuń ewentualny margines */
  padding: 3px;             /* usuń padding */
}

.category-item a {
  display: block;
  width: 90%;
  height: 100%;
  text-decoration: none;
  margin: 25px;
  padding: 0;
}

.category-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 5; /* obramowanie na .category-item */
}


/* USUWAMY POWIĘKSZANIE NA HOVER */
.category-item:hover img {
  transform: scale(1.05);
  transition: transform 0.5s ease;
}

/* TYTUŁ KATEGORII – NA OBRAZIE */
.category-title {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 14px;
  color: #fff;            /* biały tekst na obrazie */
  background: none;
  z-index: 2;
  text-align: center;
}


/* STRZAŁKI */
.slider-prev,
.slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.85);
  border: none;
  font-size: 24px;
  cursor: pointer;
  padding: 6px 10px;
  z-index: 10;
}

.slider-prev { left: 25px; }
.slider-next { right: 15px; }

/* CONTAINER SZERSZY NA DUŻYCH EKRANACH */
@media (min-width: 1200px) {
  .container {
    min-width: 85%;
  }
}





@media screen and (max-width: 768px) {
  .wishlist-product-right {
      flex: none !important;
      max-width: 150px;
  }
}



/* Górna część z obrazkiem – stała wysokość */
/* Górna część z obrazkiem – dopasowane do wishlist look */
.product-miniature .thumbnail-top {
  height: 500px;                /* tak jak w wishlist: wysokość miejsca na obraz */
  position: relative;
  overflow: hidden;
  background: transparent;      /* usuwamy biały karton */
  padding: 0;
}

/* Link wypełnia CAŁY thumbnail-top */
.product-miniature .thumbnail-top .product-thumbnail {
  display: block;
  height: 100%;
  width: 100%;
}

/* Picture również 100% */
.product-miniature .thumbnail-top .product-thumbnail picture {
  display: block;
  height: 100%;
  width: 100%;
}










/* Cała strona produktu */
.page-product .product-container {
  max-width: 98% !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5px;
  padding-right: 5px;
}
/* =========================
   FORCE: product-images-grid FULL WIDTH
   ========================= */
/* ===============================
   LEWA KOLUMNA – BEZ ROZCIĄGANIA STRONY
   =============================== */

/* Zostawiamy Bootstrapa w spokoju */
.page-product .product-container {
  max-width: 98%;
  margin-left: auto;
  margin-right: auto;
}

/* Tylko padding w lewej kolumnie */
.page-product .product-container > .col-md-10,
.page-product .product-container > .col-lg-9 {
  padding-left: 0;
  padding-right: 10px; /* opcjonalnie */
}

/* ===============================
   GRID ZDJĘĆ – 100% SZEROKOŚCI KOLUMNY
   =============================== */

.page-product .product-images-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* DWIE KOLUMNY */
  gap: 12px;

  width: 100%;        /* ← tylko szerokość kolumny */
  max-width: 100%;
  margin: 0;
  padding: 0;

  box-sizing: border-box;
}

/* Pojedyncze zdjęcie */
.page-product .product-image-item {
  width: 100%;
  padding: 0;
}

/* Obraz */
.page-product .product-image-item img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;     /* WAŻNE – nie none */
  object-fit: contain; /* albo cover jeśli chcesz kadrowanie */
}


.page-product .page-content {
  max-width: none !important;   /* USUWA OGRANICZENIE */
  width: 100% !important;
  margin: 0 !important;         /* koniec centrowania */
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/*@media (min-width: 768px) {*/
/*#products .thumbnail-container {*/
/*  width: 120%;*/
/*}*/
/*}*/

/* kontener thumbnail — tak aby obraz miał taki sam rozmiar jak w wishlist */
.thumbnail-container,
#products .thumbnail-container {
  background: transparent !important;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}


/* link / wrapper zdjęcia */
.product-miniature .product-thumbnail,
.thumbnail-container .product-thumbnail {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  position: relative;
  background: transparent;
  padding: 0;
}

/* obrazek w kontenerze */
.product-miniature .product-thumbnail img,
.thumbnail-container .product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;       /* wypełnia cały kontener + crop jeśli trzeba */
  object-position: center; /* centrowanie przy cropie */
  display: block;
}

/* opcjonalny delikatny zoom na hover */
.product-miniature:hover .product-thumbnail img {
  transform: scale(1.03);
  transition: transform 0.3s ease;
}



  }
  #header-search-col {
    order: 0;
    width: 100%;
    margin: 6px 0;
  }
  #header-user-col {
    order: 2;
    width: 100%;
    margin: 6px 0;
  }
}



/* Tytuły sekcji (T:) – całkowicie pasywne */
.menu-section-title {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  color: #222;
  cursor: default;
  pointer-events: none;
  background: transparent !important;
}


.dropdown-item.menu-section-title {
  font-size: 24px;
}



/* 🔒 BLOKADA ZAZNACZANIA – tytuł + rodzice */
.menu-section-title,
.menu-section-title *,
.menu-section-title li,
.menu-section-title span,
.menu-section-title a,
.menu-section-title:before,
.menu-section-title:after {
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
}

/* 🔒 DODATKOWO: li w menu, jeśli zawiera T: */
li:has(.menu-section-title) {
  user-select: none !important;
}

/* brak hover / focus / active */
.menu-section-title:hover,
.menu-section-title:focus,
.menu-section-title:active {
  background: transparent !important;
  color: #222 !important;
}



/* =========================
   MEGA MENU – 3 KOLUMNY
   ========================= */

/* =========================
   MEGA MENU – 4 KOLUMNY (zmiana z 3 na 4)
   Podmenu poziomu 1: 4 kolumny na desktop
   ========================= */

/* kontener submenu */
.top-menu .sub-menu {

  left: 0;
  right: 0;
  box-sizing: border-box;
}

/* UL wewnątrz submenu = GRID — desktop: 4 kolumny */
.top-menu .sub-menu > ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* <- tu zmiana: 4 kolumny */
  gap: 20px; /* zmniejszy odstęp jeśli chcesz więcej miejsca */
  width: 100%;
  padding: 16px 20px; /* mniejsze paddingi, więcej miejsca na kolumny */
  box-sizing: border-box;
  align-items: start;
}

/* pojedyncza kolumna / item */
.top-menu .sub-menu > ul > li {
  width: auto;
  min-width: 0;
}

/* linki w kolumnach */
.top-menu .sub-menu a.dropdown-item {
  padding-left: 0;
  white-space: normal; /* pozwala na zawijanie tekstu wewnątrz kolumny */
}

/* nagłówki sekcji T: */
.menu-section-title {
  display: block;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e5e5e5;
}

/* RESPONSYWNOŚĆ: zmniejszamy liczbę kolumn na węższych ekranach */
@media (max-width: 1400px) {
  /* jeśli szerokość ekranu trochę mniejsza -> 3 kolumny */
  .top-menu .sub-menu > ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding: 14px 18px;
  }
}

@media (max-width: 992px) {
  /* tablet -> 2 kolumny (jak było wcześniej dla <992) */
  .top-menu .sub-menu > ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding: 12px 14px;
  }
}

@media (max-width: 576px) {
  /* mobile -> 1 kolumna */
  .top-menu .sub-menu > ul {
    grid-template-columns: 1fr;
    padding: 10px 12px;
  }

  .top-menu .sub-menu a.dropdown-item {
    padding-left: 0.25rem;
  }
}







@media (max-width: 500px) {

.top-info-bar span {
    font-size: 12px;
    
}

.footer .container {
    text-align: center;
}


.category-description-bottom p {
    font-size: 15px !important;
}

.page-product .product-image-item {
 padding-bottom: 120px;   
}

#search_filter_toggler {
  display: none !important;
}

.footer-social{
    margin-left: 20px;
}



.text-sm-center{
    text-align: center;
}


}



.dropdown-item {
 padding: 0;   
}


#subcategories {
  display: none !important;
}

.category-item {
  position: relative; /* konieczne dla absolutnego pozycjonowania tytułu */
}

.category-title {
  position: absolute;
  bottom: 65px;          /* odległość od dołu obrazka */
  left: 50%;             /* wyśrodkowanie poziome */
  transform: translateX(-50%);
  font-size: 28px;       /* większa czcionka */
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 1px 1px 5px rgba(0,0,0,0.7); /* czytelność na zdjęciu */
  pointer-events: none;  /* nie przeszkadza w klikaniu obrazka */
}



.product-miniature .product-description {
background: none;
    
}

.product-description {
margin-bottom: 0px !important;
    
}

.category-description-bottom {
    margin-top: 20px;
    padding-top: 40px;
    border-top: 1px solid #eee;
    line-height: 1.8;
    font-size: 20px;
}

.category-description-bottom p {
    font-size: 18px;   
}


.h2 {
    font-size: 36px;

}

.wishlist-icon {
    display: inline-block;
    margin-left: 15px;
    font-size: 20px;
    color: #ff0000;
    vertical-align: middle;
}

.wishlist-icon:hover {
    color: #e60000;
}



.hidden-sm-down{
    margin-right: 10px;
}

.tax-shipping-delivery-label{
    display: none;
}

/* ======================
   Thumbnails → wishlist look
   ====================== */

/* wrapper link musi wypełniać cały obszar */
.thumbnail-container .product-thumbnail,
.product-miniature .product-thumbnail {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}



/* Nakładka na obraz – miejsce dla flag i przycisku wishlist */
.thumbnail-top .thumbnail-overlays {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0;          /* tylko umożliwia pozycjonowanie elementów wewnątrz */
  pointer-events: none; /* pozwala klikać w link pod spodem, chyba że nad elementami są przyciski */
  z-index: 5;
}

/* Flagi (partial product-flags.tpl) – pozycja: lewy górny róg */
.thumbnail-top .thumbnail-overlays .product-flags {
  position: absolute;
  top: 8px;
  left: 8px;
  pointer-events: auto;
  z-index: 10;
  display: flex;
  gap: 6px;
}

/* Każda flaga może mieć własne style – zachowujemy oryginalne klasy */
.thumbnail-top .thumbnail-overlays .product-flags .flag {
  margin: 0;
  padding: 4px 7px;
  font-size: 12px;
}

/* Wishlist button – prawy górny róg */
.thumbnail-top .thumbnail-overlays .product-wishlist-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  pointer-events: auto;
  z-index: 11;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  transition: transform 0.15s ease, background 0.15s ease;
}

/* ikona material */
.thumbnail-top .thumbnail-overlays .product-wishlist-btn i.material-icons {
  font-size: 18px;
  color: #c2002e;
}

/* hover */
.thumbnail-top .thumbnail-overlays .product-wishlist-btn:hover {
  transform: scale(1.05);
  background: rgba(255,255,255,1);
}

/* Jeśli chcesz, aby quick-view / highlighted-informations były nad zdjęciem, ustaw z-index */
.thumbnail-top .highlighted-informations {
  position: absolute;
  bottom: 8px;
  left: 8px;
  right: 8px;
  z-index: 9;
  pointer-events: auto;
}

/* Usuwamy biały box z opisu miniatury (jeżeli gdzieś jest) */
.product-miniature .product-description {
  background: transparent;
}

/* Responsywność – dopasuj wysokość na mniejszych ekranach */
@media (max-width: 992px) {
  .thumbnail-container,
  .product-miniature .thumbnail-top {
    height: 420px !important;
  }
}
@media (max-width: 500px) {
  .thumbnail-container,
  .product-miniature .thumbnail-top {
    height: 500px !important;
  }
  .thumbnail-top .thumbnail-overlays .product-wishlist-btn {
    width: 30px;
    height: 30px;
  }
  
  
  
  .product-actions .add-to-cart {
  font-size: 0.72rem;
      
  }

}


.thumbnail-top .highlighted-informations {
    display: none;
    
}


  .product-description{
      margin-bottom: 50px;
  }

@media (min-width: 1000px) {
    
.product-comment-list-item .comment-infos {
    margin-right: 20px;
}

.product-comment-list-item .comment-content {
    width: 300px;
}

.home-category-slider {
margin-bottom: 50px;
    
}

}


.product-list-reviews {
    border-radius: 20px;
    
}
@media (min-width: 1570px) {
/*.product-list-reviews {*/
/*    width: 91%;*/
    
/*}*/

body#category .product-list-reviews {
    width: 100%;
}

}

#mobile_top_menu_wrapper {
  background: #fff;
  width: 100%;
  z-index: 9999;
}

#_mobile_top_menu .menu {
  display: block !important;
}


.current-price-value{
    color: black;
}
.current-price{
    margin-top: -50px;
}




.product-miniature .product-description {
  padding: 10px 0;
  overflow: visible;
}


@media (min-width: 768px) {
/*.product-miniature .product-description {*/
/*  width: 120%;*/
    
/*}*/

.page-product .product-miniature .product-description {
  width: 100%;
    
}
}
.product-miniature {
  display: flex;
  flex-direction: column;
}




/* desktop dropdown – zawsze liczony od menu */
@media (min-width: 768px) {
  .header-nav .popover.sub-menu {
    top: 100% !important;
    transform: none !important;
  }
}


@media (min-width: 1200px) {
  .col-xl-4{
    width:25%
      
  }
    
}


@media (min-width: 1200px) {
.comment-author{
    width: 200px;
}   
}
    
}


.product-accessories-right {
  margin-top: 20px;
}

.product-accessories-right .accessories-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.product-accessories-right .accessory-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 50px; /* miniatura wysokość */
  overflow: hidden;
}

.product-accessories-right .accessory-item img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 4px;
}

.product-accessories-right .accessory-item .product-title {
  font-size: 0.8rem;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}





.product-miniature .thumbnail-top {
    border-radius: 20px;
    
}

.wishlist-product-image {
    border-radius: 20px;
    
}






.product-thumbnail:hover {
  transform: scale(1.03);
  transition: transform 0.3s ease;
    
}


/* ===========================
   WISHLIST: użyj stylów IDENTYCZNYCH do product-miniature
   Replace existing wishlist block with this.
   =========================== */

/* Container item (lista) - zachowuje układ responsywny */
.wishlist-products-item {
  box-sizing: border-box;
  margin: 10px;
  float: left;
  width: 25%;               /* 4 w rzędzie na desktop */
  max-width: none !important;
  list-style: none;
}

/* Karta produktu w wishlist — zachowuje proporcje podobne do miniatures */
.wishlist-product {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;             /* pozwalamy rosnąć; obraz zajmie zdefiniowaną wysokość */
  box-sizing: border-box;
  padding: 10px;
  background: #fff;
  position: relative;
  overflow: visible;
}

/* Kontener obrazu — identyczny do thumbnail-container / thumbnail-top */
.wishlist-product-image {
  width: 100% !important;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
  background: transparent;
  /* preferowana wysokość zgodna z proporcjami (np. 13/16) */
  aspect-ratio: 13 / 16;
  min-height: 360px;
  max-height: 900px;
  margin: 0 0 10px 0;
}

/* Obrazek: takie same reguły jak w product-miniature */
.wishlist-product-image img,
.wishlist-product .product-thumbnail img {
  display: block !important;
  width: auto !important;            /* proporcjonalne skalowanie */
  height: 100% !important;           /* wypełnia wysokość kontenera */
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;    /* show entire image — tak jak product miniatures */
  object-position: center center !important;
  border-radius: inherit !important;
}



/* Link zajmujący cały obszar (parity z .product-thumbnail) */
.wishlist-product-link {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

/* =========== RESPONSYWNOŚĆ =========== */

/* Tablet: dwa w rzędzie */
@media (max-width: 992px) {
  .wishlist-products-item { width: calc(50% - 20px) !important; }
  .wishlist-product-image { min-height: 320px; }
  .wishlist-product { height: auto; }
}

/* Mobile: jeden w rzędzie, obrazy mniejsze */
@media (max-width: 600px) {
  .wishlist-products-item { width: 100% !important; margin: 10px 0; float: none; }
  .wishlist-product { height: auto; }
  .wishlist-product-image {
    aspect-ratio: 10 / 14;
    min-height: 260px !important;
  }
  /* na mobile obraz nie będzie absolute — po prostu wypełni box */
  .wishlist-product-image img {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
}

/* Jeśli gdzieś w CSS masz wcześniejsze reguły ustawiające obraz position:absolute dla wishlist,
   wymuszamy nadpisanie: */
.wishlist-product-image img[width],
.wishlist-product-image img[height],
.wishlist-product-image img[style] {
  width: auto !important;
  height: 100% !important;
}



/* Desktop */
#seo-block h1 { font-size: 28px; font-weight: bold; margin-bottom: 15px; }
#seo-block h2 { font-size: 24px; font-weight: bold; margin-bottom: 12px; }
#seo-block h3 { font-size: 20px; font-weight: bold; margin-bottom: 10px; }
#seo-block p { font-size: 16px; line-height: 1.5; margin-bottom: 10px; }

/* Mobile */
@media (max-width: 768px) {
  #seo-block h1 { font-size: 22px; }
  #seo-block h2 { font-size: 18px; }
  #seo-block h3 { font-size: 16px; }
  #seo-block p { font-size: 14px; }
}







@media (max-width: 968px) {
.thumbnail-container, .thumbnail-top
 {
  width: auto !important;

}
}





/* ===========================
   PRODUCT MINIATURE — full image height, crop only width
   =========================== */

/* kontener miniatury */
.thumbnail-container,
.product-miniature .thumbnail-top,
.thumbnail-container .thumbnail-top {
  /*width: 110%;*/
  overflow: hidden;       /* obcina boki, potrzebne dla border-radius */
  border-radius: 20px;    /* przywrócone */
  background: transparent;
  box-sizing: border-box;
}


/* preferowana wysokość kontenera: dopasowana do proporcji 1300x1600 (13:16)
   dzięki temu wysokość kontenera rośnie wraz z szerokością kolumny */
.product-miniature .thumbnail-top,
.thumbnail-container .thumbnail-top {
  aspect-ratio: 13 / 16;
  height: auto;
  min-height: 432px;   /* fallback na mniejszych szerokościach — dostosuj jeśli chcesz */
  max-height: 900px;   /* opcjonalne ograniczenie, usuń jeśli nie chcesz limitu */
}

/* wrapper linka */
.product-miniature .product-thumbnail,
.thumbnail-container .product-thumbnail {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  align-items: center;
  justify-content: center;
}

/* obrazek — wypełnia HEIGHT kontenera; szerokość auto (przycinamy boki) */
.product-miniature .product-thumbnail img,
.thumbnail-container .product-thumbnail img,
img.product-main-image {
  display: block !important;
  width: auto !important;       /* dopasuj szerokość proporcjonalnie */
  height: 100% !important;      /* WAŻNE: pełna wysokość kontenera */
  max-width: none !important;
  max-height: none !important;
  object-fit: none !important;    /* traktujemy rozmiary bez dodatkowego cover/contain */
  object-position: center center !important;
  border-radius: inherit !important; /* zabezpieczenie, jeśli chcemy zaokrąglenie także na obrazie */
}

/* Jeśli chcesz lekki zoom na hover zachowując wysokość: */
.product-miniature:hover .product-thumbnail img {
  transform: scale(1.02);
  transition: transform 0.25s ease;
}

/* MOBILE: mniejsze min-height, utrzymujemy wysokość obrazu */
@media (max-width: 992px) {
  .product-miniature .thumbnail-top,
  .thumbnail-container .thumbnail-top {
    aspect-ratio: 10/14; /* bardziej pionowy na tablet/mobile */
    min-height: 320px;
    max-height: 600px;
  }
}

/* DODATKOWO: jeżeli jakiś moduł dodaje inline width/height na img, wymuś nadpisanie */
.product-miniature img[width],
.product-miniature img[height],
.product-miniature img[style] {
  width: auto !important;
  height: 100% !important;
}


@media (max-width: 1768px) {

.product-miniature .thumbnail-top,
.thumbnail-container .thumbnail-top {
  aspect-ratio: 13 / 16;
  height: auto;
  min-height: 42px;   /* fallback na mniejszych szerokościach — dostosuj jeśli chcesz */
  max-height: 420px;   /* opcjonalne ograniczenie, usuń jeśli nie chcesz limitu */
}
}


/* SHOW ENTIRE IMAGE (no crop) */
.product-miniature .product-thumbnail img,
.thumbnail-container .product-thumbnail img,
img.product-main-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;      /* <-- entire image visible */
  object-position: center center !important;
  background: #fff;                    /* tło widocznych pasów */
  display: block !important;
}



.page-product .thumbnail-container,
.page-product .product-miniature .thumbnail-top,
.page-product .thumbnail-container .thumbnail-top {
  width: auto;

}

    @media (max-width: 1600px) {
.page-product .thumbnail-container,
.page-product .product-miniature .thumbnail-top,
.page-product .thumbnail-container .thumbnail-top {
  width: 300px;
}



.page-product .products article .wishlist-button-add {
    right: 3.5rem;
}
}

/* --- obsługa klas, JS będzie je dodawać --- */

/* domyślnie: pokaż całe zdjęcie (contain) */
.product-miniature .product-thumbnail img,
.thumbnail-container .product-thumbnail img,
img.product-main-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff;
  display: block !important;
  transition: transform 0.18s ease; /* przyjemniejszy efekt jeśli będziemy skalować */
}

/* jeśli JS wykryje, że obrazek ma Mniejsze naturalne wymiary -> wymusimy wypełnienie */
.product-miniature .product-thumbnail img.fill,
.thumbnail-container .product-thumbnail img.fill,
img.product-main-image.fill {
  object-fit: cover !important;      /* wypełnia kontener (może minimalnie przyciąć bok) */
  width: 100% !important;
  height: 100% !important;
  transform-origin: center center;
}

/* dla pewności: obrazki które mają naturalnie dużo większy rozmiar pozostają w trybie contain */
.product-miniature .product-thumbnail img.contain,
img.product-main-image.contain {
  object-fit: contain !important;
}

/* zabezpieczenie: nie ograniczamy max-width/height (by nie blokować upscale) */
.product-miniature .product-thumbnail img,
img.product-main-image {
  max-width: none !important;
  max-height: none !important;
}







/* =============================
   WYMUSZENIE: 4 produkty w rzędzie na stronie wishlist
   Umieść NA KOŃCU custom CSS (nadpisuje wcześniejsze reguły)
   ============================= */

/* Jeżeli moduł wrapuje listę w element .wishlist-products-container -> ujednolicamy layout */
.wishlist-products-container .wishlist-products,
.wishlist-products-container .products,
.wishlist-products-container .wishlist-products-list {
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 -10px !important;    /* kompensuje padding elementów */
  gap: 0; /* możemy kontrolować odstępy poprzez padding na itemach */
}

/* Każdy item: 4 w rzędzie */
.wishlist-products-container .wishlist-products-item {
  box-sizing: border-box !important;
  width: 25% !important;           /* 4 kolumny */
  padding: 0 10px !important;      /* poziome odstępy między kartami */
  float: none !important;          /* wyłącz float jeśli wcześniej był */
  display: block !important;
  list-style: none !important;
}

/* Karta produktu wewnątrz itema = pełna szerokość itema */
.wishlist-products-container .wishlist-product {
  width: 100% !important;
  margin: 0 auto;
}

/* Jeśli jakieś globalne reguły dawały .col-xl-3 margin-right -> zresetuj tylko na wishlist */
.wishlist-products-container .col-xl-3 {
  margin-right: 0 !important;
}

/* RESPONSYWNOŚĆ: tablet -> 2 w rzędzie, mobil -> 1 w rzędzie */
@media (max-width: 992px) {
  .wishlist-products-container .wishlist-products-item {
    width: calc(50% - 20px) !important; /* 2 w rzędzie, uwzględniamy padding */
  }
}

@media (max-width: 600px) {
  .wishlist-products-container .wishlist-products,
  .wishlist-products-container .products {
    margin: 0 !important;
  }
  .wishlist-products-container .wishlist-products-item {
    width: 100% !important;
    padding: 0 !important;
  }
  .wishlist-products-container .wishlist-product-image {
    min-height: 240px !important; /* mniejsze obrazy na mobile */
  }
}






@media (min-width: 1000px) {
  .featured-next {
    top: 900px !important;
  }
 
 .featured-prev {
         top: 900px !important;
 }
 
 
 .page-product .product-images-grid {

  width: 107%;        /* ← tylko szerokość kolumny */
  max-width: 107%;
  margin-left: -120px;

}
 
 
}



@media (min-width: 1292px) {


 .page-product .product-images-grid {

  width: 107%;        /* ← tylko szerokość kolumny */
  max-width: 107%;
  margin-left: -120px;

}
 
 
}






#wrapper {
background: #fff;
    
}





/* =========================
   TYLKO PO SORTOWANIU
   ========================= */

body.after-sort #products .product-miniature {
  transform: scale(0.8);
  transform-origin: top center;
}

/* kompensacja wysokości, żeby się nie nakładały */
body.after-sort #products .product-miniature {
  margin-bottom: -40px;
}







.product-discount{
    margin-bottom: 50px;
}


body#cart .current-price {
    margin-top: -35px;
}




@media (min-width: 1600px) {
  /* Tylko dla slidera featured products */
  .featured-products .col-xl-3 {
    width: 24% !important; /* wymusza szerokość tylko w tym sliderze */
  }
  
  .featured-products .product-miniature .thumbnail-container {
    width: 350px !important;
}


.site-logo{
 margin-right: 100px;   
}

.product-flag.discount{
    margin-left: 5px;
}
}





.header-nav {
    position: relative;
    z-index: 50; /* większy niż infobartop, żeby dropdown pojawiał się nad paskiem */
}

.header-nav .popover.sub-menu.js-sub-menu {
    top: 100%; /* od góry menu */
    left: 0;
}


#header {
background: #f5f5f5;
    
}




@media (max-width: 500px) {
  .footer-container .row > div {
    text-align: center !important;   /* wyśrodkowanie tekstu w kolumnach */
    margin-left: auto;
    margin-right: auto;
  }

  /* opcjonalnie: logo też wyśrodkowane i dopasowane */
  .footer-container .row > div img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  
  .thumbnail-container{
    width: 350px !important;
      
  }
body#index .featured-products:not(.block_bestsellers) .product-miniature .thumbnail-container {
  width: 300px !important;
  max-width: 300px !important;
  min-width: 300px !important;
}
}





/* === REMOVE LEFT COLUMN: categories, promotions, bestsellers, new products === */
body#category #left-column,
body#prices-drop #left-column,
body#best-sales #left-column,
body#new-products #left-column {
  display: none !important;
}

/* expand content to full width */
body#category #content-wrapper,
body#category #main,
body#prices-drop #content-wrapper,
body#prices-drop #main,
body#best-sales #content-wrapper,
body#best-sales #main,
body#new-products #content-wrapper,
body#new-products #main {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* bootstrap grid fix */
body#category .col-md-8,
body#category .col-lg-9,
body#prices-drop .col-md-8,
body#prices-drop .col-lg-9,
body#best-sales .col-md-8,
body#best-sales .col-lg-9,
body#new-products .col-md-8,
body#new-products .col-lg-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

@media (min-width: 1200px) {
.search_widgets{
margin-left: -150px !important;
    
}
    
    
    
}




/* ---------------------------
   REDUKCJA ROZMIARÓW 1200–1800px
   TYLKO STRONA GŁÓWNA
   (ZACHOWUJEMY ROZMIARY MINIATUR + REZERWUJEMY MIEJSCE NA OPIS)
   --------------------------- */
@media (min-width: 1200px) and (max-width: 1800px) {

  /* szerokości kafli – bez zmian */
  body#index .product-miniature,
  body#index .featured-products .col-xl-3,
  body#index .wishlist-products-container .wishlist-products-item,
  body#index .products .product-miniature,
  body#index .product-list .product-miniature {
    width: 23.5% !important;
    flex: 0 0 23.5% !important;
    max-width: 23.5% !important;
    box-sizing: border-box;
  }

  /* kontenery miniatur – zostawiamy ich wygląd,
     ale DODAJEMY padding-bottom aby zarezerwować miejsce na opis poniżej */
  body#index .product-miniature > .thumbnail-container,
  body#index .product-miniature .thumbnail-top,
  body#index .thumbnail-container .thumbnail-top,
  body#index .featured-products .product-miniature .thumbnail-container,
  body#index .wishlist-product-image {
    /* Nie zmieniamy aspect-ratio/min-height/overflow; tylko rezerwa pod spodem: */
    box-sizing: border-box;
    padding-bottom: 76px !important; /* <- zmień wartość jeśli chcesz wyższe/mniejsze miejsce */
  }

  /* jeżeli wishlist ma oddzielną strukturę, też dajemy rezerwę */
  body#index .wishlist-product,
  body#index .wishlist-product-image {
    padding-bottom: 76px !important;
    box-sizing: border-box;
  }

  /* jeśli gdzieś miałeś twarde width dla featured thumbnail, zostawiamy */
  body#index .featured-products .product-miniature .thumbnail-container {
    width: 250px !important;
    max-width: 250px !important;
  }

  /* obrazy – bez zmian (zachowują dotychczasowy rozmiar i crop) */
  body#index .product-miniature .product-thumbnail img,
  body#index .thumbnail-container .product-thumbnail img,
  body#index .wishlist-product-image img,
  body#index img.product-main-image {
    height: 100% !important;
    width: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
  }

  /* OPIS – upewniamy się, że jest w normalnym przepływie i widoczny,
     ale NIE PRZESUWAMY miniatury ani nie zmieniamy ich położenia */
  body#index .product-miniature .product-description {
    display: block !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 8px !important;
    padding: 8px 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  body#index .product-miniature .thumbnail-top .product-thumbnail {
  height: 135%;
      
  }
  
  .featured-next {
    margin-top: -200px;
  }
  
  .featured-prev {
    margin-top: -200px;
  }

  /* drobne spacing/gap */
  body#index .my-cat-track,
  body#index .category-wrapper {
    gap: 12px !important;
  }
}




/* =========================
   FIX MOBILE <500px
   PRODUCT DESCRIPTION + BESTSELLERS
   ========================= */
@media (max-width: 500px) {

  /* wszystkie karty produktu – również bestsellery */
  body#index .product-miniature {
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* miniatura NIE kurczy się */
  body#index .product-miniature > .thumbnail-container,
  body#index .product-miniature .thumbnail-top {
    flex-shrink: 0 !important;
    overflow: hidden !important;
  }

  /* wrappery list (featured + bestseller + zwykłe) */
  body#index .products,
  body#index .products .products-list,
  body#index .featured-products,
  body#index .block-best-sellers,
  body#index .best-sellers,
  body#index .product-list {
    overflow: visible !important;
  }

  /* sliderowe tracki (częsty problem przy bestsellerach) */
  body#index .slick-list,
  body#index .slick-track,
  body#index .owl-stage,
  body#index .swiper-wrapper {
    overflow: visible !important;
  }

  /* OPIS PRODUKTU — wymuszony pod zdjęciem */
  body#index .product-miniature .product-description {
    display: block !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    margin-top: 10px !important;
    padding: 8px 6px !important;
    z-index: 5 !important;
  }

}





@media (max-width: 500px) {
  .footer-container .row > div img {
        margin-left: -30px;
  }
  }



