/*! VirtGold content styles - block styles & sections for product descriptions and pages (front end, block editor and classic editor). */
:root, body, .editor-styles-wrapper {
  --vgc-text:var(--vg-text, #17171c); --vgc-muted:var(--vg-muted, #5d5d67); --vgc-border:var(--vg-border, #e5e3dd);
  --vgc-surface:var(--vg-surface, #ffffff); --vgc-surface-2:var(--vg-surface-2, #f6f5f1); --vgc-primary:var(--vg-primary, #f4a622);
  --vgc-on-primary:var(--vg-on-primary, #1c1300); --vgc-accent:var(--vg-accent, #5b47e0); --vgc-ok:var(--vg-success, #12855b);
  --vgc-danger:var(--vg-danger, #d63c4a); --vgc-warn:#c27c00; --vgc-info:#3a6ad6; --vgc-star:var(--vg-star, #f2a414); --vgc-r:var(--vg-radius, 14px);
}
html[data-theme=dark] { --vgc-warn:#f0b33c; --vgc-info:#7ea2ff; }

/* Fallback layout where the block library is not loaded (classic editor, perf mode) */
:where(body:not(.editor-styles-wrapper)) :where(.wp-block-columns) { display:flex; flex-wrap:wrap; gap:clamp(14px, 2.4vw, 24px); margin-block:1.4em; }
:where(body:not(.editor-styles-wrapper)) :where(.wp-block-column) { flex:1 1 220px; min-width:0; }
:where(.wp-block-buttons) { display:flex; flex-wrap:wrap; gap:10px; }

/* ---------- Frames & backgrounds (Group) ---------- */
:is(.is-style-vg-card, .is-style-vg-soft, .is-style-vg-tint, .is-style-vg-glow, .is-style-vg-dark, .is-style-vg-outline, .is-style-vg-note-info, .is-style-vg-note-ok, .is-style-vg-note-warn, .is-style-vg-note-danger) { box-sizing:border-box; margin-block:1.4em; padding:clamp(18px, 3vw, 28px); border-radius:calc(var(--vgc-r) * 1.15); }
:is(.is-style-vg-card, .is-style-vg-soft, .is-style-vg-tint, .is-style-vg-glow, .is-style-vg-dark, .is-style-vg-outline, [class*="is-style-vg-note-"]) > :first-child, :is(.is-style-vg-card, .is-style-vg-soft, .is-style-vg-tint, .is-style-vg-glow, .is-style-vg-dark, .is-style-vg-outline, [class*="is-style-vg-note-"]) > .wp-block-group__inner-container > :first-child { margin-top:0 !important; }
:is(.is-style-vg-card, .is-style-vg-soft, .is-style-vg-tint, .is-style-vg-glow, .is-style-vg-dark, .is-style-vg-outline, [class*="is-style-vg-note-"]) > :last-child, :is(.is-style-vg-card, .is-style-vg-soft, .is-style-vg-tint, .is-style-vg-glow, .is-style-vg-dark, .is-style-vg-outline, [class*="is-style-vg-note-"]) > .wp-block-group__inner-container > :last-child { margin-bottom:0 !important; }
.is-style-vg-card { border:1px solid var(--vgc-border); background:var(--vgc-surface); box-shadow:0 1px 2px rgba(0,0,0,.04), 0 14px 34px -22px rgba(0,0,0,.25); }
.is-style-vg-soft { border:1px solid color-mix(in srgb, var(--vgc-border) 60%, transparent); background:var(--vgc-surface-2); }
.is-style-vg-tint { border:1px solid color-mix(in srgb, var(--vgc-primary) 32%, transparent); background:color-mix(in srgb, var(--vgc-primary) 9%, var(--vgc-surface)); }
.is-style-vg-glow { position:relative; overflow:hidden; padding:clamp(24px, 4.5vw, 46px); border:1px solid color-mix(in srgb, var(--vgc-primary) 28%, var(--vgc-border)); background:radial-gradient(110% 140% at 0% 0%, color-mix(in srgb, var(--vgc-primary) 22%, transparent) 0%, transparent 55%), radial-gradient(90% 120% at 100% 100%, color-mix(in srgb, var(--vgc-accent) 15%, transparent) 0%, transparent 60%), var(--vgc-surface); }
.is-style-vg-glow :is(h1, h2) { max-width:24ch; font-size:clamp(26px, 3.6vw, 38px); line-height:1.12; letter-spacing:-.02em; }
.is-style-vg-dark { border:1px solid #262732; background:radial-gradient(90% 130% at 100% 0%, color-mix(in srgb, var(--vgc-primary) 26%, transparent), transparent 60%), linear-gradient(135deg, #17181f, #0c0d11); color:#f4f4f6; }
.is-style-vg-dark :is(h1, h2, h3, h4, li, strong) { color:#fff; }
.is-style-vg-dark p { color:#c8c8d2; }
.is-style-vg-outline { border:2px dashed color-mix(in srgb, var(--vgc-primary) 55%, var(--vgc-border)); background:transparent; }
[class*="is-style-vg-note-"] { --n:var(--vgc-info); padding:14px 18px; border:1px solid color-mix(in srgb, var(--n) 25%, transparent); border-inline-start:4px solid var(--n); border-radius:calc(var(--vgc-r) * .8); background:color-mix(in srgb, var(--n) 8%, var(--vgc-surface)); }
[class*="is-style-vg-note-"] strong { color:color-mix(in srgb, var(--n) 75%, var(--vgc-text)); }
.is-style-vg-note-ok { --n:var(--vgc-ok); } .is-style-vg-note-warn { --n:var(--vgc-warn); } .is-style-vg-note-danger { --n:var(--vgc-danger); }
[class*="is-style-vg-note-"] + [class*="is-style-vg-note-"] { margin-top:-.4em; }
.wp-block-column > :is(.is-style-vg-card, .is-style-vg-soft, .is-style-vg-tint, .is-style-vg-outline, [class*="is-style-vg-note-"]) { height:100%; margin-block:0; }

/* ---------- Columns ---------- */
.wp-block-columns.is-style-vg-cards { gap:clamp(12px, 2vw, 18px); }
.is-style-vg-cards > .wp-block-column { padding:clamp(16px, 2.4vw, 22px); border:1px solid var(--vgc-border); border-radius:var(--vgc-r); background:var(--vgc-surface); box-shadow:0 1px 2px rgba(0,0,0,.04); transition:transform .2s, box-shadow .2s, border-color .2s; }
.is-style-vg-cards > .wp-block-column:hover { transform:translateY(-2px); border-color:color-mix(in srgb, var(--vgc-primary) 40%, var(--vgc-border)); box-shadow:0 14px 30px -20px rgba(0,0,0,.3); }
.is-style-vg-cards > .wp-block-column > :first-child { margin-top:0; }
.is-style-vg-cards > .wp-block-column > :last-child { margin-bottom:0; }
.is-style-vg-cards :is(h3, h4) { margin:0 0 .35em; font-size:17px; }
.is-style-vg-cards p { color:var(--vgc-muted); font-size:.94em; line-height:1.6; }
.is-style-vg-stats > .wp-block-column { padding:18px 12px; border-radius:var(--vgc-r); background:var(--vgc-surface-2); text-align:center; }
.is-style-vg-stats :is(h2, h3, h4) { margin:0; font-size:clamp(28px, 4vw, 40px); line-height:1.05; letter-spacing:-.03em; background:linear-gradient(120deg, var(--vgc-primary), color-mix(in srgb, var(--vgc-primary) 45%, var(--vgc-accent))); -webkit-background-clip:text; background-clip:text; color:transparent; }
.is-style-vg-stats p { margin:.35em 0 0; color:var(--vgc-muted); font-size:13px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; }
.is-style-vg-divided > .wp-block-column + .wp-block-column { padding-inline-start:clamp(14px, 2.4vw, 24px); border-inline-start:1px solid var(--vgc-border); }

/* ---------- Lists ---------- */
:is(ul, ol).is-style-vg-checks, :is(ul, ol).is-style-vg-cross { margin-block:1em; padding:0 !important; list-style:none; }
:is(.is-style-vg-checks, .is-style-vg-cross) > li { position:relative; margin:0 0 .55em; padding-inline-start:32px; }
:is(.is-style-vg-checks, .is-style-vg-cross) > li::before { content:""; position:absolute; inset-inline-start:0; top:.2em; width:21px; height:21px; border-radius:50%; background:color-mix(in srgb, var(--c, var(--vgc-ok)) 15%, transparent); }
:is(.is-style-vg-checks, .is-style-vg-cross) > li::after { content:""; position:absolute; inset-inline-start:4.5px; top:calc(.2em + 4.5px); width:12px; height:12px; background:var(--c, var(--vgc-ok)); -webkit-mask:var(--m) center / contain no-repeat; mask:var(--m) center / contain no-repeat; }
.is-style-vg-checks > li { --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.is-style-vg-cross > li { --c:var(--vgc-danger); --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
ol.is-style-vg-steps, ul.is-style-vg-steps { margin-block:1.2em; padding:0 !important; list-style:none; counter-reset:vgstep; }
.is-style-vg-steps > li { position:relative; margin:0; padding:0 0 1.15em; padding-inline-start:50px; counter-increment:vgstep; min-height:34px; }
.is-style-vg-steps > li::before { content:counter(vgstep); position:absolute; inset-inline-start:0; top:-.1em; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--vgc-primary); color:var(--vgc-on-primary); font-weight:800; font-size:15px; box-shadow:0 0 0 5px color-mix(in srgb, var(--vgc-primary) 18%, transparent); }
.is-style-vg-steps > li:not(:last-child)::after { content:""; position:absolute; inset-inline-start:16px; top:40px; bottom:4px; width:2px; border-radius:2px; background:color-mix(in srgb, var(--vgc-primary) 35%, var(--vgc-border)); }
.is-style-vg-steps > li::marker { content:""; }
ul.is-style-vg-pills, ol.is-style-vg-pills { display:flex; flex-wrap:wrap; gap:8px; margin-block:1.1em 0; padding:0 !important; list-style:none; }
.is-style-vg-pills > li { margin:0; padding:7px 13px; border:1px solid var(--vgc-border); border-radius:99px; background:color-mix(in srgb, var(--vgc-surface) 85%, transparent); font-size:14px; font-weight:650; line-height:1.3; }
.is-style-vg-pills > li::marker { content:""; }

/* ---------- Table ---------- */
.wp-block-table.is-style-vg-compare { margin-block:1.4em; overflow-x:auto; border:1px solid var(--vgc-border); border-radius:var(--vgc-r); background:var(--vgc-surface); }
.is-style-vg-compare table { width:100%; margin:0; border:0; border-collapse:collapse; font-size:15px; }
.is-style-vg-compare :is(th, td) { padding:12px 16px; border:0; border-bottom:1px solid var(--vgc-border); text-align:center; }
.is-style-vg-compare :is(th, td):first-child { text-align:start; font-weight:650; }
.is-style-vg-compare thead th { background:var(--vgc-surface-2); font-size:13px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.is-style-vg-compare thead th:last-child { background:color-mix(in srgb, var(--vgc-primary) 16%, var(--vgc-surface-2)); }
.is-style-vg-compare tbody td:last-child { background:color-mix(in srgb, var(--vgc-primary) 5%, transparent); }
.is-style-vg-compare tbody tr:last-child :is(td, th) { border-bottom:0; }
.is-style-vg-compare tbody tr:hover td { background:color-mix(in srgb, var(--vgc-text) 3%, transparent); }
.is-style-vg-compare thead { border:0; }

/* ---------- FAQ ---------- */
details.is-style-vg-faq { margin:0 0 10px; padding:0; border:1px solid var(--vgc-border); border-radius:var(--vgc-r); background:var(--vgc-surface); transition:border-color .2s, box-shadow .2s; }
details.is-style-vg-faq[open] { border-color:color-mix(in srgb, var(--vgc-primary) 45%, var(--vgc-border)); box-shadow:0 10px 26px -20px rgba(0,0,0,.35); }
details.is-style-vg-faq > summary { position:relative; display:block; padding:15px 48px 15px 18px; padding-inline:18px 48px; font-weight:700; cursor:pointer; list-style:none; }
details.is-style-vg-faq > summary::-webkit-details-marker { display:none; }
details.is-style-vg-faq > summary::after { content:"+"; position:absolute; inset-inline-end:16px; top:50%; display:grid; place-items:center; width:24px; height:24px; margin-top:-12px; border-radius:50%; background:var(--vgc-surface-2); font-size:18px; font-weight:600; line-height:1; transition:transform .2s; }
details.is-style-vg-faq[open] > summary::after { transform:rotate(45deg); background:var(--vgc-primary); color:var(--vgc-on-primary); }
details.is-style-vg-faq > :not(summary) { margin:0; padding:0 18px 16px; color:var(--vgc-muted); }

/* ---------- Text ---------- */
p.is-style-vg-eyebrow { display:inline-flex; align-items:center; gap:8px; margin:0 0 .8em; padding:5px 12px; border:1px solid color-mix(in srgb, var(--vgc-primary) 40%, transparent); border-radius:99px; background:color-mix(in srgb, var(--vgc-primary) 12%, transparent); color:color-mix(in srgb, var(--vgc-primary) 60%, var(--vgc-text)); font-size:12px; font-weight:800; letter-spacing:.06em; line-height:1.4; text-transform:uppercase; }
p.is-style-vg-lead { color:var(--vgc-muted); font-size:1.14em; line-height:1.65; }
.is-style-vg-gradient { background:linear-gradient(120deg, var(--vgc-primary), var(--vgc-accent)); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
.wp-block-quote.is-style-vg-testimonial { position:relative; margin:1.4em 0; padding:22px 24px 20px; padding-inline-start:24px; border:1px solid var(--vgc-border) !important; border-radius:var(--vgc-r); background:var(--vgc-surface); font-style:normal; }
.wp-block-quote.is-style-vg-testimonial::before { content:"“"; position:absolute; inset-inline-end:18px; top:-6px; color:color-mix(in srgb, var(--vgc-primary) 45%, transparent); font:800 80px/1 Georgia, serif; }
.wp-block-quote.is-style-vg-testimonial p { margin:0 0 .7em; color:var(--vgc-text); font-size:1.08em; font-weight:550; line-height:1.6; }
.wp-block-quote.is-style-vg-testimonial cite { display:block; color:var(--vgc-muted); font-size:13.5px; font-style:normal; font-weight:650; }
.wp-block-quote.is-style-vg-testimonial cite::before { content:"★★★★★"; display:block; margin-bottom:3px; color:var(--vgc-star); letter-spacing:2px; }
.wp-block-image.is-style-vg-framed img { padding:8px; border:1px solid var(--vgc-border); border-radius:calc(var(--vgc-r) + 6px); background:var(--vgc-surface-2); }
.wp-block-image.is-style-vg-shadow img { border-radius:var(--vgc-r); box-shadow:0 24px 50px -24px rgba(0,0,0,.45); }
hr.is-style-vg-fade { width:100%; max-width:none; height:1px; margin:2.2em auto; border:0; background:linear-gradient(90deg, transparent, var(--vgc-border) 20%, var(--vgc-border) 80%, transparent); opacity:1; }
.wp-block-button.is-style-vg-gold .wp-block-button__link { border:0; border-radius:var(--vg-btn-radius, 10px); background:var(--vgc-primary); color:var(--vgc-on-primary); font-weight:750; padding:.8em 1.4em; text-decoration:none; }
.wp-block-button.is-style-outline .wp-block-button__link { border-radius:var(--vg-btn-radius, 10px); padding:.75em 1.35em; font-weight:700; text-decoration:none; }
.is-style-vg-dark .wp-block-button.is-style-outline .wp-block-button__link { border-color:rgba(255,255,255,.35); color:#fff; }

/* ---------- Description area on the product page ---------- */
html body.vg-desc-plain .vg-single-wrap div.product .woocommerce-tabs .panel.woocommerce-Tabs-panel--description { padding:4px 0 0; border:0; background:none; box-shadow:none; }
.woocommerce-Tabs-panel--description > .wp-block-group:first-child, .woocommerce-Tabs-panel--description > .wp-block-columns:first-child { margin-top:0; }
