/* Inwardis Website — Custom styles (supplements Tailwind CDN) */

:root {
  --brand: #2563eb;
  --brand-dark: #1d4ed8;
  --brand-light: #dbeafe;
  --text: #0f172a;
  --text-muted: #64748b;
  --bg: #ffffff;
  --bg-alt: #f8fafc;
  --border: #e2e8f0;
  --success: #16a34a;
  --error: #dc2626;
}

/* Smooth scrolling */
html { scroll-behavior: smooth; }

/* Code blocks */
pre, code {
  font-family: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;
}
pre {
  background: #1e293b;
  color: #e2e8f0;
  border-radius: 0.5rem;
  padding: 1.25rem;
  overflow-x: auto;
  font-size: 0.875rem;
  line-height: 1.6;
}

/* FAQ accordion */
details summary {
  cursor: pointer;
  list-style: none;
}
details summary::-webkit-details-marker { display: none; }
details summary::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.75rem;
  border-radius: 9999px;
  background: var(--brand-light);
  color: var(--brand);
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
  transition: transform 0.2s;
}
details[open] summary::before {
  content: "\2212";
  transform: rotate(180deg);
}

/* Pricing toggle */
.pricing-toggle input:checked + .toggle-track {
  background: var(--brand);
}
.pricing-toggle input:checked + .toggle-track .toggle-knob {
  transform: translateX(1.5rem);
}
.toggle-track {
  width: 3.5rem;
  height: 2rem;
  background: #cbd5e1;
  border-radius: 9999px;
  position: relative;
  cursor: pointer;
  transition: background 0.2s;
}
.toggle-knob {
  width: 1.5rem;
  height: 1.5rem;
  background: white;
  border-radius: 9999px;
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  transition: transform 0.2s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

/* Form states */
.form-message {
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  margin-top: 1rem;
  /* The spacing below lives HERE, not in a utility class on the element: every form's script sets
     className = 'form-message error', which replaces the whole class list — so an `mb-4` written in
     the markup is gone exactly when the message appears, and it sat on the button under it. */
  margin-bottom: 1rem;
  font-size: 0.875rem;
}
.form-message.success {
  background: #f0fdf4;
  color: var(--success);
  border: 1px solid #bbf7d0;
}
.form-message.error {
  background: #fef2f2;
  color: var(--error);
  border: 1px solid #fecaca;
}

/* Loading spinner */
.spinner {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid rgba(255,255,255,0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Feature check marks */
.check-list li {
  position: relative;
  padding-left: 1.75rem;
}
.check-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--success);
  font-weight: 700;
}

/* Anchored section headings clear the sticky nav (h-16 = 4rem) when jumped to
   from the on-this-page list or a Google jump-to link. */
h1[id], h2[id], h3[id], section[id] { scroll-margin-top: 5rem; }
