.valgusallikad-energiasildid-label-wrap {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	line-height: 1;
	margin: .35rem .45rem .35rem 0;
	position: relative;
	z-index: 8;
}

.valgusallikad-energiasildid-link {
	display: inline-flex;
	text-decoration: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
}

/* v2.1.1: classic compact EU energy badge, same visual direction as the older product-card badge. */
.valgusallikad-energiasildid-badge {
	--va-energy-bg: #009640;
	--va-energy-fg: #fff;
	display: inline-grid;
	grid-template-columns: minmax(34px, 1fr) 14px;
	grid-template-rows: 13px minmax(27px, 1fr);
	align-items: stretch;
	width: var(--valgusallikad-energiasildid-size, 44px);
	min-width: 34px;
	height: calc(var(--valgusallikad-energiasildid-size, 44px) * .72);
	min-height: 27px;
	font-family: Arial, Helvetica, sans-serif;
	filter: drop-shadow(0 4px 9px rgba(15, 23, 42, .16));
}

.valgusallikad-energiasildid-eu {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54%;
	margin-left: 18%;
	border-radius: 4px 4px 2px 2px;
	background: #174a9c;
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .03em;
	line-height: 1;
	z-index: 2;
}

.valgusallikad-energiasildid-badge-text {
	grid-column: 1;
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 10px;
	padding-right: 8px;
	background: var(--va-energy-bg);
	color: var(--va-energy-fg);
	font-size: calc(var(--valgusallikad-energiasildid-size, 44px) * .36);
	font-weight: 900;
	line-height: 1;
	clip-path: polygon(0 0, 72% 0, 100% 50%, 72% 100%, 0 100%);
	text-shadow: 0 1px 1px rgba(0, 0, 0, .18);
}

.valgusallikad-energiasildid-scale {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: grid;
	grid-template-rows: 1fr auto 1fr;
	align-items: center;
	justify-items: center;
	padding: 1px 1px;
	border: 1px solid #1f2937;
	border-left: 0;
	background: #fff;
	color: #111827;
	font-size: 9px;
	font-weight: 900;
	line-height: 1;
}

.valgusallikad-energiasildid-scale span:nth-child(2) {
	font-size: 10px;
	line-height: .9;
}

.valgusallikad-energiasildid-badge-old {
	width: calc(var(--valgusallikad-energiasildid-size, 44px) * 1.24);
}

.valgusallikad-energiasildid-level-a { --va-energy-bg: #009640; }
.valgusallikad-energiasildid-level-b { --va-energy-bg: #51af31; }
.valgusallikad-energiasildid-level-c { --va-energy-bg: #c7d300; --va-energy-fg: #1f2933; }
.valgusallikad-energiasildid-level-d { --va-energy-bg: #ffed00; --va-energy-fg: #1f2933; }
.valgusallikad-energiasildid-level-e { --va-energy-bg: #f7a600; }
.valgusallikad-energiasildid-level-f { --va-energy-bg: #ed6b06; }
.valgusallikad-energiasildid-level-g { --va-energy-bg: #e30613; }

.valgusallikad-energiasildid-thumb-wrap {
	display: inline-block;
	position: relative;
	max-width: 100%;
}

.valgusallikad-energiasildid-thumb-wrap > img,
.valgusallikad-energiasildid-thumb-wrap picture,
.valgusallikad-energiasildid-thumb-wrap .woocommerce-product-gallery__image {
	display: block;
}

.valgusallikad-energiasildid-thumb-wrap .valgusallikad-energiasildid-label-wrap,
.vlg-card-image-wrap > .valgusallikad-energiasildid-label-wrap,
.vlg-single-image-energy > .valgusallikad-energiasildid-label-wrap {
	position: absolute;
	margin: 0;
	z-index: 12;
}

.valgusallikad-energiasildid-overlay-top-left .valgusallikad-energiasildid-label-wrap { top: 10px; left: 10px; }
.valgusallikad-energiasildid-overlay-top-right .valgusallikad-energiasildid-label-wrap { top: 10px; right: 10px; }
.valgusallikad-energiasildid-overlay-bottom-left .valgusallikad-energiasildid-label-wrap { bottom: 14px; left: 14px; }
.valgusallikad-energiasildid-overlay-bottom-right .valgusallikad-energiasildid-label-wrap { bottom: 14px; right: 14px; }

.vlg-card-image-wrap > .valgusallikad-energiasildid-label-wrap {
	right: 16px;
	bottom: 20px;
}

.vlg-single-image-energy > .valgusallikad-energiasildid-label-wrap {
	right: 18px;
	bottom: 18px;
}

.valgusallikad-energiasildid-has-tooltip {
	cursor: help;
	outline-offset: 3px;
}

.valgusallikad-energiasildid-tooltip-preview {
	position: fixed;
	z-index: 999999;
	max-width: min(360px, calc(100vw - 32px));
	max-height: min(520px, calc(100vh - 32px));
	padding: 10px;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, .14);
	border-radius: 14px;
	box-shadow: 0 18px 42px rgba(15, 23, 42, .22);
	pointer-events: none;
}

.valgusallikad-energiasildid-tooltip-preview img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 58px);
	width: auto;
	height: auto;
	border-radius: 9px;
}

.valgusallikad-energiasildid-hidden-company-field {
	display: none !important;
}

.valgusallikad-energiasildid-mobile-category-panel {
	position: relative;
	z-index: 4;
	margin: 16px auto;
}

@media (max-width: 640px) {
	.valgusallikad-energiasildid-badge {
		width: calc(var(--valgusallikad-energiasildid-size, 44px) * .88);
		height: calc(var(--valgusallikad-energiasildid-size, 44px) * .64);
		min-width: 30px;
		min-height: 24px;
	}
	.valgusallikad-energiasildid-eu {
		font-size: 8px;
		height: 12px;
	}
	.valgusallikad-energiasildid-badge-text {
		font-size: calc(var(--valgusallikad-energiasildid-size, 44px) * .30);
	}
	.valgusallikad-energiasildid-scale {
		font-size: 8px;
	}
	.vlg-card-image-wrap > .valgusallikad-energiasildid-label-wrap {
		right: 12px;
		bottom: 14px;
	}
}

.valgusallikad-energiasildid-link[type="button"],
.valgusallikad-energiasildid-modal-trigger {
	appearance: none;
	background: transparent;
	padding: 0;
	cursor: zoom-in;
}

.valgusallikad-energiasildid-link:hover .valgusallikad-energiasildid-badge,
.valgusallikad-energiasildid-link:focus .valgusallikad-energiasildid-badge {
	filter: brightness(.98) drop-shadow(0 6px 12px rgba(15, 23, 42, .18));
}

.valgusallikad-energiasildid-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(15, 23, 42, .72);
	backdrop-filter: blur(4px);
}

.valgusallikad-energiasildid-modal.is-open {
	display: flex;
}

.valgusallikad-energiasildid-modal-dialog {
	position: relative;
	max-width: min(780px, 94vw);
	max-height: 92vh;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .38);
	padding: 18px;
	overflow: auto;
}

.valgusallikad-energiasildid-modal-title {
	font-size: 16px;
	font-weight: 900;
	color: #0f172a;
	margin: 0 44px 14px 0;
}

.valgusallikad-energiasildid-modal-close {
	position: absolute;
	right: 12px;
	top: 12px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(15, 23, 42, .12);
	background: #fff;
	color: #0f172a;
	font-size: 22px;
	line-height: 30px;
	cursor: pointer;
}

.valgusallikad-energiasildid-modal-close:hover,
.valgusallikad-energiasildid-modal-close:focus {
	background: #f8fafc;
	outline: none;
}

.valgusallikad-energiasildid-modal-image {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 76vh;
	margin: 0 auto;
	border-radius: 10px;
}

.valgusallikad-energiasildid-modal-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 14px auto 0;
	padding: 11px 16px;
	border-radius: 999px;
	background: #ff8a00;
	color: #fff !important;
	font-weight: 900;
	text-decoration: none !important;
	box-shadow: 0 8px 22px rgba(255, 138, 0, .22);
}

.valgusallikad-energiasildid-modal-filter:hover,
.valgusallikad-energiasildid-modal-filter:focus {
	filter: brightness(.97);
	outline: none;
}

.valgusallikad-energiasildid-modal-filter.is-hidden {
	display: none !important;
}

@media (max-width: 768px) {
	.valgusallikad-energiasildid-modal {
		padding: 12px;
	}
	.valgusallikad-energiasildid-modal-dialog {
		max-width: 96vw;
		padding: 14px;
		border-radius: 14px;
	}
}


/* v1.1.3: keep modal action visible like the older workflow */
.valgusallikad-energiasildid-modal-dialog {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.valgusallikad-energiasildid-modal-image {
	max-height: min(62vh, 720px);
	margin: 0 auto 12px;
}

.valgusallikad-energiasildid-modal-filter {
	position: sticky;
	bottom: 0;
	z-index: 2;
	margin-top: 10px;
}

@media (max-width: 768px) {
	.valgusallikad-energiasildid-modal-image {
		max-height: min(58vh, 620px);
	}
}

/* v1.1.4: user requested full label only after click, with separate product-class link below */
.valgusallikad-energiasildid-modal-filter {
	display: flex;
	width: fit-content;
	max-width: 100%;
	text-align: center;
}

.valgusallikad-energiasildid-modal-filter:not(.is-hidden)::after {
	content: " →";
}

/* v1.1.9 — mobile modal fit and fallback SVG readability */
@media (max-width: 768px) {
	.valgusallikad-energiasildid-modal {
		align-items: center;
		justify-content: center;
		padding: 10px;
	}
	.valgusallikad-energiasildid-modal-dialog {
		width: min(94vw, 430px);
		max-width: 94vw;
		max-height: 86vh;
		padding: 14px 14px 16px;
		border-radius: 22px;
		box-sizing: border-box;
		overflow: auto;
	}
	.valgusallikad-energiasildid-modal-title {
		font-size: 18px;
		line-height: 1.2;
		margin: 4px 48px 12px 0;
		text-align: left;
		width: 100%;
	}
	.valgusallikad-energiasildid-modal-close {
		right: 12px;
		top: 12px;
		width: 46px;
		height: 46px;
		border-radius: 14px;
		font-size: 30px;
		line-height: 1;
	}
	.valgusallikad-energiasildid-modal-image {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 62vh !important;
		object-fit: contain !important;
		border-radius: 10px;
	}
	.valgusallikad-energiasildid-modal-filter {
		position: static;
		width: 100%;
		min-height: 58px;
		padding: 12px 18px;
		border-radius: 999px;
		font-size: 16px;
		line-height: 1.25;
	}
}


/* v1.1.10 — smaller mobile badges and tighter mobile full-label modal */
@media (max-width: 768px) {
	body.single-product .vlg-single-image-energy,
	body.single-product .vlg-product-energy-inline,
	body.single-product .vlg-card-image-wrap,
	body.single-product .vlg-product-gallery-media {
		--valgusallikad-energiasildid-size: 42px;
	}

	.valgusallikad-energiasildid-label-wrap {
		--valgusallikad-energiasildid-size: 42px;
	}

	.valgusallikad-energiasildid-badge {
		min-width: 40px;
		filter: drop-shadow(0 3px 7px rgba(15, 23, 42, .14));
	}

	.valgusallikad-energiasildid-modal {
		padding: 8px;
		align-items: center;
	}

	.valgusallikad-energiasildid-modal-dialog {
		width: min(92vw, 360px);
		max-width: 92vw;
		max-height: 88dvh;
		padding: 12px 12px 14px;
		border-radius: 18px;
		overflow: auto;
	}

	.valgusallikad-energiasildid-modal-title {
		font-size: 16px;
		line-height: 1.15;
		margin: 2px 44px 10px 0;
	}

	.valgusallikad-energiasildid-modal-close {
		width: 42px;
		height: 42px;
		right: 10px;
		top: 10px;
		font-size: 28px;
	}

	.valgusallikad-energiasildid-modal-image {
		width: auto !important;
		max-width: 100% !important;
		max-height: min(48dvh, 410px) !important;
		object-fit: contain !important;
	}

	.valgusallikad-energiasildid-modal-filter {
		width: 100%;
		min-height: 50px;
		padding: 10px 14px;
		font-size: 14px;
		line-height: 1.22;
		border-radius: 999px;
	}
}


/* v1.1.11: smaller, less intrusive badge on product cards. */
.woocommerce ul.products li.product .valgusallikad-energiasildid-label-wrap,
.vlg-product-card .valgusallikad-energiasildid-label-wrap,
.vlg-card-image-wrap > .valgusallikad-energiasildid-label-wrap {
	transform: scale(.82);
	transform-origin: bottom right;
}

@media (max-width: 640px) {
	.woocommerce ul.products li.product .valgusallikad-energiasildid-label-wrap,
	.vlg-product-card .valgusallikad-energiasildid-label-wrap,
	.vlg-card-image-wrap > .valgusallikad-energiasildid-label-wrap {
		transform: scale(.74);
	}
}
