/* Visual page elements use the existing public typography, colors and cards. */
.vb-block { max-width: 100%; overflow-wrap: anywhere; }
.vb-columns { display: grid; grid-template-columns: repeat(var(--vb-columns, 3), minmax(0,1fr)); gap: 22px; }
.vb-image img { display: block; max-width: 100%; }
.vb-quote { border-left: 3px solid var(--primary); padding-left: 24px; }
.vb-document > :not(.page-band) { margin-left: auto; margin-right: auto; }
.vb-block.page-feature-card { height: auto; }
.vb-section-inner > .vb-block ~ .vb-block { margin-top: 16px; }
@media(max-width: 991px) { .vb-columns { grid-template-columns: repeat(var(--vb-tablet-columns,2),minmax(0,1fr)); } }
@media(max-width: 640px) { .vb-columns { grid-template-columns: repeat(var(--vb-mobile-columns,1),minmax(0,1fr)); } }

.vb-columns > .page-feature-card { min-width: 0; }
.vb-columns[style*="--vb-card-padding:"] > .page-feature-card { padding: var(--vb-card-padding); }

.vb-form > .vb-block + .vb-block { margin-top: 16px; }
.vb-form-field { min-width: 0; grid-template-columns: minmax(0,1fr); gap: 8px; }
.vb-form-field .website-check { display: flex; align-items: baseline; gap: 8px; }
.vb-form-field input[type="checkbox"], .vb-form-field input[type="radio"] { width: auto; min-height: 0; padding: 0; flex: 0 0 auto; }
.vb-form-field fieldset { min-width: 0; border: 0; padding: 0; }
.vb-form-field legend { float: none; font-size: inherit; }
.vb-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
