/**
 * TS Revize Kalkulátor — styly
 *
 * Veškerý CSS je scoped pod #ts-kalkulator, aby nedocházelo ke konfliktům
 * s Avada šablonou. Třídy mají prefix ts-k-.
 * Klíčové layout vlastnosti mají !important kvůli agresivnímu Avada CSS.
 */

/* =========================================================
   Custom properties (CSS proměnné) — scoped na komponentu
   ========================================================= */
#ts-kalkulator {
	--ts-accent:       #1E9BD7;
	--ts-accent-dark:  #1580b5;
	--ts-cta:          #d81e00;
	--ts-cta-dark:     #b51900;
	--ts-text:         #1a1a1a;
	--ts-text-muted:   #666666;
	--ts-bg-card:      #ffffff;
	--ts-bg-surface:   #f4f8fc;
	--ts-bg-input:     #f9fafb;
	--ts-border:       #dde3ea;
	--ts-border-focus: #1E9BD7;
	--ts-radius-sm:    6px;
	--ts-radius:       10px;
	--ts-radius-lg:    14px;
	--ts-shadow-sm:    0 1px 4px rgba(0, 0, 0, 0.06);
	--ts-shadow:       0 4px 16px rgba(0, 0, 0, 0.08);
	--ts-shadow-lg:    0 8px 32px rgba(0, 0, 0, 0.10);
	--ts-transition:   0.2s ease;
}

/* =========================================================
   Box-sizing reset uvnitř komponenty
   ========================================================= */
#ts-kalkulator,
#ts-kalkulator * {
	box-sizing: border-box !important;
}

/* =========================================================
   Root wrapper
   ========================================================= */
#ts-kalkulator {
	font-family: 'Kumbh Sans', sans-serif !important;
	color: var( --ts-text ) !important;
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
}

/* =========================================================
   Záložky (tabs)
   ========================================================= */
#ts-kalkulator .ts-k-tabs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px;
	margin-bottom: 24px !important;
	padding: 0 !important;
	list-style: none !important;
}

#ts-kalkulator .ts-k-tab {
	/* Reset Avada / téma stylů pro button */
	all: unset;
	cursor: pointer;

	display: flex !important;
	align-items: center !important;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;

	padding: 12px 16px !important;
	border: 2px solid var( --ts-border ) !important;
	border-radius: var( --ts-radius ) !important;
	background: var( --ts-bg-card ) !important;
	color: var( --ts-text ) !important;
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	text-align: center;
	justify-content: center;
	text-decoration: none !important;
	box-shadow: none !important;

	transition:
		background var( --ts-transition ),
		border-color var( --ts-transition ),
		color var( --ts-transition ),
		transform var( --ts-transition ),
		box-shadow var( --ts-transition );
}

#ts-kalkulator .ts-k-tab:hover:not( .ts-k-tab--active ) {
	border-color: var( --ts-accent ) !important;
	color: var( --ts-accent ) !important;
	transform: translateY( -2px );
	background: var( --ts-bg-card ) !important;
}

#ts-kalkulator .ts-k-tab--active {
	background: var( --ts-accent ) !important;
	border-color: var( --ts-accent ) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba( 30, 155, 215, 0.3 ) !important;
}

#ts-kalkulator .ts-k-tab-icon {
	font-size: 18px !important;
	line-height: 1 !important;
	flex-shrink: 0;
}

#ts-kalkulator .ts-k-tab-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* =========================================================
   Panely — přepínání + animace
   ========================================================= */
#ts-kalkulator .ts-k-panel {
	display: none !important;
}

#ts-kalkulator .ts-k-panel--active {
	display: block !important;
	animation: tsKFadeIn 0.25s ease forwards;
}

@keyframes tsKFadeIn {
	from {
		opacity: 0;
		transform: translateY( 8px );
	}
	to {
		opacity: 1;
		transform: translateY( 0 );
	}
}

/* =========================================================
   Mřížka panelu (vstup | výsledky)
   ========================================================= */
#ts-kalkulator .ts-k-panel-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
	align-items: start !important;
}

/* =========================================================
   Karty
   ========================================================= */
#ts-kalkulator .ts-k-card {
	background: var( --ts-bg-card ) !important;
	border: 1px solid var( --ts-border ) !important;
	border-radius: var( --ts-radius-lg ) !important;
	padding: 24px !important;
	box-shadow: var( --ts-shadow ) !important;
	margin: 0 !important;
}

#ts-kalkulator .ts-k-card--results {
	background: var( --ts-bg-surface ) !important;
}

#ts-kalkulator .ts-k-card-title {
	/* Reset Avada nadpisů */
	all: unset;
	display: block !important;

	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var( --ts-text ) !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	margin: 0 0 20px 0 !important;
	padding: 0 0 12px 0 !important;
	border: none !important;
	border-bottom: 2px solid var( --ts-accent ) !important;
	background: none !important;
	line-height: 1.4 !important;
}

/* =========================================================
   Vstupní pole
   ========================================================= */
#ts-kalkulator .ts-k-field {
	margin-bottom: 16px !important;
}

#ts-kalkulator .ts-k-label {
	display: block !important;
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var( --ts-text ) !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

#ts-kalkulator .ts-k-hint {
	display: block !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var( --ts-text-muted ) !important;
	margin-top: 2px !important;
}

#ts-kalkulator .ts-k-input-wrap {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	gap: 0 !important;
	border: 2px solid var( --ts-border ) !important;
	border-radius: var( --ts-radius ) !important;
	background: var( --ts-bg-input ) !important;
	transition: border-color var( --ts-transition );
	overflow: hidden !important;
	width: 100% !important;
}

#ts-kalkulator .ts-k-input-wrap:focus-within {
	border-color: var( --ts-border-focus ) !important;
	box-shadow: 0 0 0 3px rgba( 30, 155, 215, 0.15 ) !important;
}

#ts-kalkulator .ts-k-input {
	/* Reset Avada input stylů */
	all: unset;

	display: block !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	padding: 10px 12px !important;
	margin: 0 !important;
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var( --ts-text ) !important;
	background: transparent !important;
	text-align: right !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	-moz-appearance: textfield !important;
	height: auto !important;
	line-height: normal !important;
}

#ts-kalkulator .ts-k-input::-webkit-outer-spin-button,
#ts-kalkulator .ts-k-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

#ts-kalkulator .ts-k-unit {
	display: flex !important;
	align-items: center !important;
	padding: 0 12px !important;
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var( --ts-text-muted ) !important;
	background: rgba( 0, 0, 0, 0.03 ) !important;
	border-left: 1px solid var( --ts-border ) !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	min-height: 44px !important;
}

/* =========================================================
   Toggle (checkbox expresní výjezd)
   ========================================================= */
#ts-kalkulator .ts-k-field--toggle {
	margin-top: 4px !important;
}

#ts-kalkulator .ts-k-toggle-label {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px;
	cursor: pointer;
	padding: 12px !important;
	border: 2px solid var( --ts-border ) !important;
	border-radius: var( --ts-radius ) !important;
	background: var( --ts-bg-input ) !important;
	transition: border-color var( --ts-transition );
	margin: 0 !important;
}

#ts-kalkulator .ts-k-toggle-label:hover {
	border-color: var( --ts-accent ) !important;
}

#ts-kalkulator .ts-k-toggle-text {
	flex: 1;
}

#ts-kalkulator .ts-k-toggle-wrap {
	position: relative !important;
	display: block !important;
	width: 44px !important;
	height: 24px !important;
	flex-shrink: 0;
}

#ts-kalkulator .ts-k-toggle-input {
	all: unset;
	position: absolute !important;
	opacity: 0 !important;
	width: 100% !important;
	height: 100% !important;
	cursor: pointer !important;
	top: 0 !important;
	left: 0 !important;
}

#ts-kalkulator .ts-k-toggle-track {
	display: block !important;
	width: 44px !important;
	height: 24px !important;
	background: var( --ts-border ) !important;
	border-radius: 12px !important;
	position: relative !important;
	transition: background var( --ts-transition );
}

#ts-kalkulator .ts-k-toggle-track::after {
	content: '' !important;
	position: absolute !important;
	top: 3px !important;
	left: 3px !important;
	width: 18px !important;
	height: 18px !important;
	background: #ffffff !important;
	border-radius: 50% !important;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.2 ) !important;
	transition: transform var( --ts-transition );
}

#ts-kalkulator .ts-k-toggle-input:checked + .ts-k-toggle-track {
	background: var( --ts-accent ) !important;
}

#ts-kalkulator .ts-k-toggle-input:checked + .ts-k-toggle-track::after {
	transform: translateX( 20px ) !important;
}

/* =========================================================
   Reset tlačítko
   ========================================================= */
#ts-kalkulator .ts-k-reset {
	all: unset;
	cursor: pointer;

	display: inline-flex !important;
	align-items: center !important;
	gap: 6px;
	margin-top: 8px !important;
	padding: 10px 18px !important;
	border: 2px solid var( --ts-border ) !important;
	border-radius: var( --ts-radius ) !important;
	background: transparent !important;
	color: var( --ts-text-muted ) !important;
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	line-height: 1.4 !important;

	transition:
		background var( --ts-transition ),
		border-color var( --ts-transition ),
		color var( --ts-transition ),
		transform var( --ts-transition );
}

#ts-kalkulator .ts-k-reset::before {
	content: '↺';
	font-size: 15px;
}

#ts-kalkulator .ts-k-reset:hover {
	background: var( --ts-cta ) !important;
	border-color: var( --ts-cta ) !important;
	color: #ffffff !important;
	transform: translateY( -1px );
}

/* =========================================================
   Výsledkové řádky
   ========================================================= */
#ts-kalkulator .ts-k-result-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 8px;
	padding: 8px 0 !important;
	margin: 0 !important;
	border: none !important;
	border-bottom: 1px solid var( --ts-border ) !important;
}

#ts-kalkulator .ts-k-result-row:last-child {
	border-bottom: none !important;
}

#ts-kalkulator .ts-k-result-label {
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 14px !important;
	color: var( --ts-text-muted ) !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	padding: 0 !important;
}

#ts-kalkulator .ts-k-result-label small {
	font-size: 12px !important;
	color: var( --ts-text-muted ) !important;
	margin-left: 4px;
}

#ts-kalkulator .ts-k-result-value {
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var( --ts-text ) !important;
	white-space: nowrap !important;
	margin: 0 !important;
	padding: 0 !important;
}

#ts-kalkulator .ts-k-highlight {
	color: var( --ts-cta ) !important;
}

/* Oddělovací čára před celkovou cenou */
#ts-kalkulator .ts-k-divider {
	display: block !important;
	height: 2px !important;
	background: var( --ts-border ) !important;
	margin: 8px 0 !important;
	border: none !important;
	border-radius: 1px;
}

/* Řádek s celkovou cenou */
#ts-kalkulator .ts-k-result-row--total {
	padding-top: 12px !important;
	margin-top: 4px !important;
}

#ts-kalkulator .ts-k-result-row--total .ts-k-result-label {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var( --ts-text ) !important;
}

/* Celková cena — vizuálně zvýrazněná */
#ts-kalkulator .ts-k-total-value {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: var( --ts-accent ) !important;
	letter-spacing: -0.02em !important;
}

/* Odznak "bez DPH" */
#ts-kalkulator .ts-k-dph-badge {
	display: inline-block !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var( --ts-cta ) !important;
	background: rgba( 216, 30, 0, 0.08 ) !important;
	border: 1px solid rgba( 216, 30, 0, 0.2 ) !important;
	border-radius: 4px !important;
	padding: 1px 5px !important;
	margin-left: 6px;
	vertical-align: middle;
	white-space: nowrap !important;
	line-height: 1.6 !important;
}

/* =========================================================
   Cenová pásma (spotřebiče)
   ========================================================= */
#ts-kalkulator .ts-k-price-tiers {
	display: block !important;
	margin-top: 16px !important;
	padding: 12px !important;
	background: var( --ts-bg-surface ) !important;
	border: 1px solid var( --ts-border ) !important;
	border-radius: var( --ts-radius ) !important;
}

#ts-kalkulator .ts-k-tiers-title {
	/* Reset Avada p tagů */
	all: unset;
	display: block !important;

	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var( --ts-text-muted ) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
}

#ts-kalkulator .ts-k-tier {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	padding: 6px 8px !important;
	border-radius: var( --ts-radius-sm ) !important;
	font-family: 'Kumbh Sans', sans-serif !important;
	font-size: 13px !important;
	color: var( --ts-text-muted ) !important;
	transition: background var( --ts-transition ), color var( --ts-transition );
	margin-bottom: 2px !important;
	background: transparent !important;
}

#ts-kalkulator .ts-k-tier--active {
	background: rgba( 30, 155, 215, 0.12 ) !important;
	color: var( --ts-accent ) !important;
	font-weight: 600 !important;
}

/* =========================================================
   Disclaimer
   ========================================================= */
#ts-kalkulator .ts-k-disclaimer {
	/* Reset Avada p tagů */
	all: unset;
	display: block !important;

	font-family: 'Kumbh Sans', sans-serif !important;
	margin-top: 24px !important;
	padding: 12px 16px !important;
	background: var( --ts-bg-surface ) !important;
	border: none !important;
	border-left: 3px solid var( --ts-accent ) !important;
	border-radius: 0 var( --ts-radius-sm ) var( --ts-radius-sm ) 0 !important;
	font-size: 13px !important;
	color: var( --ts-text-muted ) !important;
	line-height: 1.5 !important;
}

/* =========================================================
   Tooltip (nápověda ?)
   ========================================================= */
#ts-kalkulator .ts-k-tooltip {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 16px !important;
	height: 16px !important;
	background: var( --ts-accent ) !important;
	color: #ffffff !important;
	border-radius: 50% !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	cursor: help !important;
	position: relative !important;
	margin-left: 5px !important;
	vertical-align: middle !important;
	flex-shrink: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

#ts-kalkulator .ts-k-tooltip::after {
	content: attr( data-tip ) !important;
	position: absolute !important;
	bottom: calc( 100% + 8px ) !important;
	left: 50% !important;
	transform: translateX( -50% ) !important;
	background: #1a1a1a !important;
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	padding: 8px 12px !important;
	border-radius: var( --ts-radius-sm ) !important;
	width: 220px !important;
	white-space: normal !important;
	text-align: left !important;
	box-shadow: 0 4px 12px rgba( 0, 0, 0, 0.25 ) !important;
	z-index: 100 !important;
	pointer-events: none !important;
	opacity: 0 !important;
	transition: opacity 0.2s ease !important;
}

#ts-kalkulator .ts-k-tooltip:hover::after {
	opacity: 1 !important;
}

/* =========================================================
   Utility třídy
   ========================================================= */
#ts-kalkulator .ts-k-hidden {
	display: none !important;
}

/* =========================================================
   Responzivita
   ========================================================= */
@media ( max-width: 768px ) {
	#ts-kalkulator .ts-k-tabs {
		flex-direction: column !important;
	}

	#ts-kalkulator .ts-k-tab {
		justify-content: flex-start !important;
		flex: 1 1 100% !important;
	}

	#ts-kalkulator .ts-k-panel-grid {
		grid-template-columns: 1fr !important;
	}
}

@media ( max-width: 480px ) {
	#ts-kalkulator .ts-k-card {
		padding: 16px !important;
	}

	#ts-kalkulator .ts-k-total-value {
		font-size: 20px !important;
	}
}
