/* Zwik marketing site. Tokens live in theme.json; names below are the generated presets. */

:root {
	--z-blue: var(--wp--preset--color--blue, #1f5aa6);
	--z-blue-600: var(--wp--preset--color--blue-600, #184b8c);
	--z-navy: var(--wp--preset--color--navy, #0e2a4a);
	--z-navy-900: var(--wp--preset--color--navy-900, #0a1f38);
	--z-ink: var(--wp--preset--color--ink, #10233a);
	--z-muted: var(--wp--preset--color--muted, #3e5670);
	--z-bg: var(--wp--preset--color--bg, #f3f7fc);
	--z-soft: var(--wp--preset--color--soft, #e7f0fa);
	--z-accent: var(--wp--preset--color--accent, #d7e6f8);
	--z-border: var(--wp--preset--color--border, #d3e1f0);
	--z-white: var(--wp--preset--color--white, #fff);
	--z-sun: var(--wp--preset--color--sun, #ffd236);
	--z-sun-soft: var(--wp--preset--color--sun-soft, #fff6d1);
	--z-green: var(--wp--preset--color--green, #007956);
	--z-green-soft: var(--wp--preset--color--green-soft, #d0fae5);
	--z-rose: var(--wp--preset--color--rose, #e70044);
	--z-gold: var(--wp--preset--color--gold, #7a5a00);
	--z-strike: var(--wp--preset--color--strike, #5a7088);
	--z-font: var(--wp--preset--font-family--lexend, "Lexend", "Segoe UI", system-ui, sans-serif);
	--z-xs: var(--wp--preset--font-size--xs, 0.8125rem);
	--z-sm: var(--wp--preset--font-size--sm, 0.9375rem);
	--z-base: var(--wp--preset--font-size--base, 1.0625rem);
	--z-lg: var(--wp--preset--font-size--lg, 1.1875rem);
	--z-xl: var(--wp--preset--font-size--xl, clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem));
	--z-2xl: var(--wp--preset--font-size--2xl, clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem));
	--z-3xl: var(--wp--preset--font-size--3xl, clamp(2.1rem, 1.5rem + 2.6vw, 3.5rem));
	--z-radius: var(--wp--custom--radius--md, 0.625rem);
	--z-radius-lg: var(--wp--custom--radius--lg, 1rem);
	--z-radius-xl: var(--wp--custom--radius--xl, 1.5rem);
	--z-shadow-sm: var(--wp--preset--shadow--sm, 0 1px 2px rgba(16, 35, 58, 0.06));
	--z-shadow: var(--wp--preset--shadow--md, 0 12px 28px -8px rgba(16, 35, 58, 0.12));
	--z-shadow-lg: var(--wp--preset--shadow--lg, 0 30px 60px -20px rgba(14, 42, 74, 0.35));
	--z-section-y: var(--wp--custom--section-y, clamp(4rem, 3rem + 4vw, 7rem));
}

@font-face {
	font-family: "Lexend";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/lexend-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--z-font);
	font-size: var(--z-base);
	line-height: 1.6;
	font-weight: 350;
	color: var(--z-ink);
	background: var(--z-white);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6, p { margin: 0; }

:where(.zwik-main, .zwik-header, .zwik-footer) :where(h1, h2, h3, h4, p, ul, ol, figure, .wp-block-image, .wp-block-buttons, .wp-block-details) {
	margin-top: 0;
	margin-bottom: 0;
}

a { color: var(--z-blue); }
a:hover { color: var(--z-blue-600); }

:focus-visible {
	outline: 2px solid var(--z-blue);
	outline-offset: 3px;
}

.skip-link {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	transform: translateY( -150% );
	background: var(--z-white);
	color: var(--z-ink);
	padding: 0.5rem 1rem;
	z-index: 100000;
	border-radius: var(--z-radius);
	box-shadow: var(--z-shadow);
}

.skip-link:focus-within {
	transform: none;
}

.skip-link a:focus {
	outline: 2px solid var(--z-blue);
	outline-offset: 3px;
}

[id] { scroll-margin-top: 88px; }

.zwik-container {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

/* ---------- header ---------- */
.zwik-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: saturate(1.4) blur(12px);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid var(--z-border);
}

/* backdrop-filter makes this header the containing block for the fixed menu overlay. */
.zwik-header:has(.is-menu-open) {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.zwik-header-bar {
	display: flex !important;
	align-items: center;
	flex-wrap: nowrap;
	gap: 2rem;
	height: 72px;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

.zwik-brand {
	display: flex !important;
	align-items: center;
	gap: 0.75rem;
	flex: none;
	text-decoration: none;
	color: var(--z-ink);
}

.zwik-brand .wp-block-site-logo,
.zwik-brand .custom-logo-link { line-height: 0; }

.zwik-brand .custom-logo,
.zwik-brand .wp-block-site-logo img {
	width: 40px;
	height: 40px;
}

.zwik-brand-text { display: flex; flex-direction: column; }

.zwik-brand-text .wp-block-site-title {
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: -0.02em;
	line-height: 1;
	margin: 0;
}

.zwik-brand-text .wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}

.zwik-brand-sub {
	display: block;
	font-size: 0.72rem;
	color: var(--z-muted);
	font-weight: 400;
	letter-spacing: 0;
	margin-top: 3px;
	line-height: 1.2;
}

.zwik-header-bar > .wp-block-navigation {
	margin-left: 1rem !important;
}

.zwik-header-bar > .zwik-header-actions {
	margin-left: auto !important;
}

.zwik-nav {
	display: flex;
}

.zwik-nav .wp-block-navigation__container {
	gap: 1.5rem;
}

.zwik-nav .wp-block-navigation-item__content {
	color: var(--z-muted);
	text-decoration: none;
	font-size: var(--z-sm);
	font-weight: 450;
	padding: 0;
}

.zwik-nav .wp-block-navigation-item__content:hover,
.zwik-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--z-blue);
}

.zwik-nav .wp-block-navigation-item__content[href="#pakketten"],
.zwik-nav .wp-block-navigation-item__content[href="#plans"],
.zwik-nav .wp-block-navigation-item__content[href="#pakete"] {
	color: var(--z-navy);
	font-weight: 600;
}

.zwik-header .wp-block-navigation__responsive-container-open,
.zwik-header .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: var(--z-navy);
	background: transparent;
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius);
}

.zwik-header .wp-block-navigation__responsive-container-open svg,
.zwik-header .wp-block-navigation__responsive-container-close svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.zwik-header .wp-block-navigation__responsive-container.is-menu-open {
	z-index: 100;
	background: #fff;
}

.zwik-header .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1rem;
	right: 1rem;
}

.zwik-header .is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 4.5rem 1.5rem 2rem;
}

.zwik-header .is-menu-open .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
	width: 100%;
}

.zwik-header .is-menu-open .wp-block-navigation-item__content {
	font-size: 1.25rem;
	padding: 0.75rem 0;
	color: var(--z-ink);
}

.zwik-header .wp-block-navigation-item.zwik-nav-login,
.zwik-header .wp-block-navigation-item:has(> .wp-block-navigation-item__content[href="https://zwik.app"]),
.zwik-header .wp-block-navigation-item:has(> .wp-block-navigation-item__content[href="https://zwik.app/de/anmelden"]) {
	display: none !important;
}

.zwik-header .is-menu-open .wp-block-navigation-item.zwik-nav-login,
.zwik-header .is-menu-open .wp-block-navigation-item:has(> .wp-block-navigation-item__content[href="https://zwik.app"]),
.zwik-header .is-menu-open .wp-block-navigation-item:has(> .wp-block-navigation-item__content[href="https://zwik.app/de/anmelden"]) {
	display: flex !important;
}

.zwik-header-actions {
	display: flex !important;
	align-items: center;
	flex-wrap: nowrap;
	gap: 1rem;
	flex: none;
}

.zwik-login { margin: 0; font-size: var(--z-sm); font-weight: 500; }
.zwik-login a { color: var(--z-ink); text-decoration: none; }
.zwik-login a:hover { color: var(--z-blue); }

.zwik-header-actions .wp-block-buttons { margin: 0; }
.zwik-header-actions .wp-block-button__link { white-space: nowrap; }

/* language switcher */
.zwik-header .wp-block-polylang-language-switcher,
.zwik-header .zwik-lang {
	display: inline-flex;
	align-items: center;
	gap: 0;
	padding: 3px;
	margin: 0;
	list-style: none;
	background: var(--z-soft);
	border: 1px solid var(--z-border);
	border-radius: 999px;
}

.zwik-header .wp-block-polylang-language-switcher .lang-item { margin: 0; list-style: none; }

.zwik-header .wp-block-polylang-language-switcher a,
.zwik-header .zwik-lang a {
	display: inline-block;
	text-decoration: none;
	font-size: var(--z-xs);
	font-weight: 600;
	color: var(--z-muted);
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
	text-transform: uppercase;
	line-height: 1.2;
}

.zwik-header .wp-block-polylang-language-switcher .current-lang a,
.zwik-header .zwik-lang .current-lang a {
	background: var(--z-white);
	color: var(--z-blue);
	box-shadow: var(--z-shadow-sm);
}

.zwik-header-actions nav { display: contents; }

/* ---------- buttons ---------- */
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.8rem 1.35rem;
	border-radius: var(--z-radius);
	font-weight: 500;
	font-size: var(--z-sm);
	line-height: 1.6;
	text-decoration: none;
	border: 1px solid transparent;
	box-shadow: 0 6px 16px -6px rgba(31, 90, 166, 0.6);
	transition: background 0.15s, transform 0.15s, box-shadow 0.15s, border-color 0.15s, color 0.15s;
}

.wp-block-button__link:hover { transform: translateY(-1px); color: var(--z-white); }

.wp-block-button.is-style-outline .wp-block-button__link {
	background: var(--z-white);
	color: var(--z-ink);
	border-color: var(--z-border);
	box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--z-blue);
	color: var(--z-blue);
	background: var(--z-white);
}

.wp-block-button.is-style-zwik-sun .wp-block-button__link {
	background: var(--z-sun);
	color: var(--z-navy);
	border-color: transparent;
	box-shadow: none;
}

.wp-block-button.is-style-zwik-sun .wp-block-button__link:hover {
	background: #ffc400;
	color: var(--z-navy);
}

.wp-block-button__width-100,
.wp-block-button__width-100 .wp-block-button__link { width: 100%; }

.zwik-btn-lg .wp-block-button__link { padding: 1rem 1.4rem; font-size: var(--z-base); }

/* ---------- sections ---------- */
.zwik-section { padding-block: var(--z-section-y); }
.zwik-section.is-flush-top { padding-top: 0; }
.zwik-band { background: var(--z-bg); }

/* Hero keeps its own background. Every later top-level section alternates, so a reorder stays in rhythm. */
.zwik-main > .wp-block-post-content > .wp-block-group:nth-child(even of .wp-block-group) {
	background: var(--z-white);
}
.zwik-main > .wp-block-post-content > .wp-block-group:nth-child(odd of .wp-block-group):not(.zwik-hero) {
	background: var(--z-bg);
}

.zwik-section-head {
	display: flex;
	flex-direction: column;
	max-width: 720px;
	margin-bottom: 3rem;
}

.zwik-section-head.is-center {
	margin-inline: auto;
	text-align: center;
	align-items: center;
}

.zwik-section-head h2 {
	font-size: var(--z-2xl);
	margin-top: 0.75rem;
}

.zwik-section-head > p { margin-top: 1rem; color: var(--z-muted); font-size: var(--z-lg); }

.zwik-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--z-xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--z-blue);
}

.zwik-eyebrow::before,
.zwik-section-head.is-center .zwik-eyebrow::after {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
}

/* ---------- hero ---------- */
.zwik-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(900px 500px at 85% -10%, rgba(31, 90, 166, 0.16), transparent 60%),
		radial-gradient(700px 400px at -10% 110%, rgba(255, 210, 54, 0.18), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--z-bg) 100%);
	padding-block: clamp(3rem, 2rem + 4vw, 6rem) clamp(4rem, 3rem + 4vw, 7rem);
}

.zwik-hero-grid {
	display: grid !important;
	grid-template-columns: 1fr 1.1fr;
	gap: clamp(2rem, 3.5vw, 3.5rem);
	align-items: center;
}

.zwik-hero-grid > * { margin: 0 !important; }
.zwik-hero-grid > .zwik-mock { margin-top: 40px !important; }

.zwik-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.9rem;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: 999px;
	font-size: var(--z-xs);
	color: var(--z-muted);
	box-shadow: var(--z-shadow-sm);
}

.zwik-hero h1 {
	font-size: var(--z-3xl);
	margin-top: 1.5rem;
	letter-spacing: -0.035em;
	position: relative;
	z-index: 0;
}

.zwik-hero h1 em {
	font-style: normal;
	color: var(--z-blue);
	position: relative;
	white-space: nowrap;
	z-index: 0;
}

.zwik-hero h1 em::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.04em;
	height: 0.22em;
	background: var(--z-sun);
	opacity: 0.55;
	z-index: -1;
	border-radius: 3px;
}

.zwik-lead {
	margin-top: 1.5rem;
	font-size: var(--z-lg);
	color: var(--z-muted);
	max-width: 34rem;
}

.zwik-hero-ctas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-top: 2rem;
}

.zwik-hero-notes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin-top: 1.5rem;
	padding: 0;
	list-style: none;
	font-size: var(--z-xs);
	color: var(--z-muted);
}

/* ---------- product mock ---------- */
.zwik-mock { position: relative; margin-top: 40px; }

.zwik-mock-window {
	background: var(--z-white);
	border-radius: var(--z-radius-lg);
	box-shadow: var(--z-shadow-lg);
	overflow: hidden;
	border: 1px solid rgba(14, 42, 74, 0.12);
}

.zwik-mock-bar {
	display: flex !important;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: #eef3f9;
	border-bottom: 1px solid var(--z-border);
}

.zwik-mock-bar::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #cfd9e6;
	box-shadow: 18px 0 0 #cfd9e6, 36px 0 0 #cfd9e6;
	margin-right: 42px;
	flex: none;
}

.zwik-mock-url {
	margin: 0 0 0 10px !important;
	flex: none;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: 6px;
	font-size: 11px;
	color: var(--z-ink);
	font-weight: 600;
	padding: 3px 10px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.zwik-mock-public {
	margin: 0 0 0 auto !important;
	flex: none;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: 6px;
	font-size: 11px;
	color: var(--z-ink);
	padding: 3px 8px;
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.zwik-mock-public span {
	color: var(--z-muted);
	font-weight: 500;
}

.zwik-mock-url::before {
	content: "";
	width: 8px;
	height: 9px;
	border: 1.5px solid var(--z-green);
	border-radius: 2px;
	flex: none;
}

.zwik-mock-body {
	display: grid !important;
	grid-template-columns: 186px 1fr;
	min-height: 400px;
}

.zwik-mock-body > * { margin: 0 !important; }

.zwik-mock-side {
	background: var(--z-navy);
	color: #fff;
	padding: 14px 10px;
	font-size: 12px;
}

.zwik-ms-brand {
	display: flex !important;
	align-items: center;
	gap: 8px;
	padding: 2px 6px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	margin-bottom: 10px;
}

.zwik-ms-brand .wp-block-image,
.zwik-ms-brand img { width: 24px; height: 24px; margin: 0; }

.zwik-ms-name { font-weight: 600; font-size: 12.5px; line-height: 1.15; color: #fff; }
.zwik-ms-name span { display: block; font-weight: 400; opacity: 0.65; font-size: 10px; }

.zwik-mock-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2px;
}

.zwik-mock-nav li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 8px;
	border-radius: 7px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 12px;
	line-height: 1.2;
}

.zwik-mock-nav li::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: none;
	background: center / contain no-repeat;
	filter: brightness(0) invert(1);
	opacity: 0.85;
}

.zwik-mock-nav li:nth-child(1)::before { background-image: url("../icons/list.svg"); }
.zwik-mock-nav li:nth-child(2)::before { background-image: url("../icons/users.svg"); }
.zwik-mock-nav li:nth-child(3)::before { background-image: url("../icons/globe.svg"); }
.zwik-mock-nav li:nth-child(4)::before { background-image: url("../icons/briefcase.svg"); }

.zwik-mock-nav li.is-active { background: var(--z-blue); color: #fff; }

.zwik-mock-nav li.is-soon::after {
	content: "soon";
	margin-left: auto;
	font-size: 9px;
	background: rgba(255, 255, 255, 0.12);
	padding: 1px 6px;
	border-radius: 99px;
}

.zwik-mock-main { padding: 18px 20px; background: var(--z-bg); }

.zwik-mm-top {
	display: flex !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
}

.zwik-mm-title { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.12; }
.zwik-mm-sub { font-size: 11px; color: var(--z-muted); margin-top: 3px; }

.zwik-mm-actions { display: flex !important; gap: 6px; flex: none; }

.zwik-mm-btn {
	font-size: 10.5px;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	padding: 5px 9px;
	border-radius: 6px;
	color: var(--z-ink);
	white-space: nowrap;
	line-height: 1.2;
}

.zwik-mm-btn.is-primary { background: var(--z-blue); color: #fff; border-color: var(--z-blue); }

.zwik-run { display: flex; flex-direction: column; gap: 7px; }

.zwik-run-block {
	display: grid !important;
	grid-template-columns: 46px 4px 1fr auto;
	gap: 10px;
	align-items: center;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: 8px;
	padding: 9px 12px 9px 10px;
	font-size: 11.5px;
	line-height: 1.6;
}

.zwik-run-block > * { margin: 0 !important; }

.zwik-time {
	font-variant-numeric: tabular-nums;
	color: var(--z-muted);
	font-size: 10.5px;
	grid-column: 1;
	grid-row: 1;
}

.zwik-run-copy { grid-column: 3; grid-row: 1; }
.zwik-run-block .zwik-tag { grid-column: 4; grid-row: 1; }

.zwik-run-block::before {
	content: "";
	grid-column: 2;
	grid-row: 1;
	height: 100%;
	min-height: 26px;
	border-radius: 3px;
	background: var(--z-blue);
	align-self: stretch;
}

.zwik-run-block strong { font-weight: 500; display: block; font-size: 11.5px; line-height: 1.6; }
.zwik-run-block .zwik-run-copy { color: var(--z-ink); font-size: 11.5px; line-height: 1.6; }
.zwik-run-copy br { display: none; }
.zwik-run-block .zwik-run-copy span,
.zwik-run-block small { display: block; color: var(--z-muted); font-size: 10.5px; font-weight: 400; line-height: 1.6; }

.zwik-tag {
	font-size: 9.5px;
	font-weight: 500;
	padding: 2px 7px;
	border-radius: 99px;
	background: var(--z-soft);
	color: var(--z-blue);
	white-space: nowrap;
	line-height: 1.3;
}

.zwik-tag.is-ad,
.zwik-run-block.is-ad .zwik-tag { background: var(--z-sun-soft); color: var(--z-gold); }
.zwik-tag.is-guest,
.zwik-run-block.is-guest .zwik-tag { background: var(--z-green-soft); color: var(--z-green); }
.zwik-run-block.is-ad::before { background: var(--z-sun); }
.zwik-run-block.is-guest::before { background: var(--z-green); }

.zwik-float {
	position: absolute;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: 12px;
	box-shadow: var(--z-shadow);
	padding: 12px 14px;
	font-size: 11.5px;
}

.zwik-float-guest { left: -34px; bottom: -26px; width: 220px; }
.zwik-float-plan { right: -20px; top: -64px; width: 170px; }

.zwik-float-label {
	margin: 0 0 8px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--z-muted);
	font-weight: 600;
}

.zwik-grow {
	display: flex !important;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
}

.zwik-avatar {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 10px;
	font-weight: 600;
	color: #fff;
	line-height: 24px;
	text-align: center;
	flex: none;
	padding: 0;
}

.zwik-avatar.is-a { background: #1f5aa6; }
.zwik-avatar.is-b { background: #dd7400; }
.zwik-gname { flex: 1; font-weight: 450; }

.zwik-cal {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr);
	gap: 3px;
	text-align: center;
}

.zwik-cal > * { margin: 0 !important; }

.zwik-cal p {
	font-size: 9px;
	color: var(--z-muted);
	padding: 3px 0;
	border-radius: 4px;
	line-height: 1.2;
}

.zwik-cal p.is-rec { background: var(--z-blue); color: #fff; }
.zwik-cal p.is-pub { background: var(--z-green-soft); color: var(--z-green); font-weight: 600; }
.zwik-cal p.is-dl { outline: 1.5px solid var(--z-sun); outline-offset: -1.5px; color: var(--z-ink); }

/* ---------- problem / solution ---------- */
.zwik-ps {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}

.zwik-ps > * { margin: 0 !important; }

.zwik-ps-card {
	border-radius: var(--z-radius-xl);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.zwik-ps-card.is-before { background: var(--z-bg); border: 1px dashed #b9cbe0; }

.zwik-ps-card.is-after {
	background: var(--z-navy);
	color: #fff;
	position: relative;
	overflow: hidden;
}

.zwik-ps-card.is-after::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -80px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(31, 90, 166, 0.9), transparent 70%);
	pointer-events: none;
}

.zwik-ps-card h3 { font-size: var(--z-xl); margin: 0 0 1.5rem; }
.zwik-ps-card.is-after h3 { color: #fff; }

.zwik-ps-label {
	display: inline-block;
	font-size: var(--z-xs);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 0.75rem;
	color: var(--z-muted);
}

.zwik-ps-card.is-after .zwik-ps-label { color: var(--z-sun); }

.zwik-crosses,
.zwik-checks {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 1rem;
	position: relative;
	z-index: 1;
}

.zwik-crosses li,
.zwik-checks li {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	font-size: var(--z-sm);
}

.zwik-ps-card.is-after .zwik-checks li { color: rgba(255, 255, 255, 0.88); }

.zwik-crosses li::before,
.zwik-checks li::before {
	content: "";
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	margin-top: 1px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px;
}

.zwik-crosses li::before {
	background-color: #fff;
	border: 1px solid var(--z-border);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233e5670' stroke-width='2'><path d='M6 6l12 12M18 6L6 18'/></svg>");
}

.zwik-ps-card.is-after .zwik-checks li::before {
	background-color: rgba(255, 255, 255, 0.1);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd236' stroke-width='2.4'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>");
}

.zwik-checks.is-green li::before {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	margin-top: 3px;
	background-color: var(--z-green-soft);
	background-size: 10px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23007956' stroke-width='2'><path d='M2.5 6.5l2.2 2.2L9.5 3.8'/></svg>");
}

ul.zwik-hero-notes.zwik-checks {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin-top: 1.5rem;
	margin-bottom: 1em;
}

ul.zwik-hero-notes.zwik-checks li {
	font-size: var(--z-xs);
	line-height: 1.6;
	gap: 6px;
	align-items: center;
	width: auto;
}

.zwik-hero-notes li::before { margin-top: 0; }

/* ---------- modules ---------- */
.zwik-modules {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}

.zwik-modules > * { margin: 0 !important; }

.zwik-mod {
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-lg);
	padding: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	transition: box-shadow 0.2s, transform 0.2s;
	height: 100%;
}

.zwik-mod:hover { box-shadow: var(--z-shadow); transform: translateY(-2px); }
.zwik-mod.is-muted { background: transparent; border-style: dashed; }

.zwik-mod-ico {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--z-soft);
	display: grid !important;
	place-items: center;
	margin-bottom: 0.5rem;
}

.zwik-mod-ico .wp-block-image,
.zwik-mod-ico img { width: 22px; height: 22px; margin: 0; }

.zwik-mod-title {
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.zwik-mod h3 { font-size: var(--z-lg); }
.zwik-mod > p { color: var(--z-muted); font-size: var(--z-sm); }

.zwik-mod ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 6px;
	font-size: var(--z-sm);
}

.zwik-mod li { display: flex; gap: 8px; align-items: flex-start; }

.zwik-mod li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--z-blue);
	margin-top: 0.6em;
	flex: none;
}

.zwik-badge {
	font-size: 10.5px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 99px;
	background: var(--z-accent);
	color: var(--z-blue);
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.zwik-badge.is-soon { background: var(--z-sun-soft); color: var(--z-gold); }

.zwik-mod-foot {
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--z-border);
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	font-size: var(--z-xs);
	color: var(--z-muted);
}

.zwik-mod-foot strong,
.zwik-mod-price { color: var(--z-ink); font-weight: 600; font-size: var(--z-sm); }

/* ---------- origin ---------- */
.zwik-origin {
	display: grid !important;
	grid-template-columns: auto 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
	background: linear-gradient(135deg, #fff, var(--z-soft));
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-xl);
	padding: clamp(2rem, 4vw, 3.5rem);
}

.zwik-origin > * { margin: 0 !important; }

.zwik-origin-mark {
	width: 132px;
	height: 132px;
	border-radius: 32px;
	background: var(--z-navy);
	display: grid !important;
	place-items: center;
	box-shadow: var(--z-shadow);
	flex: none;
}

.zwik-origin-mark img,
.zwik-origin-mark .wp-block-image { width: 60px; height: 60px; margin: 0; }

.zwik-origin h2 { font-size: var(--z-2xl); margin-top: 0.75rem; }
.zwik-origin .zwik-origin-copy > .zwik-eyebrow { margin-top: 0; }
.zwik-origin .zwik-origin-copy > p { margin-top: 1rem; color: var(--z-muted); max-width: 44rem; }
.zwik-origin .zwik-origin-copy > .zwik-placeholder { max-width: none; margin-top: 1.5rem; }

.zwik-placeholder {
	margin-top: 1.5rem;
	border: 1.5px dashed #b9cbe0;
	border-radius: var(--z-radius);
	padding: 0.75rem 1rem;
	font-size: var(--z-xs);
	color: var(--z-muted);
	background: rgba(255, 255, 255, 0.6);
}

.zwik-placeholder strong {
	color: var(--z-rose);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-right: 6px;
}

/* ---------- steps ---------- */
.zwik-steps {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.zwik-steps > * { margin: 0 !important; }

.zwik-step {
	padding: 2rem;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-lg);
	height: 100%;
}

.zwik-step-num {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--z-blue);
	color: #fff;
	display: grid;
	place-items: center;
	font-weight: 600;
	font-size: var(--z-lg);
	margin-bottom: 1.5rem;
	box-shadow: 0 0 0 6px var(--z-soft);
	line-height: 44px;
	text-align: center;
	padding: 0;
}

/* .zwik-step p sets a muted colour and would hide the number on the blue circle. */
.zwik-step .zwik-step-num {
	margin-top: 0;
	color: #fff;
	font-size: var(--z-lg);
}

.zwik-step h3 { font-size: var(--z-lg); }
.zwik-step p { margin-top: 0.75rem; color: var(--z-muted); font-size: var(--z-sm); }

.zwik-step code,
code {
	font-family: inherit;
	background: var(--z-soft);
	color: var(--z-blue);
	padding: 1px 6px;
	border-radius: 5px;
	font-size: 0.92em;
}

.zwik-anchor-alias,
.zwik-anchor-alias > .zwik-section {
	margin-block: 0 !important;
}
.zwik-anchor-alias > .zwik-section {
	background: transparent;
}

/* ---------- pricing ---------- */
.zwik-pricing .zwik-section-head { margin-bottom: 0.75rem; }

.zwik-early-note {
	max-width: 40rem;
	margin: 0.85rem auto 0.35rem;
	text-align: center;
	font-size: var(--z-sm);
	line-height: 1.5;
	color: var(--z-muted);
}

.zwik-price-vat {
	max-width: 42rem;
	margin: 0 auto 1.75rem;
	text-align: center;
	font-size: var(--z-xs);
	line-height: 1.5;
	color: var(--z-muted);
}

.zwik-billing {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 3rem;
}

.zwik-toggle {
	display: inline-flex;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: 999px;
	padding: 4px;
	box-shadow: var(--z-shadow-sm);
}

.zwik-toggle button {
	border: 0;
	background: transparent;
	font: inherit;
	font-size: var(--z-sm);
	font-weight: 500;
	color: var(--z-muted);
	padding: 0.5rem 1.1rem;
	border-radius: 999px;
	cursor: pointer;
}

.zwik-toggle button[aria-pressed="true"] { background: var(--z-navy); color: #fff; }

.zwik-toggle button:focus-visible { outline-offset: 2px; }

.zwik-save {
	font-size: var(--z-xs);
	font-weight: 600;
	color: var(--z-green);
	background: var(--z-green-soft);
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
}

.zwik-plans {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

.zwik-plans > * { margin: 0 !important; min-width: 0; }

.zwik-plan {
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-xl);
	padding: 2rem;
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
}

.zwik-plan.is-featured {
	border: 2px solid var(--z-blue);
	box-shadow: var(--z-shadow-lg);
	transform: translateY(-12px);
}

.zwik-plan-badge {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--z-sun);
	color: var(--z-navy);
	font-size: var(--z-xs);
	font-weight: 600;
	padding: 0.3rem 0.9rem;
	border-radius: 999px;
	white-space: nowrap;
}

.zwik-plan h3 { font-size: var(--z-xl); }
.zwik-plan h3 .zwik-quiet { font-weight: 400; color: var(--z-muted); font-size: var(--z-sm); }

.zwik-plan-sub { font-size: var(--z-sm); color: var(--z-muted); margin-top: 4px; min-height: 2.9em; }

.zwik-early-label {
	margin: 1.25rem 0 0;
	font-size: var(--z-xs);
	font-weight: 600;
	color: var(--z-blue);
}

.zwik-price-row {
	display: flex !important;
	align-items: baseline;
	gap: 0.5rem;
	margin-top: 0.35rem;
	flex-wrap: wrap;
}

.zwik-from { font-size: var(--z-sm); color: var(--z-muted); }

.zwik-price-row .wp-block-zwik-price:not(.is-struck),
.zwik-price-row .zwik-price:not(.is-struck) {
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--z-ink);
}

.zwik-price-row .is-struck {
	color: var(--z-strike);
	font-size: var(--z-lg);
	font-weight: 400;
	text-decoration: line-through;
}

.zwik-per { font-size: var(--z-sm); color: var(--z-muted); }
.zwik-pricing:not([data-billing="year"]) .zwik-per .is-year,
.zwik-pricing[data-billing="year"] .zwik-per .is-month { display: none; }

.zwik-price-note {
	font-size: var(--z-xs);
	color: var(--z-muted);
	margin-top: 6px;
	min-height: 2.6em;
}

.zwik-price-note:empty {
	display: none;
	min-height: 0;
	margin: 0;
}

.zwik-plan .wp-block-buttons { margin-top: 1.5rem; }

.zwik-plan .zwik-checks { margin-top: 1.5rem; border-top: 1px solid var(--z-border); padding-top: 1.5rem; gap: 0.75rem; }
.zwik-plan .zwik-checks.is-dim li { color: var(--z-muted); }

.zwik-mod-prices {
	display: grid;
	gap: 6px;
	margin-top: 1.5rem;
	font-size: var(--z-sm);
}

.zwik-mod-price-row {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	padding: 6px 0;
	border-bottom: 1px dashed var(--z-border);
	gap: 1rem;
}

.zwik-mod-price-row .zwik-price,
.zwik-mod-price-row .wp-block-zwik-price {
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	font-size: var(--z-sm);
}

.zwik-addons {
	margin-top: 3rem;
	background: var(--z-white);
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-xl);
	padding: 2rem;
}

.zwik-addons-head {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.zwik-addons h3 { font-size: var(--z-lg); }
.zwik-addons-head p { font-size: var(--z-sm); color: var(--z-muted); }

.zwik-addon-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
}

.zwik-addon-grid > * { margin: 0 !important; }

.zwik-addon {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem;
	border-radius: var(--z-radius);
	background: var(--z-bg);
	font-size: var(--z-sm);
}

.zwik-addon small,
.zwik-addon .zwik-addon-note { display: block; color: var(--z-muted); font-size: var(--z-xs); }
.zwik-addon strong { font-weight: 600; white-space: nowrap; }

.zwik-fineprint {
	text-align: center;
	margin-top: 1.5rem;
	font-size: var(--z-xs);
	color: var(--z-muted);
}

.zwik-details-link { margin-top: 2rem; font-size: var(--z-sm); }
.zwik-details-link a { font-weight: 500; text-decoration: none; }
.zwik-details-link a:hover { text-decoration: underline; }

.zwik-edit-fields {
	margin-top: 0.75rem;
	padding: 0.75rem;
	background: var(--z-bg);
	border-radius: 8px;
	font-size: 13px;
}

/* ---------- FAQ ---------- */
.zwik-faq-wrap {
	display: grid !important;
	grid-template-columns: 0.8fr 1.2fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}

.zwik-faq-wrap > * { margin: 0 !important; }
.zwik-faq-wrap .zwik-section-head { margin-bottom: 0; position: sticky; top: 110px; }

.zwik-faq .wp-block-details {
	border-bottom: 1px solid var(--z-border);
	padding: 1.5rem 0;
	margin: 0;
}

.zwik-faq .wp-block-details:first-of-type,
.zwik-faq > .wp-block-details:first-child { border-top: 1px solid var(--z-border); }

.zwik-faq summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	font-weight: 500;
	font-size: var(--z-lg);
	color: var(--z-ink);
}

.zwik-faq summary::-webkit-details-marker { display: none; }

.zwik-faq summary::after {
	content: "+";
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--z-soft);
	color: var(--z-blue);
	display: grid;
	place-items: center;
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1;
	transition: transform 0.2s;
}

.zwik-faq details[open] summary::after { transform: rotate(45deg); }

.zwik-faq details p {
	margin-top: 0.75rem;
	color: var(--z-muted);
	font-size: var(--z-sm);
	max-width: 40rem;
}

.zwik-faq details a { font-weight: 500; }

/* ---------- final CTA ---------- */
.zwik-cta-wrap { padding-bottom: 0; }

.zwik-cta {
	background: var(--z-navy);
	color: #fff;
	border-radius: var(--z-radius-xl);
	padding: clamp(2.5rem, 5vw, 4.5rem);
	display: grid !important;
	grid-template-columns: 1.4fr auto;
	gap: 2rem;
	align-items: center;
	position: relative;
	overflow: hidden;
}

.zwik-cta::before {
	content: "";
	position: absolute;
	inset: auto -120px -180px auto;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(31, 90, 166, 0.95), transparent 70%);
}

.zwik-cta::after {
	content: "";
	position: absolute;
	left: -60px;
	top: -60px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 210, 54, 0.25), transparent 70%);
}

.zwik-cta > * { position: relative; z-index: 1; margin: 0 !important; }
.zwik-cta h2 { color: #fff; font-size: var(--z-2xl); }
.zwik-cta p { margin-top: 0.75rem; color: rgba(255, 255, 255, 0.78); font-size: var(--z-lg); }

.zwik-cta-actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	align-items: stretch;
}

.zwik-cta-actions .zwik-cta-note { text-align: center; color: rgba(255, 255, 255, 0.65); font-size: var(--z-xs); margin: 0; }

.zwik-cta a:focus-visible,
.zwik-ps-card.is-after a:focus-visible { outline-color: #fff; }

/* ---------- footer ---------- */
.zwik-footer {
	background: var(--z-navy-900);
	color: rgba(255, 255, 255, 0.7);
	padding-block: 4rem 2rem;
	margin-top: var(--z-section-y);
	font-size: var(--z-sm);
}

.zwik-footer-grid {
	display: grid !important;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 2rem;
}

.zwik-footer-grid > * { margin: 0 !important; }

.zwik-footer .zwik-brand,
.zwik-footer .wp-block-site-title,
.zwik-footer .wp-block-site-title a { color: #fff; }

.zwik-footer .zwik-brand-sub { color: rgba(255, 255, 255, 0.6); }

.zwik-footer h2,
.zwik-footer h3,
.zwik-footer h4 {
	color: #fff;
	font-size: var(--z-sm);
	margin-bottom: 1rem;
	font-weight: 600;
	letter-spacing: 0;
}

.zwik-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.zwik-footer a { color: rgba(255, 255, 255, 0.7); text-decoration: none; }
.zwik-footer a:hover { color: #fff; }

.zwik-footer-about { margin-top: 1rem; max-width: 22rem; color: rgba(255, 255, 255, 0.7); }

.zwik-footer-bottom {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5rem 1.5rem;
	flex-wrap: wrap;
	font-size: var(--z-xs);
	color: rgba(255, 255, 255, 0.5);
}

.zwik-footer-cancel {
	flex: 1 0 100%;
	margin: 0 0 0.85rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.zwik-footer-cancel a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.zwik-footer-cancel a:hover {
	color: #fff;
}

.zwik-footer-company {
	flex: 1 0 100%;
	margin: 0.35rem 0 0;
	font-size: 0.75rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.42);
}

.zwik-footer .custom-logo,
.zwik-footer .wp-block-site-logo img { width: 40px; height: 40px; }

/* ---------- simple inner pages ---------- */
.zwik-page { padding-block: 4rem 5rem; }
.zwik-page h1 { font-size: var(--z-2xl); margin-bottom: 1.5rem; }
.zwik-page .wp-block-post-content > * + * { margin-top: 1rem; }

/* ---------- responsive ---------- */
@media (min-width: 1081px) {
	.zwik-header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
}

@media (max-width: 1080px) {
	.zwik-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}
	.zwik-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.zwik-hero-grid,
	.zwik-plans { grid-template-columns: 1fr; }
	.zwik-hero-grid { grid-template-columns: 1fr; }
	.zwik-mock { max-width: 680px; margin-inline: auto; width: 100%; }
	.zwik-plans { grid-template-columns: 1fr 1fr; }
	.zwik-plan.is-featured { transform: none; }
	.zwik-modules { grid-template-columns: 1fr 1fr; }
	.zwik-addon-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
	body { font-size: 1rem; }
	.zwik-container { padding-inline: 1rem; }
	.zwik-header-bar { height: 64px; gap: 0.35rem; padding-inline: 0.55rem; }
	.zwik-header-bar > .wp-block-navigation { margin-left: 0 !important; }
	.zwik-brand .custom-logo,
	.zwik-brand .wp-block-site-logo img { width: 34px; height: 34px; }
	.zwik-brand-sub,
	.zwik-login { display: none; }
	.zwik-header-actions { gap: 0.28rem; }
	.zwik-header-actions .wp-block-button__link { padding: 0.5rem 0.45rem; font-size: 0.78rem; }
	.zwik-header .wp-block-polylang-language-switcher a,
	.zwik-header .zwik-lang a { padding: 0.24rem 0.3rem; }
	.zwik-ps,
	.zwik-modules,
	.zwik-steps,
	.zwik-plans,
	.zwik-addon-grid,
	.zwik-faq-wrap,
	.zwik-cta,
	.zwik-origin { grid-template-columns: 1fr; }
	.zwik-plan.is-featured { grid-column: auto; }
	.zwik-faq-wrap .zwik-section-head { position: static; }
	.zwik-mock-body { grid-template-columns: 1fr; min-height: 0; }
	.zwik-mock-side { display: none; }
	.zwik-float-plan { display: none; }
	.zwik-float-guest { position: relative; left: auto; bottom: auto; width: auto; margin: -24px 16px 0; }
	.zwik-run-block { grid-template-columns: 40px 4px 1fr; }
	.zwik-run-block .zwik-tag { display: none; }
	.zwik-mm-actions .zwik-mm-btn:not(.is-primary) { display: none; }
	.zwik-origin-mark { width: 84px; height: 84px; border-radius: 22px; }
	.zwik-origin-mark img,
	.zwik-origin-mark .wp-block-image { width: 40px; height: 40px; }
	.zwik-footer-grid { grid-template-columns: 1fr 1fr; }
	.zwik-footer-grid > :first-child { grid-column: 1 / -1; }
	.zwik-billing { flex-direction: column; margin-top: -1rem; }
	.zwik-hero-ctas { flex-direction: column; align-items: stretch; }
	.zwik-hero-ctas .wp-block-button,
	.zwik-hero-ctas .wp-block-button__link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition: none !important;
		scroll-behavior: auto !important;
		animation: none !important;
	}
}

/* editor canvas */
.editor-styles-wrapper {
	font-family: var(--z-font);
	font-weight: 350;
}

.editor-styles-wrapper .zwik-header { position: static; }
