/*
Theme Name: Gullaskruv Glasriket
Theme URI: https://www.gullaskruv.se/
Description: Eget barntema för Gullaskruv: glaset, bruken och bygden i Glasriket. Flaskgrönt glas, ljus som bryts i ett prisma, glasblåsarpipan som avdelare och bruksorten i siluett.
Author: Gullaskruv
Template: twentytwentyfive
Version: 1.0.0
Text Domain: gk-glasriket
*/

/* ---------- Grund ---------- */
:root {
	--gk-aqua: #E6F2F0;
	--gk-aqua-2: #D3E7E3;
	--gk-vit: #F7FBFA;
	--gk-flaska: #0F3B33;
	--gk-flaska-2: #1A4D43;
	--gk-dimma: #3E6259;
	--gk-ljus: #CFE3DE;
	--gk-glod: #E8742C;
	--gk-linje: #9DBDB6;
	--gk-display: 'Marcellus', 'Optima', 'Candara', serif;
	--gk-text: 'Hind', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--gk-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-padding-top: 1.5rem; -webkit-text-size-adjust: 100%; }
body {
	background: var(--gk-aqua);
	color: var(--gk-flaska);
	font-family: var(--gk-text);
	font-weight: 400;
	font-kerning: normal;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
::selection { background: var(--gk-flaska); color: var(--gk-aqua); }

h1, h2, h3, h4 { font-family: var(--gk-display); font-weight: 400; text-wrap: balance; }
p, li { text-wrap: pretty; }
strong, b { font-weight: 600; }

a { text-decoration-thickness: 1px; text-underline-offset: .2em; transition: color .2s var(--gk-ease), text-decoration-thickness .2s var(--gk-ease), background-color .2s var(--gk-ease); }
a:hover { text-decoration-thickness: 2px; }

:where(a, button, input, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--gk-flaska);
	outline-offset: 3px;
	border-radius: 1px;
}
:where(.gk-hero-wrap, .gk-footer, .gk-guide-head, .gk-guide.is-current, .wp-block-navigation__responsive-container.is-menu-open) :where(a, button, input):focus-visible {
	outline-color: var(--gk-glod);
}

.gk-sr, .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;
}

.gk-skip {
	position: absolute; left: 1rem; top: -4rem; z-index: 1000;
	background: var(--gk-flaska); color: var(--gk-aqua); padding: .75rem 1.1rem;
	font-weight: 600; text-decoration: none; transition: top .15s;
}
.gk-skip:focus { top: 1rem; outline: 3px solid var(--gk-glod); outline-offset: 2px; }

.gk-dot { margin: 0 .5em; color: var(--gk-dimma); }
.gk-muted { color: var(--gk-dimma); }

/* Föräldratemat lägger marginal mellan header, main och footer: nollställ. */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }

/* ---------- Sidhuvud ---------- */
.gk-header { padding-top: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--gk-linje); background: var(--gk-aqua); }
.gk-header-row { gap: 1.5rem; align-items: center; }
.gk-brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--gk-flaska); min-height: 44px; }
.gk-brand:hover .gk-wordmark { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.gk-mark { width: 34px; height: 34px; flex: none; display: block; }
.gk-brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.gk-wordmark { font-family: var(--gk-display); font-size: 1.6rem; letter-spacing: .01em; }
.gk-tag { font-size: .875rem; color: var(--gk-dimma); margin-top: .2rem; letter-spacing: .01em; }
.gk-brand.is-light { color: var(--gk-aqua); }
.gk-brand.is-light .gk-tag { color: var(--gk-ljus); }

.gk-nav .wp-block-navigation-item__content {
	display: inline-flex; align-items: center; min-height: 44px; padding: .35rem .8rem;
	text-decoration: none; color: var(--gk-flaska);
}
.gk-nav .wp-block-navigation-item__content:hover,
.gk-nav .current-menu-item > .wp-block-navigation-item__content,
.gk-nav [aria-current="page"] {
	text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .4em;
}
.gk-nav .wp-block-navigation__submenu-icon { margin-left: 0; width: 24px; height: 24px; padding: 6px; }
.gk-nav .wp-block-navigation__submenu-container {
	background: var(--gk-vit) !important; color: var(--gk-flaska) !important;
	border: 1px solid var(--gk-flaska) !important; padding: .4rem 0; min-width: 18rem !important;
}
.gk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.1rem; width: 100%; }
.gk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--gk-aqua-2); }
.gk-nav-sok .wp-block-navigation-item__content { padding-left: 1rem; margin-left: .5rem; border-left: 1px solid var(--gk-linje); }

/* Mobilmenyn */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	color: var(--gk-flaska);
}
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--gk-flaska) !important; color: var(--gk-aqua) !important; padding: 1.25rem clamp(1rem, 5vw, 2rem) 2rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: var(--gk-aqua); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: flex-start !important; gap: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: var(--gk-aqua) !important; font-family: var(--gk-display); font-size: 1.6rem; padding: .55rem 0 !important;
	border-bottom: 1px solid rgba(230, 242, 240, .22); width: 100%; margin: 0 !important; border-left: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; border: 0 !important; padding: 0 0 .5rem 1rem !important; min-width: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--gk-text); font-size: 1.1rem; color: var(--gk-ljus) !important; border-bottom: 0; padding: .45rem 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none; }

/* ---------- Gemensamma byggstenar ---------- */
.gk-section { margin-top: clamp(3.5rem, 7vw, 6rem) !important; }
.gk-sec-head { margin-bottom: clamp(1.4rem, 3vw, 2.2rem); max-width: 46rem; }
.gk-sec-head.is-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem 2rem; flex-wrap: wrap; max-width: none; }
.gk-sec-title { font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.gk-sec-note { color: var(--gk-dimma); margin: .7rem 0 0; max-width: 40rem; }

.gk-textlink { font-weight: 600; color: var(--gk-flaska); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; display: inline-block; padding: .35rem 0; }
.gk-textlink:hover { text-decoration-thickness: 2px; }

.gk-btn {
	display: inline-flex; align-items: center; min-height: 48px; padding: .7rem 1.35rem;
	background: var(--gk-aqua); color: var(--gk-flaska); border: 2px solid var(--gk-aqua);
	font-weight: 600; text-decoration: none; transition: background-color .2s var(--gk-ease), color .2s var(--gk-ease);
}
.gk-btn:hover { background: transparent; color: var(--gk-aqua); text-decoration: none; }

/* Glasblåsarpipan: munstycke, rör och en kula av varmt glas. */
.gk-pipa { display: flex; align-items: center; max-width: 680px; margin: clamp(2.5rem, 5vw, 3.5rem) auto !important; padding: 0 1.5rem 0 0; }
.gk-pipa::before { content: ""; width: 10px; height: 7px; background: var(--gk-dimma); border-radius: 1px; flex: none; }
.gk-pipa-ror { flex: 1; height: 3px; background: linear-gradient(90deg, var(--gk-dimma), var(--gk-linje) 70%, #C9A58A); }
.gk-pipa-kula {
	width: 26px; height: 20px; margin-left: -3px; border-radius: 48% 52% 50% 50%; flex: none;
	background: radial-gradient(circle at 38% 38%, #FBD3B0 0, #F29A5C 30%, var(--gk-glod) 60%, #B9531B 100%);
	box-shadow: 0 0 0 5px rgba(232, 116, 44, .14), 0 0 22px 4px rgba(232, 116, 44, .35);
}

/* ---------- Startsidan: glasfältet ---------- */
.gk-hero-wrap {
	background: var(--gk-flaska);
	background-image:
		linear-gradient(115deg, rgba(230, 242, 240, .07) 0 22%, transparent 22% 100%),
		linear-gradient(180deg, var(--gk-flaska) 0, #0C332C 100%);
	color: var(--gk-aqua);
	padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 7vw, 5.5rem);
}
.gk-hero-inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.gk-hero-title { font-size: var(--wp--preset--font-size--huge); line-height: 1.02; color: var(--gk-aqua); margin: 0; letter-spacing: -.005em; max-width: 13ch; }
.gk-hero-lede { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.6; color: var(--gk-ljus); max-width: 36rem; margin: 1.6rem 0 0; }
.gk-hero-by { color: var(--gk-ljus); font-size: .95rem; margin: 1rem 0 0; }
.gk-hero-links { display: flex; flex-wrap: wrap; gap: .8rem 1.6rem; align-items: center; margin: 2rem 0 0; }
.gk-hero-links .gk-textlink { color: var(--gk-aqua); }
.gk-hero-art { position: relative; }
.gk-prism { width: 100%; height: auto; display: block; overflow: visible; }
.gk-beam-in { stroke: #F7FBFA; stroke-width: 3; stroke-linecap: round; fill: none; }
.gk-prism-edge { stroke: var(--gk-aqua); stroke-width: 2; fill: none; stroke-linejoin: round; }
.gk-prism-facet { stroke: rgba(230, 242, 240, .3); stroke-width: 1; fill: none; }
.gk-beam-mid { stroke: var(--gk-aqua); stroke-width: 2; opacity: .75; fill: none; }
.gk-beam-out { stroke: #A9DCD1; stroke-width: 2; fill: none; stroke-linecap: round; }
.gk-beam-glod { stroke: var(--gk-glod); stroke-width: 3.5; fill: none; stroke-linecap: round; filter: drop-shadow(0 0 6px rgba(232, 116, 44, .55)); }

/* ---------- Guiderna ---------- */
.gk-guider { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--gk-flaska); border-bottom: 1px solid var(--gk-linje); counter-reset: none; }
.gk-guide { margin: 0; border-left: 1px solid var(--gk-linje); }
.gk-guide:first-child { border-left: 0; }
.gk-guide a { display: flex; flex-direction: column; gap: .55rem; height: 100%; padding: 1.5rem 1.4rem 1.8rem; text-decoration: none; color: var(--gk-flaska); transition: background-color .25s var(--gk-ease); }
.gk-guide:first-child a { padding-left: 0; }
.gk-guide a:hover { background: var(--gk-aqua-2); }
.gk-guide:first-child a:hover { padding-left: 1.4rem; }
.gk-guide-nr { font-family: var(--gk-display); font-size: 2.6rem; line-height: 1; color: var(--gk-flaska); }
.gk-guide-t { font-family: var(--gk-display); font-size: 1.4rem; line-height: 1.2; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: transparent; transition: text-decoration-color .2s; }
.gk-guide a:hover .gk-guide-t { text-decoration-color: currentColor; }
.gk-guide-e { color: var(--gk-dimma); font-size: 1rem; line-height: 1.55; }
.gk-guide.is-current a { background: var(--gk-flaska); color: var(--gk-aqua); padding-left: 1.4rem; }
.gk-guide.is-current .gk-guide-nr { color: var(--gk-glod); }
.gk-guide.is-current .gk-guide-e { color: var(--gk-ljus); }

/* ---------- Listposter ---------- */
.gk-item { margin: 0; }
.gk-item-img { display: block; overflow: hidden; background: var(--gk-aqua-2); aspect-ratio: 3 / 2; margin-bottom: 1rem; }
.gk-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--gk-ease); }
.gk-item:hover .gk-item-img img { transform: scale(1.025); }
.gk-item-kick { margin: 0 0 .35rem; font-size: .95rem; font-weight: 600; }
.gk-item-kick a { color: var(--gk-dimma); text-decoration: none; }
.gk-item-kick a:hover { color: var(--gk-flaska); text-decoration: underline; }
.gk-item-title { font-family: var(--gk-display); font-size: 1.4rem; line-height: 1.22; margin: 0; }
.gk-item-title a { color: var(--gk-flaska); text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .3s var(--gk-ease); }
.gk-item-title a:hover { background-size: 100% 1px; }
.gk-item-ex { color: var(--gk-dimma); margin: .55rem 0 0; font-size: 1.02rem; line-height: 1.6; }
.gk-item-meta { margin: .6rem 0 0; font-size: .9rem; color: var(--gk-dimma); }

.gk-senaste { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.gk-senaste .is-lead { border-top: 2px solid var(--gk-flaska); padding-top: 1.4rem; }
.gk-senaste .is-lead .gk-item-title { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.12; }
.gk-senaste .is-lead .gk-item-ex { font-size: 1.15rem; max-width: 38rem; margin-top: .9rem; }
.gk-list { border-top: 2px solid var(--gk-flaska); }
.gk-list .gk-item { padding: 1.05rem 0 1.15rem; border-bottom: 1px solid var(--gk-linje); }
.gk-list .gk-item-title { font-size: 1.22rem; }
.gk-list .gk-item.has-img { display: grid; grid-template-columns: 96px 1fr; gap: 1rem; }
.gk-list .gk-item.has-img .gk-item-img { margin: 0; aspect-ratio: 1; }

.gk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem clamp(1.5rem, 3vw, 2.6rem); }
.gk-grid > .gk-item, .gk-grid > li > .gk-item, .gk-grid .gk-qitem { border-top: 1px solid var(--gk-flaska); padding-top: 1.1rem; }
.gk-grid.is-feed { list-style: none; padding: 0; margin: 0; }

/* Kortkodslösa frågeslingor (arkiv och sök) */
.gk-feed .wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.gk-feed .wp-block-post-template > li { margin: 0 !important; }
.gk-qitem > * + * { margin-top: 0; }
.gk-qitem .gk-item-kick { margin-bottom: .35rem; }
.gk-qitem .gk-item-kick a { font-weight: 600; }
.gk-qitem .wp-block-post-terms__separator { color: var(--gk-dimma); }
.gk-qitem .gk-item-ex p { margin: .55rem 0 0; color: var(--gk-dimma); font-size: 1.02rem; }
.gk-qitem .wp-block-post-excerpt__more-text { display: none; }
.gk-qitem .wp-block-post-featured-image { margin: 0 0 1rem; aspect-ratio: 3 / 2; overflow: hidden; }
.gk-qitem .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.gk-qitem .gk-item-meta { font-size: .9rem; color: var(--gk-dimma); margin-top: .6rem; }

.wp-block-query-pagination { margin-top: 3rem !important; padding-top: 1.2rem; border-top: 1px solid var(--gk-linje); font-weight: 600; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 .4rem; }
.wp-block-query-pagination .current { background: var(--gk-flaska); color: var(--gk-aqua); }

/* ---------- Orterna ---------- */
.gk-table-wrap { width: 100%; }
.gk-orter, .gk-body table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums lining-nums; }
.gk-orter caption, .gk-body table caption { caption-side: bottom; text-align: left; color: var(--gk-dimma); font-size: .95rem; padding-top: 1rem; max-width: 46rem; }
.gk-orter thead th, .gk-body thead th { text-align: left; font-weight: 600; font-size: .95rem; padding: .7rem 1rem .7rem 0; border-bottom: 2px solid var(--gk-flaska); }
.gk-orter td, .gk-orter tbody th, .gk-body td, .gk-body tbody th { padding: .75rem 1rem .75rem 0; border-bottom: 1px solid var(--gk-linje); text-align: left; vertical-align: baseline; }
.gk-orter tbody th { font-family: var(--gk-display); font-weight: 400; font-size: 1.2rem; }
.gk-orter tbody tr { transition: background-color .2s; }
.gk-orter tbody tr:hover { background: var(--gk-aqua-2); }

/* ---------- Ämnen ---------- */
.gk-amnen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 clamp(1.2rem, 2.5vw, 2rem); }
.gk-amnen li { margin: 0; }
.gk-amnen a { display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.1rem 0 1.3rem; border-top: 2px solid var(--gk-flaska); text-decoration: none; color: var(--gk-flaska); }
.gk-amne-t { font-family: var(--gk-display); font-size: 1.35rem; line-height: 1.2; }
.gk-amnen a:hover .gk-amne-t, .gk-amnen a[aria-current] .gk-amne-t { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.gk-amne-d { color: var(--gk-dimma); font-size: 1rem; line-height: 1.55; }
.gk-amne-n { font-size: .9rem; color: var(--gk-dimma); padding-top: .2rem; }

/* ---------- Om-rutan på startsidan ---------- */
.gk-about { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 4rem); border-top: 1px solid var(--gk-linje); padding-top: clamp(2rem, 4vw, 3rem); }
.gk-about-text p { margin: 0 0 1rem; max-width: 40rem; }

/* ---------- Artiklar ---------- */
.gk-single { padding-top: clamp(2rem, 5vw, 4rem); }
.gk-single > .gk-article.alignwide { max-width: 720px !important; margin-left: auto !important; margin-right: auto !important; }
.gk-article .gk-body, .gk-article .gk-author, .gk-article .gk-pipa { max-width: 680px; margin-left: 0 !important; margin-right: auto !important; }
.gk-article-head { margin-bottom: 2rem; }
.gk-kicker { margin: 0 0 1rem; font-weight: 600; }
.gk-kicker a { color: var(--gk-dimma); text-decoration: none; border-bottom: 1px solid var(--gk-linje); padding-bottom: .1rem; }
.gk-kicker a:hover { color: var(--gk-flaska); border-bottom-color: var(--gk-flaska); }
.gk-article-title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.08; margin: 0; }
.gk-dek, .gk-dek p { font-size: clamp(1.15rem, 1.8vw, 1.35rem); line-height: 1.55; color: var(--gk-dimma); margin: 1.1rem 0 0; max-width: 40rem; }
.gk-byline { gap: 0; font-size: .95rem; color: var(--gk-dimma); margin-top: 1.4rem !important; align-items: baseline; }
.gk-byline > * { margin: 0 !important; }
.gk-byline .gk-dot { margin: 0 .5em !important; }
.gk-byline .wp-block-post-author-name { color: var(--gk-flaska); font-weight: 600; margin-left: .3em !important; }
.gk-byline .wp-block-post-date { color: var(--gk-dimma); font-size: .95rem; }
.gk-hero-img { margin: 0 0 2.4rem !important; }
.gk-hero-img img { width: 100%; height: auto; max-height: 70vh; object-fit: cover; display: block; }

.gk-body { max-width: 680px; margin-left: auto; margin-right: auto; }
.gk-body > * { margin-top: 0; margin-bottom: 1.2rem; }
.gk-body p { line-height: 1.75; }
.gk-body h2 { font-size: clamp(1.6rem, 2.6vw, 2rem); line-height: 1.18; margin: 2.8rem 0 1rem; scroll-margin-top: 1.5rem; }
.gk-body h3 { font-size: clamp(1.25rem, 2vw, 1.45rem); line-height: 1.25; margin: 2rem 0 .7rem; }
.gk-body ul, .gk-body ol { padding-left: 1.3rem; }
.gk-body li { margin-bottom: .45rem; padding-left: .2rem; }
.gk-body li::marker { color: var(--gk-dimma); }
.gk-body a { color: var(--gk-flaska); }
.gk-body img { height: auto; max-width: 100%; }
.gk-body blockquote, .gk-body .wp-block-quote { border-left: 3px solid var(--gk-glod); margin: 2rem 0; padding: .2rem 0 .2rem 1.4rem; font-family: var(--gk-display); font-size: 1.35rem; line-height: 1.45; }
.gk-body blockquote cite { display: block; font-family: var(--gk-text); font-size: .95rem; color: var(--gk-dimma); margin-top: .6rem; font-style: normal; }
.gk-fakta { background: var(--gk-aqua-2); border-top: 3px solid var(--gk-flaska); padding: 1.3rem 1.5rem 1.1rem; margin: 2rem 0 !important; font-size: 1.02rem; }
.gk-fakta > :first-child { margin-top: 0; }
.gk-fakta h2, .gk-fakta h3, .gk-fakta .gk-fakta-h { font-family: var(--gk-display); font-size: 1.3rem; margin: 0 0 .6rem; }
.gk-fakta ul { margin: 0; padding-left: 1.2rem; }
.gk-fakta p { margin: 0 0 .6rem; }

.gk-author { max-width: 680px; margin: 0 auto !important; }
.gk-author-k { margin: 0; font-size: .95rem; color: var(--gk-dimma); }
.gk-author-name { font-family: var(--gk-display); font-size: 1.5rem; margin-top: .2rem !important; }
.gk-author .wp-block-post-author-biography { color: var(--gk-dimma); margin-top: .5rem !important; }
.gk-author-links { display: flex; gap: .5rem 1.6rem; flex-wrap: wrap; margin-top: .8rem !important; }

/* Företagsinlägg: samma läsyta, en saklig rad överst. */
.gk-is-foretag .gk-kicker a { color: var(--gk-dimma); }

/* ---------- Sidor ---------- */
.gk-page { padding-top: clamp(2rem, 5vw, 4rem); }
.gk-page-head { max-width: 680px; margin-left: auto !important; margin-right: auto !important; margin-bottom: 2rem; }
.gk-page-title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.08; margin: 0; }
.gk-page-body.gk-body { max-width: 680px; }
.gk-page-body .gk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.5rem; }

/* Guidesidor */
.gk-guide-head { background: var(--gk-flaska); color: var(--gk-aqua); padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(2.5rem, 5vw, 4rem); background-image: linear-gradient(115deg, rgba(230, 242, 240, .06) 0 18%, transparent 18% 100%); }
.gk-guide-head-inner { max-width: 900px; }
.gk-guide-head-nr { display: flex; align-items: baseline; gap: 1rem; margin: 0 0 1rem; color: var(--gk-ljus); font-size: 1rem; }
.gk-guide-roman { font-family: var(--gk-display); font-size: clamp(3rem, 6vw, 4.6rem); line-height: .9; color: var(--gk-glod); }
.gk-guide-title { font-size: var(--wp--preset--font-size--huge); line-height: 1.03; color: var(--gk-aqua); margin: 0; max-width: 16ch; }
.gk-guide-head .gk-dek, .gk-guide-head .gk-dek p { color: var(--gk-ljus); }
.gk-guide-head .gk-byline, .gk-guide-head .gk-byline .wp-block-post-author-name, .gk-guide-head .gk-dot { color: var(--gk-ljus); }
.gk-guide-head .gk-byline .wp-block-post-author-name { color: var(--gk-aqua); }
.gk-hero-img.is-guide { margin-top: 0 !important; }

.gk-read.is-guide { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); margin-top: clamp(2.5rem, 5vw, 4rem) !important; align-items: start; }
.gk-read-aside { position: sticky; top: 1.5rem; }
.gk-read-main .gk-body { margin-left: 0; }
.gk-read-main .gk-pipa { margin-left: 0 !important; }
.gk-toc-h { font-family: var(--gk-display); font-size: 1.2rem; margin: 0 0 .6rem; }
.gk-toc ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--gk-linje); }
.gk-toc li { margin: 0; }
.gk-toc a { display: block; padding: .4rem 0 .4rem 1rem; margin-left: -2px; border-left: 2px solid transparent; color: var(--gk-dimma); text-decoration: none; font-size: .98rem; line-height: 1.4; }
.gk-toc a:hover { color: var(--gk-flaska); border-left-color: var(--gk-flaska); text-decoration: underline; }

.gk-nasta { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 1.3rem; max-width: 680px; padding: 1.4rem 1.6rem; border: 2px solid var(--gk-flaska); text-decoration: none; color: var(--gk-flaska); transition: background-color .25s var(--gk-ease), color .25s var(--gk-ease); }
.gk-nasta:hover { background: var(--gk-flaska); color: var(--gk-aqua); }
.gk-nasta-k { grid-column: 2; font-size: .95rem; font-weight: 600; }
.gk-nasta-nr { grid-row: 1 / span 2; grid-column: 1; font-family: var(--gk-display); font-size: 3rem; line-height: 1; align-self: center; }
.gk-nasta-t { grid-column: 2; font-family: var(--gk-display); font-size: 1.5rem; line-height: 1.2; }

/* ---------- Arkiv, sök och 404 ---------- */
.gk-archive { padding-top: clamp(2rem, 5vw, 4rem); }
.gk-archive-head { margin-bottom: clamp(2rem, 4vw, 3rem) !important; max-width: 50rem; }
.gk-arch-k { margin: 0 0 .7rem; color: var(--gk-dimma); font-weight: 600; font-size: .98rem; }
.gk-archive-title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.06; margin: 0; }
.gk-archive-head .gk-dek { max-width: 42rem; }

.gk-search { margin-top: 1.6rem !important; max-width: 36rem; }
.gk-search .wp-block-search__inside-wrapper { border: 0; padding: 0; gap: .5rem; }
.gk-search .wp-block-search__input { border: 2px solid var(--gk-flaska); background: var(--gk-vit); color: var(--gk-flaska); min-height: 50px; padding: .5rem .9rem; font: inherit; font-size: 1.05rem; border-radius: 0; }
.gk-search .wp-block-search__input::placeholder { color: var(--gk-dimma); opacity: 1; }
.gk-search .wp-block-search__button { background: var(--gk-flaska); color: var(--gk-aqua); border: 2px solid var(--gk-flaska); min-height: 50px; padding: 0 1.4rem; font-weight: 600; margin: 0; border-radius: 0; }
.gk-search .wp-block-search__button:hover { background: var(--gk-flaska-2); }

.gk-404 { padding-top: clamp(3rem, 7vw, 6rem); }
.gk-404-inner { max-width: 44rem; }

/* ---------- Sidfot ---------- */
.gk-silhuett { display: block; width: 100%; height: clamp(84px, 11vw, 160px); margin-top: clamp(4rem, 8vw, 7rem); }
.gk-sil-fyll { fill: var(--gk-flaska); }
.gk-sil-glod { fill: var(--gk-glod); }
.gk-sil-fonster { fill: #F2A266; opacity: .9; }
.gk-sil-fonster.is-hem { opacity: .55; }
.gk-sil-rok { fill: none; stroke: var(--gk-linje); stroke-width: 2.2; stroke-linecap: round; opacity: .8; }
.gk-site-footer { margin-top: 0 !important; }
.gk-footer { background: var(--gk-flaska); color: var(--gk-ljus); padding-top: clamp(2rem, 4vw, 3rem); padding-bottom: 2.5rem; margin-top: -1px; }
.gk-footer a { color: var(--gk-aqua); }
.gk-footer-cols { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 2rem clamp(1.5rem, 3vw, 3rem); }
.gk-footer-brand p { font-size: 1rem; line-height: 1.6; max-width: 26rem; margin: 1rem 0 0; }
.gk-footer-h { font-family: var(--gk-display); font-size: 1.2rem; color: var(--gk-aqua); margin: 0 0 .6rem; }
.gk-footer ul { list-style: none; margin: 0; padding: 0; }
.gk-footer li { margin: 0; }
.gk-footer li a { display: inline-flex; align-items: baseline; gap: .6rem; min-height: 32px; padding: .2rem 0; text-decoration: none; font-size: 1rem; }
.gk-footer li a:hover { text-decoration: underline; }
.gk-footer-guider span { font-family: var(--gk-display); color: #F0894A; min-width: 1.6rem; }
.gk-friskrivning { margin-top: 2.5rem !important; padding-top: 1.4rem; border-top: 1px solid rgba(230, 242, 240, .22); font-size: .95rem; }
.gk-friskrivning p { margin: 0 0 .5rem; max-width: 60rem; }
.gk-legal { color: var(--gk-ljus); }

/* ---------- Rörelse ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.gk-item:hover .gk-item-img img { transform: none; }
}

/* ---------- Mindre skärmar ---------- */
@media (max-width: 1080px) {
	.gk-guider { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gk-guide:nth-child(3) { border-left: 0; }
	.gk-guide:nth-child(3) a { padding-left: 0; }
	.gk-guide:nth-child(n+3) { border-top: 1px solid var(--gk-linje); }
	.gk-amnen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gk-footer-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gk-footer-brand { grid-column: 1 / -1; }
	.gk-read.is-guide { grid-template-columns: minmax(0, 1fr); }
	.gk-read-aside { position: static; max-width: 680px; }
	.gk-toc { background: var(--gk-aqua-2); padding: 1.2rem 1.4rem; }
}
@media (max-width: 860px) {
	.gk-hero-inner { grid-template-columns: minmax(0, 1fr); }
	.gk-hero-art { max-width: 460px; }
	.gk-senaste { grid-template-columns: minmax(0, 1fr); }
	.gk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gk-about { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.gk-header { padding-top: .6rem; padding-bottom: .6rem; }
	.gk-wordmark { font-size: 1.4rem; }
	.gk-tag { font-size: .875rem; }
	.gk-mark { width: 30px; height: 30px; }
	.gk-hero-title { font-size: clamp(2.3rem, 10.5vw, 3rem); }
	.gk-hero-art { display: none; }
	.gk-guider { grid-template-columns: minmax(0, 1fr); }
	.gk-guide { border-left: 0; border-top: 1px solid var(--gk-linje); }
	.gk-guide:first-child { border-top: 0; }
	.gk-guide a, .gk-guide:nth-child(3) a { padding: 1.1rem 0 1.3rem; display: grid; grid-template-columns: 3.2rem 1fr; column-gap: .8rem; row-gap: .3rem; }
	.gk-guide a:hover, .gk-guide:first-child a:hover { padding-left: 0; }
	.gk-guide.is-current a { padding-left: .8rem; }
	.gk-guide-nr { grid-row: 1 / span 2; font-size: 2rem; }
	.gk-grid { grid-template-columns: minmax(0, 1fr); }
	.gk-amnen { grid-template-columns: minmax(0, 1fr); }
	.gk-footer-cols { grid-template-columns: minmax(0, 1fr); }
	.gk-footer li a { min-height: 44px; align-items: center; }
	/* Tabellen staplas: varje ort blir ett litet block. */
	.gk-orter thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.gk-orter, .gk-orter tbody, .gk-orter tr, .gk-orter th, .gk-orter td { display: block; }
	.gk-orter tr { padding: .9rem 0; border-bottom: 1px solid var(--gk-linje); }
	.gk-orter td, .gk-orter tbody th { border: 0; padding: .1rem 0; }
	.gk-orter td:nth-of-type(1)::before { content: "Kommun: "; color: var(--gk-dimma); }
	.gk-orter td:nth-of-type(2)::before { content: "Län: "; color: var(--gk-dimma); }
	.gk-orter td:nth-of-type(3) a { display: inline-block; padding: .35rem 0; }
	.gk-orter caption { display: block; }
	.gk-nasta { padding: 1.1rem 1.2rem; }
	.gk-nasta-nr { font-size: 2.4rem; }
	.gk-search .wp-block-search__inside-wrapper { flex-wrap: nowrap; }
}
@media (max-width: 340px) {
	.gk-tag { display: none; }
}

/* Listposter inuti en sidas brödtext (Samarbeten, Alla artiklar): brödtextens marginaler gäller inte här. */
.gk-body .gk-item-img img { height: 100%; }
.gk-body .gk-item-title { margin: 0; font-size: 1.4rem; line-height: 1.22; }
.gk-body .gk-item p { line-height: 1.6; }
.gk-body .gk-item-kick { margin: 0 0 .35rem; }
.gk-body .gk-item-ex { margin: .55rem 0 0; }
.gk-body .gk-item-meta { margin: .6rem 0 0; }
