/* Layout glue only (guide section 5, R73): tokens live in theme.json. */

/*
 * Metric-matched fallback for the Poppins swap (R73, A6). WordPress 7.1
 * wraps every theme.json fontFace src in url(), so a local() face cannot live
 * there. Values from Poppins 400 against Arial: size-adjust is the ratio of
 * their average advance widths over Swedish running copy; the overrides are
 * Poppins' 1050, 350 and 100 units per 1000 divided by it.
 */
@font-face {
	font-family: "Poppins Fallback";
	src: local("Arial"), local("ArialMT"), local("Helvetica");
	size-adjust: 112.7%;
	ascent-override: 93.17%;
	descent-override: 31.06%;
	line-gap-override: 8.87%;
}

/*
 * Display heads below 75em (guide section 4: hero 40/46, section heads
 * 32/38). R73 puts these on @tablet and @mobile keys, but on WordPress 7.1.3
 * the keys under styles.blocks.core/heading compile to ".wp-block-heading h1",
 * which never matches the heading block itself, and the 7.1 schema rejects
 * them on styles.elements. The @tablet and @mobile ranges carry the same
 * values, so one query covers both.
 */
@media (width <= 75em) {
	:root :where(h1) {
		font-size: var(--wp--preset--font-size--display);
		line-height: 1.15;
	}
	:root :where(h2) {
		font-size: var(--wp--preset--font-size--display-small);
		line-height: 1.1875;
	}
}

/* Gutters (guide section 4): 16 px up to 48em, 24 px above. */
@media (width >= 48em) {
	body {
		--wp--style--root--padding-left: var(--wp--preset--spacing--24);
		--wp--style--root--padding-right: var(--wp--preset--spacing--24);
	}
}

/* Header, main and footer meet without core's root block gap. */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Skip link: the first Tab stop, a white pill with navy text (Lägen board). */
.guestro-skip-link {
	position: absolute;
	top: var(--wp--preset--spacing--8);
	left: var(--wp--preset--spacing--8);
	z-index: 100;
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--gu--radius--full);
	background: var(--wp--preset--color--on-brand);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--base);
	text-decoration: none;
	transform: translateY(-200%);
}
.guestro-skip-link:focus-visible {
	transform: none;
	outline: 2px solid var(--wp--preset--color--on-brand);
	outline-offset: 2px;
}

/* Focus: 2 px focus ring on white (theme.json), white on navy (Lägen). */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}
:where(.guestro-header, .has-site-blue-background-color) :focus-visible {
	outline: 2px solid var(--wp--preset--color--on-brand);
	outline-offset: 2px;
}

/* Buttons: sizes follow the font-size preset (D12), pressed and disabled. */
.wp-block-button .wp-block-button__link { min-height: var(--wp--custom--gu--button--lg--height); }
.wp-block-button.has-body-font-size .wp-block-button__link {
	min-height: var(--wp--custom--gu--button--md--height);
	padding: calc((var(--wp--custom--gu--button--md--height) - var(--wp--custom--gu--button--md--line-height)) / 2) var(--wp--custom--gu--button--md--padding-x);
	line-height: var(--wp--custom--gu--button--md--line-height);
}
.wp-block-button.has-small-font-size .wp-block-button__link {
	min-height: var(--wp--custom--gu--button--sm--height);
	padding: calc((var(--wp--custom--gu--button--sm--height) - var(--wp--custom--gu--button--sm--line-height)) / 2) var(--wp--custom--gu--button--sm--padding-x);
	border-radius: var(--wp--custom--gu--button--sm--radius);
	line-height: var(--wp--custom--gu--button--sm--line-height);
}
.wp-block-button .wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button .wp-block-button__link[aria-disabled="true"] {
	background: var(--wp--custom--gu--gray--2);
	color: var(--wp--preset--color--text-secondary);
	cursor: not-allowed;
	transform: none;
}
.wp-block-button.is-style-tertiary .wp-block-button__link[aria-disabled="true"] { background: transparent; }
@media (width < 48em) {
	.wp-block-button .wp-block-button__link,
	.wp-block-button:is(.has-body-font-size, .has-small-font-size) .wp-block-button__link { min-height: var(--wp--custom--gu--button--touch); }
}

/* Header band (A1, A2): the hairline sits inside the frame. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.guestro-header { padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right); }
.guestro-header__bar {
	max-width: var(--wp--custom--gu--chrome--frame);
	margin-inline: auto;
	padding-block: var(--wp--custom--gu--chrome--header-pad-small);
	gap: var(--wp--preset--spacing--24);
	border-bottom: 1px solid var(--wp--preset--color--site-blue-line);
}
.guestro-header .guestro-header__logo img {
	width: var(--wp--custom--gu--chrome--logo-small);
	height: auto;
}
.guestro-header :is(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close) {
	min-width: var(--wp--custom--gu--button--touch);
	min-height: var(--wp--custom--gu--button--touch);
	justify-content: center;
}
/* Core copies the nav's class onto its list too: the element selector matters.
   The header CTA comes before the nav in the DOM, so Tab follows the eye (QA H6). */
nav.guestro-header__nav {
	flex: 1;
	justify-content: flex-end;
}
.guestro-header .guestro-header-cta { margin-inline-start: auto; }
nav.guestro-header__nav .wp-block-navigation__container {
	flex: 1;
	gap: var(--wp--preset--spacing--32);
}
/* The first page link, not the hidden overlay-logo item, takes the free space (QA H1). */
.guestro-header__nav li:has(> .guestro-nav-logo) + .wp-block-navigation-item,
nav.guestro-header__nav .wp-block-navigation__container > .wp-block-navigation-item:first-child:not(:has(> .guestro-nav-logo)),
.guestro-header__nav .guestro-nav-login { margin-inline-start: auto; }
.wp-block-navigation-item__content { text-underline-offset: var(--wp--custom--gu--chrome--underline-offset); text-decoration-thickness: 1px; }
/* theme.json's -current state puts the underline on the li, so the li sets its thickness (Codex #33 F1). */
.current-menu-item,
.current-menu-item > .wp-block-navigation-item__content {
	text-decoration-thickness: 2px;
	text-underline-offset: var(--wp--custom--gu--chrome--underline-offset);
}
.wp-block-navigation-link.current-menu-ancestor > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: var(--wp--custom--gu--chrome--underline-offset);
}

/* Overlay menu up to 75em (the 768 rule), not core's 600 px. */
@media (width < 75em) {
	nav.guestro-header__nav { flex: 0 0 auto; }
	.guestro-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.guestro-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (width >= 75em) {
	.guestro-header__bar { padding-block: var(--wp--custom--gu--chrome--header-pad); }
	/* A padded, rounded focus ring round the label (Lägen board, QA H7). */
	nav.guestro-header__nav .wp-block-navigation-item__content {
		margin-inline: calc(-1 * var(--wp--preset--spacing--8));
		padding-inline: var(--wp--preset--spacing--8);
		border-radius: var(--wp--custom--gu--radius--sm);
	}
	.guestro-header .guestro-header__logo img { width: var(--wp--custom--gu--chrome--logo); }
	.guestro-header .guestro-header-cta { display: none; }
}
/* Open menu (A2): logo row, full-width rows with hairlines, left aligned. */
.guestro-header .wp-block-navigation__responsive-container.is-menu-open { padding: var(--wp--custom--gu--chrome--header-pad-small) var(--wp--style--root--padding-right) var(--wp--preset--spacing--16) var(--wp--style--root--padding-left); }
.guestro-header .wp-block-navigation.items-justified-center .is-menu-open .wp-block-navigation__responsive-container-content,
.guestro-header .wp-block-navigation.items-justified-center .is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
	padding-top: 0;
}
.guestro-header .wp-block-navigation.items-justified-center .is-menu-open :is(.wp-block-navigation-item, .guestro-nav-cta) {
	align-items: flex-start;
	margin-inline-start: 0;
	text-align: start;
}
/* Core wraps the menu's site logo in an unclassed li. */
nav.guestro-header__nav li:has(> .guestro-nav-logo) { display: none; }
.guestro-header .is-menu-open li:has(> .guestro-nav-logo) {
	display: flex;
	align-items: center;
	align-self: stretch;
	justify-content: center;
	min-height: var(--wp--custom--gu--button--touch);
	padding-block-end: var(--wp--custom--gu--chrome--header-pad-small);
	border-bottom: 1px solid var(--wp--preset--color--site-blue-line);
}
/* The open menu's top row is the closed header; the first page row gets 24 px more air (A2, QA H5). */
.guestro-header .is-menu-open li:has(> .guestro-nav-logo) + .wp-block-navigation-item { margin-block-start: var(--wp--preset--spacing--24); }
.guestro-header .is-menu-open .guestro-nav-logo img {
	width: var(--wp--custom--gu--chrome--logo-small);
	height: auto;
}
.guestro-header .is-menu-open .wp-block-navigation-item:not(.guestro-nav-login, .guestro-nav-cta):not(:has(> .guestro-nav-logo)) {
	line-height: var(--wp--custom--gu--chrome--menu-line);
	border-bottom: 1px solid var(--wp--preset--color--site-blue-line);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: 500;
}
.guestro-header .wp-block-navigation.items-justified-center .is-menu-open .wp-block-navigation-item__content {
	display: block;
	padding-block: var(--wp--preset--spacing--16);
	text-decoration: none;
}
.guestro-header .wp-block-navigation.items-justified-center .is-menu-open .guestro-nav-login {
	margin: var(--wp--preset--spacing--32) 0 var(--wp--preset--spacing--16);
	font-size: var(--wp--preset--font-size--body);
}
.guestro-header .wp-block-navigation .is-menu-open .guestro-nav-login .wp-block-navigation-item__content { color: var(--wp--preset--color--on-blue-soft); }
.guestro-header .is-menu-open .guestro-nav-cta,
.guestro-header .is-menu-open .guestro-nav-cta .wp-block-button,
.guestro-header .is-menu-open .guestro-nav-cta .wp-block-button__link { width: 100%; }
.guestro-header .is-menu-open .guestro-nav-cta .wp-block-button__link {
	min-height: var(--wp--custom--gu--button--lg--height);
	font-size: var(--wp--preset--font-size--h-4);
}

/* Footer (A3). A hairline on top unless the page ends on a navy band (Kontakt and Villkor boards, QA F3). */
.wp-site-blocks > footer .guestro-footer { border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle); }
main:has(> :last-child.has-site-blue-background-color, > :last-child > .has-site-blue-background-color:last-child, > .wp-block-post-content > :last-child.has-site-blue-background-color) + footer .guestro-footer { border-top: 0; }
.guestro-footer {
	padding: var(--wp--preset--spacing--64) var(--wp--style--root--padding-right) var(--wp--preset--spacing--32) var(--wp--style--root--padding-left);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
}
.guestro-footer > * {
	max-width: var(--wp--custom--gu--chrome--frame);
	margin-inline: auto;
}
.guestro-footer__top { gap: var(--wp--preset--spacing--48); }
.guestro-footer-logo img { width: var(--wp--custom--gu--chrome--logo-small); height: auto; }
.guestro-footer__columns {
	gap: var(--wp--preset--spacing--32);
	width: 100%;
}
.guestro-footer-col { flex: 1; }
.guestro-footer-heading {
	margin-block-end: var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--text);
	font-weight: 500;
	letter-spacing: 0;
}
.guestro-footer .wp-block-navigation__container { gap: var(--wp--preset--spacing--12); }
@media (width < 48em) {
	.guestro-footer .wp-block-navigation__container { gap: 0; }
	.guestro-footer :is(.wp-block-navigation-item__content, .guestro-footer-legal a) {
		display: inline-flex;
		align-items: center;
		min-height: var(--wp--custom--gu--button--touch);
	}
}
.guestro-footer a {
	color: inherit;
	text-decoration: none;
}
/* Core's nav links inherit their colour, so it goes on the item. */
.guestro-footer a:hover,
.guestro-footer :is(.guestro-nav-email, .wp-block-navigation-item:hover) { color: var(--wp--preset--color--link); }
.guestro-footer-bottom {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--wp--preset--spacing--24) var(--wp--preset--spacing--16);
	align-items: center;
	margin-block-start: var(--wp--preset--spacing--48);
}
.guestro-footer-legal {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--12) var(--wp--preset--spacing--24);
	padding-block-end: var(--wp--preset--spacing--24);
	border-bottom: 1px solid var(--wp--preset--color--border-subtle);
}
.guestro-footer-social.is-style-logos-only .wp-social-link { color: var(--wp--preset--color--text-secondary); }
.guestro-footer-social .wp-social-link svg {
	width: var(--wp--custom--gu--chrome--icon);
	height: var(--wp--custom--gu--chrome--icon);
	fill: none;
	stroke-width: var(--wp--custom--gu--home--stroke);
}
.guestro-footer-social .wp-social-link a {
	min-width: var(--wp--custom--gu--button--touch);
	min-height: var(--wp--custom--gu--button--touch);
	justify-content: center;
	color: var(--wp--preset--color--text-secondary);
}
@media (width >= 75em) {
	.guestro-footer { padding-block-start: var(--wp--preset--spacing--80); }
	.guestro-footer__top { flex-wrap: nowrap; }
	.guestro-footer__columns {
		width: auto;
		gap: 0;
	}
	.guestro-footer-col { flex: 0 0 var(--wp--custom--gu--chrome--footer-col); }
	.guestro-footer-col:last-child { flex-basis: var(--wp--custom--gu--chrome--footer-col-last); }
	.guestro-footer-logo img { width: var(--wp--custom--gu--chrome--logo); }
	.guestro-footer-bottom {
		grid-template-columns: 1fr auto 1fr;
		padding-block-start: var(--wp--preset--spacing--32);
		border-top: 1px solid var(--wp--preset--color--border-subtle);
	}
	.guestro-footer-legal {
		grid-column: auto;
		padding: 0;
		border: 0;
	}
	.guestro-footer-company { text-align: right; }
}

/* Bands (R57): the 404 and the closing band. */
.guestro-not-found__hint { margin-block-start: var(--wp--preset--spacing--48); }
@media (width >= 75em) {
	.guestro-not-found.is-style-section { padding-block: var(--wp--custom--gu--chrome--band-pad); }
}
@media (width < 48em) {
	:is(.guestro-band, .guestro-hero) .wp-block-button { width: 100%; }
}

/* Form fields (section 5, R68: a 1 px line), in a .guestro-field wrapper. */
.guestro-field :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="hidden"]), select, textarea),
.guestro-article__content :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="hidden"]), select, textarea) {
	box-sizing: border-box;
	width: 100%;
	min-height: var(--wp--custom--gu--button--touch);
	padding: 0 var(--wp--preset--spacing--12);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--gu--radius--lg);
	background: var(--wp--preset--color--surface-hover);
	color: var(--wp--preset--color--text);
	font: inherit;
}
.guestro-field textarea {
	min-height: var(--wp--custom--gu--field--textarea-small);
	padding-block: var(--wp--preset--spacing--8);
}
:is(.guestro-field, .guestro-article__content) :is(input, select, textarea):hover { border-color: var(--wp--preset--color--border-strong); }
:is(.guestro-field, .guestro-article__content) :is(input, select, textarea):focus-visible {
	border-color: var(--wp--preset--color--focus);
	outline: 0;
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--focus);
}
.guestro-field :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--wp--preset--color--error-solid); }
:is(.guestro-field, .guestro-article__content) ::placeholder { color: var(--wp--custom--gu--gray--5); }
:is(.guestro-field, .guestro-article__content) label {
	display: block;
	margin-block-end: var(--wp--preset--spacing--4);
	font-size: var(--wp--preset--font-size--base);
	font-weight: var(--wp--custom--gu--form--label-weight);
}
.guestro-field__hint,
.guestro-field__error {
	margin: var(--wp--preset--spacing--4) 0 0;
	font-size: var(--wp--preset--font-size--small);
}
.guestro-field__hint { color: var(--wp--preset--color--text-secondary); }
.guestro-field__error { color: var(--wp--preset--color--error-text); }
@media (width >= 48em) {
	.guestro-field :is(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="hidden"]), select) { min-height: var(--wp--custom--gu--button--md--height); }
}

/* Product frames (R40, R58, R69) and crops: an img in a fixed frame. */
.guestro-stage {
	overflow: hidden;
	background: var(--wp--preset--color--brand-subtle);
	border-radius: var(--wp--custom--gu--radius--xl);
}
.guestro-frame-phone img {
	border: var(--wp--custom--gu--frame--phone-border) solid var(--wp--preset--color--brand-solid);
	border-radius: var(--wp--custom--gu--frame--phone-radius);
	box-shadow: var(--wp--preset--shadow--2-xl);
}
.guestro-frame-window img {
	border: 1px solid var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--gu--radius--xl);
	background: var(--wp--preset--color--canvas);
}
.guestro-crop {
	overflow: hidden;
	height: var(--wp--custom--gu--frame--stage-height);
}
.guestro-crop img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--guestro-crop-x, 50%) var(--guestro-crop-y, 0);
}
:where(.guestro-frame-phone, .guestro-frame-window) figcaption { margin-block-start: var(--wp--preset--spacing--12); }

/* Prices (section 5): the number and its unit line. */
.price {
	font-size: var(--wp--preset--font-size--display-small);
	font-weight: 600;
	white-space: nowrap;
}
.price-unit {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
}

/* Motion: nothing moves under reduced motion; no content fades in. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0s !important;
		animation-duration: 0s !important;
		scroll-behavior: auto !important;
	}
}

/* Home (S4, boards 1-0, 50-0 and the fallback 5OY-0, 5U2-0). */
.guestro-hero .guestro-hero__lede { max-width: var(--wp--custom--gu--home--lede); }
.guestro-hero .guestro-hero__action { margin-block-start: var(--wp--preset--spacing--32); }
:where(.guestro-hero, .guestro-cta-band) .guestro-reply { margin-block-start: var(--wp--preset--spacing--12); }
.guestro-hero { padding-block-end: var(--wp--preset--spacing--80); }
/* Background beams (inc/beams.php), dimmed. They run from the page top,
   behind the header while it is see-through at the top of the home
   (beams.js), down into the statement's fade and dissolve there. */
.guestro-hero {
	--gu-beams-up: var(--wp--custom--gu--beams--up);
	--gu-beams-down: var(--wp--custom--gu--beams--down);
	position: relative;
	box-shadow: 0 calc(-1 * var(--gu-beams-up)) 0 var(--wp--preset--color--site-blue);
}
.guestro-hero > :not(.guestro-beams),
.guestro-hero + .guestro-statement > * {
	position: relative;
	z-index: 1;
}
.guestro-beams {
	position: absolute;
	inset: calc(-1 * var(--gu-beams-up)) 0 calc(-1 * var(--gu-beams-down));
	z-index: 0;
	width: 100%;
	height: calc(100% + var(--gu-beams-up) + var(--gu-beams-down));
	max-width: none;
	margin: 0;
	pointer-events: none;
	mask-image: linear-gradient(to bottom, var(--wp--preset--color--text) calc(100% - 1.5 * var(--gu-beams-down)), transparent);
}
.guestro-beams__base { stroke-opacity: var(--wp--custom--gu--beams--base); stroke-width: var(--wp--custom--gu--beams--stroke); }
.guestro-beams__lights path { stroke-opacity: var(--wp--custom--gu--beams--light); stroke-width: var(--wp--custom--gu--beams--stroke); }
.guestro-beams .gu-beams__a { stop-color: var(--wp--preset--color--on-blue-soft); }
.guestro-beams .gu-beams__b { stop-color: var(--wp--preset--color--site-blue-line); }
.guestro-beams .gu-beams__c { stop-color: var(--wp--preset--color--accent-solid); }
.guestro-header { transition: background-color var(--wp--custom--gu--beams--header-fade) ease; }
.is-beams-top .guestro-header { background-color: transparent !important; }
.guestro-logo-row {
	gap: var(--wp--preset--spacing--24);
	margin-block-start: var(--wp--preset--spacing--64);
}
.guestro-logo-row figure { margin: 0; }
.guestro-logo-row img {
	width: auto;
	height: var(--wp--custom--gu--home--logo);
	filter: brightness(0) invert(1);
}
.guestro-logo-row .is-heavy img { opacity: 0.7; }
/* One row at every width (Zlatan, 2026-10-23); below 48em it scrolls sideways. */
@media (width < 48em) {
	.guestro-logo-row,
	.guestro-trust.guestro-trust--customers {
		justify-content: flex-start;
		gap: var(--wp--preset--spacing--24);
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}
	.guestro-logo-row { margin-block-start: var(--wp--preset--spacing--48); }
	:is(.guestro-logo-row, .guestro-trust--customers) figure {
		flex: none;
		scroll-snap-align: start;
	}
	.guestro-logo-row img { height: var(--wp--custom--gu--home--logo-small); }
}
/* The home's row as a ticker (inc/logo-row.php, ticker.js), like trymimir.com:
   faded edges at 8 % and 92 %. Until the script runs the track takes no box. */
.guestro-ticker__track { display: contents; }
.guestro-ticker.is-running {
	justify-content: flex-start;
	overflow: hidden;
	scroll-snap-type: none;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, var(--wp--preset--color--text) 8%, var(--wp--preset--color--text) 92%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, var(--wp--preset--color--text) 8%, var(--wp--preset--color--text) 92%, transparent 100%);
}
.guestro-ticker.is-running .guestro-ticker__track {
	display: flex;
	flex: none;
	align-items: center;
	gap: var(--wp--preset--spacing--64);
	width: max-content;
	will-change: transform;
}
.guestro-ticker.is-running figure { flex: none; }
/* A mask would clip the focus ring; the row is paused while focused. */
.guestro-ticker.is-running:focus-visible {
	-webkit-mask-image: none;
	mask-image: none;
}
@media (width < 48em) {
	.guestro-ticker.is-running .guestro-ticker__track { gap: var(--wp--preset--spacing--48); }
}

/* Statement (R57): on the hero fade; a photo with a navy plate, or (D1) the R8 view. */
.guestro-statement { padding-block-end: var(--wp--preset--spacing--32); }
.guestro-statement__card {
	display: grid;
	gap: var(--wp--preset--spacing--16);
}
.guestro-statement__media {
	overflow: hidden;
	padding: var(--wp--preset--spacing--24) var(--wp--preset--spacing--24) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--gu--radius--2-xl);
	background: var(--wp--custom--gu--home--stage-fill);
	text-align: center;
}
.guestro-statement__media .guestro-frame-phone {
	height: var(--wp--custom--gu--home--statement-phone);
	margin: 0 auto;
	overflow: hidden;
	max-width: var(--wp--custom--gu--frame--phone-width);
}
.guestro-statement__text {
	margin: 0;
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--gu--radius--xl);
	background: var(--wp--preset--color--site-blue);
	color: var(--wp--preset--color--on-brand);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}
.guestro-statement__photo img {
	width: 100%;
	height: var(--wp--custom--gu--home--photo);
	object-fit: cover;
	border-radius: var(--wp--custom--gu--radius--2-xl);
}
@media (width >= 75em) {
	.guestro-statement__card:not(.is-photo) {
		grid-template-columns: 1fr var(--wp--custom--gu--frame--phone-width);
		grid-template-areas: "text media";
		column-gap: var(--wp--preset--spacing--64);
		height: var(--wp--custom--gu--home--statement);
		padding-inline: var(--wp--preset--spacing--64) var(--wp--preset--spacing--96);
		overflow: hidden;
		border-radius: var(--wp--custom--gu--radius--2-xl);
		background: var(--wp--custom--gu--home--stage-fill);
	}
	.guestro-statement__card:not(.is-photo) .guestro-statement__media { display: contents; }
	.guestro-statement__card:not(.is-photo) .guestro-frame-phone {
		grid-area: media;
		height: auto;
		margin-block-start: var(--wp--preset--spacing--48);
	}
	/* The caption shares the text's cell, so the text centres in the whole card (Paper 5T0-0). */
	.guestro-statement__card:not(.is-photo) .guestro-caption {
		grid-area: text;
		align-self: end;
		margin-block-end: var(--wp--preset--spacing--16);
		text-align: start;
	}
	.guestro-statement__card:not(.is-photo) .guestro-statement__text {
		grid-area: text;
		align-self: center;
		max-width: var(--wp--custom--gu--home--statement-text);
		padding: var(--wp--preset--spacing--48) 0;
		background: none;
		color: var(--wp--preset--color--brand-text);
		font-size: var(--wp--preset--font-size--display-small);
		font-weight: 300;
		line-height: 1.1875;
	}
	.guestro-statement__card.is-photo { position: relative; }
	.guestro-statement__card.is-photo .guestro-statement__text {
		position: absolute;
		bottom: var(--wp--preset--spacing--32);
		left: var(--wp--preset--spacing--32);
		max-width: var(--wp--custom--gu--home--lede);
		padding: var(--wp--preset--spacing--24) var(--wp--preset--spacing--32);
		font-size: var(--wp--preset--font-size--display-small);
		font-weight: 300;
		line-height: 1.1875;
	}
}

/* Split with the tabs (R59, R69): text left, the tab card right. */
.guestro-fade-out { background: linear-gradient(var(--wp--preset--color--brand-subtle), var(--wp--preset--color--canvas)); }
.wp-block-post-content > .alignfull { margin-block: 0; }
.guestro-split {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	align-items: center;
}
.guestro-split > *, .guestro-intro > *, .guestro-faq__grid > * { margin-block-start: 0; }
.guestro-split > *, .guestro-tabs__stage { min-width: 0; }
.guestro-more a {
	color: var(--wp--preset--color--link);
	text-decoration: none;
}
.guestro-more a::after { content: "\00a0\2192"; }
.guestro-more a:hover { text-decoration: underline; }
@media (width < 48em) {
	.guestro-more a {
		display: inline-flex;
		align-items: center;
		min-height: var(--wp--custom--gu--button--touch);
	}
}
.wp-block-group.is-style-card.guestro-tabs {
	padding: var(--wp--preset--spacing--16);
	border-color: var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--gu--radius--2-xl);
}
.guestro-tabs__list {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	gap: 0;
	padding: var(--wp--preset--spacing--4);
	border-radius: var(--wp--custom--gu--radius--md);
	background: var(--wp--preset--color--surface-sunken);
}
.guestro-tabs .guestro-tabs__tab .wp-block-button__link {
	min-height: var(--wp--custom--gu--button--touch);
	padding: 0 var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--gu--radius--sm);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--gu--button--md--line-height);
	text-decoration: none;
}
.guestro-tabs .guestro-tabs__tab .wp-block-button__link:is(.is-active, [aria-selected="true"]) {
	background: var(--wp--preset--color--canvas);
	box-shadow: var(--wp--preset--shadow--xs);
}
.guestro-tabs__stage.guestro-stage { background: var(--wp--custom--gu--home--stage-fill); }
.guestro-tabs__stage {
	position: relative;
	height: var(--wp--custom--gu--home--stage);
	margin-block-start: var(--wp--preset--spacing--16);
	padding-block-start: var(--wp--preset--spacing--24);
}
.guestro-tabs__panel { margin: 0 auto; }
.guestro-tabs__panel.guestro-frame-phone { max-width: var(--wp--custom--gu--frame--phone-width); }
.guestro-tabs__panel.guestro-frame-window {
	overflow: hidden;
	margin-inline: var(--wp--preset--spacing--24);
	border: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--gu--radius--xl);
	background: var(--wp--preset--color--canvas);
}
.guestro-tabs__panel.guestro-frame-window img {
	width: var(--wp--custom--gu--home--menu-width);
	max-width: none;
	border: 0;
	border-radius: 0;
}
/* One panel only once the store runs; before that, or without it, all three show. */
.guestro-tabs.is-ready .guestro-tabs__panel:not(.is-active) { display: none; }
.guestro-tabs:not(.is-ready) .guestro-tabs__stage { height: auto; padding-block-end: var(--wp--preset--spacing--24); }
.guestro-tabs:not(.is-ready) .guestro-tabs__panel + .guestro-tabs__panel { margin-block-start: var(--wp--preset--spacing--24); }
@media (width < 75em) {
	.guestro-tabs__stage { height: var(--wp--custom--gu--home--stage-small); }
	.guestro-tabs__panel.guestro-frame-phone { max-width: var(--wp--custom--gu--home--tab-phone-small); }
	/* The window fits inside the stage with 16 px below (board 4EU-0), so its bottom line and corners show; the image crops inside it. */
	.guestro-tabs__panel.guestro-frame-window {
		box-sizing: border-box;
		max-height: calc(var(--wp--custom--gu--home--stage-small) - var(--wp--preset--spacing--24) - var(--wp--preset--spacing--16));
		margin-inline: var(--wp--preset--spacing--16);
	}
	.guestro-tabs__panel.guestro-frame-window img { width: var(--wp--custom--gu--home--menu-width-small); }
	.guestro-statement__photo img { height: var(--wp--custom--gu--home--photo-small); }
}
.has-switched .guestro-tabs__panel.is-active { animation: guestro-fade 200ms ease-out; }
@keyframes guestro-fade {
	from { opacity: 0.4; }
	to { opacity: 1; }
}
.guestro-tabs .guestro-caption, .guestro-rhythm .guestro-caption { margin-block-start: var(--wp--preset--spacing--12); }
@media (width >= 75em) {
	.guestro-split {
		grid-template-columns: 1fr var(--wp--custom--gu--home--card);
		column-gap: var(--wp--preset--spacing--80);
	}
	.guestro-split__text { max-width: var(--wp--custom--gu--home--aside); }
	.wp-block-group.is-style-card.guestro-tabs { padding: var(--wp--preset--spacing--24); }
	.guestro-tabs .guestro-tabs__tab .wp-block-button__link { min-height: 0; padding-block: var(--wp--preset--spacing--8); }
}

/* Hub (2026-10-25): two sections after edda.ai. "In i Guestro": the
   services Guestro works with as a row of marks, dotted brackets with
   arrows into one conceptual app window (sync, competitors, optimisation,
   ratings, regulars). "Ut till gästerna": what Guestro drives with it, one
   card per channel under a dotted bracket. */
.guestro-hub-section > *, .guestro-out-section > * { margin-block-start: 0; }
.guestro-hub__intro {
	display: grid;
	gap: var(--wp--preset--spacing--16);
	max-width: var(--wp--custom--gu--home--lede);
	margin-inline: auto;
	text-align: center;
}
.guestro-hub__intro > * { margin-block: 0; }
.guestro-hub { position: relative; margin-block-start: var(--wp--preset--spacing--48); }
.guestro-hub > *, .guestro-hub * { margin-block: 0; }
/* Connectors: dots move along each wire. Every turn is two segments that
   both start their dot pattern exactly at the corner, so a dot passes the
   corner without a jump. Left: from the window up into the row (data out);
   right: from the row down into the window (data in). */
.guestro-hub, .guestro-hub-section, .guestro-out-section {
	--hub-dot: radial-gradient(circle, var(--wp--preset--color--brand-solid) 0 calc(var(--wp--custom--gu--hub--dot-line) / 2), transparent calc(var(--wp--custom--gu--hub--dot-line) / 2 + var(--wp--custom--gu--card--border-width) / 2));
}
.guestro-hub__row::before, .guestro-hub__window::after {
	background-image: var(--hub-dot), var(--hub-dot);
	background-repeat: repeat-x, repeat-y;
	background-size: var(--wp--custom--gu--hub--flow-step) var(--wp--custom--gu--hub--dot-line), var(--wp--custom--gu--hub--dot-line) var(--wp--custom--gu--hub--flow-step);
	animation: var(--wp--custom--gu--hub--flow-speed) linear infinite;
}
.guestro-wire { position: absolute; pointer-events: none; animation: var(--wp--custom--gu--hub--flow-speed) linear infinite; }
/* A fixed node sits on every corner; the moving dots fade in and out half a
   step from it, so nothing ever passes the corner. */
.guestro-wire.is-out-node, .guestro-wire.is-in-node, .guestro-out__pill::before, .guestro-out__card::before {
	width: var(--wp--custom--gu--hub--node);
	height: var(--wp--custom--gu--hub--node);
	border-radius: 50%;
	background: var(--wp--preset--color--brand-solid);
	animation: none;
}
.guestro-wire.is-out-node, .guestro-wire.is-in-node { top: calc(calc(var(--wp--custom--gu--hub--row-height) / 2) - var(--wp--custom--gu--hub--node) / 2); }
.guestro-wire.is-out-node { left: calc(var(--wp--custom--gu--hub--bracket-inset) + var(--wp--custom--gu--hub--dot-line) / 2 - var(--wp--custom--gu--hub--node) / 2); }
.guestro-wire.is-in-node { right: calc(var(--wp--custom--gu--hub--bracket-inset) + var(--wp--custom--gu--hub--dot-line) / 2 - var(--wp--custom--gu--hub--node) / 2); }
.guestro-wire.is-out-h, .guestro-wire.is-in-h {
	top: calc(calc(var(--wp--custom--gu--hub--row-height) / 2) - var(--wp--custom--gu--hub--dot-line) / 2);
	width: calc(var(--wp--custom--gu--hub--bracket-width) - var(--wp--custom--gu--hub--dot-line) / 2 - var(--wp--custom--gu--hub--flow-step) / 2);
	height: var(--wp--custom--gu--hub--dot-line);
	background: var(--hub-dot) 0 0 / var(--wp--custom--gu--hub--flow-step) var(--wp--custom--gu--hub--dot-line) repeat-x;
}
.guestro-wire.is-out-v, .guestro-wire.is-in-v {
	top: calc(calc(var(--wp--custom--gu--hub--row-height) / 2) + var(--wp--custom--gu--hub--flow-step) / 2);
	width: var(--wp--custom--gu--hub--dot-line);
	background: var(--hub-dot) 0 0 / var(--wp--custom--gu--hub--dot-line) var(--wp--custom--gu--hub--flow-step) repeat-y;
	mask: linear-gradient(to bottom, transparent 0, var(--wp--preset--color--text) var(--wp--custom--gu--hub--flow-step));
}
.guestro-wire.is-out-h { left: calc(var(--wp--custom--gu--hub--bracket-inset) + var(--wp--custom--gu--hub--dot-line) / 2 + var(--wp--custom--gu--hub--flow-step) / 2); mask: linear-gradient(to right, transparent 0, var(--wp--preset--color--text) var(--wp--custom--gu--hub--flow-step)); animation-name: guestro-wire-right; }
.guestro-wire.is-out-v { left: var(--wp--custom--gu--hub--bracket-inset); height: calc(calc(var(--wp--custom--gu--hub--row-height) / 2) + var(--wp--custom--gu--hub--gap) - var(--wp--custom--gu--hub--flow-step) / 2); animation-name: guestro-wire-up; }
.guestro-wire.is-in-h { right: calc(var(--wp--custom--gu--hub--bracket-inset) + var(--wp--custom--gu--hub--dot-line) / 2 + var(--wp--custom--gu--hub--flow-step) / 2); background-position: 100% 0; mask: linear-gradient(to left, transparent 0, var(--wp--preset--color--text) var(--wp--custom--gu--hub--flow-step)); animation-name: guestro-wire-right-end; }
.guestro-wire.is-in-v { right: var(--wp--custom--gu--hub--bracket-inset); height: calc(calc(var(--wp--custom--gu--hub--row-height) / 2) + var(--wp--custom--gu--hub--gap) - var(--wp--custom--gu--hub--flow-step) / 2 - var(--wp--custom--gu--hub--arrow)); animation-name: guestro-wire-down; }
@keyframes guestro-wire-right { to { background-position: var(--wp--custom--gu--hub--flow-step) 0; } }
@keyframes guestro-wire-left { to { background-position: calc(var(--wp--custom--gu--hub--flow-step) * -1) 0; } }
@keyframes guestro-wire-right-end { from { background-position: 100% 0; } to { background-position: calc(100% + var(--wp--custom--gu--hub--flow-step)) 0; } }
@keyframes guestro-wire-up { to { background-position: 0 calc(var(--wp--custom--gu--hub--flow-step) * -1); } }
@keyframes guestro-wire-down { to { background-position: 0 var(--wp--custom--gu--hub--flow-step); } }
@keyframes guestro-hub-down { to { background-position: 0 0, 0 var(--wp--custom--gu--hub--flow-step); } }
@keyframes guestro-hub-up { to { background-position: 0 0, 0 calc(var(--wp--custom--gu--hub--flow-step) * -1); } }
/* Arrow head where the left bracket meets the row, pointing into it. */
.guestro-hub__row::after {
	content: "";
	position: absolute;
	top: calc(50% - var(--wp--custom--gu--hub--arrow));
	right: 100%;
	border: var(--wp--custom--gu--hub--arrow) solid transparent;
	border-inline-start-color: var(--wp--preset--color--brand-solid);
	border-inline-end-width: 0;
}
.guestro-hub__row {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--custom--gu--hub--tile-gap);
	width: var(--wp--custom--gu--hub--row-width);
	min-height: var(--wp--custom--gu--hub--row-height);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--canvas);
	border-radius: var(--wp--custom--gu--radius--2-xl);
	box-shadow: var(--wp--preset--shadow--2-xl);
}
.guestro-hub__tiles { display: flex; gap: var(--wp--custom--gu--hub--tile-gap); }
.guestro-hub__tile {
	position: relative;
	display: grid;
	flex: none;
	place-items: center;
	width: var(--wp--custom--gu--hub--tile);
	height: var(--wp--custom--gu--hub--tile);
	background: var(--wp--preset--color--canvas);
	border-radius: var(--wp--custom--gu--radius--lg);
	box-shadow: inset 0 0 0 var(--wp--custom--gu--card--border-width) var(--wp--preset--color--border-subtle);
}
.guestro-hub__mark { margin: 0; }
.guestro-hub__mark img { display: block; width: var(--wp--custom--gu--hub--mark); height: var(--wp--custom--gu--hub--mark); object-fit: contain; }
.guestro-hub__more {
	display: flex;
	flex: none;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	padding-inline: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--text-secondary);
}
.guestro-hub__more::before {
	content: "";
	width: var(--wp--custom--gu--hub--plus);
	height: var(--wp--custom--gu--hub--plus);
	background: var(--wp--preset--color--text-secondary);
	mask: url("../icons/hub-plus.svg") center / contain no-repeat;
}
.guestro-hub__window {
	position: relative;
	z-index: 1;
	margin-block-start: var(--wp--custom--gu--hub--gap) !important;
	padding: var(--wp--custom--gu--hub--window-pad);
	background: var(--wp--preset--color--canvas);
	border-radius: var(--wp--custom--gu--hub--window-radius);
	box-shadow: 0 0 0 var(--wp--custom--gu--card--border-width) var(--wp--preset--color--border-subtle), var(--wp--preset--shadow--2-xl);
}
.guestro-hub__window::before {
	content: "";
	position: absolute;
	bottom: 100%;
	right: calc(var(--wp--custom--gu--hub--bracket-inset) - var(--wp--custom--gu--hub--arrow) + var(--wp--custom--gu--hub--dot-line) / 2);
	border: var(--wp--custom--gu--hub--arrow) solid transparent;
	border-block-start-color: var(--wp--preset--color--brand-solid);
	border-block-end-width: 0;
}
.guestro-hub__bar {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--24);
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
	border: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
	border-block-end: 0;
	border-radius: var(--wp--custom--gu--radius--2-xl) var(--wp--custom--gu--radius--2-xl) 0 0;
}
.guestro-hub__bar::before {
	content: "";
	flex: none;
	width: var(--wp--custom--gu--hub--dot);
	height: var(--wp--custom--gu--hub--dot);
	margin-inline-end: calc(var(--wp--custom--gu--hub--dot-step) * 2);
	border-radius: 50%;
	background: var(--wp--preset--color--border-subtle);
	box-shadow: var(--wp--custom--gu--hub--dot-step) 0 0 var(--wp--preset--color--border-subtle), calc(var(--wp--custom--gu--hub--dot-step) * 2) 0 0 var(--wp--preset--color--border-subtle);
}
.guestro-hub__logo img { display: block; width: auto; height: var(--wp--custom--gu--hub--logo); }
.guestro-hub__grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: var(--wp--preset--spacing--24);
	padding: var(--wp--preset--spacing--24);
	border: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
	border-radius: 0 0 var(--wp--custom--gu--radius--2-xl) var(--wp--custom--gu--radius--2-xl);
}
.gc-col-a, .gc-col-b { display: grid; align-content: start; gap: var(--wp--preset--spacing--24); }
.gc-card.is-ai { background: var(--wp--preset--color--brand-solid); color: var(--wp--preset--color--on-brand); }
.gc-card.is-ai .gc-title { display: flex; align-items: center; gap: var(--wp--preset--spacing--8); color: var(--wp--preset--color--on-blue-soft); }
.gc-card.is-ai .gc-title::before {
	content: "";
	width: var(--wp--custom--gu--hub--sparkle);
	height: var(--wp--custom--gu--hub--sparkle);
	background: var(--wp--preset--color--accent-solid);
	mask: url("../icons/hub-sparkle.svg") center / contain no-repeat;
}
.gc-say { font-size: var(--wp--preset--font-size--h4); line-height: var(--wp--custom--gu--hub--line-say); }
.gc-actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--8); }
.gc-btn {
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--gu--radius--md);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}
.gc-btn.is-yes { background: var(--wp--preset--color--accent-solid); color: var(--wp--preset--color--on-accent); }
.gc-btn.is-later { box-shadow: inset 0 0 0 var(--wp--custom--gu--card--border-width) var(--wp--preset--color--site-blue-line); color: var(--wp--preset--color--on-brand); }
.gc-insight { font-weight: 500; }
.gc-card {
	display: grid;
	align-content: start;
	gap: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--gu--radius--xl);
}
.gc-title { color: var(--wp--preset--color--text-secondary); font-size: var(--wp--preset--font-size--small); font-weight: 500; }
.gc-lead { font-size: var(--wp--preset--font-size--h3); font-weight: 500; line-height: var(--wp--custom--gu--hub--line-tight); }
.gc-rows, .gc-ranks { display: grid; gap: var(--wp--preset--spacing--12); }
.gc-row {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	background: var(--wp--preset--color--canvas);
	border-radius: var(--wp--custom--gu--radius--lg);
}
.is-optimise .gc-row { grid-template-columns: 1fr auto; }
.gc-row__text { font-size: var(--wp--preset--font-size--small); }
.gc-row__name { font-size: var(--wp--preset--font-size--small); font-weight: 500; }
.gc-skel {
	height: var(--wp--custom--gu--hub--skel);
	width: var(--wp--custom--gu--hub--skel-long);
	background: var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--gu--radius--full);
}
.gc-row:nth-child(2) .gc-skel { width: var(--wp--custom--gu--hub--skel-mid); }
.gc-row:nth-child(3) .gc-skel { width: var(--wp--custom--gu--hub--skel-short); }
.gc-chip {
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--gu--radius--full);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	white-space: nowrap;
}
.gc-chip.is-ok { background: var(--wp--preset--color--success-subtle); color: var(--wp--preset--color--success-text); }
.gc-chip.is-tip { background: var(--wp--preset--color--accent-subtle); color: var(--wp--preset--color--accent-text); }
.gc-rank { display: grid; grid-template-columns: var(--wp--custom--gu--hub--label) 1fr; align-items: center; gap: var(--wp--preset--spacing--16); }
.gc-rank .gc-skel.is-label { width: 100%; }
.gc-rank__name { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--brand-text); }
.gc-meter { height: var(--wp--custom--gu--hub--meter); border-radius: var(--wp--custom--gu--radius--full); background: var(--wp--preset--color--canvas); }
.gc-meter::before { content: ""; display: block; height: 100%; width: var(--w); border-radius: inherit; background: var(--wp--preset--color--border); }
.gc-rank.is-you .gc-meter::before { background: var(--wp--preset--color--brand-solid); }
.gc-rank:nth-child(1) { --w: var(--wp--custom--gu--hub--meter-you); }
.gc-rank:nth-child(2) { --w: var(--wp--custom--gu--hub--meter-2); }
.gc-rank:nth-child(3) { --w: var(--wp--custom--gu--hub--meter-3); }
.gc-rank:nth-child(4) { --w: var(--wp--custom--gu--hub--meter-4); }
.guestro-hub__tip {
	position: relative;
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--gu--radius--xl);
}
.guestro-hub__tip::before {
	content: "";
	flex: none;
	width: var(--wp--custom--gu--hub--check);
	height: var(--wp--custom--gu--hub--check);
	border-radius: 50%;
	background: var(--wp--preset--color--accent-solid);
}
.guestro-hub__tip::after {
	content: "";
	position: absolute;
	left: var(--wp--preset--spacing--24);
	width: var(--wp--custom--gu--hub--check);
	height: var(--wp--custom--gu--hub--check);
	background: var(--wp--preset--color--on-accent);
	mask: url("../icons/hub-check.svg") center / var(--wp--custom--gu--hub--check-glyph) no-repeat;
}
/* The stem from the window down into the next section. */
.guestro-hub-section { position: relative; }
.guestro-hub-section.is-style-section { padding-block-end: var(--wp--custom--gu--hub--stem); }
.guestro-hub-section::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - var(--wp--custom--gu--hub--dot-line) / 2);
	height: var(--wp--custom--gu--hub--stem);
	width: var(--wp--custom--gu--hub--dot-line);
	background: var(--hub-dot) 0 0 / var(--wp--custom--gu--hub--dot-line) var(--wp--custom--gu--hub--flow-step) repeat-y;
	animation: guestro-hub-fall var(--wp--custom--gu--hub--flow-speed) linear infinite;
}
.guestro-out-section.is-style-section { padding-block-start: 0; }
.guestro-out-section .guestro-out__pill {
	position: relative;
	width: fit-content;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--brand-solid);
	border-radius: var(--wp--custom--gu--radius--full);
	font-size: var(--wp--preset--font-size--h4);
	font-weight: 500;
	line-height: var(--wp--custom--gu--hub--line-pill);
}
.guestro-out__pill::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: calc(100% + var(--wp--custom--gu--hub--out-drop) - var(--wp--custom--gu--hub--node) / 2);
	left: calc(50% - var(--wp--custom--gu--hub--node) / 2);
}
.guestro-out__pill::after {
	content: "";
	position: absolute;
	top: 100%;
	left: calc(50% - var(--wp--custom--gu--hub--dot-line) / 2);
	height: calc(var(--wp--custom--gu--hub--out-drop) - var(--wp--custom--gu--hub--flow-step) / 2);
	mask: linear-gradient(to top, transparent 0, var(--wp--preset--color--text) var(--wp--custom--gu--hub--flow-step));
	width: var(--wp--custom--gu--hub--dot-line);
	background: var(--hub-dot) 0 0 / var(--wp--custom--gu--hub--dot-line) var(--wp--custom--gu--hub--flow-step) repeat-y;
	animation: guestro-hub-fall var(--wp--custom--gu--hub--flow-speed) linear infinite;
}
.guestro-out {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--24);
	margin-block-start: calc(var(--wp--custom--gu--hub--out-drop) * 2) !important;
}
/* The bracket over the cards: dots spread out from the centre both ways. */
.guestro-out::before, .guestro-out::after {
	content: "";
	position: absolute;
	top: calc(var(--wp--custom--gu--hub--out-drop) * -1 - var(--wp--custom--gu--hub--dot-line) / 2);
	height: var(--wp--custom--gu--hub--dot-line);
	background: var(--hub-dot) 0 0 / var(--wp--custom--gu--hub--flow-step) var(--wp--custom--gu--hub--dot-line) repeat-x;
	animation: var(--wp--custom--gu--hub--flow-speed) linear infinite;
}
.guestro-out::before { right: calc(50% + var(--wp--custom--gu--hub--flow-step) / 2); left: calc((100% - var(--wp--preset--spacing--24) * 2) / 6 + var(--wp--custom--gu--hub--flow-step) / 2); mask: linear-gradient(to right, transparent 0, var(--wp--preset--color--text) var(--wp--custom--gu--hub--flow-step), var(--wp--preset--color--text) calc(100% - var(--wp--custom--gu--hub--flow-step)), transparent 100%); animation-name: guestro-wire-left; }
.guestro-out::after { right: calc((100% - var(--wp--preset--spacing--24) * 2) / 6 + var(--wp--custom--gu--hub--flow-step) / 2); left: calc(50% + var(--wp--custom--gu--hub--flow-step) / 2); background-position: 100% 0; mask: linear-gradient(to right, transparent 0, var(--wp--preset--color--text) var(--wp--custom--gu--hub--flow-step), var(--wp--preset--color--text) calc(100% - var(--wp--custom--gu--hub--flow-step)), transparent 100%); animation-name: guestro-wire-right-end; }
@keyframes guestro-hub-fall { to { background-position: 0 var(--wp--custom--gu--hub--flow-step); } }
.guestro-out > * { margin-block: 0; }
.guestro-out__card {
	position: relative;
	display: grid;
	align-content: start;
	gap: var(--wp--preset--spacing--8);
	padding: var(--wp--preset--spacing--16);
	background: var(--wp--preset--color--canvas);
	border-radius: var(--wp--custom--gu--radius--xl);
	box-shadow: 0 0 0 var(--wp--custom--gu--card--border-width) var(--wp--preset--color--border-subtle), var(--wp--preset--shadow--md);
}
.guestro-out__card > * { margin-block: 0; }
.guestro-out__title { margin-block-start: var(--wp--preset--spacing--8) !important; font-weight: 500; }
.gc-mini {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--12);
	height: var(--wp--custom--gu--hub--mini);
	overflow: hidden;
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--gu--radius--lg);
}
.gc-mini > * { margin-block: 0; }
.gc-mini.is-google {
	background-color: var(--wp--preset--color--brand-subtle);
	background-image: linear-gradient(var(--wp--preset--color--canvas) var(--wp--custom--gu--card--border-width), transparent var(--wp--custom--gu--card--border-width)), linear-gradient(90deg, var(--wp--preset--color--canvas) var(--wp--custom--gu--card--border-width), transparent var(--wp--custom--gu--card--border-width));
	background-size: var(--wp--custom--gu--hub--map-grid) var(--wp--custom--gu--hub--map-grid);
}
.gc-pin {
	width: var(--wp--custom--gu--hub--pin);
	height: var(--wp--custom--gu--hub--pin);
	background: var(--wp--preset--color--error-solid);
	mask: url("../icons/hub-pin.svg") center / contain no-repeat;
}
.gc-browser, .gc-tv, .gc-order, .gc-ticket, .gc-bubble {
	display: grid;
	gap: var(--wp--preset--spacing--8);
	width: var(--wp--custom--gu--hub--mini-card);
	padding: var(--wp--preset--spacing--12);
	background: var(--wp--preset--color--canvas);
	border-radius: var(--wp--custom--gu--radius--md);
	box-shadow: var(--wp--preset--shadow--sm);
}
.gc-browser { padding-block-start: var(--wp--preset--spacing--24); position: relative; }
.gc-browser::before {
	content: "";
	position: absolute;
	top: var(--wp--preset--spacing--8);
	left: var(--wp--preset--spacing--12);
	width: var(--wp--custom--gu--hub--line);
	height: var(--wp--custom--gu--hub--line);
	border-radius: 50%;
	background: var(--wp--preset--color--border);
	box-shadow: calc(var(--wp--custom--gu--hub--line) * 1.6) 0 0 var(--wp--preset--color--border), calc(var(--wp--custom--gu--hub--line) * 3.2) 0 0 var(--wp--preset--color--border);
}
.gc-tv { background: var(--wp--preset--color--brand-solid); border-block-end: var(--wp--preset--spacing--4) solid var(--wp--preset--color--site-blue-mid); }
.gc-tv .gc-line { background: var(--wp--preset--color--site-blue-line); }
.gc-bubble { border-end-start-radius: 0; }
.gc-ticket { outline: var(--wp--custom--gu--card--border-width) dashed var(--wp--preset--color--border); outline-offset: calc(var(--wp--preset--spacing--4) * -1); }
.gc-line { height: var(--wp--custom--gu--hub--line); border-radius: var(--wp--custom--gu--radius--full); background: var(--wp--preset--color--border-subtle); }
.gc-line.is-short, .gc-line:nth-child(2) { width: var(--wp--custom--gu--hub--line-short); }
.guestro-out__card:nth-child(-n + 3) > .guestro-out__title::before {
	content: "";
	position: absolute;
	top: calc(var(--wp--custom--gu--hub--out-drop) * -1 + var(--wp--custom--gu--hub--flow-step) / 2);
	left: calc(50% - var(--wp--custom--gu--hub--dot-line) / 2);
	height: calc(var(--wp--custom--gu--hub--out-drop) - var(--wp--custom--gu--hub--flow-step) / 2 - var(--wp--custom--gu--hub--arrow));
	mask: linear-gradient(to bottom, transparent 0, var(--wp--preset--color--text) var(--wp--custom--gu--hub--flow-step));
	width: var(--wp--custom--gu--hub--dot-line);
	background: var(--hub-dot) 0 0 / var(--wp--custom--gu--hub--dot-line) var(--wp--custom--gu--hub--flow-step) repeat-y;
	animation: guestro-hub-fall var(--wp--custom--gu--hub--flow-speed) linear infinite;
}
.guestro-out__card:nth-child(1)::before, .guestro-out__card:nth-child(3)::before {
	content: "";
	position: absolute;
	top: calc(var(--wp--custom--gu--hub--out-drop) * -1 - var(--wp--custom--gu--hub--node) / 2);
	left: calc(50% - var(--wp--custom--gu--hub--node) / 2);
}
/* Arrow heads on the cards the bracket reaches. */
.guestro-out__card:nth-child(-n + 3) > .guestro-out__title::after {
	content: "";
	position: absolute;
	top: calc(var(--wp--custom--gu--hub--arrow) * -1);
	left: calc(50% - var(--wp--custom--gu--hub--arrow));
	border: var(--wp--custom--gu--hub--arrow) solid transparent;
	border-block-start-color: var(--wp--preset--color--brand-solid);
	border-block-end-width: 0;
}
@media (width < 75em) {
	.guestro-hub__wires { display: none; }
	.guestro-hub__row { flex-wrap: wrap; width: 100%; min-height: 0; padding: var(--wp--preset--spacing--16); }
	.guestro-hub__row { justify-content: center; gap: var(--wp--preset--spacing--8); }
	.guestro-hub__tiles { display: contents; }
	.guestro-hub__more { min-height: var(--wp--custom--gu--hub--tile-small); }
	.guestro-hub__tile { width: var(--wp--custom--gu--hub--tile-small); height: var(--wp--custom--gu--hub--tile-small); }
	.guestro-hub__mark img { width: var(--wp--custom--gu--hub--mark-small); height: var(--wp--custom--gu--hub--mark-small); }
	.guestro-hub__window { margin-block-start: var(--wp--custom--gu--hub--gap-small) !important; }
	/* Two lines between the row and the window: up on the left of the
	   centre (data out), down on the right (data in). */
	.guestro-hub__window::before { right: auto; left: calc(50% + var(--wp--custom--gu--hub--flow-gap) - var(--wp--custom--gu--hub--arrow)); }
	.guestro-hub__window::after, .guestro-hub__row::before {
		content: "";
		position: absolute;
		width: var(--wp--custom--gu--hub--dot-line);
		height: calc(var(--wp--custom--gu--hub--gap-small) - var(--wp--custom--gu--hub--arrow));
		background-image: none, var(--hub-dot);
	}
	.guestro-hub__window::after {
		bottom: calc(100% + var(--wp--custom--gu--hub--arrow));
		left: calc(50% + var(--wp--custom--gu--hub--flow-gap) - var(--wp--custom--gu--hub--dot-line) / 2);
		animation-name: guestro-hub-down;
	}
	.guestro-hub__row::before {
		top: calc(100% + var(--wp--custom--gu--hub--arrow));
		left: calc(50% - var(--wp--custom--gu--hub--flow-gap) - var(--wp--custom--gu--hub--dot-line) / 2);
		animation-name: guestro-hub-up;
	}
	.guestro-hub__row::after {
		top: 100%;
		right: auto;
		left: calc(50% - var(--wp--custom--gu--hub--flow-gap) - var(--wp--custom--gu--hub--arrow));
		border: var(--wp--custom--gu--hub--arrow) solid transparent;
		border-block-end-color: var(--wp--preset--color--brand-solid);
		border-block-start-width: 0;
	}
	.guestro-hub__grid { grid-template-columns: 1fr; }
	.guestro-out { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.guestro-out::before { left: calc((100% - var(--wp--preset--spacing--24)) / 4 + var(--wp--custom--gu--hub--flow-step) / 2); }
	.guestro-out::after { right: calc((100% - var(--wp--preset--spacing--24)) / 4 + var(--wp--custom--gu--hub--flow-step) / 2); }
	.guestro-out__card:nth-child(3)::before { content: none; }
	.guestro-out__card:nth-child(2)::before { content: ""; position: absolute; top: calc(var(--wp--custom--gu--hub--out-drop) * -1 - var(--wp--custom--gu--hub--node) / 2); left: calc(50% - var(--wp--custom--gu--hub--node) / 2); }
	.guestro-out__card:nth-child(3) > .guestro-out__title::before, .guestro-out__card:nth-child(3) > .guestro-out__title::after { content: none; }
}
@media (width < 48em) {
	.guestro-hub__intro { text-align: start; margin-inline: 0; }
	.guestro-hub__tile { width: var(--wp--custom--gu--hub--tile-xs); height: var(--wp--custom--gu--hub--tile-xs); }
	.guestro-hub__mark img { width: var(--wp--custom--gu--hub--mark-xs); height: var(--wp--custom--gu--hub--mark-xs); }
	.guestro-hub__more { min-height: var(--wp--custom--gu--hub--tile-xs); padding-inline: 0; }
	.guestro-hub { margin-block-start: var(--wp--preset--spacing--32); }
	.guestro-hub__window { padding: var(--wp--custom--gu--hub--window-pad-small); border-radius: var(--wp--custom--gu--hub--window-radius-small); }
	.guestro-hub__bar { padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16); }
	.guestro-hub__logo img { height: var(--wp--custom--gu--hub--logo-small); }
	.guestro-hub__grid, .gc-col-a, .gc-col-b { gap: var(--wp--preset--spacing--12); }
	.guestro-hub__grid { padding: var(--wp--preset--spacing--12); }
	.gc-card { padding: var(--wp--preset--spacing--16); gap: var(--wp--preset--spacing--12); }
	.gc-lead { font-size: var(--wp--preset--font-size--h4); }
	.gc-row { gap: var(--wp--preset--spacing--12); padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--12); }
	.guestro-hub__tip { padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16); }
	.guestro-hub__tip::after { left: var(--wp--preset--spacing--16); }
	.guestro-out { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--12); margin-block-start: var(--wp--custom--gu--hub--out-drop) !important; }
	.guestro-out-section .guestro-out__pill { font-size: var(--wp--preset--font-size--body); }
	.guestro-out::before, .guestro-out::after, .guestro-out__card:nth-child(-n + 3) > .guestro-out__title::before, .guestro-out__card:nth-child(n + 2) > .guestro-out__title::after { content: none; }
	.guestro-out__pill::after { height: calc(var(--wp--custom--gu--hub--out-drop) - var(--wp--custom--gu--hub--arrow)); }
	.guestro-out__pill::before, .guestro-out__card::before { content: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	.guestro-wire, .guestro-hub__row::before, .guestro-hub__window::after,
	.guestro-hub-section::after, .guestro-out__pill::after, .guestro-out::before, .guestro-out::after,
	.guestro-out__card > .guestro-out__title::before { animation: none; }
}

/* Rhythm (R58): R10 under "Du skriver" beside the e-mail, three steps. */
.guestro-intro {
	display: grid;
	gap: var(--wp--preset--spacing--16);
}
.guestro-pair {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--32);
	margin-block-start: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--24) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--gu--radius--2-xl);
}
.guestro-pair figure {
	display: flex;
	flex-direction: column-reverse;
	margin: 0;
}
.guestro-pair figcaption {
	margin: 0 0 var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 500;
	text-align: center;
}
.guestro-pair__write { width: var(--wp--custom--gu--home--pair-phone); }
.guestro-pair__write img {
	height: var(--wp--custom--gu--home--pair-crop);
	object-fit: cover;
	object-position: 50% var(--wp--custom--gu--home--pair-scroll);
}
.guestro-pair__get { width: var(--wp--custom--gu--home--pair-window); max-width: 100%; }
.guestro-pair__get img { padding: var(--wp--preset--spacing--8); }
.guestro-steps {
	gap: var(--wp--preset--spacing--24) var(--wp--preset--spacing--48);
	margin-block-start: var(--wp--preset--spacing--48);
}
.guestro-steps > .wp-block-column {
	padding-block-start: var(--wp--preset--spacing--24);
	border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border);
}
.guestro-steps p { margin-block-start: var(--wp--preset--spacing--8); }
@media (width >= 75em) {
	.guestro-intro {
		grid-template-columns: 1fr var(--wp--custom--gu--home--aside);
		column-gap: var(--wp--preset--spacing--80);
		align-items: start;
	}
	.guestro-intro > :last-child { padding-block-start: var(--wp--preset--spacing--24); }
	.guestro-pair {
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		gap: calc(var(--wp--preset--spacing--96) + var(--wp--preset--spacing--40));
		height: var(--wp--custom--gu--home--pair-stage);
		margin-block-start: var(--wp--preset--spacing--48);
		padding: var(--wp--preset--spacing--40) 0 0;
		overflow: hidden;
	}
	.guestro-pair__write img {
		height: auto;
		object-position: 50% 0;
	}
}

/* Customer cards (gated), drifting like the customer row on edda.ai (Zlatan,
   2026-10-25): inc/cases.php names the window, assets/js/cases.js repeats
   the cards and moves it. A photo card carries its text and the venue's white
   logo on the photo; the figure card is navy with the figure in the accent. The
   heading link covers the card. Without the script, or with reduced motion,
   the window is a plain sideways scroller that snaps to the cards. The window
   bleeds out by the root padding; its padding puts the first card on the
   frame's edge (padding percentages resolve against the parent, scroll
   padding against the window). */
.guestro-cases__window {
	margin-block: var(--wp--preset--spacing--48) var(--wp--preset--spacing--32);
	padding-block: var(--wp--preset--spacing--4);
	padding-inline: calc(var(--wp--style--root--padding-left, var(--wp--preset--spacing--16)) + max(0px, (100% - var(--wp--custom--gu--chrome--frame)) / 2));
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scroll-padding-inline: calc(var(--wp--style--root--padding-left, var(--wp--preset--spacing--16)) + max(0px, (100% - 2 * var(--wp--style--root--padding-left, var(--wp--preset--spacing--16)) - var(--wp--custom--gu--chrome--frame)) / 2));
	scrollbar-width: none;
}
.guestro-cases__window::-webkit-scrollbar { display: none; }
.guestro-cases__window.is-running { scroll-snap-type: none; }
.guestro-cases__window:focus-visible {
	outline: var(--wp--custom--gu--home--stroke) solid var(--wp--preset--color--focus);
	outline-offset: calc(-1 * var(--wp--preset--spacing--4));
}
.wp-block-group.guestro-cases__track {
	display: flex;
	gap: var(--wp--preset--spacing--24);
	width: max-content;
}
.guestro-cases__track > *, .guestro-case > *, .guestro-case__plate > * { margin-block: 0; }
.wp-block-group.guestro-case {
	position: relative;
	display: flex;
	flex: none;
	flex-direction: column;
	justify-content: flex-end;
	isolation: isolate;
	width: clamp(var(--wp--custom--gu--home--case-min), var(--wp--custom--gu--home--case-fluid), var(--wp--custom--gu--home--case));
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--wp--custom--gu--radius--2-xl);
	background: var(--wp--preset--color--site-blue);
	color: var(--wp--preset--color--on-brand);
	scroll-snap-align: start;
}
.guestro-case__photo {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.guestro-case__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
/* Shade for legibility only: navy deepening toward the text at the bottom,
   and a light veil in the top corner behind the logo. */
.guestro-case__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 100% 0, color-mix(in srgb, var(--wp--preset--color--site-blue) 45%, transparent), transparent 40%),
		linear-gradient(to top, color-mix(in srgb, var(--wp--preset--color--site-blue) 92%, transparent), color-mix(in srgb, var(--wp--preset--color--site-blue) 60%, transparent) 36%, transparent 68%);
}
/* The venue's logo in white, top right, as on edda.ai's cards. It sits under
   the heading link's cover, so a click there still opens the card. */
.wp-block-image.guestro-case__logo {
	position: absolute;
	top: var(--wp--preset--spacing--20);
	right: var(--wp--preset--spacing--20);
	margin: 0;
	line-height: 0;
}
.guestro-case__logo img {
	width: auto;
	max-width: var(--wp--custom--gu--home--case-logo-max);
	height: var(--wp--custom--gu--home--case-logo);
	object-fit: contain;
}
.guestro-case__plate {
	margin-block-end: 0;
	padding: var(--wp--preset--spacing--24);
	transition: margin-block-end 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.guestro-case__title {
	color: inherit;
	font-size: var(--wp--preset--font-size--h-4);
	font-weight: 500;
	line-height: 1.3;
	text-wrap: pretty;
}
.guestro-case__title a {
	color: inherit;
	text-decoration: none;
}
.guestro-case__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.guestro-case__title a:focus-visible { outline: none; }
.guestro-case:has(a:focus-visible) {
	outline: var(--wp--custom--gu--home--stroke) solid var(--wp--preset--color--focus);
	outline-offset: var(--wp--preset--spacing--2);
}
.guestro-case__plate .guestro-case__who {
	margin-block-start: var(--wp--preset--spacing--4);
	color: var(--wp--preset--color--on-blue-soft);
	font-size: var(--wp--preset--font-size--base);
}
.guestro-case__plate .guestro-case__more {
	margin-block-start: var(--wp--preset--spacing--12);
	font-size: var(--wp--preset--font-size--base);
	text-decoration: underline;
	text-underline-offset: var(--wp--preset--spacing--4);
}
.guestro-case.is-figure .guestro-case__title { font-size: var(--wp--preset--font-size--body); }
.guestro-case__figure {
	position: absolute;
	top: var(--wp--preset--spacing--24);
	left: var(--wp--preset--spacing--24);
	color: var(--wp--preset--color--accent-solid);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 300;
	line-height: 1;
	letter-spacing: var(--wp--custom--gu--home--case-figure-tracking);
}
@media (width >= 75em) {
	.guestro-case.is-photo .guestro-case__title { font-size: var(--wp--preset--font-size--h-3); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.guestro-case:hover .guestro-case__photo img { transform: scale(1.04); }
	.guestro-case:hover .guestro-case__plate { margin-block-end: var(--wp--preset--spacing--4); }
}
@media (prefers-reduced-motion: reduce) {
	.guestro-case__photo img, .guestro-case__plate { transition: none; }
}
.guestro-cases__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--16) var(--wp--preset--spacing--32);
}
.guestro-cases__footer > * { margin-block: 0; }
@media (width < 48em) {
	.guestro-cases__window { margin-block: var(--wp--preset--spacing--32) var(--wp--preset--spacing--24); }
	.wp-block-group.guestro-cases__track { gap: var(--wp--preset--spacing--16); }
	.wp-block-group.guestro-case { width: var(--wp--custom--gu--home--case-small); }
	.guestro-case__figure { font-size: var(--wp--preset--font-size--display-small); }
	.guestro-case__logo img { height: var(--wp--custom--gu--home--case-logo-small); }
}

/* Reuse the home case cards within the customer index columns. */
.guestro-customer-grid .wp-block-group.guestro-case { width: 100%; }

/* FAQ (core Details, the first open). */
.guestro-faq__grid {
	display: grid;
	gap: var(--wp--preset--spacing--32);
}
.guestro-faq__intro > * + * { margin-block-start: var(--wp--preset--spacing--16); }
.guestro-faq .wp-block-details {
	margin: 0;
	border-bottom: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
}
.guestro-faq summary {
	display: flex;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--16);
	padding-block: var(--wp--preset--spacing--24);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 500;
	line-height: 1.5;
	list-style: none;
	cursor: pointer;
}
.guestro-faq summary::-webkit-details-marker { display: none; }
.guestro-faq summary::after {
	flex: none;
	width: var(--wp--preset--spacing--16);
	height: var(--wp--preset--spacing--16);
	margin-block-start: var(--wp--preset--spacing--4);
	background: linear-gradient(currentcolor, currentcolor) center / 100% var(--wp--custom--gu--home--stroke) no-repeat, linear-gradient(currentcolor, currentcolor) center / var(--wp--custom--gu--home--stroke) 100% no-repeat;
	color: var(--wp--preset--color--text-secondary);
	content: "";
}
.guestro-faq [open] > summary::after { background-size: 100% var(--wp--custom--gu--home--stroke), 0 0; }
.guestro-faq summary:hover { background: var(--wp--preset--color--surface-hover); }
.guestro-faq .wp-block-details > p { margin: 0 0 var(--wp--preset--spacing--24); }
@media (width >= 75em) {
	.guestro-faq__grid {
		grid-template-columns: var(--wp--custom--gu--home--aside) 1fr;
		column-gap: var(--wp--preset--spacing--40);
		align-items: start;
	}
	.guestro-faq summary { font-size: var(--wp--preset--font-size--h-4); padding-block: var(--wp--preset--spacing--24); }
}

/* Closing band: the display size of the hero. */
.guestro-cta-band .guestro-cta-band__title { font-size: var(--wp--preset--font-size--hero); }
@media (width < 75em) {
	.guestro-cta-band .guestro-cta-band__title { font-size: var(--wp--preset--font-size--display); }
}
@media (width >= 75em) {
	.guestro-cta-band.is-style-section { padding-block: var(--wp--custom--gu--chrome--band-pad); }
}

/* Page band (B2 and the subpages): H1 and one line, left aligned. */
.guestro-page-band > * + * { margin-block-start: var(--wp--preset--spacing--24); }
@media (width < 48em) {
	.guestro-page-band.is-style-section { padding-block: var(--wp--preset--spacing--48) var(--wp--preset--spacing--40); }
	.guestro-page-band > * + * { margin-block-start: var(--wp--preset--spacing--12); }
}

/* Priser (S5, boards DG-0 and IJ-0): four cards, heads and buttons aligned. */
.guestro-plans__intro > p { max-width: var(--wp--custom--gu--pricing--lede); }
.guestro-plans {
	display: grid;
	gap: var(--wp--preset--spacing--16);
	margin-block: var(--wp--preset--spacing--48) var(--wp--preset--spacing--24);
}
.wp-block-group.is-style-card.guestro-plan {
	display: grid;
	gap: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--20);
	border-color: var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--gu--radius--xl);
}
.guestro-plans > *, .guestro-plan > * { margin: 0; }
.guestro-plan__head > * { margin: 0; }
.guestro-plan__name {
	font-size: var(--wp--preset--font-size--h-4);
	font-weight: 500;
	line-height: 1.4;
}
.guestro-plan .price {
	margin-block: var(--wp--preset--spacing--4) var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 300;
	line-height: 1.15;
}
.guestro-plan .price-unit {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}
.guestro-plan .price-unit + .price-unit { margin-block-start: var(--wp--preset--spacing--8); }
.guestro-plan__body {
	padding-block-start: var(--wp--preset--spacing--16);
	border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
}
.guestro-plan__body > * { margin-block: 0; }
.guestro-plan__base {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
}
.guestro-plan__list {
	margin-block: var(--wp--preset--spacing--12) 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--base);
	list-style: none;
}
.guestro-plan__base + .guestro-plan__list { margin-block-start: var(--wp--preset--spacing--8); }
.guestro-plan__list li {
	display: flex;
	gap: var(--wp--preset--spacing--8);
	align-items: baseline;
	padding-block: var(--wp--preset--spacing--4);
}
.guestro-plan__list li::before {
	flex: none;
	width: var(--wp--custom--gu--pricing--check-width);
	height: var(--wp--custom--gu--pricing--check-height);
	border-bottom: var(--wp--custom--gu--home--stroke) solid var(--wp--preset--color--text-secondary);
	border-left: var(--wp--custom--gu--home--stroke) solid var(--wp--preset--color--text-secondary);
	transform: translateY(var(--wp--custom--gu--pricing--check-offset)) rotate(-45deg);
	content: "";
}
.guestro-plan__help {
	margin-block-start: var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 500;
}
.guestro-trust {
	gap: var(--wp--preset--spacing--24) var(--wp--preset--spacing--32);
	margin-block-start: var(--wp--preset--spacing--64);
	padding-block: var(--wp--preset--spacing--24);
	border-block: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
}
.guestro-trust figure { margin: 0; }
.guestro-trust--customers img {
	width: auto;
	height: var(--wp--custom--gu--pricing--trust-logo);
	opacity: 0.7;
	filter: grayscale(1);
}
.guestro-trust--platforms { margin-block-start: var(--wp--preset--spacing--32); }
.guestro-trust__mark { gap: var(--wp--preset--spacing--8); }
.guestro-trust__mark img { width: auto; height: var(--wp--custom--gu--pricing--trust-mark); }
.guestro-trust__mark p { margin: 0; }
@media (width < 48em) {
	.guestro-plan .price { font-size: var(--wp--preset--font-size--display-small); }
	/* The 390 board's card type (Paper IJ-0): unit lines 15/22, list, base and help 16/24 (QA P7). */
	.guestro-plan .price-unit {
		font-size: var(--wp--custom--gu--pricing--unit-small);
		line-height: var(--wp--custom--gu--pricing--unit-small-line);
	}
	.guestro-plan__name { line-height: var(--wp--custom--gu--pricing--name-line-small); }
	.guestro-plan :is(.guestro-plan__base, .guestro-plan__list, .guestro-plan__help) {
		font-size: var(--wp--preset--font-size--body);
		line-height: 1.5;
	}
	.guestro-plan__list li { padding-block: calc(var(--wp--preset--spacing--12) / 2); }
}
@media (width >= 48em) {
	.guestro-plans { grid-template-columns: repeat(2, 1fr); }
}
@media (width >= 75em) {
	.guestro-plans {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--wp--preset--spacing--12);
	}
	.wp-block-group.is-style-card.guestro-plan {
		grid-row: span 3;
		grid-template-rows: subgrid;
		padding: var(--wp--preset--spacing--24);
	}
	.guestro-plan__body { display: flex; flex-direction: column; }
	.guestro-plan__help {
		max-width: var(--wp--custom--gu--pricing--help-measure);
		margin-block-start: auto;
		padding-block-start: var(--wp--preset--spacing--40);
	}
	.guestro-plan__action { margin-block-start: var(--wp--preset--spacing--8); }
	.guestro-trust { padding-block: var(--wp--preset--spacing--32); }
	.guestro-trust--platforms { margin-block-start: var(--wp--preset--spacing--64); }
}

/* Kontakt (S6, boards B3 to B7): one 720 column, the card from 48em. */
.guestro-form {
	box-sizing: border-box;
	display: grid;
	gap: var(--wp--preset--spacing--16);
	margin-block-start: var(--wp--preset--spacing--16);
}
.guestro-form > * { margin: 0; }
.guestro-form__alert {
	display: flex;
	gap: var(--wp--preset--spacing--12);
	align-items: center;
	padding: var(--wp--preset--spacing--16);
	border: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--error-solid);
	border-radius: var(--wp--custom--gu--radius--md);
	background: var(--wp--preset--color--error-subtle);
	color: var(--wp--preset--color--error-text);
}
.guestro-form__alert::before,
.guestro-field__error::before {
	flex: none;
	width: var(--wp--custom--gu--form--icon);
	height: var(--wp--custom--gu--form--icon);
	border: var(--wp--custom--gu--home--stroke) solid currentcolor;
	border-radius: var(--wp--custom--gu--radius--full);
	font-size: var(--wp--custom--gu--form--icon-font);
	font-weight: 600;
	line-height: var(--wp--custom--gu--form--icon);
	text-align: center;
	content: "!";
}
.guestro-form__alert[hidden], .guestro-form__plan[hidden], .guestro-field__error[hidden] { display: none; }
/* A message the server set without JavaScript (inc/form-page.php); the script turns it into text. */
:is(.guestro-field__error, .guestro-form__alert-text)[data-message]::after { content: attr(data-message); }
.guestro-form__plan {
	display: flex;
	gap: var(--wp--preset--spacing--8);
	align-items: center;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
}
.guestro-form__badge {
	display: inline-block;
	height: var(--wp--custom--gu--badge--height);
	padding: 0 var(--wp--custom--gu--badge--padding-x);
	border-radius: var(--wp--custom--gu--radius--xl);
	background: var(--wp--preset--color--accent-subtle);
	color: var(--wp--preset--color--accent-text);
	font-size: var(--wp--custom--gu--badge--font-size);
	font-weight: 600;
	line-height: var(--wp--custom--gu--badge--height);
}
.guestro-field__error {
	display: flex;
	gap: var(--wp--preset--spacing--4);
	align-items: center;
}
.guestro-field :is(input, textarea)[aria-invalid="true"] { background: var(--wp--preset--color--error-subtle); }
.guestro-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.guestro-form .wp-block-button { margin-block-start: var(--wp--preset--spacing--4); }
.guestro-form .wp-block-button__link { width: 100%; }
.guestro-form__privacy {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
}
.guestro-form__privacy a { color: var(--wp--preset--color--link); }
/* 24 below 48em keeps "Skicka förfrågan" inside the 375 x 812 first screen with the 16 px field gap (Codex #35 F1). */
.guestro-form-section.is-style-section { padding-block-start: var(--wp--preset--spacing--24); }
@media (width >= 48em) {
	.guestro-form .wp-block-button__link { width: auto; }
	.guestro-field textarea { min-height: var(--wp--custom--gu--field--textarea); }
	.guestro-form {
		gap: var(--wp--preset--spacing--24);
		margin-block-start: var(--wp--preset--spacing--24);
		padding: var(--wp--preset--spacing--40);
		border: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
		border-radius: var(--wp--custom--gu--radius--2-xl);
	}
	.guestro-form-section.is-style-section { padding-block-start: var(--wp--preset--spacing--96); }
}

/* Tack (B8): everything in the centred navy band. */
.guestro-thanks .guestro-thanks__offer { margin-block-start: var(--wp--preset--spacing--48); }
.guestro-thanks .wp-block-buttons { gap: var(--wp--preset--spacing--12); }
@media (width >= 75em) {
	.guestro-thanks.is-style-section { padding-block: var(--wp--custom--gu--chrome--band-pad); }
}

/* Så fungerar Guestro (S13, boards ND-0, 3FS-0, 3HW-0, 3K0-0, 3UR-0): the
   steps stacked, each with its stage. From 75em, without reduced motion and
   with scripting on, a tablist beside one stage (R69), laid out before the
   store runs so nothing shifts; without scripting the steps stay stacked. */
.guestro-story__step + .guestro-story__step {
	margin-block-start: var(--wp--preset--spacing--40);
	padding-block-start: var(--wp--preset--spacing--40);
	border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
}
.guestro-story__tablist + .guestro-story__step { margin-block-start: 0; }
.guestro-story__head {
	display: grid;
	grid-template-columns: var(--wp--custom--gu--steps--number) 1fr;
	align-items: baseline;
}
.guestro-story__head > * { grid-column: 2; margin: 0; }
.guestro-story__head > .guestro-story__number { grid-column: 1; color: var(--wp--preset--color--text); }
.guestro-story__title {
	color: var(--wp--preset--color--brand-text);
	font-weight: var(--wp--custom--gu--steps--title-weight);
	line-height: var(--wp--custom--gu--steps--title-line);
}
.guestro-story :is(.guestro-story__title, .guestro-story__media):focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}
.guestro-story__head > .guestro-story__line { margin-block-start: var(--wp--preset--spacing--8); }
.guestro-story__media { max-width: var(--wp--custom--gu--steps--stage); margin-block-start: var(--wp--preset--spacing--24); }
.guestro-story__media[hidden] { display: none; }
.guestro-story__stage {
	height: var(--wp--custom--gu--steps--stage-height-small);
	padding-block-start: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--gu--radius--2-xl);
}
.guestro-story__stage > .guestro-frame-phone:not(.guestro-pair__write) { max-width: var(--wp--custom--gu--steps--phone-small); margin: 0 auto; }
.guestro-story__stage.guestro-pair { height: auto; margin: 0; }
.guestro-story .guestro-pair__write { width: var(--wp--custom--gu--steps--pair-phone); }
.guestro-story .guestro-pair__write img { object-position: 50% 0; }
.guestro-story .guestro-pair__get { width: var(--wp--custom--gu--steps--pair-window); }
.guestro-story__media .guestro-caption { margin-block-start: var(--wp--preset--spacing--12); }
@keyframes guestro-crossfade-in {
	from { opacity: 0; }
}
@keyframes guestro-crossfade-out {
	to { opacity: 0; }
}
@media (width >= 75em) {
	.guestro-story-section.is-style-section { padding-block: var(--wp--custom--gu--chrome--band-pad); }
	.guestro-story__stage { height: var(--wp--custom--gu--steps--stage-height); padding-block-start: var(--wp--custom--gu--steps--stage-pad); }
	.guestro-story__stage > .guestro-frame-phone:not(.guestro-pair__write) { max-width: var(--wp--custom--gu--frame--phone-width); }
	.guestro-story__stage.guestro-pair {
		height: var(--wp--custom--gu--steps--stage-height);
		gap: var(--wp--preset--spacing--32);
		padding: var(--wp--custom--gu--steps--stage-pad) var(--wp--preset--spacing--16) 0;
	}
	.guestro-story .guestro-pair__write img { height: auto; }
}
@media (width >= 75em) and (prefers-reduced-motion: no-preference) and (scripting: enabled) {
	/* The tablist: the list in column 1, centred on the one visible stage. Only
	   where the plugin rendered the story, so the block editor stays stacked. */
	.guestro-story[data-wp-interactive="guestro/steps"] {
		display: grid;
		grid-template-columns: var(--wp--custom--gu--steps--list) var(--wp--custom--gu--steps--stage);
		grid-template-rows: 1fr repeat(4, auto) 1fr;
		column-gap: var(--wp--preset--spacing--40);
	}
	.guestro-story[data-wp-interactive="guestro/steps"] > .guestro-story__step { display: contents; }
	.guestro-story[data-wp-interactive="guestro/steps"] > .guestro-story__tablist { grid-area: 1 / 1; }
	.guestro-story[data-wp-interactive="guestro/steps"] .guestro-story__head {
		grid-column: 1;
		padding-block: var(--wp--preset--spacing--24);
		border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
		cursor: pointer;
	}
	.guestro-story[data-wp-interactive="guestro/steps"] > :nth-child(1 of .guestro-story__step) > .guestro-story__head { grid-row: 2; }
	.guestro-story[data-wp-interactive="guestro/steps"] > :nth-child(2 of .guestro-story__step) > .guestro-story__head { grid-row: 3; }
	.guestro-story[data-wp-interactive="guestro/steps"] > :nth-child(3 of .guestro-story__step) > .guestro-story__head { grid-row: 4; }
	.guestro-story[data-wp-interactive="guestro/steps"] > :nth-child(4 of .guestro-story__step) > .guestro-story__head { grid-row: 5; border-bottom: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle); }
	.guestro-story[data-wp-interactive="guestro/steps"] .guestro-story__media { grid-column: 2; grid-row: 1 / -1; margin: 0; }
	/* The outgoing stage stays while it fades out over the incoming one. */
	.guestro-story[data-wp-interactive="guestro/steps"] > :not(.is-active) > .guestro-story__media:not(.is-leaving) { display: none; }
	.guestro-story[data-wp-interactive="guestro/steps"].has-switched > .is-active > .guestro-story__media { animation: guestro-crossfade-in 200ms ease-out; }
	.guestro-story[data-wp-interactive="guestro/steps"] .guestro-story__media.is-leaving { animation: guestro-crossfade-out 200ms ease-out forwards; }
	.guestro-story[data-wp-interactive="guestro/steps"] > .is-active > .guestro-story__head {
		border-top-color: var(--wp--preset--color--brand-solid);
		box-shadow: inset 0 var(--wp--custom--gu--card--border-width) 0 var(--wp--preset--color--brand-solid);
	}
	.guestro-story[data-wp-interactive="guestro/steps"] > :not(.is-active) .guestro-story__title { color: var(--wp--preset--color--text-secondary); }
	.guestro-story[data-wp-interactive="guestro/steps"] > :not(.is-active) .guestro-story__head:hover .guestro-story__title { color: var(--wp--preset--color--text); }
	.guestro-story[data-wp-interactive="guestro/steps"] > :not(.is-active) .guestro-story__line { display: none; }
}

/* Plattformen (S14, boards 1U5-0, 217-0, 500-0, 53A-0): six capability
   sections in four layout families; the fade sits behind the menu window
   only, never behind text (R57). */
/* Core centres a constrained child with !important margins: the measure comes from padding. */
.guestro-platform-band .guestro-platform-band__lede {
	box-sizing: border-box;
	padding-inline-end: max(0px, calc(min(100%, var(--wp--custom--gu--chrome--frame)) - var(--wp--custom--gu--platform--lede)));
}
.guestro-platform-band .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--32); }
.guestro-platform-band.is-style-section { padding-block-end: var(--wp--preset--spacing--48); }
.guestro-capability.is-faded.is-style-section { padding-block-start: 0; }
/* One section's bottom padding plus a short top: the B16 boards' rhythm (QA P3). */
.guestro-capability.is-style-section + .guestro-capability.is-style-section:not(.is-faded, .is-ruled) { padding-block-start: var(--wp--preset--spacing--16); }
@media (width >= 75em) {
	.guestro-capability.is-style-section + .guestro-capability.is-style-section:not(.is-faded, .is-ruled) { padding-block-start: var(--wp--preset--spacing--24); }
}
.guestro-capability__fade { padding-block-start: var(--wp--preset--spacing--16); }
.guestro-capability__fade > figure { margin: 0; }
.guestro-capability .guestro-caption { margin-block-start: var(--wp--preset--spacing--12); }
.guestro-capability__text > * + * { margin-block-start: var(--wp--preset--spacing--16); }
.is-faded .guestro-capability__text { margin-block-start: var(--wp--preset--spacing--64); }
.guestro-capability__text + .guestro-capability__media { margin-block-start: var(--wp--preset--spacing--40); }
.guestro-capability__media > figure, .guestro-capability__feedback > figure { margin: 0; }
.guestro-capability__stage {
	height: var(--wp--custom--gu--platform--stage-height-small);
	padding-block-start: var(--wp--preset--spacing--40);
}
.guestro-capability__stage > .guestro-frame-phone { max-width: var(--wp--custom--gu--steps--phone-small); margin: 0 auto; }
.guestro-capability__stage.is-wide {
	height: var(--wp--custom--gu--platform--email-stage-small);
	padding-block-start: var(--wp--custom--gu--platform--email-pad-small);
}
.guestro-capability__email { max-width: var(--wp--custom--gu--platform--email-small); margin: 0 auto; }
/* Crops: the frame carries the line, the image moves inside it. */
:is(.guestro-capability__menu, .guestro-capability__regulars) {
	overflow: hidden;
	border: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--gu--radius--xl);
	background: var(--wp--preset--color--canvas);
}
:is(.guestro-capability__menu, .guestro-capability__regulars) img { border: 0; border-radius: 0; }
.guestro-capability__regulars { height: var(--wp--custom--gu--platform--regulars-small); }
.guestro-capability__regulars img { width: var(--wp--custom--gu--platform--regulars-width-small); max-width: none; }
.guestro-capability__feedback {
	overflow: hidden;
	padding: var(--wp--preset--spacing--16);
	border: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--gu--radius--2-xl);
}
.guestro-capability__feedback > * + * { margin-block-start: var(--wp--preset--spacing--12); }
.guestro-capability__feedback img { max-width: none; }
.guestro-capability__feedback .is-crop-a { height: var(--wp--custom--gu--platform--feedback-text); }
.guestro-capability__feedback .is-crop-b { width: var(--wp--custom--gu--platform--feedback-score-width); height: var(--wp--custom--gu--platform--feedback-score); }
.guestro-capability__feedback :is(.is-crop-a, .is-crop-b) { overflow: hidden; }
.guestro-capability__feedback :is(.is-crop-a, .is-crop-b) img { width: var(--wp--custom--gu--platform--feedback-width-small); height: auto; }
.guestro-capability__feedback .is-crop-a img { translate: var(--wp--custom--gu--platform--feedback-text-x) var(--wp--custom--gu--platform--feedback-text-y); }
.guestro-capability__feedback .is-crop-b img { translate: var(--wp--custom--gu--platform--feedback-score-x) var(--wp--custom--gu--platform--feedback-score-y); }
.guestro-capability__feedback .is-whole { display: none; }
.guestro-capability-more { padding-block-end: var(--wp--preset--spacing--40); }
.guestro-capability.is-ruled.is-style-section { padding-block-start: 0; }
.is-ruled .guestro-capability__text {
	padding-block-start: var(--wp--preset--spacing--40);
	border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
}
@media (width < 48em) {
	.guestro-platform-band .wp-block-button { width: 100%; }
}
/* Below 75em the 390 patterns hold (the 768 rule): the crops stay. */
@media (width < 75em) {
	.guestro-capability__menu { height: var(--wp--custom--gu--platform--menu-small); }
	.guestro-capability__menu img {
		width: var(--wp--custom--gu--platform--menu-width-small);
		max-width: none;
		margin-inline-start: var(--wp--custom--gu--platform--menu-shift-small);
	}
}
@media (width >= 75em) {
	.guestro-capability__regulars { height: auto; }
	.guestro-capability__email { max-width: var(--wp--custom--gu--platform--email); }
	.guestro-capability__regulars img { width: 100%; }
	.guestro-capability__feedback { padding: var(--wp--preset--spacing--40); border-color: var(--wp--preset--color--border-subtle); }
	.guestro-capability__feedback .is-whole { display: block; }
	.guestro-capability__feedback .is-whole img { width: 100%; }
	.guestro-capability__feedback :is(.is-crop-a, .is-crop-b) { display: none; }
}
@media (width >= 75em) {
	.guestro-capability-more { padding-block-end: var(--wp--preset--spacing--64); }
	.is-ruled .guestro-capability__text { padding-block-start: var(--wp--preset--spacing--64); }
	.is-intro .guestro-capability__text {
		display: grid;
		grid-template-columns: var(--wp--custom--gu--platform--heading) var(--wp--custom--gu--platform--text);
		justify-content: space-between;
		align-items: start;
	}
	.is-intro.is-even .guestro-capability__text { grid-template-columns: 1fr 1fr; column-gap: var(--wp--preset--spacing--40); }
	.is-intro .guestro-capability__text > * { margin: 0; }
	.is-split > .guestro-capability__body {
		display: grid;
		grid-template-columns: var(--wp--custom--gu--platform--text) var(--wp--custom--gu--platform--stage);
		justify-content: space-between;
		align-items: center;
	}
	.is-split .guestro-capability__text + .guestro-capability__media { margin-block-start: 0; }
	.is-centered .guestro-capability__text { text-align: center; }
	.is-centered .guestro-capability__text > p { max-width: var(--wp--custom--gu--platform--lede); margin-inline: auto; }
	.is-centered .guestro-capability__media { max-width: var(--wp--custom--gu--platform--window); margin-inline: auto; text-align: center; }
	.is-stacked .guestro-capability__text { max-width: var(--wp--custom--gu--platform--lede); }
	.guestro-capability__text + .guestro-capability__media { margin-block-start: var(--wp--preset--spacing--48); }
	.guestro-capability__stage { height: var(--wp--custom--gu--platform--stage-height); padding-block-start: var(--wp--custom--gu--platform--stage-pad); }
	.guestro-capability__stage > .guestro-frame-phone { max-width: var(--wp--custom--gu--platform--phone); }
	.guestro-capability__stage.is-wide { height: var(--wp--custom--gu--platform--email-stage); padding-block-start: var(--wp--custom--gu--platform--email-pad); }
	.guestro-capability__regulars { height: var(--wp--custom--gu--platform--regulars); }
}

/* Kunder (S15, boards 1SV-0, 1SW-0, 3YD-0, 40R-0, 435-0, 5H8-0, 5K1-0): a
   release-gated draft; the voice, the source quote and the logo wall. */
.guestro-quote-feature__body { display: grid; gap: var(--wp--preset--spacing--32); align-items: center; }
.guestro-quote-feature__body > * { margin: 0; }
.guestro-quote-feature__photo img {
	width: 100%;
	height: var(--wp--custom--gu--customers--photo-height-small);
	object-fit: cover;
	border-radius: var(--wp--custom--gu--radius--2-xl);
}
.guestro-quote-feature__text > * { margin: 0; }
.guestro-quote-feature__name { font-weight: var(--wp--custom--gu--customers--name-weight); }
.guestro-quote-feature__text .wp-block-quote,
.guestro-source-quote .wp-block-quote {
	margin: var(--wp--preset--spacing--24) 0 0;
	padding: 0;
	border: 0;
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: var(--wp--custom--gu--customers--quote-weight);
	line-height: 1.25;
}
@media (width < 48em) {
	.guestro-quote-feature__text .wp-block-quote { font-size: var(--wp--preset--font-size--h-3); }
}
.guestro-quote-feature__text .wp-block-quote p, .guestro-source-quote .wp-block-quote p { margin: 0; }
.guestro-quote-feature__period { margin-block-start: var(--wp--preset--spacing--12); }
.guestro-source-quote__body > * { max-width: var(--wp--custom--gu--customers--source); }
.guestro-source-quote .wp-block-quote { margin: 0; }
.guestro-source-quote cite {
	display: block;
	margin-block-start: var(--wp--preset--spacing--24);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
	font-style: normal;
	font-weight: var(--wp--custom--gu--customers--name-weight);
}
.guestro-source-quote__note { margin-block-start: var(--wp--preset--spacing--48); }
.guestro-source-quote__note a { color: inherit; }
/* The wall reflows with fewer logos; hairlines only between cells. */
.guestro-logo-wall { display: grid; grid-template-columns: repeat(2, 1fr); }
.guestro-logo-wall > figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--wp--custom--gu--customers--cell-small);
	margin: 0;
	padding: var(--wp--preset--spacing--16);
	border-color: var(--wp--preset--color--border-subtle);
	border-style: solid;
	border-width: 0;
}
.guestro-logo-wall > figure:nth-child(2n) { border-inline-start-width: var(--wp--custom--gu--card--border-width); }
.guestro-logo-wall > figure:nth-child(n + 3) { border-block-start-width: var(--wp--custom--gu--card--border-width); }
.guestro-logo-wall img {
	width: auto;
	max-width: 100%;
	height: var(--wp--custom--gu--customers--logo-small);
	object-fit: contain;
	opacity: 0.7;
	filter: grayscale(1);
}
.guestro-logo-wall figcaption {
	margin: var(--wp--preset--spacing--8) 0 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--base);
	text-align: center;
}
.guestro-logos .guestro-trust--platforms { margin-block-start: var(--wp--preset--spacing--64); }
@media (width >= 48em) {
	/* Up to five logos sit in one row (board "Fem logotyper"); six or more in rows of four. */
	.guestro-logo-wall { grid-auto-columns: 1fr; grid-auto-flow: column; grid-template-columns: none; }
	.guestro-logo-wall:has(> figure:nth-child(6)) { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); }
	.guestro-logo-wall > figure { min-height: var(--wp--custom--gu--customers--cell); }
	.guestro-logo-wall > figure:nth-child(n) { border-inline-start-width: var(--wp--custom--gu--card--border-width); border-block-start-width: 0; }
	.guestro-logo-wall > figure:first-child,
	.guestro-logo-wall:has(> figure:nth-child(6)) > figure:nth-child(4n + 1) { border-inline-start-width: 0; }
	.guestro-logo-wall:has(> figure:nth-child(6)) > figure:nth-child(n + 5) { border-block-start-width: var(--wp--custom--gu--card--border-width); }
	.guestro-logo-wall img { height: var(--wp--custom--gu--customers--logo); }
}
@media (width >= 75em) {
	.guestro-quote-feature__body {
		grid-template-columns: var(--wp--custom--gu--customers--photo) var(--wp--custom--gu--customers--text);
		justify-content: space-between;
	}
	.guestro-quote-feature__photo img { height: var(--wp--custom--gu--customers--photo-height); }
	:is(.guestro-quote-feature, .guestro-source-quote, .guestro-logos).is-style-section { padding-block: var(--wp--custom--gu--chrome--band-pad); }
	.guestro-logos.is-style-section { padding-block-end: var(--wp--preset--spacing--96); }
	.guestro-logos .guestro-trust--platforms { margin-block-start: var(--wp--custom--gu--chrome--band-pad); }
}

/* Kunskapsbanken (S7, boards B9 and B10): three cards from 75em, rows below (the 768 rule). */
.guestro-article-list__items { gap: var(--wp--preset--spacing--48) var(--wp--preset--spacing--32); }
@media (width >= 75em) {
	.guestro-articles.is-style-section { padding-block: var(--wp--custom--gu--chrome--band-pad); }
}
.guestro-article-list__items > li { position: relative; }
.guestro-article-list__image { margin: 0; }
.guestro-article-list__image img { border-radius: var(--wp--custom--gu--radius--xl); }
.guestro-article-list__text { margin-block-start: var(--wp--preset--spacing--20); }
.guestro-article-list__title {
	margin: 0;
	color: var(--wp--preset--color--brand-text);
	font-weight: var(--wp--custom--gu--articles--head-weight);
	line-height: var(--wp--custom--gu--articles--head-line);
}
.guestro-article-list__title a { color: inherit; text-decoration: none; }
.guestro-article-list__title a:hover { text-decoration: underline; }
/* The whole card is the title link's target (44 px at 375), one link per card. */
.guestro-article-list__title a::after { content: ""; position: absolute; inset: 0; }
.guestro-article-list .wp-block-post-date { margin-block-start: var(--wp--preset--spacing--8); font-size: var(--wp--preset--font-size--small); }
@media (width < 75em) {
	.guestro-article-list .guestro-article-list__items.wp-block-post-template {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--24);
	}
	.guestro-article-list__items > li {
		display: grid;
		grid-template-columns: var(--wp--custom--gu--articles--thumb) 1fr;
		gap: var(--wp--preset--spacing--16);
		align-items: start;
	}
	.guestro-article-list__items > li > * { margin: 0; }
	.guestro-article-list__image img {
		width: var(--wp--custom--gu--articles--thumb);
		height: var(--wp--custom--gu--articles--thumb-height);
		border-radius: var(--wp--custom--gu--radius--lg);
	}
	.guestro-article-list__items > li > .guestro-article-list__text:only-child { grid-column: 1 / -1; }
	.guestro-article-list .wp-block-post-date { font-size: var(--wp--preset--font-size--base); }
}
.guestro-pagination {
	margin-block-start: var(--wp--preset--spacing--64);
	padding-block-start: var(--wp--preset--spacing--24);
	border-block-start: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
	gap: var(--wp--preset--spacing--8);
}
.guestro-pagination .wp-block-query-pagination-numbers { display: flex; gap: var(--wp--preset--spacing--8); margin-inline-end: auto; }
.guestro-pagination a,
.guestro-pagination .page-numbers {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--custom--gu--articles--page-item);
	min-height: var(--wp--custom--gu--articles--page-item);
	padding-inline: var(--wp--preset--spacing--8);
	border-radius: var(--wp--custom--gu--radius--md);
	color: var(--wp--preset--color--brand-text);
	text-decoration: none;
}
.guestro-pagination a:hover { background: var(--wp--preset--color--surface-hover); }
.guestro-pagination .page-numbers.current { background: var(--wp--preset--color--brand-subtle); }
.guestro-pagination .wp-block-query-pagination-previous-arrow { margin-inline-end: var(--wp--preset--spacing--8); }
.guestro-pagination .wp-block-query-pagination-next-arrow { margin-inline-start: var(--wp--preset--spacing--8); }
@media (width < 75em) {
	/* With Föregående (page 2 on, B10) the numbers take their own row; page 1 keeps one row (B9). */
	.guestro-pagination:has(.wp-block-query-pagination-previous) .wp-block-query-pagination-numbers { flex-basis: 100%; }
	.guestro-pagination a,
	.guestro-pagination .page-numbers { min-width: var(--wp--custom--gu--button--lg--height); min-height: var(--wp--custom--gu--button--lg--height); }
	.guestro-pagination .wp-block-query-pagination-next { margin-inline-start: auto; }
}

/* Article (S7, boards B11, B12 and the rich-content strips; R67 UX11, D9). */
.guestro-article-band {
	padding-block: var(--wp--custom--gu--articles--band-top) var(--wp--custom--gu--articles--band-bottom);
}
.guestro-article-band > * + * { margin-block-start: var(--wp--preset--spacing--24); }
.guestro-article-band__crumbs {
	color: var(--wp--preset--color--on-blue-soft);
	font-size: var(--wp--preset--font-size--base);
}
.guestro-article-band__crumbs a { color: inherit; text-decoration: none; }
.guestro-article-band__crumbs a:hover { text-decoration: underline; }
.guestro-article-band .wp-block-post-title {
	font-size: var(--wp--preset--font-size--display);
	font-weight: var(--wp--custom--gu--articles--title-weight);
	line-height: var(--wp--custom--gu--articles--title-line);
}
.guestro-article-band > .guestro-article-band__meta { margin-block-start: var(--wp--preset--spacing--16); gap: var(--wp--preset--spacing--8); }
.guestro-article-band__meta > * { margin: 0; }
.guestro-article-band__byline::before { content: "·" / ""; margin-inline-end: var(--wp--preset--spacing--8); }
@media (width <= 75em) {
	.guestro-article-band .wp-block-post-title { font-size: var(--wp--preset--font-size--display-small); line-height: var(--wp--custom--gu--articles--title-line-small); }
}
.guestro-article { padding-block: var(--wp--custom--gu--articles--band-bottom) var(--wp--preset--spacing--96); }
:is(.guestro-article__content, .guestro-legal) { color: var(--wp--preset--color--text-secondary); }
:is(.guestro-article__content, .guestro-legal) > * + * { margin-block-start: var(--wp--preset--spacing--16); }
:is(.guestro-article__content, .guestro-legal) :is(h2, h3, h4) { color: var(--wp--preset--color--brand-text); }
:is(.guestro-article__content, .guestro-legal) h2 {
	margin-block-start: var(--wp--custom--gu--articles--head-gap);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: var(--wp--custom--gu--articles--head-weight);
	line-height: var(--wp--custom--gu--articles--head-line);
	letter-spacing: var(--wp--custom--gu--articles--head-tracking);
}
:is(.guestro-article__content, .guestro-legal) :is(h3, h4) {
	margin-block-start: var(--wp--preset--spacing--32);
	font-size: var(--wp--preset--font-size--h-4);
}
:is(.guestro-article__content, .guestro-legal) h2 + :is(h3, h4) { margin-block-start: var(--wp--preset--spacing--24); }
:is(.guestro-article__content, .guestro-legal) :is(ol, ul) { padding-inline-start: var(--wp--preset--spacing--32); }
:is(.guestro-article__content, .guestro-legal) ul { padding-inline-start: var(--wp--preset--spacing--20); }
:is(.guestro-article__content, .guestro-legal) li + li { margin-block-start: var(--wp--preset--spacing--8); }
.guestro-article__content li::marker { color: var(--wp--preset--color--brand-text); }
:is(.guestro-article__image, .guestro-article__content figure) { margin-block: var(--wp--custom--gu--articles--image-gap) var(--wp--preset--spacing--48); }
.guestro-article > .guestro-article__image { margin-block-start: 0; }
:is(.guestro-article__image, .guestro-article__content figure) img { border-radius: var(--wp--custom--gu--radius--xl); }
/* The featured image keeps B11's 16:10 frame; the file is cropped inside it. */
.guestro-article__image { aspect-ratio: var(--wp--custom--gu--articles--image-ratio); }
.guestro-article__image img { width: 100%; height: 100%; object-fit: cover; }
.guestro-article__content figcaption { margin-block: var(--wp--preset--spacing--12) 0; }
.guestro-article__content label {
	margin-block-end: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--text);
}
@media (width >= 48em) {
	.guestro-article__content :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="hidden"]), select) { min-height: var(--wp--custom--gu--button--md--height); }
}
@media (width < 48em) {
	.guestro-article { padding-block-start: var(--wp--preset--spacing--40); }
	.guestro-article-band { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--48); }
	:is(.guestro-article__image, .guestro-article__content figure) { margin-block: var(--wp--preset--spacing--40); }
}

/* Legal pages (S8, board B13): the content stays production's; inc/legal.php
   adds the band and the jump list when page.html renders it. */
/* The line under the legal text is the footer's own top line (QA F3, Codex #34 R1). */
.guestro-legal { padding-block-end: var(--wp--custom--gu--chrome--band-pad); }
.guestro-legal > .guestro-legal-band {
	margin-block: 0 var(--wp--custom--gu--articles--band-bottom);
	padding-block: var(--wp--custom--gu--articles--band-top) var(--wp--custom--gu--articles--band-bottom);
}
.guestro-legal-band > * + * { margin-block-start: var(--wp--preset--spacing--16); }
.guestro-legal-band h1 { font-size: var(--wp--preset--font-size--display); font-weight: var(--wp--custom--gu--articles--title-weight); line-height: var(--wp--custom--gu--articles--title-line); }
/* 4101's line carries the link "English": the band's soft text colour, underlined. */
.guestro-legal-band a { color: inherit; }
.guestro-legal-band p { color: var(--wp--preset--color--on-blue-soft); font-size: var(--wp--preset--font-size--h-4); }
.guestro-legal h2 { scroll-margin-block-start: var(--wp--custom--gu--articles--anchor-offset); }
.guestro-legal :is(h2, h3) strong { font-weight: inherit; }
.guestro-legal .guestro-jump {
	margin-block: var(--wp--preset--spacing--40) var(--wp--custom--gu--articles--head-gap);
	padding: 0;
	list-style: none;
}
.guestro-legal .guestro-jump li + li { margin-block-start: 0; }
.guestro-jump a { display: inline-block; padding-block: var(--wp--preset--spacing--4); color: var(--wp--preset--color--link); }
@media (width >= 48em) {
	.guestro-jump { columns: 2; column-gap: var(--wp--preset--spacing--24); }
	.guestro-jump li { break-inside: avoid; }
}
@media (width <= 75em) {
	.guestro-legal-band h1 { font-size: var(--wp--preset--font-size--display-small); line-height: var(--wp--custom--gu--articles--title-line-small); }
}
@media (width < 48em) {
	.guestro-legal > .guestro-legal-band { margin-block-end: var(--wp--preset--spacing--40); padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--48); }
	.guestro-legal-band p { font-size: var(--wp--preset--font-size--body); }
	.guestro-legal { padding-block-end: var(--wp--preset--spacing--64); }
	.guestro-jump a { padding-block: var(--wp--preset--spacing--12); }
}

/*
 * Consent banner and settings sheet (R74, boards A4 and A5): docked at the
 * bottom, white with a 1 px top line and no shadow; accept, refuse and
 * settings are the same button. The banner shows after a short reveal, so a
 * returning visitor whose module runs in time does not see it flash; without
 * JavaScript it still shows its text and the policy link. Fixed, so it never
 * shifts the layout; while it shows, the page keeps room for it (WCAG 2.4.11).
 */
.has-consent-banner { scroll-padding-bottom: var(--guestro-consent-room, 0); }
.has-consent-banner body { padding-bottom: var(--guestro-consent-room, 0); }
.guestro-consent,
.guestro-consent-sheet {
	box-sizing: border-box;
	position: fixed;
	inset: auto 0 0;
	z-index: var(--wp--custom--gu--consent--layer);
	width: 100%;
	max-width: none;
	margin: 0;
	border: 0;
	border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
	background: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--text);
	padding: var(--wp--preset--spacing--32) max(var(--wp--style--root--padding-left), calc((100% - var(--wp--custom--gu--chrome--frame)) / 2));
}
.guestro-consent {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--24);
	visibility: hidden;
	animation: guestro-consent-reveal 0s var(--wp--custom--gu--consent--reveal) forwards;
}
.guestro-consent.is-ready { visibility: visible; animation: none; }
.guestro-consent[hidden] { display: none; }
@keyframes guestro-consent-reveal { to { visibility: visible; } }
.guestro-consent__text { max-width: var(--wp--custom--gu--consent--text); }
.guestro-consent__title {
	margin: 0 0 var(--wp--preset--spacing--8);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: var(--wp--custom--gu--consent--title-weight);
	line-height: var(--wp--custom--gu--consent--title-line);
}
.guestro-consent__body { margin: 0; color: var(--wp--preset--color--text-secondary); }
.guestro-consent__link { margin: var(--wp--preset--spacing--8) 0 0; }
.guestro-consent__link a { color: var(--wp--preset--color--brand-text); text-decoration: underline; }
.guestro-consent__actions {
	display: flex;
	gap: var(--wp--preset--spacing--12);
}
.guestro-consent__actions[hidden] { display: none; }
.guestro-consent__actions .wp-block-button { flex: 0 0 var(--wp--custom--gu--consent--button); }
.guestro-consent__actions .wp-block-button__link {
	width: 100%;
	min-height: var(--wp--custom--gu--button--md--height);
	padding: 0 var(--wp--preset--spacing--16);
	border: 0;
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--body);
	white-space: nowrap;
	cursor: pointer;
}
.guestro-consent__actions .wp-block-button__link:hover { background: var(--wp--preset--color--brand-subtle-hover); }
/* "Spara val" turns primary once a switch changed (A5, changed). */
.guestro-consent__actions .wp-block-button__link.is-changed { background: var(--wp--preset--color--brand-solid); color: var(--wp--preset--color--on-brand); }
.guestro-consent__actions .wp-block-button__link.is-changed:hover { background: var(--wp--preset--color--brand-solid-hover); }

/* The sheet: list and buttons side by side from 75em, stacked below it. */
.guestro-consent-sheet { display: none; max-height: 100dvh; overflow: auto; }
.guestro-consent-sheet[open] { display: block; }
.guestro-consent-sheet::backdrop { background: transparent; }
.guestro-consent-sheet__head { display: flex; justify-content: space-between; align-items: center; }
.guestro-consent-sheet .guestro-consent__title { margin: 0; }
.guestro-consent-sheet .guestro-consent__body { margin-top: var(--wp--preset--spacing--8); }
.guestro-consent-sheet .guestro-consent__actions { margin-top: var(--wp--preset--spacing--24); }
@media (width >= 75em) {
	.guestro-consent-sheet[open] {
		display: grid;
		grid-template-columns: minmax(0, var(--wp--custom--gu--consent--list)) auto;
		justify-content: space-between;
		align-items: end;
		column-gap: var(--wp--preset--spacing--48);
	}
	.guestro-consent-sheet > :not(.guestro-consent__actions) { grid-column: 1; }
	.guestro-consent-sheet > .guestro-consent-sheet__head { grid-column: 1 / -1; }
	.guestro-consent-sheet > .guestro-consent__actions { grid-column: 2; grid-row: 4; margin-top: 0; }
}
.guestro-consent-sheet__close {
	display: grid;
	place-items: center;
	width: var(--wp--custom--gu--button--touch);
	height: var(--wp--custom--gu--button--touch);
	margin-inline-end: calc((var(--wp--custom--gu--button--touch) - var(--wp--custom--gu--chrome--icon)) / -2);
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--gu--radius--md);
	background: transparent;
	color: var(--wp--preset--color--text-secondary);
	cursor: pointer;
}
.guestro-consent-sheet__close:hover { background: var(--wp--preset--color--surface-hover); }
.guestro-consent__categories { margin: var(--wp--preset--spacing--24) 0 0; padding: 0; list-style: none; }
.guestro-consent__category {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--16);
	padding-block: var(--wp--preset--spacing--16);
	border-top: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle);
}
.guestro-consent__category:last-child { border-bottom: var(--wp--custom--gu--card--border-width) solid var(--wp--preset--color--border-subtle); }
.guestro-consent__category-text { display: grid; gap: var(--wp--preset--spacing--2); }
.guestro-consent__category-name { font-weight: var(--wp--custom--gu--consent--title-weight); }
.guestro-consent__category-desc,
.guestro-consent__always { color: var(--wp--preset--color--text-secondary); font-size: var(--wp--preset--font-size--base); }
.guestro-consent__always { flex: none; }

/*
 * The switch: off is a gray track with a gray-5 ring (3:1 on white, WCAG
 * 1.4.11), on is navy; the input itself is the 44 x 44 px hit area, the
 * track sits centred in it, and the focus ring follows the track.
 */
.guestro-consent__switch {
	--py: calc((var(--wp--custom--gu--button--touch) - var(--wp--custom--gu--consent--switch-height)) / 2);
	--px: calc((var(--wp--custom--gu--button--touch) - var(--wp--custom--gu--consent--switch-width)) / 2);
	--gap: calc((var(--wp--custom--gu--consent--switch-height) - var(--wp--custom--gu--consent--knob)) / 2);
	appearance: none;
	flex: none;
	position: relative;
	box-sizing: content-box;
	width: var(--wp--custom--gu--consent--switch-width);
	height: var(--wp--custom--gu--consent--switch-height);
	margin: 0 calc(var(--px) * -1) 0 0;
	padding: var(--py) var(--px);
	background: none;
	cursor: pointer;
}
/* The track: fill and ring on one pseudo-element, so the pill has no seams. */
.guestro-consent__switch::after {
	content: "";
	position: absolute;
	inset: var(--py) var(--px);
	box-sizing: border-box;
	border: var(--wp--custom--gu--card--border-width) solid var(--wp--custom--gu--gray--5);
	border-radius: var(--wp--custom--gu--radius--full);
	background: var(--wp--custom--gu--gray--1);
}
.guestro-consent__switch::before {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(var(--px) + var(--gap));
	z-index: 1;
	width: var(--wp--custom--gu--consent--knob);
	height: var(--wp--custom--gu--consent--knob);
	border-radius: 50%;
	background: var(--wp--preset--color--canvas);
	box-shadow: var(--wp--preset--shadow--xs);
	transform: translateY(-50%);
	transition: left var(--wp--custom--gu--consent--motion) ease;
}
.guestro-consent__switch:checked::after { border-color: var(--wp--preset--color--brand-solid); background: var(--wp--preset--color--brand-solid); }
.guestro-consent__switch:checked::before { left: calc(var(--px) + var(--wp--custom--gu--consent--switch-width) - var(--wp--custom--gu--consent--knob) - var(--gap)); }
.guestro-consent__switch:focus-visible { outline: none; }
.guestro-consent__switch:focus-visible::after { outline: var(--wp--custom--gu--consent--focus) solid var(--wp--preset--color--focus); outline-offset: var(--wp--custom--gu--consent--focus); }

/* With the Intercom launcher on, the footer clears it (R69). */
.has-intercom .wp-site-blocks > footer { padding-bottom: var(--wp--preset--spacing--96); }

@media (width < 48em) {
	/* Compact enough that the hero "Boka demo" stays above it at 375 x 812 (R67, UX02). */
	.guestro-consent,
	.guestro-consent-sheet { padding-block: var(--wp--preset--spacing--12); }
	.guestro-consent { gap: var(--wp--preset--spacing--8); }
	.guestro-consent__title { margin-bottom: var(--wp--preset--spacing--4); font-size: var(--wp--preset--font-size--h-4); line-height: var(--wp--custom--gu--consent--title-line-small); }
	.guestro-consent .guestro-consent__body { line-height: var(--wp--custom--gu--consent--body-line-small); }
	.guestro-consent__link { margin-top: var(--wp--preset--spacing--4); }
	.guestro-consent__actions { flex-wrap: wrap; width: 100%; gap: var(--wp--preset--spacing--8); }
	.guestro-consent__actions .wp-block-button { flex: 1 1 0; }
	.guestro-consent__actions .wp-block-button__link { min-height: var(--wp--custom--gu--button--touch); }
	.guestro-consent .guestro-consent__button-settings { flex-basis: 100%; }
	.guestro-consent .guestro-consent__button-settings .wp-block-button__link { background: transparent; }
	.guestro-consent .guestro-consent__button-settings .wp-block-button__link:hover { background: var(--wp--preset--color--brand-subtle); }
	.guestro-consent-sheet .guestro-consent__actions .wp-block-button__link { min-height: var(--wp--custom--gu--button--lg--height); }
	.guestro-consent-sheet .guestro-consent__title { font-size: var(--wp--preset--font-size--h-3); }
	.guestro-consent-sheet .guestro-consent__actions { flex-direction: column; }
	.guestro-consent-sheet .guestro-consent__actions .wp-block-button { flex: none; }
}
@media (prefers-reduced-motion: reduce) {
	.guestro-consent__switch::before { transition: none; }
}

/* The navy bands' supporting lines at 375: body 16/24 on every 390 board, 18 from 48em (QA P5).
   The preset class reads its variable on the element, so the element remaps it. */
@media (width < 48em) {
	:is(.has-site-blue-background-color, .guestro-hero) p.has-h-4-font-size {
		--wp--preset--font-size--h-4: var(--wp--preset--font-size--body);
		line-height: 1.5;
	}
}

/* The closing band to Guestro Score (Paper "Score-band v2", prototype v1.2.0):
   the text beside an example card with Score's own gauge, pillars and badge.
   inc/score-band.php adds the gauge segments; assets/js/score-band.js arms the
   motion, so without it the finished card shows. */
.guestro-score-band { --gs: var(--wp--custom--gu--score--gauge-scale); }
.guestro-score-band.is-style-section { padding-block: var(--wp--preset--spacing--96); }
.guestro-score-band :where(.guestro-score-band__inner, .guestro-score-band__inner *) { margin-block: 0; }
.guestro-score-band__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--custom--gu--score--gap);
	max-width: var(--wp--custom--gu--chrome--frame);
	margin-inline: auto;
}
.guestro-score-band__text {
	flex: 0 0 var(--wp--custom--gu--score--text);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--20);
}
.guestro-score-band__title {
	font-size: var(--wp--custom--gu--score--title);
	font-weight: 300;
	line-height: var(--wp--custom--gu--score--title-line);
	letter-spacing: -0.03em;
}
/* The headline's rolling word (assets/js/score-band.js); the list is its one
   source and shows only in the block editor. */
.guestro-score-band__word {
	display: block;
	color: var(--wp--preset--color--accent-solid);
	font-weight: 400;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.guestro-score-words:not(.block-editor-block-list__block) { display: none; }
.guestro-score-roll {
	display: block;
	height: calc(1lh + var(--wp--custom--gu--score--word-room));
	overflow: hidden;
}
.guestro-score-roll__track {
	display: block;
	transform: translateY(calc(var(--i, 0) * -1 * (1lh + var(--wp--custom--gu--score--word-room))));
	transition: transform var(--wp--custom--gu--score--roll-dur) var(--wp--custom--gu--score--ease);
}
.guestro-score-roll__track.is-instant { transition: none; }
.guestro-score-roll__word {
	display: block;
	height: calc(1lh + var(--wp--custom--gu--score--word-room));
	opacity: 0;
	transition: opacity var(--wp--custom--gu--score--roll-dur) var(--wp--custom--gu--score--ease);
}
.guestro-score-roll__word.is-current { opacity: 1; }
.guestro-score-roll__track.is-instant .guestro-score-roll__word { transition: none; }
.guestro-score-band__lede {
	color: var(--wp--preset--color--on-blue-soft);
	font-size: var(--wp--preset--font-size--h-4);
	line-height: var(--wp--custom--gu--score--lede-line);
}
.guestro-score-band__act {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding-block-start: var(--wp--preset--spacing--8);
}
.guestro-score-band__cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--8);
}
.guestro-score-band__cta .wp-block-button__link::after {
	content: "";
	width: var(--wp--custom--gu--chrome--icon);
	height: var(--wp--custom--gu--chrome--icon);
	background: currentColor;
	mask: url("../icons/score-external.svg") center / contain no-repeat;
	transition: transform 0.2s var(--wp--custom--gu--score--ease);
}
.guestro-score-band__cta .wp-block-button__link:hover::after { transform: translate(2px, -2px); }
.guestro-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.guestro-score-band__visual {
	flex: 0 0 var(--wp--custom--gu--score--visual);
	padding: var(--wp--custom--gu--score--frame-pad);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--site-blue-line) 60%, transparent);
	border-radius: var(--wp--custom--gu--score--frame-radius);
	background: color-mix(in srgb, var(--wp--preset--color--on-brand) 10%, transparent);
}
.guestro-score-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--24);
	border-radius: var(--wp--custom--gu--score--card-radius);
	background: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--text);
}
.guestro-score-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--wp--preset--spacing--12); }
.guestro-score-card__venue { font-size: var(--wp--preset--font-size--h-4); font-weight: 500; }
.guestro-score-card__result { display: flex; align-items: center; gap: var(--wp--preset--spacing--32); }

/* Score's gauge (its rapport.css): drawn at its own size, then scaled. */
.guestro-score-gauge {
	position: relative;
	flex: none;
	width: var(--wp--custom--gu--score--gauge-width);
	height: var(--wp--custom--gu--score--gauge-height);
}
.guestro-score-gauge__dial {
	position: absolute;
	inset: 0 auto auto 0;
	width: var(--wp--custom--gu--score--gauge-box-width);
	height: var(--wp--custom--gu--score--gauge-box-height);
	transform: scale(var(--gs));
	transform-origin: 0 0;
}
.guestro-score-gauge__seg {
	position: absolute;
	left: var(--wp--custom--gu--score--gauge-x);
	top: var(--wp--custom--gu--score--gauge-y);
	height: var(--wp--custom--gu--score--seg);
	border-radius: var(--wp--custom--gu--radius--full);
	transform-origin: 0 50%;
	transform: rotate(var(--r)) translateX(var(--wp--custom--gu--score--gauge-radius));
}
.guestro-score-gauge__seg.is-rail { width: var(--wp--custom--gu--score--seg-rail); background: var(--wp--preset--color--surface-sunken); }
.guestro-score-gauge__seg.is-fill { width: var(--wp--custom--gu--score--seg-fill); background: var(--wp--preset--color--success-solid); }
.guestro-score-gauge__word {
	position: absolute;
	inset: var(--wp--custom--gu--score--word-top) 0 auto;
	color: var(--wp--preset--color--success-solid);
	font-size: var(--wp--custom--gu--score--word);
	font-weight: 500;
	line-height: var(--wp--custom--gu--score--word-line);
	letter-spacing: -0.015em;
	text-align: center;
}

.guestro-score-pillars {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--gu--radius--xl);
	background: var(--wp--preset--color--success-subtle);
}
.guestro-score-pillar {
	position: relative;
	padding-block-end: calc(var(--wp--custom--gu--score--bar) + var(--wp--preset--spacing--4));
}
.guestro-score-pillar:nth-child(1) { --w: var(--wp--custom--gu--score--bar-1); }
.guestro-score-pillar:nth-child(2) { --w: var(--wp--custom--gu--score--bar-2); }
.guestro-score-pillar:nth-child(3) { --w: var(--wp--custom--gu--score--bar-3); }
.guestro-score-pillar:nth-child(4) { --w: var(--wp--custom--gu--score--bar-4); }
.guestro-score-pillar:nth-child(5) { --w: var(--wp--custom--gu--score--bar-5); }
.guestro-score-pillar::before,
.guestro-score-pillar::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: var(--wp--custom--gu--score--bar);
	border-radius: var(--wp--custom--gu--radius--full);
}
.guestro-score-pillar::before { right: 0; background: var(--wp--preset--color--canvas); }
.guestro-score-pillar::after {
	width: var(--w);
	background: var(--wp--custom--gu--success--2);
	box-shadow: 0 0 0 var(--wp--custom--gu--score--bar-ring) var(--wp--custom--gu--success--0);
}
.guestro-score-pillar.is-mid::after { background: var(--wp--custom--gu--warning--2); box-shadow: 0 0 0 var(--wp--custom--gu--score--bar-ring) var(--wp--custom--gu--warning--0); }
.guestro-score-pillar.is-low::after { background: var(--wp--custom--gu--error--2); box-shadow: 0 0 0 var(--wp--custom--gu--score--bar-ring) var(--wp--custom--gu--error--0); }
.guestro-score-pillar__name { font-size: var(--wp--preset--font-size--small); font-weight: 500; line-height: 1.45; }
.guestro-score-pillar__top { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--8); }
.guestro-score-pillar__badge {
	flex: none;
	display: inline-flex;
	align-items: center;
	height: var(--wp--custom--gu--badge--height);
	padding-inline: var(--wp--custom--gu--badge--padding-x);
	border-radius: var(--wp--custom--gu--radius--sm);
	background: var(--wp--preset--color--error-subtle);
	color: var(--wp--preset--color--error-text);
	font-size: var(--wp--custom--gu--badge--font-size);
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

/* Motion: Score's report choreography, about 3 s, once. */
/* While armed the band pauses every step through one inherited variable, so
   no selector can outrank the pause; is-live lets them run. */
.guestro-score-band.is-armed { --guestro-score-play: paused; }
@media print {
	.guestro-score-band :is(.guestro-score-band__visual, .guestro-score-gauge__seg, .guestro-score-gauge__word, .guestro-score-pillar__badge),
	.guestro-score-band .guestro-score-pillar::after { animation: none !important; }
}
@keyframes guestro-score-card-in { from { opacity: 0; transform: translateY(var(--wp--custom--gu--score--rise)); } }
@keyframes guestro-score-seg-in { from { width: var(--wp--custom--gu--score--seg-start); opacity: 0; } }
@keyframes guestro-score-seg-fill { from { width: var(--wp--custom--gu--score--seg-rail); opacity: 0; } }
@keyframes guestro-score-word-in { from { opacity: 0; transform: translateY(var(--wp--custom--gu--score--word-rise)); } }
@keyframes guestro-score-bar { from { width: var(--wp--custom--gu--score--bar-start); opacity: 0; } 15% { opacity: 1; } }
@keyframes guestro-score-pop { 0% { opacity: 0; transform: scale(0.6); } 60% { opacity: 1; transform: scale(1.06); } }
.guestro-score-band:is(.is-armed, .is-live) .guestro-score-band__visual { animation: guestro-score-card-in var(--wp--custom--gu--score--card-in) var(--wp--custom--gu--score--ease) both; animation-play-state: var(--guestro-score-play, running); }
.guestro-score-band:is(.is-armed, .is-live) .guestro-score-gauge__seg.is-rail { animation: guestro-score-seg-in var(--wp--custom--gu--score--seg-in) var(--wp--custom--gu--score--ease) calc(var(--wp--custom--gu--score--t-rail) + var(--f) * var(--wp--custom--gu--score--rail-sweep)) both; animation-play-state: var(--guestro-score-play, running); }
.guestro-score-band:is(.is-armed, .is-live) .guestro-score-gauge__seg.is-fill { animation: guestro-score-seg-fill var(--wp--custom--gu--score--seg-fill-in) var(--wp--custom--gu--score--ease) calc(var(--wp--custom--gu--score--t-fill) + var(--f) * var(--wp--custom--gu--score--fill-sweep)) both; animation-play-state: var(--guestro-score-play, running); }
.guestro-score-band:is(.is-armed, .is-live) .guestro-score-gauge__word { animation: guestro-score-word-in var(--wp--custom--gu--score--word-in) var(--wp--custom--gu--score--ease) var(--wp--custom--gu--score--t-word) both; animation-play-state: var(--guestro-score-play, running); }
.guestro-score-band:is(.is-armed, .is-live) .guestro-score-pillar::after { animation: guestro-score-bar var(--wp--custom--gu--score--bar-dur) var(--wp--custom--gu--score--ease-bar) calc(var(--wp--custom--gu--score--t-bars) + var(--k) * var(--wp--custom--gu--score--bar-gap)) both; animation-play-state: var(--guestro-score-play, running); }
.guestro-score-band:is(.is-armed, .is-live) .guestro-score-pillar__badge { animation: guestro-score-pop var(--wp--custom--gu--score--badge-in) var(--wp--custom--gu--score--ease) var(--wp--custom--gu--score--t-badge) both; animation-play-state: var(--guestro-score-play, running); }
.guestro-score-pillar:nth-child(1) { --k: 0; }
.guestro-score-pillar:nth-child(2) { --k: 1; }
.guestro-score-pillar:nth-child(3) { --k: 2; }
.guestro-score-pillar:nth-child(4) { --k: 3; }
.guestro-score-pillar:nth-child(5) { --k: 4; }

/* Stacked below 75em, as the hub. */
@media (width < 75em) {
	.guestro-score-band.is-style-section { padding-block: var(--wp--preset--spacing--48); }
	.guestro-score-band__inner { flex-direction: column; align-items: stretch; gap: var(--wp--preset--spacing--32); max-width: var(--wp--custom--gu--score--visual); }
	.guestro-score-band__text { flex: none; gap: var(--wp--preset--spacing--12); }
	.guestro-score-band__title { font-size: var(--wp--custom--gu--score--title-mid); line-height: var(--wp--custom--gu--score--title-mid-line); letter-spacing: -0.02em; }
	.guestro-score-band__lede { font-size: var(--wp--preset--font-size--body); line-height: 1.5; }
	.guestro-score-band__visual { flex: none; padding: var(--wp--custom--gu--score--frame-pad-small); border-radius: var(--wp--custom--gu--score--frame-radius-small); }
	.guestro-score-card { gap: var(--wp--preset--spacing--12); padding: var(--wp--preset--spacing--16); }
	.guestro-score-card__venue { font-size: var(--wp--preset--font-size--body); }
	.guestro-score-card__result { flex-direction: column; align-items: stretch; gap: var(--wp--preset--spacing--16); }
	.guestro-score-gauge { align-self: center; }
}
@media (width < 48em) {
	.guestro-score-band__title { font-size: var(--wp--custom--gu--score--title-small); line-height: var(--wp--custom--gu--score--title-small-line); }
	.guestro-score-band__act { flex-direction: column; align-items: stretch; gap: var(--wp--preset--spacing--12); align-self: stretch; }
}
