/* Web Jakub Minařík — dle design handoffu v2 (švýcarský brutalismus, Archivo, #2B48FF) */
body { margin: 0; background: #E9E7E1; }
a { color: inherit; }
a:hover { color: #2B48FF; }
button { cursor: pointer; }
input:focus, textarea:focus { border-color: #2B48FF !important; outline: none; }

/* ---------- Hovery dle handoffu (inline styly přebíjíme !important) ---------- */
.btn-hdr, .btn-blk, .btn-out, .btn-pillb, .btn-form, .btn-wht, .card-h, .box-h { transition: background .2s ease, color .2s ease, border-color .2s ease; }
.btn-hdr:hover  { background: #101010 !important; color: #fff !important; }
.btn-blk:hover  { background: #2B48FF !important; color: #fff !important; }
.btn-out:hover  { border-color: #2B48FF !important; color: #2B48FF !important; }
.btn-pillb:hover{ background: #2B48FF !important; color: #fff !important; }
.btn-form:hover { background: #fff !important; color: #2B48FF !important; }
.btn-wht:hover  { background: #101010 !important; color: #fff !important; }
.card-h:hover { background: #F5F6FF !important; }
.box-h:hover { border-color: #2B48FF !important; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
input:focus-visible, textarea:focus-visible { outline: none; }

/* svc-main hover zvýrazní i vnitřní outline button */
.card-h:hover .btn-out { border-color: #2B48FF !important; color: #2B48FF !important; }

/* škrtnutí „ručně." v hero (Jakubův požadavek nad rámec handoffu) */
.strike { position: relative; white-space: nowrap; }
.strike::after { content: ""; position: absolute; left: -2%; top: 54%; height: .09em; width: 0; background: #101010; animation: strikeIn .5s ease-out 1s forwards; }
@keyframes strikeIn { to { width: 104%; } }
@media (prefers-reduced-motion: reduce) { .strike::after { animation: none; width: 104%; } }

/* ---------- Scroll reveal ---------- */
[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
[data-reveal].in { opacity: 1; transform: translateY(0); }

/* ---------- FAQ accordion ---------- */
details > summary::-webkit-details-marker { display: none; }
details .fplus { transition: transform .2s ease; }
details[open] .fplus { transform: rotate(45deg); }

/* ---------- Formuláře ---------- */
.form-err { display: none; font: 600 14px 'Archivo', sans-serif; color: #FF8B7A; }
.form-ok { display: none; }

/* ---------- Kalkulačka ---------- */
input[type="range"] { width: 100%; accent-color: #2B48FF; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  details .fplus { transition: none; }
}

/* ============ MOBIL (handoff: doplnit media queries < 640-700px) ============ */
@media (max-width: 700px) {
  .pad { padding-left: 20px !important; padding-right: 20px !important; }
  .sec { padding-top: 40px !important; padding-bottom: 40px !important; }
  .foot { padding: 14px 20px !important; font-size: 12px !important; }
  .foot nav a { padding: 8px 4px; }

  header.site { padding: 14px 20px !important; gap: 10px 14px !important; }
  header.site > a:first-child { font-size: 16px !important; }
  header.site nav { order: 3; width: 100%; justify-content: space-between; gap: 4px !important; }
  header.site nav a { padding: 10px 8px; }
  header.site > a:last-child { padding: 10px 14px !important; font-size: 13px !important; }

  /* kroky 01-03 / nasazení 01-04: číslo + titulek, popis pod */
  .steps { grid-template-columns: 52px 1fr !important; gap: 8px 16px !important; align-items: baseline !important; }
  .steps > span:first-child { font-size: 30px !important; }
  .steps > span:nth-child(2) { font-size: 18px !important; }
  .steps > .desc { grid-column: 2; font-size: 14.5px !important; }

  /* tok dat svisle, šipky dolů */
  .flow { grid-template-columns: 1fr !important; }
  .flow .arr { transform: rotate(90deg); padding: 8px 0; }

  /* ERP stripy: zarovnaná mřížka 2 sloupce, popisky přes celou šířku */
  .erp { display: grid !important; grid-template-columns: 1fr 1fr; border-bottom: 0 !important; }
  .erp > div { min-width: 0 !important; font-size: 19px !important; padding: 16px 0 !important; border-right: none !important; border-bottom: 2px solid #101010; }
  .erp > .erp-l { border-right: 2px solid #101010 !important; }
  .erp-label, .erp-plus { grid-column: 1 / -1; justify-content: center !important; padding: 14px 0 !important; }

  /* kalkulačka: kompaktnější box */
  div[style*="padding:36px 40px"] { padding: 26px 22px !important; }

  /* CTA plné šířky */
  .cta-col { width: 100%; }
  .cta-col a { display: block; text-align: center; }

  .grid2s { grid-template-columns: 1fr !important; }
  .grid2s > div { border-right: none !important; }

  /* auto-fit gridy s min šířkou > mobil → 1 sloupec */
  div[style*="minmax(420px"], div[style*="minmax(400px"], div[style*="minmax(380px"],
  div[style*="minmax(340px"], div[style*="minmax(300px"],
  div[style*="grid-template-columns:200px"] { grid-template-columns: 1fr !important; }
  div[style*="minmax(420px"] > div, div[style*="minmax(400px"] > div, div[style*="minmax(380px"] > div,
  div[style*="minmax(340px"] > div, div[style*="minmax(300px"] > div { border-right: none !important; }
  div[style*="minmax(300px"] > div:not(:last-child) { border-bottom: 2px solid #101010; }

  /* typografie */
  h2[style*="font-size:34px"] { font-size: 25px !important; }
  h3[style*="font-size:26px"] { font-size: 21px !important; }
  p[style*="font-size:19px"], p[style*="font-size:18px"] { font-size: 16px !important; }
  input, textarea { font-size: 16px !important; }
}

/* ============ Zámek layoutu (handoff 3): max 1440px, centrovaný „list" s 2px rámem ============ */
.page { max-width: 1440px; margin: 0 auto; border-left: 2px solid #101010; border-right: 2px solid #101010; }
@media (max-width: 1444px) { .page { border-left: none; border-right: none; } }

/* tisk: obsah viditelný bez scroll-revealu */
@media print { [data-reveal] { opacity: 1 !important; transform: none !important; } }
