
/* PressMedic public forms — modern commercial form system */
.pmai-public-form-wrap{
  --pmai-form-accent:#1677ff;
  --pmai-form-accent-hover:#0f64d8;
  --pmai-form-text:#1d2b3a;
  --pmai-form-muted:#6b7d91;
  --pmai-form-border:#d9e2ec;
  --pmai-form-surface:#ffffff;
  --pmai-form-soft:#f7f9fc;
  --pmai-form-success:#137a48;
  width:100%;
  max-width:820px;
  margin:0 auto;
  color:var(--pmai-form-text);
  font:inherit;
}
.pmai-public-form-wrap *{box-sizing:border-box}
.pmai-form-heading{margin:0 0 18px}
.pmai-form-heading h3{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.15;color:var(--pmai-form-text)}
.pmai-public-form{
  position:relative;
  padding:clamp(22px,4vw,38px);
  border:1px solid var(--pmai-form-border);
  border-radius:20px;
  background:var(--pmai-form-surface);
  box-shadow:0 18px 50px rgba(25,55,90,.08);
}
.pmai-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 18px;
}
.pmai-form-field{margin:0;min-width:0}
.pmai-form-field-wide{grid-column:1/-1}
.pmai-form-label{
  display:block;
  margin:0 0 7px;
  color:#29435f;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
}
.pmai-required{color:#d34848;margin-left:2px}
.pmai-public-form input:not([type="hidden"]),
.pmai-public-form textarea,
.pmai-public-form select{
  display:block;
  width:100%;
  min-height:50px;
  margin:0;
  padding:13px 15px;
  border:1px solid var(--pmai-form-border);
  border-radius:11px;
  outline:0;
  background:#fff;
  color:var(--pmai-form-text);
  font:inherit;
  font-size:15px;
  line-height:1.4;
  box-shadow:0 1px 2px rgba(16,42,67,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.pmai-public-form textarea{min-height:150px;resize:vertical}
.pmai-public-form input::placeholder,
.pmai-public-form textarea::placeholder{color:#9aa9b8;opacity:1}
.pmai-public-form input:not([type="hidden"]):hover,
.pmai-public-form textarea:hover,
.pmai-public-form select:hover{border-color:#bdcad7}
.pmai-public-form input:not([type="hidden"]):focus,
.pmai-public-form textarea:focus,
.pmai-public-form select:focus{
  border-color:var(--pmai-form-accent);
  box-shadow:0 0 0 4px rgba(22,119,255,.10);
}
.pmai-form-submit-row{
  display:flex;
  align-items:flex-start!important;
  flex-direction:column!important;
  gap:12px;
  margin-top:28px;
}
.pmai-form-submit{
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 22px;
  border:0;
  border-radius:11px;
  background:var(--pmai-form-accent);
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(22,119,255,.20);
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.pmai-form-submit:hover{
  transform:translateY(-1px);
  background:var(--pmai-form-accent-hover);
  color:#fff;
  box-shadow:0 11px 24px rgba(22,119,255,.24);
}
.pmai-form-submit:focus-visible{
  outline:3px solid rgba(22,119,255,.22);
  outline-offset:3px;
}
.pmai-form-submit-arrow{font-size:18px;line-height:1;transition:transform .16s ease}
.pmai-form-submit:hover .pmai-form-submit-arrow{transform:translateX(3px)}
.pmai-form-privacy-note{
  display:block;
  width:100%!important;
  color:var(--pmai-form-muted);
  font-size:12px;
  line-height:1.55;
}
.pmai-form-success{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 15px;
  padding:13px 15px;
  border:1px solid #bfe8d1;
  border-radius:12px;
  background:#f1fff7;
  color:var(--pmai-form-success);
  font-size:13px;
  font-weight:700;
}
.pmai-form-success-icon{
  display:inline-flex;
  width:24px;
  height:24px;
  flex:0 0 24px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#d9f7e6;
  font-weight:900;
}
.pmai-form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.pmai-form-style-minimal .pmai-public-form{
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.pmai-form-style-soft .pmai-public-form{
  border-color:#e3ebf3;
  background:var(--pmai-form-soft);
  box-shadow:none;
}
.pmai-form-style-framed{padding:clamp(14px,2.5vw,26px);border:1px solid rgba(22,119,255,.18);border-radius:28px;background:linear-gradient(145deg,#eef7ff,#f4fffb);box-shadow:0 28px 70px rgba(18,54,91,.12)}
.pmai-form-style-framed .pmai-public-form{border-color:rgba(255,255,255,.9);box-shadow:0 14px 38px rgba(18,54,91,.10)}
.pmai-form-style-split{max-width:1040px;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);overflow:hidden;border-radius:28px;background:#0b1d34;box-shadow:0 28px 75px rgba(8,26,48,.2)}
.pmai-form-style-split:before{content:"Let's build something better.";display:flex;min-height:100%;align-items:flex-end;padding:clamp(28px,5vw,54px);background:linear-gradient(180deg,rgba(4,18,38,.12),rgba(4,18,38,.88)),var(--pmai-form-image,linear-gradient(145deg,#1677ff,#21c7a8));background-position:center;background-size:cover;color:#fff;font-size:clamp(26px,3vw,42px);font-weight:850;line-height:1.08}
.pmai-form-style-split .pmai-form-heading{display:none}
.pmai-form-style-split .pmai-public-form{border:0;border-radius:0;box-shadow:none}
.pmai-form-style-glass{max-width:960px;padding:clamp(28px,6vw,72px);border-radius:30px;background:linear-gradient(135deg,rgba(5,21,43,.72),rgba(20,103,128,.42)),var(--pmai-form-image,linear-gradient(135deg,#071a32,#176d7f));background-position:center;background-size:cover;box-shadow:0 30px 80px rgba(4,20,38,.24)}
.pmai-form-style-glass .pmai-form-heading h3{color:#fff}
.pmai-form-style-glass .pmai-public-form{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.9);box-shadow:0 20px 55px rgba(3,18,36,.24);backdrop-filter:blur(14px)}
@media(max-width:680px){
  .pmai-form-grid{grid-template-columns:1fr;gap:16px}
  .pmai-form-field-wide{grid-column:auto}
  .pmai-public-form{padding:20px;border-radius:15px}
  .pmai-form-submit-row{align-items:stretch}
  .pmai-form-submit{width:100%}
  .pmai-form-style-framed,.pmai-form-style-glass{padding:14px;border-radius:18px}
  .pmai-form-style-split{display:block;border-radius:18px}
  .pmai-form-style-split:before{min-height:210px;padding:28px}
}
@media(prefers-reduced-motion:reduce){
  .pmai-public-form input,
  .pmai-public-form textarea,
  .pmai-public-form select,
  .pmai-form-submit,
  .pmai-form-submit-arrow{transition:none}
}
