/* Section types added for the full-site migration: use cases, pricing, long text and tables,
   blog list, social links, button rows. Tokens and radii follow sections.css. */

/* ---------- Use cases: violet panel, white icons, three columns ---------- */
.wv-usecases {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: clamp(28px, 3vw, 48px); margin-top: 2.5rem !important;
}
.wv-usecases > * { margin: 0 !important; }
.wv-usecase { display: grid; justify-items: center; align-content: start; gap: 12px; text-align: center; }
.wv-usecase .wv-icon-block { color: var(--wp--preset--color--surface) !important; }
.wv-usecase h3 { font-size: 1.25rem !important; margin: 4px 0 0 !important; }
.wv-usecase p { margin: 0 !important; font-size: var(--wp--preset--font-size--body); line-height: 1.6; max-width: 34ch; }

/* ---------- Cards without an icon ---------- */
.wv-card:not(:has(.wv-icon-block)) { text-align: left; justify-items: start; }
.wv-benefit:not(:has(.wv-icon-block)) { grid-template-rows: 1fr; }

/* ---------- Feature extras: logo above the text, video instead of a screenshot ---------- */
.wv-inline-logo { margin: 0 0 1rem !important; }
.wv-inline-logo img { height: auto; }
.wv-feature .wp-block-embed { margin: 0; }
.wv-feature .wp-block-embed__wrapper { border-radius: 16px; overflow: hidden; box-shadow: var(--wp--preset--shadow--card-hover); }
.wv-feature .wp-block-embed iframe { display: block; }

/* ---------- Button row ---------- */
.wv-buttons-row { padding-block: 0 clamp(1.5rem, 1rem + 2vw, 2.5rem); }

/* ---------- Pricing plans ---------- */
.wv-plans {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(16px, 2vw, 32px); max-width: 1100px; margin: 0 auto !important;
}
.wv-plans > * { margin: 0 !important; }
.wv-plan {
	display: flex; flex-direction: column; gap: 12px;
	background: var(--wp--preset--color--surface);
	border-radius: 24px; box-shadow: var(--wp--preset--shadow--card);
	border-top: 6px solid var(--wv-accent);
	padding: 32px 28px !important;
}
.wv-plan__name { margin: 0 !important; font-size: 1.5rem !important; color: var(--wv-accent) !important; }
.wv-plan__price { margin: 0 !important; color: var(--wp--preset--color--ink-muted); }
.wv-plan__price strong { display: block; font-family: var(--wp--preset--font-family--heading); font-size: 2rem; line-height: 1.2; color: var(--wp--preset--color--ink); }
.wv-plan .wv-checklist { margin: 8px 0 0 !important; }
.wv-plan .wv-checklist li::before { background: var(--wv-accent); }
.wv-plan .wp-block-buttons { margin-top: auto !important; padding-top: 16px; }
.wv-plan .wp-block-button__link { background: var(--wv-accent); color: #fff; }
.wv-plan .wp-block-button__link:hover, .wv-plan .wp-block-button__link:focus-visible { background: var(--wv-accent-deep); color: #fff; }

/* ---------- Long text: legal pages and the plan comparison ---------- */
.wv-prose { color: var(--wp--preset--color--ink); }
.wv-prose p, .wv-prose li { color: var(--wp--preset--color--ink-muted); line-height: 1.7; }
.wv-prose p strong { color: var(--wp--preset--color--ink); }
.wv-prose a { color: var(--wp--preset--color--indigo-action); }
.wv-prose > * + * { margin-block-start: 1em; }
.wv-table { margin-block: 1.5rem !important; overflow-x: auto; }
.wv-table table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--wp--preset--font-size--small); border-radius: 16px; overflow: hidden; box-shadow: var(--wp--preset--shadow--card); }
.wv-table td, .wv-table th { padding: 12px 16px; border: 0; border-bottom: 1px solid #ebe8f7; vertical-align: top; text-align: left; }
.wv-table td p { margin: 0 0 4px; }
/* Header: real <th>/<thead> cells, or the first row of a table that has none (the plan comparison). */
.wv-table th, .wv-table thead td, .wv-table--head-row table:not(:has(th, thead)) tr:first-child td { background: var(--wp--preset--color--indigo-action); color: var(--wp--preset--color--surface); font-weight: 700; }
.wv-table :is(th, thead td) :is(strong, b), .wv-table--head-row table:not(:has(th, thead)) tr:first-child td :is(strong, b) { color: inherit; }
.wv-table tr:last-child td { border-bottom: 0; }
/* The plan comparison: centred plan columns. */
/* Same columns in every comparison table: 46% for the feature, 18% per plan. */
.wv-prose--plans .wv-table table { table-layout: fixed; }
.wv-prose--plans .wv-table td:not(:first-child) { text-align: center; width: 18%; }

/* ---------- Blog list ---------- */
.wv-posts__grid { gap: clamp(20px, 2.5vw, 36px) !important; }
.wv-post-card {
	height: 100%; display: flex; flex-direction: column; gap: 10px;
	background: var(--wp--preset--color--surface); border-radius: 24px; overflow: hidden;
	box-shadow: var(--wp--preset--shadow--card); transition: box-shadow 0.2s ease, transform 0.2s ease;
	padding-bottom: 24px !important;
}
.wv-post-card:hover { box-shadow: var(--wp--preset--shadow--card-hover); transform: translateY(-2px); }
.wv-post-card > * { margin: 0 24px !important; }
.wv-post-card .wp-block-post-featured-image { margin: 0 0 8px !important; }
.wv-post-card .wp-block-post-featured-image img { border-radius: 0; }
.wv-post-card__date { font-size: var(--wp--preset--font-size--label); color: var(--wp--preset--color--ink-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.wv-post-card__title { font-size: 1.25rem !important; line-height: 1.3 !important; }
.wv-post-card__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.wv-post-card__title a:hover { color: var(--wp--preset--color--indigo-action); }
.wv-post-card__excerpt p { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-muted); line-height: 1.6; }
.wv-post-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.wv-posts .wp-block-query-pagination { margin-top: 2.5rem; gap: 8px; }
@media (max-width: 781px) { .wv-posts__grid { grid-template-columns: 1fr !important; } }
@media (min-width: 782px) and (max-width: 1023px) { .wv-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (prefers-reduced-motion: reduce) { .wv-post-card { transition: none; } .wv-post-card:hover { transform: none; } }

/* ---------- Social links on Contacts ---------- */
.wv-social .wp-block-social-links { gap: 16px; margin-top: 1.5rem; }
.wv-social .wp-social-link { transition: background-color 0.2s ease; }
.wv-social .wp-social-link:hover { background-color: var(--wp--preset--color--violet-ground) !important; transform: none; }

/* ---------- Centred short text: Support links, Contacts details ---------- */
.wv-prose--center, .wv-intro--center { text-align: center; }
.wv-prose--center .wv-inline-logo, .wv-intro--center .wv-inline-logo { margin-inline: auto !important; }
.wv-prose--center > * + *, .wv-intro--center p + p { margin-block-start: 0.5em; }
.wv-prose--center h2 { font-size: var(--wp--preset--font-size--title) !important; margin-bottom: 1rem !important; }

/* Plan comparison: violet group header rows and coloured ticks, as on live. */
.wv-prose--plans .wv-table--head-row table:not(:has(th, thead)) tr:first-child td { background: var(--wp--preset--color--indigo-action); color: var(--wp--preset--color--surface); }
.wv-prose--plans .wv-table td:first-child :is(strong, b) { display: inline-block; margin-bottom: 2px; color: var(--wp--preset--color--ink); }
.wv-prose--plans .wv-table--head-row table:not(:has(th, thead)) tr:first-child td :is(strong, b) { color: inherit; }
.wv-prose--notes p { margin-block: 0.4em !important; }
.wv-prose--notes p em { font-size: var(--wp--preset--font-size--small); }

/* ---------- Extra hero content (Support: icon, e-mail and links) ---------- */
.wv-hero h2.wp-block-heading { font-size: var(--wp--preset--font-size--title); letter-spacing: 0; margin-top: 0.5rem; }
.wv-hero a:not(.wp-block-button__link) { color: var(--wp--preset--color--surface); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wv-hero a:not(.wp-block-button__link):hover { color: var(--wp--preset--color--lavender-on-ground); }
.wv-hero .wv-inline-logo { margin: 1.5rem auto 0 !important; }
.wv-hero .wv-inline-logo + .wp-block-heading { margin-top: 0.75rem; }
.wv-hero h2 + p, .wv-hero h2 ~ p { margin-top: 0.4rem; }
.wv-intro--center .wv-inline-logo { margin-inline: auto !important; }
.wv-intro--center .wv-inline-logo img { margin-inline: auto; display: block; }
.wv-prose--notes { padding-block: 0.5rem 0 !important; }
.wv-prose--notes + .wv-prose--plans { padding-top: 1rem !important; }
/* Plan comparison on phones: keep readable columns and scroll the table sideways. */
.wv-prose--plans .wv-table td:first-child { width: 46%; }
.wv-prose--plans .wv-table tr:first-child td:first-child { width: 46%; }
/* Phones: each feature becomes a card — name and description on top, the three plan values
   below in a row, each captioned with its plan (data-label). The group header keeps only its title. */
@media (max-width: 781px) {
	.wv-prose--plans .wv-table { overflow: visible; }
	.wv-prose--plans .wv-table table { table-layout: auto; box-shadow: none; border-radius: 0; overflow: visible; }
	.wv-prose--plans .wv-table :is(table, tbody, tr, td) { display: block; width: auto !important; }
	.wv-prose--plans .wv-table tr {
		display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 8px;
		padding: 14px 16px; background: var(--wp--preset--color--surface); border-bottom: 1px solid #ebe8f7;
	}
	.wv-prose--plans .wv-table td { padding: 0; border: 0; }
	.wv-prose--plans .wv-table td:first-child { grid-column: 1 / -1; }
	.wv-prose--plans .wv-table td:not(:first-child) {
		display: flex; flex-direction: column; align-items: center; gap: 4px;
		padding: 8px 4px; border-radius: 10px; background: var(--wp--preset--color--surface-tint); white-space: normal;
	}
	.wv-prose--plans .wv-table td[data-label]:not(:first-child)::before {
		content: attr(data-label); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--ink-muted);
	}
	.wv-prose--plans .wv-table--head-row table:not(:has(th, thead)) tr:first-child { grid-template-columns: 1fr; padding: 14px 16px; border-radius: 16px 16px 0 0; background: var(--wp--preset--color--indigo-action); border: 0; }
	.wv-prose--plans .wv-table--head-row table:not(:has(th, thead)) tr:first-child td { background: none; padding: 0; font-size: 1rem; }
	.wv-prose--plans .wv-table--head-row table:not(:has(th, thead)) tr:first-child td:not(:first-child) { display: none; }
	.wv-prose--plans .wv-table tr:last-child { border-radius: 0 0 16px 16px; border-bottom: 0; box-shadow: var(--wp--preset--shadow--card); }
}

/* ---------- Blog post (templates/single.html) ---------- */
.wv-hero--post .wp-block-post-title { max-width: 18ch; margin-inline: auto !important; }
.wv-hero--post .wv-post-date { margin-top: 1rem; color: rgba(255, 255, 255, 0.82); font-size: var(--wp--preset--font-size--small); letter-spacing: 0.04em; }
.wv-article { padding-top: clamp(2rem, 1.25rem + 2vw, 3rem); }
.wv-article .wp-block-post-content > * + * { margin-block-start: 1.1em; }
.wv-article .wp-block-post-content p, .wv-article .wp-block-post-content li { color: var(--wp--preset--color--ink-muted); font-size: 1.0625rem; line-height: 1.75; }
.wv-article .wp-block-post-content p strong, .wv-article .wp-block-post-content li strong { color: var(--wp--preset--color--ink); }
.wv-article .wp-block-post-content a { color: var(--wp--preset--color--indigo-action); }
.wv-article .wp-block-post-content h2 { text-align: center; font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem) !important; margin-block-start: 2.25em !important; }
.wv-article .wp-block-post-content h3 { font-size: 1.25rem !important; margin-block-start: 1.75em !important; }
.wv-article .wp-block-post-content .wp-block-image { margin-block: 1.75em !important; }
.wv-dashlist { list-style: none; padding-left: 0 !important; display: grid; gap: 8px; }
.wv-dashlist li { position: relative; padding-left: 1.6em; }
.wv-dashlist li::before { content: "—"; position: absolute; left: 0; color: currentColor; }
.wv-article .wv-faq { padding-inline: 0 !important; }
.wv-article .wv-table { font-size: var(--wp--preset--font-size--small); }
/* Previous / next: two cards side by side, stacked on phones. */
.wv-article__nav { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch !important; gap: 16px; margin-top: clamp(2.5rem, 2rem + 2vw, 4rem) !important; }
.wv-article__nav > * { margin: 0 !important; }
.wv-article__nav .wp-block-post-navigation-link {
	position: relative; display: block; padding: 18px 22px 20px !important;
	background: var(--wp--preset--color--surface); border: 1px solid #e6e2f5; border-radius: 20px;
	box-shadow: var(--wp--preset--shadow--card); transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wv-article__nav .wp-block-post-navigation-link:hover { border-color: #cfcbe8; box-shadow: var(--wp--preset--shadow--card-hover); }
.wv-article__nav .wp-block-post-navigation-link::before {
	display: block; margin-bottom: 6px; font-size: var(--wp--preset--font-size--label); font-weight: 700;
	letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--ink-muted);
}
.wv-article__nav .post-navigation-link-previous::before { content: "← Previous article"; }
.wv-article__nav .post-navigation-link-next { grid-column: 2; text-align: right; }
.wv-article__nav .post-navigation-link-next::before { content: "Next article →"; }
.wv-article__nav [class*="__arrow"] { display: none; }
.wv-article__nav a {
	color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--body); font-size: 1rem; font-weight: 400; line-height: 1.45; text-decoration: none;
	/* At most two lines, then an ellipsis. No reserved height: the pair stretches to the taller card. */
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}
.wv-article__nav a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.wv-article__nav a:hover { color: var(--wp--preset--color--indigo-action); }
.wv-article__nav a:focus, .wv-article__nav a:focus-visible { outline: none !important; box-shadow: none; }
.wv-article__nav .wp-block-post-navigation-link:has(a:focus-visible) { outline: 3px solid var(--wp--preset--color--indigo-action); outline-offset: 2px; }
@media (max-width: 600px) {
	.wv-article__nav { grid-template-columns: 1fr; }
	.wv-article__nav .post-navigation-link-next { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { .wv-article__nav .wp-block-post-navigation-link { transition: none; } }

/* Formula boxes ("Hours spent in meetings × Employees' hourly cost = Cost of meetings"). */
.wv-formula { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-block: 1.75em !important; }
.wv-formula__box {
	flex: 0 1 180px; display: grid; place-items: center; min-height: 76px; padding: 12px 16px; text-align: center;
	border: 2px solid var(--wv-purple); border-radius: 14px; color: var(--wp--preset--color--ink); font-weight: 600; line-height: 1.35;
}
.wv-formula__box.is-result { background: var(--wv-purple-mist); color: var(--wv-purple-deep); }
.wv-formula__op { font-size: 1.75rem; font-weight: 700; color: var(--wv-purple); }
@media (max-width: 600px) { .wv-formula { flex-direction: column; } .wv-formula__box { flex-basis: auto; width: 100%; max-width: 280px; } }

/* Yes / no marks in tables and lists: one icon pair site-wide (UI5 accept / decline). */
.wv-mark { display: inline-flex; vertical-align: -0.2em; width: 1.25rem; height: 1.25rem; }
.wv-mark svg { width: 100%; height: 100%; }
.wv-mark.is-yes { color: #1f9e78; }
.wv-mark.is-no { color: var(--wv-pink); }
.wv-table td .wv-mark + em, .wv-table td .wv-mark + i { margin-left: 4px; }
h3 .wv-mark { margin-right: 6px; }


/* Numbered headings in posts ("1.", "Mistake #1."): even-width digits so the titles line up. */
.wv-article .wp-block-post-content :is(h2, h3) { font-variant-numeric: tabular-nums; }
.wv-article .wp-block-post-content a :is(strong, b), .wv-prose a :is(strong, b) { color: inherit; } /* bold inside a link keeps the link colour */

/* ---------- Phone fixes (mobile review 2026-10-19) ---------- */
@media (max-width: 600px) {
	/* Long centred lead: lighter and smaller so 6–8 lines stay readable. */
	.wv-intro .wv-lead { font-size: 1.0625rem; font-weight: 500; line-height: 1.55; }
	/* Two-column legal tables (Privacy policy): each row becomes a block, no clipped second column. */
	.wv-prose:not(.wv-prose--plans) .wv-table table:not(:has(tr > :nth-child(3))) { box-shadow: none; }
	.wv-prose:not(.wv-prose--plans) .wv-table table:not(:has(tr > :nth-child(3))) :is(tbody, tr, td, th) { display: block; width: auto !important; }
	.wv-prose:not(.wv-prose--plans) .wv-table table:not(:has(tr > :nth-child(3))) tr { border: 1px solid #ebe8f7; border-radius: 14px; margin-bottom: 12px; overflow: hidden; }
	.wv-prose:not(.wv-prose--plans) .wv-table table:not(:has(tr > :nth-child(3))) td:first-child { background: var(--wp--preset--color--indigo-mist); color: var(--wp--preset--color--ink); font-weight: 700; }
	.wv-prose:not(.wv-prose--plans) .wv-table table:not(:has(tr > :nth-child(3))) td { border-bottom: 0; }
	/* Three-column comparisons in posts: tighter cells. */
	.wv-article .wv-table td, .wv-article .wv-table th { padding: 10px 8px; }
	/* Back-to-top button (Smooth Back To Top plugin): smaller and tucked in, it covered text on phones. */
	.smooth-back-to-top-button { width: 40px !important; height: 40px !important; right: 12px !important; bottom: 16px !important; background: rgba(255, 255, 255, 0.92) !important; }
}

/* ---------- Legal text: Privacy policy and Terms share one style (owner, 2026-10-20) ---------- */
.wv-prose--legal { font-size: 1rem; }
.wv-prose--legal > * { margin-block: 0 !important; }
.wv-prose--legal > * + * { margin-block-start: 1em !important; }
.wv-prose--legal p, .wv-prose--legal li { font-size: 1rem; line-height: 1.7; color: var(--wp--preset--color--ink-muted); }
.wv-prose--legal h2 {
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem) !important; line-height: 1.3; letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink) !important; text-align: left;
	margin-block-start: 2.5em !important; padding-top: 1.25em; border-top: 1px solid #ebe8f7;
}
.wv-prose--legal > h2:first-child, .wv-prose--legal > p:first-child + h2 { margin-block-start: 1.5em !important; }
.wv-prose--legal h3 { font-size: 1.0625rem !important; line-height: 1.4; color: var(--wp--preset--color--ink) !important; margin-block-start: 1.75em !important; }
.wv-prose--legal :is(h2, h3) + * { margin-block-start: 0.75em !important; }
.wv-prose--legal :is(ul, ol) { padding-left: 1.5em; }
.wv-prose--legal li + li { margin-top: 0.5em; }
.wv-prose--legal ol > li::marker { color: var(--wp--preset--color--indigo-action); font-weight: 600; }
.wv-legal-list { list-style: none; padding-left: 0 !important; }
.wv-legal-list li { position: relative; padding-left: 1.4em; }
.wv-legal-list li::before { content: "—"; position: absolute; left: 0; color: var(--wp--preset--color--indigo-action); }
.wv-prose--legal a { color: var(--wp--preset--color--indigo-action); }
.wv-prose--legal strong { color: var(--wp--preset--color--ink); }
.wv-prose--legal .wv-table { margin-block-start: 1.25em !important; }
.wv-prose--legal .wv-table td { line-height: 1.6; }

/* ---------- 404 page (templates/404.html): light page, no hero (owner, 2026-10-20) ---------- */
.wv-404 { text-align: center; padding-block: clamp(3rem, 2rem + 4vw, 5.5rem) clamp(3.5rem, 2.5rem + 4vw, 6rem) !important; }
.wv-404 > * { margin-block: 0 !important; }
.wv-404__code {
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; letter-spacing: -0.04em;
	font-size: clamp(6rem, 3.5rem + 12vw, 11rem) !important; line-height: 1 !important;
	color: var(--wp--preset--color--indigo-action) !important;
}
.wv-404__title { font-size: clamp(1.75rem, 1.25rem + 2vw, 2.5rem) !important; margin-top: 0.5rem !important; }
.wv-404__text { max-width: 52ch; margin: 1rem auto 0 !important; color: var(--wp--preset--color--ink-muted); font-size: var(--wp--preset--font-size--subtitle); line-height: 1.55; }
.wv-404 .wp-block-buttons { gap: 14px; margin-top: 1.75rem !important; }
.wv-404__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: clamp(2.5rem, 2rem + 2vw, 3.5rem) !important; text-align: left; }
.wv-404__links > * { margin: 0 !important; }
.wv-404__link {
	position: relative; display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center;
	padding: 16px !important; background: var(--wp--preset--color--surface); border: 1px solid #e6e2f5; border-radius: 18px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wv-404__link:hover { border-color: #cfcbe8; box-shadow: var(--wp--preset--shadow--card); }
.wv-404__link p { margin: 0 !important; font-size: var(--wp--preset--font-size--small); line-height: 1.45; color: var(--wp--preset--color--ink-muted); }
.wv-404__link a { font-weight: 700; color: var(--wp--preset--color--ink); text-decoration: none; font-size: 1rem; }
.wv-404__link a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.wv-404__link:hover a { color: var(--wp--preset--color--indigo-action); }
@media (max-width: 781px) { .wv-404__links { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .wv-404__link { transition: none; } }
