.panith-filter-form,
.search-form,
.panith-consultation-form,
.contact-form {
  gap: clamp(12px, 2vw, 18px);
}

.panith-filter-form input,
.panith-filter-form select,
.search-form input,
.contact-form input,
.contact-form textarea,
.panith-consultation-form input,
.panith-consultation-form textarea,
.panith-consultation-form select {
  min-height: 48px;
  line-height: 1.35;
}

.contact-form textarea,
.panith-consultation-form textarea {
  min-height: 148px;
}

.panith-filter-row {
  align-items: end;
}

.panith-filter-row label {
  min-width: 0;
}

.panith-filter-actions {
  align-items: center;
}

@media (max-width: 620px) {
  .panith-filter-actions,
  .panith-filter-actions .btn,
  .panith-filter-actions .panith-reset-link {
    width: 100%;
  }
}

/* Migrated Panith filter and consultation form primitives from assets/styles.css. */
.panith-filter-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  margin-top: 28px;
  max-width: 900px;
}

.panith-filter-row {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin: 0 0 28px;
  max-width: none;
}

.panith-filter-form label {
  display: grid;
  gap: 8px;
  align-content: end;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 900;
}

.panith-filter-form label span {
  padding-left: 2px;
}

.panith-filter-row .btn {
  min-width: 130px;
}

.panith-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  align-self: end;
}

.panith-reset-link {
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.panith-filter-form input,
.panith-filter-form select,
.panith-consultation-form input,
.panith-consultation-form select,
.panith-consultation-form textarea {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(18, 19, 20, 0.16);
  border-radius: var(--panith-button-radius, 8px);
  background: #fffdf8;
  color: var(--ink);
  padding: 0 18px;
  font: inherit;
  font-weight: 750;
}

.panith-consultation-form textarea {
  padding-top: 16px;
}

.panith-consultation-form label {
  display: grid;
  gap: 8px;
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 900;
}

.panith-consultation-form p {
  margin: 0;
}

.panith-consultation-form .form-row {
  align-items: start;
}

.panith-hp-field {
  position: absolute;
  left: -9999px;
}

.panith-form-message {
  padding: 14px 16px;
  border-radius: var(--panith-button-radius, 8px);
  font-weight: 850;
}

.panith-form-message-success {
  background: rgba(38, 141, 89, 0.14);
  color: #145b35;
}

.panith-form-message-error {
  background: rgba(255, 75, 19, 0.12);
  color: #9d2600;
}

.panith-consent label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  line-height: 1.5;
}

.panith-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
}
