/* ==========================================================================
   VirtGold - WooCommerce styles (cards, product page, cart, checkout, account)
   ========================================================================== */

/* ---------- 1. Fields (all WooCommerce + theme forms) ---------- */
:is(.vg-main, .vg-modal, .vg-sidecart) :is(input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=url], input[type=date], input.input-text, select, textarea):not(.vg-search__form input):not([type=hidden]),
html .woocommerce form .form-row :is(.input-text, select, textarea) {
  width:100%; min-height:var(--vg-field-h); padding:0 14px; border:1.5px solid var(--vg-input-border); border-radius:var(--vg-field-radius); background-color:var(--vg-input-bg); color:var(--vg-input-text); font-size:15.5px; line-height:1.3; outline:0; box-shadow:none; transition:border-color .2s, box-shadow .2s, background-color .2s; -webkit-appearance:none; appearance:none;
}
:is(.vg-main, .vg-modal) textarea, html .woocommerce form .form-row textarea { min-height:110px; padding:12px 14px; line-height:1.5; resize:vertical; }
:is(.vg-main, .vg-modal, .vg-sidecart) :is(input, select, textarea)::placeholder { color:var(--vg-input-placeholder); opacity:1; }
:is(.vg-main, .vg-modal, .vg-sidecart) :is(input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=url], input.input-text, select, textarea):not(.vg-search__form input):focus,
html .woocommerce form .form-row :is(.input-text, select, textarea):focus { border-color:var(--vg-primary); box-shadow:var(--vg-ring); }
:is(.vg-main, .vg-modal) select, html .woocommerce form .form-row select, html .vg-single-wrap div.product form.cart .variations select { padding-inline-end:40px; --vg-chev:color-mix(in srgb, var(--vg-text) 72%, transparent); background-image:linear-gradient(45deg, transparent 50%, var(--vg-chev) 50%), linear-gradient(135deg, var(--vg-chev) 50%, transparent 50%); background-position:calc(100% - 21px) 52%, calc(100% - 16px) 52%; background-size:5px 5px, 5px 5px; background-repeat:no-repeat; cursor:pointer; }
[dir=rtl] :is(.vg-main, .vg-modal) select, [dir=rtl] .woocommerce form .form-row select, [dir=rtl] .vg-single-wrap div.product form.cart .variations select { background-position:16px 52%, 21px 52%; }
body.vg-form-filled :is(.vg-main, .vg-modal) :is(input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=url], input.input-text, select, textarea):not(.vg-search__form input):not(:focus),
body.vg-form-filled .woocommerce form .form-row :is(.input-text, select, textarea):not(:focus) { background-color:var(--vg-surface-2); border-color:transparent; }
:is(.vg-main, .vg-modal) input[type=checkbox], :is(.vg-main, .vg-modal) input[type=radio] { width:18px; height:18px; accent-color:var(--vg-primary); cursor:pointer; vertical-align:middle; }
html .woocommerce form .form-row { margin:0 0 14px; padding:0; }
html .woocommerce form .form-row label, .vg-login-form label, .vg-wheel__form label { display:block; margin:0 0 6px; color:var(--vg-text); font-size:13.5px; font-weight:650; line-height:1.4; }
html .woocommerce form .form-row label.checkbox, html .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { display:inline-flex; align-items:center; gap:8px; font-weight:500; }
html .woocommerce form .form-row .required { color:var(--vg-danger); text-decoration:none; border:0; visibility:visible; }
html .woocommerce form .form-row .optional { color:var(--vg-muted); font-weight:400; }
html .woocommerce form .form-row.woocommerce-invalid :is(.input-text, select) { border-color:var(--vg-danger); }
html .woocommerce form .form-row.woocommerce-validated :is(.input-text, select) { border-color:color-mix(in srgb, var(--vg-success) 55%, var(--vg-input-border)); }
html .woocommerce form .form-row-first, html .woocommerce form .form-row-last { width:calc(50% - 7px); }
.woocommerce-input-wrapper { display:block; width:100%; }
/* Select2 / SelectWoo (country & state pickers) */
html .select2-container--default .select2-selection--single { height:var(--vg-field-h); border:1.5px solid var(--vg-input-border); border-radius:var(--vg-field-radius); background:var(--vg-input-bg); }
html .select2-container--default .select2-selection--single .select2-selection__rendered { padding-inline:14px 36px; line-height:calc(var(--vg-field-h) - 3px); color:var(--vg-input-text); }
html .select2-container--default .select2-selection--single .select2-selection__placeholder { color:var(--vg-input-placeholder); }
html .select2-container--default .select2-selection--single .select2-selection__arrow { height:calc(var(--vg-field-h) - 3px); right:8px; }
html .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color:var(--vg-muted); }
html .select2-container--open .select2-selection--single, html .select2-container--focus .select2-selection--single { border-color:var(--vg-primary); box-shadow:var(--vg-ring); }
html .select2-dropdown { border:1px solid var(--vg-border); border-radius:12px; background:var(--vg-surface); color:var(--vg-text); box-shadow:var(--vg-shadow-lg); overflow:hidden; }
html .select2-container--default .select2-search--dropdown .select2-search__field { height:40px; padding:0 12px; border:1.5px solid var(--vg-input-border); border-radius:8px; background:var(--vg-input-bg); color:var(--vg-input-text); }
html .select2-results__option { padding:9px 14px; }
html .select2-container--default .select2-results__option--highlighted[aria-selected], html .select2-container--default .select2-results__option--highlighted[data-selected] { background:var(--vg-primary); color:var(--vg-on-primary); }
html .select2-container--default .select2-results__option[aria-selected=true], html .select2-container--default .select2-results__option[data-selected=true] { background:var(--vg-surface-2); }

/* ---------- 2. WooCommerce buttons → theme buttons ---------- */
html .woocommerce :is(a.button, button.button, input.button), html .woocommerce #respond input#submit, html a.added_to_cart, html .woocommerce-page .vg-main .button, html .wc-block-components-button:not(.is-link) {
  --vg-btn-bg:var(--vg-surface); --vg-btn-fg:var(--vg-text); --vg-btn-bd:var(--vg-border);
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; min-height:46px; padding:0 20px; border:1.5px solid var(--vg-btn-bd) !important; border-radius:var(--vg-btn-radius); background:var(--vg-btn-bg) !important; color:var(--vg-btn-fg) !important; font-family:var(--vg-font-ui); font-size:15px; font-weight:700; line-height:1.1; text-shadow:none; box-shadow:none; opacity:1; transition:transform .2s var(--vg-ease), box-shadow .2s, filter .2s, border-color .2s;
}
html .woocommerce :is(a.button, button.button, input.button):hover, html .woocommerce #respond input#submit:hover { --vg-btn-bd:color-mix(in srgb, var(--vg-text) 45%, var(--vg-border)); transform:translateY(-1px); }
html .woocommerce :is(a, button, input).button.alt, html .woocommerce #respond input#submit.alt, html .woocommerce #place_order, html .woocommerce .checkout-button.button, html .woocommerce .single_add_to_cart_button.button, html .wc-block-components-checkout-place-order-button, html .wc-block-cart__submit-button, html .woocommerce .woocommerce-form-login__submit, html .woocommerce .woocommerce-form-register__submit, html .woocommerce .vg-btn--primary.button {
  --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);
}
body.vg-btn-gradient .woocommerce :is(#place_order, .checkout-button.button, .button.alt) { background:linear-gradient(135deg, var(--vg-primary), color-mix(in srgb, var(--vg-primary) 62%, var(--vg-accent))) !important; border-color:transparent !important; }
html .woocommerce :is(a, button, input).button.alt:hover, html .woocommerce #place_order:hover, html .woocommerce .checkout-button.button:hover, html .woocommerce .single_add_to_cart_button.button:hover, html .wc-block-components-checkout-place-order-button:hover { --vg-btn-bd:var(--vg-primary); filter:brightness(1.05); }
html .woocommerce :is(a, button, input).button:is(.disabled, :disabled), html .woocommerce :is(a, button, input).button.alt:is(.disabled, :disabled) { opacity:.5 !important; cursor:not-allowed; transform:none; filter:none; }
html .woocommerce :is(a, button).button.loading { opacity:.7; }
html .woocommerce :is(a, button).button.loading::after { top:auto; right:auto; position:static; margin-inline-start:6px; }

/* ---------- 3. Notices ---------- */
html .woocommerce-message, html .woocommerce-info, html .woocommerce-error, html .woocommerce-noreviews, html p.no-comments {
  position:relative; margin:0 0 20px; padding:14px 18px 14px 48px; border:1px solid var(--vg-border); border-inline-start:4px solid var(--vg-accent); border-radius:12px; background:var(--vg-surface); color:var(--vg-text); font-size:14.5px; line-height:1.5; box-shadow:var(--vg-shadow-sm); list-style:none;
}
html .woocommerce-message { border-inline-start-color:var(--vg-success); }
html .woocommerce-error { border-inline-start-color:var(--vg-danger); }
html .woocommerce-message::before, html .woocommerce-info::before, html .woocommerce-error::before { top:14px; left:17px; }
html .woocommerce-message::before { color:var(--vg-success); }
html .woocommerce-info::before { color:var(--vg-accent); }
html .woocommerce-error::before { color:var(--vg-danger); }
html .woocommerce-error li { margin:0; }
/* Notice icons as crisp SVG masks (no icon font needed) */
html :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { content:""; display:block; width:18px; height:18px; font-family:none; background:currentColor; -webkit-mask:var(--vg-notice-icon) center / contain no-repeat; mask:var(--vg-notice-icon) center / contain no-repeat; }
html .woocommerce-info { --vg-notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E"); }
html .woocommerce-message { --vg-notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
html .woocommerce-error { --vg-notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E"); }

html :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button { float:right; min-height:34px; padding:0 14px; margin:-6px 0 -6px 14px; font-size:13.5px; }
html :is(.woocommerce-message, .woocommerce-info) a:not(.button) { color:var(--vg-accent); font-weight:700; }
.wc-block-components-notice-banner { border-radius:12px !important; background:var(--vg-surface) !important; color:var(--vg-text) !important; border-color:var(--vg-border) !important; }
.wc-block-components-notice-banner.is-error { border-inline-start:4px solid var(--vg-danger) !important; }
.wc-block-components-notice-banner.is-success { border-inline-start:4px solid var(--vg-success) !important; }
.wc-block-components-notice-banner.is-info { border-inline-start:4px solid var(--vg-accent) !important; }

/* ---------- 4. Shop header & toolbar ---------- */
.vg-shop { padding-bottom:clamp(48px, 7vw, 96px); }
.vg-page-head--shop { padding-bottom:20px; }
.vg-chips { display:flex; gap:8px; margin-top:22px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
.vg-chips::-webkit-scrollbar { display:none; }
.vg-shop-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:0 0 22px; padding-top:18px; border-top:1px solid var(--vg-border); }
html .woocommerce .vg-shop-toolbar .woocommerce-result-count, .vg-shop-toolbar .woocommerce-result-count { float:none; margin:0; color:var(--vg-muted); font-size:14px; }
html .woocommerce .vg-shop-toolbar .woocommerce-ordering, .vg-shop-toolbar .woocommerce-ordering { float:none; margin:0; }
.vg-shop-toolbar .woocommerce-ordering select { min-height:42px !important; width:auto !important; min-width:220px; font-size:14px !important; font-weight:600; }
html .woocommerce nav.woocommerce-pagination { margin-top:40px; text-align:center; }
html .woocommerce nav.woocommerce-pagination ul { display:inline-flex; gap:6px; border:0; margin:0; }
html .woocommerce nav.woocommerce-pagination ul li { border:0; overflow:visible; }
html .woocommerce nav.woocommerce-pagination ul li :is(a, span) { display: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); color:var(--vg-text); font-weight:700; }
html .woocommerce nav.woocommerce-pagination ul li span.current, html .woocommerce nav.woocommerce-pagination ul li a:hover { background:var(--vg-text); border-color:var(--vg-text); color:var(--vg-bg); }
.woocommerce-no-products-found .woocommerce-info { margin-top:12px; }

/* ---------- 5. Product grid & cards ---------- */
html ul.products, html .woocommerce ul.products { display:grid !important; grid-template-columns:repeat(var(--vg-cols, 4), minmax(0, 1fr)); gap:var(--vg-card-gap); margin:0; padding:0; list-style:none; }
html ul.products::before, html ul.products::after { display:none !important; }
html ul.products li.product, html .woocommerce ul.products li.product, html .woocommerce-page ul.products li.product { float:none !important; width:auto !important; margin:0 !important; clear:none !important; padding:0; }
html ul.products.columns-1 { --vg-cols:1; } html ul.products.columns-2 { --vg-cols:2; } html ul.products.columns-3 { --vg-cols:3; } html ul.products.columns-4 { --vg-cols:4; } html ul.products.columns-5 { --vg-cols:5; } html ul.products.columns-6 { --vg-cols:6; }
@media (max-width:1024px) { html ul.products, html .woocommerce ul.products { grid-template-columns:repeat(var(--vg-cols-t, 3), minmax(0, 1fr)); } }
@media (max-width:640px) { html ul.products, html .woocommerce ul.products { grid-template-columns:repeat(var(--vg-cols-m, 2), minmax(0, 1fr)); gap:min(var(--vg-card-gap), 12px); } }
.vg-products-wrap .woocommerce { margin:0; }

.vg-card { position:relative; display:flex; flex-direction:column; min-width:0; border-radius:var(--vg-radius); background:var(--vg-surface); overflow:hidden; transition:transform .3s var(--vg-ease), box-shadow .3s, border-color .3s; }
body.vg-frame-elevated .vg-card { border:1px solid var(--vg-border); box-shadow:var(--vg-shadow-sm); }
body.vg-frame-outline .vg-card { border:1px solid var(--vg-border); }
body.vg-frame-soft .vg-card { background:var(--vg-surface-2); border:1px solid transparent; }
body.vg-frame-none .vg-card { background:transparent; border-radius:0; overflow:visible; }
body.vg-frame-none .vg-card__media { border-radius:var(--vg-radius); }
body.vg-frame-none .vg-card__body { padding-inline:2px; }
body.vg-hover-lift .vg-card:hover { transform:translateY(-4px); box-shadow:var(--vg-shadow); }
body.vg-hover-lift.vg-frame-elevated .vg-card:hover, body.vg-hover-lift.vg-frame-outline .vg-card:hover { border-color:color-mix(in srgb, var(--vg-text) 16%, var(--vg-border)); }
body.vg-frame-none.vg-hover-lift .vg-card:hover { box-shadow:none; }
.vg-card__media { position:relative; overflow:hidden; background:var(--vg-image-bg); aspect-ratio:1/1; }
body.vg-image-landscape .vg-card__media { aspect-ratio:4/3; }
body.vg-image-portrait .vg-card__media { aspect-ratio:3/4; }
body.vg-image-natural .vg-card__media { aspect-ratio:auto; }
.vg-card__img { display:block; width:100%; height:100%; }
html ul.products li.vg-card.product .vg-card__img img, .vg-card__img img { display:block; width:100%; height:100%; margin:0; object-fit:cover; border-radius:0; transition:transform .6s var(--vg-ease); }
body.vg-image-natural .vg-card__img img { height:auto; }
body.vg-hover-zoom .vg-card:hover .vg-card__img img, body.vg-hover-lift .vg-card:hover .vg-card__img img { transform:scale(1.045); }
.vg-card__badges { position:absolute; top:10px; inset-inline-start:10px; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:6px; pointer-events:none; }
.vg-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 9px; border-radius:999px; background:var(--vg-text); color:var(--vg-bg); font-family:var(--vg-font-ui); font-size:11.5px; font-weight:800; line-height:1.35; letter-spacing:.01em; box-shadow:0 2px 8px rgba(0,0,0,.12); }
.vg-badge--sale { background:var(--vg-danger); color:#fff; }
html .woocommerce span.onsale.vg-badge, html span.onsale.vg-badge { min-width:0; min-height:0; margin:0; line-height:1.3; border-radius:999px; font-weight:800; }
html .woocommerce span.onsale.vg-badge--sale, html span.onsale.vg-badge--sale { background-color:var(--vg-danger); color:#fff; }
.vg-badge--best { background:var(--vg-primary); color:var(--vg-on-primary); }
.vg-badge--new { background:var(--vg-accent); color:#fff; }
.vg-badge--out { background:#55555f; color:#fff; }
.vg-card__body { display:flex; flex:1; flex-direction:column; gap:6px; padding:var(--vg-card-pad); }
.vg-card__cat { color:var(--vg-muted); font-family:var(--vg-font-ui); font-size:11.5px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; line-height:1.3; }
.vg-card__cat:hover { color:var(--vg-accent); }
html ul.products li.vg-card.product .vg-card__title, .vg-card__title { margin:0; padding:0; font-family:var(--vg-font-heading); font-size:var(--vg-card-title); font-weight:750; line-height:1.3; letter-spacing:-.01em; text-transform:none; }
.vg-card__title a { color:var(--vg-text); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vg-card__title a::after { content:""; position:absolute; inset:0; z-index:1; }
.vg-card__title a:hover { color:var(--vg-accent); }
.vg-card__cat, .vg-card__btn, .vg-card__rating { position:relative; z-index:2; }
.vg-card__rating { display:flex; align-items:center; gap:6px; font-size:12.5px; line-height:1; }
.vg-card__rating-num { font-weight:800; }
.vg-card__rating-count { color:var(--vg-muted); }
.vg-card__rating.is-empty .vg-card__rating-count { font-size:12px; }
.vg-card__excerpt { margin:0; color:var(--vg-muted); font-size:var(--vg-card-text); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vg-card__foot { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:4px 10px; margin-top:auto; padding-top:6px; }
html ul.products li.vg-card.product .price, .vg-card__price { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; margin:0; color:var(--vg-text); font-size:var(--vg-card-price); font-weight:800; line-height:1.15; letter-spacing:-.01em; }
html ul.products li.vg-card.product .price del, .vg-card__price del { order:2; color:var(--vg-muted); font-size:.72em; font-weight:500; opacity:1; }
html ul.products li.vg-card.product .price ins, .vg-card__price ins { text-decoration:none; font-weight:800; background:none; }
.vg-card__price .woocommerce-Price-currencySymbol { font-size:.9em; }
.vg-card__sold { display:inline-flex; align-items:center; gap:4px; color:var(--vg-muted); font-size:12px; font-weight:600; white-space:nowrap; }
.vg-card__sold svg { color:var(--vg-success); }
html ul.products li.vg-card.product .vg-card__btn, .vg-card__btn { width:100%; min-height:42px; margin-top:10px; font-size:14px; }
.vg-card__btn.is-added { --vg-btn-bg:var(--vg-success); --vg-btn-bd:var(--vg-success); --vg-btn-fg:#fff; }
.vg-card .added_to_cart { display:none !important; }
/* Compact & list layouts */
body.vg-catalog-compact .vg-card__excerpt, body.vg-catalog-compact .vg-card__cat { display:none; }
body.vg-catalog-compact .vg-card__body { gap:4px; padding:calc(var(--vg-card-pad) * .8); }
body.vg-catalog-compact .vg-card__btn { min-height:38px; margin-top:8px; }
body.vg-catalog-list .vg-shop ul.products { grid-template-columns:minmax(0,1fr) !important; }
body.vg-catalog-list .vg-shop .vg-card { flex-direction:row; }
body.vg-catalog-list .vg-shop .vg-card__media { width:min(240px, 34%); flex-shrink:0; }
body.vg-catalog-list .vg-shop .vg-card__body { padding:calc(var(--vg-card-pad) * 1.3); }
body.vg-catalog-list .vg-shop .vg-card__btn { width:auto; align-self:flex-start; padding-inline:24px; }
@media (max-width:640px) {
  html ul.products li.vg-card.product .vg-card__btn, .vg-card__btn { min-height:38px; padding:0 10px; font-size:13px; }
  .vg-card__btn svg { display:none; }
  .vg-card__body { padding:calc(var(--vg-card-pad) * .75); }
  .vg-card__sold { display:none; }
}

/* ---------- 6. Single product ---------- */
.vg-single-wrap { padding-top:clamp(16px, 2.5vw, 28px); padding-bottom:clamp(56px, 7vw, 96px); }
.vg-single-wrap > .vg-breadcrumb { margin-bottom:20px; }
html .vg-single-wrap div.product { position:relative; display:block; }
html .vg-single-wrap .vg-product-top { position:relative; display:grid; grid-template-columns:minmax(0, var(--vg-gallery-w)) minmax(0, 1fr); column-gap:clamp(28px, 4.5vw, 64px); align-items:start; margin-bottom:clamp(24px, 4vw, 48px); }
body.vg-single-gallery-wide .vg-single-wrap .vg-product-top { grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr); }
body.vg-single-stacked .vg-single-wrap .vg-product-top { grid-template-columns:minmax(0, 1fr); max-width:860px; margin-inline:auto; }
html .vg-single-wrap .vg-product-top > * { grid-column:1 / -1; min-width:0; }
html .vg-single-wrap .vg-product-top div.images, html .vg-single-wrap .vg-product-top .woocommerce-product-gallery { grid-column:1; grid-row:1; float:none; width:auto !important; margin:0 0 24px; }
html body .vg-single-wrap .vg-product-top div.images.woocommerce-product-gallery, html body .vg-single-wrap .vg-product-top div.images { position:sticky; top:calc(var(--vg-admin-bar) + var(--vg-header-h) + 20px); }
html .vg-single-wrap .vg-product-top div.summary { grid-column:2; grid-row:1; float:none; width:auto !important; margin:0; }
body.vg-single-stacked .vg-single-wrap .vg-product-top div.summary, html body.vg-single-stacked .vg-single-wrap .vg-product-top div.images.woocommerce-product-gallery { grid-column:1; grid-row:auto; position:relative; top:auto; }
html .vg-single-wrap .vg-product-top > span.onsale, html .vg-single-wrap .vg-product-top > .vg-badge { position:absolute; top:14px; left:14px; right:auto; z-index:10; min-width:0; min-height:0; margin:0; padding:6px 12px; border-radius:999px; line-height:1.3; font-size:13px; }
@media (max-width:900px) {
  html .vg-single-wrap .vg-product-top, body.vg-single-gallery-wide .vg-single-wrap .vg-product-top { grid-template-columns:minmax(0, 1fr); }
  html body .vg-single-wrap .vg-product-top div.images.woocommerce-product-gallery, html body .vg-single-wrap .vg-product-top div.images { position:relative; top:auto; grid-row:auto; }
  html .vg-single-wrap .vg-product-top div.summary { grid-column:1; grid-row:auto; }
}
/* Gallery */
.woocommerce-product-gallery { position:relative; }
html .vg-single-wrap div.product div.images .flex-viewport, html .vg-single-wrap div.product div.images > .woocommerce-product-gallery__wrapper { overflow:hidden; border-radius:calc(var(--vg-radius) * 1.3); background:var(--vg-image-bg); }
body.vg-gallery-elevated .vg-single-wrap div.images :is(.flex-viewport, > .woocommerce-product-gallery__wrapper) { border:1px solid var(--vg-border); box-shadow:var(--vg-shadow); }
body.vg-gallery-outline .vg-single-wrap div.images :is(.flex-viewport, > .woocommerce-product-gallery__wrapper) { border:1px solid var(--vg-border); }
body.vg-gallery-none .vg-single-wrap div.images :is(.flex-viewport, > .woocommerce-product-gallery__wrapper) { background:transparent; border-radius:0; }
html .vg-single-wrap div.product div.images img { display:block; width:100%; height:auto; }
html .vg-single-wrap div.product div.images .flex-control-thumbs { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:10px; margin:12px 0 0; padding:0; }
html .vg-single-wrap div.product div.images .flex-control-thumbs li { width:auto; float:none; margin:0; }
html .vg-single-wrap div.product div.images .flex-control-thumbs li img { border-radius:10px; border:2px solid transparent; background:var(--vg-image-bg); opacity:.6; transition:opacity .2s, border-color .2s; }
html .vg-single-wrap div.product div.images .flex-control-thumbs li img.flex-active, html .vg-single-wrap div.product div.images .flex-control-thumbs li img:hover { opacity:1; border-color:var(--vg-primary); }
html .vg-single-wrap div.product div.images .woocommerce-product-gallery__trigger { top:14px; right:14px; width:38px; height:38px; background:var(--vg-surface); box-shadow:var(--vg-shadow-sm); }
/* Summary */
.vg-single__cat { display:inline-flex; margin-bottom:10px; color:var(--vg-accent); font-family:var(--vg-font-ui); font-size:12.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
html .vg-single-wrap div.product .product_title { margin:0 0 12px; font-size:clamp(28px, 4vw, var(--vg-single-title)); line-height:1.08; text-wrap:balance; }
.vg-rating-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 16px; font-size:14px; }
.vg-rating-row__stars { display:inline-flex; align-items:center; gap:8px; color:var(--vg-text); }
.vg-rating-row__stars .vg-stars svg { width:17px; height:17px; }
.vg-rating-row__stars span { color:var(--vg-muted); text-decoration:underline; text-underline-offset:3px; text-decoration-color:color-mix(in srgb, var(--vg-muted) 40%, transparent); }
.vg-rating-row__stars:hover span { color:var(--vg-text); }
.vg-rating-row__sold { display:inline-flex; align-items:center; gap:6px; color:var(--vg-muted); font-weight:600; }
.vg-rating-row__sold svg { color:var(--vg-success); }
.vg-dot { width:4px; height:4px; border-radius:50%; background:var(--vg-border); }
html .vg-single-wrap div.product :is(p.price, span.price), .woocommerce-variation-price .price { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:0 0 10px; color:var(--vg-text); font-size:var(--vg-single-price); font-weight:800; line-height:1.1; letter-spacing:-.02em; }
html .vg-single-wrap div.product :is(p.price, span.price) del { order:2; color:var(--vg-muted); font-size:.58em; font-weight:500; opacity:1; }
html .vg-single-wrap div.product :is(p.price, span.price) ins { text-decoration:none; font-weight:800; }
.vg-savings { display:inline-flex; align-items:center; gap:7px; margin:0 0 14px; padding:6px 12px; border-radius:999px; background:var(--vg-success-soft); color:var(--vg-success); font-size:13.5px; font-weight:750; }
.vg-instant-badge { display:flex; width:fit-content; align-items:center; gap:8px; margin:0 0 14px; padding:8px 13px; border:1px solid var(--vg-border); border-radius:12px; background:var(--vg-surface); font-size:13.5px; font-weight:650; }
.vg-instant-badge svg { color:var(--vg-primary); }
.vg-pulse, .vg-live-dot { display:inline-block; flex-shrink:0; width:8px; height:8px; border-radius:50%; background:var(--vg-success); animation:vg-pulse 1.8s infinite; }
.vg-proof { display:grid; gap:8px; margin:4px 0 18px; }
.vg-proof:not(:has(> :not([hidden]))) { display:none; }
.vg-proof__item { display:flex; align-items:center; gap:9px; padding:10px 13px; border-radius:12px; background:var(--vg-surface-2); font-size:14px; font-weight:600; line-height:1.35; }
.vg-proof__item svg { color:#f97316; }
.vg-proof__item--stock, .vg-proof__item--stock svg { color:var(--vg-danger); }
.vg-proof__item--stock { background:var(--vg-danger-soft); }
.vg-proof__item--timer svg { color:var(--vg-danger); }
.vg-proof__item--timer strong { margin-inline-start:auto; color:var(--vg-danger); font-variant-numeric:tabular-nums; font-size:15px; }
html .vg-single-wrap div.product .woocommerce-product-details__short-description { margin:0 0 18px; color:var(--vg-muted); font-size:var(--vg-single-text); line-height:1.7; }
.woocommerce-product-details__short-description ul { padding:0; list-style:none; display:grid; gap:6px; }
.woocommerce-product-details__short-description ul li { position:relative; padding-inline-start:26px; }
.woocommerce-product-details__short-description ul li::before { content:""; position:absolute; inset-inline-start:0; top:.3em; width:17px; height:17px; border-radius:50%; background:var(--vg-success-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312855b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat; }
/* Add to cart form */
html .vg-single-wrap div.product form.cart { margin:0 0 18px; }
html .vg-single-wrap div.product form.cart::before, html .vg-single-wrap div.product form.cart::after { display:none; }
html .vg-single-wrap div.product form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; align-items:stretch; gap:10px; }
html .vg-single-wrap div.product form.cart div.quantity { float:none; margin:0; }
html .vg-single-wrap div.product form.cart div.quantity:has(input[type=hidden]) { display:none; }
html .woocommerce .quantity input.qty, html body .vg-main .quantity input.qty { width:84px; max-width:84px; flex:0 0 auto; min-height:54px; padding:0 8px; text-align:center; font-weight:700; font-size:16px; -moz-appearance:textfield; }
html .vg-single-wrap div.product form.cart .button { float:none; }
html .vg-single-wrap div.product form.cart .single_add_to_cart_button.button { flex:1 1 170px; min-height:54px; font-size:16px; }
html .vg-single-wrap div.product form.cart:has([data-buy-now]) .single_add_to_cart_button.button { --vg-btn-bg:var(--vg-text); --vg-btn-fg:var(--vg-bg); --vg-btn-bd:var(--vg-text); box-shadow:none; }
html .vg-single-wrap div.product form.cart .vg-btn--buy { flex:1 1 170px; }
html .vg-single-wrap div.product form.cart .variations { width:100%; margin:0 0 6px; border:0; border-collapse:collapse; }
html .vg-single-wrap div.product form.cart .variations tbody, html .vg-single-wrap div.product form.cart .variations tr { display:block; }
html .vg-single-wrap div.product form.cart .variations tr { margin-bottom:16px; }
html .vg-single-wrap div.product form.cart .variations :is(th, td) { display:block; padding:0; border:0; line-height:1.4; text-align:start; }
html .vg-single-wrap div.product form.cart .variations th.label { margin-bottom:8px; }
html .vg-single-wrap div.product form.cart .variations label { font-size:14px; font-weight:750; }
html .vg-single-wrap div.product form.cart .variations select { min-width:0; width:100%; max-width:420px; margin:0; background-color:var(--vg-input-bg); }
html .vg-single-wrap div.product form.cart .reset_variations { display:inline-flex; margin-top:8px; color:var(--vg-muted); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
html .vg-single-wrap div.product .single_variation_wrap .woocommerce-variation { margin-bottom:14px; }
.woocommerce-variation-availability .stock { margin:6px 0 0; font-weight:700; font-size:14px; }
html .vg-single-wrap div.product .stock.in-stock { color:var(--vg-success); }
html .vg-single-wrap div.product .stock.out-of-stock { color:var(--vg-danger); }
.vg-select-hidden { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
/* Option buttons - every value comes from Product Page → Product options */
html .vg-single-wrap div.product form.cart .variations tr { margin-bottom:var(--vg-sw-row-gap, 18px); }
.vg-swatch-group { --vg-sw-c:var(--vg-sw-active, var(--vg-primary)); display:grid; grid-template-columns:var(--vg-sw-cols, repeat(auto-fill, minmax(min(100%, var(--vg-sw-min, 150px)), 1fr))); gap:var(--vg-sw-gap, 10px); padding-top:2px; }
.vg-swatch { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; min-width:0; min-height:var(--vg-sw-h, 52px); padding:10px var(--vg-sw-pad, 14px); border:var(--vg-sw-bw, 1.5px) solid var(--vg-sw-border, var(--vg-border)); border-radius:var(--vg-sw-radius, 12px); background:var(--vg-sw-bg, var(--vg-surface)); color:var(--vg-sw-text, var(--vg-text)); font-size:var(--vg-sw-size, 14.5px); font-weight:700; line-height:1.25; text-align:start; cursor:pointer; transition:border-color .2s, box-shadow .2s, background .2s, transform .15s; }
.vg-swatch:hover { border-color:color-mix(in srgb, var(--vg-sw-c) 55%, var(--vg-sw-border, var(--vg-border))); }
.vg-swatch:active { transform:scale(.985); }
.vg-swatch:focus-visible { outline:2px solid var(--vg-sw-c); outline-offset:2px; }
.vg-swatch__main { display:flex; flex-wrap:wrap; align-items:center; gap:4px 7px; max-width:100%; }
.vg-swatch__label { overflow-wrap:anywhere; }
.vg-swatch__emoji { font-size:1.1em; line-height:1; }
.vg-swatch__note { color:var(--vg-muted); font-size:12px; font-weight:550; line-height:1.3; }
.vg-swatch__price { color:var(--vg-muted); font-size:13px; font-weight:650; }
.vg-swatch__price del { opacity:.7; font-weight:500; margin-inline-end:3px; }
.vg-swatch__off { display:inline-flex; align-items:center; padding:2px 7px; border-radius:99px; background:var(--vg-sw-off, color-mix(in srgb, var(--vg-danger) 13%, transparent)); color:var(--vg-sw-off-text, var(--vg-danger)); font-size:11.5px; font-weight:800; line-height:1.35; letter-spacing:.01em; white-space:nowrap; }
.vg-swatch__badge { position:absolute; inset-block-start:0; inset-inline-start:10px; transform:translateY(-55%); max-width:calc(100% - 20px); padding:2px 8px; border-radius:99px; background:var(--vg-sw-badge, var(--vg-text)); color:var(--vg-sw-badge-text, var(--vg-bg)); font-size:10.5px; font-weight:800; line-height:1.5; letter-spacing:.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.vg-swatch-group:has(.has-badge) { padding-top:9px; }
.vg-sw-off-corner .vg-swatch__off { position:absolute; inset-block-start:0; inset-inline-end:10px; transform:translateY(-55%); background:var(--vg-sw-off, var(--vg-danger)); color:var(--vg-sw-off-text, #fff); box-shadow:0 2px 6px rgba(0,0,0,.12); }
.vg-sw-off-corner .vg-swatch-group:has(.vg-swatch__off) { padding-top:9px; }
.vg-swatch__tick { position:absolute; inset-block-end:7px; inset-inline-end:7px; display:none; place-items:center; width:18px; height:18px; border-radius:50%; background:var(--vg-sw-c); color:var(--vg-sw-active-text, var(--vg-on-primary)); }
.vg-sw-check .vg-swatch.is-selected .vg-swatch__tick { display:grid; }
.vg-sw-check .vg-swatch.is-selected { padding-inline-end:calc(var(--vg-sw-pad, 14px) + 16px); }
.vg-swatch.is-highlight { border-color:color-mix(in srgb, var(--vg-sw-c) 70%, transparent); background:linear-gradient(180deg, color-mix(in srgb, var(--vg-sw-c) 7%, var(--vg-sw-bg, var(--vg-surface))), var(--vg-sw-bg, var(--vg-surface))); }
.vg-swatch.is-selected { border-color:var(--vg-sw-c); background:color-mix(in srgb, var(--vg-sw-c) 8%, var(--vg-sw-bg, var(--vg-surface))); box-shadow:0 0 0 3px color-mix(in srgb, var(--vg-sw-c) 22%, transparent); }
.vg-sw-sel-soft .vg-swatch.is-selected { box-shadow:none; background:color-mix(in srgb, var(--vg-sw-c) 14%, var(--vg-sw-bg, var(--vg-surface))); }
.vg-sw-sel-filled .vg-swatch.is-selected { box-shadow:0 6px 18px -8px color-mix(in srgb, var(--vg-sw-c) 70%, transparent); background:var(--vg-sw-c); color:var(--vg-sw-active-text, var(--vg-on-primary)); }
.vg-sw-sel-filled .vg-swatch.is-selected :is(.vg-swatch__price, .vg-swatch__note) { color:inherit; opacity:.85; }
.vg-sw-sel-filled .vg-swatch.is-selected .vg-swatch__tick { background:var(--vg-sw-active-text, var(--vg-on-primary)); color:var(--vg-sw-c); }
.vg-swatch.is-disabled { opacity:.42; }
.vg-swatch.is-disabled .vg-swatch__label { text-decoration:line-through; }
.vg-swatch.is-selected .vg-swatch__price { color:var(--vg-text); }
.vg-sw-center .vg-swatch { align-items:center; text-align:center; }
.vg-sw-center .vg-swatch__main { justify-content:center; }
/* One per row: name on the left, price on the right */
.vg-sw-list .vg-swatch-group { grid-template-columns:1fr; }
.vg-sw-list .vg-swatch { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; column-gap:14px; }
.vg-sw-list .vg-swatch__note { grid-column:1; }
.vg-sw-list .vg-swatch__price { grid-column:2; grid-row:1 / span 2; color:var(--vg-text); font-size:15px; font-weight:800; text-align:end; }
.vg-sw-list.vg-sw-check .vg-swatch.is-selected { padding-inline-end:calc(var(--vg-sw-pad, 14px) + 22px); }
.vg-sw-list .vg-swatch__tick { inset-block-end:auto; inset-block-start:50%; transform:translateY(-50%); }
/* Compact pills */
.vg-sw-inline .vg-swatch-group { display:flex; flex-wrap:wrap; }
.vg-sw-inline .vg-swatch { flex:0 0 auto; min-height:calc(var(--vg-sw-h, 52px) * .8); }
@media (max-width:640px) { .vg-sw-grid .vg-swatch-group { grid-template-columns:var(--vg-sw-cols-m, repeat(2, minmax(0, 1fr))); } }
/* Below the buttons */
.vg-single__pay { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 18px; color:var(--vg-muted); font-size:13px; font-weight:650; }
.vg-trust-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; margin:0 0 14px; padding:0; list-style:none; }
.vg-trust-grid li { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--vg-border); border-radius:12px; background:var(--vg-surface); }
.vg-trust-grid__icon { display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; border-radius:10px; background:var(--vg-primary-soft); color:color-mix(in srgb, var(--vg-primary) 70%, var(--vg-text)); }
.vg-trust-grid strong { display:block; font-size:13.5px; line-height:1.3; }
.vg-trust-grid small { display:block; color:var(--vg-muted); font-size:12.5px; line-height:1.4; }
.vg-guarantee { display:flex; align-items:flex-start; gap:12px; margin:0 0 14px; padding:15px 16px; border:1px solid color-mix(in srgb, var(--vg-success) 28%, transparent); border-radius:14px; background:color-mix(in srgb, var(--vg-success) 7%, var(--vg-surface)); }
.vg-guarantee__icon { color:var(--vg-success); }
.vg-guarantee strong { display:block; font-size:14.5px; }
.vg-guarantee p { margin:2px 0 0; color:var(--vg-muted); font-size:13.5px; }
.vg-security-note { display:flex; align-items:center; gap:8px; margin:0 0 14px; color:var(--vg-muted); font-size:13px; }
.vg-security-note svg { color:var(--vg-success); }
html .vg-single-wrap div.product .product_meta { display:grid; gap:4px; padding-top:14px; border-top:1px solid var(--vg-border); color:var(--vg-muted); font-size:13px; }
.product_meta a { color:var(--vg-text); font-weight:600; }
@media (max-width:480px) { .vg-trust-grid { grid-template-columns:minmax(0, 1fr); } }
/* Tabs */
html .vg-single-wrap div.product .woocommerce-tabs { margin-top:clamp(24px, 4vw, 48px); }
html .vg-single-wrap div.product .woocommerce-tabs ul.tabs { display:flex; gap:4px; width:max-content; max-width:100%; margin:0 0 20px; padding:5px; border:1px solid var(--vg-border); border-radius:999px; background:var(--vg-surface); overflow-x:auto; scrollbar-width:none; list-style:none; }
html .vg-single-wrap div.product .woocommerce-tabs ul.tabs::before, html .vg-single-wrap div.product .woocommerce-tabs ul.tabs li::before, html .vg-single-wrap div.product .woocommerce-tabs ul.tabs li::after { display:none; }
html .vg-single-wrap div.product .woocommerce-tabs ul.tabs li { flex-shrink:0; margin:0; padding:0; border:0; border-radius:999px; background:transparent; }
html .vg-single-wrap div.product .woocommerce-tabs ul.tabs li a { display:block; padding:10px 18px; color:var(--vg-muted); font-family:var(--vg-font-ui); font-size:14.5px; font-weight:700; }
html .vg-single-wrap div.product .woocommerce-tabs ul.tabs li a:hover { color:var(--vg-text); }
html .vg-single-wrap div.product .woocommerce-tabs ul.tabs li.active { background:var(--vg-text); }
html .vg-single-wrap div.product .woocommerce-tabs ul.tabs li.active a { color:var(--vg-bg); }
html .vg-single-wrap div.product .woocommerce-tabs .panel { margin:0; padding:clamp(20px, 3vw, 32px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); font-size:var(--vg-single-text); line-height:1.75; }
html .vg-single-wrap div.product .woocommerce-tabs .panel > h2:first-child { font-size:22px; margin-bottom:14px; }
.vg-faq--tab .vg-faq__item { background:var(--vg-bg); }
/* Reviews */
.vg-rating-summary { display:grid; grid-template-columns:minmax(170px, 230px) minmax(0, 1fr); gap:28px; align-items:center; margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid var(--vg-border); }
.vg-rating-summary__score { display:grid; justify-items:start; gap:6px; }
.vg-rating-summary__score strong { font-family:var(--vg-font-heading); font-size:56px; font-weight:800; line-height:1; letter-spacing:-.04em; }
.vg-rating-summary__score .vg-stars svg { width:20px; height:20px; }
.vg-rating-summary__score span:last-child { color:var(--vg-muted); font-size:13.5px; }
.vg-rating-summary__bars { display:grid; gap:7px; }
.vg-rating-bar { display:grid; grid-template-columns:38px minmax(0, 1fr) 34px; align-items:center; gap:10px; font-size:13px; font-weight:650; }
.vg-rating-bar > span:first-child { display:inline-flex; align-items:center; gap:3px; }
.vg-rating-bar > span:first-child svg { fill:var(--vg-star); stroke:var(--vg-star); }
.vg-rating-bar > span:last-child { color:var(--vg-muted); text-align:end; }
.vg-rating-bar__track { height:8px; border-radius:999px; background:var(--vg-surface-2); overflow:hidden; }
.vg-rating-bar__track span { display:block; height:100%; border-radius:inherit; background:var(--vg-star); }
@media (max-width:560px) { .vg-rating-summary { grid-template-columns:minmax(0, 1fr); } }
html .woocommerce .star-rating { color:var(--vg-star); }
html .woocommerce .star-rating::before { color:color-mix(in srgb, var(--vg-text) 18%, transparent); opacity:1; }
html .woocommerce #reviews #comments h2 { font-size:20px; }
html .woocommerce #reviews #comments ol.commentlist { padding:0; margin:0 0 24px; }
html .woocommerce #reviews #comments ol.commentlist li { margin:0 0 14px; }
html .woocommerce #reviews #comments ol.commentlist li img.avatar { width:42px; padding:0; border:0; border-radius:50%; background:var(--vg-surface-2); top:2px; }
html .woocommerce #reviews #comments ol.commentlist li .comment-text { margin:0 0 0 58px; padding:16px 18px; border:1px solid var(--vg-border); border-radius:14px; background:var(--vg-bg); }
html .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta { color:var(--vg-muted); font-size:13px; }
html .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong { color:var(--vg-text); }
html .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-review__verified { color:var(--vg-success); font-style:normal; font-weight:700; }
html .woocommerce #review_form #respond { padding:20px; border:1px dashed var(--vg-border); border-radius:14px; }
html .woocommerce #review_form #respond .comment-reply-title { display:block; margin-bottom:10px; font-size:18px; font-weight:800; }
html .woocommerce #review_form #respond p { margin:0 0 14px; }
html .woocommerce #review_form #respond :is(input[type=text], input[type=email], textarea) { width:100%; }
html .woocommerce p.stars a { color:var(--vg-star); }
html .woocommerce #review_form #respond .form-submit input { min-height:46px; }
/* Related, upsells */
html .vg-single-wrap div.product :is(section.related, section.upsells) { margin-top:clamp(40px, 6vw, 72px); }
html .vg-single-wrap div.product :is(section.related, section.upsells) > h2 { margin:0 0 20px; font-size:clamp(22px, 3vw, 30px); }

/* ---------- 7. Cart (classic) ---------- */
.vg-wc-page { padding-bottom:clamp(48px, 7vw, 96px); }
.vg-wc-page--cart .vg-page-head, .vg-wc-page--checkout .vg-page-head, .vg-wc-page--received .vg-page-head { text-align:center; }
.vg-wc-page--cart .vg-page-intro, .vg-wc-page--checkout .vg-page-intro { margin-inline:auto; }
.vg-progress { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:0 0 18px; padding:0; list-style:none; }
.vg-progress li { display:inline-flex; align-items:center; gap:7px; padding:6px 13px; border-radius:999px; border:1px solid var(--vg-border); background:var(--vg-surface); color:var(--vg-muted); font-size:13px; font-weight:700; }
.vg-progress li:not(:last-child)::after { content:""; display:block; width:18px; height:2px; margin-inline:6px -20px; background:var(--vg-border); }
.vg-progress li:not(:last-child) { margin-inline-end:14px; }
.vg-progress li.is-done { color:var(--vg-success); border-color:color-mix(in srgb, var(--vg-success) 35%, var(--vg-border)); }
.vg-progress li.is-active { background:var(--vg-text); border-color:var(--vg-text); color:var(--vg-bg); }
.vg-wc-page--cart .vg-wc-content > .woocommerce { display:grid; grid-template-columns:minmax(0, 1fr) minmax(300px, 400px); gap:28px; align-items:start; }
.vg-wc-page--cart .vg-wc-content > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column:1 / -1; }
html .woocommerce table.shop_table { border:1px solid var(--vg-border); border-radius:var(--vg-radius); border-collapse:separate; background:var(--vg-surface); margin:0 0 20px; overflow:hidden; }
html .woocommerce table.shop_table :is(th, td) { padding:14px 16px; border-color:var(--vg-border); }
html .woocommerce table.shop_table th { font-size:13px; font-weight:750; color:var(--vg-muted); }
html .woocommerce table.shop_table tbody th, html .woocommerce table.shop_table tfoot :is(td, th) { border-top:1px solid var(--vg-border); }
html .woocommerce table.shop_table td { border-top:1px solid var(--vg-border); }
html .woocommerce-cart table.cart img, html .woocommerce table.cart img { width:64px; border-radius:10px; background:var(--vg-image-bg); }
html .woocommerce table.cart td.product-name a { color:var(--vg-text); font-weight:700; }
html .woocommerce table.cart .product-price, html .woocommerce table.cart .product-subtotal { font-weight:700; }
html .woocommerce a.remove { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:var(--vg-muted) !important; font-size:20px; font-weight:400; }
html .woocommerce a.remove:hover { background:var(--vg-danger-soft); color:var(--vg-danger) !important; }
html .woocommerce table.cart td.actions { padding:16px; }
html .woocommerce table.cart td.actions .coupon { display:flex; gap:8px; align-items:center; }
html .woocommerce table.cart td.actions .coupon .input-text, html .woocommerce-cart table.cart td.actions .coupon .input-text { width:200px; min-height:46px; margin:0; 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); }
html .woocommerce table.cart td.actions > .button { float:right; }
html .woocommerce .quantity .qty { min-height:44px; }
html .woocommerce .cart-collaterals, html .woocommerce-page .cart-collaterals { display:grid; gap:20px; }
html .woocommerce .cart-collaterals .cart_totals, html .woocommerce-page .cart-collaterals .cart_totals, html .woocommerce .cart-collaterals .cross-sells { float:none; width:100%; }
html .woocommerce .cart-collaterals .cart_totals { order:-1; position:sticky; top:calc(var(--vg-admin-bar) + var(--vg-header-h) + 20px); padding:22px; border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); box-shadow:var(--vg-shadow-sm); }
html .woocommerce .cart-collaterals .cart_totals h2 { font-size:20px; margin:0 0 12px; }
html .woocommerce .cart-collaterals .cart_totals table.shop_table { border:0; border-radius:0; background:transparent; }
html .woocommerce .cart-collaterals .cart_totals table.shop_table :is(th, td) { padding:12px 0; background:transparent; }
html .woocommerce .cart-collaterals .cart_totals .order-total :is(th, td) { font-size:17px; color:var(--vg-text); }
html .woocommerce .cart-collaterals .cart_totals .order-total strong { font-size:22px; }
html .woocommerce .wc-proceed-to-checkout { padding:12px 0 0; }
html .woocommerce .wc-proceed-to-checkout a.checkout-button { display:flex; width:100%; min-height:56px; margin:0; font-size:17px; }
html .woocommerce .cart-collaterals .cross-sells > h2 { font-size:18px; }
html .woocommerce .cart-collaterals .cross-sells ul.products { --vg-cols:2 !important; grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
.cart-empty.woocommerce-info { text-align:center; padding:28px 20px 28px 48px; font-size:16px; }
.vg-wc-page--cart .return-to-shop { text-align:center; }
@media (max-width:900px) { .vg-wc-page--cart .vg-wc-content > .woocommerce { grid-template-columns:minmax(0, 1fr); } html .woocommerce .cart-collaterals .cart_totals { position:static; } }
@media (max-width:768px) {
  html .woocommerce table.shop_table_responsive tr td, html .woocommerce-page table.shop_table_responsive tr td { padding:10px 14px; }
  html .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background:transparent; }
  html .woocommerce table.cart td.actions .coupon { flex-wrap:wrap; }
  html .woocommerce table.cart td.actions .coupon .input-text { width:100% !important; }
  html .woocommerce table.cart td.actions > .button { width:100%; float:none; margin-top:10px; }
}

/* ---------- 8. Checkout (classic) ---------- */
.vg-checkout-login { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; max-width:1120px; margin:0 auto 22px; padding:12px 14px; border:1px dashed color-mix(in srgb, var(--vg-text) 20%, var(--vg-border)); border-radius:14px; background:var(--vg-surface); }
.vg-checkout-login__icon { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:50%; background:var(--vg-accent-soft); color:var(--vg-accent); }
.vg-checkout-login > p { flex:1 1 220px; margin:0; font-size:14px; font-weight:600; line-height:1.45; }
.vg-checkout-login__actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.vg-checkout-login .vg-btn { min-height:40px; padding-inline:14px; font-size:14px; }
.vg-quick { gap:8px; }
.vg-quick__logos { display:inline-flex; align-items:center; }
.vg-quick__logos i { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 0 0 2px var(--vg-surface), 0 1px 3px rgba(0,0,0,.18); color:#111; font-style:normal; }
.vg-quick__logos i + i { margin-inline-start:-7px; }
.vg-quick__chev { transition:transform .25s var(--vg-ease); opacity:.7; }
.vg-quick[aria-expanded="true"] .vg-quick__chev { transform:rotate(180deg); }
.vg-checkout-login__drawer { flex:1 1 100%; padding-top:10px; border-top:1px solid var(--vg-border); }
.vg-checkout-login__drawer[hidden] { display:none; }
.vg-checkout-login__drawer:not(.is-static) { animation:vg-sso-in .28s var(--vg-ease) both; }
.vg-checkout-login__drawer .vg-sso { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 14px; }
.vg-checkout-login__drawer .vg-sso__label { margin:0; }
@keyframes vg-sso-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
html .woocommerce-form-coupon-toggle .woocommerce-info { max-width:1120px; margin:0 auto 16px; }
html .woocommerce form.checkout_coupon { max-width:1120px; margin:0 auto 22px; padding:18px; border:1px solid var(--vg-border); border-radius:14px; background:var(--vg-surface); display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
html .woocommerce form.checkout_coupon > p:first-child { flex:1 1 100%; margin:0; color:var(--vg-muted); font-size:14px; }
html .woocommerce form.checkout_coupon .form-row { float:none; width:auto; margin:0; flex:1 1 220px; }
html .woocommerce form.checkout_coupon .form-row-last { flex:0 0 auto; }
html .woocommerce form.checkout_coupon .clear { display:none; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(340px, 450px); grid-template-rows:auto 1fr; column-gap:clamp(24px, 3.5vw, 44px); max-width:1120px; margin:0 auto; align-items:start; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout > * { grid-column:1 / -1; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout > #customer_details { grid-column:1; grid-row:2 / span 2; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout > #order_review_heading { grid-column:2; grid-row:2; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout > #order_review { grid-column:2; grid-row:3; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout > .woocommerce-NoticeGroup { grid-row:1; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout > #order_review_heading { margin-top:0; }
body.vg-checkout-two .vg-wc-page--checkout form.checkout > #order_review { position:sticky; top:calc(var(--vg-admin-bar) + var(--vg-header-h) + 16px); }
body.vg-minimal-checkout.vg-checkout-two .vg-wc-page--checkout form.checkout > #order_review { top:calc(var(--vg-admin-bar) + 16px); }
body.vg-checkout-one .vg-wc-page--checkout form.checkout { max-width:720px; margin:0 auto; }
@media (max-width:960px) {
  body.vg-checkout-two .vg-wc-page--checkout form.checkout { grid-template-columns:minmax(0, 1fr); max-width:720px; }
  body.vg-checkout-two .vg-wc-page--checkout form.checkout > :is(#customer_details, #order_review_heading, #order_review) { grid-column:1; grid-row:auto; position:static; }
}
html .woocommerce .vg-wc-page--checkout .col2-set, html .vg-wc-page--checkout #customer_details { width:auto; }
html .woocommerce .vg-wc-page--checkout .col2-set :is(.col-1, .col-2), .vg-wc-page--checkout #customer_details :is(.col-1, .col-2) { float:none; width:100%; max-width:none; padding:0; }
.vg-wc-page--checkout #customer_details::before, .vg-wc-page--checkout #customer_details::after { display:none; }
.vg-wc-page--checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields, .woocommerce-account-fields) { margin-bottom:16px; padding:clamp(18px, 3vw, 26px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); box-shadow:var(--vg-shadow-sm); }
.vg-wc-page--checkout :is(.woocommerce-shipping-fields, .woocommerce-additional-fields, .woocommerce-account-fields):not(:has(.form-row, .shipping_address, input:not([type=hidden]))) { display:none; }
.vg-wc-page--checkout .woocommerce-billing-fields > h3, .vg-wc-page--checkout .woocommerce-additional-fields > h3, .vg-wc-page--checkout #order_review_heading { display:flex; align-items:center; gap:10px; margin:0 0 18px; font-size:19px; letter-spacing:-.01em; }
.vg-wc-page--checkout .woocommerce-billing-fields__field-wrapper { display:flex; flex-wrap:wrap; column-gap:14px; }
.vg-wc-page--checkout .woocommerce-billing-fields__field-wrapper > .form-row { flex:1 1 100%; }
.vg-wc-page--checkout .woocommerce-billing-fields__field-wrapper > .form-row-first, .vg-wc-page--checkout .woocommerce-billing-fields__field-wrapper > .form-row-last { flex:1 1 calc(50% - 7px); width:auto; float:none; }
.vg-wc-page--checkout #order_review { padding:clamp(18px, 3vw, 24px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); box-shadow:var(--vg-shadow); }
html .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table { border:0; border-radius:0; background:transparent; margin-bottom:16px; }
html .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table :is(th, td) { padding:11px 0; background:transparent; font-size:14.5px; }
html .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table thead { display:none; }
html .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table tbody tr:first-child td { border-top:0; }
.woocommerce-checkout-review-order-table .product-name { font-weight:650; }
.woocommerce-checkout-review-order-table .product-quantity { color:var(--vg-muted); font-weight:600; }
.woocommerce-checkout-review-order-table td.product-total, .woocommerce-checkout-review-order-table tfoot td { text-align:end; }
html .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table tfoot th { color:var(--vg-muted); font-weight:600; }
html .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table .order-total :is(th, td) { padding-top:14px; color:var(--vg-text); font-size:17px; font-weight:800; }
html .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table .order-total strong { font-size:22px; }
html .woocommerce-checkout #payment { background:transparent; border-radius:0; }
html .woocommerce-checkout #payment ul.payment_methods { display:grid; gap:10px; padding:0 0 4px; border:0; }
html .woocommerce-checkout #payment ul.payment_methods li { position:relative; margin:0; padding:14px 14px 14px 16px; border:1.5px solid var(--vg-border); border-radius:12px; background:var(--vg-surface); line-height:1.4; transition:border-color .2s, background .2s; }
html .woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color:var(--vg-primary); background:color-mix(in srgb, var(--vg-primary) 6%, var(--vg-surface)); }
html .woocommerce-checkout #payment ul.payment_methods li > input { margin:0 10px 0 0; }
html .woocommerce-checkout #payment ul.payment_methods li > label { display:inline; font-weight:750; font-size:15px; cursor:pointer; }
html .woocommerce-checkout #payment ul.payment_methods li img { max-height:22px; margin:-2px 0 0 6px; vertical-align:middle; }
html .woocommerce-checkout #payment div.payment_box { margin:10px 0 0; padding:12px 14px; border-radius:10px; background:var(--vg-surface-2); color:var(--vg-text); font-size:13.5px; }
html .woocommerce-checkout #payment div.payment_box::before { display:none; }
html .woocommerce-checkout #payment div.payment_box p:last-child { margin:0; }
html .woocommerce-checkout #payment div.form-row { padding:14px 0 0; }
html .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper, html .woocommerce-checkout .woocommerce-privacy-policy-text { color:var(--vg-muted); font-size:12.5px; line-height:1.5; }
html .woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color:var(--vg-text); text-decoration:underline; }
html .woocommerce-checkout #payment #place_order, html .woocommerce #place_order { float:none; width:100%; min-height:58px; margin-top:6px; font-size:17px; border-radius:calc(var(--vg-btn-radius) + 2px); }
.woocommerce-checkout #payment .woocommerce-notice, .woocommerce-checkout .woocommerce-checkout-payment .woocommerce-info { margin:0; }
.vg-checkout-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 16px; margin:14px 0 0; padding:0; list-style:none; color:var(--vg-muted); font-size:12.5px; font-weight:650; }
.vg-checkout-trust li { display:inline-flex; align-items:center; gap:6px; }
.vg-checkout-trust svg { color:var(--vg-success); }
.vg-checkout-after { max-width:1120px; margin:20px auto 0; }
.vg-wc-page--checkout .vg-security-note { justify-content:center; margin:12px 0 0; text-align:center; }
.vg-unavailable { margin:0 0 12px; font-size:12.5px; }
.vg-unavailable__row { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; color:var(--vg-muted); line-height:1.4; }
.vg-unavailable__icons { display:inline-flex; gap:3px; }
.vg-unavailable__icons img { position:relative; width:auto; height:18px; padding:1px 3px; border:1px solid var(--vg-border); border-radius:4px; background:#fff; filter:grayscale(1); opacity:.5; }
.vg-unavailable__text { flex:1 1 auto; min-width:0; }
.vg-unavailable__why { display:inline; padding:0; white-space:nowrap; border:0; background:none; color:var(--vg-accent); font:inherit; font-weight:700; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:3px; cursor:pointer; }
.vg-unavailable__why[aria-expanded="true"] { text-decoration-style:solid; }
.vg-why { position:relative; margin-top:10px; padding:12px 14px; border:1px solid var(--vg-border); border-radius:12px; background:var(--vg-surface); box-shadow:0 10px 30px -16px rgba(0,0,0,.35); animation:vg-sso-in .22s var(--vg-ease) both; }
.vg-why[hidden] { display:none; }
.vg-why strong { display:block; margin-bottom:4px; color:var(--vg-text); font-size:13.5px; }
.vg-why p { margin:0; color:var(--vg-muted); font-size:12.5px; line-height:1.55; }
.vg-why a { display:inline-flex; align-items:center; gap:5px; margin-top:8px; color:var(--vg-accent); font-weight:700; font-size:12.5px; }
.vg-bump { margin:0 0 16px; }
.vg-bump__label { display:grid; grid-template-columns:auto 52px minmax(0, 1fr) auto; align-items:center; gap:12px; padding:14px; border:2px dashed color-mix(in srgb, var(--vg-primary) 70%, var(--vg-border)); border-radius:14px; background:color-mix(in srgb, var(--vg-primary) 6%, var(--vg-surface)); cursor:pointer; transition:background .2s, border-color .2s; }
.vg-bump.is-on .vg-bump__label { border-style:solid; border-color:var(--vg-primary); background:color-mix(in srgb, var(--vg-primary) 12%, var(--vg-surface)); }
.vg-bump__label input { width:20px !important; height:20px !important; }
.vg-bump__media img { display:block; width:52px; height:52px; border-radius:10px; object-fit:cover; background:var(--vg-image-bg); }
.vg-bump__copy strong { display:block; color:color-mix(in srgb, var(--vg-primary) 55%, var(--vg-text)); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.vg-bump__name { display:block; font-size:14.5px; font-weight:700; line-height:1.3; }
.vg-bump__copy small { display:block; margin-top:2px; color:var(--vg-muted); font-size:12.5px; line-height:1.4; }
.vg-bump__price { text-align:end; white-space:nowrap; }
.vg-bump__price del { display:block; color:var(--vg-muted); font-size:12px; }
.vg-bump__price strong { font-size:15px; }
.vg-bump.is-loading { opacity:.6; pointer-events:none; }
/* Order received */
.vg-success-mark { display:grid; place-items:center; width:72px; height:72px; margin:0 auto 16px; border-radius:50%; background:var(--vg-success-soft); color:var(--vg-success); animation:vg-bump .6s var(--vg-ease); }
.vg-wc-page--received .vg-wc-content { max-width:860px; margin:0 auto; }
html .woocommerce .woocommerce-thankyou-order-received, html .woocommerce-order .woocommerce-notice--success { margin:0 0 20px; color:var(--vg-muted); font-size:17px; text-align:center; }
html .woocommerce ul.order_details { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px; margin:0 0 28px; padding:0; }
html .woocommerce ul.order_details::before, html .woocommerce ul.order_details::after { display:none; }
html .woocommerce ul.order_details li { float:none; margin:0; padding:14px 16px; border:1px solid var(--vg-border); border-radius:12px; background:var(--vg-surface); color:var(--vg-muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
html .woocommerce ul.order_details li strong { margin-top:4px; color:var(--vg-text); font-size:15px; text-transform:none; letter-spacing:0; }
.woocommerce-order-details, .woocommerce-customer-details { margin-bottom:24px; }
.woocommerce-order-details__title, .woocommerce-column__title { font-size:20px; }
html .woocommerce .woocommerce-customer-details address { padding:16px; border:1px solid var(--vg-border); border-radius:12px; background:var(--vg-surface); }

/* ---------- 9. Block checkout & cart (WooCommerce Blocks) ---------- */
.wc-block-checkout, .wc-block-cart { color:var(--vg-text); }
html .wc-block-components-text-input input:is([type=text], [type=email], [type=tel], [type=number], [type=password], [type=url]), html .wc-block-components-textarea, html .wc-blocks-components-select .wc-blocks-components-select__select, html .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input, html .wc-block-components-form .wc-block-components-text-input input:is([type=text], [type=email], [type=tel], [type=number], [type=password], [type=url]) {
  background-color:var(--vg-input-bg) !important; color:var(--vg-input-text) !important; border:1.5px solid var(--vg-input-border) !important; border-radius:var(--vg-field-radius) !important; box-shadow:none !important;
}
html .wc-block-components-text-input input:focus, html .wc-block-components-textarea:focus, html .wc-blocks-components-select .wc-blocks-components-select__select:focus, html .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus { border-color:var(--vg-primary) !important; box-shadow:var(--vg-ring) !important; }
html .wc-block-components-text-input label, html .wc-blocks-components-select .wc-blocks-components-select__label, html .wc-block-components-combobox .wc-block-components-combobox-control label.components-base-control__label { color:var(--vg-input-placeholder) !important; }
html .wc-blocks-components-select .wc-blocks-components-select__container { background:var(--vg-input-bg) !important; border-radius:var(--vg-field-radius) !important; }
html .wc-blocks-components-select .wc-blocks-components-select__expand { fill:var(--vg-muted) !important; }
html .wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list { background:var(--vg-surface) !important; color:var(--vg-text) !important; border-color:var(--vg-border) !important; }
html .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { background:var(--vg-input-bg) !important; border-color:var(--vg-input-border) !important; }
html .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill:var(--vg-text) !important; }
html .wc-block-components-radio-control__input { background:var(--vg-input-bg) !important; border-color:var(--vg-input-border) !important; }
html .wc-block-components-radio-control__input:checked::before { background:var(--vg-primary) !important; }
html .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option, html .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option { box-shadow:none !important; border:1.5px solid var(--vg-border) !important; border-radius:12px !important; margin-bottom:8px !important; }
html .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, html .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted { border-color:var(--vg-primary) !important; background:color-mix(in srgb, var(--vg-primary) 6%, transparent); }
html .wc-block-components-radio-control-accordion-content { color:var(--vg-muted); }
html .wc-block-components-checkout-step__title, html .wc-block-components-title.wc-block-components-title { color:var(--vg-text) !important; font-family:var(--vg-font-heading); font-weight:800 !important; }
html .wc-block-components-checkout-step__description { color:var(--vg-muted); }
html .wc-block-checkout__main .wc-block-components-checkout-step { padding:clamp(18px, 3vw, 24px) !important; margin-bottom:16px !important; border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); }
html .wc-block-components-checkout-step__container::after, html .wc-block-components-checkout-step::after { display:none !important; }
html .wc-block-components-checkout-step__heading-container { padding-inline-start:0 !important; }
html .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before { display:none !important; }
html .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__content, html .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__heading-container { padding-inline-start:0 !important; margin-inline-start:0 !important; }
html .wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-panel, html .wc-block-checkout__sidebar, html .wp-block-woocommerce-checkout-order-summary-block { border-color:var(--vg-border) !important; border-radius:calc(var(--vg-radius) * 1.2) !important; background:var(--vg-surface); }
html .wp-block-woocommerce-checkout-order-summary-block { border:1px solid var(--vg-border) !important; box-shadow:var(--vg-shadow); }
html .wc-block-components-totals-wrapper, html .wc-block-components-order-summary-item, html .wc-block-components-totals-footer-item, html .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title { border-color:var(--vg-border) !important; }
html .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity { background:var(--vg-text) !important; color:var(--vg-bg) !important; border-color:var(--vg-surface) !important; box-shadow:none !important; }
html .wc-block-components-order-summary .wc-block-components-order-summary-item__image img { border-radius:8px; }
html .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, html .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size:18px !important; font-weight:800 !important; }
html .wc-block-components-button:not(.is-link).wc-block-components-checkout-place-order-button, html .wc-block-cart__submit-button { min-height:58px; width:100%; font-size:17px; }
html .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color:inherit; }
html .wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button { color:var(--vg-muted); }
html .wc-block-components-validation-error p, html .wc-block-components-validation-error { color:var(--vg-danger) !important; }
html .wc-block-components-address-card { border-color:var(--vg-border) !important; border-radius:12px !important; background:var(--vg-surface-2); }
html .wc-block-components-panel__button, html .wc-block-components-totals-coupon__button { color:var(--vg-text) !important; }
html .wc-block-checkout__login-prompt, html .wc-block-components-checkout-step__heading-content a { color:var(--vg-accent) !important; }
.vg-wc-page--checkout .wp-block-woocommerce-checkout { max-width:1120px; margin:0 auto; padding-top:0 !important; }

/* ---------- 10. Account ---------- */
.vg-wc-page--account .vg-page-head:empty { padding:12px 0 0; }
.vg-auth { display:grid; grid-template-columns:minmax(0, 1fr); gap:24px; max-width:520px; margin:clamp(12px, 3vw, 32px) auto 0; }
.vg-auth:has(.vg-auth__side) { grid-template-columns:minmax(0, 1fr) minmax(260px, 360px); max-width:1000px; align-items:start; }
.vg-auth__tabs { display:flex; gap:4px; margin-bottom:14px; padding:5px; border:1px solid var(--vg-border); border-radius:999px; background:var(--vg-surface); }
.vg-auth__tabs button { flex:1; padding:11px 14px; border:0; border-radius:999px; background:transparent; color:var(--vg-muted); font-family:var(--vg-font-ui); font-size:14.5px; font-weight:750; }
.vg-auth__tabs button.is-active { background:var(--vg-text); color:var(--vg-bg); }
.vg-auth.has-register .vg-auth__card:not(.is-active) { display:none; }
.vg-auth__card { padding:clamp(22px, 4vw, 36px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.4); background:var(--vg-surface); box-shadow:var(--vg-shadow); animation:vg-fade .35s var(--vg-ease); }
.vg-auth__card h2 { margin:0 0 6px; font-size:clamp(24px, 3vw, 30px); }
.vg-auth__lead { margin:0 0 22px; color:var(--vg-muted); }
html .woocommerce .vg-auth form.login, html .woocommerce .vg-auth form.register, html .vg-auth form.woocommerce-form { margin:0; padding:0; border:0; border-radius:0; }
.vg-auth__hint { display:flex; align-items:flex-start; gap:8px; margin:0 0 14px; color:var(--vg-muted); font-size:13.5px; }
.vg-auth__side { padding:clamp(22px, 3vw, 30px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.4); background:linear-gradient(160deg, color-mix(in srgb, var(--vg-primary) 14%, var(--vg-surface)), color-mix(in srgb, var(--vg-accent) 8%, var(--vg-surface))); }
.vg-auth:has(.vg-auth__tabs) .vg-auth__side { margin-top:62px; }
.vg-auth__side h3 { margin:0 0 18px; font-size:20px; }
.vg-auth__side ul { display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.vg-auth__side li { display:flex; align-items:flex-start; gap:12px; font-size:14.5px; font-weight:600; line-height:1.45; }
.vg-auth__side li > span { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; border-radius:10px; background:var(--vg-surface); color:color-mix(in srgb, var(--vg-primary) 65%, var(--vg-text)); box-shadow:var(--vg-shadow-sm); }
.vg-auth__guest { display:flex; align-items:flex-start; gap:8px; margin:22px 0 0; padding-top:16px; border-top:1px solid color-mix(in srgb, var(--vg-text) 10%, transparent); color:var(--vg-muted); font-size:13px; }
.vg-auth__guest svg { color:var(--vg-success); flex-shrink:0; margin-top:1px; }
@media (max-width:860px) { .vg-auth:has(.vg-auth__side) { grid-template-columns:minmax(0, 1fr); max-width:520px; } .vg-auth:has(.vg-auth__tabs) .vg-auth__side { margin-top:0; } }
.vg-login-form__row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin:2px 0 18px; font-size:13.5px; }
.vg-login-form__row a { color:var(--vg-accent); font-weight:650; }
.vg-check { display:inline-flex !important; align-items:center; gap:8px; margin:0 !important; font-weight:550 !important; cursor:pointer; }
.vg-pass { position:relative; display:block; }
.vg-pass input { padding-inline-end:48px !important; }
.vg-pass__toggle { position:absolute; top:50%; inset-inline-end:6px; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:8px; background:transparent; color:var(--vg-muted); transform:translateY(-50%); }
.vg-pass__toggle:hover { color:var(--vg-text); background:var(--vg-hover); }
html .woocommerce form .show-password-input, html .woocommerce-page form .show-password-input { top:50%; transform:translateY(-50%); }
/* Logged-in account */
html .woocommerce-account .vg-wc-content > .woocommerce { display:grid; grid-template-columns:minmax(220px, 270px) minmax(0, 1fr); gap:28px; align-items:start; }
html .woocommerce-account .vg-wc-content > .woocommerce:has(.vg-auth) { display:block; }
/* 4.7: WooCommerce clearfix ::before/::after became grid cells and pushed the menu to the right column. */
html .woocommerce-account .vg-wc-content > .woocommerce::before, html .woocommerce-account .vg-wc-content > .woocommerce::after { content:none; display:none; }
html .woocommerce-account .vg-wc-content > .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column:1 / -1; }
html .woocommerce-account .woocommerce-MyAccount-navigation, html .woocommerce-account .woocommerce-MyAccount-content { float:none; width:auto; }
.vg-account-nav { position:sticky; top:calc(var(--vg-admin-bar) + var(--vg-header-h) + 20px); padding:12px; border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); }
.vg-account-nav__user { display:flex; align-items:center; gap:10px; padding:8px 8px 14px; margin-bottom:6px; border-bottom:1px solid var(--vg-border); min-width:0; }
.vg-account-nav__user > span:last-child { min-width:0; }
.vg-account-nav__user strong, .vg-account-nav__user small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vg-account-nav__user small { color:var(--vg-muted); font-size:12px; }
.vg-account-nav ul { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.vg-account-nav a { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; color:var(--vg-muted); font-size:14.5px; font-weight:650; }
.vg-account-nav a:hover { background:var(--vg-surface-2); color:var(--vg-text); }
.vg-account-nav li.is-active a { background:var(--vg-primary-soft); color:var(--vg-text); }
.vg-account-nav li.is-active svg { color:color-mix(in srgb, var(--vg-primary) 70%, var(--vg-text)); }
.vg-account-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color:var(--vg-danger); }
html .woocommerce-account .woocommerce-MyAccount-content { padding:clamp(18px, 3vw, 28px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); min-height:280px; }
.woocommerce-MyAccount-content > p:first-child { font-size:16px; }
.woocommerce-MyAccount-content a:not(.button):not(.vg-btn) { color:var(--vg-accent); font-weight:600; }
html .woocommerce-account .woocommerce-MyAccount-content table.shop_table { background:var(--vg-bg); }
html .woocommerce-account .woocommerce-MyAccount-content fieldset { margin:20px 0; padding:16px; border:1px solid var(--vg-border); border-radius:12px; }
/* 4.7 account hub: dashboard + My purchases */
html .woocommerce-account .woocommerce-MyAccount-content:has(.vg-dash) { padding:0; border:0; background:none; min-height:0; }
.vg-dash { display:grid; gap:20px; }
.vg-dash > * { margin:0; }
.vg-dash__hello { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 24px; padding:clamp(20px, 3.4vw, 30px); border:1px solid color-mix(in srgb, var(--vg-primary) 32%, var(--vg-border)); border-radius:calc(var(--vg-radius) * 1.3); background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--vg-primary) 16%, transparent), transparent 55%), var(--vg-surface); }
.vg-dash__hello h2 { margin:2px 0 6px; font-size:clamp(1.35rem, 2.6vw, 1.75rem); line-height:1.2; }
.vg-dash__hello p { margin:0; color:var(--vg-muted); max-width:52ch; }
.vg-dash__eyebrow { font-size:12px !important; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:color-mix(in srgb, var(--vg-primary) 60%, var(--vg-text)) !important; }
.vg-dash__cta { display:flex; flex-wrap:wrap; gap:10px; }
.vg-dash__icon { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:12px; background:var(--vg-primary-soft); color:color-mix(in srgb, var(--vg-primary) 65%, var(--vg-text)); }
.vg-dash__stats { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.vg-dash__stats li { display:grid; grid-template-columns:auto minmax(0, 1fr); grid-template-rows:auto auto; column-gap:12px; align-items:center; padding:14px 16px; border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.1); background:var(--vg-surface); }
.vg-dash__stats .vg-dash__icon { grid-row:1 / 3; }
.vg-dash__stats b { font-size:22px; line-height:1.1; }
.vg-dash__stats li > span:last-child { color:var(--vg-muted); font-size:13px; }
.vg-dash__stats li.is-open .vg-dash__icon { background:color-mix(in srgb, var(--vg-accent) 14%, transparent); color:var(--vg-accent); }
.vg-dash__block, .vg-acc-panel { padding:clamp(18px, 3vw, 26px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); }
.vg-acc-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 16px; margin-bottom:16px; }
.vg-acc-head h2 { margin:0 0 4px; font-size:1.2rem; }
.vg-acc-head p { margin:0; color:var(--vg-muted); font-size:14px; }
html .woocommerce-account .woocommerce-MyAccount-content a.vg-acc-head__link { display:inline-flex; align-items:center; gap:6px; color:var(--vg-text); font-weight:700; font-size:14px; }
.vg-buys { display:grid; gap:12px; }
.vg-buy { display:grid; grid-template-columns:64px minmax(0, 1fr); gap:16px; padding:16px; border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.1); background:var(--vg-bg); }
.vg-buy--preparing, .vg-buy--waiting { border-style:dashed; }
.vg-buy__media { display:block; width:64px; height:64px; }
.vg-buy__img { display:grid; place-items:center; width:64px; height:64px; border-radius:14px; object-fit:cover; background:var(--vg-surface-2); border:1px solid var(--vg-border); }
.vg-buy__mono { font-weight:800; font-size:18px; color:color-mix(in srgb, var(--vg-primary) 60%, var(--vg-text)); background:var(--vg-primary-soft); }
.vg-buy__body { min-width:0; display:grid; gap:10px; }
.vg-buy__top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px 14px; }
.vg-buy__title { min-width:0; }
.vg-buy h3 { margin:0; font-size:15.5px; line-height:1.35; }
html .woocommerce-account .woocommerce-MyAccount-content .vg-buy h3 a { color:var(--vg-text); }
html .woocommerce-account .woocommerce-MyAccount-content .vg-buy h3 a:hover { color:var(--vg-accent); }
.vg-acc-lead { margin:0 0 16px; color:var(--vg-muted); }
.vg-buy__qty { color:var(--vg-muted); font-weight:600; }
.vg-buy__meta, .vg-buy__order { margin:3px 0 0 !important; color:var(--vg-muted); font-size:13px !important; }
.vg-buy__order .woocommerce-Price-amount { color:var(--vg-text); font-weight:650; }
.vg-state { flex:none; display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:99px; font-size:12px; font-weight:750; white-space:nowrap; background:var(--vg-surface-2); color:var(--vg-muted); }
.vg-state::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.vg-state--delivered { background:color-mix(in srgb, #12855b 14%, transparent); color:#0f7a52; }
.vg-state--preparing { background:color-mix(in srgb, var(--vg-primary) 18%, transparent); color:color-mix(in srgb, var(--vg-primary) 50%, var(--vg-text)); }
.vg-state--waiting { background:color-mix(in srgb, var(--vg-accent) 12%, transparent); color:var(--vg-accent); }
.vg-state--cancelled { background:color-mix(in srgb, var(--vg-danger) 12%, transparent); color:var(--vg-danger); }
.vg-buy__next { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; padding:10px 12px; border-radius:12px; background:var(--vg-surface-2); }
.vg-buy__next p { margin:0; color:var(--vg-muted); font-size:13.5px; }
.vg-buy__dl { display:flex; flex-wrap:wrap; gap:8px; }
.vg-acc-empty { display:grid; justify-items:center; gap:8px; padding:32px 16px; text-align:center; color:var(--vg-muted); }
.vg-acc-empty svg { color:color-mix(in srgb, var(--vg-primary) 65%, var(--vg-text)); }
.vg-acc-empty h3 { margin:4px 0 0; color:var(--vg-text); }
.vg-acc-empty p { margin:0 0 8px; max-width:44ch; }
.vg-acc-pages { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:18px; color:var(--vg-muted); font-size:14px; }
.vg-dash__tiles { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:12px; }
html .woocommerce-account .woocommerce-MyAccount-content .vg-dash__tiles a { display:flex; align-items:center; gap:12px; padding:14px 16px; border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.1); background:var(--vg-surface); color:var(--vg-text); font-weight:400; transition:border-color .2s, transform .2s; }
.woocommerce-MyAccount-content .vg-dash__tiles a:hover { border-color:color-mix(in srgb, var(--vg-primary) 55%, var(--vg-border)); }
.vg-dash__tiles a > span:nth-child(2) { flex:1; min-width:0; }
.vg-dash__tiles b { display:block; font-size:14.5px; }
.vg-dash__tiles small { display:block; color:var(--vg-muted); font-size:12.5px; }
.vg-dash__arrow { color:var(--vg-muted); }
.vg-dash .vgtk-wallet { margin:0; }
@media (max-width:640px) {
  .vg-dash__stats { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
  .vg-dash__stats li { grid-template-columns:minmax(0, 1fr); grid-template-rows:auto; padding:12px; gap:2px; text-align:start; }
  .vg-dash__stats .vg-dash__icon { grid-row:auto; width:32px; height:32px; margin-bottom:4px; }
  .vg-dash__stats b { font-size:19px; }
  .vg-dash__stats li > span:last-child { font-size:12px; line-height:1.25; }
  .vg-dash__cta, .vg-dash__cta .vg-btn { width:100%; }
  .vg-dash__cta .vg-btn { justify-content:center; }
  .vg-buy { grid-template-columns:48px minmax(0, 1fr); gap:12px; padding:14px; }
  .vg-buy__media, .vg-buy__img { width:48px; height:48px; border-radius:12px; }
  .vg-buy__top { flex-direction:column; gap:6px; }
}
@media (max-width:860px) {
  html .woocommerce-account .vg-wc-content > .woocommerce { grid-template-columns:minmax(0, 1fr); }
  .vg-account-nav { position:static; }
  .vg-account-nav ul { display:flex; overflow-x:auto; gap:4px; scrollbar-width:none; }
  .vg-account-nav li { flex-shrink:0; }
}

/* ---------- 11. Social login (Loginizer) ---------- */
.vg-social-login [data-vg-social-buttons], .vg-social-login .lz-social-login-btns-full, .vg-social-login .lz-social-login-btns-icon { display:flex !important; flex-direction:column; gap:10px; width:100%; max-width:none !important; padding:0 !important; }
.vg-social-login .lz-social-login-btns-icon { flex-direction:row; flex-wrap:wrap; justify-content:center; }
.vg-social-login .loginizer-social-button { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; max-width:none; min-height:48px; margin:0 !important; padding:0 16px !important; border-radius:var(--vg-btn-radius) !important; font-family:var(--vg-font-ui); font-weight:700; box-shadow:0 1px 2px rgba(0,0,0,.08); transition:transform .2s var(--vg-ease), filter .2s; }
.vg-social-login .loginizer-social-button:hover { transform:translateY(-1px); filter:brightness(1.06); }
.vg-social-login .loginizer-social-btn-logo { padding:0; }
.vg-social-login .loginizer-social-btn-text { margin:0; padding:0; font-size:15px; }
.vg-divider { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--vg-muted); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.vg-divider::before, .vg-divider::after { content:""; flex:1; height:1px; background:var(--vg-border); }
.vg-divider--plain { margin:14px 0; } .vg-divider--plain::after { display:none; }
/* Built-in social sign-in */
.vg-sso { text-align:center; }
.vg-sso__label { margin:0 0 10px; color:var(--vg-muted); font-size:13px; font-weight:650; }
.vg-sso__list { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.vg-sso__btn { position:relative; display:inline-grid; place-items:center; width:48px; height:48px; border:1px solid var(--vg-border); border-radius:50%; background:#fff; color:#111; text-decoration:none; box-shadow:0 1px 2px rgba(0,0,0,.06); transition:transform .2s var(--vg-ease), box-shadow .2s, border-color .2s; }
.vg-sso__btn:hover, .vg-sso__btn:focus-visible { transform:translateY(-2px); border-color:color-mix(in srgb, var(--vg-text) 25%, var(--vg-border)); box-shadow:0 6px 16px -6px rgba(0,0,0,.25); }
.vg-sso__btn svg { width:21px; height:21px; }
.vg-sso__btn--apple, .vg-sso__btn--x { background:#000; border-color:#000; color:#fff; }
.vg-sso__btn--github { background:#24292f; border-color:#24292f; color:#fff; }
.vg-sso--buttons .vg-sso__list { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:8px; }
.vg-sso--buttons .vg-sso__btn { display:flex; gap:10px; width:auto; height:46px; padding:0 16px; border-radius:var(--vg-btn-radius); font-family:var(--vg-font-ui); font-size:14.5px; font-weight:700; }
.vg-sso__btn.is-loading { pointer-events:none; }
.vg-sso__btn.is-loading svg { opacity:0; }
.vg-sso__btn.is-loading::after { content:""; position:absolute; top:50%; left:50%; width:18px; height:18px; margin:-9px 0 0 -9px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:vg-spin .7s linear infinite; opacity:.7; }
.vg-sso--buttons .vg-sso__btn.is-loading::after { left:auto; right:14px; }
.vg-checkout-login .vg-sso__btn { width:44px; height:44px; }
.vg-sso-error { margin:0 0 14px; padding:10px 12px; border-radius:10px; background:color-mix(in srgb, #d63c4a 10%, transparent); color:#b3261e; font-size:13.5px; font-weight:600; line-height:1.45; }
.vg-sso-error[hidden] { display:none; }
.vg-checkout-login > .vg-sso-error { flex:1 1 100%; margin:0; }
html[data-theme=dark] .vg-sso-error { color:#ff8a80; }
html[data-theme=dark] .vg-sso__btn:not(.vg-sso__btn--apple):not(.vg-sso__btn--x):not(.vg-sso__btn--github) { border-color:transparent; }
html[data-theme=dark] .vg-sso__btn--apple, html[data-theme=dark] .vg-sso__btn--x, html[data-theme=dark] .vg-sso__btn--github { border-color:rgba(255,255,255,.22); }
/* Loginizer as engine: same round look */
.vg-sso--lz.vg-sso--icons .lz-social-login-btns-icon, .vg-sso--lz.vg-sso--icons [data-vg-social-buttons] { flex-direction:row !important; flex-wrap:wrap; justify-content:center; }
.vg-sso--lz.vg-sso--icons .loginizer-social-button { width:48px !important; min-height:48px; height:48px; padding:0 !important; border-radius:50% !important; }
.vg-sso--lz.vg-sso--icons .loginizer-social-btn-text { display:none; }

/* ---------- 12. Embedded checkout (inside the Buy-now pop-up) ---------- */
body.vg-embedded { background:var(--vg-surface); }
body.vg-embedded::before { display:none; }
body.vg-embedded .vg-wc-page { padding:14px clamp(12px, 3vw, 22px) 24px; }
body.vg-embedded .vg-page-head { padding:0 0 12px; }
body.vg-embedded .vg-progress, body.vg-embedded .vg-page-intro { display:none; }
body.vg-embedded .vg-page-title { font-size:22px; }
body.vg-embedded.vg-checkout-two .vg-wc-page--checkout form.checkout { grid-template-columns:minmax(0, 1fr); }
body.vg-embedded.vg-checkout-two .vg-wc-page--checkout form.checkout > :is(#customer_details, #order_review_heading, #order_review) { grid-column:1; grid-row:auto; position:static; }
body.vg-embedded .vg-wc-page--checkout :is(.woocommerce-billing-fields, .woocommerce-additional-fields), body.vg-embedded .vg-wc-page--checkout #order_review { box-shadow:none; }
body.vg-embedded .vg-checkout-login { margin-bottom:14px; }
html .single_add_to_cart_button.is-loading { position:relative; color:transparent !important; pointer-events:none; }
html .single_add_to_cart_button.is-loading::after { content:""; position:absolute; inset:0; margin:auto; width:18px; height:18px; border-radius:50%; border:2px solid var(--vg-on-primary, #fff); border-right-color:transparent; animation:vg-spin .7s linear infinite; }
/* Image fit: show whole logos without cropping */
body.vg-fit-contain ul.products li.vg-card.product .vg-card__img img, body.vg-fit-contain .vg-card__img img { object-fit:contain; padding:var(--vg-card-img-pad, 10%); }
body.vg-fit-contain .vg-fbt__thumb img, body.vg-fit-contain .vg-line__img img, body.vg-fit-contain .vg-rec__img img, body.vg-fit-contain .vg-bump__media img { object-fit:contain; }
body.vg-fit-contain:not(.vg-image-natural) ul.products li.vg-card.product:hover .vg-card__img img { transform:scale(1.04); }
.vg-sso-error:focus { outline:none; }
html[data-theme=dark] .vg-state--delivered { color:#4fd69c; background:color-mix(in srgb, #4fd69c 14%, transparent); }

/* ---------- 4.9 Short checkout (Checkout & Forms → Short checkout) ---------- */
body.vg-co-compact :is(.vg-checkout-upsells, .vg-unavailable-methods) { display:none !important; } /* boxes added by older plugins */
body.vg-co-compact .vg-wc-page--checkout .vg-page-head { padding-block:clamp(16px, 3vw, 32px) clamp(12px, 2vw, 20px); }
body.vg-co-compact .vg-wc-page--checkout .vg-page-title { font-size:clamp(26px, 3.4vw, 38px); }
body.vg-co-compact .vg-wc-page--checkout .vg-page-intro { margin-top:6px; font-size:14.5px; }
body.vg-co-compact .vg-checkout-login { margin:0 auto 14px; padding:8px 10px 8px 14px; gap:8px 10px; border-style:solid; border-radius:12px; }
body.vg-co-compact .vg-checkout-login__icon { width:30px; height:30px; }
body.vg-co-compact .vg-checkout-login > p { flex:1 1 auto; font-size:14px; }
body.vg-co-compact .vg-checkout-login .vg-btn { min-height:36px; padding-inline:12px; font-size:13.5px; }
html body.vg-co-compact .vg-wc-page--checkout form.checkout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(320px, 410px); grid-template-rows:auto auto; column-gap:clamp(24px, 3.5vw, 40px); max-width:1120px; margin:0 auto; align-items:start; }
html body.vg-co-compact .vg-wc-page--checkout form.checkout > * { grid-column:1 / -1; grid-row:auto; }
html body.vg-co-compact .vg-wc-page--checkout form.checkout > .woocommerce-NoticeGroup { grid-row:1; }
html body.vg-co-compact .vg-wc-page--checkout form.checkout > .vg-co-main { grid-column:1; grid-row:2; min-width:0; }
html body.vg-co-compact .vg-wc-page--checkout form.checkout > .vg-co-side { grid-column:2; grid-row:2; min-width:0; position:sticky; top:calc(var(--vg-admin-bar) + var(--vg-header-h) + 16px); }
html body.vg-co-compact.vg-minimal-checkout .vg-wc-page--checkout form.checkout > .vg-co-side { top:calc(var(--vg-admin-bar) + 16px); }
html body.vg-co-compact .vg-co-side #order_review { position:static; }
html body.vg-co-compact .vg-co-side #order_review_heading { margin:0 0 12px; font-size:18px; }
body.vg-co-compact .vg-co-bar { display:none; }
/* Cards: one for the details, one for payment */
body.vg-co-compact .vg-co-main > #customer_details, body.vg-co-compact .vg-co-pay { margin:0 0 14px; padding:clamp(16px, 2.6vw, 22px); border:1px solid var(--vg-border); border-radius:calc(var(--vg-radius) * 1.2); background:var(--vg-surface); box-shadow:var(--vg-shadow-sm); }
body.vg-co-compact #customer_details :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields, .woocommerce-account-fields) { margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
body.vg-co-compact #customer_details .woocommerce-account-fields { margin-top:4px; }
body.vg-co-compact #customer_details .woocommerce-account-fields p.create-account { margin:0; }
body.vg-co-compact .vg-wc-page--checkout .woocommerce-billing-fields > h3, body.vg-co-compact .vg-co-h { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:18px; letter-spacing:-.01em; }
body.vg-co-compact .vg-co-h svg { color:var(--vg-primary); }
html body.vg-co-compact .vg-wc-page--checkout #customer_details .form-row { margin:0 0 10px; padding:0; }
body.vg-co-compact #customer_details .form-row:last-child { margin-bottom:0; }
body.vg-co-compact .vg-co-pay .vg-unavailable { margin:0 0 10px; }
/* Payment list */
html body.vg-co-compact.woocommerce-checkout #payment ul.payment_methods { gap:8px; padding:0; }
html body.vg-co-compact.woocommerce-checkout #payment ul.payment_methods li { padding:12px 12px 12px 14px; }
html body.vg-co-compact.woocommerce-checkout #payment div.payment_box { margin:8px 0 0; padding:10px 12px; }
html body.vg-co-compact.woocommerce-checkout #payment div.form-row { padding:12px 0 0; margin:0; }
html body.vg-co-compact.woocommerce-checkout #payment #place_order { min-height:54px; margin-top:0; }
body.vg-co-compact .vgpay-desc { margin:0 0 2px; font-size:13px; line-height:1.45; }
body.vg-co-compact .vgpay-pick__label { margin:8px 0 6px; font-size:11px; }
body.vg-co-compact .vgpay-pick__coins, body.vg-co-compact .vgpay-pick__nets { gap:6px; }
body.vg-co-compact .vgpay-chip { min-height:34px; padding:4px 11px 4px 6px; font-size:13.5px; }
body.vg-co-compact .vgpay-chip img { width:20px; height:20px; }
body.vg-co-compact .vgpay-pick__hint { margin-top:6px; font-size:12px; }
.vg-co-agree { margin:10px 0 0; color:var(--vg-muted); font-size:12.5px; line-height:1.5; text-align:center; }
.vg-co-agree a { color:var(--vg-text); text-decoration:underline; text-underline-offset:2px; }
body.vg-co-compact .vg-checkout-trust { display:grid; grid-template-columns:repeat(auto-fit, minmax(96px, 1fr)); gap:8px; margin:14px 0 0; font-size:11.5px; line-height:1.3; text-align:center; }
body.vg-co-compact .vg-checkout-trust li { flex-direction:column; justify-content:flex-start; gap:4px; }
body.vg-co-compact .vg-wc-page--checkout .vg-security-note { margin:12px 0 0; font-size:11.5px; line-height:1.45; }
/* Coupon: a small link under the summary */
.vg-co-coupon { margin:10px 2px 0; font-size:14px; }
.vg-co-coupon__toggle { display:inline-flex; align-items:center; gap:7px; padding:4px 0; border:0; background:none; color:var(--vg-muted); font:inherit; font-weight:650; cursor:pointer; }
.vg-co-coupon__toggle:hover, .vg-co-coupon__toggle[aria-expanded="true"] { color:var(--vg-text); }
.vg-co-coupon__row { display:flex; gap:8px; margin-top:6px; }
.vg-co-coupon__row[hidden] { display:none; }
html .woocommerce .vg-co-coupon__row .input-text { flex:1; min-width:0; min-height:42px; text-transform:uppercase; }
html .woocommerce .vg-co-coupon__row .button { flex:none; min-height:42px; padding-inline:16px; }
.vg-co-coupon.is-busy { opacity:.6; pointer-events:none; }
.vg-co-coupon__msg:empty { display:none; }
.vg-co-coupon__msg { margin-top:6px; font-size:13px; }
.vg-co-coupon__msg.is-ok { color:var(--vg-success); }
.vg-co-coupon__msg.is-err { color:var(--vg-danger, #d63638); }
/* One column (Layout → Single column) and phones / tablets */
html body.vg-co-compact.vg-checkout-one .vg-wc-page--checkout form.checkout { grid-template-columns:minmax(0, 1fr); max-width:680px; }
html body.vg-co-compact.vg-checkout-one .vg-wc-page--checkout form.checkout > :is(.vg-co-main, .vg-co-side) { grid-column:1; grid-row:auto; position:static; }
html body.vg-co-compact.vg-checkout-one .vg-wc-page--checkout form.checkout > .vg-co-side { order:-1; margin-bottom:14px; }
@media (max-width:960px) {
  html body.vg-co-compact .vg-wc-page--checkout form.checkout { grid-template-columns:minmax(0, 1fr); max-width:640px; }
  html body.vg-co-compact .vg-wc-page--checkout form.checkout > :is(.vg-co-main, .vg-co-side) { grid-column:1; grid-row:auto; position:static; }
  html body.vg-co-compact .vg-wc-page--checkout form.checkout > .vg-co-side { order:-1; margin-bottom:14px; }
  html body.vg-co-compact .vg-wc-page--checkout form.checkout > .woocommerce-NoticeGroup { order:-2; }
  body.vg-co-compact .vg-wc-page--checkout .vg-progress, body.vg-co-compact .vg-wc-page--checkout .vg-page-intro { display:none; }
  body.vg-co-compact .vg-wc-page--checkout .vg-page-head { padding-block:14px 10px; }
  body.vg-co-compact .vg-wc-page--checkout .vg-page-title { font-size:24px; }
  html body.vg-co-compact .vg-co-side #order_review_heading { display:none; }
  html body.vg-co-compact .vg-co-side #order_review { display:none; margin-top:8px; padding:6px 14px; }
  html body.vg-co-compact.vg-co-open .vg-co-side #order_review { display:block; animation:vg-sso-in .22s var(--vg-ease) both; }
  body.vg-co-compact .vg-co-bar { display:flex; align-items:center; gap:12px; width:100%; padding:10px 14px 10px 10px; border:1px solid var(--vg-border); border-radius:14px; background:var(--vg-surface); box-shadow:var(--vg-shadow-sm); color:var(--vg-text); font:inherit; text-align:start; cursor:pointer; }
  .vg-co-bar__thumbs { display:inline-flex; flex:none; }
  .vg-co-bar__thumbs img { width:36px; height:36px; object-fit:cover; border-radius:9px; background:var(--vg-surface-2); box-shadow:0 0 0 2px var(--vg-surface); }
  .vg-co-bar__thumbs img + img { margin-inline-start:-12px; }
  .vg-co-bar__txt { display:grid; flex:1; min-width:0; line-height:1.25; }
  .vg-co-bar__txt b { font-size:14.5px; }
  .vg-co-bar__txt small { display:inline-flex; align-items:center; gap:3px; color:var(--vg-primary); font-size:12.5px; font-weight:700; }
  .vg-co-bar__chev { transition:transform .2s var(--vg-ease); }
  .vg-co-bar[aria-expanded="true"] .vg-co-bar__chev { transform:rotate(180deg); }
  .vg-co-bar__total { flex:none; font-size:17px; font-weight:800; }
  html .woocommerce body.vg-co-compact .vg-wc-page--checkout table.woocommerce-checkout-review-order-table :is(th, td), html body.vg-co-compact .woocommerce .vg-wc-page--checkout table.woocommerce-checkout-review-order-table :is(th, td) { padding:9px 0; font-size:14px; }
  .vg-co-coupon { margin:8px 4px 0; }
  body.vg-co-compact .vg-checkout-login__icon { display:none; }
  body.vg-co-compact .vgpay-pick__coins, body.vg-co-compact .vgpay-pick__nets { flex-wrap:nowrap; overflow-x:auto; margin-inline:-12px; padding:2px 12px 4px; scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 28px), transparent); mask-image:linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 28px), transparent); }
  body.vg-co-compact :is(.vgpay-pick__coins, .vgpay-pick__nets)::-webkit-scrollbar { display:none; }
  body.vg-co-compact .vgpay-chip { flex:none; }
  body.vg-co-compact .vgpay-pick__hint { display:none; }
  body.vg-co-sticky-shown { padding-bottom:78px; }
}
@media (max-width:420px) { body.vg-co-compact .vg-checkout-login .vg-quick > span:not(.vg-quick__logos) { display:none; } }
.vg-co-sticky { position:fixed; inset-inline:0; bottom:0; z-index:70; display:flex; align-items:center; gap:14px; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--vg-border); background:color-mix(in srgb, var(--vg-surface) 94%, transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 -10px 28px -14px rgba(0,0,0,.25); animation:vg-co-up .22s var(--vg-ease) both; }
.vg-co-sticky[hidden] { display:none; }
.vg-co-sticky__sum { display:grid; line-height:1.15; }
.vg-co-sticky__sum small { color:var(--vg-muted); font-size:11.5px; font-weight:650; }
.vg-co-sticky__sum b { font-size:18px; font-weight:800; }
.vg-co-sticky__btn { flex:1; min-height:48px; padding:0 16px; border:0; border-radius:var(--vg-btn-radius); background:var(--vg-primary); color:var(--vg-on-primary); font:inherit; font-size:15.5px; font-weight:800; cursor:pointer; box-shadow:0 6px 18px -8px color-mix(in srgb, var(--vg-primary) 75%, transparent); }
body.vg-btn-gradient .vg-co-sticky__btn { background:linear-gradient(135deg, var(--vg-primary), color-mix(in srgb, var(--vg-primary) 62%, var(--vg-accent))); }
@keyframes vg-co-up { from { transform:translateY(100%); } to { transform:none; } }
body.vg-co-compact .vg-co-main, body.vg-co-compact .vg-co-pay, body.vg-co-compact #payment, body.vg-co-compact #payment .payment_box, body.vg-co-compact .vgpay-pick { min-width:0; max-width:100%; }
html body.vg-co-compact.woocommerce-checkout #payment ul.payment_methods { grid-template-columns:minmax(0, 1fr); }
html body.vg-co-compact.woocommerce-checkout #payment ul.payment_methods li { min-width:0; }
@media (max-width:960px) {
  body.vg-co-sticky-shown :is(.vgt-sw--float, .vg-chat) { bottom:calc(84px + env(safe-area-inset-bottom)); transition:bottom .2s; }
  body.vg-co-sticky-shown .vg-toasts { bottom:calc(84px + env(safe-area-inset-bottom)); }
}
html body.vg-co-compact .woocommerce .vg-co-side table.woocommerce-checkout-review-order-table, html body.vg-co-compact .vg-co-side table.woocommerce-checkout-review-order-table { border:0 !important; border-radius:0; margin-bottom:0; }
html body.vg-co-compact .vg-co-side table.woocommerce-checkout-review-order-table thead { display:none; }
html body.vg-co-compact .vg-co-side table.woocommerce-checkout-review-order-table :is(th, td) { border-inline:0 !important; }
