/**
 * Clarke Energy Converters — Compact Minimal v4
 *
 * Transparent background — parent Elementor container provides it.
 * All !important to override theme/Elementor.
 *
 * @package Clarke_Energy_Calculator
 * @since   1.5.0
 */

/* ── Wrapper ── */
.clarke-converters-wrap {
	max-width: 600px !important;
	margin: 0 auto !important;
	padding: 0 16px !important;
}

/* ── Converter block — transparent ── */
.clarke-converter {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin-bottom: 32px !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

.clarke-converter--main {
	margin-bottom: 36px !important;
}

/* ── Grid for secondary converters ── */
.clarke-converters-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 28px 24px !important;
	margin-top: 12px !important;
}

@media (max-width: 767px) {
	.clarke-converters-grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}

/* ── Heading — strong override to beat Elementor ── */
.clarke-converter .clarke-converter__heading,
.clarke-converter .clarke-converter__heading.elementor-heading-title,
.clarke-converter h3.clarke-converter__heading,
h3.clarke-converter__heading {
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	font-style: normal !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	background: transparent !important;
	border: none !important;
	text-transform: none !important;
}

.clarke-converter--main .clarke-converter__heading,
.clarke-converter--main .clarke-converter__heading.elementor-heading-title,
.clarke-converter--main h3.clarke-converter__heading {
	font-size: 18px !important;
	margin-bottom: 48px !important;
}

.clarke-converter--secondary .clarke-converter__heading,
.clarke-converter--secondary .clarke-converter__heading.elementor-heading-title {
	font-size: 14px !important;
	margin-bottom: 10px !important;
}

/* ── Form reset ── */
.clarke-converter .elementor-form,
.clarke-converter .clarke-converter__form {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.clarke-converter .elementor-form-fields-wrapper {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

.clarke-converter .elementor-field-group {
	margin: 0 0 36px 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

.clarke-converter .elementor-field-group label {
	display: none !important;
}

/* ── Input ── */
.clarke-converter .elementor-field.elementor-field-textual,
.clarke-converter input[type="number"]:not(.clarke-converter__factor-input) {
	width: 100% !important;
	padding: 14px 16px !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: #1f2937 !important;
	background: rgba(255, 255, 255, 0.95) !important;
	box-sizing: border-box !important;
	outline: none !important;
	transition: box-shadow 0.2s ease !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
	line-height: 1.4 !important;
	height: auto !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
}

.clarke-converter .elementor-field.elementor-field-textual:focus,
.clarke-converter input[type="number"]:not(.clarke-converter__factor-input):focus {
	box-shadow: 0 0 0 2px rgba(0, 191, 111, 0.3) !important;
	border: none !important;
}

.clarke-converter input::-webkit-outer-spin-button,
.clarke-converter input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.clarke-converter__input--error {
	box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.3) !important;
}

/* ── Button ── */
.clarke-converter .e-form__buttons {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	text-align: center !important;
	display: flex !important;
	justify-content: center !important;
}

.clarke-converter .elementor-button,
.clarke-converter .elementor-button.elementor-size-xs,
.clarke-converter button[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: auto !important;
	margin: 0 auto !important;
	padding: 12px 32px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: #fff !important;
	background: #00bf6f !important;
	border: none !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: background 0.2s, box-shadow 0.2s, transform 0.1s !important;
	white-space: nowrap !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.4 !important;
	box-shadow: 0 1px 4px rgba(0, 191, 111, 0.2) !important;
	text-decoration: none !important;
}

.clarke-converter .elementor-button:hover,
.clarke-converter button[type="submit"]:hover {
	background: #00a85f !important;
	box-shadow: 0 2px 8px rgba(0, 191, 111, 0.3) !important;
}

.clarke-converter .elementor-button:active,
.clarke-converter button[type="submit"]:active {
	transform: scale(0.97) !important;
}

.clarke-converter .elementor-button-icon {
	display: inline-flex !important;
	align-items: center !important;
}

.clarke-converter .elementor-button-icon svg {
	width: 14px !important;
	height: 14px !important;
	fill: #fff !important;
}

.clarke-converter .elementor-button-content-wrapper {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}

/* ── Result card ── */
.clarke-converter__result {
	display: none !important;
	margin-top: 14px !important;
	padding: 18px 16px 16px !important;
	background: rgba(230, 249, 239, 0.88) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1px solid rgba(187, 247, 208, 0.5) !important;
	border-radius: 10px !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

.clarke-converter__result--visible {
	display: block !important;
	animation: clarkeConvFade 0.35s ease !important;
}

/* Result label */
.clarke-converter__result p[id$="_texto"],
.clarke-converter__result p.clarke-converter__result-label {
	font-size: 12px !important;
	font-weight: 500 !important;
	font-style: normal !important;
	color: #16a34a !important;
	margin: 0 0 2px 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

/* Result value */
.clarke-converter__result p[id$="_valor"],
.clarke-converter__result p.clarke-converter__result-value {
	font-size: 22px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	color: #059669 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
}

/* Factor area — always visible, below form */
.clarke-converter__factor-area {
	margin-top: 44px !important;
	padding: 0 !important;
	text-align: center !important;
	border: none !important;
}

.clarke-converter__factor-area label {
	display: block !important;
	margin-bottom: 6px !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: rgba(255, 255, 255, 0.65) !important;
	letter-spacing: 0.01em !important;
}

/* Factor input */
.clarke-converter__factor-input {
	width: 80px !important;
	padding: 6px 8px !important;
	font-size: 13px !important;
	font-style: normal !important;
	text-align: center !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 6px !important;
	background: rgba(255, 255, 255, 0.12) !important;
	color: #fff !important;
	outline: none !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s !important;
	box-shadow: none !important;
}

.clarke-converter__factor-input:focus {
	border-color: #00bf6f !important;
	background: rgba(255, 255, 255, 0.18) !important;
}

@keyframes clarkeConvFade {
	from { opacity: 0; transform: translateY(4px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ── CTA card ── */
.clarke-converter__cta {
	display: none;
	margin-top: 10px !important;
	padding: 18px 16px !important;
	background: rgba(230, 249, 239, 0.88) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1px solid rgba(187, 247, 208, 0.5) !important;
	border-radius: 10px !important;
	text-align: center !important;
	box-sizing: border-box !important;
	animation: clarkeConvFade 0.4s ease !important;
}

.clarke-converter__cta-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.clarke-converter__cta-text {
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: #1f2937 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	line-height: 1.45 !important;
}

.clarke-converter__cta-text strong {
	font-weight: 700 !important;
	font-style: normal !important;
}

.clarke-converter__cta-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 10px 32px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: #fff !important;
	background: #00bf6f !important;
	border: none !important;
	border-radius: 50px !important;
	text-decoration: none !important;
	transition: background 0.2s, box-shadow 0.2s, transform 0.12s !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	letter-spacing: 0 !important;
	box-shadow: 0 1px 6px rgba(0, 191, 111, 0.25) !important;
}

.clarke-converter__cta-btn:hover {
	background: #00a85f !important;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: 0 3px 12px rgba(0, 191, 111, 0.35) !important;
}

.clarke-converter__cta-btn:active {
	transform: scale(0.97) !important;
}

.clarke-converter__cta-btn svg {
	width: 14px !important;
	height: 14px !important;
	stroke: #fff !important;
	fill: none !important;
}

/* ── Secondary sizes ── */
.clarke-converter--secondary .elementor-field.elementor-field-textual,
.clarke-converter--secondary input[type="number"]:not(.clarke-converter__factor-input) {
	padding: 9px 12px !important;
	font-size: 13px !important;
}

.clarke-converter--secondary .elementor-button,
.clarke-converter--secondary button[type="submit"] {
	padding: 8px 22px !important;
	font-size: 12px !important;
}

.clarke-converter--secondary .clarke-converter__result {
	padding: 14px 12px 12px !important;
}

.clarke-converter--secondary .clarke-converter__result p[id$="_valor"] {
	font-size: 18px !important;
}

.clarke-converter--secondary .clarke-converter__cta {
	padding: 14px 12px !important;
}

.clarke-converter--secondary .clarke-converter__cta-text {
	font-size: 12px !important;
}

.clarke-converter--secondary .clarke-converter__cta-btn {
	padding: 8px 24px !important;
	font-size: 12px !important;
}

/* ── Elementor override resets ── */
.clarke-converter .elementor-widget-container,
.clarke-converter .elementor-element {
	font-style: normal !important;
}

.clarke-converter p,
.clarke-converter span,
.clarke-converter h1,
.clarke-converter h2,
.clarke-converter h3,
.clarke-converter h4,
.clarke-converter h5,
.clarke-converter h6 {
	font-style: normal !important;
}

/* ── Responsive ── */
@media (max-width: 575px) {
	.clarke-converters-wrap {
		padding: 0 12px !important;
	}

	.clarke-converter .elementor-button,
	.clarke-converter button[type="submit"] {
		width: 100% !important;
	}

	.clarke-converter__result p[id$="_valor"] {
		font-size: 20px !important;
	}

	.clarke-converter__cta {
		padding: 14px 12px !important;
	}

	.clarke-converter__cta-btn {
		padding: 10px 24px !important;
		font-size: 12px !important;
		width: 100% !important;
		justify-content: center !important;
	}
}
