/* ==========================================================================
   SECTIONS — přednosti, proces, ceník, FAQ
   ========================================================================== */

/* --- přednosti (tři sloupce) --- */
.cols3{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(1.6rem,3.5vw,3rem);
}
.feat{
  display:flex; flex-direction:column; gap:.7rem;
  padding-top:1.1rem; border-top:1px solid var(--line);
}
.feat p{ color:var(--ink-2); font-size:.98rem; }

/* --- proces ---
   Číslování 01–04 je tu proto, že jde o skutečnou posloupnost kroků.
   Kdyby to byl jen výčet, čísla pryč. */
.steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(195px,1fr));
  gap:clamp(1.4rem,3vw,2.6rem);
}
.step{ display:flex; flex-direction:column; gap:.6rem; }
.step .num{
  font-size:.72rem; font-weight:600; font-variant-numeric:tabular-nums;
  letter-spacing:.14em; color:var(--oak);
}
.step .rule{ height:1px; background:var(--line); margin:.35rem 0 .5rem; }
.step p{ color:var(--ink-2); font-size:.96rem; }
.step a{ color:var(--oak); text-decoration:underline; text-underline-offset:2px; }

/* --- ceník ---
   Bez rámečků a karet. Ceny jsou mono s tabulkovými číslicemi,
   aby se řády srovnaly pod sebe. */
.tiers{ display:flex; flex-direction:column; }
.tier{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:1rem 2rem; align-items:baseline;
  padding:1.6rem 0; border-top:1px solid var(--line);
}
.tier:last-child{ border-bottom:1px solid var(--line); }
.tier h3{ margin-bottom:.3rem; }
.tier .what{ color:var(--ink-2); font-size:.95rem; max-width:52ch; }
.tier .price{
  font-variant-numeric:tabular-nums; font-weight:600;
  font-size:1.02rem; white-space:nowrap; color:var(--ink);
}
.tier .price small{
  display:block; color:var(--muted); font-size:.7rem;
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:.25rem;
}
@media (max-width:620px){ .tier{ grid-template-columns:1fr; } }

.factors{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1rem 2rem; margin-top:2.4rem;
}
.factors div{ display:flex; gap:.7rem; font-size:.92rem; color:var(--ink-2); align-items:flex-start; }
.factors span{ color:var(--oak); flex:none; font-weight:600; }

.note{ margin-top:2rem; font-size:.86rem; color:var(--muted); max-width:60ch; }

/* --- FAQ --- */
.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  cursor:pointer; list-style:none;
  padding:1.15rem 0; display:flex; justify-content:space-between; gap:1.5rem;
  font-size:1.12rem; font-weight:500;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; color:var(--oak); flex:none; font-weight:600; }
.faq details[open] summary::after{ content:"–"; }
.faq p{ padding:0 0 1.3rem; color:var(--ink-2); font-size:.97rem; max-width:66ch; }
