/* Shop page -- Amazon/Flipkart-style listing, built on the Cold Luxury Console tokens */

.shop-crumb-row{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);
  flex-wrap:wrap;
  padding:var(--space-sm) 0;
  border-bottom:1px solid var(--border);
}
.shop-breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.85rem;color:var(--ink-muted);}
.shop-breadcrumb a{color:var(--ink-muted);}
.shop-breadcrumb a:hover{color:var(--accent);}
.shop-breadcrumb a:last-of-type{color:var(--ink);font-weight:600;}

.shop-search{
  display:flex;align-items:center;gap:0;
  border:1px solid var(--border);border-radius:var(--radius-pill);
  background:var(--surface);overflow:hidden;min-width:240px;
}
.shop-search input{
  border:none;outline:none;padding:10px 4px 10px 16px;font-family:var(--font-body);
  font-size:0.9rem;flex-grow:1;background:transparent;color:var(--ink);
}
.shop-search button{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;color:var(--ink-muted);flex-shrink:0;
}
.shop-search button:hover{color:var(--accent);}

.shop-title-row{padding:var(--space-md) 0 var(--space-sm);}
.shop-title-row h1{font-size:clamp(1.6rem,2.4vw,2rem);margin-bottom:4px;}
.shop-title-sub{color:var(--ink-muted);font-size:0.9rem;}

.shop-layout{
  display:grid;
  grid-template-columns:240px minmax(0,1fr) 240px;
  gap:var(--space-md);
  align-items:start;
  padding-bottom:var(--space-xl);
}

/* ---------- Sidebar filters ---------- */
.shop-sidebar{
  position:sticky;top:88px;
  display:flex;flex-direction:column;gap:var(--space-md);
}
.filter-block{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-sm) var(--space-sm) var(--space-md);
}
.filter-block h3{
  font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;
  color:var(--ink-muted);font-weight:600;margin-bottom:10px;
}
.filter-tree{display:flex;flex-direction:column;gap:2px;}
.filter-tree li a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 8px;border-radius:var(--radius-sm);font-size:0.88rem;color:var(--ink);
}
.filter-tree li a:hover{background:var(--surface-raised);}
.filter-tree li.is-active > a{color:var(--accent);font-weight:600;background:var(--surface-raised);}
.filter-tree .count{color:var(--ink-muted);font-size:0.78rem;font-variant-numeric:tabular-nums;}
.filter-subtree{margin-left:12px;padding-left:10px;border-left:1px solid var(--border);margin-top:2px;margin-bottom:6px;}
.filter-subtree li a{font-size:0.83rem;padding:5px 8px;}

.filter-form{display:flex;flex-direction:column;gap:var(--space-md);}
.filter-check-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;padding-right:4px;}
.filter-check-list label{
  display:flex;align-items:center;gap:8px;font-size:0.86rem;color:var(--ink);cursor:pointer;
}
.filter-check-list input[type=checkbox]{
  width:15px;height:15px;accent-color:var(--accent);flex-shrink:0;
}
.filter-check-list .count{margin-left:auto;color:var(--ink-muted);font-size:0.78rem;}

.filter-price-row{display:flex;align-items:center;gap:8px;}
.filter-price-row input{
  width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:0.86rem;background:var(--bg);color:var(--ink);
}
.filter-price-row span{color:var(--ink-muted);}

.filter-apply{width:100%;padding:11px;font-size:0.88rem;}
.filter-clear{
  display:block;text-align:center;font-size:0.82rem;color:var(--ink-muted);
  text-decoration:underline;margin-top:-4px;
}
.filter-clear:hover{color:var(--accent);}

/* ---------- Results ---------- */
.shop-results{min-width:0;}
.shop-sort-bar{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);
  padding:10px 14px;margin-bottom:var(--space-md);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
}
.shop-sort-count{font-size:0.85rem;color:var(--ink-muted);}
.shop-sort-form{display:flex;align-items:center;gap:8px;}
.shop-sort-form label{font-size:0.82rem;color:var(--ink-muted);}
.shop-sort-form select{
  border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;
  font-family:var(--font-body);font-size:0.85rem;background:var(--bg);color:var(--ink);
}

.product-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);
}
.product-card{
  display:flex;flex-direction:column;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  overflow:hidden;transition:border-color .15s ease;
}
.product-card:hover{border-color:var(--accent);}
.product-card-media{
  display:block;aspect-ratio:1/1;background:var(--surface-raised);overflow:hidden;
}
.product-card-media img{width:100%;height:100%;object-fit:cover;}
.product-card-body{display:flex;flex-direction:column;padding:var(--space-sm);gap:6px;flex-grow:1;}
.product-card-body .tag{
  align-self:flex-start;font-family:var(--font-heading);font-weight:600;font-size:0.68rem;
  text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-muted);
  background:var(--surface-raised);padding:3px 9px;border-radius:var(--radius-pill);
}
.product-card-body h3{font-size:0.98rem;line-height:1.3;font-weight:600;}
.product-card-body h3 a{color:var(--ink);}
.product-card-body h3 a:hover{color:var(--accent);}
.product-price{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--ink);}
.product-cta{margin-top:auto;padding:10px 16px;font-size:0.85rem;width:100%;}

.shop-pagination{display:flex;justify-content:center;gap:6px;margin-top:var(--space-lg);flex-wrap:wrap;}
.shop-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;
  border:1px solid var(--border);border-radius:var(--radius-sm);font-size:0.85rem;color:var(--ink);
}
.shop-pagination .page-numbers.current{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);}
.shop-pagination .page-numbers:hover:not(.current){border-color:var(--accent);color:var(--accent);}

.shop-empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
  padding:var(--space-xl) var(--space-md);
  background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);
}
.shop-empty-icon{font-size:2.2rem;opacity:0.6;}
.shop-empty h3{font-size:1.1rem;}
.shop-empty p{color:var(--ink-muted);max-width:40ch;}

/* ---------- Right promo rail ---------- */
.shop-promo{display:flex;flex-direction:column;gap:var(--space-md);position:sticky;top:88px;}
.promo-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-sm) var(--space-md);
}
.promo-card--muted{background:var(--surface-raised);}
.promo-card h4{font-size:0.85rem;margin-bottom:10px;}
.promo-card p{font-size:0.82rem;color:var(--ink-muted);line-height:1.55;}
.promo-card p a{color:var(--accent);text-decoration:underline;}
.promo-list{display:flex;flex-direction:column;gap:8px;}
.promo-list li{display:flex;align-items:flex-start;gap:8px;font-size:0.83rem;color:var(--ink-muted);line-height:1.4;}
.promo-dot{
  width:6px;height:6px;border-radius:50%;background:var(--accent);
  margin-top:6px;flex-shrink:0;
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .shop-layout{grid-template-columns:220px minmax(0,1fr);}
  .shop-promo{display:none;}
}
@media (max-width:860px){
  .shop-layout{grid-template-columns:1fr;}
  .shop-sidebar{position:static;order:2;}
  .shop-results{order:1;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .product-grid{grid-template-columns:1fr;}
  .shop-crumb-row{flex-direction:column;align-items:flex-start;}
  .shop-search{width:100%;}
}

/* ---------- Single product page ---------- */
.product-single{padding:var(--space-md) var(--space-md) var(--space-xl);}
.product-single-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);
  margin-top:var(--space-md);
}
.product-single-media{
  aspect-ratio:1/1;background:var(--surface-raised);border-radius:var(--radius-md);
  overflow:hidden;border:1px solid var(--border);
}
.product-single-media img{width:100%;height:100%;object-fit:cover;}
.product-single-body .tag{
  display:inline-block;font-family:var(--font-heading);font-weight:600;font-size:0.72rem;
  text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-muted);
  background:var(--surface-raised);padding:4px 10px;border-radius:var(--radius-pill);margin-bottom:10px;
}
.product-single-body h1{margin-bottom:10px;}
.product-single-price{font-family:var(--font-heading);font-weight:700;font-size:1.8rem;margin-bottom:var(--space-sm);}
.product-single-content{color:var(--ink-muted);line-height:1.7;margin-bottom:var(--space-md);}
.product-single-cta{padding:15px 32px;font-size:1rem;}
.product-single-note{color:var(--ink-muted);font-size:0.8rem;margin-top:10px;}
.media-placeholder--lg{width:100%;height:100%;}

@media (max-width:760px){
  .product-single-grid{grid-template-columns:1fr;}
}
