.jco-public-form-shell{--jco-form-blue:#0853bf;--jco-form-text:#111827;--jco-form-muted:#5f6b7a;--jco-form-border:#c5ced8;--jco-form-surface:#fff;width:100%;color:var(--jco-form-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.jco-public-form-description{margin:0 0 22px;color:var(--jco-form-muted);line-height:1.6}.jco-public-form{display:grid;gap:20px}.jco-form-field>label{display:block;margin-bottom:7px;font-weight:700}.jco-form-field-description{margin:-2px 0 8px;color:var(--jco-form-muted);font-size:13px}.jco-form-field input[type=text],.jco-form-field input[type=email],.jco-form-field input[type=number],.jco-form-field input[type=tel],.jco-form-field textarea,.jco-form-field select{width:100%;min-height:46px;box-sizing:border-box;padding:10px 12px;background:var(--jco-form-surface);color:var(--jco-form-text);border:1px solid var(--jco-form-border);border-radius:10px;font:inherit}.jco-form-field textarea{min-height:130px;resize:vertical}.jco-form-field input:focus,.jco-form-field textarea:focus,.jco-form-field select:focus{outline:3px solid rgba(79,175,251,.24);border-color:var(--jco-form-blue)}.jco-form-field--section{padding-top:8px;border-bottom:1px solid #dde3ea}.jco-form-field--section h3{margin:0 0 6px}.jco-choice-list{display:grid;gap:9px}.jco-choice{display:flex;align-items:center;gap:9px}.jco-form-required{color:#c6283d}.jco-form-submit button{min-height:46px;padding:11px 20px;background:var(--jco-form-blue);color:#fff;border:0;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.jco-form-submit button:hover{filter:brightness(.95)}.jco-form-message{margin-bottom:20px;padding:14px 16px;border-radius:10px}.jco-form-message--success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.jco-form-message--error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.jco-form-message ul{margin-bottom:0}.jco-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}


.jco-form-submit button:disabled {
	opacity: .68;
	cursor: wait;
}


/* Build 0025 — advanced field engine */
.jco-form-message--warning {
	background: #fffbeb;
	color: #92400e;
	border: 1px solid #fcd34d;
}

.jco-form-page[hidden],
.jco-form-field[hidden],
.jco-public-form [hidden] {
	display: none !important;
}

.jco-form-page-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 22px;
}

.jco-form-primary-button,
.jco-form-secondary-button {
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 10px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.jco-form-primary-button {
	background: var(--jco-form-blue);
	color: #fff;
	border: 1px solid var(--jco-form-blue);
}

.jco-form-secondary-button {
	background: #fff;
	color: var(--jco-form-text);
	border: 1px solid var(--jco-form-border);
}

.jco-form-link-button {
	margin-top: 7px;
	padding: 0;
	background: transparent;
	color: var(--jco-form-blue);
	border: 0;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.jco-form-recaptcha {
	display: grid;
	gap: 8px;
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #e2e8f0;
}

.jco-form-recaptcha small {
	color: var(--jco-form-muted);
	font-size: 12px;
}

.jco-form-layout {
	display: grid;
	gap: 18px;
}

.jco-form-layout--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jco-form-layout--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jco-form-layout--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jco-address-grid,
.jco-date-time-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.jco-address-grid label,
.jco-date-time-grid label {
	display: grid;
	gap: 5px;
	color: var(--jco-form-muted);
	font-size: 12px;
	font-weight: 700;
}

.jco-form-field--file_upload small,
.jco-form-field--password small {
	display: block;
	margin-top: 6px;
	color: var(--jco-form-muted);
	font-size: 12px;
}

.jco-rich-text-input {
	min-height: 130px;
	padding: 10px 12px;
	background: #fff;
	color: var(--jco-form-text);
	border: 1px solid var(--jco-form-border);
	border-radius: 10px;
}

.jco-rich-text-input:focus {
	outline: 3px solid rgba(79,175,251,.24);
	border-color: var(--jco-form-blue);
}

.jco-rating {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 2px;
}

.jco-rating input {
	position: absolute;
	opacity: 0;
}

.jco-rating span[aria-hidden="true"] {
	color: #cbd5e1;
	font-size: 30px;
	cursor: pointer;
}

.jco-rating label:hover span[aria-hidden="true"],
.jco-rating label:hover ~ label span[aria-hidden="true"],
.jco-rating input:checked ~ span[aria-hidden="true"] {
	color: #f59e0b;
}

.jco-custom-captcha-question {
	margin-bottom: 8px;
	font-weight: 700;
}

.jco-signature-wrap canvas {
	display: block;
	width: 100%;
	height: 180px;
	background:
		linear-gradient(transparent 82%, #d7dee7 82%, #d7dee7 83%, transparent 83%),
		#fff;
	border: 1px solid var(--jco-form-border);
	border-radius: 10px;
	touch-action: none;
}

.jco-likert-wrap {
	overflow-x: auto;
}

.jco-likert {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
}

.jco-likert th,
.jco-likert td {
	padding: 10px;
	border: 1px solid #e2e8f0;
	text-align: center;
}

.jco-likert tbody th {
	text-align: left;
}

.jco-nps-labels {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 8px;
	color: var(--jco-form-muted);
	font-size: 12px;
}

.jco-nps-scale {
	display: grid;
	grid-template-columns: repeat(11, minmax(30px, 1fr));
	gap: 4px;
}

.jco-nps-scale input {
	position: absolute;
	opacity: 0;
}

.jco-nps-scale span {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 7px;
	cursor: pointer;
	font-weight: 700;
}

.jco-nps-scale input:checked + span {
	background: var(--jco-form-blue);
	color: #fff;
	border-color: var(--jco-form-blue);
}

.jco-form-field--entry_preview {
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 12px;
}

.jco-form-field--entry_preview h3 {
	margin-top: 0;
}

.jco-form-field--entry_preview dl {
	display: grid;
	gap: 8px;
	margin: 0;
}

.jco-form-field--entry_preview dl > div {
	display: grid;
	grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr);
	gap: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e2e8f0;
}

.jco-form-field--entry_preview dt {
	color: var(--jco-form-muted);
	font-weight: 700;
}

.jco-form-field--entry_preview dd {
	margin: 0;
}

.jco-payment-single,
.jco-payment-choice,
.jco-form-field--total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.jco-payment-choice strong {
	margin-left: auto;
}

.jco-form-field--total {
	padding: 15px 16px;
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
}

.jco-form-field--total strong {
	font-size: 20px;
}

.jco-coupon-input {
	display: flex;
	gap: 8px;
}

.jco-coupon-input input {
	flex: 1;
}

.jco-coupon-message {
	margin-top: 6px;
	font-size: 12px;
}

.jco-coupon-message.is-valid {
	color: #166534;
}

.jco-coupon-message.is-invalid {
	color: #b91c1c;
}

@media (max-width: 760px) {
	.jco-form-layout--2,
	.jco-form-layout--3,
	.jco-form-layout--4,
	.jco-address-grid,
	.jco-date-time-grid {
		grid-template-columns: 1fr;
	}

	.jco-nps-scale {
		grid-template-columns: repeat(6, 1fr);
	}
}

/* Build 0026 — Fancy Field Polish */
.jco-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jco-name-grid.has-middle{grid-template-columns:repeat(3,minmax(0,1fr))}.jco-name-grid label,.jco-date-time label,.jco-address-grid label{display:grid;gap:5px}.jco-name-grid span,.jco-date-time span,.jco-address-grid label>span{font-size:12px;color:var(--jco-form-muted);font-weight:700}.jco-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jco-address-part--street,.jco-address-part--line2,.jco-address-part--country{grid-column:1/-1}.jco-address-grid.is-brazil .jco-address-part--street{grid-column:auto}.jco-date-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jco-date-dropdowns{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:6px}.jco-upload-dropzone{display:grid!important;place-items:center;gap:5px;min-height:140px;padding:20px;background:#f8fbff;border:2px dashed #80bdf4!important;border-radius:12px;text-align:center;cursor:pointer}.jco-upload-dropzone:hover{background:#eef6ff}.jco-upload-dropzone>strong{color:#0753bf;font-size:15px}.jco-upload-dropzone>span,.jco-upload-dropzone>small{color:#64748b}.jco-upload-dropzone input[type=file]{max-width:100%;margin-top:8px}.jco-upload-dropzone [data-jco-upload-list]{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:6px}.jco-upload-dropzone [data-jco-upload-list] span{padding:4px 7px;background:#fff;border:1px solid #cbd5e1;border-radius:999px;font-size:10px}.jco-password-stack{display:grid;gap:8px}.jco-rating{display:flex;gap:5px;flex-wrap:wrap}.jco-rating label{cursor:pointer}.jco-rating input{position:absolute;opacity:0;pointer-events:none}.jco-rating span[aria-hidden=true]{display:block;color:#cbd5e1;transition:transform .12s,color .12s}.jco-rating label:hover span[aria-hidden=true],.jco-rating input:checked+span[aria-hidden=true]{color:var(--jco-rating-color,#f59e0b);transform:scale(1.08)}.jco-rating.is-small span[aria-hidden=true]{font-size:20px}.jco-rating.is-medium span[aria-hidden=true]{font-size:28px}.jco-rating.is-large span[aria-hidden=true]{font-size:36px}
@media(max-width:760px){.jco-name-grid,.jco-name-grid.has-middle,.jco-address-grid,.jco-date-time{grid-template-columns:1fr}.jco-address-part--street,.jco-address-part--line2,.jco-address-part--country{grid-column:auto}}

/* Build 0026: signature mode polish. */
.jco-signature-mode-tabs {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	margin-bottom: 10px;
	background: #f3f6fa;
	border: 1px solid var(--jco-form-border);
	border-radius: 10px;
}

.jco-signature-mode-tabs button {
	appearance: none;
	border: 0;
	background: transparent;
	border-radius: 7px;
	padding: 7px 14px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.jco-signature-mode-tabs button.is-active {
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, .12);
}

.jco-signature-wrap [data-jco-signature-panel="type"] input {
	width: 100%;
	min-height: 48px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-style: italic;
}

.jco-signature-wrap [data-jco-signature-panel="type"] small {
	display: block;
	margin-top: 7px;
	color: var(--jco-form-muted);
}


/* Build 0027 — MVP form hardening */
.jco-form-field input[type=url],
.jco-form-field input[type=password],
.jco-form-field input[type=date],
.jco-form-field input[type=time] {
	width:100%;min-height:46px;box-sizing:border-box;padding:10px 12px;background:var(--jco-form-surface);color:var(--jco-form-text);border:1px solid var(--jco-form-border);border-radius:10px;font:inherit;
}
.jco-form-field input[type=url]:focus,
.jco-form-field input[type=password]:focus,
.jco-form-field input[type=date]:focus,
.jco-form-field input[type=time]:focus {outline:3px solid rgba(79,175,251,.24);border-color:var(--jco-form-blue)}
.jco-rich-text-wrap{overflow:hidden;border:1px solid var(--jco-form-border);border-radius:10px;background:#fff}
.jco-rich-text-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:7px;background:#f8fafc;border-bottom:1px solid #dbe3ec}
.jco-rich-text-toolbar button{min-width:34px;padding:6px 8px;background:#fff;color:#243244;border:1px solid #dbe3ec;border-radius:6px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.jco-rich-text-toolbar button:hover{background:#eef6ff;border-color:#80bdf4}
.jco-rich-text-wrap .jco-rich-text-input{min-height:150px;border:0;border-radius:0;box-shadow:none}
.jco-rich-text-wrap .jco-rich-text-input:focus{outline:0;box-shadow:inset 0 0 0 2px rgba(8,83,191,.18)}
.jco-rating{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:3px!important}
.jco-rating label span[aria-hidden=true]{color:#cbd5e1!important;transition:color .12s,transform .12s}
.jco-rating label.is-active span[aria-hidden=true],.jco-rating label.is-preview span[aria-hidden=true]{color:var(--jco-rating-color,#f59e0b)!important;transform:scale(1.06)}
.jco-acceptance{display:flex!important;align-items:flex-start;gap:10px;padding:13px 14px;background:#f8fbff;border:1px solid #cfe5fb;border-radius:10px;font-weight:500!important;line-height:1.5}
.jco-acceptance input{flex:0 0 auto;width:18px!important;height:18px!important;min-height:0!important;margin-top:2px}
.jco-acceptance-links{white-space:normal}.jco-acceptance-links a{font-weight:700}


/* Build 0030 RC1 — branded validation, no browser alert UI */
.jco-form-message[data-jco-client-error]{display:grid;gap:6px}.jco-form-message[data-jco-client-error] p{margin:0}
.jco-form-field.is-jco-invalid{padding:12px;background:#fff7f7;border:1px solid #fecdd3;border-radius:12px}
.jco-form-field.is-jco-invalid input,.jco-form-field.is-jco-invalid textarea,.jco-form-field.is-jco-invalid select,.jco-form-field.is-jco-invalid [contenteditable="true"],.jco-form-field.is-jco-invalid canvas{border-color:#e11d48!important}
