form.zdfb-form,.zdfb-form{width:100%;max-width:none;box-sizing:border-box;font-family:inherit}
.zdfb-fields{display:flex;flex-wrap:wrap;margin:calc(var(--zdfb-field-gap,12px) / -2)}
.zdfb-col{box-sizing:border-box;padding:calc(var(--zdfb-field-gap,12px) / 2);width:100%}
.zdfb-w100{width:100%}.zdfb-w50{width:50%}.zdfb-w33{width:33.333%}
.zdfb-form label{display:block;font-weight:var(--zdfb-label-weight,600);margin:0 0 var(--zdfb-label-gap,4px);color:var(--zdfb-label-color,#1d2327);font-size:var(--zdfb-label-size,16px)}
.zdfb-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.zdfb-form textarea,.zdfb-form select{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:var(--zdfb-input-padding,12px);background:var(--zdfb-input-bg,#fff);color:var(--zdfb-input-color,#1d2327);border:1px solid var(--zdfb-input-border,#c3c4c7);border-radius:var(--zdfb-input-radius,5px);font-size:var(--zdfb-input-size,16px);font-weight:var(--zdfb-input-weight,400);font-family:inherit}
.zdfb-form .zdfb-col>textarea,.zdfb-form .zdfb-col>select,.zdfb-form .zdfb-col>.zdfb-date,.zdfb-form .zdfb-date-btn{width:100%;max-width:none;margin:0;box-sizing:border-box}
.zdfb-form textarea{min-height:130px;resize:vertical}
.zdfb-form>button,.zdfb-form .zdfb-submit,.zdfb-form .zdfb-next{background:var(--zdfb-accent,#2271b1);color:var(--zdfb-button-color,#fff);border:0;border-radius:var(--zdfb-button-radius,5px);padding:var(--zdfb-button-padding,12px) calc(var(--zdfb-button-padding,12px) * 1.8);font-size:var(--zdfb-button-size,16px);font-weight:var(--zdfb-button-weight,600);font-family:inherit;cursor:pointer}
.zdfb-form .zdfb-submit.is-loading{display:inline-flex;align-items:center;gap:8px;cursor:progress}
.zdfb-form .zdfb-submit.is-loading:before{content:"";width:1em;height:1em;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:zdfb-spin .7s linear infinite}
@keyframes zdfb-spin{to{transform:rotate(360deg)}}
.zdfb-form .zdfb-prev{background:#fff;color:var(--zdfb-input-color,#1d2327);border:1px solid var(--zdfb-input-border,#c3c4c7);border-radius:var(--zdfb-button-radius,5px);padding:var(--zdfb-button-padding,12px) calc(var(--zdfb-button-padding,12px) * 1.4);font-size:var(--zdfb-button-size,16px);font-weight:var(--zdfb-button-weight,600);font-family:inherit;cursor:pointer}
.zdfb-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:var(--zdfb-field-gap,12px)}
.zdfb-multi .zdfb-next,.zdfb-multi .zdfb-nav .zdfb-submit{margin-left:auto}
.zdfb-page-panel[hidden],.zdfb-nav [hidden],.zdfb-step[hidden]{display:none!important}
.zdfb-progress{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.zdfb-step{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f0f0f1;color:#646970;font-size:13px;font-weight:600}
.zdfb-step>span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#dcdcde;color:#1d2327;font-size:12px}
.zdfb-step.is-current{background:#f0f6fc;color:#1d2327}
.zdfb-step.is-current>span,.zdfb-step.is-done>span{background:var(--zdfb-accent,#2271b1);color:#fff}
.zdfb-page-title{margin:0 0 12px;font-size:22px;line-height:1.3}
.zdfb-choice{font-weight:400!important;margin:7px 0!important}
.zdfb-text-heading{display:block;margin:0 0 6px;font-size:var(--zdfb-label-size,16px);font-weight:var(--zdfb-label-weight,600);color:var(--zdfb-label-color,#1d2327)}
.zdfb-text p{margin:0 0 8px}
.zdfb-text p:last-child{margin-bottom:0}
.zdfb-text a{color:var(--zdfb-accent,#2271b1)}
.zdfb-text-plain{white-space:pre-wrap}
.zdfb-divider{display:block;width:100%;height:0;border:0;border-top:1px solid #8c8f94;margin:12px 0}
.zdfb-recaptcha-note,.zdfb-recaptcha-placeholder{margin:0;padding:12px 14px;border:1px dashed #c3c4c7;border-radius:6px;color:#646970;background:#f6f7f7}
.zdfb-error{color:#b32d2e;font-size:.88em}
.zdfb-invalid{border-color:#b32d2e!important}
.zdfb-hp{position:absolute!important;left:-9999px!important}
.zdfb-success{padding:12px 15px;background:#edfaef;border:1px solid #7ad03a;border-radius:5px;margin-bottom:15px}
.zdfb-date{position:relative}
.zdfb-date-btn{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;box-sizing:border-box;cursor:pointer;background:var(--zdfb-input-bg,#fff);color:var(--zdfb-input-color,#1d2327);border:1px solid var(--zdfb-input-border,#c3c4c7);border-radius:var(--zdfb-input-radius,5px);padding:var(--zdfb-input-padding,12px);font-size:var(--zdfb-input-size,16px);font-weight:var(--zdfb-input-weight,400);font-family:inherit}
.zdfb-date-btn:after{content:"";width:18px;height:18px;margin-left:12px;flex:none;background:var(--zdfb-accent,#2271b1);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2zm11 8H6v10h12V10z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2zm11 8H6v10h12V10z'/%3E%3C/svg%3E") center/contain no-repeat}
.zdfb-date-pop{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:292px;max-width:100%;box-sizing:border-box;background:#fff;border:1px solid #dcdcde;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.14);padding:12px}
.zdfb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.zdfb-cal-head strong{font-size:14px}
.zdfb-cal-nav{width:32px;height:32px;border:0;border-radius:8px;background:#f0f0f1;cursor:pointer;font-size:18px;line-height:1}
.zdfb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.zdfb-cal-dow{margin-bottom:4px}
.zdfb-cal-dow span{text-align:center;font-size:11px;color:#646970;font-weight:600}
.zdfb-day{height:34px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:13px}
.zdfb-day:hover{background:#f0f6fc}
.zdfb-day.is-today{box-shadow:inset 0 0 0 1px var(--zdfb-accent,#2271b1)}
.zdfb-day.is-selected,.zdfb-day.is-selected:hover{background:var(--zdfb-accent,#2271b1);color:#fff}
.zdfb-date-time{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f1}
.zdfb-date-time label{margin:0;font-size:12px}
.zdfb-form .zdfb-date-time select{width:auto;flex:1;padding:8px}
@media(max-width:650px){.zdfb-w50,.zdfb-w33{width:100%}}
