.ssw-sidebar{
	--ssw-text: #303640;
	--ssw-heading: #1e293b;
	--ssw-gold: #F4B400;
	--ssw-yellow: #FFC72C;
	--ssw-bg-primary: #f9f6fe;
	--ssw-bg-secondary: #FFFFFF;
	--ssw-border: #F2F5F7;
	font-family:'Geologica', sans-serif;
	font-weight:300;
	color:var(--ssw-text);
	display:flex;
	flex-direction:column;
	gap:16px;
}
.ssw-sidebar *{ box-sizing:border-box; }

.ssw-widget{
	background:var(--ssw-bg-secondary);
	border:1px solid var(--ssw-border);
	border-radius:10px;
	overflow:hidden;
}
.ssw-widget-head{
	display:flex; align-items:center; gap:8px;
	padding:16px 18px;
	border-bottom:1px solid var(--ssw-border);
}
.ssw-bar{
	width:4px; height:16px;
	background:var(--ssw-gold);
	border-radius:2px; flex-shrink:0;
}
.ssw-widget-head h3{
	font-size:14px; font-weight:600; color:var(--ssw-heading);
	letter-spacing:0.02em; text-transform:uppercase; margin:0;
}
.ssw-widget-body{ padding:16px 18px; }

/* Search */
.ssw-search-box{
	display:flex; align-items:center;
	border:1px solid var(--ssw-border);
	border-radius:8px; padding:10px 12px; gap:8px;
	background:var(--ssw-bg-primary);
}
.ssw-search-box input[type="text"]{
	border:none; outline:none; background:transparent;
	font-family:inherit; font-size:13px; color:var(--ssw-text); width:100%;
}
.ssw-search-box input::placeholder{ color:#9aa1ab; }
.ssw-search-box svg{ flex-shrink:0; opacity:0.5; }

/* Cart */
.ssw-cart-empty{ font-size:13px; color:#8a919b; text-align:center; padding:14px 0 4px; }
.ssw-cart-item{ display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--ssw-border); align-items:flex-start; }
.ssw-cart-item:last-of-type{ border-bottom:none; }
.ssw-cart-thumb img{ width:48px; height:48px; border-radius:6px; object-fit:cover; background:var(--ssw-bg-primary); }
.ssw-info{ flex:1; }
.ssw-name{ font-size:12.5px; font-weight:500; color:var(--ssw-heading); line-height:1.4; }
.ssw-meta{ font-size:11.5px; color:#8a919b; margin-top:2px; }
.ssw-price{ font-size:12.5px; font-weight:600; color:var(--ssw-heading); margin-top:2px; }
.ssw-price .amount{ font-weight:600; }
.ssw-cart-remove{
	background:none; border:none; cursor:pointer;
	color:#c2c8d0; font-size:14px; line-height:1; align-self:flex-start; padding:2px;
}
.ssw-cart-remove:hover{ color:#e05252; }
.ssw-cart-total{
	display:flex; justify-content:space-between;
	padding-top:12px; margin-top:4px;
	font-size:13px; font-weight:600; color:var(--ssw-heading);
}
.ssw-cart-total span:last-child{ color:var(--ssw-gold); }
.ssw-btn-checkout{
	display:block; text-align:center; margin-top:8px;
	background:var(--ssw-gold); color:#1e293b;
	font-family:inherit; font-weight:600; font-size:13px;
	text-decoration:none; padding:11px; border-radius:8px;
	transition:background .15s ease;
}
.ssw-btn-checkout:hover{ background:var(--ssw-yellow); color:#1e293b; }
.ssw-btn-secondary{
	background:var(--ssw-bg-primary); color:var(--ssw-heading);
	border:1px solid var(--ssw-border); margin-top:12px;
}
.ssw-btn-secondary:hover{ background:var(--ssw-border); }

/* Categories */
.ssw-cat-list{ display:flex; flex-direction:column; }
.ssw-cat-item{
	display:flex; align-items:center; justify-content:space-between;
	padding:9px 0; border-bottom:1px solid var(--ssw-border);
}
.ssw-cat-item:last-child{ border-bottom:none; }
.ssw-cat-name{
	display:flex; align-items:center; gap:8px;
	font-size:13px; color:var(--ssw-text); text-decoration:none;
	transition:color .15s ease;
}
.ssw-cat-item:hover .ssw-cat-name{ color:var(--ssw-heading); font-weight:500; }
.ssw-cat-dot{
	width:6px; height:6px; border-radius:50%;
	background:var(--ssw-border); flex-shrink:0;
	transition:background .15s ease;
}
.ssw-cat-item:hover .ssw-cat-dot{ background:var(--ssw-gold); }
.ssw-cat-count{
	font-size:11px; color:#a3aab3; background:var(--ssw-bg-primary);
	padding:2px 7px; border-radius:20px;
}
.ssw-subcat-list{ display:flex; flex-direction:column; padding-left:14px; margin-top:2px; }
.ssw-subcat-item{ font-size:12px; color:#8a919b; padding:5px 0; text-decoration:none; display:block; }
.ssw-subcat-item:hover{ color:var(--ssw-gold); }
.ssw-empty{ font-size:13px; color:#8a919b; }

/* Price filter */
.ssw-price-inputs{ display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.ssw-price-field{
	flex:1; display:flex; align-items:center;
	border:1px solid var(--ssw-border); border-radius:7px;
	padding:8px 10px; font-size:12px; background:var(--ssw-bg-primary);
}
.ssw-price-field span{ color:#9aa1ab; margin-right:4px; }
.ssw-price-field input{
	border:none; outline:none; background:transparent;
	font-family:inherit; font-size:12px; color:var(--ssw-text); width:100%;
	-moz-appearance:textfield;
}
.ssw-price-sep{ color:#c2c8d0; font-size:12px; }
.ssw-range-track{
	position:relative; height:4px; background:var(--ssw-border);
	border-radius:4px; margin:18px 2px 8px;
}
.ssw-range-fill{
	position:absolute; top:0; bottom:0;
	background:var(--ssw-gold); border-radius:4px;
}
.ssw-range-handle{
	position:absolute; top:50%; width:14px; height:14px;
	border-radius:50%; background:var(--ssw-bg-secondary);
	border:2.5px solid var(--ssw-gold); transform:translate(-50%,-50%);
	cursor:pointer;
}
.ssw-btn-filter{
	display:block; width:100%; background:var(--ssw-heading); color:#fff;
	font-family:inherit; font-weight:600; font-size:12.5px;
	letter-spacing:0.03em; text-transform:uppercase; border:none;
	padding:11px; border-radius:8px; cursor:pointer; margin-top:14px;
	transition:background .15s ease;
}
.ssw-btn-filter:hover{ background:#0f172a; }

/* Brand */
.ssw-brand-list{ display:flex; flex-wrap:wrap; gap:8px; }
.ssw-brand-chip{
	font-size:11.5px; padding:6px 12px; border:1px solid var(--ssw-border);
	border-radius:20px; color:var(--ssw-text); text-decoration:none;
	cursor:pointer; transition:all .15s ease; display:inline-block;
}
.ssw-brand-chip:hover, .ssw-brand-chip.ssw-active{
	background:var(--ssw-gold); border-color:var(--ssw-gold);
	color:#1e293b; font-weight:500;
}
.ssw-reset-link{
	display:block; text-align:center; font-size:12px; color:#8a919b;
	text-decoration:underline; margin-top:14px; cursor:pointer;
}
.ssw-reset-link:hover{ color:var(--ssw-heading); }
.ssw-label{
	font-size:11px; font-weight:600; color:#9aa1ab;
	text-transform:uppercase; letter-spacing:0.04em;
	margin-bottom:8px; display:block;
}
.ssw-widget.ssw-loading{ opacity:.5; pointer-events:none; }
