/* Brutalist-minimalist refinement — aligned with NajlepszaKsięgowość / BizGenerator */
:root{
  --line:#111;
  --paper:#fff;
  --paper-soft:#f5f3ee;
}

.accent-word{color:var(--b)}

/* hard geometry: no soft cards, no gradients, no floating shadows */
.guide,
.shell,
.mi,
select,
.check,
.sb,
.card,
.sumrow,
.estimate-block,
.pill{
  border-radius:0 !important;
  box-shadow:none !important;
}

.guide,
.shell{
  border:2px solid var(--line) !important;
  background:var(--paper);
}

.guide-head,
.ch{
  border-bottom:2px solid var(--line) !important;
  background:var(--paper);
}

.guide-head h2,
.ch h2{
  text-transform:uppercase;
  letter-spacing:-.035em;
}

.guide-steps{
  border-top:0;
}

.gstep{
  background:var(--paper);
  padding:24px 22px;
}

.gstep+.gstep{
  border-left:2px solid var(--line) !important;
}

.num{
  width:32px;
  height:32px;
  border-radius:0 !important;
  border:2px solid var(--line);
  background:var(--b);
  color:#fff;
  font-size:13px;
}

.calc-config{
  border-bottom:2px solid var(--line) !important;
}

.config-col{
  background:var(--paper) !important;
  padding:30px 28px;
}

.config-col+.config-col{
  border-left:2px solid var(--line) !important;
}

.st{
  font-size:12px;
  letter-spacing:.14em;
  margin-bottom:22px;
}

.f{margin-bottom:24px}

.f label,
.lg{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.015em;
}

.mi{
  border:2px solid var(--line) !important;
  background:var(--paper);
}

.mi input{
  padding:14px 15px;
  font-size:28px;
  background:transparent;
}

.mi span{
  padding:18px 14px 0;
  font-size:13px;
  text-transform:uppercase;
}

select{
  border:2px solid var(--line) !important;
  padding:14px 13px;
  font-size:15px;
  color:var(--i);
  background:#fff;
}

.rng{
  margin-top:11px;
  accent-color:var(--b);
}

.scale{
  color:#666;
  margin-top:2px;
}

.sg{gap:0 !important}

.sb{
  border:2px solid var(--line) !important;
  border-bottom-width:0 !important;
  padding:16px 15px;
  background:#fff;
}

.sb:last-child{border-bottom-width:2px !important}

.sb.on{
  background:var(--b) !important;
  color:#fff;
  box-shadow:none !important;
}

.sb.on small,
.sb.on b{color:#fff}

.sb small{
  color:#666;
  letter-spacing:.08em;
  margin-bottom:3px;
}

.sickness-wrap{
  margin-top:24px !important;
  padding-top:0 !important;
  border-top:0 !important;
}

.check{
  border:2px solid var(--line) !important;
  padding:15px;
  background:#fff;
}

.check input{
  width:18px;
  height:18px;
  border-radius:0;
}

.check.disabled{
  background:#efefef !important;
  opacity:.55 !important;
}

.disabled-note{
  margin-top:10px !important;
  font-size:11px !important;
  color:#666 !important;
}

.results-section{
  padding:30px 28px !important;
  background:var(--paper-soft);
}

.rt{
  margin-bottom:20px;
}

.rt h3{
  font-size:14px;
  letter-spacing:.08em;
}

.pill{
  border:2px solid var(--line) !important;
  background:var(--b) !important;
  color:#fff !important;
  padding:7px 10px;
}

.cards{
  gap:12px !important;
}

.card{
  border:2px solid var(--line) !important;
  background:#fff !important;
  padding:20px;
}

.card.pri{
  border:2px solid var(--line) !important;
  background:var(--b) !important;
  color:#fff;
}

.card.pri .kick,
.card.pri .row,
.card.pri .row b,
.card.pri .money{
  color:#fff !important;
}

.card.pri .rows,
.card.pri .row.t{
  border-color:rgba(255,255,255,.55) !important;
}

.kick{
  color:#111;
  letter-spacing:.1em;
}

.money{
  font-size:42px;
  margin:13px 0;
}

.rows{
  border-top:2px solid var(--line);
  padding-top:10px;
}

.row{
  font-size:12px;
  margin:7px 0;
}

.row.t{
  border-top:2px solid var(--line);
  padding-top:9px;
  margin-top:10px;
}

/* The answer is intentionally detached from the comparison grid. */
.summary-section{
  padding:0 !important;
  margin-top:38px;
  background:transparent !important;
}

.sumrow{
  margin:0 10px 10px 0 !important;
  border:2px solid var(--line) !important;
  background:var(--b) !important;
  box-shadow:10px 10px 0 var(--line) !important;
  padding:46px 40px 42px !important;
  color:#fff;
}

.summary-label{
  color:#fff !important;
  font-size:42px;
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
  margin:0 0 12px;
}

.sumrow .big{
  color:#000 !important;
  font-size:clamp(48px,6.2vw,82px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:900;
  margin:0 0 24px;
}

.sumrow .txt{
  color:#fff !important;
  font-size:42px;
  line-height:1;
  letter-spacing:-.035em;
  font-weight:500;
  max-width:1000px;
}

.sumrow .txt strong{
  font-weight:900;
}

/* Every text element placed on the FNR blue accent stays white. */
.btn,
.btn *,
.num,
.num *,
.sb.on,
.sb.on *,
.pill,
.pill *,

.card.pri,
.card.pri *,
.fact::before{
  color:#fff !important;
}

.what{
  padding:64px 0 48px !important;
}

.estimate-block{
  border:2px solid var(--line) !important;
  background:#fff !important;
  color:#111 !important;
  padding:24px 26px !important;
}

.estimate-block strong{color:#111 !important}

.btn{
  border:2px solid var(--line) !important;
  box-shadow:5px 5px 0 var(--line) !important;
  border-radius:0 !important;
}

/* BIZ+ app mockup — mirrors NajlepszaKsięgowość, blue FNR accent */
.offer .phone{
  position:relative !important;
  width:min(300px,68vw) !important;
  height:auto !important;
  aspect-ratio:300 / 575;
  min-height:0 !important;
  margin:auto !important;
  padding:18px !important;
  border:4px solid #f3f1e9 !important;
  border-radius:42px !important;
  background:#171815 !important;
  box-shadow:18px 18px 0 rgba(0,0,0,.28) !important;
  transform:rotate(3deg) !important;
  overflow:visible !important;
  isolation:isolate;
}

.offer .phone::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:-43%;
  top:9%;
  width:186%;
  height:82%;
  background:var(--b);
  transform:rotate(-8deg);
}

.offer .phone::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:18px;
  border-radius:27px;
  background:url('https://najlepszaksiegowosc.pl/app-dashboard.webp') center top / cover no-repeat;
}

.offer .phone > *{
  display:none !important;
}

@media(max-width:930px){
  .gstep+.gstep{border-left:0 !important;border-top:2px solid var(--line) !important}
  .config-col+.config-col{border-left:0 !important;border-top:2px solid var(--line) !important}
  .offer .phone{width:min(280px,74vw) !important;}
}

@media(max-width:620px){
  .card{padding:17px}
  .summary-section{margin-top:28px}
  .sumrow{margin-right:7px !important;margin-bottom:7px !important;padding:30px 20px 28px !important;box-shadow:7px 7px 0 var(--line) !important}
  .summary-label{font-size:28px;margin-bottom:10px}
  .sumrow .big{font-size:clamp(40px,12vw,58px);margin-bottom:18px}
  .sumrow .txt{font-size:34px}
  .guide-head,.gstep,.config-col,.results-section{padding-left:18px !important;padding-right:18px !important}
}
