:root { color-scheme: light; }
html { scroll-behavior: smooth; }
.form-input {
  width: 100%;
  border-radius: 0.5rem;
  border: 1.5px solid #94a3b8;
  background: #ffffff;
  color: #0f172a;
  padding: 0.8rem 0.95rem;
  outline: none;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .06);
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.form-input::placeholder { color: #64748b; }
.form-input:hover { border-color: #64748b; }
.form-input:focus {
  border-color: #0f766e;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(15, 118, 110, .16), inset 0 1px 2px rgba(15, 23, 42, .06);
}
select.form-input {
  appearance: auto;
  min-height: 2.9rem;
}
textarea.form-input {
  min-height: 8rem;
  resize: vertical;
}
input[type="file"].form-input {
  cursor: pointer;
  padding: 0.65rem;
}
input[type="file"].form-input::file-selector-button {
  margin-right: 0.75rem;
  border: 0;
  border-radius: 0.375rem;
  background: #0f766e;
  color: #ffffff;
  padding: 0.5rem 0.75rem;
  font-weight: 700;
}
label:has(.form-input) {
  color: #334155;
}
.field-error { border-color: #dc2626 !important; }
.hero-grid { background-image: radial-gradient(circle at 20% 20%, rgba(20,184,166,.12), transparent 28%), linear-gradient(135deg, #f8fafc 0%, #ffffff 52%, #ecfeff 100%); }

.cms-page {
  background: #f1f5f9;
}
.cms-page main {
  background:
    radial-gradient(circle at top right, rgba(20, 184, 166, .08), transparent 30%),
    #f1f5f9;
}
.cms-page form.rounded-lg,
.cms-page .rounded-lg.border.bg-white,
.cms-page .rounded-lg.border.border-slate-200.bg-white {
  border-color: #cbd5e1;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}
.cms-page label {
  color: #1e293b;
  font-weight: 700;
}
.cms-page .form-input {
  margin-top: 0.4rem;
  border: 2px solid #64748b;
  background: #ffffff;
  color: #0f172a;
  min-height: 3.05rem;
  font-size: 0.95rem;
}
.cms-page .form-input:hover {
  border-color: #334155;
}
.cms-page .form-input:focus {
  border-color: #0f766e;
  box-shadow: 0 0 0 4px rgba(15, 118, 110, .2);
}
.cms-page textarea.form-input {
  min-height: 9.5rem;
  line-height: 1.6;
}
.cms-page select.form-input {
  background-color: #ffffff;
}
.cms-page table th {
  color: #334155;
}
.cms-page table td,
.cms-page table th {
  padding: 0.9rem 1rem;
}
