/* ==========================================================================
   Fransk bulldogg Child 1.1.0 (fbksverige.se)
   Warm, friendly and trustworthy look for an independent Swedish guide to the French bulldog (no breed club, not SKK,
   no breeder): a charcoal info strip, a cream bar with the logo (own line drawing of a bulldog head on a fawn disc), a
   rounded hero with the bulldog drawing, six rounded topic cards with icons, white article cards, a "Rasfakta" data
   box beside the health note (BOAS), a framed independence note, white text sheets with a sticky table of contents,
   framed sources, boxes for health warnings (.fb-health) and tips (.fb-tips) and a four-column charcoal footer.
   Headings Nunito 700/800, body Source Sans 3 400/600/700 (+ 400 italic), both self-hosted, OFL. Mobile first.

   Colour pairs used for text (WCAG 2.2 AA, normal text >= 4.5:1; verified with the WCAG luminance formula):
   #2b2724 on #fff 14.8 · #2b2724 on #fbf5ec 13.7 · #2b2724 on #f0c9a3 9.6 · #3d3732 on #fffdf9 11.5 ·
   #3d3732 on #fbf5ec 10.8 · #3d3732 on #f5eadb 9.9 · #3d3732 on #fbeae5 10.1 · #655c54 on #fffdf9 6.4 ·
   #655c54 on #fbf5ec 6.0 · #655c54 on #f5eadb 5.5 · #655c54 on #efdfc9 5.0 · #8a4f24 on #fffdf9 6.4 ·
   #8a4f24 on #fbf5ec 6.0 · #8a4f24 on #f5eadb 5.5 · #8a4f24 on #efdfc9 5.0 · #fff on #8a4f24 6.5 ·
   #fffdf9 on #6f3d19 8.8 · #fbf5ec on #2f2b28 12.9 · #e8d9c6 on #2f2b28 10.1 · #e8b98f on #2f2b28 7.9 ·
   #2f2b28 on #e8b98f 7.9 · #a8321f on #fbeae5 5.7 · #a8321f on #fffdf9 6.6 · #fff on #a8321f 6.5 ·
   #2f5d43 on #eef5ef 6.8 · #2f5d43 on #fffdf9 7.5 · #a3271c on #fff 7.3.
   #c98b5a (fawn) is decoration only (rules, dots, icon discs, the mark); its text variant is #8a4f24. #d9573f
   (health edge) is decoration only. Form borders #8c7f70 on #fff 3.9 (non-text, >= 3:1). No text sits on photos.
   ========================================================================== */

/* Fonts ------------------------------------------------------------------- */
/* Nunito 700 also serves weight 600, Nunito 800 also 900, so no weight is ever synthesised. */
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 600 700; font-display: swap; src: url("../fonts/nunito-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: "Nunito"; font-style: normal; font-weight: 600 700; font-display: swap; src: url("../fonts/nunito-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: "Nunito"; font-style: normal; font-weight: 800 900; font-display: swap; src: url("../fonts/nunito-latin-800-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: "Nunito"; font-style: normal; font-weight: 800 900; font-display: swap; src: url("../fonts/nunito-latin-ext-800-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 ------------------------------------------------------------------ */
:root {
	--fb-brown: #8a4f24;
	--fb-brown-700: #6f3d19;
	--fb-char: #2f2b28;
	--fb-sand: #f3e4d0;
	--fb-fawn: #c98b5a;
	--fb-fawn-light: #e8b98f;
	--fb-ink: #2b2724;
	--fb-text: #3d3732;
	--fb-muted: #655c54;
	--fb-cream: #fbf5ec;
	--fb-cream-2: #f5eadb;
	--fb-sheet: #fffdf9;
	--fb-rule: #ecdfcd;
	--fb-rule-2: #dfcdb5;
	--fb-field: #8c7f70;
	--fb-on-dark: #e8d9c6;
	--fb-health: #a8321f;
	--fb-health-bg: #fbeae5;
	--fb-health-edge: #d9573f;
	--fb-tip: #2f5d43;
	--fb-tip-bg: #eef5ef;
	--fb-error: #a3271c;

	--fb-font: "Source Sans 3", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--fb-font-head: "Nunito", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;

	--fb-wrap: 1200px;
	--fb-measure: 740px;
	--fb-gutter: clamp(16px, 3vw, 32px);
	--fb-section: clamp(52px, 7vw, 96px);
	--fb-radius: 20px;
	--fb-radius-sm: 12px;
	--fb-fast: .2s;
	--fb-shadow: 0 18px 40px rgba(43, 39, 36, .13);
	--fb-shadow-soft: 0 2px 12px rgba(43, 39, 36, .06);
	--fb-header-h: 64px;
	--fb-alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4 2.8 19.5h18.4z'/%3E%3Cpath d='M12 10v4.5M12 17v.3'/%3E%3C/svg%3E");
	--fb-info-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 11v5.5M12 7.8v.3'/%3E%3C/svg%3E");

	/* Colours read by the inline styles of the published texts (<div class="fb-wrap">: var(--brown), var(--dark) …),
	   so their fact boxes, notes and tables use the theme palette instead of their own fallbacks. */
	--brown: #8a4f24;
	--dark: #2b2724;
	--cream: #fbf5ec;
	--line: #ecdfcd;
	--fawn: #c98b5a;
}

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

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

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

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

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

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

/* Buttons ------------------------------------------------------------------ */
.fb-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em; box-sizing: border-box;
	min-height: 48px; padding: .7em 1.35em; border: 2px solid transparent; border-radius: 999px;
	font: 600 .9375rem/1.2 var(--fb-font); text-decoration: none; cursor: pointer; white-space: nowrap;
	transition: background-color var(--fb-fast), color var(--fb-fast), border-color var(--fb-fast);
}
.fb-btn .fb-icon { width: 18px; height: 18px; transition: transform var(--fb-fast); }
.fb-btn:hover .fb-icon--arrow { transform: translateX(3px); }
.fb-btn:hover .fb-icon--arrow-left { transform: translateX(-3px); }
.fb-theme .fb-btn--primary { background: var(--fb-brown); border-color: var(--fb-brown); color: #fff; }
.fb-theme .fb-btn--primary:hover { background: var(--fb-brown-700); border-color: var(--fb-brown-700); color: #fff; }
.fb-theme .fb-btn--outline { background: transparent; border-color: var(--fb-brown); color: var(--fb-brown); }
.fb-theme .fb-btn--outline:hover { background: var(--fb-brown); color: #fff; }

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

.fb-theme .fb-label { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 8px; color: var(--fb-brown); font-size: .75rem; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; text-decoration: none; }
.fb-theme .fb-label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--fb-fawn); }
.fb-theme a.fb-label:hover { color: var(--fb-ink); text-decoration: underline; text-underline-offset: .2em; }

.fb-more { display: inline-flex; align-items: center; gap: .4em; color: var(--fb-brown); font-size: .9375rem; font-weight: 600; }
.fb-more .fb-icon { width: 17px; height: 17px; transition: transform var(--fb-fast); }

/* Section heading */
.fb-heading { margin: 0 0 clamp(20px, 3vw, 32px); max-width: 46rem; }
.fb-heading--center { margin-inline: auto; text-align: center; }
.fb-heading__kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 8px; color: var(--fb-brown); font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fb-heading__kicker::before { content: ""; width: 24px; height: 2px; background: var(--fb-fawn); }
.fb-theme .fb-title { margin: 0; font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem); font-weight: 800; line-height: 1.12; }
.fb-heading--light .fb-heading__kicker { color: var(--fb-fawn-light); }
.fb-heading--light .fb-heading__kicker::before { background: var(--fb-fawn-light); }
.fb-theme .fb-heading--light .fb-title { color: var(--fb-cream); }
.fb-section__text { max-width: 62ch; margin: calc(-1 * clamp(8px, 1.4vw, 16px)) 0 clamp(24px, 3vw, 36px); color: var(--fb-muted); font-size: 1.0625rem; }

/* Header: info strip ------------------------------------------------------- */
.fb-header { position: sticky; top: var(--fb-stick, 0px); z-index: 100; }
.admin-bar .fb-header { top: calc(var(--fb-stick, 0px) + 46px); }
.fb-masthead { position: relative; background: var(--fb-char); color: var(--fb-cream); }
.fb-topbar { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; min-height: 40px; padding-block: 4px; font-size: .8125rem; line-height: 1.4; text-align: center; }
.fb-topbar__note { display: flex; align-items: center; justify-content: center; gap: .55em; min-width: 0; margin: 0; padding: 4px 0 0; font-weight: 600; }
.fb-topbar__note .fb-icon { display: none; width: 17px; height: 17px; color: var(--fb-fawn-light); }
.fb-topbar__menu { display: flex; align-items: center; flex: none; }
.fb-topbar__menu ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0; margin: 0; padding: 0; }
.fb-topbar__menu li { display: flex; align-items: center; margin: 0; }
.fb-topbar__menu li + li::before { content: ""; width: 4px; height: 4px; margin: 0 12px; border-radius: 50%; background: var(--fb-fawn); }
.fb-theme .fb-topbar a { display: inline-flex; align-items: center; min-height: 30px; color: var(--fb-cream); font-weight: 600; font-size: .8125rem; text-decoration: none; }
.fb-theme .fb-topbar a:hover { color: var(--fb-fawn-light); text-decoration: underline; text-underline-offset: .2em; }
@media (min-width: 768px) {
	.fb-topbar { flex-direction: row; justify-content: space-between; gap: 6px 24px; padding-block: 0; text-align: left; }
	.fb-topbar__note { justify-content: flex-start; padding: 8px 0; }
	.fb-topbar__note .fb-icon { display: inline; }
}

/* Header: main bar with the logo ------------------------------------------- */
.fb-mainbar { position: relative; background: var(--fb-sheet); box-shadow: 0 1px 0 var(--fb-rule-2); transition: box-shadow var(--fb-fast); }
.fb-header.is-stuck .fb-mainbar { box-shadow: 0 1px 0 var(--fb-rule-2), 0 8px 22px rgba(43, 39, 36, .08); }
.fb-mainbar__inner { display: flex; align-items: center; gap: 12px; min-height: var(--fb-header-h); }
.fb-brand { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; padding-block: 8px; margin-right: clamp(4px, 1.6vw, 28px); }
.fb-brand__logo { display: flex; }
.fb-theme .fb-brand__img { display: block; width: auto; height: auto; max-height: 52px; max-width: min(300px, 100%); object-fit: contain; }

.fb-theme .fb-badge { display: inline-flex; align-items: center; gap: 10px; min-width: 0; color: var(--fb-ink); text-decoration: none; }
.fb-badge__mark { display: flex; flex: none; }
.fb-badge .fb-mark { display: block; width: 36px; height: 36px; }
.fb-badge__text { display: flex; flex-direction: column; min-width: 0; }
.fb-badge__name { font-family: var(--fb-font-head); font-size: 1.125rem; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fb-badge__sub { display: none; margin-top: 3px; color: var(--fb-muted); font-size: .75rem; font-weight: 600; letter-spacing: .04em; line-height: 1.2; white-space: nowrap; }
.fb-theme a.fb-badge:hover { color: var(--fb-brown); }
.fb-theme .fb-badge--footer { color: var(--fb-cream); }
.fb-badge--footer .fb-mark { width: 44px; height: 44px; }
.fb-badge--footer .fb-badge__name { font-size: 1.3rem; white-space: normal; }
.fb-theme .fb-badge--footer .fb-badge__sub { display: block; color: var(--fb-on-dark); }
@media (min-width: 420px) {
	.fb-badge .fb-mark { width: 40px; height: 40px; }
	.fb-badge__name { font-size: 1.1875rem; }
}
@media (min-width: 600px) {
	.fb-badge .fb-mark { width: 44px; height: 44px; }
	.fb-badge__name { font-size: 1.3125rem; }
	.fb-badge__sub { display: block; }
}

/* Navigation: mobile drawer first */
.fb-drawer { display: none; }
.fb-js .fb-drawer {
	position: fixed; left: 0; right: 0; top: var(--fb-drawer-top, 108px); bottom: 0; z-index: 200;
	display: flex; flex-direction: column; justify-content: flex-start; gap: 22px; background: var(--fb-cream); overflow-y: auto; padding: 24px var(--fb-gutter) 48px;
	border-top: 3px solid var(--fb-brown); visibility: hidden; opacity: 0; transition: opacity var(--fb-fast), visibility 0s var(--fb-fast);
}
.fb-js .fb-header.is-open .fb-drawer { visibility: visible; opacity: 1; transition-delay: 0s; }
.fb-drawer .fb-search { display: flex; }
.fb-nav { display: block; min-width: 0; }
.fb-nav__list { list-style: none; display: block; margin: 0; padding: 0; border-top: 1px solid var(--fb-rule-2); }
.fb-nav__list > li { position: relative; display: block; margin: 0; border-bottom: 1px solid var(--fb-rule-2); }
.fb-theme .fb-nav__list > li > a { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 15px 0; color: var(--fb-ink); font-size: 1.0625rem; font-weight: 600; text-decoration: none; }
.fb-nav__list > li > a .fb-icon { display: none; width: 15px; height: 15px; transition: transform var(--fb-fast); }
.fb-theme .fb-nav__list > .current-menu-item > a { box-shadow: inset 3px 0 0 var(--fb-fawn); padding-left: 14px; color: var(--fb-brown); }
.fb-nav .sub-menu { list-style: none; margin: 0 0 14px; padding: 0 0 0 14px; border-left: 2px solid var(--fb-sand); }
.fb-nav .sub-menu li { margin: 0; }
.fb-theme .fb-nav .sub-menu a { display: block; padding: .45em 0; color: var(--fb-text); font-size: 1rem; font-weight: 500; text-decoration: none; }
.fb-theme .fb-nav .sub-menu a:hover, .fb-theme .fb-nav .sub-menu .current-menu-item > a { color: var(--fb-brown); text-decoration: underline; }

.fb-actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; flex: none; margin-left: auto; }
.fb-search-toggle, .fb-menu-toggle {
	display: none; place-items: center; flex: none; width: 44px; height: 44px; margin: 0; padding: 0; cursor: pointer;
	background: var(--fb-sheet); color: var(--fb-brown); border: 1px solid var(--fb-rule-2); border-radius: 999px; transition: background-color var(--fb-fast), color var(--fb-fast), border-color var(--fb-fast);
}
.fb-search-toggle .fb-icon, .fb-menu-toggle .fb-icon { width: 22px; height: 22px; }
.fb-search-toggle__close, .fb-menu-toggle__close { display: none !important; }
.fb-search-toggle[aria-expanded="true"] .fb-search-toggle__open, .fb-menu-toggle[aria-expanded="true"] .fb-menu-toggle__open { display: none !important; }
.fb-search-toggle[aria-expanded="true"] .fb-search-toggle__close { display: grid !important; }
.fb-menu-toggle[aria-expanded="true"] .fb-menu-toggle__close { display: inline-flex !important; }
.fb-search-toggle:hover, .fb-search-toggle[aria-expanded="true"], .fb-menu-toggle:hover, .fb-menu-toggle[aria-expanded="true"] { background: var(--fb-brown); border-color: var(--fb-brown); color: #fff; }
.fb-js .fb-theme .fb-menu-toggle, .fb-js .fb-menu-toggle { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; width: auto; height: 44px; padding: 0 12px; font: 600 .9375rem/1 var(--fb-font); }
.fb-menu-toggle__label { display: none; }
@media (min-width: 380px) { .fb-menu-toggle__label { display: inline; } .fb-js .fb-menu-toggle { padding: 0 16px 0 14px; } }

.fb-searchbar { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; display: none; padding: 22px 0; background: var(--fb-char); box-shadow: var(--fb-shadow); }
.fb-header.is-searching .fb-searchbar { display: block; }
.fb-searchbar .fb-search { max-width: 760px; margin-left: auto; }

/* Desktop navigation */
@media (min-width: 1024px) {
	:root { --fb-header-h: 76px; }
	.fb-mainbar__inner { gap: 16px; }
	.fb-brand { flex: none; }
	.fb-js .fb-drawer, .fb-drawer {
		position: static; display: flex; flex-direction: row; align-items: stretch; flex: 1 1 auto; min-width: 0; gap: 12px; align-self: stretch;
		padding: 0; background: none; border: 0; overflow: visible; visibility: visible; opacity: 1; transition: none;
	}
	.fb-drawer .fb-search { display: none; }
	.fb-nav { display: flex; }
	.fb-nav__list { display: flex; flex-wrap: nowrap; margin: 0 0 0 -12px; border: 0; }
	.fb-nav__list > li { display: flex; border: 0; }
	.fb-theme .fb-nav__list > li > a { justify-content: flex-start; padding: 0 clamp(8px, .9vw, 12px); font-size: .9375rem; white-space: nowrap; }
	.fb-nav__list > li > a .fb-icon { display: block; }
	.fb-nav__list > li > a::after { content: ""; position: absolute; left: clamp(8px, .9vw, 12px); right: clamp(8px, .9vw, 12px); bottom: calc(50% - 1.35em); height: 2px; background: var(--fb-fawn); transform: scaleX(0); transform-origin: left; transition: transform var(--fb-fast); }
	.fb-theme .fb-nav__list > li > a:hover, .fb-theme .fb-nav__list > li:focus-within > a,
	.fb-theme .fb-nav__list > .current-menu-item > a, .fb-theme .fb-nav__list > .current-menu-ancestor > a, .fb-theme .fb-nav__list > .current-category-ancestor > a, .fb-theme .fb-nav__list > .current-post-ancestor > a { color: var(--fb-brown); box-shadow: none; padding-left: clamp(8px, .9vw, 12px); }
	.fb-nav__list > li > a:hover::after, .fb-nav__list > li:focus-within > a::after,
	.fb-nav__list > .current-menu-item > a::after, .fb-nav__list > .current-menu-ancestor > a::after, .fb-nav__list > .current-category-ancestor > a::after, .fb-nav__list > .current-post-ancestor > a::after { transform: scaleX(1); }
	.fb-nav__list > li:hover > a .fb-icon { transform: rotate(180deg); }
	.fb-nav .sub-menu {
		position: absolute; top: 100%; left: 0; min-width: 250px; z-index: 20; margin: 0; padding: 8px;
		background: var(--fb-sheet); border: 1px solid var(--fb-rule-2); border-top: 3px solid var(--fb-brown); border-radius: 0 0 var(--fb-radius-sm) var(--fb-radius-sm); box-shadow: var(--fb-shadow);
		opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--fb-fast), transform var(--fb-fast), visibility 0s var(--fb-fast);
	}
	.fb-nav li:hover > .sub-menu, .fb-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.fb-theme .fb-nav .sub-menu a { padding: .55em .9em; color: var(--fb-ink); font-size: .9375rem; font-weight: 500; border-radius: var(--fb-radius-sm); }
	.fb-theme .fb-nav .sub-menu a:hover, .fb-theme .fb-nav .sub-menu .current-menu-item > a { background: var(--fb-sand); color: var(--fb-brown); text-decoration: none; }
	.fb-theme .fb-header--tight .fb-nav__list > li > a { padding: 0 7px; font-size: .875rem; }
	.fb-header--tight .fb-nav__list > li > a::after { left: 7px; right: 7px; }
	.fb-header--tight .fb-nav__list { margin-left: -7px; }
	.fb-header--wrap .fb-nav { flex: 1 1 auto; }
	.fb-header--wrap .fb-nav__list { flex: 0 1 auto; min-width: 0; flex-wrap: wrap; align-content: center; padding-block: 8px; }
	.fb-theme .fb-header--wrap .fb-nav__list > li > a { padding-block: 8px; }
	.fb-header--wrap .fb-nav__list > li > a::after { bottom: 2px; }
	.fb-search-toggle { display: grid; }
	.fb-js .fb-menu-toggle, .fb-js .fb-theme .fb-menu-toggle { display: none; }
	.fb-actions { margin-left: 0; }
}

/* Search form */
.fb-search { display: flex; align-items: stretch; margin: 0; }
.fb-theme .fb-search__input {
	flex: 1 1 auto; width: 100%; min-width: 0; margin: 0; box-sizing: border-box;
	background: #fff; color: var(--fb-ink); border: 1px solid var(--fb-field); border-right: 0; border-radius: 999px 0 0 999px;
	padding: .8em 1.1em .8em 1.2em; font: 400 1rem/1.3 var(--fb-font); transition: border-color var(--fb-fast);
}
.fb-theme .fb-search__input::placeholder { color: var(--fb-muted); opacity: 1; }
.fb-theme .fb-search__input:focus { outline: none; border-color: var(--fb-brown); box-shadow: inset 0 0 0 1px var(--fb-brown); }
.fb-theme .fb-search__submit {
	display: inline-flex; align-items: center; gap: .5em; flex: none; margin: 0; cursor: pointer; min-height: 50px;
	background: var(--fb-brown); color: #fff; border: 1px solid var(--fb-brown); border-radius: 0 999px 999px 0;
	padding: 0 1.2em 0 1em; font: 600 .9375rem/1 var(--fb-font); transition: background-color var(--fb-fast);
}
.fb-theme .fb-search__submit:hover { background: var(--fb-brown-700); border-color: var(--fb-brown-700); color: #fff; }
.fb-search__submit span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (min-width: 600px) { .fb-search__submit span { position: static; width: auto; height: auto; overflow: visible; clip: auto; } }
.fb-theme .fb-searchbar .fb-search__input { border-color: var(--fb-cream); }
.fb-theme .fb-searchbar .fb-search__submit { background: var(--fb-fawn-light); border-color: var(--fb-fawn-light); color: var(--fb-ink); }

/* Hero ---------------------------------------------------------------------- */
.fb-hero { position: relative; overflow: hidden; background: var(--fb-cream-2); border-bottom: 1px solid var(--fb-rule); }
.fb-hero::before { content: ""; position: absolute; right: -14vw; top: -20vw; width: 56vw; height: 56vw; border-radius: 50%; background: var(--fb-cream); }
.fb-hero__inner { position: relative; display: grid; gap: 36px; padding-block: clamp(36px, 6vw, 88px) clamp(40px, 6vw, 84px); }
.fb-hero__text { min-width: 0; max-width: 680px; }
.fb-hero__kicker { margin: 0 0 16px; }
.fb-hero__kicker span { display: inline-flex; align-items: center; gap: 8px; color: var(--fb-brown); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fb-hero__kicker span::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--fb-fawn); }
.fb-theme .fb-hero__title { margin: 0; color: var(--fb-ink); font-size: clamp(2.1rem, 1.3rem + 3.4vw, 3.6rem); font-weight: 800; line-height: 1.06; letter-spacing: -.015em; }
.fb-hero__lead { max-width: 58ch; margin: 18px 0 0; color: var(--fb-text); font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem); line-height: 1.6; }
.fb-hero .fb-search { max-width: 600px; margin-top: 26px; box-shadow: var(--fb-shadow-soft); border-radius: 999px; }
.fb-theme .fb-hero .fb-search__input { min-height: 56px; }
.fb-theme .fb-hero .fb-search__submit { min-height: 56px; padding-inline: 1.3em; }
.fb-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.fb-hero__actions .fb-btn { flex: 1 1 auto; }
.fb-hero__note { display: flex; align-items: flex-start; gap: .6em; max-width: 60ch; margin: 22px 0 0; color: var(--fb-muted); font-size: .9375rem; line-height: 1.5; }
.fb-hero__note .fb-icon { width: 20px; height: 20px; margin-top: 1px; color: var(--fb-brown); }
.fb-hero__aside { display: none; min-width: 0; }
.fb-hero__art { display: block; width: 100%; height: auto; }
.fb-hero__figure { margin: 0; }
.fb-hero__figure img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--fb-radius); box-shadow: var(--fb-shadow); }
.fb-hero__figure figcaption { margin-top: 10px; color: var(--fb-muted); font-size: .875rem; }
@media (min-width: 600px) { .fb-hero__actions .fb-btn { flex: 0 0 auto; } }
@media (min-width: 900px) {
	.fb-hero__inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: 56px; }
	.fb-hero__aside { display: block; }
}

/* Topic cards: rounded cards with an icon disc ---------------------------------- */
.fb-topics { padding-block: var(--fb-section); scroll-margin-top: calc(var(--fb-header-h) + 8px); }
.fb-topics--more { background: var(--fb-cream-2); border-top: 1px solid var(--fb-rule); }
.fb-topics__list { list-style: none; display: grid; grid-template-columns: 1fr; gap: 14px; margin: 0; padding: 0; }
@media (min-width: 560px) { .fb-topics__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1000px) { .fb-topics__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } }
.fb-topic { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "icon title" "icon text" "icon more"; gap: 2px 16px; align-content: start; min-width: 0; margin: 0; padding: 20px 20px 18px; background: var(--fb-sheet); border: 1px solid var(--fb-rule); border-radius: var(--fb-radius); box-shadow: var(--fb-shadow-soft); transition: box-shadow var(--fb-fast), transform var(--fb-fast), border-color var(--fb-fast); }
@media (min-width: 560px) { .fb-topic { grid-template-columns: 1fr; grid-template-areas: "icon" "title" "text" "more"; gap: 0; padding: 26px 24px 22px; } }
.fb-topic:hover, .fb-topic:focus-within { border-color: var(--fb-fawn); box-shadow: var(--fb-shadow); transform: translateY(-3px); }
.fb-topic__icon { grid-area: icon; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--fb-sand); color: var(--fb-brown); box-shadow: inset 0 0 0 2px #f0d7bb; }
@media (min-width: 560px) { .fb-topic__icon { margin-bottom: 16px; } }
.fb-topic__icon .fb-icon { width: 28px; height: 28px; }
.fb-theme .fb-topic__title { grid-area: title; margin: 2px 0 4px; font-size: clamp(1.25rem, 1.15rem + .4vw, 1.45rem); font-weight: 800; line-height: 1.2; }
.fb-theme .fb-topic__link { color: var(--fb-ink); text-decoration: none; }
.fb-topic__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fb-theme .fb-topic:hover .fb-topic__link { color: var(--fb-brown); }
.fb-topic__text { grid-area: text; margin: 0 0 12px; color: var(--fb-text); font-size: 1rem; line-height: 1.5; }
.fb-topic .fb-more { grid-area: more; }
.fb-topic:hover .fb-more .fb-icon { transform: translateX(4px); }

/* Latest articles: card grid ---------------------------------------------- */
.fb-latest { padding-block: var(--fb-section); background: var(--fb-cream-2); border-block: 1px solid var(--fb-rule); scroll-margin-top: calc(var(--fb-header-h) + 8px); }
.fb-latest__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0 24px; }
.fb-latest__all { margin: 0 0 clamp(20px, 3vw, 32px); }
.fb-theme .fb-latest__all a { display: inline-flex; align-items: center; gap: .4em; font-weight: 600; text-decoration: none; }
.fb-theme .fb-latest__all a:hover { text-decoration: underline; text-underline-offset: .2em; }
.fb-listing__body { padding-block: clamp(36px, 5vw, 64px) var(--fb-section); }

.fb-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .fb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .fb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
.fb-postcard { position: relative; display: flex; flex-direction: column; min-width: 0; margin: 0; overflow: hidden; background: var(--fb-sheet); border: 1px solid var(--fb-rule); border-radius: var(--fb-radius); box-shadow: var(--fb-shadow-soft); transition: box-shadow var(--fb-fast), border-color var(--fb-fast); }
.fb-postcard:hover, .fb-postcard:focus-within { box-shadow: var(--fb-shadow); border-color: var(--fb-rule-2); }
.fb-postcard__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--fb-sand); }
.fb-postcard__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.fb-postcard:hover .fb-postcard__media img { transform: scale(1.04); }
.fb-postcard__body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px 22px 22px; }
.fb-postcard--no-image .fb-postcard__body { border-top: 4px solid var(--fb-sand); }
.fb-theme .fb-postcard__title { margin: 0; font-size: 1.3rem; line-height: 1.22; }
.fb-theme .fb-postcard__link { color: var(--fb-ink); text-decoration: none; }
.fb-postcard__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fb-theme .fb-postcard:hover .fb-postcard__link { color: var(--fb-brown); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.fb-postcard__excerpt { margin: 0; color: var(--fb-text); font-size: .9688rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fb-postcard__date { display: flex; flex-wrap: wrap; gap: 0 .5em; margin: auto 0 0; padding-top: 6px; color: var(--fb-muted); font-size: .875rem; }

/* Breed facts and health note ---------------------------------------------------------------------- */
.fb-factband { padding-block: var(--fb-section); scroll-margin-top: calc(var(--fb-header-h) + 8px); }
.fb-factband__inner { display: grid; gap: 22px; align-items: start; }
@media (min-width: 900px) { .fb-factband__inner { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 28px; } }
.fb-breed { min-width: 0; padding: clamp(22px, 3.4vw, 36px); background: var(--fb-sheet); border: 1px solid var(--fb-rule); border-radius: var(--fb-radius); box-shadow: var(--fb-shadow-soft); }
.fb-theme .fb-breed__title { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem); font-weight: 800; }
.fb-breed__mark .fb-mark { display: block; width: 52px; height: 52px; }
.fb-breed__list { margin: 0; }
.fb-breed__row { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 11px 0; border-top: 1px dashed var(--fb-rule-2); }
@media (min-width: 480px) { .fb-breed__row { grid-template-columns: minmax(120px, 38%) minmax(0, 1fr); gap: 16px; } }
.fb-breed__row dt { margin: 0; color: var(--fb-brown); font-size: .875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.fb-breed__row dd { margin: 0; color: var(--fb-ink); font-weight: 600; }
.fb-breed__source { display: flex; align-items: flex-start; gap: .5em; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--fb-rule); color: var(--fb-muted); font-size: .9375rem; line-height: 1.5; }
.fb-breed__source .fb-icon { width: 18px; height: 18px; margin-top: 2px; color: var(--fb-brown); }
.fb-theme .fb-breed__source a { font-weight: 600; }

/* Health note: the front-page box and the .fb-health class for texts share one look. */
.fb-health, .fb-prose .fb-health { position: relative; margin: 0; padding: 22px 24px 8px 24px; background: var(--fb-health-bg); border: 1px solid #f0cfc6; border-left: 6px solid var(--fb-health-edge); border-radius: var(--fb-radius-sm); color: var(--fb-text); }
.fb-prose .fb-health { margin: 2em 0; padding-left: 58px; }
.fb-prose .fb-health::before { content: ""; position: absolute; left: 20px; top: 24px; width: 24px; height: 24px; background: var(--fb-health); -webkit-mask: var(--fb-alert-icon) center / contain no-repeat; mask: var(--fb-alert-icon) center / contain no-repeat; }
.fb-health p { margin: 0 0 1em; }
.fb-health__label { display: inline-flex; align-items: center; gap: .45em; margin: 0 0 8px; color: var(--fb-health); font-size: .875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.fb-health__label .fb-icon { width: 20px; height: 20px; }
.fb-theme .fb-health__title, .fb-theme .fb-prose .fb-health > :is(h2, h3, h4):first-child { margin: 0 0 10px; color: var(--fb-ink); font-size: clamp(1.3rem, 1.15rem + .5vw, 1.6rem); font-weight: 800; line-height: 1.2; }
.fb-health--front { padding: clamp(22px, 3.4vw, 36px) clamp(22px, 3.4vw, 36px) clamp(14px, 2vw, 22px); }
.fb-theme .fb-btn--health { background: var(--fb-health); border-color: var(--fb-health); color: #fff; }
.fb-theme .fb-btn--health:hover { background: #8a2818; border-color: #8a2818; color: #fff; }
.fb-theme .fb-prose .fb-health a { color: var(--fb-health); }

/* Tip box for texts: .fb-tips */
.fb-prose .fb-tips { position: relative; margin: 2em 0; padding: 20px 24px 6px 58px; background: var(--fb-tip-bg); border-left: 6px solid #6fa283; border-radius: var(--fb-radius-sm); }
.fb-prose .fb-tips::before { content: ""; position: absolute; left: 20px; top: 22px; width: 24px; height: 24px; background: var(--fb-tip); -webkit-mask: var(--fb-info-icon) center / contain no-repeat; mask: var(--fb-info-icon) center / contain no-repeat; }
.fb-theme .fb-prose .fb-tips > :is(h2, h3, h4):first-child { margin: 0 0 8px; color: var(--fb-tip); font-size: 1.2rem; }
.fb-theme .fb-prose .fb-tips a { color: var(--fb-tip); }

/* Independence note --------------------------------------------------------- */
.fb-trust { padding-bottom: var(--fb-section); }
.fb-trust__card { display: grid; gap: 16px; padding: clamp(22px, 3.4vw, 40px); background: var(--fb-sand); border: 1px solid #ead6bd; border-radius: var(--fb-radius); }
@media (min-width: 720px) { .fb-trust__card { grid-template-columns: 56px minmax(0, 1fr); gap: 24px; } }
.fb-trust__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--fb-brown); color: #fff; }
.fb-trust__icon .fb-icon { width: 28px; height: 28px; }
.fb-theme .fb-trust__title { margin: 4px 0 10px; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.85rem); font-weight: 800; }
.fb-trust__text { max-width: 70ch; margin: 0; color: var(--fb-text); }
.fb-trust__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }

/* Title band (inner pages): paper, breadcrumbs, title ---------------------------------------------------- */
.fb-band { position: relative; background: var(--fb-cream); border-bottom: 1px solid var(--fb-rule); }
.fb-band::after { content: ""; position: absolute; left: var(--fb-gutter); bottom: -1px; width: 64px; height: 3px; background: var(--fb-fawn); }
@media (min-width: 1264px) { .fb-band::after { left: calc((100% - var(--fb-wrap)) / 2); } }
.fb-band__inner { position: relative; padding-block: clamp(24px, 4vw, 48px) clamp(28px, 4.5vw, 52px); }
.fb-band__kicker { margin: 0 0 14px; }
.fb-band__kicker a, .fb-band__kicker span { display: inline-flex; align-items: center; min-height: 30px; padding: 3px 12px; box-sizing: border-box; border-radius: 999px; background: var(--fb-sand); color: var(--fb-brown); font-size: .8125rem; font-weight: 700; letter-spacing: .04em; line-height: 1.3; text-decoration: none; }
.fb-theme .fb-band__kicker a:hover { background: var(--fb-brown); color: #fff; }
.fb-theme .fb-band__title { max-width: 26ch; margin: 0; color: var(--fb-ink); font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem); font-weight: 800; line-height: 1.12; letter-spacing: -.01em; }
.fb-band__title mark { background: none; color: var(--fb-brown); padding: 0; }
.fb-band__text { max-width: 62ch; margin-top: 14px; color: var(--fb-text); font-size: clamp(1.0625rem, 1rem + .3vw, 1.2rem); line-height: 1.6; }
.fb-band__text p { margin: 0 0 .5em; }
.fb-band__meta { margin: 14px 0 0; color: var(--fb-muted); font-size: .9375rem; }
.fb-band .fb-meta { margin: 20px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--fb-rule); }
.fb-band .fb-search { max-width: 600px; margin-top: 22px; }

/* Breadcrumbs */
.fb-crumbs { margin: 0 0 16px; color: var(--fb-muted); font-size: .875rem; line-height: 1.5; }
.fb-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; }
.fb-crumbs li { display: inline-flex; align-items: center; margin: 0; min-width: 0; }
.fb-crumbs li + li::before { content: "›"; margin: 0 .6em; color: var(--fb-brown); }
.fb-crumbs > span { display: block; }
.fb-theme .fb-crumbs a { color: var(--fb-brown); text-decoration: none; font-weight: 600; }
.fb-theme .fb-crumbs a:hover { text-decoration: underline; }
.fb-crumbs [aria-current], .fb-crumbs .breadcrumb_last { display: none; }
.fb-crumbs li:has(+ li[aria-current])::after { content: none; }
.fb-crumbs__sep { margin: 0 .55em; color: var(--fb-brown); }
.fb-crumbs__sep:has(+ .breadcrumb_last) { display: none; }
@media (min-width: 601px) {
	.fb-crumbs [aria-current], .fb-crumbs .breadcrumb_last { display: inline-block; max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
	.fb-crumbs__sep:has(+ .breadcrumb_last) { display: inline; }
}

/* Article: white sheet, sticky side column ------------------------------------- */
.fb-article__layout { display: grid; gap: 28px 40px; padding-top: clamp(24px, 4vw, 48px); padding-bottom: clamp(44px, 6vw, 80px); }
@media (min-width: 1024px) { .fb-article__layout { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; } }
.fb-article__single { max-width: calc(var(--fb-measure) + 2 * var(--fb-gutter) + 96px); padding-top: clamp(24px, 4vw, 48px); padding-bottom: clamp(44px, 6vw, 80px); }
.fb-article__main { min-width: 0; margin-inline: calc(-1 * var(--fb-gutter)); padding: 24px var(--fb-gutter) 28px; background: var(--fb-sheet); border-block: 1px solid var(--fb-rule); }
@media (min-width: 640px) {
	.fb-article__main { margin-inline: 0; padding: clamp(28px, 3.6vw, 52px); border: 1px solid var(--fb-rule); border-radius: var(--fb-radius); box-shadow: var(--fb-shadow-soft); }
}
.fb-article__aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.fb-article__toc-desktop, .fb-article__principles { display: none; }
.fb-article__aside:not(:has(.fb-box:not(.fb-box--trust))) { display: none; }
@media (min-width: 1024px) {
	.fb-article__aside, .fb-article__aside:not(:has(.fb-box:not(.fb-box--trust))) { display: flex; position: sticky; top: calc(var(--fb-header-h) + 24px); }
	.admin-bar .fb-article__aside { top: calc(var(--fb-header-h) + 56px); }
	.fb-article__toc-desktop, .fb-article__principles { display: block; }
	.fb-article__toc-mobile { display: none; }
}

/* Author and date line */
.fb-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 24px; padding: 0 0 16px; border-bottom: 1px solid var(--fb-rule); color: var(--fb-muted); font-size: .9375rem; line-height: 1.5; }
.fb-meta > span:not(.fb-meta__sep) { display: inline-flex; align-items: center; gap: 8px; }
.fb-band .fb-meta > span:not(.fb-meta__sep) { flex: 1 1 100%; }
.fb-meta__sep { display: none; width: 4px; height: 4px; border-radius: 50%; background: var(--fb-fawn); }
.fb-meta .fb-icon { width: 18px; height: 18px; color: var(--fb-brown); }
.fb-theme .fb-meta a { color: var(--fb-ink); font-weight: 700; text-decoration: none; }
.fb-theme .fb-meta a:hover { color: var(--fb-brown); text-decoration: underline; }
.fb-meta__first { margin: 8px 0 0; color: var(--fb-muted); font-size: .8125rem; }
@media (min-width: 601px) {
	.fb-meta__sep { display: inline-block; }
	.fb-band .fb-meta > span:not(.fb-meta__sep) { flex: 0 1 auto; }
}

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

/* Table of contents */
.fb-toc { background: var(--fb-sheet); border: 1px solid var(--fb-rule); border-radius: var(--fb-radius); overflow: hidden; }
.fb-article__toc-mobile .fb-toc { margin: 0 0 26px; background: var(--fb-cream); }
.fb-theme .fb-toc__toggle {
	display: flex; width: 100%; align-items: center; gap: 10px; margin: 0; padding: 14px 18px; border: 0; border-bottom: 1px solid var(--fb-rule); border-radius: 0;
	background: var(--fb-sand); color: var(--fb-brown); font: 700 .875rem/1.2 var(--fb-font); letter-spacing: .06em; text-transform: uppercase; text-align: left; cursor: pointer;
}
.fb-theme .fb-toc__toggle:hover { background: var(--fb-sand); color: var(--fb-brown-700); }
.fb-toc__count { margin-left: auto; min-width: 1.9em; padding: .25em .6em; border-radius: 999px; background: var(--fb-brown); color: #fff; font-size: .75rem; letter-spacing: 0; text-align: center; }
.fb-toc__list { list-style: none; counter-reset: toc; margin: 0; padding: 8px 8px 10px; }
.fb-toc__list li { counter-increment: toc; margin: 0; }
.fb-theme .fb-toc__list a { display: grid; grid-template-columns: 1.8em 1fr; gap: .2em; padding: .5em 10px; border-radius: var(--fb-radius-sm); color: var(--fb-text); font-size: .9375rem; line-height: 1.45; text-decoration: none; }
.fb-toc__list a::before { content: counter(toc); color: var(--fb-brown); font-family: var(--fb-font-head); font-weight: 700; }
.fb-theme .fb-toc__list a:hover { color: var(--fb-brown); background: var(--fb-cream); }
.fb-theme .fb-toc__list a[aria-current] { color: var(--fb-ink); background: var(--fb-sand); font-weight: 700; box-shadow: inset 3px 0 0 var(--fb-brown); }
.fb-theme .fb-toc--side .fb-toc__toggle { cursor: default; pointer-events: none; }
.fb-toc--side .fb-toc__list { max-height: calc(100vh - var(--fb-header-h) - 300px); min-height: 160px; overflow-y: auto; overscroll-behavior: contain; }
.fb-js .fb-toc--mobile:not(.is-open) .fb-toc__list { display: none; }
.fb-toc--mobile .fb-toc__toggle::after { content: "+"; margin-left: 10px; font-size: 1.35rem; line-height: 1; }
.fb-toc--mobile.is-open .fb-toc__toggle::after { content: "−"; }

/* Side boxes */
.fb-box { padding: 20px 22px 12px; background: var(--fb-sheet); border: 1px solid var(--fb-rule); border-top: 3px solid var(--fb-brown); border-radius: var(--fb-radius); }
.fb-theme .fb-box__title { margin: 0 0 6px; padding-bottom: 10px; border-bottom: 1px solid var(--fb-rule); font-size: 1.2rem; }
.fb-box__list { list-style: none; margin: 0; padding: 0; }
.fb-box__list li { margin: 0; border-bottom: 1px solid var(--fb-rule); }
.fb-box__list li:last-child { border-bottom: 0; }
.fb-theme .fb-box__list a { display: flex; align-items: center; gap: .75em; padding: .7em 0; color: var(--fb-ink); font-size: .9688rem; font-weight: 600; text-decoration: none; }
.fb-box__icon .fb-icon { width: 22px; height: 22px; color: var(--fb-brown); }
.fb-theme .fb-box__list a:hover, .fb-theme .fb-box__list a[aria-current] { color: var(--fb-brown); }
.fb-box--trust { padding-bottom: 16px; background: var(--fb-sand); border-color: #ead6bd; border-top-color: var(--fb-fawn); font-size: .9375rem; line-height: 1.55; }
.fb-box--trust p { margin: 0 0 .7em; }
.fb-box--trust p:last-child { margin: 0; }
.fb-box__eyebrow { display: flex; align-items: center; gap: .5em; color: var(--fb-brown); font-weight: 700; }
.fb-box__eyebrow .fb-icon { width: 20px; height: 20px; }
.fb-theme .fb-box--trust a { display: inline-flex; align-items: center; gap: .35em; font-weight: 600; text-decoration: none; }
.fb-theme .fb-box--trust a:hover { text-decoration: underline; }
.fb-box--trust a .fb-icon { width: 16px; height: 16px; }

/* Prose. Rules use :where() so blocks and classes in the texts win. ---------------------------------------- */
.fb-prose { font-size: clamp(1.0625rem, 1.02rem + .2vw, 1.15rem); line-height: 1.75; color: var(--fb-text); overflow-wrap: break-word; }
/* GeneratePress gives .entry-content:not(:first-child) a 2em top margin; the hidden mobile table of contents comes first. */
.fb-theme .fb-prose.entry-content { margin-top: 0; }
.fb-prose::after { content: ""; display: table; clear: both; }
.fb-prose :where(p) { margin: 0 0 1.15em; }
.fb-prose :where(p:empty) { display: none; }
.fb-prose :where(strong, b) { color: var(--fb-ink); font-weight: 700; }
.fb-prose :where(h2, h3, h4) { scroll-margin-top: calc(var(--fb-header-h) + 24px); }
.fb-prose :where(h2) { margin: 1.9em 0 .55em; font-size: clamp(1.55rem, 1.3rem + 1vw, 2rem); font-weight: 600; line-height: 1.18; color: var(--fb-ink); }
.fb-prose :where(h3) { margin: 1.6em 0 .45em; font-size: clamp(1.25rem, 1.15rem + .45vw, 1.45rem); line-height: 1.25; }
.fb-prose :where(h4) { margin: 1.4em 0 .4em; font-size: 1.12rem; }
.fb-prose > :first-child, .fb-prose > .fb-wrap:first-child > :first-child, .fb-prose > .fb-wrap:first-child > style:first-child + * { margin-top: 0; }
.fb-prose :where(a) { color: var(--fb-brown); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.fb-prose :where(a:hover) { color: var(--fb-brown-700); text-decoration-thickness: 2px; }
.fb-prose :where(ul, ol) { margin: 0 0 1.3em; padding-left: 1.4em; }
.fb-prose :where(li) { margin: 0 0 .45em; padding-left: .2em; }
.fb-prose :where(ul > li)::marker { color: var(--fb-fawn); }
.fb-prose :where(ol > li)::marker { color: var(--fb-brown); font-weight: 700; }
.fb-prose :where(blockquote) { margin: 2em 0; padding: .3em 0 .3em 1.3em; background: none; border: 0; border-left: 3px solid var(--fb-fawn); color: var(--fb-ink); font-family: var(--fb-font-head); font-size: 1.2em; line-height: 1.5; }
.fb-prose :where(blockquote p:last-child) { margin: 0; }
.fb-prose :where(blockquote cite) { display: block; margin-top: .5em; color: var(--fb-muted); font-family: var(--fb-font); font-size: .8em; font-style: normal; }
.fb-prose :where(figure, .wp-caption) { margin: 2em 0; max-width: 100%; }
.fb-prose :where(figure img, .wp-caption img) { border-radius: var(--fb-radius-sm); }
.fb-prose :where(figcaption, .wp-caption-text) { margin-top: .6em; color: var(--fb-muted); font-size: .875rem; }
.fb-prose :where(hr) { border: 0; border-top: 1px solid var(--fb-rule); margin: 2.4em 0; }
.fb-prose :where(.alignleft, .alignright) { float: none; margin: 1em 0; }
.fb-prose :where(.aligncenter) { display: block; margin-inline: auto; }
@media (min-width: 601px) {
	.fb-prose :where(.alignleft) { float: left; margin: .3em 1.4em 1em 0; }
	.fb-prose :where(.alignright) { float: right; margin: .3em 0 1em 1.4em; }
}
.fb-prose :where(.lead, .fb-lead) { color: var(--fb-ink); font-size: 1.15em; }

/* Sources: the "Källor" section of a text (wrapped by inc/content.php) or any block with the class .fb-kallor. */
.fb-prose .fb-sources, .fb-prose .fb-kallor { position: relative; margin: 2.4em 0 0; padding: 22px 22px 8px 22px; background: var(--fb-cream); border: 1px solid var(--fb-rule); border-left: 4px solid var(--fb-brown); border-radius: 0 var(--fb-radius-sm) var(--fb-radius-sm) 0; font-size: .9375rem; line-height: 1.6; }
.fb-sources__icon { position: absolute; top: 20px; right: 20px; color: var(--fb-brown); }
.fb-sources__icon .fb-icon { width: 24px; height: 24px; }
.fb-theme .fb-prose .fb-sources > :is(h2, h3), .fb-theme .fb-prose .fb-kallor > :is(h2, h3) { margin: 0 40px 12px 0; font-family: var(--fb-font); font-size: .875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fb-brown); }
.fb-prose .fb-sources :where(ul, ol), .fb-prose .fb-kallor :where(ul, ol) { margin: 0 0 1em; padding-left: 1.2em; }
.fb-prose .fb-sources :where(li), .fb-prose .fb-kallor :where(li) { margin: 0 0 .55em; }
.fb-prose .fb-sources :where(a), .fb-prose .fb-kallor :where(a) { overflow-wrap: anywhere; }

/* Fact box and note for the texts: <div class="fb-fakta"> and <div class="fb-notis">. */
.fb-prose .fb-fakta { margin: 2em 0; padding: 20px 22px 6px; background: var(--fb-sand); border-radius: var(--fb-radius-sm); border-top: 3px solid var(--fb-brown); }
.fb-theme .fb-prose .fb-fakta > :is(h2, h3, h4, p:first-child > strong:only-child) { margin-top: 0; color: var(--fb-brown); font-size: 1.15rem; }
.fb-prose .fb-notis { margin: 2em 0; padding: 18px 22px 4px; background: #fbeae5; border-left: 4px solid var(--fb-fawn); border-radius: 0 var(--fb-radius-sm) var(--fb-radius-sm) 0; }

/* Tables */
.fb-prose :where(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(--fb-rule);
}
.fb-prose :where(table) :where(th, td) { padding: .7em 1em; text-align: left; vertical-align: top; border: 1px solid var(--fb-rule); }
.fb-prose :where(table) :where(th) { background: var(--fb-brown); color: #fff; font-weight: 700; border-color: var(--fb-brown); }
.fb-prose :where(table) :where(tr:nth-child(even) td) { background: var(--fb-cream); }
.fb-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;
}

/* Forms in content (Contact Form 7) and comments */
.fb-theme .fb-prose :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea),
.fb-theme .fb-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(--fb-ink); border: 1px solid var(--fb-field); border-radius: var(--fb-radius-sm); padding: .8em 1em; font: 400 1rem/1.45 var(--fb-font);
	transition: border-color var(--fb-fast), box-shadow var(--fb-fast);
}
.fb-theme .fb-prose :where(input, select, textarea):focus, .fb-theme .fb-comments :where(input, textarea):focus { outline: none; border-color: var(--fb-brown); box-shadow: 0 0 0 3px rgba(138, 79, 36, .2); }
.fb-theme .fb-prose :where(label) { color: var(--fb-ink); font-size: .9375rem; font-weight: 600; }
.fb-theme .fb-prose :where(.wpcf7-form-control-wrap) { display: block; }
.fb-theme .fb-prose :where(.wpcf7 form > p) { margin: 0 0 1.1em; }
.fb-theme .fb-prose :where(.wpcf7-list-item) { margin: 0 1em 0 0; }
.fb-theme .fb-prose :where(input[type="checkbox"], input[type="radio"]) { width: 1.1em; height: 1.1em; accent-color: var(--fb-brown); }
.fb-theme .fb-prose :where(input[type="submit"], button[type="submit"]), .fb-theme .fb-comments .form-submit .submit {
	min-height: 50px; background: var(--fb-brown); color: #fff; border: 1px solid var(--fb-brown); border-radius: 999px; padding: .85em 2em; cursor: pointer;
	font: 600 .9375rem/1 var(--fb-font); transition: background-color var(--fb-fast);
}
.fb-theme .fb-prose :where(input[type="submit"], button[type="submit"]):hover, .fb-theme .fb-comments .form-submit .submit:hover { background: var(--fb-brown-700); border-color: var(--fb-brown-700); color: #fff; }
.fb-theme .fb-prose :where(input[type="submit"]:disabled) { opacity: .55; cursor: not-allowed; }
.fb-theme .wpcf7 { position: relative; margin: 2em 0; padding: clamp(18px, 3vw, 30px); background: var(--fb-cream); border: 1px solid var(--fb-rule); border-top: 3px solid var(--fb-brown); border-radius: var(--fb-radius); }
.fb-theme .wpcf7-not-valid-tip { color: var(--fb-error); font-size: .875rem; margin-top: 4px; }
.fb-theme .wpcf7 form .wpcf7-response-output { margin: 1em 0 0; padding: .8em 1em; border: 1px solid var(--fb-rule); border-radius: var(--fb-radius-sm); background: #fff; font-size: .9375rem; }
.fb-theme .wpcf7 form.sent .wpcf7-response-output { border-color: var(--fb-brown); background: var(--fb-sand); }
.fb-theme .wpcf7 form.invalid .wpcf7-response-output, .fb-theme .wpcf7 form.failed .wpcf7-response-output { border-color: var(--fb-error); background: #fbeceb; }

/* Article footer */
.fb-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(--fb-rule); }
.fb-article__foot-label { color: var(--fb-ink); font-weight: 700; font-size: .9375rem; }
.fb-page-links { margin: 2em 0; display: flex; gap: 8px; flex-wrap: wrap; }

/* Related articles */
.fb-related { padding-block: var(--fb-section); background: var(--fb-cream-2); border-top: 1px solid var(--fb-rule); }

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

/* Footer ------------------------------------------------------------------- */
.fb-footer { position: relative; z-index: 1; background: var(--fb-char); color: var(--fb-on-dark); font-size: .9688rem; line-height: 1.65; }
.fb-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--fb-fawn); }
.fb-footer__grid { display: grid; gap: 36px 48px; padding-block: clamp(44px, 6vw, 72px) clamp(36px, 5vw, 60px); }
@media (min-width: 700px) { .fb-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .fb-footer__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); } }
.fb-footer__col { min-width: 0; }
.fb-footer__col p { margin: 0 0 1em; }
.fb-footer__contact .fb-footer__col { margin-bottom: 22px; }
.fb-theme .fb-footer__title { margin: 0 0 16px; color: #fff; font-family: var(--fb-font); font-size: .875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fb-footer__brand { margin: 0 0 16px; }
.fb-footer__lead { color: var(--fb-cream); font-size: 1.0625rem; }
.fb-footer__note { display: flex; align-items: flex-start; gap: .7em; padding: 14px 16px; border: 1px solid rgba(232, 185, 143, .3); border-radius: var(--fb-radius-sm); background: rgba(255, 255, 255, .04); color: var(--fb-on-dark); }
.fb-footer__note .fb-icon { width: 22px; height: 22px; margin-top: .1em; color: var(--fb-fawn-light); }
.fb-footer ul { list-style: none; margin: 0; padding: 0; }
.fb-theme .fb-footer a { color: var(--fb-on-dark); text-decoration: none; }
.fb-theme .fb-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.fb-footer__links li { margin: 0; padding: 8px 0; border-bottom: 1px solid rgba(232, 217, 198, .12); line-height: 1.45; }
.fb-footer__links li:first-child { padding-top: 0; }
.fb-theme .fb-footer__topics a { display: inline-flex; align-items: center; gap: .6em; }
.fb-footer__topics .fb-icon { width: 18px; height: 18px; color: var(--fb-fawn-light); }
.fb-theme .fb-footer__more { display: inline-flex; align-items: center; gap: .5em; color: var(--fb-cream); font-weight: 600; }
.fb-footer__more .fb-icon { color: var(--fb-fawn-light); }
.fb-footer__bottom { background: rgba(0, 0, 0, .18); border-top: 1px solid rgba(232, 185, 143, .18); }
.fb-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; }
.fb-footer__copy, .fb-footer__independent { margin: 0; }
.fb-footer__independent { display: inline-flex; align-items: flex-start; gap: .5em; color: var(--fb-cream); }
.fb-footer__independent .fb-icon { width: 17px; height: 17px; margin-top: .15em; color: var(--fb-fawn-light); }
.fb-theme .fb-footer__copy a { color: var(--fb-cream); }

/* Light focus ring on dark surfaces */
.fb-theme .fb-masthead :focus-visible, .fb-theme .fb-stats :focus-visible, .fb-theme .fb-footer :focus-visible, .fb-theme .fb-searchbar :focus-visible { outline-color: var(--fb-fawn-light); }
.fb-theme .fb-topic__link:focus-visible, .fb-theme .fb-postcard__link:focus-visible { outline: none; }
.fb-theme .fb-topic:has(.fb-topic__link:focus-visible), .fb-theme .fb-postcard:has(.fb-postcard__link:focus-visible) { outline: 3px solid var(--fb-brown); outline-offset: 3px; }

/* 404 */
.fb-404__body { display: grid; gap: 28px 64px; align-items: center; padding-block: var(--fb-section); }
@media (min-width: 860px) { .fb-404__body { grid-template-columns: auto minmax(0, 1fr); } }
.fb-404__code { position: relative; padding-bottom: 20px; font-family: var(--fb-font-head); font-size: clamp(5.5rem, 4rem + 8vw, 10rem); font-weight: 700; line-height: .9; color: var(--fb-brown); }
.fb-404__code::after { content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 3px; background: var(--fb-fawn); }
.fb-theme .fb-404__title { margin: 0 0 16px; font-size: 1.7rem; }
.fb-404__help .fb-search { max-width: 600px; margin-bottom: 20px; }
.fb-404__help .fb-chips { margin-bottom: 26px; }
.fb-theme .fb-404__help .fb-btn--accent { background: var(--fb-brown); border-color: var(--fb-brown); color: #fff; }
.fb-theme .fb-404__help .fb-btn--accent:hover { background: var(--fb-brown-700); border-color: var(--fb-brown-700); }

/* Pagination */
.fb-pagination { margin-top: clamp(36px, 5vw, 60px); }
.fb-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; }
.fb-theme .fb-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(--fb-rule-2); border-radius: 999px; background: var(--fb-sheet); color: var(--fb-ink); text-decoration: none; font-size: .9375rem; font-weight: 600;
}
.fb-theme .fb-pagination a.page-numbers:hover { border-color: var(--fb-brown); color: var(--fb-brown); }
.fb-theme .fb-pagination .page-numbers.current { background: var(--fb-brown); border-color: var(--fb-brown); color: #fff; }
.fb-theme .fb-pagination .page-numbers.dots { border: 0; background: none; }
.fb-pagination .prev span, .fb-pagination .next span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (min-width: 481px) { .fb-pagination .prev span, .fb-pagination .next span { position: static; width: auto; height: auto; overflow: visible; clip: auto; } }

/* Empty state */
.fb-empty { max-width: 680px; margin: 0 auto; padding: clamp(22px, 4vw, 44px); text-align: center; background: var(--fb-sheet); border: 1px solid var(--fb-rule); border-top: 3px solid var(--fb-brown); border-radius: var(--fb-radius); }
.fb-empty__title { margin: 0 0 .4em; color: var(--fb-ink); font-family: var(--fb-font-head); font-size: 1.5rem; font-weight: 600; }
.fb-empty .fb-search { margin: 20px auto; max-width: 520px; }
.fb-empty .fb-chips { justify-content: center; }

/* Small screens: long words in headings may break */
@media (max-width: 600px) {
	.fb-theme .fb-band__title, .fb-theme .fb-title, .fb-theme .fb-prose :where(h2, h3) { hyphens: auto; -webkit-hyphens: auto; }
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
	.fb-postcard:hover .fb-postcard__media img { transform: none; }
	.fb-topic:hover, .fb-topic:focus-within { transform: none; }
}

/* Print */
@media print {
	.fb-header, .fb-footer, .fb-toc, .fb-related, .fb-crumbs, .fb-article__aside, .fb-comments, .fb-topics--more { display: none !important; }
	body.fb-theme, .fb-band, .fb-hero, .fb-stats, .fb-latest, .fb-pillar { background: none !important; color: #000; }
	.fb-article__main { border: 0; box-shadow: none; padding: 0; }
}

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