/* ==========================================================================
   guldfestslussen.se Child 1.1.0
   Municipal-portal layout for an independent guide to Slussen and Slussbron ("Guldbron") in Stockholm (no connection
   to Stockholms stad): large masthead with the drawn logo, an info strip with a slanted end, a white navigation bar in
   capitals, a photo hero with the site search, a white shortcut panel with round icon tiles, a dated news list with a
   sidebar of white widgets, fact cards under a large faded word, white text panels on warm light sections, pill
   buttons and a four-column near-black footer. Headings Lora 400/700 (+ 400 italic), body Source Sans 3
   400/600/700 (+ 400 italic), both self-hosted, OFL.

   Colour pairs used for text (WCAG 2.2 AA, normal text >= 4.5:1; verified with the WCAG luminance formula):
   #14202b on #fff 16.5 · #14202b on #f4f1ea 14.6 · #22303b on #fff 13.5 · #22303b on #f4f1ea 12.0 ·
   #5a6570 on #fff 6.0 · #5a6570 on #f4f1ea 5.3 · #1d3a52 on #fff 11.8 · #1d3a52 on #f4f1ea 10.5 ·
   #fff on #1d3a52 11.8 · #fff on #162e42 14.0 · #d9e2ea on #1d3a52 9.0 · #d9e2ea on #162e42 10.7 ·
   #e3bd6d on #162e42 7.9 · #e3bd6d on #1d3a52 6.6 · #fff on #7d5a14 6.3 (info strip) · #fff on #14202b 16.5 ·
   #7d5a14 on #fff 6.3 · #7d5a14 on #f4f1ea 5.6 · #fff on #634610 8.7 · #14202b on #e3bd6d 9.3 · #14202b on #f0d08a 11.1 ·
   #e3bd6d on #14202b 9.3 · #c8d0d8 on #14202b 10.6 · #c8d0d8 on #0e1720 11.6 · #a3271c on #fff 7.3 ·
   text on photos sits on a dark veil; worst case = a pure white photo: 86 % #0e1720 under the hero text #fff 12.0,
   #d9e2ea 9.2, #e3bd6d 6.8; at least 77 % #0e1720 under title-band text #fff 8.7, #d9e2ea 6.6, #e3bd6d 4.9; 84 % in the
   masthead (optional photo) #fff 11.2, #d9e2ea 8.5, #e3bd6d 6.3; 88 % #14202b under card text #fff 11.5, #d9e2ea 8.7,
   #e3bd6d 6.4. Form borders #7f8a94 on #fff 3.5 (non-text).
   #b8862b is decoration only (rules, ornaments, markers); gold text on light surfaces uses #7d5a14, gold text on
   dark surfaces #e3bd6d.
   The articles' own .gs-wrap styles always win: theme rules inside the text use :where() (zero extra specificity),
   theme tokens are prefixed --gft-* and never use the names the articles read (--water, --dark, --light, --line,
   --gold, --gold-text). The theme only feeds its palette into those variables on .gs-wrap.
   ========================================================================== */

/* Fonts ------------------------------------------------------------------- */
@font-face { font-family: "Lora"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/lora-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lora"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/lora-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lora"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/lora-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lora"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/lora-latin-ext-400-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lora"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/lora-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lora"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/lora-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-ext-400-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-3-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-3-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-3-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Tokens (prefixed, never the names the articles read) ------------------- */
:root {
	--gft-water: #1d3a52;
	--gft-water-700: #162e42;
	--gft-water-600: #203f58;
	--gft-water-line: #34536c;
	--gft-water-tint: #e8eef3;
	--gft-dark: #14202b;
	--gft-dark-2: #0e1720;
	--gft-light: #f4f1ea;
	--gft-light-2: #faf8f4;
	--gft-line: #e2dccf;
	--gft-field: #7f8a94;
	--gft-gold: #b8862b;
	--gft-gold-text: #7d5a14;
	--gft-gold-800: #634610;
	--gft-gold-tint: #f6eedc;
	--gft-gold-on-dark: #e3bd6d;
	--gft-gold-on-dark-hover: #f0d08a;
	--gft-text: #22303b;
	--gft-muted: #5a6570;
	--gft-on-dark: #c8d0d8;
	--gft-on-water: #d9e2ea;
	--gft-watermark: #ece7dc;

	--gft-font: "Source Sans 3", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--gft-font-head: "Lora", Georgia, "Times New Roman", serif;

	--gft-wrap: 1220px;
	--gft-measure: 780px;
	--gft-gutter: clamp(16px, 3vw, 32px);
	--gft-section: clamp(56px, 7vw, 100px);
	--gft-radius: 3px;
	--gft-radius-sm: 2px;
	--gft-fast: .2s;
	--gft-shadow: 0 20px 44px rgba(20, 32, 43, .16);
	--gft-shadow-soft: 0 6px 22px rgba(20, 32, 43, .08);
	--gft-header-h: 72px;
	--gft-waves: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24' viewBox='0 0 120 24'%3E%3Cpath d='M0 12q15-7 30 0t30 0 30 0 30 0' fill='none' stroke='%23ffffff' stroke-opacity='.05' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* Base -------------------------------------------------------------------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html.gft-lock { overflow: hidden; }

body.gft-theme {
	margin: 0;
	background: #fff;
	color: var(--gft-text);
	font-family: var(--gft-font);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

.gft-theme h1, .gft-theme h2, .gft-theme h3, .gft-theme h4, .gft-theme h5, .gft-theme h6 {
	font-family: var(--gft-font-head);
	font-weight: 700;
	color: var(--gft-dark);
	line-height: 1.2;
	letter-spacing: -.005em;
	text-wrap: balance;
	overflow-wrap: break-word;
}

.gft-theme a { color: var(--gft-gold-text); transition: color var(--gft-fast), background-color var(--gft-fast), border-color var(--gft-fast); }
.gft-theme a:hover { color: var(--gft-gold-800); }
.gft-theme :focus-visible { outline: 3px solid var(--gft-gold-text); outline-offset: 2px; }
.gft-theme ::selection { background: var(--gft-gold-tint); color: var(--gft-dark); }
.gft-theme img { max-width: 100%; height: auto; }
.gft-theme mark { background: var(--gft-gold-tint); color: var(--gft-dark); padding: 0 .15em; }
.gft-theme button, .gft-theme input, .gft-theme select, .gft-theme textarea { font-family: var(--gft-font); }
.gft-theme strong, .gft-theme b { font-weight: 700; }

.gft-theme .site.grid-container, .gft-theme #page { max-width: none; padding: 0; margin: 0; background: transparent; }
.gft-theme .site-content { display: block; padding: 0; background: transparent; }
.gft-theme .inside-article, .gft-theme .comments-area { background: transparent; }
.gft-theme .skip-link:focus { position: fixed; left: 8px; top: 8px; z-index: 1000; width: auto; height: auto; clip: auto; clip-path: none; background: var(--gft-water); color: #fff; padding: .7em 1.1em; font-weight: 700; text-decoration: none; border-radius: var(--gft-radius); }

.gft-container { width: 100%; max-width: calc(var(--gft-wrap) + 2 * var(--gft-gutter)); margin-inline: auto; padding-inline: var(--gft-gutter); box-sizing: border-box; }
.gft-container--text { max-width: calc(var(--gft-measure) + 2 * var(--gft-gutter)); }
.gft-main { display: block; min-height: 50vh; }
.gft-icon { width: 1.1em; height: 1.1em; flex: none; vertical-align: -.18em; }

/* Ornament: bridge deck over water (inline SVG, see gft_bridge_line()) */
.gft-bridgeline { display: block; width: 100%; height: 100%; overflow: visible; }
.gft-bridgeline path { fill: none; vector-effect: non-scaling-stroke; }
.gft-bridgeline__deck { stroke: var(--gft-gold); stroke-width: 2; }
.gft-bridgeline__deck--under { stroke-width: 1; opacity: .7; }
.gft-bridgeline__pier { stroke: var(--gft-gold); stroke-width: 1.4; opacity: .8; }
.gft-bridgeline__water { stroke: currentColor; stroke-width: 1.2; }
.gft-bridgeline__water--soft { opacity: .55; }

/* Buttons: pills in capitals --------------------------------------------- */
.gft-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .6em; box-sizing: border-box;
	min-height: 48px; padding: .75em 1.6em; border: 2px solid transparent; border-radius: 999px;
	font: 700 .8125rem/1.2 var(--gft-font); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; cursor: pointer; white-space: nowrap;
	transition: background-color var(--gft-fast), color var(--gft-fast), border-color var(--gft-fast), box-shadow var(--gft-fast);
}
.gft-btn .gft-icon { width: 18px; height: 18px; transition: transform var(--gft-fast); }
.gft-btn:hover .gft-icon--arrow { transform: translateX(3px); }
.gft-btn:hover .gft-icon--arrow-left { transform: translateX(-3px); }
.gft-btn--small { min-height: 40px; padding: .5em 1.2em; font-size: .75rem; }
/* Gold-text button for light surfaces (white text on #7d5a14). */
.gft-theme .gft-btn--accent { background: var(--gft-gold-text); border-color: var(--gft-gold-text); color: #fff; }
.gft-theme .gft-btn--accent:hover { background: var(--gft-gold-800); border-color: var(--gft-gold-800); color: #fff; }
/* Light gold button for dark and water-blue surfaces (dark text on #e3bd6d). */
.gft-theme .gft-btn--gold { background: var(--gft-gold-on-dark); border-color: var(--gft-gold-on-dark); color: var(--gft-dark); }
.gft-theme .gft-btn--gold:hover { background: var(--gft-gold-on-dark-hover); border-color: var(--gft-gold-on-dark-hover); color: var(--gft-dark); }
.gft-theme .gft-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .75); color: #fff; }
.gft-theme .gft-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--gft-dark); }
.gft-theme .gft-btn--outline { background: transparent; border-color: var(--gft-water); color: var(--gft-water); }
.gft-theme .gft-btn--outline:hover { background: var(--gft-water); color: #fff; }

/* Small text elements ------------------------------------------------------ */
.gft-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.gft-chips li { margin: 0; }
.gft-theme .gft-chip { display: inline-flex; align-items: center; gap: .5em; min-height: 40px; padding: .3em 1.1em; box-sizing: border-box; border: 1px solid var(--gft-line); border-radius: 999px; background: #fff; color: var(--gft-dark); font-size: .9375rem; font-weight: 600; line-height: 1.3; text-decoration: none; }
.gft-chip .gft-icon { width: 18px; height: 18px; color: var(--gft-gold-text); transition: color var(--gft-fast); }
.gft-theme .gft-chip:hover { border-color: var(--gft-water); background: var(--gft-water); color: #fff; }
.gft-theme .gft-chip:hover .gft-icon { color: var(--gft-gold-on-dark); }

/* Category label: small capitals in gold text after a gold hairline */
.gft-theme .gft-label { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 10px; color: var(--gft-gold-text); font-size: .75rem; font-weight: 700; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; text-decoration: none; }
.gft-theme .gft-label::before { content: ""; width: 20px; height: 1px; background: var(--gft-gold); }
.gft-theme a.gft-label:hover { color: var(--gft-water); }

.gft-more { display: inline-flex; align-items: center; gap: .45em; color: var(--gft-gold-text); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gft-more .gft-icon { width: 17px; height: 17px; transition: transform var(--gft-fast); }

/* Section heading: square outline ornament behind a large serif title, gold kicker after a hairline */
.gft-heading { position: relative; isolation: isolate; margin: 0 0 clamp(26px, 3.5vw, 40px); max-width: 48rem; }
.gft-heading::before { content: ""; position: absolute; left: -12px; top: -14px; z-index: -1; width: 64px; height: 64px; border: 2px solid var(--gft-gold); opacity: .32; }
.gft-heading--center { margin-inline: auto; text-align: center; }
.gft-heading--center::before { content: none; }
.gft-heading__kicker { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 10px; color: var(--gft-gold-text); font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.gft-heading__kicker::before { content: ""; width: 30px; height: 1px; background: var(--gft-gold); }
.gft-heading--center .gft-heading__kicker::after { content: ""; width: 30px; height: 1px; background: var(--gft-gold); }
.gft-theme .gft-title { margin: 0; font-size: clamp(1.85rem, 1.4rem + 1.6vw, 2.75rem); font-weight: 700; line-height: 1.12; }
.gft-heading--light::before { border-color: var(--gft-gold-on-dark); opacity: .4; }
.gft-heading--light .gft-heading__kicker { color: var(--gft-gold-on-dark); }
.gft-theme .gft-heading--light .gft-title { color: #fff; }

/* Header: masthead with the large logo -------------------------------------------- */
.gft-header { position: sticky; top: var(--gft-stick, 0px); z-index: 100; }
.admin-bar .gft-header { top: calc(var(--gft-stick, 0px) + 32px); }
.gft-masthead { position: relative; overflow: hidden; background: var(--gft-water-700) var(--gft-waves) repeat; color: #fff; }
.gft-masthead__bg { position: absolute; inset: 0; }
.gft-masthead__bg img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.gft-masthead__bg::after { content: ""; position: absolute; inset: 0; background: rgba(14, 23, 32, .84); }
.gft-masthead__inner { position: relative; display: flex; align-items: center; padding-block: clamp(22px, 3.6vw, 50px) clamp(18px, 2.8vw, 38px); }
.gft-brand { display: flex; align-items: center; flex: none; min-width: 0; max-width: 100%; }
.gft-brand__logo { display: flex; }
.gft-theme .gft-brand__img { display: block; width: auto; height: auto; max-height: 96px; max-width: min(420px, 100%); object-fit: contain; }

.gft-theme .gft-wordmark { display: inline-flex; align-items: center; gap: clamp(12px, 1.6vw, 20px); min-width: 0; color: #fff; text-decoration: none; }
.gft-mark { flex: none; width: 44px; height: 44px; overflow: visible; }
.gft-mark__tile { fill: var(--gft-water); }
.gft-mark__gold { fill: var(--gft-gold); }
.gft-mark__wave { fill: none; stroke: var(--gft-light); stroke-width: 1.9; stroke-linecap: round; }
.gft-mark__wave--soft { opacity: .55; }
.gft-masthead .gft-mark { width: clamp(54px, 2.4rem + 3.4vw, 92px); height: auto; aspect-ratio: 1; }
.gft-masthead .gft-mark__tile { stroke: var(--gft-gold-on-dark); stroke-width: 1.2; }
.gft-wordmark__text { display: flex; flex-direction: column; min-width: 0; }
.gft-wordmark__name { font-family: var(--gft-font-head); font-size: clamp(1.75rem, 1.1rem + 2.6vw, 3.25rem); font-weight: 700; line-height: 1; letter-spacing: -.01em; color: #fff; }
.gft-wordmark__gold { color: var(--gft-gold-on-dark); }
.gft-wordmark__tag { margin-top: 8px; padding-top: 7px; border-top: 1px solid rgba(227, 189, 109, .45); color: var(--gft-on-water); font-size: clamp(.8125rem, .76rem + .2vw, .9375rem); font-weight: 600; letter-spacing: .06em; line-height: 1.2; white-space: nowrap; }
.gft-theme .gft-wordmark:hover .gft-wordmark__name { color: #fff; }
.gft-theme .gft-wordmark:hover .gft-wordmark__tag { color: #fff; }
.gft-masthead__deco { position: absolute; right: 0; bottom: 46px; width: min(46%, 640px); height: 60%; color: var(--gft-water-line); opacity: .8; pointer-events: none; }
@media (max-width: 899.98px) { .gft-masthead__deco { display: none; } }

/* Info strip at the masthead's lower edge: independence note and Om sajten / Kontakt in a slanted end */
.gft-topbar__wrap { position: relative; }
.gft-topbar { display: flex; align-items: stretch; justify-content: space-between; min-height: 46px; background: var(--gft-gold-text); color: #fff; font-size: .875rem; line-height: 1.4; }
.gft-topbar__note { display: flex; align-items: center; gap: .6em; min-width: 0; margin: 0; padding: 8px 20px; font-weight: 600; letter-spacing: .01em; }
.gft-topbar__note .gft-icon { width: 18px; height: 18px; color: #fff; }
.gft-topbar__menu { position: relative; display: flex; align-items: center; flex: none; padding: 6px 22px 6px 10px; background: var(--gft-dark); }
.gft-topbar__menu::before { content: ""; position: absolute; top: 0; bottom: 0; left: -24px; width: 25px; background: var(--gft-dark); clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.gft-topbar__menu ul { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; }
.gft-topbar__menu li { display: flex; align-items: center; margin: 0; }
.gft-topbar__menu li + li::before { content: ""; width: 1px; height: 12px; margin: 0 14px; background: var(--gft-gold); }
.gft-theme .gft-topbar a { color: #fff; font-weight: 700; text-decoration: none; }
.gft-theme .gft-topbar a:hover { color: var(--gft-gold-on-dark); text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 767.98px) {
	.gft-topbar__wrap { padding-inline: 0; }
	.gft-topbar { flex-direction: column; }
	.gft-topbar__note { justify-content: center; padding: 8px var(--gft-gutter); text-align: center; font-size: .8125rem; }
	.gft-topbar__note .gft-icon { display: none; }
	.gft-topbar__menu { justify-content: center; padding: 6px var(--gft-gutter); }
	.gft-topbar__menu::before { content: none; }
}

/* Header: white navigation bar ------------------------------------------------------ */
.gft-mainbar { position: relative; background: #fff; box-shadow: 0 1px 0 var(--gft-line); transition: box-shadow var(--gft-fast); }
.gft-header.is-stuck .gft-mainbar { box-shadow: 0 1px 0 var(--gft-line), 0 8px 22px rgba(20, 32, 43, .1); }
.gft-mainbar__inner { display: flex; align-items: stretch; gap: 16px; min-height: var(--gft-header-h); }

.gft-drawer { display: flex; align-items: stretch; justify-content: flex-start; flex: 1 1 auto; min-width: 0; gap: 12px; }
.gft-drawer .gft-search, .gft-drawer__cta { display: none; }
.gft-nav { display: flex; min-width: 0; }
.gft-nav__list { list-style: none; display: flex; flex-wrap: nowrap; margin: 0 0 0 -16px; padding: 0; }
.gft-nav__list > li { position: relative; display: flex; margin: 0; }
.gft-theme .gft-nav__list > li > a { position: relative; display: flex; align-items: center; gap: 4px; padding: 0 clamp(10px, 1.1vw, 16px); color: var(--gft-dark); font-size: .875rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.gft-nav__list > li > a .gft-icon { width: 15px; height: 15px; transition: transform var(--gft-fast); }
.gft-nav__list > li > a::after { content: ""; position: absolute; left: 50%; bottom: calc(50% - 1.35em); width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: var(--gft-gold); transform: scale(0); transition: transform var(--gft-fast); }
.gft-theme .gft-nav__list > li > a:hover, .gft-theme .gft-nav__list > li:focus-within > a,
.gft-theme .gft-nav__list > .current-menu-item > a, .gft-theme .gft-nav__list > .current-menu-ancestor > a, .gft-theme .gft-nav__list > .current-category-ancestor > a, .gft-theme .gft-nav__list > .current-post-ancestor > a { color: var(--gft-water); }
.gft-nav__list > li > a:hover::after, .gft-nav__list > li:focus-within > a::after,
.gft-nav__list > .current-menu-item > a::after, .gft-nav__list > .current-menu-ancestor > a::after, .gft-nav__list > .current-category-ancestor > a::after, .gft-nav__list > .current-post-ancestor > a::after { transform: scale(1); }
.gft-nav__list > li:hover > a .gft-icon { transform: rotate(180deg); }
.gft-nav .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 250px; z-index: 20; list-style: none; margin: 0; padding: 8px;
	background: #fff; border: 1px solid var(--gft-line); border-top: 3px solid var(--gft-gold); box-shadow: var(--gft-shadow);
	opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--gft-fast), transform var(--gft-fast), visibility 0s var(--gft-fast);
}
.gft-nav li:hover > .sub-menu, .gft-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.gft-theme .gft-nav .sub-menu a { display: block; padding: .55em .9em; color: var(--gft-dark); font-size: .9375rem; text-decoration: none; }
.gft-theme .gft-nav .sub-menu a:hover { background: var(--gft-light); color: var(--gft-water); }
.gft-theme .gft-header--tight .gft-nav__list > li > a { padding: 0 8px; letter-spacing: .03em; font-size: .8125rem; }
.gft-header--tight .gft-nav__list { margin-left: -8px; }
.gft-header--wrap .gft-nav { flex: 1 1 auto; }
.gft-header--wrap .gft-nav__list { flex: 0 1 auto; min-width: 0; flex-wrap: wrap; align-content: center; padding-block: 8px; }
.gft-theme .gft-header--wrap .gft-nav__list > li > a { padding-block: 8px; }
.gft-header--wrap .gft-nav__list > li > a::after { bottom: 0; }

/* The actions sit in their own flex column with a white background: they can never cover the menu. */
.gft-actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; flex: none; background: #fff; }
.gft-search-toggle, .gft-menu-toggle {
	display: grid; place-items: center; flex: none; width: 44px; height: 44px; margin: 0; padding: 0; cursor: pointer;
	background: var(--gft-water); color: #fff; border: 1px solid var(--gft-water); border-radius: var(--gft-radius-sm); transition: background-color var(--gft-fast), color var(--gft-fast), border-color var(--gft-fast);
}
.gft-search-toggle:hover, .gft-search-toggle[aria-expanded="true"] { background: var(--gft-dark); border-color: var(--gft-dark); color: #fff; }
.gft-search-toggle .gft-icon, .gft-menu-toggle .gft-icon { width: 22px; height: 22px; }
.gft-search-toggle__close, .gft-menu-toggle__close { display: none !important; }
.gft-search-toggle[aria-expanded="true"] .gft-search-toggle__open, .gft-menu-toggle[aria-expanded="true"] .gft-menu-toggle__open { display: none !important; }
.gft-search-toggle[aria-expanded="true"] .gft-search-toggle__close, .gft-menu-toggle[aria-expanded="true"] .gft-menu-toggle__close { display: grid !important; }
.gft-menu-toggle { display: none; }
.gft-menu-toggle:hover, .gft-menu-toggle[aria-expanded="true"] { background: var(--gft-dark); border-color: var(--gft-dark); color: #fff; }
.gft-cta { min-height: 44px; padding-inline: 1.3em; }
.gft-header--compact .gft-cta { width: 44px; padding: 0; gap: 0; font-size: 0; }
.gft-header--compact .gft-cta .gft-icon { width: 20px; height: 20px; }

.gft-searchbar { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: var(--gft-water); box-shadow: var(--gft-shadow); padding: 22px 0; display: none; }
.gft-header.is-searching .gft-searchbar { display: block; }
.gft-searchbar .gft-search { max-width: 760px; margin-left: auto; }
.gft-theme .gft-searchbar .gft-search__input { border-color: #fff; }

/* Search form */
.gft-search { display: flex; align-items: stretch; margin: 0; }
.gft-theme .gft-search__input {
	flex: 1 1 auto; width: 100%; min-width: 0; margin: 0; box-sizing: border-box;
	background: #fff; color: var(--gft-dark); border: 1px solid var(--gft-field); border-right: 0; border-radius: var(--gft-radius-sm) 0 0 var(--gft-radius-sm);
	padding: .8em 1.1em; font: 400 1.0625rem/1.3 var(--gft-font); transition: border-color var(--gft-fast);
}
.gft-theme .gft-search__input::placeholder { color: var(--gft-muted); opacity: 1; }
.gft-theme .gft-search__input:focus { outline: none; border-color: var(--gft-water); box-shadow: inset 0 0 0 1px var(--gft-water); }
.gft-theme .gft-search__submit {
	display: inline-flex; align-items: center; gap: .5em; flex: none; margin: 0; cursor: pointer; min-height: 50px;
	background: var(--gft-gold-text); color: #fff; border: 1px solid var(--gft-gold-text); border-radius: 0 var(--gft-radius-sm) var(--gft-radius-sm) 0;
	padding: 0 1.3em 0 1.1em; font: 700 .875rem/1 var(--gft-font); letter-spacing: .08em; text-transform: uppercase; transition: background-color var(--gft-fast);
}
.gft-theme .gft-search__submit:hover { background: var(--gft-gold-800); border-color: var(--gft-gold-800); color: #fff; }
.gft-searchbar .gft-search__submit, .gft-band .gft-search__submit, .gft-hero .gft-search__submit { background: var(--gft-gold-on-dark); border-color: var(--gft-gold-on-dark); color: var(--gft-dark); }
.gft-theme .gft-searchbar .gft-search__submit:hover, .gft-theme .gft-band .gft-search__submit:hover, .gft-theme .gft-hero .gft-search__submit:hover { background: var(--gft-gold-on-dark-hover); border-color: var(--gft-gold-on-dark-hover); color: var(--gft-dark); }

/* Mobile and tablet header: a "Meny" bar opens the drawer (below 1024 px the menu does not fit in one row) */
@media (max-width: 1023.98px) {
	:root { --gft-header-h: 60px; }
	.gft-mainbar__inner { gap: 12px; }
	.gft-search-toggle, .gft-searchbar, .gft-cta { display: none !important; }
	.gft-actions { flex: 1 1 auto; }
	.gft-theme .gft-menu-toggle { display: inline-flex; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; height: 44px; padding: 0 16px; font: 700 .875rem/1 var(--gft-font); letter-spacing: .12em; text-transform: uppercase; }
	.gft-menu-toggle[aria-expanded="true"] .gft-menu-toggle__close { display: inline-flex !important; }
	.gft-js .gft-drawer {
		position: fixed; left: 0; right: 0; top: var(--gft-drawer-top, 108px); bottom: 0; z-index: 200;
		flex-direction: column; justify-content: flex-start; gap: 22px; background: #fff; overflow-y: auto; padding: 24px var(--gft-gutter) 48px;
		border-top: 3px solid var(--gft-gold); visibility: hidden; opacity: 0; transition: opacity var(--gft-fast), visibility 0s var(--gft-fast);
	}
	.gft-js .gft-header.is-open .gft-drawer { visibility: visible; opacity: 1; transition-delay: 0s; }
	html:not(.gft-js) .gft-drawer { display: none; }
	.gft-drawer .gft-search { display: flex; }
	.gft-drawer__cta { display: block; margin: 0; }
	.gft-drawer__cta .gft-btn { width: 100%; }
	.gft-nav { display: block; flex: none; }
	.gft-nav__list { display: block; margin: 0; border-top: 1px solid var(--gft-line); }
	.gft-nav__list > li { display: block; border-bottom: 1px solid var(--gft-line); }
	.gft-theme .gft-nav__list > li > a { padding: 15px 0; font-size: 1rem; justify-content: space-between; }
	.gft-nav__list > li > a::after { display: none; }
	.gft-theme .gft-nav__list > .current-menu-item > a { box-shadow: inset 3px 0 0 var(--gft-gold); padding-left: 14px; }
	.gft-nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: none; border: 0; border-left: 2px solid var(--gft-gold); margin: 0 0 14px; padding: 0 0 0 14px; }
	.gft-theme .gft-nav .sub-menu a { padding: .45em 0; }
}
@media (max-width: 599.98px) {
	.gft-wordmark__tag { font-size: .75rem; letter-spacing: .03em; }
}

/* Hero: photo under a dark veil, title, lead and the site search ------------------------------------- */
.gft-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--gft-dark) var(--gft-waves) repeat; color: #fff; }
.gft-hero__figure { position: absolute; inset: 0; z-index: -1; margin: 0; }
.gft-hero__figure img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.gft-hero__figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 23, 32, .9) 0%, rgba(14, 23, 32, .86) 50%, rgba(14, 23, 32, .55) 78%, rgba(14, 23, 32, .38) 100%); }
@media (max-width: 899.98px) { .gft-hero__figure::after { background: rgba(14, 23, 32, .86); } }
.gft-hero__inner { position: relative; padding-block: clamp(52px, 8vw, 118px) clamp(60px, 8vw, 110px); }
.gft-hero--panel .gft-hero__inner { padding-bottom: calc(clamp(60px, 8vw, 110px) + clamp(56px, 7vw, 96px)); }
.gft-hero__text { max-width: 700px; }
.gft-hero__kicker { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 18px; color: var(--gft-gold-on-dark); font-size: .8125rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.gft-hero__kicker::before { content: ""; width: 40px; height: 1px; background: var(--gft-gold); }
.gft-theme .gft-hero__title { margin: 0; color: #fff; font-size: clamp(2.2rem, 1.3rem + 3.4vw, 4.1rem); font-weight: 700; line-height: 1.08; letter-spacing: -.015em; }
.gft-hero__lead { max-width: 58ch; margin: 20px 0 0; color: var(--gft-on-water); font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem); line-height: 1.6; }
.gft-hero .gft-search { max-width: 640px; margin-top: 30px; box-shadow: 0 18px 40px rgba(0, 0, 0, .25); }
.gft-theme .gft-hero .gft-search__input { min-height: 60px; border-color: #fff; font-size: 1.0625rem; }
.gft-theme .gft-hero .gft-search__submit { min-height: 60px; padding-inline: 1.5em; }
.gft-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
.gft-hero__caption { display: flex; align-items: center; gap: .5em; margin: 26px 0 0; color: var(--gft-on-water); font-family: var(--gft-font-head); font-size: .9375rem; font-style: italic; line-height: 1.4; }
.gft-hero__caption .gft-icon { width: 17px; height: 17px; color: var(--gft-gold-on-dark); }
@media (max-width: 599.98px) {
	.gft-hero__actions .gft-btn { flex: 1 1 100%; }
	.gft-theme .gft-hero .gft-search__input { min-height: 54px; padding-inline: .9em; font-size: 1rem; }
	.gft-theme .gft-hero .gft-search__submit { min-height: 54px; padding-inline: 1.1em; }
}

/* Shortcut panel: white, overlapping the hero, round icon tiles ------------------------------------- */
.gft-quick { position: relative; z-index: 2; margin-top: calc(-1 * clamp(56px, 7vw, 96px)); background: linear-gradient(180deg, transparent clamp(56px, 7vw, 96px), var(--gft-light) clamp(56px, 7vw, 96px)); }
.gft-quick__panel { padding: clamp(20px, 3vw, 36px) clamp(12px, 2.6vw, 36px) clamp(16px, 2.4vw, 30px); background: #fff; border-top: 4px solid var(--gft-gold); box-shadow: 0 24px 60px rgba(20, 32, 43, .16); }
.gft-theme .gft-quick__title { margin: 0 0 clamp(14px, 2vw, 22px); padding: 0 6px; font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem); }
.gft-quick__list { --gft-tiles: 3; --gft-tile-gap: 6px; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--gft-tile-gap); margin: 0; padding: 0; }
@media (min-width: 700px) { .gft-quick__list { --gft-tiles: 5; } }
@media (min-width: 1180px) { .gft-quick__list { --gft-tiles: 9; --gft-tile-gap: 0px; } .gft-tile + .gft-tile { box-shadow: -1px 0 0 var(--gft-line); } }
.gft-tile { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 0 0 calc((100% - (var(--gft-tiles) - 1) * var(--gft-tile-gap)) / var(--gft-tiles)); box-sizing: border-box; min-width: 0; margin: 0; padding: 14px 6px 12px; text-align: center; border-radius: var(--gft-radius); transition: background-color var(--gft-fast); }
.gft-tile:hover, .gft-tile:focus-within { background: var(--gft-light); }
.gft-tile__icon { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--gft-light); border: 1px solid var(--gft-line); color: var(--gft-water); transition: background-color var(--gft-fast), color var(--gft-fast), border-color var(--gft-fast); }
.gft-tile__icon .gft-icon { width: 30px; height: 30px; stroke-width: 1.5; }
.gft-tile:hover .gft-tile__icon, .gft-tile:focus-within .gft-tile__icon { background: var(--gft-water); border-color: var(--gft-water); color: var(--gft-gold-on-dark); }
.gft-theme .gft-tile__link { color: var(--gft-dark); font-size: .9375rem; font-weight: 700; line-height: 1.25; text-decoration: none; overflow-wrap: anywhere; hyphens: auto; -webkit-hyphens: auto; }
.gft-tile__link::after { content: ""; position: absolute; inset: 0; }
.gft-theme .gft-tile:hover .gft-tile__link { color: var(--gft-water); }
.gft-tile__meta { color: var(--gft-muted); font-size: .8125rem; line-height: 1.3; }
@media (max-width: 599.98px) {
	.gft-tile { padding: 10px 2px; gap: 6px; }
	.gft-tile__icon { width: 50px; height: 50px; }
	.gft-tile__icon .gft-icon { width: 26px; height: 26px; }
	.gft-theme .gft-tile__link { font-size: .875rem; }
	.gft-tile__meta { font-size: .75rem; }
}

/* Latest articles: dated news list beside the sidebar ----------------------------------------------- */
.gft-latest { padding-block: var(--gft-section); background: var(--gft-light); scroll-margin-top: calc(var(--gft-header-h) + 8px); }
.gft-quick + .gft-latest { padding-top: clamp(44px, 5.5vw, 76px); }
.gft-latest__layout { display: grid; gap: 48px 56px; }
@media (min-width: 1024px) { .gft-latest__layout--aside { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; } }
.gft-latest__main { min-width: 0; }
.gft-latest__all { margin: 32px 0 0; }
.gft-listing__body { padding-block: clamp(44px, 5.5vw, 76px) var(--gft-section); }
.gft-listing { background: var(--gft-light); }

.gft-notices { display: flex; flex-direction: column; gap: 14px; }
.gft-notice { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 4px 22px; margin: 0; padding: 22px; background: #fff; border: 1px solid var(--gft-line); border-left: 3px solid var(--gft-line); transition: border-color var(--gft-fast), box-shadow var(--gft-fast); }
@media (min-width: 700px) { .gft-notice--image { grid-template-columns: 76px minmax(0, 1fr) 176px; } }
.gft-notice:hover, .gft-notice:focus-within { border-left-color: var(--gft-gold); box-shadow: var(--gft-shadow-soft); }
.gft-notice__date { margin: 0; }
.gft-notice__date time { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 76px; height: 76px; box-sizing: border-box; padding: 6px 4px; background: var(--gft-water); color: #fff; text-align: center; }
.gft-notice__day { font-family: var(--gft-font-head); font-size: 1.9rem; font-weight: 700; line-height: 1; }
.gft-notice__month { margin-top: 5px; color: var(--gft-on-water); font-size: .6875rem; font-weight: 700; letter-spacing: .08em; line-height: 1.1; text-transform: uppercase; }
.gft-notice__body { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.gft-theme .gft-notice__title { margin: 8px 0 6px; font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); line-height: 1.25; }
.gft-theme .gft-notice .gft-card__link { color: var(--gft-dark); text-decoration: none; }
.gft-notice .gft-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gft-theme .gft-notice:hover .gft-card__link { color: var(--gft-water); }
.gft-notice__excerpt { margin: 0 0 8px; color: var(--gft-text); font-size: .9688rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gft-notice__meta { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--gft-muted); font-size: .875rem; }
.gft-notice__meta .gft-icon { width: 16px; height: 16px; color: var(--gft-gold-text); }
.gft-notice__media { display: none; }
@media (min-width: 700px) {
	.gft-notice__media { display: block; align-self: start; overflow: hidden; aspect-ratio: 4 / 3; background: var(--gft-line); }
	.gft-notice__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
	.gft-notice:hover .gft-notice__media img { transform: scale(1.05); }
}
@media (max-width: 599.98px) {
	.gft-notice { grid-template-columns: 58px minmax(0, 1fr); gap: 4px 14px; padding: 16px 14px; }
	.gft-notice__date time { width: 58px; height: 58px; }
	.gft-notice__day { font-size: 1.45rem; }
	.gft-notice__month { font-size: .625rem; letter-spacing: .04em; }
}

/* Sidebar widgets ------------------------------------------------------------------------- */
.gft-sidebar { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.gft-widget { padding: 22px 24px 24px; background: #fff; border: 1px solid var(--gft-line); font-size: .9688rem; line-height: 1.6; }
.gft-theme .gft-widget__title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px solid var(--gft-line); font-size: 1.25rem; }
.gft-widget__title .gft-icon { width: 22px; height: 22px; color: var(--gft-gold-text); }
.gft-widget__body > p { margin: 0 0 1em; }
.gft-widget__body > p:last-child { margin-bottom: 0; }
.gft-widget__topics { list-style: none; margin: 0; padding: 0; }
.gft-widget__topics li { margin: 0; border-bottom: 1px solid var(--gft-line); }
.gft-widget__topics li:last-child { border-bottom: 0; }
.gft-theme .gft-widget__topics a { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 12px 0; color: var(--gft-text); text-decoration: none; }
.gft-widget__icon .gft-icon { width: 26px; height: 26px; margin-top: 1px; color: var(--gft-water); stroke-width: 1.5; }
.gft-widget__text { display: flex; flex-direction: column; min-width: 0; }
.gft-widget__name { color: var(--gft-dark); font-weight: 700; line-height: 1.3; }
.gft-widget__desc { margin-top: 2px; color: var(--gft-muted); font-size: .875rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gft-widget__count { min-width: 26px; padding: 3px 7px; box-sizing: border-box; border-radius: 999px; background: var(--gft-water); color: #fff; font-size: .75rem; font-weight: 700; line-height: 1.2; text-align: center; }
.gft-theme .gft-widget__topics a:hover .gft-widget__name { color: var(--gft-water); text-decoration: underline; text-underline-offset: .2em; }
.gft-widget__links { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.gft-widget__links li { margin: 0; }
.gft-theme .gft-widget__links a { display: inline-flex; align-items: center; gap: .4em; font-weight: 700; text-decoration: none; }
.gft-theme .gft-widget__links a:hover { text-decoration: underline; text-underline-offset: .2em; }
.gft-widget__links .gft-icon { width: 16px; height: 16px; }
.gft-widget--trust { border-top: 3px solid var(--gft-water); }

/* Fact band: cards under a large faded word ------------------------------------------------------ */
.gft-stats { position: relative; overflow: hidden; padding-block: var(--gft-section); background: #fff; }
.gft-stats__bg { position: absolute; inset: 0; }
.gft-stats__bg img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.gft-stats__bg::after { content: ""; position: absolute; inset: 0; background: rgba(22, 46, 66, .9); }
.gft-stats__inner { position: relative; }
.gft-watermark { position: absolute; left: 50%; top: calc(-1 * clamp(18px, 2.4vw, 34px)); z-index: 0; margin: 0; transform: translateX(-50%); color: var(--gft-watermark); font-family: var(--gft-font-head); font-size: clamp(5rem, 3rem + 9vw, 11rem); font-weight: 700; line-height: 1; letter-spacing: -.02em; white-space: nowrap; pointer-events: none; user-select: none; }
.gft-stats--image .gft-watermark { color: rgba(255, 255, 255, .06); }
.gft-stats .gft-heading { z-index: 1; }
.gft-stats__list { position: relative; z-index: 1; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; }
@media (min-width: 900px) { .gft-stats__list--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; } .gft-stats__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } }
.gft-count { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; margin: 0; padding: 26px 24px 24px; background: #fff; border: 1px solid var(--gft-line); border-top: 3px solid var(--gft-water); box-shadow: var(--gft-shadow-soft); }
.gft-count__num { position: relative; padding-bottom: 12px; color: var(--gft-water); font-family: var(--gft-font-head); font-size: clamp(2.1rem, 1.6rem + 1.8vw, 3.2rem); font-weight: 700; line-height: 1; overflow-wrap: anywhere; font-variant-numeric: lining-nums; }
.gft-count__num::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--gft-gold); }
.gft-count__label { color: var(--gft-muted); font-size: .9688rem; line-height: 1.45; }
@media (max-width: 599.98px) { .gft-count { padding: 18px 14px 16px; } }

/* Front-page text */
.gft-pillar { background: var(--gft-light); }

/* Cards (archives, search, related): photo with the text on a dark veil ------------------------------ */
.gft-grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .gft-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .gft-grid { grid-template-columns: repeat(3, 1fr); } }
.gft-grid > .gft-card { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; min-height: 360px; overflow: hidden; background: var(--gft-water) var(--gft-waves) repeat; border-radius: var(--gft-radius); box-shadow: var(--gft-shadow-soft); transition: box-shadow var(--gft-fast); }
.gft-grid > .gft-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 3px; background: var(--gft-gold); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.gft-grid > .gft-card:hover, .gft-grid > .gft-card:focus-within { box-shadow: var(--gft-shadow); }
.gft-grid > .gft-card:hover::after, .gft-grid > .gft-card:focus-within::after { transform: scaleX(1); }
.gft-card__media { position: absolute; inset: 0; z-index: -1; background: var(--gft-water); }
.gft-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.gft-card:hover .gft-card__media img { transform: scale(1.05); }
.gft-card__body { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 72px 24px 24px; background: linear-gradient(180deg, rgba(20, 32, 43, 0) 0, rgba(20, 32, 43, .88) 60px, rgba(20, 32, 43, .93) 100%); color: var(--gft-on-water); }
.gft-card--no-image .gft-card__body { padding-top: 28px; background: none; }
.gft-grid > .gft-card--no-image { min-height: 280px; }
.gft-theme .gft-grid > .gft-card .gft-label { color: var(--gft-gold-on-dark); }
.gft-theme .gft-grid > .gft-card a.gft-label:hover { color: #fff; }
.gft-card__date { display: flex; flex-wrap: wrap; gap: 0 .5em; margin: 0; color: var(--gft-on-water); font-size: .875rem; }
.gft-card__date span { color: var(--gft-gold-on-dark); }
.gft-theme .gft-card__title { margin: 0; color: #fff; font-size: 1.35rem; line-height: 1.22; }
.gft-theme .gft-card__link { color: #fff; text-decoration: none; }
.gft-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gft-theme .gft-grid > .gft-card:hover .gft-card__link { color: var(--gft-gold-on-dark); }
.gft-card__excerpt { margin: 0 0 4px; color: var(--gft-on-water); font-size: .9375rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gft-card .gft-more { margin-top: 2px; color: var(--gft-gold-on-dark); }
.gft-card:hover .gft-more .gft-icon { transform: translateX(4px); }

/* Title band (inner pages): featured image under a deep veil, breadcrumbs, title, gold rule ----------------------- */
.gft-band { position: relative; overflow: hidden; background: var(--gft-water) var(--gft-waves) repeat; color: #fff; border-bottom: 4px solid var(--gft-gold); }
.gft-band__bg { position: absolute; inset: 0; }
.gft-band__bg img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.gft-band__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 23, 32, .9) 0%, rgba(14, 23, 32, .86) 55%, rgba(22, 46, 66, .6) 100%); }
@media (max-width: 767.98px) { .gft-band__bg::after { background: rgba(14, 23, 32, .86); } }
.gft-band__inner { position: relative; padding-block: clamp(30px, 4vw, 52px) clamp(38px, 5vw, 66px); }
.gft-band--image .gft-band__inner { padding-top: clamp(40px, 6vw, 88px); }
.gft-band__kicker { margin: 0 0 14px; }
.gft-band__kicker a, .gft-band__kicker span { display: inline-flex; align-items: center; gap: 12px; color: var(--gft-gold-on-dark); font-size: .8125rem; font-weight: 700; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; text-decoration: none; }
.gft-band__kicker a::before, .gft-band__kicker span::before { content: ""; width: 30px; height: 1px; background: var(--gft-gold); }
.gft-theme .gft-band__kicker a { color: var(--gft-gold-on-dark); }
.gft-theme .gft-band__kicker a:hover { color: #fff; }
.gft-theme .gft-band__title { max-width: 28ch; margin: 0; color: #fff; font-size: clamp(1.95rem, 1.3rem + 2.4vw, 3.3rem); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; }
.gft-band__title mark { background: none; color: var(--gft-gold-on-dark); padding: 0; }
.gft-band__text { max-width: 64ch; margin-top: 14px; color: var(--gft-on-water); font-size: 1.0625rem; }
.gft-band__text p { margin: 0 0 .5em; }
.gft-band__meta { margin: 16px 0 0; color: var(--gft-on-water); font-size: .9375rem; }
.gft-band .gft-meta { margin: 20px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid rgba(227, 189, 109, .35); color: var(--gft-on-water); }
.gft-theme .gft-band .gft-meta a { color: #fff; }
.gft-theme .gft-band .gft-meta a:hover { color: #fff; text-decoration: underline; }
.gft-band .gft-meta .gft-icon { color: var(--gft-gold-on-dark); }
.gft-band .gft-meta__sep { background: var(--gft-gold-on-dark); }
.gft-band .gft-search { max-width: 600px; margin-top: 24px; }
.gft-theme .gft-band .gft-search__input { border-color: #fff; }

/* Breadcrumb line (own trail or Yoast's) */
.gft-crumbs { margin: 0 0 18px; color: var(--gft-on-water); font-size: .875rem; line-height: 1.5; }
.gft-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; }
.gft-crumbs li { display: inline-flex; align-items: center; margin: 0; min-width: 0; }
.gft-crumbs li + li::before { content: "›"; margin: 0 .6em; color: var(--gft-gold-on-dark); }
.gft-crumbs > span { display: block; }
.gft-theme .gft-crumbs a { color: #fff; text-decoration: none; font-weight: 600; }
.gft-theme .gft-crumbs a:hover { color: var(--gft-gold-on-dark); text-decoration: underline; }
.gft-crumbs [aria-current] span, .gft-crumbs .breadcrumb_last { display: inline-block; max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

/* Article: white text panel on the warm light page, widgets beside it ------------------------------------------- */
.gft-article { background: var(--gft-light); }
.gft-article__layout { display: grid; gap: 32px 40px; padding-top: clamp(32px, 4vw, 56px); padding-bottom: clamp(48px, 6vw, 84px); }
@media (min-width: 1024px) { .gft-article__layout { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; } }
.gft-article__single { max-width: calc(var(--gft-measure) + 2 * var(--gft-gutter) + 96px); padding-top: clamp(32px, 4vw, 56px); padding-bottom: clamp(48px, 6vw, 84px); }
.gft-article__main { min-width: 0; padding: clamp(24px, 3.6vw, 48px); background: #fff; border: 1px solid var(--gft-line); box-shadow: var(--gft-shadow-soft); }
@media (max-width: 639.98px) {
	.gft-article__main { margin-inline: calc(-1 * var(--gft-gutter)); padding: 24px var(--gft-gutter) 28px; border-inline: 0; box-shadow: none; }
}
.gft-article__aside { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
@media (min-width: 1024px) {
	.gft-article__aside { position: sticky; top: calc(var(--gft-header-h) + 24px); }
	.admin-bar .gft-article__aside { top: calc(var(--gft-header-h) + 56px); }
	.gft-article__toc-mobile { display: none; }
}
@media (max-width: 1023.98px) {
	.gft-article__toc-desktop { display: none; }
	.gft-article__aside:not(:has(.gft-box)) { display: none; }
}

/* Author and date line */
.gft-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 28px; padding: 0 0 18px; border-bottom: 1px solid var(--gft-line); color: var(--gft-muted); font-size: .9375rem; line-height: 1.5; }
.gft-meta > span:not(.gft-meta__sep) { display: inline-flex; align-items: center; gap: 8px; }
.gft-meta__sep { width: 4px; height: 4px; transform: rotate(45deg); background: var(--gft-gold); }
.gft-meta .gft-icon { width: 18px; height: 18px; color: var(--gft-gold-text); }
.gft-theme .gft-meta a { color: var(--gft-dark); font-weight: 700; text-decoration: none; }
.gft-theme .gft-meta a:hover { color: var(--gft-gold-text); text-decoration: underline; }

.gft-figure { margin: 0 0 32px; }
.gft-figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.gft-figure figcaption { margin-top: 10px; color: var(--gft-muted); font-size: .875rem; }

/* Table of contents: a widget with a water-blue title bar */
.gft-toc { background: #fff; border: 1px solid var(--gft-line); overflow: hidden; }
.gft-article__toc-mobile .gft-toc { margin: 0 0 28px; background: var(--gft-light-2); }
.gft-theme .gft-toc__toggle {
	display: flex; width: 100%; align-items: center; gap: 10px; margin: 0; padding: 15px 18px; border: 0; border-bottom: 3px solid var(--gft-gold); border-radius: 0;
	background: var(--gft-water); color: #fff; font: 700 .8125rem/1.2 var(--gft-font); letter-spacing: .14em; text-transform: uppercase; text-align: left; cursor: pointer;
}
.gft-theme .gft-toc__toggle:hover { background: var(--gft-water); color: #fff; }
.gft-toc__toggle .gft-icon { color: var(--gft-gold-on-dark); }
.gft-toc__count { margin-left: auto; min-width: 1.9em; padding: .3em .6em; border: 1px solid rgba(227, 189, 109, .6); border-radius: 999px; color: var(--gft-gold-on-dark); font-size: .75rem; letter-spacing: 0; text-align: center; }
.gft-toc__list { list-style: none; counter-reset: toc; margin: 0; padding: 8px 8px 12px; }
.gft-toc__list li { counter-increment: toc; margin: 0; border-bottom: 1px solid var(--gft-line); }
.gft-toc__list li:last-child { border-bottom: 0; }
.gft-theme .gft-toc__list a { display: grid; grid-template-columns: 1.9em 1fr; gap: .2em; padding: .55em 8px; color: var(--gft-text); font-size: .9375rem; line-height: 1.45; text-decoration: none; }
.gft-toc__list a::before { content: counter(toc, decimal-leading-zero); color: var(--gft-gold-text); font-family: var(--gft-font-head); font-style: italic; }
.gft-theme .gft-toc__list a:hover { color: var(--gft-water); background: var(--gft-light); }
.gft-theme .gft-toc__list a[aria-current] { color: var(--gft-dark); background: var(--gft-light); font-weight: 700; box-shadow: inset 3px 0 0 var(--gft-gold); }
.gft-theme .gft-toc--side .gft-toc__toggle { cursor: default; pointer-events: none; }
.gft-toc--side .gft-toc__list { max-height: calc(100vh - var(--gft-header-h) - 130px); overflow-y: auto; overscroll-behavior: contain; }
.gft-js .gft-toc--mobile:not(.is-open) .gft-toc__list { display: none; }
.gft-toc--mobile .gft-toc__toggle::after { content: "+"; margin-left: 10px; color: #fff; font-size: 1.35rem; line-height: 1; }
.gft-toc--mobile.is-open .gft-toc__toggle::after { content: "−"; }

/* Side box with the topics (posts without a table of contents, 404): a widget */
.gft-box { padding: 22px 24px 12px; background: #fff; border: 1px solid var(--gft-line); border-top: 3px solid var(--gft-water); }
.gft-theme .gft-box__title { margin: 0 0 6px; padding-bottom: 12px; border-bottom: 1px solid var(--gft-line); font-size: 1.25rem; }
.gft-box__list { list-style: none; margin: 0; padding: 0; }
.gft-box__list li { margin: 0; border-bottom: 1px solid var(--gft-line); }
.gft-box__list li:last-child { border-bottom: 0; }
.gft-theme .gft-box__list a { display: flex; align-items: center; gap: .75em; padding: .75em 0; color: var(--gft-dark); font-size: 1rem; font-weight: 700; text-decoration: none; }
.gft-box__icon .gft-icon { width: 24px; height: 24px; color: var(--gft-water); stroke-width: 1.5; }
.gft-theme .gft-box__list a:hover, .gft-theme .gft-box__list a[aria-current] { color: var(--gft-gold-text); }

/* Prose. Rules use :where() so the articles' own .gs-wrap styles (and their tables and boxes) always win. ------- */
.gft-prose { font-size: clamp(1.0625rem, 1.02rem + .2vw, 1.1875rem); line-height: 1.72; color: var(--gft-text); overflow-wrap: break-word; }
.gft-prose::after { content: ""; display: table; clear: both; }
/* The articles read --water, --dark, --light, --line, --gold and --gold-text with their own fallbacks: feed them the
   site palette, so fact boxes ("Fakta om …"), notes and tables match the theme. */
.gft-prose .gs-wrap { width: 100%; max-width: none; --water: #1d3a52; --dark: #14202b; --light: #f4f1ea; --line: #e2dccf; --gold: #b8862b; --gold-text: #7d5a14; }
.gft-prose :where(p) { margin: 0 0 1.15em; }
.gft-prose :where(p:empty) { display: none; }
.gft-prose :where(strong, b) { color: var(--gft-dark); font-weight: 700; }
.gft-prose :where(h2, h3, h4) { scroll-margin-top: calc(var(--gft-header-h) + 24px); }
.gft-prose :where(h2) { margin: 1.9em 0 .6em; font-size: clamp(1.55rem, 1.25rem + 1vw, 2.05rem); font-weight: 700; line-height: 1.15; color: var(--gft-water); }
.gft-prose :where(h3) { margin: 1.6em 0 .45em; font-size: clamp(1.28rem, 1.14rem + .45vw, 1.5rem); line-height: 1.28; }
.gft-prose :where(h4) { margin: 1.4em 0 .4em; font-size: 1.15rem; }
.gft-prose > :first-child, .gft-prose > .gs-wrap > :first-child:not(style), .gft-prose > .gs-wrap > style + * { margin-top: 0; }
.gft-prose :where(.gs-lead) { color: var(--gft-dark); font-family: var(--gft-font-head); font-size: 1.25em; line-height: 1.55; }
.gft-prose :where(a) { color: var(--gft-gold-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.gft-prose :where(a:hover) { color: var(--gft-gold-800); text-decoration-thickness: 2px; }
.gft-prose :where(ul, ol) { margin: 0 0 1.3em; padding-left: 1.4em; }
.gft-prose :where(li) { margin: 0 0 .45em; padding-left: .2em; }
.gft-prose :where(ul > li)::marker { color: var(--gft-gold); }
.gft-prose :where(ol > li)::marker { color: var(--gft-gold-text); font-weight: 700; }
.gft-prose :where(blockquote) { margin: 2em 0; padding: .4em 0 .4em 1.4em; background: none; border: 0; border-left: 2px solid var(--gft-gold); color: var(--gft-dark); font-family: var(--gft-font-head); font-size: 1.15em; font-style: italic; }
.gft-prose :where(blockquote p:last-child) { margin: 0; }
.gft-prose :where(figure, .wp-caption) { margin: 2em 0; max-width: 100%; }
.gft-prose :where(figure img, .wp-caption img) { border-radius: var(--gft-radius-sm); }
.gft-prose :where(figcaption, .wp-caption-text) { margin-top: .6em; color: var(--gft-muted); font-size: .875rem; }
.gft-prose :where(hr) { border: 0; border-top: 1px solid var(--gft-line); margin: 2.4em 0; }
.gft-prose :where(.alignleft) { float: left; margin: .3em 1.4em 1em 0; }
.gft-prose :where(.alignright) { float: right; margin: .3em 0 1em 1.4em; }
.gft-prose :where(.aligncenter) { display: block; margin-inline: auto; }
@media (max-width: 600px) { .gft-prose :where(.alignleft, .alignright) { float: none; margin: 1em 0; } }

/* Tables the articles do not style themselves (.gs-table keeps its own design and phone layout). */
.gft-prose :where(table:not(.gs-table)) {
	display: block; width: max-content; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
	border-collapse: collapse; margin: 2em 0; font-size: .93em; line-height: 1.5; background: #fff; font-variant-numeric: tabular-nums;
	border: 1px solid var(--gft-line);
}
.gft-prose :where(table:not(.gs-table)) :where(th, td) { padding: .75em 1em; text-align: left; vertical-align: top; border: 1px solid var(--gft-line); }
.gft-prose :where(table:not(.gs-table)) :where(th) { background: var(--gft-water); color: #fff; font-weight: 700; border-color: var(--gft-water); }
.gft-prose :where(table:not(.gs-table)) :where(tr:nth-child(even) td) { background: var(--gft-light); }
.gft-prose table.is-scrollable {
	background:
		linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, 0)) 0 0 / 40px 100% no-repeat local,
		linear-gradient(270deg, #fff 30%, rgba(255, 255, 255, 0)) 100% 0 / 40px 100% no-repeat local,
		radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, .14), transparent) 0 0 / 12px 100% no-repeat scroll,
		radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .14), transparent) 100% 0 / 12px 100% no-repeat scroll,
		#fff;
}

/* Box the script puts around the articles' own .gs-table (the table keeps its own styles). Long words may wrap; a
   table that still does not fit the column is shown as stacked cards (every cell has data-label). */
.gft-tablebox { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gft-tablebox.is-scrollable { box-shadow: inset -12px 0 10px -10px rgba(0, 0, 0, .25); }
.gft-prose .gs-table :where(td, th) { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
.gft-tablebox.is-stacked .gs-table thead { display: none; }
.gft-tablebox.is-stacked .gs-table, .gft-tablebox.is-stacked .gs-table tbody, .gft-tablebox.is-stacked .gs-table tr, .gft-tablebox.is-stacked .gs-table td { display: block; width: 100%; box-sizing: border-box; }
.gft-tablebox.is-stacked .gs-table tr { margin: 0 0 14px; padding: 12px 14px; background: #f4f1ea !important; border-left: 4px solid #b8862b !important; }
.gft-tablebox.is-stacked .gs-table td, .gft-tablebox.is-stacked .gs-table tbody tr:nth-child(even) td { background: transparent !important; border: 0 !important; padding: 4px 0; }
.gft-tablebox.is-stacked .gs-table td::before { content: attr(data-label); display: block; font-size: .8em; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #1d3a52 !important; }

/* Forms in content (Contact Form 7, Gwolle guestbook) and comments */
.gft-theme .gft-prose :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea),
.gft-theme .gft-comments :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%; max-width: 100%; box-sizing: border-box; margin-top: 6px;
	background: #fff; color: var(--gft-dark); border: 1px solid var(--gft-field); border-radius: var(--gft-radius-sm); padding: .8em 1em; font: 400 1rem/1.45 var(--gft-font);
	transition: border-color var(--gft-fast), box-shadow var(--gft-fast);
}
.gft-theme .gft-prose :where(input, select, textarea):focus, .gft-theme .gft-comments :where(input, textarea):focus { outline: none; border-color: var(--gft-water); box-shadow: 0 0 0 3px rgba(29, 58, 82, .2); }
.gft-theme .gft-prose :where(label) { color: var(--gft-dark); font-size: .9375rem; font-weight: 700; }
.gft-theme .gft-prose :where(.wpcf7-form-control-wrap) { display: block; }
.gft-theme .gft-prose :where(.wpcf7 form > p) { margin: 0 0 1.1em; }
.gft-theme .gft-prose :where(.wpcf7-list-item) { margin: 0 1em 0 0; }
.gft-theme .gft-prose :where(input[type="checkbox"], input[type="radio"]) { width: 1.1em; height: 1.1em; accent-color: var(--gft-water); }
.gft-theme .gft-prose :where(input[type="submit"], button[type="submit"]), .gft-theme .gft-comments .form-submit .submit {
	min-height: 50px; background: var(--gft-gold-text); color: #fff; border: 1px solid var(--gft-gold-text); border-radius: 999px; padding: .85em 2em; cursor: pointer;
	font: 700 .875rem/1 var(--gft-font); letter-spacing: .08em; text-transform: uppercase; transition: background-color var(--gft-fast);
}
.gft-theme .gft-prose :where(input[type="submit"], button[type="submit"]):hover, .gft-theme .gft-comments .form-submit .submit:hover { background: var(--gft-gold-800); border-color: var(--gft-gold-800); color: #fff; }
.gft-theme .wpcf7 { margin: 2em 0; padding: clamp(20px, 3vw, 32px); background: var(--gft-light); border: 1px solid var(--gft-line); border-top: 3px solid var(--gft-gold); }
.gft-theme .wpcf7-not-valid-tip { color: #a3271c; font-size: .875rem; margin-top: 4px; }
.gft-theme .wpcf7 form .wpcf7-response-output { margin: 1em 0 0; padding: .8em 1em; border: 1px solid var(--gft-line); border-radius: var(--gft-radius-sm); background: #fff; font-size: .9375rem; }
.gft-theme .wpcf7 form.sent .wpcf7-response-output { border-color: var(--gft-water); background: var(--gft-water-tint); }
.gft-theme .wpcf7 form.invalid .wpcf7-response-output, .gft-theme .wpcf7 form.failed .wpcf7-response-output { border-color: #a3271c; background: #fbeceb; }
.gft-theme .wpcf7-spinner { vertical-align: middle; }

/* Gwolle guestbook (/vad-tycker-du-om-guldbron/) ------------------------------------------- */
.gft-theme .gwolle-gb { margin: 2em 0 0; font-size: 1rem; }
.gft-theme .gwolle-gb-write-button { margin: 0 0 24px; }
.gft-theme .gft-prose .gwolle-gb-write-button input.button, .gft-theme .gwolle-gb-write-button input[type="button"] {
	display: inline-flex; align-items: center; min-height: 52px; width: auto; margin: 0; padding: .85em 2em; cursor: pointer;
	background: var(--gft-gold-text); color: #fff; border: 1px solid var(--gft-gold-text); border-radius: var(--gft-radius-sm);
	font: 700 .875rem/1 var(--gft-font); letter-spacing: .08em; text-transform: uppercase; box-shadow: none; text-shadow: none;
}
.gft-theme .gwolle-gb-write-button input[type="button"]:hover { background: var(--gft-gold-800); border-color: var(--gft-gold-800); }
.gft-theme .gwolle-gb-write { position: relative; margin: 0 0 36px; padding: clamp(20px, 3vw, 32px); background: var(--gft-light); border: 1px solid var(--gft-line); border-top: 2px solid var(--gft-gold); border-radius: var(--gft-radius); }
.gft-theme .gwolle-gb-write.gwolle-gb-hide { display: none; }
.gft-theme .gft-prose .gwolle-gb-write h3 { margin: 0 0 18px; padding-right: 48px; color: var(--gft-water); font-size: 1.5rem; font-weight: 700; }
.gft-theme .gwolle-gb-write > div[class^="gwolle_gb_"], .gft-theme .gwolle-gb-write > div[class*=" gwolle_gb_"] { margin: 0 0 16px; }
.gft-theme .gwolle-gb .gwolle-gb-write div.label, .gft-theme .gwolle-gb .gwolle-gb-write div.input { float: none; width: 100%; margin: 0; padding: 0; }
.gft-theme .gwolle-gb .gwolle-gb-write div.input :where(input[type="text"], input[type="email"], input[type="url"], textarea, select) { width: 100%; }
.gft-theme .gwolle-gb .gwolle-gb-write input.gwolle_gb_preview {
	min-height: 52px; margin: 0 0 0 8px; padding: .85em 1.6em; cursor: pointer; background: transparent; color: var(--gft-water); border: 1px solid var(--gft-water); border-radius: var(--gft-radius-sm);
	font: 700 .875rem/1 var(--gft-font); letter-spacing: .08em; text-transform: uppercase; box-shadow: none; text-shadow: none;
}
.gft-theme .gwolle-gb .gwolle-gb-write input.gwolle_gb_preview:hover { background: var(--gft-water); color: #fff; }
.gft-theme .gwolle-gb-write .label label { color: var(--gft-dark); font-size: .9375rem; font-weight: 700; }
.gft-theme .gwolle-gb-write .required { color: #a3271c; }
.gft-theme .gwolle-gb-write .clearBoth { display: none; }
.gft-theme .gwolle-gb-write textarea { min-height: 160px; }
.gft-theme .gwolle-gb-write .gb-notice-dismiss { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; padding: 0; background: #fff; color: var(--gft-water); border: 1px solid var(--gft-line); border-radius: var(--gft-radius-sm); font: 700 1rem/1 var(--gft-font); cursor: pointer; }
.gft-theme .gwolle-gb-write .gb-notice-dismiss:hover { background: var(--gft-water); color: #fff; }
.gft-theme .gwolle-gb-write input[type="checkbox"] { width: 1.1em; height: 1.1em; margin: 0 .5em 0 0; vertical-align: -.15em; }
.gft-theme .gwolle-gb-write .gwolle-gb-notice, .gft-theme .gwolle_gb_notice { margin: 14px 0 0; color: var(--gft-muted); font-size: .875rem; line-height: 1.6; }
.gft-theme .gwolle-gb-write .markItUp, .gft-theme .gwolle-gb-write .markItUpContainer { width: 100%; max-width: 100%; box-sizing: border-box; }
.gft-theme .gwolle-gb-messages, .gft-theme .gwolle-gb-messages-top-container > div, .gft-theme .gwolle-gb-messages-bottom-container > div { margin: 0 0 18px; padding: .9em 1.1em; border: 1px solid var(--gft-water); border-left-width: 4px; border-radius: var(--gft-radius-sm); background: var(--gft-water-tint); color: var(--gft-dark); }
.gft-theme .gwolle-gb-messages.error, .gft-theme .gwolle-gb-messages .error { border-color: #a3271c; background: #fbeceb; }
.gft-theme .gwolle-gb-total { margin: 0 0 18px; color: var(--gft-water); font-family: var(--gft-font-head); font-size: 1.35rem; font-weight: 700; }
.gft-theme .gwolle-gb-read .gb-entry { position: relative; margin: 0 0 16px; padding: 20px 22px; background: #fff; border: 1px solid var(--gft-line); border-left: 3px solid var(--gft-gold); border-radius: var(--gft-radius); }
.gft-theme .gwolle-gb-read .gb-entry.gwolle-gb-even { background: var(--gft-light-2); }
.gft-theme .gwolle-gb-read .gb-entry article { margin: 0; padding: 0; }
.gft-theme .gwolle-gb-read .gb-author-info { position: relative; min-height: 44px; margin: 0 0 10px; padding: 0 40px 0 50px; color: var(--gft-muted); font-size: .875rem; line-height: 1.5; }
.gft-theme .gwolle-gb-read .gb-author-avatar { position: absolute; left: 0; top: 0; }
.gft-theme .gwolle-gb-read .gb-author-avatar .gft-avatar { box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--gft-gold); }
.gft-theme .gwolle-gb-read .gb-author-name { color: var(--gft-dark); font-size: 1rem; font-weight: 700; }
.gft-theme .gwolle-gb-read .gb-moderator { font-style: normal; color: var(--gft-gold-text); }
.gft-theme .gwolle-gb-read .gb-author-origin { color: var(--gft-text); font-weight: 600; }
.gft-theme .gwolle-gb-read .gb-entry-content { margin: 0; color: var(--gft-text); font-size: 1rem; line-height: 1.65; }
.gft-theme .gwolle-gb-read .gb-entry-admin_reply { margin: 14px 0 0; padding: 12px 16px; background: var(--gft-water-tint); border-left: 2px solid var(--gft-water); font-size: .9375rem; }
.gft-theme .gwolle-gb-read .gb-metabox-handle { top: 14px; right: 14px; margin: 0; padding: .2em .7em; background: transparent; color: var(--gft-muted); border: 1px solid var(--gft-line); border-radius: var(--gft-radius-sm); font: 700 .8125rem/1.4 var(--gft-font); cursor: pointer; }
.gft-theme .gwolle-gb-read .gb-metabox { margin-top: 8px; padding: 10px 12px; background: #fff; border: 1px solid var(--gft-line); border-radius: var(--gft-radius-sm); box-shadow: var(--gft-shadow-soft); font-size: .875rem; }
.gft-theme .gwolle-gb .page-navigation, .gft-theme .gwolle-gb-read .page-navigation { display: flex; flex-wrap: wrap; gap: 6px; margin: 24px 0 0; }
.gft-theme .gwolle-gb .page-navigation a, .gft-theme .gwolle-gb .page-navigation span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 .8em; box-sizing: border-box; border: 1px solid var(--gft-line); border-radius: var(--gft-radius-sm); background: #fff; color: var(--gft-dark); font-weight: 700; text-decoration: none; }
.gft-theme .gwolle-gb .page-navigation span { background: var(--gft-gold-text); border-color: var(--gft-gold-text); color: #fff; }
.gft-theme .gwolle-gb .page-navigation a:hover { border-color: var(--gft-water); background: var(--gft-water); color: #fff; }

/* Article footer */
.gft-article__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 2.6em; padding-top: 1.4em; border-top: 1px solid var(--gft-line); }
.gft-article__foot-label { color: var(--gft-dark); font-weight: 700; font-size: .9375rem; }
.gft-page-links { margin: 2em 0; display: flex; gap: 8px; flex-wrap: wrap; }

.gft-comments--front { border-top: 1px solid var(--gft-line); }

/* Related articles */
.gft-related { padding-block: var(--gft-section); background: #fff; }

/* Comments (GeneratePress markup) ----------------------------------------------------- */
.gft-comments { padding-block: clamp(56px, 7vw, 88px); }
.gft-comments .comments-area { margin: 0; padding: 0; }
.gft-theme .gft-comments .comments-title, .gft-theme .gft-comments .comment-reply-title { position: relative; margin: 0 0 28px; padding-bottom: 14px; font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); font-weight: 700; }
.gft-comments .comments-title::after, .gft-comments .comment-reply-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 44px; height: 1px; background: var(--gft-gold); }
.gft-comments .comment-reply-title small { position: static; display: block; margin-top: 6px; font-family: var(--gft-font); font-size: .875rem; font-weight: 600; }
.gft-comments .comment-list { list-style: none; margin: 0 0 56px; padding: 0; }
.gft-comments .comment-list .children { list-style: none; margin: 0; padding: 0 0 0 clamp(16px, 4vw, 40px); border-left: 1px solid var(--gft-gold); }
.gft-comments .comment { margin: 0; padding: 0; }
.gft-comments .comment-body { margin: 0 0 18px; padding: 22px 24px; background: var(--gft-light-2); border: 1px solid var(--gft-line); border-radius: var(--gft-radius); }
.gft-comments .comment-meta { display: flex; align-items: center; gap: 14px; margin: 0 0 10px; }
.gft-comments .comment-author-info { display: flex; flex-direction: column; gap: 2px; padding: 0; }
.gft-comments .comment-author cite { color: var(--gft-dark); font-style: normal; font-weight: 700; }
.gft-theme .gft-comments .comment-metadata, .gft-theme .gft-comments .comment-metadata a { color: var(--gft-muted); font-size: .8125rem; text-decoration: none; }
.gft-comments .comment-content { margin: 0; padding: 0; border: 0; font-size: 1rem; }
.gft-comments .comment-content p { margin: 0 0 .8em; }
.gft-comments .comment-content p:last-child { margin: 0; }
.gft-theme .gft-comments .reply a { display: inline-flex; margin-top: 10px; color: var(--gft-gold-text); font-size: .875rem; font-weight: 700; text-decoration: none; }
.gft-theme .gft-comments .reply a:hover { text-decoration: underline; }
.gft-comments .comment-respond { padding: clamp(22px, 3vw, 34px); background: var(--gft-light); border: 1px solid var(--gft-line); border-top: 2px solid var(--gft-gold); border-radius: var(--gft-radius); }
.gft-comments .comment-form { display: grid; gap: 14px; }
.gft-comments .comment-form > * { margin: 0; }
.gft-comments .comment-form label { color: var(--gft-dark); font-weight: 700; font-size: .9375rem; }
.gft-comments .comment-notes, .gft-comments .logged-in-as { color: var(--gft-muted); font-size: .9375rem; }
.gft-comments .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; font-size: .875rem; }
.gft-comments .comment-form-cookies-consent label { font-weight: 400; }
.gft-comments .comment-form-cookies-consent input { margin-top: .35em; accent-color: var(--gft-water); }
.gft-comments .no-comments { color: var(--gft-muted); }
.gft-avatar { display: inline-grid; place-items: center; flex: none; width: var(--gft-avatar, 50px); height: var(--gft-avatar, 50px); border-radius: 50%; background: var(--gft-water); color: #fff; font-family: var(--gft-font-head); font-size: calc(var(--gft-avatar, 50px) * .46); font-weight: 700; line-height: 1; box-sizing: border-box; box-shadow: 0 0 0 2px var(--gft-light-2), 0 0 0 3px var(--gft-gold); }
.gft-comments .comment-meta .gft-avatar { float: none; margin: 0 4px 0 2px; }


/* Footer: four columns on near-black -------------------------------------------------------------------- */
.gft-footer { position: relative; z-index: 1; background: var(--gft-dark); color: var(--gft-on-dark); font-size: .9688rem; line-height: 1.65; border-top: 4px solid var(--gft-gold); }
.gft-footer__grid { display: grid; gap: 40px 48px; padding-block: clamp(44px, 6vw, 76px) clamp(40px, 5vw, 64px); }
@media (min-width: 700px) { .gft-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .gft-footer__grid { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr); } }
.gft-footer__col { min-width: 0; }
.gft-footer__col p { margin: 0 0 1em; }
.gft-footer__contact .gft-footer__col { margin-bottom: 22px; }
.gft-theme .gft-footer__title { position: relative; margin: 0 0 18px; padding-bottom: 12px; color: #fff; font-family: var(--gft-font); font-size: 1.0625rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gft-footer__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 30px; height: 2px; background: var(--gft-gold); }
.gft-footer__brand { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: #fff; }
.gft-footer__brand-text { display: flex; flex-direction: column; }
.gft-footer__brand-name { font-family: var(--gft-font-head); font-size: 1.7rem; font-weight: 700; line-height: 1; }
.gft-footer__brand-name .gft-wordmark__gold { color: var(--gft-gold-on-dark); }
.gft-footer__brand-sub { margin-top: 6px; color: var(--gft-on-dark); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; }
.gft-footer__brand .gft-mark { width: 52px; height: 52px; }
.gft-footer .gft-mark__tile { fill: var(--gft-water); stroke: var(--gft-gold-on-dark); stroke-width: 1; }
.gft-footer__lead { color: #fff; font-size: 1.0625rem; }
.gft-footer__note { display: flex; align-items: flex-start; gap: .7em; padding: 14px 16px; border: 1px solid rgba(227, 189, 109, .3); background: rgba(255, 255, 255, .03); color: var(--gft-on-dark); }
.gft-footer__note .gft-icon { width: 22px; height: 22px; margin-top: .1em; color: var(--gft-gold-on-dark); }
.gft-footer ul { list-style: none; margin: 0; padding: 0; }
.gft-theme .gft-footer a { color: var(--gft-on-dark); text-decoration: none; }
.gft-theme .gft-footer a:hover { color: var(--gft-gold-on-dark); text-decoration: underline; text-underline-offset: .2em; }
.gft-footer__links li, .gft-footer__recent li { margin: 0; padding: 9px 0; border-bottom: 1px solid rgba(200, 208, 216, .14); line-height: 1.45; }
.gft-footer__links li:first-child, .gft-footer__recent li:first-child { padding-top: 0; }
.gft-footer__date { display: block; margin-top: 2px; color: var(--gft-on-dark); font-size: .8125rem; opacity: .9; }
.gft-theme .gft-footer__more { display: inline-flex; align-items: center; gap: .5em; color: #fff; font-weight: 700; }
.gft-footer__more .gft-icon { color: var(--gft-gold-on-dark); }
.gft-footer__bottom { background: var(--gft-dark-2); }
.gft-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; min-height: 60px; padding-block: 14px; box-sizing: border-box; font-size: .875rem; }
.gft-footer__copy, .gft-footer__independent { margin: 0; }
.gft-footer__independent { display: inline-flex; align-items: center; gap: .5em; }
.gft-footer__independent .gft-icon { width: 17px; height: 17px; color: var(--gft-gold-on-dark); }
.gft-theme .gft-footer__copy a { color: #fff; }

/* Light focus ring on dark and coloured surfaces */
.gft-theme .gft-masthead :focus-visible, .gft-theme .gft-hero :focus-visible, .gft-theme .gft-stats--image :focus-visible,
.gft-theme .gft-band :focus-visible, .gft-theme .gft-footer :focus-visible, .gft-theme .gft-grid > .gft-card :focus-visible,
.gft-theme .gft-searchbar :focus-visible, .gft-theme .gft-toc__toggle:focus-visible { outline-color: var(--gft-gold-on-dark); }

/* 404 */
.gft-404 { background: var(--gft-light); }
.gft-404__body { display: grid; gap: 32px 64px; align-items: center; padding-block: var(--gft-section); }
@media (min-width: 860px) { .gft-404__body { grid-template-columns: auto minmax(0, 1fr); } }
.gft-404__code { position: relative; padding-bottom: 22px; font-family: var(--gft-font-head); font-size: clamp(6rem, 4rem + 8vw, 11rem); font-weight: 700; line-height: .9; letter-spacing: -.03em; color: var(--gft-water); }
.gft-404__code::after { content: ""; position: absolute; left: 0; bottom: 0; width: 80px; height: 2px; background: var(--gft-gold); }
.gft-theme .gft-404__title { margin: 0 0 18px; font-size: 1.8rem; }
.gft-404__help .gft-search { max-width: 600px; margin-bottom: 20px; }
.gft-404__help .gft-chips { margin-bottom: 28px; }

/* Pagination */
.gft-pagination { margin-top: clamp(40px, 5vw, 64px); }
.gft-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; }
.gft-theme .gft-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; gap: .45em; min-width: 46px; height: 46px; padding: 0 .9em; box-sizing: border-box;
	border: 1px solid var(--gft-line); border-radius: 999px; background: #fff; color: var(--gft-dark); text-decoration: none; font-size: .9375rem; font-weight: 700;
}
.gft-theme .gft-pagination a.page-numbers:hover { border-color: var(--gft-water); background: var(--gft-water); color: #fff; }
.gft-theme .gft-pagination .page-numbers.current { background: var(--gft-water); border-color: var(--gft-water); color: #fff; }
.gft-theme .gft-pagination .page-numbers.dots { border: 0; background: none; }
@media (max-width: 480px) { .gft-pagination .prev span, .gft-pagination .next span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* Empty state */
.gft-empty { max-width: 680px; margin: 0 auto; padding: clamp(24px, 4vw, 48px); text-align: center; background: #fff; border: 1px solid var(--gft-line); border-top: 3px solid var(--gft-gold); }
.gft-empty__title { margin: 0 0 .4em; color: var(--gft-dark); font-family: var(--gft-font-head); font-size: 1.6rem; font-weight: 700; }
.gft-empty .gft-search { margin: 20px auto; max-width: 520px; }
.gft-empty .gft-chips { justify-content: center; }

/* Motion */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
	.gft-card:hover .gft-card__media img, .gft-notice:hover .gft-notice__media img { transform: none; }
}

/* Small screens */
@media (max-width: 600px) {
	.gft-crumbs [aria-current], .gft-crumbs .breadcrumb_last { display: none; }
	.gft-crumbs li:has(+ li[aria-current])::after { content: none; }
	.gft-crumbs__sep:has(+ .breadcrumb_last) { display: none; }
	.gft-search__submit span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.gft-theme .gft-band__title, .gft-theme .gft-title, .gft-theme .gft-prose :where(h2, h3) { hyphens: auto; -webkit-hyphens: auto; }
	.gft-theme .gft-hero__title { font-size: clamp(1.95rem, 1.2rem + 3.6vw, 2.4rem); }
	.gft-meta { gap: 6px 12px; }
	.gft-meta__sep { display: none; }
	.gft-band .gft-meta > span:not(.gft-meta__sep) { flex: 1 1 100%; }
}

/* Print */
@media print {
	.gft-header, .gft-footer, .gft-toc, .gft-related, .gft-crumbs, .gft-article__aside, .gft-comments, .gft-quick, .gft-sidebar, .gft-watermark { display: none !important; }
	.gft-band, .gft-hero, .gft-stats, .gft-article, .gft-latest, .gft-pillar { background: none !important; color: #000; }
	.gft-stats__bg, .gft-band__bg, .gft-hero__figure { display: none; }
	.gft-article__main { border: 0; box-shadow: none; padding: 0; }
	.gft-theme .gft-band__title, .gft-theme .gft-hero__title, .gft-hero__lead, .gft-band .gft-meta { color: #000; }
}

/* Never a sideways page scroll, even with a large phone font setting. */
html, body { overflow-x: clip; }

/* Yoast breadcrumb markup (spans and a separator span instead of a list) */
.gft-crumbs__sep { margin: 0 .55em; color: var(--gft-gold-on-dark); }
.gft-theme .gft-prose :where(.wpcf7-list-item input[type="checkbox"]) { margin: 0 .55em 0 0; vertical-align: -.15em; }
.gft-theme .gft-prose :where(input[type="submit"]:disabled) { opacity: .55; cursor: not-allowed; }

/* Compact header (1.1.1): logo in the white bar, the blue band only carries the info strip, so the header no longer
   reads as a second banner above the hero. */
.gft-masthead { padding-top: 0; }
.gft-mainbar__inner { align-items: center; }
.gft-mainbar .gft-brand { align-self: center; margin-right: clamp(12px, 2.2vw, 40px); padding-block: 12px; }
.gft-mainbar .gft-mark { width: clamp(44px, 2rem + 1.2vw, 56px); height: auto; aspect-ratio: 1; }
.gft-mainbar .gft-mark__tile { stroke: var(--gft-gold); stroke-width: 1.2; }
.gft-theme .gft-mainbar .gft-wordmark { gap: 12px; color: var(--gft-dark); }
.gft-mainbar .gft-wordmark__name { font-size: clamp(1.5rem, 1.2rem + .9vw, 2rem); color: var(--gft-water); }
.gft-mainbar .gft-wordmark__gold { color: var(--gft-gold-text); }
.gft-mainbar .gft-wordmark__tag { margin-top: 5px; padding-top: 4px; border-top-color: var(--gft-line); color: var(--gft-muted); font-size: .75rem; }
.gft-theme .gft-mainbar .gft-wordmark:hover .gft-wordmark__name { color: var(--gft-water); }
.gft-theme .gft-mainbar .gft-wordmark:hover .gft-wordmark__tag { color: var(--gft-dark); }
.gft-mainbar .gft-drawer { align-self: stretch; }
.gft-mainbar .gft-actions { align-self: center; }
.gft-theme .gft-mainbar .gft-brand__img { max-height: 56px; }
@media (max-width: 1023.98px) {
	.gft-mainbar .gft-brand { padding-block: 8px; }
	.gft-mainbar .gft-actions { flex: none; margin-left: auto; }
	.gft-theme .gft-mainbar .gft-menu-toggle { width: auto; }
}
@media (max-width: 767.98px) {
	.gft-masthead { padding-top: 0; }
	.gft-mainbar .gft-wordmark__tag { display: none; }
}
@media (max-width: 379.98px) {
	.gft-theme .gft-mainbar .gft-menu-toggle { padding: 0 12px; }
	.gft-mainbar .gft-menu-toggle__label { display: none; }
}
