/* Hero (levy sloupec uvodu); hodnoty z docs/design/nemovitosti-ai-v5/README.md sekce 2 */
@keyframes blikani { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

.hero {
  max-width: 1220px;
  margin: 0 auto;
  padding: var(--hero-pad);
  display: grid;
  grid-template-columns: var(--hero-cols);
  gap: var(--hero-gap);
  align-items: start;
}
.hero__sloupec { min-width: 0; }

.hero__zdroj { margin: 0 0 22px; font-size: 14px; color: var(--ink-2); text-wrap: pretty; }

.hero__h1 {
  font-family: var(--font-nadpis); font-weight: 800; font-size: var(--h1);
  line-height: 1.06; letter-spacing: -.03em; margin: 0 0 18px;
}
.hero__podnadpis { font-size: var(--lede); color: var(--ink-2); margin: 0 0 34px; max-width: 46ch; }

/* ---------- Vstupni pole ---------- */
.composer {
  background: var(--panel); border: 1.5px solid var(--accent); border-radius: 22px;
  box-shadow: 0 0 0 5px var(--accent-soft), var(--shadow); padding: 8px; margin: 0;
}
/* textarea a psaci animace sdili jednu bunku mrizky: bunka roste s delsim ukazkovym textem (mobil),
   animace lezi nad polem a kliky propousti do textarey */
.composer__pole { display: grid; padding: 20px 22px 10px; }
.composer__vstup, .composer__animace { grid-area: 1 / 1; font-size: 19px; line-height: 1.45; }
.composer__vstup {
  display: block; width: 100%; min-height: calc(19px * 1.45 * 3); border: 0; background: none;
  outline: none; resize: none; padding: 0;
}
.composer__vstup::placeholder { color: var(--ink-3); opacity: 1; }
.composer__animace { min-height: calc(19px * 1.45 * 3); color: var(--ink-2); text-wrap: pretty; pointer-events: none; cursor: text; }
.composer__animace[hidden] { display: none; }
.composer__kurzor {
  display: inline-block; width: 2px; height: 1.1em; margin-left: 2px; vertical-align: -3px;
  background: var(--accent); animation: blikani 1s steps(1) infinite;
}
.composer__rada { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px 10px 10px; }
.composer__mikrofon {
  flex: none; width: 42px; height: 42px; border-radius: 12px;
  background: var(--panel-2); color: var(--ink-2); display: grid; place-items: center;
}
.composer__mikrofon:hover { color: var(--ink); }
.composer__mikrofon .ikona { width: 19px; height: 19px; }
.composer__odeslat {
  flex: none; height: 42px; padding: 0 20px; border-radius: 12px;
  background: var(--accent); color: var(--accent-ink); font-weight: 600; font-size: 15px;
}
.composer__odeslat:hover { filter: brightness(1.08); }

/* ---------- AI disclaimer ---------- */
.disclaimer {
  display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2);
}
.disclaimer .ikona { flex: none; width: 17px; height: 17px; margin-top: 1px; color: var(--ink-2); }
.disclaimer p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--ink-2); }

/* ---------- Rozsah a radek stavu uctu ---------- */
.hero__rozsah {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; margin: 18px 0 0;
  font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-3); letter-spacing: .02em; line-height: 1.6;
}
.hero__zdarma, .hero__limit { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin: 8px 0 0; font-size: 13.5px; color: var(--ink-2); }
.hero__zdarma a, .hero__zdarma .odkaz { font-weight: 600; }
.hero__max { color: var(--ink-3); }

@media (prefers-reduced-motion: reduce) {
  .composer__kurzor { animation: none; }
}
