/* ==========================================================================
   Lanbyte.se, artikel-CSS v2.0 (Blocksy)
   Wrapper: .entry-content  Prefix: lab-

   Flyttad från Anpassa > Ytterligare CSS i Occasio i oktober 2026 och
   anpassad till barntemat. Alla klasser finns kvar med samma namn, så att
   befintliga artiklar ser rätt ut utan ändringar. Temats egna delar
   (sidhuvud, rubrikband, sidokolumn, sidfot) ligger i lanbyte.css.

   Ändrat mot Occasio-versionen:
   - Rubrikerna i texten använder Barlow som H1, inte ett kodtypsnitt,
     och har ingen automatisk numrering.
   - Etiketter skrivs med vanliga bokstäver, aldrig versaler.
   - Tabeller staplas som kort under 700px (tidigare 600px).
   - Ytor och linjer är svalt grå i stället för gräddvita, så att de går
     ihop med det nattblå rubrikbandet.

   Lanbyte Loan Compare läser färgerna här (--lab-*), så topplistor och
   långivarsidor följer med automatiskt.

   1.  Färger och mått
   2.  Text, rubriker och länkar
   3.  Snabbsvaret, snabbfakta och rutor
   4.  Etikett, pris och kort
   5.  Fördelar, nackdelar, steg och checklistor
   6.  Tabeller
   7.  FAQ, skribent, granskning, källor och friskrivning
   8.  Relaterat, tidslinje, märken och nyckeltal
   9.  Begrepp, omdöme, passar och fall
   10. Listor, citat, bilder, kod och övrigt
   11. Mobil: rutor i en kolumn och tabeller som kort
   ========================================================================== */

/* =========== 1. FÄRGER OCH MÅTT =========== */

:root {
	/* Grundfärger */
	--lab-brand: #28528d;
	--lab-brand-dark: #193357;
	--lab-brand-soft: #ebf1f8;
	--lab-on-brand: #ffffff;
	--lab-text: #1d2736;
	--lab-muted: #5b6675;
	--lab-border: #dde3ec;
	--lab-surface: #ffffff;
	--lab-surface-alt: #f3f6fa;
	/* Form och mått */
	--lab-radius: 12px;
	--lab-radius-sm: 10px;
	--lab-maxw: 100%;
	--lab-shadow: 0 1px 2px rgba(19, 42, 71, 0.05), 0 8px 24px rgba(19, 42, 71, 0.06);
	--lab-accent-w: 4px;
	--lab-etikett-radius: 999px;
	--lab-etikett-transform: none;
	--lab-mark: "‣";
	/* Typografi */
	--lab-head-font: "Barlow", "Barlow Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--lab-body-font: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
	--lab-head-weight: 700;
	--lab-head-tracking: -0.005em;
	--lab-body-line: 1.7;
	/* Statusfärger */
	--lab-info: #3a6a8a;
	--lab-info-bg: #eef4f8;
	--lab-info-tx: #1f3d52;
	--lab-warn: #b5532e;
	--lab-warn-bg: #fcf1ec;
	--lab-warn-tx: #71301a;
	--lab-ok: #4f7a34;
	--lab-ok-bg: #eff5e9;
	--lab-ok-tx: #344f1d;
	--lab-tip: #3f7a4a;
	--lab-tip-bg: #edf5ef;
	--lab-tip-tx: #244a2c;
	--lab-note: #c98a1a;
	--lab-note-bg: #fbf3e1;
	--lab-note-tx: #5f4007;
}

/* =========== 2. TEXT, RUBRIKER OCH LÄNKAR =========== */

.entry-content {
	font-family: var(--lab-body-font);
	color: var(--lab-text);
}

.entry-content p {
	line-height: var(--lab-body-line);
}

.entry-content :is(h2, h3, h4, h5, h6) {
	font-family: var(--lab-head-font);
	font-weight: var(--lab-head-weight);
	letter-spacing: var(--lab-head-tracking);
	color: #132a47;
}

.entry-content h2:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *) {
	margin: 1.7em 0 0.55em;
}

.entry-content h3:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *) {
	margin: 1.7em 0 0.45em;
}

.entry-content h4:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *) {
	margin: 1.4em 0 0.4em;
}

.entry-content :is(h2, h3, h4) + :is(p, ul, ol) {
	margin-top: 0;
}

.entry-content a:not(.lab-cta):not([class*="button"]):not(.wp-block-button__link):not([class*="more-link"]):not([class*="read-more"]):not(.wp-block-read-more):not([class*="btn"]):not([class^="lbt-"]) {
	color: var(--lab-brand);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(40, 82, 141, 0.45);
	transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.entry-content a:not(.lab-cta):not([class*="button"]):not(.wp-block-button__link):not([class*="more-link"]):not([class*="read-more"]):not(.wp-block-read-more):not([class*="btn"]):not([class^="lbt-"]):hover {
	color: var(--lab-brand-dark);
	text-decoration-color: #f2b33d;
	text-decoration-thickness: 2px;
}

/* Länkar på blå botten (rubrikrader i pris, omdöme och tabeller) */
.entry-content :is(.lab-pris-topp, .lab-omdome-topp, .lab-tabell thead, table:not([class*="lab-"]) thead) a:not(.lab-cta):not([class*="button"]):not([class*="btn"]) {
	color: var(--lab-on-brand);
	text-decoration-color: rgba(255, 255, 255, 0.7);
}

.entry-content strong,
.entry-content b {
	font-weight: 700;
	color: #132a47;
}

/* Fetstilt rubrikrad direkt före en lista hör ihop med listan */
.entry-content p:has(> strong:only-child):has(+ :is(ul, ol)) {
	margin-bottom: 6px;
}

.entry-content p:has(> strong:only-child) + :is(ul, ol) {
	margin-top: 0;
}

/* FAQ-schemat ligger ibland i ett eget stycke. Stycket ska inte ge luft. */
.entry-content p:has(> script[type="application/ld+json"]:only-child) {
	display: none;
}

.entry-content .lab-intro {
	margin: 0 0 1.4em;
	font-size: 1.12em;
	font-weight: 600;
	line-height: 1.6;
	color: var(--lab-text);
}

/* =========== 3. SNABBSVARET, SNABBFAKTA OCH RUTOR =========== */

.entry-content :is(
	.lab-intro, .lab-korthet, .lab-snabbfakta, .lab-info, .lab-warn, .lab-tip, .lab-note,
	.lab-pris, .lab-kort, .lab-pros, .lab-cons, .lab-steg, .lab-checklista, .lab-faq,
	.lab-forfattare, .lab-affiliate, .lab-disclaimer, .lab-kallor, .lab-tabell,
	.lab-granskad, .lab-relaterat, .lab-krysslista, .lab-tidslinje, .lab-svg-wrap
) {
	box-sizing: border-box;
}

/* Snabbsvaret: svaret på sidans fråga direkt under rubriken */
.entry-content .lab-korthet {
	position: relative;
	max-width: var(--lab-maxw);
	margin: 0 0 28px;
	padding: 20px 24px 20px 26px;
	border: 1px solid #d3deec;
	border-radius: var(--lab-radius);
	background: var(--lab-brand-soft);
	box-shadow: inset 4px 0 0 var(--lab-brand);
}

.entry-content .lab-korthet > strong:first-child {
	display: block;
	margin-bottom: 6px;
	font-family: var(--lab-head-font);
	font-size: 1.05em;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--lab-brand-dark);
}

.entry-content .lab-korthet p {
	margin: 0;
	line-height: 1.65;
}

.entry-content .lab-korthet p + p {
	margin-top: 0.6em;
}

.entry-content .lab-snabbfakta {
	max-width: var(--lab-maxw);
	margin: 24px 0;
	padding: 18px 22px;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius);
	background: var(--lab-surface-alt);
}

.entry-content .lab-snabbfakta > strong:first-child {
	display: block;
	margin-bottom: 8px;
	font-family: var(--lab-head-font);
	color: var(--lab-brand-dark);
}

.entry-content .lab-snabbfakta ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.entry-content .lab-snabbfakta li {
	position: relative;
	margin-left: 0;
	padding: 6px 0 6px 30px;
	border-bottom: 1px solid var(--lab-border);
	line-height: 1.5;
}

.entry-content .lab-snabbfakta li:last-child {
	border-bottom: 0;
}

.entry-content .lab-snabbfakta li::before {
	content: var(--lab-mark);
	position: absolute;
	left: 0;
	top: 6px;
	width: 22px;
	text-align: right;
	font-weight: 700;
	color: var(--lab-brand);
}

.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note) {
	max-width: var(--lab-maxw);
	margin: 24px 0;
	padding: 16px 22px 16px 24px;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius);
	line-height: 1.6;
}

.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note) > strong:first-child,
.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note) .lab-box-titel {
	display: block;
	margin-bottom: 6px;
	font-family: var(--lab-head-font);
	font-weight: 700;
	color: inherit;
}

.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note) p {
	margin: 0 0 0.5em;
}

.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note) p:last-child {
	margin: 0;
}

.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note) strong {
	color: inherit;
}

.entry-content .lab-info {
	background: var(--lab-info-bg);
	border-color: #d4e2ec;
	box-shadow: inset 4px 0 0 var(--lab-info);
	color: var(--lab-info-tx);
}

.entry-content .lab-warn {
	background: var(--lab-warn-bg);
	border-color: #f1d7cb;
	box-shadow: inset 4px 0 0 var(--lab-warn);
	color: var(--lab-warn-tx);
}

.entry-content .lab-tip {
	background: var(--lab-tip-bg);
	border-color: #d3e6d8;
	box-shadow: inset 4px 0 0 var(--lab-tip);
	color: var(--lab-tip-tx);
}

.entry-content .lab-note {
	background: var(--lab-note-bg);
	border-color: #f0dfb8;
	box-shadow: inset 4px 0 0 var(--lab-note);
	color: var(--lab-note-tx);
}

/* =========== 4. ETIKETT, PRIS OCH KORT =========== */

.entry-content .lab-etikett {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 0 0 8px;
	padding: 3px 11px;
	border-radius: var(--lab-etikett-radius, 12px);
	background: var(--lab-warn);
	color: #ffffff;
	font-family: var(--lab-head-font);
	font-size: 0.78em;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: var(--lab-etikett-transform, none);
}

.entry-content .lab-pris {
	max-width: 100%;
	margin: 24px 0;
	overflow: hidden;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius);
	background: var(--lab-surface);
	box-shadow: var(--lab-shadow);
}

.entry-content .lab-pris-topp {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 16px 20px;
	background: var(--lab-brand-dark);
	color: var(--lab-on-brand);
}

.entry-content .lab-pris-label {
	font-family: var(--lab-head-font);
	font-size: 0.88em;
	letter-spacing: 0.01em;
	opacity: 0.85;
}

.entry-content .lab-pris-belopp {
	font-family: var(--lab-head-font);
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.1;
}

.entry-content .lab-pris-rad {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 10px 20px;
	border-top: 1px solid var(--lab-border);
}

/* Beskrivningen tar platsen som blir över, beloppet hålls ihop till höger. */
.entry-content .lab-pris-rad > :first-child {
	flex: 1 1 auto;
	min-width: 0;
}

.entry-content .lab-pris-rad > :last-child {
	flex: 0 0 auto;
	max-width: 60%;
	text-align: right;
	font-weight: 600;
	color: var(--lab-text);
}

/* På mobilen hamnar beloppet på en egen rad under beskrivningen, i stället
   för att tryckas ihop till en smal kolumn där "2 169 kr" bryts i tre rader. */
@media (max-width: 699.98px) {
	.entry-content .lab-pris-rad {
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
	}

	.entry-content .lab-pris-rad > :last-child {
		max-width: none;
		text-align: left;
	}
}

.entry-content .lab-kort-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	margin: 24px 0;
}

.entry-content .lab-kort {
	padding: 16px 18px;
	border: 1px solid var(--lab-border);
	border-top: 3px solid var(--lab-brand);
	border-radius: var(--lab-radius-sm);
	background: var(--lab-surface);
}

.entry-content .lab-kort :is(h3, h4) {
	margin: 0 0 6px;
	font-size: 1.08em;
	color: var(--lab-brand-dark);
}

.entry-content .lab-kort p {
	margin: 0;
	line-height: 1.55;
}

/* =========== 5. FÖRDELAR, NACKDELAR, STEG OCH CHECKLISTOR =========== */

.entry-content .lab-pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 24px 0;
}

.entry-content :is(.lab-pros, .lab-cons) {
	padding: 16px 18px 16px 20px;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius-sm);
}

.entry-content .lab-pros {
	background: var(--lab-ok-bg);
	box-shadow: inset 4px 0 0 var(--lab-ok);
}

.entry-content .lab-cons {
	background: var(--lab-warn-bg);
	box-shadow: inset 4px 0 0 var(--lab-warn);
}

.entry-content :is(.lab-pros, .lab-cons) > strong:first-child {
	display: block;
	margin-bottom: 8px;
	font-family: var(--lab-head-font);
}

.entry-content .lab-pros > strong:first-child {
	color: var(--lab-ok-tx);
}

.entry-content .lab-cons > strong:first-child {
	color: var(--lab-warn-tx);
}

.entry-content :is(.lab-pros, .lab-cons) ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.entry-content :is(.lab-pros, .lab-cons) li {
	position: relative;
	margin-left: 0;
	padding: 4px 0 4px 30px;
	line-height: 1.5;
}

.entry-content :is(.lab-pros, .lab-cons) li::before {
	position: absolute;
	left: 2px;
	top: 4px;
	width: 22px;
	text-align: left;
	font-weight: 700;
}

.entry-content .lab-pros li::before {
	content: "✓";
	color: var(--lab-ok);
}

.entry-content .lab-cons li::before {
	content: "✕";
	color: var(--lab-warn);
}

.entry-content ol.lab-steg {
	counter-reset: lab-steg;
	max-width: var(--lab-maxw);
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

.entry-content ol.lab-steg li {
	counter-increment: lab-steg;
	position: relative;
	margin: 0 0 10px;
	padding: 13px 16px 13px 58px;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius-sm);
	background: var(--lab-surface);
	line-height: 1.55;
}

.entry-content ol.lab-steg li::before {
	content: counter(lab-steg);
	position: absolute;
	left: 14px;
	top: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--lab-brand-dark);
	color: #ffffff;
	font-family: var(--lab-head-font);
	font-size: 0.92em;
	font-weight: 700;
}

.entry-content :is(ul.lab-checklista, ul.lab-krysslista) {
	max-width: var(--lab-maxw);
	margin: 18px 0;
	padding: 0;
	list-style: none;
}

.entry-content :is(ul.lab-checklista, ul.lab-krysslista) li {
	position: relative;
	margin: 0;
	padding: 6px 0 6px 32px;
	line-height: 1.55;
}

.entry-content :is(ul.lab-checklista, ul.lab-krysslista) li::before {
	position: absolute;
	left: 0;
	top: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	font-family: var(--lab-head-font);
	font-size: 0.78em;
	font-weight: 700;
}

.entry-content ul.lab-checklista li::before {
	content: "✓";
	background: var(--lab-ok-bg);
	color: var(--lab-ok);
}

.entry-content ul.lab-krysslista li::before {
	content: "✕";
	background: var(--lab-warn-bg);
	color: var(--lab-warn);
}

/* =========== 6. TABELLER =========== */

/* Tabellmarkup: <div class="lab-tabell"><table>...</table></div>.
   Två kolumner visas som tabell överallt, fler kolumner staplas som kort
   under 700px. Lägg data-label på varje <td> så att värdet får sin rubrik. */
.entry-content .lab-tabell {
	margin: 24px 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius);
}

.entry-content .lab-tabell table {
	width: 100%;
	min-width: 520px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: var(--lab-surface);
	font-size: 0.95em;
}

.entry-content .lab-tabell thead tr {
	background: var(--lab-brand-dark);
	color: var(--lab-on-brand);
}

.entry-content .lab-tabell thead th {
	padding: 12px 14px;
	border: 0;
	text-align: left;
	font-family: var(--lab-head-font);
	font-weight: 600;
	color: var(--lab-on-brand);
}

.entry-content .lab-tabell :is(td, tbody th) {
	padding: 11px 14px;
	border: 0;
	border-top: 1px solid var(--lab-border);
	line-height: 1.45;
	vertical-align: top;
}

.entry-content .lab-tabell tbody th {
	text-align: left;
	font-weight: 700;
	color: var(--lab-text);
	background: transparent;
}

.entry-content .lab-tabell tbody tr:nth-child(even) {
	background: var(--lab-surface-alt);
}

/* Långa värden bryts först när ordet inte får plats. break-word, inte
   anywhere, eftersom anywhere låter webbläsaren räkna kolumnens minsta
   bredd som ett enda tecken och då kapas ord som Snabbkredit mitt itu. */
.entry-content .lab-tabell :is(td, th) {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}

/* Tabeller utan lab-klass */
.entry-content table:not([class*="lab-"]):not(.lab-tabell table):not(:is(.skkc-listing, .skkc-cards, .skkc-related) table):not([class*="llc-"] table) {
	width: 100%;
	margin: 24px 0;
	border: 1px solid var(--lab-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--lab-radius);
	overflow: hidden;
	background: var(--lab-surface);
	font-size: 0.95em;
}

.entry-content table:not([class*="lab-"]):not(.lab-tabell table):not(:is(.skkc-listing, .skkc-cards, .skkc-related) table):not([class*="llc-"] table) :is(thead tr, tr:first-child:not(:has(td))) {
	background: var(--lab-brand-dark);
}

.entry-content table:not([class*="lab-"]):not(.lab-tabell table):not(:is(.skkc-listing, .skkc-cards, .skkc-related) table):not([class*="llc-"] table) :is(thead th, thead td) {
	padding: 12px 14px;
	border: 0;
	text-align: left;
	font-family: var(--lab-head-font);
	font-weight: 600;
	color: #ffffff !important;
	background: transparent;
}

.entry-content table:not([class*="lab-"]):not(.lab-tabell table):not(:is(.skkc-listing, .skkc-cards, .skkc-related) table):not([class*="llc-"] table) :is(td, tbody th) {
	padding: 10px 14px;
	border: 0;
	border-top: 1px solid var(--lab-border);
	line-height: 1.5;
	vertical-align: top;
}

.entry-content table:not([class*="lab-"]):not(.lab-tabell table):not(:is(.skkc-listing, .skkc-cards, .skkc-related) table):not([class*="llc-"] table) tbody tr:nth-child(even) {
	background: var(--lab-surface-alt);
}

.entry-content .wp-block-table {
	margin: 24px 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.entry-content .wp-block-table table {
	margin: 0 !important;
}

/* =========== 7. FAQ, SKRIBENT, GRANSKNING, KÄLLOR OCH FRISKRIVNING =========== */

.entry-content .lab-faq {
	max-width: var(--lab-maxw);
	margin: 18px 0 28px;
	border-top: 1px solid var(--lab-border);
}

.entry-content .lab-faq h3 {
	margin: 0;
	padding: 18px 0 6px;
	border-top: 1px solid var(--lab-border);
	font-size: 1.14em;
	line-height: 1.3;
	color: var(--lab-brand-dark);
}

.entry-content .lab-faq h3:first-child {
	border-top: 0;
}

.entry-content .lab-faq p {
	margin: 0 0 8px;
	line-height: 1.65;
	color: var(--lab-text);
}

.entry-content .lab-faq dt {
	padding: 18px 0 6px;
	border-top: 1px solid var(--lab-border);
	font-family: var(--lab-head-font);
	font-weight: 700;
	color: var(--lab-brand-dark);
}

.entry-content .lab-faq dt:first-child {
	border-top: 0;
}

.entry-content .lab-faq dd {
	margin: 0 0 8px;
	line-height: 1.65;
	color: var(--lab-text);
}

.entry-content .lab-forfattare {
	max-width: var(--lab-maxw);
	margin: 26px 0;
	padding: 22px 26px;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius);
	background: var(--lab-surface-alt);
}

.entry-content .lab-forfattare h3 {
	margin: 0 0 4px;
	font-size: 1.2em;
	color: var(--lab-text);
}

.entry-content .lab-forfattare .lab-roll {
	margin-bottom: 10px;
	font-family: var(--lab-head-font);
	font-size: 0.92em;
	font-weight: 600;
	color: var(--lab-brand);
}

.entry-content .lab-forfattare p {
	margin: 0 0 0.6em;
	font-size: 0.96em;
	line-height: 1.6;
	color: var(--lab-muted);
}

.entry-content .lab-granskad {
	max-width: var(--lab-maxw);
	margin: 16px 0;
	padding: 12px 18px;
	border: 1px solid #d3e3c6;
	border-radius: var(--lab-radius-sm);
	background: var(--lab-ok-bg);
	box-shadow: inset 4px 0 0 var(--lab-ok);
	font-size: 0.92em;
	line-height: 1.5;
	color: var(--lab-ok-tx);
}

.entry-content :is(.lab-affiliate, .lab-disclaimer) {
	max-width: var(--lab-maxw);
	margin: 18px 0;
	padding: 13px 18px;
	border-radius: var(--lab-radius-sm);
	font-size: 0.86em;
	line-height: 1.55;
}

.entry-content .lab-affiliate {
	border: 1px solid var(--lab-border);
	background: var(--lab-surface-alt);
	color: var(--lab-muted);
}

.entry-content .lab-disclaimer {
	border: 1px solid #f0dfb8;
	background: var(--lab-note-bg);
	box-shadow: inset 3px 0 0 var(--lab-note);
	color: var(--lab-note-tx);
}

.entry-content :is(.lab-affiliate, .lab-disclaimer) strong {
	color: inherit;
}

/* Faktagranskad mot: källorna sist i texten */
.entry-content .lab-kallor {
	max-width: var(--lab-maxw);
	margin: 26px 0;
	padding: 18px 24px;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius);
	background: var(--lab-surface-alt);
}

.entry-content .lab-kallor h2 {
	margin: 0 0 8px;
	font-size: 1.08em;
	color: var(--lab-brand-dark);
}

.entry-content .lab-kallor ul {
	margin: 0;
	padding-left: 18px;
}

.entry-content .lab-kallor :is(li, p) {
	margin: 0 0 6px;
	font-size: 0.88em;
	line-height: 1.55;
	color: var(--lab-muted);
}

.entry-content .lab-kallor :is(li, p):last-child {
	margin-bottom: 0;
}

/* =========== 8. RELATERAT, TIDSLINJE, MÄRKEN OCH NYCKELTAL =========== */

.entry-content .lab-relaterat {
	max-width: var(--lab-maxw);
	margin: 24px 0;
	border-top: 1px solid var(--lab-border);
}

.entry-content .lab-relaterat-rad {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 0;
	border-bottom: 1px solid var(--lab-border);
}

.entry-content .lab-relaterat-titel {
	margin-bottom: 2px;
	font-family: var(--lab-head-font);
	font-size: 1.05em;
	font-weight: 600;
	color: var(--lab-text);
}

.entry-content .lab-relaterat-text {
	font-size: 0.9em;
	color: var(--lab-muted);
}

.entry-content .lab-cta {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid var(--lab-brand);
	border-radius: 999px;
	color: var(--lab-brand);
	font-family: var(--lab-head-font);
	font-size: 0.92em;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.entry-content .lab-cta:hover,
.entry-content .lab-cta:focus-visible {
	background: var(--lab-brand);
	color: var(--lab-on-brand);
}

.entry-content .lab-tidslinje {
	position: relative;
	max-width: var(--lab-maxw);
	margin: 24px 0;
	padding-left: 28px;
}

.entry-content .lab-tidslinje::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 6px;
	bottom: 6px;
	width: 2px;
	background: var(--lab-border);
}

.entry-content .lab-tidslinje-item {
	position: relative;
	padding: 0 0 16px 4px;
	line-height: 1.55;
}

.entry-content .lab-tidslinje-item:last-child {
	padding-bottom: 0;
}

.entry-content .lab-tidslinje-item::before {
	content: "";
	position: absolute;
	left: -28px;
	top: 6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #f2b33d;
	box-shadow: 0 0 0 3px var(--lab-surface), 0 0 0 4px var(--lab-border);
}

.entry-content .lab-tidslinje-item strong {
	color: var(--lab-brand-dark);
}

.entry-content .lab-badge {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 11px;
	background: var(--lab-brand-soft);
	color: var(--lab-brand-dark);
	font-family: var(--lab-head-font);
	font-size: 0.78em;
	font-weight: 600;
	letter-spacing: 0.01em;
	vertical-align: middle;
}

.entry-content :is(.lab-badge-green, .lab-badge-yes) {
	background: var(--lab-ok-bg);
	color: var(--lab-ok-tx);
}

.entry-content :is(.lab-badge-red, .lab-badge-no) {
	background: var(--lab-warn-bg);
	color: var(--lab-warn-tx);
}

.entry-content .lab-badge-yellow {
	background: var(--lab-note-bg);
	color: var(--lab-note-tx);
}

.entry-content .lab-svg-wrap {
	margin: 24px 0;
	text-align: center;
}

.entry-content .lab-svg-wrap svg {
	width: 100%;
	max-width: 380px;
	height: auto;
}

.entry-content .lab-nyckeltal {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	max-width: var(--lab-maxw);
	margin: 24px 0;
	padding: 18px 22px;
	border-radius: var(--lab-radius);
	background: var(--lab-brand-soft);
	box-shadow: inset var(--lab-accent-w, 4px) 0 0 var(--lab-brand);
}

.entry-content .lab-nyckeltal-tal {
	font-family: var(--lab-head-font);
	font-size: 2.4em;
	font-weight: 700;
	line-height: 1;
	color: var(--lab-brand-dark);
}

.entry-content .lab-nyckeltal-etikett {
	font-family: var(--lab-head-font);
	font-size: 0.85em;
	font-weight: 600;
	color: var(--lab-brand-dark);
	text-transform: var(--lab-etikett-transform, none);
}

.entry-content .lab-nyckeltal-kontext {
	font-size: 0.94em;
	line-height: 1.5;
	color: var(--lab-muted);
}

/* =========== 9. BEGREPP, OMDÖME, PASSAR OCH FALL =========== */

.entry-content .lab-begrepp {
	max-width: var(--lab-maxw);
	margin: 24px 0;
	padding: 14px 18px;
	border: 1px solid #d4e2ec;
	border-radius: var(--lab-radius-sm, 10px);
	background: var(--lab-info-bg);
	line-height: 1.55;
}

.entry-content .lab-begrepp-term {
	display: block;
	margin-bottom: 3px;
	font-family: var(--lab-head-font);
	font-weight: 700;
	color: var(--lab-info-tx);
}

.entry-content .lab-omdome {
	max-width: var(--lab-maxw);
	margin: 26px 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius);
	background: var(--lab-surface);
	box-shadow: var(--lab-shadow);
}

.entry-content .lab-omdome-topp {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 18px;
	background: var(--lab-brand-dark);
	color: var(--lab-on-brand);
}

.entry-content .lab-omdome-titel {
	font-family: var(--lab-head-font);
	font-size: 1.1em;
	font-weight: 700;
}

.entry-content .lab-omdome-betyg {
	font-family: var(--lab-head-font);
	font-size: 1.25em;
	font-weight: 700;
	white-space: nowrap;
}

.entry-content .lab-omdome-stjarnor {
	color: #f2b33d;
	letter-spacing: 2px;
	font-size: 1.05em;
}

.entry-content .lab-omdome-kropp {
	padding: 14px 18px;
}

.entry-content .lab-omdome-bast {
	display: block;
	margin-bottom: 8px;
	font-family: var(--lab-head-font);
	font-size: 0.88em;
	font-weight: 600;
	color: var(--lab-brand-dark);
	text-transform: var(--lab-etikett-transform, none);
}

.entry-content .lab-omdome-listor {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 10px;
}

.entry-content .lab-omdome-listor ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.entry-content .lab-omdome-listor li {
	position: relative;
	margin-left: 0;
	padding: 4px 0 4px 30px;
	line-height: 1.5;
}

.entry-content .lab-omdome-plus li::before {
	content: "+";
	position: absolute;
	left: 2px;
	top: 4px;
	width: 22px;
	font-weight: 800;
	color: var(--lab-ok-tx);
}

.entry-content .lab-omdome-minus li::before {
	content: "\2212";
	position: absolute;
	left: 2px;
	top: 4px;
	width: 22px;
	font-weight: 800;
	color: var(--lab-warn-tx);
}

.entry-content .lab-passar {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	max-width: var(--lab-maxw);
	margin: 24px 0;
}

.entry-content :is(.lab-passar-ja, .lab-passar-nej) {
	padding: 16px 18px;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius-sm, 10px);
}

.entry-content .lab-passar-ja {
	background: var(--lab-ok-bg);
}

.entry-content .lab-passar-nej {
	background: var(--lab-warn-bg);
}

.entry-content .lab-passar strong {
	display: block;
	margin-bottom: 8px;
	font-family: var(--lab-head-font);
}

.entry-content .lab-passar ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.entry-content .lab-passar li {
	position: relative;
	margin-left: 0;
	padding: 4px 0 4px 30px;
	line-height: 1.5;
}

.entry-content .lab-passar-ja li::before {
	content: "\2713";
	position: absolute;
	left: 2px;
	top: 4px;
	width: 22px;
	font-weight: 800;
	color: var(--lab-ok-tx);
}

.entry-content .lab-passar-nej li::before {
	content: "\2715";
	position: absolute;
	left: 2px;
	top: 4px;
	width: 22px;
	font-weight: 800;
	color: var(--lab-warn-tx);
}

.entry-content details.lab-fall {
	max-width: var(--lab-maxw);
	margin: 18px 0;
	overflow: hidden;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius-sm, 10px);
	background: var(--lab-surface);
}

.entry-content details.lab-fall > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 13px 18px;
	cursor: pointer;
	list-style: none;
	font-family: var(--lab-head-font);
	font-weight: 700;
	color: var(--lab-brand-dark);
}

.entry-content details.lab-fall > summary::-webkit-details-marker {
	display: none;
}

.entry-content details.lab-fall > summary::after {
	content: "+";
	font-size: 1.3em;
	font-weight: 700;
	color: var(--lab-muted);
}

.entry-content details.lab-fall[open] > summary::after {
	content: "\2212";
}

.entry-content details.lab-fall > summary + * {
	margin-top: 0;
}

.entry-content details.lab-fall :is(p, ul, ol, div) {
	padding: 0 18px;
}

.entry-content details.lab-fall > *:last-child {
	padding-bottom: 14px;
}

/* =========== 10. LISTOR, CITAT, BILDER, KOD OCH ÖVRIGT =========== */

.entry-content ul:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *):not([class*="lbt-"]),
.entry-content ol:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *):not([class*="lbt-"]) {
	margin: 14px 0 20px;
	padding-left: 24px;
}

.entry-content ul:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *):not([class*="lbt-"]) > li,
.entry-content ol:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *):not([class*="lbt-"]) > li {
	padding: 3px 0 3px 4px;
	line-height: 1.65;
}

.entry-content ul:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *):not([class*="lbt-"]) > li::marker {
	color: var(--lab-brand);
}

.entry-content ol:not([class*="lab-"]):not([class*="lab-"] *):not(:is(.skkc-listing, .skkc-cards, .skkc-related) *):not([class*="lbt-"]) > li::marker {
	color: var(--lab-brand);
	font-family: var(--lab-head-font);
	font-weight: 700;
}

.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note, .lab-korthet) :is(ul, ol):not([class*="lab-"]) {
	margin: 8px 0;
	padding-left: 22px;
}

.entry-content blockquote:not([class*="lab-"]) {
	max-width: var(--lab-maxw);
	margin: 26px 0;
	padding: 14px 22px;
	border: 0;
	border-radius: 0 var(--lab-radius-sm) var(--lab-radius-sm) 0;
	background: var(--lab-surface-alt);
	box-shadow: inset 4px 0 0 #f2b33d;
	color: var(--lab-text);
	font-style: italic;
}

.entry-content blockquote:not([class*="lab-"]) p {
	margin: 0 0 0.5em;
}

.entry-content blockquote:not([class*="lab-"]) p:last-child {
	margin: 0;
}

.entry-content blockquote:not([class*="lab-"]) cite {
	display: block;
	margin-top: 8px;
	font-size: 0.9em;
	font-style: normal;
	color: var(--lab-muted);
}

.entry-content img:not([class*="lab-"]):not(:is(.skkc-listing, .skkc-cards, .skkc-related, .skkc-single-logo) img):not([class*="llc-"] img) {
	max-width: 100%;
	height: auto;
	border-radius: var(--lab-radius-sm);
}

.entry-content figure {
	margin: 26px 0;
}

.entry-content figcaption {
	margin-top: 8px;
	font-size: 0.88em;
	line-height: 1.5;
	text-align: center;
	color: var(--lab-muted);
}

.entry-content code:not([class*="lab-"]) {
	padding: 1px 6px;
	border-radius: 4px;
	background: var(--lab-surface-alt);
	font-size: 0.92em;
	color: var(--lab-brand-dark);
}

.entry-content pre:not([class*="lab-"]) {
	margin: 18px 0;
	padding: 14px 18px;
	overflow-x: auto;
	border: 1px solid var(--lab-border);
	border-radius: var(--lab-radius-sm);
	background: var(--lab-surface-alt);
	font-size: 0.92em;
	line-height: 1.5;
}

.entry-content pre:not([class*="lab-"]) code {
	padding: 0;
	background: none;
	color: inherit;
}

.entry-content hr:not([class*="lab-"]) {
	margin: 34px 0;
	border: 0;
	border-top: 1px solid var(--lab-border);
}

.entry-content dl:not([class*="lab-"]) {
	max-width: var(--lab-maxw);
	margin: 18px 0;
}

.entry-content dl:not([class*="lab-"]) dt {
	margin-top: 10px;
	font-family: var(--lab-head-font);
	font-weight: 700;
	color: var(--lab-brand-dark);
}

.entry-content dl:not([class*="lab-"]) dd {
	margin: 0 0 6px 16px;
	line-height: 1.6;
}

/* Tilläggets etiketter i topplistorna skrivs med vanliga bokstäver */
.entry-content :is(.llc-stat-label, .llc-badge, .skkc-listing .t) {
	font-family: var(--lab-head-font);
	letter-spacing: 0.01em;
	text-transform: none;
}

.entry-content .llc-stat-label {
	font-size: 0.86em;
	font-weight: 500;
	color: var(--lab-muted);
}

.entry-content .llc-badge {
	font-weight: 600;
}

/* =========== 11. MOBIL: RUTOR I EN KOLUMN OCH TABELLER SOM KORT =========== */

@media (max-width: 699.98px) {
	.entry-content :is(.lab-omdome-listor, .lab-passar, .lab-pros-cons) {
		grid-template-columns: 1fr;
	}

	.entry-content .lab-relaterat-rad {
		flex-direction: column;
		align-items: flex-start;
	}

	.entry-content .lab-korthet {
		padding: 16px 18px 16px 20px;
	}

	.entry-content :is(.lab-info, .lab-warn, .lab-tip, .lab-note, .lab-snabbfakta, .lab-kallor) {
		padding-left: 18px;
		padding-right: 16px;
	}

	/* Tabeller med tre kolumner eller fler blir kort. Hela kedjan
	   table > tbody > tr > td måste vara display:block. Saknas ett steg
	   skapar webbläsaren en anonym tabellbox som krymper till innehållet. */
	.entry-content .lab-tabell:has(tr > :nth-child(3)) {
		overflow: visible;
		border: 0;
		border-radius: 0;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) table {
		display: block;
		width: 100%;
		min-width: 0;
		background: transparent;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) :is(thead, colgroup, col) {
		display: none;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) :is(tbody, tfoot, caption) {
		display: block;
		width: 100%;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody tr {
		display: block;
		margin: 0 0 14px;
		overflow: hidden;
		border: 1px solid var(--lab-border);
		border-radius: var(--lab-radius-sm);
		background: var(--lab-surface);
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody tr:last-child {
		margin-bottom: 0;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody tr:nth-child(even) {
		background: var(--lab-surface);
	}

	/* Etiketten till vänster och värdet till höger på samma rad */
	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody :is(td, th) {
		display: flow-root;
		width: auto;
		padding: 10px 14px;
		border-top: 1px solid var(--lab-border);
		text-align: right;
		line-height: 1.5;
		overflow-wrap: break-word;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody td::before {
		content: attr(data-label);
		float: left;
		max-width: 55%;
		margin-right: 14px;
		font-family: var(--lab-head-font);
		font-size: 0.92em;
		font-weight: 600;
		text-align: left;
		color: var(--lab-muted);
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody td:not([data-label]) {
		text-align: left;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody td:not([data-label])::before {
		content: none;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody :is(td, th):first-child {
		border-top: 0;
		background: var(--lab-brand-dark);
		color: var(--lab-on-brand);
		font-family: var(--lab-head-font);
		font-weight: 600;
		text-align: left;
	}

	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody :is(td, th):first-child::before {
		content: none;
	}

	/* Första cellen har blå botten, därför vit länkfärg här. */
	.entry-content .lab-tabell:has(tr > :nth-child(3)) tbody :is(td, th):first-child a:not([class*="btn"]) {
		color: var(--lab-on-brand);
		text-decoration-color: rgba(255, 255, 255, 0.7);
	}

	/* Tvåkolumnstabeller är fortfarande tabeller och får plats utan att scrolla. */
	.entry-content .lab-tabell:not(:has(tr > :nth-child(3))) table {
		min-width: 0;
	}

	/* Vanliga tabeller utan lab-klass scrollar i sidled. */
	.entry-content table:not([class*="lab-"]):not(.lab-tabell table):not(.wp-block-table table):not(:is(.skkc-listing, .skkc-cards, .skkc-related) table):not([class*="llc-"] table) {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}
