/*
 * Silent Heroes — Front-page INFO components (silentheroes.pro)
 * Reusable z components-shop, plus specyficzne dla info site.
 */

/* ========== HERO INFO ========== */
.sh-info-hero {
  position: relative;
  background-color: #050608;
  background-image: url('../video/hero-forest-poster.jpg');
  background-size: cover;
  background-position: center;
  color: var(--sh-offwhite);
  min-height: 580px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 100px 24px;
  overflow: hidden;
  border-bottom: 2px solid var(--sh-red);
}
.sh-info-hero-video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
/* Wariant ze zdjęciem (info site, blog) — z blurem dla głębi i czytelności tekstu */
.sh-info-hero--image .sh-info-hero-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
  filter: blur(6px);
  transform: scale(1.06); /* żeby blur nie pokazywał białych krawędzi */
}
.sh-info-hero--image { background-image: none; }
.sh-info-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,6,8,.45) 0%, rgba(5,6,8,.85) 100%);
  z-index: 1;
  pointer-events: none;
}
.sh-info-hero-inner {
  position: relative; z-index: 2;
  max-width: 1080px;
  margin: 0 auto;
}
.sh-info-hero .sh-kicker {
  color: rgba(248,247,244,.85);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  margin-bottom: 24px;
}
.sh-info-hero h1 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 28px;
  color: var(--sh-offwhite);
  text-transform: none;
}
.sh-info-hero h1 em { font-style: normal; color: var(--sh-red); }
.sh-info-hero p {
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(248,247,244,.78);
  max-width: 640px;
  margin: 0 auto 36px;
}
.sh-info-hero-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.sh-info-hero .sh-btn { font-size: 13px; font-weight: 400; padding: 12px 22px; } /* 1:1 z .sh-shop-hero — user request 2026-06-01 (regular 400) */
.sh-info-hero .sh-btn-ghost,
.sh-info-hero .sh-btn-ghost:visited {
  background: transparent;
  color: var(--sh-offwhite);
  border-color: rgba(255,255,255,0.7);
}
.sh-info-hero .sh-btn-ghost:hover {
  background: transparent;
  color: var(--sh-red);
  border-color: var(--sh-red);
}

/* ========== PASEK ZAUFANIA (pod hero) ========== */
.sh-info-trustbar { background: #0c0d11; border-bottom: 1px solid rgba(248, 247, 244, .08); }
.sh-info-trustbar-inner {
  max-width: 1280px; margin: 0 auto; padding: 15px 24px;
  display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 10px 34px;
}
.sh-info-trust-item { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; color: rgba(248, 247, 244, .72); letter-spacing: .01em; }
.sh-info-trust-item strong { color: var(--sh-red); font-weight: 800; margin-right: 5px; }
@media (max-width: 600px) { .sh-info-trustbar-inner { gap: 6px 18px; font-size: 12.5px; padding: 12px 16px; } }

/* ========== KALKULATORY (5 kart jednostek, na wzór kategorii) ========== */
.sh-info-kalkulator {
  background: var(--sh-offwhite);
  padding: 64px 24px;
}
.sh-info-kalkulator-inner { max-width: 1280px; margin: 0 auto; }
.sh-info-kalkulator-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin-top: 32px;
}
@media (max-width: 1024px) { .sh-info-kalkulator-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .sh-info-kalkulator-grid { grid-template-columns: repeat(2, 1fr); } }

.sh-kalk-card {
  position: relative;
  aspect-ratio: 1 / 1.1;
  background: #0a0e1a;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: var(--sh-offwhite);
  border: 1px solid transparent;
  transition: border-color .2s ease;
}
.sh-kalk-card::before {
  content: "";
  position: absolute; inset: 0;
  background-image: var(--bg-img);
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.sh-kalk-card > * { position: relative; z-index: 2; }
.sh-kalk-card:hover { border-color: var(--sh-red); }

/* Sprint 1 / fix D (2026-05-31): overlay z tag+name (post-council; Outsider: "Rorschach test bez labeli"). */
.sh-kalk-card-overlay {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: auto -20px -20px;
  padding: 60px 20px 18px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 35%, rgba(0, 0, 0, 0.6) 70%, transparent 100%);
}
.sh-kalk-card-tag {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-red-on-dark);   /* WCAG AA — 5.0:1 na ciemnym overlay */
  line-height: 1;
}
.sh-kalk-card-name {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.sh-kalk-card:hover .sh-kalk-card-name { color: var(--sh-red); transition: color .2s ease; }

/* Sprint 1 / fix A: grid jednostek 3×2 (zamiast karuzeli 1-logo-na-raz). Outsider council fix. */
.sh-info-units-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 40px;
}
@media (max-width: 900px) { .sh-info-units-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } }
@media (max-width: 500px) { .sh-info-units-grid { grid-template-columns: 1fr; gap: 16px; } }

/* Białe tło (alignment z .store visual + trustbar). User request 2026-05-31. */
.sh-unit-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 28px 20px 24px;
  background: #fff;
  border: 1px solid #E0DDD8;
  border-radius: 10px;
  text-decoration: none;
  color: var(--sh-black);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sh-unit-tile:hover {
  border-color: var(--sh-red);
  box-shadow: 0 6px 20px rgba(204, 27, 27, 0.12);
  transform: translateY(-2px);
}
.sh-unit-tile-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  margin-bottom: 16px;
}
.sh-unit-tile-logo img {
  max-height: 100%;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.12));
  transition: transform .2s ease;
}
.sh-unit-tile:hover .sh-unit-tile-logo img { transform: scale(1.05); }
.sh-unit-tile-name {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--sh-black);
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.sh-unit-tile-cta {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--sh-red);
  letter-spacing: 0.02em;
  opacity: 0.9;
  transition: opacity .2s ease;
}
.sh-unit-tile:hover .sh-unit-tile-cta { opacity: 1; }

/* Sprint 1 / fix I: "Ostatnio aktualizowano" badge w stopkach wpisów (single.php). */
.sh-single-updated {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--sh-red);
  font-weight: 500;
  cursor: help;
}
.sh-single-updated time {
  color: inherit;
}

/* ========== HERO WOD PREVIEW ========== */
.sh-info-herowod {
  background: var(--sh-black);
  color: var(--sh-offwhite);
  padding: 64px 24px;
  position: relative;
  overflow: hidden;
}
.sh-info-herowod::before {
  content: "";
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(204,27,27,.04) 14px 15px);
  pointer-events: none;
}
.sh-info-herowod-inner {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
}
.sh-info-herowod-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
@media (max-width: 900px) { .sh-info-herowod-grid { grid-template-columns: 1fr; } }

.sh-wod-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(248, 247, 244, 0.1);
  border-radius: 8px;
  padding: 24px;
  text-decoration: none;
  color: var(--sh-offwhite);
  transition: border-color .2s ease, transform .2s ease;
  display: flex;
  flex-direction: column;
}
.sh-wod-card:hover {
  border-color: rgba(248, 247, 244, 0.3);
  transform: translateY(-3px);
}
.sh-wod-card-badge {
  display: inline-block;
  background: var(--sh-red);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  margin-bottom: 16px;
  align-self: flex-start;
  line-height: 1;
}
.sh-wod-card-name {
  font-family: 'Poppins', sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--sh-offwhite);
  margin: 0 0 6px;
  line-height: 1.05;
  text-transform: uppercase;
}
.sh-wod-card-subtitle {
  font-size: 0.85rem;
  color: rgba(248, 247, 244, 0.65);
  margin: 0 0 16px;
  font-style: italic;
}
.sh-wod-card-desc {
  font-size: 0.9rem;
  color: rgba(248, 247, 244, 0.78);
  line-height: 1.55;
  margin: 0 0 20px;
}
.sh-wod-card-link {
  margin-top: auto;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sh-red);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .2s ease;
}
.sh-wod-card:hover .sh-wod-card-link { gap: 10px; }

/* ========== STORE CTA — domknięcie strefy „05 · Sklep" (suplementy + zestawy) ==========
   Ciemna karta wewnątrz jasnej sekcji ebooków — JEDNO CTA do silentheroes.store.
   Zastępuje dawne osobne bloki MINDSET promo + cross-promo (scalone w jedną strefę). */
.sh-shop-store-cta {
  margin-top: 56px;
  background: var(--sh-black);
  border-radius: 12px;
  padding: 44px 52px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  position: relative;
  overflow: hidden;
  border-top: 3px solid var(--sh-red);
}
.sh-shop-store-cta::before {
  content: "";
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(-45deg, transparent 0 16px, rgba(204,27,27,.04) 16px 17px);
  pointer-events: none;
}
.sh-shop-store-cta-text { position: relative; z-index: 1; }
.sh-shop-store-cta .sh-kicker {
  display: inline-block;
  color: var(--sh-red);
  font-size: 11px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.sh-shop-store-cta h3 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 12px;
  color: #fff;
  text-transform: none;
}
.sh-shop-store-cta h3 em { font-style: normal; color: var(--sh-red); }
.sh-shop-store-cta p {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(248, 247, 244, 0.7);
  margin: 0;
  max-width: 620px;
}
.sh-shop-store-cta-btn {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--sh-red);
  color: #fff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 13px; /* alignment z .sh-shop-hero */
  font-weight: 400; /* user 2026-06-01 */
  letter-spacing: 0;
  padding: 12px 22px;
  border-radius: 6px; /* brandbook v3 rounded-md */
  text-decoration: none !important;
  transition: background .15s ease;
  white-space: nowrap;
}
.sh-shop-store-cta-btn:hover { background: var(--sh-red-dark); }

@media (max-width: 900px) {
  .sh-shop-store-cta {
    grid-template-columns: 1fr;
    padding: 32px 28px;
    gap: 24px;
    margin-top: 40px;
  }
}

/* ========== NEWSLETTER (kopia ze shop, jasnoczerwone tło) ========== */
.sh-info-newsletter {
  background: var(--sh-red);
  color: #fff;
  padding: 36px 24px;
}
.sh-info-newsletter-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 32px;
}
.sh-info-newsletter-text h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 4px;
  color: #fff;
  text-transform: none;
}
.sh-info-newsletter-text p {
  font-size: 0.85rem;
  color: rgba(255,255,255,.85);
  margin: 0;
}
.sh-info-newsletter-form {
  display: flex; gap: 8px;
  min-width: 360px;
}
.sh-info-newsletter-form input[type="email"] {
  flex: 1;
  padding: 10px 16px;
  border: none;
  border-radius: 4px;
  background: rgba(255,255,255,.94);
  color: var(--sh-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
}
.sh-info-newsletter-form input::placeholder { color: var(--sh-muted); }
.sh-info-newsletter-form button {
  background: var(--sh-black);
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 4px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background .15s ease;
}
.sh-info-newsletter-form button:hover { background: #000; }

/* ===== Override MailerLite WordPress plugin embed (.mailerlite-form*) ===== */
.sh-info-newsletter-form .mailerlite-form,
.sh-shop-newsletter-form .mailerlite-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Ich nagłówek + opis ukryte — mamy własne po lewej */
.sh-info-newsletter-form .mailerlite-form-title,
.sh-info-newsletter-form .mailerlite-form-description,
.sh-info-newsletter-form .mailerlite-form-field label,
.sh-shop-newsletter-form .mailerlite-form-title,
.sh-shop-newsletter-form .mailerlite-form-description,
.sh-shop-newsletter-form .mailerlite-form-field label {
  display: none !important;
}
/* Layout inputs + button w jednej linii */
.sh-info-newsletter-form .mailerlite-form-inputs,
.sh-shop-newsletter-form .mailerlite-form-inputs {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.sh-info-newsletter-form .mailerlite-form-field,
.sh-shop-newsletter-form .mailerlite-form-field {
  flex: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sh-info-newsletter-form .mailerlite-subscribe-button-container,
.sh-shop-newsletter-form .mailerlite-subscribe-button-container {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}
/* Email input — nasz styl */
.sh-info-newsletter-form .mailerlite-form input[type="email"],
.sh-shop-newsletter-form .mailerlite-form input[type="email"] {
  width: 100% !important;
  height: auto !important;
  padding: 10px 16px !important;
  border: none !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--sh-ink) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.sh-info-newsletter-form .mailerlite-form input[type="email"]::placeholder,
.sh-shop-newsletter-form .mailerlite-form input[type="email"]::placeholder {
  color: var(--sh-muted) !important;
  text-transform: none !important;
}
/* Submit button "ZAPISZ SIĘ" — czarny, sentence-case, nasz styl */
.sh-info-newsletter-form .mailerlite-subscribe-submit,
.sh-shop-newsletter-form .mailerlite-subscribe-submit {
  background: var(--sh-black) !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 18px !important;
  border-radius: 4px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  cursor: pointer !important;
  width: auto !important;
  min-width: 110px !important;
  white-space: nowrap !important;
  height: auto !important;
  margin: 0 !important;
  box-shadow: none !important;
  transition: background .15s ease !important;
}
.sh-info-newsletter-form .mailerlite-subscribe-submit:hover,
.sh-shop-newsletter-form .mailerlite-subscribe-submit:hover { background: #000 !important; }
/* Response messages */
.sh-info-newsletter-form .mailerlite-form-response,
.sh-shop-newsletter-form .mailerlite-form-response {
  background: transparent !important;
  color: #fff !important;
  padding: 8px 0 0 !important;
  margin: 0 !important;
}

/* ===== Override MailerLite shortcode embed (legacy .ml-form-* — fallback) ===== */
.sh-info-newsletter-form .ml-form-embedContainer,
.sh-shop-newsletter-form .ml-form-embedContainer {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Ich nagłówek + opis ukryte — mamy własne po lewej */
.sh-info-newsletter-form .ml-form-embedHeader,
.sh-info-newsletter-form .ml-form-embedHeadRow,
.sh-info-newsletter-form .ml-form-embedContent,
.sh-info-newsletter-form .ml-form-embedContent p,
.sh-info-newsletter-form .ml-form-embedContent h4,
.sh-info-newsletter-form .ml-form-embedContent h2,
.sh-shop-newsletter-form .ml-form-embedHeader,
.sh-shop-newsletter-form .ml-form-embedHeadRow,
.sh-shop-newsletter-form .ml-form-embedContent {
  display: none !important;
}
/* Body — bez tła, bez paddingu */
.sh-info-newsletter-form .ml-form-embedBody,
.sh-info-newsletter-form .ml-form-embedBodyContent,
.sh-info-newsletter-form .ml-form-embedWrapper,
.sh-shop-newsletter-form .ml-form-embedBody,
.sh-shop-newsletter-form .ml-form-embedBodyContent,
.sh-shop-newsletter-form .ml-form-embedWrapper {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
/* Form layout: input + button w jednej linii */
.sh-info-newsletter-form .ml-form-formContent,
.sh-shop-newsletter-form .ml-form-formContent {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}
.sh-info-newsletter-form .ml-form-fieldRow,
.sh-shop-newsletter-form .ml-form-fieldRow {
  flex: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Label "Email" ukryte — placeholder wystarczy */
.sh-info-newsletter-form label,
.sh-shop-newsletter-form label { display: none !important; }
/* Input email — nasz styl */
.sh-info-newsletter-form input[type="email"].form-control,
.sh-info-newsletter-form .ml-form-embedBody input[type="email"],
.sh-shop-newsletter-form input[type="email"].form-control,
.sh-shop-newsletter-form .ml-form-embedBody input[type="email"] {
  width: 100% !important;
  padding: 10px 16px !important;
  border: none !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--sh-ink) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  height: auto !important;
  margin: 0 !important;
  box-shadow: none !important;
}
/* Submit button — nasz czarny styl */
.sh-info-newsletter-form .ml-form-embedSubmit,
.sh-shop-newsletter-form .ml-form-embedSubmit {
  margin: 0 !important;
  padding: 0 !important;
}
.sh-info-newsletter-form .ml-form-embedSubmit button,
.sh-info-newsletter-form button.primary,
.sh-shop-newsletter-form .ml-form-embedSubmit button,
.sh-shop-newsletter-form button.primary {
  background: var(--sh-black) !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 18px !important;
  border-radius: 6px !important; /* brandbook v3 rounded-md (było 4px) */
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important; /* user 2026-06-01 */
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  width: auto !important;
  min-width: 110px;
  white-space: nowrap;
  transition: background .15s ease !important;
  box-shadow: none !important;
}
.sh-info-newsletter-form .ml-form-embedSubmit button:hover,
.sh-shop-newsletter-form .ml-form-embedSubmit button:hover { background: #000 !important; }
/* Komunikaty success/error MailerLite — drobny styl */
.sh-info-newsletter-form .ml-form-successBody,
.sh-shop-newsletter-form .ml-form-successBody {
  background: transparent !important;
  padding: 0 !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  .sh-info-newsletter-inner { grid-template-columns: 1fr; text-align: center; }
  .sh-info-newsletter-form { min-width: 0; }
  .sh-info-newsletter-form .ml-form-formContent,
  .sh-shop-newsletter-form .ml-form-formContent { flex-wrap: wrap !important; }
  .sh-info-newsletter-form .ml-form-embedSubmit button,
  .sh-shop-newsletter-form .ml-form-embedSubmit button { width: 100% !important; }
}

/* ===== 03 · EBOOKI (info site) ===== */
.sh-info-ebooki {
  background: var(--sh-black);
  color: var(--sh-offwhite);
  padding: 96px 0;
  position: relative;
}
.sh-info-ebooki-inner {
  max-width: 1280px;
  margin-inline: auto;
  padding: 0 var(--sh-gutter);
}
.sh-info-ebooki .sh-shop-sectionhead { color: var(--sh-offwhite); margin-bottom: 48px; }
.sh-info-ebooki .sh-shop-sectionhead h2 { color: var(--sh-white); }
.sh-info-ebooki .sh-shop-sectionhead p { color: rgba(248, 247, 244, 0.7); }
.sh-info-ebooki .sh-kicker { color: var(--sh-red); }

.sh-info-ebooki-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.sh-ebook-card {
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(248, 247, 244, 0.08);
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.sh-ebook-card:hover {
  transform: translateY(-4px);
  border-color: var(--sh-red);
  background: rgba(255, 255, 255, 0.06);
}
.sh-ebook-card-thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #0a0a0a;
  overflow: hidden;
}
.sh-ebook-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.2);
  transition: filter .25s ease;
}
.sh-ebook-card:hover .sh-ebook-card-thumb img { filter: grayscale(0); }
.sh-ebook-card-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: var(--sh-red);
  color: var(--sh-white);
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 3px;
}
.sh-ebook-card-body {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.sh-ebook-card-name {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--sh-white);
  margin: 0;
  line-height: 1.3;
}
.sh-ebook-card-desc {
  font-size: 13px;
  color: rgba(248, 247, 244, 0.65);
  margin: 0;
  line-height: 1.55;
  flex: 1;
}
.sh-ebook-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid rgba(248, 247, 244, 0.1);
  margin-top: auto;
}
.sh-ebook-card-price {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--sh-white);
}
.sh-ebook-card-cta {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sh-red);
}

@media (max-width: 1024px) {
  .sh-info-ebooki-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .sh-info-ebooki { padding: 64px 0; }
  .sh-info-ebooki-grid { grid-template-columns: 1fr; }
}

/* ===================== FAQ (04) ===================== */
.sh-info-faq {
  background: var(--sh-offwhite);
  padding: 96px 24px;
}
.sh-info-faq-inner {
  max-width: 880px;
  margin: 0 auto;
}
.sh-info-faq-list {
  margin-top: 32px;
  border-top: 1px solid #E0DDD8;
}
.sh-faq-item {
  border-bottom: 1px solid #E0DDD8;
}
.sh-faq-q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 4px;
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--sh-black);
  line-height: 1.35;
}
.sh-faq-q::-webkit-details-marker { display: none; }
.sh-faq-q::after {
  content: "+";
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  color: var(--sh-red);
  border: 1px solid #E0DDD8;
  border-radius: 50%;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.sh-faq-item[open] .sh-faq-q::after {
  content: "−";
  background: var(--sh-red);
  color: #fff;
  border-color: var(--sh-red);
}
.sh-faq-q:hover { color: var(--sh-red); }
.sh-faq-a {
  padding: 0 4px 22px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--sh-gray-500, #555);
  max-width: 70ch;
}
.sh-faq-a a {
  color: var(--sh-red);
  font-weight: 600;
  text-decoration: none;
}
.sh-faq-a a:hover { text-decoration: underline; }

@media (max-width: 600px) {
  .sh-info-faq { padding: 64px 20px; }
  .sh-faq-q { font-size: 15px; padding: 16px 4px; }
  .sh-faq-a { font-size: 14px; }
}

/* ===================== JEDNOSTKI WS (05) ===================== */
.sh-info-units {
  background: #0c0d11;
  padding: 96px 24px;
}
.sh-info-units-inner { max-width: 1280px; margin: 0 auto; }

/* ===================== POZOSTAŁE SŁUŻBY (page-wojska-specjalne.php) ===================== */
.sh-info-services {
  background: var(--sh-field-white, #F8F7F4);
  padding: 96px 24px;
}
.sh-info-services-inner { max-width: 1280px; margin: 0 auto; }
.sh-info-services .sh-shop-sectionhead { margin-bottom: 40px; }
.sh-info-services .sh-shop-sectionhead h2 { color: var(--sh-ink, #333); }
.sh-info-services .sh-shop-sectionhead p { color: var(--sh-muted, #666); }
.sh-info-services-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.sh-service-link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--sh-border, #E0DDD8);
  border-left: 3px solid var(--sh-red, #CC1B1B);
  border-radius: 6px;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.sh-service-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  border-left-color: var(--sh-red-dark, #A81515);
}
.sh-service-link-name {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--sh-black, #111);
  letter-spacing: 0;
  line-height: 1.2;
}
.sh-service-link-desc {
  font-size: 13px;
  font-weight: 400;
  color: var(--sh-muted, #666);
  line-height: 1.45;
}
@media (max-width: 900px) { .sh-info-services-links { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .sh-info-services-links { grid-template-columns: 1fr; } .sh-info-services { padding: 64px 20px; } }
.sh-info-units .sh-shop-sectionhead h2 { color: var(--sh-offwhite); }
.sh-info-units .sh-shop-sectionhead p { color: rgba(248,247,244,.6); }
.sh-info-units .sh-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--sh-red);
}
.sh-info-units .sh-kicker::before {
  content: "";
  width: 28px; height: 2px;
  background: var(--sh-red);
}
.sh-info-units-grid {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.sh-unit-card {
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(248,247,244,.12);
  border-radius: 12px;
  padding: 24px;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.sh-unit-card:hover {
  transform: translateY(-4px);
  border-color: var(--sh-red);
  background: rgba(204,27,27,.05);
}
.sh-unit-card-head { margin-bottom: 14px; }
.sh-unit-card-name {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--sh-offwhite);
  margin: 0 0 8px;
}
.sh-unit-card-loc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--sh-red);
}
.sh-unit-card-loc svg { width: 14px; height: 14px; flex-shrink: 0; }
.sh-unit-card-desc {
  flex: 1 1 auto;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(248,247,244,.7);
  margin: 0 0 20px;
}
.sh-unit-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(248,247,244,.1);
}
.sh-unit-card-count {
  font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 12px;
  color: rgba(248,247,244,.5);
}
.sh-unit-card-cta {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--sh-offwhite);
  transition: color .2s ease;
}
.sh-unit-card:hover .sh-unit-card-cta { color: var(--sh-red); }

@media (max-width: 1024px) {
  .sh-info-units-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .sh-info-units { padding: 64px 20px; }
  .sh-info-units-grid { grid-template-columns: 1fr; }
}

/* ===================== PROFIL JEDNOSTKI (page-jednostka) ===================== */
.sh-unit-hero {
  position: relative;
  background: #0c0d11;
  color: var(--sh-offwhite);
  padding: 64px 24px 56px;
}
.sh-unit-hero--img {
  background-image: var(--unit-hero-img);
  background-size: cover;
  background-position: center;
}
.sh-unit-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,9,12,.94) 0%, rgba(8,9,12,.82) 55%, rgba(8,9,12,.55) 100%);
  z-index: 0;
}
.sh-unit-hero-inner { position: relative; z-index: 1; max-width: 880px; margin: 0 auto; }

/* Powiązane ebooki */
.sh-unit-ebooks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.sh-unit-ebook {
  display: flex; gap: 16px; align-items: center;
  background: #fff; border: 1px solid #E0DDD8; border-radius: 12px;
  padding: 16px; text-decoration: none; color: inherit;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sh-unit-ebook:hover { transform: translateY(-2px); border-color: var(--sh-red); box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.sh-unit-ebook-thumb { flex: 0 0 72px; width: 72px; }
.sh-unit-ebook-thumb img { width: 100%; height: auto; border-radius: 6px; display: block; background: #f3f1ec; }
.sh-unit-ebook-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sh-unit-ebook-name { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 700; color: var(--sh-black); line-height: 1.3; }
.sh-unit-ebook-price { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 600; color: var(--sh-black); }
.sh-unit-ebook-cta { font-size: 13px; font-weight: 600; color: var(--sh-red); margin-top: 2px; }

/* Galeria — slider (reużywa carousel.js; CSS self-contained, bo shop CSS bywa wycinany) */
.sh-unit-gallery-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; margin-bottom: 18px;
}
.sh-unit-gallery-head h2 { margin: 0; }
.sh-unit-gallery-controls { display: flex; gap: 8px; flex-shrink: 0; }
.sh-unit-profile .sh-carousel { position: relative; }
.sh-unit-profile .sh-carousel-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.sh-unit-profile .sh-carousel-track::-webkit-scrollbar { display: none; }
.sh-unit-gallery-item.sh-carousel-slide {
  flex: 0 0 auto;
  width: 320px;
  max-width: 80%;
  aspect-ratio: 4 / 3;
  scroll-snap-align: start;
  border-radius: 8px;
  overflow: hidden;
  background: #111;
}
.sh-unit-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.sh-unit-gallery-item:hover img { transform: scale(1.04); }
/* Strzałki (self-contained) */
.sh-unit-gallery-controls .sh-carousel-arrow {
  width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid #E0DDD8; border-radius: 50%;
  color: var(--sh-black); cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.sh-unit-gallery-controls .sh-carousel-arrow svg { width: 18px; height: 18px; }
.sh-unit-gallery-controls .sh-carousel-arrow:hover:not(:disabled) { background: var(--sh-red); color: #fff; border-color: var(--sh-red); }
.sh-unit-gallery-controls .sh-carousel-arrow:disabled { opacity: .35; cursor: default; }

@media (max-width: 600px) {
  .sh-unit-ebooks { grid-template-columns: 1fr; }
  .sh-unit-gallery-item.sh-carousel-slide { width: 260px; }
}
.sh-unit-gallery-item { cursor: zoom-in; }

/* Lightbox / modal galerii */
.sh-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(8,9,12,.92);
  padding: 40px;
}
.sh-lightbox.is-open { display: flex; }
.sh-lightbox-img {
  max-width: 92vw;
  max-height: 86vh;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.sh-lightbox-close {
  position: absolute;
  top: 18px; right: 22px;
  width: 44px; height: 44px;
  font-size: 30px; line-height: 1;
  background: transparent; border: 0; color: #fff;
  cursor: pointer; opacity: .8;
}
.sh-lightbox-close:hover { opacity: 1; }
.sh-lightbox-prev,
.sh-lightbox-next {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%; color: #fff; cursor: pointer;
  transition: background .15s ease;
}
.sh-lightbox-prev { left: 18px; }
.sh-lightbox-next { right: 18px; }
.sh-lightbox-prev:hover,
.sh-lightbox-next:hover { background: var(--sh-red); border-color: var(--sh-red); }
.sh-lightbox-prev svg,
.sh-lightbox-next svg { width: 22px; height: 22px; }

@media (max-width: 600px) {
  .sh-lightbox { padding: 16px; }
  .sh-lightbox-prev, .sh-lightbox-next { width: 40px; height: 40px; }
  .sh-lightbox-prev { left: 8px; }
  .sh-lightbox-next { right: 8px; }
}
.sh-unit-breadcrumb {
  font-size: 13px;
  color: rgba(248,247,244,.5);
  margin-bottom: 24px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.sh-unit-breadcrumb a { color: rgba(248,247,244,.7); text-decoration: none; }
.sh-unit-breadcrumb a:hover { color: var(--sh-red); }
.sh-unit-hero .sh-kicker {
  display: inline-flex; align-items: center; gap: 12px;
  color: var(--sh-red); letter-spacing: 0.2em; font-size: 11px;
  font-weight: 700; text-transform: uppercase; margin-bottom: 14px;
}
.sh-unit-hero .sh-kicker::before { content: ""; width: 28px; height: 2px; background: var(--sh-red); }
.sh-unit-hero-name {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 800; line-height: 1.05; letter-spacing: -0.02em;
  margin: 0 0 8px; color: #fff;
}
.sh-unit-hero-full { font-size: 15px; color: rgba(248,247,244,.6); margin: 0 0 18px; }
.sh-unit-hero-summary { font-size: 17px; line-height: 1.6; color: rgba(248,247,244,.9); margin: 0 0 28px; max-width: 60ch; }
.sh-unit-facts {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px; background: rgba(248,247,244,.1);
  border: 1px solid rgba(248,247,244,.1); border-radius: 10px; overflow: hidden;
}
.sh-unit-facts li { background: #0c0d11; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.sh-unit-fact-k { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(248,247,244,.45); }
.sh-unit-fact-v { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 600; color: #fff; }

.sh-unit-body {
  max-width: 880px; margin: 0 auto; padding: 56px 24px 80px;
}
.sh-unit-section { margin-bottom: 48px; }
.sh-unit-section h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.5rem; font-weight: 800; letter-spacing: -0.01em;
  color: var(--sh-black); margin: 0 0 16px;
}
.sh-unit-section p { font-size: 16px; line-height: 1.75; color: var(--sh-gray-700, #333); margin: 0 0 14px; }
.sh-unit-note { font-size: 14px !important; color: var(--sh-gray-500, #555) !important; }
.sh-unit-section-cta {
  background: var(--sh-offwhite);
  border: 1px solid #E0DDD8; border-radius: 12px; padding: 28px;
}
.sh-unit-section-cta .sh-btn { margin-top: 8px; }
.sh-unit-articles-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 20px;
}
.sh-unit-articles-head h2 { margin: 0; }

@media (max-width: 600px) {
  .sh-unit-hero { padding: 48px 20px 40px; }
  .sh-unit-body { padding: 40px 20px 56px; }
  .sh-unit-section-cta { padding: 20px; }
}

/* Siatka artykułów na profilu — samodzielna (nie zależy od components-shop.css,
   który bywa wycinany przez RUCSS na podstronach). */
.sh-unit-profile .sh-shop-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.sh-unit-profile .sh-blog-card {
  background: #fff;
  border: 1px solid #E0DDD8;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sh-unit-profile .sh-blog-card:hover {
  transform: translateY(-2px);
  border-color: #d0cec8;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.sh-unit-profile .sh-blog-card-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #111;
  overflow: hidden;
}
.sh-unit-profile .sh-blog-card-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sh-unit-profile .sh-blog-card-badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 1;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  background: var(--sh-red);
  color: #fff;
}
.sh-unit-profile .sh-blog-card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 18px 18px;
  flex: 1 1 auto;
}
.sh-unit-profile .sh-blog-card-title {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--sh-black);
  margin: 0;
}
.sh-unit-profile .sh-blog-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  font-size: 12px;
  color: var(--sh-gray-500, #666);
}
.sh-unit-profile .sh-blog-card-read { color: var(--sh-red); font-weight: 600; }
@media (max-width: 1024px) {
  .sh-unit-profile .sh-shop-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .sh-unit-profile .sh-shop-blog-grid { grid-template-columns: 1fr; }
}

/* ===================== HUB JEDNOSTKI — 12 sekcji (spec 24.05.2026) ===================== */

/* 1. Hero — liczba-hak + podwójne CTA */
.sh-unit-hook {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 4px 0 28px;
  padding: 18px 20px;
  background: rgba(204, 27, 27, .1);
  border-left: 3px solid var(--sh-red);
  border-radius: 0 8px 8px 0;
  max-width: 60ch;
}
.sh-unit-hook-num {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(2rem, 5vw, 2.8rem);
  font-weight: 900;
  line-height: 1;
  color: #fff;
  flex-shrink: 0;
}
.sh-unit-hook-label {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(248, 247, 244, .82);
}
.sh-unit-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.sh-unit-hero .sh-btn { font-size: 14px; padding: 13px 24px; white-space: normal; } /* mobile: zezwól na zawijanie długich nazw jednostek */
.sh-unit-hero .sh-btn-ghost,
.sh-unit-hero .sh-btn-ghost:visited {
  background: transparent;
  color: var(--sh-offwhite);
  border-color: rgba(255, 255, 255, .7);
}
.sh-unit-hero .sh-btn-ghost:hover {
  background: transparent;
  color: var(--sh-red);
  border-color: var(--sh-red);
}

/* 2. W pigułce */
.sh-unit-pigulka {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  align-items: stretch; /* equal heights — fix nierówności wysokości itemów */
}
.sh-unit-pigulka li {
  margin: 0; /* reset: inherited `li + li { margin-top }` pchało pierwszy item wyżej niż resztę */
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #F8F7F4; /* Field White */
  border-radius: 6px;
  border-left: 3px solid var(--sh-red); /* brandbook v3 signature */
}
.sh-pig-k {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sh-red);
  font-weight: 700;
}
.sh-pig-v {
  font-size: 14px;
  line-height: 1.5;
  color: var(--sh-black);
  font-weight: 500;
}

/* 3. Czym jest X — akapit „Co robi" (role) jako lead-in nad historią */
.sh-unit-role {
  font-size: 16px;
  line-height: 1.65;
  color: var(--sh-black);
  font-weight: 400;
  padding-left: 16px;
  border-left: 3px solid var(--sh-red);
  margin: 8px 0 28px;
}

/* 4. Wymagania — ścieżki Selekcja / Kwalifikacja */
.sh-unit-paths {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 20px;
}
.sh-unit-path {
  background: var(--sh-offwhite);
  border: 1px solid #E0DDD8;
  border-radius: 12px;
  padding: 22px;
}
.sh-unit-path-name {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--sh-black);
  margin: 0 0 8px;
}
.sh-unit-path p { font-size: 14px !important; line-height: 1.6; margin: 0 !important; }

/* 5. Kalkulator inline (embed ciemnego widgetu w „ramce") */
.sh-unit-calc-lead { color: var(--sh-gray-500, #555) !important; max-width: 65ch; }
.sh-unit-calc-embed {
  margin-top: 20px;
  background: #0a0a0a;
  border: 1px solid #1c1c1c;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
}
.sh-unit-calc-iframe { display: block; width: 100%; border: 0; }
.sh-unit-calc-fallback { margin-top: 12px; font-size: 13px; }
.sh-unit-calc-fallback a { color: var(--sh-red); font-weight: 600; text-decoration: none; }
.sh-unit-calc-fallback a:hover { text-decoration: underline; }

/* 6. Przygotowanie: trening + głowa */
.sh-unit-prep-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.sh-unit-mindset-box,
.sh-unit-runs-box {
  border-radius: 12px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sh-unit-mindset-box {
  background: #111;
  color: var(--sh-offwhite);
  border-top: 4px solid var(--sh-red);
}
.sh-unit-runs-box {
  background: var(--sh-offwhite);
  border: 1px solid #E0DDD8;
}
.sh-unit-prep-tag {
  align-self: flex-start;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  background: var(--sh-red);
  color: #fff;
}
.sh-unit-prep-h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
}
.sh-unit-mindset-box .sh-unit-prep-h3 { color: #fff; }
.sh-unit-runs-box .sh-unit-prep-h3 { color: var(--sh-black); }
.sh-unit-mindset-box p { color: rgba(248, 247, 244, .8) !important; font-size: 14px !important; margin: 0 !important; line-height: 1.6; }
.sh-unit-runs-box p { font-size: 14px !important; margin: 0 !important; line-height: 1.6; color: var(--sh-gray-500, #555) !important; }
.sh-unit-mindset-box .sh-btn { margin-top: 6px; align-self: flex-start; }
.sh-unit-mindset-box .sh-btn-ghost,
.sh-unit-mindset-box .sh-btn-ghost:visited {
  background: transparent;
  color: var(--sh-offwhite);
  border-color: rgba(255, 255, 255, .6);
}
.sh-unit-mindset-box .sh-btn-ghost:hover { color: var(--sh-red); border-color: var(--sh-red); }
.sh-unit-soon {
  align-self: flex-start;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sh-gray-500, #888);
  border: 1px dashed #C9C6BF;
  border-radius: 20px;
  padding: 5px 14px;
  margin-top: 4px;
}

/* 8. Kalendarz: nabory + rocznice */
.sh-unit-calendar { list-style: none; margin: 0; padding: 0; }
.sh-cal-item {
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid #E0DDD8;
}
.sh-cal-item:last-child { border-bottom: 0; }
.sh-cal-date {
  flex: 0 0 130px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--sh-black);
}
.sh-cal-label { font-size: 15px; line-height: 1.5; color: var(--sh-gray-700, #333); }
.sh-cal-nabor .sh-cal-date { color: var(--sh-red); }
.sh-cal-pamiec .sh-cal-date { color: var(--sh-gray-500, #777); font-weight: 600; }

/* 9. FAQ — kontener (itemy reużywają globalnych .sh-faq-*) */
.sh-unit-faq { border-top: 1px solid #E0DDD8; margin-top: 20px; }

/* 11. Wiarygodność + fundacje */
.sh-unit-social {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.sh-unit-social-item {
  flex: 1 1 200px;
  background: var(--sh-offwhite);
  border: 1px solid #E0DDD8;
  border-radius: 12px;
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sh-unit-social-num {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  font-weight: 900;
  color: var(--sh-red);
  line-height: 1;
}
.sh-unit-social-label { font-size: 14px; color: var(--sh-gray-700, #333); }
.sh-unit-foundation {
  background: #0c0d11;
  color: var(--sh-offwhite);
  border-radius: 12px;
  padding: 28px;
  border-left: 4px solid var(--sh-red);
}
.sh-unit-foundation .sh-unit-prep-h3 { color: #fff; margin-bottom: 10px; }
.sh-unit-foundation p { color: rgba(248, 247, 244, .8) !important; font-size: 14px !important; line-height: 1.6; margin: 0 0 14px !important; }
.sh-unit-foundation-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 13px !important;
  margin: 0 !important;
}
.sh-unit-foundation-meta span { color: rgba(248, 247, 244, .55) !important; font-family: ui-monospace, Menlo, Consolas, monospace; }
.sh-unit-foundation-meta a { color: var(--sh-red); font-weight: 700; text-decoration: none; }
.sh-unit-foundation-meta a:hover { text-decoration: underline; }

/* 12. Powiązane jednostki */
.sh-unit-related {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.sh-unit-related-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fff;
  border: 1px solid #E0DDD8;
  border-radius: 12px;
  padding: 22px;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sh-unit-related-card:hover {
  transform: translateY(-3px);
  border-color: var(--sh-red);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}
.sh-unit-related-name {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 800;
  color: var(--sh-black);
}
.sh-unit-related-sum { font-size: 13px; line-height: 1.55; color: var(--sh-gray-500, #555); flex: 1 1 auto; }
.sh-unit-related-go { font-size: 13px; font-weight: 600; color: var(--sh-red); margin-top: 4px; }

@media (max-width: 768px) {
  .sh-unit-paths,
  .sh-unit-prep-grid { grid-template-columns: 1fr; }
  .sh-unit-related { grid-template-columns: 1fr; }
  .sh-cal-date { flex-basis: 96px; }
}

/* ==========================================================================
   Generic `.sh-entry-content` headings (poza single article — np. /o-nas/,
   strony legalne, pozostałe page templates). User report 2026-05-31:
   "nagłówki się zlewają z tekstem". Margin-top na h2/h3/h4 dla oddychania.
   ========================================================================== */
.sh-entry-content h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--sh-black);
  margin: 48px 0 16px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.sh-entry-content h2:first-child { margin-top: 0; }
.sh-entry-content h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--sh-black);
  margin: 32px 0 12px;
  line-height: 1.3;
}
.sh-entry-content ul + h2,
.sh-entry-content ol + h2,
.sh-entry-content p + h2,
.sh-entry-content section + h2,
.sh-entry-content .sh-unit-pigulka + h2 { margin-top: 56px; }

/* Mailto card (sekcja Kontakt na /o-nas/) */
.sh-contact-card {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 16px 24px;
  background: #F8F7F4;
  border: 1px solid #E0DDD8;
  border-left: 3px solid var(--sh-red);
  border-radius: 6px;
  text-decoration: none;
  color: var(--sh-black);
  font-family: 'Poppins', sans-serif;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  margin: 16px 0 24px;
}
.sh-contact-card:hover {
  border-color: var(--sh-red);
  box-shadow: 0 4px 16px rgba(204, 27, 27, 0.12);
  transform: translateY(-1px);
}
.sh-contact-card-icon {
  flex-shrink: 0;
  width: 40px; height: 40px;
  background: rgb(248, 247, 244);
  border: 1px solid #E0DDD8;
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
}
.sh-contact-card-icon svg {
  width: 20px; height: 20px;
  stroke: var(--sh-red);
  stroke-width: 1.8;
  fill: none;
}
.sh-contact-card-text { display: flex; flex-direction: column; gap: 2px; }
.sh-contact-card-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--sh-red);
  font-weight: 700;
}
.sh-contact-card-mail {
  font-size: 16px;
  font-weight: 600;
  color: var(--sh-black);
}

/* ==========================================================================
   DUPLICATE z components-shop.css — `.sh-shop-usp*` + `.sh-shop-newsletter*`
   Powód: components-shop.css NIE jest ładowany na .pro stronach poza home
   (sprawdzone 2026-05-31: na /o-nas/ tylko components-info.css). Te klasy są
   używane w /o-nas/ stats block i w home newsletter — duplikat reguł tutaj
   gwarantuje że wszędzie wyglądają poprawnie. Single-source-of-truth: jeśli
   coś zmieniasz w components-shop.css, zmień też tutaj.
   ========================================================================== */

.sh-shop-usp {
  background: #fff;
  color: var(--sh-black);
  padding: 0;
  border-top: 2px solid var(--sh-red);
  border-bottom: 1px solid #E0DDD8;
}
.sh-shop-usp-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0;
}
.sh-shop-usp-item {
  display: flex; align-items: center;
  gap: 14px;
  padding: 24px 20px;
  font-family: 'Poppins', sans-serif;
  border-right: 1px solid #E0DDD8;
  background: transparent;
  transition: background-color .2s;
}
.sh-shop-usp-item:last-child { border-right: 0; }
.sh-shop-usp-item:hover { background: rgba(204, 27, 27, 0.02); }
.sh-shop-usp-icon {
  width: 44px; height: 44px;
  background: rgb(248, 247, 244);
  color: var(--sh-red);
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sh-shop-usp-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--sh-red);
  stroke-width: 1.8;
  fill: none;
}
.sh-shop-usp-icon svg.sh-icon-filled {
  fill: var(--sh-red);
  stroke: none;
}
.sh-shop-usp-title {
  font-size: 13px; font-weight: 600; color: var(--sh-black);
  margin-bottom: 2px;
  line-height: 1.2;
}
.sh-shop-usp-desc {
  font-size: 0.78rem; color: var(--sh-gray-500);
  line-height: 1.4;
}
.sh-shop-usp-desc-accent { color: var(--sh-red); font-weight: 500; }

@media (max-width: 768px) {
  .sh-shop-usp-grid { grid-template-columns: 1fr 1fr; }
  .sh-shop-usp-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 18px 12px;
    border-right: 1px solid #E0DDD8;
    border-bottom: 1px solid #E0DDD8;
  }
  .sh-shop-usp-item:nth-child(2n) { border-right: 0; }
  .sh-shop-usp-item:nth-child(n+3) { border-bottom: 0; }
}

/* Newsletter (duplikat z components-shop.css linia 1302+, font-weight 400 per user 2026-06-01) */
.sh-shop-newsletter {
  background: var(--sh-red);
  color: #fff;
  padding: 36px 24px;
}
.sh-shop-newsletter-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 32px;
}
.sh-shop-newsletter-text h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 4px;
  color: #fff;
  text-transform: none;
}
.sh-shop-newsletter-text p {
  font-size: 0.85rem;
  color: rgba(255,255,255,.85);
  margin: 0;
}
.sh-shop-newsletter-form {
  display: flex; gap: 8px;
  min-width: 360px;
}
.sh-shop-newsletter-form input[type="email"] {
  flex: 1;
  padding: 10px 16px;
  border: none;
  border-radius: 4px;
  background: rgba(255,255,255,.94);
  color: var(--sh-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 400;
}
.sh-shop-newsletter-form input::placeholder { color: var(--sh-muted); }
.sh-shop-newsletter-form button {
  background: var(--sh-black);
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 6px; /* brandbook v3 rounded-md */
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 400; /* user 2026-06-01 */
  letter-spacing: 0;
  cursor: pointer;
  transition: background .15s ease;
}
.sh-shop-newsletter-form button:hover { background: #000; }

.sh-nl-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.sh-nl-form input[type="email"] { flex: 1 1 200px; }
.sh-nl-form button { flex: 0 0 auto; }
.sh-nl-form .sh-nl-consent,
.sh-nl-form .sh-nl-msg { flex: 1 1 100%; margin-top: 2px; }
.sh-shop-newsletter .sh-nl-consent a {
  display: block;
  margin-top: 6px;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sh-shop-newsletter .sh-nl-consent a:hover,
.sh-shop-newsletter .sh-nl-consent a:focus {
  color: rgba(255, 255, 255, .8);
}

@media (max-width: 768px) {
  .sh-shop-newsletter-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .sh-shop-newsletter-form { min-width: 0; }
  .sh-nl-form { flex-direction: column; align-items: stretch; }
  .sh-nl-form input[type="email"],
  .sh-nl-form button,
  .sh-nl-form .sh-nl-consent,
  .sh-nl-form .sh-nl-msg { flex: 0 0 auto; }
  .sh-nl-form button { width: 100%; }
}

/* ===================== UNITS v2 — mosaic grid 3-col (2026-06-02) ===================== */
/*
 * Desktop layout (3 cols × 3 rows):
 * +------+------+--------+
 * | GROM | DKWS | CSzWS  |  ← row 1
 * | hero +------+--------+
 * | spans| JWK  | FORMOZA|  ← row 2
 * +------+------+--------+
 * | AGAT | NIL  | PJOS   |  ← row 3
 * +------+------+--------+
 * GROM = grid-column: 1, grid-row: 1 / span 2 (hero, taller content).
 * Mobile: jeden poziomy scroll, GROM jako pierwsza karta bez hero styling.
 */
.sh-units-v2 .sh-units-grid--mosaic {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: minmax(220px, auto);
  gap: 16px;
}

/* GROM hero — span 2 rows + większy content */
.sh-units-v2 .sh-unit-card--hero {
  grid-column: 1;
  grid-row: 1 / span 2;
}
.sh-units-v2 .sh-unit-card--hero .sh-unit-card-head {
  padding: 28px 26px 22px;
  min-height: 140px;
}
.sh-units-v2 .sh-unit-card--hero .sh-unit-card-logo {
  width: 88px;
  height: 88px;
}
.sh-units-v2 .sh-unit-card--hero .sh-unit-card-name {
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.sh-units-v2 .sh-unit-card--hero .sh-unit-card-sub {
  font-size: 13px;
}
.sh-units-v2 .sh-unit-card--hero .sh-unit-card-body {
  padding: 22px 26px 26px;
}
.sh-units-v2 .sh-unit-card--hero .sh-unit-card-desc {
  font-size: 15px;
  line-height: 1.6;
}
.sh-units-v2 .sh-unit-card--hero .sh-unit-card-cta {
  font-size: 12px;
  letter-spacing: 0.06em;
  margin-top: 18px;
  padding: 10px 18px;
  background: var(--sh-red);
  color: var(--sh-offwhite);
  border-radius: 6px;
  align-self: flex-start;
  display: inline-flex;
  transition: background .2s;
}
.sh-units-v2 .sh-unit-card--hero:hover .sh-unit-card-cta {
  background: var(--sh-red-dark, #A81515);
}
.sh-units-v2 .sh-unit-card {
  display: flex;
  flex-direction: column;
  background: var(--sh-offwhite);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  color: var(--sh-ink);
  transition: transform .25s, border-color .25s, box-shadow .25s;
  padding: 0;
}
.sh-units-v2 .sh-unit-card:hover {
  transform: translateY(-3px);
  border-color: var(--sh-red);
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  background: var(--sh-offwhite);
}
.sh-units-v2 .sh-unit-card-head {
  position: relative;
  background: #fff;
  padding: 22px 20px 18px;
  color: var(--sh-ink, #111);
  min-height: 100px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  border-bottom: 1px solid var(--sh-border-soft, rgba(0,0,0,.06));
}
.sh-units-v2 .sh-unit-card-head-text {
  flex: 1;
  min-width: 0;
}
.sh-units-v2 .sh-unit-card-logo {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.08));
}
.sh-units-v2 .sh-unit-card-name {
  font-family: 'Poppins', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
  color: var(--sh-ink, #111);
}
.sh-units-v2 .sh-unit-card-sub {
  font-size: 12px;
  color: var(--sh-muted, #666);
  margin: 0;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* MONOGRAM CIRCLE (prawy górny róg) */
.sh-units-v2 .sh-unit-abbr {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(20,20,20,.85);
  color: var(--sh-offwhite);
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.04em;
  z-index: 3;
}
.sh-units-v2 .sh-unit-abbr--hero {
  width: 56px;
  height: 56px;
  font-size: 13px;
  top: 20px;
  right: 20px;
}

/* BADGE czerwony (lewy górny) */
.sh-units-v2 .sh-unit-badge {
  display: inline-block;
  padding: 5px 10px;
  background: var(--sh-red);
  color: var(--sh-offwhite);
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 3px;
  margin-bottom: 12px;
  align-self: flex-start;
  position: absolute;
  top: 14px;
  left: 14px;
}
.sh-units-v2 .sh-unit-badge--flag {
  position: absolute;
  top: auto;
  bottom: calc(100% - 24px + 2.6rem + 1.2rem);
  left: 24px;
  font-size: 11px;
  padding: 6px 12px;
}
/* Override: badge flag dla hero — chcemy nad nazwą, pozycja relative */
.sh-units-v2 .sh-unit-hero .sh-unit-badge--flag {
  position: static;
  margin-bottom: 14px;
  align-self: flex-start;
}

/* BODY karty */
.sh-units-v2 .sh-unit-card-body {
  padding: 16px 18px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.sh-units-v2 .sh-unit-card-desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--sh-ink);
  margin: 0 0 14px;
  flex: 1;
}
.sh-units-v2 .sh-unit-card-stats {
  display: flex;
  gap: 18px;
  margin: 0 0 14px;
  padding: 0;
  border-top: 1px solid rgba(0,0,0,.08);
  padding-top: 12px;
}
.sh-units-v2 .sh-unit-stat {
  display: flex;
  flex-direction: column;
}
.sh-units-v2 .sh-unit-stat dt {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--sh-ink);
  line-height: 1.2;
  margin: 0;
}
.sh-units-v2 .sh-unit-stat dd {
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--sh-muted, #666);
  margin: 2px 0 0;
  font-weight: 400;
}
.sh-units-v2 .sh-unit-card-cta {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sh-red);
  margin-top: auto;
}

/* TABLET 900-1200 — 2 kolumny, GROM span 2 rows ale na col 1 */
@media (max-width: 1200px) {
  .sh-units-v2 .sh-units-grid--mosaic {
    grid-template-columns: repeat(2, 1fr);
  }
  .sh-units-v2 .sh-unit-card--hero {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* MOBILE ≤ 768 — horizontal scroll wszystkich 8 kart (GROM bez span, jak każda) */
@media (max-width: 768px) {
  .sh-units-v2 .sh-units-grid--mosaic {
    display: flex;
    grid-template-columns: none;
    grid-auto-rows: auto;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    margin: 36px -16px 0;
    padding: 0 16px 8px;
    gap: 12px;
  }
  .sh-units-v2 .sh-units-grid--mosaic::-webkit-scrollbar {
    display: none;
  }
  .sh-units-v2 .sh-unit-card {
    flex: 0 0 78%;
    max-width: 78%;
    scroll-snap-align: start;
  }
  .sh-units-v2 .sh-unit-card--hero {
    grid-column: auto;
    grid-row: auto;
  }
  /* Hero card na mobile zachowuje swój większy font dla spójności */
  .sh-units-v2 .sh-unit-card--hero .sh-unit-card-head {
    padding: 22px 20px 18px;
    min-height: 100px;
  }
  .sh-units-v2 .sh-unit-card--hero .sh-unit-card-name {
    font-size: 1.25rem;
  }
  .sh-units-v2 .sh-unit-card--hero .sh-unit-card-body {
    padding: 16px 18px 18px;
  }
  .sh-units-v2 .sh-unit-card--hero .sh-unit-card-desc {
    font-size: 13px;
  }
}
@media (max-width: 480px) {
  .sh-units-v2 .sh-unit-card {
    flex: 0 0 85%;
    max-width: 85%;
  }
}

/* =========================================================================
   KALENDARZ TERMINÓW — sekcja home + strona /kalendarz/
   ========================================================================= */
.sh-cal-section { padding: var(--sh-space-16, 64px) 0; }
.sh-accent-red { color: var(--sh-red); }
.sh-cal-lead { color: var(--sh-gray-500); max-width: 640px; margin-top: 8px; }

.sh-cal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 24px;
}
@media (max-width: 768px) { .sh-cal-grid { grid-template-columns: 1fr; } }

.sh-cal-card {
  display: flex;
  gap: 18px;
  padding: 18px;
  background: #fff;
  border: 1px solid #E0DDD8;
  border-radius: 10px;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sh-cal-card:hover {
  border-color: var(--sh-red);
  box-shadow: 0 4px 16px rgba(204, 27, 27, 0.10);
  transform: translateY(-1px);
}
.sh-cal-card.is-open { border-left: 3px solid var(--sh-red); }

/* Kafel daty */
.sh-cal-date {
  flex-shrink: 0;
  align-self: flex-start; /* kompaktowy kafel u góry, nie rozciągaj na wysokość karty */
  width: 84px;
  height: 84px;           /* stała wysokość — koniec ze stretchem na mobile */
  background: #111;
  color: var(--sh-offwhite);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 8px 4px;
}
.sh-cal-date .d { font-size: 30px; font-weight: 800; }
.sh-cal-date .m { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--sh-red); margin-top: 3px; }
.sh-cal-date .y { font-size: 11px; color: rgba(248, 247, 244, .5); margin-top: 3px; }
.sh-cal-card--rolling .sh-cal-date { background: #1a1a1a; }
.sh-cal-card--rolling .sh-cal-date .m { color: rgba(248, 247, 244, .85); font-size: 13px; }

/* Treść karty */
.sh-cal-main { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.sh-cal-kicker { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sh-red); margin-bottom: 4px; }
.sh-cal-title { font-size: 1.05rem; font-weight: 700; line-height: 1.3; margin: 0 0 6px; color: var(--sh-black); }
.sh-cal-desc { font-size: .85rem; color: var(--sh-gray-500); margin: 0 0 12px; line-height: 1.5; }

.sh-cal-foot {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: auto;        /* przyklej stopkę do dołu karty */
  border-top: 1px solid #EFEDE9;
  padding-top: 10px;
  font-size: .8rem;
}
.sh-cal-status { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--sh-gray-500); }
.sh-cal-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #999; display: inline-block; }
.sh-cal-card.is-open .sh-cal-status { color: #1a7f3c; }
.sh-cal-card.is-open .sh-cal-status::before { background: #22a04e; }
.sh-cal-card.is-closed .sh-cal-status { color: var(--sh-red); }
.sh-cal-card.is-closed .sh-cal-status::before { background: var(--sh-red); }
.sh-cal-card.is-rolling .sh-cal-status { color: #2b6cb0; }
.sh-cal-card.is-rolling .sh-cal-status::before { background: #2b6cb0; }
.sh-cal-extra { font-weight: 700; color: var(--sh-black); }
.sh-cal-src { margin-left: auto; color: var(--sh-gray-500); text-decoration: none; font-weight: 600; white-space: nowrap; }
.sh-cal-src:hover { color: var(--sh-red); }
.sh-cal-src-arrow { color: var(--sh-red); vertical-align: -1px; }

/* ---- Strona /kalendarz/ ---- */
.sh-cal-page { padding: var(--sh-space-12, 48px) 0 var(--sh-space-16, 64px); }
.sh-cal-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 4px; align-items: center; }
.sh-cal-filters-label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--sh-gray-500); margin-right: 4px; }
.sh-cal-chip {
  display: inline-flex;
  padding: 6px 14px;
  border: 1px solid #E0DDD8;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--sh-gray-500);
  background: #fff;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.sh-cal-chip:hover { border-color: var(--sh-red); color: var(--sh-red); }
.sh-cal-chip.is-active { background: #111; color: var(--sh-offwhite); border-color: #111; }
.sh-cal-toggle { margin-left: auto; display: inline-flex; gap: 8px; }
.sh-cal-month {
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 32px 0 14px;
  color: var(--sh-black);
  border-bottom: 2px solid var(--sh-red);
  padding-bottom: 6px;
}
.sh-cal-empty { color: var(--sh-gray-500); padding: 28px 0; }
.sh-cal-rolling-head { margin-top: 40px; }

/* Filtry jako dropdowny */
.sh-cal-filterbar { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; margin: 18px 0 8px; }
.sh-cal-field { display: flex; flex-direction: column; gap: 4px; }
.sh-cal-field > span { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--sh-gray-500); }
.sh-cal-field select {
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
  border: 1px solid #E0DDD8;
  border-radius: 8px;
  padding: 9px 36px 9px 14px;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 600;
  color: var(--sh-black);
  min-width: 190px;
  cursor: pointer;
}
.sh-cal-field select:focus { outline: 0; border-color: var(--sh-red); }
.sh-cal-reset { align-self: flex-end; padding-bottom: 10px; font-size: .8rem; font-weight: 600; color: var(--sh-gray-500); text-decoration: underline; }
.sh-cal-reset:hover { color: var(--sh-red); }

/* Mobile: kafel daty NAD tekstem (poziomy pasek). Na końcu pliku, żeby wygrać
   z bazowym .sh-cal-date (kolejność źródła > przy tej samej specyficzności). */
@media (max-width: 768px) {
  .sh-cal-card { flex-direction: column; gap: 12px; }
  .sh-cal-date {
    width: 100%;
    flex: 0 0 52px;        /* główna oś kolumny = wysokość; nadpisuje flex-basis */
    height: 52px;          /* kompaktowy poziomy pasek (1 linia) */
    min-height: 0;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 14px;
    line-height: 1;
  }
  .sh-cal-date .d { font-size: 22px; }
  .sh-cal-date .m,
  .sh-cal-date .y { margin-top: 0; }
  .sh-cal-date .y { color: rgba(248, 247, 244, .6); }

  /* Filtry: pełna szerokość na mobile */
  .sh-cal-filterbar { gap: 10px; }
  .sh-cal-field { width: 100%; }
  .sh-cal-field select { width: 100%; min-width: 0; }
}

