.jptax-form [hidden] { display: none !important; }
.jptax-form #contact-details, .jptax-form #contact-unavailable { margin-top: 1.25rem; }
.jptax-form label { display: block; margin: 1.3rem 0 .4rem; font-weight: 600; }
.jptax-form input:not([type=checkbox]):not([type=hidden]), .jptax-form select, .jptax-form textarea { box-sizing: border-box; width: 100%; max-width: 100%; padding: .75rem; border: 1px solid #94a3b8; border-radius: 4px; background: #fff; color: #0f172a; font: inherit; }
.jptax-form fieldset { min-width: 0; margin: 1.5rem 0; padding: 1rem; border: 1px solid #cbd5e1; }
.jptax-form legend { font-weight: 700; padding: 0 .3rem; }
.jptax-form button { padding: .75rem 1rem; margin: 1rem .5rem 0 0; background: #0f172a; color: white; border: 0; border-radius: 4px; cursor: pointer; font: inherit; }
.jptax-form button:disabled { opacity: .5; cursor: not-allowed; }
.jptax-form :focus-visible { outline: 3px solid #8c7b28; outline-offset: 3px; }
.jptax-form .jptax-hint { font-size: .85rem; color: #475569; margin: .25rem 0 .5rem; }
.jptax-form .jptax-check { font-size: .9rem; font-weight: 400; }
.jptax-check input { margin-right: .4rem; }
.jptax-form a { text-decoration: underline; }
.jptax-feedback:not(:empty) { padding: .85rem; border: 1px solid #64748b; margin-top: 1rem; }
.jptax-feedback[data-state=error] { color: #9f1239; background: #fff1f2; border-color: #fda4af; }
.jptax-feedback[data-state=success] { color: #115e59; background: #f0fdfa; border-color: #5eead4; }
.jptax-preview dt { font-weight: 700; margin-top: 1rem; }
.jptax-preview dd { white-space: pre-wrap; overflow-wrap: anywhere; margin: .3rem 0; }
.jptax-honey { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
