/* WAB Forms — front-end form styles.
   All themeable values use CSS variables with sensible fallbacks.
   The client plugin overrides these via .wab-form { --wab-*: ... } baked into <head>. */
.wab-form-fields{display:flex;flex-direction:column;gap:var(--wab-gap,14px);max-width:560px}
.wab-field{display:flex;flex-direction:column;gap:4px}
.wab-label{font-weight:600;font-size:14px;color:var(--wab-label-color,#111827)}
.wab-req{color:var(--wab-error-color,#d63638)}
.wab-help{font-size:12px;color:#6b7280}
.wab-input{
	width:100%;
	padding:var(--wab-field-pad-y,10px) 12px;
	color:var(--wab-field-text,#1f2937);
	background:var(--wab-field-bg,#fff);
	border:var(--wab-field-border-w,1px) solid var(--wab-field-border,#d1d5db);
	border-radius:var(--wab-field-radius,8px);
	font-size:var(--wab-field-font,15px);
	font-family:inherit;box-sizing:border-box
}
.wab-input:focus{
	outline:none;
	border-color:var(--wab-field-focus,#2563eb);
	box-shadow:0 0 0 3px color-mix(in srgb, var(--wab-field-focus,#2563eb) 22%, transparent)
}
textarea.wab-input{min-height:110px;resize:vertical}
input.wab-file{padding:8px;font-size:14px;cursor:pointer}input.wab-file::-webkit-file-upload-button,input.wab-file::file-selector-button{margin-right:10px;padding:6px 12px;border:1px solid var(--wab-field-border,#d1d5db);border-radius:var(--wab-field-radius,8px);background:#f4f6fa;color:var(--wab-field-text,#1f2937);font-size:13px;cursor:pointer}
.wab-choices{display:flex;flex-direction:column;gap:6px}
.wab-name-row{display:flex;gap:12px;flex-wrap:wrap}
.wab-name-col{flex:1;min-width:140px;display:flex;flex-direction:column}
.wab-name-col .wab-label{margin-bottom:4px}
.wab-choice{display:flex;align-items:flex-start;gap:6px;font-size:14px;cursor:pointer}
.wab-consent{font-size:13px}
.wab-consent a{color:var(--wab-field-focus,#2563eb);text-decoration:underline}
.wab-heading{margin:8px 0 0;font-size:18px}
.wab-paragraph{margin:0;color:#374151;font-size:14px}
.wab-divider{border:none;border-top:1px solid #e5e7eb;margin:8px 0}
.wab-rating{display:flex;gap:4px;font-size:26px;color:#d1d5db;cursor:pointer}
.wab-star.is-on{color:#f59e0b}
.wab-field-invalid .wab-input,.wab-field-invalid .wab-choices{outline:2px solid var(--wab-error-color,#d63638);border-radius:var(--wab-field-radius,8px)}
.wab-form-submit{
	padding:var(--wab-btn-pad-y,12px) var(--wab-btn-pad-x,22px);
	width:var(--wab-btn-width,auto);
	background:var(--wab-btn-bg,#2563eb);
	color:var(--wab-btn-text,#fff);
	border:none;border-radius:var(--wab-btn-radius,8px);
	font-size:var(--wab-btn-font,15px);font-weight:600;cursor:pointer;align-self:flex-start
}
.wab-form-submit:hover{background:var(--wab-btn-hover,#1d4ed8)}
.wab-form-submit:disabled{opacity:.6;cursor:default}
.wab-form-submit.is-loading::after{content:'…'}
.wab-form-msg{font-size:14px}
.wab-form-msg.is-error{color:var(--wab-error-color,#d63638)}
.wab-form-success{padding:16px 18px;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;color:#065f46;font-size:15px}
.wab-form-error{padding:16px 18px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:15px}
.wab-form-loading{color:#6b7280;font-size:14px;padding:8px 0}
.wab-form-turnstile{margin:4px 0}
