/*
Theme Name: CheckVentory
Theme URI: https://checkventory.com/
Author: CheckVentory Innovation Ltd
Description: CheckVentory block theme (2026 refresh). Cream canvas, CheckVentory dark and green, Roboto Slab and Roboto.
Version: 1.0.35
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: Proprietary
Text Domain: checkventory
*/

/* ---------- Global details theme.json can't express ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: #35c499; color: #08333a; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* Eyebrow label: add class "cv-eyebrow" to a paragraph */
.cv-eyebrow { font-family: Roboto, Arial, sans-serif !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .08em; text-transform: uppercase; color: #127d69; margin-bottom: 8px !important; }
.has-dark-background-color .cv-eyebrow, .cv-on-dark .cv-eyebrow { color: #35c499; }

/* Cards: add class "cv-card" to a group */
.cv-card { background: #fff; border: 1px solid #dde3ed; border-radius: 16px; }
.cv-card-dark { background: #062a30; border: 1px solid #0f5f5c; border-radius: 16px; }
.cv-card:hover { box-shadow: 0 20px 20px -8px rgba(8,51,58,.08); transition: box-shadow .2s ease; }

/* Stat numbers */
.cv-stat { font-family: "Roboto Slab", Arial, serif; font-weight: 400; font-size: clamp(34px,4vw,48px); line-height: 1; color: #127d69; letter-spacing: -.02em; margin: 0; }
.has-dark-background-color .cv-stat, .cv-card-dark .cv-stat { color: #35c499; }

/* Buttons */
.wp-block-button.is-style-mint .wp-block-button__link { background: #35c499; color: #08333a; }
.wp-block-button.is-style-mint .wp-block-button__link:hover { background: #2db389; color: #08333a; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: currentColor; border: 1px solid currentColor; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.08); }
.wp-block-button.is-style-text .wp-block-button__link { background: none; color: #127d69; padding: 0; border-radius: 0; }
.wp-block-button.is-style-text .wp-block-button__link::after { content: " \2192"; }

/* Rounded product screenshots */
.cv-shot img { border-radius: 16px; border: 1px solid #dde3ed; box-shadow: 0 20px 20px -8px rgba(8,51,58,.12); }

/* ---------- Header ---------- */
.cv-topbar { font-size: 13px; }
.cv-topbar a { color: rgba(255,255,255,.85) !important; font-weight: 500; text-decoration: none; }
.cv-topbar a:hover { color: #35c499 !important; text-decoration: none; }
.cv-header { border-bottom: 1px solid #dde3ed; }
header.wp-block-template-part { position: sticky; top: -36px; z-index: 50; }
.admin-bar header.wp-block-template-part { top: -4px; }
@media (max-width: 782px) { header.wp-block-template-part { position: relative; top: 0 !important; } }
.cv-header .wp-block-navigation a { color: #08333a; }
.cv-header .wp-block-navigation a:hover { color: #127d69; text-decoration: none; }
.cv-header .wp-block-navigation .wp-block-navigation__submenu-container { border: 1px solid #dde3ed !important; border-radius: 12px; padding: 8px 0; box-shadow: 0 20px 20px -8px rgba(8,51,58,.10); min-width: 240px !important; }
.cv-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 8px 18px; }
.cv-header .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
.cv-logo img { height: auto; }

/* ---------- Footer ---------- */
.cv-footer a { color: #fff; font-weight: 400; }
.cv-footer a:hover { color: #35c499; }
.cv-footer .cv-footer-head { color: #fff; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
.cv-footer ul { list-style: none; padding: 0; margin: 0; }
.cv-footer li { margin: 0 0 10px; }

/* ---------- Forms (Fluent Forms, Zoho) ---------- */
.ff-el-form-control, .fluentform input[type=text], .fluentform input[type=email], .fluentform input[type=tel], .fluentform textarea, .fluentform select {
  border: 1px solid #c9d8d3 !important; border-radius: 8px !important; padding: 12px 14px !important; background: #fff !important; font-size: 16px !important;
}
.ff-el-form-control:focus { border-color: #127d69 !important; box-shadow: 0 0 0 3px rgba(53,196,153,.2) !important; outline: none; }
.fluentform .ff-btn-submit, #formsubmit.zcwf_button { background: #08333a !important; color: #fff !important; border: 0 !important; border-radius: 48px !important; padding: 14px 28px !important; font-weight: 500 !important; }
.fluentform .ff-btn-submit:hover, #formsubmit.zcwf_button:hover { background: #0a3f48 !important; }

/* ---------- Legacy Beaver Builder pages (until each is rebuilt) ---------- */
.fl-builder-content { font-family: Roboto, Arial, sans-serif; }
.fl-builder-content h1, .fl-builder-content h2, .fl-builder-content h3, .fl-builder-content .fl-heading { font-family: "Roboto Slab", Arial, serif !important; }
.fl-builder-content a.fl-button, .fl-builder-content a.fl-button:visited { border-radius: 48px !important; }
.fl-builder-content .fl-photo-img { border-radius: 12px; }
.fl-builder-content .fl-photo-img-svg img { border-radius: 0; }

/* Article body niceties */
.cv-article .wp-block-post-content > p:first-of-type { font-size: 20px; color: #08333a; }
.cv-article .wp-block-post-content img { border-radius: 12px; }
.cv-article .wp-block-post-content h2 { font-size: clamp(26px,3vw,34px); margin-top: 1.6em; }

/* Accessibility */
.skip-link:focus { background: #fff; color: #08333a; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Mobile header */
.cv-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
  .cv-topbar .wp-block-group { justify-content: center !important; column-gap: 16px !important; }
  .cv-topbar a { font-size: 12px; }
  .cv-logo img { width: 150px !important; }
  .cv-header .wp-block-button__link { padding: 9px 14px !important; font-size: 14px !important; }
}

/* Example dashboard card (hero) */
.cv-mock { background: #fff; color: #08333a; border-radius: 16px; padding: 22px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.45); font-size: 14px; }
.cv-mock-top { display: flex; justify-content: space-between; align-items: center; font-weight: 500; margin-bottom: 16px; }
.cv-mock-tag { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #5a707b; border: 1px solid #dde3ed; border-radius: 48px; padding: 3px 10px; }
.cv-mock-kpis { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 16px; }
.cv-mock-kpis div { background: #f0f4f2; border-radius: 12px; padding: 12px; }
.cv-mock-kpis b { display: block; font-family: "Roboto Slab", Arial, serif; font-weight: 400; font-size: 24px; line-height: 1.1; }
.cv-mock-kpis b.warn { color: #b8620c; }
.cv-mock-kpis small { color: #5a707b; font-size: 12px; }
.cv-mock-list { list-style: none; margin: 0; padding: 0; }
.cv-mock-list li { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid #eef2f7; margin: 0 !important; }
.cv-mock-list em { font-style: normal; font-size: 12px; font-weight: 500; border-radius: 48px; padding: 3px 10px; white-space: nowrap; }
.cv-mock-list .ok { background: #e8f7f3; color: #127d69; }
.cv-mock-list .warn { background: #fef3e2; color: #9a5208; }
.cv-mock-list .alert { background: #fce8e8; color: #b3261e; }

/* Hero, cards and strips */
.cv-hero h1 { max-width: 14ch; }
.cv-product { display: flex; flex-direction: column; }
.cv-product .wp-block-buttons { margin-top: auto; }
.cv-awards img { filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; border-radius: 8px; }
.cv-awards img:hover { filter: none; opacity: 1; }
.cv-case .cv-stat { font-size: 40px; }
.wp-block-group[style*="border-left-width:3px"] { padding-left: 20px; border-left-style: solid; }
@media (max-width: 781px) {
  .cv-hero h1 { max-width: none; }
  .cv-mock { margin-top: 24px; }
}

/* Quotes, tick lists, Zoho form */
.cv-quote { border: 0 !important; padding: 0 !important; margin: 0; }
.cv-quote p { font-family: "Roboto Slab", Arial, serif; font-weight: 300; font-size: 19px; line-height: 1.5; color: #fff; }
.cv-quote cite { display: block; margin-top: 16px; font-style: normal; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #35c499; }
.cv-ticks { list-style: none; padding-left: 0; }
.cv-ticks li { position: relative; padding-left: 34px; margin-bottom: 16px; }
.cv-ticks li::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: #e8f7f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23127d69' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.crmWebToEntityForm { max-width: none !important; background: transparent !important; padding: 0 !important; font-family: Roboto, Arial, sans-serif !important; }
.crmWebToEntityForm .zcwf_title { display: none; }
.crmWebToEntityForm .zcwf_row { margin: 0 0 14px !important; display: block !important; }
.crmWebToEntityForm .zcwf_col_lab { float: none !important; width: auto !important; font-size: 14px !important; font-weight: 500; color: #08333a; padding: 0 0 6px !important; }
.crmWebToEntityForm .zcwf_col_fld { float: none !important; width: 100% !important; padding: 0 !important; }
.crmWebToEntityForm input[type=text], .crmWebToEntityForm textarea { width: 100% !important; box-sizing: border-box; border: 1px solid #c9d8d3 !important; border-radius: 8px !important; padding: 12px 14px !important; font-size: 16px !important; background: #fff !important; }
.crmWebToEntityForm textarea { min-height: 96px; }
.crmWebToEntityForm input:focus, .crmWebToEntityForm textarea:focus { border-color: #127d69 !important; outline: none; box-shadow: 0 0 0 3px rgba(53,196,153,.2); }
.crmWebToEntityForm .zcwf_col_help { display: none; }
.crmWebToEntityForm .formsubmit.zcwf_button { width: auto !important; min-width: 220px; cursor: pointer; }
.cv-form-error { color: #b3261e; font-size: 14px; margin-top: 8px; }

/* PreCheck sub-nav, feature grid, sub-page hero */
.cv-subnav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.cv-subnav a { display: inline-block; padding: 7px 14px; border-radius: 48px; border: 1px solid rgba(255,255,255,.28); color: #fff !important; font-size: 14px; font-weight: 500; text-decoration: none !important; }
.cv-subnav a:hover { background: rgba(255,255,255,.1); border-color: #35c499; }
.cv-subhero .wp-block-post-title { text-wrap: balance; margin-bottom: var(--wp--preset--spacing--40); }
.cv-subhero .cv-eyebrow a { color: #35c499 !important; text-decoration: none; }
.cv-feature { background: #fff; border: 1px solid #dde3ed; border-radius: 14px; padding: 20px; box-shadow: 0 1px 1px rgba(8,51,58,.06); transition: border-color .2s, box-shadow .2s; }
.cv-feature:hover { border-color: #35c499; box-shadow: 0 12px 20px -10px rgba(8,51,58,.18); }
.cv-feature p { margin: 0; color: #08333a; line-height: 1.4; font-weight: 500; }
.cv-feature figure { margin: 0 0 4px !important; width: 48px; height: 48px; border-radius: 12px; background: #08333a; display: flex !important; align-items: center; justify-content: center; }
.cv-feature img { border-radius: 0 !important; width: 26px !important; height: 26px; object-fit: contain; }
.cv-case .wp-block-column:last-child h3:first-child { margin-top: 0 !important; }
.cv-prose h2 { font-size: clamp(26px,3vw,34px); margin-top: 1.6em; }
.cv-prose ol li, .cv-prose ul li { margin-bottom: 10px; }
.cv-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.cv-prose th, .cv-prose td { border-bottom: 1px solid #dde3ed; padding: 10px 8px; text-align: left; vertical-align: top; }
.cv-prose details { border-bottom: 1px solid #dde3ed; padding: 14px 0; }
.cv-prose summary { font-weight: 500; color: #08333a; cursor: pointer; }
.cv-prose a.fl-button { display: inline-block; background: #08333a; color: #fff !important; padding: 14px 26px; border-radius: 48px; text-decoration: none !important; }
.cv-prose a.fl-button:hover { background: #0a3f48; }
.cv-prose a.fl-button strong { font-weight: 500; }

/* Video, map, logo strip */
.cv-video { position: relative; aspect-ratio: 16/9; border-radius: 16px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0,0,0,.45); background: #062a30; }
.cv-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cv-map iframe { width: 100%; height: 360px; border: 0; border-radius: 16px; display: block; }
.cv-logos { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; gap: 32px; }
.cv-logos img { height: 64px; width: auto; opacity: .85; }
.cv-hero .wp-block-image img { border-radius: 16px; }
.is-style-card .wp-block-image img { border-radius: 10px; }

/* Older Zoho table-layout form (Contact) */
form[name^="WebToLeads"] table { width: 100% !important; background: transparent !important; border: 0; }
form[name^="WebToLeads"] tr, form[name^="WebToLeads"] td { display: block; width: 100% !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
form[name^="WebToLeads"] tr { margin-bottom: 14px; }
form[name^="WebToLeads"] td:first-child { font-size: 14px !important; font-weight: 500; color: #08333a; padding-bottom: 6px !important; }
form[name^="WebToLeads"] input[type=text], form[name^="WebToLeads"] textarea { width: 100% !important; box-sizing: border-box; border: 1px solid #c9d8d3 !important; border-radius: 8px !important; padding: 12px 14px !important; font-size: 16px !important; background: #fff !important; }
form[name^="WebToLeads"] textarea { min-height: 110px; }
form[name^="WebToLeads"] input[type=submit], form[name^="WebToLeads"] input[type=reset] { background: #08333a; color: #fff; border: 0; border-radius: 48px; padding: 14px 28px; font-size: 16px; font-weight: 500; cursor: pointer; margin-right: 8px; }
form[name^="WebToLeads"] input[type=reset] { background: transparent; color: #08333a; border: 1px solid #c9d8d3; }
form[name^="WebToLeads"] input:focus, form[name^="WebToLeads"] textarea:focus { border-color: #127d69 !important; outline: none; box-shadow: 0 0 0 3px rgba(53,196,153,.2); }
.fl-html p, .crmWebToEntityForm + p { font-size: 13px; color: #5a707b; }

/* Images inside cards */
.is-style-card > .wp-block-image img { max-height: 150px; width: auto; object-fit: contain; }

/* Hero headings in single-column heroes stay left-aligned */
.cv-hero > h1, .cv-hero > .wp-block-heading { max-width: none; text-wrap: balance; }
.cv-hero > h1 { max-width: 18ch; margin-left: max(0px, calc((100% - 1200px) / 2)) !important; }
@media (max-width: 781px) { .cv-hero > h1 { max-width: none; } }
/* Video facade (no YouTube load until clicked) */
a.cv-video { display: block; text-decoration: none !important; }
a.cv-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.cv-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: #35c499; box-shadow: 0 10px 30px rgba(0,0,0,.35); transition: transform .2s; }
.cv-play::after { content: ""; position: absolute; left: 29px; top: 23px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent #08333a; }
a.cv-video:hover .cv-play { transform: scale(1.06); }
/* Dark icon tile for white SVG icons */
.cv-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 14px; background: #08333a; }
.cv-icon img { width: 34px; height: 34px; border-radius: 0 !important; }
.fl-html > div[style*="width:600px"], .fl-html div[style*="width:600px"] { width: auto !important; max-width: 100% !important; }
@media (max-width: 600px) { .wp-block-column.cv-card { padding: 22px !important; } }

/* Visible keyboard focus everywhere */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid #35c499; outline-offset: 3px; border-radius: 4px; }
.cv-subnav a { min-height: 36px; display: inline-flex; align-items: center; }

/* Mobile menu overlay: left-aligned list, no floating cards */
.cv-header .is-menu-open .wp-block-navigation__responsive-container-content,
.cv-header .is-menu-open .wp-block-navigation__container,
.cv-header .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.cv-header .is-menu-open .wp-block-navigation__container { gap: 6px !important; width: 100%; }
.cv-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: "Roboto Slab", Arial, serif; font-size: 22px; font-weight: 400; padding: 8px 0; }
.cv-header .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; padding: 0 0 8px 14px !important; border-left: 2px solid #35c499 !important; border-radius: 0 !important; min-width: 0 !important; }
.cv-header .is-menu-open .wp-block-navigation__submenu-container a { padding: 7px 0 !important; font-size: 16px; }

/* Photography (1.0.18) */
.wp-block-image.cv-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; }
.is-style-card > .wp-block-image.cv-photo-card img { max-height: none; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 60%; border-radius: 10px; }
.cv-credits { opacity: .7; }
.cv-credits a { text-decoration: underline; }

/* Centre images that sit inside cards (1.0.20) */
:is(.is-style-card, .cv-card) > figure.wp-block-image:not(.cv-photo-card) { text-align: center; margin-left: auto; margin-right: auto; }
:is(.is-style-card, .cv-card) > figure.wp-block-image:not(.cv-photo-card) img { display: block; margin-left: auto; margin-right: auto; }

/* Proof-before-funding animation (1.0.21) */
.cv-pf{display:block;width:100%;max-width:440px;height:auto;margin:8px auto 4px;overflow:visible}
.cv-pf text{font-family:Roboto,Arial,sans-serif;font-size:11.5px;fill:#4a6572}
.cv-pf .cv-pf-tag{font-size:10.5px;font-weight:600;letter-spacing:.12em;fill:#5a707b}
.cv-pf .cv-pf-tag-g{fill:#127d69}
.cv-pf .cv-pf-sym{font-size:20px;font-weight:600}
.cv-pf path[class^="cv-pf-l"]{stroke-dasharray:130;stroke-dashoffset:0}
@keyframes cvpf-s1{0%,2%{opacity:0;transform:scale(.85)}6%,92%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.cv-pf .cv-pf-s1{animation:cvpf-s1 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-l1{0%,8%{stroke-dashoffset:130;opacity:0}9%{opacity:1}13%,92%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.cv-pf .cv-pf-l1{animation:cvpf-l1 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-s2{0%,12%{opacity:0;transform:scale(.85)}16%,92%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.cv-pf .cv-pf-s2{animation:cvpf-s2 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-l2{0%,18%{stroke-dashoffset:130;opacity:0}19%{opacity:1}23%,92%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.cv-pf .cv-pf-l2{animation:cvpf-l2 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-s3{0%,22%{opacity:0;transform:scale(.85)}26%,92%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.cv-pf .cv-pf-s3{animation:cvpf-s3 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-s4{0%,44%{opacity:0;transform:scale(.85)}48%,92%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.cv-pf .cv-pf-s4{animation:cvpf-s4 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-l3{0%,50%{stroke-dashoffset:130;opacity:0}51%{opacity:1}55%,92%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.cv-pf .cv-pf-l3{animation:cvpf-l3 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-s5{0%,54%{opacity:0;transform:scale(.85)}58%,92%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.cv-pf .cv-pf-s5{animation:cvpf-s5 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-l4{0%,60%{stroke-dashoffset:130;opacity:0}61%{opacity:1}65%,92%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.cv-pf .cv-pf-l4{animation:cvpf-l4 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-s6{0%,64%{opacity:0;transform:scale(.85)}68%,92%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.cv-pf .cv-pf-s6{animation:cvpf-s6 10s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cvpf-row1{0%,38%{opacity:1}44%,92%{opacity:.6}100%{opacity:1}}
.cv-pf .cv-pf-row1{animation:cvpf-row1 10s ease infinite}
@keyframes cvpf-pulse{0%,26%{opacity:1}30%{opacity:.35}34%{opacity:1}38%{opacity:.35}42%,100%{opacity:1}}
.cv-pf .cv-pf-s3 circle{animation:cvpf-pulse 10s ease infinite}
@media (prefers-reduced-motion: reduce){.cv-pf *{animation:none!important;opacity:1!important;stroke-dashoffset:0!important;transform:none!important}}
.cv-pf .cv-pf-out{font-size:12px;font-weight:600;fill:#5a707b}
.cv-pf .cv-pf-out-g{fill:#127d69}
@keyframes cvpf-o1{0%,27%{opacity:0}31%,92%{opacity:1}100%{opacity:0}}
@keyframes cvpf-o2{0%,69%{opacity:0}73%,92%{opacity:1}100%{opacity:0}}
.cv-pf .cv-pf-o1{animation:cvpf-o1 10s ease infinite}
.cv-pf .cv-pf-o2{animation:cvpf-o2 10s ease infinite}
@media (prefers-reduced-motion: reduce){.cv-pf .cv-pf-o1,.cv-pf .cv-pf-o2{animation:none!important;opacity:1!important}}

/* Credit team cards (1.0.23) */
.cv-card-num{font-family:"Roboto Slab",serif;font-size:15px;font-weight:500;color:#127d69;margin:0 0 6px;letter-spacing:.04em}
.cv-card:has(.cv-card-num){border-top:3px solid #35c499;display:flex;flex-direction:column}
.cv-card:has(.cv-card-num) .cv-mini{margin-top:auto}
.cv-mini{background:#f0f4f2;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.35;color:#08333a;margin-top:20px}
.cv-mini-rules{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cv-mini-rules span{background:#fff;border:1px solid #c9d8d3;border-radius:48px;padding:5px 12px;font-weight:500}
.cv-mini-rules span+span::before{content:"";}
.cv-mini-rules em{font-style:normal;font-weight:600;color:#127d69;margin-left:auto}
.cv-mini-lanes{display:grid;gap:9px}
.cv-mini-lanes div,.cv-mini-doc div,.cv-mini-log div{display:flex;align-items:center;gap:10px}
.cv-mini-lanes b{width:10px;height:10px;border-radius:50%;flex:none}
.cv-mini b.ok{background:#35c499}.cv-mini b.rev{background:#e3b341}.cv-mini b.esc{background:#08333a}
.cv-mini-doc{display:grid;gap:8px}
.cv-mini-doc span{flex:1;font-weight:500}
.cv-mini-doc i{font-style:normal;font-size:12px;font-weight:600;padding:3px 10px;border-radius:48px}
.cv-mini-doc i.ok{background:#d4ece3;color:#0d5e4f}
.cv-mini-doc i.rev{background:#f6ebcd;color:#6b4e00}
.cv-mini-log{display:grid;gap:7px;border-left:2px solid #35c499;padding-left:14px;border-radius:0 12px 12px 0}
.cv-mini-log time{font-variant-numeric:tabular-nums;color:#5a707b;font-size:12px;min-width:38px}

.cv-card-num + .wp-block-heading { margin-top: 4px; }
@media (max-width: 600px){.cv-pf text{font-size:15px}.cv-pf .cv-pf-tag{font-size:13px}.cv-pf .cv-pf-out{font-size:14px}.cv-pf .cv-pf-sym{font-size:22px}}

/* PreCheck integration and platform cards (1.0.27) */
.cv-card:has(.cv-stack),.cv-card:has(.cv-life){display:flex;flex-direction:column}
.cv-card:has(.cv-stack) .wp-block-buttons,.cv-card:has(.cv-life) .wp-block-buttons{margin-top:auto;padding-top:8px}
.cv-stack{display:grid;gap:0;margin:8px 0 20px;justify-items:stretch}
.cv-stack-box{border:1px solid #c9d8d3;background:#f0f4f2;border-radius:12px;padding:12px 16px;font-weight:500;color:#08333a;font-size:15px}
.cv-stack-box small{display:block;font-weight:400;font-size:13px;color:#5a707b;margin-top:2px}
.cv-stack-pc{background:#08333a;border-color:#08333a;color:#fff;box-shadow:0 0 0 4px #d4ece3}
.cv-stack-pc small{color:#9fe3cb}
.cv-stack-arrow{height:22px;width:2px;background:#35c499;margin:0 auto;position:relative}
.cv-stack-arrow::after{content:"";position:absolute;left:-4px;bottom:-1px;border:5px solid transparent;border-top-color:#35c499;border-bottom:0}
.cv-stack-sync{margin-top:10px;font-size:13px;color:#127d69;font-weight:500;text-align:center}
.cv-card-dark{background:radial-gradient(900px 500px at 85% 0%,#0f5f5c 0%,#08333a 60%,#062a30 100%)!important;border-color:#08333a!important;color:#ffffffcc}
.cv-card-dark h2{color:#fff}
.cv-card-dark .cv-eyebrow{color:#41d9a8}
.cv-card-dark .wp-block-button.is-style-text a{color:#41d9a8}
.cv-life{display:flex;align-items:center;gap:10px;margin:8px 0 20px}
.cv-life-step{flex:1;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;padding:14px 16px}
.cv-life-step b{display:block;color:#fff;font-weight:500;font-size:16px}
.cv-life-step span{display:block;font-size:13px;color:#ffffffb3;margin-top:2px}
.cv-life-mid{display:flex;align-items:center;gap:6px;flex:none}
.cv-life-mid i{display:block;width:18px;height:2px;background:#35c499}
.cv-life-mid em{font-style:normal;font-size:12px;font-weight:600;color:#08333a;background:#41d9a8;border-radius:48px;padding:4px 10px}
@media (max-width:600px){.cv-life{flex-direction:column;align-items:stretch}.cv-life-mid{justify-content:center}.cv-life-mid i{width:2px;height:12px}}
.cv-card-dark .cv-life{margin-top:auto;margin-bottom:auto;padding:24px 0}
.cv-card-dark .cv-life-step{padding:20px}
.cv-card-dark .cv-life-step b{font-size:18px}
.cv-card:has(.cv-life) .wp-block-buttons{margin-top:0}

/* VIN data quality panel (1.0.29) */
.cv-vin{background:#fff;border:1px solid #dde3ed;border-radius:16px;padding:24px;box-shadow:0 20px 20px -8px rgba(8,51,58,.08)}
.cv-vin-head{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#127d69;margin:0 0 14px}
.cv-vin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:#f0f4f2;margin-bottom:8px}
.cv-vin-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.06em;color:#08333a;background:none;padding:0}
.cv-vin-row i{font-style:normal;font-size:12px;font-weight:600;padding:4px 10px;border-radius:48px;white-space:nowrap}
.cv-vin-row i.no{background:#f6ebcd;color:#6b4e00}
.cv-vin-row i.ok{background:#d4ece3;color:#0d5e4f}
.cv-vin-row:has(i.ok){background:#e8f6f0;box-shadow:inset 3px 0 0 #35c499}
.cv-vin-foot{margin:12px 0 0;font-size:13px;color:#5a707b}

/* Product-specific hero views (1.0.31) */
.cv-x{position:relative;color:#08333a;font-size:14px}
.cv-x .cv-mock-tag{background:#fff}
.cv-x-card{position:relative;background:#fff;border-radius:16px;padding:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.cv-x-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:500;margin-bottom:16px}
/* Home: dealer book */
.cv-x-bar{display:flex;gap:3px;height:14px;border-radius:8px;overflow:hidden;margin-bottom:10px}
.cv-x-bar i{display:block}
.cv-x .ok{background:#35c499}.cv-x .watch{background:#e3b341}.cv-x .act{background:#c2410c}
.cv-x-legend{display:flex;gap:16px;font-size:12px;color:#5a707b;margin-bottom:14px}
.cv-x-legend b{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.cv-x-dealers{list-style:none;margin:0;padding:0}
.cv-x-dealers li{display:flex;align-items:center;gap:6px;padding:10px 0;border-top:1px solid #eef2f7;margin:0!important}
.cv-x-dealers li span{flex:1;font-weight:500}
.cv-x-dealers em{font-style:normal;font-size:11px;color:#127d69;background:#e8f6f0;border-radius:6px;padding:2px 7px}
.cv-x-dealers strong{font-size:12px;font-weight:600;border-radius:48px;padding:3px 10px;margin-left:6px;white-space:nowrap}
.cv-x-dealers strong.ok{background:#e8f7f3;color:#127d69}
.cv-x-dealers strong.watch{background:#fef3e2;color:#8a4a06}
.cv-x-dealers strong.act{background:#fdece4;color:#9a3412}
.cv-x-toast{position:absolute;left:-28px;bottom:-26px;max-width:260px;background:#08333a;color:#fff;border:1px solid #35c499;border-radius:12px;padding:12px 14px;font-size:13px;box-shadow:0 20px 30px -12px rgba(0,0,0,.5)}
.cv-x-toast b{color:#41d9a8;font-weight:600}
.cv-x-book{padding-bottom:20px}
/* Auditor: phone */
.cv-x-phone{display:flex;justify-content:center;padding:10px 0 30px}
.cv-x-device{width:270px;background:#062a30;border-radius:36px;padding:12px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55),inset 0 0 0 2px #0f5f5c;position:relative}
.cv-x-notch{position:absolute;top:18px;left:50%;width:70px;height:18px;margin-left:-35px;background:#062a30;border-radius:12px;z-index:2}
.cv-x-screen{background:#fff;border-radius:26px;overflow:hidden;padding-bottom:12px}
.cv-x-appbar{display:flex;justify-content:space-between;align-items:baseline;padding:40px 16px 10px;font-weight:500}
.cv-x-appbar small{color:#5a707b;font-size:12px}
.cv-x-photo{height:150px;background-size:cover;background-position:center;position:relative;margin:0 12px;border-radius:12px}
.cv-x-vin{position:absolute;left:10px;bottom:10px;background:rgba(8,51,58,.85);color:#fff;font:500 12px/1 ui-monospace,Menlo,monospace;padding:6px 8px;border-radius:6px}
.cv-x-checks{list-style:none;margin:12px 14px 0;padding:0;display:grid;gap:7px}
.cv-x-checks li{position:relative;padding-left:24px;font-size:13px;margin:0!important}
.cv-x-checks li::before{content:"";position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;background:#35c499}
.cv-x-checks li::after{content:"";position:absolute;left:5px;top:4px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cv-x-chip{position:absolute;right:0;bottom:44px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#fff;border-radius:12px;padding:10px 14px;font-weight:500;font-size:13px;box-shadow:0 20px 30px -12px rgba(0,0,0,.45);border-left:3px solid #35c499}
/* PreCheck: request */
.cv-x-request{padding:14px 0 0 14px}
.cv-x-stack{position:absolute;inset:0 14px 14px 0;background:#ffffff26;border:1px solid #ffffff33;border-radius:16px;transform:rotate(-3deg)}
.cv-x-stack2{transform:rotate(-6deg);opacity:.6}
.cv-x-asset{display:flex;justify-content:space-between;align-items:center;background:#f0f4f2;border-radius:12px;padding:12px 14px;margin-bottom:12px}
.cv-x-asset b{display:block;font-weight:500}
.cv-x-asset small{color:#5a707b;font-size:12px}
.cv-x-asset strong{font-family:"Roboto Slab",serif;font-weight:400;font-size:22px}
.cv-x-rules{list-style:none;margin:0 0 14px;padding:0}
.cv-x-rules li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #eef2f7;margin:0!important;font-size:13px}
.cv-x-rules i{font-style:normal;font-size:12px;font-weight:600;color:#127d69;background:#e8f7f3;border-radius:48px;padding:2px 10px}
.cv-x-decision{background:#08333a;color:#fff;border-radius:10px;padding:12px 14px;font-weight:500;display:flex;align-items:center;gap:10px}
.cv-x-decision::before{content:"";width:18px;height:18px;border-radius:50%;background:#35c499 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.5 2.5L13 6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");flex:none}
@media (max-width:781px){.cv-x{margin-top:28px}.cv-x-toast{position:relative;left:auto;bottom:auto;margin:-10px 12px 0;max-width:none}.cv-x-chip{position:relative;right:auto;bottom:auto;margin:-24px auto 0;width:max-content}.cv-x-phone{flex-direction:column;align-items:center}.cv-x-legend{flex-wrap:wrap;gap:10px}}
.cv-x-phone{flex-direction:column;align-items:center}.cv-x-chip{position:relative;right:auto;left:auto;bottom:auto;top:auto;margin:-22px auto 0;width:max-content;flex-direction:row;align-items:center;gap:10px;z-index:3}

/* Video transcript (1.0.34) */
.cv-transcript{margin-top:16px;border-top:1px solid #dde3ed;padding-top:12px;font-size:15px;color:#4a6572}
.cv-transcript summary{cursor:pointer;font-weight:500;color:#127d69;list-style:none;display:flex;align-items:center;gap:8px}
.cv-transcript summary::-webkit-details-marker{display:none}
.cv-transcript summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8f6f0;color:#127d69;font-weight:600}
.cv-transcript[open] summary::before{content:"–"}
.cv-transcript p{margin:12px 0 0;line-height:1.6}

/* LotCount handover card (dealer audit page) - LotCount palette */
.cv-lc-card{background:#090605 !important;border-color:#090605 !important;color:#fff}
.cv-lc-card .cv-lc-logo{display:block;margin-bottom:22px;line-height:0}
.cv-lc-card .cv-lc-logo img{width:190px;height:auto;display:block}
.cv-lc-card .cv-eyebrow{color:#AFBDBC !important}
.cv-lc-card h3{color:#fff !important}
.cv-lc-card p{color:#ffffffd9}
.cv-lc-card .cv-lc-btn .wp-block-button__link{background:#F2A52E !important;color:#090605 !important;border:0}
.cv-lc-card .cv-lc-btn .wp-block-button__link:hover{background:#f5b955 !important;color:#090605 !important;text-decoration:none}
.cv-lc-card .cv-lc-btn .wp-block-button__link:focus-visible{outline:2px solid #F2A52E;outline-offset:3px}
