/*
 * Version 3 av Floran, redaktionell layout (0.6.0, 0.6.1). Laddas bara när
 * atdt_gran_v3() är sant, efter v2.css, och allt är avgränsat till
 * body.gran-v3. Typsnitt, färger och tokens är v2:s; nytt är rutnätet på
 * 1200 px, artikelns huvud, planschen i 21:9, artfaktarutan och sidopanelen.
 * Underlag: GranArtikel.dc.html och GranMobil.dc.html (godkända 2026-11-07).
 * Radie 0, inga skuggor.
 */
body.gran-v3 { --gran-bredd: 1248px; }

/* ---------- Ramen ---------- */
.gran-v3.single .site-main { margin: 0; max-width: none; }
.gran-v3 .gran3-ram { padding: 28px 0 64px; }
.gran-v3 .gran3-ram > * { margin-bottom: 0; }

/* Brödsmulor */
.gran-v3 .gran3-smulor {
	display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px;
	font-family: var(--gran-text); font-size: 14px; line-height: 1.4; color: var(--gran-dampad);
}
.gran-v3 .gran3-smulor a { display: inline-flex; align-items: center; min-height: 44px; color: var(--gran-dampad); text-decoration: none; }
.gran-v3 .gran3-smulor a:hover { color: var(--gran-barnsten); text-decoration: underline; }
.gran-v3 .gran3-smulor [aria-current] { color: var(--gran-dampad); overflow-wrap: anywhere; }

/* ---------- Artikelns huvud ---------- */
.gran-v3 .gran3-huvud { margin-top: 6px; max-width: 880px; display: flex; flex-direction: column; gap: 14px; }
.gran-v3 .gran3-avdelning {
	margin: 0; font-family: var(--gran-text); font-weight: 600; font-size: 13px; line-height: 1.4;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--gran-barnsten);
}
.gran-v3 h1.gran3-rubrik {
	margin: 0; font-family: var(--gran-rubrik); font-weight: 600; font-size: 56px; line-height: 1.02;
	letter-spacing: 0; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: break-word;
}
.gran-v3 .gran3-ingress { margin: 0; font-family: var(--gran-rubrik); font-size: 24px; line-height: 1.45; color: var(--gran-black); }
.gran-v3 .atdt-red-granskningsrad {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; padding: 12px 0;
	border-top: 1px solid var(--gran-linje); border-bottom: 1px solid var(--gran-linje);
	font-family: var(--gran-text); font-size: 14px; line-height: 1.5; color: var(--gran-dampad);
}
.gran-v3 .atdt-red-granskningsrad a { display: inline-flex; align-items: center; min-height: 44px; margin: -12px 0; color: var(--gran-dampad); }
.gran-v3 .atdt-red-granskad { display: inline-flex; align-items: center; gap: 6px; color: var(--gran-black); }
.gran-v3 .atdt-red-granskad svg { color: var(--gran-barnsten); flex: 0 0 auto; }

/* ---------- Planschen: utvald bild i 21:9 över hela bredden ---------- */
.gran-v3 .gran3-plansch { margin: 26px 0 0; }
.gran-v3 .gran3-plansch img {
	display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover;
	background: var(--gran-plansch); border-radius: 0;
}
.gran-v3 .gran3-plansch figcaption,
.gran-v3 .gran3-kredit {
	margin: 8px 0 0; font-family: var(--gran-text); font-style: normal; font-size: 13px; line-height: 1.4;
	color: var(--gran-barnsten); text-align: left;
}

/* ---------- Rutnätet: artikel högst 720 px, sidopanel högst 360 px ---------- */
.gran-v3 .gran3-rad { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 56px; margin-top: 36px; }
.gran-v3 .gran3-artikel { flex: 999 1 600px; min-width: 0; max-width: 720px; }
.gran-v3 .gran3-panel { flex: 1 1 300px; min-width: 0; max-width: 360px; display: flex; flex-direction: column; gap: 26px; }

/* ---------- Brödtexten ---------- */
.gran-v3 .gran3-text { max-width: 720px; }
.gran-v3 .gran3-text > :first-child { margin-top: 0; }
.gran-v3 .gran3-text p,
.gran-v3 .gran3-text li { font-size: 18px; line-height: 1.7; }
.gran-v3 .entry-content.gran3-text h2 { font-family: var(--gran-rubrik); font-weight: 600; font-size: 34px; line-height: 1.15; margin: 1.6em 0 .5em; scroll-margin-top: 24px; }
.gran-v3 .entry-content.gran3-text .gran-las-ocksa h2 { font-size: 24px; margin: 0 0 6px; }
.gran-v3 .gran3-text p.annons-etikett { font-size: 12px; line-height: 1.4; }
.gran-v3 .gran3-text .atdt-granskad { color: var(--gran-dampad) !important; font-size: 15px !important; }

/* ---------- Artfaktarutan ---------- */
.gran-v3 .gran-artfakta { background: var(--gran-yta); border: 1px solid var(--gran-linje); margin: 0 0 24px; }
.gran-v3 .gran3-text h2 + .gran-artfakta { margin-top: 4px; }
.gran-v3 .gran-art-namn {
	margin: 0; padding: 16px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px;
	font-family: var(--gran-rubrik); line-height: 1.2;
}
.gran-v3 .gran-artfakta dl + * { margin-top: 0; }
.gran-v3 .gran-art-svenskt { font-size: 26px; font-weight: 600; color: var(--gran-black); }
.gran-v3 .gran-art-latin { font-style: italic; font-size: 22px; font-weight: 500; color: var(--gran-barnsten); }
.gran-v3 .gran-art-falten {
	margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px; background: var(--gran-linje); border-top: 1px solid var(--gran-linje);
}
.gran-v3 .gran-art-falt { background: var(--gran-yta); padding: 12px 20px; min-width: 0; }
.gran-v3 .gran-art-falt:last-child:nth-child(odd) { grid-column: 1 / -1; }
.gran-v3 .gran-art-falt dt {
	margin: 0; font-family: var(--gran-text); font-weight: 400; font-size: 12px; line-height: 1.4;
	letter-spacing: 0.12em; text-transform: uppercase; color: var(--gran-dampad);
}
.gran-v3 .gran-art-falt dd { margin: 2px 0 0; font-family: var(--gran-text); font-size: 16px; line-height: 1.45; color: var(--gran-black); overflow-wrap: break-word; }

/* ---------- Sidopanelens moduler ---------- */
.gran-v3 .gran3-panel .atdt-red-modul { margin: 0; }
.gran-v3 .gran3-panel ul,
.gran-v3 .gran3-panel ol { list-style: none; margin: 0; padding: 0; }
.gran-v3 .gran3-panel li { margin: 0; }
.gran-v3 .atdt-red-modul-rubrik,
.gran-v3 .gran3-panel h2.atdt-red-modul-rubrik {
	margin: 0 0 6px; font-family: var(--gran-text); font-weight: 600; font-size: 13px; line-height: 1.4;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--gran-barnsten);
}

/* Registret "Arterna i guiden" och förteckningen "På den här sidan" */
.gran-v3 .gran3-panel .atdt-red-toc { background: var(--gran-yta); border: 1px solid var(--gran-linje); padding: 18px 20px; }
.gran-v3 .gran3-panel .atdt-red-toc li { border-bottom: 1px solid var(--gran-fyll); }
.gran-v3 .gran3-panel .atdt-red-toc li:last-child { border-bottom: 0; }
.gran-v3 .gran3-panel .atdt-red-toc a {
	display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 9px 0; min-height: 44px; box-sizing: border-box;
	font-family: var(--gran-rubrik); font-size: 19px; line-height: 1.3; text-decoration: none; color: var(--gran-black);
}
.gran-v3 .gran3-panel .atdt-red-toc a:hover .gran-reg-namn,
.gran-v3 .gran3-panel .atdt-red-toc a:hover { color: var(--gran-barnsten); }
.gran-v3 .gran3-panel .atdt-red-toc a.atdt-red-aktiv,
.gran-v3 .gran3-panel .atdt-red-toc a.atdt-red-aktiv .gran-reg-namn { color: var(--gran-barnsten); }
.gran-v3 .gran-reg-latin { font-style: italic; font-size: 17px; color: var(--gran-dampad); text-align: right; }

/* Källor i artikeln */
.gran-v3 .atdt-red-kallor { background: var(--gran-black); color: #FFFFFF; padding: 18px 20px; }
.gran-v3 .gran3-panel .atdt-red-kallor h2.atdt-red-modul-rubrik { color: var(--gran-pa-mork); }
.gran-v3 .atdt-red-kallor a {
	display: flex; align-items: center; min-height: 44px; padding: 4px 0; box-sizing: border-box;
	font-family: var(--gran-text); font-size: 15px; line-height: 1.4; color: #FFFFFF; text-decoration-color: var(--gran-pa-mork);
}
.gran-v3 .atdt-red-kallor a:hover { color: var(--gran-pa-mork); }

/* Mest läst */
.gran-v3 .atdt-red-mestlast { border-top: 2px solid var(--gran-black); padding-top: 10px; }
.gran-v3 .gran3-panel .atdt-red-mestlast h2.atdt-red-modul-rubrik { color: var(--gran-black); margin-bottom: 4px; }
.gran-v3 .atdt-red-mestlast ol { counter-reset: gran-nr; }
.gran-v3 .atdt-red-mestlast li { border-bottom: 1px solid var(--gran-linje); }
.gran-v3 .atdt-red-mestlast a {
	display: flex; gap: 12px; align-items: baseline; padding: 11px 0; min-height: 44px; box-sizing: border-box;
	font-family: var(--gran-text); font-weight: 600; font-size: 15px; line-height: 1.35; text-decoration: none; color: var(--gran-black);
}
.gran-v3 .atdt-red-mestlast a::before {
	counter-increment: gran-nr; content: counter(gran-nr); flex: 0 0 18px;
	font-family: var(--gran-rubrik); font-weight: 500; font-size: 24px; line-height: 1; color: var(--gran-barnsten);
}
.gran-v3 .atdt-red-mestlast a:hover { color: var(--gran-barnsten); }

/* Annonsplatsen i sidopanelen (300×250): 38 px plus panelens 26 px ger minst 64 px till närmaste länk. */
.gran-v3 .gran3-panel .annons { margin: 38px 0; }

/* Till jul */
.gran-v3 .gran-tilljul { background: var(--gran-yta); border: 1px solid var(--gran-linje); padding: 18px 20px; }
.gran-v3 .gran-tilljul a { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--gran-text); font-size: 15px; }

/* Om texten (bara när inlägget har en friskrivning) */
.gran-v3 .gran-omtexten { background: var(--gran-yta); border: 1px solid var(--gran-linje); padding: 20px 22px; margin: 40px 0 0; }
.gran-v3 .gran-omtexten .atdt-granskad,
.gran-v3 .gran-omtexten .atdt-finjur-granskning,
.gran-v3 .gran-omtexten .atdt-medicinsk-granskning {
	margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; background: transparent !important;
	font-family: var(--gran-text); font-size: 15px !important; line-height: 1.55 !important; color: var(--gran-black) !important;
}

/* Mobilens hopfällda register: dolt på bred skärm. */
.gran-v3 .atdt-red-toc-mobil { display: none; }

/* ---------- Under cirka 1000 px viks panelen under artikeln ---------- */
@media (max-width: 999px) {
	.gran-v3 .gran3-panel { max-width: none; }
	.gran-v3 .gran3-panel .atdt-red-toc { display: none; }
	/* Till jul före sidopanelens annons, så att den aldrig står direkt efter textens sista annons. */
	.gran-v3 .gran3-panel .gran-tilljul { order: 1; }
	.gran-v3 .gran3-panel .annons-sidopanel_1 { order: 2; margin: 38px 0 0; }

	.gran-v3 .atdt-red-toc-mobil { display: block; margin: 0 0 20px; background: var(--gran-yta); border: 1px solid var(--gran-linje); }
	.gran-v3 .atdt-red-toc-mobil summary {
		display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 16px; box-sizing: border-box;
		font-family: var(--gran-text); font-weight: 600; font-size: 14px; color: var(--gran-black); cursor: pointer; list-style: none;
	}
	.gran-v3 .atdt-red-toc-mobil summary::-webkit-details-marker { display: none; }
	.gran-v3 .atdt-red-toc-mobil summary::after {
		content: ""; width: 8px; height: 8px; border-right: 2px solid var(--gran-black); border-bottom: 2px solid var(--gran-black);
		transform: rotate(45deg); margin: -4px 4px 0 12px; flex: 0 0 auto;
	}
	.gran-v3 .atdt-red-toc-mobil[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
	.gran-v3 .atdt-red-toc-mobil ul { list-style: none; margin: 0; padding: 0 16px 8px; }
	.gran-v3 .atdt-red-toc-mobil li { margin: 0; border-top: 1px solid var(--gran-fyll); }
	.gran-v3 .atdt-red-toc-mobil a {
		display: flex; justify-content: space-between; align-items: baseline; gap: 10px; min-height: 44px; padding: 10px 0; box-sizing: border-box;
		font-family: var(--gran-rubrik); font-size: 18px; line-height: 1.3; text-decoration: none;
	}
}

/* ---------- Mobil (GranMobil.dc.html, 390 px) ---------- */
@media (max-width: 600px) {
	.gran-v3 .gran3-ram { padding: 4px 0 48px; }
	/* Sidans titel står redan i rubriken: i mobil visar brödsmulorna bara vägen dit. */
	.gran-v3 .gran3-smulor [aria-current],
	.gran-v3 .gran3-smulor span[aria-hidden]:nth-last-child(2) { display: none; }
	.gran-v3 .gran3-huvud { gap: 12px; margin-top: 4px; }
	.gran-v3 .gran3-avdelning { font-size: 12px; }
	.gran-v3 h1.gran3-rubrik { font-size: 34px; line-height: 1.05; }
	.gran-v3 .gran3-ingress { font-size: 20px; }
	.gran-v3 .atdt-red-granskningsrad { font-size: 13px; gap: 4px 14px; padding: 10px 0; }
	.gran-v3 .gran3-plansch { margin: 20px -16px 0; }
	.gran-v3 .gran3-plansch img { aspect-ratio: 2 / 1; }
	.gran-v3 .gran3-plansch figcaption { padding: 0 16px; margin-top: 6px; font-size: 12px; }
	.gran-v3 .gran3-rad { margin-top: 24px; gap: 40px; }
	.gran-v3 .gran3-text p,
	.gran-v3 .gran3-text li { font-size: 17px; line-height: 1.65; }
	.gran-v3 .entry-content.gran3-text h2 { font-size: 28px; margin-top: 34px; }
	.gran-v3 .gran-art-namn { padding: 12px 16px; }
	.gran-v3 .gran-art-svenskt { font-size: 22px; }
	.gran-v3 .gran-art-latin { font-size: 19px; }
	.gran-v3 .gran-art-falt { padding: 10px 16px; }
	.gran-v3 .gran-art-falt dt { font-size: 11px; }
	.gran-v3 .gran-art-falt dd { font-size: 15px; }
	.gran-v3 .atdt-red-kallor,
	.gran-v3 .gran-tilljul { padding: 16px; }
	.gran-v3 .atdt-red-mestlast a::before { font-size: 22px; flex-basis: 16px; }
	.gran-v3 .gran-omtexten { padding: 16px; }
}

/* Tabeller i artikelspalten (0.7.1): spalten är 720 px bred, så en tabell med
 * många kolumner ska rymmas i bredd i stället för att klippas och rullas i sidled.
 * Fast tabellayout, lite smalare celler och avstavning. På mobil gäller kitets
 * sidledsrullning som förut. */
@media (min-width: 769px) {
	.gran-v3 .gran3-text table { table-layout: fixed; width: 100%; }
	body.atdt-tabeller.gran-v3 .gran3-text table th,
	body.atdt-tabeller.gran-v3 .gran3-text table td {
		padding: 10px 10px;
		overflow-wrap: break-word;
		hyphens: auto;
		-webkit-hyphens: auto;
	}
	/* Latinska artnamn avstavas inte. */
	.gran-v3 .gran3-text table em { hyphens: manual; -webkit-hyphens: manual; }
}
