/* Patch 128: samostatný hero modul a řízený přechod ke kalkulačce. */

.ap-hero {
  min-height: calc(100svh - 76px);
  display: flex;
  align-items: center;
  padding: clamp(34px, 6vh, 58px) 0 clamp(34px, 6vh, 56px);
  background:
    radial-gradient(circle at 85% 10%, rgba(16,185,129,.16), transparent 34%),
    linear-gradient(180deg, #f5fbff 0%, #ffffff 100%);
}

.ap-hero.is-collapsed {
  display: none;
}

.ap-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 32px;
  align-items: center;
}

.ap-hero h1 {
  margin: 0;
  font-size: clamp(2.35rem, 5vw, 4.85rem);
  line-height: .96;
  color: var(--ap-blue-dark);
  letter-spacing: -0.055em;
}

.ap-hero-lead {
  margin: 1.35rem 0 0;
  max-width: 760px;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  color: #20334a;
}

.ap-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 1.5rem 0 0;
}

.ap-hero-main-cta {
  min-width: 230px;
}

.ap-hero-microcopy {
  color: var(--ap-muted);
  font-weight: 800;
  font-size: .95rem;
}

.ap-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin: 1.45rem 0;
}

.ap-badges span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(16,185,129,.42);
  background: var(--ap-green-soft);
  color: #065f46;
  border-radius: 999px;
  padding: .58rem .82rem;
  font-weight: 800;
}

.ap-price-note {
  max-width: 790px;
  color: var(--ap-muted);
  margin: 0;
}

.ap-hero-card {
  background: var(--ap-card);
  border: 1px solid var(--ap-border);
  border-radius: 28px;
  padding: 28px;
  box-shadow: var(--ap-shadow);
}

.ap-hero-card strong {
  display: block;
  font-size: 1.25rem;
  color: var(--ap-blue-dark);
  margin-bottom: .8rem;
}

.ap-hero-card ul { margin: 0 0 1.1rem; padding-left: 1.1rem; color: #314257; }
.ap-hero-card li + li { margin-top: .38rem; }

.ap-mini-cta {
  display: inline-flex;
  text-decoration: none;
  background: var(--ap-blue);
  color: #fff;
  font-weight: 900;
  border-radius: 999px;
  padding: .82rem 1.1rem;
}

@media (max-width: 820px) {
  .ap-hero-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .ap-hero {
    min-height: calc(100svh - 68px);
  }
}

@media (max-width: 540px) {
  .ap-hero {
    padding: 30px 0 34px;
    align-items: flex-start;
  }

  .ap-hero-actions,
  .ap-hero-main-cta,
  .ap-mini-cta {
    width: 100%;
  }

  .ap-mini-cta {
    justify-content: center;
  }

  .ap-hero-card {
    padding: 20px;
    border-radius: 22px;
  }
}


/* Patch 177: první hero štítek je jeden štítek se dvěma řádky, ne dva vnořené štítky. */
.ap-badges .ap-badge-price-split {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .08rem;
  line-height: 1.08;
}

.ap-badges .ap-badge-price-split em {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  color: inherit;
  font: inherit;
  font-style: normal;
  line-height: 1.08;
  white-space: nowrap;
}
