/* The public home page's feedback card (public/feedback-card.js), Brand Bold (B). Loaded on budget-home.html only.
   Every rule is scoped to html[data-experience=brand]; colours come from tokens.css and are paired in each rule for the
   colour-pair audit. Motion is transform and opacity only, and none with reduced motion. */
html[data-experience=brand] .fb-card{position:fixed;right:24px;bottom:24px;z-index:150;box-sizing:border-box;width:min(380px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:24px 24px 20px;border:1px solid var(--b-line);border-radius:var(--b-r-card);background:var(--b-surface);color:var(--b-ink);box-shadow:var(--b-shadow);font:400 15px/1.5 var(--b-body);opacity:0;transform:translateY(16px);transition:opacity .2s ease,transform .2s ease}
html[data-experience=brand] .fb-card.is-in{opacity:1;transform:none}
html[data-experience=brand] .fb-card *,html[data-experience=brand] .fb-card *::before,html[data-experience=brand] .fb-card *::after{box-sizing:border-box}
html[data-experience=brand] .fb-card h2{margin:0 40px 6px 0;background:transparent;color:var(--b-ink);font:700 20px/1.25 var(--b-display)}
html[data-experience=brand] .fb-card .fb-lead{margin:0 0 14px;background:transparent;color:var(--b-muted)}
html[data-experience=brand] .fb-card .fb-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--b-r-pill);background:transparent;color:var(--b-muted);cursor:pointer}
html[data-experience=brand] .fb-card .fb-close:hover{background:var(--b-mist);color:var(--b-ink)}
html[data-experience=brand] .fb-card .fb-close svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
html[data-experience=brand] .fb-card .fb-form{display:grid;gap:10px}
html[data-experience=brand] .fb-card .fb-rating{margin:0;padding:0;border:0;min-width:0}
html[data-experience=brand] .fb-card .fb-rating legend{margin:0 0 8px;padding:0;background:transparent;color:var(--b-ink);font-weight:600}
html[data-experience=brand] .fb-card .fb-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
html[data-experience=brand] .fb-card .fb-rate{position:relative;display:block;cursor:pointer}
html[data-experience=brand] .fb-card .fb-rate input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
html[data-experience=brand] .fb-card .fb-rate-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-control);background:var(--b-page);color:var(--b-ink);font-weight:700}
html[data-experience=brand] .fb-card .fb-rate-face svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
html[data-experience=brand] .fb-card .fb-rate:hover .fb-rate-face{background:var(--b-mist);color:var(--b-ink)}
html[data-experience=brand] .fb-card .fb-rate input:checked+.fb-rate-face{border-color:var(--b-brand);background:var(--b-brand);color:var(--b-on-brand)}
html[data-experience=brand] .fb-card .fb-rate input:checked+.fb-rate-face svg{fill:currentColor}
html[data-experience=brand] .fb-card .fb-rate input:focus-visible+.fb-rate-face{outline:3px solid var(--focus-ring);outline-offset:2px}
html[data-experience=brand] .fb-card .fb-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html[data-experience=brand] .fb-card .fb-label{display:block;margin-top:4px;background:transparent;color:var(--b-ink);font-weight:600}
html[data-experience=brand] .fb-card .fb-optional{background:transparent;color:var(--b-muted);font-weight:400}
html[data-experience=brand] .fb-card :is(textarea,input[type=tel]){display:block;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-control);background:var(--b-page);color:var(--b-ink);font:400 16px/1.4 var(--b-body)}
html[data-experience=brand] .fb-card textarea{resize:vertical;min-height:84px}
html[data-experience=brand] .fb-card :is(textarea,input):focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}
html[data-experience=brand] .fb-card .fb-check{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;color:var(--b-ink);font-weight:600;cursor:pointer}
html[data-experience=brand] .fb-card .fb-check input{width:22px;height:22px;margin:0;accent-color:var(--b-brand)}
html[data-experience=brand] .fb-card .fb-phone small{display:block;margin-top:4px;background:transparent;color:var(--b-muted);font-size:14px}
html[data-experience=brand] .fb-card .fb-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
html[data-experience=brand] .fb-card .fb-error{margin:0;background:transparent;color:var(--b-bad-ink);font-weight:600}
html[data-experience=brand] .fb-card .fb-error:empty{display:none}
html[data-experience=brand] .fb-card .fb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px}
html[data-experience=brand] .fb-card .fb-actions .bs-pill{min-height:48px;padding:0 24px}
html[data-experience=brand] .fb-card .fb-send:disabled{opacity:.6;cursor:wait}
html[data-experience=brand] .fb-card .fb-later{min-height:44px;padding:0 12px;border:0;border-radius:var(--b-r-pill);background:transparent;color:var(--b-link);font:600 15px/1.2 var(--b-body);text-decoration:underline;cursor:pointer}
html[data-experience=brand] .fb-card .fb-later:hover{background:var(--b-mist);color:var(--b-ink)}
html[data-experience=brand] .fb-card .fb-thanks{display:grid;gap:14px}
html[data-experience=brand] .fb-card .fb-thanks p{margin:0;background:transparent;color:var(--b-ink)}
html[data-experience=brand] .fb-card .fb-thanks .bs-pill{justify-self:start;min-height:48px}
@media (max-width:600px){
 html[data-experience=brand] .fb-card{right:16px;left:16px;bottom:16px;width:auto;max-height:calc(100vh - 32px);padding:20px 16px 16px}
}
@media (prefers-reduced-motion:reduce){
 html[data-experience=brand] .fb-card{transition:none;transform:none}
}
@media print{
 html[data-experience=brand] .fb-card{display:none}
}
