/* ==========================================================================
   Bluehotel, barntema till Blocksy
   1. Typsnitt
   2. Färger och grundtypografi
   3. Sidhuvud
   4. Artikelvy: kategori, rubrik, byline, utvald bild
   5. Innehållsförteckning
   6. Artikelinnehåll (flyttat från Spotlights Ytterligare CSS)
   7. Profilruta
   8. Artikelkort och "Läs också"
   9. Startsidan: senaste artiklarna och ämnen
   10. Arkiv och sökresultat
   11. Sidofält
   12. Sidfot
   13. Övrigt
   ========================================================================== */

/* 1. Typsnitt (egen server, inga anrop till Google) ------------------------ */

@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/lato-latin-400-normal.woff2) format("woff2");
}

@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/lato-latin-400-italic.woff2) format("woff2");
}

@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(../fonts/lato-latin-700-normal.woff2) format("woff2");
}

@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url(../fonts/lato-latin-700-italic.woff2) format("woff2");
}

/* 2. Färger och grundtypografi --------------------------------------------- */

:root {
	--bh-accent: #0a45db;
	--bh-accent-dark: #0836ad;
	--bh-navy: #1e3a6f;
	--bh-ink: #0b0d10;
	--bh-text: #1c1f23;
	--bh-muted: #5b6472;
	--bh-line: #e3e8f0;
	--bh-soft: #f4f7fb;
	--bh-radius: 8px;
	--bh-sans: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--bh-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--bh-header-height: 76px;

	--theme-palette-color-1: var(--bh-accent);
	--theme-palette-color-2: var(--bh-accent-dark);
	--theme-palette-color-3: var(--bh-text);
	--theme-palette-color-4: var(--bh-ink);
	--theme-palette-color-5: var(--bh-line);
	--theme-palette-color-6: var(--bh-soft);
	--theme-palette-color-7: #ffffff;
	--theme-palette-color-8: #ffffff;

	--theme-text-color: var(--bh-text);
	--theme-link-initial-color: var(--bh-accent);
	--theme-link-hover-color: var(--bh-accent-dark);
	--theme-headings-color: var(--bh-ink);
	--theme-heading-color: var(--bh-ink);
	--theme-border-color: var(--bh-line);
	--theme-selection-background-color: #dbe5fb;
	--theme-selection-text-color: var(--bh-ink);
	--theme-button-background-initial-color: var(--bh-accent);
	--theme-button-background-hover-color: var(--bh-accent-dark);
	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-border-radius: 6px;
	--theme-font-family: var(--bh-sans);
	--theme-font-size: 17px;
	--theme-line-height: 1.7;
}

body {
	--theme-font-family: var(--bh-sans);
	font-family: var(--bh-sans);
	background-color: #ffffff;
	color: var(--bh-text);
}

/* Inga versaler i temat. Blocksy styr versaler via en variabel som sätts
   på många ställen, därför !important. Inline-CSS i artiklar påverkas inte. */
body,
body * {
	--theme-text-transform: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.bh-card__title,
.bh-front__title,
.bh-related__title {
	--theme-font-family: var(--bh-heading);
	font-family: var(--bh-heading);
	--theme-font-weight: 800;
	--theme-letter-spacing: -0.01em;
	color: var(--bh-ink);
}

h1 {
	--theme-font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem);
	--theme-line-height: 1.12;
}

h2 {
	--theme-font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem);
	--theme-line-height: 1.25;
}

h3 {
	--theme-font-size: clamp(1.2rem, 1.1rem + 0.5vw, 1.45rem);
	--theme-line-height: 1.3;
}

h4 {
	--theme-font-size: 1.15rem;
	--theme-line-height: 1.35;
}

::selection {
	background: #dbe5fb;
	color: var(--bh-ink);
}

/* Sidor och startsidans artikel: hela artikeln får läsbredd, så att
   inline-stylade rutor i texterna ligger i linje med brödtexten. */
[data-content="narrow"] > article {
	max-width: var(--theme-narrow-container-max-width, 750px);
	margin-inline: auto;
}

.entry-content :is(h2, h3, h4)[id] {
	scroll-margin-top: calc(var(--bh-header-height) + 24px);
}

/* 3. Sidhuvud -------------------------------------------------------------- */

#header {
	position: sticky;
	top: var(--admin-bar, 0px);
	z-index: 50;
	background: #ffffff;
	box-shadow: 0 1px 0 var(--bh-line);
}

#header [data-row*="middle"] {
	--height: var(--bh-header-height);
	background-color: #ffffff;
}

#header [data-row*="middle"] > div {
	min-height: var(--bh-header-height);
}

#header .site-logo-container {
	--logo-max-height: 48px;
}

#header .site-title-container {
	display: none;
}

#header [data-id="menu"] > ul > li > a {
	--theme-font-family: var(--bh-heading);
	--theme-font-size: 15px;
	--theme-font-weight: 700;
	--theme-letter-spacing: 0;
	--theme-link-initial-color: var(--bh-ink);
	--theme-link-hover-color: var(--bh-accent);
	--theme-link-active-color: var(--bh-accent);
	position: relative;
}

#header [data-id="menu"] > ul > li > a::after {
	content: "";
	position: absolute;
	left: var(--menu-items-spacing, 12px);
	right: var(--menu-items-spacing, 12px);
	bottom: 22px;
	height: 2px;
	background: var(--bh-accent);
	transform: scaleX(0);
	transition: transform 0.2s ease;
}

#header [data-id="menu"] > ul > li:hover > a::after,
#header [data-id="menu"] > ul > li.current-menu-item > a::after,
#header [data-id="menu"] > ul > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}

#header [data-id="menu"] .sub-menu {
	--dropdown-background-color: #000000;
	--theme-link-initial-color: #ffffff;
	--theme-link-hover-color: #ffffff;
	border-radius: 6px;
}

#header [data-id="search"],
#header [data-id="trigger"] {
	--theme-icon-color: var(--bh-ink);
	--theme-icon-hover-color: var(--bh-accent);
}

@media (max-width: 999.98px) {
	:root {
		--bh-header-height: 64px;
	}

	#header .site-logo-container {
		--logo-max-height: 40px;
	}
}

/* 4. Artikelvy: kategori, rubrik, byline, utvald bild ---------------------- */

.single .hero-section[data-type="type-1"],
.page .hero-section[data-type="type-1"] {
	margin-bottom: 28px;
}

.single .hero-section .page-title,
.page .hero-section .page-title {
	text-wrap: balance;
}

.bh-hero-cat {
	display: inline-block;
	margin-bottom: 14px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--bh-soft);
	color: var(--bh-accent);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.bh-hero-cat:hover {
	background: var(--bh-accent);
	color: #ffffff;
}

.bh-byline {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 20px;
	color: var(--bh-muted);
	font-size: 15px;
	line-height: 1.5;
}

.bh-byline__avatar {
	flex: 0 0 auto;
	line-height: 0;
}

.bh-byline__img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #dbe5fb;
}

.bh-byline__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.bh-byline__author {
	color: var(--bh-text);
}

.bh-byline__author a {
	color: var(--bh-ink);
	font-weight: 700;
	text-decoration: none;
}

.bh-byline__author a:hover {
	color: var(--bh-accent);
	text-decoration: underline;
}

.bh-byline__dates {
	display: flex;
	flex-wrap: wrap;
	column-gap: 12px;
	row-gap: 2px;
}

.bh-byline__date + .bh-byline__date::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin: 0 12px 3px 0;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.5;
	vertical-align: middle;
}

@media (max-width: 520px) {
	.bh-byline {
		align-items: flex-start;
	}

	.bh-byline__dates {
		flex-direction: column;
	}

	.bh-byline__date + .bh-byline__date::before {
		display: none;
	}
}

.single .ct-featured-image {
	margin-bottom: 32px;
	padding-bottom: 0;
}

.single .ct-featured-image .ct-media-container,
.single .ct-featured-image img {
	border-radius: var(--bh-radius);
}

.single .ct-featured-image figcaption {
	margin-top: 8px;
	color: var(--bh-muted);
	font-size: 14px;
}

/* 5. Innehållsförteckning -------------------------------------------------- */

.entry-content .bh-toc {
	margin: 28px 0 32px;
	padding: 0;
	background: var(--bh-soft);
	border: 1px solid #d6e0ee;
	border-left: 4px solid var(--bh-navy);
	border-radius: var(--bh-radius);
}

.bh-toc details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 20px;
	cursor: pointer;
	list-style: none;
}

.bh-toc details > summary::-webkit-details-marker {
	display: none;
}

.bh-toc__title {
	font-family: var(--bh-heading);
	font-size: 18px;
	font-weight: 800;
	color: var(--bh-ink);
}

.bh-toc__count {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--bh-muted);
}

.bh-toc__count::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-3px);
	transition: transform 0.2s ease;
}

.bh-toc details:not([open]) .bh-toc__count::after {
	transform: rotate(-45deg);
}

.entry-content .bh-toc__list {
	margin: 0;
	padding: 0 20px 16px;
	list-style: none;
	counter-reset: bhtoc;
}

.entry-content .bh-toc__list li {
	counter-increment: bhtoc;
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 7px 0;
	border-top: 1px solid #dfe6f0;
	font-size: 15.5px;
	line-height: 1.45;
}

.entry-content .bh-toc__list li::before {
	content: counter(bhtoc);
	flex: 0 0 22px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--bh-navy);
}

.entry-content .bh-toc .bh-toc__list a {
	color: var(--bh-text);
	text-decoration: none;
}

.entry-content .bh-toc .bh-toc__list a:hover {
	color: var(--bh-accent);
	text-decoration: underline;
}

/* 6. Artikelinnehåll --------------------------------------------------------
   Flyttat från Spotlights Ytterligare CSS (Customizer), som inte följer med
   vid temabyte. Färgpalett: #1e3a6f (navy), #f4f7fb (ljusblå), #d6e0ee (ram).
   Marginaler är uppdelade i top och bottom så att Blocksys centrering av
   innehållet inte nollställs. */

.entry-content a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.entry-content a:hover {
	text-decoration-thickness: 2px;
}

/* Rubriker */
.entry-content h2 {
	color: #1a1a1a !important;
	border-bottom: 3px solid #1e3a6f !important;
	padding-bottom: 10px !important;
	margin-top: 40px !important;
	margin-bottom: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.entry-content h3 {
	color: #1a1a1a !important;
	border-left: 4px solid #1e3a6f !important;
	padding-left: 12px !important;
	margin-top: 30px !important;
	margin-bottom: 16px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

/* Punktlistor (ul): automatiska checklistor */
.entry-content > ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin-top: 18px !important;
	margin-bottom: 18px !important;
	line-height: 1.6 !important;
}

.entry-content > ul > li {
	position: relative !important;
	padding-left: 36px !important;
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	margin-bottom: 10px !important;
	list-style: none !important;
	font-size: 16px !important;
	color: #2d3748 !important;
}

.entry-content > ul > li::before {
	content: "\2713" !important;
	position: absolute !important;
	left: 0 !important;
	top: 4px !important;
	width: 24px !important;
	height: 24px !important;
	background-color: #eaf0f8 !important;
	color: #1e3a6f !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: bold !important;
	font-size: 13px !important;
	line-height: 1 !important;
}

.entry-content > ul > li strong {
	color: #1e3a6f !important;
}

/* Ljusblå listruta (klassen bh-list) */
.bh-list {
	background: #f4f7fb !important;
	border-radius: 10px !important;
	padding: 18px 20px 18px 40px !important;
	margin-top: 16px !important;
	margin-bottom: 16px !important;
	line-height: 1.7 !important;
	list-style: disc !important;
}

.bh-list li {
	margin-bottom: 8px !important;
	color: #2d3748 !important;
	padding-left: 0 !important;
}

.bh-list li::before {
	display: none !important;
	content: none !important;
}

.bh-list li strong {
	color: #1e3a6f !important;
}

/* Numrerade listor (ol): stegkort */
.entry-content > ol {
	list-style: none !important;
	padding-left: 0 !important;
	margin-top: 20px !important;
	margin-bottom: 20px !important;
	counter-reset: bhstep !important;
}

.entry-content > ol > li {
	counter-increment: bhstep !important;
	position: relative !important;
	background: #ffffff !important;
	border: 1px solid #d6e0ee !important;
	border-radius: 10px !important;
	padding: 14px 18px 14px 60px !important;
	margin-bottom: 10px !important;
	box-shadow: 0 1px 3px rgba(30, 58, 111, 0.06) !important;
	list-style: none !important;
	font-size: 15px !important;
	color: #2d3748 !important;
	line-height: 1.5 !important;
	min-height: 30px !important;
}

.entry-content > ol > li::before {
	content: counter(bhstep) !important;
	position: absolute !important;
	left: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 32px !important;
	height: 32px !important;
	background: #1e3a6f !important;
	color: #ffffff !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: bold !important;
	font-size: 14px !important;
}

/* Tabeller */
.entry-content table {
	width: 100% !important;
	max-width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #1e3a6f !important;
	background-color: #ffffff !important;
	margin-top: 20px !important;
	margin-bottom: 20px !important;
	font-size: 15px !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	box-shadow: 0 1px 3px rgba(30, 58, 111, 0.06) !important;
	border-radius: 6px !important;
	overflow: hidden !important;
}

.entry-content table thead tr,
.entry-content table th {
	background-color: #1e3a6f !important;
	color: #ffffff !important;
}

.entry-content table th {
	padding: 12px 14px !important;
	font-weight: 600 !important;
	text-align: left !important;
	border: 1px solid #1e3a6f !important;
}

.entry-content table td {
	padding: 12px 14px !important;
	color: #2d3748 !important;
	border: 1px solid #d6e0ee !important;
	vertical-align: top !important;
	text-align: left !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
}

.entry-content table tbody tr:nth-child(even) {
	background-color: #f4f7fb !important;
}

.entry-content table td:first-child {
	color: #1a1a1a !important;
	font-weight: 500 !important;
}

.entry-content table td strong {
	color: #1e3a6f !important;
}

/* Granskningsrad (klassen bh-review-bar). Temats byline ersätter den,
   men stilen finns kvar för texter som fortfarande har raden. */
.bh-review-bar {
	background: #f4f7fb;
	border-left: 4px solid #1e3a6f;
	padding: 12px 18px;
	margin-top: 0;
	margin-bottom: 24px;
	border-radius: 6px;
	color: #1e3a6f;
	font-size: 14px;
	line-height: 1.6;
}

.bh-review-bar a {
	color: #1e3a6f;
	text-decoration: underline;
	font-weight: 600;
}

/* Infobox "Bra att veta" (klassen bh-info-box) */
.bh-info-box {
	background-color: #ffffff;
	border: 1px solid #d6e0ee;
	border-left: 5px solid #1e3a6f;
	padding: 16px 20px;
	margin-top: 24px;
	margin-bottom: 24px;
	border-radius: 6px;
	color: #2d3748;
	line-height: 1.6;
	box-shadow: 0 1px 3px rgba(30, 58, 111, 0.06);
}

.bh-info-box strong {
	color: #1e3a6f;
}

.bh-info-box a {
	color: #1e3a6f;
	text-decoration: underline;
	font-weight: 500;
}

/* Redaktörens tips (klassen bh-editor-tip) */
.bh-editor-tip {
	background: #1e3a6f;
	color: #ffffff;
	padding: 18px 22px;
	margin-top: 22px;
	margin-bottom: 22px;
	border-radius: 10px;
	line-height: 1.6;
	box-shadow: 0 2px 6px rgba(30, 58, 111, 0.08);
}

.bh-editor-tip,
.bh-editor-tip *,
.bh-editor-tip p,
.bh-editor-tip span,
.bh-editor-tip h1,
.bh-editor-tip h2,
.bh-editor-tip h3,
.bh-editor-tip h4,
.bh-editor-tip h5,
.bh-editor-tip h6,
.bh-editor-tip li,
.bh-editor-tip td,
.bh-editor-tip th {
	color: #ffffff !important;
}

.bh-editor-tip strong {
	display: block;
	margin-bottom: 8px;
	font-size: 17px;
	color: #ffffff !important;
}

.bh-editor-tip a {
	color: #ffffff !important;
	text-decoration: underline;
	font-weight: 600;
}

/* Vit text på allt med navy bakgrund: hotellsöket, väderwidgeten m.m. */
.bh-widget-wrap,
.bh-widget-wrap *,
.entry-content .bh-widget-wrap h3,
.entry-content .bh-widget-wrap p,
.hotellsok,
.hotellsok *,
.hotell-sok,
.hotell-sok *,
.hotellsokare,
.hotellsokare *,
.hotel-search,
.hotel-search *,
.vader,
.vader *,
.weather,
.weather *,
.weather-widget,
.weather-widget * {
	color: #ffffff !important;
}

.entry-content .bh-widget-wrap h3 {
	border: none !important;
	border-left: none !important;
	border-bottom: none !important;
	padding: 0 !important;
	margin: 0 0 6px 0 !important;
}

.bh-widget-grid label {
	color: #1e3a6f !important;
}

.bh-widget-grid input,
.bh-widget-grid select,
.bh-widget-grid textarea {
	color: #1a1a1a !important;
}

.bh-widget-grid button {
	color: #1e3a6f !important;
}

.hotellsok input,
.hotellsok select,
.hotellsok textarea,
.hotellsok button,
.hotell-sok input,
.hotell-sok select,
.hotell-sok textarea,
.hotell-sok button,
.hotellsokare input,
.hotellsokare select,
.hotellsokare textarea,
.hotellsokare button {
	color: #1a1a1a !important;
}

/* Tankebubbla (klassen bh-bubble, med bh-bubble-badge och bh-bubble-arrow) */
.bh-bubble {
	position: relative;
	background: #ffffff;
	border: 2px solid #1e3a6f;
	padding: 45px 24px 22px 24px;
	margin-top: 50px;
	margin-bottom: 38px;
	border-radius: 12px;
	box-shadow: 0 2px 6px rgba(30, 58, 111, 0.08);
	color: #2d3748;
	line-height: 1.6;
}

.bh-bubble p {
	margin-top: 0;
	margin-bottom: 0;
}

.bh-bubble-badge {
	position: absolute;
	top: -14px;
	left: 24px;
	background: #1e3a6f;
	color: #ffffff;
	padding: 5px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3px;
	z-index: 2;
}

.bh-bubble-arrow {
	position: absolute;
	bottom: -11px;
	left: 48px;
	width: 18px;
	height: 18px;
	background: #ffffff;
	border-right: 2px solid #1e3a6f;
	border-bottom: 2px solid #1e3a6f;
	transform: rotate(45deg);
}

/* Bilder och bildtexter */
.entry-content img {
	border-radius: 6px;
}

.entry-content .wp-caption-text,
.entry-content figcaption {
	margin-top: 8px;
	color: var(--bh-muted);
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}

/* Mobil (max 700px): tabeller blir kort */
@media (max-width: 700px) {
	.entry-content table {
		border: none !important;
		background: transparent !important;
		display: block !important;
		width: 100% !important;
		box-shadow: none !important;
		border-radius: 0 !important;
	}

	.entry-content table thead {
		display: none !important;
	}

	.entry-content table tbody {
		display: block !important;
		width: 100% !important;
	}

	.entry-content table tr {
		display: block !important;
		background-color: #ffffff !important;
		border: 1px solid #1e3a6f !important;
		border-radius: 10px !important;
		margin-bottom: 14px !important;
		padding: 4px 0 !important;
		box-shadow: 0 1px 3px rgba(30, 58, 111, 0.06) !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.entry-content table tr:nth-child(even) {
		background-color: #ffffff !important;
	}

	.entry-content table td {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 10px 14px !important;
		border: none !important;
		border-bottom: 1px solid #e6ecf4 !important;
		text-align: left !important;
		font-size: 14px !important;
	}

	.entry-content table tbody tr td:last-child {
		border-bottom: none !important;
	}

	.entry-content table tbody tr td:first-child {
		background-color: #f4f7fb !important;
		font-weight: bold !important;
		color: #1e3a6f !important;
		border-radius: 10px 10px 0 0 !important;
	}

	.bh-bubble {
		padding: 40px 18px 20px 18px;
	}
}

/* 7. Profilruta ------------------------------------------------------------ */

.bh-author {
	display: flex;
	gap: 22px;
	align-items: flex-start;
	margin-top: 48px;
	margin-bottom: 8px;
	padding: 26px 28px;
	background: var(--bh-soft);
	border: 1px solid #d6e0ee;
	border-radius: 12px;
}

.bh-author__avatar {
	flex: 0 0 auto;
	line-height: 0;
}

.bh-author__img {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px #dbe5fb;
}

.bh-author__body {
	min-width: 0;
}

.bh-author__body p {
	margin: 0;
}

.bh-author__eyebrow {
	font-size: 13px;
	font-weight: 700;
	color: var(--bh-accent);
}

.bh-author__name {
	margin-top: 2px !important;
	font-family: var(--bh-heading);
	font-size: 21px;
	font-weight: 800;
	line-height: 1.3;
}

.bh-author__name a {
	color: var(--bh-ink);
	text-decoration: none;
}

.bh-author__name a:hover {
	color: var(--bh-accent);
}

.bh-author__role {
	margin-top: 2px !important;
	color: var(--bh-muted);
	font-size: 15px;
}

.bh-author__bio {
	margin-top: 12px !important;
	color: var(--bh-text);
	font-size: 15.5px;
	line-height: 1.65;
}

.bh-author__more {
	display: inline-block;
	margin-top: 12px;
	color: var(--bh-accent);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}

.bh-author__more::after {
	content: " \2192";
}

.bh-author__more:hover {
	text-decoration: underline;
}

@media (max-width: 600px) {
	.bh-author {
		flex-direction: column;
		gap: 14px;
		padding: 22px 20px;
	}

	.bh-author__img {
		width: 72px;
		height: 72px;
	}
}

/* 8. Artikelkort och "Läs också" ------------------------------------------- */

.bh-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.bh-card__media {
	display: block;
	overflow: hidden;
	border-radius: var(--bh-radius);
	background: var(--bh-soft);
	aspect-ratio: 3 / 2;
	line-height: 0;
}

.bh-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.bh-card:hover .bh-card__img {
	transform: scale(1.03);
}

.bh-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	min-width: 0;
}

.bh-card__body p {
	margin: 0;
}

.bh-card__cat {
	color: var(--bh-accent);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.bh-card__cat:hover {
	text-decoration: underline;
}

.bh-card .bh-card__title {
	margin: 0;
	--theme-font-size: 1.2rem;
	--theme-line-height: 1.3;
	font-size: 1.2rem;
	line-height: 1.3;
}

.bh-card__title a {
	color: var(--bh-ink);
	text-decoration: none;
}

.bh-card__title a:hover {
	color: var(--bh-accent);
}

.bh-card__excerpt {
	color: var(--bh-muted);
	font-size: 15.5px;
	line-height: 1.55;
}

.bh-card__meta {
	color: var(--bh-muted);
	font-size: 13.5px;
}

.bh-related {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--bh-line);
}

.bh-related .bh-related__title {
	margin: 0 0 22px;
	--theme-font-size: 1.6rem;
	font-size: 1.6rem;
}

.bh-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.bh-related .bh-card .bh-card__title {
	--theme-font-size: 1.08rem;
	font-size: 1.08rem;
}

@media (max-width: 999.98px) {
	.bh-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.bh-related__grid {
		grid-template-columns: 1fr;
	}
}

/* 9. Startsidan ------------------------------------------------------------ */

.bh-front {
	padding: 36px 0 8px;
	background: #ffffff;
}

.bh-front__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
	padding-bottom: 12px;
	border-bottom: 3px solid var(--bh-ink);
}

.bh-front .bh-front__title {
	margin: 0;
	--theme-font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.85rem);
	font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.85rem);
	line-height: 1.2;
}

.bh-front__all {
	color: var(--bh-accent);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
}

.bh-front__all::after {
	content: " \2192";
}

.bh-front__all:hover {
	text-decoration: underline;
}

.bh-front__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 36px;
	align-items: start;
}

.bh-card--feature .bh-card__title {
	--theme-font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem) !important;
	--theme-line-height: 1.18 !important;
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem) !important;
	line-height: 1.18 !important;
}

.bh-card--feature .bh-card__excerpt {
	font-size: 17px;
}

.bh-front__list {
	display: flex;
	flex-direction: column;
}

.bh-card--compact {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 16px 0;
	border-bottom: 1px solid var(--bh-line);
}

.bh-card--compact:first-child {
	padding-top: 0;
}

.bh-card--compact:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.bh-card--compact.bh-card--no-image {
	grid-template-columns: minmax(0, 1fr);
}

.bh-card--compact .bh-card__media {
	border-radius: 6px;
}

.bh-card--compact .bh-card__title {
	--theme-font-size: 1.05rem !important;
	font-size: 1.05rem !important;
	line-height: 1.3 !important;
}

.bh-card--compact .bh-card__body {
	gap: 5px;
}

.bh-topics {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
	margin-top: 34px;
	padding: 18px 22px;
	background: var(--bh-soft);
	border-radius: 12px;
}

.bh-topics p.bh-topics__label {
	margin: 0;
	font-family: var(--bh-heading);
	font-size: 16px;
	font-weight: 800;
	color: var(--bh-ink);
}

.bh-topics__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bh-topics__list li {
	margin: 0;
}

.bh-topics__item {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 14px;
	background: #ffffff;
	border: 1px solid #d6e0ee;
	border-radius: 999px;
	color: var(--bh-ink);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.bh-topics__item:hover {
	border-color: var(--bh-accent);
	color: var(--bh-accent);
}

.bh-topics__count {
	color: var(--bh-muted);
	font-weight: 400;
	font-size: 13px;
}

/* Startsidans artikel under de senaste artiklarna */
.home.page .site-main > .ct-container-full {
	padding-top: 40px;
}

.home.page article > .hero-section {
	padding-top: 32px;
	border-top: 1px solid var(--bh-line);
}

@media (max-width: 999.98px) {
	.bh-front__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}
}

@media (max-width: 520px) {
	.bh-front {
		padding-top: 24px;
	}

	.bh-card--compact {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 14px;
	}

	.bh-topics {
		padding: 16px;
	}
}

/* 10. Arkiv och sökresultat ------------------------------------------------ */

.entries .bh-card {
	height: 100%;
}

.entries .bh-card .bh-card__title {
	--theme-font-size: 1.15rem;
	font-size: 1.15rem;
}

.entries > article {
	min-width: 0;
}

/* 11. Sidofält ------------------------------------------------------------- */

.ct-sidebar {
	--sidebar-offset: calc(var(--bh-header-height) + 28px);
}

.ct-sidebar .ct-widget .widget-title,
.ct-sidebar .ct-widget h2,
.ct-sidebar .ct-widget h3 {
	--theme-font-size: 18px;
	font-family: var(--bh-heading);
	font-size: 18px;
	font-weight: 800;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--bh-ink);
}

.ct-sidebar .widget_recent_entries ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-sidebar .widget_recent_entries li {
	margin: 0;
	padding: 9px 0;
	border-bottom: 1px solid var(--bh-line);
	font-size: 15px;
	line-height: 1.4;
}

.ct-sidebar .widget_recent_entries li a {
	color: var(--bh-ink);
	font-weight: 700;
	text-decoration: none;
}

.ct-sidebar .widget_recent_entries li a:hover {
	color: var(--bh-accent);
}

.ct-sidebar .wp-block-search__inside-wrapper {
	display: flex;
	gap: 8px;
}

.ct-sidebar .wp-block-search__label {
	display: none;
}

.ct-sidebar .wp-block-search__button {
	border-radius: 6px;
	background: var(--bh-accent);
	color: #ffffff;
	border: none;
	padding: 0 16px;
	font-weight: 700;
}

/* 12. Sidfot --------------------------------------------------------------- */

.ct-footer,
.ct-footer [data-row],
.ct-footer [data-row] > div {
	background-color: #000000 !important;
}

.ct-footer {
	--theme-text-color: rgba(255, 255, 255, 0.72);
	--theme-link-initial-color: #ffffff;
	--theme-link-hover-color: #ffffff;
	color: rgba(255, 255, 255, 0.72);
}

.ct-footer [data-row*="bottom"] > div {
	padding-top: 44px;
	padding-bottom: 44px;
	border-top: none;
}

.ct-footer [data-column="copyright"] {
	flex: 1 1 auto;
	width: 100%;
}

.ct-footer-copyright {
	width: 100%;
	font-size: 15px;
}

.bh-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px 40px;
	align-items: center;
	width: 100%;
}

.bh-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.bh-footer a.bh-footer__name {
	color: #ffffff;
	font-family: var(--bh-heading);
	font-size: 22px;
	font-weight: 800;
	text-decoration: none;
}

.bh-footer p {
	margin: 0;
}

.bh-footer__tagline {
	color: rgba(255, 255, 255, 0.72);
	font-size: 15px;
}

.bh-footer__nav {
	justify-self: end;
}

.bh-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bh-footer__menu li {
	margin: 0;
}

.bh-footer__menu a {
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}

.bh-footer__menu a:hover {
	text-decoration: underline;
}

.bh-footer__copy {
	grid-column: 1 / -1;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
}

@media (max-width: 689.98px) {
	.bh-footer {
		grid-template-columns: minmax(0, 1fr);
	}

	.bh-footer__nav {
		justify-self: start;
	}
}

/* 13. Övrigt --------------------------------------------------------------- */

.ct-back-to-top {
	--theme-icon-color: #ffffff;
	--top-button-background-color: var(--bh-ink);
	--top-button-background-hover-color: var(--bh-accent);
}

.ct-pagination {
	--theme-link-initial-color: var(--bh-ink);
	--theme-link-hover-color: var(--bh-accent);
}

.wp-block-button__link,
button,
input[type="submit"] {
	font-weight: 700;
}
