:root{
  --shop-hero-min-height:560px;
  --shop-shell-gap:2rem;
  --shop-sidebar-width:290px;
  --shop-toolbar-gap:2rem;
  --shop-toolbar-padding:1.5rem 1.75rem;
  --shop-surface:rgba(255,255,255,.04);
  --shop-surface-strong:rgba(255,255,255,.08);
  --shop-surface-light:rgba(17,17,17,.035);
  --shop-border-soft:1px solid rgba(216,194,168,.16);
  --shop-grid-columns:repeat(3,minmax(0,1fr));
  --shop-grid-gap:1.5rem;
}

.shop-hero{
  position:relative;
  min-height:var(--shop-hero-min-height);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:calc(var(--space-header-y) + var(--space-header-offset) + 88px) var(--space-page-x) 72px;
  background:var(--charcoal);
}

.shop-hero-bg,
.shop-hero-overlay{
  position:absolute;
  inset:0;
}

.shop-hero-bg{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.62) saturate(1.02);
}

.shop-hero-overlay{
  background:linear-gradient(110deg,rgba(17,17,17,.88) 0%,rgba(17,17,17,.55) 42%,rgba(17,17,17,.18) 100%);
}

.shop-hero-inner{
  position:relative;
  z-index:2;
  max-width:760px;
}

.shop-hero-label{
  margin:0 0 1rem;
}

.shop-hero-title{
  margin:0 0 1.4rem;
  color:var(--ivory);
  font-size:clamp(3.25rem,7vw,7.5rem);
  line-height:.96;
  font-style:italic;
}

.shop-hero-description{
  max-width:620px;
  margin:0 0 1.5rem;
  color:rgba(245,241,234,.82);
  font-family:var(--font-family-body);
  font-size:1rem;
  font-weight:300;
  line-height:1.9;
}

.shop-hero-meta{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  color:rgba(245,241,234,.68);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-family:var(--font-family-body);
  font-size:.68rem;
}

.shop-hero-meta-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--accent);
}

.shop-archive-section{
  background:var(--charcoal);
  padding:var(--space-section-y) var(--space-page-x);
}

.shop-shell{
  display:grid;
  grid-template-columns:minmax(240px,var(--shop-sidebar-width)) minmax(0,1fr);
  gap:var(--shop-shell-gap);
  align-items:start;
}

.shop-sidebar{
  position:sticky;
  top:120px;
}

.shop-filter-card{
  background:var(--shop-surface);
  border:var(--shop-border-soft);
  padding:1.35rem;
  margin-bottom:1rem;
  backdrop-filter:blur(12px);
}

.shop-filter-title,
.shop-widget .widget-title{
  margin:0 0 1rem;
  color:var(--ivory);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-family:var(--font-family-body);
  font-size:.72rem;
  font-weight:500;
}

.shop-filter-list,
.shop-widget ul,
.product-categories{
  list-style:none;
  margin:0;
  padding:0;
}

.shop-filter-list li + li,
.shop-widget li + li,
.product-categories li + li{
  margin-top:.7rem;
}

.shop-filter-list a,
.shop-widget a,
.product-categories a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:rgba(245,241,234,.8);
  text-decoration:none;
  font-family:var(--font-family-body);
  font-size:.88rem;
  font-weight:300;
  transition:color .3s ease,transform .3s ease;
}

.shop-filter-list a:hover,
.shop-widget a:hover,
.product-categories a:hover{
  color:var(--ivory);
  transform:translateX(4px);
}

.shop-filter-list span,
.shop-widget count,
.product-categories .count{
  color:rgba(245,241,234,.44);
  font-size:.78rem;
}

.shop-filter-note .shop-filter-list-static li{
  color:rgba(245,241,234,.72);
  font-family:var(--font-family-body);
  font-size:.85rem;
  line-height:1.8;
}

.woocommerce-product-search,
.shop-widget form{
  display:flex;
  gap:0;
}

.woocommerce-product-search .search-field,
.shop-widget .search-field,
.shop-widget select,
.shop-toolbar .orderby{
  width:100%;
  background:rgba(245,241,234,.06);
  border:1px solid rgba(245,241,234,.18);
  color:var(--ivory);
  padding:.85rem 1rem;
  font-family:var(--font-family-body);
  font-size:.88rem;
  outline:none;
}

.woocommerce-product-search button,
.shop-widget button{
  background:var(--accent);
  border:1px solid var(--accent);
  color:var(--ivory);
  padding:.85rem 1rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-family:var(--font-family-body);
  font-size:.65rem;
  font-weight:500;
  cursor:none;
}

.shop-main{
  min-width:0;
}

.shop-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:var(--shop-toolbar-gap);
  margin-bottom:2rem;
  padding:var(--shop-toolbar-padding);
  background:var(--shop-surface);
  border:var(--shop-border-soft);
}

.shop-toolbar-copy{
  max-width:520px;
}

.shop-toolbar-kicker{
  margin:0 0 .6rem;
  color:var(--accent);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-family:var(--font-family-body);
  font-size:.66rem;
  font-weight:500;
}

.shop-toolbar-title{
  margin:0;
  color:var(--ivory);
  font-family:var(--font-family-display);
  font-size:clamp(2rem,3vw,3.25rem);
  font-weight:300;
  line-height:1.05;
}

.shop-toolbar-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1rem;
  flex-wrap:wrap;
}

.shop-toolbar .woocommerce-result-count{
  margin:0;
  color:rgba(245,241,234,.62);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-family:var(--font-family-body);
  font-size:.66rem;
}

.shop-toolbar .woocommerce-ordering{
  margin:0;
}

.woocommerce ul.products,
.woocommerce-page ul.products{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:var(--shop-grid-columns);
  gap:var(--shop-grid-gap);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
  display:none;
}

.shop-product-card{
  margin:0 !important;
  width:auto !important;
  float:none !important;
  background:var(--card-bg-dark);
  border:var(--card-border);
  overflow:hidden;
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}

.shop-product-card:hover{
  transform:translateY(-8px);
  border-color:rgba(216,194,168,.28);
  box-shadow:0 22px 44px rgba(0,0,0,.18);
}

.shop-product-media{
  position:relative;
  background:#1a1a1a;
  overflow:hidden;
}

.shop-product-image-link{
  display:block;
  aspect-ratio:1 / 1.08;
}

.shop-product-image,
.shop-product-image-link img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s cubic-bezier(.25,.46,.45,.94);
}

.shop-product-card:hover .shop-product-image,
.shop-product-card:hover .shop-product-image-link img{
  transform:scale(1.05);
}

.shop-product-actions{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .3s ease,transform .3s ease;
}

.shop-product-card:hover .shop-product-actions{
  opacity:1;
  transform:translateY(0);
}

.shop-add-to-cart,
.shop-add-to-cart.button{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.9rem 1rem;
  background:var(--accent);
  border:1px solid var(--accent);
  color:var(--ivory);
  text-decoration:none;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-family:var(--font-family-body);
  font-size:.64rem;
  font-weight:500;
}

.shop-add-to-cart:hover,
.shop-add-to-cart.button:hover{
  background:var(--taupe);
  border-color:var(--taupe);
  color:var(--ivory);
}

.shop-product-info{
  padding:1.35rem;
}

.shop-product-category{
  display:block;
  margin-bottom:.45rem;
}

.shop-product-title{
  display:block;
  margin-bottom:.65rem;
  color:var(--ivory);
  text-decoration:none;
}

.shop-product-description{
  min-height:2.6em;
}

.shop-product-price-row{
  margin-top:1.15rem;
}

.shop-product-price{
  color:var(--beige);
  font-family:var(--font-family-display);
  font-size:1.35rem;
  font-weight:500;
}

.shop-product-price ins{
  background:none;
  text-decoration:none;
  color:var(--beige);
}

.shop-product-price del{
  color:rgba(245,241,234,.35);
  margin-right:.4rem;
  font-size:.85rem;
}

.shop-product-link{
  color:rgba(245,241,234,.7);
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  font-family:var(--font-family-body);
  font-size:.62rem;
}

.shop-product-link:hover{
  color:var(--ivory);
}

.woocommerce-pagination{
  margin-top:2.5rem;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul{
  display:flex;
  gap:.6rem;
  border:0;
  padding:0;
  margin:0;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul li{
  border:0;
}

.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span,
.woocommerce-page nav.woocommerce-pagination ul li a{
  min-width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 1rem;
  background:var(--shop-surface);
  border:var(--shop-border-soft);
  color:rgba(245,241,234,.8);
  text-decoration:none;
  font-family:var(--font-family-body);
  font-size:.82rem;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce-page nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li a:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--ivory);
}

.shop-empty-state{
  padding:3rem;
  background:var(--shop-surface);
  border:var(--shop-border-soft);
  text-align:left;
}

.shop-empty-kicker{
  display:block;
  margin-bottom:.8rem;
  color:var(--accent);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-family:var(--font-family-body);
  font-size:.66rem;
  font-weight:500;
}

.shop-empty-title{
  margin:0 0 1rem;
  color:var(--ivory);
  font-family:var(--font-family-display);
  font-size:clamp(2rem,4vw,3.6rem);
  font-weight:300;
  line-height:1.05;
}

.shop-empty-description{
  max-width:540px;
  margin:0 0 1.5rem;
  color:rgba(245,241,234,.72);
  font-family:var(--font-family-body);
  line-height:1.9;
}

@media (max-width: 1200px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 1024px){
  .shop-hero{
    padding:calc(var(--space-header-y) + var(--space-header-offset) + 72px) var(--space-page-x-tablet) 56px;
  }

  .shop-archive-section{
    padding:96px var(--space-page-x-tablet);
  }

  .shop-shell{
    grid-template-columns:1fr;
  }

  .shop-sidebar{
    position:static;
  }

  .shop-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width: 768px){
  .shop-hero{
    min-height:500px;
    padding:calc(var(--space-header-y) + var(--space-header-offset) + 58px) var(--space-page-x-mobile) 44px;
  }

  .shop-archive-section{
    padding:72px var(--space-page-x-mobile);
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns:1fr;
  }

  .shop-product-actions{
    opacity:1;
    transform:none;
    position:static;
    padding:1rem 1rem 0;
  }

  .shop-product-media{
    padding-bottom:1rem;
  }

  .shop-filter-card,
  .shop-toolbar,
  .shop-empty-state{
    padding:1.15rem;
  }
}


.shop-main .page-numbers{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  list-style:none;
  margin:2rem 0 0;
  padding:0;
}

.shop-main .page-numbers li{
  margin:0;
}

.shop-main .page-numbers a,
.shop-main .page-numbers span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 .9rem;
  border:1px solid rgba(245,241,234,.18);
  background:rgba(255,255,255,.04);
  color:var(--ivory);
  text-decoration:none;
  font-family:var(--font-family-body);
  font-size:.82rem;
}

.shop-main .page-numbers .current{
  background:var(--accent);
  border-color:var(--accent);
}
