.pkfr-form{--pkfr-gap:1.25rem;max-width:1100px;margin:2rem auto}
.pkfr-form *{box-sizing:border-box}
.pkfr-form fieldset{border:0;padding:0;margin:2.2rem 0}
.pkfr-form legend{display:block;width:100%;font-size:1.45em;font-weight:700;margin-bottom:1rem}
.pkfr-grid{display:grid;gap:var(--pkfr-gap);margin-bottom:var(--pkfr-gap)}
.pkfr-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pkfr-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pkfr-form label{display:block;font-weight:600}
.pkfr-form input[type=text],.pkfr-form input[type=email],.pkfr-form input[type=tel],.pkfr-form input[type=date],.pkfr-form input[type=time],.pkfr-form input[type=datetime-local],.pkfr-form select,.pkfr-form textarea{display:block;width:100%;margin-top:.4rem;padding:.75rem;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;font:inherit}
.pkfr-datetime-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.6fr);gap:.75rem}
.pkfr-time-selects{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.pkfr-form textarea{resize:vertical}
.pkfr-form small{display:block;margin-top:.4rem;font-weight:400;line-height:1.4}
.pkfr-date-help{color:#b32d2e;font-weight:700}
.pkfr-live-summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(0,0,0,.15);border-radius:4px}
.pkfr-option{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:1rem;border:1px solid rgba(0,0,0,.15);border-radius:4px}
.pkfr-option label{font-weight:400;white-space:nowrap}
.pkfr-field-label{display:block;font-weight:600;margin-bottom:.6rem}
.pkfr-number-choices{display:flex;flex-wrap:wrap;gap:.6rem}
.pkfr-number-choices label{min-width:2.5rem;padding:.55rem;border:1px solid rgba(0,0,0,.15);border-radius:3px;text-align:center;font-weight:400}
.pkfr-total{padding:1.25rem!important;border:1px solid rgba(0,0,0,.2)!important;border-radius:4px}
.pkfr-total-row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(0,0,0,.1)}
.pkfr-grand-total{font-size:1.25em;border-bottom:0;margin-top:.5rem}
.pkfr-check{margin:.8rem 0;font-weight:400!important}
.pkfr-submit{display:block;width:100%;padding:1rem 1.5rem;margin-top:1.5rem;border:0;border-radius:4px;cursor:pointer;font:inherit;font-weight:700}
.pkfr-alert{padding:1rem;margin-bottom:1rem;border:1px solid #b32d2e;background:#fcf0f1;color:#8a2424}
.pkfr-validated :invalid{outline:2px solid #b32d2e;outline-offset:1px}
.pkfr-required{font-size:.9em}
@media(max-width:760px){.pkfr-grid-2,.pkfr-grid-3,.pkfr-datetime-row{grid-template-columns:1fr}.pkfr-live-summary{flex-direction:column}.pkfr-option{grid-template-columns:1fr auto auto}}
