/*
 * KFD Omnibus - uklad informacji o najnizszej cenie.
 *
 * Kafelki list (strona glowna, kategoria, producent, wyszukiwarka): jedna krotka linia "<s>69,69 zł</s> najniższa cena"
 * jak na przykladzie UOKiK (Wyjasnienia 2023, s. 39), NAD wierszem ceny, w odstepie miedzy nazwa a cena (pozycja
 * absolutna): kafelek nie rosnie, cena stoi na tej samej wysokosci co u sasiadow. W waskim kafelku (tresc do 150 px)
 * linia moze zajac dwie linijki, a nazwa TEGO kafelka jest skracana do 2 linijek, zeby bylo na nie miejsce.
 * Przegladarki bez :has() albo bez zapytan o kontener (np. Safari 15, Firefox do 120) - linia pod cena. Reguly z :has()
 * stoja osobno: przegladarka, ktora go nie zna, odrzuca cala regule, wiec nie wolno go mieszac z innymi selektorami.
 */

/*
 * Znaczek obnizki ("-10%", "-5,00 zł") tak jak informacja o najnizszej cenie: ta sama wielkosc, rodzaj i kolor
 * czcionki (Wyjasnienia UOKiK 2023 s. 52), spokojny jak w przykladzie UOKiK (s. 39). Wysokosc jak znaczek "Nowy".
 * Inne znaczki (Nowy, Promocja!) bez zmian.
 */
.product-miniature .product-flags .product-flag.discount,
.product-miniature .product-flags .product-flag.discount-percentage,
.product-miniature .product-flags .product-flag.discount-amount {
  background: #fff !important;
  color: #2e3445 !important;
  border: 1px solid #c3c8d2 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  padding: 0 8px !important;
  box-sizing: border-box;
}

/* Karta produktu i szybki podglad: jak przekreslona najnizsza cena obok ceny (16 px). */
.product-container .product-flags .product-flag.discount,
.product-container .product-flags .product-flag.discount-percentage,
.product-container .product-flags .product-flag.discount-amount,
.quickview .product-flags .product-flag.discount,
.quickview .product-flags .product-flag.discount-percentage,
.quickview .product-flags .product-flag.discount-amount {
  background: #fff !important;
  color: #2e3445 !important;
  border: 1px solid #c3c8d2 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  padding: 5px 7px !important;
  box-sizing: border-box;
}

/* Przekreslona najnizsza cena czytelna (jasnoszara #7a7a7a miala kontrast ponizej 4,5:1). */
.product-container .product-prices .regular-price,
.quickview .product-prices .regular-price {
  color: #2e3445 !important;
}

.kfd-cart-line__price:has(> .kfdomnibus) .kfd-cart-line__regular-price {
  color: #2e3445 !important;
}

/*
 * Motyw: pusty wiersz "niedostepny" przed cena ukrywa regula :empty. Bez sciskania HTML (produkcja, bez ets_superspeed)
 * zostaja w nim znaki nowej linii, wiersz zajmuje odstep 10 px i cena w kafelku jest wcieta. Ukryty, gdy nie ma w nim pozycji.
 */
.product-price-and-shipping > .product-out-of-stock:not(:has(li)) {
  display: none !important;
}

/*
 * Przekreslona cena bez podpisu jest niedozwolona (Wyjasnienia s. 40) - w kafelkach zastepuje ja linia modulu.
 * Bez warunku: modul zostawia obnizke w kafelku tylko wtedy, gdy wypisuje przy niej te linie.
 */
.product-miniature .product-price-and-shipping > .regular-price {
  display: none !important;
}

@supports selector(:has(*)) and (container-type: inline-size) {
  .kfd-search-card-meta:has(.kfdomnibus--tile) {
    position: relative;
    --kfdo-anchor: 8px;
  }

  /* Tam wiersz ceny ma 36 px (lupa), cena stoi nizej. */
  #category #products .kfd-search-card-meta:has(.kfdomnibus--tile),
  #manufacturer #products .kfd-search-card-meta:has(.kfdomnibus--tile) {
    --kfdo-anchor: 18px;
  }

  .kfd-search-card-meta .product-price-and-shipping:has(> .kfdomnibus--tile) {
    position: static !important;
  }

  .kfd-search-card-meta .product-price-and-shipping:has(> .kfdomnibus--tile) > .discount-product {
    display: none !important;
  }

  .kfd-search-card-meta .product-price-and-shipping > .kfdomnibus--tile {
    position: absolute;
    width: auto;
    flex: none;
    left: 0;
    right: auto;
    max-width: 100%;
    bottom: calc(100% - var(--kfdo-anchor));
    z-index: 1; /* nad polem lupy (w kategorii zachodzi na nie 8 px) */
    margin: 0 !important;
    white-space: nowrap !important;
  }

  .product-description:has(.kfd-search-card-meta .kfdomnibus--tile) {
    container: kfdomnibus / inline-size;
  }

  @container kfdomnibus (max-width: 150px) {
    .kfd-search-card-meta .product-price-and-shipping > .kfdomnibus--tile {
      white-space: normal !important;
    }

    .product-title a {
      -webkit-line-clamp: 2 !important;
    }
  }
}

/* Inne listy (nowosci, promocje, polecane na karcie produktu) i przegladarki bez powyzszego: linia pod cena. */
.product-miniature .product-price-and-shipping {
  flex-wrap: wrap;
}

.product-price-and-shipping > .kfdomnibus {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  order: 99;
}

/* Lupa szybkiego podgladu zostaje na wysokosci ceny. */
.kfd-search-card-meta:has(> .product-price-and-shipping > .kfdomnibus) > .kfd-search-card-action {
  align-self: flex-start;
}

/*
 * Lista zyczen (blockwishlist rysuje ceny skryptem, bez hakow cen): przekreslona cena to po zmianie modulu najnizsza
 * cena z 30 dni (bez prawdziwej obnizki jej nie ma) - dostaje podpis "najniższa cena" i stoi nad cena, jak w kafelkach.
 */
.wishlist-product-price .wishlist-product-price-promo {
  display: block;
  color: #2e3445 !important;
}

.wishlist-product-price .wishlist-product-price-promo::after {
  content: "najni\017C sza cena";
  display: inline-block; /* bez przekreslenia podpisu */
  margin-left: .35em;
  text-decoration: none;
  font-weight: 400;
}

/* Koszyk: na telefonie ceny stoja w rzedzie - tekst schodzi pod nie, od lewej. */
body#cart .kfd-cart-line__price {
  flex-wrap: wrap;
}

body#cart .kfd-cart-line__price:has(> .kfdomnibus) {
  justify-content: flex-start;
}

body#cart .kfd-cart-line__price > .kfdomnibus {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  order: 99;
}
