.tm-opts{margin:1.25rem 0;display:grid;gap:1.1rem}
.tm-o[hidden],.tm-o-div[hidden]{display:none!important}
.tm-o-div{border:0;border-top:1px solid rgba(0,0,0,.08);margin:0}
.tm-o-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}
.tm-o-title{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.tm-o-title abbr{color:#a3312a;text-decoration:none;border:0}
.tm-o-help{position:relative;font-size:.85rem}
.tm-o-help summary{list-style:none;cursor:pointer;width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:.72rem;opacity:.6}
.tm-o-help summary::-webkit-details-marker{display:none}
.tm-o-help[open] div{position:absolute;z-index:20;left:0;top:1.6rem;width:min(320px,80vw);background:#fff;border:1px solid #ddd;padding:.8rem;box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:4px}
.tm-o-help img{max-width:100%;height:auto}
.tm-o select,.tm-o input[type=text],.tm-o textarea{width:100%;padding:.65rem .75rem;border:1px solid #cfcac2;border-radius:3px;background:#fff;font:inherit}
.tm-o-choices{display:flex;flex-wrap:wrap;gap:.5rem}
.tm-o-choice{display:flex;align-items:center;gap:.45rem;border:1px solid #d8d3cb;border-radius:3px;padding:.45rem .7rem;cursor:pointer;font-size:.9rem;background:#fff}
.tm-o-choice input{margin:0}
.tm-o-choice em{font-style:normal;opacity:.7;margin-left:.3rem;font-size:.82rem}
.tm-o-choice:has(input:checked){border-color:#1d1d1b;box-shadow:inset 0 0 0 1px #1d1d1b}
.tm-o-choices.has-img{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.tm-o-choices.has-img .tm-o-choice{flex-direction:column;align-items:stretch;padding:.4rem;text-align:center;position:relative}
.tm-o-choices.has-img .tm-o-choice input{position:absolute;top:.4rem;left:.4rem}
.tm-o-choices.has-img img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;background:#f4f2ef}
.tm-o-choices.has-img .tm-o-lbl{font-size:.78rem;line-height:1.25;display:flex;flex-direction:column}
.tm-o-choices.has-img em{margin:0}
.tm-o.is-missing select,.tm-o.is-missing .tm-o-choice{border-color:#a3312a}
.tm-o.is-missing .tm-o-title::after{content:" – required";color:#a3312a;text-transform:none;letter-spacing:0;font-weight:400}
.tm-o-total{margin:0;font-size:.9rem}
