.wct-form{max-width:560px;display:grid;gap:1rem}
.wct-form__field{display:grid;gap:.35rem}
.wct-form__field label{font-weight:600;font-size:.9rem}
.wct-form__req{color:#c0392b;margin-left:.15rem}
.wct-form input[type=text],.wct-form input[type=email],.wct-form input[type=tel],
.wct-form input[type=url],.wct-form input[type=number],.wct-form input[type=date],
.wct-form input[type=time],.wct-form select,.wct-form textarea{
	width:100%;padding:.65rem .8rem;border:1px solid #cbd2d9;border-radius:6px;
	font:inherit;background:#fff;transition:border-color .15s,box-shadow .15s}
.wct-form input:focus,.wct-form select:focus,.wct-form textarea:focus{
	outline:none;border-color:#2f6fed;box-shadow:0 0 0 3px rgba(47,111,237,.18)}
.wct-form__choices{display:grid;gap:.4rem}
.wct-form__choice{display:flex;align-items:center;gap:.5rem;font-weight:400}
.wct-form__submit{justify-self:start;padding:.7rem 1.6rem;border:0;border-radius:6px;
	background:#2f6fed;color:#fff;font:inherit;font-weight:600;cursor:pointer;
	transition:background .15s}
.wct-form__submit:hover{background:#1f56c8}
.wct-form__submit:disabled{opacity:.6;cursor:wait}
.wct-form__error{color:#c0392b;font-size:.82rem}
.wct-form__message{padding:.8rem 1rem;border-radius:6px;font-weight:500}
.wct-form__message--success{background:#e6f6ec;color:#1d7a3f;border:1px solid #bfe6cd}
.wct-form__message--error{background:#fdecec;color:#b03030;border:1px solid #f3c6c6}
/* Honeypot: visually removed but present in the DOM for bots. */
.wct-form__hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;overflow:hidden}
/* RTL support */
[dir=rtl] .wct-form__submit{justify-self:end}

/* Multi-step */
.wct-form__progress{display:flex;gap:8px}
.wct-form__progress-dot{width:10px;height:10px;border-radius:50%;background:#d5d9de}
.wct-form__progress-dot.is-active{background:#2f6fed}
.wct-form__nav{display:flex;gap:10px;margin-top:.5rem}
.wct-form__next,.wct-form__prev{padding:.55rem 1.2rem;border:1px solid #cbd2d9;border-radius:6px;background:#fff;font:inherit;cursor:pointer}
.wct-form__next:hover,.wct-form__prev:hover{border-color:#2f6fed;color:#2f6fed}

/* Range */
.wct-form__range{display:flex;align-items:center;gap:12px}
.wct-form__range input[type=range]{flex:1}
.wct-form__range output{min-width:2.5em;text-align:center;font-weight:600}

/* Star rating */
.wct-form__stars{display:inline-flex;flex-direction:row-reverse;gap:4px}
.wct-form__star input{position:absolute;opacity:0;width:0;height:0}
.wct-form__star span[aria-hidden]{font-size:1.8rem;color:#cfd4da;cursor:pointer;transition:color .12s}
.wct-form__star:hover span[aria-hidden],
.wct-form__star:hover ~ .wct-form__star span[aria-hidden],
.wct-form__star input:checked ~ span[aria-hidden],
.wct-form__star:has(input:checked) ~ .wct-form__star span[aria-hidden]{color:#f5b301}

/* Emoji rating */
.wct-form__emojis{display:inline-flex;gap:8px}
.wct-form__emoji input{position:absolute;opacity:0;width:0;height:0}
.wct-form__emoji span[aria-hidden]{font-size:1.7rem;cursor:pointer;filter:grayscale(1);transition:filter .12s,transform .12s;display:inline-block}
.wct-form__emoji:hover span[aria-hidden],
.wct-form__emoji input:checked + span[aria-hidden]{filter:none;transform:scale(1.15)}

/* Signature */
.wct-form__signature{border:1px dashed #cbd2d9;border-radius:6px;background:#fff;touch-action:none;max-width:100%}
.wct-form__sig-clear{margin-top:6px;background:none;border:none;color:#2f6fed;cursor:pointer;padding:0;font:inherit;font-size:.85rem}

/* Math captcha */
.wct-form__mc-question{font-weight:700;margin-right:8px}
.wct-form__field--math_captcha input[type=number]{max-width:120px}

.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Dark mode */
@media (prefers-color-scheme: dark){
	.wct-form input[type=text],.wct-form input[type=email],.wct-form input[type=tel],
	.wct-form input[type=url],.wct-form input[type=number],.wct-form input[type=date],
	.wct-form input[type=time],.wct-form input[type=datetime-local],.wct-form input[type=password],
	.wct-form select,.wct-form textarea{background:#1e2227;border-color:#3a4047;color:#e6e9ec}
	.wct-form__field label{color:#e6e9ec}
	.wct-form__next,.wct-form__prev{background:#1e2227;border-color:#3a4047;color:#e6e9ec}
	.wct-form__signature{background:#f4f5f6}
}

/* Layout rows & columns (up to 5), fully responsive */
.wct-form{max-width:100%}
.wct-form__row{display:grid;grid-template-columns:repeat(var(--wct-cols,1),1fr);gap:1rem;align-items:start}
.wct-form__col{display:grid;gap:1rem;min-width:0}
@media (max-width:900px){
	.wct-form__row{grid-template-columns:repeat(min(var(--wct-cols,1),2),1fr)}
}
@media (max-width:600px){
	.wct-form__row{grid-template-columns:1fr}
}

/* Label in front of the field */
.wct-form__field--label-left{grid-template-columns:minmax(90px,30%) 1fr;align-items:center;column-gap:.75rem}
.wct-form__field--label-left>label{margin:0}
.wct-form__field--label-left>.wct-form__error{grid-column:2}
@media (max-width:600px){
	.wct-form__field--label-left{grid-template-columns:1fr}
	.wct-form__field--label-left>.wct-form__error{grid-column:1}
}
