/** Button variants; Elementor's default button is configured in Site Settings. */

.oz-button,
.elementor .elementor-widget-button .elementor-button,
.elementor-widget-button.oz-button-secondary .elementor-button,
.elementor-widget-button.oz-button-outline .elementor-button,
.elementor-widget-button.oz-button-text .elementor-button {
	align-items: center;
	border: 2px solid transparent;
	border-radius: var(--oz-radius-pill);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--oz-font-family-body);
	font-size: var(--oz-font-size-body);
	font-weight: var(--oz-font-weight-bold);
	gap: var(--oz-space-xs);
	justify-content: center;
	line-height: 1.2;
	min-height: var(--oz-control-min-height);
	padding: 0.75rem 1.5rem;
	text-align: center;
	text-decoration: none;
}

.elementor-widget-button .elementor-button { background: var(--oz-color-primary); color: var(--oz-color-on-primary); }
.elementor-widget-button .elementor-button:hover { background: var(--oz-color-primary-hover); }

/* Keep present and future WordPress/WooCommerce text buttons on the same shape token. */
.wp-element-button,
.wp-block-button__link,
.woocommerce :where(a.button, button.button, input.button) {
	border-radius: var(--oz-radius-pill);
}

.oz-button.oz-button--primary { background: var(--oz-color-primary); color: var(--oz-color-on-primary); }
.oz-button.oz-button--primary:hover { background: var(--oz-color-primary-hover); color: var(--oz-color-on-primary); }
.oz-button.oz-button--primary:active { background: var(--oz-color-primary-active); }

.oz-button--secondary,
.elementor-widget-button.oz-button-secondary .elementor-button { background: var(--oz-color-secondary); color: var(--oz-color-on-secondary); }
.oz-button--secondary:hover,
.elementor-widget-button.oz-button-secondary .elementor-button:hover { background: var(--oz-color-secondary-hover); color: var(--oz-color-on-secondary); }
.oz-button--secondary:active,
.elementor-widget-button.oz-button-secondary .elementor-button:active { background: var(--oz-color-secondary-active); }

.oz-button.oz-button--outline,
.elementor-widget-button.oz-button-outline .elementor-button { background: transparent; border-color: var(--oz-color-primary); color: var(--oz-color-primary); }
.oz-button.oz-button--outline:hover,
.elementor-widget-button.oz-button-outline .elementor-button:hover { background: var(--oz-color-primary); color: var(--oz-color-on-primary); }
.oz-button.oz-button--outline:active,
.elementor-widget-button.oz-button-outline .elementor-button:active { background: var(--oz-color-primary-active); border-color: var(--oz-color-primary-active); }

.oz-button--text,
.elementor-widget-button.oz-button-text .elementor-button { background: transparent; border-color: transparent; color: var(--oz-color-link); padding-inline: var(--oz-space-xs); }
.oz-button--text:hover,
.elementor-widget-button.oz-button-text .elementor-button:hover { background: transparent; color: var(--oz-color-link-hover); }
.oz-button--text:active,
.elementor-widget-button.oz-button-text .elementor-button:active { background: transparent; }

.oz-button:disabled,
.oz-button[aria-disabled="true"],
.elementor-widget-button[class*="oz-button-"] .elementor-button[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.55;
	pointer-events: none;
}

/* Text-only actions never gain a filled hover/focus/pressed surface. */
body .oz-button.oz-button--text,
body .elementor-widget-button.oz-button-text .elementor-button,
body .oz-context-link .elementor-button,
body .oz-shop-tiers-open,
body .ozcq-help {
 background: transparent;
}
body .oz-button.oz-button--text:is(:hover, :focus, :active),
body .elementor-widget-button.oz-button-text .elementor-button:is(:hover, :focus, :active),
body .oz-context-link .elementor-button:is(:hover, :focus, :active),
body .oz-shop-tiers-open:is(:hover, :focus, :active),
body .ozcq-help:is(:hover, :focus, :active) {
 background: transparent;
}
