/* ProcuraOne — Supplier Registration form
   Scoped under .posup-wrap. Inherits the site's navy/emerald palette but
   defines safe fallbacks so it looks right on any page. */
.posup-wrap{
  --posup-navy:#10243A;
  --posup-emerald:#16B981;
  --posup-emerald-2:#2EE6A0;
  --posup-line:#dbe4ea;
  --posup-ink:#0f172a;
  --posup-muted:#5b6b78;
  --posup-radius:14px;
  max-width:880px;
  margin:0 auto;
  color:var(--posup-ink);
  font-family:inherit;
}
.posup-head{margin-bottom:22px;}
.posup-title{
  font-size:clamp(1.5rem,3vw,2rem);
  line-height:1.15;margin:0 0 8px;font-weight:700;
  color:var(--posup-navy);
}
.posup-sub{margin:0;color:var(--posup-muted);line-height:1.6;max-width:62ch;}

.posup-form{display:block;}
.posup-group{
  border:1px solid var(--posup-line);
  border-radius:var(--posup-radius);
  padding:18px 20px 22px;
  margin:0 0 18px;
  background:rgba(255,255,255,.6);
}
.posup-group > legend{
  font-weight:700;font-size:1.02rem;
  color:var(--posup-navy);
  padding:0 8px;margin-left:-8px;
}
.posup-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px 20px;
  margin-top:10px;
}
.posup-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.posup-field--wide{grid-column:1 / -1;}
.posup-field label,
.posup-field .posup-label{
  font-weight:600;font-size:.9rem;color:var(--posup-navy);
}
.posup-req{color:#dc2626;}
.posup-hint{font-size:.8rem;color:var(--posup-muted);font-weight:400;}
.posup-field input,
.posup-field select,
.posup-field textarea{
  width:100%;
  padding:11px 13px;
  border:1px solid var(--posup-line);
  border-radius:10px;
  background:#fff;
  font:inherit;color:var(--posup-ink);
  transition:border-color .2s,box-shadow .2s;
}
.posup-field input:focus,
.posup-field select:focus,
.posup-field textarea:focus{
  outline:none;
  border-color:var(--posup-emerald);
  box-shadow:0 0 0 3px rgba(22,185,129,.16);
}
.posup-field textarea{resize:vertical;min-height:72px;}
.posup-field.has-error input,
.posup-field.has-error select,
.posup-field.has-error textarea{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12);}
.posup-field__err{color:#dc2626;font-size:.8rem;}

/* checkbox group */
.posup-checks{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:8px 14px;margin-top:4px;
}
.posup-check{
  display:flex;align-items:flex-start;gap:8px;
  font-weight:400!important;font-size:.9rem;color:var(--posup-ink)!important;
  cursor:pointer;
}
.posup-check input{width:auto;margin-top:3px;flex:none;}

.posup-consent{
  display:flex;align-items:flex-start;gap:10px;
  font-weight:400!important;font-size:.9rem;line-height:1.5;color:var(--posup-ink)!important;
  cursor:pointer;
}
.posup-consent input{width:auto;margin-top:3px;flex:none;}

/* honeypot */
.posup-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

.posup-actions{display:flex;align-items:center;gap:14px;margin-top:6px;}
.posup-btn{
  appearance:none;border:0;cursor:pointer;
  padding:13px 28px;border-radius:999px;
  font:inherit;font-weight:700;font-size:1rem;
  color:#06231a;
  background:linear-gradient(135deg,var(--posup-emerald-2),var(--posup-emerald));
  box-shadow:0 10px 24px rgba(22,185,129,.28);
  transition:transform .2s,box-shadow .2s,opacity .2s;
}
.posup-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(22,185,129,.36);}
.posup-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.posup-spinner{
  width:20px;height:20px;border-radius:50%;
  border:2px solid rgba(22,185,129,.3);
  border-top-color:var(--posup-emerald);
  animation:posup-spin .7s linear infinite;
}
@keyframes posup-spin{to{transform:rotate(360deg)}}

.posup-alert{
  padding:14px 18px;border-radius:12px;margin-bottom:18px;font-weight:500;line-height:1.5;
}
.posup-alert--ok{background:#e7f8f1;color:#0f5132;border:1px solid #aee5cf;}
.posup-alert--err{background:#fdeaea;color:#842029;border:1px solid #f3bcbc;}

/* Dark-context adaptation (e.g. inside a dark section) */
.po-section--dark .posup-wrap,
.posup-wrap.is-dark{
  --posup-line:rgba(255,255,255,.16);
  --posup-ink:#fff;--posup-muted:rgba(255,255,255,.7);--posup-navy:#fff;
}
.po-section--dark .posup-group,
.posup-wrap.is-dark .posup-group{background:rgba(255,255,255,.04);}
.po-section--dark .posup-field input,
.po-section--dark .posup-field select,
.po-section--dark .posup-field textarea,
.posup-wrap.is-dark .posup-field input,
.posup-wrap.is-dark .posup-field select,
.posup-wrap.is-dark .posup-field textarea{background:rgba(255,255,255,.06);color:#fff;}

@media (max-width:640px){
  .posup-grid{grid-template-columns:1fr;}
}
