.pp-demand-capture { box-sizing: border-box; min-width: 0; max-width: 100%; overflow-wrap: anywhere; margin: 28px 0; padding: 28px; border: 1px solid var(--pp-border, #ded8ce); border-radius: 20px; background: var(--pp-card, #fffaf3); text-align: left; scroll-margin-top: 90px; color: var(--pp-text); }
.pp-demand-capture h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.25; }
.pp-demand-copy { color: var(--pp-neutral-ink); font-size: 15px; line-height: 1.6; margin: 0 0 20px; }
.pp-demand-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pp-demand-capture label { display: block; font-size: 14px; font-weight: 600; color: var(--pp-text); }
.pp-demand-capture input, .pp-demand-capture select { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; margin-top: 7px; border: 1px solid #8a8177; border-radius: 10px; background: var(--pp-bg, #fffaf3); color: var(--pp-text); font: inherit; font-size: 16px; }
.pp-demand-capture input::placeholder { color: var(--pp-neutral-ink); opacity: 1; }
.pp-demand-hint { color: var(--pp-neutral-ink); font-size: 13px; line-height: 1.6; margin: 14px 0; }
.pp-demand-capture a { color: var(--pp-text); text-decoration: underline; }
.pp-demand-capture button { min-height: 48px; padding: 12px 20px; border: 0; border-radius: 12px; background: var(--pp-text, #292524); color: var(--pp-card, #fffaf3); font: inherit; font-weight: 600; cursor: pointer; }
.pp-demand-capture button:disabled { opacity: .65; cursor: wait; }
.pp-demand-capture input:focus-visible, .pp-demand-capture select:focus-visible, .pp-demand-capture button:focus-visible { outline: 2px solid var(--pp-text); outline-offset: 3px; }
.pp-demand-status { color: var(--pp-neutral-ink); font-size: 15px; line-height: 1.6; margin: 12px 0 0; }
.pp-demand-status:empty { margin: 0; }
.pp-demand-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 700px) { .pp-demand-capture { padding: 20px; } .pp-demand-fields { grid-template-columns: 1fr; } .pp-demand-capture button { width: 100%; } }
/* Inside the /providers empty-state card, the form joins the card instead of nesting a second card. */
.pp-dir-empty .pp-demand-capture { border: 0; box-shadow: none; background: transparent; padding: 0; margin-top: 20px; }
