/*
 * Kunskapsbanken, proposal D (Paper p-7-0: "D Goal paths + latest answers"
 * 1440 and 390, "D Latest card · edge cases · spec", "D Full list"). Markup
 * from the page's core blocks plus inc/knowledge-bank.php in the site plugin.
 * Loaded only on a page that holds the guestro-kb-head band.
 */

.guestro-kb-head { --kb-gap: var(--wp--preset--spacing--24); }
.guestro-kb-head.is-style-section { padding-block: var(--wp--preset--spacing--64) var(--wp--preset--spacing--80); }
.guestro-kb-head__grid { display: grid; gap: var(--wp--preset--spacing--40); align-items: center; }
.guestro-kb-head__grid > * { margin: 0; }
.guestro-kb-head__intro > * { margin: 0; }
.guestro-kb-head__intro > * + * { margin-block-start: var(--kb-gap); }
.guestro-kb-head__title {
	font-size: var(--wp--preset--font-size--hero);
	font-weight: var(--wp--custom--gu--kb--light);
	letter-spacing: -0.03em;
	line-height: 70px;
}
.guestro-kb-head__lede {
	max-width: var(--wp--custom--gu--kb--lede);
	font-size: var(--wp--preset--font-size--h-4);
	line-height: 28px;
}

/* Search: the white field with the magnifier, no button (Enter searches). */
.guestro-kb-search { max-width: var(--wp--custom--gu--kb--search); }
.guestro-kb-search .wp-block-search__inside-wrapper {
	position: relative;
	border: 0;
	padding: 0;
}
.guestro-kb-search .wp-block-search__inside-wrapper::before {
	content: "";
	position: absolute;
	inset-inline-start: 20px;
	inset-block-start: 50%;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	background: var(--wp--preset--color--brand-solid);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='black' stroke-width='1.4'/%3E%3Cpath d='M11 11L14 14' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='black' stroke-width='1.4'/%3E%3Cpath d='M11 11L14 14' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}
.guestro-kb-search .wp-block-search__input {
	box-sizing: border-box;
	width: 100%;
	height: var(--wp--custom--gu--kb--search-height);
	padding-inline: 54px 20px;
	border: 0;
	border-radius: var(--wp--custom--gu--radius--lg);
	background: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
	line-height: 24px;
}
.guestro-kb-search .wp-block-search__input::placeholder { color: var(--wp--preset--color--text-secondary); opacity: 1; }
.guestro-kb-search .wp-block-search__input:focus-visible { outline: 2px solid var(--wp--preset--color--on-blue-soft); outline-offset: 2px; }

.guestro-kb-head .guestro-kb-examples {
	gap: var(--wp--preset--spacing--8);
	align-items: center;
	margin-block-start: var(--wp--preset--spacing--16);
}
.guestro-kb-examples > p { margin: 0; font-size: var(--wp--preset--font-size--base); line-height: 20px; }
.guestro-kb-examples__label { color: var(--wp--preset--color--on-blue-soft); padding-inline-end: var(--wp--preset--spacing--4); }
.guestro-kb-examples__link a {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--gu--kb--chip);
	padding-inline: 14px;
	border: 1px solid var(--wp--preset--color--site-blue-line);
	border-radius: var(--wp--custom--gu--radius--lg);
	color: var(--wp--preset--color--on-brand);
	text-decoration: none;
}
.guestro-kb-examples__link a:hover { background: var(--wp--custom--gu--brand--7); }

/* Goals: one hairline list, the active row filled, node and chevron. */
.guestro-kb-goals > * { margin: 0; }
.guestro-kb-goal {
	position: relative;
	display: grid;
	grid-template-columns: var(--wp--custom--gu--kb--node) minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--20);
	align-items: center;
	padding: 22px 24px 22px 22px;
	border-block-start: 1px solid var(--wp--preset--color--site-blue-mid);
	border-radius: var(--wp--custom--gu--radius--lg);
	transition: background-color var(--wp--custom--gu--kb--fill) ease-out;
}
.guestro-kb-goal:first-child,
.guestro-kb-goal.is-active,
.guestro-kb-goal.is-active + .guestro-kb-goal { border-block-start-color: transparent; }
.guestro-kb-goal:last-child { border-block-end: 1px solid var(--wp--preset--color--site-blue-mid); }
.guestro-kb-goal:not(:first-child), .guestro-kb-goal:not(:last-child) { border-radius: 0; }
.guestro-kb-goal.is-active { grid-template-columns: var(--wp--custom--gu--kb--node) minmax(0, 1fr) 18px; border-radius: var(--wp--custom--gu--radius--lg); background: var(--wp--custom--gu--brand--7); }
.guestro-kb-goal:hover:not(.is-active) { background: color-mix(in srgb, var(--wp--custom--gu--brand--7) 50%, transparent); }
.guestro-kb-goal::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 3;
	box-sizing: border-box;
	width: var(--wp--custom--gu--kb--node);
	height: var(--wp--custom--gu--kb--node);
	border: var(--wp--custom--gu--kb--ring) solid var(--wp--preset--color--site-blue-line);
	border-radius: 50%;
}
.guestro-kb-goal.is-active::before { border-color: var(--wp--preset--color--accent-solid); background: var(--wp--preset--color--accent-solid); }
.guestro-kb-goal.is-active::after {
	content: "";
	grid-column: 3;
	grid-row: 1 / span 3;
	width: 18px;
	height: 18px;
	background: var(--wp--preset--color--on-brand);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6L8 10L12 6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6L8 10L12 6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.guestro-kb-goal > p { grid-column: 2; margin: 0; }
.guestro-kb-goal__name { font-size: var(--wp--preset--font-size--h-2); line-height: 30px; }
.guestro-kb-goal__name a { color: var(--wp--preset--color--on-brand); text-decoration: none; }
.guestro-kb-goal__name a::after { content: ""; position: absolute; inset: 0; border-radius: var(--wp--custom--gu--radius--lg); }
.guestro-kb-goal__name a:focus-visible { outline: none; }
.guestro-kb-goal__name a:focus-visible::after { outline: 2px solid var(--wp--preset--color--on-blue-soft); outline-offset: 2px; }
.guestro-kb-goal__text { margin-block-start: var(--wp--preset--spacing--4); color: var(--wp--preset--color--on-blue-soft); font-size: var(--wp--custom--gu--kb--small); line-height: 22px; }
.guestro-kb-goal__meta { padding-block-start: var(--wp--preset--spacing--8); color: var(--wp--preset--color--on-brand); font-size: var(--wp--preset--font-size--base); line-height: 20px; }

@media (width >= 75em) {
	.guestro-kb-head__grid {
		grid-template-columns: var(--wp--custom--gu--kb--intro) var(--wp--custom--gu--kb--goals);
		justify-content: space-between;
	}
	.guestro-kb-head__intro { padding-block-start: var(--wp--preset--spacing--8); }
}

/* Paths: the active goal's three steps on a rail of nodes. */
.guestro-kb-paths.is-style-section { padding-block: var(--wp--preset--spacing--80); }
.guestro-kb-path[hidden], .guestro-kb-bar[hidden], .guestro-kb-more[hidden] { display: none; }
.guestro-kb-path > * { margin: 0; }
.guestro-kb-path__title,
.guestro-kb-section-head__title,
.guestro-kb-list__title {
	color: var(--wp--preset--color--brand-solid);
	font-size: var(--wp--preset--font-size--display);
	font-weight: var(--wp--custom--gu--kb--light);
	letter-spacing: -0.02em;
	line-height: 46px;
}
.guestro-kb-path__lede { margin-block-start: var(--wp--preset--spacing--12); color: var(--wp--preset--color--text-secondary); font-size: var(--wp--preset--font-size--h-4); line-height: 28px; }
.guestro-kb-path { scroll-margin-block-start: calc(var(--wp--custom--gu--articles--anchor-offset) + var(--wp--custom--gu--kb--bar-tab)); }
.guestro-kb-rail { margin: var(--wp--preset--spacing--48) 0 0; padding: 0; list-style: none; }
.guestro-kb-step {
	position: relative;
	display: grid;
	grid-template-columns: var(--wp--custom--gu--kb--rail) minmax(0, 1fr) auto;
	column-gap: var(--wp--preset--spacing--24);
	align-items: start;
}
.guestro-kb-step:not(:last-child)::before {
	content: "";
	position: absolute;
	inset-block: 30px 0;
	inset-inline-start: 6px;
	width: 2px;
	background: var(--wp--preset--color--border);
	transform-origin: top;
}
.guestro-kb-step__label {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	height: 30px;
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
	font-weight: var(--wp--custom--gu--kb--medium);
	line-height: 20px;
	white-space: nowrap;
}
.guestro-kb-step__node {
	box-sizing: border-box;
	flex: none;
	width: var(--wp--custom--gu--kb--node);
	height: var(--wp--custom--gu--kb--node);
	border: 2px solid var(--wp--preset--color--brand-solid);
	border-radius: 50%;
	background: var(--wp--preset--color--canvas);
}
.guestro-kb-step:first-child .guestro-kb-step__label { height: 36px; color: var(--wp--preset--color--brand-solid); }
.guestro-kb-step:first-child .guestro-kb-step__node { border-color: var(--wp--preset--color--accent-solid); background: var(--wp--preset--color--accent-solid); }
.guestro-kb-step:first-child::before { inset-block-start: 36px; }
.guestro-kb-step__body { padding-block-end: var(--wp--preset--spacing--48); }
.guestro-kb-step:first-child .guestro-kb-step__body { padding-block-end: 56px; }
.guestro-kb-step:last-child .guestro-kb-step__body { padding-block-end: 0; }
.guestro-kb-step__body > * { margin: 0; }
.guestro-kb-step__title { color: var(--wp--preset--color--brand-solid); font-size: var(--wp--preset--font-size--h-2); font-weight: 400; letter-spacing: -0.01em; line-height: 30px; }
.guestro-kb-step:first-child .guestro-kb-step__title { font-size: var(--wp--preset--font-size--h-1); line-height: 36px; }
.guestro-kb-step__title a { color: inherit; text-decoration: none; }
.guestro-kb-step__title a::after { content: ""; position: absolute; inset: 0; }
.guestro-kb-step__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.guestro-kb-step__title a:focus-visible { outline: none; }
.guestro-kb-step:has(.guestro-kb-step__title a:focus-visible) { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 4px; border-radius: var(--wp--custom--gu--radius--lg); }
.guestro-kb-step__text { margin-block-start: 10px; color: var(--wp--preset--color--text-secondary); font-size: var(--wp--preset--font-size--body); line-height: 26px; }
.guestro-kb-step__meta {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding-block-start: var(--wp--preset--spacing--4);
	margin-block-start: 10px;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
	line-height: 20px;
}
.guestro-kb-step:first-child .guestro-kb-step__meta { padding-block-start: var(--wp--preset--spacing--8); }
.guestro-kb-step__read { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--8); color: var(--wp--preset--color--brand-solid); font-size: var(--wp--preset--font-size--body); font-weight: var(--wp--custom--gu--kb--medium); line-height: 22px; }
.guestro-kb-step__tag, .guestro-kb-short { display: none; }
.guestro-kb-step__image {
	grid-column: 3;
	grid-row: 1;
	width: var(--wp--custom--gu--kb--step-thumb);
	margin: 0 0 0 var(--wp--preset--spacing--24);
	aspect-ratio: var(--wp--custom--gu--kb--image-ratio);
	overflow: hidden;
	border-radius: var(--wp--custom--gu--radius--lg);
}
.guestro-kb-step:first-child .guestro-kb-step__image { width: var(--wp--custom--gu--kb--step-image); border-radius: var(--wp--custom--gu--radius--xl); }
.guestro-kb-step__image img, .guestro-kb-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Fler i ämnet: one link per category page, with its live count. */
.guestro-kb-path__topics {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	margin-block-start: var(--wp--preset--spacing--32);
	padding-inline-start: calc(var(--wp--custom--gu--kb--rail) + var(--wp--preset--spacing--24));
}
.guestro-kb-path__topics-label { color: var(--wp--preset--color--text-secondary); font-size: var(--wp--preset--font-size--body); font-weight: var(--wp--custom--gu--kb--medium); line-height: 22px; }
.guestro-kb-topic {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-height: 40px;
	padding-inline: 14px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--gu--radius--lg);
	color: var(--wp--preset--color--brand-solid);
	font-size: var(--wp--custom--gu--kb--small);
	font-weight: var(--wp--custom--gu--kb--medium);
	line-height: 22px;
	text-decoration: none;
}
.guestro-kb-topic__count { color: var(--wp--preset--color--text-secondary); font-weight: 400; }
.guestro-kb-topic:hover { border-color: var(--wp--preset--color--brand-solid); }
.guestro-kb-topic:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }

/* Category archive (templates/category.html, board "D Category archive"). */
.guestro-kb-cat-head.is-style-section { padding-block: var(--wp--preset--spacing--48) var(--wp--preset--spacing--64); }
.guestro-kb-cat-head > * + * { margin-block-start: var(--wp--preset--spacing--20); }
.guestro-kb-cat-head .guestro-kb-cat-head__title {
	color: var(--wp--preset--color--on-brand);
	font-size: var(--wp--preset--font-size--hero);
	font-weight: var(--wp--custom--gu--kb--light);
	letter-spacing: -0.03em;
	line-height: 70px;
}
.guestro-kb-cat-head__count { color: var(--wp--preset--color--on-blue-soft); font-size: var(--wp--preset--font-size--h-4); line-height: 28px; }
.guestro-kb-cat-head .guestro-kb-cat-head__goal { margin-block-start: var(--wp--preset--spacing--16); }
.guestro-kb-list.guestro-kb-cat-list.is-style-section { margin-block-start: 0; padding-block-start: var(--wp--preset--spacing--64); border-block-start: 0; }
.guestro-kb-cat-list .guestro-kb-years { margin-block-start: 0; }

.guestro-kb-cat-head__goal a,
.guestro-kb-section-head__link a,
.guestro-kb-list__clear a {
	display: inline-block;
	padding-block: 11px;
	color: var(--wp--preset--color--brand-solid);
	font-size: var(--wp--preset--font-size--body);
	font-weight: var(--wp--custom--gu--kb--medium);
	line-height: 22px;
	text-decoration: none;
}
.guestro-kb-cat-head__goal a:hover, .guestro-kb-section-head__link a:hover, .guestro-kb-list__clear a:hover { text-decoration: underline; text-underline-offset: 4px; }
.guestro-kb-cat-head .guestro-kb-cat-head__goal a { color: var(--wp--preset--color--on-brand); }
.guestro-kb-cat-head .guestro-kb-cat-head__goal a:focus-visible { outline: 2px solid var(--wp--preset--color--on-blue-soft); outline-offset: 2px; }
.guestro-kb-arrow { flex: none; margin-inline-start: var(--wp--preset--spacing--8); vertical-align: -3px; }
.guestro-kb-step__read .guestro-kb-arrow, .guestro-kb-more .guestro-kb-arrow { margin-inline-start: 0; vertical-align: 0; }
.guestro-kb-latest__more { display: none; }

/* The one authored motion: the rail draws down from the first node. */
@keyframes guestro-kb-draw { from { transform: scaleY(0); } }
.guestro-kb-path.is-drawing .guestro-kb-step::before { animation: guestro-kb-draw var(--wp--custom--gu--kb--draw) cubic-bezier(0.16, 1, 0.3, 1) both; }
.guestro-kb-path.is-drawing .guestro-kb-step:nth-child(2)::before { animation-delay: 80ms; }
@media (prefers-reduced-motion: reduce) {
	.guestro-kb-path.is-drawing .guestro-kb-step::before { animation: none; }
	.guestro-kb-goal, .guestro-kb-bar { transition: none; }
}

/* A missing or repeated image: navy panel with the main category. */
.guestro-kb-panel {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	padding: var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--site-blue);
	color: var(--wp--preset--color--on-brand);
}
.guestro-kb-panel::before {
	content: "";
	position: absolute;
	inset-block-start: var(--wp--preset--spacing--24);
	inset-inline-start: var(--wp--preset--spacing--24);
	box-sizing: border-box;
	width: var(--wp--custom--gu--kb--node);
	height: var(--wp--custom--gu--kb--node);
	border: var(--wp--custom--gu--kb--ring) solid var(--wp--preset--color--on-blue-soft);
	border-radius: 50%;
}
.guestro-kb-panel__name { font-size: var(--wp--preset--font-size--display-small); font-weight: var(--wp--custom--gu--kb--light); letter-spacing: -0.015em; line-height: 38px; }
.guestro-kb-step:not(:first-child) .guestro-kb-panel { padding: var(--wp--preset--spacing--16); }
.guestro-kb-step:not(:first-child) .guestro-kb-panel::before { inset-block-start: var(--wp--preset--spacing--16); inset-inline-start: var(--wp--preset--spacing--16); }
.guestro-kb-step:not(:first-child) .guestro-kb-panel__name { font-size: var(--wp--preset--font-size--h-3); line-height: 26px; }

/* Goal bar: shown by the module only after the head has scrolled out. */
.guestro-kb-bar {
	position: fixed;
	inset-inline: 0;
	inset-block-start: var(--guestro-kb-bar-top, 0);
	z-index: 40;
	border-block-end: 1px solid var(--wp--preset--color--border-subtle);
	background: var(--wp--preset--color--canvas);
	transform: translateY(-100%);
	visibility: hidden;
	transition: transform var(--wp--custom--gu--kb--fill) ease-out, visibility 0s linear var(--wp--custom--gu--kb--fill);
}
/* The bar sits in the constrained paths section; it spans the viewport, not the frame. */
.guestro-kb-paths > .guestro-kb-bar { max-width: none !important; margin: 0 !important; }
.guestro-kb-path h2:focus { outline: none; }
.guestro-kb-path h2:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 4px; }
.guestro-kb-bar.is-shown { transform: none; visibility: visible; transition: transform var(--wp--custom--gu--kb--fill) ease-out; }
.guestro-kb-bar__list {
	display: flex;
	gap: var(--wp--preset--spacing--40);
	max-width: var(--wp--custom--gu--chrome--frame);
	margin: 0 auto;
	padding: 0 var(--wp--style--root--padding-right) 0 var(--wp--style--root--padding-left);
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.guestro-kb-bar__list li { flex: none; scroll-snap-align: start; }
.guestro-kb-bar__goal {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: var(--wp--custom--gu--kb--bar-tab);
	border-block-end: 2px solid transparent;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body);
	line-height: 22px;
	text-decoration: none;
}
.guestro-kb-bar__goal::before {
	content: "";
	box-sizing: border-box;
	width: 8px;
	height: 8px;
	border: var(--wp--custom--gu--kb--ring) solid var(--wp--preset--color--border-strong);
	border-radius: 50%;
}
.guestro-kb-bar__goal.is-active { border-block-end-color: var(--wp--preset--color--brand-solid); color: var(--wp--preset--color--brand-solid); font-weight: var(--wp--custom--gu--kb--medium); }
.guestro-kb-bar__goal.is-active::before { border-color: var(--wp--preset--color--accent-solid); background: var(--wp--preset--color--accent-solid); }
.guestro-kb-bar__goal:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }

/* Latest, in brief: one card template, rows aligned with subgrid. */
.guestro-kb-latest.is-style-section {
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--96);
	border-block-start: 1px solid var(--wp--preset--color--border-subtle);
}
.guestro-kb-section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--wp--preset--spacing--16); }
.guestro-kb-section-head > * { margin: 0; }
.guestro-kb-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(4, auto);
	gap: 0 var(--wp--preset--spacing--32);
	margin-block-start: var(--wp--preset--spacing--40);
	padding: 0;
	list-style: none;
}
@media (width >= 48em) {
	.has-global-padding > .guestro-kb-cards.alignfull { max-width: var(--wp--custom--gu--chrome--frame); margin-inline: auto !important; }
}
.guestro-kb-card {
	position: relative;
	display: grid;
	grid-row: span 4;
	grid-template-rows: subgrid;
	row-gap: var(--wp--preset--spacing--16);
}
.guestro-kb-card > * { margin: 0; }
.guestro-kb-card__image { aspect-ratio: var(--wp--custom--gu--kb--card-ratio); overflow: hidden; border-radius: var(--wp--custom--gu--radius--xl); }
.guestro-kb-card__meta { color: var(--wp--preset--color--text-secondary); font-size: var(--wp--preset--font-size--base); line-height: 20px; }
.guestro-kb-card__title {
	display: -webkit-box;
	min-height: calc(3 * 28px);
	overflow: hidden;
	color: var(--wp--preset--color--brand-solid);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: 400;
	line-height: 28px;
	text-wrap: pretty;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.guestro-kb-card__title a { color: inherit; text-decoration: none; }
.guestro-kb-card__title a::after { content: ""; position: absolute; inset: 0; }
.guestro-kb-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.guestro-kb-card__title a:focus-visible { outline: none; }
.guestro-kb-card:has(.guestro-kb-card__title a:focus-visible) { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 4px; border-radius: var(--wp--custom--gu--radius--xl); }
.guestro-kb-card__points {
	display: grid;
	align-content: start;
	gap: 10px;
	margin: 0;
	padding: var(--wp--preset--spacing--16) 0 0;
	border-block-start: 1px solid var(--wp--preset--color--border-subtle);
	list-style: none;
}
.guestro-kb-card__points li {
	position: relative;
	display: -webkit-box;
	overflow: hidden;
	padding-inline-start: 18px;
	color: var(--wp--preset--color--text);
	font-size: var(--wp--custom--gu--kb--small);
	line-height: 22px;
	text-wrap: pretty;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}
.guestro-kb-card__points li::before {
	content: "";
	position: absolute;
	inset-block-start: 8px;
	inset-inline-start: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--brand-solid);
}

/* The full list: text rows by year, newest first. */
.guestro-kb-list.is-style-section {
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--96);
	border-block-start: 1px solid var(--wp--preset--color--border-subtle);
	scroll-margin-block-start: var(--wp--custom--gu--articles--anchor-offset);
}
.guestro-kb-list > * { margin-block: 0; }
.guestro-kb-list__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--wp--preset--spacing--16); }
.guestro-kb-list__head > * { margin: 0; }
.guestro-kb-list.is-empty .guestro-kb-list__title {
	padding-inline-start: calc(var(--wp--custom--gu--kb--year) + var(--wp--preset--spacing--32));
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--h-4);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 26px;
}
.guestro-kb-years { display: grid; gap: var(--wp--preset--spacing--40); margin-block-start: var(--wp--preset--spacing--40); }
.guestro-kb-year { display: grid; grid-template-columns: var(--wp--custom--gu--kb--year) minmax(0, 1fr); column-gap: var(--wp--preset--spacing--32); }
.guestro-kb-year__label {
	margin: 0;
	padding-block-start: 10px;
	color: var(--wp--preset--color--brand-solid);
	font-size: var(--wp--preset--font-size--display-small);
	font-weight: var(--wp--custom--gu--kb--light);
	letter-spacing: -0.015em;
	line-height: 38px;
}
.guestro-kb-rows { margin: 0; padding: 0; list-style: none; }
.guestro-kb-year:last-child .guestro-kb-rows,
.guestro-kb-list.is-folded .guestro-kb-year:has(+ .guestro-kb-year.is-later) .guestro-kb-rows { border-block-end: 1px solid var(--wp--preset--color--border-subtle); }
.guestro-kb-row {
	position: relative;
	display: grid;
	grid-template-columns: var(--wp--custom--gu--kb--date) minmax(0, 1fr) var(--wp--custom--gu--kb--time);
	column-gap: var(--wp--preset--spacing--24);
	align-items: baseline;
	padding-block: var(--wp--preset--spacing--20);
	border-block-start: 1px solid var(--wp--preset--color--border-subtle);
}
.guestro-kb-row__date, .guestro-kb-row__time { color: var(--wp--preset--color--text-secondary); font-size: var(--wp--custom--gu--kb--small); line-height: 22px; }
.guestro-kb-row__time { text-align: end; }
.guestro-kb-row__title { color: var(--wp--preset--color--brand-solid); font-size: var(--wp--preset--font-size--h-4); line-height: 26px; text-decoration: none; }
.guestro-kb-row__title::after { content: ""; position: absolute; inset: 0; }
.guestro-kb-row__title:hover { text-decoration: underline; text-underline-offset: 4px; }
.guestro-kb-row__title:focus-visible { outline: none; }
.guestro-kb-row:has(.guestro-kb-row__title:focus-visible) { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.guestro-kb-list.is-folded .is-later { display: none; }
.guestro-kb-more-row { margin-block-start: var(--wp--preset--spacing--40); padding-inline-start: calc(var(--wp--custom--gu--kb--year) + var(--wp--preset--spacing--32)); }
.guestro-kb-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--8);
	padding: 12px 20px;
	border: 1px solid var(--wp--preset--color--brand-solid);
	border-radius: var(--wp--custom--gu--radius--lg);
	background: transparent;
	color: var(--wp--preset--color--brand-solid);
	font: inherit;
	font-size: var(--wp--preset--font-size--body);
	font-weight: var(--wp--custom--gu--kb--medium);
	line-height: 22px;
	cursor: pointer;
}
.guestro-kb-more:hover { background: var(--wp--preset--color--brand-subtle); }
.guestro-kb-more:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }

/* 390: one column, the goals above the fold, a sideways latest row. */
@media (width < 48em) {
	.guestro-kb-head.is-style-section { padding-block: var(--wp--preset--spacing--32) 28px; }
	.guestro-kb-head__grid { gap: var(--wp--preset--spacing--24); }
	.guestro-kb-head { --kb-gap: var(--wp--preset--spacing--20); }
	.guestro-kb-head__title { font-size: var(--wp--preset--font-size--display); letter-spacing: -0.01em; line-height: 46px; }
	.guestro-kb-head__lede { font-size: var(--wp--preset--font-size--body); line-height: 24px; }
	.guestro-kb-search { max-width: none; }
	.guestro-kb-search .wp-block-search__input { height: var(--wp--custom--gu--kb--search-height-small); padding-inline: 46px 16px; }
	.guestro-kb-search .wp-block-search__inside-wrapper::before { inset-inline-start: 16px; width: 18px; height: 18px; }
	.guestro-kb-head .guestro-kb-examples { display: none; }
	.guestro-kb-goal { grid-template-columns: var(--wp--custom--gu--kb--node-small) minmax(0, 1fr); column-gap: 14px; padding: var(--wp--preset--spacing--16); }
	.guestro-kb-goal.is-active { grid-template-columns: var(--wp--custom--gu--kb--node-small) minmax(0, 1fr) 16px; }
	.guestro-kb-goal::before { width: var(--wp--custom--gu--kb--node-small); height: var(--wp--custom--gu--kb--node-small); }
	.guestro-kb-goal.is-active::after { width: 16px; height: 16px; }
	.guestro-kb-goal__name { font-size: var(--wp--preset--font-size--h-3); line-height: 26px; }
	.guestro-kb-goal__text { margin-block-start: 2px; font-size: var(--wp--preset--font-size--base); line-height: 20px; }
	.guestro-kb-goal__meta { padding-block-start: var(--wp--preset--spacing--4); font-size: var(--wp--preset--font-size--small); line-height: 19px; }

	.guestro-kb-paths.is-style-section { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--48); }
	.guestro-kb-path__title, .guestro-kb-section-head__title, .guestro-kb-list__title { font-size: var(--wp--preset--font-size--display-small); letter-spacing: 0; line-height: 38px; }
	.guestro-kb-path__lede { margin-block-start: var(--wp--preset--spacing--8); font-size: var(--wp--custom--gu--kb--small); line-height: 22px; }
	.guestro-kb-rail { margin-block-start: 28px; }
	.guestro-kb-step {
		grid-template-columns: var(--wp--custom--gu--kb--node) minmax(0, 1fr) auto;
		grid-template-areas: "node body image";
		column-gap: var(--wp--preset--spacing--16);
	}
	.guestro-kb-step:first-child { grid-template-areas: "node image image" "node body body"; row-gap: 10px; }
	.guestro-kb-step:not(:last-child)::before { inset-block-start: 22px; }
	.guestro-kb-step:first-child::before { inset-block-start: 21px; }
	.guestro-kb-step__label { grid-area: node; height: auto; padding-block-start: 5px; }
	.guestro-kb-step:first-child .guestro-kb-step__label { height: auto; padding-block-start: 4px; }
	.guestro-kb-step__name, .guestro-kb-step__text, .guestro-kb-step__read { display: none; }
	.guestro-kb-step__body { grid-area: body; padding-block-end: 28px; }
	.guestro-kb-step:first-child .guestro-kb-step__body { padding-block-end: var(--wp--preset--spacing--32); }
	.guestro-kb-step__title { font-size: var(--wp--preset--font-size--h-4); letter-spacing: 0; line-height: 24px; }
	.guestro-kb-step:first-child .guestro-kb-step__title { padding-block-start: var(--wp--preset--spacing--4); font-size: var(--wp--preset--font-size--h-2); line-height: 30px; }
	.guestro-kb-step__meta { gap: 10px; margin-block-start: 6px; padding-block-start: 0; }
	.guestro-kb-step:first-child .guestro-kb-step__meta { margin-block-start: 10px; padding-block-start: 0; }
	.guestro-kb-step__tag { display: inline-flex; align-items: center; gap: 10px; font-weight: var(--wp--custom--gu--kb--medium); }
	.guestro-kb-step__tag::after { content: ""; width: 1px; height: 12px; background: var(--wp--preset--color--border); }
	.guestro-kb-step:first-child .guestro-kb-step__tag { color: var(--wp--preset--color--brand-solid); }
	.guestro-kb-step:not(:first-child) .guestro-kb-long { display: none; }
	.guestro-kb-step:not(:first-child) .guestro-kb-short { display: inline; }
	.guestro-kb-step__image {
		grid-area: image;
		grid-column: auto;
		grid-row: auto;
		width: var(--wp--custom--gu--kb--step-thumb-small);
		height: var(--wp--custom--gu--kb--step-thumb-small);
		margin: 0;
		aspect-ratio: auto;
	}
	.guestro-kb-step:first-child .guestro-kb-step__image { width: 100%; height: var(--wp--custom--gu--kb--step-image-small); border-radius: var(--wp--custom--gu--radius--lg); }
	.guestro-kb-step:not(:first-child) .guestro-kb-panel { padding: 10px; }
	.guestro-kb-step:not(:first-child) .guestro-kb-panel::before { display: none; }
	.guestro-kb-step:not(:first-child) .guestro-kb-panel__name { font-size: var(--wp--preset--font-size--small); line-height: 18px; }
	.guestro-kb-path__topics { gap: var(--wp--preset--spacing--8); margin-block-start: 0; padding-block-start: var(--wp--preset--spacing--20); padding-inline-start: 30px; }
	.guestro-kb-path__topics-label { flex-basis: 100%; font-size: var(--wp--custom--gu--kb--small); }
	.guestro-kb-topic { min-height: 44px; }
	.guestro-kb-cat-head.is-style-section { padding-block: var(--wp--preset--spacing--32) var(--wp--preset--spacing--40); }
	.guestro-kb-cat-head > * + * { margin-block-start: var(--wp--preset--spacing--12); }
	.guestro-kb-cat-head .guestro-kb-cat-head__title { font-size: var(--wp--preset--font-size--display); letter-spacing: -0.01em; line-height: 46px; }
	.guestro-kb-cat-head__count { font-size: var(--wp--preset--font-size--body); line-height: 24px; }
	.guestro-kb-cat-head .guestro-kb-cat-head__goal { margin-block-start: 0; }
	.guestro-kb-cat-head__goal a { font-size: var(--wp--custom--gu--kb--small); }
	.guestro-kb-list.guestro-kb-cat-list.is-style-section { padding-block-start: var(--wp--preset--spacing--32); }

	.guestro-kb-latest.is-style-section { padding-block: var(--wp--preset--spacing--40) 44px; }
	.guestro-kb-section-head .guestro-kb-section-head__link { display: none; }
	.guestro-kb-latest__more { display: block; margin-block-start: var(--wp--preset--spacing--8); }
	.guestro-kb-cards {
		display: flex;
		gap: var(--wp--preset--spacing--16);
		margin-block-start: var(--wp--preset--spacing--20);
		padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--wp--style--root--padding-left);
		scrollbar-width: none;
	}
	.guestro-kb-card { flex: 0 0 var(--wp--custom--gu--kb--card-small); display: flex; flex-direction: column; row-gap: var(--wp--preset--spacing--12); scroll-snap-align: start; }
	.guestro-kb-card__image { border-radius: var(--wp--custom--gu--radius--lg); }
	.guestro-kb-card__meta { font-size: var(--wp--preset--font-size--small); line-height: 19px; }
	.guestro-kb-card__title { min-height: calc(3 * 24px); font-size: var(--wp--preset--font-size--h-4); line-height: 24px; }
	.guestro-kb-card__points { gap: var(--wp--preset--spacing--8); padding-block-start: var(--wp--preset--spacing--12); }
	.guestro-kb-card__points li { padding-inline-start: 16px; font-size: var(--wp--preset--font-size--base); line-height: 21px; }
	.guestro-kb-panel__name { font-size: var(--wp--preset--font-size--h-1); line-height: 34px; }

	.guestro-kb-list.is-style-section { padding-block: var(--wp--preset--spacing--40) 44px; }
	.guestro-kb-list__head { flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--8); }
	.guestro-kb-list.is-empty .guestro-kb-list__title { padding-inline-start: 0; }
	.guestro-kb-years { gap: var(--wp--preset--spacing--24); margin-block-start: var(--wp--preset--spacing--24); }
	.guestro-kb-year { grid-template-columns: minmax(0, 1fr); }
	.guestro-kb-year__label { padding: 0 0 var(--wp--preset--spacing--8); font-size: var(--wp--preset--font-size--h-2); letter-spacing: 0; line-height: 30px; }
	.guestro-kb-row {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas: "title title" "date time";
		row-gap: var(--wp--preset--spacing--4);
		column-gap: 0;
		min-height: 48px;
		padding-block: 14px;
	}
	.guestro-kb-row__title { grid-area: title; font-size: var(--wp--preset--font-size--body); line-height: 24px; }
	.guestro-kb-row__date { grid-area: date; font-size: var(--wp--preset--font-size--small); line-height: 19px; }
	.guestro-kb-row__date::after { content: ", "; white-space: pre; }
	.guestro-kb-row__time { grid-area: time; font-size: var(--wp--preset--font-size--small); line-height: 19px; text-align: start; }
	.guestro-kb-more-row { margin-block-start: var(--wp--preset--spacing--24); padding-inline-start: 0; }
	.guestro-kb-more { display: flex; width: 100%; min-height: 48px; }
}

@media (48em <= width < 75em) {
	.guestro-kb-step__image { width: 180px; }
	.guestro-kb-step:first-child .guestro-kb-step__image { width: 280px; }
	.guestro-kb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(8, auto); }
}
