/**
 * Button widget — self-contained theme .btn styles for Elementor.
 * Bootstrap .btn rules conflict with beepcoder outline box-shadow; keep scoped here.
 */
.elementor-widget-beep-btn {
	--beep-orange: #F97316;
	--beep-grad: linear-gradient(135deg, #F97316 0%, #EF4444 100%);
	--beep-white: #FFFFFF;
}

.elementor-widget-beep-btn .beep-btn-widget {
	display: inline-block;
}

.elementor-widget-beep-btn .beep-btn-widget--block {
	display: block;
	width: 100%;
}

.elementor-widget-beep-btn .beep-btn-widget .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0 36px;
	height: 54px;
	border-radius: 99px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	border: 2px solid transparent;
	white-space: nowrap;
	text-decoration: none;
	line-height: 1;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s ease;
	box-sizing: border-box;
	background-image: none;
	box-shadow: none;
}

/* Primary */
.elementor-widget-beep-btn .beep-btn-widget .btn.btn-primary {
	background: var(--beep-grad);
	border-color: transparent;
	color: var(--beep-white);
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-primary::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: -20%;
	right: -20%;
	top: -4%;
	height: 150%;
	width: 150%;
	background: var(--beep-white);
	transform: skewX(45deg) scale(0, 1);
	transition: transform 0.5s ease;
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-primary:hover {
	color: var(--beep-orange);
	border-color: transparent;
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-primary:hover::after {
	transform: skewX(45deg) scale(1, 1);
}

/* Outline */
.elementor-widget-beep-btn .beep-btn-widget .btn.btn-outline {
	background-color: transparent;
	background-image: none;
	border-color: transparent;
	color: var(--beep-orange);
	box-shadow: inset 0 0 0 2px var(--beep-orange);
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-outline::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: -20%;
	right: -20%;
	top: -4%;
	height: 150%;
	width: 150%;
	background: var(--beep-grad);
	transform: skewX(45deg) scale(0, 1);
	transition: transform 0.5s ease;
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-outline:hover {
	color: var(--beep-white);
	box-shadow: none;
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-outline:hover::after {
	transform: skewX(45deg) scale(1, 1);
}

/* Outline white */
.elementor-widget-beep-btn .beep-btn-widget .btn.btn-outline.btn-outline-white {
	border-color: transparent;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.5);
	color: var(--beep-white);
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-outline.btn-outline-white::after {
	background: var(--beep-grad);
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-outline.btn-outline-white:hover {
	color: var(--beep-white);
	box-shadow: none;
}

/* Ghost */
.elementor-widget-beep-btn .beep-btn-widget .btn.btn-ghost {
	border-color: rgba(255, 255, 255, 0.4);
	color: var(--beep-white);
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(6px);
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-ghost::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: -20%;
	right: -20%;
	top: -4%;
	height: 150%;
	width: 150%;
	background: rgba(255, 255, 255, 0.15);
	transform: skewX(45deg) scale(0, 1);
	transition: transform 0.5s ease;
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-ghost:hover {
	color: var(--beep-white);
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-ghost:hover::after {
	transform: skewX(45deg) scale(1, 1);
}

/* Sizes */
.elementor-widget-beep-btn .beep-btn-widget .btn.btn-lg {
	height: 58px;
	padding: 0 44px;
	font-size: 16px;
}

.elementor-widget-beep-btn .beep-btn-widget .btn.btn-sm {
	height: 40px;
	padding: 0 20px;
	font-size: 13px;
	border-radius: 99px;
}

.elementor-widget-beep-btn .beep-btn-widget .btn.w-100 {
	width: 100%;
}

/* Elementor inline SVG icons */
.elementor-widget-beep-btn .beep-btn-widget .btn svg.e-font-icon-svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.elementor-widget-beep-btn .beep-btn-widget .btn svg.e-font-icon-svg path {
	fill: currentColor;
}
