/* ===== Accordion ===== */
.nd-kkk-item__head { cursor: pointer; }
.nd-kkk-item .nd-kkk-item__answer {
	/* 0,2,0 specificity + --display neutralized: Elementor's
	   .e-con{display:var(--display)} (also 0,1,0, loaded later) must not win. */
	--display: grid;
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	transition: grid-template-rows 0.25s ease;
	padding: 0; /* safety net — Elementor default container padding would leak ~20px when collapsed */
}
.nd-kkk-item__answer > div { min-height: 0; overflow: hidden; }
.nd-kkk-item.is-open .nd-kkk-item__answer { grid-template-rows: 1fr; }
.nd-kkk-item__icon { transition: transform 0.25s ease; }
.nd-kkk-item.is-open .nd-kkk-item__icon { transform: rotate(180deg); }

/* ===== Filter bar (koondleht) ===== */
/* Rescoped to .nd-kkk-filter .nd-kkk-filter__X (0,2,0) — Task-QA1 fix A.
   Root cause (verified live): .elementor-kit-5 button (0,1,1) was beating our
   previous 0,1,0 rules, leaking kit button bg/radius/font-size onto the tabs. */
.nd-kkk-hidden { display: none !important; }
.nd-kkk-filter .nd-kkk-filter__riigid { display: flex; flex-wrap: wrap; gap: 25px; }
.nd-kkk-filter .nd-kkk-filter__riik {
	background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; cursor: pointer;
	font-family: var(--e-global-typography-primary-font-family, 'Unbounded'), sans-serif;
	font-weight: 300; font-size: 14px; text-transform: uppercase;
	color: var(--e-global-color-secondary, #000E35);
}
.nd-kkk-filter .nd-kkk-filter__riik.is-active,
.nd-kkk-filter .nd-kkk-filter__riik:hover { color: var(--e-global-color-primary, #27AAE1); }
/* 0,3,0 interaction-state reset: the kit's button:hover/:focus rule (0,2,1)
   paints #2190BF background on focused tabs — must not win. Browser default
   focus outline stays for a11y. */
.nd-kkk-filter .nd-kkk-filter__riik:hover,
.nd-kkk-filter .nd-kkk-filter__riik:focus,
.nd-kkk-filter .nd-kkk-filter__riik:active {
	background: none;
	box-shadow: none;
	border: 0;
}
.nd-kkk-filter .nd-kkk-filter__label {
	display: block;
	font-family: var(--e-global-typography-primary-font-family, 'Unbounded'), sans-serif;
	font-weight: 700; font-size: 24px;
	color: var(--e-global-color-secondary, #000E35);
	margin: 54px 0 31px;
}
.nd-kkk-filter .nd-kkk-filter__select {
	background: #EDEDED; border: 0; border-radius: 2px;
	height: 57px; width: 100%; max-width: 567px;
	padding-left: 18px; /* measured §4.3 value-text left padding */
	padding-right: 46px; /* 18px chevron offset + 10px chevron width + 18px clearance (mirrors left padding) — §4.3 */
	font-family: var(--e-global-typography-text-font-family, 'Roboto'), sans-serif;
	font-weight: 400; font-size: 16px;
	color: var(--e-global-color-secondary, #000E35);
	appearance: none;
	background-image: url('data:image/svg+xml;utf8,%3Csvg width=%2212%22 height=%229%22 viewBox=%220 0 12 9%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M0.800271 0.665834L6.00153 6.90551L11.1997 0.665834%22 stroke=%22%23000E35%22 stroke-width=%222%22 stroke-miterlimit=%2210%22/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: right 18px center; /* §4.3 measured chevron right offset from box edge */
}
.nd-kkk-filter .nd-kkk-filter__empty {
	font-family: var(--e-global-typography-text-font-family, 'Roboto'), sans-serif;
	color: var(--e-global-color-secondary, #000E35);
}

/* ===== Koondleht wrapper bottom clearance (Task-QA1 fix B2) =====
   Root cause (verified live): list ends flush against the footer.
   Measured: last separator "Line 26" (node 477:197, y+height=2213 bottom
   edge) to footer "Group 231" (node 477:198, y=2313 top edge) in Figma
   frame 473:593 (KKK_leht) = 2313 − 2213 = 100px. */
.nd-kkk-koondleht { padding-bottom: 100px; }

/* ===== Item head — chevron clearance (Task-QA1 fix C) ===== */
.nd-kkk-item .nd-kkk-item__head { column-gap: 24px; } /* functional clearance — title-to-chevron gap not in Figma; verify with Tanel */
.nd-kkk-item .nd-kkk-item__head > *:last-child { flex-shrink: 0; }


/* ===== Responsive — values live-measured from the site 2026-07-31 (no mobile
   frames in Figma; pending Tanel blessing). Site convention: sections carry
   their own 20px side gutters, so the SEKTSIOON adds none (it inherits its
   hosting section's padding — v1.1.3 double-gutter fix); the KOONDLEHT wrapper
   is template-owned and pads itself. !important only where Elementor's
   per-element 0,3,0 CSS wins otherwise. ===== */
@media (max-width: 1024px) {
	.nd-kkk-koondleht {
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 60px;
	}
	.e-con.e-parent:has(.nd-kkk-item) {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	/* Tablet type ramp (site H1 @768 = 30px). */
	.nd-kkk-koondleht h1.elementor-heading-title { font-size: 30px !important; }
	.e-con.e-parent:has(.nd-kkk-item) h2.elementor-heading-title { font-size: 28px !important; }
	.nd-kkk-item__head h2,
	.nd-kkk-item__head h3 { font-size: 20px !important; }
	.e-con.e-parent.nd-kkk-item { padding-top: 32px; padding-bottom: 32px; }
	.e-con.e-parent:has(.nd-kkk-item) .elementor-widget-button { margin-top: 60px; }
}
@media (max-width: 767px) {
	/* Mobile tightening on top of the tablet block. */
	.nd-kkk-koondleht h1.elementor-heading-title { font-size: 28px !important; }
	.e-con.e-parent:has(.nd-kkk-item) h2.elementor-heading-title { font-size: 24px !important; }
	.nd-kkk-item__head h2,
	.nd-kkk-item__head h3 { font-size: 18px !important; }
	.e-con.e-parent.nd-kkk-item { padding-top: 24px; padding-bottom: 24px; }
	.nd-kkk-filter .nd-kkk-filter__label { font-size: 20px; margin: 32px 0 20px; }
	.e-con.e-parent:has(.nd-kkk-item) .elementor-widget-button { margin-top: 40px; }
	.e-con.e-parent:has(.nd-kkk-item) .elementor-widget-button a.elementor-button { width: 100%; }
}
