.hl-btn,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast),
              border-color var(--transition-fast), transform var(--transition-fast),
              box-shadow var(--transition-fast), filter var(--transition-fast);
}

/* Primary */
.hl-btn--primary,
.wp-block-button__link,
.wp-block-button.is-style-primary .wp-block-button__link {
  background: var(--compass-red);
  color: var(--cloud-white);
  border-color: var(--compass-red);
}
.hl-btn--primary:hover,
.wp-block-button__link:hover,
.wp-block-button.is-style-primary .wp-block-button__link:hover {
  background: var(--compass-red-dark);
  border-color: var(--compass-red-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow-btn-primary);
  color: var(--cloud-white);
}

/* Secondary */
.hl-btn--secondary,
.wp-block-button.is-style-secondary .wp-block-button__link {
  background: transparent;
  color: var(--ink-black);
  border-color: var(--ink-black);
}
.hl-btn--secondary:hover,
.wp-block-button.is-style-secondary .wp-block-button__link:hover {
  background: var(--ink-black);
  color: var(--cloud-white);
  transform: translateY(-1px);
  box-shadow: var(--shadow-btn-secondary);
}

/* Tertiary */
.hl-btn--tertiary,
.wp-block-button.is-style-tertiary .wp-block-button__link {
  background: none;
  border: none;
  padding-inline: 0;
  color: var(--atlas-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.hl-btn--tertiary:hover,
.wp-block-button.is-style-tertiary .wp-block-button__link:hover {
  color: var(--compass-red);
}

/* Ticket CTA */
.hl-btn--ticket {
  border: none;
  border-radius: 0;
  background: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 44' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L160,0 L160,14 A8,8 0 0,0 160,30 L160,44 L0,44 L0,30 A8,8 0 0,0 0,14 Z' fill='%23C8453A'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  color: var(--cloud-white);
  padding-inline: 2rem;
  filter: drop-shadow(0 8px 18px rgba(200, 69, 58, 0.25));
}
.hl-btn--ticket:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 44' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L160,0 L160,14 A8,8 0 0,0 160,30 L160,44 L0,44 L0,30 A8,8 0 0,0 0,14 Z' fill='%23a3362e'/%3E%3C/svg%3E");
  transform: translateY(-1px);
  filter: drop-shadow(0 10px 22px rgba(200, 69, 58, 0.3));
  color: var(--cloud-white);
}

/* Disabled */
.hl-btn:disabled,
.hl-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Button row */
.hl-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
