/* ScreenSign — sales site, phase 4 (LoopTo 524): the two paths on /register/ while new accounts go through an installer, the "Find an installer" directory, and the
   application / lead forms. A file of its own on purpose: site.css is byte-identical to phase 3, so the public site of an `open` platform cannot have moved by a rule.
   Same tokens as site.css (it is loaded after it); logical properties only, so one sheet serves RTL and LTR; phone first — everything is one column until there is room. */

/* ---------- /register/ under integrators_only: two paths ---------- */
.paths .sub { margin-inline:auto; text-align:center; }
.path-grid { display:grid; gap:1rem; margin-block:1.5rem 1.25rem; }
.path { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:1.4rem; box-shadow:var(--sh-1); display:grid; gap:.75rem; align-content:start; }
.path h2 { font-size:1.25rem; margin:0; }
.path p { color:var(--ink-2); }
@media (min-width:640px) { .path-grid { grid-template-columns:1fr 1fr; } }

/* ---------- forms of this round (the application and the lead) ---------- */
.site-form { scroll-margin-top:calc(var(--hdr-h) + 12px); }
.site-form .row2 { display:grid; gap:1rem; }
@media (min-width:640px) { .site-form .row2 { grid-template-columns:1fr 1fr; } }
.site-form .checks { display:flex; flex-wrap:wrap; gap:.5rem .6rem; }
.site-form .checks label { display:inline-flex; grid-template-columns:none; align-items:center; gap:.45rem; min-height:44px; padding:.35rem .8rem; border:1px solid var(--line-2); border-radius:999px; background:#fff; font-weight:500; cursor:pointer; }
.site-form .checks input { width:auto; min-height:0; accent-color:var(--brand-deep); }
.site-form .consent { display:flex; align-items:flex-start; gap:.6rem; font-weight:500; }
.site-form .consent input { width:22px; min-height:22px; flex:none; margin-block-start:.15rem; accent-color:var(--brand-deep); }
.site-form fieldset { border:0; display:grid; gap:.35rem; min-width:0; }
.site-form legend { font-weight:600; font-size:.95rem; padding:0; margin-block-end:.35rem; }
/* the honeypot: a field no person can reach (off-screen, not focusable, not announced) — a script that fills every input gives itself away */
.hp-field { position:absolute !important; inset-inline-start:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-sent { display:grid; gap:.5rem; }
.form-sent h2 { font-size:1.25rem; margin:0; }

/* ---------- /installers/ ---------- */
.find { display:grid; gap:.8rem; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:1.25rem; box-shadow:var(--sh-1); margin-block-end:1.5rem; }
.find .row2 { display:grid; gap:.8rem; }
@media (min-width:640px) { .find .row2 { grid-template-columns:1fr 1fr auto; align-items:end; } }
.find label { display:grid; gap:.35rem; font-weight:600; font-size:.95rem; }
.find select { width:100%; min-height:46px; border:1px solid var(--line-2); border-radius:var(--r-sm); padding:.6rem .8rem; background:#fff; }
.inst-list { display:grid; gap:1rem; list-style:none; }
.inst { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:1.25rem; box-shadow:var(--sh-1); display:grid; gap:.7rem; }
.inst-head { display:flex; align-items:center; gap:.9rem; }
.inst-logo { width:56px; height:56px; border-radius:var(--r-sm); border:1px solid var(--line); background:#fff; object-fit:contain; flex:none; }
.inst-head h3 { font-size:1.15rem; margin:0; overflow-wrap:anywhere; }
.inst-prods { display:flex; flex-wrap:wrap; gap:.4rem; list-style:none; }
.inst-prods li { background:var(--wash); border:1px solid var(--line); border-radius:999px; padding:.15rem .7rem; font-size:.88rem; color:var(--ink-2); }
.inst-contact { display:grid; gap:.3rem; font-size:.97rem; }
.inst-contact a { overflow-wrap:anywhere; }
.inst-empty { background:var(--wash); border-radius:var(--r-lg); padding:1.25rem; color:var(--ink-2); }
.lead-target { background:var(--brand-tint); border:1px solid var(--brand-line); border-radius:var(--r-sm); padding:.6rem .8rem; font-weight:600; }
.lead-box { margin-block-start:2rem; }
.lead-box .alt { color:var(--muted); margin-block-start:.5rem; }

/* `hidden` must win over `.btn { display:inline-flex }` and `.form { display:grid }`: the lead form hides its "send to this installer" button until an installer is chosen */
.site-form [hidden], .lead-box [hidden] { display:none !important; }
