/* ZP Vækst-tjek. Arver sidens font; farver som rapporten. */
.zpv { --zpv-gr: #009CA2; --zpv-lg: #E8F6F6; --zpv-dg: #01474A; max-width: 720px; margin: 0 auto; font-family: inherit; color: #1f2328; }
.zpv *, .zpv *::before, .zpv *::after { box-sizing: border-box; }
.zpv-progress { margin-bottom: 18px; }
.zpv-progress-label { font-size: 14px; font-weight: 700; color: var(--zpv-gr); margin-bottom: 8px; }
.zpv-bar { height: 10px; border-radius: 5px; background: var(--zpv-lg); overflow: hidden; }
.zpv-bar-fill { height: 100%; border-radius: 5px; background: var(--zpv-gr); transition: width .3s ease; }
.zpv-card { background: #fff; border: 2px solid var(--zpv-lg); border-radius: 14px; padding: 28px; }
.zpv-leg { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--zpv-gr); margin-bottom: 6px; }
.zpv .zpv-q { font-size: 22px; line-height: 1.3; font-weight: 800; color: var(--zpv-dg); margin: 0 0 18px; outline: none; }
.zpv-intro { margin: -6px 0 18px; font-size: 16px; line-height: 1.5; }
.zpv-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.zpv .zpv-opt { box-sizing: border-box; min-width: 0; max-width: 100%; white-space: normal; height: auto; display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; padding: 14px 16px; border: 2px solid var(--zpv-lg); border-radius: 10px; background: #fff; color: inherit; font: inherit; font-size: 16px; line-height: 1.4; cursor: pointer; transition: border-color .15s, background .15s; text-transform: none; letter-spacing: 0; }
/* Hover kun på enheder med mus. På telefoner bliver :hover hængende på det sted, man trykkede, så næste spørgsmål ser forudfyldt ud. */
@media (hover: hover) and (pointer: fine) { .zpv .zpv-opt:hover { border-color: var(--zpv-gr); } }
.zpv .zpv-opt:focus { outline: none; }
.zpv .zpv-opt:focus-visible { border-color: var(--zpv-gr); outline: none; }
.zpv .zpv-opt.is-on { border-color: var(--zpv-gr); background: var(--zpv-lg); }
.zpv-letter { flex: 0 0 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--zpv-lg); color: var(--zpv-gr); font-weight: 800; text-transform: uppercase; }
.zpv-opt.is-on .zpv-letter { background: var(--zpv-gr); color: #fff; }
.zpv-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; min-height: 10px; }
.zpv .zpv-back { background: none; border: 0; padding: 6px 0; color: var(--zpv-gr); font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.zpv .zpv-btn { display: inline-block; margin-left: auto; padding: 15px 34px; border: 0; border-radius: 40px; background: var(--zpv-gr); color: #fff !important; font-family: inherit; font-size: 15px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
@media (hover: hover) and (pointer: fine) { .zpv .zpv-btn:hover { background: var(--zpv-dg); } }
.zpv .zpv-btn:disabled { opacity: .6; cursor: wait; }
.zpv-field { margin-bottom: 14px; }
.zpv-field label { display: block; font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.zpv-field input[type=text], .zpv-field input[type=email] { width: 100%; padding: 13px 14px; border: 2px solid var(--zpv-lg); border-radius: 10px; font: inherit; font-size: 16px; background: #fff; color: inherit; }
.zpv-field input:focus { border-color: var(--zpv-gr); outline: none; }
.zpv-field.is-bad input { border-color: #c0392b; }
.zpv-consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; line-height: 1.45; cursor: pointer; }
.zpv-consent input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--zpv-gr); flex: 0 0 18px; }
.zpv-consent a { color: var(--zpv-gr); }
.zpv-err, .zpv-msg.is-bad { color: #c0392b; font-size: 14px; margin-top: 6px; }
.zpv-msg:empty { display: none; }
.zpv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.zpv-scores { display: grid; gap: 16px; margin: 8px 0 4px; }
.zpv-score-top { display: flex; justify-content: space-between; font-weight: 700; margin-bottom: 6px; }
.zpv-score-p { color: var(--zpv-gr); font-weight: 800; }
.zpv-score-lvl { font-size: 14px; color: var(--zpv-dg); margin-top: 5px; }
@media (max-width: 480px) {
	.zpv-card { padding: 20px 16px; }
	.zpv .zpv-q { font-size: 19px; }
	.zpv .zpv-btn { padding: 14px 24px; }
}
.zpv-news { margin-top: -4px; }
/* Sidens knapfont (Kontrapunkt) til svar, felter og knapper. Brødtekst bruger sidens egen font. */
.zpv .zpv-opt, .zpv .zpv-btn, .zpv .zpv-back, .zpv-progress-label, .zpv-leg, .zpv-field label, .zpv-score-top, .zpv-letter { font-family: 'thtixrswjuzarzcogkolsjacsjrhcawxguqk', 'KontrapunktMiki', system-ui, sans-serif !important; }
.zpv-opt-txt { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.zpv .zpv-opt { -webkit-tap-highlight-color: transparent; }
