/* ==========================================================
   TeeStyle — WooCommerce Shop Page Skin
   Scoped under body.ts-shop-page
   ========================================================== */

body.ts-shop-page {
  --ts-ink: #14161a;
  --ts-gold: #E8A33D;
  --ts-gold-dark: #C98A2E;
  --ts-muted: #767676;
  --ts-line: #ECECEC;
  --ts-bg-soft: #F6F3EC;
  --ts-white: #FFFFFF;
}

body.ts-shop-page,
body.ts-shop-page .woocommerce{
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color:var(--ts-ink);
  -webkit-font-smoothing:antialiased;
}
body.ts-shop-page .woocommerce *{ box-sizing:border-box; }
body.ts-shop-page .woocommerce-breadcrumb{ display:none; }

/* ===== HERO ===== */
body.ts-shop-page .ts-shop-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:var(--ts-bg-soft);
  padding:0px 5vw;
  margin:0 0 30px;
}
body.ts-shop-page .ts-shop-hero__text h1{
  font-size:40px;
  font-weight:800;
  color:var(--ts-ink);
  margin:0 0 8px;
  letter-spacing:-0.01em;
}
body.ts-shop-page .ts-shop-hero__crumb{
  font-size:13.5px; color:var(--ts-muted);
}
body.ts-shop-page .ts-shop-hero__crumb a{ color:var(--ts-muted); text-decoration:none; }
body.ts-shop-page .ts-shop-hero__crumb a:hover{ color:var(--ts-ink); }
body.ts-shop-page .ts-shop-hero__crumb .breadcrumb > span:last-child,
body.ts-shop-page .ts-shop-hero__crumb .breadcrumb{ color:var(--ts-gold-dark); font-weight:600; }
body.ts-shop-page .ts-shop-hero__image img{
  max-width:340px; max-height:220px; object-fit:contain; display:block;
}
@media (max-width:700px){
  body.ts-shop-page .ts-shop-hero{ flex-direction:column; align-items:flex-start; }
}

/* ===== LAYOUT ===== */
body.ts-shop-page .ts-shop-layout{
  display:grid !important;
  grid-template-columns:260px 1fr !important;
  gap:32px;
  max-width:1320px !important;
  width:auto !important;
  float:none !important;
  margin:0 auto !important;
  padding:0 5vw 60px;
}
body.ts-shop-page .ts-shop-main{ width:auto !important; float:none !important; }
body.ts-shop-page .ts-shop-sidebar .widget{ margin-bottom:30px; }
body.ts-shop-page .ts-shop-sidebar .widget-title{
  font-size:14px; font-weight:700; color:var(--ts-ink);
  margin:0 0 14px; text-transform:none;
}

/* Category list */
body.ts-shop-page .widget_product_categories ul{ list-style:none; margin:0; padding:0; }
body.ts-shop-page .widget_product_categories li{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 0; font-size:13.5px; color:var(--ts-ink); border:none;
}
body.ts-shop-page .widget_product_categories li a{ color:inherit; text-decoration:none; }
body.ts-shop-page .widget_product_categories li a:hover{ color:var(--ts-gold-dark); }
body.ts-shop-page .widget_product_categories li .count{
  color:var(--ts-gold-dark); font-weight:600; font-size:12px;
}
body.ts-shop-page .widget_product_categories li.chosen > a{ color:var(--ts-gold-dark); font-weight:700; }

/* Price filter */
body.ts-shop-page .price_slider_amount{ text-align:left; font-size:12.5px; color:var(--ts-muted); margin-top:6px; }
body.ts-shop-page .price_slider_amount .button{
  float:right; background:var(--ts-ink); border:none; color:#fff;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  border-radius:20px; padding:8px 18px; cursor:pointer;
}
body.ts-shop-page .price_slider_amount .button:hover{ background:var(--ts-gold-dark); }
body.ts-shop-page .ui-slider{ background:var(--ts-line); border:none; height:4px; border-radius:4px; margin:14px 2px 18px; }
body.ts-shop-page .ui-slider .ui-slider-range{ background:var(--ts-gold); }
body.ts-shop-page .ui-slider .ui-slider-handle{
  background:var(--ts-gold); border:2px solid #fff; box-shadow:0 0 0 1px var(--ts-gold);
  width:14px; height:14px; border-radius:50%; top:-5px; outline:none;
}

/* Color / Size swatches */
body.ts-shop-page .ts-swatch-list{ display:flex; flex-wrap:wrap; gap:10px; }
body.ts-shop-page .ts-swatch{
  width:26px; height:26px; border-radius:50%;
  background:var(--ts-swatch-color, #ddd);
  border:1px solid rgba(0,0,0,.12);
  display:inline-block; position:relative;
}
body.ts-shop-page .ts-swatch.is-active{ box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--ts-ink); }
body.ts-shop-page .ts-swatch-list--pill{ gap:8px; }
body.ts-shop-page .ts-pill{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:34px; padding:0 12px;
  border:1px solid var(--ts-line); border-radius:6px;
  font-size:12.5px; font-weight:600; color:var(--ts-ink); text-decoration:none;
}
body.ts-shop-page .ts-pill:hover{ border-color:var(--ts-ink); }
body.ts-shop-page .ts-pill.is-active{ background:var(--ts-ink); border-color:var(--ts-ink); color:#fff; }

/* ===== TOOLBAR ===== */
body.ts-shop-page .ts-shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:0 0 22px;
}
body.ts-shop-page .ts-shop-toolbar__left{ display:flex; align-items:center; gap:14px; }
body.ts-shop-page .ts-view-toggle{
  width:34px; height:34px; border-radius:6px; border:1px solid var(--ts-line);
  background:#fff; color:var(--ts-muted); display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
body.ts-shop-page .ts-view-toggle.is-active{ background:var(--ts-ink); border-color:var(--ts-ink); color:#fff; }
body.ts-shop-page .woocommerce-result-count{ margin:0 !important; font-size:13px; color:var(--ts-muted); }
body.ts-shop-page .woocommerce-ordering{ margin:0 !important; }
body.ts-shop-page .woocommerce-ordering select.orderby{
  padding:9px 30px 9px 14px;
  border:1px solid var(--ts-line);
  border-radius:6px;
  background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><path d="M0 0l5 6 5-6z" fill="%23767676"/></svg>') no-repeat right 12px center;
  appearance:none;
  font-size:12.5px;
  color:var(--ts-ink);
}

/* ===== PRODUCT GRID ===== */
body.ts-shop-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:26px 22px !important;
  margin:0 0 30px !important;
  padding:0 !important;
  list-style:none !important;
}
body.ts-shop-page ul.products::before,
body.ts-shop-page ul.products::after{ display:none !important; }
body.ts-shop-page.ts-view--list ul.products{ grid-template-columns:1fr !important; }
body.ts-shop-page.ts-view--list ul.products li.product{ display:flex !important; gap:20px; align-items:flex-start; }
body.ts-shop-page.ts-view--list ul.products li.product .ts-card__media{ width:200px; flex:0 0 200px; }

body.ts-shop-page ul.products li.product{
  width:100% !important;
  margin:0 !important;
  padding:14px 14px 20px !important;
  float:none !important;
  background:var(--ts-white);
  border-radius:14px;
  box-shadow:0 2px 10px rgba(20,22,26,.06);
  text-align:left !important;
  position:relative;
  transition:box-shadow .25s ease, transform .25s ease;
}
body.ts-shop-page ul.products li.product:hover{
  box-shadow:0 10px 26px rgba(20,22,26,.12);
  transform:translateY(-3px);
}

body.ts-shop-page .ts-card__media{ position:relative; }
body.ts-shop-page .ts-card__media > a{ display:block; text-decoration:none; }
body.ts-shop-page .ts-card__media img{
  width:100% !important;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  border-radius:8px !important;
  background:#f2f2f2;
  transition:transform .35s ease;
}
body.ts-shop-page ul.products li.product:hover .ts-card__media img{ transform:scale(1.03); }

body.ts-shop-page .ts-badge{
  position:absolute; top:10px; left:10px; z-index:2;
  background:var(--ts-ink); color:#fff;
  font-size:10.5px; font-weight:700; text-transform:uppercase;
  padding:6px 9px; border-radius:5px;
}

body.ts-shop-page .ts-wishlist{
  position:absolute; top:10px; right:10px; z-index:3;
  width:30px; height:30px; box-sizing:border-box; border-radius:50%;
  border:none; background:#fff; color:var(--ts-ink);
  padding:0; margin:0; appearance:none; -webkit-appearance:none; font:inherit; line-height:0;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.12);
}
body.ts-shop-page .ts-wishlist svg{ display:block; flex-shrink:0; }
body.ts-shop-page .ts-wishlist:hover,
body.ts-shop-page .ts-wishlist.is-active{ color:var(--ts-gold-dark); }
body.ts-shop-page .ts-wishlist.is-active svg{ fill:var(--ts-gold-dark); }

body.ts-shop-page .ts-cart-icon{
  position:absolute; right:12px; bottom:-14px; z-index:3;
  width:34px; height:34px; box-sizing:border-box; border-radius:50%;
  background:var(--ts-ink); color:#fff;
  padding:0; margin:0; line-height:0;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  text-decoration:none; transition:background .2s ease, transform .2s ease;
}
body.ts-shop-page .ts-cart-icon svg{ display:block; flex-shrink:0; margin: 8px 11px 11px 8px;}
body.ts-shop-page .ts-cart-icon:hover{ background:var(--ts-gold-dark); transform:scale(1.06); color:#fff; }

body.ts-shop-page .ts-card__body{ padding-top:22px; }
body.ts-shop-page .ts-card__title{
  display:block; font-size:13.5px; font-weight:600; color:var(--ts-ink);
  text-decoration:none; margin:0 0 6px; line-height:1.35;
}
body.ts-shop-page .ts-card__title:hover{ color:var(--ts-gold-dark); }

body.ts-shop-page .ts-rating{ display:flex; align-items:center; gap:6px; margin:0 0 6px; }
body.ts-shop-page .ts-rating .star-rating{ font-size:11px; color:var(--ts-gold); }
body.ts-shop-page .ts-rating__count{ font-size:11px; color:var(--ts-muted); }

body.ts-shop-page .ts-card__price .price{ font-size:13.5px; font-weight:700; color:var(--ts-ink); }
body.ts-shop-page .ts-card__price .price del{ color:var(--ts-muted); font-weight:400; opacity:.8; margin-right:6px; }
body.ts-shop-page .ts-card__price .price ins{ text-decoration:none; color:var(--ts-gold-dark); }

body.ts-shop-page p.woocommerce-info,
body.ts-shop-page p.no-products-found{
  grid-column:1/-1; text-align:center; padding:50px 20px;
  color:var(--ts-muted); font-size:16px;
  background:var(--ts-white); border:1px dashed var(--ts-line); border-radius:10px;
}

/* ===== PAGINATION ===== */
body.ts-shop-page nav.woocommerce-pagination{ margin-top:10px; }
body.ts-shop-page nav.woocommerce-pagination ul{ border:none !important; display:flex; gap:8px; justify-content:center; }
body.ts-shop-page nav.woocommerce-pagination ul li{ border:none !important; }
body.ts-shop-page nav.woocommerce-pagination ul li a,
body.ts-shop-page nav.woocommerce-pagination ul li span{
  display:flex; align-items:center; justify-content:center;
  min-width:36px; height:36px; padding:0 10px;
  border:1px solid var(--ts-line); border-radius:6px;
  background:var(--ts-white); color:var(--ts-ink); font-size:13px;
}
body.ts-shop-page nav.woocommerce-pagination ul li span.current{
  background:var(--ts-ink); border-color:var(--ts-ink); color:#fff;
}
body.ts-shop-page nav.woocommerce-pagination ul li a:hover{ border-color:var(--ts-ink); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px){
  body.ts-shop-page ul.products{ grid-template-columns:repeat(3, 1fr) !important; }
}
@media (max-width: 860px){
  body.ts-shop-page .ts-shop-layout{ grid-template-columns:1fr; }
  body.ts-shop-page ul.products{ grid-template-columns:repeat(2, 1fr) !important; }
}
@media (max-width: 480px){
  body.ts-shop-page ul.products{ grid-template-columns:1fr !important; }
}
