/* ==========================================================================
   VirtGold - main stylesheet (v4)
   All colors, fonts and sizes come from CSS variables generated by
   VirtGold → Colors / Typography. Edit them there, not here.
   ========================================================================== */

/* ---------- 1. Fallback tokens (overridden by the panel) ---------- */
:root {
  --vg-bg:#fafaf7; --vg-bg-alt:#f3f2ee; --vg-surface:#fff; --vg-surface-2:#f6f5f1; --vg-text:#17171c; --vg-muted:#5d5d67; --vg-border:#e5e3dd;
  --vg-primary:#f4a622; --vg-on-primary:#1c1300; --vg-accent:#5b47e0; --vg-success:#12855b; --vg-danger:#d63c4a; --vg-star:#f2a414;
  --vg-header-bg:#fff; --vg-header-text:#2a2a31; --vg-topbar-bg:#121217; --vg-topbar-text:#ededf2; --vg-footer-bg:#f3f2ee; --vg-footer-text:#55555f;
  --vg-input-bg:#fff; --vg-input-text:#17171c; --vg-input-border:#d5d2ca; --vg-input-placeholder:#8b8b95; --vg-image-bg:#f3f2ee;
  --vg-font-body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; --vg-font-heading:var(--vg-font-body); --vg-font-ui:var(--vg-font-body);
  --vg-radius:14px; --vg-btn-radius:10px; --vg-container:1240px; --vg-space:88px; --vg-field-radius:10px; --vg-field-h:48px;
  --vg-body-size:16px; --vg-body-line:1.6; --vg-body-weight:400; --vg-h-weight:800; --vg-h-letter:-.03em; --vg-h1:64px; --vg-h2:42px; --vg-h-transform:none;
  --vg-header-h:72px; --vg-logo-w:200px; --vg-logo-w-m:150px; --vg-link-size:14.5px; --vg-link-weight:600; --vg-link-transform:none;
  --vg-topbar-h:38px; --vg-topbar-size:12.5px; --vg-star-size:17px; --vg-tp-star:#fff; --vg-tp-tile:#00b67a;
  --vg-shadow-sm:0 1px 2px rgba(20,20,35,.05); --vg-shadow:0 8px 28px rgba(20,20,35,.08); --vg-shadow-lg:0 28px 70px rgba(20,20,35,.14); --vg-overlay:rgba(18,18,26,.45);
  --vg-ease:cubic-bezier(.2,.8,.2,1); --vg-admin-bar:0px;
  /* Derived tints */
  --vg-primary-soft:color-mix(in srgb, var(--vg-primary) 14%, transparent);
  --vg-accent-soft:color-mix(in srgb, var(--vg-accent) 12%, transparent);
  --vg-success-soft:color-mix(in srgb, var(--vg-success) 12%, transparent);
  --vg-danger-soft:color-mix(in srgb, var(--vg-danger) 11%, transparent);
  --vg-hover:color-mix(in srgb, var(--vg-text) 6%, transparent);
  --vg-ring:0 0 0 4px color-mix(in srgb, var(--vg-primary) 22%, transparent);
  /* WooCommerce form variables → theme tokens (fixes white-on-white fields) */
  --wc-form-border-color:var(--vg-input-border); --wc-form-border-radius:var(--vg-field-radius); --wc-form-border-width:1.5px;
  --wc-form-color-background:var(--vg-input-bg); --wc-form-color-text:var(--vg-input-text);
}
html[data-theme] body, body { --vg-primary-soft:color-mix(in srgb, var(--vg-primary) 14%, transparent); --vg-accent-soft:color-mix(in srgb, var(--vg-accent) 12%, transparent); --vg-success-soft:color-mix(in srgb, var(--vg-success) 12%, transparent); --vg-danger-soft:color-mix(in srgb, var(--vg-danger) 11%, transparent); --vg-hover:color-mix(in srgb, var(--vg-text) 6%, transparent); --vg-ring:0 0 0 4px color-mix(in srgb, var(--vg-primary) 22%, transparent); --wc-form-border-color:var(--vg-input-border); --wc-form-color-background:var(--vg-input-bg); --wc-form-color-text:var(--vg-input-text); }
body.admin-bar { --vg-admin-bar:32px; }
@media (max-width:782px) { body.admin-bar { --vg-admin-bar:46px; } }
@media (max-width:600px) { body.admin-bar { --vg-admin-bar:0px; } }

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--vg-header-h) + 20px); }
body { margin:0; background:var(--vg-bg); color:var(--vg-text); font-family:var(--vg-font-body); font-size:var(--vg-body-size); line-height:var(--vg-body-line); font-weight:var(--vg-body-weight); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; overflow-x:clip; transition:background-color .3s, color .3s; }
html.vg-lock, html.vg-lock body { overflow:hidden; }
h1, h2, h3, h4, h5, h6 { font-family:var(--vg-font-heading); font-weight:var(--vg-h-weight); letter-spacing:var(--vg-h-letter); text-transform:var(--vg-h-transform); line-height:1.15; color:var(--vg-text); margin:0 0 .5em; }
h3, h4, h5, h6 { letter-spacing:calc(var(--vg-h-letter) / 2); }
p { margin:0 0 1em; }
a { color:inherit; text-decoration:none; transition:color .2s, background-color .2s, border-color .2s, opacity .2s; }
img, svg, video { max-width:100%; }
img { height:auto; }
button, input, select, textarea { font:inherit; color:inherit; }
button { cursor:pointer; }
[hidden] { display:none !important; }
::selection { background:var(--vg-primary); color:var(--vg-on-primary); }
:focus-visible { outline:2px solid var(--vg-primary); outline-offset:2px; }
.vg-icon { flex-shrink:0; vertical-align:middle; }
.vg-flip { transform:scaleX(-1); }
.vg-emoji { display:inline-grid; place-items:center; line-height:1; font-size:1.05em; }
.screen-reader-text, .vg-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.vg-skip { position:absolute; left:12px; top:-60px; z-index:1000; padding:10px 16px; background:var(--vg-primary); color:var(--vg-on-primary); border-radius:8px; font-weight:700; }
.vg-skip:focus { top:12px; }
.vg-main { display:block; min-height:50vh; }
.vg-container { width:100%; max-width:calc(var(--vg-container) + 2 * clamp(16px, 4vw, 32px)); margin-inline:auto; padding-inline:clamp(16px, 4vw, 32px); }
.vg-container--narrow { max-width:calc(820px + 2 * clamp(16px, 4vw, 32px)); }
html[data-theme=dark] .vg-only-light, html:not([data-theme=dark]) .vg-only-dark { display:none !important; }
.vg-hide-desktop { display:none !important; }
@media (max-width:768px) { .vg-hide-desktop { display:inline-flex !important; } .vg-hide-mobile { display:none !important; } }

/* Ambient background */
body.vg-effects::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(900px 520px at 88% -8%, color-mix(in srgb, var(--vg-primary) 11%, transparent), transparent 62%), radial-gradient(760px 520px at -8% 18%, color-mix(in srgb, var(--vg-accent) 8%, transparent), transparent 60%); }

/* ---------- 3. Buttons ---------- */
.vg-btn { --vg-btn-bg:var(--vg-surface); --vg-btn-fg:var(--vg-text); --vg-btn-bd:var(--vg-border); position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.55em; min-height:46px; padding:0 20px; border:1.5px solid var(--vg-btn-bd); border-radius:var(--vg-btn-radius); background:var(--vg-btn-bg); color:var(--vg-btn-fg); font-family:var(--vg-font-ui); font-size:15px; font-weight:700; line-height:1.1; letter-spacing:-.005em; text-align:center; white-space:nowrap; cursor:pointer; user-select:none; transition:transform .2s var(--vg-ease), box-shadow .2s, background .2s, border-color .2s, color .2s, filter .2s; }
.vg-btn:hover { transform:translateY(-1px); }
.vg-btn:active { transform:translateY(0) scale(.985); }
.vg-btn:disabled, .vg-btn.is-disabled { opacity:.55; cursor:not-allowed; transform:none; }
.vg-btn--primary, .vg-btn--buy { --vg-btn-bg:var(--vg-primary); --vg-btn-fg:var(--vg-on-primary); --vg-btn-bd:var(--vg-primary); box-shadow:0 6px 18px -8px color-mix(in srgb, var(--vg-primary) 75%, transparent); }
.vg-btn--primary:hover, .vg-btn--buy:hover { filter:brightness(1.05) saturate(1.05); box-shadow:0 10px 26px -10px color-mix(in srgb, var(--vg-primary) 85%, transparent); }
.vg-btn--secondary { --vg-btn-bg:var(--vg-surface); --vg-btn-bd:var(--vg-border); }
.vg-btn--secondary:hover { --vg-btn-bd:color-mix(in srgb, var(--vg-text) 45%, var(--vg-border)); box-shadow:var(--vg-shadow-sm); }
.vg-btn--ghost { --vg-btn-bg:transparent; --vg-btn-bd:transparent; }
.vg-btn--ghost:hover { --vg-btn-bg:var(--vg-hover); }
.vg-btn--dark { --vg-btn-bg:var(--vg-text); --vg-btn-fg:var(--vg-bg); --vg-btn-bd:var(--vg-text); }
.vg-btn--lg { min-height:54px; padding:0 26px; font-size:16px; }
.vg-btn--sm { min-height:36px; padding:0 14px; font-size:13.5px; }
.vg-btn--block { display:flex; width:100%; }
body.vg-btn-gradient .vg-btn--primary, body.vg-btn-gradient .vg-btn--buy { background:linear-gradient(135deg, var(--vg-primary), color-mix(in srgb, var(--vg-primary) 62%, var(--vg-accent))); border-color:transparent; }
body.vg-btn-outline .vg-btn--primary { --vg-btn-bg:transparent; --vg-btn-fg:var(--vg-text); box-shadow:none; border-width:2px; }
body.vg-btn-outline .vg-btn--primary:hover { --vg-btn-bg:var(--vg-primary); --vg-btn-fg:var(--vg-on-primary); }
.vg-btn.is-loading { pointer-events:none; }
.vg-btn.is-loading > * { opacity:0; }
.vg-btn.is-loading::after { content:""; position:absolute; inset:0; margin:auto; width:18px; height:18px; border-radius:50%; border:2px solid currentColor; border-right-color:transparent; animation:vg-spin .7s linear infinite; }
.vg-icon-btn { display:inline-grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:10px; background:transparent; color:var(--vg-text); cursor:pointer; transition:background .2s, color .2s; flex-shrink:0; }
.vg-icon-btn:hover { background:var(--vg-hover); }
.vg-link-arrow { display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--vg-accent); font-size:15px; }
.vg-link-arrow svg { transition:transform .2s var(--vg-ease); }
.vg-link-arrow:hover svg { transform:translateX(3px); }
.vg-chip { display:inline-flex; align-items:center; gap:7px; padding:8px 15px; border-radius:999px; border:1px solid var(--vg-border); background:var(--vg-surface); color:var(--vg-text); font-size:14px; font-weight:600; line-height:1.2; cursor:pointer; transition:all .2s; white-space:nowrap; }
.vg-chip small { font-size:11.5px; font-weight:700; opacity:.55; }
.vg-chip:hover { border-color:color-mix(in srgb, var(--vg-text) 40%, var(--vg-border)); }
.vg-chip.is-active { background:var(--vg-text); border-color:var(--vg-text); color:var(--vg-bg); }
.vg-chip--lg { padding:12px 20px; font-size:15px; }
.vg-tag { display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:999px; background:var(--vg-surface-2); color:var(--vg-muted); font-size:11.5px; font-weight:700; line-height:1.4; }
.vg-tag--success { background:var(--vg-success-soft); color:var(--vg-success); }
.vg-eyebrow { display:inline-flex; align-items:center; gap:6px; color:var(--vg-accent); font-family:var(--vg-font-ui); font-size:12.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.vg-pill-label { display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border:1px solid var(--vg-border); border-radius:999px; background:color-mix(in srgb, var(--vg-surface) 80%, transparent); font-size:13px; font-weight:700; color:var(--vg-text); box-shadow:var(--vg-shadow-sm); backdrop-filter:blur(6px); }
.vg-pill-label svg { color:var(--vg-primary); }
.vg-spinner { display:inline-block; width:28px; height:28px; border-radius:50%; border:3px solid var(--vg-border); border-top-color:var(--vg-primary); animation:vg-spin .8s linear infinite; }

/* Stars (partial fill, real ratings) */
.vg-stars { position:relative; display:inline-flex; vertical-align:middle; line-height:0; }
.vg-stars__base, .vg-stars__fill { display:flex; gap:1px; }
.vg-stars__base { color:color-mix(in srgb, var(--vg-text) 16%, transparent); }
.vg-stars__fill { position:absolute; inset:0 auto 0 0; overflow:hidden; color:var(--vg-star); }
.vg-stars svg { flex-shrink:0; fill:currentColor; stroke:currentColor; stroke-width:1; }

/* ---------- 4. Top bar ---------- */
.vg-topbar { position:relative; z-index:60; background:var(--vg-topbar-bg); color:var(--vg-topbar-text); font-family:var(--vg-font-ui); font-size:var(--vg-topbar-size); line-height:1.3; }
.vg-topbar__inner { position:relative; display:flex; align-items:center; justify-content:center; gap:10px 22px; min-height:var(--vg-topbar-h); padding-block:5px; }
body.vg-topbar-split .vg-topbar__inner { justify-content:space-between; }
.vg-topbar[data-dismissible] .vg-topbar__inner { padding-inline-end:48px; }
.vg-topbar.is-hidden { display:none; }
.vg-tp { display:inline-flex; align-items:center; gap:8px; color:inherit; white-space:nowrap; min-width:0; }
.vg-tp:hover { opacity:.88; }
.vg-tp__brand { display:inline-flex; align-items:center; gap:5px; font-weight:800; letter-spacing:-.01em; }
.vg-tp__logo { color:#00b67a; }
.vg-tp__verdict { font-weight:700; }
.vg-tp__score { font-weight:800; }
.vg-tp__reviews, .vg-tp__domain { opacity:.82; }
.vg-tp.is-underlined .vg-tp__reviews { text-decoration:underline; text-underline-offset:3px; }
.vg-tp-stars { display:inline-flex; gap:2px; line-height:0; }
.vg-tp-stars--tiles i { display:grid; place-items:center; width:var(--vg-star-size); height:var(--vg-star-size); background:linear-gradient(90deg, var(--vg-tp-tile) var(--f), #c9c9d3 var(--f)); }
.vg-tp-stars--tiles svg { width:72%; height:72%; fill:var(--vg-tp-star); stroke:none; }
.vg-tp-stars--plain i { display:block; width:var(--vg-star-size); height:var(--vg-star-size); background:linear-gradient(90deg, var(--vg-tp-tile) var(--f), color-mix(in srgb, currentColor 28%, transparent) var(--f)); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3C/svg%3E") center/contain no-repeat; }
.vg-tp-stars--plain svg { display:none; }
.vg-tp-stars--image img { height:var(--vg-star-size); width:auto; }
.vg-topbar__msgs { position:relative; display:grid; min-width:0; }
.vg-topbar__msg { grid-area:1/1; display:inline-flex; align-items:center; justify-content:center; gap:7px; color:inherit; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .45s, transform .45s, visibility .45s; white-space:nowrap; }
.vg-topbar__msg.is-active { opacity:1; visibility:visible; transform:none; }
a.vg-topbar__msg:hover span { text-decoration:underline; text-underline-offset:3px; }
.vg-topbar__icon { color:var(--vg-primary); }
.vg-marquee { flex:1; min-width:0; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.vg-marquee__track { display:inline-flex; gap:56px; padding-inline-end:56px; white-space:nowrap; animation:vg-marquee 38s linear infinite; }
.vg-marquee:hover .vg-marquee__track { animation-play-state:paused; }
.vg-marquee .vg-topbar__msg { grid-area:auto; opacity:1; visibility:visible; transform:none; }
.vg-topbar__clock { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px; background:color-mix(in srgb, var(--vg-primary) 22%, transparent); color:inherit; font-weight:600; white-space:nowrap; }
.vg-topbar__clock strong { font-variant-numeric:tabular-nums; color:var(--vg-primary); }
.vg-topbar__close { position:absolute; inset-inline-end:clamp(8px, 2vw, 20px); top:50%; transform:translateY(-50%); display:grid; place-items:center; width:28px; height:28px; border:0; border-radius:8px; background:transparent; color:inherit; opacity:.7; cursor:pointer; }
.vg-topbar__close:hover { opacity:1; background:rgba(255,255,255,.1); }
@media (max-width:768px) {
  body.vg-topbar-desktop-only .vg-topbar { display:none; }
  .vg-topbar__inner { gap:6px 14px; }
  body.vg-topbar-split .vg-topbar__inner { justify-content:center; }
  body.vg-topbar-split .vg-topbar__msgs { display:none; }
  .vg-tp__domain, .vg-tp__verdict { display:none; }
}
@media (max-width:420px) { .vg-tp__reviews { display:none; } }

/* ---------- 5. Header ---------- */
.vg-header { position:relative; z-index:90; background:var(--vg-header-bg); color:var(--vg-header-text); transition:box-shadow .3s, background-color .3s; }
body.vg-sticky .vg-header { position:sticky; top:var(--vg-admin-bar); }
body.vg-header-border .vg-header { border-bottom:1px solid var(--vg-border); }
body.vg-header-blur .vg-header { background:color-mix(in srgb, var(--vg-header-bg) 84%, transparent); -webkit-backdrop-filter:saturate(1.7) blur(16px); backdrop-filter:saturate(1.7) blur(16px); }
.vg-header.is-scrolled { box-shadow:0 8px 30px -18px rgba(0,0,0,.35); }
.vg-header__inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"logo nav actions"; align-items:center; gap:20px; min-height:var(--vg-header-h); transition:min-height .3s var(--vg-ease); }
body.vg-shrink .vg-header.is-scrolled .vg-header__inner { min-height:max(56px, calc(var(--vg-header-h) - 14px)); }
.vg-header__logo { grid-area:logo; display:flex; align-items:center; min-width:0; }
.vg-header__nav { grid-area:nav; display:flex; justify-content:center; min-width:0; }
.vg-actions { grid-area:actions; display:flex; align-items:center; justify-content:flex-end; gap:8px; }
body.vg-header-left .vg-header__nav { justify-content:flex-start; padding-inline-start:12px; }
body.vg-header-stacked .vg-header__inner { grid-template-columns:1fr auto 1fr; grid-template-areas:". logo actions" "nav nav nav"; row-gap:0; padding-top:10px; }
body.vg-header-stacked .vg-header__logo { justify-content:center; }
body.vg-header-stacked .vg-header__nav { border-top:1px solid var(--vg-border); margin-top:10px; padding:4px 0; }
.vg-logo { display:inline-flex; align-items:center; color:var(--vg-header-text); }
.vg-logo__img { display:block; width:var(--vg-logo-w); max-width:100%; height:auto; max-height:calc(var(--vg-header-h) - 18px); object-fit:contain; object-position:left center; transition:max-height .3s; }
body.vg-shrink .vg-header.is-scrolled .vg-logo__img { max-height:calc(var(--vg-header-h) - 30px); }
.vg-logo__text { font-family:var(--vg-font-heading); font-size:22px; font-weight:800; letter-spacing:-.03em; }

/* Navigation */
.vg-nav__list, .vg-nav--wp ul { display:flex; align-items:center; gap:2px; margin:0; padding:0; list-style:none; }
.vg-nav__item, .vg-nav--wp li { position:relative; }
.vg-nav__link, .vg-nav--wp .menu-item > a { position:relative; display:inline-flex; align-items:center; gap:6px; padding:9px 13px; border-radius:999px; color:var(--vg-header-text); font-family:var(--vg-font-ui); font-size:var(--vg-link-size); font-weight:var(--vg-link-weight); text-transform:var(--vg-link-transform); line-height:1.2; white-space:nowrap; opacity:.86; }
.vg-nav__link:hover, .vg-nav__item:focus-within > .vg-nav__link, .vg-nav__item.is-current > .vg-nav__link, .vg-nav--wp .menu-item > a:hover, .vg-nav--wp .current-menu-item > a { opacity:1; }
body.vg-links-pill .vg-nav__link:hover, body.vg-links-pill .vg-nav__item:focus-within > .vg-nav__link, body.vg-links-pill .vg-nav--wp .menu-item > a:hover { background:color-mix(in srgb, var(--vg-header-text) 8%, transparent); }
body.vg-links-pill .vg-nav__item.is-current > .vg-nav__link, body.vg-links-pill .vg-nav--wp .current-menu-item > a { background:color-mix(in srgb, var(--vg-primary) 16%, transparent); }
body.vg-links-underline .vg-nav__link, body.vg-links-underline .vg-nav--wp .menu-item > a { border-radius:0; }
body.vg-links-underline .vg-nav__link::after, body.vg-links-underline .vg-nav--wp .menu-item > a::after { content:""; position:absolute; left:13px; right:13px; bottom:3px; height:2px; border-radius:2px; background:var(--vg-primary); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--vg-ease); }
body.vg-links-underline .vg-nav__link:hover::after, body.vg-links-underline .vg-nav__item.is-current > .vg-nav__link::after, body.vg-links-underline .vg-nav--wp .current-menu-item > a::after, body.vg-links-underline .vg-nav--wp .menu-item > a:hover::after { transform:scaleX(1); }
body.vg-links-plain .vg-nav__link:hover, body.vg-links-plain .vg-nav__item.is-current > .vg-nav__link { color:var(--vg-primary); }
.vg-nav__badge { display:inline-flex; align-items:center; padding:2px 7px; border-radius:999px; background:var(--vg-primary); color:var(--vg-on-primary); font-size:10.5px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; line-height:1.3; }
.vg-nav__chev { opacity:.6; transition:transform .25s var(--vg-ease); }
.vg-nav__item:hover .vg-nav__chev, .vg-nav__item:focus-within .vg-nav__chev { transform:rotate(180deg); }
.vg-nav__sub, .vg-nav--wp .sub-menu { position:absolute; top:100%; left:50%; z-index:20; min-width:250px; padding-top:10px; transform:translate(-50%, 8px); opacity:0; visibility:hidden; transition:opacity .2s, transform .25s var(--vg-ease), visibility .2s; }
.vg-nav--wp .sub-menu { display:block; padding:8px; background:var(--vg-surface); border:1px solid var(--vg-border); border-radius:16px; box-shadow:var(--vg-shadow-lg); }
.vg-nav__item:hover > .vg-nav__sub, .vg-nav__item:focus-within > .vg-nav__sub, .vg-nav__item.is-open > .vg-nav__sub, .vg-nav--wp li:hover > .sub-menu, .vg-nav--wp li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translate(-50%, 0); }
.vg-nav__panel { padding:8px; background:var(--vg-surface); border:1px solid var(--vg-border); border-radius:16px; box-shadow:var(--vg-shadow-lg); }
.vg-nav__sublink, .vg-nav--wp .sub-menu a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 12px; border-radius:10px; color:var(--vg-text); font-size:14.5px; font-weight:600; white-space:nowrap; }
.vg-nav__sublink span { display:inline-flex; align-items:center; gap:8px; }
.vg-nav__sublink svg { opacity:0; transform:translateX(-4px); transition:all .2s var(--vg-ease); color:var(--vg-primary); }
.vg-nav__sublink:hover, .vg-nav--wp .sub-menu a:hover { background:var(--vg-surface-2); }
.vg-nav__sublink:hover svg { opacity:1; transform:none; }

/* Header buttons */
.vg-act { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; height:42px; padding:0 15px; border:1.5px solid transparent; border-radius:var(--vg-btn-radius); background:transparent; color:var(--vg-header-text); font-family:var(--vg-font-ui); font-size:14px; font-weight:700; line-height:1; white-space:nowrap; cursor:pointer; transition:background .2s, border-color .2s, color .2s, transform .2s var(--vg-ease), box-shadow .2s; }
.vg-act:hover { transform:translateY(-1px); }
.vg-act--primary { background:var(--vg-primary); border-color:var(--vg-primary); color:var(--vg-on-primary); box-shadow:0 6px 16px -8px color-mix(in srgb, var(--vg-primary) 80%, transparent); }
body.vg-btn-gradient .vg-act--primary { background:linear-gradient(135deg, var(--vg-primary), color-mix(in srgb, var(--vg-primary) 62%, var(--vg-accent))); border-color:transparent; }
.vg-act--primary:hover { filter:brightness(1.05); }
.vg-act--secondary { border-color:color-mix(in srgb, var(--vg-header-text) 20%, transparent); }
.vg-act--secondary:hover { border-color:color-mix(in srgb, var(--vg-header-text) 50%, transparent); }
.vg-act--ghost:hover, .vg-act--icon:hover { background:color-mix(in srgb, var(--vg-header-text) 8%, transparent); }
.vg-act--icon { width:42px; padding:0; }
.vg-act--icon .vg-act__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.vg-cart__count { position:absolute; top:-7px; inset-inline-end:-7px; display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:var(--vg-danger); color:#fff; font-size:11px; font-weight:800; line-height:1; border:2px solid var(--vg-header-bg); font-variant-numeric:tabular-nums; }
.vg-cart__count[data-count="0"] { display:none; }
.vg-cart__count.is-bump { animation:vg-bump .5s var(--vg-ease); }
.vg-cart__total { padding-inline-start:8px; margin-inline-start:2px; border-inline-start:1px solid color-mix(in srgb, currentColor 30%, transparent); font-variant-numeric:tabular-nums; }
.vg-cart__total .woocommerce-Price-amount { font-weight:800; }
.vg-mode svg { transition:transform .5s var(--vg-ease); }
.vg-mode:hover svg { transform:rotate(-25deg); }
html[data-theme=dark] .vg-mode__moon, html:not([data-theme=dark]) .vg-mode__sun { display:none; }
.vg-burger { display:none; }
.vg-header__secure { grid-area:nav; justify-self:center; display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:var(--vg-success-soft); color:var(--vg-success); font-size:14px; font-weight:700; }
.vg-header--minimal .vg-actions .vg-act--ghost { color:var(--vg-muted); }
@media (max-width:1080px) {
  .vg-header__nav { display:none; }
  .vg-burger { display:inline-flex; }
  .vg-header__inner, body.vg-header-stacked .vg-header__inner { grid-template-columns:auto 1fr; grid-template-areas:"logo actions"; padding-top:0; }
  body.vg-header-stacked .vg-header__logo { justify-content:flex-start; }
  .vg-header--minimal .vg-header__inner { grid-template-columns:auto 1fr auto; grid-template-areas:"logo nav actions"; }
}
@media (max-width:640px) {
  .vg-header__inner { gap:10px; }
  .vg-logo__img { width:var(--vg-logo-w-m); }
  .vg-actions { gap:4px; }
  .vg-act { width:40px; height:40px; padding:0; border-color:transparent !important; background:transparent !important; box-shadow:none !important; color:var(--vg-header-text) !important; }
  .vg-act--primary.vg-cart { background:var(--vg-primary) !important; color:var(--vg-on-primary) !important; }
  .vg-act .vg-act__label, .vg-act .vg-cart__total { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .vg-header__secure span { display:none; }
  .vg-header__secure { padding:8px; }
}

/* Mobile drawer */
.vg-drawer { position:fixed; inset:0; z-index:260; visibility:hidden; pointer-events:none; }
.vg-drawer.is-open { visibility:visible; pointer-events:auto; }
.vg-drawer__backdrop { position:absolute; inset:0; background:var(--vg-overlay); opacity:0; transition:opacity .3s; backdrop-filter:blur(3px); }
.vg-drawer.is-open .vg-drawer__backdrop { opacity:1; }
.vg-drawer__panel { position:absolute; top:0; bottom:0; inset-inline-end:0; display:flex; flex-direction:column; width:min(390px, 88vw); background:var(--vg-surface); color:var(--vg-text); box-shadow:var(--vg-shadow-lg); transform:translateX(100%); transition:transform .38s var(--vg-ease); overflow-y:auto; overscroll-behavior:contain; }
.vg-drawer.is-open .vg-drawer__panel { transform:none; }
.vg-drawer__head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px; border-bottom:1px solid var(--vg-border); }
.vg-logo--drawer .vg-logo__img { width:150px; max-height:40px; }
.vg-drawer__search { display:flex; align-items:center; gap:10px; margin:16px 18px 6px; padding:0 14px; height:46px; border:1.5px solid var(--vg-input-border); border-radius:12px; background:var(--vg-input-bg); color:var(--vg-input-placeholder); font-size:15px; text-align:start; cursor:pointer; }
.vg-drawer__nav { display:flex; flex-direction:column; padding:8px 10px; }
.vg-drawer__link, .vg-drawer__group > summary, .vg-drawer__nav.vg-nav--wp a { display:flex; align-items:center; gap:8px; padding:14px 12px; border-radius:12px; color:var(--vg-text); font-size:16.5px; font-weight:700; cursor:pointer; list-style:none; }
.vg-drawer__link:hover, .vg-drawer__group > summary:hover { background:var(--vg-surface-2); }
.vg-drawer__group > summary::-webkit-details-marker { display:none; }
.vg-drawer__chev { margin-inline-start:auto; opacity:.55; transition:transform .25s; }
.vg-drawer__group[open] .vg-drawer__chev { transform:rotate(180deg); }
.vg-drawer__sub { display:flex; flex-direction:column; padding:0 0 8px 14px; margin-inline-start:12px; border-inline-start:2px solid var(--vg-border); }
.vg-drawer__sub a { display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:10px; color:var(--vg-muted); font-weight:600; }
.vg-drawer__sub a:hover { color:var(--vg-text); background:var(--vg-surface-2); }
.vg-drawer__nav.vg-nav--wp ul { list-style:none; margin:0; padding:0; }
.vg-drawer__nav.vg-nav--wp .sub-menu { padding-inline-start:14px; }
.vg-drawer__foot { display:grid; gap:10px; margin-top:auto; padding:18px; border-top:1px solid var(--vg-border); }
.vg-drawer__mail { display:inline-flex; align-items:center; justify-content:center; gap:8px; color:var(--vg-muted); font-size:14px; }

/* ---------- 6. Modals & search ---------- */
.vg-modal { position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:16px; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .25s, visibility .25s; }
.vg-modal.is-open { visibility:visible; opacity:1; pointer-events:auto; }
.vg-modal__backdrop { position:absolute; inset:0; background:var(--vg-overlay); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.vg-modal > :not(.vg-modal__backdrop) { position:relative; transform:translateY(14px) scale(.985); transition:transform .35s var(--vg-ease); }
.vg-modal.is-open > :not(.vg-modal__backdrop) { transform:none; }
.vg-search { align-items:flex-start; padding-top:min(12vh, 110px); }
.vg-search__panel { width:min(720px, 100%); max-height:80vh; display:flex; flex-direction:column; background:var(--vg-surface); color:var(--vg-text); border:1px solid var(--vg-border); border-radius:20px; box-shadow:var(--vg-shadow-lg); overflow:hidden; }
.vg-search__form { display:flex; align-items:center; gap:10px; margin:0; padding:10px 10px 10px 18px; border-bottom:1px solid var(--vg-border); }
.vg-search__icon { color:var(--vg-muted); }
.vg-search__form input[type=search] { flex:1; min-width:0; height:48px; border:0; outline:0; background:transparent; color:var(--vg-text); font-size:18px; font-weight:500; -webkit-appearance:none; appearance:none; }
.vg-search__form input::placeholder { color:var(--vg-input-placeholder); }
.vg-search__form input::-webkit-search-cancel-button { display:none; }
.vg-search__esc { padding:3px 7px; border:1px solid var(--vg-border); border-radius:6px; color:var(--vg-muted); font-size:11px; font-family:var(--vg-font-ui); }
.vg-search__popular { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:14px 18px; }
.vg-search__popular > span { color:var(--vg-muted); font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-inline-end:4px; }
.vg-search__popular .vg-chip { padding:6px 13px; font-size:13.5px; }
.vg-search__results { overflow-y:auto; padding:6px 10px 10px; }
.vg-search__results:empty { display:none; }
.vg-search__item { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:14px; padding:10px; border-radius:12px; color:var(--vg-text); }
.vg-search__item:hover, .vg-search__item.is-active { background:var(--vg-surface-2); }
.vg-search__item img, .vg-search__thumb { width:52px; height:52px; border-radius:10px; object-fit:cover; background:var(--vg-image-bg); }
.vg-search__item strong { display:block; font-size:15px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vg-search__item small { display:block; color:var(--vg-muted); font-size:12.5px; }
.vg-search__price { font-weight:800; font-size:14.5px; white-space:nowrap; }
.vg-search__price del { color:var(--vg-muted); font-weight:500; font-size:.85em; margin-inline-end:4px; }
.vg-search__price ins { text-decoration:none; }
.vg-search__all { display:flex; align-items:center; justify-content:center; gap:6px; margin:6px 4px 2px; padding:12px; border-radius:12px; background:var(--vg-surface-2); font-weight:700; font-size:14px; }
.vg-search__all:hover { background:var(--vg-hover); }
.vg-search__empty, .vg-search__loading { padding:28px 16px; text-align:center; color:var(--vg-muted); }
@media (max-width:640px) { .vg-search { padding:0; } .vg-search__panel { max-height:100%; height:100%; border-radius:0; border:0; } .vg-search__esc { display:none; } }

/* ---------- 7. Sections & homepage ---------- */
.vg-section { padding-block:var(--vg-space); }
.vg-section--alt { background:var(--vg-bg-alt); }
.vg-section--tight { padding-block:calc(var(--vg-space) * .55); }
.vg-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px 40px; margin-bottom:clamp(24px, 3vw, 36px); }
.vg-section-head.is-center { flex-direction:column; align-items:center; text-align:center; }
.vg-section-head.is-center .vg-section-text { margin-inline:auto; }
.vg-section-head.is-stack { flex-direction:column; align-items:flex-start; }
.vg-section-title { margin:.35em 0 0; font-size:clamp(28px, 4.2vw, var(--vg-h2)); line-height:1.08; }
.vg-section-text { max-width:480px; margin:0; color:var(--vg-muted); font-size:16.5px; }
.vg-section-action { margin-top:30px; text-align:center; }
.vg-empty { padding:24px; border:1px dashed var(--vg-border); border-radius:var(--vg-radius); color:var(--vg-muted); text-align:center; }

/* Hero */
.vg-hero { position:relative; overflow:hidden; padding-block:clamp(48px, 7vw, 104px) clamp(40px, 6vw, 88px); isolation:isolate; }
.vg-hero--bg-glow::before { content:""; position:absolute; inset:-20% -10% auto; height:120%; z-index:-1; background:radial-gradient(600px 380px at 78% 30%, color-mix(in srgb, var(--vg-primary) 22%, transparent), transparent 70%), radial-gradient(520px 360px at 18% 10%, color-mix(in srgb, var(--vg-accent) 14%, transparent), transparent 70%); }
.vg-hero--bg-grid::before { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(color-mix(in srgb, var(--vg-text) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--vg-text) 7%, transparent) 1px, transparent 1px); background-size:44px 44px; -webkit-mask-image:radial-gradient(ellipse at 50% 30%, #000 20%, transparent 72%); mask-image:radial-gradient(ellipse at 50% 30%, #000 20%, transparent 72%); }
.vg-hero__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:center; gap:clamp(32px, 5vw, 72px); }
.vg-hero--centered .vg-hero__grid, .vg-hero--minimal .vg-hero__grid { grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; }
.vg-hero--centered .vg-hero__copy, .vg-hero--minimal .vg-hero__copy { max-width:880px; display:flex; flex-direction:column; align-items:center; }
.vg-hero__title { margin:20px 0 18px; font-size:clamp(38px, 6.2vw, var(--vg-h1)); line-height:1.02; letter-spacing:var(--vg-h-letter); text-wrap:balance; }
.vg-hero__title em { font-style:normal; background:linear-gradient(100deg, var(--vg-primary) 10%, color-mix(in srgb, var(--vg-primary) 40%, var(--vg-accent)) 90%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.vg-hero__text { max-width:580px; margin:0; color:var(--vg-muted); font-size:clamp(16.5px, 1.6vw, 19px); line-height:1.65; text-wrap:pretty; }
.vg-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.vg-hero--centered .vg-hero__actions, .vg-hero--minimal .vg-hero__actions, .vg-hero--centered .vg-hero__proof, .vg-hero--minimal .vg-hero__proof { justify-content:center; }
.vg-hero__proof { display:flex; flex-wrap:wrap; gap:10px 22px; margin:28px 0 0; padding:0; list-style:none; }
.vg-hero__proof li { display:inline-flex; align-items:center; gap:8px; color:var(--vg-muted); font-size:14.5px; font-weight:600; }
.vg-hero__proof svg { color:var(--vg-success); }
.vg-hero__visual { position:relative; width:100%; max-width:540px; justify-self:end; aspect-ratio:1/1; }
.vg-hero--centered .vg-hero__visual { justify-self:center; max-width:760px; aspect-ratio:16/9; margin-top:12px; }
.vg-hero__ring { position:absolute; inset:8%; border-radius:50%; background:conic-gradient(from 200deg, var(--vg-primary), var(--vg-accent), var(--vg-primary)); opacity:.32; filter:blur(48px); animation:vg-rotate 18s linear infinite; }
.vg-hero__art { position:absolute; inset:6%; overflow:hidden; border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 2); background:var(--vg-surface); box-shadow:var(--vg-shadow-lg); }
.vg-hero__art img { display:block; width:100%; height:100%; object-fit:cover; }
.vg-float { position:absolute; z-index:2; display:flex; align-items:center; gap:11px; padding:12px 16px 12px 12px; border:1px solid var(--vg-border); border-radius:16px; background:color-mix(in srgb, var(--vg-surface) 90%, transparent); color:var(--vg-text); box-shadow:var(--vg-shadow); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); animation:vg-float 6s ease-in-out infinite; text-align:start; }
.vg-float--one { left:-4%; bottom:12%; }
.vg-float--two { right:-3%; top:10%; animation-delay:-3s; }
a.vg-float:hover { border-color:var(--vg-primary); }
.vg-float__icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:var(--vg-success-soft); color:var(--vg-success); }
.vg-float__icon--gift { background:var(--vg-primary-soft); color:color-mix(in srgb, var(--vg-primary) 70%, var(--vg-text)); }
.vg-float strong { display:block; font-size:14px; line-height:1.25; }
.vg-float small { display:block; color:var(--vg-muted); font-size:12.5px; }
@media (max-width:900px) {
  .vg-hero__grid { grid-template-columns:minmax(0,1fr); }
  .vg-hero__visual { justify-self:center; max-width:440px; }
  .vg-float--one { left:0; } .vg-float--two { right:0; }
}

/* Benefits */
.vg-benefits { padding-block:0 clamp(16px, 3vw, 32px); }
.vg-benefits__list { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.vg-benefit { display:flex; align-items:flex-start; gap:13px; padding:18px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); box-shadow:var(--vg-shadow-sm); }
.vg-benefit__icon { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border-radius:12px; background:var(--vg-primary-soft); color:color-mix(in srgb, var(--vg-primary) 70%, var(--vg-text)); }
html[data-theme=dark] .vg-benefit__icon { background:color-mix(in srgb, var(--vg-primary) 22%, transparent); color:color-mix(in srgb, var(--vg-primary) 85%, #fff); }
.vg-benefit strong { display:block; font-size:15px; line-height:1.3; margin-bottom:3px; }
.vg-benefit > div > span { display:block; color:var(--vg-muted); font-size:13.5px; line-height:1.45; }
@media (max-width:640px) { .vg-benefits__list { grid-template-columns:1fr 1fr; gap:10px; } .vg-benefit { flex-direction:column; padding:14px; gap:10px; } }

/* Tabs */
.vg-tabs__list { display:flex; gap:4px; width:max-content; max-width:100%; margin:0 auto 28px; padding:5px; border:1px solid var(--vg-border); border-radius:999px; background:var(--vg-surface); overflow-x:auto; scrollbar-width:none; box-shadow:var(--vg-shadow-sm); }
.vg-tabs__list::-webkit-scrollbar { display:none; }
.vg-tabs__tab { flex-shrink:0; padding:10px 18px; border:0; border-radius:999px; background:transparent; color:var(--vg-muted); font-family:var(--vg-font-ui); font-size:14.5px; font-weight:700; transition:all .2s; }
.vg-tabs__tab:hover { color:var(--vg-text); }
.vg-tabs__tab.is-active { background:var(--vg-text); color:var(--vg-bg); }
.vg-tabs__panel { animation:vg-fade .35s var(--vg-ease); }

/* Categories */
.vg-cat-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:14px; }
.vg-cat-card { display:flex; align-items:center; gap:14px; padding:14px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); color:var(--vg-text); transition:transform .25s var(--vg-ease), box-shadow .25s, border-color .25s; }
.vg-cat-card:hover { transform:translateY(-3px); box-shadow:var(--vg-shadow); border-color:color-mix(in srgb, var(--vg-primary) 50%, var(--vg-border)); }
.vg-cat-card__media { display:grid; place-items:center; flex-shrink:0; width:62px; height:62px; overflow:hidden; border-radius:12px; background:var(--vg-image-bg); color:var(--vg-muted); }
.vg-cat-card__media img { width:100%; height:100%; object-fit:cover; }
.vg-cat-card__body strong { display:block; font-size:15.5px; }
.vg-cat-card__body small { color:var(--vg-muted); font-size:13px; }
.vg-cat-card__arrow { margin-inline-start:auto; color:var(--vg-muted); transition:transform .2s, color .2s; }
.vg-cat-card:hover .vg-cat-card__arrow { transform:translateX(3px); color:var(--vg-primary); }
.vg-cat-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }

/* Features + rating card */
.vg-features { display:grid; grid-template-columns:minmax(280px, 380px) minmax(0,1fr); gap:20px; align-items:stretch; }
.vg-features--full { grid-template-columns:minmax(0,1fr); }
.vg-rating-card { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:32px; border-radius:calc(var(--vg-radius) * 1.4); background:linear-gradient(160deg, color-mix(in srgb, var(--vg-primary) 14%, var(--vg-surface)), var(--vg-surface) 70%); border:1px solid var(--vg-border); box-shadow:var(--vg-shadow); }
.vg-rating-card__score { font-family:var(--vg-font-heading); font-size:68px; font-weight:800; line-height:1; letter-spacing:-.04em; }
.vg-rating-card__score span { font-size:24px; color:var(--vg-muted); letter-spacing:0; }
.vg-rating-card .vg-tp-stars { --vg-star-size:26px; }
.vg-rating-card p { margin:6px 0 0; color:var(--vg-muted); }
.vg-rating-card p strong { color:var(--vg-text); }
.vg-rating-card .vg-link-arrow { margin-top:auto; padding-top:10px; }
.vg-feature-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px; }
.vg-feature { padding:24px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); transition:transform .25s var(--vg-ease), box-shadow .25s; }
.vg-feature:hover { transform:translateY(-3px); box-shadow:var(--vg-shadow); }
.vg-feature__icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:16px; border-radius:12px; background:var(--vg-accent-soft); color:var(--vg-accent); }
.vg-feature h3 { margin:0 0 6px; font-size:17px; }
.vg-feature p { margin:0; color:var(--vg-muted); font-size:14.5px; }
.vg-features:not(.vg-features--full) .vg-feature-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
.vg-features:not(.vg-features--full) .vg-feature-grid:is(:has(> :nth-child(3):last-child), :has(> :nth-child(6):last-child), :has(> :nth-child(9):last-child)) { grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:640px) { .vg-features:not(.vg-features--full) .vg-feature-grid, .vg-features:not(.vg-features--full) .vg-feature-grid:is(:has(> :nth-child(3):last-child), :has(> :nth-child(6):last-child), :has(> :nth-child(9):last-child)) { grid-template-columns:minmax(0,1fr); } }
@media (max-width:900px) { .vg-features { grid-template-columns:minmax(0,1fr); } }

/* Steps */
.vg-steps { display:grid; grid-template-columns:repeat(var(--n, 3), minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; counter-reset:step; }
.vg-step { position:relative; padding:28px 24px 24px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); }
.vg-step:not(:last-child)::after { content:""; position:absolute; top:48px; inset-inline-end:-17px; width:18px; height:2px; background:repeating-linear-gradient(90deg, var(--vg-border) 0 4px, transparent 4px 8px); }
.vg-step__num { display:grid; place-items:center; width:42px; height:42px; margin-bottom:16px; border-radius:50%; background:var(--vg-primary); color:var(--vg-on-primary); font-weight:800; font-size:17px; box-shadow:0 0 0 6px var(--vg-primary-soft); }
.vg-step h3 { margin:0 0 6px; font-size:18px; }
.vg-step p { margin:0; color:var(--vg-muted); font-size:14.5px; }
@media (max-width:900px) { .vg-steps { grid-template-columns:minmax(0,1fr); } .vg-step:not(:last-child)::after { display:none; } }

/* Reviews */
.vg-review-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:16px; }
.vg-review-card { display:flex; flex-direction:column; gap:14px; margin:0; padding:24px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); box-shadow:var(--vg-shadow-sm); }
.vg-review-card blockquote { margin:0; font-size:15.5px; line-height:1.65; }
.vg-review-card figcaption { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:6px; }
.vg-review-card figcaption strong { display:block; font-size:14.5px; }
.vg-review-card figcaption small { display:block; color:var(--vg-muted); font-size:12.5px; }
.vg-review-card figcaption a { color:var(--vg-muted); text-decoration:underline; text-underline-offset:2px; }
.vg-avatar { display:inline-grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:50%; background:var(--vg-accent-soft); color:var(--vg-accent); font-weight:800; }
.vg-verified { display:inline-flex !important; align-items:center; gap:4px; color:var(--vg-success) !important; font-weight:700; }

/* FAQ */
.vg-faq-wrap { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px, 5vw, 64px); align-items:start; }
.vg-faq { display:grid; gap:10px; }
.vg-faq__item { border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); transition:border-color .2s, box-shadow .2s; }
.vg-faq__item[open] { box-shadow:var(--vg-shadow-sm); border-color:color-mix(in srgb, var(--vg-text) 18%, var(--vg-border)); }
.vg-faq__item summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; font-weight:700; font-size:16px; cursor:pointer; list-style:none; }
.vg-faq__item summary::-webkit-details-marker { display:none; }
.vg-faq__icon { flex-shrink:0; color:var(--vg-muted); transition:transform .25s var(--vg-ease); }
.vg-faq__item[open] .vg-faq__icon { transform:rotate(45deg); color:var(--vg-primary); }
.vg-faq__a { padding:0 20px 18px; color:var(--vg-muted); font-size:15px; }
.vg-faq__a p:last-child { margin:0; }
@media (max-width:900px) { .vg-faq-wrap { grid-template-columns:minmax(0,1fr); } }

/* CTA & promo */
.vg-cta { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; padding:clamp(24px, 4vw, 40px); border-radius:calc(var(--vg-radius) * 1.6); border:1px solid var(--vg-border); background:var(--vg-surface); }
.vg-cta--gradient { background:linear-gradient(120deg, color-mix(in srgb, var(--vg-primary) 20%, var(--vg-surface)), color-mix(in srgb, var(--vg-accent) 16%, var(--vg-surface))); border-color:transparent; }
.vg-cta--outline { background:transparent; border:2px dashed color-mix(in srgb, var(--vg-primary) 60%, var(--vg-border)); }
.vg-cta__icon { display:grid; place-items:center; width:60px; height:60px; border-radius:18px; background:var(--vg-primary); color:var(--vg-on-primary); box-shadow:0 10px 24px -10px var(--vg-primary); }
.vg-cta h2 { margin:4px 0 6px; font-size:clamp(24px, 3vw, 32px); }
.vg-cta p { margin:0; color:var(--vg-muted); }
@media (max-width:760px) { .vg-cta { grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; } }
.vg-promo { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 32px; padding:clamp(24px, 4vw, 40px); border-radius:calc(var(--vg-radius) * 1.6); background:#121217; color:#f4f4f6; box-shadow:var(--vg-shadow-lg); }
.vg-promo h2 { margin:6px 0 4px; color:#fff; font-size:clamp(24px, 3vw, 34px); }
.vg-promo p { margin:0; color:#b9b9c4; }
.vg-promo .vg-eyebrow { color:var(--vg-primary); }
.vg-countdown { display:flex; gap:8px; }
.vg-countdown span { display:grid; justify-items:center; min-width:70px; padding:12px 8px; border-radius:14px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); }
.vg-countdown b { font-size:28px; font-weight:800; line-height:1; font-variant-numeric:tabular-nums; }
.vg-countdown small { margin-top:5px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#a3a3af; }

/* ---------- 8. Footer ---------- */
.vg-footer { position:relative; padding-top:clamp(40px, 5vw, 64px); background:var(--vg-footer-bg); color:var(--vg-footer-text); border-top:1px solid var(--vg-border); font-size:14.5px; }
.vg-footer a:hover { color:var(--vg-text); }
.vg-support { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:14px; margin-bottom:clamp(36px, 5vw, 56px); }
.vg-support__card { display:flex; gap:14px; padding:22px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); }
.vg-support__icon { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:12px; background:var(--vg-primary-soft); color:color-mix(in srgb, var(--vg-primary) 70%, var(--vg-text)); }
.vg-support__card h3 { margin:0 0 4px; font-size:16px; }
.vg-support__card p { margin:0 0 10px; color:var(--vg-muted); font-size:14px; }
.vg-support__card .vg-link-arrow { font-size:14px; }
.vg-footer__main { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,2fr); gap:40px 56px; padding-bottom:40px; }
.vg-logo--footer .vg-logo__img { width:min(var(--vg-logo-w), 190px); max-height:56px; }
.vg-footer__brand p { max-width:360px; margin:16px 0 0; line-height:1.7; }
.vg-footer__cols { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:28px; }
.vg-footer__col h3 { margin:0 0 14px; color:var(--vg-text); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.vg-footer__col ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.vg-social { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.vg-social a { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--vg-border); border-radius:50%; background:var(--vg-surface); color:var(--vg-text); transition:all .2s; }
.vg-social a:hover { background:var(--vg-primary); border-color:var(--vg-primary); color:var(--vg-on-primary); transform:translateY(-2px); }
.vg-footer__mail { display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-weight:600; }
.vg-footer__pay { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; padding-block:18px; border-top:1px solid var(--vg-border); }
.vg-footer__pay > span { font-size:13px; font-weight:700; }
.vg-pay-icons { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.vg-pay-icons--center { justify-content:center; }
.vg-pay-icon { display:grid; place-items:center; width:44px; height:30px; border-radius:7px; background:#fff; border:1px solid color-mix(in srgb, var(--vg-border) 70%, #ddd); }
.vg-pay-icon img { width:auto; height:20px; max-width:34px; object-fit:contain; }
.vg-footer__bottom { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:14px 28px; padding-block:22px 28px; border-top:1px solid var(--vg-border); font-size:13px; }
.vg-footer__copy { margin:0; font-weight:600; }
.vg-footer__small { max-width:760px; margin:6px 0 0; font-size:12px; line-height:1.6; opacity:.85; }
.vg-footer__legal { display:flex; flex-wrap:wrap; gap:8px 20px; }
.vg-footer--centered .vg-footer__main { grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; }
.vg-footer--centered .vg-footer__brand p { margin-inline:auto; }
.vg-footer--centered .vg-footer__cols, .vg-footer--minimal .vg-footer__cols { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; }
.vg-footer--centered .vg-footer__col ul, .vg-footer--minimal .vg-footer__col ul { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px; }
.vg-footer--centered .vg-social { justify-content:center; margin-top:0; }
.vg-footer--centered .vg-footer__pay, .vg-footer--centered .vg-footer__bottom { justify-content:center; text-align:center; flex-direction:column; align-items:center; }
.vg-footer--minimal .vg-footer__main { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding-bottom:28px; }
.vg-footer--minimal .vg-social { margin-top:0; }
.vg-footer--slim { padding-top:0; }
@media (max-width:860px) { .vg-footer__main { grid-template-columns:minmax(0,1fr); gap:32px; } }
@media (max-width:520px) { .vg-footer__cols { grid-template-columns:1fr 1fr; } .vg-footer__bottom { flex-direction:column; } }

/* ---------- 9. Pages, prose, posts ---------- */
.vg-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 14px; color:var(--vg-muted); font-size:13.5px; }
.vg-breadcrumb a { color:var(--vg-muted); }
.vg-breadcrumb a:hover { color:var(--vg-text); }
.vg-breadcrumb__sep { opacity:.5; }
.vg-page-head { padding-block:clamp(28px, 4vw, 44px) clamp(18px, 2.5vw, 28px); }
.vg-page-title { margin:0; font-size:clamp(30px, 4.4vw, 48px); line-height:1.06; text-wrap:balance; }
.vg-page-intro { max-width:700px; margin:12px 0 0; color:var(--vg-muted); font-size:17px; }
.vg-page-hero { padding-block:clamp(36px, 6vw, 72px) clamp(20px, 3vw, 32px); border-bottom:1px solid var(--vg-border); margin-bottom:clamp(28px, 4vw, 44px); background:linear-gradient(180deg, var(--vg-bg-alt), transparent); }
.vg-page-hero .vg-eyebrow { display:block; margin-bottom:10px; }
.vg-prose { padding-bottom:clamp(48px, 7vw, 88px); font-size:17px; line-height:1.75; }
.vg-prose > *:first-child { margin-top:0; }
.vg-prose h2 { margin:1.7em 0 .5em; font-size:clamp(24px, 3vw, 30px); }
.vg-prose h3 { margin:1.5em 0 .45em; font-size:21px; }
.vg-prose a { color:var(--vg-accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.vg-prose ul, .vg-prose ol { padding-inline-start:1.3em; }
.vg-prose li { margin-bottom:.4em; }
.vg-prose li::marker { color:var(--vg-primary); }
.vg-prose img, .vg-prose figure img { border-radius:var(--vg-radius); }
.vg-prose blockquote { margin:1.5em 0; padding:4px 0 4px 20px; border-inline-start:3px solid var(--vg-primary); color:var(--vg-muted); font-size:1.05em; }
.vg-prose table { width:100%; border-collapse:collapse; font-size:15px; }
.vg-prose th, .vg-prose td { padding:10px 12px; border-bottom:1px solid var(--vg-border); text-align:start; }
.vg-prose hr { border:0; height:1px; background:var(--vg-border); margin:2em 0; }
.vg-prose code { padding:2px 6px; border-radius:6px; background:var(--vg-surface-2); font-size:.9em; }
.vg-post-hero-img img { width:100%; border-radius:calc(var(--vg-radius) * 1.4); margin-bottom:32px; }
.vg-archive { padding-bottom:clamp(48px, 7vw, 88px); }
.vg-post-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:20px; }
.vg-post-card { overflow:hidden; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); transition:transform .25s var(--vg-ease), box-shadow .25s; }
.vg-post-card:hover { transform:translateY(-3px); box-shadow:var(--vg-shadow); }
.vg-post-card__img img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.vg-post-card__body { padding:20px; }
.vg-post-card__body small { color:var(--vg-muted); }
.vg-post-card__body h2 { margin:6px 0 8px; font-size:19px; }
.vg-post-card__body p { margin:0; color:var(--vg-muted); font-size:14.5px; }
.vg-pagination { margin-top:32px; }
.vg-pagination .nav-links, .vg-pagination { display:flex; justify-content:center; gap:6px; flex-wrap:wrap; }
.vg-pagination .page-numbers { display:inline-grid; place-items:center; min-width:42px; height:42px; padding:0 10px; border:1px solid var(--vg-border); border-radius:10px; background:var(--vg-surface); font-weight:700; }
.vg-pagination .page-numbers.current { background:var(--vg-text); border-color:var(--vg-text); color:var(--vg-bg); }
.vg-empty-state { display:grid; justify-items:center; gap:12px; padding:56px 20px; border:1px dashed var(--vg-border); border-radius:var(--vg-radius); color:var(--vg-muted); text-align:center; }
.vg-404 { display:grid; justify-items:center; text-align:center; padding-block:clamp(24px, 6vw, 72px); }
.vg-404__code { font-family:var(--vg-font-heading); font-size:clamp(96px, 18vw, 180px); font-weight:800; line-height:.9; letter-spacing:-.06em; background:linear-gradient(120deg, var(--vg-primary), var(--vg-accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.vg-404 .vg-page-intro { margin-inline:auto; }
.vg-404__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
.search-form { display:flex; gap:8px; width:min(460px, 100%); }
.search-form label { flex:1; }
.search-form .search-field { width:100%; height:var(--vg-field-h); padding:0 14px; border:1.5px solid var(--vg-input-border); border-radius:var(--vg-field-radius); background:var(--vg-input-bg); color:var(--vg-input-text); }
.search-form .search-submit { height:var(--vg-field-h); padding:0 18px; border:0; border-radius:var(--vg-btn-radius); background:var(--vg-primary); color:var(--vg-on-primary); font-weight:700; }

/* Comments (posts) */
.vg-comments { margin-block:clamp(28px, 5vw, 56px); }
.vg-comments__title { margin:0 0 16px; font-size:22px; }
.vg-comments__closed { color:var(--vg-muted); }
.vg-comments .comment-respond { margin-top:24px; padding:22px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); }
.vg-comments .comment-form p { margin:0 0 14px; }
.vg-comments .comment-form label { display:block; margin-bottom:6px; font-weight:650; font-size:13.5px; }
.comment-list { list-style:none; padding:0; }
.comment-list .comment-body { padding:18px; margin-bottom:12px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); }
.comment-respond input[type=text], .comment-respond input[type=email], .comment-respond input[type=url], .comment-respond textarea { width:100%; padding:12px 14px; border:1.5px solid var(--vg-input-border); border-radius:var(--vg-field-radius); background:var(--vg-input-bg); color:var(--vg-input-text); }
.comment-respond .submit { min-height:46px; padding:0 22px; border:0; border-radius:var(--vg-btn-radius); background:var(--vg-primary); color:var(--vg-on-primary); font-weight:700; }

/* ---------- 10. Motion ---------- */
@keyframes vg-spin { to { transform:rotate(360deg); } }
@keyframes vg-rotate { to { transform:rotate(360deg); } }
@keyframes vg-fade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@keyframes vg-float { 0%, 100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes vg-marquee { to { transform:translateX(-50%); } }
@keyframes vg-bump { 0% { transform:scale(1); } 40% { transform:scale(1.35); } 100% { transform:scale(1); } }
@keyframes vg-pulse { 0% { box-shadow:0 0 0 0 color-mix(in srgb, var(--vg-success) 55%, transparent); } 70% { box-shadow:0 0 0 8px transparent; } 100% { box-shadow:0 0 0 0 transparent; } }
@keyframes vg-slide-up { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .7s var(--vg-ease), transform .7s var(--vg-ease); }
[data-reveal].is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  [data-reveal] { opacity:1; transform:none; }
}
.vg-admin-hint { display:flex; align-items:center; gap:10px; margin:18px 0; padding:12px 16px; border:1.5px dashed color-mix(in srgb, var(--vg-primary) 55%, var(--vg-border)); border-radius:var(--vg-radius-sm, 12px); background:var(--vg-primary-soft, rgba(244,166,34,.08)); color:var(--vg-text); font-size:13.5px; }
.vg-admin-hint svg { flex:none; color:var(--vg-primary); }
.vg-admin-hint a { font-weight:650; text-decoration:underline; text-underline-offset:3px; }

/* ---------- Policy pages (template-policy.php) ---------- */
.vg-policy-hero { padding-block:clamp(34px, 6vw, 70px) clamp(26px, 4vw, 44px); border-bottom:1px solid var(--vg-border); background:radial-gradient(900px 300px at 15% -10%, color-mix(in srgb, var(--vg-primary) 13%, transparent), transparent 70%), linear-gradient(180deg, var(--vg-bg-alt), var(--vg-bg)); }
.vg-policy-hero .woocommerce-breadcrumb { margin-bottom:18px; }
.vg-policy-hero__eyebrow { display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; padding:6px 12px 6px 10px; border:1px solid var(--vg-border); border-radius:999px; background:var(--vg-surface); color:var(--vg-text); font-size:12.5px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.vg-policy-hero__eyebrow .vg-icon { color:var(--vg-primary); }
.vg-policy-hero .vg-page-title { margin:0; max-width:820px; font-size:clamp(34px, 5vw, 54px); line-height:1.08; letter-spacing:-.03em; }
.vg-policy-hero__intro { max-width:680px; margin:16px 0 0; color:var(--vg-muted); font-size:clamp(16px, 1.6vw, 18.5px); line-height:1.6; }
.vg-policy-hero__meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin:20px 0 0; color:var(--vg-muted); font-size:13.5px; font-weight:600; }
.vg-policy-hero__meta span { display:inline-flex; align-items:center; gap:6px; }
.vg-policy-hero__meta span + span::before { content:""; width:4px; height:4px; margin-inline-end:12px; border-radius:50%; background:currentColor; opacity:.5; }
.vg-policy-layout { display:grid; grid-template-columns:260px minmax(0, 820px); justify-content:start; gap:clamp(28px, 5vw, 72px); padding-block:clamp(30px, 5vw, 56px) 0; }
.vg-policy-layout.is-simple { grid-template-columns:minmax(0, 760px); justify-content:center; }
.vg-policy-aside { position:sticky; top:calc(var(--vg-admin-bar, 0px) + var(--vg-header-h, 72px) + 24px); align-self:start; display:grid; gap:18px; max-height:calc(100vh - var(--vg-header-h, 72px) - 48px); overflow:auto; scrollbar-width:thin; }
.vg-policy-toc summary { display:flex; align-items:center; gap:8px; margin-bottom:10px; color:var(--vg-text); font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; list-style:none; }
.vg-policy-toc summary::-webkit-details-marker { display:none; }
.vg-policy-toc ol { margin:0; padding:0; list-style:none; border-inline-start:2px solid var(--vg-border); }
.vg-policy-toc a { display:block; margin-inline-start:-2px; padding:6px 0 6px 14px; border-inline-start:2px solid transparent; color:var(--vg-muted); font-size:14px; font-weight:600; line-height:1.4; text-decoration:none; transition:color .2s, border-color .2s; }
.vg-policy-toc a:hover, .vg-policy-toc a.is-active { color:var(--vg-text); border-color:var(--vg-primary); }
.vg-policy-nav { display:grid; gap:2px; padding:14px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); }
.vg-policy-nav strong { margin:0 6px 6px; color:var(--vg-muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.vg-policy-nav a { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:10px; color:var(--vg-text); font-size:14px; font-weight:600; text-decoration:none; }
.vg-policy-nav a .vg-icon { color:var(--vg-muted); }
.vg-policy-nav a:hover { background:var(--vg-hover, var(--vg-surface-2)); }
.vg-policy-nav a.is-current { background:var(--vg-primary-soft); }
.vg-policy-nav a.is-current .vg-icon { color:color-mix(in srgb, var(--vg-primary) 75%, var(--vg-text)); }
.vg-policy-body { padding-bottom:clamp(20px, 4vw, 40px); font-size:16.5px; }
.vg-policy-body h2 { scroll-margin-top:calc(var(--vg-admin-bar, 0px) + var(--vg-header-h, 72px) + 20px); margin-top:1.8em; padding-top:.2em; font-size:clamp(22px, 2.6vw, 27px); letter-spacing:-.015em; }
.vg-policy-body ul { padding-inline-start:1.2em; }
.vg-policy-body li { margin:.35em 0; }
.vg-policy-body li::marker { color:var(--vg-primary); }
.vg-policy-body .vg-policy-summary { margin:0 0 8px; padding:22px 24px; border:1px solid color-mix(in srgb, var(--vg-primary) 28%, var(--vg-border)); border-radius:calc(var(--vg-radius) * 1.2); background:linear-gradient(160deg, color-mix(in srgb, var(--vg-primary) 10%, var(--vg-surface)), var(--vg-surface) 70%); }
.vg-policy-body .vg-policy-summary h3 { margin:0 0 10px; font-size:15px; letter-spacing:.04em; text-transform:uppercase; }
.vg-policy-body .vg-policy-summary ul { margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.vg-policy-body .vg-policy-summary li { position:relative; margin:0; padding-inline-start:30px; font-size:15.5px; line-height:1.55; }
.vg-policy-body .vg-policy-summary li::before { content:""; position:absolute; inset-inline-start:0; top:.15em; width:20px; height:20px; border-radius:50%; background:var(--vg-success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / 12px no-repeat; }
.vg-policy-body .vg-policy-note { margin:28px 0 0; padding:16px 18px; border-inline-start:4px solid var(--vg-primary); border-radius:12px; background:var(--vg-surface-2); }
.vg-policy-body .vg-policy-note p { margin:0; font-size:15px; }
.vg-policy-help-wrap { padding-block:0 clamp(48px, 7vw, 88px); }
.vg-policy-help { display:flex; flex-wrap:wrap; align-items:center; gap:18px 22px; padding:clamp(20px, 3vw, 30px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.4); background:var(--vg-surface); box-shadow:var(--vg-shadow-sm, none); }
.vg-policy-help > div:not(.vg-policy-help__actions) { flex:1 1 260px; }
.vg-policy-help h2 { margin:0 0 4px; font-size:21px; }
.vg-policy-help p { margin:0; color:var(--vg-muted); }
.vg-policy-help__icon { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:var(--vg-primary-soft); color:color-mix(in srgb, var(--vg-primary) 75%, var(--vg-text)); }
.vg-policy-help__actions { display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:900px) {
  .vg-policy-layout { grid-template-columns:minmax(0, 1fr); gap:20px; }
  .vg-policy-aside { position:static; max-height:none; overflow:visible; }
  .vg-policy-toc { padding:14px 16px; border:1px solid var(--vg-border); border-radius:var(--vg-radius); background:var(--vg-surface); }
  .vg-policy-toc:not([open]) summary { margin:0; }
  .vg-policy-nav { display:none; }
}

/* ---------- Icon position / style options (Benefits strip, Rating + features) ---------- */
.vg-benefits--icon-top .vg-benefit { flex-direction:column; gap:12px; }
.vg-benefits--align-center .vg-benefit { justify-content:center; text-align:center; }
.vg-benefits--align-center.vg-benefits--icon-top .vg-benefit { align-items:center; }
.vg-benefits--align-center:not(.vg-benefits--icon-top) .vg-benefit { align-items:center; text-align:start; }
.vg-feature-grid--icon-start .vg-feature { display:grid; grid-template-columns:auto minmax(0, 1fr); column-gap:16px; align-items:start; }
.vg-feature-grid--icon-start .vg-feature__icon { grid-row:span 2; margin:0; }
.vg-feature-grid--icon-start .vg-feature h3 { align-self:center; }
.vg-icons--solid :is(.vg-benefit__icon, .vg-feature__icon) { background:var(--vg-primary); color:var(--vg-on-primary); }
.vg-icons--plain :is(.vg-benefit__icon, .vg-feature__icon) { width:auto; height:auto; background:none; border-radius:0; color:color-mix(in srgb, var(--vg-primary) 80%, var(--vg-text)); }
.vg-icons--plain .vg-benefit__icon .vg-icon, .vg-icons--plain .vg-feature__icon .vg-icon { width:26px; height:26px; }

/* ---------- Admin edit shortcuts ---------- */
.vg-editable--rel { position:relative; }
.vg-edit-pill { position:absolute; top:10px; right:10px; z-index:60; display:inline-flex; align-items:center; gap:6px; padding:6px 11px; border-radius:999px; background:#f4a622; color:#1c1300 !important; font:600 12px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing:0; text-decoration:none !important; box-shadow:0 6px 18px rgba(0,0,0,.22); opacity:0; transform:translateY(-4px); pointer-events:none; transition:opacity .15s, transform .15s; white-space:nowrap; }
.vg-edit-pill svg { width:13px; height:13px; }
.vg-editable:hover > .vg-edit-pill, .vg-edit-pill:focus-visible { opacity:1; transform:none; pointer-events:auto; }
.vg-editable:hover { outline:2px dashed rgba(244,166,34,.65); outline-offset:-2px; }
html.vg-edit-off .vg-edit-pill { display:none !important; } html.vg-edit-off .vg-editable:hover { outline:0; }
.vg-header .vg-edit-pill, .vg-topbar .vg-edit-pill { top:50%; transform:translateY(-50%); right:auto; left:12px; }
.vg-header.vg-editable:hover > .vg-edit-pill, .vg-topbar.vg-editable:hover > .vg-edit-pill { transform:translateY(-50%); }
@media (hover:none) { .vg-edit-pill { opacity:.92; transform:none; pointer-events:auto; } }
.vg-policy-toc a.is-active { color:var(--vg-text); font-weight:700; }

/* ---------- Illustrated gradient cards (benefits strip + how-it-works) ---------- */
.vg-art { --a1:#7c2d12; --a2:#ea580c; --a3:#fdba74; --art-ink:#fff; --art-cut:var(--a2); position:relative; isolation:isolate; overflow:hidden; color:#fff;
  background:radial-gradient(120% 95% at 100% 100%, color-mix(in srgb, var(--a3) 62%, transparent) 0%, transparent 58%), radial-gradient(90% 70% at 0% 0%, color-mix(in srgb, var(--a1) 85%, transparent), transparent 72%), linear-gradient(145deg, var(--a1) 0%, var(--a2) 64%, color-mix(in srgb, var(--a2) 55%, var(--a3)) 100%);
  border:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), inset 0 0 0 1px rgba(255,255,255,.08), 0 22px 44px -30px color-mix(in srgb, var(--a2) 85%, #000);
  transition:transform .35s var(--vg-ease), box-shadow .35s var(--vg-ease); }
.vg-art::before { content:""; position:absolute; inset:0; z-index:0; border-radius:inherit; pointer-events:none; opacity:.55; background:repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 1px, transparent 1px 14px); -webkit-mask:linear-gradient(200deg, #000, transparent 55%); mask:linear-gradient(200deg, #000, transparent 55%); }
.vg-art:hover { transform:translateY(-4px); box-shadow:inset 0 1px 0 rgba(255,255,255,.24), inset 0 0 0 1px rgba(255,255,255,.1), 0 30px 54px -30px color-mix(in srgb, var(--a2) 95%, #000); }
.vg-art--ember { --a1:#7c2410; --a2:#ea5a0c; --a3:#fbbf24; }
.vg-art--emerald { --a1:#053d30; --a2:#059669; --a3:#6ee7b7; }
.vg-art--violet { --a1:#2e1065; --a2:#7c3aed; --a3:#c4b5fd; }
.vg-art--azure { --a1:#172554; --a2:#2563eb; --a3:#7dd3fc; }
.vg-art--rose { --a1:#6b0f2a; --a2:#e11d48; --a3:#fda4af; }
.vg-art--teal { --a1:#0f3a37; --a2:#0d9488; --a3:#5eead4; }
.vg-art--gold { --a1:#5a3208; --a2:#c27c06; --a3:#fde047; }
.vg-art--midnight { --a1:#030712; --a2:#1e293b; --a3:#64748b; }
.vg-art--brand { --a1:color-mix(in srgb, var(--vg-primary) 40%, #000); --a2:var(--vg-primary); --a3:color-mix(in srgb, var(--vg-primary) 45%, #fff); }
.vg-art__copy { position:relative; z-index:1; }
.vg-art__clip { position:absolute; inset:0; z-index:0; overflow:hidden; border-radius:inherit; pointer-events:none; }
.vg-art__img { position:absolute; z-index:0; right:-2px; bottom:-12px; width:146px; height:146px; pointer-events:none; filter:drop-shadow(0 10px 18px rgba(0,0,0,.16)); transition:transform .5s var(--vg-ease); }
.vg-art__img svg, .vg-art__img img { display:block; width:100%; height:100%; object-fit:contain; }
.vg-art:hover .vg-art__img { transform:translate(-4px, -5px) rotate(-2deg) scale(1.04); }
[dir="rtl"] .vg-art__img { right:auto; left:-2px; transform:scaleX(-1); }
[dir="rtl"] .vg-art:hover .vg-art__img { transform:scaleX(-1) translate(-4px, -5px) scale(1.04); }
@keyframes vgStreak { 0%, 100% { transform:translateX(0); } 50% { transform:translateX(-10px); } }
@keyframes vgDot { 0%, 100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes vgLift { 0%, 100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
.vg-art:hover .vg-art__streak { animation:vgStreak 1s var(--vg-ease) infinite; }
.vg-art:hover .vg-art__streak:nth-of-type(2n) { animation-delay:.15s; }
.vg-art:hover .vg-art__dot { animation:vgDot .9s ease-in-out infinite; } .vg-art:hover .vg-art__dot:nth-of-type(2n) { animation-delay:.15s; }
.vg-art:hover .vg-art__lift { animation:vgLift 1.6s ease-in-out infinite; }
/* soft variant: tinted surface, dark text, coloured drawing */
.vg-arts--soft .vg-art { --art-ink:var(--a2); --art-cut:#fff; color:var(--vg-text); background:radial-gradient(110% 90% at 100% 100%, color-mix(in srgb, var(--a3) 40%, transparent), transparent 62%), linear-gradient(150deg, color-mix(in srgb, var(--a3) 12%, var(--vg-surface)), color-mix(in srgb, var(--a3) 30%, var(--vg-surface)));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--a2) 18%, transparent), 0 18px 40px -32px color-mix(in srgb, var(--a2) 70%, #000); }
.vg-arts--soft .vg-art::before { display:none; }
.vg-arts--soft .vg-art__img { filter:drop-shadow(0 10px 16px color-mix(in srgb, var(--a2) 22%, transparent)); }
html[data-theme=dark] .vg-arts--soft .vg-art { --art-ink:var(--a3); --art-cut:var(--a1); }

/* benefits strip */
.vg-benefits--art .vg-benefits__list { grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:14px; }
.vg-benefits--art .vg-benefit { display:block; min-height:172px; padding:20px 20px 64px; border-radius:calc(var(--vg-radius) * 1.3); }
.vg-benefits--art .vg-benefit strong { display:block; margin:0 0 5px; font-family:var(--vg-font-heading); font-size:18px; font-weight:800; line-height:1.2; letter-spacing:-.01em; color:inherit; }
.vg-benefits--art .vg-art__copy > span { display:block; max-width:24ch; color:rgba(255,255,255,.84); font-size:14px; line-height:1.45; }
.vg-arts--soft.vg-benefits--art .vg-art__copy > span { color:var(--vg-muted); }

/* how it works */
.vg-steps--art { gap:18px; }
.vg-steps--art .vg-step { display:flex; flex-direction:column; min-height:250px; padding:24px 24px 110px; border-radius:calc(var(--vg-radius) * 1.4); overflow:visible; }
.vg-steps--art .vg-step::after { display:none; }
.vg-steps--art .vg-step__num { display:block; width:auto; height:auto; margin:0 0 18px; border-radius:0; background:none; box-shadow:none; font-family:var(--vg-font-heading); font-size:54px; font-weight:800; line-height:.9; letter-spacing:-.05em; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.78); }
.vg-arts--soft .vg-step__num { -webkit-text-stroke-color:color-mix(in srgb, var(--a2) 70%, transparent); }
.vg-steps--art .vg-step h3 { margin:0 0 6px; font-size:20px; color:inherit; }
.vg-steps--art .vg-step p { max-width:30ch; margin:0; color:rgba(255,255,255,.85); font-size:14.5px; }
.vg-arts--soft.vg-steps--art .vg-step p { color:var(--vg-muted); }
.vg-steps--art .vg-art__img { width:172px; height:172px; right:2px; bottom:-8px; }
.vg-steps--art .vg-step:nth-child(1) { z-index:6; } .vg-steps--art .vg-step:nth-child(2) { z-index:5; } .vg-steps--art .vg-step:nth-child(3) { z-index:4; } .vg-steps--art .vg-step:nth-child(4) { z-index:3; } .vg-steps--art .vg-step:nth-child(5) { z-index:2; }
.vg-step__link { display:none; }
@media (min-width:901px) {
  .vg-step__link { display:grid; place-items:center; position:absolute; z-index:3; top:50%; inset-inline-end:-27px; width:36px; height:36px; margin-top:-18px; border-radius:50%; background:var(--vg-surface); box-shadow:0 0 0 5px var(--vg-bg), 0 6px 16px -6px rgba(0,0,0,.35); }
  .vg-section--alt .vg-step__link { box-shadow:0 0 0 5px var(--vg-bg-alt, var(--vg-bg)), 0 6px 16px -6px rgba(0,0,0,.35); }
  .vg-step__link::before { content:""; width:9px; height:9px; margin-inline-start:-4px; border:solid var(--vg-text); border-width:2.5px 2.5px 0 0; transform:rotate(45deg); }
  [dir="rtl"] .vg-step__link::before { transform:rotate(-135deg); margin-inline-start:4px; }
}
@media (max-width:900px) {
  .vg-steps--art { gap:12px; }
  .vg-steps--art .vg-step { min-height:0; padding:18px 118px 20px 20px; }
  [dir="rtl"] .vg-steps--art .vg-step { padding:18px 20px 20px 118px; }
  .vg-steps--art .vg-step__num { position:relative; z-index:1; margin:0 0 10px; font-size:30px; -webkit-text-stroke-width:1.2px; }
  .vg-steps--art .vg-step h3 { font-size:18px; }
  .vg-steps--art .vg-step p { font-size:14px; }
  .vg-steps--art .vg-art__img { width:130px; height:130px; right:-4px; bottom:50%; margin-bottom:-72px; }
  .vg-steps--art .vg-step__num + .vg-art__copy { margin-top:0; }
}
@media (max-width:640px) {
  .vg-benefits--art .vg-benefits__list { grid-template-columns:1fr 1fr; gap:10px; }
  .vg-benefits--art .vg-benefit { min-height:156px; padding:14px 14px 58px; border-radius:var(--vg-radius); }
  .vg-benefits--art .vg-benefit strong { font-size:15px; }
  .vg-benefits--art .vg-art__copy > span { font-size:12.5px; }
  .vg-benefits--art .vg-art__img { width:100px; height:100px; right:-4px; bottom:-10px; }
}
@media (prefers-reduced-motion:reduce) { .vg-art, .vg-art__img { transition:none; } .vg-art:hover .vg-art__img { transform:none; } .vg-art * { animation:none !important; } }

/* Section heads: compact on phones (title, eyebrow and text stacked tightly, no side column) */
@media (max-width:720px) {
  .vg-section { padding-block:calc(var(--vg-space) * .6); }
  .vg-section--tight { padding-block:calc(var(--vg-space) * .4); }
  .vg-section-head { flex-direction:column; align-items:flex-start; gap:6px; margin-bottom:18px; }
  .vg-section-head.is-center { align-items:center; }
  .vg-section-head .vg-eyebrow { font-size:11px; letter-spacing:.12em; }
  .vg-section-title { margin-top:.2em; font-size:clamp(23px, 6.4vw, 28px); line-height:1.12; letter-spacing:-.02em; text-wrap:balance; }
  .vg-section-text { max-width:none; font-size:14px; line-height:1.5; text-wrap:pretty; }
}
html[data-theme=dark] .vg-arts--soft .vg-step__num { -webkit-text-stroke-color:color-mix(in srgb, var(--a3) 75%, transparent); }

/* Keep visually hidden form controls from inheriting full-width input rules. */
html body .vg-sr{width:1px!important;max-width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;clip-path:inset(50%)}

/* Hero shape: rounded card with the same width as the sections below (4.10.0) */
.vg-hero--frame-card { width:min(calc(100% - 2 * clamp(16px, 4vw, 32px)), var(--vg-container)); margin:clamp(10px, 1.6vw, 20px) auto 0; border:1px solid color-mix(in srgb, var(--vg-border) 80%, transparent); border-radius:calc(var(--vg-radius) * 2); background:color-mix(in srgb, var(--vg-surface) 55%, transparent); padding-block:clamp(36px, 6vw, 88px) clamp(32px, 5vw, 72px); }
.vg-hero--frame-card > .vg-container { padding-inline:clamp(18px, 4vw, 56px); max-width:none; }
.vg-hero.vg-hero--frame-card + .vg-ledger, .vg-hero.vg-hero--frame-card + .vg-benefits { margin-top:clamp(14px, 2vw, 24px); }
@media (max-width:760px) { .vg-hero--frame-card { border-radius:22px; } }

/* Premium animated icons (inc/picons.php). Only transform/opacity loops, paused for reduced motion. */
.vg-pi { display:inline-grid; place-items:center; line-height:0; flex:none; }
.vg-pi svg { overflow:visible; }
.vg-pi .f { fill:var(--vgpi-fl); stroke:none; }
.vg-pi .pi-dot { fill:url(#vgpi-st); stroke:none; }
.vg-pi--success .pi-dot { fill:url(#vgpi-sts); }
.vg-pi g, .vg-pi path, .vg-pi rect, .vg-pi circle { transform-box:fill-box; transform-origin:center; }
.vg-pi .pi-draw { stroke-dasharray:1; stroke-dashoffset:0; animation:vgpi-draw 4.2s ease-in-out infinite; }
.vg-pi .pi-spark { opacity:0; animation:vgpi-spark 4.2s ease-out infinite; }
.vg-pi--zap .pi-pop { animation:vgpi-pop 3.6s ease-in-out infinite; }
.vg-pi--zap .pi-spark { animation-duration:3.6s; animation-delay:.15s; }
.vg-pi--star .pi-pop { animation:vgpi-pop 4.4s ease-in-out infinite; }
.vg-pi .pi-spin { animation:vgpi-spin 14s linear infinite; }
.vg-pi .pi-card { animation:vgpi-card 4s ease-in-out infinite; }
.vg-pi .pi-lid { transform-origin:30% 100%; animation:vgpi-lid 3.8s ease-in-out infinite; }
.vg-pi--gift .pi-spark { animation-delay:.2s; animation-duration:3.8s; }
.vg-pi .pi-eq { animation:vgpi-eq 1.4s ease-in-out infinite; transform-origin:50% 50%; }
.vg-pi .pi-eq2 { animation-delay:.2s; } .vg-pi .pi-eq3 { animation-delay:.4s; }
.vg-pi .pi-shackle { animation:vgpi-shackle 4s ease-in-out infinite; }
.vg-pi .pi-hand { transform-origin:50% 100%; animation:vgpi-spin 6s linear infinite; }
.vg-pi .pi-float { animation:vgpi-float 4.5s ease-in-out infinite; }
.vg-pi-tile { position:relative; background:linear-gradient(150deg, color-mix(in srgb, var(--vg-surface) 92%, var(--vg-primary)) 0%, color-mix(in srgb, var(--vg-primary) 16%, var(--vg-surface)) 100%) !important; border:1px solid color-mix(in srgb, var(--vg-primary) 26%, var(--vg-border)); box-shadow:inset 0 1px 0 rgba(255,255,255,.65), 0 6px 18px -8px color-mix(in srgb, var(--vg-primary) 55%, transparent); overflow:hidden; }
.vg-pi-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%); transform:translateX(-120%); animation:vgpi-glint 6s ease-in-out infinite; pointer-events:none; }
.vg-float__icon .vg-pi, .vg-ledger__icon .vg-pi, .vg-benefit__icon .vg-pi { position:relative; z-index:1; }
.vg-float__icon { box-shadow:inset 0 1px 0 rgba(255,255,255,.6); }
@keyframes vgpi-draw { 0%, 12% { stroke-dashoffset:1; } 38%, 100% { stroke-dashoffset:0; } }
@keyframes vgpi-spark { 0%, 30% { opacity:0; transform:scale(.4); } 40% { opacity:1; transform:scale(1.15); } 60%, 100% { opacity:0; transform:scale(.6); } }
@keyframes vgpi-pop { 0%, 64%, 100% { transform:scale(1); } 70% { transform:scale(1.16) rotate(-4deg); } 76% { transform:scale(.96); } 82% { transform:scale(1.04); } }
@keyframes vgpi-spin { to { transform:rotate(360deg); } }
@keyframes vgpi-card { 0%, 20%, 100% { transform:translateY(0); } 45%, 70% { transform:translateY(-2.4px); } }
@keyframes vgpi-lid { 0%, 55%, 100% { transform:translateY(0) rotate(0); } 64% { transform:translateY(-2.6px) rotate(-7deg); } 72% { transform:translateY(0) rotate(0); } 78% { transform:translateY(-.8px); } }
@keyframes vgpi-eq { 0%, 100% { transform:scaleY(.55); } 50% { transform:scaleY(1.25); } }
@keyframes vgpi-shackle { 0%, 60%, 100% { transform:translateY(0); } 70%, 80% { transform:translateY(-1.6px); } }
@keyframes vgpi-float { 0%, 100% { transform:translateY(0); } 50% { transform:translateY(-1.2px); } }
@keyframes vgpi-glint { 0%, 70% { transform:translateX(-120%); } 90%, 100% { transform:translateX(120%); } }
@media (prefers-reduced-motion:reduce) { .vg-pi *, .vg-pi-tile::after { animation:none !important; } }
html[data-theme=dark] .vg-pi-tile { box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 6px 18px -8px color-mix(in srgb, var(--vg-primary) 45%, transparent); }
html[data-theme=dark] .vg-pi-tile::after { background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.14) 50%, transparent 65%); }

/* Inline catalog loading */
.vg-catalog-more { text-transform:none; }
.vg-catalog-more[aria-disabled="true"] { opacity:.7; pointer-events:none; }
.vg-catalog-status { margin:10px 0 0; color:var(--vg-muted); font-size:14px; }
.vg-catalog-status:empty { display:none; }
.vg-catalog-status a { color:var(--vg-text); text-decoration:underline; }
