/*
 * KalitePusula: Elementor sayfaları.
 *
 * Yalnızca Elementor ile kurulmuş sayfalarda (ve Elementor düzenleyicisinin ön izlemesinde) yüklenir.
 * Elementor'un container, başlık, metin ve buton çıktısını Tema Ayarları belirteçlerine bağlar:
 *   --kp-* ve --color-* değişkenleri KalitePusula > Tema Ayarları panelinden gelir (renk, yazı tipi, boyut, buton).
 * Elementor'un genel (Site Ayarları) renk/yazı tipi tanımlarına başvurulmaz; böylece aynı değer iki yerden yönetilmez.
 *
 * Sınıflar (Elementor'da "Gelişmiş > CSS Sınıfları" alanından eklenir):
 *   Bölüm:  kp-el-section (dikey boşluk), kp-bg-white|sand|mist|navy (zemin), kp-line-bottom, kp-scheme-light
 *   Satır:  kp-el-container (site genişliği), kp-el-col, kp-el-sticky, kp-el-buttons, kp-el-head
 *   Metin:  kp-w-eyebrow, kp-w-rule, kp-w-h1, kp-w-h2, kp-w-h2--narrow, kp-w-lead, kp-w-lead--hero, kp-w-note
 *   Buton:  kp-w-btn + kp-w-btn--primary|outline|accent (+ kp-w-btn--lg), kp-w-textlink (+ --block)
 * Elementor'da bir denetimi (padding, arka plan, tipografi…) elle ayarlarsanız o ayar tema varsayılanını geçersiz kılar.
 */

/* ---- Sıfırlama: yalnızca KalitePusula bölümlerinde (kp-el-section) Elementor varsayılan boşlukları tema belirteçleriyle değiştirilir.
 * Sizin kendi Elementor sayfalarınız ve bölümleriniz (kp-el-section sınıfı olmayanlar) bu sıfırlamalardan etkilenmez. ------------ */
.kp-elementor {
	width: 100%;
}
.kp-elementor .kp-el-section {
	--kit-widget-spacing: 0px;
	--widgets-spacing: 0px;
	--widgets-spacing-row: 0px;
	--widgets-spacing-column: 0px;
}
.kp-elementor .kp-el-section .e-con {
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
}
.kp-elementor .kp-el-section .elementor-widget:not(:last-child) {
	margin-block-end: 0;
}

/* ---- Bölüm: dikey boşluk (Tema Ayarları > Düzen), zemin ------------------------------------------------- */
.kp-elementor .kp-el-section {
	--container-default-padding-top: var(--kp-y-m, 48px);
	--container-default-padding-bottom: var(--kp-y-m, 48px);
	position: relative;
	isolation: isolate;
}
@media (min-width: 40rem) {
	.kp-elementor .kp-el-section {
		--container-default-padding-top: var(--kp-y-t, 48px);
		--container-default-padding-bottom: var(--kp-y-t, 48px);
	}
}
@media (min-width: 64rem) {
	.kp-elementor .kp-el-section {
		--container-default-padding-top: var(--kp-y-d, 72px);
		--container-default-padding-bottom: var(--kp-y-d, 72px);
	}
}
.kp-bg-white {
	background-color: var(--kp-bg, #fff);
}
.kp-bg-sand {
	background-color: var(--color-sand);
}
.kp-bg-mist {
	background-color: var(--color-mist);
}
.kp-bg-navy {
	background-color: var(--color-navy);
}
.kp-line-bottom {
	border-bottom: 1px solid var(--color-line);
}
/* Koyu zemin: başlık/metin/etiket renkleri otomatik açık olur. Koyu özel zemin için kp-scheme-light ekleyin. */
.kp-bg-navy,
.kp-scheme-light {
	--kp-heading: #fff;
	--kp-text: var(--color-on-navy);
	--kp-lead: var(--color-on-navy);
	--kp-eyebrow: var(--color-teal);
	--kp-link: var(--color-teal);
	--kp-link-hover: #fff;
	color: var(--color-on-navy);
}

/* ---- Satır ve kolonlar --------------------------------------------------------------------------------- */
.kp-elementor .kp-el-container {
	--container-default-padding-left: var(--kp-px-m, 20px);
	--container-default-padding-right: var(--kp-px-m, 20px);
	width: 100%;
	max-width: var(--kp-container, 1280px);
	margin-inline: auto;
}
@media (min-width: 40rem) {
	.kp-elementor .kp-el-container {
		--container-default-padding-left: var(--kp-px-t, 24px);
		--container-default-padding-right: var(--kp-px-t, 24px);
	}
}
@media (min-width: 64rem) {
	.kp-elementor .kp-el-container {
		--container-default-padding-left: var(--kp-px-d, 40px);
		--container-default-padding-right: var(--kp-px-d, 40px);
	}
}
.kp-elementor .kp-el-col {
	min-width: 0;
}
@media (min-width: 64rem) {
	.kp-elementor .kp-el-sticky {
		position: sticky;
		top: 7rem;
		align-self: flex-start;
	}
}
.kp-elementor .kp-el-buttons {
	margin-top: 2rem;
}
.kp-elementor .kp-el-head {
	margin-bottom: 0;
}

/* ---- Başlık ve metin ----------------------------------------------------------------------------------- */
.kp-elementor .kp-w-eyebrow .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--kp-eyebrow, var(--color-teal-ink));
}
.kp-elementor .kp-w-rule .elementor-heading-title::before {
	content: '';
	flex: none;
	width: 1.5rem;
	height: 2px;
	background: var(--color-teal);
}
.kp-elementor .kp-w-h1 .elementor-heading-title {
	margin: 1.25rem 0 0;
	font-size: var(--kp-h1-m, 36px);
	line-height: 1.08;
	font-weight: var(--kp-h1-weight, 800);
	letter-spacing: -0.045em;
	text-wrap: balance;
	color: var(--kp-heading, var(--color-navy));
}
.kp-elementor .kp-w-h2 .elementor-heading-title {
	margin: 0.75rem 0 0;
	font-size: var(--kp-h2-m, 28px);
	line-height: var(--kp-h-lh, 1.12);
	font-weight: var(--kp-h2-weight, 700);
	letter-spacing: -0.035em;
	text-wrap: balance;
	color: var(--kp-heading, var(--color-navy));
}
@media (min-width: 40rem) {
	.kp-elementor .kp-w-h1 .elementor-heading-title {
		font-size: var(--kp-h1-t, 46px);
	}
	.kp-elementor .kp-w-h2 .elementor-heading-title {
		font-size: var(--kp-h2-t, 32px);
	}
}
@media (min-width: 64rem) {
	.kp-elementor .kp-w-h1 .elementor-heading-title {
		font-size: var(--kp-h1-d, 48px);
	}
	.kp-elementor .kp-w-h2 .elementor-heading-title {
		font-size: var(--kp-h2-d, 38px);
	}
}
.kp-elementor .kp-w-h2--narrow {
	max-width: 640px;
}
.kp-elementor .kp-w-lead p {
	max-width: 400px;
	margin: 1.25rem 0 0;
	font-size: 16px;
	line-height: 1.75rem;
	color: var(--kp-lead, var(--color-mineral));
}
@media (min-width: 40rem) {
	.kp-elementor .kp-w-lead p {
		font-size: 17px;
	}
}
.kp-elementor .kp-w-lead--hero p {
	max-width: 470px;
	margin-top: 1.5rem;
	font-size: 17px;
	line-height: 2rem;
}
@media (min-width: 40rem) {
	.kp-elementor .kp-w-lead--hero p {
		font-size: 18px;
	}
}
.kp-elementor .kp-w-note p {
	margin: 2.5rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-line);
	font-size: 14px;
	line-height: 1.5rem;
	color: var(--color-mineral);
}

/* ---- Butonlar (Tema Ayarları > Butonlar ve Renkler) ---------------------------------------------------- */
.kp-elementor .kp-w-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var(--kp-btn-h, 2.75rem);
	padding: 0 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--kp-btn-radius, 0.5rem);
	font-family: inherit;
	font-size: var(--kp-btn-size, 15px);
	font-weight: var(--kp-btn-weight, 600);
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: none;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.kp-elementor .kp-w-btn--lg .elementor-button {
	height: var(--kp-btn-h-lg, 52px);
	padding: 0 1.75rem;
	font-size: 16px;
}
.kp-elementor .kp-w-btn--primary .elementor-button {
	background: var(--kp-btn-bg, var(--color-navy));
	color: var(--kp-btn-fg, #fff);
}
.kp-elementor .kp-w-btn--primary .elementor-button:hover,
.kp-elementor .kp-w-btn--primary .elementor-button:focus {
	background: var(--kp-btn-hover, var(--color-mineral));
	color: var(--kp-btn-fg, #fff);
}
.kp-elementor .kp-w-btn--accent .elementor-button {
	background: var(--kp-btn2-bg, var(--color-teal));
	color: var(--kp-btn2-fg, var(--color-navy));
	font-weight: 700;
}
.kp-elementor .kp-w-btn--accent .elementor-button:hover {
	background: #fff;
	color: var(--kp-btn2-fg, var(--color-navy));
}
.kp-elementor .kp-w-btn--outline .elementor-button {
	background: #fff;
	color: var(--color-navy);
	border-color: var(--color-line);
}
.kp-elementor .kp-w-btn--outline .elementor-button:hover {
	border-color: var(--color-teal-ink);
	color: var(--color-navy);
}
.kp-elementor .kp-w-textlink .elementor-button {
	height: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--kp-heading, var(--color-navy));
	text-decoration: underline;
	text-decoration-color: var(--color-teal);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
	box-shadow: none;
	transition: color 0.15s;
}
.kp-elementor .kp-w-textlink .elementor-button:hover,
.kp-elementor .kp-w-textlink .elementor-button:focus {
	background: transparent;
	color: var(--color-teal-ink);
}
.kp-elementor .kp-w-textlink--block {
	margin-top: 1.5rem;
}
.kp-elementor .kp-bg-navy .kp-w-textlink .elementor-button,
.kp-elementor .kp-scheme-light .kp-w-textlink .elementor-button {
	color: #fff;
}
.kp-elementor .kp-w-btn .elementor-button-content-wrapper,
.kp-elementor .kp-w-textlink .elementor-button-content-wrapper {
	gap: 0;
}

/* ---- Odak halkası (erişilebilirlik) -------------------------------------------------------------------- */
.kp-elementor .kp-el-section .elementor-button:focus-visible,
.kp-elementor .kp-el-section a:focus-visible {
	outline: 2px solid var(--color-teal-ink);
	outline-offset: 2px;
}
.kp-bg-navy a:focus-visible,
.kp-scheme-light a:focus-visible,
.kp-bg-navy .elementor-button:focus-visible {
	outline-color: var(--color-teal);
}

/* ---- Hareket kapalıysa (Tema Ayarları > Hareket) ------------------------------------------------------- */
.kp-motion-off .kp-elementor * {
	transition: none !important;
	animation: none !important;
}

/* ---- Kurumsal sayfası: dar metin, ortalı çağrı kutusu, gövde metni --------------------------------------- */
.kp-elementor .kp-el-container.kp-el-narrow {
	max-width: min(100%, calc(800px + 2 * var(--kp-px-d, 40px)));
}
.kp-elementor .kp-el-center {
	align-items: center;
	text-align: center;
}
.kp-elementor .kp-w-center .elementor-heading-title,
.kp-elementor .kp-w-center p {
	text-align: center;
	margin-inline: auto;
}
.kp-elementor .kp-w-lead--wide p {
	max-width: 720px;
}
.kp-elementor .kp-w-body p {
	max-width: none;
	margin: 1.5rem 0 0;
	font-size: 17px;
	line-height: 1.75rem;
	color: var(--kp-text, var(--color-navy));
}
.kp-elementor .kp-el-narrow .kp-el-buttons {
	margin-top: 2rem;
}
.kp-elementor .kp-el-center .kp-el-buttons {
	justify-content: center;
}
.kp-elementor .kp-breadcrumb {
	margin-bottom: 1.25rem;
}

/* ---- Tanıtım sayfaları: kartlar, alt başlık, liste ---------------------------------------------------------- */
.kp-elementor .kp-el-cards {
	margin-top: 2.5rem;
}
.kp-elementor .kp-w-card {
	padding: 1.5rem;
	border: 1px solid var(--color-line);
	border-radius: 0.75rem;
	background: #fff;
}
.kp-elementor .kp-w-h3 .elementor-heading-title {
	margin: 0.5rem 0 0;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--kp-heading, var(--color-navy));
}
.kp-elementor .kp-w-body--sm p {
	margin-top: 0.75rem;
	font-size: 16px;
	line-height: 1.75rem;
	color: var(--color-mineral);
}
.kp-elementor .kp-w-card .kp-w-textlink--block {
	margin-top: 1.25rem;
}
.kp-elementor .kp-w-list ul {
	margin: 1.25rem 0 0;
	padding-left: 1.25rem;
	font-size: 17px;
	line-height: 2rem;
}
.kp-elementor .kp-el-container > .elementor-widget-kp-kurum,
.kp-elementor .kp-el-container > .elementor-widget-kp-module-cards,
.kp-elementor .kp-el-container > .elementor-widget-kp-resource-list,
.kp-elementor .kp-el-container > .elementor-widget-kp-resources {
	margin-top: 2.5rem;
}
.kp-elementor .kp-el-col > .elementor-widget-kp-module-cards,
.kp-elementor .kp-el-col > .elementor-widget-kp-contact-info {
	margin-top: 1.5rem;
}
.kp-elementor .kp-w-body p {
	max-width: 70ch;
}
.kp-elementor .kp-el-narrow .kp-w-body p {
	max-width: none;
}

/* ==========================================================================================================
 * Ürün sitesi 0.6: sıcak vurgu yüzeyi, temsilî örnek kayıt, sorun listesi
 * Renk rolleri: sıcak (kayısı) = dikkat çekilen yer (sorun, karar noktası); iris = bölüm yüzeyi; seçim ve ana eylem = teal ailesi (koyu teal).
 * Ürün durum renkleri (tamam/gecikmiş/eksik) yalnızca örnek kayıt ve ürün ekranlarının içindedir.
 * ======================================================================================================== */
.kp-bg-warm {
	background-color: var(--color-warm-tint, #fcefe3);
	--kp-eyebrow: var(--color-warm-ink, #8f4a0b);
}
.kp-bg-iris {
	background-color: var(--color-iris-tint, #ececfa);
	--kp-eyebrow: var(--color-iris-ink, #4747b8);
}
.kp-bg-mist {
	--kp-eyebrow: var(--color-teal-deep, #066b65);
}
.kp-elementor .kp-bg-warm .kp-w-rule .elementor-heading-title::before {
	background: var(--color-warm, #f2a65a);
}
.kp-elementor .kp-w-h2--wide {
	max-width: 720px;
}
.kp-elementor .kp-w-lead--mid p {
	max-width: 520px;
}
.kp-elementor .kp-el-links {
	margin-top: 1.75rem;
	gap: 0.75rem 1.75rem;
}

/* Sorunun yanındaki koyu panel: içinde temsilî kayıt durur. Elementor'da container arka planı değiştirilebilir. */
.kp-elementor .kp-el-panel {
	padding: 1.25rem;
	border-radius: 1.25rem;
	background: var(--color-navy);
}
@media (min-width: 40rem) {
	.kp-elementor .kp-el-panel {
		padding: 1.75rem;
	}
}

/* ---- Örnek kayıt (kp-case) ---------------------------------------------------------------------------- */
.kp-case {
	margin: 0;
	border-radius: 0.75rem;
	background: #fff;
	color: var(--color-navy);
	box-shadow: 0 1px 0 rgb(11 45 74 / 0.06), 0 20px 40px -24px rgb(0 0 0 / 0.5);
	overflow: hidden;
}
.kp-case__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.75rem 1.25rem;
	border-bottom: 1px solid var(--color-line);
	background: var(--color-sand);
}
.kp-case__kind {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.005em;
}
.kp-case__badge {
	display: inline-flex;
	align-items: center;
	height: 1.5rem;
	padding: 0 0.625rem;
	border: 1px solid var(--color-line);
	border-radius: 999px;
	background: #fff;
	font-size: 12px;
	font-weight: 600;
	color: var(--color-mineral);
	white-space: nowrap;
}
.kp-case__body {
	padding: 1.25rem 1.25rem 0.5rem;
}
.kp-case__code {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--color-mineral);
	font-variant-numeric: tabular-nums;
}
.kp-case__title {
	margin: 0.25rem 0 0;
	font-size: 21px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.kp-case__meta {
	margin: 0.375rem 0 0;
	font-size: 15px;
	color: var(--color-mineral);
}
.kp-case__rows {
	margin: 1.25rem 0 0;
	padding: 0;
}
.kp-case__row {
	display: grid;
	grid-template-columns: 7.5rem 1fr;
	gap: 0.25rem 1rem;
	align-items: center;
	padding: 0.875rem 0;
	border-top: 1px solid var(--color-line);
}
.kp-case__row dt {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-mineral);
}
.kp-case__row dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.375rem 0.75rem;
	margin: 0;
	min-width: 0;
}
.kp-case__val {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}
.kp-case__chip {
	display: inline-flex;
	align-items: center;
	height: 1.625rem;
	padding: 0 0.75rem;
	border-radius: 999px;
	background: var(--color-mist);
	font-size: 13px;
	font-weight: 600;
	color: var(--color-mineral);
	white-space: nowrap;
}
.kp-case__row.is-ok .kp-case__chip {
	background: var(--color-ok-bg);
	color: var(--color-teal-deep);
}
.kp-case__row.is-late .kp-case__chip {
	background: var(--color-warn-bg);
	color: var(--color-warn-ink);
}
.kp-case__row.is-missing {
	margin: 0 -0.75rem;
	padding: 0.875rem 0.75rem;
	border: 1.5px dashed var(--color-mineral);
	border-radius: 0.5rem;
	background: var(--color-sand);
}
.kp-case__row.is-missing + .kp-case__row,
.kp-case__row.is-missing {
	border-top-width: 1.5px;
}
.kp-case__row.is-missing .kp-case__val {
	font-weight: 500;
	color: var(--color-mineral);
}
.kp-case__row.is-missing .kp-case__chip {
	background: var(--color-warn-bg);
	color: var(--color-warn-ink);
}
.kp-case__note {
	margin: 0;
	padding: 0.875rem 1.25rem 1rem;
	font-size: 13px;
	line-height: 1.5;
	color: var(--color-mineral);
}
@media (max-width: 30rem) {
	.kp-case__row {
		grid-template-columns: 1fr;
	}
}

/* ---- Sorun listesi: kutu değil, üstü renkli çizgili sütunlar ------------------------------------------------- */
.kp-elementor .kp-el-probs {
	margin-top: 3.5rem;
	gap: 2rem;
}
.kp-elementor .kp-w-prob {
	padding-top: 1.25rem;
	border-top: 3px solid var(--color-warm, #f2a65a);
}
.kp-elementor .kp-w-prob .kp-w-h3 .elementor-heading-title {
	margin-top: 0;
}
.kp-elementor .kp-w-prob .kp-w-body--sm p {
	color: var(--color-navy);
	opacity: 0.82;
}
.kp-elementor .kp-w-prob .kp-w-textlink--block {
	margin-top: 1rem;
}

/* ---- Çalışma alanları (kp-ws): sekmeler = seçim (koyu teal), pencere = ürün örneği ---------------------------- */
.kp-ws__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2rem;
}
.kp-ws__tab {
	min-height: 2.75rem;
	padding: 0.5rem 1.125rem;
	border: 1px solid var(--kp-ui-border, #6b8aa1);
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--color-navy);
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.kp-ws__tab:hover {
	border-color: var(--color-teal-deep, #066b65);
	color: var(--color-teal-deep, #066b65);
}
.kp-ws__tab[aria-selected='true'] {
	border-color: var(--color-teal-deep, #066b65);
	background: var(--color-teal-deep, #066b65);
	color: #fff;
}
.kp-ws__tab:focus-visible {
	outline: 2px solid var(--color-teal-deep, #066b65);
	outline-offset: 2px;
}
.kp-ws__panel {
	display: grid;
	gap: 1.75rem;
	animation: kp-ws-in 0.25s ease-out;
}
.kp-ws__panel.is-off {
	display: none;
}
@keyframes kp-ws-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
@media (min-width: 64rem) {
	.kp-ws__panel {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 3rem;
		align-items: start;
	}
}
.kp-ws__print {
	display: none;
}
/* JavaScript kapalıyken yedek görünüm: şablondaki <noscript><style> ile uygulanır (html.kp-js sınıfı betikle eklendiği için kullanılmaz; ilk boyamada yerleşim kaymasına yol açardı). */
.kp-ws__desc {
	margin: 0;
	font-size: 19px;
	line-height: 1.55;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--color-navy);
}
.kp-ws__mods {
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--color-line);
}
.kp-ws__mods li {
	border-bottom: 1px solid var(--color-line);
}
.kp-ws__mods a {
	display: block;
	padding: 1rem 0;
	text-decoration: none;
	color: inherit;
}
.kp-ws__modname {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.015em;
}
.kp-ws__mods a:hover .kp-ws__modname {
	color: var(--color-teal-deep, #066b65);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
.kp-ws__modtext {
	display: block;
	margin-top: 0.25rem;
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-mineral);
}
.kp-ws__win {
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: var(--shadow-window);
	overflow: hidden;
	color: var(--color-navy);
}
.kp-ws__winbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.75rem 1.25rem;
	background: var(--color-navy);
	font-size: 14px;
	font-weight: 700;
	color: #fff;
}
.kp-ws__winbar .kp-case__badge {
	border-color: rgb(255 255 255 / 0.3);
	background: transparent;
	color: var(--color-on-navy);
}
.kp-ws__scroll:focus-visible {
	outline: 2px solid var(--color-teal-deep, #066b65);
	outline-offset: -2px;
}
.kp-ws__table {
	width: 100%;
	min-width: 30rem;
	border-collapse: collapse;
	text-align: left;
}
.kp-ws__table th {
	padding: 0.75rem 1.25rem;
	border-bottom: 1px solid var(--color-line);
	background: var(--color-sand);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-mineral);
}
.kp-ws__table td {
	padding: 0.875rem 1.25rem;
	border-bottom: 1px solid var(--color-line);
	font-size: 15px;
	line-height: 1.4;
	vertical-align: middle;
}
.kp-ws__table tbody tr:last-child td {
	border-bottom: 0;
}
.kp-ws__table td:first-child {
	font-weight: 600;
}

/* ---- Kapsam seçici (kp-scope): yüzey = iris; seçim ve teklif düğmesi = teal ailesi ------------------------------ */
.kp-scope__types {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.kp-scope__legend {
	margin-bottom: 0.75rem;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-iris-ink, #4747b8);
}
.kp-scope__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.kp-scope__pill span {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.5rem 1.125rem;
	border: 1px solid var(--kp-ui-border, #6b8aa1);
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.kp-scope__pill input:checked + span {
	border-color: var(--color-teal-deep, #066b65);
	background: var(--color-teal-deep, #066b65);
	color: #fff;
}
.kp-scope__pill input:focus-visible + span {
	outline: 2px solid var(--color-teal-deep, #066b65);
	outline-offset: 2px;
}
.kp-scope__pill span:hover {
	border-color: var(--color-teal-deep, #066b65);
}
.kp-scope__out {
	margin-top: 1.5rem;
}
.kp-scope__panel {
	display: grid;
	gap: 1.5rem;
	padding: 1.5rem;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1px 0 rgb(11 45 74 / 0.06), 0 24px 48px -32px rgb(11 45 74 / 0.4);
	animation: kp-ws-in 0.25s ease-out;
}
.kp-scope__panel.is-off {
	display: none;
}
@media (min-width: 64rem) {
	.kp-scope__panel {
		grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr);
		gap: 2.5rem;
		padding: 2rem;
	}
}
.kp-scope__print {
	display: none;
}
.kp-scope__h {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-iris-ink, #4747b8);
}
.kp-scope__h--soft {
	color: var(--color-mineral);
}
.kp-scope__lead {
	margin: 0.75rem 0 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--color-mineral);
}
.kp-scope__rec,
.kp-scope__opt {
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}
.kp-scope__rec li,
.kp-scope__opt li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.625rem;
	padding: 0.5rem 0;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
}
.kp-scope__opt li {
	font-size: 16px;
	font-weight: 500;
}
.kp-scope__rec a,
.kp-scope__opt a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--color-line);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
.kp-scope__rec a:hover,
.kp-scope__opt a:hover {
	text-decoration-color: var(--color-teal-deep, #066b65);
}
.kp-scope__tick {
	flex: none;
	width: 1.125rem;
	height: 1.125rem;
	border-radius: 0.3rem;
	background: var(--color-teal-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
}
.kp-scope__plan {
	margin: 1rem 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--color-mineral);
}
.kp-scope__act {
	align-self: end;
}
.kp-scope__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--kp-btn-h-lg, 52px);
	padding: 0 1.5rem;
	border-radius: var(--kp-btn-radius, 0.5rem);
	background: var(--kp-btn2-bg, var(--color-teal));
	font-size: 16px;
	font-weight: 700;
	color: var(--kp-btn2-fg, var(--color-navy));
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s, transform 0.15s;
}
.kp-scope__btn:hover {
	background: var(--color-teal-deep, #066b65);
	color: #fff;
	transform: translateY(-1px);
}
.kp-scope__btn:focus-visible {
	outline: 2px solid var(--color-navy);
	outline-offset: 3px;
}
.kp-scope__note {
	margin: 0.875rem 0 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--color-mineral);
}

/* ---- Kurum türü kartları (kp-aud) ------------------------------------------------------------------------------ */
.kp-aud__list {
	display: grid;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 48rem) {
	.kp-aud__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.kp-aud__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.75rem;
	border: 1px solid var(--color-line);
	border-top: 4px solid var(--color-navy);
	border-radius: 0.75rem;
	background: #fff;
}
.kp-aud__name {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.kp-aud__lead {
	margin: 0.75rem 0 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--color-mineral);
}
.kp-aud__points {
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}
.kp-aud__points li {
	position: relative;
	padding: 0.4rem 0 0.4rem 1.5rem;
	font-size: 15.5px;
	line-height: 1.55;
}
.kp-aud__points li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.95rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 2px;
	background: var(--color-teal);
}
.kp-aud__mods {
	margin: 1.25rem 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-mineral);
}
.kp-aud__modlabel {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.kp-aud__mods a {
	display: inline-block;
	margin-right: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
	text-decoration: underline;
	text-decoration-color: var(--color-line);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.kp-aud__mods a:hover {
	text-decoration-color: var(--color-teal-ink);
}
.kp-aud__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin: auto 0 0;
	padding-top: 1.5rem;
}
.kp-aud__more {
	font-size: 15px;
	font-weight: 600;
	color: var(--color-navy);
	text-decoration: underline;
	text-decoration-color: var(--color-teal);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}
.kp-aud__quote {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 1.125rem;
	border: 1px solid var(--color-navy);
	border-radius: var(--kp-btn-radius, 0.5rem);
	font-size: 15px;
	font-weight: 600;
	color: var(--color-navy);
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
}
.kp-aud__quote:hover {
	background: var(--color-navy);
	color: #fff;
}
.kp-aud__other {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-top: 1.5rem;
	padding: 1.5rem 1.75rem;
	border-radius: 0.75rem;
	background: var(--color-mist);
}
.kp-aud__other .kp-aud__name {
	font-size: 20px;
}
.kp-aud__other .kp-aud__lead {
	max-width: 52rem;
	margin-top: 0.375rem;
	color: var(--color-navy);
	opacity: 0.85;
}

/* ---- Bölüm başı boşluğu, koyu hero uyarlamaları, sütun varyantı ------------------------------------------------- */
.kp-elementor .kp-w-gap p {
	margin-bottom: 2.25rem;
}
.kp-elementor .kp-w-prob--teal {
	border-top-color: var(--color-teal);
}
.kp-elementor .kp-w-prob--iris {
	border-top-color: var(--color-iris, #5b5bd6);
}
.kp-elementor .kp-w-prob--navy {
	border-top-color: var(--color-navy);
}
.kp-elementor .kp-w-prob--warm {
	border-top-color: var(--color-warm, #f2a65a);
}
.kp-elementor .kp-bg-navy .kp-w-note p {
	border-top-color: rgb(255 255 255 / 0.18);
	color: var(--color-on-navy);
}
.kp-elementor .kp-bg-navy .kp-w-btn--accent .elementor-button:hover {
	background: #fff;
}
.kp-elementor .kp-bg-navy .kp-w-btn--outline .elementor-button {
	background: transparent;
	border-color: rgb(255 255 255 / 0.45);
	color: #fff;
}
.kp-elementor .kp-bg-navy .kp-w-btn--outline .elementor-button:hover {
	border-color: #fff;
	background: rgb(255 255 255 / 0.08);
	color: #fff;
}
.kp-elementor .kp-hero .kp-case {
	box-shadow: 0 1px 0 rgb(255 255 255 / 0.08), 0 30px 60px -30px rgb(0 0 0 / 0.65);
}
.kp-elementor .kp-hero .kp-case__row {
	grid-template-columns: 9.5rem 1fr;
}
@media (max-width: 30rem) {
	.kp-elementor .kp-hero .kp-case__row {
		grid-template-columns: 1fr;
	}
}
.kp-elementor .kp-hero .kp-case__body {
	padding-top: 0.5rem;
}
.kp-elementor .kp-hero .kp-case__meta {
	margin: 0;
	font-size: 14px;
}

/* ---- Teklif formu: gruplar ---------------------------------------------------------------------------------------- */
.kp-q-group {
	min-width: 0;
	margin: 0 0 1.75rem;
	padding: 0;
	border: 0;
}
.kp-q-legend {
	display: block;
	width: 100%;
	margin: 0 0 1rem;
	padding: 0 0 0.625rem;
	border-bottom: 1px solid var(--color-line);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-warm-ink, #8f4a0b);
}
.kp-q-group [hidden] {
	display: none;
}
.kp-elementor .kp-q-side {
	padding: 1.5rem;
	border-radius: 0.75rem;
	background: var(--color-warm-tint, #fcefe3);
}
.kp-elementor .kp-q-side .kp-w-h3 .elementor-heading-title {
	margin: 0;
}
.kp-elementor .kp-q-side .kp-w-body--sm p {
	color: var(--color-navy);
	opacity: 0.85;
}

/* ---- Yetenek listesi (kp-cap): özellik + kısa ifade + durum etiketi (teknoloji, güvenlik, kurulum) ---------------- */
.kp-cap {
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--color-line);
}
.kp-cap__row {
	display: grid;
	gap: 0.75rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--color-line);
}
@media (min-width: 64rem) {
	.kp-cap__row {
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
		gap: 3rem;
	}
}
.kp-cap__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.5rem 0.75rem;
	min-width: 0;
}
.kp-cap__name {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.015em;
	color: var(--color-navy);
	overflow-wrap: anywhere;
}
.kp-cap__chip {
	display: inline-flex;
	align-items: center;
	height: 1.75rem;
	padding: 0 0.75rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}
.kp-cap__chip--working {
	background: var(--color-ok-bg, #dcf5f1);
	color: var(--color-teal-deep, #066b65);
}
.kp-cap__chip--pilot {
	border-color: var(--color-navy);
	background: #fff;
	color: var(--color-navy);
}
.kp-cap__chip--plan {
	border-style: dashed;
	border-color: var(--kp-ui-border, #6b8aa1);
	background: transparent;
	color: var(--color-mineral);
}
.kp-cap__body {
	min-width: 0;
}
.kp-cap__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--color-navy);
}
.kp-cap__note {
	margin: 0.5rem 0 0;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--color-mineral);
}
.kp-cap__notelabel {
	font-weight: 700;
}

/* ---- Kaynak listesi küçük kare görseli (kp-rthumb / kp-rcard): görsel başlığın yanında, sabit 1:1 oran ------------- */
.kp-rcard {
	--kp-rthumb: 72px;
	display: grid;
	grid-template-columns: var(--kp-rthumb) minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}
.kp-rcard--lead {
	--kp-rthumb: 96px;
}
@media (min-width: 48rem) {
	.kp-rcard {
		--kp-rthumb: 88px;
		gap: 1.25rem;
	}
	.kp-rcard--lead {
		--kp-rthumb: 120px;
	}
}
.kp-rcard__body {
	min-width: 0;
}
.kp-rthumb {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border: 1px solid var(--color-line);
	border-radius: 0.75rem;
	background: var(--color-mist);
	color: var(--color-teal-deep, #066b65);
}
.kp-rthumb img,
.kp-rthumb__ph {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- Kare görsel (kp-w-media): kart başlığının üstünde; Elementor Görsel widget'ı, her görsel 1:1 kırpılır ---------- */
.kp-elementor .kp-w-media {
	flex: none;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 0.75rem;
}
.kp-elementor .kp-w-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.kp-elementor .kp-w-media + .elementor-widget {
	margin-top: 1.25rem;
}

/* ---- Dokunma hedefi: satır içi bağlantılar (kurum kartı ve kapsam listesi) en az 28 px, mobilde 44 px ---------------- */
.kp-aud__mods a,
.kp-aud__more,
.kp-scope__rec a,
.kp-scope__opt a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
}
@media (max-width: 47.99rem) {
	.kp-aud__mods a,
	.kp-aud__more,
	.kp-scope__rec a,
	.kp-scope__opt a {
		min-height: 44px;
	}
}
