/**
 * Contact Form widget — Elementor / CF7 overrides.
 */
.elementor-widget-beep-contact-form .beep-contact-form-card {
	width: 100%;
}

.elementor-widget-beep-contact-form .beep-contact-form-wrap {
	width: 100%;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 {
	width: 100%;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 form {
	margin: 0;
}

.elementor-widget-beep-contact-form .beep-cf7-notice {
	padding: 16px 18px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1.5px dashed var(--border, #e2e8f0);
	color: var(--muted, #64748b);
	font-size: 14px;
	font-weight: 500;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7-submit.beep-contact-submit,
.elementor-widget-beep-contact-form .beep-contact-form-card button.beep-contact-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7-submit svg.e-font-icon-svg,
.elementor-widget-beep-contact-form .beep-contact-form-card .beep-contact-submit svg.e-font-icon-svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7-submit svg path,
.elementor-widget-beep-contact-form .beep-contact-form-card .beep-contact-submit svg path {
	fill: currentColor;
}

/* CF7 native select enhancement */
.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7-form-control-wrap .beep-custom-select {
	width: 100%;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7-form-control-wrap:has(select.wpcf7-not-valid) .beep-cs-trigger {
	border-color: #ef4444;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .beep-budget-options,
.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .wpcf7-radio.beep-budget-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: auto;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .beep-budget-options .wpcf7-list-item {
	display: inline-flex;
	margin: 0;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .beep-budget-options .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	margin: 0;
	cursor: pointer;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .beep-budget-options .wpcf7-list-item input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	pointer-events: none;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .beep-budget-options .wpcf7-list-item .wpcf7-list-item-label {
	display: block;
	padding: 8px 18px;
	border: 1.5px solid var(--border, #e2e8f0);
	border-radius: 100px;
	font-size: 13px;
	font-weight: 600;
	color: var(--muted, #64748b);
	transition: var(--transition, all 0.2s ease);
	white-space: nowrap;
	cursor: pointer;
}

.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .beep-budget-options .wpcf7-list-item label:hover .wpcf7-list-item-label,
.elementor-widget-beep-contact-form .beep-contact-form-card .wpcf7 .beep-budget-options .wpcf7-list-item input:checked + .wpcf7-list-item-label {
	border-color: var(--orange, #F97316);
	background: #fff7ed;
	color: var(--orange, #F97316);
}
