/* Vollerup 2hjul-Center: designsystem oven på Extendable */
:root {
	--v2h-ink: #1f2a30;
	--v2h-text: #3d4a51;
	--v2h-muted: #6b767c;
	--v2h-slate: #2f434e;
	--v2h-slate-dark: #243540;
	--v2h-green: #4f8a3c;
	--v2h-green-dark: #3f7230;
	--v2h-paper: #f5f3ee;
	--v2h-line: #e2ded5;
	--v2h-max: 1180px;
	--v2h-text-max: 720px;
	--v2h-gutter: clamp(16px, 4vw, 40px);
	--v2h-head: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
	--v2h-body: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
	--wp--style--global--content-size: var(--v2h-max);
	--wp--style--global--wide-size: var(--v2h-max);
}

body {
	background: #fff;
	color: var(--v2h-text);
	font-family: var(--v2h-body);
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	font-family: var(--v2h-head);
	color: var(--v2h-ink);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.1;
	text-transform: none;
}
h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 700; }
h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
h3 { font-size: clamp(1.4rem, 2.2vw, 1.75rem); }
h4 { font-size: 1.3rem; }

p { margin: 0 0 1em; }
a { color: var(--v2h-green-dark); text-underline-offset: 3px; }
a:hover { color: var(--v2h-slate); }

main .wp-block-list { padding-left: 1.2em; }
main .wp-block-list li { margin-bottom: .35em; }
main .wp-block-list li::marker { color: var(--v2h-green); }

/* Knapper: rolige, kantede, ingen piller */
.wp-block-button__link,
.wp-element-button {
	background: var(--v2h-green);
	color: #fff;
	border-radius: 3px;
	font-family: var(--v2h-body);
	font-weight: 600;
	font-size: 1rem;
	padding: .8em 1.4em;
	border: 2px solid var(--v2h-green);
	transition: background-color .15s ease, border-color .15s ease;
}
.wp-block-button__link:hover { background: var(--v2h-green-dark); border-color: var(--v2h-green-dark); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--v2h-slate);
	border-color: var(--v2h-slate);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--v2h-slate); color: #fff; }

/* Sektioner */
.v2h-section { padding: clamp(48px, 7vw, 88px) var(--v2h-gutter); }
.v2h-section:not(.is-paper):not(.is-slate) + .v2h-section:not(.is-paper):not(.is-slate) { padding-top: 0; }
.v2h-section.is-paper,
.v2h-section.is-slate { padding-top: clamp(48px, 7vw, 88px); }
.v2h-section.is-paper { background: var(--v2h-paper); }
.v2h-section.is-slate { background: var(--v2h-slate); color: #dfe6ea; }
.v2h-section.is-slate h2, .v2h-section.is-slate h3 { color: #fff; }
.v2h-section.is-slate a:not(.wp-block-button__link) { color: #fff; }
.v2h-narrow > * { max-width: var(--v2h-text-max); }
.v2h-section > .wp-block-heading:first-child { margin-top: 0; }

.v2h-eyebrow {
	font-family: var(--v2h-body);
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--v2h-green-dark);
	margin-bottom: .6em;
}
.is-slate .v2h-eyebrow { color: #a9c79d; }

/* Topbar og header */
.v2h-topbar {
	background: var(--v2h-slate-dark);
	color: #cfd8dc;
	font-size: .875rem;
	padding: 8px var(--v2h-gutter);
}
.v2h-topbar p { margin: 0; }
.v2h-topbar a { color: #fff; text-decoration: none; }
.v2h-topbar a:hover { text-decoration: underline; color: #fff; }
.v2h-header {
	background: #fff;
	border-bottom: 1px solid var(--v2h-line);
	padding: 14px var(--v2h-gutter);
}
.v2h-header .wp-block-site-logo img { width: 210px; height: auto; }
.v2h-header .wp-block-navigation {
	font-family: var(--v2h-body);
	font-size: .98rem;
	font-weight: 600;
	color: var(--v2h-ink);
	gap: .2em 1.4em;
}
.v2h-header .wp-block-navigation a { text-decoration: none; }
.v2h-header .wp-block-navigation .current-menu-item > a,
.v2h-header .wp-block-navigation a[aria-current="page"] { color: var(--v2h-green-dark); box-shadow: inset 0 -2px 0 var(--v2h-green); }
.v2h-header .wp-block-navigation__submenu-container { border: 1px solid var(--v2h-line) !important; padding: 6px 0; min-width: 190px !important; }
.v2h-header .wp-block-navigation__submenu-container a { padding: 8px 16px !important; }

/* Forside: hero */
.v2h-hero { padding: clamp(40px, 6vw, 80px) var(--v2h-gutter); background: var(--v2h-paper); }
.v2h-hero .wp-block-columns { gap: clamp(28px, 5vw, 72px); }
.v2h-hero h1 { margin: 0 0 .35em; }
.v2h-hero .v2h-lead { font-size: 1.25rem; color: var(--v2h-text); max-width: 32em; }
.v2h-hero figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.v2h-hero .v2h-facts { margin-top: 2em; border-top: 1px solid var(--v2h-line); padding-top: 1.2em; }

/* Undersider: sidehoved */
.v2h-pagehero { padding: clamp(36px, 5vw, 64px) var(--v2h-gutter); background: var(--v2h-paper); border-bottom: 1px solid var(--v2h-line); }
.v2h-pagehero .wp-block-columns { gap: clamp(24px, 5vw, 64px); }
.v2h-pagehero h1 { margin: 0; }
.v2h-pagehero figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; }
.v2h-pagehero figure.is-product img { object-fit: contain; background: #fff; padding: 16px; }

/* Kort */
.v2h-cards { gap: clamp(16px, 2.5vw, 28px) !important; }
.v2h-card { position: relative; background: #fff; border: 1px solid var(--v2h-line); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; }
.v2h-card figure { margin: 0; }
.v2h-card figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.v2h-card figure.is-product img { object-fit: contain; background: #fff; padding: 12px; }
.v2h-card .v2h-card-body { padding: 18px 20px 22px; }
.v2h-card h3 { margin: 0 0 .2em; }
.v2h-card p { margin: 0; color: var(--v2h-muted); }
.v2h-card h3 a { color: var(--v2h-ink); text-decoration: none; }
.v2h-card h3 a::after { content: ""; position: absolute; inset: 0; }
.v2h-card:hover { border-color: #c9c3b6; }
.v2h-card:hover h3 a { color: var(--v2h-green-dark); }

/* Udsagn på mørk baggrund */
.v2h-statement h2 { font-size: clamp(1.8rem, 3.6vw, 2.8rem); max-width: 22em; margin: 0; font-weight: 500; }

/* Billede + tekst */
.v2h-split { gap: clamp(28px, 5vw, 72px) !important; }
.v2h-split figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.v2h-split figure.is-product img { object-fit: contain; background: #fff; }

/* Mærkelogoer */
.v2h-logos { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0 !important; border-top: 1px solid var(--v2h-line); border-left: 1px solid var(--v2h-line); margin-top: 1.2em; }
.v2h-logos > figure { margin: 0 !important; border-right: 1px solid var(--v2h-line); border-bottom: 1px solid var(--v2h-line); display: flex; align-items: center; justify-content: center; padding: 18px 20px; background: #fff; }
.v2h-logos img { max-height: 40px; width: auto; filter: grayscale(1); opacity: .8; transition: filter .15s, opacity .15s; }
.v2h-logos a:hover img { filter: none; opacity: 1; }

/* Kategorilinks */
.v2h-links { display: flex !important; flex-wrap: wrap; gap: 10px !important; margin-top: 1.4em; }
.v2h-links p { margin: 0; }
.v2h-links a { display: inline-block; padding: .5em .95em; border: 1px solid var(--v2h-line); border-radius: 3px; background: #fff; color: var(--v2h-ink); text-decoration: none; font-weight: 600; font-size: .95rem; }
.v2h-links a::after { content: " \2192"; color: var(--v2h-green); }
.v2h-links a:hover { border-color: var(--v2h-slate); }

/* Trin (finansiering) */
.v2h-steps { counter-reset: v2h; gap: clamp(16px, 2.5vw, 28px) !important; }
.v2h-step { border-top: 3px solid var(--v2h-slate); padding-top: 14px; }
.v2h-step figure { display: none; }
.v2h-step h3::before { counter-increment: v2h; content: counter(v2h) ". "; color: var(--v2h-green-dark); }

/* Fakta */
.v2h-facts { gap: 24px !important; }
.v2h-facts p { margin: 0; font-size: .95rem; color: var(--v2h-muted); line-height: 1.35; }
.v2h-facts strong { display: block; font-family: var(--v2h-head); font-size: 1.9rem; color: var(--v2h-ink); font-weight: 600; line-height: 1.1; }

/* Åbningstider */
.v2h-hours { width: 100%; border-collapse: collapse; }
.v2h-hours td { padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.v2h-hours td:last-child { text-align: right; }

/* Footer */
.v2h-footer { background: var(--v2h-slate-dark); color: #b9c5cb; padding: clamp(44px, 6vw, 72px) var(--v2h-gutter) 24px; font-size: .97rem; }
.v2h-footer h3 { color: #fff; font-size: 1.15rem; font-family: var(--v2h-body); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 .9em; }
.v2h-footer p { margin: 0 0 .45em; }
.v2h-footer a { color: #fff; text-decoration: none; }
.v2h-footer a:hover { text-decoration: underline; }
.v2h-footer .v2h-footlogo img { filter: brightness(0) invert(1); width: 200px; height: auto; }
.v2h-footer .v2h-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 36px; padding-top: 18px; font-size: .85rem; color: #8fa0a8; }

@media (max-width: 781px) {
	body { font-size: 17px; }
	.v2h-topbar .v2h-topbar-left { display: none; }
	.v2h-topbar > .wp-block-group { justify-content: center !important; }
	.v2h-header .wp-block-site-logo img { width: 170px; }
	.v2h-hero > .wp-block-columns > .wp-block-column:last-child { order: -1; }
	.v2h-facts .wp-block-column { flex-basis: 30% !important; }
	.v2h-facts { flex-wrap: nowrap !important; gap: 14px !important; }
	.v2h-facts strong { font-size: 1.25rem; }
	.v2h-split.is-reversed .wp-block-column:first-child { order: 2; }
}

/* Fjern temaets luft mellem header, indhold og footer */
.wp-site-blocks > * + *,
.wp-site-blocks main > * + *,
main.wp-block-group { margin-block-start: 0 !important; }
.wp-site-blocks main { padding: 0 !important; }
.entry-content > .alignfull { margin-block-start: 0; }
.v2h-facts strong { font-size: 1.6rem; }

.v2h-card .v2h-card-body > * { margin-left: 0; margin-right: 0; }
.v2h-statement > * { margin-left: 0 !important; }

.v2h-pagehero .v2h-lead { font-size: 1.25rem; margin: .6em 0 0; color: var(--v2h-text); }
.v2h-card .v2h-card-body h3 { margin-top: 0; }
@media (max-width: 600px) { .v2h-logos { grid-template-columns: repeat(2, 1fr); } }
.wp-block-table { overflow-x: auto; margin: 1.5em 0; }
.wp-block-table table { border-collapse: collapse; font-size: .9rem; min-width: 560px; }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--v2h-line); padding: 8px 10px; text-align: left; vertical-align: top; }
.wp-block-table th { background: var(--v2h-paper); }
.v2h-more { margin-top: -.5em; }
.v2h-more a { font-weight: 700; text-decoration: none; color: var(--v2h-green-dark); border-bottom: 2px solid rgba(79,138,60,.3); padding-bottom: 2px; }
.v2h-more a::after { content: " \2192"; }
.v2h-more a:hover { border-bottom-color: var(--v2h-green); color: var(--v2h-green-dark); }
.wp-block-table table:not(:has(th)) { min-width: 0; width: 100%; font-size: 1rem; }
.wp-block-table table:not(:has(th)) td { border: 0; border-bottom: 1px solid var(--v2h-line); padding: 10px 0; }
.wp-block-table table:not(:has(th)) td:first-child { font-weight: 600; color: var(--v2h-ink); width: 40%; }
.wp-block-table table:not(:has(th)) a { color: inherit; text-decoration: none; }

@media (max-width: 781px) {
	.v2h-hero .v2h-facts strong { font-size: 1.1rem; }
	.v2h-hero .v2h-facts p { font-size: .85rem; }
}
.v2h-warning { font-size: .95rem; margin-top: 1em; }
.v2h-footer .v2h-warning { font-size: .85rem; color: #fff; }
