/* =========================================================
   NPC Equal Buttons
   Add class "equal-buttons" to the parent container
   ========================================================= */

.equal-buttons,
.equal-buttons > .e-con-inner {
	--npc-button-width: 250px;
	--npc-button-height: 52px;
	--npc-button-gap: 44px;

	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: var(--npc-button-gap) !important;

	width: 100% !important;
	max-width: calc((var(--npc-button-width) * 2) + var(--npc-button-gap)) !important;

	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

.equal-buttons > .elementor-element,
.equal-buttons > .e-con-inner > .elementor-element {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

.equal-buttons .elementor-widget-button,
.equal-buttons .elementor-widget-button .elementor-widget-container,
.equal-buttons .elementor-widget-button .elementor-button-wrapper {
	width: 100% !important;
	height: var(--npc-button-height) !important;
}

.equal-buttons .elementor-widget-button .elementor-button {
	width: 100% !important;
	height: var(--npc-button-height) !important;
	min-height: var(--npc-button-height) !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	padding: 0 18px !important;
	box-sizing: border-box !important;

	text-align: center !important;
	white-space: normal !important;
}

.equal-buttons .elementor-widget-button .elementor-button-text {
	display: block !important;
	line-height: 1.15 !important;
}

/* Small safe area around each button to prevent hover flicker */
.equal-buttons .elementor-widget-button {
	padding-top: 6px !important;
	padding-bottom: 8px !important;
	box-sizing: border-box !important;
	height: auto !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
	.equal-buttons,
	.equal-buttons > .e-con-inner {
		--npc-button-width: 250px;
		--npc-button-height: 52px;
		--npc-button-gap: 24px;
	}

	.equal-buttons .elementor-widget-button .elementor-button {
		padding: 0 14px !important;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.equal-buttons,
	.equal-buttons > .e-con-inner {
		--npc-button-height: 50px;
		--npc-button-gap: 8px;

		width: 100% !important;
		max-width: 100% !important;
	}

	.equal-buttons .elementor-widget-button .elementor-button {
		padding: 0 8px !important;
	}

	.equal-buttons .elementor-widget-button .elementor-button-text {
		line-height: 1.12 !important;
	}
}

/* Optional: left-align specific equal button rows only */
.equal-buttons.equal-buttons-left,
.equal-buttons.equal-buttons-left > .e-con-inner {
	margin-left: 0 !important;
	margin-right: auto !important;
	align-self: flex-start !important;
	justify-content: flex-start !important;
}
