/* ===== SOLUTIONS SUB-PAGES STYLES =====
   Class prefix .sol-* for clean migration to Astro components.
   Inherits from main style.css (page bg, fonts, colors, base components). */

/* Breadcrumbs */
.sol-breadcrumbs{
  padding-top:32px;padding-bottom:8px;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--text-muted);
  letter-spacing:.12em;
}
.sol-breadcrumbs a{
  color:var(--text-dim);
  text-decoration:none;
  transition:color .2s;
}
.sol-breadcrumbs a:hover{ color:var(--green); }
.sol-breadcrumbs span{ margin:0 8px; }
.sol-breadcrumbs span[aria-current="page"]{ color:var(--text); margin:0; }

/* Hero */
.sol-hero{
  padding:64px 0 80px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.sol-hero h1{
  font-family:var(--font-display);
  font-size:clamp(34px,4.6vw,56px);
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:600;
  margin-bottom:24px;
  max-width:920px;
}
.sol-hero-lead{
  font-size:18px;
  color:var(--text-dim);
  max-width:760px;
  margin-bottom:36px;
  line-height:1.55;
}
.sol-hero-cta{
  display:flex;gap:14px;flex-wrap:wrap;
}

/* Common section spacing inside sub-pages */
.sol-for-who, .sol-scope, .sol-custom, .sol-types, .sol-process, .sol-related, .sol-faq, .sol-cta{
  padding:80px 0;
  border-bottom:1px solid var(--line);
}

/* For who — grid of audience cards */
.sol-for-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.sol-for-card{
  padding:28px;
  background:var(--bg-1);
  display:flex;flex-direction:column;gap:8px;
  transition:background .25s;
}
.sol-for-card:hover{ background:var(--bg-2); }
.sol-for-num{
  font-family:var(--font-mono);font-size:10px;
  color:var(--green);letter-spacing:.18em;
  margin-bottom:6px;
}
.sol-for-card h3{
  font-family:var(--font-display);
  font-size:16px;font-weight:600;
  color:var(--text);
  margin-bottom:4px;
}
.sol-for-card p{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.55;
}

/* Scope — list of deliverables */
.sol-scope-list{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.sol-scope-item{
  padding:22px 24px;
  background:var(--bg-1);
  display:flex;flex-direction:column;gap:6px;
  border-left:2px solid transparent;
  transition:border-color .25s;
}
.sol-scope-item:hover{ border-left-color:var(--green); }
.sol-scope-item strong{
  font-family:var(--font-display);
  font-size:14px;font-weight:600;
  color:var(--green-bright);
  letter-spacing:.02em;
}
.sol-scope-item span{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.55;
}

/* Custom projects — 2-column grid: text + bullet points */
.sol-custom-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;align-items:start;
}
.sol-custom-points{
  list-style:none;
  display:flex;flex-direction:column;gap:18px;
}
.sol-custom-points li{
  position:relative;
  padding-left:32px;
  font-size:14px;
  color:var(--text);
  line-height:1.6;
}
.sol-custom-points li::before{
  content:'';
  position:absolute;left:0;top:8px;
  width:18px;height:1px;
  background:var(--green);
}
.sol-custom-points li::after{
  content:'';
  position:absolute;left:14px;top:5px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--green-bright);
  box-shadow:0 0 6px var(--green);
}

/* Types — card grid */
.sol-types-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:18px;
}
.sol-type-card{
  padding:28px;
  background:var(--bg-1);
  border:1px solid var(--line);
  border-radius:8px;
  transition:all .25s;
}
.sol-type-card:hover{
  border-color:var(--green);
  background:var(--bg-2);
  transform:translateY(-2px);
}
.sol-type-card h3{
  font-family:var(--font-display);
  font-size:17px;font-weight:600;
  color:var(--text);
  margin-bottom:10px;
}
.sol-type-card p{
  font-size:14px;
  color:var(--text-dim);
  line-height:1.6;
}

/* Process — 5-step horizontal flow */
.sol-process-flow{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.sol-process-step{
  padding:28px 22px;
  background:var(--bg-1);
  display:flex;flex-direction:column;gap:8px;
}
.sol-process-num{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--green);
  letter-spacing:.18em;
}
.sol-process-step h3{
  font-family:var(--font-display);
  font-size:16px;font-weight:600;
  color:var(--text);
}
.sol-process-step p{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.55;
}

/* Related tech — clean list */
.sol-related-list{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.sol-related-list li{
  padding:18px 24px;
  background:var(--bg-1);
  font-size:14px;
  color:var(--text);
  border-left:2px solid var(--green);
}
.sol-related-note{
  margin-top:24px;
  padding:18px 22px;
  background:rgba(91,185,72,.06);
  border-left:3px solid var(--green);
  font-size:13px;
  color:var(--text-dim);
  line-height:1.6;
  font-style:italic;
}

/* Norms — przepisy i rozwiązania techniczne */
.sol-norms{ background:rgba(91,185,72,.02); }
.sol-norms-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;
}
.sol-norms-item{
  padding:24px 26px;
  background:var(--bg-1);
  border-left:3px solid var(--green);
  border-top:1px solid var(--line);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  border-radius:0 6px 6px 0;
}
.sol-norms-item h3{
  font-family:var(--font-display);
  font-size:15px; font-weight:600;
  color:var(--text);
  margin-bottom:8px;
  letter-spacing:.01em;
}
.sol-norms-item p{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.6;
}
.sol-norms-note{
  margin-top:32px;
  padding:18px 24px;
  background:rgba(245,158,11,.05);
  border-left:3px solid var(--orange);
  font-size:13px;
  color:var(--text-dim);
  line-height:1.6;
  font-style:italic;
}

/* FAQ — accordion */
.sol-faq-list{
  display:flex;flex-direction:column;gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.sol-faq-item{
  background:var(--bg-1);
  transition:background .2s;
}
.sol-faq-item[open]{ background:var(--bg-2); }
.sol-faq-item summary{
  padding:22px 28px;
  font-family:var(--font-display);
  font-size:16px;font-weight:600;
  color:var(--text);
  cursor:pointer;
  list-style:none;
  position:relative;
  padding-right:60px;
  transition:color .2s;
}
.sol-faq-item summary::-webkit-details-marker{display:none}
.sol-faq-item summary:hover{ color:var(--green-bright); }
.sol-faq-item summary::after{
  content:'+';
  position:absolute;right:24px;top:50%;
  transform:translateY(-50%);
  font-size:24px;
  color:var(--green);
  font-weight:300;
  transition:transform .25s;
}
.sol-faq-item[open] summary::after{
  content:'−';
  transform:translateY(-50%) rotate(0deg);
}
.sol-faq-answer{
  padding:0 28px 24px;
  font-size:14px;
  color:var(--text-dim);
  line-height:1.7;
  max-width:880px;
}

/* CTA — closing block */
.sol-cta{ border-bottom:none; padding-bottom:120px; }
.sol-cta-card{
  padding:56px;
  background:linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 100%);
  border:1px solid var(--line-bright);
  border-radius:12px;
  text-align:center;
  position:relative;overflow:hidden;
}
.sol-cta-card::before{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse 600px 300px at 50% 100%, var(--green-glow) 0%, transparent 60%);
  pointer-events:none;
  z-index:0;
}
.sol-cta-card > *{ position:relative; z-index:1; }
.sol-cta-card h2{
  font-family:var(--font-display);
  font-size:clamp(28px,3.6vw,42px);
  line-height:1.15;
  letter-spacing:-.01em;
  font-weight:600;
  margin-bottom:18px;
}
.sol-cta-card p{
  font-size:17px;
  color:var(--text-dim);
  line-height:1.6;
  max-width:680px;
  margin:0 auto 32px;
}
.sol-cta-buttons{
  display:flex;
  justify-content:center;
  gap:14px;flex-wrap:wrap;
}
.btn-tertiary{
  background:transparent;
  color:var(--text-dim);
  border:1px solid var(--line-bright);
  padding:16px 24px;
  font-weight:500;font-size:14px;
  border-radius:6px;
  transition:all .2s;
}
.btn-tertiary:hover{
  border-color:var(--text-dim);
  color:var(--text);
}

/* RESPONSIVE — solutions sub-pages */
@media (max-width:1024px){
  .sol-process-flow{ grid-template-columns:repeat(2, 1fr); }
  .sol-custom-grid{ grid-template-columns:1fr; gap:32px; }
}
@media (max-width:768px){
  .sol-hero{ padding:40px 0 56px; }
  .sol-for-who, .sol-scope, .sol-custom, .sol-types, .sol-process, .sol-related, .sol-faq{
    padding:56px 0;
  }
  .sol-process-flow{ grid-template-columns:1fr; }
  .sol-cta-card{ padding:32px 24px; }
  .sol-faq-item summary{ padding:18px 22px; padding-right:48px; font-size:15px; }
  .sol-faq-answer{ padding:0 22px 20px; font-size:13px; }
}

/* ── Czytelność / typografia długich akapitów technicznych ────────────
   Zestaw klas pomocniczych dla podstron eksperckich z dużą ilością tekstu.
   Cel: oddech wizualny, line-height ~1.8, ograniczenie szerokości
   kolumny tekstowej do komfortowych ~820 px (zgodnie z best-practice
   ~70 znaków na linii).
   ──────────────────────────────────────────────────────────────────── */

.sol-readable{ max-width:820px; margin-left:auto; margin-right:auto }
.sol-readable p{ line-height:1.8; font-size:16px; margin-bottom:18px }
.sol-readable p:last-child{ margin-bottom:0 }
.sol-readable h3{ font-size:20px; font-weight:600; margin:32px 0 14px; color:var(--text) }
.sol-readable h3:first-child{ margin-top:0 }

.sol-section-spacious{ padding:96px 0 }
@media (max-width:768px){ .sol-section-spacious{ padding:64px 0 } }

/* Callout boxy — Najczęstsze problemy / Co zachowujemy / Co wymieniamy / Kiedy ma sens */
.sol-callout{
  margin:18px 0 0;
  padding:18px 22px;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-left:3px solid var(--green);
  border-radius:6px;
}
.sol-callout-warn{ border-left-color:var(--orange) }
.sol-callout-info{ border-left-color:var(--green-deep) }
.sol-callout-label{
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  color:var(--green-bright);margin-bottom:8px;display:block;
}
.sol-callout-warn .sol-callout-label{ color:var(--orange) }
.sol-callout p{ margin:0; line-height:1.7; font-size:14px; color:var(--text-dim) }
.sol-callout ul{ list-style:none; margin:0; padding:0 }
.sol-callout li{
  padding:6px 0; font-size:14px; color:var(--text-dim); line-height:1.55;
  position:relative; padding-left:18px;
}
.sol-callout li::before{
  content:"›"; position:absolute; left:0;
  color:var(--green-bright); font-weight:700;
}

/* Modern step cards — pięć etapów (numer w lewym górnym rogu) */
.sol-steps-modern{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:1fr; gap:18px;
  counter-reset:step;
}
.sol-step-modern{
  position:relative;
  padding:32px 32px 32px 100px;
  background:var(--bg-1);
  border:1px solid var(--line);
  border-radius:10px;
  counter-increment:step;
  transition:border-color .25s, transform .25s;
}
.sol-step-modern:hover{ border-color:var(--green-deep); transform:translateY(-2px) }
.sol-step-modern::before{
  content:counter(step,decimal-leading-zero);
  position:absolute; top:28px; left:28px;
  font-family:var(--font-display); font-size:42px; font-weight:600;
  line-height:1; color:var(--green-bright); letter-spacing:-0.02em;
}
.sol-step-modern h3{
  font-size:18px; font-weight:600; margin:0 0 8px;
  color:var(--text); letter-spacing:-0.005em;
}
.sol-step-lead{
  font-size:15px; font-weight:500;
  color:var(--green-bright); margin:0 0 14px; line-height:1.55;
}
.sol-step-modern p{
  margin:0 0 12px; line-height:1.75; font-size:14.5px; color:var(--text-dim);
}
.sol-step-modern p:last-child{ margin-bottom:0 }
@media (max-width:768px){
  .sol-step-modern{ padding:24px 22px }
  .sol-step-modern::before{ position:static; display:block; margin-bottom:8px; font-size:32px }
}

/* Checklist-grid — listy elementów technicznych jako grid kafelkowy */
.sol-checklist-grid{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px;
}
.sol-checklist-grid li{
  padding:10px 14px 10px 36px;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:6px;
  font-size:13.5px; color:var(--text-dim); line-height:1.45;
  position:relative;
}
.sol-checklist-grid li::before{
  content:""; position:absolute; left:14px; top:50%;
  transform:translateY(-50%);
  width:14px; height:14px;
  border:1.5px solid var(--green); border-radius:3px;
  background:transparent;
}
.sol-checklist-grid li::after{
  content:""; position:absolute; left:18px; top:50%;
  transform:translateY(-65%) rotate(45deg);
  width:4px; height:8px;
  border:solid var(--green-bright); border-width:0 2px 2px 0;
}
.sol-checklist-grid li strong{ color:var(--text); font-weight:600 }

/* FAQ — większy oddech, bardziej premium (alternatywa do .sol-faq) */
.sol-faq-roomy .sol-faq-item{
  margin-bottom:14px;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  transition:border-color .2s;
}
.sol-faq-roomy .sol-faq-item:hover{ border-color:var(--line-bright) }
.sol-faq-roomy .sol-faq-item[open]{ border-color:var(--green-deep) }
.sol-faq-roomy .sol-faq-item summary{
  padding:24px 32px;
  font-size:17px;
  line-height:1.5;
}
.sol-faq-roomy .sol-faq-item p{
  padding:8px 32px 28px;
  margin:0;
  line-height:1.8;
  font-size:15px;
  color:var(--text-dim);
}
@media (max-width:768px){
  .sol-faq-roomy .sol-faq-item summary{ padding:20px 22px; font-size:15px }
  .sol-faq-roomy .sol-faq-item p{ padding:6px 22px 22px; font-size:14px }
}

/* ── Timeline (vertical, dla procesów wielokrokowych) ───────────────
   Numerowana lewa kolumna z linią pionową łączącą kropki kroków.
   Dla 5-7 kroków procesu: pomiar → projekt → produkcja → odbiór UDT.
   Mobile: numer w bloku, brak linii.
   ──────────────────────────────────────────────────────────────────── */

.sol-timeline{
  list-style:none; padding:0; margin:0;
  position:relative;
  counter-reset:tlstep;
  display:flex; flex-direction:column;
}
.sol-timeline::before{
  content:""; position:absolute; left:24px; top:14px; bottom:14px;
  width:2px; background:linear-gradient(180deg, var(--green) 0%, var(--line-bright) 100%);
  border-radius:1px;
}
.sol-timeline-item{
  position:relative;
  padding:0 0 28px 70px;
  counter-increment:tlstep;
}
.sol-timeline-item:last-child{ padding-bottom:0 }
.sol-timeline-item::before{
  content:counter(tlstep,decimal-leading-zero);
  position:absolute; left:0; top:0;
  width:48px; height:48px;
  background:var(--bg-1);
  border:2px solid var(--green-deep);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display);
  font-size:14px; font-weight:600;
  color:var(--green-bright);
  z-index:1;
  letter-spacing:-0.02em;
}
.sol-timeline-item h3{
  font-size:18px; font-weight:600; margin:0 0 6px;
  color:var(--text); line-height:1.4;
}
.sol-timeline-lead{
  font-size:14px; font-weight:500;
  color:var(--green-bright); margin:0 0 12px; line-height:1.55;
  font-style:italic;
}
.sol-timeline-item p{
  margin:0 0 10px; line-height:1.7; font-size:14.5px; color:var(--text-dim);
}
.sol-timeline-item p:last-child{ margin:0 }
@media (max-width:768px){
  .sol-timeline::before{ display:none }
  .sol-timeline-item{ padding:0 0 28px 0; border-left:2px solid var(--line); padding-left:18px }
  .sol-timeline-item::before{ position:static; margin-bottom:10px }
}

/* ── Tabela responsywna z fallbackiem do kart na mobile ──────────────
   Klasyczna tabela na desktop. Na mobile (≤768) zamienia się w stack
   kart, gdzie każdy wiersz to karta z labelami obok wartości.
   Wymaga: każdy <td> musi mieć data-label="Nazwa kolumny".
   ──────────────────────────────────────────────────────────────────── */

.sol-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--bg-1);
}
.sol-table{
  width:100%; border-collapse:collapse; font-size:14px;
}
.sol-table thead{
  background:var(--bg-2);
  border-bottom:1px solid var(--line-bright);
}
.sol-table th{
  padding:14px 16px; text-align:left;
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  color:var(--green-bright); letter-spacing:.12em; text-transform:uppercase;
}
.sol-table tbody tr{ border-bottom:1px solid var(--line) }
.sol-table tbody tr:last-child{ border-bottom:0 }
.sol-table td{
  padding:14px 16px; vertical-align:top; line-height:1.55;
  color:var(--text-dim);
}
.sol-table td:first-child{ color:var(--text); font-weight:600 }
.sol-table td strong{ color:var(--text); font-weight:600 }
.sol-table .num{ font-family:var(--font-mono); color:var(--green-bright) }
@media (max-width:768px){
  .sol-table-wrap{ overflow:visible; border:0; background:transparent }
  .sol-table, .sol-table thead, .sol-table tbody, .sol-table th,
  .sol-table td, .sol-table tr{ display:block }
  .sol-table thead{ display:none }
  .sol-table tbody tr{
    background:var(--bg-1); border:1px solid var(--line); border-radius:8px;
    margin-bottom:12px; padding:14px 16px;
  }
  .sol-table tbody td{
    padding:8px 0; border:0;
    display:flex; justify-content:space-between; gap:14px;
    align-items:flex-start;
  }
  .sol-table tbody td::before{
    content:attr(data-label);
    font-family:var(--font-mono); font-size:10px; font-weight:600;
    color:var(--green-bright); letter-spacing:.12em; text-transform:uppercase;
    flex-shrink:0; max-width:45%; padding-top:2px;
  }
  .sol-table tbody td:first-child{ color:var(--text); font-weight:700; font-size:16px; padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:8px }
  .sol-table tbody td:first-child::before{ display:none }
}

/* ── Karty wariantów (zamiast tabeli, dla 3-5 produktów) ─────────────
   Każdy wariant jako pełnowymiarowa karta z polami techniczne.
   Używane w stronach Doppler Focus LPH/LH/LW + scenariuszach.
   ──────────────────────────────────────────────────────────────────── */

.sol-variants{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px;
}
.sol-variant{
  background:var(--bg-1);
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px 26px;
  transition:border-color .25s, transform .25s;
}
.sol-variant:hover{ border-color:var(--green-deep); transform:translateY(-2px) }
.sol-variant-tag{
  font-family:var(--font-mono); font-size:10px; font-weight:600;
  color:var(--green-bright); letter-spacing:.18em; text-transform:uppercase;
  margin-bottom:8px; display:block;
}
.sol-variant h3{
  font-size:18px; font-weight:600; margin:0 0 14px;
  color:var(--text); letter-spacing:-.005em;
}
.sol-variant-specs{
  list-style:none; padding:0; margin:0 0 14px;
  display:grid; grid-template-columns:1fr; gap:8px;
}
.sol-variant-specs li{
  display:flex; justify-content:space-between; gap:10px;
  padding:8px 0; border-bottom:1px solid var(--line);
  font-size:13px;
}
.sol-variant-specs li:last-child{ border-bottom:0 }
.sol-variant-specs .label{
  color:var(--text-muted);
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
}
.sol-variant-specs .value{
  color:var(--green-bright); font-family:var(--font-mono); font-weight:500;
  text-align:right;
}
.sol-variant p{
  margin:0; font-size:13.5px; color:var(--text-dim); line-height:1.6;
  padding-top:12px; border-top:1px solid var(--line);
}

/* ── Partner block (DOPPLER, HAS, Vimec) ─────────────────────────────
   Wyróżniony blok partnera/dostawcy, z tag, h3, opisem, listą.
   Mocniejszy niż zwykła karta — identyfikuje strategicznych dostawców.
   ──────────────────────────────────────────────────────────────────── */

.sol-partner{
  background:linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 100%);
  border:1px solid var(--line-bright);
  border-left:4px solid var(--green);
  border-radius:10px;
  padding:32px 36px;
}
.sol-partner-tag{
  font-family:var(--font-mono); font-size:10px; font-weight:700;
  color:var(--green-bright); letter-spacing:.22em; text-transform:uppercase;
  margin-bottom:10px; display:block;
}
.sol-partner h3{
  font-size:24px; font-weight:600; margin:0 0 8px;
  color:var(--text); letter-spacing:-.015em;
}
.sol-partner-meta{
  font-size:13px; color:var(--text-muted);
  font-family:var(--font-mono); margin-bottom:18px;
  letter-spacing:.05em;
}
.sol-partner p{
  margin:0 0 16px; line-height:1.75; font-size:15px; color:var(--text-dim);
}
.sol-partner p:last-child{ margin-bottom:0 }

/* ── Scenario-grid (Kiedy hydraulika? / Kiedy elektryka?) ────────────
   3 karty obok siebie z pytaniami "Kiedy X?" — sprzedażowy decision-maker.
   ──────────────────────────────────────────────────────────────────── */

.sol-scenarios{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px;
}
.sol-scenario{
  background:var(--bg-1); border:1px solid var(--line);
  border-radius:10px; padding:24px 26px;
  position:relative;
}
.sol-scenario-tag{
  font-family:var(--font-mono); font-size:10px; font-weight:700;
  color:var(--green-bright); letter-spacing:.18em; text-transform:uppercase;
  margin-bottom:10px; display:block;
}
.sol-scenario h3{
  font-size:19px; font-weight:600; margin:0 0 14px; color:var(--text);
  line-height:1.3;
}
.sol-scenario ul{
  list-style:none; padding:0; margin:0;
}
.sol-scenario li{
  position:relative; padding:6px 0 6px 22px;
  font-size:14px; color:var(--text-dim); line-height:1.55;
}
.sol-scenario li::before{
  content:"›"; position:absolute; left:0;
  color:var(--green-bright); font-weight:700;
}

/* ── Decision matrix card (dla porównania opcji wyboru) ──────────────
   Karta scenariusza z lead-iconem, h3 i listą "kiedy / dla kogo".
   Używane na stronie istniejących budynków (6 wariantów technicznych).
   ──────────────────────────────────────────────────────────────────── */

.sol-options{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px;
}
.sol-option{
  background:var(--bg-1); border:1px solid var(--line);
  border-radius:10px; padding:28px 28px 24px;
  transition:border-color .25s, transform .25s;
  display:flex; flex-direction:column;
}
.sol-option:hover{ border-color:var(--green-deep); transform:translateY(-2px) }
.sol-option-num{
  font-family:var(--font-display); font-size:36px; font-weight:600;
  color:var(--green-bright); line-height:1; letter-spacing:-.02em;
  margin-bottom:10px; display:block;
}
.sol-option h3{
  font-size:18px; font-weight:600; margin:0 0 12px;
  color:var(--text); line-height:1.35;
}
.sol-option > p{
  margin:0 0 14px; line-height:1.7; font-size:14px; color:var(--text-dim);
  flex-grow:1;
}
.sol-option-foot{
  margin-top:auto; padding-top:14px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center; gap:10px;
}
.sol-option-foot .meta{
  font-family:var(--font-mono); font-size:10px; color:var(--text-muted);
  letter-spacing:.12em; text-transform:uppercase; font-weight:500;
}
.sol-option-foot a{
  color:var(--green); text-decoration:none; font-size:13px; font-weight:500;
  transition:color .2s;
}
.sol-option-foot a:hover{ color:var(--green-bright) }

/* ── Copy-checklist — checklista do skopiowania przez klienta ────────
   Z przyciskiem "Kopiuj listę" (functionality opcjonalna).
   Większy padding, czytelniejsza, zachęca do użycia.
   ──────────────────────────────────────────────────────────────────── */

.sol-copy-checklist{
  background:var(--bg-1); border:1px solid var(--green-deep);
  border-radius:10px; padding:28px 32px;
}
.sol-copy-checklist-head{
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:16px; margin-bottom:20px; flex-wrap:wrap;
}
.sol-copy-checklist h3{
  font-size:17px; font-weight:600; margin:0;
  color:var(--text); flex-grow:1;
}
.sol-copy-checklist-hint{
  font-family:var(--font-mono); font-size:10px;
  color:var(--text-muted); letter-spacing:.12em;
  text-transform:uppercase; padding:6px 12px;
  background:var(--bg-2); border-radius:4px;
  border:1px solid var(--line);
}
.sol-copy-checklist ul{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:6px;
}
.sol-copy-checklist li{
  display:flex; align-items:flex-start; gap:10px;
  padding:8px 0; font-size:14px; line-height:1.5;
  color:var(--text-dim);
}
.sol-copy-checklist li::before{
  content:""; flex-shrink:0; width:14px; height:14px; margin-top:3px;
  border:1.5px solid var(--green); border-radius:3px;
}

/* ── Schemat-grid 4 kafle z mini SVG (typy wejść w windach) ──────────
   Zamiana 4 osobnych SVG-elementów z inline style na klasy.
   Hover state na zielony border.
   ──────────────────────────────────────────────────────────────────── */

.sol-schemes{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px; margin-bottom:24px;
}
.sol-scheme{
  background:var(--bg-1); border:1px solid var(--line);
  border-radius:10px; padding:24px 18px; text-align:center;
  transition:border-color .25s, transform .25s;
}
.sol-scheme:hover{ border-color:var(--green-deep); transform:translateY(-2px) }
.sol-scheme[data-emphasis="true"]{ border-color:var(--green-deep) }
.sol-scheme svg{ width:100%; height:auto; max-width:140px; margin-bottom:14px }
.sol-scheme-label{
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  color:var(--text); letter-spacing:.05em; margin-bottom:4px; display:block;
}
.sol-scheme[data-emphasis="true"] .sol-scheme-label{ color:var(--green-bright) }
.sol-scheme-desc{
  font-size:11px; color:var(--text-muted); line-height:1.45; margin:0;
}

/* ── Mocny ostrzegawczy box (Tutaj nie ma miejsca na skróty) ─────────
   Dla sekcji UDT, dokumentacji, wymagań formalnych.
   ──────────────────────────────────────────────────────────────────── */

.sol-warning-box{
  background:var(--bg-1);
  border:1px solid var(--orange);
  border-left:4px solid var(--orange);
  border-radius:10px;
  padding:32px 36px;
  margin:24px 0;
}
.sol-warning-box::before{
  content:"!"; display:inline-flex;
  width:32px; height:32px; align-items:center; justify-content:center;
  background:var(--orange); color:var(--bg-0);
  border-radius:50%;
  font-family:var(--font-display); font-size:18px; font-weight:700;
  margin-bottom:14px; line-height:1;
}
.sol-warning-box h3{
  font-size:22px; font-weight:600; margin:0 0 14px;
  color:var(--text); letter-spacing:-.01em;
}
.sol-warning-box p{
  margin:0 0 14px; line-height:1.75; font-size:15px; color:var(--text-dim);
}
.sol-warning-box p:last-child{ margin-bottom:0 }
.sol-warning-box strong{ color:var(--text) }

/* ── Porównanie tabela vs karty (responsive, dla 3-kolumnowych zestawień) */
.sol-compare{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
}
@media (max-width:768px){ .sol-compare{ grid-template-columns:1fr } }
.sol-compare-col{
  background:var(--bg-1); border:1px solid var(--line);
  border-radius:10px; padding:24px 20px;
}
.sol-compare-col h3{
  font-size:16px; font-weight:600; margin:0 0 14px;
  color:var(--text); padding-bottom:12px; border-bottom:1px solid var(--line);
}
.sol-compare-col dl{ margin:0 }
.sol-compare-col dt{
  font-family:var(--font-mono); font-size:10px; font-weight:600;
  color:var(--text-muted); letter-spacing:.12em; text-transform:uppercase;
  margin:14px 0 4px;
}
.sol-compare-col dt:first-child{ margin-top:0 }
.sol-compare-col dd{
  margin:0; font-size:14px; color:var(--text-dim); line-height:1.5;
}
.sol-compare-col dd strong{ color:var(--text); font-weight:600 }
