/* Widgets added on top of the captured live markup (popup, checker results, swatch details). Brand: navy #1E2D5A, gold #F5A623. */
.tsw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tsw-muted{font-size:12px;color:#64748b;margin-top:4px}
/* address suggestions */
.tsw-sugg{position:absolute;z-index:30;left:0;right:0;top:48px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.15);padding:4px 0;margin:0;list-style:none}
.tsw-sugg li{padding:10px 16px;font-size:14px;color:#334155;cursor:pointer}
.tsw-sugg li:hover,.tsw-sugg li[aria-selected=true]{background:#eff6ff}
/* checker result */
.tsw-result{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.tsw-result:empty{display:none}
.tsw-alert{border:1px solid;border-radius:10px;padding:12px 16px;font-size:14px;line-height:1.5}
.tsw-alert strong{display:block;font-size:16px}
.tsw-alert p{margin-top:6px}
.tsw-red{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}
.tsw-green{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}
.tsw-amber{background:#fffbeb;border-color:#fde68a;color:#78350f}
.tsw-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px}
.tsw-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-weight:600}
.tsw-addr{font-size:14px;font-weight:600;color:#0f172a;margin-top:4px}
.tsw-minimap{height:260px;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden;background:#f1f5f9}
.tsw-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;color:#64748b;margin-top:-6px}
.tsw-legend span{display:inline-block;width:12px;height:12px;border-radius:3px;opacity:.7;margin-right:-4px}
.tsw-pin{display:block;width:22px;height:22px;border-radius:999px;border:3px solid #fff;box-shadow:0 1px 5px rgba(15,23,42,.45)}
.tsw-map-hint{background:rgba(255,255,255,.92);padding:4px 10px;border-radius:6px;font:600 12px system-ui,sans-serif;color:#334155;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.tsw-lead{border:2px solid rgba(245,166,35,.45);border-radius:14px;padding:16px;background:#fff}
.tsw-lead-h{font-weight:800;color:#1E2D5A;font-size:16px}
.tsw-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tsw-row input{flex:1 1 150px;min-width:0;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:14px;background:#fff}
.tsw-row button,.tsw-sw-btn{background:#F5A623;color:#1E2D5A;font-weight:800;font-size:14px;border-radius:10px;padding:10px 18px;white-space:nowrap}
.tsw-row button:hover,.tsw-sw-btn:hover{background:#e09415}
.tsw-row button:disabled{opacity:.6}
.tsw-err{color:#dc2626;font-size:12px;margin-top:6px}
.tsw-err:empty{display:none}
.tsw-ok{display:flex;align-items:center;gap:10px;color:#166534;font-size:14px}
.tsw-ok svg{flex:none;width:36px;height:36px;padding:6px;border-radius:999px;background:#dcfce7}
.tsw-subok{display:flex;gap:14px;align-items:flex-start;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:16px;padding:20px;margin-top:40px}
.tsw-subok svg{flex:none;width:44px;height:44px;padding:8px;border-radius:12px;background:#22c55e;color:#fff}
.tsw-subok h3{font-size:18px;font-weight:800;color:#1E2D5A}
.tsw-subok p{font-size:14px;color:#475569}
/* swatch details */
button[aria-pressed=true][title]{box-shadow:0 0 0 2px #fff,0 0 0 4px #F5A623;transform:scale(1.05)}
.tsw-swatch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:2px solid rgba(245,166,35,.4);border-radius:12px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.05);margin-bottom:8px}
.tsw-grow{flex:1 1 200px}
.tsw-chip{width:48px;height:48px;border-radius:8px;border:1px solid #e5e7eb;flex:none}
.tsw-sw-name{font-size:14px;font-weight:900;color:#1E2D5A}
.tsw-sw-name span{font-size:12px;font-weight:400;color:#6b7280}
.tsw-sw-sub{font-size:12px;color:#6b7280;margin-top:2px}
.tsw-sw-btn{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:8px 16px;border-radius:8px}
.tsw-swatch-v{max-width:36rem;margin:0 auto;border:1px solid #e5e7eb;border-radius:16px;padding:24px;gap:24px}
.tsw-swatch-v .tsw-chip{width:64px;height:64px;border-radius:12px}
.tsw-swatch-v .tsw-sw-name{font-size:18px;font-weight:700;color:#1B2B5E}
.tsw-swatch-v .tsw-sw-sub{font-size:14px;margin-bottom:12px}
.tsw-swatch-v .tsw-sw-btn{text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:#1B2B5E}
/* popup (same design as the live LeadCapturePopup) */
.tsw-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:9998}
.tsw-dialog{position:fixed;z-index:9999;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:28rem;max-height:90vh;overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:tsw-pop .25s ease-out}
@keyframes tsw-pop{from{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media (prefers-reduced-motion:reduce){.tsw-dialog{animation:none}}
.tsw-head{background:#1E2D5A;padding:20px 24px 16px;position:relative}
.tsw-x{position:absolute;top:16px;right:16px;color:rgba(255,255,255,.6)}
.tsw-x:hover{color:#fff}
.tsw-kicker{font-size:12px;color:rgba(255,255,255,.7);margin-bottom:8px}
.tsw-head h2{font-size:24px;font-weight:900;color:#fff;line-height:1.15}
.tsw-head h2 span{color:#F5A623}
.tsw-sub{font-size:14px;color:rgba(255,255,255,.75);margin-top:4px}
.tsw-body{padding:16px 24px}
.tsw-body form{display:flex;flex-direction:column;gap:12px}
.tsw-body label{display:block;font-size:12px;font-weight:600;color:#4b5563;margin-bottom:4px;text-transform:uppercase;letter-spacing:.025em}
.tsw-req{color:#f87171}.tsw-opt{color:#9ca3af;text-transform:none;font-weight:400}
.tsw-body input,.tsw-body select,.tsw-body textarea{width:100%;border:1px solid #e5e7eb;background:#f9fafb;border-radius:8px;padding:8px 12px;font-size:14px;color:#111827}
.tsw-body textarea{resize:none}
.tsw-body input:focus,.tsw-body select:focus,.tsw-body textarea:focus{outline:none;box-shadow:0 0 0 2px rgba(245,166,35,.5)}
.tsw-body .tsw-bad{border-color:#f87171;background:#fef2f2}
.tsw-ferr{font-size:12px;color:#ef4444;margin-top:4px}.tsw-ferr:empty{display:none}
.tsw-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tsw-submit{width:100%;background:#F5A623;color:#1E2D5A;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.025em;padding:12px;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}
.tsw-submit:hover{background:rgba(245,166,35,.9)}.tsw-submit:disabled{opacity:.6}
.tsw-fine{text-align:center;font-size:12px;color:#9ca3af}
.tsw-done{text-align:center;padding:16px 0}
.tsw-done svg{width:56px;height:56px;padding:14px;border-radius:999px;background:#dcfce7;color:#16a34a;margin:0 auto 12px;display:block}
.tsw-done h3{font-size:20px;font-weight:900;color:#1E2D5A;margin-bottom:4px}
.tsw-done p{font-size:14px;color:#6b7280}
