.container {
  width: var(--container);
  margin-inline: auto;
}

.container-wide {
  width: var(--container-wide);
  margin-inline: auto;
}

.surface-card {
  border: 1px solid var(--theme-border);
  background: var(--theme-surface);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.btn,
button,
input[type="submit"],
.wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.02em;
  min-height: 2.7rem;
  padding: 0.55rem 1rem;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color var(--dur-base) var(--easing-standard),
    color var(--dur-base) var(--easing-standard),
    border-color var(--dur-base) var(--easing-standard),
    transform var(--dur-fast) var(--easing-standard),
    box-shadow var(--dur-base) var(--easing-standard);
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
.wp-element-button:hover {
  transform: translateY(-1px);
}

.btn:active,
button:active,
input[type="submit"]:active,
.wp-element-button:active {
  transform: translateY(0);
}

.btn-primary,
.wp-block-button.is-style-fill .wp-element-button,
.wp-element-button {
  background: var(--theme-primary);
  color: #fff;
  box-shadow: var(--shadow-pop);
}

.btn-primary:hover,
.wp-block-button.is-style-fill .wp-element-button:hover,
.wp-element-button:hover {
  background: var(--theme-primary-hover);
}

.btn-outline,
.wp-block-button.is-style-outline .wp-element-button {
  border-color: var(--theme-border-strong);
  background: transparent;
  color: var(--theme-text);
}

.btn-outline:hover,
.wp-block-button.is-style-outline .wp-element-button:hover {
  border-color: var(--theme-primary);
  color: var(--theme-primary);
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
