/* ============================================================
   PRIMITIVE — .pz-btn (and legacy aliases)
   ============================================================ */

.pz-btn,
.pz-cta,
.btn--fill,
.btn--ghost,
.pz-btn--primary,
.pz-home-cinema__cta,
.wp-element-button:not(.search-submit):not(input) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  padding: 0.85em 1.5em;
  font-family: var(--pz-ff-body);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.005em;
  border-radius: var(--pz-r-pill);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
  transition:
    transform var(--t-1) var(--ease-std),
    background-color var(--t-1) var(--ease-std),
    color var(--t-1) var(--ease-std),
    border-color var(--t-1) var(--ease-std),
    box-shadow var(--t-1) var(--ease-std);
  min-height: 44px;
  box-sizing: border-box;
}

/* ============================================================
   VARIANT: PRIMARY (ink-filled)
   ============================================================ */

.pz-btn--primary,
.pz-cta,
.btn--fill,
.pz-home-cinema__cta--primary,
.wp-element-button:not(.search-submit):not(input):not(.btn--ghost) {
  background: var(--pz-ink);
  color: var(--pz-paper);
  border-color: var(--pz-ink);
}

.pz-btn--primary:hover,
.pz-cta:hover,
.btn--fill:hover {
  background: var(--pz-orange-2);
  border-color: var(--pz-orange-2);
  color: var(--pz-paper);
  transform: translateY(-1px);
  box-shadow: var(--pz-shadow-2);
}

/* ============================================================
   VARIANT: GHOST (transparent with border)
   ============================================================ */

.pz-btn--ghost,
.btn--ghost,
.pz-home-cinema__cta--ghost {
  background: transparent;
  color: var(--pz-ink);
  border-color: var(--pz-line);
}

.pz-btn--ghost:hover,
.btn--ghost:hover {
  background: var(--pz-paper-2);
  border-color: var(--pz-ink-2);
  color: var(--pz-ink);
}

/* On dark backgrounds, ghost flips */
.pz-section--dark .pz-btn--ghost,
.pz-section--dark .btn--ghost,
.pz-hero .btn--ghost,
.pz-home-cinema .pz-home-cinema__cta--ghost {
  color: var(--pz-paper);
  border-color: rgba(250, 250, 249, 0.35);
}

.pz-section--dark .pz-btn--ghost:hover,
.pz-hero .btn--ghost:hover {
  background: rgba(250, 250, 249, 0.08);
  border-color: rgba(250, 250, 249, 0.7);
  color: var(--pz-paper);
}

/* ============================================================
   VARIANT: LINK (subtle text-like)
   ============================================================ */

.pz-btn--link {
  background: transparent;
  border-color: transparent;
  color: var(--pz-orange);
  padding: 0.4em 0.6em;
  min-height: auto;
}

.pz-btn--link:hover {
  color: var(--pz-orange-2);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ============================================================
   SMALL — for compact contexts
   ============================================================ */

.pz-btn--sm {
  padding: 0.55em 1em;
  font-size: 0.82rem;
  min-height: 36px;
}

.pz-btn--lg {
  padding: 1em 1.8em;
  font-size: 1rem;
  min-height: 48px;
}

/* ============================================================
   PRESS FEEDBACK — universal
   ============================================================ */

.pz-btn:active,
.pz-cta:active,
.btn--fill:active,
.btn--ghost:active,
.pz-btn--primary:active,
.pz-btn--ghost:active,
.pz-btn--link:active,
.pz-home-cinema__cta:active,
.wp-element-button:not(input):active {
  transform: translateY(1px) scale(0.98);
  transition-duration: 80ms;
}

/* ============================================================
   FOCUS — single canonical ring
   ============================================================ */

.pz-btn:focus-visible,
.pz-cta:focus-visible,
.btn--fill:focus-visible,
.btn--ghost:focus-visible,
.pz-btn--primary:focus-visible,
.pz-btn--ghost:focus-visible {
  outline: 2px solid rgba(194, 65, 12, 0.55);
  outline-offset: 3px;
}

/* ============================================================
   ICON-LEADING SUPPORT
   ============================================================ */

.pz-btn svg,
.pz-btn .pz-icon {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}