/* WORLD WALK SPORTS - Shop / Cart additions
   Uses the site's existing colour variables & button styles so the
   look matches the rest of the theme. Does not override any
   existing rule. */

.wws-product-card{
  background:#fff;
  border:1px solid #e6e6e6;
  padding:15px;
  margin-bottom:25px;
  height:100%;
  transition:box-shadow .3s ease, transform .3s ease;
}
.wws-product-card:hover{
  box-shadow:0 5px 20px rgba(0,0,0,.08);
  transform:translateY(-3px);
}
.wws-product-card .wws-pdt-img{
  display:block;
  width:100%;
  height:230px;
  object-fit:cover;
  margin-bottom:12px;
  border:1px solid #eee;
}
.wws-product-card h4{
  font-size:16px;
  margin:0 0 6px 0;
  color:var(--absolute-black);
  text-transform:capitalize;
}
.wws-pdt-cat{
  font-size:12px;
  color:var(--primary-gray-500);
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:6px;
  display:block;
}
.wws-view-link{
  display:block;
  text-align:center;
  font-size:12px;
  margin-top:8px;
  color:var(--primary-gray-500);
  text-decoration:underline;
}
.wws-color-select{
  flex:1 1 90px;
}
.wws-pdt-row{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.wws-size-select{
  flex:1 1 90px;
}
.wws-qty-box{
  display:flex;
  align-items:center;
  border:1px solid var(--primary-gray-500);
  border-radius:3px;
  overflow:hidden;
}
.wws-qty-box button{
  background:var(--primary-gray-300);
  border:none;
  width:28px;
  height:30px;
  font-size:16px;
  cursor:pointer;
}
.wws-qty-box button:hover{ background:#e2e2e2; }
.wws-qty-input{
  width:40px;
  border:none;
  text-align:center;
  height:30px;
  font-size:14px;
}
.wws-add-btn{
  width:100%;
  text-align:center;
  border:none;
  cursor:pointer;
}
.wws-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-bottom:35px;
}
.wws-filter-bar .ros-btn{
  padding:8px 18px;
  font-size:13px;
  cursor:pointer;
  border:1px solid var(--absolute-black);
  background:transparent;
  color:var(--absolute-black);
}
.wws-filter-bar .ros-btn.ros-btn-black{
  background:var(--absolute-black);
  color:#fff;
}

/* Basket page */
.wws-basket-wrap{
  padding:40px 0 60px 0;
}
.cartQuantity.wws-line-qty{ margin-top:0; }
.cartProduct .cartPdctImage img{ width:100%; height:90px; object-fit:cover; }
.wws-cust-field{
  width:100%;
  margin:0 0 12px 0;
  padding:10px 12px;
  border:1px solid #ccc;
  font-size:14px;
  border-radius:3px;
}
.wws-cust-field:focus{
  border-color:var(--primary-gray-500);
  outline:none;
}

/* Product detail page */
.wws-detail-main-img-wrap{
  border:1px solid #eee;
  margin-bottom:12px;
}
.wws-detail-main-img-wrap img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
}
.wws-thumbs{
  display:flex;
  gap:10px;
}
.wws-thumb-img{
  width:80px;
  height:80px;
  object-fit:cover;
  border:2px solid #eee;
  cursor:pointer;
  opacity:.8;
}
.wws-thumb-img.active,
.wws-thumb-img:hover{
  border-color:var(--absolute-black);
  opacity:1;
}
.wws-detail-cat{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--primary-gray-500);
  display:block;
  margin-bottom:6px;
}
.wws-detail-name{
  font-size:26px;
  font-weight:700;
  margin-bottom:10px;
  text-transform:capitalize;
}
.wws-detail-meta-row{
  margin-bottom:14px;
  font-size:14px;
}
.wws-detail-meta-row strong{
  display:inline-block;
  min-width:110px;
}
.wws-color-chip{
  display:inline-block;
  background:var(--primary-gray-300);
  border:1px solid #ddd;
  border-radius:20px;
  padding:4px 14px;
  font-size:12px;
  margin:0 6px 6px 0;
}
.wws-detail-note{
  font-size:12px;
  color:var(--primary-gray-500);
  margin-top:4px;
  display:block;
}
.wws-detail-block{
  margin-top:35px;
  padding-top:25px;
  border-top:1px solid #eee;
}
.wws-detail-block h3{
  font-size:18px;
  text-transform:uppercase;
  margin-bottom:12px;
  font-weight:700;
}
.wws-detail-block p{
  color:var(--primary-gray-500);
  line-height:1.8;
}
.wws-notfound{
  text-align:center;
  padding:60px 0;
}
