/* AR Contact Messages — Frontend UI (modern, theme-friendly)
   Styles are scoped to .arcm-form to avoid affecting other forms. */

.arcm-form{
  --arcm-radius: 14px;
  --arcm-border: rgba(0,0,0,.16);
  --arcm-border-strong: rgba(0,0,0,.22);
  --arcm-bg: rgba(255,255,255,.9);
  --arcm-text: rgba(15,23,42,.95);
  --arcm-muted: rgba(100,116,139,.95);
  --arcm-focus: rgba(99,102,241,.70);
  --arcm-focus-ring: rgba(99,102,241,.18);
  --arcm-danger: rgba(239,68,68,.85);
  --arcm-danger-ring: rgba(239,68,68,.14);
  --arcm-success: rgba(16,185,129,.85);
  --arcm-success-ring: rgba(16,185,129,.14);

  color: var(--arcm-text);
}

.arcm-form .arcm-grid{
  display: grid;
  gap: 14px;
}

@media (min-width: 720px){
  .arcm-form .arcm-grid{ grid-template-columns: 1fr 1fr; }
  .arcm-form .arcm-field--full{ grid-column: 1 / -1; }
}

.arcm-form .arcm-field label{
  display:block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--arcm-muted);
}

.arcm-form input[type="text"],
.arcm-form input[type="email"],
.arcm-form input[type="tel"],
.arcm-form input[type="url"],
.arcm-form input[type="number"],
.arcm-form select,
.arcm-form textarea{
  width: 100%;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--arcm-border);
  background: var(--arcm-bg);
  color: inherit;
  line-height: 1.2;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.arcm-form textarea{ min-height: 130px; resize: vertical; }

.arcm-form input::placeholder,
.arcm-form textarea::placeholder{
  color: rgba(148,163,184,.95);
}

.arcm-form input:focus,
.arcm-form select:focus,
.arcm-form textarea:focus{
  outline: none;
  border-color: var(--arcm-focus);
  box-shadow: 0 0 0 4px var(--arcm-focus-ring);
}

.arcm-form .arcm-field.arcm-has-error input,
.arcm-form .arcm-field.arcm-has-error select,
.arcm-form .arcm-field.arcm-has-error textarea{
  border-color: var(--arcm-danger);
  box-shadow: 0 0 0 4px var(--arcm-danger-ring);
}

.arcm-form .arcm-privacy{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  font-size: 13px;
  color: var(--arcm-muted);
}

.arcm-form .arcm-privacy input[type="checkbox"]{ margin-top: 3px; }

.arcm-form .arcm-actions{
  margin-top: 6px;
  display:flex;
  gap: 12px;
  align-items:center;
  flex-wrap: wrap;
}

.arcm-form .arcm-submit{
  appearance: none;
  border: 0;
  border-radius: 12px;
  padding: 12px 16px;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .2px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform .08s ease, opacity .15s ease;
}

.arcm-form .arcm-submit:active{ transform: translateY(1px); }

.arcm-form .arcm-submit[disabled]{ opacity: .65; cursor: not-allowed; }

.arcm-form .arcm-spinner{
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  display: none;
  animation: arcmSpin .65s linear infinite;
}

.arcm-form .arcm-submit.is-loading .arcm-spinner{ display: inline-block; }

@keyframes arcmSpin{
  to { transform: rotate(360deg); }
}

/* Notice */
.arcm-alert{
  display:none;
  margin-top:12px;
  padding:10px 12px;
  border-radius: var(--arcm-radius);
  border:1px solid var(--arcm-border);
  font-size:14px;
  line-height:1.35;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(8px);
}

.arcm-alert.is-visible{ display:block; }

/* Accept both: .is-success/.is-error + data-state="ok|error" */
.arcm-alert.is-success,
.arcm-alert[data-state="ok"]{
  border-color: var(--arcm-success);
  box-shadow: 0 0 0 4px var(--arcm-success-ring);
}

.arcm-alert.is-error,
.arcm-alert[data-state="error"]{
  border-color: var(--arcm-danger);
  box-shadow: 0 0 0 4px var(--arcm-danger-ring);
}

.arcm-field-msg{
  margin-top:8px;
  font-size:13px;
  line-height:1.3;
  color:#b91c1c;
}

/* Backward compatibility */
.input-group.is-field-error .input,
.arcm-field.arcm-has-error input,
.arcm-field.arcm-has-error textarea{
  outline: none;
}
