/*
Theme Name: Friluftstestet
Theme URI: https://friluftstestet.se/
Description: Barntema till Twenty Twenty-Five för Friluftstestet, jämförelser av friluftsutrustning. Lugn och lättläst: vit sida, blåbär i rubrikerna, hjortron som liten markering, Gabarito och Merriweather.
Author: Friluftstestet
Template: twentytwentyfive
Version: 2.0.0
Text Domain: fl-fjall
*/

:root {
	--fl-text: #1C1A26;
	--fl-svag: #4F4C5E;
	--fl-blabar: #2B2566;
	--fl-lank: #3A31A0;
	--fl-hjortron: #F29A2E;
	--fl-yta: #F5F4F9;
	--fl-yta-2: #ECEAF3;
	--fl-linje: #DCDAE6;
	--fl-linje-stark: #A9A6BD;
	--fl-plus: #1E6B3C;
	--fl-minus: #A3203F;
	--fl-disp: Gabarito, 'Helvetica Neue', Arial, sans-serif;
	--fl-serif: Merriweather, Georgia, 'Times New Roman', serif;
	--fl-bredd: 1200px;
	--fl-spalt: 680px;
	--fl-s1: 4px; --fl-s2: 8px; --fl-s3: 12px; --fl-s4: 16px; --fl-s5: 24px; --fl-s6: 32px; --fl-s7: 48px; --fl-s8: 64px; --fl-s9: 96px;

	/* Flow Testbank */
	--ft-accent: #2B2566;
	--ft-pa-accent: #FFFFFF;
	--ft-yta: #F5F4F9;
	--ft-bakgrund: #FFFFFF;
	--ft-text: #1C1A26;
	--ft-text-svag: #4F4C5E;
	--ft-kant: #DCDAE6;
	--ft-radie: 3px;
	--ft-font-rubrik: Gabarito, 'Helvetica Neue', Arial, sans-serif;
	--ft-vinnare: #F29A2E;
	--ft-pa-vinnare: #1C1A26;
	--ft-plus: #1E6B3C;
	--ft-minus: #A3203F;
	--ft-mellanrum: 1.5rem;
	--ft-vinnare-text: #1C1A26;
	--ft-metod-yta: #FFFFFF;
	--ft-metod-text: #1C1A26;
	--ft-bild-ratio: 4 / 3;
	--ft-guidebild-ratio: 2 / 1;
}

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

html { scroll-padding-top: 1.5rem; }
body {
	background: #FFFFFF;
	color: var(--fl-text);
	font-family: var(--fl-serif);
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
@media (min-width: 782px) { body { font-size: 1.125rem; } }
::selection { background: #FBD9AE; color: var(--fl-text); }
a { color: var(--fl-lank); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--fl-blabar); text-decoration-thickness: 2px; }
:where(a, button, input, summary, [tabindex]):focus-visible { outline: 3px solid var(--fl-lank); outline-offset: 2px; border-radius: 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: .75rem; left: .75rem;
	padding: .75rem 1rem; background: #FFFFFF; color: var(--fl-blabar); outline: 3px solid var(--fl-lank);
	font: 600 1rem/1.2 var(--fl-disp);
}
h1, h2, h3, h4, h5, h6 { font-family: var(--fl-disp); color: var(--fl-blabar); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(2rem, 4.2vw, 2.75rem); line-height: 1.12; }
h2 { font-size: clamp(1.5rem, 2.6vw, 1.875rem); }
h3 { font-size: clamp(1.1875rem, 1.8vw, 1.375rem); }
h4 { font-size: 1.0625rem; }
p { text-wrap: pretty; }
body, p, li, dd, td, .fl-ingress, .fl-dek, .fl-intro-text, .ft-arkiv__ingress, .ft-arkiv__intro, .fl-arch-desc { font-weight: 400; }
p, li, dd, td { color: inherit; }
:where(table) { font-variant-numeric: tabular-nums; }

/* Små texter i Gabarito: meta, etiketter, uppdaterad. */
.fl-meta, .fl-uppdaterad, .fl-byline, .fl-kicker {
	margin: 0 0 var(--fl-s2);
	font: 400 .9375rem/1.5 var(--fl-disp);
	color: var(--fl-svag);
}
.fl-meta a, .fl-kicker a { color: var(--fl-svag); }
.fl-meta a:hover, .fl-kicker a:hover { color: var(--fl-blabar); }
.fl-kicker { font-weight: 500; }
.fl-ingress { margin: var(--fl-s3) 0 var(--fl-s4); max-width: var(--fl-spalt); font-size: 1.1875rem; line-height: 1.6; color: var(--fl-text); }
@media (min-width: 782px) { .fl-ingress { font-size: 1.25rem; } }
.fl-tal { font-family: var(--fl-disp); font-variant-numeric: tabular-nums; }

/* Utmärkelse: rak etikett. Bäst i test får hjortron, övriga en ljus yta. */
.fl-utm, .ft-markning--utmarkelse, .ft-markning--vinnare {
	display: inline-block; width: fit-content; margin: 0 0 var(--fl-s2); padding: 2px 8px;
	background: var(--fl-yta-2); color: var(--fl-blabar); border-radius: 2px;
	font: 600 .875rem/1.45 var(--fl-disp);
}
.fl-utm.is-vinnare, .ft-markning--vinnare { background: var(--fl-hjortron); color: var(--fl-text); }

/* Underlaget (testtyp) som länk i små bokstäver. */
a.fl-typ, span.fl-typ { margin-left: var(--fl-s2); font: 400 .9375rem/1.4 var(--fl-disp); color: var(--fl-svag); }
a.fl-typ:hover { color: var(--fl-blabar); }

/* ---------- Sidhuvud ---------- */

.fl-header { background: #FFFFFF; border-bottom: 1px solid var(--fl-linje); padding-top: var(--fl-s3); padding-bottom: var(--fl-s3); position: relative; z-index: 20; }
.fl-header-in { gap: var(--fl-s5); min-height: 48px; }
.fl-brand { display: inline-flex; align-items: center; min-height: 44px; font: 700 1.625rem/1 var(--fl-disp); letter-spacing: -.02em; color: var(--fl-blabar); text-decoration: none; }
.fl-brand:hover { color: var(--fl-blabar); text-decoration: none; }
.fl-nav { font-family: var(--fl-disp); }
.fl-nav .wp-block-navigation-item__content {
	display: inline-flex; align-items: center; min-height: 44px; padding: var(--fl-s2) var(--fl-s3) !important;
	color: var(--fl-text); text-decoration: none; font-size: 1rem; font-weight: 500;
}
.fl-nav .wp-block-navigation-item__content:hover { color: var(--fl-blabar); text-decoration: underline; text-underline-offset: .3em; }
.fl-nav [aria-current] { text-decoration: underline; text-decoration-color: var(--fl-hjortron); text-decoration-thickness: 3px; text-underline-offset: .45em; }
.fl-nav .wp-block-navigation__submenu-icon { width: 24px; height: 24px; padding: 4px; margin-left: 0; }
.fl-nav .wp-block-navigation__submenu-container {
	background: #FFFFFF !important; color: var(--fl-text) !important; border: 1px solid var(--fl-linje) !important;
	border-radius: 0; padding: var(--fl-s2) 0 !important; min-width: 220px !important;
}
.fl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { width: 100%; padding: var(--fl-s2) var(--fl-s4) !important; }
.fl-nav .wp-block-navigation__responsive-container-open,
.fl-nav .wp-block-navigation__responsive-container-close { width: 48px; height: 48px; align-items: center; justify-content: center; color: var(--fl-text); }
.fl-nav .wp-block-navigation__responsive-container-close { display: inline-flex; }
@media (max-width: 599px) { .fl-nav .wp-block-navigation__responsive-container-open { display: inline-flex; } }
.fl-nav .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; }
.fl-nav .wp-block-navigation__responsive-container.is-menu-open { background: #FFFFFF !important; color: var(--fl-text) !important; padding: var(--fl-s4) clamp(1rem, 5vw, 2rem) var(--fl-s6); }
.fl-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: var(--fl-s8); align-items: stretch !important; }
.fl-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; width: 100%; }
.fl-nav .is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--fl-linje); }
.fl-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.1875rem; padding: var(--fl-s3) 0 !important; width: 100%; }
.fl-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: 0 0 var(--fl-s2) var(--fl-s4) !important; }
.fl-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.fl-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.0625rem; padding: var(--fl-s2) 0 !important; }

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

.fl-home > *, .fl-single > *, .fl-page > *, .fl-archive > *, .fl-vy > *, .fl-404 > * { margin-block-start: 0; }
.fl-section { padding-block: var(--fl-s7); border-top: 1px solid var(--fl-linje); }
.fl-section.is-intro, .fl-section.is-tight { border-top: 0; }
.fl-section.is-tight { padding-top: var(--fl-s6); }
.fl-band { padding-block: var(--fl-s7); background: var(--fl-yta); }
.fl-sec-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--fl-s2) var(--fl-s5); margin: 0 0 var(--fl-s5); }
.fl-sec-title { margin: 0; font-size: clamp(1.5rem, 2.6vw, 1.875rem); }
.fl-sec-link { font: 500 1rem/1.4 var(--fl-disp); }
.fl-sec-text { margin: calc(var(--fl-s5) * -0.5) 0 var(--fl-s5); max-width: var(--fl-spalt); }
.fl-mer { margin: var(--fl-s5) 0 0; font: 500 1rem/1.4 var(--fl-disp); }

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

.fl-section.is-intro { padding-top: var(--fl-s7); padding-bottom: var(--fl-s7); }
.fl-intro { max-width: 760px; }
.fl-intro-title { margin: 0 0 var(--fl-s4); }
.fl-intro-text { margin: 0 0 var(--fl-s3); max-width: var(--fl-spalt); font-size: 1.1875rem; }
.fl-intro .fl-uppdaterad { margin-bottom: var(--fl-s5); }

.fl-search-form { margin: 0; max-width: 560px; }
.fl-search-label { display: block; margin: 0 0 var(--fl-s2); font: 600 .9375rem/1.4 var(--fl-disp); color: var(--fl-text); }
.fl-search-rad { display: flex; }
.fl-search-form input[type="search"] {
	flex: 1; min-width: 0; min-height: 48px; padding: 0 var(--fl-s4);
	border: 1px solid var(--fl-linje-stark); border-right: 0; border-radius: 3px 0 0 3px; background: #FFFFFF;
	font: 400 1rem/1.4 var(--fl-disp); color: var(--fl-text);
}
.fl-search-form input::placeholder { color: #6B6880; }
.fl-search-form button {
	min-height: 48px; padding: 0 var(--fl-s5); border: 1px solid var(--fl-blabar); border-radius: 0 3px 3px 0;
	background: var(--fl-blabar); color: #FFFFFF; font: 600 1rem/1 var(--fl-disp); cursor: pointer;
}
.fl-search-form button:hover { background: #1C1847; }

.fl-bastnu { list-style: none; margin: 0; padding: 0; }
.fl-bastnu-rad { display: grid; gap: var(--fl-s4) var(--fl-s6); padding: var(--fl-s5) 0; border-top: 1px solid var(--fl-linje); }
.fl-bastnu-rad:first-child { border-top: 0; padding-top: 0; }
@media (min-width: 720px) { .fl-bastnu-rad:not(.utan-bild) { grid-template-columns: 320px minmax(0, 1fr); } }
.fl-bastnu-bild img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.fl-bastnu-titel { margin: 0 0 var(--fl-s2); }
.fl-bastnu-titel a, .fl-pel-t a, .fl-card-title a, .fl-kat-t a, .fl-listkort-t a, .fl-traff-t a { color: var(--fl-blabar); text-decoration: none; }
.fl-bastnu-titel a:hover, .fl-pel-t a:hover, .fl-card-title a:hover, .fl-kat-t a:hover, .fl-listkort-t a:hover, .fl-traff-t a:hover { text-decoration: underline; }
.fl-bastnu-ex { margin: 0 0 var(--fl-s3); max-width: var(--fl-spalt); }
.fl-bastnu-vinnare { margin: 0; font: 400 1rem/1.6 var(--fl-disp); }
.fl-bastnu-vinnare .fl-utm { margin: 0 var(--fl-s2) 0 0; }
.fl-bastnu-vinnare .fl-tal { margin-left: var(--fl-s1); }

.fl-katlista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--fl-s5) var(--fl-s6); }
@media (min-width: 720px) { .fl-katlista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fl-kat { padding-top: var(--fl-s4); border-top: 1px solid var(--fl-linje-stark); }
.fl-kat-t { margin: 0 0 var(--fl-s2); }
.fl-kat p { margin: 0 0 var(--fl-s2); font-size: 1rem; }
.fl-kat-vikt { font: 400 .9375rem/1.5 var(--fl-disp) !important; color: var(--fl-svag); }
.fl-kat-guide { font: 500 1rem/1.5 var(--fl-disp) !important; }

.fl-pelare { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--fl-s6) var(--fl-s5); grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.fl-pel-bild { display: block; margin-bottom: var(--fl-s3); }
.fl-pel-bild img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.fl-pel-t { margin: 0 0 var(--fl-s2); font-size: 1.1875rem; }
.fl-pel-e { margin: 0; font-size: 1rem; }

.fl-tre { display: grid; gap: var(--fl-s5) var(--fl-s6); }
@media (min-width: 782px) { .fl-tre { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fl-tre h3 { margin: 0 0 var(--fl-s2); }
.fl-tre p { margin: 0; font-size: 1rem; }

.fl-tva { display: grid; gap: var(--fl-s6) var(--fl-s8); }
@media (min-width: 782px) { .fl-tva { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fl-tva .fl-sec-title { margin-bottom: var(--fl-s4); }
.fl-tva p { margin: 0 0 var(--fl-s3); }
.fl-regler { margin: 0; padding-left: 1.2em; }
.fl-regler li { margin: 0 0 var(--fl-s2); }

/* ---------- Kort och listor ---------- */

.fl-cards { display: grid; gap: var(--fl-s6) var(--fl-s5); grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.fl-card-img { display: block; margin-bottom: var(--fl-s3); }
.fl-card-img img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.fl-card-title { margin: 0 0 var(--fl-s2); font-size: 1.1875rem; }
.fl-card-ex { margin: 0; font-size: 1rem; }

.fl-tabell-enkel { width: 100%; border-collapse: collapse; font: 400 1rem/1.45 var(--fl-disp); font-variant-numeric: tabular-nums; }
.fl-tabell-enkel caption { caption-side: top; text-align: left; padding: 0 0 var(--fl-s2); font-weight: 600; color: var(--fl-text); }
.fl-tabell-enkel th, .fl-tabell-enkel td { padding: var(--fl-s3) var(--fl-s3) var(--fl-s3) 0; border-bottom: 1px solid var(--fl-linje); text-align: left; vertical-align: top; }
.fl-tabell-enkel thead th { padding-top: 0; border-bottom: 1px solid var(--fl-linje-stark); font-size: .9375rem; font-weight: 600; color: var(--fl-svag); }
.fl-tabell-enkel tbody th { font-weight: 500; }
.fl-tabell-enkel tbody th a { font-weight: 600; }
.fl-tabell-enkel .is-tal { text-align: right; white-space: nowrap; }
.fl-tabell-enkel th:last-child, .fl-tabell-enkel td:last-child { padding-right: 0; }
@media (max-width: 599px) { .fl-tabell-enkel .is-dold-smal { display: none; } }

/* ---------- Brödsmulor och reklamrad ---------- */

.ft-brodsmulor { margin: 0 0 var(--fl-s4); }
.ft-brodsmulor__lista { display: flex; flex-wrap: wrap; gap: 0 var(--fl-s2); margin: 0; padding: 0; list-style: none; font: 400 .9375rem/1.5 var(--fl-disp); }
.ft-brodsmulor__del + .ft-brodsmulor__del::before { content: "/"; content: "/" / ""; margin-right: var(--fl-s2); color: var(--fl-linje-stark); }
.ft-brodsmulor a { display: inline-block; padding: var(--fl-s1) 0; color: var(--fl-svag); }
.ft-brodsmulor a[aria-current="page"] { color: var(--fl-text); text-decoration: none; }
.fl-reklam { margin: 0 0 var(--fl-s5); padding: 0 0 var(--fl-s3); border-bottom: 1px solid var(--fl-linje); font: 400 .875rem/1.5 var(--fl-disp); color: var(--fl-svag); }
.fl-reklam a { color: var(--fl-svag); }

/* ---------- Produktsidan och topplistan ---------- */

.fl-vy { padding-top: var(--fl-s6); padding-bottom: var(--fl-s8); }
.fl-vy .ft-block--mallvy { max-width: var(--fl-bredd); }
.fl-sidhuvud { max-width: 820px; margin-bottom: var(--fl-s6); }
.fl-sidtitel { margin: 0 0 var(--fl-s3); }
.fl-sidhuvud .fl-uppdaterad { margin: var(--fl-s3) 0 0; }
.fl-underlag { margin: 0 0 var(--fl-s2); max-width: var(--fl-spalt); font: 400 1rem/1.55 var(--fl-disp); color: var(--fl-text); }

.fl-produkt-grid { display: grid; gap: var(--fl-s6) var(--fl-s8); }
@media (min-width: 1000px) {
	.fl-produkt-grid { grid-template-columns: minmax(0, var(--fl-spalt)) minmax(300px, 360px); align-items: start; }
	.fl-omdome { grid-column: 2; grid-row: 1; position: sticky; top: var(--fl-s5); }
	.fl-produkt-main { grid-column: 1; grid-row: 1; }
}
.fl-omdome { padding: var(--fl-s5); background: var(--fl-yta); }
.fl-omdome-topp { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--fl-s4); }
.fl-omdome-t { margin: 0 0 var(--fl-s2); font-size: 1.125rem; color: var(--fl-text); }
.fl-omdome-betyg { margin: 0 0 var(--fl-s3); font-family: var(--fl-disp); line-height: 1; }
.fl-omdome-tal { font-size: 3rem; font-weight: 700; color: var(--fl-blabar); font-variant-numeric: tabular-nums; }
.fl-omdome-av { font-size: 1.125rem; color: var(--fl-svag); }
.fl-omdome .fl-utm { margin: 0; }
.fl-stampel { display: block; flex: none; line-height: 0; }
.fl-stampel img { display: block; width: 100%; height: auto; }
.fl-stampel.is-omdome { width: 120px; margin: -8px -4px 0 0; }
.fl-omdome .fl-underlag { margin: var(--fl-s4) 0; font-size: .9375rem; }
.fl-omdome .fl-underlag strong { color: var(--fl-text); }
.fl-provad { display: inline-block; padding: 0 6px; border: 1px solid var(--fl-plus); color: var(--fl-plus); font-weight: 600; }
.fl-fakta-lista { margin: 0; font: 400 1rem/1.45 var(--fl-disp); }
.fl-fakta-lista > div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: var(--fl-s3); padding: var(--fl-s2) 0; border-top: 1px solid var(--fl-linje); }
.fl-fakta-lista dt { color: var(--fl-svag); }
.fl-fakta-lista dd { margin: 0; }
.fl-knapprad { margin: var(--fl-s4) 0 0; }
.fl-knapp {
	display: inline-flex; align-items: center; min-height: 44px; padding: var(--fl-s2) var(--fl-s5);
	background: var(--fl-blabar); color: #FFFFFF; border-radius: 3px; text-decoration: none;
	font: 600 1rem/1.3 var(--fl-disp);
}
.fl-knapp:hover { background: #1C1847; color: #FFFFFF; text-decoration: none; }
.fl-annons { font: 400 .875rem/1.4 var(--fl-disp); color: var(--fl-svag); }

.fl-produktbild { margin: 0 0 var(--fl-s6); background: var(--fl-yta); }
.fl-produktbild img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.fl-avsnitt { margin: 0 0 var(--fl-s7); }
.fl-avsnitt > h2, .fl-metodruta-t { margin: 0 0 var(--fl-s4); }
.fl-delbetyg-kommentar { display: block; margin-top: var(--fl-s1); font-size: .9375rem; font-weight: 400; }
.fl-delbetyg.is-kompakt { margin: var(--fl-s5) 0; }
.fl-specar th { width: 40%; color: var(--fl-svag); font-weight: 400 !important; }
.fl-plusminus { display: grid; gap: var(--fl-s4) var(--fl-s6); }
@media (min-width: 600px) { .fl-plusminus { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fl-pm > :is(h2, h3, h4, h5, h6) { margin: 0 0 var(--fl-s2); font-size: 1.0625rem; color: var(--fl-text); }
.fl-pm ul { margin: 0; padding: 0; list-style: none; }
.fl-pm li { position: relative; margin: 0 0 var(--fl-s2); padding-left: 1.4em; font-size: 1rem; line-height: 1.5; }
.fl-pm li::before { position: absolute; left: 0; top: 0; font-family: var(--fl-disp); font-weight: 700; }
.fl-pm.is-plus li::before { content: "+"; content: "+" / ""; color: var(--fl-plus); }
.fl-pm.is-minus li::before { content: "\2212"; content: "\2212" / ""; color: var(--fl-minus); }
.fl-kallor { margin: 0; padding-left: 1.5em; font: 400 1rem/1.5 var(--fl-disp); }
.fl-kallor li { margin: 0 0 var(--fl-s2); overflow-wrap: anywhere; }
.fl-kallor a { display: inline-block; padding: 2px 0; }

.fl-metodruta { margin: var(--fl-s7) 0 0; padding: var(--fl-s5) 0 0; border-top: 1px solid var(--fl-linje); max-width: var(--fl-spalt); }
.fl-metodruta-t { font-size: 1.25rem; }
.fl-metodruta p { margin: 0 0 var(--fl-s3); font-size: 1rem; }

/* Prosa: recensionen, köpguiden och artiklarna. */
.fl-prosa, .fl-body { max-width: var(--fl-spalt); }
:is(.fl-prosa, .fl-body) > * { margin-block: 0 var(--fl-s4); }
:is(.fl-prosa, .fl-body) h2 { margin: var(--fl-s7) 0 var(--fl-s3); }
:is(.fl-prosa, .fl-body) h3 { margin: var(--fl-s6) 0 var(--fl-s2); }
:is(.fl-prosa, .fl-body) > :first-child { margin-top: 0; }
:is(.fl-prosa, .fl-body) :is(ul, ol) { padding-left: 1.3em; }
:is(.fl-prosa, .fl-body) li { margin-bottom: var(--fl-s2); }
:is(.fl-prosa, .fl-body) blockquote { margin: var(--fl-s5) 0; padding: 0 0 0 var(--fl-s5); border-left: 2px solid var(--fl-linje-stark); font-style: italic; }
:is(.fl-prosa, .fl-body) table { width: 100%; border-collapse: collapse; font: 400 1rem/1.45 var(--fl-disp); }
:is(.fl-prosa, .fl-body) :is(th, td) { padding: var(--fl-s2) var(--fl-s3) var(--fl-s2) 0; border-bottom: 1px solid var(--fl-linje); text-align: left; vertical-align: top; }
:is(.fl-prosa, .fl-body) thead th { border-bottom-color: var(--fl-linje-stark); color: var(--fl-svag); font-weight: 600; }
:is(.fl-prosa, .fl-body) figure { margin: var(--fl-s5) 0; }
:is(.fl-prosa, .fl-body) figcaption { font: 400 .9375rem/1.5 var(--fl-disp); color: var(--fl-svag); margin-top: var(--fl-s2); }
.fl-bedomning { margin-bottom: var(--fl-s7); }
.fl-kopguide { margin-top: var(--fl-s7); }

/* Topplistan */
.fl-listbild { margin: 0 0 var(--fl-s7); }
.fl-listbild img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.fl-vartval { max-width: 880px; margin: 0 0 var(--fl-s7); padding: var(--fl-s5); background: var(--fl-yta); }
.fl-vartval-rubrik { margin: 0 0 var(--fl-s4); font-size: 1.125rem; color: var(--fl-text); }
.fl-vartval-in { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--fl-s5); }
.fl-vartval-namn { margin: 0 0 var(--fl-s2); font-size: clamp(1.5rem, 2.6vw, 1.875rem); }
.fl-vartval-namn a { color: var(--fl-blabar); text-decoration: none; }
.fl-vartval-namn a:hover { text-decoration: underline; }
.fl-vartval-ex { margin: var(--fl-s3) 0 0; max-width: var(--fl-spalt); }
.fl-stampel.is-vartval { width: 112px; }
.fl-vartval .fl-plusminus { margin-top: var(--fl-s5); }
.fl-vartval .fl-delbetyg { max-width: 560px; }
.fl-betygrad { margin: 0; font: 400 1.0625rem/1.4 var(--fl-disp); color: var(--fl-svag); }
.fl-betygrad .fl-tal { font-size: 1.5rem; font-weight: 700; color: var(--fl-blabar); }
.fl-passar { margin: var(--fl-s3) 0 0; font-size: 1rem; }
.fl-lankrad { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fl-s2) var(--fl-s5); margin: var(--fl-s4) 0 0; font: 500 1rem/1.4 var(--fl-disp); }
.fl-lankrad a { display: inline-block; padding: var(--fl-s1) 0; }
.fl-snabb { max-width: 880px; }
.fl-snabb td:first-child, .fl-snabb th:first-child { width: 3.5rem; text-align: right; padding-right: var(--fl-s5); }

.fl-platser { list-style: none; margin: 0; padding: 0; max-width: 880px; }
.fl-plats { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 0 var(--fl-s4); padding: var(--fl-s6) 0; border-top: 1px solid var(--fl-linje); scroll-margin-top: var(--fl-s5); }
.fl-plats:first-child { border-top: 0; padding-top: var(--fl-s2); }
@media (min-width: 782px) { .fl-plats.har-bild { grid-template-columns: 2.5rem minmax(0, 1fr) 220px; } }
.fl-plats-nr { margin: 0; font: 700 1.75rem/1.1 var(--fl-disp); color: var(--fl-blabar); font-variant-numeric: tabular-nums; }
.fl-plats-namn { margin: 0 0 var(--fl-s2); font-size: 1.375rem; }
.fl-plats-namn a { color: var(--fl-blabar); text-decoration: none; }
.fl-plats-namn a:hover { text-decoration: underline; }
.fl-plats-ex { margin: var(--fl-s3) 0 var(--fl-s4); font-size: 1rem; }
.fl-plats .fl-plusminus { margin: var(--fl-s4) 0 0; }
.fl-plats-bild { grid-column: 2; margin-top: var(--fl-s4); }
@media (min-width: 782px) { .fl-plats-bild { grid-column: 3; margin: 0; } }
.fl-plats-bild img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--fl-yta); }

.fl-jamfor { overflow-x: auto; border-top: 1px solid var(--fl-linje-stark); }
.fl-jamfor-tabell { width: 100%; min-width: 760px; border-collapse: collapse; font: 400 .9375rem/1.45 var(--fl-disp); font-variant-numeric: tabular-nums; }
.fl-jamfor-tabell caption { caption-side: top; text-align: left; padding: 0 0 var(--fl-s3); font-weight: 600; font-size: 1rem; }
.fl-jamfor-tabell th, .fl-jamfor-tabell td { padding: var(--fl-s2) var(--fl-s3); border-bottom: 1px solid var(--fl-linje); text-align: left; vertical-align: top; }
.fl-jamfor-tabell thead th { font-weight: 600; vertical-align: bottom; border-bottom: 1px solid var(--fl-linje-stark); }
.fl-jamfor-tabell thead th a { text-decoration: none; }
.fl-jamfor-tabell thead th a:hover { text-decoration: underline; }
.fl-jamfor-tabell tbody th { position: sticky; left: 0; z-index: 1; background: #FFFFFF; font-weight: 500; color: var(--fl-svag); white-space: nowrap; }
.fl-jamfor-tabell tbody tr:nth-child(even) :is(th, td) { background: #FAFAFC; }
.fl-jamfor-tabell tr.is-tal td { text-align: right; }
.fl-jamfor-tabell tr.is-betyg td { font-weight: 600; color: var(--fl-blabar); }
.fl-jamfor-tips { margin: var(--fl-s2) 0 0; font: 400 .875rem/1.4 var(--fl-disp); color: var(--fl-svag); }
@media (min-width: 1000px) { .fl-jamfor-tips { display: none; } }

/* ---------- Arkiv och kategorisidor (tilläggets vy) ---------- */

.ft-arkiv__huvud { max-width: 820px; margin: 0 0 var(--fl-s6); }
.ft-arkiv__titel { margin: 0 0 var(--fl-s3); }
.ft-arkiv__ingress, .ft-arkiv__intro { max-width: var(--fl-spalt); font-size: 1.1875rem; }
.ft-arkiv__intro p { margin: 0 0 var(--fl-s3); }
.ft-arkiv__sortering { margin: 0 0 var(--fl-s4); font: 400 .9375rem/1.5 var(--fl-disp); color: var(--fl-svag); }
.ft-arkiv__tomt { font-size: 1rem; }
.ft-sektion { margin: 0 0 var(--fl-s7); }
.ft-sektion__rubrik { margin: 0 0 var(--fl-s4); padding-top: var(--fl-s5); border-top: 1px solid var(--fl-linje); }
.ft-rutnat { display: grid; gap: var(--fl-s6) var(--fl-s5); grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); margin: 0; padding: 0; list-style: none; }
.ft-rutnat__del { margin: 0; min-width: 0; }
.ft-kategorinav { margin: 0 0 var(--fl-s6); }
.ft-kategorinav__lista { display: flex; flex-wrap: wrap; gap: var(--fl-s2) var(--fl-s5); margin: 0; padding: 0; list-style: none; font: 500 1.0625rem/1.4 var(--fl-disp); }
.ft-kategorinav__lank { display: inline-block; padding: var(--fl-s2) 0; }
.ft-kriterier { list-style: none; margin: var(--fl-s3) 0 0; padding: 0; max-width: 520px; font: 400 1rem/1.45 var(--fl-disp); font-variant-numeric: tabular-nums; }
.ft-kriterier__kriterium { display: flex; justify-content: space-between; gap: var(--fl-s4); padding: var(--fl-s2) 0; border-bottom: 1px solid var(--fl-linje); }
.ft-kriterier__vikt { font-weight: 600; }
.ft-sektion--kriterier > p { max-width: var(--fl-spalt); font-size: 1rem; }
.ft-paginering ul { display: flex; flex-wrap: wrap; gap: var(--fl-s2); margin: var(--fl-s6) 0 0; padding: 0; list-style: none; font-family: var(--fl-disp); }
.ft-paginering .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 var(--fl-s3); border: 1px solid var(--fl-linje); color: var(--fl-text); text-decoration: none; }
.ft-paginering .page-numbers.current { background: var(--fl-blabar); border-color: var(--fl-blabar); color: #FFFFFF; }

.fl-kort { padding-top: var(--fl-s4); border-top: 1px solid var(--fl-linje-stark); height: 100%; }
.fl-kort-bild { margin: 0 0 var(--fl-s3); background: var(--fl-yta); }
.fl-kort-bild img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.fl-kort-topp { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--fl-s3); }
.fl-kort-namn { margin: 0 0 var(--fl-s2); font-size: 1.25rem; }
.fl-kort-namn a { color: var(--fl-blabar); text-decoration: none; }
.fl-kort-namn a:hover { text-decoration: underline; }
.fl-stampel.is-kort { width: 64px; }
.fl-kort .fl-passar { font-size: .9375rem; }
.fl-kort .fl-lankrad { margin-top: var(--fl-s3); font-size: .9375rem; }

.fl-listkort-bild { margin: 0 0 var(--fl-s3); }
.fl-listkort-bild img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.fl-listkort-t { margin: 0 0 var(--fl-s2); font-size: 1.25rem; }
.fl-listkort p { margin: 0 0 var(--fl-s2); font-size: 1rem; }
.fl-listkort .fl-meta { font-size: .9375rem; }
.fl-listkort-v { font-family: var(--fl-disp); }
.fl-listkort-v .fl-utm { margin: 0 var(--fl-s1) 0 0; }

/* ---------- Artiklar, guider och sidor ---------- */

.fl-article-head { padding-top: var(--fl-s6); padding-bottom: var(--fl-s5); }
.fl-head-in { max-width: 820px; }
.fl-article-title, .fl-arch-title { margin: 0 0 var(--fl-s3); }
.fl-dek { max-width: var(--fl-spalt); margin: 0 0 var(--fl-s4); font-size: 1.1875rem; line-height: 1.6; }
@media (min-width: 782px) { .fl-dek { font-size: 1.25rem; } }
.fl-figure { margin-bottom: var(--fl-s6); }
.fl-hero-img img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.fl-read { display: grid; gap: var(--fl-s6) var(--fl-s8); padding-bottom: var(--fl-s7); }
@media (min-width: 1000px) {
	.fl-read:not(.is-page) { grid-template-columns: 220px minmax(0, var(--fl-spalt)); }
}
.fl-rail:empty { display: none; }
@media (min-width: 1000px) { .fl-rail:empty { display: block; } }
.fl-toc { font: 400 .9375rem/1.45 var(--fl-disp); }
@media (min-width: 1000px) { .fl-toc { position: sticky; top: var(--fl-s5); } }
.fl-toc-t, .fl-innehall > p:first-child { margin: 0 0 var(--fl-s2); font: 600 .9375rem/1.4 var(--fl-disp); color: var(--fl-text); }
.fl-toc ol, .fl-innehall ol { margin: 0; padding: 0; list-style: none; }
.fl-toc li, .fl-innehall li { margin: 0; border-top: 1px solid var(--fl-linje); }
.fl-toc a, .fl-innehall a { display: block; padding: var(--fl-s2) 0; color: var(--fl-text); text-decoration: none; }
.fl-toc a:hover, .fl-innehall a:hover { color: var(--fl-blabar); text-decoration: underline; }
.fl-innehall { margin: 0 0 var(--fl-s6) !important; padding: var(--fl-s4) var(--fl-s5); background: var(--fl-yta); font: 400 1rem/1.45 var(--fl-disp); }
.fl-innehall li { margin: 0 !important; }
.fl-fakta { margin: var(--fl-s5) 0 !important; padding: var(--fl-s4) var(--fl-s5); background: var(--fl-yta); font-size: 1rem; }
.fl-fakta > :last-child { margin-bottom: 0; }
.fl-fakta-t { margin: 0 0 var(--fl-s2) !important; font: 600 1rem/1.4 var(--fl-disp); color: var(--fl-text); }
.fl-ansvar { margin: var(--fl-s7) 0 var(--fl-s5); padding: var(--fl-s5) 0 0; border-top: 1px solid var(--fl-linje); font-size: 1rem; }
.fl-ansvar-t { margin: 0 0 var(--fl-s2); font-size: 1.125rem; color: var(--fl-text); }
.fl-ansvar p { margin: 0; }
.fl-author { padding: var(--fl-s5) 0 0; border-top: 1px solid var(--fl-linje); font-size: 1rem; }
.fl-author p { margin: 0; }
.fl-more { border-top: 1px solid var(--fl-linje); }
.fl-lankade { margin: 0 0 var(--fl-s7); max-width: 880px; }
.fl-lankade .fl-sec-title { margin-bottom: var(--fl-s4); }
.fl-page-body { margin-inline: 0; }
.fl-read.is-page { padding-top: 0; }

/* Arkiv och sök */
.fl-arch-head { padding-top: var(--fl-s6); }
.fl-arch-desc { max-width: var(--fl-spalt); font-size: 1.1875rem; }
.fl-arch-count { font: 400 .9375rem/1.5 var(--fl-disp); color: var(--fl-svag); margin: var(--fl-s3) 0 0; }
.fl-traffar { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.fl-traff { padding: var(--fl-s5) 0; border-top: 1px solid var(--fl-linje); }
.fl-traff-t { margin: 0 0 var(--fl-s2); font-size: 1.25rem; }
.fl-traff p:last-child { margin: 0; font-size: 1rem; }
.fl-empty { max-width: var(--fl-spalt); }
.fl-pages ul { display: flex; flex-wrap: wrap; gap: var(--fl-s2); padding: 0; list-style: none; font-family: var(--fl-disp); }
.fl-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 var(--fl-s3); border: 1px solid var(--fl-linje); text-decoration: none; }
.fl-pages .page-numbers.current { background: var(--fl-blabar); color: #FFFFFF; border-color: var(--fl-blabar); }
.fl-amnen { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--fl-s2) var(--fl-s4); margin: 0 0 var(--fl-s6); font: 500 1rem/1.4 var(--fl-disp); }
.fl-amnen-t { margin: 0; color: var(--fl-svag); }
.fl-amnen ul { display: flex; flex-wrap: wrap; gap: var(--fl-s2) var(--fl-s4); margin: 0; padding: 0; list-style: none; }
.fl-amnen a { display: inline-block; padding: var(--fl-s1) 0; }

/* 404 */
.fl-404 { padding-top: var(--fl-s7); padding-bottom: var(--fl-s8); }
.fl-404-in { max-width: var(--fl-spalt); }

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

.fl-stampel-stor { margin: var(--fl-s5) 0; }
.fl-stampel-stor img { display: block; width: 280px; max-width: 100%; height: auto; }
.fl-stampel-stor figcaption { margin-top: var(--fl-s3); font: 400 .9375rem/1.5 var(--fl-disp); color: var(--fl-svag); }
.fl-stampel-filer { padding-left: 1.3em; font-family: var(--fl-disp); }
.fl-stampel-filer a { display: inline-block; padding: var(--fl-s1) 0; }

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

.fl-footer { background: var(--fl-yta); border-top: 1px solid var(--fl-linje); padding-top: var(--fl-s7); padding-bottom: var(--fl-s6); margin-top: 0; }
.fl-footer-grid { display: grid; gap: var(--fl-s6); }
@media (min-width: 720px) { .fl-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .fl-footer-grid { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); } }
.fl-footer { font: 400 1rem/1.55 var(--fl-disp); }
.fl-footer p { margin: 0 0 var(--fl-s3); }
.fl-footer-namn { font: 700 1.375rem/1.2 var(--fl-disp) !important; color: var(--fl-blabar); }
.fl-footer-t { margin: 0 0 var(--fl-s3); font-size: 1rem; color: var(--fl-text); }
.fl-footer ul { margin: 0 0 var(--fl-s3); padding: 0; list-style: none; }
.fl-footer li a, .fl-footer-col p a { display: inline-block; padding: 6px 0; }
.fl-footer a { color: var(--fl-text); text-decoration: none; }
.fl-footer a:hover { color: var(--fl-blabar); text-decoration: underline; }
.fl-footer-om a { text-decoration: underline; }
.fl-footer-sakerhet { margin: var(--fl-s6) 0 var(--fl-s3) !important; padding-top: var(--fl-s5); border-top: 1px solid var(--fl-linje); max-width: 820px; }
.fl-footer-sakerhet a { text-decoration: underline; }
.fl-footer-copy { color: var(--fl-svag); font-size: .9375rem; }

/* Tilläggets egna rester som inte används i mallarna ska inte synas med basstil. */
.ft-metodruta { margin: var(--fl-s7) 0 0; padding: var(--fl-s5) 0 0; background: none; border-top: 1px solid var(--fl-linje); }

@media print {
	.fl-header, .fl-footer, .fl-rail { display: none; }
}
.fl-kopguide + .fl-avsnitt, .fl-bedomning + .fl-avsnitt { margin-top: var(--fl-s7); }
.fl-sec-link { display: inline-block; padding: var(--fl-s1) 0; }
.ft-brodsmulor a { min-width: 24px; min-height: 24px; }
