/* ==========================================================================
   shop.css — SZCZURKOWO.PL 2.0 — /sklep/ (WooCommerce archive)
   Zenqueue'owany warunkowo (is_shop / is_product_category / is_product_taxonomy)
   w functions.php — reguły tu obecne dotyczą WYŁĄCZNIE archiwum sklepu i
   nie mają wpływu na Home/PDP (ładowane tam inne arkusze). Korzysta z
   tokenów i komponentów z main.css (.container/.card/.book/.btn/.chip/
   .price-row) — nie duplikuje ich, tylko dokłada układ archiwum.
   ========================================================================== */

/* ---- Hero — usunięcie sztywnego inline-paddingu, spójny rytm sekcji ---- */
.shop-hero { padding-bottom: var(--sp-6); }
.shop-hero-copy { max-width: 680px; margin: 0 auto; }

/* ---- Rytm pionowy między sekcjami sklepu — bez "martwych" stref ---- */
.shop-section { padding: var(--sp-7) 0; }
.shop-section .section-head { margin-bottom: var(--sp-5); }
.shop-section--services { padding: var(--sp-6) 0 var(--sp-8); }

/* ==========================================================================
   EBOOKI / MINI EBOOKI — .product-grid (z main.css) jest tu bazą; karty
   pojedynczych ebooków już działają dobrze w 3 kolumnach, więc nie
   budujemy równoległego gridu — tylko defensywny min-width na dzieci,
   żeby żadna karta w przyszłości nie mogła się "zapaść".
   ========================================================================== */
.product-grid > .product-card { min-width: 0; }

/* ==========================================================================
   PAKIET — featured card, wyraźnie odrębna od kart pojedynczych ebooków
   (docs/03_CONVERSION_STRATEGY.md § 5: "NIE czwarta identyczna karta").
   Ciepłe tło --color-cream (jak w reszcie serwisu dla sekcji Pakietu),
   book-stack (3 prawdziwe okładki) zamiast pojedynczej okładki.
   ========================================================================== */
.shop-pakiet-wrap {
  max-width: 900px;
  margin: 0 auto;
}
.product-card--pakiet {
  border: 1px solid var(--color-cream-line);
  border-left: 1px solid var(--color-cream-line);
  background: var(--color-cream);
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.product-card--pakiet .book-wrap {
  background: transparent;
  padding: var(--sp-6) var(--sp-5) var(--sp-3);
}
.product-card--pakiet .book-stack { transform: scale(0.94); }
.product-card--pakiet .card-body { padding: 0 var(--sp-6) var(--sp-6); }
.product-card--pakiet h3 { font-size: 1.4rem; }
.product-card--pakiet p { max-width: 46ch; }

@media (min-width: 760px) {
  .product-card--pakiet { flex-direction: row; align-items: stretch; }
  .product-card--pakiet .book-wrap {
    flex: 0 0 44%;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: var(--sp-6) var(--sp-4);
  }
  .product-card--pakiet .book-stack { width: 100%; }
  .product-card--pakiet .card-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--sp-6) var(--sp-6) var(--sp-6) var(--sp-4);
  }
  .product-card--pakiet .btn-block { width: auto; align-self: flex-start; }
}

/* ==========================================================================
   KONSULTACJA / WSPARCIE — root-cause fix dla "zapadającej się" karty:
   sekcja NIE dziedziczy sztywnego .grid-3 (repeat(3,1fr) z main.css,
   które przy 1 elemencie ściska kartę do 1/3 szerokości). Własny grid
   auto-fit z minmax daje karcie naturalną, czytelną szerokość niezależnie
   od liczby usług — i skaluje się bez zmian, gdy przybędzie kolejna.
   ========================================================================== */
.shop-service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 340px));
  justify-content: center;
  gap: var(--sp-5);
}
.shop-service-grid .product-card { min-width: 0; }
.shop-service-grid .product-card--service .card-body { text-align: center; }
.shop-service-grid .price-row { justify-content: center; }

.shop-service-cover {
  width: 100%;
  padding: var(--sp-6) var(--sp-3) var(--sp-4);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  background: var(--color-canvas);
}
.shop-service-icon.konsultacja-icon { width: 60px; height: 60px; }
.shop-service-icon .icon-svg { width: 26px; height: 26px; }

/* ==========================================================================
   RESPONSYWNOŚĆ — sprawdzone przy 1440px i 390px.
   ========================================================================== */
@media (max-width: 900px) {
  .shop-section { padding: var(--sp-6) 0; }
}

@media (max-width: 640px) {
  .shop-section { padding: var(--sp-5) 0; }
  .shop-pakiet-wrap { max-width: 420px; }
  .product-card--pakiet .book-stack { transform: scale(0.82); }
  .shop-service-grid { grid-template-columns: minmax(0, 1fr); max-width: 360px; margin: 0 auto; }
}
