/*
Theme Name: Tolvtakt (tk-tolvtakt)
Theme URI: https://jazzbluesfalkenberg.se/
Description: Tolvtakt, en fristående guide till jazz och blues på Västkusten. Tolvtaktsbluesens schema som rutnät, affischtypografi, betonggrått och svart med neoncyan, och munspelets kanalnummer som numrering.
Author: Tolvtakt
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.5
Text Domain: tk-tolvtakt
*/

/* ---------- Grund ---------- */
:root {
	--tk-betong: #D9DCD6;
	--tk-betong-ljus: #E8EAE5;
	--tk-svart: #121212;
	--tk-grafit: #43463F;
	--tk-dim: #B4B8B0;
	--tk-linje-m: #3A3C38;
	--tk-cyan: #00B8C8;
	--tk-gul: #F5D547;
	--tk-display: 'Abril Fatface', 'Bodoni 72', Didot, Georgia, serif;
	--tk-text: Lora, Georgia, 'Times New Roman', serif;
	--tk-ease: cubic-bezier(.2, .7, .2, 1);
	--tk-pad: clamp(1rem, 4vw, 3rem);
}
html { background: var(--tk-betong); -webkit-text-size-adjust: 100%; scroll-padding-top: 1.5rem; }
body { background: var(--tk-betong); color: var(--tk-svart); font-family: var(--tk-text); font-weight: 400; font-size: 1.1875rem; line-height: 1.65; font-feature-settings: "kern" 1, "liga" 1, "onum" 1; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; }
@media (max-width: 640px) { body { font-size: 1.0625rem; } }
::selection { background: var(--tk-cyan); color: var(--tk-svart); }
h1, h2, h3, h4 { font-family: var(--tk-display); font-weight: 400; text-wrap: balance; letter-spacing: -.005em; }
p, li { text-wrap: pretty; }
a { color: inherit; text-decoration-thickness: 1.5px; text-underline-offset: .18em; transition: background-color .18s var(--tk-ease), color .18s var(--tk-ease); }
a:hover { text-decoration-thickness: 2.5px; }
:focus-visible { outline: 3px solid var(--tk-svart); outline-offset: 3px; }
.tk-footer :focus-visible, .tk-guidesektion :focus-visible, .tk-guide-head :focus-visible, .tk-strip :focus-visible, .tk-affisch :focus-visible { outline-color: var(--tk-cyan); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
.a11y-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.wp-site-blocks { padding: 0; }
main { padding-bottom: 0; }
img { max-width: 100%; height: auto; }
.tk-skip { position: absolute; left: -999px; top: .5rem; z-index: 1000; background: var(--tk-gul); color: var(--tk-svart); padding: .7rem 1rem; font-weight: 700; text-decoration: none; }
.tk-skip:focus { left: .75rem; outline-color: var(--tk-svart); }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.tk-home, .tk-single, .tk-sida, .tk-arkiv, .tk-guidesida { margin-top: 0 !important; }

/* ---------- Sidhuvud ---------- */
.tk-strip { background: var(--tk-svart); color: var(--tk-betong); font-size: .9rem; line-height: 1.4; padding: .5rem var(--tk-pad); }
.tk-strip p { margin: 0 auto; max-width: 1280px; font-style: italic; }
.tk-header { border-bottom: 2px solid var(--tk-svart); }
.tk-header-row { padding-block: .9rem; gap: 1.5rem; }
.tk-brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; color: var(--tk-svart); min-height: 44px; }
.tk-brand:hover .tk-mark-v { fill: var(--tk-gul); }
.tk-mark { width: 2.6rem; height: auto; flex: none; color: var(--tk-svart); }
.tk-mark-v { fill: var(--tk-cyan); transition: fill .18s; }
.tk-wordmark { font-family: var(--tk-display); font-size: 2.15rem; line-height: 1; letter-spacing: .005em; }
.tk-brand.is-light, .tk-brand.is-light .tk-mark { color: var(--tk-betong); }

.tk-nav { font-family: var(--tk-text); font-size: 1rem; font-weight: 600; }
.tk-nav .wp-block-navigation-item__content { padding: .55rem .7rem !important; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.tk-nav .wp-block-navigation-item__content:hover { background: var(--tk-svart); color: var(--tk-betong); }
.tk-nav .current-menu-item > .wp-block-navigation-item__content, .tk-nav [aria-current="page"] { box-shadow: inset 0 -3px 0 var(--tk-svart); }
.tk-nav .current-menu-item > .wp-block-navigation-item__content:hover { box-shadow: none; }
.tk-nav .tk-nav-sok > .wp-block-navigation-item__content { border: 2px solid var(--tk-svart); margin-left: .4rem; padding: .4rem .8rem !important; }
.tk-nav .wp-block-navigation__submenu-icon { margin-left: 0; width: 24px; height: 24px; padding: 4px; display: inline-flex; align-items: center; justify-content: center; }
.tk-nav .wp-block-navigation__submenu-icon svg { width: 14px; height: 14px; }
.tk-nav .wp-block-navigation-submenu { gap: 0; }
.tk-nav .wp-block-navigation__submenu-container { background: var(--tk-betong) !important; color: var(--tk-svart) !important; border: 2px solid var(--tk-svart) !important; min-width: 320px !important; padding: .35rem 0 !important; }
.tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .65rem 1rem !important; width: 100%; font-weight: 500; }
.tk-nav .wp-block-navigation__responsive-container-open, .tk-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; }
@media (max-width: 599px) { .tk-nav .wp-block-navigation__responsive-container-open { display: inline-flex; } }
.tk-nav .wp-block-navigation__responsive-container-open { border: 2px solid var(--tk-svart); }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--tk-betong) !important; color: var(--tk-svart) !important; padding: 1.2rem var(--tk-pad) 2rem; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: stretch; gap: 0; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch !important; width: 100%; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: stretch !important; border-bottom: 2px solid var(--tk-svart); width: 100%; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--tk-display); font-weight: 400; font-size: 1.8rem; padding: .55rem 0 !important; width: 100%; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: 0 0 .6rem 0 !important; min-width: 0 !important; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--tk-text); font-size: 1.05rem; font-weight: 500; padding: .5rem 0 .5rem 1rem !important; }
.tk-nav .wp-block-navigation__responsive-container.is-menu-open .tk-nav-sok > .wp-block-navigation-item__content { border: 0; margin: 0; padding: .55rem 0 !important; }

/* ---------- Knappar och pilar ---------- */
.tk-knapp { display: inline-flex; align-items: center; min-height: 48px; background: var(--tk-svart); color: var(--tk-betong); padding: .7rem 1.3rem; font-weight: 600; font-size: 1rem; text-decoration: none; border: 2px solid var(--tk-svart); }
.tk-knapp:hover { background: var(--tk-cyan); color: var(--tk-svart); }
.tk-pil { font-weight: 600; font-size: 1rem; display: inline-flex; align-items: center; min-height: 44px; gap: .45rem; }
.tk-pil::after { content: "→"; text-decoration: none; display: inline-block; transition: transform .18s var(--tk-ease); }
.tk-pil:hover::after { transform: translateX(3px); }
.tk-hero-links { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.6rem; margin-top: 1.8rem; }

/* ---------- Sektionshuvuden ---------- */
.tk-sektion { padding-block: clamp(3rem, 6vw, 5rem) 0; }
.tk-sektion.is-tat { padding-top: 0; }
.tk-sek-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem 3rem; align-items: end; border-top: 2px solid var(--tk-svart); padding-top: 1rem; margin-bottom: 1.8rem; }
.tk-sek-t { font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.02; margin: 0; }
.tk-sek-t.is-liten { font-size: 1.7rem; margin-bottom: 1rem; }
.tk-sek-text { margin: 0; max-width: 54ch; font-size: 1.05rem; }
.tk-sek-head.is-light { border-top-color: var(--tk-betong); }
@media (max-width: 760px) { .tk-sek-head { grid-template-columns: 1fr; } }

/* ---------- Startsidan: affischen ---------- */
.tk-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: stretch; padding-block: clamp(2.5rem, 6vw, 5rem) 0; }
.tk-hero-text { align-self: center; }
.tk-hero-title { font-size: clamp(3rem, 7.4vw, 6.6rem); line-height: .96; margin: 0 0 1.5rem; letter-spacing: -.012em; }
.tk-lede { font-size: clamp(1.15rem, 1.6vw, 1.38rem); line-height: 1.55; max-width: 36ch; margin: 0; }
.tk-affisch { background: var(--tk-svart); color: var(--tk-betong); padding: clamp(1.4rem, 3vw, 2.3rem) clamp(1.4rem, 3vw, 2.3rem) 0; display: flex; flex-direction: column; min-height: 30rem; }
.tk-affisch p { margin: 0; }
.tk-affisch-top { font-style: italic; color: var(--tk-dim); font-size: 1rem; margin-bottom: auto !important; padding-bottom: 2rem; }
.tk-affisch-rad { font-family: var(--tk-display); font-size: clamp(2.4rem, 4.4vw, 4rem); line-height: 1; }
.tk-affisch-rad.is-cyan { color: var(--tk-cyan); }
.tk-affisch-gul { background: var(--tk-gul); color: var(--tk-svart); font-weight: 700; font-size: 1rem; padding: .7rem clamp(1.4rem, 3vw, 2.3rem); margin: 1.8rem calc(-1 * clamp(1.4rem, 3vw, 2.3rem)) 0 !important; }
.tk-affisch-kam { display: grid; grid-template-columns: repeat(10, 1fr); margin: 0 calc(-1 * clamp(1.4rem, 3vw, 2.3rem)); }
.tk-affisch-kam span, .tk-kam span { display: flex; flex-direction: column; align-items: center; gap: .45rem; font-size: .85rem; font-variant-numeric: tabular-nums lining-nums; color: var(--tk-dim); padding: .7rem 0 .9rem; border-left: 1px solid var(--tk-linje-m); }
.tk-affisch-kam span:first-child, .tk-kam span:first-child { border-left: 0; }
.tk-affisch-kam span::after, .tk-kam span::after { content: ""; width: 42%; max-width: 18px; height: 9px; background: #000; border: 1px solid #55584F; border-radius: 2px; }
@media (max-width: 900px) {
	.tk-hero { grid-template-columns: 1fr; }
	.tk-affisch { min-height: 0; }
	.tk-affisch-top { padding-bottom: 1.4rem; }
}

/* ---------- Tolvtaktsschemat ---------- */
.tk-schema { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--tk-svart); border-left: 6px solid var(--tk-svart); position: relative; }
.tk-takt { position: relative; margin: 0; padding: 1rem 1.15rem 1.25rem 1.3rem; border-right: 2px solid var(--tk-svart); border-bottom: 2px solid var(--tk-svart); min-height: 15.5rem; display: flex; flex-direction: column; transition: background-color .18s var(--tk-ease), color .18s var(--tk-ease); }
.tk-takt-nr { position: absolute; top: .8rem; left: 1.3rem; font-style: italic; font-size: .95rem; font-variant-numeric: lining-nums; color: var(--tk-grafit); }
.tk-ackord { align-self: flex-end; font-family: var(--tk-display); font-size: 2.4rem; line-height: 1; padding: .12em .28em .08em; min-width: 1.6em; text-align: center; }
.tk-takt.is-iv .tk-ackord { background: var(--tk-cyan); }
.tk-takt.is-v .tk-ackord { background: var(--tk-gul); }
.tk-takt-amne { font-weight: 600; font-size: .92rem; margin-top: auto; padding-top: 1.4rem; }
.tk-takt-t { font-size: clamp(1.3rem, 1.75vw, 1.6rem); line-height: 1.12; margin: .3rem 0 .7rem; }
.tk-takt-t a { text-decoration: none; }
.tk-takt-t a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tk-takt-t a:focus-visible { outline: none; }
.tk-takt-t a:focus-visible::after { outline: 3px solid var(--tk-svart); outline-offset: -7px; }
.category .tk-takt-amne { display: none; }
.tk-takt-meta { font-size: .9rem; color: var(--tk-grafit); font-variant-numeric: lining-nums; }
.tk-takt:hover { background: var(--tk-svart); color: var(--tk-betong); }
.tk-takt:hover .tk-takt-nr, .tk-takt:hover .tk-takt-meta { color: var(--tk-dim); }
.tk-takt:hover.is-iv .tk-ackord, .tk-takt:hover.is-v .tk-ackord { color: var(--tk-svart); }
.tk-takt:hover .tk-takt-t a { text-decoration: underline; text-decoration-color: var(--tk-cyan); text-decoration-thickness: 3px; }
/* Repetitionstecken: punkter efter första strecket och före sista. */
.tk-schema > .tk-takt:first-child::before, .tk-schema > .tk-takt:last-child::before { content: ""; position: absolute; top: calc(50% - 1.1rem); width: 7px; height: 2.2rem; background: radial-gradient(circle, var(--tk-svart) 3.2px, transparent 3.6px) 0 0 / 7px 1.1rem repeat-y; pointer-events: none; }
.tk-schema > .tk-takt:first-child::before { left: .35rem; }
.tk-schema > .tk-takt:last-child { border-right-width: 6px; box-shadow: inset -4px 0 0 var(--tk-betong), inset -6px 0 0 var(--tk-svart); }
.tk-schema > .tk-takt:last-child::before { right: .75rem; }
.tk-takt:hover::before { filter: invert(1); }
@media (max-width: 1080px) and (min-width: 641px) {
	.tk-schema { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tk-takt { min-height: 13rem; }
}
@media (max-width: 640px) {
	.tk-schema { grid-template-columns: 1fr; border-left-width: 5px; }
	.tk-takt { min-height: 0; display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); grid-template-areas: "nr amne" "ack titel" "ack meta"; column-gap: .9rem; padding: .9rem 1rem 1rem .8rem; }
	.tk-takt-nr { position: static; grid-area: nr; font-size: .9rem; }
	.tk-ackord { grid-area: ack; align-self: start; justify-self: start; font-size: 1.7rem; min-width: 0; width: 100%; }
	.tk-takt-amne { grid-area: amne; padding-top: 0; margin: 0; }
	.tk-takt-t { grid-area: titel; font-size: 1.32rem; margin: .2rem 0 .4rem; }
	.tk-takt-meta { grid-area: meta; }
	.tk-schema > .tk-takt:nth-child(4n):not(:last-child) { border-bottom-width: 5px; }
	.tk-schema > .tk-takt:first-child::before, .tk-schema > .tk-takt:last-child::before { display: none; }
}

/* ---------- Guiderna (munspelets kanaler) ---------- */
.tk-guidesektion { background: var(--tk-svart); color: var(--tk-betong); padding-block: clamp(3rem, 6vw, 5rem); margin-top: clamp(3rem, 6vw, 5rem) !important; }
.tk-guidesektion .tk-sek-t { color: var(--tk-betong); }
.tk-guider { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tk-guide { position: relative; padding: .4rem 1.5rem 1rem; border-left: 1px solid var(--tk-linje-m); margin: 0; }
.tk-guide:first-child { border-left: 0; padding-left: 0; }
.tk-kanal { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border: 2px solid currentColor; font-family: var(--tk-text); font-weight: 600; font-size: 1.05rem; font-variant-numeric: lining-nums tabular-nums; line-height: 1; flex: none; }
.tk-guide .tk-kanal { color: var(--tk-cyan); margin-bottom: 1.1rem; }
.tk-guide-t { font-size: clamp(1.45rem, 2vw, 1.8rem); line-height: 1.1; margin: 0 0 .7rem; color: var(--tk-betong); }
.tk-guide-t a { text-decoration: none; }
.tk-guide-t a::after { content: ""; position: absolute; inset: 0; }
.tk-guide-t a:focus-visible { outline: none; }
.tk-guide-t a:focus-visible::after { outline: 3px solid var(--tk-cyan); outline-offset: 2px; }
.tk-guide:hover .tk-guide-t a { color: var(--tk-cyan); }
.tk-guide-e { margin: 0; color: var(--tk-dim); font-size: 1rem; line-height: 1.55; }
.tk-guide:hover .tk-kanal { background: var(--tk-cyan); color: var(--tk-svart); border-color: var(--tk-cyan); }
@media (max-width: 1000px) { .tk-guider { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem; } .tk-guide:nth-child(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 600px) { .tk-guider { grid-template-columns: 1fr; row-gap: 0; } .tk-guide { border-left: 0; padding: 1.3rem 0; border-top: 1px solid var(--tk-linje-m); display: grid; grid-template-columns: 3.4rem 1fr; column-gap: .6rem; } .tk-guide .tk-kanal { grid-row: span 2; margin: 0; } .tk-guide:first-child { border-top: 0; } }

/* ---------- Startsidan: turnén och avsändaren ---------- */
.tk-turne { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(3rem, 6vw, 5rem) 0; align-items: start; }
.tk-turne-text p { max-width: 52ch; }
.tk-turne-text .tk-sek-t { border-top: 2px solid var(--tk-svart); padding-top: 1rem; margin-bottom: 1.2rem; }
.tk-turne-h { font-weight: 700; margin: 0 0 .4rem; font-size: 1rem; border-top: 2px solid var(--tk-svart); padding-top: 1rem; }
.tk-turne-lista ul { list-style: none; margin: 0; padding: 0; }
.tk-turne-lista li { font-family: var(--tk-display); font-size: clamp(2.1rem, 4.4vw, 3.6rem); line-height: 1.04; padding: .1em 0 .2em; border-bottom: 2px solid var(--tk-svart); }
.tk-turne-not { display: inline-block; background: var(--tk-gul); font-weight: 700; font-size: 1rem; padding: .45rem .8rem; margin-top: 1rem; }
.tk-avsandare { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.tk-avsandare-text .tk-sek-t, .tk-avsandare-amnen .tk-sek-t { border-top: 2px solid var(--tk-svart); padding-top: 1rem; margin-bottom: 1.2rem; }
.tk-avsandare-text p { max-width: 54ch; }
@media (max-width: 860px) { .tk-turne, .tk-avsandare { grid-template-columns: 1fr; } }

.tk-amnen { list-style: none; margin: 0; padding: 0; border-bottom: 2px solid var(--tk-svart); }
.tk-amnen li { margin: 0; border-top: 1px solid var(--tk-svart); }
.tk-amnen a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .1rem 1rem; padding: .85rem .5rem .9rem 0; text-decoration: none; }
.tk-amnen a:hover { background: var(--tk-svart); color: var(--tk-betong); padding-left: .6rem; }
.tk-amnen a:hover .tk-amne-d, .tk-amnen a:hover .tk-amne-c { color: var(--tk-dim); }
.tk-amne-n { font-family: var(--tk-display); font-size: 1.45rem; line-height: 1.15; }
.tk-amne-c { font-size: .92rem; color: var(--tk-grafit); align-self: center; font-variant-numeric: lining-nums; }
.tk-amne-d { grid-column: 1 / -1; font-size: .98rem; color: var(--tk-grafit); line-height: 1.5; }
.tk-amnen a[aria-current="page"] { box-shadow: inset 6px 0 0 var(--tk-svart); padding-left: 1rem; }

/* ---------- Artikel ---------- */
.tk-artikel { max-width: 1000px !important; margin-inline: auto !important; }
.tk-artikel-head { padding-block: clamp(2.5rem, 5vw, 4rem) 1.8rem; }
.tk-kicker { margin: 0 0 1rem; font-weight: 600; font-size: 1rem; }
.tk-kicker a { text-decoration-thickness: 2px; }
.tk-kicker.is-light a { color: var(--tk-cyan); }
.tk-artikel-t { font-size: clamp(2.5rem, 5.6vw, 4.6rem); line-height: 1; margin: 0 0 1.3rem; max-width: 18ch; }
.tk-dek { font-size: clamp(1.15rem, 1.7vw, 1.4rem); font-style: italic; line-height: 1.5; max-width: 46ch; margin: 0 0 1.6rem; }
.tk-dek p { margin: 0; }
.tk-byline { font-size: .95rem; margin: 0; padding-top: .8rem; border-top: 2px solid var(--tk-svart); color: var(--tk-grafit); font-variant-numeric: lining-nums; }
.tk-bild { margin: 0 0 2.5rem !important; }
.tk-bild img { width: 100%; display: block; border: 2px solid var(--tk-svart); }
.tk-las { display: grid; grid-template-columns: 230px minmax(0, 680px); gap: 4rem; justify-content: center; align-items: start; margin-top: 1rem; }
.tk-las-sida { position: sticky; top: 1.5rem; }
.tk-las-sida:empty { display: none; }
.tk-toc { font-size: .95rem; line-height: 1.4; }
.tk-toc-h { font-weight: 700; margin: 0 0 .7rem; padding-bottom: .5rem; border-bottom: 2px solid var(--tk-svart); }
.tk-toc ol { list-style: none; margin: 0; padding: 0; }
.tk-toc li { margin: 0; }
.tk-toc a { display: grid; grid-template-columns: 2rem 1fr; gap: .6rem; align-items: center; padding: .35rem 0; text-decoration: none; min-height: 44px; }
.tk-toc a:hover span:last-child { text-decoration: underline; }
.tk-toc .tk-kanal { width: 1.85rem; height: 1.85rem; font-size: .82rem; border-width: 1.5px; }
.tk-toc a:hover .tk-kanal { background: var(--tk-svart); color: var(--tk-betong); border-color: var(--tk-svart); }
@media (max-width: 1000px) {
	.tk-las { grid-template-columns: minmax(0, 680px); gap: 0; }
	.tk-las-sida { position: static; margin-bottom: 1.8rem; border: 2px solid var(--tk-svart); padding: 1rem 1.1rem .6rem; }
	.tk-toc-h { border: 0; padding: 0; }
}

.tk-text > * { max-width: 680px; }
.tk-text > p:first-child { font-size: 1.12em; line-height: 1.6; }
.tk-text h2 { font-size: clamp(1.8rem, 3vw, 2.3rem); line-height: 1.06; margin: 2.6rem 0 .9rem; }
.tk-text h3 { font-family: var(--tk-text); font-weight: 700; font-size: 1.22rem; line-height: 1.3; margin: 2rem 0 .5rem; }
.tk-text p { margin: 0 0 1.15rem; }
.tk-text ul, .tk-text ol { padding-left: 1.3rem; margin: 0 0 1.3rem; }
.tk-text li { margin-bottom: .45rem; padding-left: .2rem; }
.tk-text ul { list-style: square; }
.tk-text li::marker { color: var(--tk-svart); }
.tk-text a:hover { background: var(--tk-cyan); text-decoration-color: var(--tk-svart); }
.tk-text strong { font-weight: 700; }
.tk-ruta { border: 2px solid var(--tk-svart); padding: 1.2rem 1.4rem .4rem; margin: 2rem 0; }
.tk-ruta.is-lyssna { border-left-width: 12px; border-left-color: var(--tk-cyan); }
.tk-ruta-t { font-family: var(--tk-display); font-size: 1.4rem; line-height: 1.15; margin: 0 0 .7rem !important; }
.tk-ruta ul { list-style: none; padding: 0; margin: 0 0 .8rem; }
.tk-ruta li { padding: .45rem 0 .5rem; border-top: 1px solid var(--tk-svart); margin: 0; font-size: 1rem; line-height: 1.5; }

.tk-skribent { max-width: 680px; margin: 3rem 0 0 calc(230px + 4rem) !important; border-top: 2px solid var(--tk-svart); padding-top: 1rem; }
.tk-skribent-h { margin: 0; font-size: .95rem; color: var(--tk-grafit); }
.tk-skribent-n { font-family: var(--tk-display); font-size: 1.6rem; margin: .1rem 0 .4rem; }
.tk-skribent-bio { font-size: 1rem; margin: 0 0 .6rem; }
.tk-skribent-l { font-size: 1rem; margin: 0; }
@media (max-width: 1000px) { .tk-skribent { margin-left: auto !important; margin-right: auto !important; } }

/* ---------- Guide ---------- */
.tk-guide-head { background: var(--tk-svart); color: var(--tk-betong); padding-block: clamp(2.8rem, 6vw, 4.8rem) clamp(2.4rem, 5vw, 4rem); margin-bottom: 2.6rem; }
.tk-guide-head-in { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: start; max-width: 1000px !important; margin-inline: auto !important; }
.tk-kanal.is-stor { width: clamp(3.6rem, 7vw, 5.6rem); height: clamp(3.6rem, 7vw, 5.6rem); font-size: clamp(1.6rem, 3vw, 2.4rem); color: var(--tk-cyan); border-width: 3px; }
.tk-guidesida-t { font-size: clamp(2.4rem, 5.4vw, 4.4rem); line-height: 1; margin: 0 0 1.2rem; color: var(--tk-betong); }
.tk-guide-head .tk-dek { color: var(--tk-betong); }
.tk-guide-head .tk-byline { color: var(--tk-dim); border-top-color: var(--tk-linje-m); }
.tk-guidesida .tk-bild { max-width: 1000px !important; margin-inline: auto !important; }
.tk-las.is-guide { max-width: 1000px !important; margin-inline: auto !important; }
.tk-guidesida .tk-guidesektion { margin-bottom: 0; }

/* ---------- Sidor ---------- */
.tk-sida-head { max-width: 680px !important; margin-inline: auto !important; padding-block: clamp(2.5rem, 5vw, 4rem) 1.2rem; }
.tk-sida-t { font-size: clamp(2.5rem, 5.6vw, 4.4rem); line-height: 1; margin: 0 0 1.2rem; }
.tk-sida-head .tk-dek { border-bottom: 2px solid var(--tk-svart); padding-bottom: 1.4rem; margin-bottom: 0; max-width: none; }
.tk-sidtext { padding-bottom: clamp(3rem, 6vw, 5rem); max-width: 680px !important; margin-inline: auto !important; }
.tk-text .tk-guider { padding-left: 0; }
.tk-sidtext .tk-guider { grid-template-columns: 1fr; margin-top: 1.5rem; }
.tk-sidtext .tk-guide { border-left: 0; border-top: 2px solid var(--tk-svart); padding: 1.3rem 0; display: grid; grid-template-columns: 3.6rem 1fr; column-gap: .8rem; }
.tk-sidtext .tk-guide .tk-kanal { color: var(--tk-svart); grid-row: span 2; margin: 0; }
.tk-sidtext .tk-guide-t { color: var(--tk-svart); font-size: 1.7rem; margin: 0 0 .4rem; }
.tk-sidtext .tk-guide-e { color: var(--tk-grafit); }
.tk-sidtext .tk-guide:hover .tk-guide-t a { color: var(--tk-svart); text-decoration: underline; }
.tk-sidtext .tk-guide:hover .tk-kanal { background: var(--tk-svart); color: var(--tk-betong); border-color: var(--tk-svart); }
.tk-sidtext .tk-guide-t a:focus-visible::after { outline-color: var(--tk-svart); }

/* ---------- Arkiv, sök, 404 ---------- */
.tk-arkiv-head { padding-block: clamp(2.5rem, 5vw, 4rem) 2rem; }
.tk-arkiv-t { font-size: clamp(2.8rem, 7vw, 6rem); line-height: .98; margin: 0 0 1.2rem; max-width: 16ch; }
.tk-arkiv-head .tk-dek { max-width: 52ch; }
.tk-404 .tk-arkiv-t { max-width: 18ch; }
.tk-tomt { font-size: 1.15rem; border-top: 2px solid var(--tk-svart); padding-top: 1rem; max-width: 52ch; }
.tk-sok { max-width: 640px; margin-top: 1rem; }
.tk-sok .wp-block-search__label { font-weight: 700; font-size: 1rem; margin-bottom: .4rem; }
.tk-sok .wp-block-search__inside-wrapper { border: 0; padding: 0; gap: 0; }
.tk-sok .wp-block-search__input { border: 2px solid var(--tk-svart); border-right: 0; background: var(--tk-betong-ljus); color: var(--tk-svart); font-family: var(--tk-text); font-size: 1.1rem; padding: .7rem .9rem; min-height: 52px; border-radius: 0; }
.tk-sok .wp-block-search__input:focus-visible { outline-offset: 0; }
.tk-sok .wp-block-search__button { background: var(--tk-svart); color: var(--tk-betong); border: 2px solid var(--tk-svart); border-radius: 0; font-family: var(--tk-text); font-weight: 600; font-size: 1rem; padding: .7rem 1.4rem; margin: 0; min-height: 52px; }
.tk-sok .wp-block-search__button:hover { background: var(--tk-cyan); color: var(--tk-svart); }
.tk-pages { margin-top: 2rem; }
.tk-pages ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; }
.tk-pages a, .tk-pages span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 .8rem; border: 2px solid var(--tk-svart); text-decoration: none; font-weight: 600; font-variant-numeric: lining-nums; }
.tk-pages .current { background: var(--tk-svart); color: var(--tk-betong); }
.tk-pages a:hover { background: var(--tk-cyan); }

/* ---------- Sidfot ---------- */
.tk-footer { background: var(--tk-svart); color: var(--tk-betong); padding-bottom: 2.5rem; margin-top: 0 !important; }
.tk-sektion + .tk-footer, main + .tk-footer { margin-top: 0; }
.tk-kam { display: grid; grid-template-columns: repeat(10, 1fr); border-bottom: 1px solid var(--tk-linje-m); margin-bottom: 3rem !important; }
.tk-footer-cols { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.tk-footer-brand p { color: var(--tk-dim); font-size: 1rem; max-width: 40ch; margin: 1rem 0 0; }
.tk-footer-h { font-weight: 700; color: var(--tk-cyan); font-size: 1rem; margin: 0 0 .6rem; }
.tk-footer ul { list-style: none; margin: 0; padding: 0; }
.tk-footer li { margin: 0; }
.tk-footer nav a { display: inline-flex; align-items: center; min-height: 40px; font-size: 1rem; text-decoration: none; }
.tk-footer nav a:hover { text-decoration: underline; text-decoration-color: var(--tk-cyan); text-decoration-thickness: 2px; }
.tk-friskrivning { border-top: 1px solid var(--tk-linje-m); margin-top: 2.6rem !important; padding-top: 1.4rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 2rem; }
.tk-friskrivning p { margin: 0; font-size: .95rem; color: var(--tk-dim); max-width: 78ch; }
.tk-copy { font-variant-numeric: lining-nums; }
@media (max-width: 900px) { .tk-footer-cols { grid-template-columns: 1fr 1fr; } .tk-footer-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .tk-footer-cols { grid-template-columns: 1fr; gap: 1.8rem; } .tk-kam span { font-size: .75rem; } }

/* ---------- Mobil ---------- */
@media (max-width: 640px) {
	.tk-strip { font-size: .85rem; }
	.tk-wordmark { font-size: 1.85rem; }
	.tk-mark { width: 2.2rem; }
	.tk-hero-title { font-size: clamp(2.7rem, 12.5vw, 3.6rem); }
	.tk-affisch-rad { font-size: clamp(2rem, 10vw, 2.6rem); }
	.tk-affisch-kam span { font-size: .75rem; }
}
@media print { .tk-strip, .tk-nav, .tk-footer, .tk-las-sida, .tk-guidesektion { display: none !important; } body { background: #fff; } }
