:root {
	--vht-accent: #1d2327;
	--vht-accent-text: #ffffff;
	--vht-bottom: 20px;
	--vht-z: 999999;
}

/* Ujuv nupp: pidevalt nähtav, selgelt loetav */
.vht-float {
	position: fixed;
	bottom: calc(var(--vht-bottom) + env(safe-area-inset-bottom, 0px));
	z-index: var(--vht-z);
	display: inline-block;
	max-width: calc(100vw - 40px);
	box-sizing: border-box;
	overflow-wrap: break-word;
	padding: 12px 18px;
	background: var(--vht-accent);
	color: var(--vht-accent-text) !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.vht-float--right { right: 20px; }
.vht-float--left { left: 20px; }

.vht-float:hover {
	filter: brightness(1.15);
	color: var(--vht-accent-text);
}

@media (max-width: 360px) {
	.vht-float {
		padding: 10px 14px;
		font-size: 14px;
	}
}

/* Jaluse riba */
.vht-footer-bar {
	background: var(--vht-accent);
	text-align: center;
	padding: 10px 16px;
}

.vht-footer-link {
	color: var(--vht-accent-text) !important;
	font-weight: 600;
	text-decoration: underline;
}

/* Lühikoodi nupp */
.vht-inline-button {
	display: inline-block;
	padding: 12px 18px;
	background: var(--vht-accent);
	color: var(--vht-accent-text) !important;
	font-weight: 600;
	text-decoration: none !important;
	border-radius: 6px;
}

/* Fookus: aktsentvärvist sõltumatu topeltrõngas, nähtav ka
   forced-colors režiimis (läbipaistev outline muutub seal nähtavaks) */
.vht-float:focus-visible,
.vht-footer-link:focus-visible,
.vht-inline-button:focus-visible,
.vht-confirm:focus-visible,
.vht-success a:focus-visible {
	outline: 2px solid transparent;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #fff, 0 0 0 5px #1d2327;
}

.vht-float:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 5px #1d2327, 0 4px 14px rgba(0, 0, 0, 0.25);
}

/* Vorm */
.vht-wrap {
	max-width: 640px;
}

.vht-intro {
	margin-bottom: 1.5em;
}

/* Müügi- ja tagastustingimuste link vormi sissejuhatuse all */
.vht-terms {
	margin: -0.75em 0 1.5em;
}

.vht-terms-link {
	font-size: 0.95em;
}

.vht-field {
	margin-bottom: 1.2em;
}

.vht-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.3em;
}

.vht-field input[type="text"],
.vht-field input[type="email"],
.vht-field input[type="date"],
.vht-field textarea {
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	font-size: 16px;
	box-sizing: border-box;
}

.vht-req {
	color: #b32d2e;
}

.vht-hint {
	display: block;
	font-size: 0.85em;
	color: #50575e;
	margin-top: 0.3em;
}

/* Taganemise ulatus: raadionupud ja tingimuslik tooteväli.
   Väli avaneb puhta CSS-iga (:checked ~), skripti ei ole vaja. Kui CSS
   mingil põhjusel ei laadi, jääb tooteväli lihtsalt nähtavaks. */
.vht-scope {
	border: 0;
	padding: 0;
	margin: 0 0 1.5em;
}

.vht-scope legend {
	padding: 0;
	margin-bottom: 0.5em;
	font-weight: 600;
}

.vht-scope input[type="radio"] {
	margin: 0 0.4em 0 0;
}

.vht-scope input[type="radio"] + label {
	display: inline-block;
	margin: 0 1.5em 0.35em 0;
	font-weight: 400;
}

.vht-scope-items {
	display: none;
	margin-top: 0.75em;
}

#vht_scope_osaline:checked ~ .vht-scope-items {
	display: block;
}

.vht-scope-items label {
	display: block;
	margin-bottom: 0.35em;
}

.vht-scope-items textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.vht-hp {
	position: absolute !important;
	left: -9999px !important;
	height: 1px;
	overflow: hidden;
}

.vht-confirm {
	display: inline-block;
	padding: 14px 26px;
	background: var(--vht-accent);
	color: var(--vht-accent-text);
	font-size: 16px;
	font-weight: 700;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}

.vht-confirm:hover {
	filter: brightness(1.15);
}

.vht-error {
	background: #fcf0f1;
	border-left: 4px solid #b32d2e;
	padding: 12px 16px;
	margin-bottom: 1.2em;
}

.vht-error:focus {
	outline: 2px solid #b32d2e;
	outline-offset: 2px;
}

.vht-error-title {
	margin: 0 0 0.4em;
	font-size: 1.1em;
}

.vht-success h2 {
	margin-top: 0;
}

.vht-receipt {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0;
}

.vht-receipt th,
.vht-receipt td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid #e0e0e0;
	vertical-align: top;
}

.vht-receipt th {
	width: 200px;
}

/* ============================================================
   Custom admin (Taganemised)
   ============================================================ */
.vht-adm {
	max-width: 1100px;
}

.vht-adm-title {
	font-size: 26px;
	font-weight: 700;
	color: #0f2841;
	margin: 8px 0 18px;
}

.vht-adm-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.vht-adm-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 14px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(15, 40, 65, 0.15);
	color: #0f2841;
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
}

.vht-adm-chip span {
	background: #f2f5fb;
	padding: 0 8px;
	border-radius: 999px;
	font-size: 12px;
}

.vht-adm-chip--active {
	background: var(--vht-accent, #3431ff);
	border-color: transparent;
	color: #fff;
}

.vht-adm-chip--active span {
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
}

.vht-adm-search {
	display: flex;
	gap: 8px;
	margin: 0 0 18px;
}

.vht-adm-search input[type="search"] {
	min-width: 320px;
	border-radius: 8px;
	border: 1px solid rgba(15, 40, 65, 0.2);
	padding: 6px 12px;
}

.vht-adm-btn {
	display: inline-block;
	padding: 7px 14px;
	border-radius: 8px;
	background: #eef1f7;
	color: #0f2841;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	border: 0;
	cursor: pointer;
}

.vht-adm-btn:hover {
	background: #e2e8f3;
	color: var(--vht-accent, #3431ff);
}

.vht-adm-btn--primary {
	background: var(--vht-accent, #3431ff);
	color: #fff;
}

.vht-adm-btn--primary:hover {
	background: #3282eb;
	color: #fff;
}

.vht-adm-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border: 1px solid rgba(15, 40, 65, 0.12);
	border-radius: 12px;
	overflow: hidden;
}

.vht-adm-table th {
	text-align: left;
	background: #f2f5fb;
	color: #0f2841;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 11px;
	padding: 10px 14px;
}

.vht-adm-table td {
	padding: 12px 14px;
	border-top: 1px solid rgba(15, 40, 65, 0.08);
	vertical-align: middle;
	font-size: 13px;
}

.vht-adm-name {
	font-weight: 700;
	text-decoration: none;
	color: #0f2841;
	display: block;
}

.vht-adm-name:hover {
	color: var(--vht-accent, #3431ff);
}

.vht-adm-sub {
	display: block;
	color: rgba(15, 40, 65, 0.55);
	font-size: 12px;
	margin-top: 2px;
}

.vht-adm-right {
	text-align: right;
}

.vht-adm-actions {
	white-space: nowrap;
}

.vht-adm-actions .vht-adm-btn {
	margin-left: 6px;
}

.vht-adm-ok {
	color: #007017;
	font-weight: 600;
}

.vht-adm-warn {
	color: #b32d2e;
	font-weight: 600;
}

.vht-adm-empty {
	background: #fff;
	border: 1px dashed rgba(15, 40, 65, 0.25);
	padding: 40px;
	border-radius: 12px;
	text-align: center;
	color: rgba(15, 40, 65, 0.6);
}

.vht-adm-pages {
	margin-top: 14px;
	display: flex;
	gap: 6px;
}

.vht-adm-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: 18px;
	align-items: start;
}

@media (max-width: 900px) {
	.vht-adm-grid {
		grid-template-columns: 1fr;
	}
}

.vht-adm-card {
	background: #fff;
	border: 1px solid rgba(15, 40, 65, 0.12);
	border-radius: 12px;
	padding: 18px 20px;
	margin-bottom: 18px;
}

.vht-adm-card h2 {
	margin: 0 0 12px;
	font-size: 15px;
	color: #0f2841;
}

.vht-adm-facts {
	width: 100%;
	border-collapse: collapse;
}

.vht-adm-facts th {
	text-align: left;
	width: 160px;
	color: rgba(15, 40, 65, 0.55);
	font-weight: 600;
	padding: 7px 8px 7px 0;
	vertical-align: top;
	font-size: 13px;
}

.vht-adm-facts td {
	padding: 7px 0;
	font-size: 13px;
	color: #0f2841;
}

.vht-adm-note {
	margin-top: 12px;
	background: #f2f5fb;
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 12px;
	color: rgba(15, 40, 65, 0.7);
	line-height: 1.5;
}

.vht-adm-statusrow {
	margin: 14px 0 10px;
}

.vht-adm-statusform {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 6px;
}

.vht-adm-statusform select {
	border-radius: 8px;
	border: 1px solid rgba(15, 40, 65, 0.2);
	padding: 4px 28px 4px 10px;
	min-height: 34px;
}

.vht-adm-back {
	text-decoration: none;
	font-weight: 600;
}

.vht-adm .vht-steps {
	margin-top: 10px;
}

/* Admin: staatuse sildid */
.vht-status {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	background: #dcdcde;
}

.vht-status--uus { background: #fcf9e8; color: #996800; }
.vht-status--tootlemisel { background: #e5f0fa; color: #135e96; }
.vht-status--lahendatud { background: #edfaef; color: #007017; }
.vht-status--karantiin { background: #fcf0f1; color: #b32d2e; }

/* Osalise taganemise märgis avalduste nimekirjas */
.vht-adm-scope {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 7px;
	border-radius: 3px;
	background: #fcf9e8;
	color: #996800;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	vertical-align: middle;
}

/* Minu konto -> Taganemised */
.vht-account {
	display: grid;
	gap: 20px;
}

.vht-acc-card {
	border: 1px solid #e3e7ef;
	border-radius: 12px;
	padding: 20px 22px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(15, 40, 65, 0.06);
}

.vht-acc-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.vht-acc-ref {
	display: block;
	font-weight: 700;
	font-size: 1.05em;
}

.vht-acc-ref a {
	text-decoration: none;
}

.vht-acc-date {
	display: block;
	font-size: 0.85em;
	color: #50575e;
	margin-top: 2px;
}

.vht-steps {
	display: flex;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.vht-step {
	flex: 1;
	position: relative;
	text-align: center;
	padding-top: 28px;
}

/* Ühendusjoon punktide vahel */
.vht-step::before {
	content: "";
	position: absolute;
	top: 9px;
	left: -50%;
	width: 100%;
	height: 3px;
	border-radius: 3px;
	background: #e3e7ef;
	z-index: 0;
}

.vht-step:first-child::before {
	display: none;
}

.vht-step--done::before,
.vht-step--current::before {
	background: var(--vht-accent, #3431ff);
}

.vht-step-dot {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #dfe5ee;
	border: 3px solid #fff;
	z-index: 1;
}

.vht-step--done .vht-step-dot,
.vht-step--current .vht-step-dot {
	background: var(--vht-accent, #3431ff);
}

/* Helendus on ühtlane toon (mitte poolläbipaistev), et joon läbi ei kumaks */
.vht-step--current .vht-step-dot {
	box-shadow: 0 0 0 4px #e1e1fd;
}

.vht-step-label {
	font-size: 0.8em;
	font-weight: 600;
	color: #50575e;
}

.vht-step--done .vht-step-label,
.vht-step--current .vht-step-label {
	color: #141414;
}

.vht-acc-next {
	margin: 0;
	padding: 12px 14px;
	background: #f2f5fb;
	border-radius: 8px;
	font-size: 0.92em;
}

.vht-acc-empty {
	text-align: center;
	padding: 40px 20px;
	border: 1px dashed #c9d2e0;
	border-radius: 12px;
}

@media (max-width: 480px) {
	.vht-step-label {
		font-size: 0.68em;
	}
}

/* Avalik Minu konto näidisvaade [tagastusnupp_konto_demo] */
.vht-demo-acc {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 2.5rem;
	align-items: start;
}

@media (max-width: 700px) {
	.vht-demo-acc {
		grid-template-columns: 1fr;
	}
}

.vht-demo-nav ul {
	list-style: none;
	margin: 0;
	padding: 0.4rem;
	background: #f2f5fb;
	border-radius: 1rem;
}

.vht-demo-nav li {
	margin: 0 0 2px;
}

.vht-demo-nav a,
.vht-demo-nav-active span {
	display: block;
	padding: 10px 14px;
	border-radius: 0.65rem;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	color: #0f2841;
}

.vht-demo-nav a:hover,
.vht-demo-nav-active span {
	background: #fff;
	color: var(--vht-accent);
	box-shadow: 0 1px 6px rgba(15, 40, 65, 0.08);
}

.vht-demo-note {
	margin: 0 0 18px;
	padding: 12px 16px;
	background: #f2f5fb;
	border: 1px dashed rgba(52, 49, 255, 0.4);
	border-radius: 0.75rem;
	font-size: 0.92em;
}
