/*
Theme Name: Leitwagen
Theme URI: https://leitwagen.de
Author: Suppora GmbH
Author URI: https://suppora.eu
Description: Block theme for leitwagen.de – Software für Fahrbereitschaften. No external requests, no front-end JavaScript, security hardening built in.
Version: 1.6.4
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: leitwagen
*/

/* Most styling lives in theme.json. This file holds what theme.json cannot express. */

/* Skip link (own, without the inline script WordPress would add). */
.lw-skip-link {
	position: absolute;
	left: 1rem;
	top: -100px;
	z-index: 1000;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--amber);
	color: var(--wp--preset--color--navy);
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
}
.lw-skip-link:focus { top: 1rem; }

/* Visible focus everywhere. */
:where(a, button, summary, input, textarea, select):focus-visible {
	outline: 3px solid var(--wp--preset--color--amber);
	outline-offset: 2px;
	border-radius: 2px;
}
.has-navy-background-color :where(a):focus-visible,
.lw-dark :where(a):focus-visible { outline-color: var(--wp--preset--color--amber); }

/* Header */
.lw-header {
	border-bottom: 3px solid var(--wp--preset--color--amber);
	position: relative;
	z-index: 50;
}
.lw-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	padding: 0.9rem var(--wp--preset--spacing--40);
}
.lw-logo { display: inline-flex; align-items: center; line-height: 0; }
.lw-logo img { height: 34px; width: auto; }
.lw-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 1.4rem; align-items: center; }
.lw-nav a {
	color: var(--wp--preset--color--navy);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.97rem;
	padding: 0.35rem 0;
	border-bottom: 2px solid transparent;
}
.lw-nav a:hover, .lw-nav a[aria-current="page"] { border-bottom-color: var(--wp--preset--color--amber); }
.lw-nav a.lw-nav__cta {
	background: var(--wp--preset--color--navy);
	color: #fff;
	padding: 0.55rem 1rem;
	border-radius: 6px;
	border-bottom: 0;
}
.lw-nav a.lw-nav__cta:hover { background: var(--wp--preset--color--navy-dark); }
.lw-menu { display: none; }
.lw-nav--desktop { display: block; }
.lw-menu > summary::-webkit-details-marker { display: none; }

@media (max-width: 1080px) {
	.lw-nav--desktop { display: none; }
	.lw-menu { display: block; }
	.lw-menu > summary {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		cursor: pointer;
		list-style: none;
		border: 2px solid var(--wp--preset--color--navy);
		border-radius: 6px;
		padding: 0.45rem 0.9rem;
		font-weight: 600;
		color: var(--wp--preset--color--navy);
	}
	.lw-menu[open] .lw-nav {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: #fff;
		border-bottom: 3px solid var(--wp--preset--color--amber);
		box-shadow: 0 12px 24px rgba(20, 33, 61, 0.12);
		padding: 0.5rem var(--wp--preset--spacing--40) 1.25rem;
	}
	.lw-menu[open] .lw-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.lw-menu[open] .lw-nav li { border-bottom: 1px solid var(--wp--preset--color--line); }
	.lw-menu[open] .lw-nav a { display: block; padding: 0.85rem 0; border-bottom: 0; }
	.lw-menu[open] .lw-nav a.lw-nav__cta { margin-top: 1rem; text-align: center; padding: 0.8rem 1rem; }
	.lw-menu[open] .lw-nav li:last-child { border-bottom: 0; }
}

/* Hero */
.lw-hero .wp-block-cover__image-background { object-position: 70% 50%; }
.lw-hero h1 { max-width: 14ch; }
.lw-kicker {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--wp--preset--color--amber);
}
.lw-ai-note {
	font-size: 0.75rem;
	opacity: 0.8;
}
@media (max-width: 781px) {
	.lw-hero .wp-block-cover__image-background { object-position: 80% 50%; }
	/* Lighter overlay so the photo stays visible; the text shadow keeps the copy readable. */
	.lw-hero .wp-block-cover__background { opacity: 0.55 !important; }
	.lw-hero .wp-block-cover__inner-container { text-shadow: 0 1px 12px rgba(10, 20, 40, 0.75); }
	.lw-hero .wp-block-button__link { text-shadow: none; }
}

/* Page header band */
.lw-page-head .wp-block-post-excerpt__excerpt { font-size: var(--wp--preset--font-size--large); max-width: 46rem; }
.lw-page-head .wp-block-post-excerpt__more-text { display: none; }

/* Cards */
.lw-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	height: 100%;
}
.lw-card--dark {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.16);
}
.lw-card h3 { margin-top: 0; }
.wp-block-columns.lw-cards > .wp-block-column { display: flex; flex-direction: column; }
.wp-block-columns.lw-cards > .wp-block-column > .lw-card { flex: 1; }

/* Step numbers */
.lw-step-no {
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wp--preset--color--amber);
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	margin-bottom: 0.5rem;
}

/* Lists with check marks */
.lw-checks { list-style: none; padding-left: 0; }
.lw-checks li { position: relative; padding-left: 1.9rem; margin-bottom: 0.6rem; }
.lw-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--amber) no-repeat center / 0.7rem
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.3l2.5 2.4L10 3.2' fill='none' stroke='%2314213D' stroke-width='2'/%3E%3C/svg%3E");
}

/* Screenshots */
.lw-shot img {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(20, 33, 61, 0.14);
}
.wp-block-image figcaption, .wp-element-caption { color: var(--wp--preset--color--muted); font-size: 0.85rem; }
.lw-dark .wp-element-caption, .has-navy-background-color .wp-element-caption { color: #c9d1e3; }

/* Tables */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: 0.7rem 0.6rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { border-bottom: 2px solid var(--wp--preset--color--navy); font-weight: 600; }
.wp-block-table { overflow-x: auto; }

/* Notes and placeholders */
.lw-note {
	border-left: 4px solid var(--wp--preset--color--amber);
	background: var(--wp--preset--color--surface);
	padding: 1rem 1.25rem;
	border-radius: 0 8px 8px 0;
}

/* Footer */
.lw-footer a { color: #fff; }
.lw-footer a:hover { color: var(--wp--preset--color--amber); }
.lw-footer ul { list-style: none; padding: 0; margin: 0; }
.lw-footer li { margin-bottom: 0.45rem; }
.lw-footer .lw-small { color: #c9d1e3; font-size: 0.85rem; }

/* No horizontal scroll on phones. */
html, body { overflow-x: clip; }
img { max-width: 100%; height: auto; }

/* ===================================================================
 * Editorial components
 * ================================================================ */

/* Section label: "01 — Ausgangslage" with an amber rule. */
.lw-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.75rem !important;
}
.lw-eyebrow::before {
	content: "";
	width: 2.5rem;
	height: 2px;
	background: var(--wp--preset--color--amber);
	flex: none;
}
.lw-dark .lw-eyebrow, .has-navy-background-color .lw-eyebrow { color: #aab6cf; }

/* Serif lead paragraph. */
.lw-lead {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	line-height: 1.4;
	color: var(--wp--preset--color--navy);
}
.lw-dark .lw-lead { color: #fff; }

/* Footer column headings */
.lw-footer h2 {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8rem !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Split rows: text in the content grid, screenshot bleeding to the viewport edge. */
.lw-split { overflow: hidden; }
.lw-split > .wp-block-columns {
	max-width: none !important;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.lw-split--right > .wp-block-columns {
	margin-left: max(var(--wp--preset--spacing--40), calc((100vw - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: 0 !important;
}
.lw-split--left > .wp-block-columns {
	margin-right: max(var(--wp--preset--spacing--40), calc((100vw - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-left: 0 !important;
	flex-direction: row;
}
.lw-split .lw-browser { margin: 0; }
.lw-split--right .lw-browser { border-radius: 10px 0 0 10px; }
.lw-split--right .lw-browser img { border-radius: 0 0 0 10px; border-right: 0; }
.lw-split--left .lw-browser { border-radius: 0 10px 10px 0; }
.lw-split--left .lw-browser img { border-radius: 0 0 10px 0; border-left: 0; }
.lw-split .lw-browser figcaption { padding-right: var(--wp--preset--spacing--40); }
.lw-split--left .lw-browser figcaption { padding-left: var(--wp--preset--spacing--40); }
@media (max-width: 781px) {
	.lw-split > .wp-block-columns {
		margin-left: var(--wp--preset--spacing--40) !important;
		margin-right: var(--wp--preset--spacing--40) !important;
	}
	.lw-split--left > .wp-block-columns { flex-direction: column-reverse; }
	.lw-split--right .lw-browser, .lw-split--left .lw-browser { border-radius: 10px; }
	.lw-split--right .lw-browser img, .lw-split--left .lw-browser img { border-radius: 0 0 10px 10px; border: 1px solid var(--wp--preset--color--line); border-top: 0; }
	.lw-split .lw-browser figcaption { padding: 0; }
}

/* Browser frame around product screenshots (pure CSS). */
.lw-browser { position: relative; }
.lw-browser img {
	display: block;
	width: 100%;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 30px solid #E7EAF0;
	border-radius: 10px;
	box-shadow: 0 24px 48px -12px rgba(20, 33, 61, 0.22);
	background: #fff;
}
.lw-browser::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 14px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #C5CBD6;
	box-shadow: 15px 0 0 #C5CBD6, 30px 0 0 #C5CBD6;
	z-index: 1;
}
.lw-split--left .lw-browser::before { left: auto; right: 44px; }
.lw-browser figcaption { margin-top: 0.9rem; }

/* Plain photo with caption (AI images). */
.lw-photo img { border-radius: 10px; }

/* Steps as a numbered editorial list. */
ol.lw-steps {
	list-style: none;
	counter-reset: lw-step;
	padding: 0;
	margin: 0;
}
ol.lw-steps > li {
	counter-increment: lw-step;
	position: relative;
	padding: 1.4rem 0 1.4rem 5.5rem;
	border-top: 1px solid var(--wp--preset--color--line);
	margin: 0;
}
ol.lw-steps > li:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
ol.lw-steps > li::before {
	content: counter(lw-step, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 1.4rem;
	width: 3.5rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.1rem;
	line-height: 1;
	color: var(--wp--preset--color--navy);
	border-top: 3px solid var(--wp--preset--color--amber);
	padding-top: 0.5rem;
}
@media (max-width: 600px) {
	ol.lw-steps > li { padding-left: 4rem; }
	ol.lw-steps > li::before { width: 2.75rem; font-size: 1.7rem; }
}
ol.lw-steps strong { display: block; font-size: 1.1rem; color: var(--wp--preset--color--navy); margin-bottom: 0.2rem; }

/* Facts: a few precise numbers, set typographically. */
.lw-facts { list-style: none; padding: 0; margin: 2rem 0 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.5rem 2.5rem; }
.lw-facts li { border-top: 2px solid var(--wp--preset--color--navy); padding-top: 0.8rem; color: var(--wp--preset--color--muted); font-size: 0.95rem; }
.lw-facts strong { display: block; font-family: var(--wp--preset--font-family--serif); font-weight: 600; font-size: 2rem; line-height: 1.1; color: var(--wp--preset--color--navy); margin-bottom: 0.3rem; }

/* Points on navy: hairline rules instead of icons. */
.lw-points { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; }
.lw-points li { border-top: 1px solid rgba(255, 255, 255, 0.18); padding: 1rem 0 1.1rem; color: #c9d1e3; }
.lw-points strong { display: block; color: #fff; font-size: 1.05rem; margin-bottom: 0.15rem; }
.lw-points li:nth-child(-n+2) { border-top-color: var(--wp--preset--color--amber); border-top-width: 2px; }
@media (max-width: 781px) { .lw-points { grid-template-columns: 1fr; } .lw-points li:nth-child(2) { border-top: 1px solid rgba(255,255,255,.18); } }

/* Definition-style rows (feature lists on sub pages). */
.lw-rows { list-style: none; padding: 0; margin: 0; }
.lw-rows li { border-top: 1px solid var(--wp--preset--color--line); padding: 0.85rem 0; }
.lw-rows li:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
.lw-rows strong { color: var(--wp--preset--color--navy); }

/* Founder note */
.lw-founder {
	border-top: 3px solid var(--wp--preset--color--amber);
	padding-top: var(--wp--preset--spacing--30);
}
.lw-founder p.lw-founder__text {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	line-height: 1.5;
	color: var(--wp--preset--color--navy);
}
.lw-founder .lw-signature { font-size: 0.95rem; color: var(--wp--preset--color--muted); }
.lw-founder .lw-signature strong { color: var(--wp--preset--color--navy); }

/* Comparison table: "Bisher" muted, "Mit Leitwagen" strong. */
.lw-compare td:nth-child(2) { color: var(--wp--preset--color--muted); }
.lw-compare td:nth-child(3) { color: var(--wp--preset--color--navy); font-weight: 500; }

/* Hero */
.lw-hero h1 { font-family: var(--wp--preset--font-family--serif); font-weight: 600; letter-spacing: -0.02em; }

/* Section rhythm */
.lw-section-head { max-width: 46rem; }
.lw-section-head h2 { margin-top: 0; }

/* Sections sit flush: no block gap between header, main, footer and full-width sections. */
:where(.wp-site-blocks) > *,
.wp-block-post-content > .alignfull,
main > .wp-block-post-content,
main > .wp-block-cover + .wp-block-post-content { margin-block-start: 0 !important; }
.wp-block-post-content > .alignfull:last-child { margin-block-end: 0; }
.lw-rows { margin-top: 1.5rem !important; }
.lw-points { margin-top: 2.5rem !important; }
.wp-block-table td, .wp-block-table th { hyphens: auto; overflow-wrap: normal; word-break: normal; }
@media (max-width: 600px) {
	.wp-block-table table { table-layout: auto; font-size: 0.9rem; }
	.wp-block-table th, .wp-block-table td { padding: 0.6rem 0.4rem; }
}

/* Legal pages */
.lw-legal h2 { margin-top: 2.5rem; font-size: 1.35rem; }
.lw-legal h3 { margin-top: 1.75rem; font-size: 1.05rem; }
.lw-legal p, .lw-legal li { font-size: 1rem; }
.lw-paras { list-style: none; padding: 0; margin: 0; }
.lw-paras li { padding: 0.35rem 0; }

/* Product video */
.lw-video video { width: 100%; height: auto; border-radius: 10px; background: var(--wp--preset--color--navy-dark); aspect-ratio: 16 / 9; }
.lw-video figcaption { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Landing pages: header without navigation, reduced footer */
.lw-footer__legal { display: flex; flex-wrap: wrap; gap: 0.4rem 1.5rem; font-size: 0.9rem; }
.lw-footer--landing .lw-small { margin-top: 1rem; }

/* Request form ([leitwagen_anfrage]) */
.lw-form {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 3px solid var(--wp--preset--color--amber);
	border-radius: 10px;
	padding: clamp(1.25rem, 3vw, 2rem);
	box-shadow: 0 12px 32px rgba(20, 33, 61, 0.08);
}
.lw-form p { margin: 0 0 1rem; }
.lw-form label { display: block; font-weight: 600; font-size: 0.95rem; color: var(--wp--preset--color--navy); margin-bottom: 0.3rem; }
.lw-form input[type="text"], .lw-form input[type="email"], .lw-form input[type="tel"], .lw-form select, .lw-form textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 1rem;
	color: var(--wp--preset--color--ink);
	background: #fff;
	border: 1px solid #b8c0cf;
	border-radius: 6px;
	padding: 0.65rem 0.75rem;
}
.lw-form textarea { resize: vertical; }
.lw-form :is(input, select, textarea):focus-visible { outline: 3px solid var(--wp--preset--color--amber); outline-offset: 1px; border-color: var(--wp--preset--color--navy); }
.lw-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.lw-form__choice { border: 0; padding: 0; margin: 0 0 1.25rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.lw-form__choice legend { font-weight: 600; color: var(--wp--preset--color--navy); margin-bottom: 0.5rem; padding: 0; width: 100%; }
.lw-form__choice label { display: inline-flex; align-items: center; gap: 0.45rem; margin: 0; font-weight: 500; border: 1px solid #b8c0cf; border-radius: 6px; padding: 0.5rem 0.85rem; cursor: pointer; }
.lw-form__choice label:has(input:checked) { border-color: var(--wp--preset--color--navy); box-shadow: inset 0 0 0 1px var(--wp--preset--color--navy); background: var(--wp--preset--color--surface); }
.lw-form__choice input { accent-color: var(--wp--preset--color--navy); margin: 0; }
.lw-form__opt { font-weight: 400; color: var(--wp--preset--color--muted); font-size: 0.85rem; }
.lw-form__privacy { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.lw-form__submit button { width: 100%; cursor: pointer; font-size: 1.05rem; padding: 0.9rem 1.25rem; }
.lw-form__error { background: #fdf3d7; border-left: 4px solid var(--wp--preset--color--amber); padding: 0.75rem 1rem; color: var(--wp--preset--color--ink); }
.lw-form__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#anfrage { scroll-margin-top: 1rem; }
@media (max-width: 600px) {
	.lw-form__row { grid-template-columns: 1fr; }
}
.lw-form__consent label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.lw-form__consent input { margin-top: 0.2rem; accent-color: var(--wp--preset--color--navy); flex: none; }

/* Effort calculator ([leitwagen_rechner]) */
.lw-calc { background: #fff; border: 1px solid var(--wp--preset--color--line); border-top: 3px solid var(--wp--preset--color--amber); border-radius: 10px; padding: clamp(1.25rem, 3vw, 2rem); }
.lw-calc__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.lw-calc p { margin: 0 0 1rem; }
.lw-calc label { display: block; font-weight: 600; font-size: 0.95rem; color: var(--wp--preset--color--navy); margin-bottom: 0.3rem; }
.lw-calc input { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink); border: 1px solid #b8c0cf; border-radius: 6px; padding: 0.65rem 0.75rem; background: #fff; }
.lw-calc input:focus-visible { outline: 3px solid var(--wp--preset--color--amber); outline-offset: 1px; border-color: var(--wp--preset--color--navy); }
.lw-calc__hint, .lw-calc__opt { display: block; font-size: 0.8rem; color: var(--wp--preset--color--muted); margin-top: 0.25rem; font-weight: 400; }
.lw-calc__opt { display: inline; }
.lw-calc__submit button { cursor: pointer; }
.lw-calc__result { border-top: 1px solid var(--wp--preset--color--line); margin-top: 0.5rem; padding-top: 1.25rem; }
.lw-calc__label { font-weight: 600; color: var(--wp--preset--color--navy); }
.lw-calc__result .lw-facts { margin-top: 0.5rem !important; }
.lw-calc__note { font-size: 0.9rem; color: var(--wp--preset--color--muted); margin-top: 1.25rem !important; }
#rechner { scroll-margin-top: 1rem; }
@media (max-width: 600px) { .lw-calc__fields { grid-template-columns: 1fr; } }
.lw-calc__wide { grid-column: 1 / -1; }
.lw-calc .lw-calc__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.lw-calc__facts strong { font-size: 1.6rem; }
.lw-calc__label--saving { margin-top: 1.75rem !important; }
.lw-calc__facts--saving li { border-top-color: var(--wp--preset--color--amber); }
@media (max-width: 600px) { .lw-calc .lw-calc__facts { grid-template-columns: 1fr; } }
.lw-calc__table { width: 100%; border-collapse: collapse; margin-top: 0.5rem; font-variant-numeric: tabular-nums; }
.lw-calc__table th, .lw-calc__table td { text-align: right; padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.lw-calc__table th:first-child { text-align: left; }
.lw-calc__table thead th { font-size: 0.8rem; font-weight: 600; color: var(--wp--preset--color--muted); border-bottom: 2px solid var(--wp--preset--color--navy); }
.lw-calc__table tbody td { font-family: var(--wp--preset--font-family--serif); font-size: 1.25rem; font-weight: 600; color: var(--wp--preset--color--navy); }
.lw-calc__row--diff th, .lw-calc__row--diff td { background: #fdf3d7; border-bottom: 2px solid var(--wp--preset--color--amber); }
.lw-calc__lead { font-weight: 600; color: var(--wp--preset--color--navy); margin-top: 1rem !important; }
@media (max-width: 600px) { .lw-calc__table th, .lw-calc__table td { padding: 0.5rem 0.25rem; } .lw-calc__table tbody td { font-size: 1.05rem; } }

/* Borlabs Cookie: logo and headline fit on small screens */
#BorlabsCookieBox .brlbs-cmpnt-dialog-box-header { flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; }
#BorlabsCookieBox img.brlbs-dialog-logo { height: 28px !important; width: auto !important; max-width: 45%; margin-right: 0 !important; }
#BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-headline { font-size: 1.15rem !important; line-height: 1.2; }
@media (max-width: 400px) {
	#BorlabsCookieBox img.brlbs-dialog-logo { height: 24px !important; }
	#BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-headline { font-size: 1rem !important; }
}
.lw-calc__table td { white-space: nowrap; }
@media (max-width: 600px) {
	.lw-calc__table tbody td { font-size: 0.98rem; }
	.lw-calc__table tbody th { font-size: 0.88rem; }
	.lw-calc__table thead th { font-size: 0.72rem; }
}
