/*
 * Hruszowiec - style uzupełniające Elementor (zastępują to, co wcześniej dawał motyw The7).
 */

/* Bazowe odstępy typografii (jak w The7; reset Hello ustawia inne). */
body {
	display: flow-root; /* ujemny margines nagłówka nie może "wypływać" poza body */
	overflow-x: hidden;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}

/* Elementy szersze niż ekran (np. obraz tła na 404) nie mogą poszerzać strony. */
.elementor {
	overflow-x: clip;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 10px;
}

p {
	margin: 0 0 10px;
}

.elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
	margin: 0 0 10px 20px;
	padding: 0;
}

.elementor-widget-text-editor ul:last-child,
.elementor-widget-text-editor ol:last-child {
	margin-bottom: 0;
}

/* Typografia h1-h6 z kitu nie może nadpisywać line-height widgetu Heading. */
.elementor-widget-heading .elementor-heading-title {
	line-height: 1;
}

/* Ikony w boksach przeniesionych z The7 zachowują proporcje (np. pinezka);
   niska specyficzność, by CSS sekcji (np. .consulting-icons) miał pierwszeństwo. */
body :where(.icon-box-vertical-align-center) .elementor-icon svg {
	height: auto;
}

/* Domyślny wygląd przycisków Elementora (rozmiary jak w ustawieniach The7). */
.elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "Inter", sans-serif;
	font-weight: 500;
	line-height: 1;
	color: #fff;
	background-color: var(--e-global-color-el_color_1);
}

.elementor-button:hover,
.elementor-button:focus {
	color: #fff;
	background-color: var(--e-global-color-el_color_1_2);
}

.elementor-button .elementor-button-content-wrapper {
	flex-grow: 1;
	align-items: center;
}

.elementor-element .elementor-button.elementor-size-xs {
	min-height: 28px;
	padding: 5px 11px;
	border-radius: 3px;
	font-size: 11px;
}

.elementor-element .elementor-button.elementor-size-sm {
	min-height: 36px;
	padding: 5px 15px;
	border-radius: 4px;
	font-size: 12px;
}

.elementor-element .elementor-button.elementor-size-md {
	min-height: 48px;
	padding: 5px 18px;
	border-radius: 5px;
	font-size: 14px;
}

.elementor-element .elementor-button.elementor-size-lg {
	min-height: 54px;
	padding: 5px 22px;
	border-radius: 5px;
	font-size: 16px;
}

.elementor-element .elementor-button.elementor-size-xl {
	min-height: 62px;
	padding: 5px 28px;
	border-radius: 5px;
	font-size: 18px;
}

@media (max-width: 777px) {
	.elementor-element .elementor-button.elementor-size-xl {
		min-height: 54px;
		padding: 5px 22px;
		font-size: 16px;
	}
}

/* Przyklejony nagłówek: efekty po przewinięciu (tło, niższy pasek, mniejsze logo). */
.hr-sticky-header,
.hr-sticky-header > .elementor-container,
.hr-sticky-header .hr-sticky-logo img {
	transition: background .3s, min-height .3s, height .3s, width .3s, max-width .3s;
}

.hr-sticky-header.elementor-sticky--effects:not(.elementor-sticky__spacer) {
	background-color: #000000ad !important;
}

.hr-sticky-header.elementor-sticky--effects:not(.elementor-sticky__spacer) > .elementor-container {
	min-height: 70px;
}

.hr-sticky-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .hr-sticky-logo img {
	width: 180px;
}

/* Przycisk "do góry". */
.hr-scroll-top {
	position: fixed;
	right: -45px;
	bottom: 20px;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .6em;
	border-radius: 100%;
	background-color: #00000040;
	opacity: 0;
	transition: all .4s ease;
}

.hr-scroll-top.on {
	right: 20px;
	z-index: 109;
	opacity: 1;
}

.hr-scroll-top:hover {
	background-color: var(--e-global-color-el_color_1, #0376ea);
}

.hr-scroll-top svg {
	width: 24px;
	height: 24px;
	fill: #fff;
}

/* Rozmiary pól formularzy Elementora (jak w ustawieniach The7). */
.elementor-form .elementor-field-textual.elementor-size-xs {
	min-height: 28px;
	padding: 2px 8px;
	font-size: 14px;
}

.elementor-form .elementor-field-textual.elementor-size-sm {
	min-height: 36px;
	padding: 4px 10px;
}

.elementor-form .elementor-field-textual.elementor-size-md {
	min-height: 48px;
	padding: 8px 16px;
}

.elementor-form .elementor-field-textual.elementor-size-lg {
	min-height: 54px;
	padding: 8px 18px;
	font-size: 16px;
}

.elementor-form .elementor-field-textual.elementor-size-xl {
	min-height: 62px;
	padding: 10px 20px;
	font-size: 18px;
}

/* Menu w popupach (dawne pionowe menu The7): pozycje wyśrodkowane, strzałka przy prawej krawędzi. */
.hr-vertical-menu .elementor-nav-menu--dropdown {
	background-color: transparent;
}

.hr-vertical-menu .elementor-nav-menu--dropdown .elementor-nav-menu > li:not(:last-child) {
	padding-bottom: 10px;
}

.hr-vertical-menu .elementor-nav-menu--dropdown a.elementor-item {
	position: relative;
	justify-content: center;
	line-height: 1.2;
}

.hr-vertical-menu .elementor-nav-menu--dropdown a .sub-arrow {
	position: absolute;
	top: 50%;
	right: 0;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	color: #0b0f1f;
	fill: #0b0f1f;
	font-size: 16px;
}

.hr-vertical-menu .elementor-nav-menu--dropdown a .sub-arrow svg {
	width: 16px;
	height: 16px;
}

.hr-vertical-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	margin-top: 0;
}

/* Menu poziome (dawne menu The7): strzałka tuż za tekstem, podmenu z wewnętrznym odstępem. */
.hr-horizontal-menu .elementor-nav-menu--main .elementor-item .sub-arrow {
	margin-left: 3px;
	padding: 0;
	font-size: 16px;
}

.hr-horizontal-menu .elementor-nav-menu--main .elementor-item .sub-arrow svg {
	width: 16px;
	height: 16px;
}

.hr-horizontal-menu .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
	width: 250px;
	min-width: 250px !important;
	padding: 20px;
}

.hr-horizontal-menu .elementor-nav-menu--main .sub-menu li:not(:last-child) {
	padding-bottom: 10px;
}

.hr-horizontal-menu .elementor-nav-menu--main .sub-menu a.elementor-sub-item {
	line-height: 27.2px;
	white-space: normal;
}

/* Ikona serca w stopce ("fa fa-heart") bez ładowania całego Font Awesome. */
i.fa.fa-heart {
	display: inline-block;
	width: 1em;
	height: 1em;
	line-height: 1;
	vertical-align: -.125em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
