/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* 
 * 1. Global
 * 2. Decorations
 * 3. Slider Cards
 * 4. Footer
 * 5. Form
 * 6. Side Menu
 * 7. Cookies
 * 8. Image Map Pro
 * 9. IMP TABLE PAGINACTION
 * 10. NETBYAPP
 *  */


/* ======================== 1. Global ======================== */
.netby-wrapper {
	padding-inline: 24px;
	@media screen and (max-width: 767px) {
		padding-inline: 14px;
	}
}

.font-700 {
	font-weight: 700;
}

.font-900 {
	font-weight: 900;
}

.netby-accent {
	color: #BB8E6F;
}

.netby-icon-fix .elementor-icon-box-title {
	margin-top: 0;
}

/* ======================== 2. Decorations ======================== */
.lines {
	--target-height: 85dvh;
	position: absolute;
	bottom: -70px;
	width: 1px;
	height: 0;
	background-color: #BB8E6F;
	pointer-events: none;
	z-index: 1;
	animation: lineGrow 1s ease-out forwards;
    animation-delay: 0s;
	
	&.lines-left {
		left: 0;
		transform: translateX(-5px);
		&:before {
			transform: translateX(15px);
		}
		&:after {
			transform: translateX(30px);
		}
	}
	&.lines-right {
		right: 0;
		transform: translateX(5px);
		&:before {
			transform: translateX(-15px);
		}
		&:after {
			transform: translateX(-30px);
		}
	}
	&:before,
	&:after {
		content: "";
		position: absolute;
	    left: 0;
        bottom: 0;
		display: block;
		width: 1px;
		background-color: #BB8E6F;
		animation: lineGrowChild 1s ease-out forwards;
	}
	&:before {
		--target-height: 80dvh;
		height: 0;
		animation-delay: 0.2s;
	}
	&:after {
		--target-height: 75dvh;
		height: 0;
		animation-delay: 0.4s;
	}
	&.lines-small {
		--target-height: 70dvh;
		&:before {
			--target-height: 65dvh;
		}
		&:after {
			--target-height: 60dvh;
		}
	}
	@media screen and (min-width: 1620px) {
		&.lines-left {
			transform: translateX(-85px);
		}
		&.lines-right {
			transform: translateX(85px);
		}
	}
	@media screen and (max-width: 1024px) {
		&.lines-left {
			display: none;
		}
	}
}

@keyframes lineGrow {
    from {
        height: 0;
    }
    to {
        height: var(--target-height);
    }
}

@keyframes lineGrowChild {
    from {
        height: 0;
    }
    to {
        height: var(--target-height);
    }
}

.vertical-line {
	margin: 0 auto;
	width: 2px;
	height: 155px;
	background-color: #BB8E6F;
	@media screen and (max-width: 1024px) {
		height: 86px;
	}
}

.netby-image-decoration {
	position: relative;
	&:before {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 80%;
		height: 110%;
		border: 1px solid #926B5A;
		transform: translate(-50%, -50%);
	}
}

/* ======================== 3. Slider Cards ======================== */
.netby-dojazd-slider .slick-list {
	overflow: visible;
}
.netby-dojazd-slider .prev-arrow,
.netby-dojazd-slider .next-arrow {
	background-repeat: no-repeat;
	background-position: center;
	transform: none !important;
	background-color: transparent;
	transition: 250ms ease-in-out;
	&:hover {
		opacity: 0.7;
	}
	&.slick-disabled {
		opacity: 0.4;
	}
	svg {
		display: none;
	}
}
.netby-dojazd-slider .prev-arrow {
	background-image: url('/wp-content/uploads/2025/11/arrow-prev.svg');
}
.netby-dojazd-slider .next-arrow {
	background-image: url('/wp-content/uploads/2025/11/arrow-next.svg');
}
.netby-dojazd-card {
    &:before {
        opacity: 0.7;
    }&:hover {
    &:before {
    opacity: 0.5;
        }
    }
}
}


/* ======================== 4. Footer ======================== */
.netby-footer-menu {
	@media screen and (max-width: 767px) {
		.elementor-nav-menu {
			flex-direction: column;
		}
	}
}

/* ======================== 5. Form ======================== */
.netby-form {
	.elementor-field {
		&::placeholder {
			text-transform: uppercase;
		}
	}
	.elementor-field-option {
		display: flex;
		gap: 16px;
		label {
			font-size: 12px;
			line-height: 1.3;
		}
	}
	[type="checkbox"] {
		flex-shrink: 0;
		appearance: none;
		width: 20px;
		height: 20px;
		background-image: url('/wp-content/uploads/2025/11/icon-checkbox-unchecked.svg');
		&:checked {
			background-image: url('/wp-content/uploads/2025/11/icon-checkbox-checked.svg');
		}
	}
}

/* ======================== 6. Side Menu ======================== */
.netby-menu-popup {
	backdrop-filter: blur(6px);
}

.netby-side-menu {
	.elementor-item {
		position: relative;
		&:before {
			content: "";
			position: absolute;
			top: 50%;
			left: -110px;
			display: block;
			width: 0px;
			height: 1px;
			background-color: #FFFFFF !important;
			transform: translateY(-50%);
			transition: 200ms ease-in-out;
			pointer-events: none;
		}
		&.elementor-item-active,
		&:hover {
			&:before {
				width: 84px;
			}
		}
	}
	@media screen and (max-width: 767px) {
		.elementor-item {
			&:before {
				left: -32px;
			}
			&.elementor-item-active,
			&:hover {
				&:before {
					width: 20px;
				}
			}
		}
	}
}

/* ======================== 7. Cookies ======================== */
.cky-consent-container {
	width: 540px !important;
}

.cky-consent-bar {
	border-radius: 0 !important;
}

.cky-btn-reject,
.cky-btn-customize {
	&:hover {
		color: #FFFFFF !important;
		opacity: 0.7 !important;
	}
}

/* ======================== 8. Image map pro ======================== */
#imp-turn-right, #imp-turn-left, #imp-back {
	cursor: pointer;
}

#imp-back {
	background: #926b5a;
	fill: #EFDECF;
    color: #EFDECF;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #EFDECF;
	font-family: "Athiti", Sans-serif;
    font-size: 14px;
    font-weight: 600;
	border-radius: 500px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	width: fit-content !important;
    z-index: 9;
    position: relative;
	display: none;
	padding: 10px 20px !important;
	line-height: 150% !important;
}

@media (max-width: 600px) {
	#imp-back {
		font-size: 12px !important;
		width: fit-content !important;
        line-height: 100%;
        text-align: center;
        align-items: center;
	}
}

.imp-object-poly polygon:hover, .imp-object-rect:hover {
    opacity: 0.7 !important;
}

.imp-tooltip {
	background: #222222 !important;
	border-radius: 18px !important;
	padding: 8px !important;
	color: #fff !important;
}

.imp-tooltip-content {
	background: #222222 !important;
	border-radius: 18px !important;
	padding: 8px !important;
	color: #fff !important;
}

.imp-tooltip .hs-arrow-bottom {
	border-top-color: #222222 !important;
}

.imp-tooltip-content div:first-child {
	display: none;
}

.imp-ui-top-right {
	display: none !important;
}

@media (max-width: 620px) {
	.imp-ui-layers-menu-wrap {
		display: none;
	}
}

.building-layer-icon {
    pointer-events: none !important;
}

.lokal-price {
	text-align: center;
}

.status-badge {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-family: "Athiti", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	border-radius: 500px;
	padding: 4px 8px;
	line-height: 140%;
	width: 100%;
	white-space: nowrap;       
	overflow: hidden;           
	text-overflow: ellipsis;  
	min-width: unset !important;
}

.status-available {
	color: rgb(23, 156, 6);
}

.status-reserved {
	color: rgb(201, 157, 0);
}

.status-sold {
	color: rgb(151, 0, 0);
}

.status-unknown {
	color: #999;
}

.status-tooltip {
	background: #fff;
	display: inline-flex;
	font-weight: 700;
	padding: 4px 8px;
	border-radius: 100px;
}

.status-tooltip.available {
	color: rgb(23, 156, 6);
}

.status-tooltip.reserved {
	color: rgb(201, 157, 0);
}

.status-tooltip.sold {
	color: rgb(151, 0, 0);
}

.status-tooltip.none {
	color: #999;
}

.info-div {
	text-align: center;
}

.info-title, .imp-tooltip-content h3 {
	font-family: "Bodoni Moda" !important;
	font-size: 20px !important;
	font-weight: bold !important; 
	line-height: 130% !important;
	color: #EFDECF !important;
	margin-bottom: 8px !important;
	padding: 4px !important;
}

.info-text {
	font-family: "Athiti", Sans-serif;
	font-size: 14px;
	line-height: 140%;
	color: #EFDECF;
	margin: 0;
	padding: 4px;
	text-transform: uppercase;
}

.info-text.small {
	font-size: 14px;
}


.info-button {
	background: #926b5a;
	fill: #EFDECF;
    color: #EFDECF;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #EFDECF;
	font-family: "Athiti", Sans-serif;
    font-size: 14px;
    font-weight: 600;
	border-radius: 500px !important;
	line-height: 150% !important;
	width: 100% !important;
	height: unset !important;
	text-align: center !important;
	display: inline-block !important;
	padding: 10px 20px !important;
	margin-top: 10px !important;
	margin-bottom: 10px !important;
	margin-left: auto;
	margin-right: auto;
	text-decoration: none !important;
}

.info-button:hover {
	fill: #926b5a;
	background: #926b5a;
    color: #EFDECF;
}

#imagemappro #loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(10px);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

#imagemappro #loader::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	margin-left: -20px;
	border-radius: 50%;
	border: 3px solid #724A41;
	border-top: 3px solid transparent;
	animation: spin 1s linear infinite;
}

@media (max-width: 1200px) {
	.elementor-element-c77f04a .e-con-inner {
		margin: unset !important;
	}
}

#imp-building.active,
#imp-parking.active {
    opacity: 0.5;
    pointer-events: none;
}

.imp-parking-badge{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: #926B5A;
	border: 1px solid #926B5A;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 400;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	pointer-events: none;
}

/* ======================== 9. IMP TABLE PAGINACTION ======================== */

.custom-pagination {
	background: #fff;
    padding: 16px;
    display: flex;
    justify-content: flex-end;
    gap: 2px;
    flex-wrap: wrap;
}

@media (max-width: 1199px) {
    .custom-pagination {
        justify-content: flex-start;
    }
}

.custom-pagination button {
	font-family: "Athiti", Sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #926B5A;
    padding: 4px 4px;
    cursor: pointer;
    transition: all 0.2s ease;
	border-radius: 0px;
	outline: 0;
	border: 0;
	text-decoration: none;
	background-color: transparent;
	background: transparent;
}

.custom-pagination button:hover {
	background-color: transparent;
	background: transparent;
	color: #926B5A;
}

.custom-pagination button:focus {
	background-color: transparent;
	background: transparent;
	color: #926B5A;
}

.custom-pagination button.active {
    background-color: transparent;
    color: #926B5A;
	font-weight: 700;
}

.custom-pagination button[disabled]{ 
	opacity:.5; 
	cursor:not-allowed; 
}

/* ======================== 10. NETBYAPP ======================== */

.netby-table-wrapper table {
	margin: 0;
}