:root{
  --lime:#9FE800;
  --lime-dark:#84c400;
  --black:#0a0a0a;
  --black-soft:#121212;
  --ink:#1a1a1a;
  --gray-900:#171717;
  --gray-700:#4b4b4b;
  --gray-500:#767676;
  --gray-300:#d9d9d9;
  --gray-200:#e9e9e9;
  --gray-100:#f2f2f2;
  --bg-section:#f6f7f8;
  --white:#ffffff;
  --star:#ffb800;
  --danger:#c23;
  --radius:8px;
  --shadow-card:0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow-card-hover:0 12px 24px rgba(0,0,0,.10), 0 4px 8px rgba(0,0,0,.06);
  --container:1280px;
}

.sw-wrap,
.sw-crumb-bar,
.sw-product-main,
.sw-details,
.sw-related{
  box-sizing:border-box;
}
.sw-wrap *,
.sw-wrap *::before,
.sw-wrap *::after,
.sw-crumb-bar *,
.sw-crumb-bar *::before,
.sw-crumb-bar *::after{
  box-sizing:border-box;
}

.sw-crumb-bar,
.sw-product-main,
.sw-details,
.sw-related{
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}

.sw-product-main img,
.sw-related img,
.sw-crumb-bar img{ max-width:100%; display:block; }
.sw-product-main button{ font-family:inherit; }

.sw-crumb-bar a:focus-visible,
.sw-product-main button:focus-visible,
.sw-product-main input:focus-visible,
.sw-product-main select:focus-visible,
.sw-product-main a:focus-visible,
.sw-details button:focus-visible,
.sw-related a:focus-visible,
[data-sw-focusable]:focus-visible{
  outline:2px solid var(--black);
  outline-offset:2px;
  border-radius:4px;
}

.sw-wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:0 clamp(1rem,4vw,2.5rem);
}

.sw-crumb-bar{
  background:var(--black);
  border-bottom:1px solid rgba(159,232,0,.3);
}
.sw-crumb-bar__inner{
  min-height:64px;
  display:flex;
  align-items:center;
  padding-top:1rem;
  padding-bottom:1rem;
}
.sw-crumb{
  display:flex; align-items:center; gap:.5rem;
  width:100%;
  font-size:.8rem;
  color:var(--gray-300);
  line-height:1.4;
  flex-wrap:wrap;
}
.sw-crumb a{
  display:flex; align-items:center; gap:.4rem;
  color:var(--gray-300);
  text-decoration:none;
  transition:color .15s ease;
}
.sw-crumb a svg{ width:14px; height:14px; flex-shrink:0; }
.sw-crumb a:hover{ color:var(--lime); }
.sw-crumb span[aria-hidden]{ color:var(--gray-700); }
.sw-crumb .sw-current{ color:var(--lime); font-weight:600; }

@media (max-width:460px){
  .sw-crumb-bar__inner{ min-height:52px; padding-top:.75rem; padding-bottom:.75rem; }
  .sw-crumb{ font-size:.76rem; }
}

.sw-product-main{ padding-top:1.75rem; }
.sw-product-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.5rem,4vw,3.5rem);
  align-items:flex-start;
}
@media (max-width:960px){
  .sw-product-layout{ grid-template-columns:1fr; gap:1.75rem; }
}

.sw-gallery{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:.8rem;
  position:sticky;
  top:1.25rem;
}
@media (max-width:960px){
  .sw-gallery{ position:static; }
}
@media (max-width:560px){
  .sw-gallery{ grid-template-columns:1fr; }
}

.sw-gallery__thumbs{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
@media (max-width:560px){
  .sw-gallery__thumbs{ flex-direction:row; order:2; overflow-x:auto; padding-bottom:.2rem; -webkit-overflow-scrolling:touch; }
}
.sw-gallery__thumb{
  width:76px; height:76px;
  border-radius:var(--radius);
  border:1.5px solid var(--gray-200);
  background:var(--white);
  overflow:hidden;
  cursor:pointer;
  padding:0;
  flex-shrink:0;
  transition:border-color .15s ease;
  position:relative;
}
.sw-gallery__thumb img{ width:100%; height:100%; object-fit:cover; }
.sw-gallery__thumb:hover{ border-color:var(--gray-300); }
.sw-gallery__thumb.sw-active{ border-color:var(--lime-dark); }
.sw-gallery__thumb.sw-active::after{
  content:"";
  position:absolute; inset:0;
  border:2px solid var(--lime-dark);
  border-radius:calc(var(--radius) - 1px);
}

.sw-gallery__main{
  position:relative;
  aspect-ratio:1/1;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--white);
  border:1px solid var(--gray-200);
}
.sw-gallery__main img{ width:100%; height:100%; object-fit:cover; transition:opacity .2s ease; }
.sw-gallery__badges{
  position:absolute; top:.85rem; left:.85rem;
  display:flex; flex-direction:column; gap:.4rem;
  z-index:2;
}
.sw-badge{
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:.32rem .6rem;
  border-radius:4px;
  line-height:1;
}
.sw-badge--sale{ background:var(--lime); color:var(--black); }
.sw-badge--new{ background:var(--black); color:var(--lime); }
.sw-badge--oos{ background:var(--gray-500); color:var(--white); }

.sw-gallery__zoom{
  position:absolute; bottom:.85rem; right:.85rem; z-index:2;
  width:38px; height:38px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.94);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow:var(--shadow-card);
  transition:transform .15s ease;
}
.sw-gallery__zoom svg{ width:17px; height:17px; color:var(--ink); }
.sw-gallery__zoom:hover{ transform:scale(1.06); }

.sw-gallery__lightbox{
  position:fixed; inset:0; z-index:1000;
  background:rgba(10,10,10,.92);
  display:flex; align-items:center; justify-content:center;
  padding:2rem;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.sw-gallery__lightbox.sw-show{ opacity:1; pointer-events:auto; }
.sw-gallery__lightbox img{ max-width:100%; max-height:90vh; object-fit:contain; border-radius:4px; }
.sw-gallery__lightbox-close{
  position:absolute; top:1.25rem; right:1.25rem;
  width:42px; height:42px; border-radius:50%;
  border:none; background:rgba(255,255,255,.12); color:var(--white);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.sw-gallery__lightbox-close svg{ width:20px; height:20px; }

.sw-buy{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}
.sw-buy__cat{
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--gray-500);
  font-weight:700;
}
.sw-buy__cat a{ color:inherit; text-decoration:none; }
.sw-buy__title{
  font-family:'Archivo Black','Poppins',sans-serif;
  font-weight:400;
  font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.15;
  letter-spacing:-.01em;
  margin:0;
  max-width:22ch;
}
.sw-buy__meta{
  display:flex; align-items:center; gap:.9rem;
  flex-wrap:wrap;
}
.sw-buy__rating{
  display:flex; align-items:center; gap:.4rem;
  font-size:.86rem;
  color:var(--gray-700);
}
.sw-buy__rating .sw-stars{ color:var(--star); letter-spacing:1px; font-size:.95rem; }
.sw-buy__rating a{ color:var(--gray-700); text-decoration:underline; cursor:pointer; }
.sw-buy__rating a:hover{ color:var(--ink); }
.sw-buy__sku{
  font-size:.8rem; color:var(--gray-500);
  padding-left:.9rem;
  border-left:1px solid var(--gray-300);
}

.sw-buy__price-block{ display:flex; flex-direction:column; gap:.2rem; }
.sw-buy__price-row{
  display:flex; align-items:baseline; gap:.7rem;
  flex-wrap:wrap;
}
.sw-buy__price{
  font-family:'Archivo Black','Poppins',sans-serif;
  font-weight:400;
  font-size:1.9rem;
  color:var(--ink);
}
.sw-buy__price .amount{ font-family:inherit; }
.sw-buy__price-old{
  font-size:1.05rem;
  color:var(--gray-500);
  text-decoration:line-through;
}
.sw-buy__save{
  font-size:.78rem;
  font-weight:700;
  color:var(--black);
  background:var(--lime);
  padding:.22rem .55rem;
  border-radius:4px;
}
.sw-buy__tax-note{
  font-size:.8rem;
  color:var(--gray-500);
  margin:.2rem 0 0;
}

.sw-buy__divider{
  height:1px;
  background:var(--gray-200);
  border:none;
  margin:.15rem 0;
}

.sw-variations-form{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}

.sw-opt-block__label{
  display:flex; align-items:baseline; gap:.4rem;
  font-size:.86rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:.65rem;
  flex-wrap:wrap;
}
.sw-opt-block__label .sw-val{ font-weight:500; color:var(--gray-700); }
.sw-color-options{ display:flex; flex-wrap:wrap; gap:.65rem; }
.sw-color-swatch{
  width:38px; height:38px;
  border-radius:50%;
  border:2px solid var(--gray-200);
  cursor:pointer;
  position:relative;
  display:flex; align-items:center; justify-content:center;
  transition:border-color .15s ease, transform .15s ease;
  flex-shrink:0;
  padding:0;
}
.sw-color-swatch:hover{ transform:translateY(-2px); }
.sw-color-swatch.sw-active{ border-color:var(--ink); }
.sw-color-swatch.sw-active::after{
  content:"\2713";
  color:var(--white);
  font-size:.85rem;
  font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}
.sw-color-swatch[data-is-light="true"].sw-active::after{ color:#111; text-shadow:none; }
.sw-color-swatch:disabled{ opacity:.3; cursor:not-allowed; }

.sw-size-options{ display:flex; flex-wrap:wrap; gap:.6rem; }
.sw-size-pill{
  border:1.5px solid var(--gray-200);
  background:var(--white);
  color:var(--ink);
  padding:.6rem 1.1rem;
  border-radius:6px;
  font-size:.88rem;
  font-weight:600;
  cursor:pointer;
  transition:all .15s ease;
}
.sw-size-pill:hover{ border-color:var(--gray-500); }
.sw-size-pill.sw-active{
  background:var(--black);
  border-color:var(--black);
  color:var(--lime);
}
.sw-size-pill:disabled{ opacity:.35; cursor:not-allowed; text-decoration:line-through; }

.sw-single-variation-wrap{ min-height:1px; }
.sw-variation-hint{
  font-size:.82rem;
  color:var(--gray-500);
  margin:0;
}
.sw-variation-hint.sw-error{ color:var(--danger); font-weight:600; }

.sw-buy__actions{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
}
.sw-qty-stepper{
  display:flex; align-items:center;
  border:1.5px solid var(--gray-200);
  border-radius:var(--radius);
  overflow:hidden;
  flex-shrink:0;
}
.sw-qty-stepper button{
  width:42px; height:46px;
  border:none;
  background:var(--gray-100);
  color:var(--ink);
  font-size:1.05rem;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s ease;
}
.sw-qty-stepper button:hover{ background:var(--gray-200); }
.sw-qty-stepper button:disabled{ opacity:.4; cursor:not-allowed; }
.sw-qty-stepper .qty,
.sw-qty-stepper input[type="number"]{
  width:44px; height:46px;
  border:none;
  border-left:1.5px solid var(--gray-200);
  border-right:1.5px solid var(--gray-200);
  text-align:center;
  font-size:.95rem;
  font-weight:700;
  color:var(--ink);
  -moz-appearance:textfield;
  appearance:textfield;
  background:var(--white);
}
.sw-qty-stepper input[type="number"]::-webkit-outer-spin-button,
.sw-qty-stepper input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.sw-btn-addcart{
  flex:1 1 220px;
  background:var(--black);
  color:var(--white);
  border:none;
  border-radius:var(--radius);
  padding:0 1.4rem;
  height:46px;
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  transition:background .18s ease, color .18s ease, opacity .18s ease;
}
.sw-btn-addcart svg{ width:17px; height:17px; }
.sw-btn-addcart:hover:not(:disabled){ background:var(--lime); color:var(--black); }
.sw-btn-addcart.sw-added{ background:var(--lime); color:var(--black); }
.sw-btn-addcart:disabled{ opacity:.45; cursor:not-allowed; }
.sw-btn-addcart.sw-loading{ opacity:.7; cursor:wait; }
.sw-btn-addcart.sw-loading svg{ animation:sw-cart-spin .8s linear infinite; }
@keyframes sw-cart-spin{ to{ transform:rotate(360deg); } }

.sw-btn-wish{
  width:46px; height:46px;
  border-radius:var(--radius);
  border:1.5px solid var(--gray-200);
  background:var(--white);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  flex-shrink:0;
  transition:border-color .15s ease, background .15s ease;
}
.sw-btn-wish svg{ width:19px; height:19px; stroke:var(--gray-700); fill:none; transition:all .15s ease; }
.sw-btn-wish:hover{ border-color:var(--gray-300); }
.sw-btn-wish.sw-active svg{ fill:var(--lime); stroke:var(--lime-dark); }
.sw-btn-wish:disabled{ opacity:.55; cursor:wait; }

.sw-btn-buynow{
  width:100%;
  background:var(--white);
  color:var(--ink);
  border:1.5px solid var(--ink);
  border-radius:var(--radius);
  height:46px;
  font-size:.92rem;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, opacity .18s ease;
}
.sw-btn-buynow:hover:not(:disabled){ background:var(--ink); color:var(--white); }
.sw-btn-buynow:disabled{ opacity:.45; cursor:not-allowed; }

.sw-buy__stock{
  display:flex; align-items:center; gap:.5rem;
  font-size:.86rem; font-weight:600;
}
.sw-buy__stock .sw-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.sw-buy__stock.sw-in .sw-dot{ background:var(--lime-dark); }
.sw-buy__stock.sw-in{ color:var(--lime-dark); }
.sw-buy__stock.sw-low .sw-dot{ background:var(--danger); }
.sw-buy__stock.sw-low{ color:var(--danger); }

.sw-trust-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.75rem;
  padding-top:.4rem;
}
@media (max-width:460px){
  .sw-trust-strip{ grid-template-columns:1fr; }
}
.sw-trust-item{
  display:flex; align-items:center; gap:.6rem;
  padding:.75rem .8rem;
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--radius);
}
.sw-trust-item svg{ width:19px; height:19px; color:var(--lime-dark); flex-shrink:0; }
.sw-trust-item__text{ display:flex; flex-direction:column; gap:.05rem; }
.sw-trust-item__text b{ font-size:.8rem; font-weight:700; color:var(--ink); }
.sw-trust-item__text span{ font-size:.72rem; color:var(--gray-500); }

.sw-details{ margin-top:clamp(2.5rem,5vw,4rem); }
.sw-tabs-head{
  display:flex;
  gap:1.75rem;
  border-bottom:1.5px solid var(--gray-200);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.sw-tab-btn{
  border:none;
  background:none;
  padding:.9rem .1rem;
  font-size:.92rem;
  font-weight:700;
  color:var(--gray-500);
  cursor:pointer;
  position:relative;
  white-space:nowrap;
  transition:color .15s ease;
}
.sw-tab-btn:hover{ color:var(--ink); }
.sw-tab-btn.sw-active{ color:var(--ink); }
.sw-tab-btn.sw-active::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-1.5px;
  height:2.5px;
  background:var(--lime-dark);
  border-radius:2px 2px 0 0;
}

.sw-tab-panel{ display:none; padding:1.75rem 0 .5rem; }
.sw-tab-panel.sw-active{ display:block; }

.sw-desc-copy{
  max-width:68ch;
  font-size:.94rem;
  color:var(--gray-700);
  line-height:1.7;
}
.sw-desc-copy p{ margin:0 0 1rem; }
.sw-desc-list{
  margin:1.25rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.6rem 1.5rem;
  max-width:60ch;
}
@media (max-width:560px){
  .sw-desc-list{ grid-template-columns:1fr; }
}
.sw-desc-list li{
  display:flex; align-items:flex-start; gap:.55rem;
  font-size:.88rem;
  color:var(--ink);
}
.sw-desc-list svg{ width:16px; height:16px; color:var(--lime-dark); flex-shrink:0; margin-top:.18rem; }

.sw-spec-table{
  width:100%;
  max-width:640px;
  border-collapse:collapse;
  font-size:.9rem;
}
.sw-spec-table tr{ border-bottom:1px solid var(--gray-200); }
.sw-spec-table tr:last-child{ border-bottom:none; }
.sw-spec-table td{ padding:.85rem .5rem; }
.sw-spec-table td:first-child{ color:var(--gray-500); font-weight:600; width:40%; }
.sw-spec-table td:last-child{ color:var(--ink); font-weight:500; }

.sw-reviews-summary{
  display:flex;
  gap:2.5rem;
  flex-wrap:wrap;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--gray-200);
  margin-bottom:1.5rem;
}
.sw-reviews-score{ text-align:center; flex-shrink:0; }
.sw-reviews-score__num{
  font-family:'Archivo Black','Poppins',sans-serif;
  font-weight:400;
  font-size:2.6rem;
  line-height:1;
  color:var(--ink);
}
.sw-reviews-score .sw-stars{ color:var(--star); font-size:1rem; letter-spacing:1px; display:block; margin-top:.4rem; }
.sw-reviews-score__count{ font-size:.8rem; color:var(--gray-500); margin-top:.3rem; }

.sw-reviews-bars{ flex:1; min-width:220px; display:flex; flex-direction:column; gap:.4rem; justify-content:center; }
.sw-rbar{ display:flex; align-items:center; gap:.6rem; font-size:.78rem; color:var(--gray-700); }
.sw-rbar__label{ width:2.2rem; flex-shrink:0; }
.sw-rbar__track{ flex:1; height:7px; background:var(--gray-200); border-radius:999px; overflow:hidden; }
.sw-rbar__fill{ display:block; height:100%; background:var(--lime-dark); border-radius:999px; }
.sw-rbar__count{ width:2.4rem; text-align:right; color:var(--gray-500); flex-shrink:0; }

.sw-no-reviews{ font-size:.9rem; color:var(--gray-500); }

.sw-review-item{ padding:1.25rem 0; border-bottom:1px solid var(--gray-200); }
.sw-review-item:last-child{ border-bottom:none; }
.sw-review-item__head{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap;
  margin-bottom:.4rem;
}
.sw-review-item__author{ display:flex; align-items:center; gap:.6rem; }
.sw-review-avatar{
  width:34px; height:34px; border-radius:50%;
  background:var(--black);
  color:var(--lime);
  display:flex; align-items:center; justify-content:center;
  font-size:.8rem; font-weight:700;
  flex-shrink:0;
}
.sw-review-item__name{ font-size:.88rem; font-weight:700; color:var(--ink); }
.sw-review-item__verified{
  font-size:.72rem; color:var(--lime-dark); font-weight:600;
  display:flex; align-items:center; gap:.25rem;
}
.sw-review-item__date{ font-size:.78rem; color:var(--gray-500); }
.sw-review-item .sw-stars{ color:var(--star); font-size:.85rem; letter-spacing:1px; margin-bottom:.4rem; display:block; }
.sw-review-item p{ font-size:.88rem; color:var(--gray-700); margin:0; line-height:1.6; max-width:70ch; white-space:pre-line; }

.sw-btn-outline{
  border:1.5px solid var(--ink);
  background:var(--white);
  color:var(--ink);
  padding:.7rem 1.5rem;
  border-radius:var(--radius);
  font-weight:700;
  font-size:.86rem;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, opacity .18s ease;
  margin-top:.5rem;
}
.sw-btn-outline:hover:not(:disabled){ background:var(--black); color:var(--lime); }
.sw-btn-outline:disabled{ opacity:.5; cursor:default; }
.sw-btn-outline.sw-loading{ opacity:.65; cursor:wait; }
.sw-btn-outline--solid{ background:var(--black); color:var(--lime); border-color:var(--black); }
.sw-btn-outline--solid:hover:not(:disabled){ background:var(--lime-dark); color:var(--black); border-color:var(--lime-dark); }

.sw-review-form-wrap{ margin-top:2rem; }
.sw-review-gate{
  font-size:.88rem;
  color:var(--gray-700);
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--radius);
  padding:1rem 1.15rem;
}
.sw-review-gate a{ color:var(--ink); font-weight:700; }

.sw-review-form{
  max-width:640px;
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--radius);
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.sw-review-form__title{
  font-family:'Archivo Black','Poppins',sans-serif;
  font-weight:400;
  font-size:1.1rem;
  margin:0;
}
.sw-review-form__label{
  font-size:.85rem;
  font-weight:700;
  color:var(--ink);
  display:block;
  margin-bottom:.4rem;
}
.sw-star-picker{ display:flex; gap:.3rem; }
.sw-star-picker__star{
  border:none; background:none; cursor:pointer;
  font-size:1.6rem; line-height:1;
  color:var(--gray-300);
  padding:.1rem;
  transition:color .12s ease, transform .12s ease;
}
.sw-star-picker__star:hover{ transform:scale(1.08); }
.sw-star-picker__star.sw-filled{ color:var(--star); }
.sw-review-form__field textarea{
  width:100%;
  border:1.5px solid var(--gray-200);
  border-radius:6px;
  padding:.7rem .85rem;
  font-family:inherit;
  font-size:.88rem;
  color:var(--ink);
  resize:vertical;
  min-height:100px;
}
.sw-review-form__field textarea:focus{ outline:2px solid var(--black); outline-offset:1px; border-color:var(--ink); }
.sw-review-form__msg{
  font-size:.84rem;
  font-weight:600;
  min-height:1.2em;
}
.sw-review-form__msg.sw-success{ color:var(--lime-dark); }
.sw-review-form__msg.sw-error{ color:var(--danger); }

.sw-related{ margin-top:clamp(2.5rem,5vw,4rem); }
.sw-related__head{
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom:1.2rem;
  gap:1rem; flex-wrap:wrap;
}
.sw-related__head h2{
  font-family:'Archivo Black','Poppins',sans-serif;
  font-weight:400;
  font-size:1.3rem;
  margin:0;
}
.sw-related__head a{
  font-size:.85rem; font-weight:700; color:var(--ink);
  text-decoration:none;
  display:flex; align-items:center; gap:.3rem;
}
.sw-related__head a:hover{ color:var(--lime-dark); }
.sw-related__head a svg{ width:15px; height:15px; }

.sw-related-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.4rem;
}
@media (max-width:1100px){
  .sw-related-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:800px){
  .sw-related-grid{ grid-template-columns:repeat(2,1fr); gap:.9rem; }
}
@media (max-width:420px){
  .sw-related-grid{ grid-template-columns:1fr; }
}

.sw-card{
  position:relative;
  background:var(--white);
  border-radius:var(--radius);
  border:1px solid var(--gray-200);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  display:flex;
  flex-direction:column;
  transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .28s ease;
}
.sw-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-card-hover);
  border-color:var(--gray-300);
}
.sw-card__link{ position:absolute; inset:0; z-index:1; }
.sw-card__media{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--gray-100);
}
.sw-card__media img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.sw-card:hover .sw-card__media img{ transform:scale(1.08); }
.sw-card__body{
  padding:.95rem 1rem 1.1rem;
  display:flex;
  flex-direction:column;
  gap:.4rem;
  flex:1;
  position:relative;
  z-index:2;
  pointer-events:none;
}
.sw-card__body a{ pointer-events:auto; position:relative; z-index:3; }
.sw-card__cat{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--gray-500);
  font-weight:700;
}
.sw-card__title{
  font-size:.95rem;
  font-weight:600;
  color:var(--ink);
  margin:0;
  line-height:1.35;
}
.sw-card__title a{ color:inherit; text-decoration:none; }
.sw-card__rating{
  display:flex; align-items:center; gap:.35rem;
  font-size:.78rem;
  color:var(--gray-500);
}
.sw-card__rating .sw-stars{ color:var(--star); letter-spacing:1px; font-size:.8rem; }
.sw-card__price-row{ display:flex; align-items:baseline; gap:.5rem; margin-top:.15rem; flex-wrap:wrap; }
.sw-card__price{ font-size:1.08rem; font-weight:800; color:var(--ink); }
.sw-card__price del{ font-size:.82rem; color:var(--gray-500); text-decoration:line-through; font-weight:400; margin-right:.35rem; }
.sw-card__price ins{ text-decoration:none; }

.sw-toast{
  position:fixed;
  bottom:1.5rem;
  left:50%;
  transform:translate(-50%,20px);
  background:var(--black);
  color:var(--white);
  padding:.85rem 1.3rem;
  border-radius:var(--radius);
  font-size:.88rem;
  font-weight:600;
  display:flex; align-items:center; gap:.6rem;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  z-index:1100;
  opacity:0;
  pointer-events:none;
  transition:transform .3s cubic-bezier(.22,1,.36,1), opacity .3s ease;
  max-width:calc(100vw - 2rem);
}
.sw-toast.sw-show{ opacity:1; transform:translate(-50%,0); }
.sw-toast svg{ width:16px; height:16px; color:var(--lime); flex-shrink:0; }
.sw-toast.sw-toast--error svg{ color:#ff6b6b; }

.sw-cart-count{ display:none; }

.sw-related__spacer { height:10vh; }

@media (prefers-reduced-motion:reduce){
  .sw-product-main *,
  .sw-details *,
  .sw-related *,
  .sw-crumb-bar *{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}