/**
 * PinMeOut contact form.
 * Inherits the theme's tokens where they exist. Logical properties only.
 */

.pmoc{
  --pmoc-text:var(--text,#0F172A);
  --pmoc-muted:var(--muted,#64748B);
  --pmoc-border:var(--border,#E2E8F0);
  --pmoc-primary:var(--primary,#2563EB);
  --pmoc-danger:var(--danger,#DC2626);
  --pmoc-radius:var(--radius-sm,10px);
  max-width:680px;
  margin-block:24px;
}

.pmoc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.pmoc-field{margin:0 0 18px}
.pmoc-field label{
  display:block;margin-bottom:6px;
  font-size:.88rem;font-weight:600;color:var(--pmoc-text);
}
.pmoc-field label span{color:var(--pmoc-danger)}
.pmoc-field input,
.pmoc-field textarea{
  width:100%;font:inherit;color:var(--pmoc-text);
  padding:12px 14px;background:#fff;
  border:1px solid var(--pmoc-border);border-radius:var(--pmoc-radius);
}
.pmoc-field textarea{resize:vertical;min-height:150px}
.pmoc-field input:focus,
.pmoc-field textarea:focus{
  border-color:var(--pmoc-primary);outline:none;
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
}
/* Only flag a field once the visitor has actually finished with it. */
.pmoc-field input:user-invalid,
.pmoc-field textarea:user-invalid{border-color:var(--pmoc-danger)}

.pmoc-submit{
  font:inherit;font-weight:600;cursor:pointer;
  padding:14px 28px;border:1px solid transparent;border-radius:var(--pmoc-radius);
  background:var(--pmoc-primary);color:#fff;
}
.pmoc-submit:hover{background:var(--primary-hover,#1D4ED8)}

/* The honeypot must be unreachable for people but present for bots:
   off-canvas rather than display:none, which some bots skip. */
.pmoc-hp{
  position:absolute;inset-inline-start:-9999px;
  width:1px;height:1px;overflow:hidden;
}
html[dir="rtl"] .pmoc-hp{
  /* A negative inline offset extends the RTL scroll area and produces a
     page-wide horizontal scrollbar. Clip instead. */
  inset-inline-start:auto;
  clip-path:inset(50%);
}

.pmoc-errors{
  margin:0 0 20px;padding:14px 18px;
  background:#FEF2F2;border:1px solid #FECACA;border-radius:var(--pmoc-radius);
}
.pmoc-errors ul{margin:0;padding-inline-start:18px;color:#991B1B;font-size:.93rem}

.pmoc-success{
  max-width:680px;margin-block:24px;padding:24px 26px;
  background:#F0FDF4;border:1px solid #BBF7D0;border-radius:var(--radius,14px);
}
.pmoc-success h3{margin:0 0 8px;color:#166534}
.pmoc-success p{margin:0;color:#15803D}

@media (max-width:640px){
  .pmoc-grid{grid-template-columns:1fr}
  .pmoc-submit{width:100%}
}
