/* quickbrief.css (v11): 3-field quick brief (gen.py partial {QUICKBRIEF}); posts to api/enquiry.php via js/quickbrief.js */
.qb{background:#fff;color:var(--ink);border-radius:var(--r);padding:22px 22px 18px;display:grid;gap:14px;box-shadow:0 30px 60px -30px rgba(7,8,13,.45);border-top:4px solid var(--acc);text-align:left}
.qb-h{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.qb-h b{font:800 1.05rem Montserrat,sans-serif;color:var(--ink)}
.qb-h span{font-size:.84rem;color:var(--mute)}
.qb-r{display:grid;grid-template-columns:1fr 1.25fr;gap:12px}
.qb-l{display:grid;gap:5px;font:600 .78rem Montserrat,sans-serif;color:var(--ink2);margin:0}
.qb-l input{font:500 .95rem/1.2 inherit;font-family:inherit;padding:11px 12px;border:1px solid #cfd4e0;border-radius:10px;background:#fff;color:var(--ink);width:100%;box-sizing:border-box;min-width:0}
.qb-l input:focus{outline:2px solid var(--acc);outline-offset:1px;border-color:var(--acc)}
.qb-l input[aria-invalid=true]{border-color:#c62828}
.qb-s{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.qb-s legend{font:600 .78rem Montserrat,sans-serif;color:var(--ink2);padding:0;margin-bottom:6px;float:left;width:100%}
.qb-s label{position:relative;margin:0;cursor:pointer}
.qb-s input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.qb-s span{display:inline-block;font:600 .82rem Montserrat,sans-serif;padding:8px 13px;border-radius:999px;border:1px solid #d5d8e3;background:#fff;color:var(--ink);transition:background .2s,border-color .2s,color .2s}
.qb-s input:checked+span{background:var(--acc);border-color:var(--acc);color:#fff}
.qb-s input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.qb-s.bad span{border-color:#c62828}
.qb-c{display:flex;gap:9px;align-items:flex-start;font:500 .8rem/1.4 inherit;color:var(--ink2);margin:0}
.qb-c input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--acc)}
.qb-c a{color:var(--ink)}
.qb-c.bad span{color:#c62828}
.qb-b{width:100%;padding:14px 20px}
.qb-b[disabled]{opacity:.7;cursor:wait}
.qb-e{margin:-4px 0 0;font-size:.84rem;color:#c62828}
.qb-n{margin:-4px 0 0;font-size:.84rem;text-align:center}
.qb-n a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.qb-n a:hover{color:var(--acc)}
@media(max-width:520px){.qb{padding:18px 16px 16px}.qb-r{grid-template-columns:1fr}}
