/* =========================================================
   Twoja Sprawa — Landing (platforma pomocy prawnej)
   Drobne nadpisania ponad Tailwind (CDN).
   Paleta zaufania: granat (navy) + zielony akcent (emerald).
   ========================================================= */

:root {
  /* Kolory marki */
  --color-navy: #0f1f3d;
  --color-navy-800: #0a162c;
  --color-navy-900: #060e1d;
  --color-navy-50: #eef1f7;

  --color-accent: #10b981;       /* emerald 500 */
  --color-accent-600: #059669;
  --color-accent-700: #047857;

  --color-text: #060e1d;
  --color-muted: #475569;

  /* Promienie / cienie */
  --radius-card: 1rem;
  --shadow-soft: 0 10px 30px -12px rgba(15, 31, 61, 0.25);

  /* Layout */
  --maxw: 72rem;
}

/* Płynne przewijanie do kotwic + offset pod sticky nav */
html {
  scroll-behavior: smooth;
}
:target {
  scroll-margin-top: 5rem;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Spójny focus dla dostępności (klawiatura) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 0.375rem;
}

/* Akordeon FAQ — obrót ikony gdy otwarte */
.faq-trigger[aria-expanded="true"] .faq-icon {
  transform: rotate(180deg);
}

/* Subtelna animacja rozwijania panelu FAQ */
.faq-panel {
  animation: faqFade 0.18s ease-out;
}
@keyframes faqFade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Pole opisu sprawy — wygodne dla użytkownika */
textarea {
  min-height: 7rem;
  resize: vertical;
}

/* Stan błędu pola formularza (input / select / textarea) */
.input-error {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.18);
}
.field-error-msg {
  color: #b91c1c;
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* Komunikaty statusu formularza */
.status-success { color: var(--color-accent-700); font-weight: 600; }
.status-error   { color: #b91c1c; font-weight: 600; }

/* Szanuj preferencję ograniczonego ruchu */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .faq-panel { animation: none; }
  * { transition: none !important; }
}
