.jc-button, .is-style-jc-primary .wp-block-button__link, .is-style-jc-outline .wp-block-button__link, .is-style-jc-neutral .wp-block-button__link, .is-style-jc-inverse .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: var(--jc-space-8); min-height: var(--jc-touch-min); padding: var(--jc-btn-pad-y) var(--jc-btn-pad-x); border: 1px solid var(--jc-ink); border-radius: var(--jc-radius); background: transparent; color: var(--jc-ink); font: 700 var(--jc-fs-button)/1 var(--jc-font-body); letter-spacing: var(--jc-tracking-button); text-transform: uppercase; text-decoration: none; cursor: pointer; transition: color var(--jc-duration), background var(--jc-duration), border-color var(--jc-duration); }
.jc-button:hover, .is-style-jc-neutral .wp-block-button__link:hover { background: var(--jc-ink); color: var(--jc-paper); }
.jc-button--primary, .is-style-jc-primary .wp-block-button__link { background: var(--jc-accent); border-color: var(--jc-accent); color: var(--jc-on-accent); }
.jc-button--primary:hover, .is-style-jc-primary .wp-block-button__link:hover { background: var(--jc-accent-hover); border-color: var(--jc-accent-hover); color: var(--jc-on-accent); }
.jc-button--secondary, .is-style-jc-outline .wp-block-button__link { border-color: var(--jc-accent); color: var(--jc-accent); }
.jc-button--secondary:hover, .is-style-jc-outline .wp-block-button__link:hover { background: var(--jc-accent); color: var(--jc-on-accent); }
.jc-button--inverse, .is-style-jc-inverse .wp-block-button__link { border-color: var(--jc-paper); color: var(--jc-paper); }
.jc-button--inverse:hover, .is-style-jc-inverse .wp-block-button__link:hover { background: var(--jc-paper); color: var(--jc-ink); }
.jc-button--cta { padding: var(--jc-btn-cta-pad-y) var(--jc-btn-cta-pad-x); min-width: var(--jc-btn-cta-min-w); }
.jc-button:disabled, .jc-button[aria-disabled='true'] { opacity: .5; cursor: not-allowed; }
.jc-text-link, .is-style-jc-text-link { display: inline-flex; align-items: center; gap: var(--jc-space-8); min-height: var(--jc-touch-min); color: var(--jc-ink); font: 700 var(--jc-fs-nav)/1.4 var(--jc-font-body); letter-spacing: var(--jc-tracking-link); text-transform: uppercase; text-decoration: none; }
.jc-text-link > span:first-child, .is-style-jc-text-link { border-bottom: 1px solid var(--jc-accent); }
.jc-text-link::after { content: '→'; font-size: 15px; font-weight: 400; transition: transform var(--jc-duration-fast); }
.jc-text-link:hover { color: var(--jc-accent); }
.jc-text-link:hover::after { transform: translateX(3px); }
@media (max-width: 767px) { .jc-button--block-mobile { width: 100%; } }
