/* === font Archia jak na sklepluczniczy.pl (pliki z motywu luczniczy2021) - zastepuje Manrope === */
@font-face {
  font-family: "Archia";
  src: url("../fonts/archia-thin-webfont.woff2") format("woff2"), url("../fonts/archia-thin-webfont.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archia";
  src: url("../fonts/archia-light-webfont.woff2") format("woff2"), url("../fonts/archia-light-webfont.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archia";
  src: url("../fonts/archia-regular-webfont.woff2") format("woff2"), url("../fonts/archia-regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archia";
  src: url("../fonts/archia-medium-webfont.woff2") format("woff2"), url("../fonts/archia-medium-webfont.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archia";
  src: url("../fonts/archia-semibold-webfont.woff2") format("woff2"), url("../fonts/archia-semibold-webfont.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archia";
  src: url("../fonts/archia-bold-webfont.woff2") format("woff2"), url("../fonts/archia-bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --bs-body-font-family: "Archia", Arial, Helvetica, sans-serif;
}
body,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
button, input, select, textarea,
.btn,
#main .page-header h1 {
  font-family: "Archia", Arial, Helvetica, sans-serif;
}

/* tooltip "Pobierz logotypy" po kliknięciu prawym przyciskiem w logo (jak na sklepluczniczy.pl) */
.logo_left_bar .logo-tooltip {
  position: absolute;
  left: 30%;
  top: calc(100% - 20px);
  z-index: 100;
  padding: 16px;
  border-radius: 6px;
  background: #fff;
  visibility: hidden;
  opacity: 0;
}

.logo_left_bar .logo-tooltip.active {
  visibility: visible;
  opacity: 1;
  box-shadow: 0 0 13px -4px rgba(0, 0, 0, .2);
}

.logo_left_bar .logo-tooltip p {
  margin-bottom: 0;
  font-size: 13px;
}

.logo_left_bar .logo-tooltip p strong {
  display: block;
  padding: 0 4px 4px;
  white-space: nowrap;
}

.logo_left_bar .logo-tooltip p a {
  display: inline-block;
  padding: 4px;
  color: inherit;
  line-height: 1;
  white-space: nowrap;
}

.logo_left_bar .logo-tooltip p a span {
  padding-left: 12px;
  padding-right: 22px;
  border-left: 2px solid var(--brand, #D9042B);
}

.logo_left_bar .logo-tooltip p a:hover {
  background-color: var(--brand, #D9042B);
  color: #fff;
}

.logo_left_bar .logo-tooltip p a:hover span {
  border-color: #fff;
}

/* plakietki produktu jak na sklepluczniczy.pl: "Nowy" na czerwono również na karcie produktu,
   bez plakietki "Obecnie brak na stanie" (także w oknie opinii modułu productcomments) */
.product-flags li.product-flag.new {
  background: var(--brand, #D9042B);
  color: #fff;
}

.product-flags li.product-flag.out_of_stock {
  display: none;
}

/* pasek z copyright pod stopką (jak na sklepluczniczy.pl) */
.footer-container {
  padding-top: 0;
}

.copyright {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 0 32px;
  color: #9396A6;
  font-size: 13px;
  line-height: 1.68;
}

.copyright p {
  margin-bottom: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.copyright a {
  color: inherit;
}

.copyright a:hover {
  color: #101010;
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .copyright {
    padding-left: 20px;
    padding-right: 20px;
  }

  .copyright p {
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
  }
}

/* === karta produktu: ilosc + do koszyka jak w 1.6 (2026-10-28) === */
.product-add-to-cart .product-quantity {
  align-items: center;
}
/* motyw dziedziczy min-height: 56px z .btn-default - przycisk wychodzil poza pole 50px */
.product-quantity .qty .bootstrap-touchspin .btn-touchspin {
  min-height: 0;
  height: 34px;
  width: 34px;
  margin: 0;
  border-radius: 50%;
  outline: 0;
  box-shadow: none;
}
.product-quantity .qty .bootstrap-touchspin .btn-touchspin:hover,
.product-quantity .qty .bootstrap-touchspin .btn-touchspin:focus-visible {
  color: #111;
  background-color: #f2f2f2;
}
.product-quantity .qty .bootstrap-touchspin .btn-touchspin:focus:not(:focus-visible),
.product-quantity .qty .bootstrap-touchspin .btn-touchspin:active {
  background-color: transparent;
}
.product-add-to-cart .add-to-cart {
  height: 50px;
  padding: 0 40px;
  font-size: 18px;
  text-transform: none;
  border-radius: 25px;
}

/* === opinie jak w 1.6 === */
#product-comments-list-header {
  display: block;
  padding: 0;
  margin: 40px 0 20px;
  border: 0;
}
#product-comments-list-header .product-comments-heading {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  color: #111;
}
/* opinie w 2 kolumnach, bez paginacji; po 2 rzedach przycisk "Pokaz wszystkie" (custom.js) */
#product-comments-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 768px) {
  #product-comments-list {
    grid-template-columns: 1fr 1fr;
  }
}
#product-comments-list .product-comment-list-item.is-collapsed {
  display: none;
}
#product-comments-list-pagination {
  display: none;
}
.product-comments-more {
  margin-top: 20px;
  text-align: center;
}
.product-comments-more .btn {
  padding: 5px 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-transform: none;
  color: #111;
  background: #fff;
  border: 1px solid #111;
  border-radius: 4px;
}
.product-comments-more .btn:hover {
  color: #fff;
  background: #111;
}
#product-comments-list .product-comment-list-item {
  display: block;
  margin: 0;
  padding: 20px 18px;
  border: 1px solid #e5e5e5;
  background: #fff;
}
.product-comment-list-item .comment-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 22px;
}
.product-comment-list-item .comment-infos {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: auto;
  min-height: 0;
  padding: 0;
}
.product-comment-list-item .comment-author {
  font-size: 16px;
  font-weight: 700;
  color: #111;
}
.product-comment-list-item .comment-date {
  font-size: 15px;
  color: #9396a6;
}
.product-comment-list-item .comment-title {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
}
.product-comment-list-item .comment-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #23263b;
}
.product-comment-list-item .grade-stars .star-content {
  margin: 0;
}
/* gwiazdki (opinie na karcie produktu i listing): pelne, pomaranczowe, ciasno; puste szare.
   Wtyczka rating dzieli niepelna gwiazdke na 2 wycinki o stalej szerokosci (starWidth: 20 na karcie, 16 na listingu),
   wiec maska ma staly rozmiar: pelny wycinek od lewej, pusty od prawej. */
.product-comment-list-item .star-content div.star,
.product-comment-list-item .star-content div.star-on,
.product-list-reviews .star-content div.star,
.product-list-reviews .star-content div.star-on,
.product-list-reviews .star-content div.star-hover {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0;
  background: #e2e2e2;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5 1.3-7.1-5.2-4.9 7.1-.9z' fill='%23000'/%3E%3C/svg%3E") no-repeat right center / 20px 20px;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5 1.3-7.1-5.2-4.9 7.1-.9z' fill='%23000'/%3E%3C/svg%3E") no-repeat right center / 20px 20px;
}
.product-comment-list-item .star-content div.star-on,
.product-list-reviews .star-content div.star-on,
.product-list-reviews .star-content div.star-hover {
  background: #f7a21b;
  -webkit-mask-position: left center;
          mask-position: left center;
}
.product-list-reviews .star-content div.star,
.product-list-reviews .star-content div.star-on,
.product-list-reviews .star-content div.star-hover {
  width: 16px;
  height: 16px;
  -webkit-mask-size: 16px 16px;
          mask-size: 16px 16px;
}
#empty-product-comment {
  grid-column: 1 / -1;
}

/* === opis / opinie / FAQ wyrownane jak w 1.6 (lewa krawedz = zdjecie, opis i opinie w szerokosci kolumny zdjecia) === */
#main .tabs {
  padding-left: 0;
  padding-right: 0;
  margin-top: 48px;
}
#main .tabs .nav-tabs {
  border-bottom: 1px solid #cfccbf;
}
#main .tabs .nav-tabs .nav-link {
  padding: 0 24px 24px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #6b6b6b;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
}
#main .tabs .nav-tabs .nav-item:first-child .nav-link {
  padding-left: 0;
}
#main .tabs .nav-tabs .nav-link.active,
#main .tabs .nav-tabs .nav-link:hover {
  color: #000;
  border-bottom-color: #101010;
}
#main .tabs .tab-content {
  padding: 24px 0 0;
}
#description .product-section-heading,
#product-comments-list-header .product-comments-heading {
  margin: 0 0 20px;
  font-size: 19px;
  font-weight: 600;
  color: #111;
}
#description .product-description {
  font-size: 16px;
  line-height: 1.7;
  color: #111;
}
#description .product-description p {
  margin: 0 0 16px;
}
#description .product-description ul {
  margin: 0 0 12px;
  padding-left: 20px;
  list-style: disc;
}
#description .product-description ol {
  margin: 0 0 12px;
  padding-left: 20px;
  list-style: decimal;
}
#description .product-description li {
  display: list-item;
  margin: 0;
}
/* lewa krawedz jak okruszki i zdjecie (20px), szerokosc jak kolumna zdjecia */
#main .tabs,
#product-comments-list-header,
#empty-product-comment,
#product-comments-list,
#product-comments-list-footer,
.dreamartfaqproduct {
  margin-left: 20px;
  margin-right: 20px;
}

#product-comments-list-footer {
  margin-top: 20px;
}
/* przycisk dodania opinii jak w 1.6 (#new_comment_tab_btn) */
#product-comments-list-footer .btn.post-product-comment,
#empty-product-comment .btn.post-product-comment {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 5px 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-transform: none;
  color: #fff;
  background: var(--brand, #D9042B);
  border: 1px solid var(--brand, #D9042B);
  border-radius: 4px;
  box-shadow: none;
}
#product-comments-list-footer .btn.post-product-comment:hover,
#empty-product-comment .btn.post-product-comment:hover {
  background: var(--brand-dark, #A70321);
  border-color: var(--brand-dark, #A70321);
}
#product-comments-list-footer .btn.post-product-comment .material-icons,
#empty-product-comment .btn.post-product-comment .material-icons {
  display: none;
}
#empty-product-comment {
  padding: 0;
  text-align: left;
}
/* FAQ: wiersz bootstrapa wychodzil 12px poza tresc z prawej i lewej */
.dreamartfaqproduct > .row {
  margin-left: 0;
  margin-right: 0;
}
.dreamartfaqproduct > .row > div:first-child {
  padding-left: 0;
}
.dreamartfaqproduct > .row > div:last-child {
  padding-right: 0;
}

/* === cena po obnizce jak w 1.6: "Bylo: X brutto", plakietka "Obnizka!" na zdjeciu === */
.product-prices .product-old-price {
  margin: 6px 0 0;
  font-size: 18px;
  font-weight: 400;
  color: #777;
}
.product-prices .product-old-price strong {
  font-weight: 700;
}
.product-prices .product-old-price .regular-price {
  margin: 0;
  font-size: inherit;
  color: inherit;
  text-decoration: none;
}
.page-product .product-flags li.product-flag.discount {
  min-height: 0;
  margin: 14px 0 0 14px;
  padding: 0;
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
  color: #111;
  background: none;
  box-shadow: none;
}

/* === listing: bez "dodaj do ulubionych" (na karcie produktu zostaje), gwiazdki w kolorze sklepu === */
.products article .wishlist-button-add,
.product-miniature .wishlist-button-add {
  display: none !important;
}
/* listing: gwiazdki wieksze, bez liczby opinii, od lewej jak tytul */
.product-miniature .product-list-reviews {
  top: -28px;
  justify-content: flex-start;
  background: none;
}
.product-list-reviews .grade-stars.small-stars {
  min-width: 80px;
  height: 16px;
}
.product-list-reviews .grade-stars .star-content {
  margin: 0;
  top: 0;
}
.product-list-reviews .comments-nb {
  display: none;
}

/* listing: tytul produktu od lewej (motyw mial text-align: center) */
.product-miniature .product-title,
.product-miniature .product-title a {
  text-align: left;
}

/* plakietka "Nowy" na karcie produktu wewnatrz ramki zdjecia (.product-cover ma 1px ramki + 5px odstepu) */
.page-product #content > .product-flags {
  top: 10px;
  left: 10px;
}
.page-product #content > .product-flags li.product-flag:first-child {
  margin-top: 0;
}

/* historia cen na koncu bloku koszyka */
.product-price-history {
  margin-top: 20px;
}
.product-price-history:empty {
  display: none;
}

/* koszyk: "Udostepnij koszyk" nad calym koszykiem, w jednej linii */
.cart-share-top {
  margin: 0 0 20px 0.5rem;
}
.cart-share-top .dreamart-sendcart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
}
.cart-share-top #dreamart-sendcart-result[style*="block"] {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 0 !important;
}
.cart-share-top #dreamart-sendcart-link {
  width: 420px;
  max-width: 100%;
}
.cart-share-top #dreamart-sendcart-result .btn {
  margin-top: 0 !important;
}

/* koszyk i podsumowanie zamowienia: motyw (JS Bootstrap 4) rozwija przez klase .in, a CSS (Bootstrap 5) pokazuje tylko .show
   - stad "pokaz szczegoly" skakalo, a kod promocyjny sie chowal */
.js-cart .collapse.in,
#promo-code.collapse.in {
  display: block;
}

/* "Masz kod promocyjny?" jako przycisk, z odstepem jak reszta podsumowania */
.cart-summary .block-promo {
  padding: 0 20px 20px;
}
#js-checkout-summary .block-promo {
  padding: 0 16px 16px;
}
.block-promo .promo-code-button.display-promo {
  margin: 0;
}
.block-promo .display-promo .collapse-button {
  display: block;
  width: 100%;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  color: var(--brand, #D9042B);
  background: #fff;
  border: 1px solid var(--brand, #D9042B);
  border-radius: 4px;
}
.block-promo .display-promo .collapse-button:hover {
  color: #fff;
  background: var(--brand, #D9042B);
}
#promo-code .promo-code form {
  display: flex;
  gap: 8px;
  margin: 0 0 8px;
}
#promo-code .promo-input {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 12px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
}
#promo-code .promo-input:focus {
  outline: none;
  border-color: var(--brand, #D9042B);
}
#promo-code .promo-code form .btn {
  height: 44px;
  padding: 0 20px;
  border-radius: 4px;
}
#promo-code .js-error {
  display: none;
  margin: 0 0 8px;
}
#promo-code .cancel-promo {
  display: inline-block;
  font-size: 13px;
  color: #6b7280;
  text-decoration: underline;
  cursor: pointer;
}

/* przyciski w koszyku w kolorze sklepu (btn-primary/secondary z motywu sa niebieskie/szare) */
#promo-code .promo-code form .btn,
.cart-share-top #dreamart-sendcart-copy {
  color: #fff;
  background: var(--brand, #D9042B);
  border: 1px solid var(--brand, #D9042B);
  box-shadow: none;
}
#promo-code .promo-code form .btn:hover,
.cart-share-top #dreamart-sendcart-copy:hover {
  background: var(--brand-dark, #A70321);
  border-color: var(--brand-dark, #A70321);
}
.cart-share-top .btn {
  height: 44px;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 42px;
  border-radius: 4px;
  box-shadow: none;
}
.cart-share-top #dreamart-sendcart-generate,
.cart-share-top #dreamart-sendcart-mail {
  color: var(--brand, #D9042B);
  background: #fff;
  border: 1px solid var(--brand, #D9042B);
}
.cart-share-top #dreamart-sendcart-generate:hover,
.cart-share-top #dreamart-sendcart-mail:hover {
  color: #fff;
  background: var(--brand, #D9042B);
}
.cart-share-top #dreamart-sendcart-link {
  height: 44px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
}

/* zakladki na karcie produktu: podkreslenie aktywnej zakladki na linii, a nie 2px pod nia
   (motyw daje .nav-item margin-bottom: -0.125rem) */
#main .tabs .nav-tabs .nav-item {
  margin-bottom: -1px;
}

/* okna (opinie, zgloszenia): JS motywu (Bootstrap 4) dodaje klase .in, a CSS (Bootstrap 5) pokazuje tylko .show
   - okno dodania opinii otwieralo sie przezroczyste */
.modal.fade.in {
  opacity: 1;
}
.modal.in .modal-dialog {
  -webkit-transform: none;
          transform: none;
}
.modal-backdrop.in {
  display: block;
  opacity: .5;
}

/* === okno "Napisz swoja opinie" (productcomments) w stylu sklepu === */
.product-comment-modal .modal-content {
  border: 0;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .15);
}
.product-comment-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #ececec;
}
.product-comment-modal .modal-header .h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}
.product-comment-modal .modal-header .close {
  order: 2;
  margin: 0 0 0 16px;
  padding: 0;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  color: #6b7280;
  background: none;
  border: 0;
  opacity: 1;
  cursor: pointer;
}
.product-comment-modal .modal-header .close:hover {
  color: #000;
}
.product-comment-modal .modal-body {
  padding: 24px;
}
/* plakietki "Nowy" itp. w oknie niepotrzebne */
#post-product-comment-modal .product-flags {
  display: none;
}
#post-product-comment-modal .product-cover {
  padding: 4px;
  border: 1px solid #ececec;
  border-radius: 4px;
}
#post-product-comment-modal .product-cover img {
  width: 100%;
  height: auto;
}
#post-product-comment-modal .modal-body .h3 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
#post-product-comment-modal #criterions_list {
  margin: 0;
  padding: 0;
  list-style: none;
}
#post-product-comment-modal .criterion-rating {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
#post-product-comment-modal .criterion-rating label {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}
/* gwiazdki do oceny jak w opiniach: pomaranczowe, puste szare (w oknie tylko pelne gwiazdki) */
#post-product-comment-modal .star-content {
  display: flex;
  margin: 0;
}
#post-product-comment-modal .star-content div.star,
#post-product-comment-modal .star-content div.star-on,
#post-product-comment-modal .star-content div.star-hover {
  flex: none;
  width: 24px;
  height: 24px;
  margin: 0;
  cursor: pointer;
  background: #e2e2e2;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5 1.3-7.1-5.2-4.9 7.1-.9z' fill='%23000'/%3E%3C/svg%3E") no-repeat center / 24px 24px;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5 1.3-7.1-5.2-4.9 7.1-.9z' fill='%23000'/%3E%3C/svg%3E") no-repeat center / 24px 24px;
}
#post-product-comment-modal .star-content div.star-on,
#post-product-comment-modal .star-content div.star-hover {
  background: #f7a21b;
}
#post-product-comment-modal .form-label {
  margin: 16px 0 6px;
  font-size: 14px;
  font-weight: 600;
}
#post-product-comment-modal .form-label sup,
#post-product-comment-modal p.required sup {
  color: var(--brand, #D9042B);
}
#post-product-comment-modal input[type="text"],
#post-product-comment-modal textarea {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  box-shadow: none;
}
#post-product-comment-modal textarea {
  height: 120px;
  padding: 10px 12px;
  resize: vertical;
}
#post-product-comment-modal input[type="text"]:focus,
#post-product-comment-modal textarea:focus {
  outline: none;
  border-color: var(--brand, #D9042B);
}
#post-product-comment-modal input.error,
#post-product-comment-modal textarea.error {
  border-color: #dc2626;
}
#post-product-comment-modal p.required {
  margin: 16px 0 0;
  font-size: 12px;
  color: #6b7280;
}
.product-comment-modal .post-comment-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}
.product-comment-modal .btn.btn-comment-big,
.product-comment-modal .btn.btn-comment {
  width: auto;
  height: 44px;
  margin: 0;
  padding: 0 24px;
  font-size: 14px;
  font-weight: 700;
  line-height: 42px;
  text-transform: none;
  border-radius: 4px;
  box-shadow: none;
}
.product-comment-modal .btn.btn-comment {
  color: #fff;
  background: var(--brand, #D9042B);
  border: 1px solid var(--brand, #D9042B);
}
.product-comment-modal .btn.btn-comment:hover {
  background: var(--brand-dark, #A70321);
  border-color: var(--brand-dark, #A70321);
}
.product-comment-modal .btn.btn-comment-inverse {
  color: var(--brand, #D9042B);
  background: #fff;
  border: 1px solid var(--brand, #D9042B);
}
.product-comment-modal .btn.btn-comment-inverse:hover {
  color: #fff;
  background: var(--brand, #D9042B);
}

/* koszyk: plus/minus przy ilosci. Motyw pozycjonowal przyciski absolutnie, a ramka nie miala position: relative,
   wiec wypadaly poza pole. Uklad flex: minus | ilosc | plus */
.product-line-grid-right .qty .bootstrap-touchspin {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  width: 120px;
  max-width: 100%;
  height: 44px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical {
  display: contents;
}
.product-line-grid-right .qty .bootstrap-touchspin input.js-cart-line-product-quantity {
  order: 2;
  flex: 1;
  width: auto;
  min-width: 0;
  height: 100%;
  margin: 0 !important;
  padding: 0;
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin {
  position: static;
  flex: none;
  width: 36px;
  height: 100%;
  padding: 0;
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
/* klasy js-increase/js-decrease sa w motywie zamienione (jak w classic), wiec kolejnosc i znak wg klas touchspin */
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin.bootstrap-touchspin-down {
  order: 1;
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin.bootstrap-touchspin-up {
  order: 3;
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin.bootstrap-touchspin-down:before {
  content: "−";
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin.bootstrap-touchspin-up:before {
  content: "+";
}

/* podsumowanie zamowienia: nazwa na cala szerokosc, pod nia ilosc i wersja po lewej, cena w osobnej kolumnie po prawej */
#cart-summary-product-list .media {
  display: flex;
  align-items: flex-start;
}
#cart-summary-product-list .media-body {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 12px;
  row-gap: 4px;
}
#cart-summary-product-list .media-body > * {
  grid-column: 1;
}
#cart-summary-product-list .media-body .product-name {
  grid-column: 1 / -1;
  grid-row: 1;
}
#cart-summary-product-list .media-body .product-price {
  grid-column: 2;
  grid-row: 2;
  float: none;
  font-weight: 700;
  white-space: nowrap;
  text-align: right;
}
#cart-summary-product-list .media-body .product-line-info-secondary {
  font-size: 13px;
}
#cart-summary-product-list .media-body > br {
  display: none;
}

/* zamowienie: odstep krokow i podsumowania od lewego paska z logo (jak okruszki) */
body#checkout #content {
  padding-left: 20px;
  padding-right: 20px;
}
/* cena w podsumowaniu: motyw ustawia .float-xs-right na position:absolute; right:0 - cena wypadala za karte */
#cart-summary-product-list .media-body {
  min-width: 0;
}
#cart-summary-product-list .media-body .product-price.float-xs-right {
  position: static !important;
  margin: 0;
  align-self: start;
}
#cart-summary-product-list .media-body {
  align-self: stretch;
}

/* zamowienie, sposob dostawy: wszystko od lewej, logo obok nazwy, cena po prawej */
.delivery-option {
  align-items: center;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #edf0f4;
}
.delivery-option > .col-sm-1 {
  flex: 0 0 40px;
  max-width: 40px;
}
.delivery-option label.delivery-option-2 {
  flex: 1;
  max-width: none;
  margin: 0;
  text-align: left;
  cursor: pointer;
}
.delivery-option label.delivery-option-2 > .row {
  align-items: center;
}
.delivery-option .carrier {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  margin: 0;
}
.delivery-option .carrier > [class*="col-"] {
  flex: none;
  width: auto;
  max-width: none;
  padding: 0;
}
.delivery-option .carrier-logo img {
  max-width: 60px;
  max-height: 32px;
}
.delivery-option .carrier-name {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}
.delivery-option .carrier-delay {
  display: block;
  font-size: 13px;
  line-height: 1.45;
  color: #4b5563;
  text-align: left;
}
.delivery-option .carrier-price {
  display: block;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

/* kropki wyboru (dostawa, platnosc, zwrot grzecznosciowy) w kolorze sklepu */
.custom-radio input[type=radio] {
  accent-color: var(--brand, #D9042B);
}
.custom-radio:has(input[type=radio]:checked) {
  border-color: var(--brand, #D9042B);
}
.custom-radio input[type=radio]:checked + span {
  background-color: var(--brand, #D9042B);
}

/* zamowienie, platnosc: opcje jak przy dostawie (odstepy, linie), opis platnosci wciety pod nazwa */
.payment-options .payment-option {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #edf0f4;
}
.payment-options .payment-option .custom-radio {
  flex: none;
  margin-right: 12px;
}
.payment-options .payment-option label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.payment-options .payment-option label img {
  max-height: 32px;
}
.payment-options .additional-information {
  margin: 0;
  padding: 12px 16px 12px 42px;
  font-size: 13px;
  line-height: 1.5;
  color: #4b5563;
  background: #f9fafb;
  border-bottom: 1px solid #edf0f4;
}
.payment-options .additional-information p:last-child {
  margin-bottom: 0;
}
.payment-options .js-payment-option-form {
  padding-left: 42px;
}
/* akceptacja regulaminu: kwadratowy checkbox w kolorze sklepu */
#conditions-to-approve {
  margin-top: 20px;
}
#conditions-to-approve ul li {
  align-items: center;
  gap: 12px;
}
#conditions-to-approve .custom-checkbox input[type=checkbox] {
  position: static;
  width: 18px;
  height: 18px;
  margin: 0;
  opacity: 1;
  accent-color: var(--brand, #D9042B);
}
#conditions-to-approve .custom-checkbox input[type=checkbox] + span {
  display: none;
}
#conditions-to-approve .condition-label label {
  margin: 0;
  font-size: 14px;
  text-align: left;
}
/* link do regulaminu wyrozniony (motyw dawal mu czarny kolor bez podkreslenia - nie bylo widac, ze to link) */
#conditions-to-approve ul li a,
#conditions-to-approve .condition-label a {
  font-weight: 700;
  color: var(--brand, #D9042B);
  text-decoration: underline;
  text-underline-offset: 2px;
}
#conditions-to-approve ul li a:hover,
#conditions-to-approve .condition-label a:hover {
  color: var(--brand-dark, #A70321);
}

/* koszyk: pole ilosci identyczne jak na karcie produktu (zaokraglona ramka 50px, okragle przyciski 34px, wysrodkowane) */
.product-line-grid-right .qty .bootstrap-touchspin {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 50px;
  padding: 0 7px;
  border: 1px solid #e5e7eb;
  border-radius: 25px;
  overflow: visible;
}
.product-line-grid-right .qty .bootstrap-touchspin input.js-cart-line-product-quantity {
  order: 2;
  flex: none;
  width: 40px;
  min-width: 40px;
  height: 34px;
  margin: 0 !important;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 34px;
  text-align: center;
  background: transparent;
  -moz-appearance: textfield;
       appearance: textfield;
}
.product-line-grid-right .qty input[type=number]::-webkit-outer-spin-button,
.product-line-grid-right .qty input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-height: 0;
  padding: 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  color: #232323;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin:hover {
  background: #f2f2f2;
}
.product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin:before {
  display: block;
  line-height: 1;
}

/* ================= potwierdzenie zamowienia (order-confirmation) =================
   szablon ma kolumny col-xs-* (Bootstrap 4), ktorych CSS motywu (Bootstrap 5) nie zna - uklad zrobiony siatka */
body#order-confirmation #wrapper .card,
body#order-confirmation #content-hook_order_confirmation,
body#order-confirmation #content,
body#order-confirmation #content-hook_payment_return {
  margin: 0 20px 20px;
  padding: 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: none;
}
body#order-confirmation .card-block {
  padding: 0;
}
body#order-confirmation .card-block > .row,
body#order-confirmation #order-items,
body#order-confirmation #order-details {
  display: block;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
body#order-confirmation #content-hook_order_confirmation .card-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  font-size: 26px;
  font-weight: 600;
}
body#order-confirmation #content-hook_order_confirmation .card-title .material-icons {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  color: #fff;
  background: var(--brand, #D9042B);
  border-radius: 50%;
}
body#order-confirmation #content-hook_order_confirmation p {
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.5;
}
/* naglowek i wiersze produktow: zdjecie | nazwa | cena | ilosc | razem */
body#order-confirmation #order-items > .row,
body#order-confirmation .order-line {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) 120px 80px 120px;
  column-gap: 16px;
  align-items: center;
  margin: 0;
}
body#order-confirmation #order-items > .row {
  padding-bottom: 10px;
  border-bottom: 1px solid #edf0f4;
}
body#order-confirmation #order-items > .row > .card-title {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 700;
  color: #6b7280;
  text-align: right;
}
body#order-confirmation #order-items > .row > .card-title:first-child {
  grid-column: 1 / 3;
  font-size: 18px;
  color: #111827;
  text-align: left;
}
body#order-confirmation .order-line {
  padding: 14px 0;
  border-bottom: 1px solid #edf0f4;
}
body#order-confirmation .order-line > [class*="col-"],
body#order-confirmation .order-line .qty .row > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
}
body#order-confirmation .order-line .image img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  padding: 4px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
body#order-confirmation .order-line .details {
  font-size: 14px;
  font-weight: 600;
}
body#order-confirmation .order-line .qty,
body#order-confirmation .order-line .qty .row {
  display: contents;
}
body#order-confirmation .order-line .qty .row > div {
  font-size: 14px;
  text-align: right !important;
}
body#order-confirmation .order-line .qty .row > div.bold {
  font-weight: 700;
}
body#order-confirmation .order-confirmation-table hr {
  display: none;
}
/* podsumowanie kwot po prawej */
body#order-confirmation .order-confirmation-table table {
  width: 320px;
  max-width: 100%;
  margin: 16px 0 0 auto;
  font-size: 14px;
}
body#order-confirmation .order-confirmation-table table td {
  padding: 4px 0;
}
body#order-confirmation .order-confirmation-table table td:last-child {
  text-align: right;
  white-space: nowrap;
}
body#order-confirmation .order-confirmation-table table .total-value td {
  padding-top: 10px;
  font-size: 17px;
  font-weight: 700;
  border-top: 1px solid #e5e7eb;
}
/* szczegoly zamowienia */
body#order-confirmation #order-details {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #edf0f4;
}
body#order-confirmation #order-details .card-title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
}
body#order-confirmation #order-details ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 1.7;
}
body#order-confirmation #order-details em {
  color: #6b7280;
}
/* zaloz konto */
body#order-confirmation .card h4 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
}
body#order-confirmation .card ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 1.7;
}
body#order-confirmation .card form .form-group {
  max-width: 420px;
}
body#order-confirmation .card form .form-control-label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
}
body#order-confirmation .card form .form-control {
  height: 44px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
}
body#order-confirmation .card form .btn-primary {
  height: 44px;
  margin-top: 12px;
  padding: 0 24px;
  font-weight: 700;
  color: #fff;
  background: var(--brand, #D9042B);
  border: 1px solid var(--brand, #D9042B);
  border-radius: 4px;
}
body#order-confirmation .card form .btn-primary:hover {
  background: var(--brand-dark, #A70321);
  border-color: var(--brand-dark, #A70321);
}
@media (max-width: 767px) {
  body#order-confirmation #order-items > .row > .card-title:not(:first-child) {
    display: none;
  }
  body#order-confirmation .order-line {
    grid-template-columns: 64px minmax(0, 1fr) auto;
  }
  body#order-confirmation .order-line .image img {
    width: 64px;
    height: 64px;
  }
  /* na telefonie tylko zdjecie | nazwa | razem */
  body#order-confirmation .order-line .qty .row > div:nth-child(1),
  body#order-confirmation .order-line .qty .row > div:nth-child(2) {
    display: none;
  }
  body#order-confirmation #order-items > .row > .card-title:first-child {
    grid-column: 1 / -1;
  }
}

/* strona glowna: wpisy z bloga z odstepem od lewego paska z logo, zdjecia rowne (ta sama proporcja, kadrowane) */
.wordpress_posts {
  padding: 0 20px;
}
.wordpress_posts .wordpress-grid .post-photo a img {
  aspect-ratio: 12 / 5;
  height: auto;
  object-fit: cover;
}

/* paginacja listingu: numery jako kwadraty, aktualna strona w kolorze sklepu, Poprzednia/Nastepna po bokach */
.pagination {
  display: block;
  margin: 24px 0;
}
.pagination > div:first-child {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  flex: none;
}
.pagination .page-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
}
.pagination .page-list li {
  display: block;
}
.pagination .page-list a,
.pagination .page-list .spacer {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0 !important;
  color: #111827;
  text-decoration: none;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #fff;
}
.pagination .page-list .spacer {
  border-color: transparent;
  background: transparent;
}
.pagination .page-list a:hover {
  color: var(--brand, #D9042B);
  border-color: var(--brand, #D9042B);
}
.pagination .current a {
  font-size: 15px;
  color: #fff !important;
  background: var(--brand, #D9042B);
  border-color: var(--brand, #D9042B);
}
/* Poprzednia / Nastepna: na skrajach */
.pagination .page-list li:has(.previous) {
  margin-right: auto;
}
.pagination .page-list li:has(.next) {
  margin-left: auto;
}
.pagination .previous,
.pagination .next {
  float: none;
  gap: 4px;
  padding: 0 14px;
}
.pagination .previous .material-icons,
.pagination .next .material-icons {
  font-size: 20px;
}
.pagination .page-list a.disabled {
  color: #9ca3af;
  pointer-events: none;
  border-color: #f0f0f0;
}

/* koszyk: pole ilosci - wersja odporna na uklad z JS (przyciski pozycjonowane w ramce, bez display: contents).
   minus przy lewej krawedzi, plus przy prawej, liczba na srodku */
body .product-line-grid-right .qty .bootstrap-touchspin {
  position: relative;
  display: block;
  width: 124px;
  height: 50px;
  padding: 0;
  border: 1px solid #e5e7eb;
  border-radius: 25px;
  background: #fff;
}
body .product-line-grid-right .qty .bootstrap-touchspin .bootstrap-touchspin-prefix,
body .product-line-grid-right .qty .bootstrap-touchspin .bootstrap-touchspin-postfix {
  display: none !important;
}
body .product-line-grid-right .qty .bootstrap-touchspin input.js-cart-line-product-quantity {
  position: absolute;
  top: 0;
  left: 44px;
  width: 36px;
  min-width: 0;
  height: 48px;
  margin: 0 !important;
  padding: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 48px;
  text-align: center;
  border: 0 !important;
  background: transparent;
}
body .product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical {
  position: static;
  display: block;
  width: auto;
  border: 0;
}
body .product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin {
  position: absolute;
  top: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-height: 0;
  margin: 0;
  padding: 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  color: #232323;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
body .product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin.bootstrap-touchspin-down {
  left: 7px;
  right: auto;
}
body .product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin.bootstrap-touchspin-up {
  right: 7px;
  left: auto;
}
body .product-line-grid-right .qty .bootstrap-touchspin .input-group-btn-vertical .btn-touchspin:hover {
  background: #f2f2f2;
}

/* platnosc: pusty opis metody (np. BLIK z Przelewy24) nie pokazuje szarego paska */
.payment-options .additional-information:not(:has(*)) {
  display: none !important;
}
/* formularze bramek platnosci (kod BLIK, zgody Przelewy24) w stylu sklepu */
.payment-options .js-payment-option-form {
  padding: 12px 0 16px 42px;
  border-bottom: 1px solid #edf0f4;
}
.payment-options .js-payment-option-form input[type="text"],
.payment-options .js-payment-option-form input[type="tel"],
.payment-options .js-payment-option-form input[type="number"] {
  height: 44px;
  padding: 0 12px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .15em;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  box-shadow: none;
}
.payment-options .js-payment-option-form input[type="text"]:focus,
.payment-options .js-payment-option-form input[type="tel"]:focus,
.payment-options .js-payment-option-form input[type="number"]:focus {
  outline: none;
  border-color: var(--brand, #D9042B);
}
.payment-options .js-payment-option-form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  vertical-align: middle;
  accent-color: var(--brand, #D9042B);
}
.payment-options .js-payment-option-form label {
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}
.payment-options .js-payment-option-form a {
  color: var(--brand, #D9042B);
  text-decoration: underline;
}

/* zamowienie: wszystkie radio/checkboxy (takze z modulow, np. wybor paragon/faktura) w kolorze sklepu */
body#checkout input[type="radio"],
body#checkout input[type="checkbox"] {
  accent-color: var(--brand, #D9042B);
}
/* blok "Wybierz dowod zakupu" (modul paragon/faktura) wyrownany z lista przewoznikow, bez wystawania poza krok */
body#checkout [class*="paragon"],
body#checkout [id*="paragon"] {
  box-sizing: border-box;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  border-radius: 8px;
}
/* komentarz do zamowienia: pole na szerokosc kroku, nie poza krawedz */
#checkout-delivery-step #delivery_message,
#checkout-delivery-step .order-options textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 80px;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
}
#checkout-delivery-step .order-options #delivery_message:focus {
  outline: none;
  border-color: var(--brand, #D9042B);
}

/* =====================================================================
   WERSJA MOBILNA (2026-10-29)
   ===================================================================== */

/* elementy menu mobilnego niewidoczne na desktopie */
.dmm-burger,
.dreamartmegamenu .dmm-head,
.dreamartmegamenu .dmm-foot,
.dmm-backdrop {
  display: none;
}

/* ---------- ponizej 1200px: brak lewego paska z logo, logo w naglowku ---------- */
@media (max-width: 1199px) {
  main > .container-fluid > .row > .col-xl-10 {
    padding-left: 16px;
    padding-right: 16px !important;
  }
  #header .header_content {
    gap: 12px;
  }
  #header #_desktop_logo {
    flex: 0 0 auto;
    display: block;
    width: 150px;
  }
  #header #_desktop_logo img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
  }
  /* menu poziome na tablecie: ciasniej */
  .dreamartmegamenu > ul {
    margin-left: 0;
    column-gap: 24px;
  }
  #header .dreamartmegamenu ul li a {
    font-size: 13px;
  }
}

/* ---------- ponizej 992px: menu wysuwane z lewej (jak na dreamart.dev) ---------- */
@media (max-width: 991px) {
  .dmm-burger {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #111;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    cursor: pointer;
  }
  .dmm-burger svg {
    width: 22px;
    height: 22px;
  }

  /* naglowek: [menu][logo] ..... [konto][koszyk] / pod spodem wyszukiwarka na cala szerokosc */
  #header .header_content {
    flex-wrap: wrap;
    padding: 12px 0;
  }
  #header .header_content #_desktop_logo {
    order: 1;
    width: 130px;
    margin-right: auto;
  }
  #header .header_content .dmm-burger {
    order: 0;
  }
  #header .header_content #_desktop_user_info {
    order: 2;
  }
  #header .header_content #_desktop_cart {
    order: 3;
  }
  #header .header_content #search_widget {
    order: 4;
    flex: 1 0 100%;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  /* panel menu */
  .dreamartmegamenu {
    position: fixed;
    top: 0;
    bottom: 0;
    left: -100%;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    width: 88%;
    max-width: 380px;
    background: #fff;
    box-shadow: 0 0 40px rgba(0, 0, 0, .2);
    transition: left .25s ease;
  }
  .dreamartmegamenu.show {
    left: 0;
  }
  .dmm-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1150;
    background: rgba(17, 24, 39, .45);
  }
  .dreamartmegamenu.show + .dmm-backdrop {
    display: block;
  }

  /* naglowek panelu: logo + X */
  .dreamartmegamenu .dmm-head {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #edf0f4;
  }
  .dreamartmegamenu .dmm-logo img {
    display: block;
    width: 130px;
    height: auto;
  }
  .dreamartmegamenu .close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #f3f4f6;
    border-radius: 10px;
    cursor: pointer;
  }
  .dreamartmegamenu .close svg {
    width: 16px;
    height: 16px;
  }

  /* lista: przewijana, kolejne poziomy wysuwaja sie na jej miejsce */
  .dreamartmegamenu > ul {
    position: relative;
    display: block;
    flex: 1;
    margin: 0;
    padding: 8px 12px;
    overflow-x: hidden;
    overflow-y: auto;
  }
  .dreamartmegamenu ul li {
    position: static;
  }
  #header .dreamartmegamenu ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: none;
    white-space: normal;
    color: #111827;
    border-radius: 10px;
  }
  #header .dreamartmegamenu ul li a:hover {
    color: #111827;
    background: #f9fafb;
  }
  /* ikona kategorii w kafelku */
  .dreamartmegamenu > ul > li > a img {
    flex: none;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 9px;
    background: color-mix(in srgb, var(--brand, #D9042B) 9%, #fff);
    border-radius: 10px;
  }
  .dreamartmegamenu > ul > li > a:hover img {
    filter: none;
  }
  /* strzalka przy pozycjach z podkategoriami */
  .dreamartmegamenu ul li a > span,
  .dreamartmegamenu > ul > li > a .top,
  .dreamartmegamenu > ul > li > ul > li a span {
    display: flex;
    margin-left: auto;
    color: #9ca3af;
  }
  .dreamartmegamenu ul li a > span svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
  }

  /* kolejny poziom: zakrywa liste, z "wstecz" i "Wszystkie" na gorze */
  .dreamartmegamenu > ul ul,
  .dreamartmegamenu ul li:hover > ul {
    display: none;
  }
  .dreamartmegamenu > ul ul.show {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    margin: 0;
    padding: 0 12px 8px;
    overflow-y: auto;
    background: #fff;
    box-shadow: none;
    list-style: none;
  }
  #header .dreamartmegamenu > ul > li > ul > li a:hover {
    color: #111827;
    background: #f9fafb;
  }
  .dreamartmegamenu .more {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 -12px 8px;
    padding: 16px 18px;
    font-size: 16px;
    font-weight: 700;
    text-transform: none;
    border-bottom: 1px solid #edf0f4;
    cursor: pointer;
  }
  .dreamartmegamenu .more svg {
    width: 12px;
    height: 12px;
    fill: var(--brand, #D9042B);
  }
  .dreamartmegamenu ul li.d-md-none {
    display: block !important;
  }
  /* "Wszystkie" wyroznione jak "Cala oferta" na dreamart.dev */
  #header .dreamartmegamenu ul li.d-md-none > a {
    justify-content: space-between;
    margin-bottom: 6px;
    padding: 12px 14px;
    color: var(--brand, #D9042B);
    background: color-mix(in srgb, var(--brand, #D9042B) 8%, #fff);
  }
  #header .dreamartmegamenu ul li.d-md-none > a::after {
    content: "→";
  }
  .dreamartmegamenu ul li.border_bottom {
    border: 0;
  }

  /* stopka panelu: telefon i e-mail */
  .dreamartmegamenu .dmm-foot {
    display: grid;
    flex: none;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    padding: 14px 16px 18px;
    border-top: 1px solid #edf0f4;
  }
  .dreamartmegamenu .dmm-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
  }
  .dreamartmegamenu .dmm-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dreamartmegamenu .dmm-chip svg {
    flex: none;
    width: 16px;
    height: 16px;
    color: var(--brand, #D9042B);
  }
  .dreamartmegamenu .dmm-hours {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 12px;
    color: #6b7280;
    text-align: center;
  }
}

@media (max-width: 991px) {
  /* naglowek: same ikony konta i koszyka (bez "Moje konto" i kwoty), zeby miescily sie w jednej linii */
  #header #_desktop_user_info .text,
  #header #_desktop_cart .total {
    display: none !important;
  }
  #header .header_content #_desktop_user_info,
  #header .header_content #_desktop_cart {
    flex: none;
    margin: 0;
  }

  /* baner na stronie glownej */
  .dreamartimageslider .text {
    padding: 20px 4px;
    text-align: left;
  }
  .dreamartimageslider .image .title {
    margin-bottom: 12px;
    font-size: 28px;
    line-height: 1.2;
  }
  .dreamartimageslider .image .content {
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.5;
  }
  .dreamartimageslider .btn {
    padding: 10px 22px;
    font-size: 15px;
  }
  .dreamartimageslider ul.slick-dots {
    margin: 10px 0;
  }
}

/* baner: zawartosc slajdu nie wychodzi na sasiedni slajd (ujemne marginesy .row) */
.dreamartimageslider .slick-slide {
  overflow: hidden;
}
.dreamartimageslider .slick-slide > .row,
.dreamartimageslider .slick-slide .row.align-items-center {
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 991px) {
  .dreamartmegamenu .more {
    color: #111827;
  }
  /* pozycja bez ikony (np. PROMOCJE): kafelek z % zeby lista byla rowna */
  .dreamartmegamenu > ul > li > a:not(:has(img))::before {
    content: "%";
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 17px;
    font-weight: 700;
    color: var(--brand, #D9042B);
    background: color-mix(in srgb, var(--brand, #D9042B) 9%, #fff);
    border-radius: 10px;
  }
}

/* ---------- listing na telefonie / tablecie ---------- */
@media (max-width: 991px) {
  /* drzewko kategorii z lewej kolumny dubluje menu - na telefonie ukryte */
  #left-column .block-categories {
    display: none;
  }
  /* przycisk filtrow w kolorze sklepu */
  .js-search-toggler.btn {
    width: 100%;
    height: 44px;
    font-weight: 700;
    color: var(--brand, #D9042B);
    background: #fff;
    border: 1px solid var(--brand, #D9042B);
    border-radius: 4px;
  }
}
@media (max-width: 767px) {
  /* 2 produkty w rzedzie (motyw ma col-xs-12 z Bootstrapa 4, ktorego CSS nie zna) */
  #js-product-list .products > .js-product,
  .products > .js-product.col-xs-12 {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    padding: 14px 8px;
  }
  .product-miniature .product-title,
  .product-miniature .product-title a {
    font-size: 14px;
    line-height: 1.35;
  }
  .product-miniature .price {
    font-size: 15px;
  }
}

/* ---------- karta produktu na telefonie ---------- */
@media (max-width: 767px) {
  .page-product h1,
  .page-product h1.h1 {
    font-size: 24px;
    line-height: 1.25;
  }
  /* zakladki, opinie, FAQ bez dodatkowych 20px marginesu (na telefonie robi to juz odstep strony) */
  #main .tabs,
  #product-comments-list-header,
  #empty-product-comment,
  #product-comments-list,
  #product-comments-list-footer,
  .dreamartfaqproduct {
    margin-left: 0;
    margin-right: 0;
  }
  .dreamartfaqproduct .col-12,
  .dreamartfaqproduct [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
  }
  .dreamartfaqproduct h2,
  .dreamartfaqproduct .h2 {
    font-size: 24px;
  }
  #empty-product-comment .btn.post-product-comment {
    width: 100%;
  }
  .product-price-history .btn,
  .product-price-history #open-chart {
    width: 100%;
  }
}

/* koszyk: kolumna z iloscia dopasowana do pola (bylo sciskane do szerokosci kolumny col-6) */
.product-line-grid-right .qty {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}
body .product-line-grid-right .qty .bootstrap-touchspin {
  flex: none;
  max-width: none;
}
.product-line-grid-right .qty + .price {
  flex: 1 1 auto;
  width: auto;
  max-width: none;
}

@media (max-width: 767px) {
  /* udostepnianie koszyka: link na cala szerokosc, przyciski pod nim */
  .cart-share-top {
    margin-left: 0;
  }
  .cart-share-top #dreamart-sendcart-result[style*="block"] {
    width: 100%;
  }
  .cart-share-top #dreamart-sendcart-link {
    flex: 1 1 100%;
    width: 100%;
  }
  .cart-share-top #dreamart-sendcart-result .btn {
    flex: 1 1 0;
    padding: 0 10px;
  }
  .cart-share-top #dreamart-sendcart-generate {
    width: 100%;
  }
  /* linia produktu: tekst od lewej */
  .cart-item .product-line-grid-body,
  .cart-item .product-line-grid-body .product-line-info {
    text-align: left;
  }
  .cart-grid {
    margin-left: 0 !important;
  }
}

/* podsumowanie koszyka: kwota zawsze przy prawej krawedzi (wiersz "Wysylka" ma dodatkowy pusty div) */
.cart-summary-line > div:empty {
  display: none;
}
.cart-detailed-totals .cart-summary-line .value {
  margin-left: auto;
}
@media (max-width: 767px) {
  .cart-item .product-line-info a.label {
    text-align: left;
  }
}

@media (max-width: 767px) {
  /* zamowienie, potwierdzenie, blog: na telefonie odstep daje juz kolumna strony */
  body#checkout #content {
    padding-left: 0;
    padding-right: 0;
  }
  body#order-confirmation #wrapper .card,
  body#order-confirmation #content-hook_order_confirmation,
  body#order-confirmation #content,
  body#order-confirmation #content-hook_payment_return {
    margin-left: 0;
    margin-right: 0;
    padding: 16px;
  }
  .wordpress_posts {
    padding: 0;
  }
}

/* newsletter w stopce na telefonie: tekst i formularz pod soba, pole e-mail na cala szerokosc */
@media (max-width: 767px) {
  .block_newsletter > .row {
    flex-direction: column;
    padding: 28px 18px !important;
  }
  .block_newsletter > .row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
  }
  .block_newsletter form > .row > .col-xs-12:first-child {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .block_newsletter form .input-wrapper {
    width: 100%;
  }
  .block_newsletter form input[type="email"] {
    display: block;
    width: 100%;
    height: 48px;
  }
  .block_newsletter form input[type="submit"] {
    float: none;
    order: 2;
    width: 100%;
  }
}
@media (max-width: 767px) {
  #blockEmailSubscription_displayFooterBefore .input-wrapper {
    height: 48px;
  }
  #blockEmailSubscription_displayFooterBefore .input-wrapper input[type="email"] {
    height: 48px;
    padding: 0 20px;
    border: 1px solid #d1d5db;
    border-radius: 24px;
    background: #fff;
  }
}
@media (max-width: 767px) {
  #blockEmailSubscription_displayFooterBefore form input[type="submit"] {
    position: static;
    margin: 0 !important;
    transform: none;
  }
}
@media (max-width: 767px) {
  /* w kolumnie flex motyw daje .input-wrapper flex: 1 (podstawa 0) - pole mialo 0 px wysokosci */
  #blockEmailSubscription_displayFooterBefore .input-wrapper {
    flex: none;
  }
}
@media (max-width: 991px) {
  .dreamartimageslider .image .title {
    text-align: left;
  }
}

/* ===== poprawki mobile 2 (2026-10-29) ===== */

/* menu mobilne: tap w kategorie daje :hover, a regula modulu "li:hover > ul" (wyzszy priorytet) chowala otwarte podmenu */
@media (max-width: 991px) {
  #header .dreamartmegamenu ul li > ul.show,
  #header .dreamartmegamenu ul li:hover > ul.show {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    margin: 0;
    padding: 0 12px 8px;
    overflow-y: auto;
    background: #fff;
    box-shadow: none;
    list-style: none;
  }
  #header .dreamartmegamenu ul li:hover > ul:not(.show) {
    display: none;
  }
}

@media (max-width: 1199px) {
  /* bez szarej linii z lewej (to krawedz paska z logo na desktopie) */
  #wrapper {
    border-left: 0 !important;
  }
}

@media (max-width: 767px) {
  /* listing: kazdy produkt w osobnej karcie z odstepem zamiast sklejonych ramek */
  #js-product-list .products,
  .featured-products .products:not(.slick-initialized) {
    row-gap: 12px;
    margin-left: -6px;
    margin-right: -6px;
  }
  #js-product-list .products > .js-product {
    padding: 0 6px;
    border: 0 !important;
  }
  #js-product-list .products > .js-product .product-miniature {
    height: 100%;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
  }

  /* karta produktu: mniejsze odstepy miedzy wariantami */
  .product-variants {
    gap: 12px 20px !important;
  }
  .product-variants > .product-variants-item {
    margin-bottom: 0;
  }
  .product-actions .product-variants {
    margin-bottom: 16px;
  }
  /* ilosc + "Dodaj do koszyka" + serduszko w jednym rzedzie */
  .product-add-to-cart .product-quantity {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
  }
  .product-add-to-cart .product-quantity > .add {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
  }
  .product-add-to-cart .product-quantity .add .add-to-cart {
    width: 100%;
    padding: 0 12px;
    font-size: 16px;
  }
  .product-add-to-cart .product-quantity > .qty {
    flex: none;
    margin: 0;
  }
  .product-add-to-cart .product-quantity > .wishlist-button-add {
    flex: none;
    margin: 0;
  }

  /* newsletter: zgoda pod przyciskiem, nie pod nim schowana; pole bez podwojnej ramki */
  #blockEmailSubscription_displayFooterBefore form > .row > .col-xs-12 {
    height: auto !important;
    margin: 0 0 12px;
  }
  #blockEmailSubscription_displayFooterBefore .input-wrapper input[type="email"] {
    border: 0;
    background: transparent;
  }
}
@media (max-width: 767px) {
  .product-add-to-cart .product-quantity .add .add-to-cart {
    padding: 0 10px;
    font-size: 15px;
    white-space: nowrap;
  }
}
@media (max-width: 767px) {
  /* motyw daje liscie produktow 35px marginesu z lewej (miejsce na kolumne na desktopie) */
  #js-product-list {
    margin-left: 0 !important;
  }
}
@media (max-width: 767px) {
  /* newsletter: ramka "pigulki" z desktopu (pole + przycisk w jednej) obejmowala oba elementy - na telefonie ramke ma samo pole */
  #blockEmailSubscription_displayFooterBefore form > .row > .col-xs-12:first-child {
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  #blockEmailSubscription_displayFooterBefore .input-wrapper,
  #blockEmailSubscription_displayFooterBefore .input-wrapper input[type="email"] {
    height: 46px;
  }
  #blockEmailSubscription_displayFooterBefore .input-wrapper input[type="email"] {
    padding: 0 20px;
    border: 1px solid #d1d5db;
    border-radius: 23px;
    background: #fff;
  }
  #blockEmailSubscription_displayFooterBefore .input-wrapper input[type="email"]:focus {
    border-color: var(--brand, #D9042B);
  }
}
@media (max-width: 1199px) {
  /* naglowek na telefonie/tablecie bez lewej linii (krawedz paska z logo) i bez czarnej linii pod spodem */
  #header {
    border-left: 0 !important;
  }
  #header .header_content {
    border-bottom: 0 !important;
  }
}

/* listing: przycisk zwijania podkategorii tylko na telefonie */
.subcategories-toggle {
  display: none;
}
@media (max-width: 767px) {
  #subcategories {
    margin: 0 0 12px;
  }
  .subcategories-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 44px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
  }
  .subcategories-toggle .count {
    margin-left: 6px;
    margin-right: auto;
    font-weight: 400;
    color: #6b7280;
  }
  .subcategories-toggle::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s;
  }
  #subcategories.open .subcategories-toggle::after {
    transform: rotate(-135deg) translateY(-2px);
  }
  #subcategories > ul {
    display: none;
    margin: 0;
    padding: 6px 0;
    border: 1px solid #e5e7eb;
    border-top: 0;
    border-radius: 0 0 4px 4px;
  }
  #subcategories.open > ul {
    display: block;
  }
  #subcategories.open .subcategories-toggle {
    border-radius: 4px 4px 0 0;
  }
  #subcategories > ul > li {
    margin: 0;
    padding: 8px 16px;
  }

  /* sortowanie i filtr w jednym rzedzie, ta sama wysokosc */
  #js-product-list-top {
    margin: 0 0 12px;
  }
  #js-product-list-top > [class*="col-"] {
    width: 100%;
    padding: 0;
  }
  #js-product-list-top .sort-by-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0;
  }
  #js-product-list-top .products-sort-order {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    padding: 0;
  }
  #js-product-list-top .products-sort-order .select-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    font-size: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    background: #fff;
  }
  #js-product-list-top .filter-button {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 0;
  }
  #js-product-list-top .filter-button .js-search-toggler {
    width: auto;
    padding: 0 20px;
  }
}
@media (max-width: 767px) {
  #js-product-list-top .products-sort-order .select-title .material-icons {
    float: none !important;
    margin: 0;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  #subcategories > ul > li {
    position: relative;
    padding-left: 34px;
  }
  #subcategories > ul > li::before {
    left: 16px !important;
  }
}
/* strzalka w sortowaniu: motyw daje ikonie height/line-height "inherit" (44px) - glif uciekal do gory */
@media (max-width: 767px) {
  #js-product-list-top .sort-by-row .select-title i.material-icons {
    float: none !important;
    height: auto;
    margin-left: auto;
    font-size: 22px;
    line-height: 1;
  }
}
#js-product-list-top .sort-by-row .select-title i.material-icons {
  height: auto;
  line-height: 1;
}

/* Przycisk FILTR (2026-10-30): BS4 hidden-md-up nie działa w BS5 - chowamy na desktopie,
   a bez panelu filtrów (#search_filters) wszędzie, bo nie ma czego otwierać */
@media (min-width: 768px) {
  #js-product-list-top .filter-button { display: none !important; }
}
body:not(:has(#search_filters)) #js-product-list-top .filter-button { display: none !important; }
#js-product-list-top #search_filter_toggler {
  background: #fff; color: var(--brand, #D9042B); border: 1px solid var(--brand, #D9042B);
  border-radius: 4px; height: 44px; font-weight: 600; box-shadow: none;
}
#js-product-list-top #search_filter_toggler:hover,
#js-product-list-top #search_filter_toggler:focus {
  background: var(--brand, #D9042B); color: #fff;
}

#x13recieptorinvoice-invoice,
.x13recieptorinvoice strong {
  width: initial;
}

/* Strona marki /brand/... (2026-11-02) - naglowek jak w kategorii, opis pod produktami */
body.page-manufacturer #main .brand-header {
  margin-bottom: 20px;
}
body.page-manufacturer #main .brand-header h1 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
}
body.page-manufacturer #manufacturer-short_description,
body.page-manufacturer #manufacturer-short_description p {
  font-size: 15px;
  line-height: 1.6;
  color: #111;
}
body.page-manufacturer #js-product-list {
  margin-left: 0;
}
/* wyrownanie siatki i sortowania do linii naglowka (row ma -12px, a top +10px) */
body.page-manufacturer #js-product-list .products,
body.page-manufacturer #js-product-list-top {
  margin-left: 0;
  margin-right: 0;
}
body.page-manufacturer #js-product-list-top > div:first-child {
  padding-left: 0;
}
body.page-manufacturer #wrapper .breadcrumb {
  margin-left: 0;
}
/* brak lewej kolumny - siatka produktow przy lewej ramce #wrapper, reszta z odstepem */
@media (min-width: 992px) {
  body.page-manufacturer #wrapper .breadcrumb,
  body.page-manufacturer #main .brand-header,
  body.page-manufacturer #js-product-list-top,
  body.page-manufacturer #js-product-list .pagination,
  body.page-manufacturer .brand-description {
    padding-left: 30px;
  }
}
body.page-manufacturer .brand-description {
  border: 0;
  margin-top: 40px;
  background: transparent;
}
body.page-manufacturer .brand-description .card-block {
  padding: 0;
}
body.page-manufacturer #manufacturer-description h2,
body.page-manufacturer #manufacturer-description h3 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin: 24px 0 12px;
}
body.page-manufacturer #manufacturer-description > h2:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  body.page-manufacturer #main .brand-header h1 { font-size: 24px; }
  body.page-manufacturer #manufacturer-description h2,
  body.page-manufacturer #manufacturer-description h3 { font-size: 18px; }
}

/* Lista producentow /producenci (2026-11-02) - kafelki jak karty produktow, logo albo nazwa */
#manufacturer #main > h1 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  #manufacturer #main > h1 { padding-left: 30px; }
}
@media (max-width: 767px) {
  #manufacturer #main > h1 { font-size: 24px; }
}
#manufacturer #main ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) { #manufacturer #main ul { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { #manufacturer #main ul { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1400px) { #manufacturer #main ul { grid-template-columns: repeat(5, 1fr); } }
#manufacturer #main ul .brand {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 32px 24px;
  border-top: 1px solid #e5e5e5;
  border-right: 1px solid #e5e5e5;
  margin-top: -1px;
  border-bottom: 1px solid #e5e5e5;
  box-shadow: none;
}
#manufacturer #main ul .brand:hover {
  box-shadow: none;
}
#manufacturer #main ul .brand:hover .brand-infos a {
  color: var(--brand, #D9042B);
}
#manufacturer #main ul .brand-img {
  width: 100%;
  margin-bottom: 12px;
}
#manufacturer #main ul .brand-infos p {
  margin: 0;
}
#manufacturer #main ul .brand-img a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 140px;
}
@media (max-width: 767px) {
  #manufacturer #main ul .brand { padding: 20px 12px; }
  #manufacturer #main ul .brand:nth-child(odd) { border-left: 1px solid #e5e5e5; }
  #manufacturer #main ul .brand-img a { height: 100px; }
  #manufacturer #main ul .brand-img img { max-height: 100px; }
}
#manufacturer #main ul .brand-img img {
  max-height: 140px;
  width: auto;
  object-fit: contain;
}
#manufacturer #main ul .brand-img .brand-noimg-name {
  display: none;
}
#manufacturer #main ul .brand-img a.brand-noimg .brand-noimg-name,
#manufacturer #main ul .brand-img a:not(:has(img)) .brand-noimg-name {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #111;
  text-align: center;
}
