/* Buttons & IconButton */
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:var(--fw-bold);line-height:1;white-space:nowrap;text-decoration:none;border:1.5px solid transparent;border-radius:var(--radius-button);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}
.ds-btn:active{transform:var(--press-scale)}
.ds-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.ds-btn--sm{font-size:13px;padding:8px 16px}
.ds-btn--md{font-size:15px;padding:12px 22px}
.ds-btn--lg{font-size:17px;padding:16px 30px}
.ds-btn--primary{background:var(--brand);color:var(--brand-contrast)}
.ds-btn--primary:hover{background:var(--brand-hover);color:var(--brand-contrast)}
.ds-btn--lead{background:var(--cta);color:var(--cta-contrast)}
.ds-btn--lead:hover{background:var(--cta-hover);color:var(--cta-contrast)}
.ds-btn--line{background:var(--line);color:#fff}
.ds-btn--line:hover{background:var(--line-hover);color:#fff}
.ds-btn--dark{background:var(--ink);color:#fff}
.ds-btn--dark:hover{background:var(--cool-800);color:#fff}
.ds-btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--ink)}
.ds-btn--secondary:hover{background:var(--ink);color:var(--white)}
.ds-btn--ghost{background:transparent;color:var(--ink);padding-left:8px;padding-right:8px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.ds-btn--ghost:hover{color:var(--text-link-hover)}
.ds-btn--block{display:flex;width:100%}
.ds-btn[disabled],.ds-btn--disabled{opacity:.45;pointer-events:none}
.ds-btn__arrow{display:inline-flex;transition:transform var(--dur-base) var(--ease-standard)}
.ds-btn:hover .ds-btn__arrow{transform:translateX(4px)}

.ds-iconbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;border:1.5px solid transparent;border-radius:var(--radius-circle);background:transparent;color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}
.ds-iconbtn:active{transform:var(--press-scale)}
.ds-iconbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.ds-iconbtn--sm{width:34px;height:34px}
.ds-iconbtn--md{width:42px;height:42px}
.ds-iconbtn--lg{width:52px;height:52px}
.ds-iconbtn--solid{background:var(--brand);color:var(--brand-contrast)}
.ds-iconbtn--solid:hover{background:var(--brand-hover);color:var(--brand-contrast)}
.ds-iconbtn--outline{border-color:var(--ink)}
.ds-iconbtn--outline:hover{background:var(--ink);color:var(--white)}
.ds-iconbtn--ghost:hover{background:rgba(0,0,0,.06)}
