/*
Theme Name: Bäst i tester
Theme URI: https://bast-i-tester.se/
Description: Barntema till Twenty Twenty-Five för Bäst i tester, ett lugnt långformsmagasin med få och djupa jämförelser. Gelasio för rubriker och brödtext, bordeaux för länkar och accent, i övrigt svartvitt. Hårlinjer, luft och riktiga tabeller.
Author: Bäst i tester
Template: twentytwentyfive
Version: 3.0.0
Text Domain: kq-kvalitet
*/

:root {
	--kq-vit: #FFFFFF;
	--kq-yta: #F6F5F3;
	--kq-linje: #DEDCD8;
	--kq-linje-mork: #B9B6B0;
	--kq-text: #1A1A1A;
	--kq-sek: #55534F;
	--kq-accent: #7A1F35;
	--kq-accent-mork: #5A1626;
	--kq-font: Gelasio, Georgia, 'Times New Roman', serif;
	--kq-mat: 42.5rem;
	--kq-s1: 4px; --kq-s2: 8px; --kq-s3: 12px; --kq-s4: 16px; --kq-s5: 24px; --kq-s6: 32px; --kq-s7: 48px; --kq-s8: 64px; --kq-s9: 96px;
}

/* ---------- Grund ---------- */

html { scroll-padding-top: var(--kq-s5); }
body { background: var(--kq-vit); color: var(--kq-text); font-family: var(--kq-font); font-size: 1.1875rem; line-height: 1.6; font-variant-numeric: lining-nums; -webkit-font-smoothing: antialiased; overflow-x: clip; }
@media (max-width: 781px) { body { font-size: 1.0625rem; } }
a { color: var(--kq-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--kq-accent-mork); text-decoration-thickness: 2px; }
:where(a, button, input, summary, [tabindex]):focus-visible { outline: 3px solid var(--kq-accent); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; z-index: 100000; top: var(--kq-s3); left: var(--kq-s3); padding: var(--kq-s3) var(--kq-s4); background: var(--kq-text); color: var(--kq-vit); font: 700 1rem/1.2 var(--kq-font); text-decoration: none; }
h1, h2, h3, h4, h5 { font-family: var(--kq-font); font-weight: 700; letter-spacing: 0; color: var(--kq-text); text-wrap: balance; }
h1 { font-size: clamp(2rem, 4.2vw, 2.75rem); line-height: 1.15; }
h2 { font-size: clamp(1.5rem, 2.6vw, 1.875rem); line-height: 1.25; }
h3 { font-size: 1.375rem; line-height: 1.3; }
p { text-wrap: pretty; }
.kq-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kq-not { font-size: .9375rem; color: var(--kq-sek); }

/* Knappar: få och raka */
.kq-cta { display: flex; flex-wrap: wrap; gap: var(--kq-s3); margin: var(--kq-s5) 0 0; }
.kq-btn { display: inline-flex; align-items: center; min-height: 44px; padding: var(--kq-s2) var(--kq-s5); background: var(--kq-accent); color: var(--kq-vit); border-radius: 3px; text-decoration: none; font: 700 1rem/1.2 var(--kq-font); }
.kq-btn:hover { background: var(--kq-accent-mork); color: var(--kq-vit); }
.kq-btn.is-linje { background: transparent; color: var(--kq-accent); box-shadow: inset 0 0 0 1px var(--kq-accent); }
.kq-btn.is-linje:hover { background: var(--kq-yta); color: var(--kq-accent-mork); }
.kq-annons { font-weight: 400; }

/* Utmärkelse som text */
.kq-utm { margin: 0; font-weight: 700; font-size: 1rem; color: var(--kq-accent); }

/* Tabeller: tunna linjer, högerställda tal */
.kq-tabellyta { overflow-x: auto; margin: var(--kq-s5) 0; }
.kq-tabell { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.45; font-variant-numeric: tabular-nums; }
.kq-tabell caption { text-align: left; padding: 0 0 var(--kq-s3); font-weight: 700; font-size: 1.0625rem; }
.kq-tabell th, .kq-tabell td { text-align: left; vertical-align: top; padding: var(--kq-s3) var(--kq-s4) var(--kq-s3) 0; border-bottom: 1px solid var(--kq-linje); }
.kq-tabell thead th { font-weight: 700; font-size: .9375rem; color: var(--kq-sek); border-bottom: 1px solid var(--kq-text); vertical-align: bottom; }
.kq-tabell tbody th { font-weight: 700; }
.kq-tabell .kq-num { text-align: right; }
.kq-tabell td:last-child, .kq-tabell th:last-child { padding-right: 0; }
.kq-tabellyta .kq-tabell { min-width: 36rem; }
.kq-jamfor { min-width: 52rem !important; }
.kq-jamfor thead th a { color: var(--kq-text); }
.kq-livtabell { min-width: 46rem !important; }
.kq-delbetyg { min-width: 30rem !important; }
.kq-faktatabell th { width: 11rem; font-weight: 400; color: var(--kq-sek); }
@media (max-width: 520px) { .kq-faktatabell th { width: 40%; } }

/* ---------- Sidhuvud: ordbild och en rad meny ---------- */

.kq-header { background: var(--kq-vit); border-bottom: 1px solid var(--kq-linje); padding-top: var(--kq-s4); padding-bottom: var(--kq-s4); }
.kq-header-in { gap: var(--kq-s5); align-items: center; }
.kq-brand { font: 700 1.75rem/1 var(--kq-font); color: var(--kq-text); text-decoration: none; white-space: nowrap; }
.kq-brand:hover { color: var(--kq-text); text-decoration: none; }
.kq-nav .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; padding: var(--kq-s2) var(--kq-s3) !important; color: var(--kq-text); text-decoration: none; font: 600 1rem/1.2 var(--kq-font); }
.kq-nav .wp-block-navigation-item__content:hover { color: var(--kq-accent); text-decoration: underline; text-underline-offset: .3em; }
.kq-nav [aria-current] { color: var(--kq-accent); text-decoration: underline; text-underline-offset: .3em; }
.kq-nav .wp-block-navigation__submenu-container { background: var(--kq-vit) !important; color: var(--kq-text) !important; border: 1px solid var(--kq-linje) !important; padding: var(--kq-s2) 0 !important; min-width: 230px !important; }
.kq-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { width: 100%; padding: var(--kq-s2) var(--kq-s4) !important; }
.kq-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content { padding-right: var(--kq-s1) !important; }
.kq-nav .wp-block-navigation-submenu { align-items: center; }
.kq-nav .wp-block-navigation__submenu-icon { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 6px; margin: 0 var(--kq-s2) 0 0 !important; align-self: center; }
.kq-nav .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; }
.kq-nav-sok .wp-block-navigation-item__content::before { content: ""; width: 1em; height: 1em; margin-right: var(--kq-s1); background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") center / contain no-repeat; }
.kq-nav .wp-block-navigation__responsive-container-open, .kq-nav .wp-block-navigation__responsive-container-close { color: var(--kq-text); }
@media (max-width: 599px) { .kq-nav .wp-block-navigation__responsive-container-open, .kq-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; } }
.kq-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--kq-vit) !important; color: var(--kq-text) !important; padding: var(--kq-s4) var(--kq-s5) var(--kq-s6); }
.kq-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: var(--kq-s8); gap: 0 !important; align-items: stretch !important; }
.kq-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; width: 100%; }
.kq-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; padding: var(--kq-s3) 0 !important; width: 100%; border-bottom: 1px solid var(--kq-linje); }
.kq-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: 0 0 0 var(--kq-s4) !important; }
.kq-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.0625rem; font-weight: 400; padding: var(--kq-s2) 0 !important; }

/* ---------- Sektioner ---------- */

.kq-section { padding-top: var(--kq-s8); padding-bottom: 0; }
.kq-section.is-intro { padding-top: var(--kq-s7); }
.kq-sec-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--kq-s2) var(--kq-s5); padding-bottom: var(--kq-s3); margin-bottom: var(--kq-s5); border-bottom: 1px solid var(--kq-text); }
.kq-sec-title { margin: 0; font-size: clamp(1.5rem, 2.6vw, 1.875rem); }
.kq-sec-link { font-size: 1rem; }
.kq-sec-lede { margin: 0 0 var(--kq-s5); max-width: var(--kq-mat); color: var(--kq-sek); }
.kq-home > :last-child { padding-bottom: var(--kq-s8); }

/* ---------- Startsidan ---------- */

.kq-intro { max-width: 46rem; padding-bottom: var(--kq-s7); }
.kq-intro-t { margin: 0 0 var(--kq-s4); }
.kq-intro-p { margin: 0 0 var(--kq-s3); font-size: 1.25rem; line-height: 1.55; }
.kq-intro-by { margin: 0; color: var(--kq-sek); font-size: 1rem; }

.kq-hl { display: grid; gap: var(--kq-s6) var(--kq-s7); align-items: start; padding-top: var(--kq-s7); border-top: 1px solid var(--kq-linje); }
@media (min-width: 960px) { .kq-hl:has(.kq-hl-bild) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); } }
.kq-hl-bild img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kq-hl-kat { margin: 0 0 var(--kq-s2); color: var(--kq-sek); font-size: 1rem; }
.kq-hl-t { margin: 0 0 var(--kq-s3); font-size: clamp(1.625rem, 3vw, 2.125rem); }
.kq-hl-t a { color: var(--kq-text); text-decoration: none; }
.kq-hl-t a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-hl-ex { margin: 0 0 var(--kq-s3); }
.kq-hl-meta { margin: 0 0 var(--kq-s5); color: var(--kq-sek); font-size: 1rem; }
.kq-hl-tab { margin: 0 0 var(--kq-s5); }
.kq-hl-tab th a { color: var(--kq-text); text-decoration: none; }
.kq-hl-tab th a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-tab-utm { display: block; font-weight: 400; font-size: .9375rem; color: var(--kq-accent); }
.kq-tab-st { width: 56px; padding-top: var(--kq-s2) !important; padding-bottom: var(--kq-s2) !important; }
.kq-stampel { display: block; height: auto; }
.kq-stampel.is-rad { width: 56px; }

/* Listor med jämförelser, guider och artiklar */
.kq-lista, .kq-alista { list-style: none; margin: 0; padding: 0; }
.kq-lrad { border-bottom: 1px solid var(--kq-linje); }
.kq-lrad:first-child .kq-lrad-in { padding-top: 0; }
.kq-lrad-in { display: grid; gap: var(--kq-s4) var(--kq-s6); padding: var(--kq-s5) 0; }
@media (min-width: 700px) { .kq-lrad-in:has(.kq-lrad-bild) { grid-template-columns: minmax(0, 1fr) 12rem; } }
.kq-lrad-t { margin: 0 0 var(--kq-s2); font-size: 1.375rem; }
.kq-lrad-t a, .kq-arad-t a { color: var(--kq-text); text-decoration: none; }
.kq-lrad-t a:hover, .kq-arad-t a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-lrad-ex { margin: 0 0 var(--kq-s2); max-width: var(--kq-mat); }
.kq-lrad-meta { margin: 0; color: var(--kq-sek); font-size: .9375rem; }
.kq-lrad-bild img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kq-lrad-val { margin: var(--kq-s2) 0; display: grid; gap: var(--kq-s1); font-size: 1rem; }
.kq-lrad-val div { display: flex; flex-wrap: wrap; gap: var(--kq-s2); }
.kq-lrad-val dt { color: var(--kq-sek); }
.kq-lrad-val dd { margin: 0; font-weight: 700; }
.kq-arad { padding: var(--kq-s4) 0; border-bottom: 1px solid var(--kq-linje); }
.kq-arad:first-child { padding-top: 0; }
.kq-arad article { max-width: var(--kq-mat); }
.kq-arad-t { margin: 0 0 var(--kq-s1); font-size: 1.25rem; }
.kq-arad-ex { margin: 0 0 var(--kq-s1); color: var(--kq-sek); font-size: 1.0625rem; }
.kq-meta { display: flex; flex-wrap: wrap; gap: 0 var(--kq-s4); margin: 0; font-size: .9375rem; color: var(--kq-sek); }
.kq-meta a { color: var(--kq-sek); }
.kq-sok-betyg { font-weight: 700; color: var(--kq-text); }

/* Så jämför vi och redaktionen */
.kq-tva-in { display: grid; gap: var(--kq-s7); padding-top: var(--kq-s6); border-top: 1px solid var(--kq-text); }
@media (min-width: 960px) { .kq-tva-in { grid-template-columns: 1fr 1fr; gap: var(--kq-s8); } }
.kq-tva-in .kq-sec-title { margin-bottom: var(--kq-s4); }
.kq-arbete p, .kq-red-txt p { margin: 0 0 var(--kq-s4); }
.kq-red { display: grid; gap: var(--kq-s6); }
.kq-red-ruta { padding: var(--kq-s5); background: var(--kq-yta); }
.kq-red-ruta-t { margin: 0 0 var(--kq-s3); font-size: 1.25rem; }
.kq-fragor { margin: 0; padding-left: 1.4rem; display: grid; gap: var(--kq-s3); font-size: 1.0625rem; }

/* Artikelkort (Mer att läsa): utan ram och skugga */
.kq-cards { display: grid; gap: var(--kq-s6); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.kq-card { position: relative; display: flex; flex-direction: column; gap: var(--kq-s3); }
.kq-card-img { display: block; }
.kq-card-img img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kq-card-img:empty { display: none; }
.kq-card-body { display: flex; flex-direction: column; gap: var(--kq-s2); }
.kq-card-title { margin: 0; font-size: 1.25rem; }
.kq-card-title a { color: var(--kq-text); text-decoration: none; }
.kq-card-title a::after { content: ""; position: absolute; inset: 0; }
.kq-card:hover .kq-card-title a { color: var(--kq-accent); text-decoration: underline; }
.kq-card .kq-meta { position: relative; z-index: 1; }
.kq-card-ex { margin: 0; color: var(--kq-sek); font-size: 1rem; line-height: 1.55; }

/* Bedömning som kort (i artiklar) */
.kq-kortrad { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kq-s5); grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.kq-kort { position: relative; height: 100%; padding-top: var(--kq-s4); border-top: 1px solid var(--kq-text); display: flex; flex-direction: column; gap: var(--kq-s2); }
.kq-kort-omr { margin: 0; color: var(--kq-sek); font-size: .9375rem; }
.kq-kort-t { margin: 0; font-size: 1.1875rem; padding-right: 64px; }
.kq-kort-t a { color: var(--kq-text); text-decoration: none; }
.kq-kort-t a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-kort-b, .kq-kort-p { margin: 0; font-size: 1rem; }
.kq-kort-p span, .kq-grad-p span, .kq-grad-g span, .kq-produkt-p span { color: var(--kq-sek); }
.kq-stampel.is-kort { position: absolute; top: var(--kq-s4); right: 0; width: 56px; }

/* ---------- Långa sidor ---------- */

.kq-article-head { padding-top: var(--kq-s7); padding-bottom: var(--kq-s5); }
.kq-head-in { max-width: 46rem; }
.kq-smulor ol { list-style: none; margin: 0 0 var(--kq-s4); padding: 0; display: flex; flex-wrap: wrap; gap: 0 var(--kq-s2); font-size: .9375rem; color: var(--kq-sek); }
.kq-smulor li + li::before { content: "/"; margin-right: var(--kq-s2); color: var(--kq-linje-mork); }
.kq-smulor a { display: inline-block; padding: var(--kq-s1) 0; color: var(--kq-sek); }
.kq-article-title, .kq-lang-titel { margin: 0; max-width: 24ch; font-size: clamp(2rem, 4.2vw, 2.75rem) !important; line-height: 1.15 !important; font-weight: 700 !important; }
.kq-dek { margin: var(--kq-s4) 0 0; font-size: 1.25rem; line-height: 1.55; color: var(--kq-sek); max-width: var(--kq-mat); }
.kq-dek p { margin: 0; }
.kq-underlag { margin: var(--kq-s4) 0 0; max-width: var(--kq-mat); font-size: 1rem; }
.kq-byline { margin: var(--kq-s4) 0 0; font-size: 1rem; color: var(--kq-sek); }
.kq-figure { margin-top: var(--kq-s5) !important; }
.kq-hero-img, .kq-lang-bild { margin: 0; }
.kq-hero-img img, .kq-lang-bild img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; display: block; }

.kq-read { display: grid; gap: var(--kq-s6); padding-top: var(--kq-s7); padding-bottom: var(--kq-s8); }
@media (min-width: 1040px) { .kq-read { grid-template-columns: 14rem minmax(0, 1fr); gap: var(--kq-s8); } .kq-read.is-page { grid-template-columns: minmax(0, 1fr); } }
.kq-read-main, .kq-rail { min-width: 0; }
.kq-toc { position: sticky; top: var(--kq-s5); }
.kq-toc-t { margin: 0 0 var(--kq-s2); font-weight: 700; font-size: 1rem; }
.kq-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--kq-linje); }
.kq-toc a { display: block; padding: var(--kq-s2) 0 var(--kq-s2) var(--kq-s3); min-height: 24px; border-bottom: 1px solid var(--kq-linje); color: var(--kq-text); text-decoration: none; font-size: .9375rem; line-height: 1.35; }
.kq-toc a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-toc a.is-aktiv { color: var(--kq-accent); box-shadow: inset 2px 0 0 var(--kq-accent); }
@media (max-width: 1039px) { .kq-toc { position: static; } .kq-rail:empty { display: none; } }

.kq-body { line-height: 1.65; }
.kq-body > * { max-width: var(--kq-mat); }
.kq-body h2, .kq-kapsek h2, .kq-vartval > h2, .kq-ovriga > h2 { margin: var(--kq-s7) 0 var(--kq-s4); font-size: clamp(1.5rem, 2.6vw, 1.875rem); scroll-margin-top: var(--kq-s5); }
.kq-body > h2:first-child, .kq-vartval > h2 { margin-top: 0; }
.kq-body h3 { margin: var(--kq-s6) 0 var(--kq-s2); font-size: 1.25rem; }
.kq-body ul, .kq-body ol { padding-left: 1.3rem; }
.kq-body li { margin: var(--kq-s2) 0; }
.kq-body strong { font-weight: 700; }
.kq-body blockquote { margin: var(--kq-s6) 0; padding-left: var(--kq-s5); border-left: 2px solid var(--kq-text); font-style: italic; }
.kq-fakta { margin: var(--kq-s6) 0; padding: var(--kq-s5); background: var(--kq-yta); }
.kq-fakta-t { margin: 0 0 var(--kq-s2); font-weight: 700; }
.kq-fakta ul { margin: 0; padding-left: 1.3rem; }
.kq-fakta li { margin: var(--kq-s1) 0; line-height: 1.55; }
.kq-innehall { display: none; }
.kq-ansvar { margin: var(--kq-s7) 0 0; padding-top: var(--kq-s4); max-width: var(--kq-mat); border-top: 1px solid var(--kq-linje); font-size: 1rem; color: var(--kq-sek); }
.kq-ansvar-t { margin: 0 0 var(--kq-s1); font-weight: 700; color: var(--kq-text); }
.kq-ansvar p:last-child { margin: 0; }
.kq-author { margin: var(--kq-s6) 0 0; padding-top: var(--kq-s4); max-width: var(--kq-mat); border-top: 1px solid var(--kq-linje); font-size: 1rem; }
.kq-author-name { margin: 0; font-weight: 700; }
.kq-author-bio { margin: var(--kq-s1) 0 0; color: var(--kq-sek); }
.kq-more { padding-bottom: var(--kq-s8); }
.kq-more > .kq-sec-title, .kq-lankade > .kq-sec-title { margin: 0 0 var(--kq-s5); padding-bottom: var(--kq-s3); border-bottom: 1px solid var(--kq-text); }
.kq-lankade { margin-bottom: var(--kq-s7); }
.kq-page-body > .kq-lista, .kq-page-body > .kq-alista, .kq-page-body > .kq-chips, .kq-page-body > .kq-tabellyta { max-width: 58rem; }
.kq-body .kq-lista, .kq-body .kq-alista { padding: 0; }
.kq-body .kq-lrad, .kq-body .kq-arad { margin: 0; }
.kq-body .kq-lrad-t, .kq-body .kq-arad-t { margin-top: 0; }

/* ---------- Bedömningen ---------- */

.kq-sida { padding-bottom: 0; }
.kq-lang { max-width: 1200px; margin: 0 auto; }
.kq-lang-head { padding: var(--kq-s7) 0 var(--kq-s5); max-width: 46rem; }
.kq-lang-bild { margin: 0 0 var(--kq-s2); }
.kq-reklam { margin: var(--kq-s4) 0 0; font-size: .875rem; color: var(--kq-sek); }

/* Vårt omdöme */
.kq-dom { max-width: 46rem; padding: var(--kq-s5) var(--kq-s6); background: var(--kq-yta); border-top: 2px solid var(--kq-text); }
@media (max-width: 600px) { .kq-dom { padding: var(--kq-s5) var(--kq-s4); } }
.kq-dom-topp { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--kq-s5); margin-bottom: var(--kq-s4); }
.kq-dom-t { margin: 0 0 var(--kq-s2); font-size: 1.375rem; }
.kq-dom-tot { margin: 0 0 var(--kq-s2); display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--kq-s1) var(--kq-s4); }
.kq-dom-tot strong { font-size: 2rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.kq-dom-tot span { color: var(--kq-sek); font-size: 1rem; }
.kq-dom-st { flex: none; }
.kq-dom-st a { display: block; border-radius: 50%; }
.kq-stampel.is-dom { width: 120px; }
@media (max-width: 520px) { .kq-stampel.is-dom { width: 88px; } }
.kq-dom .kq-faktatabell { margin: 0 0 var(--kq-s5); }
.kq-dom .kq-faktatabell th, .kq-dom .kq-faktatabell td { border-color: var(--kq-linje-mork); }
.kq-forimot { display: grid; gap: var(--kq-s4) var(--kq-s6); margin: 0 0 var(--kq-s4); }
@media (min-width: 640px) { .kq-forimot { grid-template-columns: 1fr 1fr; } }
.kq-forimot-t { margin: 0 0 var(--kq-s2) !important; font-size: 1.0625rem !important; }
.kq-forimot ul { margin: 0; padding-left: 1.2rem; }
.kq-forimot li { margin: var(--kq-s1) 0; font-size: 1.0625rem; line-height: 1.5; }
.kq-dom-typ { margin: 0; font-size: .9375rem; color: var(--kq-sek); }
.kq-dom-lank { margin: var(--kq-s4) 0 0; }

.kq-kapsek { max-width: var(--kq-mat); }
.kq-kapsek .kq-tabellyta { max-width: none; }
.kq-livs-betyg { margin: 0 0 var(--kq-s3); }
.kq-kallor { padding-left: 1.4rem; }
.kq-kallor li { margin: var(--kq-s2) 0; line-height: 1.5; font-size: 1.0625rem; }
.kq-kallor a { overflow-wrap: anywhere; }

/* ---------- Topplistan ---------- */

.kq-vartval { padding-bottom: var(--kq-s5); }
.kq-produkt { position: relative; max-width: var(--kq-mat); padding: var(--kq-s5) 0; border-bottom: 1px solid var(--kq-linje); }
.kq-vartval .kq-produkt { padding-top: 0; border-bottom: 0; }
.kq-produkt-t { margin: 0 0 var(--kq-s2) !important; font-size: 1.5rem !important; scroll-margin-top: var(--kq-s5); }
.kq-produkt-nr { color: var(--kq-sek); font-weight: 400; }
.kq-produkt .kq-utm { margin-bottom: var(--kq-s3); }
.kq-produkt-betyg { display: flex; flex-wrap: wrap; gap: var(--kq-s1) var(--kq-s5); margin: 0 0 var(--kq-s3); font-size: 1rem; color: var(--kq-sek); }
.kq-produkt-betyg strong { color: var(--kq-text); font-variant-numeric: tabular-nums; }
.kq-produkt-ex { margin: 0 0 var(--kq-s4); }
.kq-produkt .kq-tabellyta { margin: 0 0 var(--kq-s5); }
.kq-produkt-p { margin: 0 0 var(--kq-s3); font-size: 1.0625rem; }
.kq-produkt-lank { margin: 0; font-weight: 700; }
.kq-produkt-st { float: right; margin: 0 0 var(--kq-s4) var(--kq-s5); }
.kq-produkt-st .kq-stampel { width: 112px; }
@media (max-width: 520px) { .kq-produkt-st .kq-stampel { width: 80px; } }
.kq-produkt.is-vinnare .kq-produkt-t { padding-right: 0; }
.kq-kopguide { margin-top: var(--kq-s4); }

/* ---------- Kategorier ---------- */

.kq-arkivsida { padding-bottom: var(--kq-s8); }
.kq-omr-head { padding: var(--kq-s7) 0 var(--kq-s5); max-width: 46rem; }
.kq-arch-title { margin: 0; font-size: clamp(2rem, 4.2vw, 2.75rem); line-height: 1.15; }
.kq-omr-intro { margin-top: var(--kq-s4); color: var(--kq-sek); }
.kq-omr-intro p { margin: 0 0 var(--kq-s3); }
.kq-omr-grid { display: grid; gap: var(--kq-s7); }
@media (min-width: 1000px) { .kq-omr-grid { grid-template-columns: minmax(0, 1fr) 18rem; gap: var(--kq-s8); } }
.kq-omr-sek { margin: 0 0 var(--kq-s7); }
.kq-omr-sek.is-arkiv { max-width: 52rem; }
.kq-omr-t { margin: 0 0 var(--kq-s4); padding-bottom: var(--kq-s3); border-bottom: 1px solid var(--kq-text); font-size: clamp(1.5rem, 2.6vw, 1.875rem); }
.kq-omr-t a { color: var(--kq-text); text-decoration: none; }
.kq-omr-t a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-omr-t.is-liten { font-size: 1.125rem; padding-bottom: var(--kq-s2); border-bottom-color: var(--kq-linje); }
.kq-omr-guide h3 { margin: 0 0 var(--kq-s2); font-size: 1.375rem; }
.kq-omr-guide h3 a { color: var(--kq-text); text-decoration: none; }
.kq-omr-guide h3 a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-omr-guide p { margin: 0 0 var(--kq-s2); }
.kq-omr-not { margin: 0 0 var(--kq-s4); color: var(--kq-sek); font-size: 1rem; }
.kq-glista { list-style: none; margin: 0; padding: 0; }
.kq-grad { border-bottom: 1px solid var(--kq-linje); }
.kq-grad-in { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--kq-s4); padding: var(--kq-s5) 0; }
.kq-grad-marg { display: grid; gap: var(--kq-s3); justify-items: start; align-content: start; }
.kq-grad-b { margin: 0; font-size: 1rem; line-height: 1.2; color: var(--kq-sek); }
.kq-grad-b .kq-tal { display: block; font-size: 1.75rem; font-weight: 700; color: var(--kq-text); font-variant-numeric: tabular-nums; }
.kq-grad-b .kq-av { font-size: .9375rem; }
.kq-grad-txt { display: grid; gap: var(--kq-s1); justify-items: start; }
.kq-grad-t { margin: 0; font-size: 1.25rem; }
.kq-grad-t a { color: var(--kq-text); text-decoration: none; }
.kq-grad-t a:hover { color: var(--kq-accent); text-decoration: underline; }
.kq-grad-p, .kq-grad-g { margin: 0; font-size: 1.0625rem; }
.kq-omr-side { align-self: start; }
.kq-omr-andel { margin: 0 0 var(--kq-s4); font-size: 1rem; }
.kq-vikter { margin: 0 0 var(--kq-s6); }
.kq-omr-nav ul { list-style: none; margin: 0; padding: 0; }
.kq-omr-nav a { display: inline-block; padding: var(--kq-s1) 0; }

/* ---------- Stämpelsidan ---------- */

.kq-stampel-fig { margin: var(--kq-s6) 0; max-width: var(--kq-mat); }
.kq-stampel-stor { width: min(280px, 70vw); }
.kq-stampel-fig figcaption { margin-top: var(--kq-s2); color: var(--kq-sek); font-size: .9375rem; }
.kq-ladda { list-style: none; padding: 0 !important; margin: var(--kq-s4) 0; }
.kq-ladda li { margin: 0 0 var(--kq-s2) !important; }
.kq-ladda a { display: inline-block; padding: var(--kq-s1) 0; }
.kq-body .kq-tabellyta { max-width: none; }

/* ---------- Arkiv, sök, chips ---------- */

.kq-arch-head { max-width: 46rem; }
.kq-arch-desc { margin: var(--kq-s4) 0 0; color: var(--kq-sek); }
.kq-arch-count { margin: var(--kq-s3) 0 0; font-size: 1rem; color: var(--kq-sek); }
.kq-search-form { margin: var(--kq-s5) 0 0; max-width: 34rem; }
.kq-search-label { display: block; margin: 0 0 var(--kq-s2); font-weight: 700; font-size: 1rem; }
.kq-search-form div { display: flex; gap: var(--kq-s2); }
.kq-search-form input { flex: 1 1 auto; min-width: 0; min-height: 44px; padding: var(--kq-s2) var(--kq-s3); font: 400 1.0625rem/1.2 var(--kq-font); color: var(--kq-text); background: var(--kq-vit); border: 1px solid #8A8780; border-radius: 3px; }
.kq-search-form button { min-height: 44px; padding: var(--kq-s2) var(--kq-s5); border: 0; border-radius: 3px; background: var(--kq-accent); color: var(--kq-vit); font: 700 1rem/1.2 var(--kq-font); cursor: pointer; }
.kq-search-form button:hover { background: var(--kq-accent-mork); }
.kq-chips { margin-bottom: var(--kq-s6); }
.kq-chips ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--kq-s2) var(--kq-s5); }
.kq-chips a { display: inline-block; padding: var(--kq-s1) 0; font-weight: 700; }
.kq-chips a span { font-weight: 400; color: var(--kq-sek); }
.kq-pages { margin-top: var(--kq-s6); }
.kq-pages ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--kq-s2); }
.kq-pages a, .kq-pages span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: var(--kq-s1) var(--kq-s3); border: 1px solid var(--kq-linje); }
.kq-pages .current { background: var(--kq-text); color: var(--kq-vit); border-color: var(--kq-text); }
.kq-empty { max-width: var(--kq-mat); }
.kq-section.is-tight { padding-top: var(--kq-s5); padding-bottom: var(--kq-s8); }

/* ---------- 404 ---------- */

.kq-404-in { max-width: 46rem; padding: var(--kq-s8) 0; }
.kq-404-title { margin: 0; }

/* ---------- Sidfot ---------- */

.kq-footer { background: var(--kq-yta); border-top: 1px solid var(--kq-linje); padding-top: var(--kq-s7); padding-bottom: var(--kq-s6); margin-top: 0; font-size: 1rem; }
.kq-footer-grid { display: grid; gap: var(--kq-s6); }
@media (min-width: 900px) { .kq-footer-grid { grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); } }
.kq-footer-brand { margin: 0 0 var(--kq-s3); font-weight: 700; font-size: 1.375rem; }
.kq-footer-about > p { margin: 0 0 var(--kq-s3); max-width: 30rem; }
.kq-footer-rub { margin: 0 0 var(--kq-s2); font-size: 1rem; }
.kq-footer-col ul { list-style: none; margin: 0; padding: 0; }
.kq-footer-col a { display: inline-block; padding: var(--kq-s1) 0; color: var(--kq-text); }
.kq-footer-col a:hover { color: var(--kq-accent); }
.kq-footer-col p { margin: var(--kq-s2) 0 0; }
.kq-footer-not { margin: var(--kq-s6) 0 0; padding-top: var(--kq-s4); border-top: 1px solid var(--kq-linje); max-width: 52rem; color: var(--kq-sek); font-size: .9375rem; }
.kq-footer-copy { margin: var(--kq-s3) 0 0; color: var(--kq-sek); font-size: .9375rem; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Brödtextens vikt: föräldratemat sätter 300, som är för tunt för läsning. */
body, p, li, dd, dt, td, figcaption, blockquote, .wp-block-post-excerpt__excerpt { font-weight: 400; }
