/* ===========================================
   Ogrzewanie nadmuchowe (Dla biznesu) — style page-specific.
   Komponenty współdzielone podstron (hero, eyebrow, section-head, proc-timeline,
   faq, cta-benefits, breadcrumbs) są w subpages.css; design system + formularze
   w santier.css. Komponenty sekcji powtarzalnych (offer/fin/why) skopiowane 1:1
   z fotowoltaika.css (który tu się nie ładuje). Nowe: obj-grid, destrat, cmp.
   Tokeny: --navy, --navy-deep, --accent, --gray-*, --white, --gold (z fallbackami).
   =========================================== */

/* --- 3. Co oferujemy — 4 systemy (siatka kart, ciemniejsze tło section-alt) --- */
.offer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.offer-card { background: var(--white, #fff); border: 1px solid var(--gray-200, #e6e9ef); padding: 32px 28px; display: flex; flex-direction: column; gap: 14px; transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease; }
.offer-card:hover { border-color: var(--gray-300, #d4d9e2); box-shadow: 0 16px 36px -24px rgba(10, 31, 56, 0.4); transform: translateY(-3px); }
.offer-icon { width: 48px; height: 48px; border-radius: 10px; background: var(--navy-deep, #0a1f38); display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.offer-icon svg { width: 24px; height: 24px; }
.offer-card h3 { font-size: 18px; font-weight: 700; color: var(--navy-deep, #0a1f38); letter-spacing: -0.2px; }
.offer-card p { font-size: 14.5px; line-height: 1.6; color: var(--gray-700, #3A4252); }

/* --- 9. Finansowanie dla firm (granat + kontrolowany akcent) --- */
.fin-section { background: var(--navy-deep, #0a1f38); }
.fin-panel { color: #fff; }
.fin-head { max-width: 720px; margin: 0 auto 36px; text-align: center; }
.fin-head .eyebrow { justify-content: center; }
.fin-head .eyebrow span { color: #fff; }
.fin-head h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.12; letter-spacing: -0.6px; margin: 14px 0 14px; }
.fin-head p { font-size: 16px; line-height: 1.65; color: rgba(255, 255, 255, 0.82); margin: 0; }
.fin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fin-card { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 0; padding: 22px; }
.fin-card h3 { margin: 0 0 8px; font-size: 17px; color: #fff; }
.fin-card p { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, 0.78); }

/* --- 7. Dlaczego Santier (zdjęcie + lista powodów) --- */
.why-split { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 56px; align-items: stretch; }
.why-reasons { display: flex; flex-direction: column; }
.why-reason { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--gray-200, #e6e9ef); }
.why-reason:first-child { padding-top: 0; }
.why-reason:last-child { border-bottom: 0; padding-bottom: 0; }
.why-reason .ic { width: 50px; height: 50px; border-radius: 12px; background: var(--navy-deep, #0a1f38); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.why-reason .ic svg { width: 24px; height: 24px; }
.why-reason h3 { font-size: 17px; font-weight: 700; color: var(--navy-deep, #0a1f38); margin-bottom: 5px; letter-spacing: -0.2px; }
.why-reason p { font-size: 14px; line-height: 1.58; color: var(--gray-700, #3A4252); }
.why-media { position: relative; overflow: hidden; min-height: 400px; border-radius: 0; }
.why-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.why-rating { display: inline-flex; align-items: center; gap: 14px; align-self: flex-start; margin-top: 32px; background: var(--white, #fff); border: 1px solid var(--gray-200, #e6e9ef); border-radius: 10px; padding: 14px 20px; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.why-rating:hover { border-color: var(--gray-300, #d4d9e2); box-shadow: 0 14px 34px -22px rgba(10, 31, 56, 0.4); }
.why-rating .wr-num { font-size: 30px; font-weight: 700; color: var(--navy-deep, #0a1f38); line-height: 1; letter-spacing: -1px; }
.why-rating .wr-meta { display: flex; flex-direction: column; gap: 4px; }
.why-rating .wr-meta .stars { color: var(--gold, #f5a623); font-size: 14px; letter-spacing: 1.5px; line-height: 1; }
.why-rating .wr-sub { font-size: 13px; color: var(--gray-700, #3A4252); }

/* --- FAQ: odstęp pod intro (po akapicie jest przycisk „Masz inne pytanie?") --- */
.faq-intro p { margin-bottom: 24px; }


/* ---- 2. Typy obiektów ---- */
.obj-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.obj-card { background: var(--white, #fff); border: 1px solid var(--gray-200, #e6e9ef); padding: 28px 24px; }
.obj-icon { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 999px; background: rgba(232, 78, 27, 0.10); color: var(--accent, #E84E1B); margin-bottom: 16px; }
.obj-icon svg { width: 26px; height: 26px; }
.obj-card h3 { font-size: 17px; font-weight: 700; color: var(--navy-deep, #0a1f38); margin: 0 0 8px; letter-spacing: -0.2px; }
.obj-card p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--gray-700, #3A4252); }

/* ---- 4. Schemat destratyfikacji ---- */
.destrat { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 8px; }
.destrat-panel { margin: 0; background: var(--white, #fff); border: 1px solid var(--gray-200, #e6e9ef); padding: 20px; }
.destrat-svg { width: 100%; height: auto; display: block; }
.destrat-panel figcaption { margin-top: 14px; }
.destrat-panel figcaption strong { display: block; font-size: 16px; color: var(--navy-deep, #0a1f38); }
.destrat-panel figcaption span { display: block; margin-top: 4px; font-size: 13.5px; color: var(--gray-700, #3A4252); line-height: 1.5; }
.destrat-bad { border-top: 4px solid #e84e1b; }
.destrat-good { border-top: 4px solid #1f8a4c; }
.destrat-temp { font-family: inherit; font-weight: 800; font-size: 22px; fill: #0f2747; }
.destrat-hot { fill: #c93d12; }
.destrat-cold { fill: #2f6fb0; }
.destrat-even { fill: #1f8a4c; }
.destrat-note { margin: 22px auto 0; max-width: 760px; text-align: center; font-size: 14.5px; color: var(--gray-700, #3A4252); }

/* ---- 5. Porównywarka systemów ---- */
.cmp-table { width: 100%; border-collapse: collapse; background: var(--white, #fff); border: 1px solid var(--gray-200, #e6e9ef); }
.cmp-table th, .cmp-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--gray-200, #e6e9ef); font-size: 14.5px; line-height: 1.5; vertical-align: top; }
.cmp-table thead th { background: var(--navy-deep, #0a1f38); color: #fff; font-weight: 700; border-bottom: none; }
.cmp-table tbody th { font-weight: 700; color: var(--navy-deep, #0a1f38); width: 22%; }
.cmp-table tbody td { color: var(--gray-700, #3A4252); }
.cmp-table tbody tr:last-child th, .cmp-table tbody tr:last-child td { border-bottom: none; }
.cmp-hint { margin-top: 16px; font-size: 14px; color: var(--gray-700, #3A4252); }

/* ---- 8. Realizacje (pasek kart .real-card z realizacje.css) ---- */
.ogrz-real-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.ogrz-real-grid .real-card { margin: 0; }
.ogrz-real-cta { margin-top: 28px; text-align: center; }
@media (max-width: 860px) { .ogrz-real-grid { grid-template-columns: 1fr; } }

/* --- Responsywność (sekcje powtarzalne) --- */
@media (max-width: 1024px) {
  .offer-grid { grid-template-columns: 1fr 1fr; }
  .why-split { grid-template-columns: 1fr; gap: 36px; }
  .why-media { max-width: 460px; min-height: 280px; order: -1; }
  .fin-grid { grid-template-columns: 1fr; }
  .obj-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .destrat { grid-template-columns: 1fr; }
  .cmp-table thead { display: none; }
  .cmp-table, .cmp-table tbody, .cmp-table tr, .cmp-table th, .cmp-table td { display: block; width: auto; }
  .cmp-table tr { border: 1px solid var(--gray-200, #e6e9ef); margin-bottom: 14px; }
  .cmp-table td, .cmp-table tbody th { border-bottom: 1px solid var(--gray-200, #e6e9ef); }
  .cmp-table td::before { content: attr(data-label) " — "; font-weight: 700; color: var(--navy-deep, #0a1f38); }
  .cmp-table tbody th { background: rgba(15, 39, 71, 0.04); }
}
@media (max-width: 640px) {
  .offer-grid { grid-template-columns: 1fr; }
  .obj-grid { grid-template-columns: 1fr; }
}
