.kf-form { max-width: 100%; }
.kf-form label { display: block; font-weight: 600; }
.kf-form input:not([type=radio]):not([type=checkbox]),.kf-form select,.kf-form textarea { display: block; width: 100%; min-height: 48px; font: inherit; padding: .75rem; margin-top: .5rem; border: 1px solid #777; border-radius: 6px; box-sizing: border-box; }
.kf-form fieldset { min-width: 0; border: 0; padding: 0; margin: 1.5rem 0; }
.kf-form legend { font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem; }
.kf-form button { min-height: 48px; cursor: pointer; font: inherit; padding: .75rem 1.25rem; }
.kf-form [hidden] { display: none !important; }
.kf-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin-bottom: 1.25rem; }
.kf-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.kf-choice { display: flex !important; align-items: flex-start; gap: .75rem; border: 1px solid #777; border-radius: 10px; padding: 1.25rem; min-height: 64px; box-sizing: border-box; cursor: pointer; }
.kf-choice input { flex: 0 0 auto; margin: .25rem 0 0; width: 20px; height: 20px; }
.kf-choice span { min-width: 0; }
.kf-choice small { display: block; font-size: .875rem; font-weight: 400; margin-top: .35rem; }
.kf-step-controls { display: none; }
.kf-enhanced .kf-step-controls { display: flex; gap: 1rem; justify-content: space-between; margin-top: 1.5rem; }
.kf-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.kf-feedback:not(:empty),.kf-notice { border-left: 3px solid #B8955A; padding: 1rem 1.25rem; margin: 1rem 0; }
.kf-form progress { width: 100%; height: 6px; accent-color: #B8955A; }
.kf-progress { font-size: .875rem; }
.kf-summary { display: grid; grid-template-columns: 1fr 2fr; gap: .75rem; }
.kf-summary dd { margin: 0; }
.kf-result-label { font-size: 1.6rem; font-weight: 600; }
.kf-form :focus-visible { outline: 3px solid #B8955A; outline-offset: 4px; }
.kf-form button:disabled { opacity: .65; cursor: not-allowed; }
@media(max-width:600px) { .kf-form-grid,.kf-choices { grid-template-columns: 1fr; } .kf-summary { grid-template-columns: 1fr; gap: .3rem; } .kf-summary dd { margin-bottom: .75rem; } }
