:root {
  /* Tlo stopki (footer::before, width:100vw) — zielony PureGreen.
     Steruje tylko paskiem stopki; zielone hotspoty to osobne zmienne. */
  --footer-before-background: #00a400 !important;
  --hotspot-arrow-color: #00a400 !important;
  --hotspot-arrow-background-hover: #00a400 !important;

  /* Galeria — ciemniejsze nieaktywne kropki (bylo 4x to samo) */
  --swiper-pagination-bullet-inactive-color: #BDBDBD;

  /* Blog — tlo ikony artykulu */
  --article-icon-background: #ffffff;
}

/* ─────────────────────────────────────────────────────────────────
   2. UKRYTE ELEMENTY (globalne)
   ───────────────────────────────────────────────────────────────── */
.newsletter { display: none; }
.basket__unknown_delivery { display: none; }
#main_tree5 .section { display: none; }

/* ═════════════════════════════════════════════════════════════════
   3. OPIS PRODUKTU (Pulse) — UJEDNOLICENIE
   ─────────────────────────────────────────────────────────────────
   Cztery scenariusze:
   1. Custom landing z wlasnym <style> (np. Bamix) - tylko biala ramka,
      typografia nieruszana
   2. Czysty HTML opis (np. Garland) - biala ramka + standardowa typografia
   3. Edytor Pulse 1 sekcja (np. Alessi) - biala ramka + typografia
   4. Edytor Pulse wiele sekcji (np. bikerun) - JEDEN wspolny panel
      zamiast osobnych bialych kafelkow
   ═════════════════════════════════════════════════════════════════ */

/* A. Opis BEZ edytora - biala ramka wokol (dziala dla custom landingow tez) */
#projector_longdescription:not(.newdescription) {
  background: #fff !important;
  border-radius: 24px !important;
  padding: 40px 56px !important;
  margin: 0 0 40px !important;
}
@media (max-width: 768px) {
  #projector_longdescription:not(.newdescription) {
    padding: 24px 20px !important;
    border-radius: 16px !important;
  }
}

/* B. Opis Z edytora - jeden wspolny bialy panel na cala grupe sekcji */
.newdescription__group {
  background: #fff !important;
  border-radius: 24px !important;
  padding: 40px 56px !important;
  margin: 0 0 40px !important;
  gap: 24px !important;
}
@media (max-width: 768px) {
  .newdescription__group {
    padding: 24px 20px !important;
    border-radius: 16px !important;
    gap: 20px !important;
  }
}

/* B.1 Pojedyncza sekcja - przezroczysta, bez wlasnego panelu */
.newdescription__section {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: block !important;
  gap: 0 !important;
}

/* B.2 Layouty zlozone (column/default z obrazkami) zachowuja grida */
.newdescription__section[data-layout="column"],
.newdescription__section[data-layout="default"] {
  display: grid !important;
  gap: 32px !important;
}

/* C. NAGLOWKI I TEKST - tylko dla opisow Z edytora ORAZ
   zwyklych HTML BEZ wlasnego <style> w srodku (omijamy custom landingi) */

/* C.1 Opisy z edytora Pulse */
.newdescription h2 {
  font-size: 28px !important;
  line-height: 1.25 !important;
  margin: 28px 0 16px !important;
  font-weight: 600 !important;
}
.newdescription h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
  margin: 24px 0 12px !important;
  font-weight: 600 !important;
}
.newdescription h4 {
  font-size: 18px !important;
  line-height: 1.35 !important;
  margin: 20px 0 10px !important;
  font-weight: 600 !important;
}
.newdescription p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 14px !important;
}
.newdescription ul,
.newdescription ol {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 14px !important;
}

/* C.2 Zwykly HTML opis (bez edytora, bez custom <style>) */
#projector_longdescription:not(.newdescription):not(:has(> style)) h2 {
  font-size: 28px !important;
  line-height: 1.25 !important;
  margin: 28px 0 16px !important;
  font-weight: 600 !important;
}
#projector_longdescription:not(.newdescription):not(:has(> style)) h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
  margin: 24px 0 12px !important;
  font-weight: 600 !important;
}
#projector_longdescription:not(.newdescription):not(:has(> style)) h4 {
  font-size: 18px !important;
  line-height: 1.35 !important;
  margin: 20px 0 10px !important;
  font-weight: 600 !important;
}
#projector_longdescription:not(.newdescription):not(:has(> style)) p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 14px !important;
}
#projector_longdescription:not(.newdescription):not(:has(> style)) ul,
#projector_longdescription:not(.newdescription):not(:has(> style)) ol {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 14px !important;
}

/* D. Trim marginesow przy krawedziach panelu */
#projector_longdescription:not(.newdescription):not(:has(> style)) > *:first-child,
.newdescription__group > .newdescription__section:first-child > *:first-child,
.newdescription__group > .newdescription__section:first-child {
  margin-top: 0 !important;
}
#projector_longdescription:not(.newdescription):not(:has(> style)) > *:last-child,
.newdescription__group > .newdescription__section:last-child > *:last-child,
.newdescription__group > .newdescription__section:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  .newdescription h2,
  #projector_longdescription:not(.newdescription):not(:has(> style)) h2 { font-size: 22px !important; }
  .newdescription h3,
  #projector_longdescription:not(.newdescription):not(:has(> style)) h3 { font-size: 18px !important; }
  .newdescription h4,
  #projector_longdescription:not(.newdescription):not(:has(> style)) h4 { font-size: 16px !important; }
  .newdescription p,
  .newdescription ul,
  .newdescription ol,
  #projector_longdescription:not(.newdescription):not(:has(> style)) p,
  #projector_longdescription:not(.newdescription):not(:has(> style)) ul,
  #projector_longdescription:not(.newdescription):not(:has(> style)) ol { font-size: 14px !important; }
}

/* Mobile - wylacz wbudowany padding 32px sekcji opisu */
@media (max-width: 978px) {
  .newdescription {
    --longdescription-section-padding: 0 !important;
  }
}

/* ═════════════════════════════════════════════════════════════════
   4. NAGLOWEK LISTINGU / KATEGORIA (kompaktowy header + anty-FOUC)
   ═════════════════════════════════════════════════════════════════ */

/* DESKTOP - kompaktowy header i schowany opis */
@media (min-width: 769px) {
  .search_name {
    padding: 24px 0 8px !important;
    margin: 0 !important;
  }
  .search_name__label.headline {
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
  }
  .search_description.--top {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }
  .search_description.--top .search_description__wrapper {
    max-height: 0;
    overflow: hidden;
    padding: 0;
  }
  /* Rezerwacja miejsca dla slidera podkategorii (~78px),
     zeby przy jego wstrzyknieciu reszta strony nie skakala */
  html:not(.pg-ready) .search_description.--top {
    min-height: 78px;
  }
}

/* MOBILE - kompaktowy header i schowany opis */
@media (max-width: 768px) {
  .search_name {
    padding: 14px 14px 4px !important;
    margin: 0 !important;
  }
  .search_name__label.headline {
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    display: block !important;
  }
  /* Zanim JS dodatku rozdzieli h1 na nazwe + suffix SEO, h1 zawiera pelny
     tekst typu "Male AGD do Kuchni - male agd, urzadzenia specjalne".
     Bez ograniczenia ten tekst zajmuje 3 linie i header rozciaga sie
     na ~200px wysokosci - widoczny FOUC na wolniejszych urzadzeniach.
     Ograniczamy h1 do 1 linii z ellipsis dopoki JS nie wykona swojej
     pracy (czyli dopoki html nie ma .pg-ready). */
  html:not(.pg-ready) .search_name__label.headline {
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .search_name__total { display: none !important; }

  .search_description.--top {
    max-height: none !important;
    overflow: visible !important;
    padding: 0 14px !important;
    margin: 0 !important;
    background: transparent !important;
  }
  .search_description.--top .search_description__wrapper {
    max-height: 0;
    overflow: hidden;
    padding: 0;
  }
  html:not(.pg-ready) .search_description.--top {
    min-height: 72px;
  }
}

/* ═════════════════════════════════════════════════════════════════
   5. KARTA PRODUKTU
   ═════════════════════════════════════════════════════════════════ */

/* Ukrycia na karcie produktu */
.projector_stocks { display: none; }
#projector_stocks { display: none; }
#projector_paypo { display: none; }
.projector_shipping__text_from,
.projector_shipping__price { display: none; }
.projector_status__info_amount { display: none; }

/* PULSE - hover/selected uniwersalne (niezalezne od brand color), soft 3D.
   KLUCZOWA NAPRAWA: rodzic __sub ma overflow:auto - to ucina ramki/cienie */
body #projector_form .projector_variants__sub {
  overflow: visible !important;
  padding: 8px 4px !important;
  margin: -8px -4px !important;
}

/* WARIANT KOLORU */
body #projector_form .projector_variants__item {
  overflow: visible !important;
  border-color: transparent !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, outline-color 0.25s ease;
  background: white;
  border-radius: 8px;
  outline: 2px solid transparent !important;
  outline-offset: 0px !important;
}
/* Default - subtelny base shadow */
body #projector_form .projector_variants__item:not(:hover):not(.--selected) {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
/* Hover (nieaktywny) - SAMO PODNIESIENIE bez ramki */
body #projector_form .projector_variants__item:not(.--selected):hover {
  border-color: transparent !important;
  outline-color: transparent !important;
  transform: translateY(-2px);
  box-shadow:
    0 6px 16px rgba(0, 0, 0, 0.08),
    0 2px 4px rgba(0, 0, 0, 0.04);
}
/* Selected - podniesienie + jasniejsza ramka 2px */
body #projector_form .projector_variants__item.--selected {
  border-color: transparent !important;
  outline: 2px solid rgba(0, 0, 0, 0.25) !important;
  outline-offset: 0px !important;
  transform: translateY(-2px);
  box-shadow:
    0 6px 16px rgba(0, 0, 0, 0.09),
    0 2px 6px rgba(0, 0, 0, 0.05);
}
/* Selected + hover - wiekszy lift */
body #projector_form .projector_variants__item.--selected:hover {
  outline: 2px solid rgba(0, 0, 0, 0.3) !important;
  transform: translateY(-3px);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.11),
    0 3px 8px rgba(0, 0, 0, 0.06);
}
.projector_variants__gfx { border-radius: 7px !important; }

/* POLE ROZMIAR */
#projector_form .projector_sizes__item.--selected,
#projector_form .projector_sizes__item.--selected:hover {
  box-shadow: rgba(0, 0, 0, 0.25) 0 0 0 2px inset !important;
}

/* Galeria z 1 zdjeciem - rozciaga na pelna szerokosc
   (zamiast 50% jak default Pulse z grid 2-kolumnowym) */
@media (min-width: 757px) {
  #projector_photos.photos:not(.--gallery-modal) .photos__slider .swiper-wrapper:has(> .photos__figure.swiper-slide:only-child) {
    grid-template-columns: 1fr !important;
  }
}

/* Karta produktu: max 4 zdjecia w galerii (tylko desktop) */
@media (min-width: 1024px) {
  /* Ukryj slajdy od 5. wzwyz W GLOWNEJ GALERII */
  .photos___slider_wrapper .photos__figure.swiper-slide:nth-child(n+5) {
    display: none !important;
  }
  /* Cofnij ukrycie wewnatrz lightbox modal - tam pokazuj wszystkie */
  .gallery_modal__sliders.--gallery-modal .photos___slider_wrapper .photos__figure.swiper-slide:nth-child(n+5) {
    display: flex !important;
  }
  /* Wymus kwadratowy kafelek (ratio 1:1) - tylko glowna galeria */
  #projector_photos:not(.--gallery-modal) .photos___slider_wrapper .photos__figure.swiper-slide {
    aspect-ratio: 1 / 1;
    height: auto !important;
    overflow: hidden;
    background: #fff;
    border-radius: 24px;
  }
  /* Zdjecie wypelnia kafelek bez przycinania - tylko glowna galeria */
  #projector_photos:not(.--gallery-modal) .photos___slider_wrapper .photos__figure.swiper-slide picture,
  #projector_photos:not(.--gallery-modal) .photos___slider_wrapper .photos__figure.swiper-slide picture img,
  #projector_photos:not(.--gallery-modal) .photos___slider_wrapper .photos__figure.swiper-slide video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: inherit;
  }
}

/* Ukryj wideo slide w galerii i lightbox modal
   (autoplay z dzwiekiem byl problemem przy modal).
   Wideo w sekcji opisu produktu (longdescription) zostaje */
.photos__figure.--video,
.gallery_modal__sliders .photos__figure.--video,
.--gallery-modal .photos__figure.--video,
.tm-productModal__video,
.tm-productModal .photos__figure.--video {
  display: none !important;
}

/* Apple Pay / Google Pay - fix przycinania borderu */
.projector_oneclick__item,
#oneclick_googlePay,
#oneclick_applePay,
[id*="oneclick_"][class*="--googlePay"],
[id*="oneclick_"][class*="--applePay"] {
  min-height: 60px !important;
  height: auto !important;
  overflow: visible !important;
}
.projector_oneclick__items {
  overflow: visible !important;
}
.projector_oneclick__item iframe {
  display: block !important;
  width: 100% !important;
}
.projector_tabs__mobile {
  min-width: 0 !important;
}

/* Ceny - ukryj omnibus / max / before-rebate / new-price / deposit */
.product__prices .price.--omnibus,
.product__prices .price.--max,
.product__prices .price.--before-rebate,
.product__prices .price.--new-price,
.product__prices .price.--deposit {
  order: 3;
  display: none;
}

/* Najnizsza cena / SRP */
#projector_form .projector_prices__lowest_price {
  margin: var(--projector-details-lowest-price-margin, 0px);
  padding: var(--projector-details-lowest-price-padding, 0px);
}
#projector_form .projector_prices__srp_wrapper.--active {
  display: none !important;
}

/* Traits / status - ukryj */
#search .product__traits {
  border-top: 1px solid #E5E5E5;
  padding: var(--product-content-padding) 0;
  margin: 0 var(--product-content-padding);
  display: none !important;
}
.traits {
  font-size: 1.4rem;
  margin-bottom: 3.2rem;
  padding: 3.2rem 0;
  border-bottom: 1px solid #E5E5E5;
  border-top: 1px solid #E5E5E5;
  display: none;
}

/* ─────────────────────────────────────────────────────────────────
   6. LISTING / HOTSPOTY
   ───────────────────────────────────────────────────────────────── */
.hotspot.--list .product .price.--omnibus,
.hotspot.--list .product .price.--max,
.hotspot.--list .product .price.--before-rebate,
.hotspot.--list .product .price.--new-price {
  order: 3;
  display: none;
}

/* ─────────────────────────────────────────────────────────────────
   7. NAGLOWEK / LAYOUT
   ───────────────────────────────────────────────────────────────── */
/* Header + menu szersze do 1680px, reszta strony bez zmian */
@media (min-width: 1400px) {
  /* Rozszerz glowny wrapper (header + tresc siedzi w nim) */
  body > #container.max-width-1200 {
    max-width: 1680px !important;
  }
  /* Cofnij szerokosc dla czesci z trescia produktu */
  #container > #layout {
    max-width: 1398px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ─────────────────────────────────────────────────────────────────
   8. BLOG / ARTYKULY
   ───────────────────────────────────────────────────────────────── */
/* Karta produktu: max 4 wpisy blogowe */
.projector_page .article__item:nth-child(1n+5) {
  display: none;
}



/* Ukryj obrazek-wrapper artykulu (lista) */
.article__image_wrapper,
.article__image_wrapper img {
  display: none !important;
}

/* Blog (wpis) - obrazek na pelna szerokosc */
#blog-item img.blog_image {
  max-width: 100%;
}
/* Ukryj featured image tylko gdy wpis ma customowy blok .hb-wrap */
#blog-item .blog-item_sub:has(> .hb-wrap) > img.blog_image {
  display: none !important;
}

/* ═════════════════════════════════════════════════════════════════
   9. STOPKA / MENU3  (zweryfikowane na zywo, sklep.puregreen.pl)
   ─────────────────────────────────────────────────────────────────
   Cel: menu3 (#menu_navbar3 w stopce) wyglada identycznie jak kolumny
   stopki (#footer_links) — bialy tekst na zielonym #00a400, te same
   rozmiary/wagi/odstepy, bez podkreslen. Tlo stopki = zmienna
   --footer-before-background (sekcja 1). Stopka jest juz biala, wiec
   bielimy tylko menu3.

   Wszystkie reguly menu3 sa poprzedzone `footer ...`, wiec dzialaja
   TYLKO na desktopie (gdy menu3 jest w stopce). Na mobile IdoSell
   przenosi #menu_navbar3 do hamburgera (aside) — reguly wtedy nie lapia.
   Fonty: systemowe (Arial), spojnie z reszta PureGreen.
   ═════════════════════════════════════════════════════════════════ */

/* menu3: bialy tekst na zielonym (naglowki + pod-linki) */
footer #menu_categories3#menu_categories3 a,
footer #menu_navbar3#menu_navbar3 a,
footer #menu_navbar3#menu_navbar3 .nav-link {
  color: #333333 !important;
}
footer #menu_categories3#menu_categories3 a:hover,
footer #menu_navbar3#menu_navbar3 a:hover,
footer #menu_navbar3#menu_navbar3 .nav-link:hover {
  color: rgba(0,0,0, 0.72) !important;   /* przygaszona biel = hover */
}

/* bez podkreslen w obrebie menu3 */
footer #menu_categories3#menu_categories3 a,
footer #menu_navbar3#menu_navbar3 a,
footer #menu_navbar3#menu_navbar3 .nav-link {
  text-decoration: none !important;
}

/* typografia menu3 = typografia stopki (TYLKO desktop)
   nag. 18px/600 lh23.4 padding 0 0 22.6 ; pod-link 14px/400 lh18.2
   padding 10px 0 -> row-delta 38px. Scope min-979: nizej moduł uzywa
   mobilnego accordeona (flex), ktorego nie wolno nadpisac display:block. */
@media (min-width: 979px) {
  /* Kontener kolumn menu3 - rozdzielenie (tu idzie gap, nie na linki!) */
  footer #menu_navbar3#menu_navbar3 > ul.navbar-nav {
    column-gap: 48px !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  /* Kolumna - minimalna szerokosc (tu idzie min-width, nie na .nav-link!) */
  footer #menu_navbar3#menu_navbar3 > ul.navbar-nav > li.nav-item {
    min-width: 140px !important;
    max-width: 160px;
  }

  /* Naglowek kolumny */
  footer #menu_navbar3#menu_navbar3 > ul.navbar-nav > li.nav-item > .nav-link {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 23.4px !important;
    padding: 0 0 22.6px !important;
    display: block !important;
  }

  /* Pod-linki */
  footer #menu_navbar3#menu_navbar3 .navbar-subnav a.nav-link {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 18.2px !important;
    padding: 6px 0 !important;
    display: block !important;
  }

  /* Oddech nad blokiem menu3 */
  footer #menu_categories3#menu_categories3 {
    padding-top: 48px !important;
  }
}

/* ─────────────────────────────────────────────────────────────────
   10. TRUSTMATE / ROZNE
   ───────────────────────────────────────────────────────────────── */
/* TrustMate light mode widoczny */
.tm-multihornet.tm-light-mode {
  display: flex !important;
}
/* Padding gwiazdek oceny */
.tm-multihornet__wrapper .tm-grade-label__star .trustmate-star__icon {
  padding-top: 5px;
  padding-bottom: 5px;
}
/* Fallback: pokazuj IdoSell gwiazdki gdy brak opinii TrustMate */
.product_name__notes.show-idosell-rating {
  display: flex !important;
  align-items: center;
}
/* Banner dodatku - biale tlo */
.Hurom_AddOn_1_bannerWrap {
  background: #ffffff !important;
}
/* Sticker oceny TrustMate — tło #333 zamiast czerni */
.tm-dodo2--transparent .tm-dodo2__sticker {
    background-color: #333333 !important;
}
.article__content {
    padding-left: var(--padding-xl) !important;
}
.dictionary__param{
padding: 15px !important;
}
/*Font dla produktów - Zapobiega ucinaniu*/
@media (max-width: 526px){
    a.product__name {
    font-size: 1.3rem;
    margin-bottom:unset !important;
}}
/*Font dla gwiazdek trustmate*/
@media (max-width: 757px){
    i.trustmate-star__icon.trustmate-star__icon--star-34 {
        font-size: 1rem !important;
}
}
#projector_form > .projector_details__wrapper > .projector_variants {
    border-bottom: none !important;
}