/*
 Theme Name:  Motyw-potomny
 Template:    storefront
 Description: Motyw potomny Storefront dla kambitgraf.pl — nośnik WŁASNYCH zmian (functions.php, custom.js). Bez szablonów stron.
 Version:     1.0.26
 Author:      Kambitgraf
*/

/* Własne style dopisywać poniżej. Układ strony produktu robią Elementor Pro (szablon 7650) i NBDesigner — nie motyw. */

/* Koszyk: pole ilości w wierszu produktu (Storefront: 3.7em / max 3.632em — mieści 2 cyfry). Zgłoszenie usera 2026-08-27. */
table.cart td.product-quantity .qty,
table.cart .qty {
  width: 6em;
  max-width: 6em;
}

/* Newsletter (Royal Elementor MailChimp, footer) — wariant 1 (user 2026-09-03): CAŁY PASEK = biała karta jak kafle.
   Klasa kambit-footer-newsletter dodana do SEKCJI paska w Elementorze (nie do samego widgetu). Wewnętrzny box
   NIE jest już osobną kartą (żeby nie było karty w karcie). Teksty delikatniejsze (łagodny kolor + lżejsza waga).
   Przycisk navy/biały na białej karcie. !important, bo Elementor/sekcja mają wyższą specyficzność. */
.kambit-footer-newsletter {
  background: #ffffff !important;
  border: 1px solid #e2e6ef !important;
  border-radius: 10px !important;
  padding: 8px 22px !important;   /* niższy pasek (user 2026-09-03) */
  min-height: 0 !important;
}
/* kompaktowa wysokość: ciaśniejsze odstępy elementów wewnątrz paska */
.kambit-footer-newsletter h1, .kambit-footer-newsletter h2, .kambit-footer-newsletter h3,
.kambit-footer-newsletter h4, .kambit-footer-newsletter h5, .kambit-footer-newsletter h6,
.kambit-footer-newsletter p { margin: 3px 0 !important; }
.kambit-footer-newsletter .elementor-widget:not(:last-child) { margin-bottom: 6px !important; }
/* wewnętrzny widget nie dubluje karty */
.kambit-footer-newsletter .elementor-widget-wpr-mailchimp .elementor-widget-container {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
/* teksty delikatniejsze (łagodniejszy kolor + lżejsza waga) */
.kambit-footer-newsletter,
.kambit-footer-newsletter p, .kambit-footer-newsletter span, .kambit-footer-newsletter label,
.kambit-footer-newsletter h1, .kambit-footer-newsletter h2, .kambit-footer-newsletter h3,
.kambit-footer-newsletter h4, .kambit-footer-newsletter h5, .kambit-footer-newsletter h6 {
  color: #5b6472 !important;
  font-weight: 400 !important;
}
.wpr-mailchimp-form input {
  border-radius: 10px !important;
  border: 1px solid #d5dae6 !important;
  padding: 8px 14px !important;
  color: #1D3C70 !important;
}
.wpr-mailchimp-subscribe-btn {
  background: #1D3C70 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  padding: 8px 26px !important;
  transition: background .12s, color .12s !important;
}
.wpr-mailchimp-subscribe-btn:hover {
  background: #16305a !important;
  color: #ffffff !important;
}

/* Koszyk: ukryj sekcję dostawy w „Podsumowaniu koszyka" — kuriery wybiera się dopiero w checkoucie (kolumna 2).
   Wcześniej robiła to reguła w Customizerze; usunięta przy porządkach → kuriery rozpychały koszyk i spychały
   „Przejdź do płatności" w dół (user 2026-09-03). Przenosimy do motywu (wersjonowane, jedzie z cutoverem). */
.woocommerce-cart .woocommerce-shipping-totals { display: none !important; }

/* Koszyk: „Podsumowanie koszyka" jako KOMPAKTOWY POZIOMY PASEK (user 2026-09-03):
   nagłówek | Kwota | Łącznie | [Przejdź do płatności]. Zamieniamy tabelę na flex (tylko desktop; mobile zostaje stackowane). */
@media (min-width: 769px) {
  .woocommerce-cart .cart_totals {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 22px;
    padding: 12px 16px;
  }
  .woocommerce-cart .cart_totals > h2 { margin: 0; font-size: 16px; font-weight: 800; }
  .woocommerce-cart .cart_totals > table,
  .woocommerce-cart .cart_totals > table > tbody {
    display: flex !important;
    align-items: center;
    gap: 22px;
    width: auto;
    margin: 0;
    border: 0;
  }
  /* :not(.woocommerce-shipping-totals) — inaczej flex na TR odblokowuje ukryty wiersz dostawy (błąd 1.0.20, user 2026-09-03) */
  .woocommerce-cart .cart_totals table tr:not(.woocommerce-shipping-totals) {
    display: flex !important;
    align-items: baseline;
    gap: 7px;
    margin: 0;
    padding: 0;
    border: 0 !important;
  }
  /* wzmocnione ukrycie dostawy (przebija ewentualne reguły display na tr) */
  .woocommerce-cart .cart_totals .woocommerce-shipping-totals.shipping { display: none !important; }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    display: inline !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    background: none !important;
  }
  .woocommerce-cart .cart_totals table th { font-weight: 600; color: #5b6472; }
  .woocommerce-cart .cart_totals .order-total th,
  .woocommerce-cart .cart_totals .order-total td,
  .woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount { font-weight: 800; }
  /* etykieta VAT „(zawiera X zł VAT)" w tej samej linii co kwota — inaczej <small> łamie się do drugiej linii (user 2026-09-03) */
  .woocommerce-cart .cart_totals .tax_label,
  .woocommerce-cart .cart_totals small { display: inline !important; font-weight: 600; }
  .woocommerce-cart .cart_totals .cart-subtotal td,
  .woocommerce-cart .cart_totals .order-total td { white-space: nowrap; }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout { margin: 0 0 0 auto; padding: 0; }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button { margin: 0; white-space: nowrap; }
}

/* (sticky nagłówka: robimy natywnym sticky Elementora Pro na szablonie nagłówka HFE 8473 — nie CSS-em w motywie;
   próba CSS `.site-header`{position:sticky} nie działała przez `overflow` rodzica. Reguła: używamy gotowych narzędzi.) */

/* Archiwum kategorii (liść): siatka produktów spójna z kaflami homepage — 6/rząd, kartowy wygląd, kwadratowa grafika.
   User 2026-08-31 („rozmieszczenie i wielkość kafelków takie samo jak na homepage"). Zachowujemy tytuł/cenę/przycisk. */
.tax-product_cat ul.products {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin: 0 0 24px;
}
@media (max-width: 1024px) { .tax-product_cat ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .tax-product_cat ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

.tax-product_cat ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  display: flex;
  flex-direction: column;
  border: 1px solid #e2e6ef;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  padding: 0 0 12px;
  text-align: center;
  transition: box-shadow .15s ease, transform .15s ease;
}
.tax-product_cat ul.products li.product:hover {
  box-shadow: 0 6px 20px rgba(29, 60, 112, .13);
  transform: translateY(-2px);
}
.tax-product_cat ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  margin: 0 0 10px;
}
.tax-product_cat ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px;
  font-weight: 700;
  color: #1D3C70;
  padding: 0 12px;
}
.tax-product_cat ul.products li.product .price { padding: 6px 12px 0; }
.tax-product_cat ul.products li.product .button { margin: 10px 12px 0; }

/* Kafle liści kategorii: BEZ przycisków NBDesignera „Wybierz opcje" (a.nbo_ajax_add_to_cart) i „Rozpocznij projekt"
   (a.button[data-layout], href /create-your-own/). W widoku przeglądania są zbędne i rozpychały kafle (user 2026-09-02).
   Nie ruszamy nawigacji: klik w grafikę/tytuł wciąż prowadzi do produktu; NBD renderuje je hookiem (brak źródeł w repo),
   więc chowamy je CSS-em (odporne na aktualizacje wtyczki). Dotyczy TYLKO archiwum kategorii (.tax-product_cat). */
.tax-product_cat ul.products li.product a.nbo_ajax_add_to_cart,
.tax-product_cat ul.products li.product a.button[data-layout] {
  display: none !important;
}

/* Stopka — blok danych firmy (logo + adres + NIP/REGON/KRS + e-mail/telefon/godziny): −30% proporcjonalnie.
   Klasa kambit-footer-firma dodana do kontenera w Elementorze (HFE) — NIE dotyczy menu (Kategorie/Informacje/Twoje konto)
   ani newslettera. `zoom` skaluje tekst + logo + odstępy jednolicie i poprawnie reflowuje.
   −20% (zoom 0.8): −30% było za małe (user 2026-09-03). */
.kambit-footer-firma { zoom: 0.8; }

/* ── Koszyk boczny (Elementor Menu Cart): lista przewijalna, przyciski ZAWSZE widoczne ─────────────
   Zgłoszenie usera 2026-09-09: przy DWÓCH produktach nie dało się kliknąć „Zobacz koszyk" ani
   „Przejdź do koszyka" — przyciski wypadały poza dolną krawędź ekranu.
   Odtworzone przeglądarką: `.widget_shopping_cart_content` ma `overflow-y: visible`, więc lista rośnie
   w nieskończoność i spycha stopkę. Każda pozycja zajmuje dużo miejsca, bo mini-koszyk pokazuje dużą
   miniaturę ORAZ cztery linie naszych danych (kolor tuszu, nakład, termin, projekt) — przy dwóch
   produktach to już ponad wysokość okna.
   Rozwiązanie: panel jako kolumna, lista pozycji przewijalna, podsumowanie i przyciski przypięte na dole.
   `min-height: 0` jest konieczne — bez niego element w kolumnie flex nie kurczy się poniżej treści
   i przewijanie nie działa. */
.elementor-menu-cart__main {
	display: flex;
	flex-direction: column;
}
.elementor-menu-cart__main .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}
.elementor-menu-cart__main ul.woocommerce-mini-cart,
.elementor-menu-cart__main .elementor-menu-cart__products {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.elementor-menu-cart__main .woocommerce-mini-cart__total,
.elementor-menu-cart__main .woocommerce-mini-cart__buttons,
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons {
	flex: 0 0 auto;
}
/* Miniatura w panelu bocznym była większa niż cała reszta pozycji — po zmniejszeniu mieszczą się dwie
   pozycje bez przewijania, a przy większej liczbie lista i tak się przewija. */
.elementor-menu-cart__main ul.woocommerce-mini-cart img,
.elementor-menu-cart__main .elementor-menu-cart__product-image img {
	max-width: 64px;
	height: auto;
}
