/* VanGal WooCommerce utility widgets. Scoped to VanGal classes only. */
.vg-shop-empty{padding:18px 20px;border:1px dashed #cfcfcf;border-radius:12px;background:#fafafa;color:#666;font-size:13px}

/* Featured products */
.vg-featured-products{--vg-featured-gap:24px;display:grid;gap:var(--vg-featured-gap);min-width:0}
.vg-featured-header{display:grid;gap:8px;max-width:760px}
.vg-featured-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.vg-featured-heading{margin:0;font-size:clamp(30px,4.4vw,70px);line-height:.98;letter-spacing:-.045em}
.vg-featured-intro{max-width:58ch;line-height:1.6}
.vg-featured-stage{display:grid;gap:var(--vg-featured-gap);min-width:0}
.vg-featured-stage .vg-product-card{min-width:0}
.vg-featured-hero-rail .vg-featured-stage{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start}
.vg-featured-primary .vg-product-media{--vg-media-ratio:4/5}
.vg-featured-primary .vg-product-title{font-size:clamp(20px,2.2vw,34px)}
.vg-featured-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vg-featured-gap)}
.vg-featured-mosaic .vg-featured-stage{grid-template-columns:repeat(12,minmax(0,1fr))}
.vg-featured-mosaic .vg-product-card{grid-column:span 4}
.vg-featured-mosaic .vg-product-card:first-child{grid-column:span 8;grid-row:span 2}
.vg-featured-mosaic .vg-product-card:first-child .vg-product-media{--vg-media-ratio:16/9}
.vg-featured-grid .vg-featured-stage{grid-template-columns:repeat(3,minmax(0,1fr))}
.vg-featured-minimal-row .vg-featured-stage{grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px}
.vg-featured-minimal-row .vg-product-card{scroll-snap-align:start}
@media(max-width:1024px){.vg-featured-hero-rail .vg-featured-stage{grid-template-columns:1fr}.vg-featured-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.vg-featured-grid .vg-featured-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.vg-featured-mosaic .vg-product-card,.vg-featured-mosaic .vg-product-card:first-child{grid-column:span 6;grid-row:auto}.vg-featured-mosaic .vg-product-card:first-child .vg-product-media{--vg-media-ratio:4/5}}
@media(max-width:767px){.vg-featured-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.vg-featured-grid .vg-featured-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.vg-featured-mosaic .vg-featured-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.vg-featured-mosaic .vg-product-card,.vg-featured-mosaic .vg-product-card:first-child{grid-column:auto}.vg-featured-minimal-row .vg-featured-stage{grid-auto-columns:minmax(72vw,1fr)}}

/* Category grid */
.vg-category-grid{--vgcat-cols:4;--vgcat-gap:20px;display:grid;grid-template-columns:repeat(var(--vgcat-cols),minmax(0,1fr));gap:var(--vgcat-gap);min-width:0}
.vg-category-card{--vgcat-bg:#f5f4f1;--vgcat-overlay:rgba(0,0,0,.16);--vgcat-radius:18px;--vgcat-hover-scale:1.06;position:relative;display:grid;min-width:0;background:var(--vgcat-bg);border-radius:var(--vgcat-radius);overflow:hidden;text-decoration:none!important;color:inherit!important;isolation:isolate}
.vg-category-media{position:relative;display:block;overflow:hidden;background:var(--vgcat-palette,var(--vgcat-bg));min-width:0}
.vg-category-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.75,.2,1)}
.vg-category-card:hover .vg-category-media img{transform:scale(var(--vgcat-hover-scale))}
.vg-category-letter{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(60px,11vw,180px);font-weight:800;line-height:1;color:rgba(255,255,255,.65);text-transform:uppercase}
.vg-category-overlay{position:absolute;inset:0;background:var(--vgcat-overlay);pointer-events:none}
.vg-category-copy{position:relative;display:grid;gap:6px;padding:16px 18px;min-width:0}
.vg-category-title{font-size:17px;font-weight:700;line-height:1.2}
.vg-category-count,.vg-category-description{font-size:12px;line-height:1.45}
.vg-category-arrow{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);color:#111;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}
.vg-category-card:hover .vg-category-arrow{opacity:1;transform:none}
.vg-category-template-image-overlay .vg-category-copy{position:absolute;z-index:2;inset:auto 0 0;color:#fff;padding:20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62))}
.vg-category-template-image-overlay .vg-category-title,.vg-category-template-image-overlay .vg-category-count,.vg-category-template-image-overlay .vg-category-description{color:#fff!important}
.vg-category-template-image-overlay .vg-category-overlay{background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.16))}
.vg-category-template-color-block .vg-category-card{background:var(--vgcat-palette);padding:12px}.vg-category-template-color-block .vg-category-media{border-radius:max(0px,calc(var(--vgcat-radius) - 8px))}.vg-category-template-color-block .vg-category-overlay{display:none}
.vg-category-template-circle .vg-category-card{background:transparent;overflow:visible;text-align:center}.vg-category-template-circle .vg-category-media{aspect-ratio:1/1!important;border-radius:50%}.vg-category-template-circle .vg-category-copy{justify-items:center;padding-inline:6px}.vg-category-template-circle .vg-category-arrow{display:none}
.vg-category-template-minimal .vg-category-card{grid-template-columns:84px minmax(0,1fr);align-items:center;border:1px solid #e6e6e6;background:transparent}.vg-category-template-minimal .vg-category-media{aspect-ratio:1/1!important;height:100%}.vg-category-template-minimal .vg-category-overlay{display:none}.vg-category-template-minimal .vg-category-copy{padding:14px 48px 14px 16px}.vg-category-template-minimal .vg-category-arrow{opacity:1;top:50%;transform:translateY(-50%)}
.vg-category-template-split .vg-category-card:nth-child(3n+1){grid-column:span 2}.vg-category-template-split .vg-category-card:nth-child(3n+1) .vg-category-media{aspect-ratio:16/9!important}.vg-category-template-split .vg-category-copy{padding:20px}
@media(max-width:767px){.vg-category-template-split .vg-category-card:nth-child(3n+1){grid-column:span 1}.vg-category-template-minimal .vg-category-card{grid-template-columns:64px minmax(0,1fr)}.vg-category-arrow{opacity:1}}

/* Product Gallery */
.vg-product-gallery{--vgg-gap:14px;--vgg-thumb:76px;--vgg-thumb-radius:10px;--vgg-thumb-border:#dedede;--vgg-active:#111;--vgg-bg:#f5f5f3;--vgg-fit:contain;display:grid;gap:var(--vgg-gap);min-width:0;position:relative}
.vg-gallery-stage{--vgg-radius:16px;position:relative;min-width:0;aspect-ratio:var(--vgg-ratio,4/5);background:var(--vgg-bg);border-radius:var(--vgg-radius);overflow:hidden;outline:none}
.vg-gallery-slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .28s ease;pointer-events:none}
.vg-gallery-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.vg-gallery-slide>img,.vg-gallery-slide>video{display:block;width:100%;height:100%;object-fit:var(--vgg-fit);margin:0!important;background:var(--vgg-bg)}
.vg-gallery-zoom .vg-gallery-slide.is-active>img{transition:transform .55s cubic-bezier(.2,.75,.2,1)}
@media(hover:hover) and (pointer:fine){.vg-gallery-zoom .vg-gallery-stage:hover .vg-gallery-slide.is-active>img{transform:scale(1.035)}}
.vg-gallery-thumbs{display:flex;gap:10px;min-width:0;overflow:auto;scrollbar-width:thin}
.vg-gallery-thumb{appearance:none;padding:0;width:var(--vgg-thumb);height:var(--vgg-thumb);flex:0 0 var(--vgg-thumb);border:1px solid var(--vgg-thumb-border);border-radius:var(--vgg-thumb-radius);overflow:hidden;background:var(--vgg-bg);cursor:pointer;transition:border-color .18s ease,transform .18s ease;display:grid;place-items:center}
.vg-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;margin:0!important}.vg-gallery-thumb.is-active{border-color:var(--vgg-active);box-shadow:inset 0 0 0 1px var(--vgg-active)}.vg-gallery-thumb:hover{transform:translateY(-1px)}
.vg-gallery-video-thumb{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#111;color:#fff;font-size:12px;padding-left:2px}
.vg-gallery-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:28px;line-height:1;box-shadow:0 8px 28px rgba(0,0,0,.12);transition:background .2s ease,color .2s ease,transform .2s ease}.vg-gallery-arrow:hover{transform:translateY(-50%) scale(1.04)}.vg-gallery-prev{left:14px}.vg-gallery-next{right:14px}
.vg-gallery-counter{position:absolute;z-index:4;right:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:700}
.vg-gallery-thumbs-left{grid-template-columns:var(--vgg-thumb) minmax(0,1fr);grid-template-areas:'thumbs stage'}.vg-gallery-thumbs-left .vg-gallery-stage{grid-area:stage}.vg-gallery-thumbs-left .vg-gallery-thumbs{grid-area:thumbs;flex-direction:column;max-height:100%;overflow-y:auto;overflow-x:hidden}
.vg-gallery-thumbs-right{grid-template-columns:minmax(0,1fr) var(--vgg-thumb);grid-template-areas:'stage thumbs'}.vg-gallery-thumbs-right .vg-gallery-stage{grid-area:stage}.vg-gallery-thumbs-right .vg-gallery-thumbs{grid-area:thumbs;flex-direction:column;max-height:100%;overflow-y:auto;overflow-x:hidden}
.vg-gallery-thumbs-bottom{grid-template-columns:1fr}.vg-gallery-filmstrip{grid-template-columns:1fr}.vg-gallery-filmstrip .vg-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));overflow:visible}.vg-gallery-filmstrip .vg-gallery-thumb{width:100%;height:auto;aspect-ratio:1/1;max-width:none;flex:auto}
.vg-gallery-dots .vg-gallery-thumbs{justify-content:center;overflow:visible}.vg-gallery-dots .vg-gallery-thumb{width:10px;height:10px;flex:0 0 10px;border:0;border-radius:50%;background:#c8c8c8;box-shadow:none}.vg-gallery-dots .vg-gallery-thumb>*{display:none}.vg-gallery-dots .vg-gallery-thumb.is-active{background:var(--vgg-active);box-shadow:none}
.vg-gallery-editorial .vg-gallery-thumbs{position:absolute;z-index:5;left:18px;bottom:18px;max-width:calc(100% - 36px);padding:7px;background:rgba(255,255,255,.84);backdrop-filter:blur(12px);border-radius:calc(var(--vgg-thumb-radius) + 8px)}.vg-gallery-editorial .vg-gallery-thumb{--vgg-thumb:58px}
.vg-gallery-lightbox{position:fixed;z-index:2147483100;inset:0;background:rgba(10,10,10,.92);display:grid;place-items:center;padding:24px}.vg-gallery-lightbox[hidden]{display:none!important}.vg-gallery-lightbox-content{width:min(1200px,92vw);height:min(88vh,900px);display:grid;place-items:center}.vg-gallery-lightbox-content img,.vg-gallery-lightbox-content video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.vg-gallery-lightbox-close{position:absolute;right:22px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.25);color:#fff;font-size:30px;cursor:pointer}
@media(max-width:767px){.vg-gallery-thumbs-left,.vg-gallery-thumbs-right{grid-template-columns:1fr;grid-template-areas:'stage' 'thumbs'}.vg-gallery-thumbs-left .vg-gallery-thumbs,.vg-gallery-thumbs-right .vg-gallery-thumbs{flex-direction:row;overflow-x:auto;overflow-y:hidden}.vg-gallery-editorial .vg-gallery-thumbs{position:static;max-width:none;background:transparent;padding:0;backdrop-filter:none}.vg-gallery-arrow{width:40px;height:40px}.vg-gallery-prev{left:9px}.vg-gallery-next{right:9px}}
@media(prefers-reduced-motion:reduce){.vg-category-media img,.vg-gallery-slide,.vg-gallery-thumb,.vg-gallery-arrow{transition:none!important}}

/* 2.12.0 — Responsive controls for Woo utility widgets. */
.vg-featured-products{--vg-featured-cols:3;--vg-featured-rail-cols:2;--vg-featured-min-card:260px}
.vg-featured-grid .vg-featured-stage{grid-template-columns:repeat(var(--vg-featured-cols),minmax(0,1fr))}
.vg-featured-rail{grid-template-columns:repeat(var(--vg-featured-rail-cols),minmax(0,1fr))}
.vg-featured-minimal-row .vg-featured-stage{grid-auto-columns:minmax(min(100%,var(--vg-featured-min-card)),var(--vg-featured-min-card))}
.vg-featured-header,.vg-featured-stage,.vg-featured-primary,.vg-featured-rail{min-width:0;max-width:100%}
.vg-featured-heading,.vg-featured-intro{overflow-wrap:break-word}

.vg-category-card{--vgcat-copy-padding:16px 18px;--vgcat-copy-gap:6px;--vgcat-arrow-size:30px;--vgcat-arrow-offset:16px}
.vg-category-copy{gap:var(--vgcat-copy-gap);padding:var(--vgcat-copy-padding)}
.vg-category-arrow{right:var(--vgcat-arrow-offset);top:var(--vgcat-arrow-offset);width:var(--vgcat-arrow-size);height:var(--vgcat-arrow-size)}
.vg-category-title,.vg-category-count,.vg-category-description{min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal}
.vg-category-template-image-overlay .vg-category-copy,.vg-category-template-split .vg-category-copy{padding:var(--vgcat-copy-padding)}
.vg-category-template-color-block .vg-category-card{padding:clamp(6px,1vw,12px)}
.vg-category-template-minimal .vg-category-copy{padding:var(--vgcat-copy-padding);padding-right:calc(var(--vgcat-arrow-size) + var(--vgcat-arrow-offset) + 10px)}

.vg-product-gallery{--vgg-nav-size:44px;--vgg-nav-offset:14px}
.vg-gallery-arrow{width:var(--vgg-nav-size);height:var(--vgg-nav-size)}
.vg-gallery-prev{left:var(--vgg-nav-offset)}.vg-gallery-next{right:var(--vgg-nav-offset)}

@media(max-width:767px){
  .vg-category-grid{width:100%}
  .vg-category-card{width:100%;max-width:100%}
  .vg-category-template-color-block .vg-category-card{padding:8px}
  .vg-category-template-minimal .vg-category-card{grid-template-columns:minmax(56px,28%) minmax(0,1fr)}
  .vg-category-letter{font-size:clamp(44px,22vw,100px)}
  .vg-featured-heading{max-width:100%}
}
@media(max-width:420px){
  .vg-category-template-minimal .vg-category-card{grid-template-columns:1fr}
  .vg-category-template-minimal .vg-category-media{aspect-ratio:16/9!important}
  .vg-category-template-minimal .vg-category-copy{padding-right:var(--vgcat-copy-padding)}
  .vg-category-template-minimal .vg-category-arrow{top:var(--vgcat-arrow-offset);transform:none}
}
