/**
 * ELV GPM 2026 calculator — layout & theme (orange accent per mockup).
 */

.elv-gpm-2026 {
	--elv-gpm-orange: #FF6633;
	--elv-gpm-orange-soft: #FFF0EB;
	--elv-gpm-border: #FF6633;
	--elv-gpm-border-half: #FF663380;
	--elv-gpm-text: #000000;
	--elv-gpm-muted: #645D57;
	--elv-gpm-row-alt: #f5f5f5;
	font-family: "Montserrat", sans-serif !important;
	color: var(--elv-gpm-text);
	line-height: 1.45;
	max-width: 1100px;
	margin: 40px 0 60px;
	box-sizing: border-box;
	overflow: visible;
}

/* Žemiau esantys šriftai turi stiprų paveldėjimą + temų !important ant formų. */
.elv-gpm-2026 *,
.elv-gpm-2026 *::before,
.elv-gpm-2026 *::after {
	box-sizing: border-box;
	font-family: inherit !important;
}

.elv-gpm-2026 input.elv-gpm-2026__input {
	font-family: "Montserrat", sans-serif !important;
}

.elv-gpm-2026__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: start;
}

@media (max-width: 782px) {
	.elv-gpm-2026__grid {
		grid-template-columns: 1fr;
	}
}

/* Sticky results column alongside taller inputs; releases so row bottoms align. */
@media (min-width: 783px) {
	.elv-gpm-2026__panel--results {
		position: -webkit-sticky;
		position: sticky;
		align-self: start;
		top: max(8rem, env(safe-area-inset-top, 0px));
		z-index: 1;
	}
}

.elv-gpm-2026__panel {
	border-radius: 10px;
	padding: 30px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	overflow: visible;
}

@media (max-width: 480px) {
	.elv-gpm-2026__panel {
		padding: 20px;
	}
}

.elv-gpm-2026__full-color-border {
	border: 2px solid var(--elv-gpm-border);
}

.elv-gpm-2026__half-color-border {
	border: 1px solid var(--elv-gpm-border-half);
}

.elv-gpm-2026__panel-title {
	font-size: 19px;
	font-weight: 500;
	text-align: center;
	line-height: initial;
	margin: 0 0 10px;
	color: var(--elv-gpm-text);
}

.elv-gpm-2026__inputs-hint {
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	line-height: 1.4;
	margin: 0 0 24px;
	color: var(--elv-gpm-muted);
}

.elv-gpm-2026__field {
	margin-bottom: 15px;
}

.elv-gpm-2026__field-label-row {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 12px;
	font-weight: 500;
	font-size: 16px;
	line-height: initial;
	overflow: visible;
}

.elv-gpm-2026__info-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.elv-gpm-2026__info {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #999999;
	color: #fff;
	cursor: pointer;
	user-select: none;
	transition: background 0.15s ease;
}

.elv-gpm-2026__info-svg {
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

/* Full-screen stack host: avoids theme overflow/transform clipping fixed/fixed-ish children */
#elv-gpm-2026-tooltip-overlay.elv-gpm-2026-tooltip-overlay,
.elv-gpm-2026-tooltip-overlay {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	overflow: visible !important;
	z-index: 2147483638 !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	contain: none !important;
}

.elv-gpm-2026-tooltip-overlay .elv-gpm-2026__tooltip--body {
	pointer-events: auto !important;
}

.elv-gpm-2026__info-wrap:hover .elv-gpm-2026__info {
	background: var(--elv-gpm-orange);
}

/* Tooltip is shown via JS portal + fixed (--body); hide in-flow placeholders (no clipped CSS hover bubbles) */
.elv-gpm-2026__tooltip:not(.elv-gpm-2026__tooltip--body),
span.elv-gpm-2026__tooltip:not(.elv-gpm-2026__tooltip--body) {
	position: absolute !important;
	left: -9999px !important;
	top: 0 !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 0 !important;
	max-width: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	visibility: hidden !important;
	padding: 0 !important;
	pointer-events: none !important;
	box-shadow: none !important;
	clip-path: inset(50%) !important;
}

.elv-gpm-2026__tooltip:not(.elv-gpm-2026__tooltip--body)::after {
	display: none !important;
}

.elv-gpm-2026__tooltip.elv-gpm-2026__tooltip--body {
	position: fixed !important;
	right: auto !important;
	bottom: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
	min-width: 0 !important;
	max-width: min(320px, calc(100vw - env(safe-area-inset-right, 0px) - env(safe-area-inset-left, 0px) - 24px));
	z-index: 2147483640;
	padding: 10px;
	background: #000000ce;
	color: #fff;
	font-family: "Montserrat", sans-serif !important;
	font-size: 13px;
	font-weight: 400;
	line-height: initial;
	border-radius: 5px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	overflow-wrap: break-word;
	word-wrap: break-word;
	transition: opacity 0.12s ease;
}

.elv-gpm-2026__tooltip.elv-gpm-2026__tooltip--body:not(.elv-gpm-2026__tooltip--placement-below)::after {
	content: '';
	position: absolute;
	left: var(--tooltip-anchor-x, 50%);
	transform: translateX(-50%);
	margin-left: 0;
	bottom: -7px;
	border-left: 7.5px solid transparent;
	border-right: 7.5px solid transparent;
	border-top: 7.5px solid #000000ce;
	border-bottom: none;
}

.elv-gpm-2026__tooltip.elv-gpm-2026__tooltip--body.elv-gpm-2026__tooltip--placement-below::after {
	content: '';
	position: absolute;
	top: -7px;
	bottom: auto;
	left: var(--tooltip-anchor-x, 50%);
	transform: translateX(-50%);
	margin-left: 0;
	border-width: 0 7.5px 7.5px 7.5px;
	border-style: solid;
	border-color: transparent transparent #000000ce transparent;
}

@media (max-width: 782px) {
	.elv-gpm-2026__grid,
	.elv-gpm-2026__fields,
	.elv-gpm-2026__field {
		overflow: visible;
	}

	.elv-gpm-2026__info {
		cursor: pointer;
	}

	/* Placeholder visibility rules inherited from global (screen-reader style). */
}


.elv-gpm-2026__input-wrap {
	position: relative;
	display: flex;
	align-items: center;
	border: 1px solid #DEDEDE;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
}

.elv-gpm-2026__input-wrap:focus-within {
	border-color: var(--elv-gpm-orange);
	box-shadow: 0 0 0 1px var(--elv-gpm-orange);
}

.elv-gpm-2026__input {
	flex: 1;
	border: 0;
	padding: 15px 2.75rem 15px 15px !important;
	margin-bottom: 0 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	min-width: 0;
	max-height: 50px !important;
	background-color: transparent !important;
}

.elv-gpm-2026__input:focus {
	outline: none;
}

.elv-gpm-2026__suffix {
	position: absolute;
	right: 15px;
	color: var(--elv-gpm-muted);
	font-size: 16px;
}

.elv-gpm-2026__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
	font-size: 24px;
  	font-weight: 600;
	color: var(--elv-gpm-orange);
}

.elv-gpm-2026__total-label {
	display: block;
}

.elv-gpm-2026__tiers {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.elv-gpm-2026__tier {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 15px;
	margin-bottom: 15px;
	font-size: 17px;
	border-bottom: 1px solid #DEDEDE;
}

.elv-gpm-2026__tier:last-child {
	margin: 0;
	padding: 0;
	border-bottom: unset;
}

.elv-gpm-2026__tier span:first-child {
	font-weight: 600;
	padding: 5px 10px;
	background-color: var(--elv-gpm-orange-soft);
}

.elv-gpm-2026__tier span:last-child {
	font-weight: 500;
}

.elv-gpm-2026__footnote {
	font-size: 15px;
	color: var(--elv-gpm-muted);
	margin: 30px 0 0 !important;
}
