/* ==========================================================================
   bomby-lp.css — Landing "Zacznij sprzedawac" (5736) i "Prezenty firmowe" (5757)
   Zadanie A-044. Zrodlo prawdy: materialy/design/canvas/{Main,PrezentyFirmowe}.dc.html
   Enqueue tylko na is_page([5736,5757]) — patrz bomby-lp.php.
   Prefiks wszystkich klas: .blp- (zeby nie kolidowac z bomby-b2b.css / motywem).
   ========================================================================== */

.blp-root, .blp-root * { box-sizing: border-box; }

.blp-root {
  font-family: 'Nunito', 'Segoe UI', system-ui, sans-serif;
  color: #5B5756;
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.blp-root a { color: #5B5756; text-decoration: none; }
.blp-root a:hover { color: #33390F; }
.blp-root h1, .blp-root h2, .blp-root h3, .blp-root p { margin: 0; }
.blp-root img { max-width: 100%; display: block; }

.blp-container { max-width: 1400px; margin: 0 auto; padding: 0 80px; }

.blp-section { padding: 96px 0; }
.blp-section--tint { background: #F7F5F0; }
.blp-section--sm { padding: 56px 0; }

.blp-eyebrow {
  font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: #6E7A2A; display: block; margin-bottom: 14px;
}
.blp-h2 { font-size: 40px; line-height: 1.15; font-weight: 800; color: #3D3A36; }
.blp-lede { font-size: 17px; line-height: 1.55; color: #6B6762; }

.blp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 200px; font-weight: 800; font-size: 17px; padding: 18px 34px;
  white-space: nowrap; border: none; cursor: pointer;
}
.blp-root .blp-btn--primary { background: #BFD15D; color: #33390F; box-shadow: 0 10px 24px rgba(191,209,93,0.35); }
.blp-root .blp-btn--primary:hover { background: #5B5756; color: #FFFFFF; }
.blp-root .blp-btn--outline { border: 2px solid #D9D6CF; color: #3D3A36; font-weight: 700; font-size: 16px; padding: 16px 28px; background: transparent; }
.blp-root .blp-btn--outline:hover { border-color: #BFD15D; color: #33390F; }
.blp-root .blp-btn--dark { background: #33390F; color: #FFFFFF; }
.blp-root .blp-btn--dark:hover { background: #5B5756; }
.blp-root .blp-btn--outline-dark { border: 2px solid #33390F; color: #33390F; background: transparent; padding: 16px 32px; }
.blp-root .blp-btn--outline-dark:hover { background: #33390F; color: #FFFFFF; }
.blp-btn--sm { font-size: 15px; padding: 14px 26px; }
.blp-btn:focus-visible { outline: 3px solid #33390F; outline-offset: 2px; }

/* ---------- HERO ---------- */
.blp-hero { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 64px; padding: 72px 0 72px 0; align-items: center; }
.blp-hero__copy { display: flex; flex-direction: column; gap: 24px; max-width: 560px; }
.blp-hero__badge {
  display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; color: #6E7A2A;
}
.blp-hero__badge-dot { width: 8px; height: 8px; border-radius: 50%; background: #BFD15D; display: inline-block; flex-shrink: 0; }
.blp-hero__title { font-size: 54px; line-height: 1.08; font-weight: 800; color: #3D3A36; letter-spacing: -0.01em; }
.blp-hero__desc { font-size: 19px; line-height: 1.55; color: #6B6762; }
.blp-hero__ctas { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.blp-hero__stats { display: flex; gap: 28px; align-items: center; font-size: 14px; color: #8A8681; padding-top: 8px; flex-wrap: wrap; }
.blp-hero__stats strong { color: #3D3A36; font-size: 18px; font-weight: 800; display: block; }
.blp-hero__stats-sep { width: 1px; height: 34px; background: #E6E3DC; flex-shrink: 0; }

.blp-hero__art { position: relative; width: 100%; aspect-ratio: 608 / 520; max-width: 608px; margin: 0 auto; }
.blp-hero__art-circle { position: absolute; left: 9.9%; top: 3.8%; width: 79%; height: 92.3%; border-radius: 50%; background: #F5F3EC; }
.blp-hero__art-dots { position: absolute; inset: 0; width: 100%; height: 100%; }
.blp-root .blp-hero__art-main { position: absolute; left: 21.4%; top: 11.5%; width: 62.5%; height: 73%; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(58,55,51,0.18)); }
.blp-root .blp-hero__art-main--cover { object-fit: cover; border-radius: 28px; box-shadow: 0 30px 50px rgba(58,55,51,0.18); }
.blp-hero__art-card {
  position: absolute; width: 29%; background: #FFFFFF; border-radius: 20px; padding: 14px;
  box-shadow: 0 20px 45px rgba(58,55,51,0.14); display: flex; flex-direction: column; gap: 8px;
}
.blp-hero__art-card--a { left: 0; top: 57.7%; }
.blp-hero__art-card--b { right: 0; top: 13.5%; }
.blp-root .blp-hero__art-card img { width: 100%; height: 120px; object-fit: contain; border-radius: 0; }
.blp-root .blp-hero__art-card--photo img { object-fit: cover; border-radius: 12px; }
.blp-hero__art-card-title { font-size: 13px; font-weight: 700; color: #3D3A36; }
.blp-hero__art-card-sub { font-size: 12px; color: #8A8681; }
.blp-hero__art-chip {
  position: absolute; right: 6.6%; bottom: 4.6%; background: #33390F; color: #FFFFFF; border-radius: 200px;
  padding: 12px 20px; font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 10px;
  box-shadow: 0 12px 30px rgba(51,57,15,0.25);
}

/* ---------- PROOF STRIP ---------- */
.blp-proof {
  border-top: 1px solid #EFEDE8; padding: 28px 0; display: flex; align-items: center;
  justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.blp-proof--boxed { border-bottom: 1px solid #EFEDE8; }
.blp-proof__label { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #8A8681; white-space: nowrap; }
.blp-proof__items { display: flex; align-items: center; gap: 56px; flex-grow: 1; justify-content: center; flex-wrap: wrap; }
.blp-root .blp-proof__logo { height: 44px; width: auto; }
.blp-proof__brand { font-weight: 800; font-size: 18px; color: #3D3A36; display: flex; align-items: center; gap: 8px; }
.blp-proof__brand-dot { width: 26px; height: 26px; border-radius: 50%; background: #8FB03A; display: inline-block; }
.blp-proof__stat { font-size: 15px; color: #6B6762; }
.blp-proof__stat strong { color: #3D3A36; font-size: 18px; font-weight: 800; }

/* ---------- ILE ZAROBISZ ---------- */
.blp-earn__head { text-align: center; max-width: 720px; margin: 0 auto 40px auto; display: flex; flex-direction: column; gap: 14px; align-items: center; }
.blp-earn__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.blp-earn__card {
  background: #FFFFFF; border-radius: 20px; box-shadow: 0 20px 45px rgba(58,55,51,0.10);
  padding: 28px; display: flex; flex-direction: column; gap: 18px;
}
.blp-earn__card--highlight { border: 2px solid #BFD15D; }
.blp-root .blp-earn__card-img { width: 100%; height: 200px; object-fit: contain; }
.blp-earn__card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.blp-earn__card-title { font-size: 20px; font-weight: 800; color: #3D3A36; }
.blp-earn__card-badge { font-size: 12px; font-weight: 700; color: #33390F; background: #BFD15D; padding: 4px 10px; border-radius: 200px; white-space: nowrap; }
.blp-earn__rows { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.blp-earn__row { display: flex; justify-content: space-between; gap: 12px; }
.blp-earn__row span { color: #8A8681; }
.blp-earn__row--total { border-top: 1px dashed #E6E3DC; padding-top: 10px; }
.blp-earn__row--total span { color: #3D3A36; font-weight: 700; }
.blp-earn__margin { color: #33390F; background: #E8EFC6; padding: 2px 10px; border-radius: 200px; }
.blp-earn__collage { position: relative; height: 200px; }
.blp-earn__collage-circle { position: absolute; left: 50%; top: 50%; width: 90%; height: 90%; margin: -45% 0 0 -45%; border-radius: 50%; background: #F5F3EC; }
.blp-root .blp-earn__collage img { position: absolute; object-fit: contain; }
/* Zestaw startowy: jedno gotowe zdjecie (Kie, #5806) zamiast kolazu 5 miniaturek CSS-em (uwaga Kamila
   08.09 - kolaz CSS wygladal brzydko). Nadpisuje position:absolute z reguly ogolnej wyzej. */
.blp-root .blp-earn__collage--photo img.blp-earn__card-img { position: relative; width: 100%; height: 200px; object-fit: contain; z-index: 1; }
.blp-earn__note { font-size: 13px; color: #8A8681; text-align: center; margin-top: 40px; }

/* ---------- DLA KOGO ---------- */
.blp-forwhom__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 40px; flex-wrap: wrap; }
.blp-forwhom__head .blp-h2-wrap { max-width: 640px; }
.blp-forwhom__head p { font-size: 16px; line-height: 1.55; color: #6B6762; max-width: 420px; }
.blp-forwhom__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.blp-forwhom__card { background: #FFFFFF; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 45px rgba(58,55,51,0.08); display: flex; flex-direction: column; }
.blp-forwhom__card--highlight { outline: 2px solid #BFD15D; }
.blp-root .blp-forwhom__card img { width: 100%; height: 200px; object-fit: cover; }
.blp-root .blp-forwhom__card--contain img { object-fit: contain; background: #FFFFFF; padding: 12px; }
.blp-forwhom__card-body { padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.blp-forwhom__card-title { font-size: 18px; font-weight: 800; color: #3D3A36; }
.blp-forwhom__card-body p { font-size: 14px; line-height: 1.5; color: #6B6762; }

/* ---------- JAK ZACZAC + WARUNKI ---------- */
.blp-start { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: 64px; align-items: start; }
.blp-start__head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
.blp-start__steps { display: flex; flex-direction: column; gap: 20px; }
.blp-start__step { display: flex; gap: 20px; align-items: flex-start; }
.blp-start__step-badge {
  width: 44px; height: 44px; border-radius: 50%; background: #BFD15D; color: #33390F; font-weight: 800;
  font-size: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.blp-start__step-title { font-size: 18px; font-weight: 800; color: #3D3A36; margin-bottom: 4px; }
.blp-start__step p { font-size: 15px; line-height: 1.5; color: #6B6762; }
.blp-start__terms { background: #F7F5F0; border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.blp-start__terms-title { font-size: 18px; font-weight: 800; color: #3D3A36; }
.blp-start__terms-list { display: flex; flex-direction: column; gap: 14px; font-size: 15px; line-height: 1.5; }
.blp-start__terms-row { display: flex; gap: 12px; }
.blp-start__terms-row svg { flex-shrink: 0; margin-top: 2px; }

/* ---------- CO DOSTAJESZ ---------- */
.blp-getwhat { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 64px; align-items: center; }
.blp-getwhat__art { position: relative; width: 100%; aspect-ratio: 560/420; max-width: 560px; margin: 0 auto; }
.blp-getwhat__circle { position: absolute; left: 7.1%; top: 2.4%; width: 71.4%; height: 95.2%; border-radius: 50%; background: #FFFFFF; }
.blp-root .blp-getwhat__img { position: absolute; left: 10.7%; top: 7.1%; width: 64.3%; height: 85.7%; object-fit: contain; filter: drop-shadow(0 24px 34px rgba(58,55,51,0.16)); }
.blp-getwhat__badge {
  position: absolute; right: 5.4%; bottom: 7.1%; background: #FFFFFF; border-radius: 16px; padding: 12px 16px;
  box-shadow: 0 16px 36px rgba(58,55,51,0.14); font-size: 13px; font-weight: 700; color: #3D3A36; max-width: 60%;
}
.blp-getwhat__copy { display: flex; flex-direction: column; gap: 24px; }
.blp-getwhat__list { display: flex; flex-direction: column; gap: 16px; font-size: 16px; line-height: 1.55; color: #6B6762; }
.blp-getwhat__item { display: flex; gap: 14px; }
.blp-getwhat__item-dot { width: 10px; height: 10px; border-radius: 50%; background: #BFD15D; margin-top: 8px; flex-shrink: 0; }
.blp-getwhat__item strong { color: #3D3A36; }

/* ---------- FAQ ---------- */
.blp-faq { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,8fr); gap: 64px; }
.blp-faq__head { display: flex; flex-direction: column; gap: 14px; }
.blp-faq__list { display: flex; flex-direction: column; gap: 12px; }
.blp-faq__item { border: 1px solid #E6E3DC; border-radius: 16px; padding: 20px 24px; display: flex; flex-direction: column; gap: 8px; }
.blp-faq__q { font-size: 17px; font-weight: 800; color: #3D3A36; }
.blp-faq__a { font-size: 15px; line-height: 1.5; color: #6B6762; }
.blp-faq__a a { text-decoration: underline; color: #33390F; font-weight: 700; }

/* ---------- CTA BAND ---------- */
.blp-ctaband {
  background: #BFD15D; border-radius: 24px; padding: 48px 56px; display: flex; align-items: center;
  justify-content: space-between; gap: 40px; flex-wrap: wrap;
}
.blp-ctaband__title { font-size: 30px; line-height: 1.2; font-weight: 800; color: #33390F; }
.blp-ctaband__desc { font-size: 16px; line-height: 1.5; color: #4A5219; margin-top: 8px; }
.blp-ctaband__copy { max-width: 720px; }
.blp-ctaband__ctas { display: flex; gap: 12px; flex-shrink: 0; }

/* ---------- PREZENTY: 3 POWODY ---------- */
.blp-reasons { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px; }
.blp-reasons__item { display: flex; gap: 16px; align-items: flex-start; }
.blp-reasons__icon { width: 48px; height: 48px; border-radius: 50%; background: #E8EFC6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.blp-reasons__title { font-size: 18px; font-weight: 800; color: #3D3A36; margin-bottom: 6px; }
.blp-reasons__item p { font-size: 15px; line-height: 1.5; color: #6B6762; }

/* ---------- PREZENTY: PERSONALIZACJA + GALERIA ---------- */
.blp-personalize__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 40px; flex-wrap: wrap; }
.blp-personalize__tags { display: flex; gap: 10px; flex-wrap: wrap; max-width: 520px; justify-content: flex-end; }
.blp-personalize__tag { background: #FFFFFF; border: 1px solid #E6E3DC; border-radius: 200px; padding: 10px 16px; font-size: 14px; font-weight: 700; color: #3D3A36; }
.blp-gallery { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 16px; }
.blp-root .blp-gallery img { width: 100%; height: 190px; object-fit: cover; border-radius: 16px; }
.blp-root .blp-gallery img.blp-gallery--onwhite { background: #FFFFFF; }

/* ---------- PREZENTY: REALIZACJE ---------- */
.blp-cases__head { text-align: center; display: flex; flex-direction: column; gap: 14px; align-items: center; margin-bottom: 40px; }
.blp-cases__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.blp-cases__card { background: #FFFFFF; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 45px rgba(58,55,51,0.08); display: flex; flex-direction: column; }
.blp-cases__media { height: 180px; }
.blp-root .blp-cases__media img { width: 100%; height: 180px; object-fit: cover; }
.blp-cases__media--logo { background: #F5F3EC; display: flex; align-items: center; justify-content: center; }
.blp-root .blp-cases__media--logo img { width: auto; height: 64px; object-fit: contain; }
.blp-cases__body { padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.blp-cases__title { font-size: 17px; font-weight: 800; color: #3D3A36; }
.blp-cases__body p { font-size: 14px; line-height: 1.5; color: #6B6762; }

/* ---------- PREZENTY: PROCES ---------- */
.blp-process__head { text-align: center; display: flex; flex-direction: column; gap: 14px; align-items: center; margin-bottom: 40px; }
.blp-process__grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 20px; margin-bottom: 40px; }
.blp-process__step { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.blp-process__badge { width: 44px; height: 44px; border-radius: 50%; background: #BFD15D; color: #33390F; font-weight: 800; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.blp-process__step-title { font-size: 16px; font-weight: 800; color: #3D3A36; }
.blp-process__step p { font-size: 14px; line-height: 1.5; color: #6B6762; }
.blp-process__cta { display: flex; justify-content: center; }

/* ---------- PREZENTY: FORMULARZ ---------- */
.blp-quote { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 64px; align-items: start; }
.blp-quote__copy { display: flex; flex-direction: column; gap: 20px; }
.blp-quote__copy p { font-size: 16px; line-height: 1.55; color: #6B6762; }
.blp-quote__contact { display: flex; flex-direction: column; gap: 8px; font-size: 15px; color: #3D3A36; padding-top: 8px; }
.blp-quote__contact-label { font-weight: 700; }
.blp-quote__card { background: #FFFFFF; border-radius: 20px; box-shadow: 0 20px 45px rgba(58,55,51,0.10); padding: 36px; }

/* ==========================================================================
   O NAS (A-045) — zrodlo: materialy/design/canvas/ONas.dc.html
   Nowe komponenty specyficzne dla strony "O nas": historia, os czasu, produkt (kolo+chipy),
   wyroznienia (karty), zaplecze. Elementy wspoldzielone z zacznij/prezenty (hero, proof, btn,
   ctaband, start__terms) reuzyte bez zmian, patrz shortcode [bomby_lp_onas] w bomby-lp.php.
   ========================================================================== */

/* Hero "O nas": ten sam canvas 608x520 co Main.dc.html, ale inna kompozycja (zdjecie realne
   cover zamiast packshotu contain, inne pozycje karty B i chipa) - nadpisania o specyficznosci
   3 klas (.blp-root .blp-hero--onas .selektor), zeby zagwarantowac wygrana z baza .blp-root
   .blp-hero__art-main (0,2,0) niezaleznie od kolejnosci w pliku (lekcja A-044: specyficznosc CSS). */
.blp-root .blp-hero--onas .blp-hero__art-main { left: 19.7%; top: 9.6%; width: 65.8%; height: 76.9%; }
.blp-root .blp-hero--onas .blp-hero__art-card--b { top: 11.5%; }
.blp-root .blp-hero--onas .blp-hero__art-chip { right: 9.9%; bottom: 5%; }

/* ---------- NASZA HISTORIA ---------- */
.blp-history { display: grid; grid-template-columns: minmax(0,6fr) minmax(0,6fr); gap: 64px; align-items: center; }
.blp-history__copy { display: flex; flex-direction: column; gap: 24px; }
.blp-history__text { display: flex; flex-direction: column; gap: 16px; font-size: 17px; line-height: 1.6; color: #6B6762; }
.blp-history__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.blp-history__tile { background: #FFFFFF; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 45px rgba(58,55,51,0.08); }
.blp-root .blp-history__tile img { width: 100%; height: 200px; object-fit: cover; display: block; }
.blp-history__tile-foot { padding: 14px 18px; display: flex; align-items: center; gap: 10px; }
.blp-history__tile-badge { width: 26px; height: 26px; border-radius: 50%; background: #BFD15D; color: #33390F; font-weight: 800; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.blp-history__tile-title { font-size: 15px; font-weight: 800; color: #3D3A36; }

/* ---------- OS CZASU ---------- */
.blp-timeline { position: relative; padding: 56px 0; border-bottom: 1px solid #EFEDE8; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 32px; }
.blp-timeline__line { position: absolute; left: 0; right: 0; top: 102px; height: 2px; background: #E6E3DC; }
.blp-timeline__item { display: flex; flex-direction: column; gap: 12px; position: relative; }
.blp-timeline__year { font-size: 28px; font-weight: 800; color: #3D3A36; line-height: 1; }
.blp-timeline__dot { width: 14px; height: 14px; border-radius: 50%; background: #BFD15D; border: 3px solid #FFFFFF; box-shadow: 0 0 0 2px #BFD15D; display: block; }
.blp-timeline__title { font-size: 15px; font-weight: 800; color: #3D3A36; }
.blp-timeline__desc { font-size: 14px; line-height: 1.5; color: #6B6762; }

/* ---------- CZYM JEST BOMBA (produkt) ---------- */
.blp-product { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 64px; align-items: center; }
.blp-product__art { position: relative; width: 100%; aspect-ratio: 480/440; max-width: 480px; margin: 0 auto; }
.blp-product__circle { position: absolute; left: 8.3%; top: 4.5%; width: 83.3%; height: 90.9%; border-radius: 50%; background: #F5F3EC; }
.blp-root .blp-product__img { position: absolute; left: 16.7%; top: 9.1%; width: 75%; height: 81.8%; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 50px rgba(58,55,51,0.18); }
.blp-product__note { position: absolute; background: #FFFFFF; border-radius: 16px; padding: 12px 16px; box-shadow: 0 16px 36px rgba(58,55,51,0.14); font-size: 13px; font-weight: 700; color: #3D3A36; white-space: nowrap; }
.blp-product__note--a { left: 0; bottom: 4.5%; }
.blp-product__note--b { right: 4.2%; top: 4.5%; }
.blp-product__copy { display: flex; flex-direction: column; gap: 24px; }
.blp-product__copy > p { font-size: 17px; line-height: 1.6; color: #6B6762; }
.blp-product__list { display: flex; flex-direction: column; gap: 16px; font-size: 16px; line-height: 1.55; color: #6B6762; }
.blp-product__item { display: flex; gap: 14px; }
.blp-product__item-dot { width: 10px; height: 10px; border-radius: 50%; background: #BFD15D; margin-top: 8px; flex-shrink: 0; }
.blp-product__item strong { color: #3D3A36; }
.blp-product__ebook { display: flex; align-items: center; gap: 14px; background: #F7F5F0; border-radius: 16px; padding: 16px 20px; font-size: 14px; line-height: 1.5; color: #6B6762; }
.blp-product__ebook svg { flex-shrink: 0; }

/* ---------- CO NAS WYROZNIA ---------- */
.blp-features__head { text-align: center; display: flex; flex-direction: column; gap: 14px; align-items: center; margin-bottom: 40px; }
.blp-features__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.blp-features__card { background: #FFFFFF; border-radius: 20px; padding: 28px; box-shadow: 0 20px 45px rgba(58,55,51,0.08); display: flex; flex-direction: column; gap: 14px; }
.blp-features__icon { width: 48px; height: 48px; border-radius: 50%; background: #E8EFC6; display: flex; align-items: center; justify-content: center; }
.blp-features__title { font-size: 18px; font-weight: 800; color: #3D3A36; }
.blp-features__card p { font-size: 15px; line-height: 1.5; color: #6B6762; }

/* ---------- ZAPLECZE ---------- */
.blp-backstage { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: 64px; align-items: center; }
.blp-backstage__copy { display: flex; flex-direction: column; gap: 24px; }
.blp-backstage__text { display: flex; flex-direction: column; gap: 16px; font-size: 17px; line-height: 1.6; color: #6B6762; }
.blp-backstage__stats { display: flex; gap: 28px; align-items: center; font-size: 14px; color: #8A8681; flex-wrap: wrap; }
.blp-backstage__stats strong { color: #3D3A36; font-size: 22px; font-weight: 800; display: block; }
.blp-backstage__card-head { display: flex; align-items: center; gap: 12px; }
.blp-backstage__card-dot { width: 44px; height: 44px; border-radius: 50%; background: #8FB03A; display: inline-block; flex-shrink: 0; }
.blp-backstage__card-title { font-size: 20px; font-weight: 800; color: #3D3A36; }
.blp-backstage__card-sub { font-size: 13px; color: #8A8681; }

/* ==========================================================================
   RESPONSYWNOSC: 1024 / 768 / 480(-390)
   ========================================================================== */
@media (max-width: 1024px) {
  .blp-container { padding: 0 40px; }
  .blp-section { padding: 64px 0; }
  .blp-section--sm { padding: 40px 0; }

  .blp-hero { grid-template-columns: 1fr; gap: 40px; padding: 40px 0; }
  .blp-hero__copy { max-width: none; }
  .blp-hero__art { max-width: 420px; }

  .blp-earn__grid,
  .blp-forwhom__grid,
  .blp-reasons,
  .blp-cases__grid,
  .blp-process__grid,
  .blp-features__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

  .blp-start,
  .blp-getwhat,
  .blp-faq,
  .blp-quote,
  .blp-history,
  .blp-product,
  .blp-backstage { grid-template-columns: 1fr; gap: 40px; }
  .blp-start__terms { margin-top: 8px; }

  .blp-getwhat__art,
  .blp-product__art { max-width: 420px; }

  .blp-gallery { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 768px) {
  .blp-h2 { font-size: 32px; }
  .blp-hero__title { font-size: 38px; }
  .blp-hero__desc { font-size: 17px; }

  .blp-earn__grid,
  .blp-forwhom__grid,
  .blp-reasons,
  .blp-cases__grid,
  .blp-process__grid,
  .blp-features__grid { grid-template-columns: 1fr; }

  .blp-forwhom__head,
  .blp-personalize__head { flex-direction: column; align-items: flex-start; }
  .blp-personalize__tags { justify-content: flex-start; }

  .blp-proof { flex-direction: column; align-items: flex-start; gap: 16px; }
  .blp-proof__items { justify-content: flex-start; gap: 28px; }

  .blp-ctaband { flex-direction: column; align-items: flex-start; padding: 32px; }
  .blp-ctaband .blp-btn { width: 100%; }
  .blp-ctaband__ctas { flex-direction: column; width: 100%; }

  .blp-quote__card { padding: 24px; }

  /* Os czasu pionowo, linia po lewej (wymog #4 zadania A-045) */
  .blp-timeline { grid-template-columns: 1fr; gap: 28px; }
  .blp-timeline__line { left: 6px; right: auto; top: 0; bottom: 0; height: auto; width: 2px; }
  .blp-timeline__item { padding-left: 26px; }
  .blp-timeline__dot { position: absolute; left: 0; top: 3px; }
}

@media (max-width: 480px) {
  .blp-container { padding: 0 20px; }
  .blp-section { padding: 48px 0; }
  .blp-section--sm { padding: 32px 0; }

  .blp-hero__title { font-size: 32px; }
  .blp-hero__ctas { flex-direction: column; align-items: stretch; }
  .blp-hero__ctas .blp-btn { width: 100%; }
  .blp-hero__stats { gap: 16px; }

  /* Kompozycja hero na mobile: kula 260px w rogu + jedna mini-karta, reszta ukryta */
  .blp-hero__art { max-width: 260px; aspect-ratio: 1 / 1; margin-bottom: 44px; }
  .blp-hero__art-dots { display: none; }
  .blp-hero__art-card--b { display: none; }
  .blp-hero__art-chip { display: none; }
  .blp-hero__art-card--a {
    left: auto; right: -16px; top: auto; bottom: -40px; transform: none; width: 46%; padding: 10px;
  }
  .blp-hero__art-card--a img { height: 64px; }
  .blp-hero__art-card--a .blp-hero__art-card-title { font-size: 12px; }
  .blp-hero__art-card--a .blp-hero__art-card-sub { font-size: 12px; }

  .blp-earn__collage { transform: scale(0.85); transform-origin: center; }

  .blp-getwhat__badge { display: none; }
  .blp-getwhat__art { max-width: 220px; }

  .blp-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }

  .blp-cases__grid { grid-template-columns: 1fr; }

  .blp-ctaband__title { font-size: 24px; }

  .blp-earn__card { padding: 20px; }
}
