/* =========================================================
   SHOP / CATEGORY / TAG ARCHIVE
   Scoped under .shop-page to avoid clashing with other templates.
   ========================================================= */

.shop-page .eyebrow{
  color:var(--brown);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;
}

.shop-page .page-banner{
  width:100%;padding:48px 0 46px;margin-bottom:60px;
  background:linear-gradient(115deg,var(--brown-dark),var(--brown) 58%,#8b5a36);color:#fff;
}
.shop-page .page-banner .container{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.shop-page .page-banner .eyebrow{color:#f1e6da;margin-bottom:12px;}
.shop-page .page-banner h1{font-size:clamp(38px,5vw,68px);line-height:1;color:#fff;margin:0;}
.shop-page .banner-crumbs{display:flex;align-items:center;gap:10px;color:#f5e8dc;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.shop-page .banner-crumbs i{font-size:9px;opacity:.7;}

.shop-page .shop-section{padding:0 0 110px;}

.shop-page .shop-layout{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start;}

/* ---- sidebar filters ---- */
.shop-page .shop-sidebar{
  display:flex;flex-direction:column;gap:36px;position:sticky;top:calc(var(--header-h, 112px) + 24px);
}
.shop-page .filter-block h3{
  font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);margin-bottom:18px;
  padding-bottom:12px;border-bottom:1px solid var(--line);
}
.shop-page .filter-cat-list{list-style:none;padding:0;margin:0;display:grid;gap:4px;}
.shop-page .filter-cat-list a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 10px;border-radius:8px;font-size:13.5px;color:var(--ink-soft);transition:all .2s ease;
}
.shop-page .filter-cat-list a:hover{background:var(--off-white);color:var(--ink);}
.shop-page .filter-cat-list a.active{background:var(--brown-tint);color:var(--brown-dark);font-weight:600;}
.shop-page .filter-cat-list .filter-count{font-size:11px;color:var(--ink-soft);}
.shop-page .filter-cat-list a.active .filter-count{color:var(--brown-dark);}

.shop-page .filter-price-form{display:flex;flex-direction:column;gap:14px;}
.shop-page .filter-price-inputs{display:flex;align-items:center;gap:10px;}
.shop-page .filter-price-inputs span{color:var(--ink-soft);}
.shop-page .filter-price-inputs input{
  width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px 12px;
  font-family:var(--sans);font-size:13px;color:var(--ink);background:#fff;
}
.shop-page .filter-price-inputs input:focus{outline:none;border-color:var(--brown);}
.shop-page .filter-price-apply{
  background:var(--brown);color:#fff;padding:11px;font-size:12px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;border-radius:2px;transition:background .3s ease;
}
.shop-page .filter-price-apply:hover{background:var(--brown-dark);}
.shop-page .filter-price-clear{font-size:12px;color:var(--brown);text-decoration:underline;text-align:center;}

.shop-page .shop-main .product-grid{grid-template-columns:repeat(3,1fr);}

.shop-page .shop-toolbar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  padding-bottom:24px;margin-bottom:36px;border-bottom:1px solid var(--line);
}
.shop-page .woocommerce-result-count{font-size:13px;color:var(--ink-soft);margin:0;}
.shop-page .woocommerce-ordering{margin:0;}
.shop-page .woocommerce-ordering select{
  border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-family:var(--sans);
  font-size:13px;color:var(--ink);background:#fff;
}

.shop-page .shop-no-products{
  text-align:center;color:var(--ink-soft);font-size:15px;padding:60px 0;
}

.shop-page .shop-pagination{margin-top:56px;}
.shop-page .woocommerce-pagination ul.page-numbers{
  display:flex;justify-content:center;gap:8px;list-style:none;padding:0;margin:0;flex-wrap:wrap;
}
.shop-page .woocommerce-pagination .page-numbers{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;font-size:13px;color:var(--ink);transition:all .25s ease;
}
.shop-page .woocommerce-pagination a.page-numbers:hover{border-color:var(--brown);color:var(--brown-dark);}
.shop-page .woocommerce-pagination .page-numbers.current{
  background:var(--brown);border-color:var(--brown);color:#fff;
}

/* WooCommerce prints notices (e.g. "product added to cart") as a bare <ul> */
.shop-page ul.woocommerce-notices-wrapper,
.shop-page .woocommerce-message,
.shop-page .woocommerce-info,
.shop-page .woocommerce-error{
  list-style:none;background:var(--brown-tint);color:var(--ink);border-radius:10px;
  padding:16px 20px;font-size:14px;margin-bottom:28px;border-left:3px solid var(--brown);
}
.shop-page .woocommerce-error{background:#fbe7e4;border-left-color:#C0392B;}

@media (max-width: 1080px){
  .shop-page .shop-main .product-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 900px){
  .shop-page .page-banner .container{display:block;}
  .shop-page .banner-crumbs{margin-top:24px;}
  .shop-page .shop-layout{grid-template-columns:1fr;gap:36px;}
  .shop-page .shop-sidebar{
    position:static;flex-direction:row;flex-wrap:wrap;gap:24px 40px;
    padding-bottom:28px;border-bottom:1px solid var(--line);
  }
  .shop-page .filter-block{flex:1 1 220px;}
}
@media (max-width: 580px){
  .shop-page .page-banner{padding:34px 0 32px;margin-bottom:44px;}
  .shop-page .page-banner h1{font-size:42px;}
  .shop-page .banner-crumbs{font-size:9px;flex-wrap:wrap;white-space:normal;}
  .shop-page .shop-section{padding-bottom:70px;}
  .shop-page .shop-toolbar{flex-direction:column;align-items:flex-start;}
  .shop-page .shop-main .product-grid{grid-template-columns:1fr;gap:16px;}
}
