/* VOLENG V25.77.3 — unified marketing visual tokens and accessible contrast.
   Pure presentation layer; no catalog, access, price, payment or form logic altered. */
:root {
  --voleng-navy: #102b55;
  --voleng-ink: #102341;
  --voleng-primary: #155eef;
  --voleng-primary-hover: #0d4ecf;
  --voleng-bg: #f7f9fc;
  --voleng-surface: #fff;
  --voleng-muted: #52647e;
  --voleng-border: #dae3f0;
  --voleng-shadow: 0 12px 32px rgba(18,45,90,.075);
  --voleng-field: #2563eb;
  --voleng-business: #7047d7;
  --voleng-agenda: #008b80;
  --voleng-resto: #18824d;
}
/* HOME: visual identity remains in original hero and four solution cards. */
body.v77-home .v772-apps {
  background: var(--voleng-bg)!important;
  border-top: 1px solid #edf1f7;
  border-bottom: 1px solid #e7ecf5;
}
body.v77-home .v772-section-head h2,
body.v77-home .vs-needs .vs-heading h2,
body.v77-home .vs-needs .vs-heading h2 *,
body.v77-home .v52-pricing-bridge h2,
body.v77-home .faq-section h2 {
  color: var(--voleng-navy)!important;
}
body.v77-home .v772-section-head p,
body.v77-home .vs-needs .vs-heading p,
body.v77-home .v52-pricing-bridge p,
body.v77-home .faq-section p {
  color: var(--voleng-muted)!important;
}
body.v77-home .v772-kicker, body.v77-home .vs-needs .vs-eyebrow,
body.v77-home .vs-needs .vs-kicker {color:#1555c0!important}
body.v77-home .v772-apps .vb-catalog-filters {
  background:#fff!important; border-color:var(--voleng-border)!important;
  box-shadow:0 6px 18px rgba(13,41,83,.055)!important;
}
body.v77-home .v772-apps .vb-filter.is-active {
  background:var(--voleng-primary)!important;
  box-shadow:0 6px 14px rgba(21,94,239,.24)!important;
}
body.v77-home .v772-app-grid>.v772-app-card,
body.v77-home .v772-app-grid>[data-vb-group="field"],
body.v77-home .v772-app-grid>[data-vb-group="business"],
body.v77-home .v772-app-grid>[data-vb-group="agenda"],
body.v77-home .v772-app-grid>[data-vb-group="resto"] {
  --app-tint:var(--voleng-field);
  background:linear-gradient(160deg,#fff 73%,#f7faff 100%)!important;
  border:1px solid var(--voleng-border)!important;
  border-radius:20px!important;
  box-shadow:var(--voleng-shadow)!important;
  min-height:239px!important;
}
body.v77-home .v772-app-grid>[data-vb-group="business"] {--app-tint:var(--voleng-business)}
body.v77-home .v772-app-grid>[data-vb-group="agenda"] {--app-tint:var(--voleng-agenda)}
body.v77-home .v772-app-grid>[data-vb-group="resto"] {--app-tint:var(--voleng-resto)}
body.v77-home .v772-app-grid>.v772-app-card::before {
  content:"";position:absolute;left:0;top:0;right:0;height:3px;
  background:var(--app-tint);opacity:.82;
}
body.v77-home .v772-app-grid>.v772-app-card:hover {
  border-color:color-mix(in srgb,var(--app-tint) 32%,#fff)!important;
  box-shadow:0 19px 42px rgba(18,45,90,.14)!important;
  transform:translateY(-3px)!important;
}
body.v77-home .v772-app-card .app-icon {
  background:color-mix(in srgb,var(--app-tint) 11%,#fff)!important;
  color:var(--app-tint)!important;
  box-shadow:none!important;border:1px solid color-mix(in srgb,var(--app-tint) 17%,#fff);
}
body.v77-home .v772-app-card .v772-app-chevron {background:#f2f5fb;color:var(--app-tint)}
body.v77-home .v772-app-card strong {color:var(--voleng-ink)!important}
body.v77-home .v772-app-card .vb-app-description {color:var(--voleng-muted)!important}
body.v77-home .v772-app-card .v772-tags {color:var(--app-tint)!important}
body.v77-home .v772-app-card .v772-app-cta {
  color:var(--app-tint)!important;border-top-color:#e3eaf4!important;
}
body.v77-home .v772-app-grid>.v772-app-planned {
  background:#fff!important; border:1px dashed #bdcee5!important;
  box-shadow:none!important;
}
/* Product stories: harmonise tints without wiping out the product identity. */
body.v77-home .v772-story {
  background:linear-gradient(155deg,#fff,#eef5ff)!important;
  border-color:#d6e4f5!important; box-shadow:var(--voleng-shadow)!important;
}
body.v77-home .v772-story-business {background:linear-gradient(155deg,#fff,#f4efff)!important;border-color:#e1d7f7!important}
body.v77-home .v772-story-agenda {background:linear-gradient(155deg,#fff,#ecfaf6)!important;border-color:#ceebe5!important}
body.v77-home .v772-story-resto {background:linear-gradient(155deg,#fff,#f1faef)!important;border-color:#d4e9d2!important}
body.v77-home .v772-story-text h3 {color:var(--voleng-navy)!important}
body.v77-home .v772-story-text p {color:var(--voleng-muted)!important}
body.v77-home .v772-story-link {color:var(--voleng-primary)!important}
/* Smart Planning: retain premium dark feature highlight, standardise its cards and CTA. */
body.v77-home .v772-planning {
  background:linear-gradient(125deg,#102b55,#153767 68%,#174476)!important;
}
body.v77-home .v772-planning .v772-action {
  background:var(--voleng-primary)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.25)!important;
  box-shadow:0 12px 24px rgba(4,18,46,.24)!important;
}
body.v77-home .v772-planning .v772-action:hover {background:var(--voleng-primary-hover)!important}
body.v77-home .v772-level,body.v77-home .v772-level-advanced,
body.v77-home .v772-level-pro {
  background:#fff!important;border:1px solid #d6e4f5!important;
  box-shadow:0 12px 30px rgba(5,23,51,.16)!important;
}
body.v77-home .v772-level-pro {border-color:#cab6ef!important;box-shadow:inset 0 3px 0 var(--voleng-business),0 12px 30px rgba(5,23,51,.16)!important}
body.v77-home .v772-level .v772-level-tier {background:#eaf2ff!important;color:#1854b8!important}
body.v77-home .v772-level-pro .v772-level-tier {background:var(--voleng-business)!important;color:#fff!important}
body.v77-home .v772-level h3 {color:var(--voleng-navy)!important}
body.v77-home .v772-level p {color:var(--voleng-muted)!important}
body.v77-home .v772-level-who {color:#1b5ac4!important}
/* Critical contrast bug: legacy marketing rule expects navy section and forces white text.
   V25.77.2 switched that section to pale without resetting heading text. */
body.v77-home.marketing-v2533 section.vs-needs {
  background:#f1f5fb!important;color:var(--voleng-ink)!important;
  border-top:1px solid #e5edf7!important;
}
body.v77-home.marketing-v2533 .vs-needs .vs-heading h2,
body.v77-home.marketing-v2533 .vs-needs .vs-heading h2 * {color:var(--voleng-navy)!important;opacity:1!important}
body.v77-home.marketing-v2533 .vs-needs .vs-heading p {color:var(--voleng-muted)!important;opacity:1!important}
body.v77-home .vs-needs :is(.vs-need-choices,.vs-need-proposal) {
  background:#fff!important;border:1px solid var(--voleng-border)!important;
  border-radius:22px!important;box-shadow:var(--voleng-shadow)!important;
}
body.v77-home .vs-needs .vs-need-proposal h3 {color:var(--voleng-navy)!important}
body.v77-home .vs-needs .vs-need-proposal p {color:var(--voleng-muted)!important}
body.v77-home .vs-needs .vs-need {background:#f8faff!important;border-color:#d4e1f3!important;color:#233a5b!important}
body.v77-home .vs-needs .vs-need:has(input:checked) {background:#eaf2ff!important;border-color:var(--voleng-primary)!important}
body.v77-home .vs-needs .vs-btn:not(.vs-outline) {background:var(--voleng-primary)!important;color:#fff!important}
body.v77-home .vs-needs .vs-btn.vs-outline {background:#e9f1ff!important;color:#164a9c!important}
body.v77-home .faq-section {background:var(--voleng-bg)!important;border-radius:22px;}
body.v77-home .v52-pricing-bridge {background:#fff!important}
body.v77-home .v49-close {background:linear-gradient(130deg,#102b55,#174376)!important}
/* Pricing: one card anatomy and action language, retaining product-specific highlights. */
body.v77-pricing {background:var(--voleng-bg)!important;color:var(--voleng-ink)!important}
body.v77-pricing .v77-suite-strip>.card,
body.v77-pricing .family .cards .card {
  border-radius:20px!important;
  box-shadow:var(--voleng-shadow)!important;
  border-color:var(--voleng-border)!important;
}
body.v77-pricing .family .cards .card {
  background:linear-gradient(150deg,#fff,#f9fbff)!important;
}
body.v77-pricing .family .cards .card[data-sku=hr],
body.v77-pricing .family .cards .card[data-sku=fleet],
body.v77-pricing .family .cards .card[data-sku=finance] {
  background:linear-gradient(150deg,#fff,#fbf9ff)!important;border-color:#e3dbf3!important;
}
body.v77-pricing .family .cards .card[data-sku=appointments],
body.v77-pricing .family .cards .card[data-sku=reception] {
  background:linear-gradient(150deg,#fff,#f5fcfa)!important;border-color:#d3eae5!important;
}
body.v77-pricing .v77-suite-strip>.card .card-foot button,
body.v77-pricing .family .cards .card .card-foot button {
  background:var(--voleng-primary)!important;color:white!important;
  border:0!important;min-height:43px!important;border-radius:12px!important;
  box-shadow:0 6px 16px rgba(21,94,239,.18)!important;
}
body.v77-pricing .v77-suite-strip>.card .card-foot button:hover,
body.v77-pricing .family .cards .card .card-foot button:hover {background:var(--voleng-primary-hover)!important}
body.v77-pricing .v77-suite-strip>.card.card-selected,
body.v77-pricing .family .cards .card.card-selected {
  border-color:var(--voleng-primary)!important;
  box-shadow:0 0 0 3px rgba(21,94,239,.09),0 16px 38px rgba(18,45,90,.14)!important;
}
body.v77-pricing .v74-planning-level,
body.v77-pricing .planning-level {
  background:#fff!important;border-color:var(--voleng-border)!important;
  box-shadow:var(--voleng-shadow)!important;border-radius:22px!important;
}
body.v77-pricing .toolbar button.selected {background:var(--voleng-primary)!important;color:#fff!important}
/* Start Free: same whites/blues as Pricing, rather than a dark check-out slab. */
body.v77-start {background:var(--voleng-bg)!important;color:var(--voleng-ink)!important}
body.v77-start .v46-panel {background:#fff!important;border-color:var(--voleng-border)!important;box-shadow:var(--voleng-shadow)!important}
body.v77-start .v46-product {background:#fff!important;border-color:var(--voleng-border)!important;box-shadow:var(--voleng-shadow)!important}
body.v77-start .v46-product.selected {border-color:var(--voleng-primary)!important;box-shadow:0 0 0 3px rgba(21,94,239,.09),var(--voleng-shadow)!important}
body.v77-start .v46-summary {
  background:linear-gradient(160deg,#fff 0%,#f8fbff 100%)!important;
  border:1px solid var(--voleng-border)!important;
  color:var(--voleng-ink)!important;border-radius:23px!important;
  box-shadow:var(--voleng-shadow)!important;
}
body.v77-start .v46-summary h3 {color:var(--voleng-navy)!important}
body.v77-start .v46-summary>p,body.v77-start .v46-summary .v46-summary-none,
body.v77-start .v46-summary .v46-legal {color:var(--voleng-muted)!important}
body.v77-start .v46-summary .v46-summary-row {color:#273d5d!important;border-color:var(--voleng-border)!important}
body.v77-start .v46-summary .v46-summary-row span:last-child {color:var(--voleng-navy)!important}
body.v77-start .v46-summary .v46-summary-total {background:#eef5ff!important;border:1px solid #d6e5f9!important;color:var(--voleng-navy)!important;border-radius:15px!important}
body.v77-start .v46-summary #v46TotalPrice {color:var(--voleng-navy)!important}
body.v77-start .v46-summary :is(.v47-plan-highlights,.v46-tier) {background:#fff!important;border-color:var(--voleng-border)!important;color:var(--voleng-ink)!important}
body.v77-start .v46-summary :is(.v47-plan-highlights>b,.v47-features li,.v46-tier button,.v46-summary-total small,#v46Total) {color:var(--voleng-muted)!important}
body.v77-start .v46-summary .v46-tier button.active {background:var(--voleng-primary)!important;color:#fff!important}
body.v77-start .v46-summary .v46-savings,body.v77-start .v46-summary .v47-summary-note {background:#e7f7f0!important;border-color:#c5e6d8!important;color:#146548!important}
body.v77-start .v46-summary .v46-cta,body.v77-start .v46-product .v46-select-pill,
body.v77-start .v46-tabs button.active,body.v77-start .v46-periods button.active {
  background:var(--voleng-primary)!important;color:white!important;box-shadow:0 8px 20px rgba(21,94,239,.19)!important;
}
body.v77-start .v46-summary .v46-cta:disabled {background:#a6bad4!important;box-shadow:none!important}
/* Affordances & accessibility */
body:is(.v77-home,.v77-pricing,.v77-start) :is(a,button,input,select):focus-visible {outline:3px solid var(--voleng-primary)!important;outline-offset:3px}
@media (max-width:790px) {
  body.v77-home .v772-app-grid>.v772-app-card {min-height:220px!important}
  body.v77-home .vs-needs {padding:62px 0!important}
  body.v77-pricing .family .cards .card {min-height:0!important}
}
@media (prefers-reduced-motion:reduce) {
  body.v77-home .v772-app-grid>.v772-app-card {transform:none!important;transition:none!important}
}
