/* Viewsetter — the one enquiry form (owner, 13 October 2026). Built on
   requests.css's fields and chips; the kinds are cards, like the builder's options. */
.ct-kinds { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.ct-kind {
  display: grid; gap: 4px; align-content: start; min-height: 86px; padding: 14px 16px; text-align: left; cursor: pointer;
  background: #fff; color: var(--ink-on-bone); border: 1px solid var(--sand); border-radius: 2px; font: inherit;
}
.ct-kind b { font-weight: 500; font-size: .98rem; }
.ct-kind span { font-size: .86rem; line-height: 1.45; color: var(--ink-on-bone-2); }
.ct-kind[aria-checked="true"] { border-color: var(--ink-on-bone); box-shadow: inset 0 0 0 1px var(--ink-on-bone); background: #FBF7F0; }
.ct-kind[data-k="video"] b::after { content: "Free"; margin-left: 8px; padding: 2px 6px; vertical-align: 2px; border: 1px solid var(--label); border-radius: 2px;
  font: 400 .58rem/1 "DM Mono", ui-monospace, monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--label); }
@media (hover: hover) and (pointer: fine) { .ct-kind:hover { border-color: var(--gold); } }
[data-missing-kind] .ct-kinds { box-shadow: inset 3px 0 0 #A3402F; padding-left: 12px; }
.ct-agree { display: flex; gap: 11px; align-items: flex-start; margin: 16px 0 0; padding: 14px 16px; cursor: pointer; border: 1px solid var(--sand);
  border-radius: 2px; background: #fff; font-size: .87rem; line-height: 1.55; color: var(--ink-on-bone-2); }
.ct-agree input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--ink-on-bone); flex: 0 0 auto; }
.ct-agree.is-missing { border-color: #A3402F; box-shadow: inset 0 0 0 1px #A3402F; }
.ct-warn { color: #8A3B1E; }
.rq-done:focus { outline: 0; }

/* phones: the "Required" tag at 10px or more, like the builder's (14 October 2026) */
@media (max-width: 720px) { .rq-req { font-size: .625rem !important; } }
