/**
 * TechBBQ Button — shared pill CTA component.
 *
 * Figma component: Button (4189:8767)
 * https://www.figma.com/design/5yXrB09CMVaqf3V343o3yZ/Website-%7C-TechBBQ--Copy-?node-id=4189-8767
 *
 * Variants: primary / secondary × medium / large.
 * Arrow icon is a separate concern — not styled here.
 *
 * Anchor selectors beat Elementor Site Kit / theme link defaults on <a> CTAs.
 *
 * Tito: classes live on <tito-button>; visuals apply only to the injected
 * .tito-widget-button so the host is not a second styled button.
 */

a.techbbq-btn,
button.techbbq-btn,
.techbbq-btn:not(tito-button),
tito-button.techbbq-btn .tito-widget-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: var(--techbbq-btn-height-medium);
	padding: 8px var(--techbbq-btn-padding-x-medium);
	border: 1px solid transparent;
	border-radius: var(--techbbq-radius-pill);
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-btn-font-size-medium);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: var(--techbbq-btn-letter-spacing-medium);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		opacity 0.2s ease;
}

/* Transparent host — Tito injects the real clickable button. */
tito-button.techbbq-btn {
	display: inline-flex;
	width: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	line-height: 0;
	cursor: pointer;
}

a.techbbq-btn--large,
button.techbbq-btn--large,
.techbbq-btn--large:not(tito-button),
tito-button.techbbq-btn--large .tito-widget-button {
	min-height: var(--techbbq-btn-height-large);
	padding: 8px var(--techbbq-btn-padding-x-large);
	font-size: var(--techbbq-btn-font-size-large);
	letter-spacing: var(--techbbq-btn-letter-spacing-large);
}

a.techbbq-btn--primary,
a.techbbq-btn--primary:visited,
a.techbbq-btn--primary:focus,
button.techbbq-btn--primary,
button.techbbq-btn--primary:focus,
.techbbq-btn--primary:not(tito-button),
.techbbq-btn--primary:not(tito-button):focus,
tito-button.techbbq-btn--primary .tito-widget-button,
tito-button.techbbq-btn--primary .tito-widget-button:focus {
	color: var(--techbbq-btn-primary-content);
	background-color: var(--techbbq-btn-primary-fill-default);
}

a.techbbq-btn--primary:hover,
button.techbbq-btn--primary:hover,
.techbbq-btn--primary:not(tito-button):hover,
tito-button.techbbq-btn--primary .tito-widget-button:hover {
	color: var(--techbbq-btn-primary-content-hover);
	background-color: var(--techbbq-btn-primary-fill-hover);
	text-decoration: none;
}

/* Beat Hello reset.css button:focus / button:hover (#c36). */
[type="button"].techbbq-btn.techbbq-btn--primary:focus,
[type="submit"].techbbq-btn.techbbq-btn--primary:focus,
button.techbbq-btn.techbbq-btn--primary:focus,
a.techbbq-btn.techbbq-btn--primary:focus,
tito-button.techbbq-btn.techbbq-btn--primary .tito-widget-button:focus {
	color: var(--techbbq-btn-primary-content);
	background-color: var(--techbbq-btn-primary-fill-default);
	border-color: transparent;
	text-decoration: none;
}

[type="button"].techbbq-btn.techbbq-btn--primary:hover,
[type="submit"].techbbq-btn.techbbq-btn--primary:hover,
button.techbbq-btn.techbbq-btn--primary:hover,
a.techbbq-btn.techbbq-btn--primary:hover,
tito-button.techbbq-btn.techbbq-btn--primary .tito-widget-button:hover {
	color: var(--techbbq-btn-primary-content-hover);
	background-color: var(--techbbq-btn-primary-fill-hover);
	border-color: transparent;
	text-decoration: none;
}

a.techbbq-btn--secondary,
a.techbbq-btn--secondary:visited,
a.techbbq-btn--secondary:focus,
button.techbbq-btn--secondary,
button.techbbq-btn--secondary:focus,
.techbbq-btn--secondary:not(tito-button),
.techbbq-btn--secondary:not(tito-button):focus,
tito-button.techbbq-btn--secondary .tito-widget-button,
tito-button.techbbq-btn--secondary .tito-widget-button:focus {
	color: var(--techbbq-btn-secondary-content);
	background-color: transparent;
	border-color: var(--techbbq-btn-secondary-border-default);
}

a.techbbq-btn--secondary:hover,
button.techbbq-btn--secondary:hover,
.techbbq-btn--secondary:not(tito-button):hover,
tito-button.techbbq-btn--secondary .tito-widget-button:hover {
	color: var(--techbbq-btn-primary-content);
	background-color: var(--techbbq-btn-primary-fill-default);
	border-color: transparent;
	text-decoration: none;
}

/* Beat Hello reset.css button:hover for secondary. */
[type="button"].techbbq-btn.techbbq-btn--secondary:hover,
[type="submit"].techbbq-btn.techbbq-btn--secondary:hover,
button.techbbq-btn.techbbq-btn--secondary:hover,
a.techbbq-btn.techbbq-btn--secondary:hover,
tito-button.techbbq-btn.techbbq-btn--secondary .tito-widget-button:hover {
	color: var(--techbbq-btn-primary-content);
	background-color: var(--techbbq-btn-primary-fill-default);
	border-color: transparent;
	text-decoration: none;
}

/* Beat Hello reset.css button:focus (#c36) for secondary. */
[type="button"].techbbq-btn.techbbq-btn--secondary:focus,
[type="submit"].techbbq-btn.techbbq-btn--secondary:focus,
button.techbbq-btn.techbbq-btn--secondary:focus,
a.techbbq-btn.techbbq-btn--secondary:focus,
tito-button.techbbq-btn.techbbq-btn--secondary .tito-widget-button:focus {
	color: var(--techbbq-btn-secondary-content);
	background-color: transparent;
	border-color: var(--techbbq-btn-secondary-border-default);
	text-decoration: none;
}

/*
 * Beat Hello reset.css:
 * a:not([href]):not([tabindex]) { color: inherit; }
 * Pill CTAs without href (e.g. disabled status) must match linked buttons.
 */
a.techbbq-btn:not([href]):not([tabindex]),
a.techbbq-btn:not([href]):not([tabindex]):visited,
a.techbbq-btn:not([href]):not([tabindex]):focus {
	text-decoration: none;
}

a.techbbq-btn.techbbq-btn--primary:not([href]):not([tabindex]),
a.techbbq-btn.techbbq-btn--primary:not([href]):not([tabindex]):visited,
a.techbbq-btn.techbbq-btn--primary:not([href]):not([tabindex]):focus {
	color: var(--techbbq-btn-primary-content);
	background-color: var(--techbbq-btn-primary-fill-default);
	border-color: transparent;
}

a.techbbq-btn.techbbq-btn--primary:not([href]):not([tabindex]):hover {
	color: var(--techbbq-btn-primary-content-hover);
	background-color: var(--techbbq-btn-primary-fill-hover);
	border-color: transparent;
	text-decoration: none;
}

a.techbbq-btn.techbbq-btn--secondary:not([href]):not([tabindex]),
a.techbbq-btn.techbbq-btn--secondary:not([href]):not([tabindex]):visited,
a.techbbq-btn.techbbq-btn--secondary:not([href]):not([tabindex]):focus {
	color: var(--techbbq-btn-secondary-content);
	background-color: transparent;
	border-color: var(--techbbq-btn-secondary-border-default);
}

a.techbbq-btn.techbbq-btn--secondary:not([href]):not([tabindex]):hover {
	color: var(--techbbq-btn-primary-content);
	background-color: var(--techbbq-btn-primary-fill-default);
	border-color: transparent;
	text-decoration: none;
}

a.techbbq-btn:disabled,
a.techbbq-btn[aria-disabled="true"],
a.techbbq-btn.disabled,
button.techbbq-btn:disabled,
button.techbbq-btn[aria-disabled="true"],
button.techbbq-btn.disabled,
.techbbq-btn:not(tito-button):disabled,
.techbbq-btn:not(tito-button)[aria-disabled="true"],
.techbbq-btn.disabled:not(tito-button),
tito-button.techbbq-btn.disabled .tito-widget-button {
	opacity: var(--techbbq-btn-disabled-opacity);
	cursor: not-allowed;
	pointer-events: none;
}

a.techbbq-btn:focus-visible,
button.techbbq-btn:focus-visible,
.techbbq-btn:not(tito-button):focus-visible,
tito-button.techbbq-btn .tito-widget-button:focus-visible {
	outline: 2px solid var(--techbbq-content-primary);
	outline-offset: 2px;
}

.techbbq-btn-wrapper {
	display: flex;
	width: auto;
}

.techbbq-btn-wrapper--align-left {
	justify-content: flex-start;
}

.techbbq-btn-wrapper--align-center {
	justify-content: center;
}

.techbbq-btn-wrapper--align-right {
	justify-content: flex-end;
}

.techbbq-btn-wrapper--align-justify .techbbq-btn:not(tito-button),
.techbbq-btn-wrapper--align-justify tito-button.techbbq-btn,
.techbbq-btn-wrapper--align-justify tito-button.techbbq-btn .tito-widget-button {
	width: 100%;
}

/* Reset global link underline on pill / CTA anchors (see link.css). */
a.techbbq-btn:hover,
a.techbbq-btn:focus-visible,
a[class*="__btn"]:hover,
a[class*="__btn"]:focus-visible,
a.elementor-button:hover,
a.elementor-button:focus-visible,
a.elementor-button-link:hover,
a.elementor-button-link:focus-visible {
	text-decoration: none;
}
