/**
 * CTA widget — Elementor overrides.
 */
.elementor-widget-beep-cta {
	--beep-orange: #f97316;
	--beep-grad: linear-gradient(135deg, #f97316 0%, #ef4444 100%);
	--beep-white: #ffffff;
}

.elementor-widget-beep-cta .beep-newsletter {
	width: 100%;
}

.elementor-widget-beep-cta .beep-newsletter-inner {
	margin-left: auto;
	margin-right: auto;
}

.elementor-widget-beep-cta .beep-section-label.light {
	display: inline-block;
}

.elementor-widget-beep-cta .beep-cta-description {
	margin-bottom: 36px;
}

.elementor-widget-beep-cta .beep-cta-actions {
	margin-top: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
}

/* Buttons — Bootstrap .btn conflicts in Elementor */
.elementor-widget-beep-cta .beep-cta-actions .btn,
.elementor-widget-beep-cta .beep-newsletter-form .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;
}

.elementor-widget-beep-cta .beep-cta-actions .btn.btn-primary,
.elementor-widget-beep-cta .beep-newsletter-form .btn.btn-primary {
	background: var(--beep-grad);
	color: var(--beep-white);
}

.elementor-widget-beep-cta .beep-cta-actions .btn.btn-primary::after,
.elementor-widget-beep-cta .beep-newsletter-form .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-cta .beep-cta-actions .btn.btn-primary:hover,
.elementor-widget-beep-cta .beep-newsletter-form .btn.btn-primary:hover {
	color: var(--beep-orange);
}

.elementor-widget-beep-cta .beep-cta-actions .btn.btn-primary:hover::after,
.elementor-widget-beep-cta .beep-newsletter-form .btn.btn-primary:hover::after {
	transform: skewX(45deg) scale(1, 1);
}

.elementor-widget-beep-cta .beep-cta-actions .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-cta .beep-cta-actions .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-cta .beep-cta-actions .btn.btn-ghost:hover {
	color: var(--beep-white);
}

.elementor-widget-beep-cta .beep-cta-actions .btn.btn-ghost:hover::after {
	transform: skewX(45deg) scale(1, 1);
}

.elementor-widget-beep-cta .beep-cta-actions .btn.btn-lg {
	height: 58px;
	padding: 0 44px;
	font-size: 16px;
}

.elementor-widget-beep-cta .beep-cta-actions .btn.btn-sm {
	height: 40px;
	padding: 0 20px;
	font-size: 13px;
}

.elementor-widget-beep-cta .beep-cta-actions .btn i {
	color: inherit;
}

.elementor-widget-beep-cta .beep-newsletter-form {
	display: flex;
	gap: 0;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 99px;
	padding: 6px 6px 6px 24px;
	max-width: 540px;
	margin: 0 auto 14px;
	align-items: center;
}

.elementor-widget-beep-cta .beep-newsletter-form input {
	flex: 1;
	background: none;
	border: none;
	outline: none;
	color: var(--beep-white);
	font-size: 15px;
	font-family: inherit;
	min-width: 0;
}

.elementor-widget-beep-cta .beep-newsletter-form input::placeholder {
	color: rgba(255, 255, 255, 0.4);
}

.elementor-widget-beep-cta .beep-newsletter-form .btn {
	flex-shrink: 0;
	border-radius: 99px;
	height: 48px;
	padding: 0 30px;
}

.elementor-widget-beep-cta .beep-newsletter-note {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.4);
}
