/* ============================================================
 * Vouchiro Public Storefront — v1.0.11 redesign
 * Refined editorial e-commerce surface.
 * Highlight: soft green halo on hovered / selected cards.
 * ============================================================ */

.vps-page{
  --vps-blue:#0067d8;
  --vps-blue-hover:#005bbd;
  --vps-blue-deep:#012266;
  --vps-navy:#012266;
  --vps-teal:#01be97;
  --vps-mint:#1ec094;
  --vps-orange:#ff7a00;
  --vps-orange-soft:#fff3e6;
  --vps-orange-ring:#ffc987;
  --vps-amber:#f59e0b;
  --vps-line:#e3ecf6;
  --vps-line-strong:#cfddee;
  --vps-soft:#f6f9fd;
  --vps-soft-blue:#f1f7ff;
  --vps-text:#0a1830;
  --vps-text-2:#3a4a64;
  --vps-muted:#65758a;
  --vps-muted-2:#8492a8;
  --vps-green:#0a9a70;
  --vps-green-soft:#e7f7f0;
  --vps-red:#b42318;
  --vps-radius-sm:8px;
  --vps-radius:12px;
  --vps-radius-lg:16px;
  --vps-shadow-card:0 1px 0 rgba(15,23,42,.02), 0 6px 18px rgba(15,23,42,.04);
  --vps-shadow-pop:0 1px 0 rgba(15,23,42,.02), 0 14px 32px rgba(15,23,42,.07);
  --vps-glow-soft:0 0 0 1px rgba(10,154,112,.34), 0 0 28px -2px rgba(10,154,112,.30), 0 0 56px -10px rgba(10,154,112,.24);
  --vps-glow-strong:0 0 0 5px rgba(10,154,112,.14), 0 0 0 1.5px rgba(10,154,112,.65), 0 12px 30px rgba(10,154,112,.26), 0 0 56px -8px rgba(10,154,112,.34);
  color:var(--vps-text);
  background:transparent!important;
  background-image:none!important;
  padding:18px 0 56px;
}

body.vps-storefront-body{
  background-color:#f3f6fb!important;
  background-image:
    radial-gradient(1100px 520px at 6% 60px, rgba(0,103,216,.045), transparent 60%),
    radial-gradient(900px 480px at 96% 160px, rgba(1,190,151,.035), transparent 65%),
    linear-gradient(180deg, #eef4fb 0%, #f3f7fc 360px, #f5f8fc 100%)!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
}
body.vps-storefront-body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(90deg,rgba(1,34,102,.018),transparent 25%,transparent 75%,rgba(1,190,151,.012));
}
/* Gaming-icon decoration is disabled in v1.0.13 — asset preserved at assets/img/storefront-bg.svg for later. */
body.vps-storefront-body #page,
body.vps-storefront-body .page-wrapper,
body.vps-storefront-body .site,
body.vps-storefront-body .site-content,
body.vps-storefront-body .main-content,
body.vps-storefront-body #main,
body.vps-storefront-body .main,
body.vps-storefront-body #content,
body.vps-storefront-body .content-area,
body.vps-storefront-body .page-content,
body.vps-storefront-body .porto-wrap-container,
body.vps-storefront-body .container,
body.vps-storefront-body .main-container{background:transparent!important;}
body.vps-storefront-body .vps-page{background:transparent!important;background-image:none!important;}

.vps-page *{box-sizing:border-box;}
.vps-page a{text-decoration:none;}
.vps-shell{width:min(100% - 32px, 1320px);margin:0 auto;}

/* Page-load stagger reveal */
.vps-hero,.vps-seller-card,.vps-categories,.vps-products{
  animation: vps-rise .55s cubic-bezier(.2,.7,.2,1) backwards;
}
.vps-seller-card{animation-delay:.05s;}
.vps-categories{animation-delay:.10s;}
.vps-products{animation-delay:.15s;}
@keyframes vps-rise{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:translateY(0);}
}

/* ============ Breadcrumbs (hidden in v1.0.12 per spec) ============ */
.vps-breadcrumbs{display:none!important;}

/* ============ Layout ============ */
.vps-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start;}
.vps-sidebar{position:sticky;top:94px;display:flex;flex-direction:column;gap:14px;}

/* ============ Seller card ============ */
.vps-seller-card{
  background:#fff;
  border:1px solid var(--vps-line);
  border-radius:var(--vps-radius-lg);
  box-shadow:var(--vps-shadow-card);
  padding:18px;
  position:relative;
  overflow:hidden;
}
.vps-seller-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:54px;
  background:linear-gradient(180deg,rgba(0,103,216,.045),rgba(1,190,151,.02) 60%,transparent);
  pointer-events:none;border-radius:var(--vps-radius-lg) var(--vps-radius-lg) 0 0;
}
.vps-seller-card__top{display:flex;align-items:center;gap:14px;margin-bottom:14px;position:relative;}
.vps-seller-card__avatar-wrap{position:relative;width:84px;height:84px;flex:0 0 84px;}
.vps-seller-card__avatar{
  width:84px;height:84px;border-radius:50%;object-fit:cover;background:#fff;display:block;
  border:3px solid #fff;
  box-shadow:0 0 0 1px var(--vps-line), 0 6px 18px rgba(1,34,102,.10);
}
.vps-seller-card__check{
  position:absolute;right:-3px;bottom:1px;width:24px;height:24px;
  display:grid;place-items:center;border-radius:50%;
  background:var(--vps-teal);color:#fff;border:3px solid #fff;
  font-size:13px;font-weight:700;
  box-shadow:0 2px 6px rgba(1,190,151,.35);
}
.vps-seller-card__identity{min-width:0;}
.vps-seller-card h2{font-size:18px;line-height:1.2;margin:0 0 3px;color:var(--vps-text);word-break:break-word;letter-spacing:-.012em;font-weight:700;}
.vps-handle{font-size:12.5px;color:var(--vps-muted);font-weight:600;}

.vps-seller-level-wrap{margin:6px 0 10px;max-width:100%;}
.vps-seller-level-wrap .vouchiro-level-badge{width:100%;max-width:100%;min-height:36px;border-radius:10px!important;box-shadow:none!important;}
.vps-seller-level-wrap .vouchiro-level-badge__content{min-width:0;}
.vps-seller-level-wrap .vouchiro-level-badge__text{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vps-seller-level-wrap .vouchiro-level-badge__emblem{width:32px;height:32px;border-radius:8px!important;}
.vps-seller-level-wrap .vouchiro-level-badge__crest{width:24px;height:24px;}
.vps-seller-level-wrap .vouchiro-level-badge__eyebrow{font-size:8.5px;}
.vps-seller-level-wrap .vouchiro-level-badge__text{font-size:11.5px;}

/* Badges shared with hero */
.vps-badge-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px;}
.vps-badge{
  display:inline-flex;align-items:center;gap:5px;min-height:24px;
  padding:4px 10px;border-radius:999px;
  border:1px solid #d7e7fb;background:#f2f8ff;color:var(--vps-blue);
  font-size:11px;font-weight:700;line-height:1;letter-spacing:.005em;
  transition:transform .12s ease, box-shadow .15s ease;
}
.vps-badge:hover{transform:translateY(-1px);}
.vps-badge--direct{border-color:#c1efe1;background:#ebfaf4;color:var(--vps-green);}
.vps-badge--id{border-color:#cfe4ff;background:#eef6ff;color:var(--vps-blue-hover);}
.vps-badge--business{border-color:#d8d4ff;background:#f4f2ff;color:#5142bc;}

/* Stats: 2-column grid for the 4 quantitative stats */
.vps-seller-stats{
  margin:0;padding:14px 0 0;
  border-top:1px solid var(--vps-line);
  display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;
}
.vps-seller-stats > div{
  display:flex;flex-direction:column;gap:2px;
  padding:8px 0;
  border:none;
}
.vps-seller-stats dt{font-size:10.5px;color:var(--vps-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.3;}
.vps-seller-stats dd{margin:0;font-size:14px;color:var(--vps-text);font-weight:700;line-height:1.2;}
.vps-seller-stats small{font-size:10.5px;color:var(--vps-muted-2);font-weight:600;}
.vps-stars{color:#f2ae00;margin-right:1px;}
/* Feedback rows: full-width, horizontal — label left, value right. No more 2-line wrap. */
.vps-seller-stats > .vps-feedback-positive,
.vps-seller-stats > .vps-feedback-negative{
  grid-column:1 / -1;
  flex-direction:row;align-items:baseline;justify-content:space-between;
  gap:10px;padding:6px 0;
}
.vps-seller-stats > .vps-feedback-positive{
  margin-top:6px;padding-top:10px;border-top:1px solid var(--vps-line);
}
.vps-seller-stats > .vps-feedback-positive dt,
.vps-seller-stats > .vps-feedback-negative dt{
  font-size:11.5px;text-transform:none;letter-spacing:0;font-weight:700;
  display:flex;align-items:center;gap:6px;
}
.vps-seller-stats > .vps-feedback-positive dt::before{
  content:"✓";display:inline-grid;place-items:center;
  width:18px;height:18px;border-radius:50%;
  background:var(--vps-green-soft);color:var(--vps-green);
  font-size:11px;font-weight:800;line-height:1;
}
.vps-seller-stats > .vps-feedback-negative dt::before{
  content:"×";display:inline-grid;place-items:center;
  width:18px;height:18px;border-radius:50%;
  background:#fff1f2;color:var(--vps-red);
  font-size:14px;font-weight:800;line-height:1;
}
.vps-seller-stats > .vps-feedback-positive dd{color:var(--vps-green)!important;font-size:14.5px;}
.vps-seller-stats > .vps-feedback-negative dd{color:var(--vps-red)!important;font-size:14.5px;}

.vps-contact{
  height:44px;margin-top:14px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--vps-blue);color:#fff!important;
  border-radius:10px;border:1px solid var(--vps-blue);
  font-weight:700;font-size:13.5px;letter-spacing:.005em;
  transition:background .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease;
  box-shadow:0 1px 0 rgba(15,23,42,.03), 0 6px 14px -4px rgba(0,103,216,.35);
}
.vps-contact:hover{
  background:var(--vps-navy);border-color:var(--vps-navy);transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(15,23,42,.03), 0 10px 20px -6px rgba(1,34,102,.45);
}

/* ============ Hero (showcase mode) ============ */
.vps-hero{
  background:#fff;
  border:1px solid var(--vps-line);
  border-radius:var(--vps-radius-lg);
  box-shadow:var(--vps-shadow-card);
  display:grid;grid-template-columns:42% 1fr;min-height:280px;
  overflow:hidden;margin-bottom:20px;position:relative;
}
.vps-hero__image{
  background-image:linear-gradient(135deg,rgba(1,34,102,.20),rgba(0,103,216,.04) 55%,transparent 75%),var(--vps-banner);
  background-size:cover;background-position:center;min-height:260px;position:relative;
}
.vps-hero__image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 75%,#fff 100%);
  pointer-events:none;
}
.vps-hero__content{padding:32px 36px;display:flex;flex-direction:column;justify-content:center;position:relative;}
.vps-hero__badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;}
.vps-hero__eyebrow{color:var(--vps-blue);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.10em;margin-bottom:8px;}
.vps-hero h1{font-size:34px;line-height:1.06;margin:0 0 10px;color:var(--vps-text);letter-spacing:-.025em;font-weight:700;}
.vps-hero p{font-size:14.5px;line-height:1.6;color:var(--vps-text-2);margin:0;max-width:620px;}
.vps-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}

.vps-btn{
  height:44px;padding:0 18px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13.5px;letter-spacing:.005em;
  transition:background .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease, color .15s ease;
}
.vps-btn--primary{
  background:var(--vps-blue);color:#fff!important;border:1px solid var(--vps-blue);
  box-shadow:0 1px 0 rgba(15,23,42,.03), 0 6px 14px -4px rgba(0,103,216,.35);
}
.vps-btn--primary:hover{
  background:var(--vps-navy);border-color:var(--vps-navy);transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(15,23,42,.03), 0 10px 20px -6px rgba(1,34,102,.45);
}
.vps-btn--soft{
  background:#fff;color:var(--vps-blue)!important;border:1px solid #cfe0f5;
}
.vps-btn--soft:hover{background:#f3f8ff;border-color:#a8c8eb;color:var(--vps-blue-hover)!important;}

/* ============ Main column ============ */
.vps-main{min-width:0;display:flex;flex-direction:column;gap:22px;}
.vps-categories,.vps-products{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;}
.vps-section-head,.vps-products-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px;}
.vps-section-head h2,.vps-products-head h2{margin:0;color:var(--vps-text);letter-spacing:-.018em;font-weight:700;}
.vps-section-head h2{font-size:21px;}
.vps-products-head h2{font-size:22px;}
.vps-clear-filter{
  font-size:12px;font-weight:700;color:var(--vps-blue);
  background:#eef6ff;border:1px solid #d5e7fb;border-radius:8px;
  padding:6px 12px;white-space:nowrap;
  transition:background .15s ease, border-color .15s ease;
}
.vps-clear-filter:hover{background:#e0eeff;border-color:#bdd8f6;}

/* ============ Category cards (the user's selection-glow ask) ============ */
.vps-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.vps-category-card{
  position:relative;min-height:120px;
  border:1px solid var(--vps-line);
  background:#0b1d3d;color:var(--vps-text);
  border-radius:var(--vps-radius);
  overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:var(--vps-shadow-card);
  transition:transform .18s ease, box-shadow .22s ease, border-color .18s ease;
  isolation:isolate;
}
.vps-category-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  background:#f7faff;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
  z-index:0;
}
.vps-category-card::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(1,34,102,0) 35%,rgba(1,34,102,.78) 100%);
}
.vps-category-card__fallback{
  position:absolute;inset:0;z-index:0;
  display:grid;place-items:center;width:100%;height:100%;
  background:linear-gradient(135deg,var(--vps-navy),#1c498a 60%,#2a6db5);
  color:rgba(255,255,255,.28);font-size:36px;font-weight:800;letter-spacing:-.02em;
}
.vps-category-card strong,.vps-category-card small{position:relative;z-index:2;padding:0 12px;}
.vps-category-card strong{font-size:13.5px;line-height:1.25;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.30);font-weight:700;}
.vps-category-card small{font-size:11.5px;color:rgba(255,255,255,.86);margin:3px 0 12px;opacity:1;font-weight:600;}

/* Animated green LIGHT BAR on the left edge — appears subtly on hover, prominently when selected */
.vps-category-card::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;
  background:var(--vps-green);border-radius:0 4px 4px 0;
  opacity:0;transform:scaleY(.35);transform-origin:center;
  transition:opacity .28s ease, transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease;
  pointer-events:none;z-index:3;
}
.vps-category-card:hover::before{opacity:.65;transform:scaleY(1);}

/* Hover: subtle lift + soft green halo (the user's "very thin light" ask) */
.vps-category-card:hover{
  transform:translateY(-3px);
  border-color:rgba(10,154,112,.34);
  box-shadow:
    0 1px 0 rgba(15,23,42,.02),
    0 10px 24px rgba(15,23,42,.07),
    var(--vps-glow-soft);
}
.vps-category-card:hover img{transform:scale(1.06);}

/* Selected: prominent but elegant green halo + glowing left bar + check badge */
.vps-category-card.is-active{
  transform:translateY(-3px);
  border-color:var(--vps-green);
  box-shadow:var(--vps-glow-strong);
}
.vps-category-card.is-active::before{
  opacity:1;transform:scaleY(1);
  box-shadow:0 0 16px rgba(10,154,112,.7), 0 0 32px rgba(10,154,112,.35);
}
/* Active state: keep gradient overlay AND add the check badge via composite background */
.vps-category-card.is-active::after{
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'><circle cx='14' cy='14' r='12.5' fill='%230a9a70' stroke='white' stroke-width='3'/><polyline points='8.5 14 12 17.5 19.5 10' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>"),
    linear-gradient(180deg,rgba(1,34,102,0) 35%,rgba(1,34,102,.78) 100%);
  background-repeat:no-repeat,no-repeat;
  background-position:top 10px right 10px, center;
  background-size:28px 28px, auto;
}

/* ============ Filter bar ============ */
.vps-filterbar{
  display:grid;grid-template-columns:minmax(240px,1fr) 200px 175px auto;gap:10px;margin:0 0 14px;
}
.vps-search-field{display:grid;grid-template-columns:1fr 48px;}
.vps-filterbar input,.vps-filterbar select{
  height:44px;border:1px solid var(--vps-line-strong)!important;
  background:#fff!important;border-radius:10px!important;
  color:var(--vps-text)!important;font-size:13.5px!important;padding:0 14px!important;
  outline:none!important;box-shadow:none!important;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.vps-filterbar input:hover,.vps-filterbar select:hover{border-color:var(--vps-blue)!important;}
.vps-filterbar input:focus,.vps-filterbar select:focus{
  border-color:var(--vps-blue)!important;
  box-shadow:0 0 0 3px rgba(0,103,216,.12)!important;
}
.vps-search-field input{border-radius:10px 0 0 10px!important;border-right:0!important;}
.vps-search-field button,.vps-filter-submit{
  height:44px!important;border:1px solid var(--vps-blue)!important;
  background:var(--vps-blue)!important;color:#fff!important;
  font-weight:700!important;cursor:pointer!important;
  box-shadow:none!important;line-height:1!important;
  transition:background .15s ease, border-color .15s ease;
}
.vps-search-field button{border-radius:0 10px 10px 0!important;font-size:16px;}
.vps-filter-submit{border-radius:10px!important;padding:0 16px!important;font-size:13.5px;}
.vps-search-field button:hover,.vps-filter-submit:hover{
  background:var(--vps-navy)!important;border-color:var(--vps-navy)!important;color:#fff!important;
}

/* ============ Product list (with hover glow) ============ */
.vps-product-list{display:flex;flex-direction:column;gap:12px;}
.vps-product-card{
  position:relative;display:grid;
  grid-template-columns:104px minmax(0,1fr) 200px;gap:18px;
  align-items:stretch;
  background:#fff;
  border:1px solid var(--vps-line);
  border-radius:var(--vps-radius);
  padding:14px;
  min-width:0;
  box-shadow:var(--vps-shadow-card);
  transition:transform .18s ease, box-shadow .22s ease, border-color .18s ease;
  overflow:hidden;
}
/* Animated green left-bar (appears on hover) */
.vps-product-card::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;
  background:var(--vps-green);border-radius:0 4px 4px 0;
  opacity:0;transform:scaleY(.35);transform-origin:center;
  transition:opacity .25s ease, transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease;
  pointer-events:none;z-index:2;
}
/* Hover: lift + soft green halo + glowing left bar */
.vps-product-card:hover{
  transform:translateY(-2px);
  border-color:rgba(10,154,112,.36);
  box-shadow:
    0 1px 0 rgba(15,23,42,.02),
    0 8px 22px rgba(15,23,42,.06),
    var(--vps-glow-soft);
}
.vps-product-card:hover::before{
  opacity:1;transform:scaleY(1);
  box-shadow:0 0 12px rgba(10,154,112,.55), 0 0 24px rgba(10,154,112,.30);
}
.vps-product-card__image{
  width:104px;height:104px;border-radius:10px;overflow:hidden;
  background:#fff;border:1px solid var(--vps-line);
  display:grid;place-items:center;align-self:center;
}
.vps-product-card__image img{width:100%;height:100%;object-fit:cover;display:block;}
.vps-product-image-fallback{
  display:grid;place-items:center;width:100%;height:100%;
  background:linear-gradient(135deg,#f2f7ff,#fff);
  color:var(--vps-blue);font-size:36px;font-weight:800;letter-spacing:-.04em;
}
.vps-product-card__body{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:2px 0;}
.vps-product-card__topline{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:0 0 8px;min-width:0;}
.vps-product-card__category{
  color:var(--vps-muted);font-size:10.5px;text-transform:uppercase;
  letter-spacing:.08em;font-weight:700;line-height:1.1;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.vps-product-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}

/* ============ Tags (refined, less heavy) ============ */
.vps-tag{
  display:inline-flex;align-items:center;gap:4px;min-height:23px;
  border-radius:6px;font-size:10.5px;font-weight:700;line-height:1;
  padding:4px 8px;white-space:nowrap;border:1px solid transparent;letter-spacing:.005em;
}
.vps-tag--discount{background:#fff8d6;color:#7a5c00;border-color:#f0d96b;}
.vps-tag--stock{background:#e7f7f0;color:var(--vps-green);border-color:#b6e7d3;}
.vps-tag--stock-out{background:#fff1f2;color:var(--vps-red);border-color:#fecdd3;}
.vps-tag--delivery{background:#eef6ff;color:var(--vps-blue-hover);border-color:#cfe3fb;}
.vps-tag--delivery-manual{background:#fff6ea;color:#9c5700;border-color:#ffd9a9;}

.vps-product-card h3{font-size:15.5px;line-height:1.28;margin:0 0 9px;letter-spacing:-.012em;font-weight:700;}
.vps-product-card h3 a{color:var(--vps-text);transition:color .15s ease;}
.vps-product-card h3 a:hover{color:var(--vps-blue);}

.vps-product-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;color:var(--vps-muted);font-weight:600;}
.vps-product-card__meta strong{color:var(--vps-text);font-weight:700;}

.vps-product-fact{
  display:inline-flex;align-items:center;gap:6px;min-height:26px;
  padding:4px 9px;border:1px solid var(--vps-line);background:var(--vps-soft);
  border-radius:7px;color:var(--vps-muted);font-size:11px;font-weight:600;line-height:1;
}
.vps-product-fact em{font-style:normal;color:var(--vps-muted-2);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;}
.vps-product-fact strong{color:var(--vps-text);font-size:11.5px;font-weight:700;}
.vps-product-fact--region{background:#f1f7ff;border-color:#d8e7f8;}
.vps-product-fact--sold{background:#fffaf0;border-color:#fce7be;}

/* Side: price + buy */
.vps-product-card__side{
  align-self:stretch;display:flex;flex-direction:column;
  align-items:flex-end;justify-content:space-between;gap:12px;
  border-left:1px solid #eef3f8;padding-left:16px;min-width:0;
}
.vps-product-card__price-line{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;width:100%;}
.vps-tag--discount-price{min-height:24px;padding:4px 8px;}
.vps-price{font-size:22px;font-weight:800;color:var(--vps-text);text-align:right;white-space:nowrap;line-height:1.12;letter-spacing:-.018em;}
.vps-price del{display:inline-block;color:var(--vps-muted-2);font-size:13px;margin-right:6px;text-decoration-thickness:1px;font-weight:600;}
.vps-price ins{text-decoration:none;}

.vps-buy{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:124px;height:38px;border-radius:9px;
  background:var(--vps-teal);color:#fff!important;
  border:1px solid var(--vps-teal);
  font-size:12.5px;font-weight:700;padding:0 16px;white-space:nowrap;letter-spacing:.005em;
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease;
  box-shadow:0 1px 0 rgba(15,23,42,.04), 0 6px 14px -4px rgba(1,190,151,.50);
}
.vps-buy:hover{
  background:#018d72;border-color:#018d72;color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(15,23,42,.04), 0 10px 22px -6px rgba(1,190,151,.65);
}

/* ============ Empty state ============ */
.vps-empty{
  border:1px dashed var(--vps-line-strong);
  background:#fff;
  border-radius:var(--vps-radius);
  padding:36px 24px;text-align:center;color:var(--vps-muted);
}
.vps-empty strong{display:block;color:var(--vps-text);margin-bottom:6px;font-size:15px;font-weight:700;}
.vps-empty p{margin:0;font-size:13px;line-height:1.5;}

/* ============ Pagination ============ */
.vps-pagination{display:flex;justify-content:center;gap:6px;margin-top:20px;}
.vps-pagination a,.vps-pagination span{
  min-width:38px;height:38px;
  border:1px solid var(--vps-line);border-radius:9px;
  display:grid;place-items:center;
  color:var(--vps-muted);background:#fff;
  font-weight:700;font-size:13px;
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
}
.vps-pagination a:hover{background:var(--vps-soft-blue);border-color:#bdd8f6;color:var(--vps-blue);transform:translateY(-1px);}
.vps-pagination a.is-active,.vps-pagination span.is-active,.vps-pagination .current{
  background:var(--vps-blue);color:#fff;border-color:var(--vps-blue);
  box-shadow:0 4px 10px -2px rgba(0,103,216,.45);
}

/* ============ Responsive ============ */
@media (max-width:1180px){
  .vps-layout{grid-template-columns:260px minmax(0,1fr);}
  .vps-filterbar{grid-template-columns:minmax(220px,1fr) 170px 160px;}
  .vps-filter-submit{grid-column:1/-1;}
  .vps-hero{grid-template-columns:38% 1fr;}
  .vps-hero__content{padding:28px;}
  .vps-hero h1{font-size:30px;}
  .vps-product-card{grid-template-columns:96px minmax(0,1fr) 180px;}
  .vps-product-card__image{width:96px;height:96px;}
  .vps-price{font-size:20px;}
}
@media (max-width:980px){
  .vps-layout{grid-template-columns:1fr;}
  .vps-sidebar{position:static;}
  .vps-seller-card__top{align-items:flex-start;}
  .vps-seller-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vps-filterbar{grid-template-columns:1fr 180px 160px;}
  .vps-filter-submit{grid-column:1/-1;}
  .vps-product-card{grid-template-columns:96px minmax(0,1fr) 170px;}
  .vps-product-card__image{width:96px;height:96px;}
}
@media (max-width:820px){
  .vps-page{padding:14px 0 36px;}
  .vps-shell{width:min(100% - 22px,720px);}
  .vps-hero{grid-template-columns:1fr;}
  .vps-hero__image{min-height:180px;}
  .vps-hero__image::after{background:linear-gradient(180deg,transparent 60%,#fff 100%);}
  .vps-hero__content{padding:22px;}
  .vps-hero h1{font-size:26px;}
  .vps-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  /* Compact filter bar: search row 1, then [category | sort | apply] row 2 */
  .vps-filterbar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:8px;
  }
  .vps-search-field{grid-column:1 / -1;}
  .vps-filter-submit{grid-column:auto;}
  .vps-filterbar select{font-size:12.5px!important;padding:0 10px!important;}
  .vps-filter-submit{padding:0 14px!important;font-size:12.5px!important;}
  /* Compacted mobile product card */
  .vps-product-card{
    grid-template-columns:78px minmax(0,1fr);
    padding:10px;gap:11px;border-radius:11px;
  }
  .vps-product-card::before{top:10px;bottom:10px;width:3.5px;}
  .vps-product-card__image{width:78px;height:78px;border-radius:9px;}
  .vps-product-card h3{font-size:13.5px;line-height:1.25;margin:0 0 5px;}
  .vps-product-card__topline{margin-bottom:5px;}
  .vps-product-card__category{font-size:9.5px;letter-spacing:.07em;}
  /* Restore fact chips on mobile — smaller sizing so all 3 fit comfortably */
  .vps-product-card__meta{gap:5px;margin-top:6px;}
  .vps-product-fact{font-size:10px;padding:3px 7px;min-height:21px;border-radius:6px;}
  .vps-product-fact em{font-size:8.5px;letter-spacing:.07em;}
  .vps-product-fact strong{font-size:10.5px;}
  .vps-product-card__side{
    grid-column:1/-1;
    flex-direction:column;align-items:stretch;
    border-left:0;border-top:1px solid #eef3f8;
    padding:10px 0 0;gap:9px;
  }
  .vps-product-card__price-line{justify-content:flex-start;width:100%;}
  .vps-price{text-align:left;font-size:18px;}
  .vps-buy{width:100%;min-width:0;justify-content:center;height:40px;}
  .vps-products-head{align-items:flex-start;flex-direction:column;}
  .vps-clear-filter{align-self:flex-start;}
  .vps-product-card__topline{align-items:flex-start;flex-direction:column;gap:5px;}
  .vps-product-tags{justify-content:flex-start;gap:5px;}
  .vps-tag{font-size:10px;padding:3px 7px;min-height:20px;}
  .vps-price del{display:inline-block;margin-right:5px;}
}
@media (max-width:560px){
  .vps-seller-card{padding:14px;}
  .vps-seller-stats{grid-template-columns:1fr 1fr;gap:0 14px;}
  .vps-hero h1{font-size:22px;}
  .vps-hero p{font-size:13px;}
  .vps-hero__actions{flex-direction:column;}
  .vps-btn{width:100%;}
  .vps-category-card{min-height:96px;}
  /* Even tighter cards on phones */
  .vps-product-card{
    grid-template-columns:68px minmax(0,1fr);
    padding:9px;gap:10px;
  }
  .vps-product-card__image{width:68px;height:68px;border-radius:8px;}
  .vps-product-card h3{font-size:13px;}
  .vps-tag{font-size:9.5px;padding:3px 6px;}
  .vps-price{font-size:17px;}
  .vps-buy{height:38px;font-size:12px;}
  .vps-category-card strong{font-size:12px;}
  .vps-category-card small{font-size:11px;}
}
@media (max-width:460px){
  /* Even-tighter filter bar at narrow phones — keep 2 rows, just smaller text */
  .vps-filterbar{gap:6px;}
  .vps-filterbar select{font-size:11.5px!important;padding:0 8px!important;}
  .vps-filter-submit{padding:0 10px!important;font-size:12px!important;}
}

@media (prefers-reduced-motion: reduce){
  .vps-hero,.vps-seller-card,.vps-categories,.vps-products,
  .vps-category-card,.vps-product-card,.vps-buy,.vps-btn,.vps-contact{animation:none;transition:none;}
  .vps-category-card:hover img{transform:none;}
  .vps-category-card::before,.vps-product-card::before{transition:none;transform:scaleY(1);}
}
