/* ===== 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; }
}
