/* =========================================================
   Optima Shop Grid
   v2.4.0 — simplified product-type filters
========================================================= */

.osg-shop-main,
.osg-wrap,
.osg-wrap *{
  box-sizing:border-box;
}

.osg-shop-main{
  background:
    radial-gradient(circle at 6% -8%, rgba(44,144,206,.14) 0, transparent 34%),
    radial-gradient(circle at 100% 6%, rgba(180,82,159,.13) 0, transparent 30%),
    linear-gradient(180deg,#fbfdff 0%,#f5f8fc 45%,#ffffff 100%);
  overflow:hidden;
}

.osg-wrap{
  --osg-blue:#2C90CE;
  --osg-blue-2:#44a9dc;
  --osg-purple:#B4529F;
  --osg-purple-2:#8f67d8;
  --osg-ink:#101d2b;
  --osg-navy:#132b43;
  --osg-text:#34485e;
  --osg-muted:#728397;
  --osg-line:rgba(16,29,43,.105);
  --osg-line-strong:rgba(16,29,43,.18);
  --osg-soft:#f5f8fc;
  --osg-soft-2:#edf5fb;
  --osg-white:#ffffff;
  --osg-success:#178f72;
  --osg-danger:#b84a60;
  --osg-warning:#d98416;
  --osg-grad:linear-gradient(135deg,#2C90CE 0%,#6d7bd8 47%,#B4529F 100%);
  --osg-grad-soft:linear-gradient(135deg,rgba(44,144,206,.14) 0%,rgba(109,123,216,.12) 47%,rgba(180,82,159,.14) 100%);
  --osg-grad-dark:linear-gradient(135deg,#101d2b 0%,#173b5e 52%,#2C90CE 100%);
  --osg-shadow:0 22px 65px rgba(16,29,43,.12);
  --osg-shadow-soft:0 14px 38px rgba(16,29,43,.075);
  --osg-card-shadow:0 12px 32px rgba(16,29,43,.07);
  --osg-columns:4;

  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:34px 18px 62px;
  color:var(--osg-ink);
  font-family:Inter,Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

.osg-wrap a{
  color:inherit;
}

.osg-wrap a:hover,
.osg-wrap a:focus{
  color:inherit;
}

.osg-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:currentColor;
}

.osg-icon svg{
  display:block;
  width:1em;
  height:1em;
  fill:currentColor;
}

/* Hero */
.osg-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:26px;
  align-items:stretch;
  margin:0 0 22px;
  padding:36px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:34px;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(115deg,rgba(16,29,43,.96),rgba(19,55,86,.98) 48%,rgba(44,144,206,.88)),
    var(--osg-grad-dark);
  box-shadow:var(--osg-shadow);
}

.osg-hero:before{
  content:"";
  position:absolute;
  inset:-70px auto auto 44%;
  width:360px;
  height:360px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(82,226,255,.22),transparent 62%);
  filter:blur(2px);
  z-index:-1;
}

.osg-hero:after{
  content:"";
  position:absolute;
  inset:auto -140px -190px auto;
  width:430px;
  height:430px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(180,82,159,.32),rgba(44,144,206,.18) 48%,transparent 68%);
  z-index:-1;
}

.osg-heroCopy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}

.osg-kicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:9px;
  margin:0 0 14px;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.osg-kicker:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#52e2ff;
  box-shadow:0 0 0 6px rgba(82,226,255,.13),0 0 18px rgba(82,226,255,.78);
}

.osg-title{
  margin:0;
  max-width:760px;
  color:#fff !important;
  font-family:inherit !important;
  font-size:clamp(42px,5vw,72px);
  line-height:.96;
  font-weight:950;
  letter-spacing:-.058em;
  text-align:left !important;
}

.osg-subtitle{
  max-width:740px;
  margin:18px 0 0;
  color:rgba(255,255,255,.84);
  font-size:18px;
  line-height:1.65;
  font-weight:520;
}

.osg-heroActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:26px 0 0;
}

.osg-heroBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:999px;
  font-size:14px;
  line-height:1;
  font-weight:950;
  text-decoration:none !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.osg-heroBtn:hover,
.osg-heroBtn:focus{
  transform:translateY(-2px);
  text-decoration:none !important;
  outline:none;
}

.osg-heroBtn--primary{
  background:#fff;
  color:var(--osg-ink) !important;
  box-shadow:0 16px 30px rgba(0,0,0,.18);
}

.osg-heroBtn--ghost{
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.10);
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.osg-heroPanel{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-self:stretch;
  position:relative;
  z-index:2;
}

.osg-stat{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:104px;
  padding:18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.075));
  backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

.osg-stat .osg-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  color:#fff;
  font-size:23px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.osg-stat div{
  min-width:0;
}

.osg-stat strong{
  display:block;
  color:#fff;
  font-size:clamp(23px,2.3vw,31px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.045em;
}

.osg-stat span{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.35;
  font-weight:850;
}

/* Notices */
.osg-notices{
  margin:0 0 16px;
}

.osg-notices:empty{
  display:none;
}

.osg-notices .woocommerce-message,
.osg-notices .woocommerce-error,
.osg-notices .woocommerce-info{
  border-radius:18px;
  border:1px solid var(--osg-line);
  box-shadow:var(--osg-shadow-soft);
}

/* Category chips */
.osg-categories{
  position:relative;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:0 0 16px;
  padding:16px;
  border:1px solid var(--osg-line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--osg-shadow-soft);
}

.osg-categories:before{
  content:"Categories";
  display:inline-flex;
  align-items:center;
  min-height:38px;
  margin-right:2px;
  color:var(--osg-muted);
  font-size:11px;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.osg-categoryChip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(16,29,43,.10);
  background:#fff;
  color:var(--osg-text) !important;
  font-size:13px;
  line-height:1;
  font-weight:900;
  text-decoration:none !important;
  box-shadow:0 5px 12px rgba(16,29,43,.035);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.osg-categoryChip:hover,
.osg-categoryChip:focus,
.osg-categoryChip.is-active{
  transform:translateY(-1px);
  background:var(--osg-grad);
  border-color:transparent;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(44,144,206,.20);
  text-decoration:none !important;
  outline:none;
}

/* Toolbar */
.osg-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,.85fr) minmax(260px,.95fr);
  gap:14px;
  align-items:stretch;
  margin:0 0 20px;
  padding:16px;
  border:1px solid var(--osg-line);
  border-radius:26px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--osg-shadow-soft);
}

.osg-toolbarSummary{
  display:flex;
  gap:13px;
  align-items:center;
  min-width:0;
  padding:16px;
  border:1px solid rgba(16,29,43,.08);
  border-radius:22px;
  background:
    radial-gradient(circle at 0 0,rgba(44,144,206,.14),transparent 36%),
    linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}

.osg-toolbarIcon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  flex:0 0 auto;
  border-radius:18px;
  background:var(--osg-grad);
  color:#fff;
  font-size:24px;
  box-shadow:0 14px 28px rgba(44,144,206,.20);
}

.osg-toolbarText{
  display:grid;
  gap:3px;
  min-width:0;
}

.osg-toolbarText span{
  color:var(--osg-muted);
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.osg-toolbarText strong{
  color:var(--osg-ink);
  font-size:18px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-.025em;
}

.osg-toolbarText em{
  color:var(--osg-muted);
  font-style:normal;
  font-size:13.5px;
  line-height:1.35;
  font-weight:750;
}

.osg-sortPanel{
  grid-column:1 / -1;
  display:grid;
  gap:12px;
  min-width:0;
  padding:16px;
  border:1px solid rgba(16,29,43,.08);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(180,82,159,.12),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.osg-sortPanelHead{
  display:flex;
  align-items:center;
  gap:12px;
}

.osg-sortPanelHead .osg-icon{
  width:42px;
  height:42px;
  border-radius:15px;
  background:rgba(44,144,206,.11);
  color:var(--osg-blue);
  font-size:21px;
}

.osg-sortPanelHead div{
  display:grid;
  gap:3px;
  min-width:0;
}

.osg-sortPanelHead span{
  color:var(--osg-muted);
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.osg-sortPanelHead strong{
  color:var(--osg-ink);
  font-size:16px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-.015em;
}

.osg-sort{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.osg-sortBtn,
.osg-clearFilter,
.osg-loadBtn{
  appearance:none;
  font:inherit;
}

.osg-sortBtn{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:60px;
  padding:10px 12px;
  border:1px solid rgba(16,29,43,.10);
  border-radius:18px;
  background:#fff;
  color:var(--osg-text);
  cursor:pointer;
  text-align:left;
  box-shadow:0 8px 18px rgba(16,29,43,.045);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.osg-sortBtn:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--osg-grad);
  opacity:0;
  transition:opacity .18s ease;
}

.osg-sortBtn > .osg-icon{
  width:36px;
  height:36px;
  border-radius:13px;
  background:var(--osg-grad-soft);
  color:var(--osg-blue);
  font-size:18px;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}

.osg-sortText{
  display:grid;
  gap:3px;
  min-width:0;
}

.osg-sortText strong{
  color:var(--osg-ink);
  font-size:13.5px;
  line-height:1.05;
  font-weight:950;
  white-space:nowrap;
}

.osg-sortText em{
  color:var(--osg-muted);
  font-size:11.5px;
  line-height:1.05;
  font-style:normal;
  font-weight:750;
  white-space:nowrap;
}

.osg-sortBtn:hover,
.osg-sortBtn:focus{
  outline:none;
  transform:translateY(-2px);
  background:#fbfdff;
  border-color:rgba(44,144,206,.24);
  box-shadow:0 14px 28px rgba(16,29,43,.075);
}

.osg-sortBtn:hover > .osg-icon,
.osg-sortBtn:focus > .osg-icon{
  transform:scale(1.04);
}

.osg-sortBtn.is-active{
  background:linear-gradient(135deg,#ffffff 0%,#f5faff 100%);
  border-color:rgba(44,144,206,.30);
  box-shadow:0 16px 34px rgba(44,144,206,.16);
}

.osg-sortBtn.is-active:before{
  opacity:1;
}

.osg-sortBtn.is-active > .osg-icon{
  background:var(--osg-grad);
  color:#fff;
  box-shadow:0 12px 22px rgba(44,144,206,.22);
}

.osg-sortBtn.is-active .osg-sortText strong{
  color:var(--osg-ink);
}

/* Price filter */
.osg-priceFilter{
  display:grid;
  gap:11px;
  min-width:0;
  padding:16px;
  border:1px solid rgba(16,29,43,.08);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(44,144,206,.14),transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#eff8ff 100%);
  --osg-range-left:0%;
  --osg-range-right:100%;
  --osg-range-left-frac:0;
  --osg-range-right-frac:1;
}

.osg-priceFilterHead{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.osg-priceFilterHead > .osg-icon{
  width:42px;
  height:42px;
  border-radius:15px;
  background:rgba(180,82,159,.11);
  color:var(--osg-purple);
  font-size:20px;
}

.osg-priceLabel{
  display:grid;
  gap:5px;
  min-width:0;
  margin:0;
}

.osg-priceLabel span{
  color:var(--osg-muted);
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.osg-priceLabel strong{
  color:var(--osg-ink);
  font-size:14px;
  line-height:1.2;
  font-weight:950;
  white-space:nowrap;
}

.osg-rangeWrap{
  position:relative;
  height:34px;
  overflow:visible;
}

.osg-rangeTrack{
  position:absolute;
  left:10px;
  right:10px;
  top:50%;
  height:8px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(
    to right,
    rgba(16,29,43,.13) 0%,
    rgba(16,29,43,.13) var(--osg-range-left),
    var(--osg-blue) var(--osg-range-left),
    var(--osg-purple) var(--osg-range-right),
    rgba(16,29,43,.13) var(--osg-range-right),
    rgba(16,29,43,.13) 100%
  );
  cursor:pointer;
  box-shadow:inset 0 1px 2px rgba(16,29,43,.08);
}

.osg-rangeInput{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
}

.osg-rangeHandle{
  position:absolute;
  top:50%;
  width:20px;
  height:20px;
  border-radius:999px;
  background:var(--osg-grad);
  border:3px solid #fff;
  box-shadow:0 8px 20px rgba(44,144,206,.30);
  cursor:pointer;
  z-index:4;
  transform:translateY(-50%);
  touch-action:none;
  transition:box-shadow .16s ease, transform .16s ease;
}

.osg-rangeHandleMin{
  left:calc(var(--osg-range-left-frac) * (100% - 20px));
}

.osg-rangeHandleMax{
  left:calc(var(--osg-range-right-frac) * (100% - 20px));
}

.osg-rangeHandle:hover,
.osg-rangeHandle:focus{
  outline:none;
  box-shadow:0 0 0 6px rgba(44,144,206,.14), 0 9px 22px rgba(44,144,206,.32);
  transform:translateY(-50%) scale(1.06);
}

.osg-rangeHandle.is-active{
  z-index:7;
}

.osg-clearFilter{
  justify-self:start;
  min-height:32px;
  padding:0 12px;
  border:1px solid rgba(44,144,206,.18);
  border-radius:999px;
  background:#fff;
  color:var(--osg-blue);
  cursor:pointer;
  font-size:12px;
  line-height:1;
  font-weight:950;
  text-decoration:none;
}

.osg-clearFilter[hidden]{
  display:none !important;
}

.osg-clearFilter:hover,
.osg-clearFilter:focus{
  color:var(--osg-purple);
  border-color:rgba(180,82,159,.24);
  outline:none;
}

/* Grid */
.osg-grid{
  display:grid;
  width:100%;
  gap:18px;
  grid-template-columns:repeat(var(--osg-columns,4), minmax(0,1fr));
  align-items:stretch;
}

.osg-card[hidden]{
  display:none !important;
}

.osg-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  padding:14px;
  border:1px solid var(--osg-line);
  border-radius:26px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--osg-card-shadow);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, opacity .22s ease;
}

.osg-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:var(--osg-grad);
  opacity:.95;
}

.osg-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 52px rgba(16,29,43,.13);
  border-color:rgba(44,144,206,.25);
}

.osg-card.is-sorted-in,
.osg-card.is-loaded-in{
  animation:osgCardIn .24s ease both;
}

@keyframes osgCardIn{
  from{opacity:.55; transform:translateY(6px);}
  to{opacity:1; transform:translateY(0);}
}

.osg-cardMediaWrap{
  position:relative;
  display:block;
}

.osg-cardWatermark{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:1;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:rgba(44,144,206,.13);
  font-size:36px;
  pointer-events:none;
}

.osg-cardMedia{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:4 / 5;
  padding:16px;
  border-radius:21px;
  border:1px solid rgba(44,144,206,.10);
  background:
    radial-gradient(circle at 50% 15%, rgba(255,255,255,.98), rgba(255,255,255,0) 38%),
    linear-gradient(180deg,#f8fcff 0%,#eef6fb 100%);
  overflow:hidden;
  text-decoration:none !important;
}

.osg-productImg,
.osg-cardMedia img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  object-fit:contain;
  margin:0 !important;
  transition:transform .22s ease;
}

.osg-card:hover .osg-productImg,
.osg-card:hover .osg-cardMedia img{
  transform:scale(1.035);
}

.osg-productBadge{
  position:absolute;
  top:11px;
  left:11px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:0 10px;
  border-radius:999px;
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 9px 20px rgba(16,29,43,.17);
}

.osg-productBadge--sale{
  background:linear-gradient(135deg,#d98416,#f0a13a);
}

.osg-productBadge--sold{
  background:linear-gradient(135deg,#334155,#101d2b);
}

.osg-productBadge--tested{
  background:linear-gradient(135deg,#178f72,#2C90CE);
}

.osg-cardBody{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:14px 4px 0;
}

.osg-productCats{
  display:block;
  max-width:100%;
  margin:0 0 7px;
  color:var(--osg-muted);
  font-size:10.5px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.osg-productCats a{
  color:var(--osg-muted) !important;
  text-decoration:none !important;
}

.osg-productCats a:hover,
.osg-productCats a:focus{
  color:var(--osg-blue) !important;
  text-decoration:none !important;
}

.osg-productTitle{
  margin:0;
  width:100%;
  color:var(--osg-ink);
  font-family:inherit !important;
  font-size:16px;
  line-height:1.34;
  font-weight:950;
  letter-spacing:-.018em;
  text-align:center !important;
}

.osg-productTitle a{
  color:inherit !important;
  text-decoration:none !important;
}

.osg-productTitle a:hover,
.osg-productTitle a:focus{
  color:var(--osg-blue) !important;
  text-decoration:none !important;
}

.osg-rating{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:8px 0 0;
  color:#d8941d;
  font-size:12px;
  line-height:1;
}

.osg-rating span{
  letter-spacing:-.08em;
}

.osg-rating strong{
  color:var(--osg-ink);
  font-weight:900;
}

.osg-rating em{
  color:var(--osg-muted);
  font-style:normal;
  font-weight:700;
}

.osg-productPrice{
  margin:9px 0 0;
  color:var(--osg-ink);
  font-size:16px;
  line-height:1.35;
  font-weight:950;
  text-align:center;
}

.osg-productPrice del{
  color:#8b9aaa;
  font-size:.9em;
  font-weight:750;
  opacity:.78;
}

.osg-productPrice ins{
  color:var(--osg-ink);
  text-decoration:none;
}

.osg-cardActions{
  margin-top:auto;
  padding-top:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}

.osg-addToCart{
  min-width:0;
}

.osg-addToCart .button,
.osg-addToCart a.button,
.osg-addToCart button.button,
.osg-addToCart input.button,
.osg-addToCart a.added_to_cart,
.osg-detailsBtn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:100% !important;
  min-height:44px !important;
  height:44px !important;
  line-height:1 !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:15px !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.osg-addToCart .button,
.osg-addToCart a.button,
.osg-addToCart button.button,
.osg-addToCart input.button{
  background:var(--osg-grad) !important;
  background-image:var(--osg-grad) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(44,144,206,.20) !important;
}

.osg-addToCart .button:hover,
.osg-addToCart a.button:hover,
.osg-addToCart button.button:hover,
.osg-addToCart input.button:hover,
.osg-addToCart .button:focus,
.osg-addToCart a.button:focus,
.osg-addToCart button.button:focus,
.osg-addToCart input.button:focus{
  transform:translateY(-1px);
  color:#fff !important;
  box-shadow:0 15px 30px rgba(44,144,206,.28) !important;
  outline:none !important;
}

.osg-addToCart a.added_to_cart{
  margin-top:8px;
  background:#fff !important;
  color:var(--osg-blue) !important;
  border:1px solid rgba(44,144,206,.18) !important;
}

.osg-addToCart a.added_to_cart:hover,
.osg-addToCart a.added_to_cart:focus{
  color:var(--osg-purple) !important;
  background:#f4f8fb !important;
}

.osg-detailsBtn{
  width:auto !important;
  min-width:88px;
  gap:7px;
  background:#fff !important;
  color:var(--osg-text) !important;
  border:1px solid rgba(16,29,43,.10) !important;
}

.osg-detailsBtn .osg-icon{
  font-size:14px;
  transition:transform .18s ease;
}

.osg-detailsBtn:hover,
.osg-detailsBtn:focus{
  transform:translateY(-1px);
  background:#f4f8fb !important;
  color:var(--osg-ink) !important;
  text-decoration:none !important;
  outline:none;
}

.osg-detailsBtn:hover .osg-icon,
.osg-detailsBtn:focus .osg-icon{
  transform:translateX(2px);
}

.osg-addToCart .added,
.osg-addToCart .loading{
  opacity:.88;
}

/* Empty states */
.osg-empty,
.osg-filterEmpty{
  grid-column:1 / -1;
  display:grid;
  gap:7px;
  padding:28px;
  border-radius:22px;
  border:1px solid var(--osg-line);
  background:#fff;
  color:var(--osg-text);
  text-align:center;
  box-shadow:var(--osg-shadow-soft);
}

.osg-filterEmpty[hidden]{
  display:none !important;
}

.osg-empty strong,
.osg-filterEmpty strong{
  color:var(--osg-ink);
  font-size:20px;
  line-height:1.25;
  font-weight:950;
}

.osg-empty span,
.osg-filterEmpty span{
  color:var(--osg-muted);
  font-size:15px;
  line-height:1.55;
  font-weight:600;
}

/* Infinite loading */
.osg-loadMore{
  display:grid;
  place-items:center;
  gap:10px;
  margin:30px 0 0;
  text-align:center;
}

.osg-loadBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border:0;
  border-radius:999px;
  background:var(--osg-grad);
  color:#fff;
  cursor:pointer;
  font-size:14px;
  line-height:1;
  font-weight:950;
  box-shadow:0 12px 28px rgba(44,144,206,.20);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.osg-loadBtn:hover,
.osg-loadBtn:focus{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(44,144,206,.28);
  outline:none;
}

.osg-loadBtn:disabled{
  cursor:default;
  opacity:.72;
  transform:none;
}

.osg-loadStatus{
  color:var(--osg-muted);
  font-size:13px;
  line-height:1.45;
  font-weight:800;
}

.osg-sentinel{
  width:100%;
  height:1px;
  pointer-events:none;
}

.osg-wrap.is-infinite-ready:not(.has-load-error) .osg-loadBtn,
.osg-wrap.is-infinite-ready:not(.has-load-error).is-loading-more .osg-loadBtn,
.osg-wrap.is-infinite-ready:not(.has-load-error).is-all-loaded .osg-loadBtn{
  position:absolute;
  width:1px;
  height:1px;
  min-height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  padding:0;
  border:0;
  box-shadow:none;
}

.osg-wrap.is-loading-more .osg-loadStatus:before{
  content:"";
  display:inline-block;
  width:13px;
  height:13px;
  margin-right:8px;
  border:2px solid rgba(44,144,206,.22);
  border-top-color:var(--osg-blue);
  border-radius:999px;
  vertical-align:-2px;
  animation:osgSpin .7s linear infinite;
}

.osg-wrap.is-resetting-products .osg-grid{
  opacity:.62;
  pointer-events:none;
}

@keyframes osgSpin{
  to{transform:rotate(360deg);}
}

/* Floating cart link */
.osg-floatingCart{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:30;
  display:none;
}

.osg-floatingCartBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  background:var(--osg-ink);
  color:#fff !important;
  font-size:13px;
  line-height:1;
  font-weight:950;
  text-decoration:none !important;
  box-shadow:0 16px 36px rgba(16,29,43,.20);
}

.osg-floatingCartBtn:hover,
.osg-floatingCartBtn:focus{
  background:var(--osg-blue);
  color:#fff !important;
  text-decoration:none !important;
}

.osg-wrap.has-added-product .osg-floatingCart{
  display:block;
}

/* Theme/link underline hardening */
.osg-wrap .button,
.osg-wrap a.button,
.osg-wrap a,
.osg-wrap a:hover,
.osg-wrap a:focus,
.osg-wrap a:active{
  text-decoration-thickness:auto;
}

.osg-cardActions a::before,
.osg-cardActions a::after,
.osg-cardActions .button::before,
.osg-cardActions .button::after{
  border:0 !important;
  box-shadow:none !important;
}

/* Responsive */
@media (max-width:1120px){
  .osg-wrap{
    padding:24px 14px 50px;
  }

  .osg-hero{
    grid-template-columns:1fr;
    padding:30px;
    border-radius:30px;
  }

  .osg-heroPanel{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .osg-stat{
    min-height:90px;
  }

  .osg-toolbar{
    grid-template-columns:1fr;
  }

  .osg-sort{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .osg-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }
}

@media (max-width:820px){
  .osg-heroPanel{
    grid-template-columns:1fr;
  }

  .osg-sort{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .osg-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
  }
}

@media (max-width:760px){
  .osg-wrap{
    padding:16px 12px 42px;
  }

  .osg-hero{
    padding:24px 18px;
    border-radius:24px;
  }

  .osg-title{
    font-size:clamp(34px,10vw,46px);
  }

  .osg-subtitle{
    font-size:15.5px;
    line-height:1.6;
  }

  .osg-heroActions{
    align-items:stretch;
    flex-direction:column;
  }

  .osg-heroBtn{
    width:100%;
  }

  .osg-stat{
    min-height:76px;
  }

  .osg-categories,
  .osg-toolbar{
    border-radius:20px;
    padding:12px;
  }

  .osg-categories:before{
    flex-basis:100%;
    min-height:auto;
    margin-bottom:2px;
  }

  .osg-categoryChip{
    flex:1 1 auto;
  }

  .osg-sortPanel,
  .osg-priceFilter,
  .osg-toolbarSummary{
    border-radius:18px;
    padding:14px;
  }

  .osg-sortBtn{
    min-height:58px;
    border-radius:16px;
  }

  .osg-card{
    padding:11px;
    border-radius:21px;
  }

  .osg-cardMedia{
    padding:10px;
    border-radius:17px;
  }

  .osg-productBadge{
    top:8px;
    left:8px;
    min-height:23px;
    padding:0 8px;
    font-size:9px;
  }

  .osg-cardBody{
    padding-top:10px;
  }

  .osg-productCats{
    font-size:9.5px;
    margin-bottom:6px;
  }

  .osg-productTitle{
    font-size:13.5px;
    line-height:1.28;
  }

  .osg-productPrice{
    font-size:13.5px;
    margin-top:7px;
  }

  .osg-cardActions{
    grid-template-columns:1fr;
    gap:7px;
    padding-top:11px;
  }

  .osg-detailsBtn{
    width:100% !important;
    min-width:0;
  }

  .osg-addToCart .button,
  .osg-addToCart a.button,
  .osg-addToCart button.button,
  .osg-addToCart input.button,
  .osg-addToCart a.added_to_cart,
  .osg-detailsBtn{
    min-height:40px !important;
    height:40px !important;
    border-radius:13px !important;
    font-size:12px !important;
    padding:0 10px !important;
  }
}

@media (max-width:560px){
  .osg-wrap{
    padding-left:10px;
    padding-right:10px;
  }

  .osg-sort{
    grid-template-columns:1fr;
  }

  .osg-sortBtn{
    min-height:54px;
  }

  .osg-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .osg-card{
    max-width:420px;
    width:100%;
    margin:0 auto;
  }

  .osg-cardMedia{
    aspect-ratio:1 / .82;
  }

  .osg-productTitle{
    font-size:15px;
  }

  .osg-productPrice{
    font-size:15px;
  }

  .osg-floatingCart{
    right:12px;
    bottom:12px;
  }
}

@media (prefers-reduced-motion:reduce){
  .osg-card,
  .osg-cardMedia img,
  .osg-productImg,
  .osg-sortBtn,
  .osg-categoryChip,
  .osg-rangeHandle,
  .osg-loadBtn,
  .osg-heroBtn,
  .osg-addToCart .button,
  .osg-detailsBtn{
    transition:none !important;
    animation:none !important;
  }
}


/* =========================================================
   v2.1.1 hero redesign - privacy-policy-inspired
========================================================= */
.osg-hero{
  position:relative;
  isolation:isolate;
}

.osg-hero.osg-hero--centered{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:360px;
  margin:0 0 22px;
  padding:58px 30px;
  border-radius:34px;
  overflow:hidden;
  text-align:center;
  background:
    linear-gradient(90deg,#163d5e 0%, #1d2d69 44%, #5c155f 100%);
  box-shadow:0 24px 60px rgba(16,29,43,.16);
}

.osg-hero.osg-hero--centered:before,
.osg-hero.osg-hero--centered:after,
.osg-heroOrb{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}

.osg-hero.osg-hero--centered:before{
  content:"";
  width:290px;
  height:290px;
  left:-150px;
  bottom:-148px;
  border:1px solid rgba(255,255,255,.12);
  background:transparent;
}

.osg-hero.osg-hero--centered:after{
  content:"";
  width:320px;
  height:320px;
  right:-110px;
  top:-142px;
  border:1px solid rgba(255,255,255,.11);
  background:transparent;
}

.osg-heroOrb--left{
  inset:auto auto 32px 16%;
  width:120px;
  height:120px;
  background:radial-gradient(circle, rgba(68,178,255,.14), rgba(68,178,255,0));
  filter:blur(6px);
}

.osg-heroOrb--right{
  inset:28px 14% auto auto;
  width:140px;
  height:140px;
  background:radial-gradient(circle, rgba(180,82,159,.18), rgba(180,82,159,0));
  filter:blur(8px);
}

.osg-heroCopy--centered{
  width:100%;
  max-width:860px;
  align-items:center;
  text-align:center;
}

.osg-heroCopy--centered .osg-kicker{
  margin:0 auto 24px;
  padding:10px 16px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.osg-heroCopy--centered .osg-kicker:before{
  display:none;
}

.osg-heroCopy--centered .osg-title{
  max-width:none;
  font-size:clamp(42px,6vw,68px);
  line-height:.98;
  letter-spacing:-.055em;
  text-align:center !important;
}

.osg-heroCopy--centered .osg-subtitle{
  max-width:830px;
  margin:16px auto 0;
  color:rgba(255,255,255,.88);
  font-size:clamp(16px,1.9vw,20px);
  line-height:1.6;
  font-weight:650;
}

.osg-heroMetaRow{
  display:flex;
  justify-content:center;
  margin:28px 0 0;
}

.osg-heroMeta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff !important;
  font-size:15px;
  line-height:1;
  font-weight:900;
  text-decoration:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.osg-heroMeta:hover,
.osg-heroMeta:focus{
  transform:translateY(-2px);
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.28);
  outline:none;
}

/* hide old hero-specific side layout when centered variant is used */
.osg-hero--centered .osg-heroActions,
.osg-hero--centered .osg-heroPanel{
  display:none !important;
}

@media (max-width:980px){
  .osg-hero.osg-hero--centered{
    min-height:320px;
    padding:46px 24px;
  }
}

@media (max-width:760px){
  .osg-hero.osg-hero--centered{
    min-height:0;
    padding:38px 18px;
    border-radius:26px;
  }

  .osg-heroCopy--centered .osg-kicker{
    margin-bottom:18px;
  }

  .osg-heroMeta{
    width:100%;
    max-width:320px;
    min-height:48px;
    padding:0 18px;
    font-size:14px;
  }
}


/* =========================================================
   v2.1.2 shop hero redesign - match second reference
========================================================= */
.osg-hero.osg-hero--shop-alt{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:390px;
  margin:0 0 24px;
  padding:34px 28px;
  border-radius:0;
  border:1px solid rgba(138,61,240,.18);
  background:linear-gradient(90deg,#efe6f3 0%, #eef2f7 52%, #dce9f2 100%);
  box-shadow:none;
  overflow:hidden;
}

.osg-hero.osg-hero--shop-alt:before,
.osg-hero.osg-hero--shop-alt:after,
.osg-hero--shop-alt .osg-heroOrb,
.osg-hero--shop-alt .osg-heroPanel,
.osg-hero--shop-alt .osg-heroMetaRow,
.osg-hero--shop-alt .osg-heroMeta{
  display:none !important;
}

.osg-heroCopy--shop-alt{
  width:100%;
  max-width:780px;
  align-items:flex-start;
  text-align:left;
}

.osg-kicker--shop-alt{
  margin:0 0 24px;
  padding:9px 14px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(167,120,226,.22);
  color:#6b2bd9;
  box-shadow:none;
}

.osg-kicker--shop-alt:before{
  width:9px;
  height:9px;
  display:inline-block;
  background:#8a3df0;
  box-shadow:0 0 0 5px rgba(138,61,240,.12);
}

.osg-title--shop-alt{
  max-width:740px;
  margin:0;
  text-align:left !important;
  color:#1c0626 !important;
  font-size:clamp(42px,5.8vw,64px);
  line-height:.98;
  letter-spacing:-.055em;
}

.osg-title--shop-alt .osg-titleDark,
.osg-title--shop-alt .osg-titleAccent{
  display:inline;
}

.osg-title--shop-alt .osg-titleDark{
  color:#18011f;
}

.osg-title--shop-alt .osg-titleDark--break{
  display:block;
}

.osg-title--shop-alt .osg-titleAccent{
  color:#8a3df0;
}

.osg-subtitle--shop-alt{
  max-width:760px;
  margin:24px 0 0;
  color:#46536c;
  font-size:clamp(17px,1.9vw,20px);
  line-height:1.62;
  font-weight:600;
}

.osg-heroActions--shop-alt{
  display:flex !important;
  flex-wrap:wrap;
  gap:14px;
  margin:30px 0 0;
}

.osg-heroBtn--shop-alt{
  min-height:48px;
  padding:0 20px;
  border-radius:12px;
  font-size:15px;
  font-weight:900;
  box-shadow:none;
}

.osg-heroBtn--shop-alt > span{ white-space:nowrap; }

.osg-heroBtn--shop-alt .osg-icon{
  width:18px;
  height:18px;
  margin-left:12px;
  flex:0 0 auto;
}

.osg-heroBtn--shop-alt .osg-icon svg{
  width:18px;
  height:18px;
  display:block;
}

.osg-heroBtn--shop-alt.osg-heroBtn--primary{
  background:linear-gradient(135deg,#8a3df0 0%, #c13bb2 100%);
  color:#fff !important;
  box-shadow:none;
}

.osg-heroBtn--shop-alt.osg-heroBtn--primary:hover,
.osg-heroBtn--shop-alt.osg-heroBtn--primary:focus{
  box-shadow:0 14px 24px rgba(138,61,240,.18);
}

.osg-heroBtn--shop-alt.osg-heroBtn--ghost{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(138,61,240,.24);
  color:#6b2bd9 !important;
}

.osg-heroBtn--shop-alt.osg-heroBtn--ghost:hover,
.osg-heroBtn--shop-alt.osg-heroBtn--ghost:focus{
  background:#fff;
  box-shadow:0 12px 24px rgba(16,29,43,.06);
}

.osg-heroBtn--shop-alt.osg-heroBtn--ghost .osg-icon,
.osg-heroBtn--shop-alt.osg-heroBtn--primary .osg-icon{
  color:currentColor;
}

@media (max-width:980px){
  .osg-hero.osg-hero--shop-alt{
    min-height:0;
    padding:28px 22px;
  }
}

@media (max-width:760px){
  .osg-hero.osg-hero--shop-alt{
    padding:24px 16px;
  }

  .osg-title--shop-alt{
    font-size:clamp(34px,10vw,50px);
  }

  .osg-subtitle--shop-alt{
    margin-top:18px;
    font-size:16px;
  }

  .osg-heroActions--shop-alt{
    margin-top:24px;
    width:100%;
    flex-direction:column;
  }

  .osg-heroBtn--shop-alt{
    width:100%;
    justify-content:space-between;
  }
}


/* =========================================================
   v2.1.3 hard-fix hero override
========================================================= */
.osg-wrap .osg-hero.osg-hero--reference-v2{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:390px !important;
  margin:0 0 24px !important;
  padding:34px 28px !important;
  border-radius:0 !important;
  border:0 !important;
  background:linear-gradient(90deg,#f2e9f4 0%, #edf0f5 50%, #dce7ef 100%) !important;
  box-shadow:none !important;
  overflow:hidden !important;
  text-align:left !important;
  grid-template-columns:none !important;
  gap:0 !important;
  color:#18011f !important;
}

.osg-wrap .osg-hero.osg-hero--reference-v2:before,
.osg-wrap .osg-hero.osg-hero--reference-v2:after,
.osg-wrap .osg-hero.osg-hero--reference-v2 .osg-heroOrb,
.osg-wrap .osg-hero.osg-hero--reference-v2 .osg-heroPanel,
.osg-wrap .osg-hero.osg-hero--reference-v2 .osg-heroMetaRow,
.osg-wrap .osg-hero.osg-hero--reference-v2 .osg-heroMeta{
  display:none !important;
  content:none !important;
}

.osg-wrap .osg-heroCopy--reference-v2{
  width:100% !important;
  max-width:820px !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
}

.osg-wrap .osg-kicker--reference-v2{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 28px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(151,100,219,.16) !important;
  background:rgba(255,255,255,.62) !important;
  color:#7f32ea !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}

.osg-wrap .osg-kicker--reference-v2:before{
  content:"" !important;
  display:inline-block !important;
  width:9px !important;
  height:9px !important;
  border-radius:999px !important;
  background:#8a3df0 !important;
  box-shadow:0 0 0 5px rgba(138,61,240,.10) !important;
}

.osg-wrap .osg-title--reference-v2{
  max-width:780px !important;
  margin:0 !important;
  color:#1a0322 !important;
  font-size:clamp(42px,5.9vw,66px) !important;
  line-height:.98 !important;
  font-weight:950 !important;
  letter-spacing:-.06em !important;
  text-align:left !important;
}

.osg-wrap .osg-title--reference-v2 .osg-titleDark,
.osg-wrap .osg-title--reference-v2 .osg-titleAccent{
  display:inline !important;
}

.osg-wrap .osg-title--reference-v2 .osg-titleDark{
  color:#18011f !important;
}

.osg-wrap .osg-title--reference-v2 .osg-titleDark--break{
  display:block !important;
}

.osg-wrap .osg-title--reference-v2 .osg-titleAccent{
  color:#8b3df1 !important;
}

.osg-wrap .osg-subtitle--reference-v2{
  max-width:780px !important;
  margin:24px 0 0 !important;
  color:#4a5670 !important;
  font-size:clamp(17px,1.9vw,20px) !important;
  line-height:1.62 !important;
  font-weight:600 !important;
}

.osg-wrap .osg-heroActions--reference-v2{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  margin:30px 0 0 !important;
}

.osg-wrap .osg-heroBtn--reference-v2{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 20px !important;
  border-radius:12px !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.osg-wrap .osg-heroBtn--reference-v2 > span{
  white-space:nowrap !important;
}

.osg-wrap .osg-heroBtn--reference-v2 .osg-icon{
  width:18px !important;
  height:18px !important;
  margin-left:12px !important;
  flex:0 0 auto !important;
}

.osg-wrap .osg-heroBtn--reference-v2 .osg-icon svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
}

.osg-wrap .osg-heroBtn--reference-v2.osg-heroBtn--primary{
  background:linear-gradient(135deg,#8a3df0 0%, #c13bb2 100%) !important;
  color:#fff !important;
  border:0 !important;
}

.osg-wrap .osg-heroBtn--reference-v2.osg-heroBtn--ghost{
  background:rgba(255,255,255,.45) !important;
  border:1px solid rgba(138,61,240,.24) !important;
  color:#6b2bd9 !important;
}

.osg-wrap .osg-heroBtn--reference-v2.osg-heroBtn--ghost:hover,
.osg-wrap .osg-heroBtn--reference-v2.osg-heroBtn--ghost:focus{
  background:#fff !important;
}

@media (max-width:980px){
  .osg-wrap .osg-hero.osg-hero--reference-v2{
    min-height:0 !important;
    padding:28px 22px !important;
  }
}

@media (max-width:760px){
  .osg-wrap .osg-hero.osg-hero--reference-v2{
    padding:24px 16px !important;
  }

  .osg-wrap .osg-title--reference-v2{
    font-size:clamp(34px,10vw,50px) !important;
  }

  .osg-wrap .osg-subtitle--reference-v2{
    margin-top:18px !important;
    font-size:16px !important;
  }

  .osg-wrap .osg-heroActions--reference-v2{
    width:100% !important;
    margin-top:24px !important;
    flex-direction:column !important;
  }

  .osg-wrap .osg-heroBtn--reference-v2{
    width:100% !important;
    justify-content:space-between !important;
  }
}


/* =========================================================
   v2.1.4 hero + controls cleanup
   - no hero buttons
   - full-bleed hero, no card margin around it
   - compact modern sorting controls
========================================================= */
.osg-wrap{
  max-width:none !important;
  padding:0 0 64px !important;
}

.osg-wrap > :not(.osg-hero):not(.osg-floatingCart){
  width:min(1204px, calc(100% - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.osg-wrap .osg-hero.osg-hero--reference-v2{
  width:100% !important;
  max-width:none !important;
  min-height:420px !important;
  margin:0 !important;
  padding:62px max(28px, calc((100vw - 1204px) / 2 + 24px)) !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:linear-gradient(90deg,#f4eaf5 0%, #eef1f6 48%, #dfeaf2 100%) !important;
}

.osg-wrap .osg-hero.osg-hero--reference-v2 .osg-heroActions,
.osg-wrap .osg-hero.osg-hero--reference-v2 .osg-heroBtn,
.osg-wrap .osg-heroActions--reference-v2{
  display:none !important;
}

.osg-wrap .osg-heroCopy--reference-v2{
  max-width:820px !important;
}

.osg-wrap .osg-title--reference-v2{
  max-width:820px !important;
  font-size:clamp(46px,5.9vw,70px) !important;
}

.osg-wrap .osg-subtitle--reference-v2{
  max-width:800px !important;
  margin-top:24px !important;
}

.osg-wrap .osg-categories{
  margin-top:28px !important;
}

/* Cleaner category strip */
.osg-wrap .osg-categories{
  gap:8px !important;
  padding:10px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(12px);
  box-shadow:0 14px 36px rgba(16,29,43,.07) !important;
}

.osg-wrap .osg-categories:before{
  min-height:36px !important;
  padding:0 6px 0 8px !important;
  margin-right:0 !important;
  color:#69778b !important;
}

.osg-wrap .osg-categoryChip{
  min-height:36px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  font-size:12.5px !important;
  box-shadow:none !important;
}

/* Modern product controls */
.osg-wrap .osg-toolbar{
  display:grid !important;
  grid-template-columns:minmax(190px,.62fr) minmax(0,1.8fr) minmax(260px,.75fr) !important;
  gap:12px !important;
  align-items:stretch !important;
  margin-top:18px !important;
  margin-bottom:22px !important;
  padding:12px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.9) !important;
  backdrop-filter:blur(14px);
  box-shadow:0 16px 42px rgba(16,29,43,.08) !important;
}

.osg-wrap .osg-toolbarSummary{
  padding:13px !important;
  border-radius:18px !important;
  gap:11px !important;
}

.osg-wrap .osg-toolbarIcon{
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
}

.osg-wrap .osg-toolbarText strong{
  font-size:16px !important;
}

.osg-wrap .osg-toolbarText em{
  font-size:12.5px !important;
}

.osg-wrap .osg-sortPanel{
  grid-column:auto !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  min-width:0 !important;
  padding:12px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  overflow:hidden !important;
}

.osg-wrap .osg-sortPanelHead{
  gap:9px !important;
  min-width:max-content !important;
  padding-right:2px !important;
}

.osg-wrap .osg-sortPanelHead .osg-icon{
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  font-size:17px !important;
}

.osg-wrap .osg-sortPanelHead span{
  font-size:10px !important;
  letter-spacing:.11em !important;
}

.osg-wrap .osg-sortPanelHead strong{
  font-size:13px !important;
  letter-spacing:0 !important;
}

.osg-wrap .osg-sort{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:2px 2px 4px !important;
  scrollbar-width:thin;
}

.osg-wrap .osg-sortBtn{
  flex:0 0 auto !important;
  min-height:38px !important;
  min-width:0 !important;
  padding:0 13px !important;
  gap:7px !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:none !important;
  text-align:center !important;
  overflow:visible !important;
}

.osg-wrap .osg-sortBtn:before{
  display:none !important;
}

.osg-wrap .osg-sortBtn > .osg-icon{
  width:20px !important;
  height:20px !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#8a3df0 !important;
  font-size:16px !important;
  box-shadow:none !important;
}

.osg-wrap .osg-sortBtn .osg-sortText{
  display:block !important;
}

.osg-wrap .osg-sortBtn .osg-sortText strong{
  font-size:12.5px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.osg-wrap .osg-sortBtn .osg-sortText em{
  display:none !important;
}

.osg-wrap .osg-sortBtn:hover,
.osg-wrap .osg-sortBtn:focus{
  transform:translateY(-1px) !important;
  background:#f8f3ff !important;
  border-color:rgba(138,61,240,.22) !important;
  box-shadow:none !important;
}

.osg-wrap .osg-sortBtn.is-active{
  background:linear-gradient(135deg,#8a3df0 0%,#c13bb2 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(138,61,240,.18) !important;
}

.osg-wrap .osg-sortBtn.is-active > .osg-icon,
.osg-wrap .osg-sortBtn.is-active .osg-sortText strong{
  color:#fff !important;
}

.osg-wrap .osg-priceFilter{
  min-width:0 !important;
  padding:12px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%) !important;
}

.osg-wrap .osg-priceFilterHead{
  gap:9px !important;
}

.osg-wrap .osg-priceFilterHead > .osg-icon{
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
}

.osg-wrap .osg-priceLabel strong{
  font-size:12.5px !important;
}

.osg-wrap .osg-rangeWrap{
  height:28px !important;
}

@media (max-width:1120px){
  .osg-wrap .osg-toolbar{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-sortPanel{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-sortPanelHead{
    min-width:0 !important;
  }
}

@media (max-width:760px){
  .osg-wrap > :not(.osg-hero):not(.osg-floatingCart){
    width:min(100% - 24px, 1204px) !important;
  }

  .osg-wrap .osg-hero.osg-hero--reference-v2{
    min-height:0 !important;
    padding:44px 18px !important;
  }

  .osg-wrap .osg-title--reference-v2{
    font-size:clamp(36px,10vw,52px) !important;
  }

  .osg-wrap .osg-subtitle--reference-v2{
    font-size:15.5px !important;
    line-height:1.62 !important;
  }

  .osg-wrap .osg-categories:before{
    width:100% !important;
    min-height:20px !important;
  }

  .osg-wrap .osg-categoryChip{
    flex:0 0 auto !important;
  }

  .osg-wrap .osg-categories{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
  }
}


/* =========================================================
   v2.1.5 category filters + removed price range
========================================================= */
.osg-wrap .osg-priceFilter,
.osg-wrap [data-price-filter]{
  display:none !important;
}

.osg-wrap .osg-filterBlock--categories{
  display:grid !important;
  gap:12px !important;
  margin-top:28px !important;
  margin-bottom:16px !important;
  padding:12px !important;
  border:1px solid rgba(16,29,43,.08) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.9) !important;
  backdrop-filter:blur(14px);
  box-shadow:0 14px 36px rgba(16,29,43,.07) !important;
}

.osg-wrap .osg-filterHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:0 4px !important;
}

.osg-wrap .osg-filterHead span{
  color:#69778b !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.osg-wrap .osg-filterHead strong{
  color:var(--osg-ink) !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  text-align:right !important;
}

.osg-wrap .osg-filterBlock--categories .osg-categories{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}

.osg-wrap .osg-filterBlock--categories .osg-categories:before{
  display:none !important;
  content:none !important;
}

.osg-wrap .osg-categoryChip{
  appearance:none !important;
  cursor:pointer !important;
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(16,29,43,.10) !important;
  background:#fff !important;
  color:var(--osg-text) !important;
  font-family:inherit !important;
  font-size:12.5px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

.osg-wrap .osg-categoryChip:hover,
.osg-wrap .osg-categoryChip:focus{
  transform:translateY(-1px) !important;
  background:#f8f3ff !important;
  border-color:rgba(138,61,240,.22) !important;
  color:#6b2bd9 !important;
  outline:none !important;
}

.osg-wrap .osg-categoryChip.is-active{
  background:linear-gradient(135deg,#2C90CE 0%,#6d7bd8 47%,#B4529F 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(138,61,240,.16) !important;
}

.osg-wrap .osg-toolbar{
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.8fr) !important;
}

.osg-wrap .osg-sortPanel{
  grid-column:auto !important;
}

.osg-wrap.is-resetting-products .osg-categoryChip,
.osg-wrap.is-resetting-products .osg-sortBtn{
  pointer-events:none !important;
}

@media (max-width:1120px){
  .osg-wrap .osg-toolbar{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:760px){
  .osg-wrap .osg-filterBlock--categories{
    width:min(100% - 24px, 1204px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:12px !important;
  }

  .osg-wrap .osg-filterHead{
    display:grid !important;
    justify-content:stretch !important;
    gap:6px !important;
  }

  .osg-wrap .osg-filterHead strong{
    text-align:left !important;
  }

  .osg-wrap .osg-filterBlock--categories .osg-categories{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    padding-bottom:2px !important;
  }

  .osg-wrap .osg-categoryChip{
    flex:0 0 auto !important;
  }
}


/* =========================================================
   v2.1.6 product image visibility fix
   - use full image source in PHP
   - prevent product graphics from being cropped on card hover
   - keep full label/card artwork visible on desktop and mobile
========================================================= */
.osg-wrap .osg-cardMedia{
  aspect-ratio:3 / 4 !important;
  min-height:300px !important;
  padding:20px !important;
  overflow:visible !important;
}

.osg-wrap .osg-productImg,
.osg-wrap .osg-cardMedia img{
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}

.osg-wrap .osg-card:hover .osg-productImg,
.osg-wrap .osg-card:hover .osg-cardMedia img{
  transform:none !important;
}

.osg-wrap .osg-cardMediaWrap{
  overflow:visible !important;
}

@media (max-width:1120px){
  .osg-wrap .osg-cardMedia{
    min-height:280px !important;
  }
}

@media (max-width:820px){
  .osg-wrap .osg-cardMedia{
    min-height:260px !important;
    padding:18px !important;
  }
}

@media (max-width:560px){
  .osg-wrap .osg-cardMedia{
    aspect-ratio:3 / 4 !important;
    min-height:330px !important;
    padding:20px !important;
  }
}

@media (max-width:420px){
  .osg-wrap .osg-cardMedia{
    min-height:300px !important;
    padding:18px !important;
  }
}


/* =========================================================
   v2.1.7 card/add-to-cart + mobile 2-column fix
   - remove WooCommerce injected View Cart button inside cards
   - keep mobile product cards in 2 columns
========================================================= */
.osg-wrap .osg-addToCart a.added_to_cart,
.osg-wrap .osg-addToCart a.added_to_cart.wc-forward,
.osg-wrap .osg-cardActions a.added_to_cart,
.osg-wrap .osg-cardActions a.added_to_cart.wc-forward{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

.osg-wrap .osg-addToCart .button.added:after,
.osg-wrap .osg-addToCart .button.loading:after{
  margin-left:7px !important;
}

@media (max-width:560px){
  .osg-wrap .osg-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .osg-wrap .osg-card{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:9px !important;
    border-radius:18px !important;
  }

  .osg-wrap .osg-cardMedia{
    aspect-ratio:3 / 4 !important;
    min-height:0 !important;
    height:auto !important;
    padding:10px !important;
    border-radius:15px !important;
  }

  .osg-wrap .osg-cardBody{
    padding:10px 2px 0 !important;
  }

  .osg-wrap .osg-productCats{
    font-size:8.5px !important;
    line-height:1.2 !important;
    margin-bottom:5px !important;
  }

  .osg-wrap .osg-productTitle{
    font-size:12px !important;
    line-height:1.23 !important;
    letter-spacing:-.02em !important;
  }

  .osg-wrap .osg-productPrice{
    font-size:12.5px !important;
    line-height:1.25 !important;
    margin-top:6px !important;
  }

  .osg-wrap .osg-cardActions{
    grid-template-columns:1fr !important;
    gap:6px !important;
    padding-top:10px !important;
  }

  .osg-wrap .osg-addToCart .button,
  .osg-wrap .osg-addToCart a.button,
  .osg-wrap .osg-addToCart button.button,
  .osg-wrap .osg-addToCart input.button,
  .osg-wrap .osg-detailsBtn{
    min-height:36px !important;
    height:36px !important;
    border-radius:11px !important;
    font-size:10.5px !important;
    padding:0 8px !important;
  }

  .osg-wrap .osg-detailsBtn{
    min-width:0 !important;
  }

  .osg-wrap .osg-productBadge{
    top:7px !important;
    left:7px !important;
    min-height:20px !important;
    padding:0 7px !important;
    font-size:8px !important;
  }
}

@media (max-width:380px){
  .osg-wrap .osg-grid{
    gap:8px !important;
  }

  .osg-wrap .osg-card{
    padding:8px !important;
  }

  .osg-wrap .osg-productTitle{
    font-size:11.4px !important;
  }

  .osg-wrap .osg-productPrice{
    font-size:11.8px !important;
  }
}


/* =========================================================
   v2.1.8 grouped sort dropdown
   - replaced crowded sort chips with one grouped dropdown
   - keeps similar sort ideas grouped inside optgroups
========================================================= */
.osg-wrap .osg-toolbar{
  grid-template-columns:minmax(220px,.7fr) minmax(320px,.95fr) !important;
  align-items:center !important;
}

.osg-wrap .osg-sortPanel.osg-sortPanel--dropdown{
  grid-column:auto !important;
  display:grid !important;
  grid-template-columns:auto minmax(240px,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  padding:12px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  overflow:visible !important;
}

.osg-wrap .osg-sortPanel--dropdown .osg-sortPanelHead{
  min-width:max-content !important;
}

.osg-wrap .osg-sortDropdown{
  position:relative !important;
  display:grid !important;
  grid-template-columns:auto minmax(210px,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:8px 10px 8px 13px !important;
  border:1px solid rgba(16,29,43,.10) !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(16,29,43,.045) !important;
}

.osg-wrap .osg-sortDropdown:after{
  content:"" !important;
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  border-right:2px solid #7f32ea !important;
  border-bottom:2px solid #7f32ea !important;
  transform:translateY(-62%) rotate(45deg) !important;
  pointer-events:none !important;
}

.osg-wrap .osg-sortDropdown > span{
  color:#69778b !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.osg-wrap .osg-sortSelect{
  width:100% !important;
  min-height:34px !important;
  padding:0 34px 0 4px !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--osg-ink) !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1 !important;
  outline:none !important;
  box-shadow:none !important;
  appearance:none !important;
  cursor:pointer !important;
}

.osg-wrap .osg-sortSelect:focus{
  outline:none !important;
}

.osg-wrap .osg-sortDropdown:focus-within{
  border-color:rgba(138,61,240,.28) !important;
  box-shadow:0 0 0 4px rgba(138,61,240,.10),0 8px 20px rgba(16,29,43,.045) !important;
}

.osg-wrap .osg-sort,
.osg-wrap .osg-sortBtn{
  display:none !important;
}

@media (max-width:1120px){
  .osg-wrap .osg-toolbar{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-sortPanel.osg-sortPanel--dropdown{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-sortPanel--dropdown .osg-sortPanelHead{
    min-width:0 !important;
  }

  .osg-wrap .osg-sortDropdown{
    grid-template-columns:auto minmax(0,1fr) !important;
  }
}

@media (max-width:560px){
  .osg-wrap .osg-sortDropdown{
    grid-template-columns:1fr !important;
    border-radius:18px !important;
    padding:11px 13px !important;
  }

  .osg-wrap .osg-sortDropdown:after{
    top:auto !important;
    bottom:22px !important;
    transform:rotate(45deg) !important;
  }

  .osg-wrap .osg-sortSelect{
    min-height:32px !important;
    padding-left:0 !important;
  }
}


/* =========================================================
   v2.1.8 separated sort dropdowns
   - Recommended, Name, and Price are now separate dropdown controls
   - prevents the sorting area from feeling crowded
========================================================= */
.osg-wrap .osg-toolbar{
  grid-template-columns:minmax(220px,.62fr) minmax(0,1.8fr) !important;
  align-items:center !important;
}

.osg-wrap .osg-sortPanel.osg-sortPanel--multi{
  grid-column:auto !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  padding:12px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  overflow:visible !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortPanelHead{
  min-width:max-content !important;
}

.osg-wrap .osg-sortDropdowns{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  min-width:0 !important;
  align-items:stretch !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortDropdown{
  position:relative !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-content:center !important;
  gap:5px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:10px 36px 10px 13px !important;
  border:1px solid rgba(16,29,43,.10) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(16,29,43,.04) !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortDropdown.is-active{
  border-color:rgba(138,61,240,.28) !important;
  background:linear-gradient(180deg,#fff 0%,#fbf7ff 100%) !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortDropdown:after{
  content:"" !important;
  position:absolute !important;
  right:16px !important;
  top:32px !important;
  width:8px !important;
  height:8px !important;
  border-right:2px solid #7f32ea !important;
  border-bottom:2px solid #7f32ea !important;
  transform:rotate(45deg) !important;
  pointer-events:none !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortDropdown > span{
  color:#69778b !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortDropdown > em{
  color:#7f8da1 !important;
  font-size:10.5px !important;
  line-height:1.15 !important;
  font-style:normal !important;
  font-weight:750 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortSelect{
  width:100% !important;
  min-height:26px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--osg-ink) !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1.1 !important;
  outline:none !important;
  box-shadow:none !important;
  appearance:none !important;
  cursor:pointer !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortSelect:focus{
  outline:none !important;
}

.osg-wrap .osg-sortPanel--multi .osg-sortDropdown:focus-within{
  border-color:rgba(138,61,240,.32) !important;
  box-shadow:0 0 0 4px rgba(138,61,240,.10),0 8px 20px rgba(16,29,43,.04) !important;
}

.osg-wrap .osg-sort,
.osg-wrap .osg-sortBtn{
  display:none !important;
}

@media (max-width:1120px){
  .osg-wrap .osg-toolbar{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-sortPanel.osg-sortPanel--multi{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-sortPanel--multi .osg-sortPanelHead{
    min-width:0 !important;
  }
}

@media (max-width:760px){
  .osg-wrap .osg-sortDropdowns{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-sortPanel--multi .osg-sortDropdown{
    border-radius:16px !important;
  }
}


/* =========================================================
   v2.4.0 simplified product-type filters
   - removed MG/category strip and sort dropdowns
   - four fixed filters beside catalog summary
========================================================= */
.osg-wrap .osg-toolbar{
  grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr) !important;
  align-items:center !important;
}

.osg-wrap .osg-productTypeFilters{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  min-width:0 !important;
  padding:8px !important;
  border:1px solid rgba(16,29,43,.08) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
}

.osg-wrap .osg-productTypeFilters .osg-categoryChip{
  flex:0 0 auto !important;
}

.osg-wrap .osg-filterBlock--categories,
.osg-wrap .osg-sortPanel,
.osg-wrap .osg-sortDropdowns,
.osg-wrap [data-osg-sort-select]{
  display:none !important;
}

@media (max-width:1120px){
  .osg-wrap .osg-toolbar{
    grid-template-columns:1fr !important;
  }

  .osg-wrap .osg-productTypeFilters{
    justify-content:flex-start !important;
  }
}

@media (max-width:760px){
  .osg-wrap .osg-productTypeFilters{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    padding-bottom:10px !important;
  }
}


/* v2.4.0 — Optima product-category archive + Build Your Own Kit fixes */
body.osg-custom-product-archive{
  margin:0;
  background:#fbf9fd;
  color:#120018;
  overflow-x:hidden;
}
body.osg-custom-product-archive .osg-product-archive-main{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  background:
    radial-gradient(circle at 0% 8%, rgba(244,193,232,.28), transparent 30%),
    radial-gradient(circle at 100% 4%, rgba(104,200,239,.2), transparent 28%),
    linear-gradient(180deg,#fbf9fd 0%,#fff 24%,#fbf8fd 100%);
}
body.osg-custom-product-archive .osg-shop-main,
body.osg-custom-product-archive .osg-wrap{
  margin-top:0;
}
.osg-card--build-kit .osg-productBadge--kit,
.osg-productBadge--kit{
  color:#fff;
  background:linear-gradient(135deg,#6f26e4,#d445ad);
  box-shadow:0 12px 26px rgba(119,45,222,.24);
}
.osg-card--build-kit .osg-cardMediaWrap:after{
  content:"Build Your Own Kit";
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  border:1px solid rgba(119,45,222,.14);
  border-radius:999px;
  color:#772dde;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 26px rgba(18,0,24,.08);
  font-size:11px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.osg-card--build-kit .osg-productPrice{
  color:#772dde;
  font-weight:950;
}
.osg-card--build-kit .osg-productPrice .woocommerce-Price-amount{
  color:#120018;
}
.osg-card--build-kit .osg-addToCart .osg-buildKitBtn,
.osg-card--build-kit .osg-buildKitBtn{
  width:100%;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0 !important;
  border-radius:12px !important;
  color:#fff !important;
  background:linear-gradient(135deg,#6f26e4,#d445ad) !important;
  box-shadow:0 16px 30px rgba(119,45,222,.23), inset 0 1px 0 rgba(255,255,255,.16) !important;
  font-size:13px;
  font-weight:950;
  text-decoration:none !important;
}
.osg-card--build-kit .osg-buildKitBtn:after{
  content:"→";
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  line-height:1;
}
.osg-card--build-kit .osg-buildKitBtn:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(119,45,222,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
