/* Zusi — refinements (loaded after site.css) */
body { overflow-x: clip; }
html { overflow-x: clip; }
.zr.is-hcenter > .zc:only-child { grid-column: 3 / span 8; }
.zr.is-hcenter > .zc--s6:only-child { grid-column: 4 / span 6; }
@media (max-width: 900px) {
	.zr.is-hcenter > .zc:only-child { grid-column: 1 / -1; }
	.zr--split { gap: 0; row-gap: 40px; }
	.zr { column-gap: 12px; }
}

/* light cards keep dark text wherever they sit */
.zs .zcard--white, .zs .zcard--tint { color: var(--text); }
.zs .zcard--white :is(h1, h2, h3, h4, h5, h6), .zs .zcard--tint :is(h1, h2, h3, h4, h5, h6) { color: var(--ink); }
.zs .zcard--white a:not(.zbtn), .zs .zcard--tint a:not(.zbtn) { color: var(--blue); text-decoration: none; }
.zs--hero .zcard--white p, .zs--image .zcard--white p { color: var(--text); }
.zs--hero .zcard--white .zh { font-size: clamp(22px, 2vw, 28px); max-width: none; }
.zs--hero .zcard--white { padding: clamp(26px, 3vw, 40px); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .45); }
/* coloured headings on coloured backgrounds */
.zs--brand .zh--accent, .zs--blue .zh--accent, .zs--image .zh--accent { background: none; color: #fff !important; }
.zh-accent { background: linear-gradient(90deg, #5fd12a, #34d1a0); -webkit-background-clip: text; background-clip: text; color: transparent; display: inline; }
.zs--light .zh-accent, .zs--subtle .zh-accent { background-image: var(--grad-text); }
/* image boxes with small icons */
.zibox--icon { text-align: center; }
.zibox--icon .zibox-media { aspect-ratio: auto; background: none; padding: 30px 0 0; display: flex; justify-content: center; }
.zibox--icon .zibox-media::after { content: none; }
.zibox--icon .zibox-img { width: 84px; height: 84px; object-fit: contain; padding: 14px; border-radius: 22px; background: linear-gradient(140deg, rgba(10, 142, 230, .1), rgba(46, 173, 0, .1)); }
.zibox--icon:hover .zibox-img { transform: none; }
.zibox--icon .zibox-b { padding: 18px 22px 26px; }
.zibox--icon .zibox-t { font-size: clamp(19px, 1.6vw, 23px); margin-bottom: .2em; }
.zibox--icon p { margin: 0; }
/* landing page in-page links */
.zlpnav { display: flex; gap: 6px; margin-left: auto; }
.zlpnav a { padding: 8px 14px; border-radius: 999px; font-weight: 600; font-size: 14px; color: var(--ink); }
.zlpnav a:hover { background: var(--subtle); color: var(--blue); }
.zhead--lp .zlpnav + .zhead-lpb { margin-left: 12px; }
@media (max-width: 900px) { .zlpnav { display: none; } }
.zarticle-img img { max-height: 560px; object-fit: cover; }
@media (max-width: 640px) { .zbtn { white-space: normal; max-width: 100%; padding: 10px 22px; } }
.zs--hero .zh--accent, .zs--hero .zh-accent { background: linear-gradient(90deg, #c6ff9a, #8ff0d4); -webkit-background-clip: text; background-clip: text; color: transparent !important; }

/* Form cards are white: keep their text dark even inside a coloured band */
.zform{color:#3b4250}
.zform label,.zform .nf-field-label label,.zform .nf-field-label,.zform li label,.zform .nf-form-fields-required{color:#16181d}
.zform .listradio-wrap li label,.zform .listcheckbox-wrap li label{font-size:15px;font-weight:500;display:inline-block;margin-left:6px}

/* Trustpilot strip: live text, not an image */
.ztrust a { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 6px 10px; color: #fff; text-decoration: none; font-size: 14px; line-height: 1.2; }
.ztrust a:hover .ztrust-txt { text-decoration: underline; }
.ztrust strong { font-size: 16px; font-weight: 700; }
.ztrust-stars { display: inline-flex; gap: 2px; }
.ztrust-s { display: inline-flex; width: 20px; height: 20px; background: #dcdce6; align-items: center; justify-content: center; }
.ztrust-s.is-on { background: #00b67a; }
.ztrust-s svg { width: 14px; height: 14px; fill: #fff; }
.ztrust-tp { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; font-size: 15px; }
.ztrust-tp .ztrust-s { background: none; width: auto; height: auto; }
.ztrust-tp .ztrust-s svg { width: 18px; height: 18px; fill: #00b67a; }
@media (max-width: 600px) { .ztrust-txt { font-size: 13px; } }
