/* RPHelpers / a single control system for the story and interior pages. */
:root{--control-height:52px;--control-radius:8px;--control-primary:#c4b3ff;--control-primary-hover:#d4c8ff;--control-border:#ffffff29;--control-focus:#d5c9ff;--ease-out:cubic-bezier(.22,1,.36,1)}
.button,.s-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:12px;min-height:var(--control-height);height:auto;width:auto;max-width:100%;padding:13px 23px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:#24232b;color:#f5f3f8;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;letter-spacing:-.015em;box-shadow:none;backdrop-filter:none;transform:none;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s,transform .18s var(--ease-out)}
.button.primary,.s-button.is-primary{background:var(--control-primary);border-color:var(--control-primary);color:#181122!important;box-shadow:0 2px 0 #ffffff12 inset}
.button.secondary,.s-button:not(.is-primary){background:#26252e;border-color:#ffffff25;box-shadow:none;color:#f5f3f8!important}
.button:active,.s-button:active,.button.primary:active,.s-button.is-primary:active{transform:scale(.975);box-shadow:none}
@media(hover:hover) and (pointer:fine){.button:hover,.s-button:hover,.button.secondary:hover,.s-button:not(.is-primary):hover{background:#33323c;border-color:#ffffff4a;color:#fff;box-shadow:none;transform:none;filter:none}.button.primary:hover,.s-button.is-primary:hover{background:var(--control-primary-hover);border-color:var(--control-primary-hover);color:#181122!important}.button:active,.s-button:active,.button.primary:active,.s-button.is-primary:active{transform:scale(.975)}}
.button:focus-visible,.s-button:focus-visible,.text-button:focus-visible,.s-text-link:focus-visible{outline:2px solid var(--control-focus);outline-offset:4px}
.button:disabled,.s-button:disabled,.button[aria-disabled=true],.s-button[aria-disabled=true]{background:#202026;border-color:#ffffff12;color:#93929d!important;opacity:1;box-shadow:none;transform:none;cursor:not-allowed}
.button svg,.s-button svg{display:block;width:20px;height:20px;flex-shrink:0;transform:none;stroke-width:1.7;transition:none}
.button:hover svg,.s-button:hover svg,.button.primary:hover svg,.s-button.is-primary:hover svg{transform:none}
.text-button:not(.button),.s-text-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;padding:3px 0;min-height:40px;border:0;background:transparent;border-radius:3px;color:#e4ddfa!important;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;box-shadow:none;transform:none;cursor:pointer;transition:color .18s}
.s-text-link svg,.text-button:not(.button) svg{width:21px;height:21px;stroke-width:1.7;transform:none;transition:transform .22s var(--ease-out)}
@media(hover:hover) and (pointer:fine){.text-button:not(.button):hover,.s-text-link:hover{color:#fff!important;background:transparent;transform:none}.s-text-link:hover svg,.text-button:not(.button):hover svg{transform:translateX(3px)}}
.actions,.s-actions{align-items:center;flex-wrap:wrap;gap:12px}
.s-button[aria-busy=true],.button[aria-busy=true]{cursor:progress;pointer-events:none}
.s-button[aria-busy=true]::before,.button[aria-busy=true]::before{content:'';width:16px;height:16px;flex-shrink:0;border:2px solid #ffffff40;border-top-color:currentColor;border-radius:50%;animation:control-loading .8s linear infinite}
@keyframes control-loading{to{rotate:360deg}}
.s-tabs button,.s-chip{font-size:13px;min-height:44px}.s-card .s-text-link,.s-section .s-text-link{font-size:14px}.s-support-topic:hover{transform:none}
@media(max-width:600px){.button,.s-button{min-height:50px;padding:12px 18px;font-size:14px}.button svg,.s-button svg{width:20px;height:20px}.s-text-link,.text-button:not(.button){font-size:14px}.works-bottom .button{flex:0 0 auto}.product-copy .actions{gap:12px}.s-pager button{min-width:46px;min-height:46px}}
@media(prefers-reduced-motion:reduce){.button,.s-button,.s-text-link,.s-text-link svg{transition:none!important;transform:none!important}.s-button[aria-busy=true]::before,.button[aria-busy=true]::before{animation:none}}
