/* Join form skin (functional base comes from the Core plugin's join.css). */
.form-shell{background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--ts-line);border-radius:clamp(1.2rem,3vw,2rem);padding:clamp(1.2rem,4vw,2.6rem);box-shadow:var(--shadow);position:relative;overflow:hidden}
.form-shell::before{content:"";position:absolute;inset-inline-end:-4rem;inset-block-start:-4rem;inline-size:12rem;block-size:12rem;border-radius:var(--shape-a);background:var(--ts-mist);z-index:0}
.form-shell>*{position:relative;z-index:1}
.ts-join legend{font-size:1.35rem;font-family:var(--ts-font-heading)}
.ts-field input[type=text],.ts-field input[type=url],.ts-field input[type=email],.ts-field select,.ts-field textarea{border-color:var(--ts-line);background:#fff;transition:border-color .2s,box-shadow .2s}
.ts-field input:focus,.ts-field select:focus,.ts-field textarea:focus{border-color:var(--ts-primary);box-shadow:0 0 0 4px rgba(47,107,69,.14);outline:0}
.ts-check{padding:.5rem .8rem;border:1.5px solid var(--ts-line);border-radius:2rem;background:#fff;transition:background .2s,border-color .2s}
.ts-check:has(input:checked){background:var(--ts-mist);border-color:var(--ts-primary)}
.ts-btn{border-radius:2rem}
.ts-btn--primary{background:var(--ts-forest);border-color:var(--ts-forest)}
.ts-btn--primary:hover{background:var(--ts-primary);border-color:var(--ts-primary)}
.ts-join__success h2{margin-block-end:.3em}
