/**
 * SuperSquare Storefront — Shop, Category & Brand Catalog Styles (NEEMROZ)
 *
 * Implements dedicated catalog layout, sticky filter sidebar, toolbar,
 * category hero with subcategory discovery chips, and brand spotlight banner.
 *
 * @package SuperSquare_Storefront
 */

.ssq-catalog-wrapper{padding:1.5rem 0 3rem}

/* Breadcrumbs */
.ssq-catalog-breadcrumbs{margin-bottom:1rem;color:var(--ssq-text-muted);font-size:.8125rem}
.ssq-catalog-breadcrumbs a{color:var(--ssq-text-muted)}
.ssq-catalog-breadcrumbs a:hover{color:var(--ssq-terracotta)}

/* Catalog Header Banner */
.ssq-catalog-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--ssq-border)}
.ssq-catalog-eyebrow{display:block;margin-bottom:.3rem;color:var(--ssq-terracotta);font-size:.8125rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ssq-catalog-title{margin:0;color:var(--ssq-espresso);font-family:var(--ssq-font-heading);font-size:clamp(2rem,3.4vw,2.65rem);font-weight:600;letter-spacing:-.01em}
.ssq-catalog-description{max-width:680px;margin-top:.4rem;color:var(--ssq-text-secondary);font-size:.9375rem}

/* Category Hero Banner */
.ssq-cat-header-hero{flex-direction:column;align-items:flex-start;gap:.85rem}
.ssq-cat-hero-main{display:flex;align-items:center;gap:1.25rem;width:100%}
.ssq-cat-hero-thumb{display:grid;flex-shrink:0;width:72px;height:72px;overflow:hidden;place-items:center;background:var(--ssq-gradient-cream);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-lg)}
.ssq-cat-hero-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}

.ssq-subcat-chips-rail{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;padding-top:.35rem}
.ssq-subcat-rail-label{margin-right:.25rem;color:var(--ssq-text-muted);font-size:.75rem;font-weight:700}
.ssq-chips-track{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.ssq-subcat-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .75rem;color:var(--ssq-text);background:var(--ssq-surface);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-full);font-size:.8rem;font-weight:650;transition:color var(--ssq-transition-fast),background var(--ssq-transition-fast),border-color var(--ssq-transition-fast)}
.ssq-subcat-chip:hover{color:var(--ssq-terracotta-dark);background:var(--ssq-cream);border-color:var(--ssq-gold-soft)}
.ssq-chip-count{color:var(--ssq-text-muted);font-size:.6875rem}

/* Brand Spotlight Banner */
.ssq-brand-header-hero{flex-direction:column;align-items:flex-start}
.ssq-brand-hero-meta{display:flex;align-items:center;gap:1.25rem;width:100%}
.ssq-brand-hero-logo{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:76px;height:76px;padding:8px;background:var(--ssq-surface);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-lg);box-shadow:var(--ssq-shadow-xs)}
.ssq-brand-hero-logo img{max-width:100%;max-height:100%;object-fit:contain}
.ssq-brand-eyebrow-row{display:flex;align-items:center;gap:.7rem;margin-bottom:.25rem}
.ssq-brand-count-pill{padding:2px 7px;color:var(--ssq-success);background:rgba(71,113,90,.1);border-radius:var(--ssq-radius-badge);font-size:.6875rem;font-weight:750}

/* ==========================================================================
   Main 2-Column Catalog Layout Grid
   ========================================================================== */
.ssq-catalog-layout{display:grid;grid-template-columns:250px 1fr;align-items:flex-start;gap:1.75rem}
.ssq-catalog-layout.no-sidebar{grid-template-columns:1fr}

/* Left Filter Sidebar */
.ssq-catalog-sidebar{position:sticky;top:90px;padding:1.15rem;background:var(--ssq-surface);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-lg)}
.ssq-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--ssq-border)}
.ssq-sidebar-title{display:inline-flex;align-items:center;gap:.5rem;margin:0;color:var(--ssq-espresso);font-size:1rem;font-weight:750}
.ssq-sidebar-close{display:none;padding:4px;color:var(--ssq-text-muted);background:transparent;border:0;cursor:pointer}

.ssq-filter-widget{margin-bottom:1.35rem}
.ssq-filter-widget-title{margin-bottom:.65rem;color:var(--ssq-espresso);font-size:.8125rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.ssq-filter-list{display:flex;flex-direction:column;gap:.3rem;max-height:230px;margin:0;padding:0;overflow-y:auto;list-style:none}
.ssq-filter-item.is-active .ssq-filter-link{color:var(--ssq-terracotta-dark);font-weight:750}
.ssq-filter-link{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;color:var(--ssq-text-secondary);border-radius:var(--ssq-radius-sm);font-size:.875rem;transition:background var(--ssq-transition-fast),color var(--ssq-transition-fast)}
.ssq-filter-link:hover{color:var(--ssq-terracotta-dark);background:var(--ssq-cream)}
.ssq-filter-count{color:var(--ssq-text-muted);font-size:.8125rem}

/* Catalog Toolbar */
.ssq-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:.7rem .9rem;background:var(--ssq-surface);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-md)}
.ssq-toolbar-left .woocommerce-result-count{margin:0;color:var(--ssq-text-secondary);font-size:.875rem}
.ssq-toolbar-right .woocommerce-ordering{margin:0}
.ssq-toolbar-right select{padding:.45rem .75rem;background:var(--ssq-cream);font-size:.875rem}

/* Pagination */
.ssq-catalog-pagination{display:flex;justify-content:center;margin-top:2.25rem}
.ssq-catalog-pagination .page-numbers{display:flex;align-items:center;gap:.3rem;margin:0;padding:0;list-style:none}
.ssq-catalog-pagination .page-numbers li span,.ssq-catalog-pagination .page-numbers li a{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;color:var(--ssq-espresso);background:var(--ssq-surface);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-sm);font-size:.85rem;font-weight:650;text-decoration:none;transition:border-color var(--ssq-transition-fast),color var(--ssq-transition-fast),background var(--ssq-transition-fast)}
.ssq-catalog-pagination .page-numbers li .current{color:var(--ssq-ivory);background:var(--ssq-espresso);border-color:var(--ssq-espresso)}
.ssq-catalog-pagination .page-numbers li a:hover{color:var(--ssq-terracotta-dark);border-color:var(--ssq-gold-soft);background:var(--ssq-cream)}

/* Empty Catalog State */
.ssq-no-products-found{padding:3.25rem 1.5rem;text-align:center;background:var(--ssq-gradient-cream);border:1px dashed var(--ssq-border-strong);border-radius:var(--ssq-radius-xl)}
.ssq-no-products-found .ssq-empty-svg{margin-bottom:.85rem;color:var(--ssq-text-muted)}
.ssq-empty-title{margin-bottom:.4rem;color:var(--ssq-espresso);font-family:var(--ssq-font-heading);font-size:1.35rem;font-weight:600}
.ssq-empty-text{max-width:460px;margin:0 auto 1.25rem;color:var(--ssq-text-muted);font-size:.875rem}

/* ==========================================================================
   Mobile Responsive Filters & Offcanvas
   ========================================================================== */
.ssq-catalog-mobile-controls{display:none}

@media(max-width:991px){
  .ssq-catalog-layout{grid-template-columns:1fr}
  .ssq-catalog-mobile-controls{display:block}
  .ssq-catalog-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:9998;width:290px;max-width:85vw;overflow-y:auto;border-radius:0;box-shadow:var(--ssq-shadow-xl);transform:translateX(-100%);transition:transform var(--ssq-transition-normal)}
  .ssq-catalog-sidebar.is-open{transform:translateX(0)}
  .ssq-sidebar-close{display:block}
}

.ssq-filter-form{display:grid;gap:1rem;margin:1rem 0}
.ssq-filter-form select,.ssq-filter-form input{width:100%;min-height:42px;padding:.55rem .7rem;color:var(--ssq-text);background:var(--ssq-surface);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-md)}
.ssq-filter-price-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.ssq-filter-price-row label{color:var(--ssq-text-muted);font-size:.75rem}
.ssq-active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}
.ssq-active-filter{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;color:var(--ssq-text);background:var(--ssq-surface);border:1px solid var(--ssq-border);border-radius:var(--ssq-radius-full);font-size:.78rem;text-decoration:none}
.ssq-active-filter:hover{color:var(--ssq-terracotta-dark);border-color:var(--ssq-gold-soft)}
