.btn-shared.btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);font-family:var(--font-heading);font-weight:700;font-size:var(--text-base);text-decoration:none;cursor:pointer;border:1.5px solid transparent}.btn-shared .btn-content{position:relative;display:inline-grid}.btn-shared .btn-content>*{grid-area:1 / 1}.btn-shared .btn-label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-shared .btn-label>svg{flex:none}.btn-shared .spinner{justify-self:center;align-self:center;width:18px;height:18px;border-radius:var(--radius-full);border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .6s linear infinite}@media(prefers-reduced-motion:reduce){.btn-shared .spinner{animation:none}}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-shared .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-shared.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-shared.btn--secondary{background:var(--color-bg);color:var(--color-primary);border-color:var(--color-primary)}.btn-shared.btn--tertiary{background:transparent;color:var(--color-primary);border-color:transparent;padding-inline:var(--space-2)}.btn-shared.btn--tertiary:hover,.btn-shared.btn--tertiary:focus-visible{text-decoration:underline}.btn-shared.btn--destructive{background:var(--color-danger);color:var(--color-on-primary)}.btn-shared.btn--light{min-height:48px;background:var(--color-bg);color:var(--color-hero-button-text);border-color:var(--color-bg);font-size:.95rem;font-weight:600;line-height:var(--leading-base);transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,background-color .18s}.btn-shared.btn--light:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):not(:focus-visible):not(:active):hover{transform:translateY(-1px);background:var(--hero-button-hover);box-shadow:var(--shadow-hero-button-hover)}.btn-shared.btn--icon{width:44px;height:44px;padding:0;flex:none}.btn-shared.btn--icon.btn--light{width:48px;height:48px}.btn-shared.btn--icon svg{width:20px;height:20px;flex:none}.btn-shared.btn--icon.btn--tertiary{color:var(--color-text);text-decoration:none}.btn-shared.btn--icon.btn--tertiary:not(:disabled):not([aria-disabled=true]):hover{background:var(--color-surface)}.btn-shared.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-shared.btn--light:focus-visible{box-shadow:0 0 0 4px var(--color-bg)}.btn-shared.btn--light:not(:disabled):not([aria-disabled=true]):active{transform:none;background:var(--hero-button-hover)}.btn-shared.btn--icon.btn--tertiary:not(:disabled):not([aria-disabled=true]):active{background:var(--color-border)}.btn-shared.btn[disabled],.btn-shared.btn[aria-disabled=true]{background:var(--color-surface);color:var(--color-text-muted);border-color:transparent;cursor:not-allowed;transform:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.btn-shared.btn--light{transition:none}.btn-shared.btn--light:hover{transform:none!important}}
