/* VAULEX POLISH v1 - hand-written fixes on top of the dark layer */
/* 1. Platform table rows on public + buy pages */
#efPageContent:not(:has(.efAccountMenu)) tr.ui-widget-header,#efPageContent:not(:has(.efAccountMenu)) tr.ui-widget-header td,#efPageContent:not(:has(.efAccountMenu)) tr.ui-widget-header th{
 background:#0d1628 !important;color:#94a3b8 !important;border-color:rgba(148,163,184,.14) !important}
#efPageContent:not(:has(.efAccountMenu)) tr.efEven,#efPageContent:not(:has(.efAccountMenu)) tr.efOdd,#efPageContent:not(:has(.efAccountMenu)) tr.efIncludedItemTableRow,
#efPageContent:not(:has(.efAccountMenu)) tr.efEven td,#efPageContent:not(:has(.efAccountMenu)) tr.efOdd td,#efPageContent:not(:has(.efAccountMenu)) tr.efIncludedItemTableRow td{
 background:transparent !important;color:#cbd5e1 !important}
#efPageContent:not(:has(.efAccountMenu)) table td,#efPageContent:not(:has(.efAccountMenu)) table th{border-color:rgba(148,163,184,.10) !important}
#efPageContent:not(:has(.efAccountMenu)) tr.efTableSubheader,#efPageContent:not(:has(.efAccountMenu)) tr.efTableSubheader td{background:#0d1628 !important;color:#94a3b8 !important}
/* 2. Primary buy button on the pricing cards */
.vxtopbuy{background:#38bdf8 !important;color:#04121c !important;border-color:transparent !important;box-shadow:0 10px 26px rgba(56,189,248,.22) !important}
.vxtopbuy:hover{background:#7dd3fc !important;color:#04121c !important}
/* 3. Gradient callout band - same treatment as the account deadline CTA */
.vxgcta{border-radius:16px;padding:20px 22px;margin:0 0 24px;border:1px solid rgba(56,189,248,.32);
 background:linear-gradient(180deg,rgba(56,189,248,.12),rgba(56,189,248,.03));box-shadow:0 18px 44px rgba(0,0,0,.3)}
.vxgcta b{display:block;font:800 17px/1.3 Inter,Arial,sans-serif;color:#fff !important;letter-spacing:-.01em;margin:0 0 7px}
.vxgcta p{font:400 14.5px/1.65 Inter,Arial,sans-serif;color:#94a3b8 !important;margin:0 0 16px;max-width:74ch}
/* 4. Mobile menu button */
.navbar-toggler{color:#e7eef6 !important;border-color:rgba(56,189,248,.45) !important;background:rgba(56,189,248,.08) !important}
.navbar-toggler:focus{box-shadow:none !important;outline:2px solid rgba(56,189,248,.45) !important;outline-offset:2px !important}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2856,189,248,0.95%29' stroke-width='2.2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important}
/* 5. Bootstrap defaults - the pages that use the no-container template
   inherit Bootstrap's light palette, so retint the variables rather than
   overriding every heading (which would flatten the accent colours). */
:root{--bs-body-color:#cbd5e1 !important;--bs-body-color-rgb:203,213,225 !important;
 --bs-heading-color:#ffffff !important;--bs-emphasis-color:#ffffff !important;
 --bs-emphasis-color-rgb:255,255,255 !important;--bs-secondary-color:rgba(148,163,184,.85) !important;
 --bs-body-bg:#070d1a !important;--bs-body-bg-rgb:7,13,26 !important;
 --bs-border-color:rgba(148,163,184,.16) !important;--bs-border-color-translucent:rgba(148,163,184,.16) !important;
 --bs-link-color:#7dd3fc !important;--bs-link-hover-color:#bae6fd !important;
 --bs-tertiary-bg:#0d1628 !important;--bs-secondary-bg:#0d1628 !important}
/* 6. Body copy inherited from platform element rules (p{color:#333})
   - no !important, so any page-level class rule still wins. */
body p,body li,body dd,body dt,body td,body th,body small,body figcaption{color:#cbd5e1}
body strong,body b{color:#e7eef6}
/* 7. Address health check CTA - dark ink on the teal button */
.ahbtn{color:#04121c !important;font-weight:800 !important}
/* 8. Inline styles written at runtime by vaulex-v74b.js (light note boxes). */
[style*="f0fafe" i]{background:rgba(56,189,248,.10) !important;border-color:rgba(56,189,248,.28) !important;color:#cbd5e1 !important}
[style*="cfedf8" i]{border-color:rgba(56,189,248,.28) !important}
[style*="f6f8fb" i],[style*="e1e9f1" i],[style*="d7e1ec" i],[style*="c7d4e2" i]{
 background:rgba(148,163,184,.10) !important;border-color:rgba(148,163,184,.20) !important;color:#cbd5e1 !important}
[style*="#0e1626" i],[style*="#131c2e" i],[style*="#223049" i]{color:#e7eef6 !important}
/* 9. Address health check button - beat the page rule on specificity */
.ahctf button.ahbtn,button.ahbtn,.ahbtn{color:#04121c !important}

/* ================= ROUND 38 ================= */
/* 10. One typeface family across our sections - stops the platform font leaking in */
body,button,input,select,textarea{font-family:Inter,-apple-system,'Segoe UI',Arial,sans-serif}
/* 7. Fewer orphan words at the end of a line */
p,li,h1,h2,h3,h4,h5{text-wrap:pretty}

/* 11. Virtual office feature lists: red cross, same indent as the ticks */
.vx2 .card li{align-items:flex-start !important}
.vx2 .card li span.x{color:#f87171 !important;font-weight:900 !important;flex:0 0 auto !important}
.vx2 .card li span.t{flex:0 0 auto !important}

/* 5. Companies House deadline band - gradient CTA treatment with a real hover */
.vxdl{background:linear-gradient(180deg,rgba(251,191,36,.13),rgba(251,191,36,.03)) !important;
 border-top:1px solid rgba(251,191,36,.30) !important;border-bottom:1px solid rgba(251,191,36,.30) !important}
.vxdl .dk{color:#fbbf24 !important}
.vxdl h3{color:#fff !important}
.vxdl a{background:#fbbf24 !important;color:#1a1206 !important;display:inline-flex !important;align-items:center !important;
 min-height:48px !important;box-shadow:0 10px 26px rgba(251,191,36,.22) !important;
 transition:background .16s ease,transform .16s ease,box-shadow .16s ease !important}
.vxdl a:hover{background:#fde68a !important;color:#1a1206 !important;transform:translateY(-1px);box-shadow:0 16px 34px rgba(251,191,36,.32) !important}
.vxdl a:active{transform:translateY(0)}

/* 6. Risk notes read as informational warnings, not stray sentences */
.vxgt .gfoot,p.gfoot,.vx2 p.fn,.vxnote{
 position:relative !important;display:block !important;text-align:left !important;
 border:1px solid rgba(251,191,36,.28) !important;border-radius:14px !important;
 background:linear-gradient(180deg,rgba(251,191,36,.10),rgba(251,191,36,.02)) !important;
 padding:15px 18px 15px 52px !important;margin:26px auto 0 !important;max-width:820px !important;
 color:#e2e8f0 !important;font:500 14.5px/1.65 Inter,Arial,sans-serif !important}
.vxgt .gfoot::before,p.gfoot::before,.vx2 p.fn::before,.vxnote::before{
 content:'';position:absolute;left:18px;top:15px;width:20px;height:20px;
 background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fbbf24' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3e%3cpath d='M12 9v4'/%3e%3cpath d='M12 17h.01'/%3e%3c/svg%3e") no-repeat center/contain}

/* 16. Add-ons: title and price on one line, description room, badge pinned bottom */
.aogrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr)) !important;gap:16px !important}
.ao{display:grid !important;grid-template-columns:1fr auto !important;grid-template-rows:auto auto 1fr !important;
 column-gap:16px !important;row-gap:8px !important;align-content:start !important;padding:20px !important}
.ao > b{grid-column:1 !important;grid-row:1 !important;align-self:baseline !important;
 font:700 16px/1.35 Inter,Arial,sans-serif !important;color:#fff !important}
.ao > .pr{grid-column:2 !important;grid-row:1 !important;align-self:baseline !important;
 text-align:right !important;white-space:nowrap !important;float:none !important;margin:0 !important}
.ao > p{grid-column:1 / -1 !important;grid-row:2 !important;margin:0 !important;
 font:400 14.5px/1.65 Inter,Arial,sans-serif !important}
.ao > .fin{grid-column:1 / -1 !important;grid-row:3 !important;align-self:end !important;justify-self:start !important;margin:12px 0 0 !important}

/* 18. FAQ accordion */
.vx2 .fq{border:1px solid rgba(148,163,184,.14) !important;border-radius:14px !important;background:#0a1122 !important;
 margin:0 0 10px !important;overflow:hidden !important}
.vx2 .fqq{display:flex !important;width:100% !important;align-items:flex-start !important;gap:16px !important;
 text-align:left !important;background:transparent !important;border:0 !important;color:#fff !important;
 font:700 16.5px/1.45 Inter,Arial,sans-serif !important;letter-spacing:-.01em !important;
 padding:18px 20px !important;cursor:pointer !important}
.vx2 .fqq:hover{background:rgba(56,189,248,.06) !important}
.vx2 .fqq::after{content:'';flex:0 0 16px;width:16px;height:16px;margin-left:auto;margin-top:3px;
 background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338bdf8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") no-repeat center/contain;transition:transform .18s ease}
.vx2 .fq.open .fqq::after,.vx2 .fqq.open::after,.vx2 .fq[data-open] .fqq::after{transform:rotate(180deg)}
.vx2 .fqa{padding:0 20px 20px !important;border-top:1px solid rgba(148,163,184,.10) !important}
.vx2 .fqa p,.vx2 .fqa li{font:400 15px/1.72 Inter,Arial,sans-serif !important;color:#cbd5e1 !important;max-width:76ch !important}
.vx2 .fqa p{margin:14px 0 0 !important}
.vx2 .fqa ul,.vx2 .fqa ol{margin:12px 0 0 18px !important;padding:0 !important}
.vx2 .fqa b{color:#fff !important}

/* 15. Switch page: four small-print cards read as a deliberate 2x2 */
.vx2 .vxmore .mg{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
@media(max-width:820px){.vx2 .vxmore .mg{grid-template-columns:1fr !important}}

/* 4. Registration: the platform floats the submit row right, so it lands on top
   of the block that follows it. Put it back in the flow. */
#efPageContent form > div:has(> button.efButton),
#efPageContent form > div:has(> input.efButton),
#efPageContent form > div:has(> button.ui-button){
 float:none !important;width:auto !important;text-align:right !important;margin:18px 0 0 !important}
#efPageContent .vxauthalt{clear:both !important;margin-top:22px !important}
#efPageContent form::after{content:'';display:block;clear:both}
#efPageContent form button.efButton,#efPageContent form input.efButton{width:auto !important;min-width:220px !important;text-align:center !important;justify-content:center !important}
