/* Photo-first price estimate selections */
#ai-price-form .price-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px;margin-top:24px}
#ai-price-form .estimate-upload,#ai-price-form .choice-field{grid-column:1/-1}
.selection-heading,#ai-price-form .choice-field legend{font-size:13px;font-weight:700;color:var(--ink)}
.selection-heading span{font-size:11px;font-weight:400;color:var(--muted)}
.estimate-upload-control{display:flex!important;align-items:center;gap:13px;margin-top:8px;padding:16px;border:1px dashed var(--line);border-radius:6px;background:var(--surface-alt);cursor:pointer}
.estimate-upload-control:hover{border-color:var(--accent)}.upload-symbol{display:grid;place-items:center;width:36px;height:36px;flex:none;background:var(--surface);border:1px solid var(--line);border-radius:5px;color:var(--accent);font-size:23px;font-weight:400}.estimate-upload-control strong,.estimate-upload-control small{display:block}.estimate-upload-control strong{font-size:13px;color:var(--ink);overflow-wrap:anywhere}.estimate-upload-control small{font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.upload-action{margin-left:auto;color:var(--accent);font-size:12px;font-weight:700}.estimate-file{position:absolute;width:1px;height:1px;opacity:0}.estimate-upload:has(.estimate-file:focus-visible) .estimate-upload-control{outline:3px solid var(--accent);outline-offset:2px}
#ai-price-form .choice-field{border:0;padding:0;margin:0;min-width:0}#ai-price-form .choice-field legend{padding:0;margin-bottom:9px}.choice-list{display:flex;flex-wrap:wrap;gap:8px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.choice span{display:block;padding:10px 14px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--surface);font-size:12px;font-weight:600;line-height:1.2}.choice:hover span{border-color:var(--accent);color:var(--ink)}.choice input:checked+span{color:var(--accent);border-color:var(--accent);background:var(--surface-alt);box-shadow:inset 0 0 0 1px var(--accent)}.choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:700px){#ai-price-form .price-fields{grid-template-columns:1fr 1fr}.choice-list{gap:7px}.choice span{padding:10px 12px}.estimate-upload-control{padding:13px}.upload-action{display:none}#ai-price-form .price-fields>label[for=estimate-item]{grid-column:1/-1}}
#ai-price-form .price-fields .estimate-file,#ai-price-form .price-fields .choice input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0}

/* A clear account path when a photo estimate is gated by sign-in or plan. */
.price-access-preview{white-space:normal;display:grid;gap:10px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:5px}
.price-access-preview .price-access-kicker{margin:0;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.price-access-preview h4{margin:0;color:var(--ink);font-size:16px;font-weight:700;line-height:1.35}
.price-access-preview p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.price-access-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:3px}
.price-access-actions a{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:12px;font-weight:700;text-decoration:none}
.price-access-actions a:hover{border-color:var(--accent);color:var(--accent)}
.price-access-actions a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.price-access-actions a.price-access-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.price-access-actions a.price-access-primary:hover{filter:brightness(.94)}
@media(max-width:700px){.price-access-preview{padding:15px}.price-access-actions{align-items:stretch}.price-access-actions a{flex:1 1 auto}}
