/**
 * Wayfinding & utility-chrome recipes: jump_menu / back_to_top_fab / language_region_switcher /
 * command_palette / floating_action_menu.
 * apb-rx-* tokens only; brand derives from --apb-rx-brand + scheme. Reduced-motion fallbacks inline.
 * Rendered by trait-apb-component-render-wayfind2.php. No literals for brand/glow/tint.
 */

/* ---------- jump_menu ---------- */
.apb-rx-jm{padding:clamp(40px,7vw,80px) 24px;display:flex;justify-content:center}
.apb-rx-jm-wrap{position:relative;width:300px;max-width:100%}
.apb-rx-jm-pill{width:100%;display:flex;align-items:center;gap:10px;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius-pill,999px);padding:11px 16px;font:inherit;font-size:14.5px;font-weight:600;color:var(--apb-rx-ink);text-decoration:none;box-shadow:var(--apb-rx-shadow-2,0 10px 26px -12px rgba(11,13,18,.24))}
.apb-rx-jm-pill .lead{color:var(--apb-rx-muted);font-weight:500}
.apb-rx-jm-pill .chev{margin-left:auto;color:var(--apb-rx-muted);flex:0 0 auto}
.apb-rx-jm-menu{margin-top:8px;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,14px);box-shadow:var(--apb-rx-shadow-3,0 22px 50px -18px rgba(11,13,18,.34));padding:6px;max-height:260px;overflow:auto}
.apb-rx-jm-opt{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:550;color:var(--apb-rx-ink);text-decoration:none}
.apb-rx-jm-opt:hover{background:var(--apb-rx-soft)}
.apb-rx-jm-opt .n{width:22px;flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700;color:var(--apb-rx-muted);text-align:center}
.apb-rx-jm-opt .tick{margin-left:auto;color:var(--apb-rx-accent-text,var(--apb-rx-brand));flex:0 0 auto}
.apb-rx-jm-opt.on{color:var(--apb-rx-ink);font-weight:700;background:var(--apb-rx-soft)}
.apb-rx-jm-opt.on .n{color:var(--apb-rx-accent-text,var(--apb-rx-brand))}

/* ---------- back_to_top_fab (fail-open static: plain anchor, decorative ring) ---------- */
.apb-rx-fab{position:relative;min-height:200px;padding:clamp(32px,5vw,56px) 24px;background:var(--apb-rx-soft);border-radius:var(--apb-rx-radius,16px);overflow:hidden}
.apb-rx-fab-copy{max-width:420px}
.apb-rx-fab-copy h3{font-size:18px;font-weight:750;color:var(--apb-rx-ink);margin:0 0 8px}
.apb-rx-fab-copy p{font-size:14.5px;line-height:1.6;color:var(--apb-rx-muted);margin:0}
.apb-rx-fab-btn{position:absolute;right:24px;bottom:24px;width:52px;height:52px;border-radius:50%;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);box-shadow:var(--apb-rx-shadow-3,0 12px 30px -10px rgba(11,13,18,.34));display:grid;place-items:center;color:var(--apb-rx-ink);text-decoration:none;transition:transform var(--apb-rx-t,.28s) var(--apb-rx-ease)}
.apb-rx-fab-btn svg.ring{position:absolute;inset:-1px;transform:rotate(-90deg)}
.apb-rx-fab-btn svg.ring circle.track{stroke:var(--apb-rx-line)}
.apb-rx-fab-btn svg.ring circle.arc{stroke:var(--apb-rx-brand);stroke-linecap:round;stroke-dasharray:157;stroke-dashoffset:55}
.apb-rx-fab-btn .arw{position:relative;z-index:1}
.apb-rx-fab-btn:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.apb-rx-fab-btn{transition:none}.apb-rx-fab-btn:hover{transform:none}}

/* ---------- language_region_switcher (native <details>) ---------- */
.apb-rx-lrs{padding:clamp(40px,7vw,80px) 24px;display:flex;justify-content:center}
.apb-rx-lrs-wrap{position:relative;width:280px;max-width:100%}
.apb-rx-lrs-wrap details{width:100%}
.apb-rx-lrs-btn{width:100%;display:flex;align-items:center;gap:10px;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,12px);padding:12px 14px;font:inherit;font-size:14.5px;font-weight:600;color:var(--apb-rx-ink);cursor:pointer;list-style:none}
.apb-rx-lrs-btn::-webkit-details-marker{display:none}
.apb-rx-lrs-btn .globe{color:var(--apb-rx-muted);flex:0 0 auto}
.apb-rx-lrs-btn .cur{margin-left:auto;color:var(--apb-rx-muted);font-weight:500}
.apb-rx-lrs-btn .chev{color:var(--apb-rx-muted);flex:0 0 auto}
.apb-rx-lrs-wrap details[open] .apb-rx-lrs-btn .chev{transform:rotate(180deg)}
.apb-rx-lrs-menu{margin-top:8px;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,12px);box-shadow:var(--apb-rx-shadow-3,0 20px 46px -18px rgba(11,13,18,.34));padding:6px;overflow:hidden}
.apb-rx-lrs-opt{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:550;color:var(--apb-rx-ink);text-decoration:none}
.apb-rx-lrs-opt:hover{background:var(--apb-rx-soft)}
.apb-rx-lrs-opt .reg{color:var(--apb-rx-muted);font-weight:500}
.apb-rx-lrs-opt .money{margin-left:auto;color:var(--apb-rx-muted);font-size:13px}
.apb-rx-lrs-opt .tick{margin-left:auto;color:var(--apb-rx-accent-text,var(--apb-rx-brand));flex:0 0 auto}
.apb-rx-lrs-opt.on .money{margin-left:0}

/* ---------- command_palette (fail-open static: always-open panel, no JS) ---------- */
.apb-rx-cmd{padding:clamp(40px,7vw,88px) 24px;background:var(--apb-rx-soft);border-radius:var(--apb-rx-radius,16px)}
.apb-rx-cmd-hint{text-align:center;font-size:13px;color:var(--apb-rx-muted);margin:0 0 22px}
.apb-rx-cmd-panel{max-width:520px;margin:0 auto;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,16px);box-shadow:var(--apb-rx-shadow-3,0 30px 70px -24px rgba(11,13,18,.4));overflow:hidden}
.apb-rx-cmd-search{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--apb-rx-line)}
.apb-rx-cmd-search svg{color:var(--apb-rx-muted);flex:0 0 auto}
.apb-rx-cmd-ph{flex:1;font-size:16px;color:var(--apb-rx-muted)}
.apb-rx-cmd-esc{font-size:11px;font-weight:600;color:var(--apb-rx-muted);background:var(--apb-rx-soft);border-radius:6px;padding:3px 7px}
.apb-rx-cmd-group{padding:8px}
.apb-rx-cmd-glabel{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--apb-rx-muted);padding:8px 12px 4px;margin:0}
.apb-rx-cmd-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--apb-rx-ink);font-size:14.5px;font-weight:550}
.apb-rx-cmd-row .ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;color:var(--apb-rx-muted);background:var(--apb-rx-soft)}
.apb-rx-cmd-row .meta{margin-left:auto;font-size:12px;color:var(--apb-rx-muted)}
.apb-rx-cmd-row.on{background:color-mix(in srgb,var(--apb-rx-brand) 8%,var(--apb-rx-surface,#fff))}
.apb-rx-cmd-row.on .ic{color:var(--apb-rx-accent-contrast,#fff);background:var(--apb-rx-brand)}

/* ---------- floating_action_menu (checkbox-driven CSS-only disclosure) ---------- */
.apb-rx-fam{position:relative;min-height:200px;padding:clamp(32px,5vw,56px) 24px;background:var(--apb-rx-soft);border-radius:var(--apb-rx-radius,16px);overflow:hidden}
.apb-rx-fam-copy{max-width:420px}
.apb-rx-fam-copy h3{font-size:18px;font-weight:750;color:var(--apb-rx-ink);margin:0 0 8px}
.apb-rx-fam-copy p{font-size:14.5px;line-height:1.6;color:var(--apb-rx-muted);margin:0}
.apb-rx-fam-check{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.apb-rx-fam-dock{position:absolute;right:24px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.apb-rx-fam-item{display:inline-flex;align-items:center;gap:10px;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius-pill,999px);padding:8px 8px 8px 16px;box-shadow:var(--apb-rx-shadow-2,0 8px 22px -10px rgba(11,13,18,.28));font-size:13.5px;font-weight:600;color:var(--apb-rx-ink);text-decoration:none;opacity:0;transform:translateY(10px) scale(.94);pointer-events:none;transition:opacity var(--apb-rx-t,.22s) var(--apb-rx-ease),transform var(--apb-rx-t,.22s) var(--apb-rx-ease)}
.apb-rx-fam-item .ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--apb-rx-soft);color:var(--apb-rx-muted);flex:0 0 auto}
.apb-rx-fam-check:checked ~ .apb-rx-fam-dock .apb-rx-fam-item{opacity:1;transform:none;pointer-events:auto}
.apb-rx-fam-trigger{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:0;color:var(--apb-rx-accent-contrast,#fff);background:var(--apb-rx-brand);box-shadow:0 12px 30px -8px var(--apb-rx-glow)}
.apb-rx-fam-trigger svg{transition:transform var(--apb-rx-t,.28s) var(--apb-rx-ease)}
.apb-rx-fam-check:checked ~ .apb-rx-fam-dock .apb-rx-fam-trigger svg{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.apb-rx-fam-item{transition:none}.apb-rx-fam-trigger svg{transition:none}}
