/* 88.2c — veřejný poptávkový formulář /f/{public_id} (templates/lead_form.php).
   Samostatné, bez app.css; mobil první; ?embed=1 bez okrajů pro iframe. */
:root {
  --lf-bg: #f4f5f7;
  --lf-card: #ffffff;
  --lf-text: #1d2330;
  --lf-muted: #5b6475;
  --lf-border: #c9cfda;
  --lf-focus: #1f5fbf;
  --lf-accent: #1f5fbf;
  --lf-accent-text: #ffffff;
  --lf-error: #b3261e;
  --lf-alert-bg: #fdecea;
}
/* Modal webu referencí (html[data-parent-origins]) zůstává světlý jako web kolem něj. */
@media (prefers-color-scheme: dark) {
  :root:not([data-parent-origins]) {
    --lf-bg: #12151b;
    --lf-card: #1b2029;
    --lf-text: #e8ebf1;
    --lf-muted: #a3acbd;
    --lf-border: #3a4252;
    --lf-focus: #7fb0ff;
    --lf-accent: #4c8ef0;
    --lf-accent-text: #0d1117;
    --lf-error: #ff8a80;
    --lf-alert-bg: #3a1f1d;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.lf-body {
  margin: 0;
  padding: 16px;
  background: var(--lf-bg);
  color: var(--lf-text);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
body.lf-body--embed { padding: 0; background: transparent; }

.lf-card {
  max-width: 640px;
  margin: 0 auto;
  padding: 20px 16px;
  background: var(--lf-card);
  border-radius: 12px;
}
.lf-body--embed .lf-card { max-width: none; border-radius: 0; }

.lf-title { margin: 0 0 12px; font-size: 1.4rem; line-height: 1.25; }
.lf-text { margin: 0 0 16px; color: var(--lf-text); }
.lf-hint { display: block; margin: -8px 0 16px; color: var(--lf-muted); font-size: .875rem; }
.lf-field .lf-hint { margin: 4px 0 0; }
/* 23. 10. — „Chci podobnou práci“ z fotky reference */
.lf-context { margin: 0 0 16px; padding: 10px 12px; border-left: 3px solid var(--lf-muted); color: var(--lf-text); font-size: .9375rem; }
/* Modal webu: kontext (fotka + etapa) ukazuje hlavička modalu, tady by se opakoval. */
.lf-body--web .lf-context { display: none; }

.lf-alert {
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--lf-alert-bg);
  color: var(--lf-text);
}

.lf-form { display: block; }
.lf-field { margin: 0 0 16px; min-width: 0; }
.lf-field label { display: block; margin: 0 0 4px; font-weight: 600; font-size: .95rem; }
.lf-req { color: var(--lf-error); }

.lf-field input[type="text"],
.lf-field input[type="email"],
.lf-field input[type="tel"],
.lf-field textarea {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--lf-border);
  border-radius: 8px;
  background: var(--lf-card);
  color: var(--lf-text);
  font: inherit;
}
.lf-field textarea { resize: vertical; min-height: 140px; }
/* Nápověda v poli nesmí vypadat jako vyplněná hodnota. */
.lf-field input::placeholder,
.lf-field textarea::placeholder { color: #9ca3af; font-style: italic; opacity: 1; }
.lf-field input[type="file"] { display: block; width: 100%; font: inherit; color: var(--lf-text); }
.lf-field input:focus,
.lf-field textarea:focus,
.lf-check input:focus,
.lf-submit:focus-visible,
.lf-link:focus-visible {
  outline: 3px solid var(--lf-focus);
  outline-offset: 2px;
}
.lf-field [aria-invalid="true"] { border-color: var(--lf-error); }
.lf-error { display: block; margin-top: 4px; color: var(--lf-error); font-size: .875rem; }

.lf-row { display: block; }
@media (min-width: 560px) {
  .lf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .lf-row--zip { grid-template-columns: 9rem 1fr; }
}

.lf-check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 16px; }
.lf-check input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.lf-check label { font-weight: 400; }

.lf-info { margin: 0 0 20px; color: var(--lf-muted); font-size: .875rem; }
.lf-link { color: var(--lf-accent); }

.lf-submit {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  border: 0;
  border-radius: 8px;
  background: var(--lf-accent);
  color: var(--lf-accent-text);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
@media (min-width: 560px) { .lf-submit { width: auto; } }

/* Honeypot — pro lidi neviditelný, pro roboty normální pole. */
.lf-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.lf-footer { max-width: 640px; margin: 12px auto 0; color: var(--lf-muted); font-size: .8rem; text-align: center; }
