/* Loaded only on is_shop() || is_product_category() — see functions.php */

.gc-shop-page{ max-width:1280px; margin:0 auto; padding:0 24px 64px; font-family:'Barlow',sans-serif; color:var(--gc-ink); }

.gc-page-header{ padding:32px 0 20px; }
.gc-page-header .breadcrumb, .gc-page-header nav.woocommerce-breadcrumb{ font-size:12.5px; color:rgba(43,36,32,0.55); margin-bottom:10px; }
.gc-page-header h1{ font-family:'Fraunces',serif; font-size:clamp(26px,3vw,34px); margin-bottom:6px; }
.gc-result-count{ font-size:13.5px; color:rgba(43,36,32,0.6); margin:0; }

/* Toolbar */
.gc-toolbar{
	display:flex; align-items:center; gap:14px; flex-wrap:wrap;
	background:#fff; border:1px solid var(--gc-line, rgba(43,36,32,0.16)); border-radius:6px;
	padding:12px 16px; margin-bottom:20px;
}
.gc-search-field{ flex:1; min-width:220px; position:relative; display:flex; }
.gc-search-field input{
	width:100%; padding:10px 14px 10px 38px; border:1px solid rgba(43,36,32,0.16); border-radius:4px;
	font-family:'Barlow',sans-serif; font-size:14px; background:#fdfcfa;
}
.gc-search-icon{ position:absolute; left:12px; top:50%; transform:translateY(-50%); opacity:0.5; font-size:14px; }
.gc-sort-field select{ padding:9px 12px; border:1px solid rgba(43,36,32,0.16); border-radius:4px; font-family:'Barlow',sans-serif; font-size:13.5px; background:#fdfcfa; }
.gc-filter-toggle{ display:none; background:var(--gc-teal); color:var(--gc-ink); border:0; padding:9px 16px; border-radius:4px; font-size:13.5px; font-weight:700; cursor:pointer; white-space:nowrap; }
@media(max-width:840px){ .gc-filter-toggle{ display:inline-block; } }

/* Layout */
.gc-shop-layout{ display:grid; grid-template-columns:250px 1fr; gap:28px; align-items:start; }
@media(max-width:840px){ .gc-shop-layout{ grid-template-columns:1fr; } }

/* Filter sidebar — contextual + accordion */
.gc-filters{ background:#fff; border:1px solid rgba(43,36,32,0.16); border-radius:6px; overflow:hidden; }
@media(max-width:840px){
	.gc-filters{ position:fixed; top:0; right:-100%; height:100vh; width:82%; max-width:340px; z-index:100;
		border-radius:0; overflow-y:auto; transition:right 0.25s ease; }
	.gc-filters.open{ right:0; box-shadow:-8px 0 24px rgba(0,0,0,0.15); }
}
.gc-filter-close{ display:none; background:none; border:0; font-size:20px; cursor:pointer; float:right; margin:12px 12px 0 0; }
@media(max-width:840px){ .gc-filter-close{ display:block; } }

.gc-filter-group{ border-bottom:1px solid rgba(43,36,32,0.16); }
.gc-filter-group:last-child{ border-bottom:0; }
.gc-contextual-tag{ font-size:10px; text-transform:uppercase; letter-spacing:0.04em; color:var(--gc-gold-deep); font-weight:700; padding:10px 16px 0; }
.gc-filter-group-header{
	display:flex !important; align-items:center !important; justify-content:space-between !important; width:100% !important; text-align:left !important;
	background:#fff !important; border:0 !important; padding:14px 16px !important; cursor:pointer !important; font-weight:700 !important; font-size:13.5px !important;
}
.gc-chevron{ font-size:12px; opacity:0.5; transition:transform 0.2s; }
.gc-filter-group.open .gc-chevron{ transform:rotate(180deg); }
.gc-filter-group-body{ display:none; padding:0 16px 16px; }
.gc-filter-group.open .gc-filter-group-body{ display:block; }

/* Restyle WooCommerce's own layered-nav / price-filter widget output to match */
.gc-filter-group-body .woocommerce-widget-layered-nav-list{ list-style:none; margin:0; padding:0; }
.gc-filter-group-body .woocommerce-widget-layered-nav-list li{ margin-bottom:8px; }
.gc-filter-group-body .woocommerce-widget-layered-nav-list a{ font-size:13.5px; text-decoration:none; color:var(--gc-ink); }
.gc-filter-group-body .woocommerce-widget-layered-nav-list .count{ font-size:11.5px; color:rgba(43,36,32,0.45); margin-left:4px; }
.gc-filter-group-body .price_slider_wrapper{ padding:4px 4px 0; }

/* Product grid */
.gc-product-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:700px){ .gc-product-grid{ grid-template-columns:repeat(2,1fr); gap:14px; } }

.gc-product-card{ background:#fff; border:1px solid rgba(43,36,32,0.16); border-radius:6px; overflow:hidden; }
.gc-product-card a{ text-decoration:none; color:inherit; display:block; }
.gc-product-thumb{ aspect-ratio:4/5; overflow:hidden; background:var(--gc-peach); }
.gc-product-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.gc-product-info{ padding:12px 14px 14px; }
.gc-product-name{ font-size:14px; font-weight:600; margin-bottom:4px; line-height:1.3; }
.gc-product-price{ font-size:14.5px; font-weight:700; }

/* Product group: hero + sibling photo-grid, spans 2 grid columns */
.gc-product-group{ grid-column:span 2; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:700px){ .gc-product-group{ grid-column:span 2; } }

.gc-group-siblings{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; align-content:start; }
.gc-sibling-thumb{
	aspect-ratio:4/5; border-radius:4px; overflow:hidden; display:block; border:2px solid transparent; transition:border-color 0.15s;
}
.gc-sibling-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.gc-sibling-thumb.selected{ border-color:var(--gc-teal); }
.gc-group-more{
	aspect-ratio:4/5; border-radius:4px; background:var(--gc-peach); display:flex; align-items:center;
	justify-content:center; font-size:11px; font-weight:700; color:var(--gc-gold-deep); text-decoration:none;
}
.gc-group-label{ grid-column:1/-1; font-size:11.5px; font-weight:600; color:rgba(43,36,32,0.6); margin-top:6px; }

/* Pagination */
.gc-pagination{ margin-top:36px; text-align:center; }
.gc-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin:0 2px; border-radius:4px; text-decoration:none; color:var(--gc-ink); font-size:13.5px; font-weight:600; }
.gc-pagination .page-numbers.current{ background:var(--gc-teal); }
.gc-pagination .page-numbers:hover{ background:var(--gc-peach); }
