/* THE SQUARE / Opt-in reusable components v1.0
   Existing page selectors remain untouched until screenshot parity is approved.
   Usage: .sq-section-label, .sq-button, .sq-button--primary, .sq-card, .sq-field.
*/
.sq-section-label{display:flex;align-items:center;gap:14px;font-family:var(--sq-font-brand);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sq-color-red)}
.sq-section-label::after{content:"";height:1px;flex:1;background:rgba(0,0,0,.17)}
.sq-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:13px 19px;border:1px solid var(--sq-color-black);border-radius:0;background:transparent;color:var(--sq-color-black);font-family:var(--sq-font-interface);font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background var(--sq-motion-fast),color var(--sq-motion-fast),border-color var(--sq-motion-fast)}
.sq-button--primary{background:var(--sq-color-red);border-color:var(--sq-color-red);color:#fff}
.sq-button--primary:hover{background:var(--sq-color-black);border-color:var(--sq-color-black)}
.sq-button--outline:hover{background:var(--sq-color-black);color:#fff}
.sq-card{background:var(--sq-color-paper);border:1px solid var(--sq-color-border-pages);padding:24px}
.sq-field{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid #bcbab4;border-radius:0;background:#fff;color:var(--sq-color-black);font:inherit}
.sq-button:focus-visible,.sq-field:focus-visible{outline:var(--sq-focus-width) solid var(--sq-color-red);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.sq-button{transition:none}}
