/*
 * Rebrand „etykieta energetyczna” – warstwa wizualna nad stronami Elementora.
 * Kolory wpisane w elementach przemapowuje inc/rebrand.php przy generowaniu CSS Elementora;
 * tutaj są tokeny, komponenty (przyciski, formularze) i znak rozpoznawczy – pasek klas A–G.
 */

:root {
	--esw-ink: #0A1F14;
	--esw-ink-soft: #3B4A41;
	--esw-bg: #F3F5EE;
	--esw-surface: #FFFFFF;
	--esw-line: #DCE3D8;
	--esw-primary: #0B6E4F;
	--esw-primary-hover: #085A40;
	--esw-highlight: #C6F05E;
	--esw-radius: 14px;
	--esw-radius-sm: 10px;
	--esw-shadow: 0 1px 2px rgba(10, 31, 20, .04), 0 8px 24px -12px rgba(10, 31, 20, .12);
	--esw-shadow-hover: 0 2px 4px rgba(10, 31, 20, .06), 0 16px 32px -16px rgba(10, 31, 20, .22);

	/* Kolor globalny „BG-1” z Zestawu domyślnego (stara mięta) */
	--e-global-color-fd8c7f7: var(--esw-bg);
}

body {
	background-color: var(--esw-bg);
	color: var(--esw-ink);
}

/* Znak rozpoznawczy: skala klas energetycznych A–G (schodkowo, bez przejść) */
body::before {
	content: "";
	display: block;
	height: 6px;
	background: linear-gradient(90deg,
		#00A651 0 14.28%, #50B848 0 28.57%, #BED630 0 42.85%, #FFF200 0 57.14%,
		#FDB913 0 71.42%, #F37021 0 85.71%, #ED1C24 0);
}

/* Typografia */
.elementor-heading-title {
	text-wrap: balance;
}

.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
	text-wrap: pretty;
}

::selection {
	background: var(--esw-highlight);
	color: var(--esw-ink);
}

/* Przyciski Elementora */
.elementor-button {
	border-radius: var(--esw-radius-sm) !important;
	letter-spacing: normal;
	transition: transform .15s ease-out, box-shadow .15s ease-out, background-color .15s ease-out;
}

.elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: var(--esw-shadow-hover);
}

.elementor-button:focus-visible,
a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--esw-highlight);
	outline-offset: 2px;
}

/* Białe logo partnera było projektowane pod miętowe tło – na jasnym tle przyciemniamy */
img[src*="white-lion-investments-logo"] {
	filter: brightness(0) opacity(.7);
}

/* Karty z obrazkiem (np. „Wybierz rodzaj Świadectwa”) – lekkie uniesienie przy hoverze */
.e-con:has(> .elementor-widget-image):has(.elementor-button) {
	transition: transform .2s ease-out, box-shadow .2s ease-out;
}

@media (hover: hover) {
	.e-con:has(> .elementor-widget-image):has(.elementor-button):hover {
		transform: translateY(-3px);
		box-shadow: var(--esw-shadow-hover);
	}
}

/* Formularze Forminator – jeden spójny, nowoczesny styl zamiast grubych zielonych ramek */
.forminator-ui.forminator-custom-form {
	border-radius: var(--esw-radius);
}

.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea,
.forminator-ui.forminator-custom-form select,
.forminator-ui.forminator-custom-form .select2-selection--single {
	border: 1.5px solid var(--esw-line) !important;
	border-radius: var(--esw-radius-sm) !important;
	background-color: #fff !important;
	color: var(--esw-ink) !important;
	transition: border-color .15s ease-out, box-shadow .15s ease-out;
}

.forminator-ui.forminator-custom-form .forminator-input:hover,
.forminator-ui.forminator-custom-form .forminator-textarea:hover {
	border-color: #B9C6B4 !important;
}

.forminator-ui.forminator-custom-form .forminator-input:focus,
.forminator-ui.forminator-custom-form .forminator-textarea:focus,
.forminator-ui.forminator-custom-form select:focus {
	border-color: var(--esw-primary) !important;
	box-shadow: 0 0 0 4px rgba(11, 110, 79, .15) !important;
	outline: none !important;
}

.forminator-ui.forminator-custom-form .forminator-label {
	color: var(--esw-ink) !important;
	font-weight: 500 !important;
}

.forminator-ui.forminator-custom-form .forminator-checkbox-box,
.forminator-ui.forminator-custom-form .forminator-radio-bullet {
	border: 1.5px solid #B9C6B4 !important;
	background-color: #fff !important;
}

.forminator-ui.forminator-custom-form .forminator-checkbox-box {
	border-radius: 5px !important;
}

.forminator-ui.forminator-custom-form input:checked + .forminator-checkbox-box,
.forminator-ui.forminator-custom-form input:checked + .forminator-radio-bullet {
	border-color: var(--esw-primary) !important;
	background-color: var(--esw-primary) !important;
	color: #fff !important;
}

.forminator-ui.forminator-custom-form .forminator-multi-upload {
	border: 1.5px dashed #B9C6B4 !important;
	border-radius: var(--esw-radius-sm) !important;
	background-color: #fff !important;
	color: var(--esw-ink-soft) !important;
}

.forminator-ui.forminator-custom-form .forminator-multi-upload .forminator-multi-upload-message p,
.forminator-ui.forminator-custom-form .forminator-multi-upload .forminator-multi-upload-message .forminator-icon-upload {
	color: var(--esw-ink-soft) !important;
}

.forminator-ui.forminator-custom-form .forminator-multi-upload .forminator-multi-upload-message a {
	color: var(--esw-primary) !important;
}

.forminator-ui.forminator-custom-form .forminator-button-submit {
	border-radius: var(--esw-radius-sm) !important;
	background-color: var(--esw-primary) !important;
	color: #fff !important;
	font-weight: 600 !important;
	padding: 14px 28px !important;
	transition: background-color .15s ease-out, transform .15s ease-out;
}

.forminator-ui.forminator-custom-form .forminator-button-submit:hover {
	background-color: var(--esw-primary-hover) !important;
	transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
	.elementor-button,
	.e-con,
	.forminator-ui .forminator-button-submit {
		transition: none !important;
	}

	.elementor-button:hover,
	.e-con:hover,
	.forminator-ui .forminator-button-submit:hover {
		transform: none !important;
	}
}
