/*
 * Kreditkompass Poängväxlaren – frontend-stil (Fas 2).
 * Design låst enligt poangvaxlaren-mockup.html. Alla regler är skopade under
 * .kk-pk-poangvaxlaren så de aldrig läcker ut på övrig sajt/tema (mockupens
 * generiska selektorer som "table"/"select"/"label" var ofarliga i en
 * fristående HTML-fil men måste skopas här).
 */
.kk-pk-poangvaxlaren {
	--kk-pk-marinbla: #185FA5;
	--kk-pk-gron: #1D9E75;
	--kk-pk-ljusbla: #E6F1FB;
	--kk-pk-antracit: #2C2C2A;
	--kk-pk-vit: #FFFFFF;

	font-family: 'DM Sans', sans-serif;
	color: var(--kk-pk-antracit);
	font-size: 17px;
	line-height: 1.7;
	max-width: 1140px;
	margin: 0 auto;
}
.kk-pk-poangvaxlaren * { box-sizing: border-box; }

.kk-pk-poangvaxlaren .kk-pk-verktyg-card {
	background: var(--kk-pk-ljusbla);
	border-left: 4px solid var(--kk-pk-marinbla);
	border-radius: 14px;
	padding: 28px 28px 32px;
	margin-bottom: 32px;
}
.kk-pk-poangvaxlaren .kk-pk-field-row { display: grid; grid-template-columns: 1fr; gap: 22px; }
@media (min-width: 720px) {
	.kk-pk-poangvaxlaren .kk-pk-field-row { grid-template-columns: 1fr 1.4fr; align-items: end; }
}
.kk-pk-poangvaxlaren .kk-pk-utgang-info {
	margin-top: 18px; padding-top: 16px; border-top: 1px dashed rgba(24,95,165,0.25);
	font-size: 0.85rem; color: rgba(44,44,42,0.75);
}
.kk-pk-poangvaxlaren .kk-pk-utgang-info a { color: var(--kk-pk-marinbla); font-weight: 600; }

.kk-pk-poangvaxlaren label {
	display: block; font-weight: 700; color: var(--kk-pk-marinbla);
	font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 8px;
}
.kk-pk-poangvaxlaren select {
	width: 100%; padding: 12px 14px; border-radius: 10px;
	border: 1px solid rgba(24,95,165,0.3); background: var(--kk-pk-vit);
	font-family: 'DM Sans', sans-serif; font-size: 1rem; color: var(--kk-pk-antracit);
}
.kk-pk-poangvaxlaren .kk-pk-balance-controls { display: flex; align-items: center; gap: 16px; }
.kk-pk-poangvaxlaren input[type="range"] { flex: 1; accent-color: var(--kk-pk-marinbla); height: 6px; }
.kk-pk-poangvaxlaren .kk-pk-balance-number {
	width: 130px; padding: 10px 12px; border-radius: 10px;
	border: 1px solid rgba(24,95,165,0.3); font-family: 'DM Sans', sans-serif;
	font-weight: 700; color: var(--kk-pk-marinbla); font-size: 1rem; text-align: right;
}

.kk-pk-poangvaxlaren .kk-pk-filters { display: flex; gap: 10px; flex-wrap: wrap; margin: 28px 0 18px; }
.kk-pk-poangvaxlaren .kk-pk-filter-btn {
	border: 1.5px solid var(--kk-pk-marinbla); background: transparent; color: var(--kk-pk-marinbla);
	font-weight: 700; font-size: 0.9rem; padding: 8px 20px; border-radius: 999px; cursor: pointer;
	transition: background 0.15s, color 0.15s;
}
.kk-pk-poangvaxlaren .kk-pk-filter-btn:hover { background: var(--kk-pk-ljusbla); }
.kk-pk-poangvaxlaren .kk-pk-filter-btn.active { background: var(--kk-pk-marinbla); color: var(--kk-pk-vit); }
.kk-pk-poangvaxlaren .kk-pk-share-btn {
	border: none; background: none; color: var(--kk-pk-marinbla); font-weight: 600; font-size: 0.88rem;
	text-decoration: underline; cursor: pointer; padding: 8px 4px; margin-left: auto;
}
.kk-pk-poangvaxlaren .kk-pk-share-confirm { color: var(--kk-pk-gron); font-size: 0.85rem; font-weight: 600; align-self: center; }

.kk-pk-poangvaxlaren .kk-pk-table-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid rgba(44,44,42,0.08); }
.kk-pk-poangvaxlaren table { width: 100%; border-collapse: collapse; min-width: 760px; }
.kk-pk-poangvaxlaren thead th {
	background: var(--kk-pk-marinbla); color: var(--kk-pk-vit); font-weight: 700;
	text-align: left; padding: 12px 16px; font-size: 0.85rem; white-space: nowrap;
}
.kk-pk-poangvaxlaren tbody td { padding: 12px 16px; font-size: 0.95rem; border-bottom: 1px solid rgba(44,44,42,0.06); vertical-align: middle; }
.kk-pk-poangvaxlaren tbody td:nth-child(3), .kk-pk-poangvaxlaren tbody td:nth-child(4) { white-space: nowrap; }
.kk-pk-poangvaxlaren tbody tr.kk-pk-data-row:nth-child(4n+1) { background: rgba(230,241,251,0.4); }
.kk-pk-poangvaxlaren tbody tr.kk-pk-data-row:hover { background: var(--kk-pk-ljusbla); }

.kk-pk-poangvaxlaren .kk-pk-program-cell { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.kk-pk-poangvaxlaren .kk-pk-logo {
	width: 28px; height: 28px; border-radius: 8px; background: #F1F1EF;
	border: 1px solid rgba(44,44,42,0.15); display: flex; align-items: center; justify-content: center;
	font-size: 0.65rem; font-weight: 700; color: var(--kk-pk-antracit); flex-shrink: 0; overflow: hidden;
}
.kk-pk-poangvaxlaren .kk-pk-logo img { width: 100%; height: 100%; object-fit: contain; }
.kk-pk-poangvaxlaren .kk-pk-program-name { font-weight: 500; }

.kk-pk-poangvaxlaren .kk-pk-kategori-badge {
	display: inline-block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.03em; padding: 3px 9px; border-radius: 999px; color: var(--kk-pk-vit); white-space: nowrap;
}
.kk-pk-poangvaxlaren .kk-pk-kategori-flyg { background: var(--kk-pk-marinbla); }
.kk-pk-poangvaxlaren .kk-pk-kategori-hotell { background: var(--kk-pk-gron); }
.kk-pk-poangvaxlaren .kk-pk-kategori-ovrigt { background: #6b6b68; }

.kk-pk-poangvaxlaren .kk-pk-racker-till-btn {
	background: none; border: none; padding: 0;
	color: var(--kk-pk-marinbla); text-decoration: underline; font-size: 0.85rem; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.kk-pk-poangvaxlaren .kk-pk-racker-till-empty { color: rgba(44,44,42,0.35); }

.kk-pk-poangvaxlaren .kk-pk-value-stack { display: flex; flex-direction: column; gap: 3px; }
.kk-pk-poangvaxlaren .kk-pk-value-line { font-size: 0.85rem; white-space: nowrap; }
.kk-pk-poangvaxlaren .kk-pk-value-label { color: rgba(44,44,42,0.6); display: inline-block; min-width: 52px; }
.kk-pk-poangvaxlaren .kk-pk-value-line strong { color: var(--kk-pk-marinbla); font-weight: 700; }

.kk-pk-poangvaxlaren .kk-pk-affiliate-link { color: var(--kk-pk-marinbla); text-decoration: underline; font-size: 0.88rem; font-weight: 500; white-space: nowrap; }

.kk-pk-poangvaxlaren .kk-pk-empty-state {
	padding: 40px 24px; text-align: center; color: var(--kk-pk-antracit);
	background: var(--kk-pk-vit); border: 1px dashed rgba(24,95,165,0.3); border-radius: 14px;
}
.kk-pk-poangvaxlaren .kk-pk-empty-state strong { color: var(--kk-pk-marinbla); display: block; margin-bottom: 6px; }

.kk-pk-poangvaxlaren .kk-pk-data-note { font-size: 0.82rem; color: rgba(44,44,42,0.65); margin-top: 14px; }
.kk-pk-poangvaxlaren .kk-pk-loading { color: rgba(44,44,42,0.55); font-style: italic; }

/* Räcker till-expansionsrad */
.kk-pk-poangvaxlaren .kk-pk-expand-row td { background: var(--kk-pk-ljusbla); padding: 16px 20px; border-bottom: 1px solid rgba(44,44,42,0.06); }
.kk-pk-poangvaxlaren .kk-pk-expand-content { display: flex; gap: 12px; flex-wrap: wrap; }
.kk-pk-poangvaxlaren .kk-pk-expand-item {
	background: var(--kk-pk-vit); border-radius: 10px; padding: 10px 14px;
	min-width: 180px; border-left: 3px solid var(--kk-pk-gron);
}
.kk-pk-poangvaxlaren .kk-pk-expand-item.kk-pk-snart { border-left-color: rgba(44,44,42,0.3); border-left-style: dashed; }
.kk-pk-poangvaxlaren .kk-pk-expand-item .kk-pk-dest { font-weight: 700; font-size: 0.92rem; }
.kk-pk-poangvaxlaren .kk-pk-expand-item .kk-pk-kabin { font-size: 0.72rem; color: rgba(44,44,42,0.6); text-transform: uppercase; }
.kk-pk-poangvaxlaren .kk-pk-expand-item .kk-pk-pris { color: var(--kk-pk-marinbla); font-weight: 700; font-size: 0.95rem; margin-top: 2px; }
.kk-pk-poangvaxlaren .kk-pk-expand-item .kk-pk-saknas { font-size: 0.78rem; color: rgba(44,44,42,0.6); }
.kk-pk-poangvaxlaren .kk-pk-expand-empty { color: rgba(44,44,42,0.6); font-size: 0.9rem; }
.kk-pk-poangvaxlaren .kk-pk-expand-note { color: rgba(44,44,42,0.55); font-size: 0.78rem; margin-top: 12px; }
