:root {
  --cgst-orange: #f47b20;
  --cgst-orange-deep: #d9620d;
  --cgst-orange-soft: #fff2e7;
  --cgst-ink: #131a2b;
  --cgst-ink-soft: #475067;
  --cgst-line: #e9edf4;
  --cgst-bg: #f7f8fb;
  --cgst-card: #ffffff;
  --cgst-shadow: 0 16px 36px rgba(18, 24, 38, 0.06);
  --cgst-shadow-soft: 0 10px 24px rgba(18, 24, 38, 0.05);
}
body.tax-product_cat { background: var(--cgst-bg); }
.cgst-shell { width: min(1360px, calc(100% - 28px)); margin: 0 auto; }
.cgst-archive-page { color: var(--cgst-ink); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.cgst-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; font-size: 13px; font-weight: 700; line-height: 1.4; }
.cgst-breadcrumb a { color: var(--cgst-orange) !important; text-decoration: none; }
.cgst-breadcrumb a:hover { color: var(--cgst-orange-deep) !important; text-decoration: underline; }
.cgst-breadcrumb .sep { color: var(--cgst-orange) !important; }
.cgst-breadcrumb .current,
.cgst-breadcrumb [aria-current="page"] { color: #7b8698 !important; font-weight: 800; }
.cgst-archive-hero { padding: 24px 0 18px; }
.cgst-archive-hero-copy { background:#fff; border:1px solid var(--cgst-line); border-radius:24px; padding:24px; box-shadow:var(--cgst-shadow-soft); }
.cgst-eyebrow { display:inline-flex; color:var(--cgst-orange); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; margin-bottom:10px; }
.cgst-archive-hero-copy h1 { margin:0; font-size: clamp(28px, 4vw, 44px); line-height:1.05; }
.cgst-archive-hero-copy p { margin:14px 0 0; color:var(--cgst-ink-soft); line-height:1.7; }
.cgst-archive-hero-copy p p { margin:0; }
.cgst-archive-count { margin-top:16px; display:inline-flex; padding:10px 14px; border-radius:999px; background:var(--cgst-orange-soft); color:var(--cgst-orange-deep); font-weight:800; }
.cgst-archive-main { padding: 0 0 30px; }
.cgst-mobile-toolbar,.cgst-mobile-pills,.cgst-sidebar-head,.cgst-sidebar-overlay { display:none; }
.cgst-archive-layout { display:grid; grid-template-columns: 290px minmax(0,1fr); gap:20px; align-items:start; }
.cgst-archive-sidebar { position:sticky; top:88px; }
.cgst-filter-card { background:#fff; border:1px solid var(--cgst-line); border-radius:20px; padding:18px; box-shadow:var(--cgst-shadow-soft); margin-bottom:14px; }
.cgst-filter-card h3 { margin:0 0 12px; font-size:16px; }
.cgst-filter-card input,.cgst-filter-card select,.cgst-results-sort select,.cgst-mobile-sort-form select { width:100%; min-height:46px; border:1px solid #dde4ee; border-radius:14px; padding:0 14px; background:#fff; }
.cgst-filter-group { border-bottom:1px solid #eef2f6; padding:10px 0; }
.cgst-filter-group:last-child { border-bottom:0; }
.cgst-filter-group summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; font-weight:800; }
.cgst-filter-group summary::-webkit-details-marker { display:none; }
.cgst-filter-group summary a { color:var(--cgst-ink); text-decoration:none; flex:1; }
.cgst-filter-group summary span { color:var(--cgst-ink-soft); font-size:13px; }
.cgst-filter-children { display:grid; gap:8px; padding:12px 0 0 10px; }
.cgst-filter-child { display:flex; justify-content:space-between; gap:12px; text-decoration:none; color:var(--cgst-ink-soft); padding:8px 10px; border-radius:12px; }
.cgst-filter-child.is-active,.cgst-filter-child:hover { background:var(--cgst-orange-soft); color:var(--cgst-orange-deep); }
.cgst-filter-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cgst-btn { min-height:48px; border-radius:16px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-weight:800; padding:0 16px; }
.cgst-btn-primary { background:linear-gradient(180deg, var(--cgst-orange), var(--cgst-orange-deep)); color:#fff; border:0; }
.cgst-btn-secondary { background:#fff; color:var(--cgst-orange); border:1px solid rgba(244,123,32,.24); }
.cgst-results-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.cgst-results-toolbar h2 { margin:0; font-size:28px; }
.cgst-results-toolbar p { margin:8px 0 0; color:var(--cgst-ink-soft); }
.cgst-archive-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cgst-archive-product-card { background:#fff; border:1px solid var(--cgst-line); border-radius:22px; overflow:hidden; box-shadow:var(--cgst-shadow-soft); }
.cgst-archive-product-image { display:block; aspect-ratio:1 / .8; background:#f0f3f8; }
.cgst-archive-product-image img { display:block; width:100%; height:100%; object-fit:cover; }
.cgst-product-placeholder { display:grid; place-items:center; height:100%; color:#8a93a7; font-weight:700; }
.cgst-archive-product-body { padding:16px; }
.cgst-archive-product-tax { color:var(--cgst-ink-soft); font-size:13px; }
.cgst-archive-product-tax a,
.cgst-archive-product-tax a:visited {
  color: var(--cgst-orange) !important;
  text-decoration: none;
}
.cgst-archive-product-tax a:hover,
.cgst-archive-product-tax a:focus {
  color: var(--cgst-orange-deep) !important;
  text-decoration: underline;
}
.cgst-archive-product-body h3 { margin:8px 0 0; font-size:20px; line-height:1.3; }
.cgst-archive-product-body h3 a,.cgst-inline-link { text-decoration:none; color:inherit; }
.cgst-archive-product-meta { display:flex; gap:10px; flex-wrap:wrap; margin:12px 0; }
.cgst-archive-product-meta span { padding:6px 10px; border-radius:999px; background:#f7f9fc; border:1px solid #eef2f7; font-size:13px; color:var(--cgst-ink-soft); }
.cgst-archive-product-price { color:var(--cgst-orange-deep); font-weight:800; margin-bottom:12px; }
.cgst-archive-product-actions { display:flex; gap:14px; }
.cgst-inline-link { color:var(--cgst-orange); font-weight:800; }
.cgst-archive-pagination { margin-top:24px; }
.cgst-archive-pagination ul { list-style:none; padding:0; margin:0; display:flex; gap:8px; flex-wrap:wrap; }
.cgst-archive-pagination a,.cgst-archive-pagination span { display:inline-flex; min-width:40px; min-height:40px; align-items:center; justify-content:center; border-radius:12px; border:1px solid var(--cgst-line); background:#fff; text-decoration:none; color:var(--cgst-ink); }
.cgst-archive-pagination .current { background:var(--cgst-orange); color:#fff; border-color:var(--cgst-orange); }
.cgst-empty-state { background:#fff; border:1px solid var(--cgst-line); border-radius:22px; padding:28px; box-shadow:var(--cgst-shadow-soft); }
@media (max-width: 1100px) {
  .cgst-archive-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .cgst-shell { width:min(100% - 18px, 1360px); }
  .cgst-mobile-toolbar { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
  .cgst-mobile-filter-btn { min-height:46px; border:1px solid var(--cgst-line); border-radius:14px; background:#fff; font-weight:800; }
  .cgst-mobile-pills { display:flex; gap:10px; overflow-x:auto; padding:2px 0 8px; margin-bottom:12px; scrollbar-width:none; }
  .cgst-mobile-pills::-webkit-scrollbar { display:none; }
  .cgst-mobile-pill { flex:0 0 auto; padding:10px 14px; border-radius:999px; background:#fff; border:1px solid var(--cgst-line); color:var(--cgst-ink); text-decoration:none; font-weight:700; }
  .cgst-mobile-pill.is-active { background:var(--cgst-orange-soft); color:var(--cgst-orange-deep); border-color:rgba(244,123,32,.25); }
  .cgst-archive-layout { grid-template-columns:1fr; }
  .cgst-archive-sidebar { position:fixed; top:0; left:0; bottom:0; width:min(86vw, 360px); background:var(--cgst-bg); padding:14px; transform:translateX(-100%); transition:transform .22s ease; z-index:120; overflow-y:auto; }
  body.cgst-filters-open .cgst-archive-sidebar { transform:translateX(0); }
  .cgst-sidebar-head { display:flex; align-items:center; justify-content:space-between; padding:4px 4px 10px; }
  .cgst-sidebar-close { border:0; background:transparent; font-size:28px; line-height:1; }
  .cgst-sidebar-overlay { display:block; position:fixed; inset:0; background:rgba(19,26,43,.35); opacity:0; visibility:hidden; transition:.2s ease; z-index:110; }
  body.cgst-filters-open .cgst-sidebar-overlay { opacity:1; visibility:visible; }
  .cgst-results-toolbar { flex-direction:column; align-items:stretch; }
  .cgst-results-sort { display:none; }
  .cgst-archive-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .cgst-archive-product-body { padding:12px; }
  .cgst-archive-product-body h3 { font-size:16px; }
  .cgst-archive-product-actions { flex-direction:column; gap:8px; }
}
