/* ===========================
   BP Store v1.2.0 — Fully Scoped CSS
   ===========================
   Rounded corners matching customizer style.
   Grey CUSTOMIZE badge. White image backgrounds.
   Elementor header protection included.
   =========================== */

#bps-wrap, #bps-wrap div, #bps-wrap span, #bps-wrap input,
#bps-wrap button, #bps-wrap a, #bps-wrap label, #bps-wrap aside,
#bps-wrap main, #bps-wrap form, #bps-wrap select, #bps-wrap p {
	box-sizing:border-box;
}
#bps-wrap .bps-layout,
#bps-wrap .bps-sidebar,
#bps-wrap .bps-main,
#bps-wrap .bps-grid,
#bps-wrap .bps-card,
#bps-wrap .bps-toolbar,
#bps-wrap .bps-pagination,
#bps-wrap .bps-active-filters { margin:0; padding:0; }

/* BP Store — plugin wrapper: no width/flex properties to avoid header interference */
#bps-wrap {
	padding: 32px 20px;
	font-family: inherit;
}

/* 
 * ELEMENTOR HEADER PROTECTION — v1.5
 * Restores Elementor header flex + fixes nav menu font on shop page.
 * Cormorant Garamond Bold 700 — matches Elementor nav menu settings.
 */

/* Nav menu font — locked to Cormorant Garamond Bold so shop page CSS cannot override */
#masthead .elementor-nav-menu .elementor-item,
#masthead .elementor-nav-menu a,
header .elementor-nav-menu .elementor-item,
header .elementor-nav-menu a,
header nav ul li a,
#site-navigation ul li a {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;        /* ← yahan change karo */
    letter-spacing: 0.08em !important; /* ← spacing bhi adjust karo */
}

/* Max-width constraint lives ONLY inside inner container */
#bps-wrap .bps-inner{
	max-width:1400px;
	margin:0 auto;
}

/* ===========================
   Layout
   =========================== */
#bps-wrap .bps-layout {
	display:grid;
	grid-template-columns:260px 1fr;
	gap:32px;
	align-items:start;
}

/* ===========================
   Sidebar
   =========================== */
#bps-wrap .bps-sidebar {
	position:sticky;
	top:24px;
	background:#fff;
	border:1px solid #ebebeb;
	border-radius:12px;
	overflow:hidden;
}
#bps-wrap .bps-sidebar-header {
	padding:18px 20px;
	border-bottom:1px solid #ebebeb;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
#bps-wrap .bps-sidebar-header span {
	font-size:11px;
	font-weight:700;
	letter-spacing:2px;
	text-transform:uppercase;
	color:#111;
}
#bps-wrap .bps-clear-all {
	font-size:11px;
	color:#888;
	background:none;
	border:none;
	cursor:pointer;
	letter-spacing:1px;
	text-transform:uppercase;
	padding:0;
	transition:color .15s;
}
#bps-wrap .bps-clear-all:hover { color:#111; }

/* Filter section */
#bps-wrap .bps-filter-section {
	border-bottom:1px solid #ebebeb;
	overflow:hidden;
}
#bps-wrap .bps-filter-section:last-child { border-bottom:none; }
#bps-wrap .bps-filter-toggle {
	width:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:16px 20px;
	background:none;
	border:none;
	cursor:pointer;
	text-align:left;
}
#bps-wrap .bps-filter-toggle span {
	font-size:11px;
	font-weight:700;
	letter-spacing:1.5px;
	text-transform:uppercase;
	color:#111;
}
#bps-wrap .bps-filter-toggle .bps-arrow {
	font-size:10px;
	color:#888;
	transition:transform .2s;
}
#bps-wrap .bps-filter-toggle.is-open .bps-arrow {
	transform:rotate(180deg);
}
#bps-wrap .bps-filter-body {
	padding:0 20px 16px;
	display:none;
}
#bps-wrap .bps-filter-body.is-open { display:block; }

/* Search */
#bps-wrap .bps-search-wrap{
	padding:14px 20px;
	border-bottom:1px solid #ebebeb;
}
#bps-wrap .bps-search-input{
	width:100%;
	padding:9px 12px 9px 34px !important;
	border:1px solid #e0e0e0 !important;
	border-radius:10px !important;
	font-size:12px !important;
	color:#111 !important;
	background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 10px center !important;
	background-size:auto !important;
	outline:none !important;
	transition:border-color .15s;
	box-shadow:none !important;
}
#bps-wrap .bps-search-input:focus{
	border-color:#111 !important;
	background-color:#fff !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:10px center !important;
}

/* Checkbox filters */
#bps-wrap .bps-checkbox-list {
	display:flex;
	flex-direction:column;
	gap:10px;
	max-height:220px;
	overflow-y:auto;
}
#bps-wrap .bps-checkbox-list::-webkit-scrollbar { width:3px; }
#bps-wrap .bps-checkbox-list::-webkit-scrollbar-track { background:#f5f5f5; }
#bps-wrap .bps-checkbox-list::-webkit-scrollbar-thumb { background:#ddd; border-radius:2px; }
#bps-wrap .bps-checkbox-item {
	display:flex;
	align-items:center;
	gap:10px;
	cursor:pointer;
}
#bps-wrap .bps-checkbox-item input[type="checkbox"] {
	width:14px;
	height:14px;
	accent-color:#111;
	cursor:pointer;
	flex-shrink:0;
}
#bps-wrap .bps-checkbox-item label {
	font-size:12px;
	color:#333;
	cursor:pointer;
	line-height:1.3;
	flex:1;
}
#bps-wrap .bps-checkbox-item .bps-count {
	font-size:11px;
	color:#aaa;
}

/* Price slider */
#bps-wrap .bps-price-range {
	padding:4px 0;
}
#bps-wrap .bps-price-inputs {
	display:flex;
	gap:8px;
	margin-bottom:14px;
}
#bps-wrap .bps-price-inputs input {
	width:100%;
	padding:7px 8px;
	border:1px solid #e0e0e0;
	border-radius:10px;
	font-size:12px;
	color:#111;
	text-align:center;
	outline:none;
}
#bps-wrap .bps-price-inputs input:focus { border-color:#111; }
#bps-wrap .bps-price-sep {
	font-size:12px;
	color:#aaa;
	align-self:center;
	flex-shrink:0;
}
#bps-wrap .bps-range-wrap {
	position:relative;
	height:4px;
	margin:10px 4px;
}
#bps-wrap .bps-range-track {
	position:absolute;
	top:0; left:0; right:0;
	height:4px;
	background:#e5e5e5;
	border-radius:2px;
}
#bps-wrap .bps-range-fill {
	position:absolute;
	top:0;
	height:4px;
	background:#111;
	border-radius:2px;
}
#bps-wrap .bps-range-input {
	position:absolute;
	top:-7px;
	width:100%;
	-webkit-appearance:none;
	appearance:none;
	background:transparent;
	pointer-events:none;
	height:18px;
}
#bps-wrap .bps-range-input::-webkit-slider-thumb {
	-webkit-appearance:none;
	appearance:none;
	width:18px;
	height:18px;
	border-radius:50%;
	background:#111;
	cursor:pointer;
	pointer-events:all;
	border:2px solid #fff;
	box-shadow:0 1px 4px rgba(0,0,0,0.2);
}
#bps-wrap .bps-range-input::-moz-range-thumb {
	width:16px;
	height:16px;
	border-radius:50%;
	background:#111;
	cursor:pointer;
	pointer-events:all;
	border:2px solid #fff;
	box-shadow:0 1px 4px rgba(0,0,0,0.2);
}

/* Toggle switches (On Sale / Customizable) */
#bps-wrap .bps-toggle-row {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:4px 0;
}
#bps-wrap .bps-toggle-label {
	font-size:12px;
	color:#333;
}
#bps-wrap .bps-toggle {
	position:relative;
	width:36px;
	height:20px;
	cursor:pointer;
}
#bps-wrap .bps-toggle input {
	opacity:0;
	width:0;
	height:0;
}
#bps-wrap .bps-toggle-slider {
	position:absolute;
	inset:0;
	background:#ddd;
	border-radius:20px;
	transition:.2s;
}
#bps-wrap .bps-toggle-slider::before {
	content:'';
	position:absolute;
	width:14px;
	height:14px;
	left:3px;
	top:3px;
	background:#fff;
	border-radius:50%;
	transition:.2s;
	box-shadow:0 1px 3px rgba(0,0,0,0.2);
}
#bps-wrap .bps-toggle input:checked + .bps-toggle-slider { background:#111; }
#bps-wrap .bps-toggle input:checked + .bps-toggle-slider::before { transform:translateX(16px); }

/* ===========================
   Main content
   =========================== */

/* Toolbar */
#bps-wrap .bps-toolbar {
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:20px;
	gap:12px;
	flex-wrap:wrap;
}
#bps-wrap .bps-result-count {
	font-size:12px;
	color:#888;
	letter-spacing:.5px;
}
#bps-wrap .bps-result-count strong { color:#111; }
#bps-wrap .bps-sort-select {
	padding:8px 30px 8px 12px;
	border:1px solid #e0e0e0;
	border-radius:10px;
	font-size:12px;
	color:#111;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;
	-webkit-appearance:none;
	appearance:none;
	cursor:pointer;
	outline:none;
	min-width:160px;
}
#bps-wrap .bps-sort-select:focus { border-color:#111; }

/* Mobile filter button */
#bps-wrap .bps-mobile-filter-btn {
	display:none;
	align-items:center;
	gap:8px;
	padding:9px 16px;
	border:1px solid #e0e0e0;
	border-radius:10px;
	background:#fff;
	font-size:12px;
	color:#111;
	letter-spacing:1px;
	text-transform:uppercase;
	cursor:pointer;
}
#bps-wrap .bps-mobile-filter-btn:hover { border-color:#111; }

/* Active filters bar */
#bps-wrap .bps-active-filters {
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:16px;
}
#bps-wrap .bps-active-tag {
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:4px 10px;
	background:#f5f5f5;
	border:1px solid #e8e8e8;
	border-radius:999px;
	font-size:11px;
	color:#444;
	letter-spacing:.5px;
}
#bps-wrap .bps-active-tag button {
	background:none;
	border:none;
	cursor:pointer;
	color:#888;
	font-size:13px;
	line-height:1;
	padding:0;
	display:flex;
	align-items:center;
}
#bps-wrap .bps-active-tag button:hover { color:#111; }

/* Product grid */
#bps-wrap .bps-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:20px;
}

/* Product card */
#bps-wrap .bps-card {
	position:relative;
	background:#fff;
	cursor:pointer;
	border-radius:12px;
	overflow:hidden;
}
#bps-wrap .bps-card:hover .bps-card-img img {
	transform:scale(1.04);
}
#bps-wrap .bps-card-img {
	position:relative;
	overflow:hidden;
	background:#fff;
	aspect-ratio:1/1;
	border-radius:12px;
}
#bps-wrap .bps-card-img img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .4s ease;
}

/* Sale badge — dark with rounded corners */
#bps-wrap .bps-badge-sale {
	position:absolute;
	top:10px;
	left:10px;
	background:#111;
	color:#fff;
	font-size:10px;
	font-weight:700;
	letter-spacing:1px;
	padding:3px 8px;
	text-transform:uppercase;
	border-radius:6px;
}

/* Customizable badge — GREY background, rounded */
#bps-wrap .bps-badge-custom {
	position:absolute;
	top:10px;
	right:10px;
	background:#666;
	color:#fff;
	font-size:9px;
	font-weight:700;
	letter-spacing:1.5px;
	padding:3px 8px;
	text-transform:uppercase;
	border-radius:6px;
}

#bps-wrap .bps-card-body {
	padding:12px 0 0;
}
#bps-wrap .bps-card-cats {
	font-size:10px;
	color:#aaa;
	letter-spacing:1px;
	text-transform:uppercase;
	margin-bottom:4px;
}
#bps-wrap .bps-card-name {
	font-size:13px;
	color:#111;
	font-weight:500;
	line-height:1.4;
	margin-bottom:6px;
}
#bps-wrap .bps-card-price {
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:10px;
}
#bps-wrap .bps-price-current {
	font-size:13px;
	font-weight:600;
	color:#111;
}
#bps-wrap .bps-price-old {
	font-size:12px;
	color:#aaa;
	text-decoration:line-through;
}
#bps-wrap .bps-card-actions {
	display:flex;
	gap:8px;
}

/* Add to Cart / View Product button — rounded */
#bps-wrap .bps-btn-cart {
	flex:1;
	padding:9px 12px;
	background:#fff;
	color:#111;
	border:1px solid #e0e0e0;
	font-size:11px;
	letter-spacing:1px;
	text-transform:uppercase;
	cursor:pointer;
	text-align:center;
	text-decoration:none;
	transition:all .15s;
	display:block;
	border-radius:10px;
}
#bps-wrap .bps-btn-cart:hover {
	background:#111;
	color:#fff;
	border-color:#111;
}

/* [F4] Customize button — outline style matching cart button, black on hover */
#bps-wrap .bps-btn-customize {
	flex:1;
	padding:9px 12px;
	background:#fff;
	color:#111;
	border:1px solid #e0e0e0;
	font-size:11px;
	letter-spacing:1px;
	text-transform:uppercase;
	cursor:pointer;
	text-align:center;
	text-decoration:none;
	transition:all .15s;
	display:block;
	border-radius:10px;
}
#bps-wrap .bps-btn-customize:hover { background:#111; color:#fff; border-color:#111; }

/* Loading */
#bps-wrap .bps-loading {
	display:none;
	grid-column:1/-1;
	text-align:center;
	padding:60px 0;
}
#bps-wrap .bps-loading.is-active { display:flex; justify-content:center; align-items:center; gap:10px; }
#bps-wrap .bps-spinner {
	width:20px;
	height:20px;
	border:2px solid #e0e0e0;
	border-top-color:#111;
	border-radius:50%;
	animation:bpsSpin .7s linear infinite;
}
@keyframes bpsSpin{ to{ transform:rotate(360deg); } }

/* Empty state */
#bps-wrap .bps-empty {
	display:none;
	grid-column:1/-1;
	text-align:center;
	padding:80px 20px;
	color:#888;
}
#bps-wrap .bps-empty.is-active { display:block; }
#bps-wrap .bps-empty-icon { font-size:40px; margin-bottom:12px; }
#bps-wrap .bps-empty h3 { font-size:16px; color:#111; margin-bottom:8px; }
#bps-wrap .bps-empty p { font-size:13px; }

/* Pagination — rounded buttons */
#bps-wrap .bps-pagination {
	display:flex;
	justify-content:center;
	gap:6px;
	margin-top:40px;
	flex-wrap:wrap;
}
#bps-wrap .bps-page-btn {
	min-width:36px;
	height:36px;
	padding:0 10px;
	border:1px solid #e0e0e0;
	background:#fff;
	color:#444;
	font-size:12px;
	cursor:pointer;
	border-radius:10px;
	transition:all .15s;
	display:flex;
	align-items:center;
	justify-content:center;
}
#bps-wrap .bps-page-btn:hover { border-color:#111; color:#111; }
#bps-wrap .bps-page-btn.is-active { background:#111; color:#fff; border-color:#111; }
#bps-wrap .bps-page-btn:disabled { opacity:0.4; cursor:not-allowed; }

/* Mobile drawer */
#bps-wrap .bps-drawer-backdrop {
	display:none;
	position:fixed;
	inset:0;
	background:rgba(0,0,0,0.5);
	z-index:99998;
}
#bps-wrap .bps-drawer-backdrop.is-open { display:block; }
#bps-wrap .bps-drawer {
	position:fixed;
	top:0; left:0;
	width:min(320px, 85vw);
	height:100vh;
	background:#fff;
	z-index:99999;
	overflow-y:auto;
	transform:translateX(-100%);
	transition:transform .3s ease;
	box-shadow:4px 0 20px rgba(0,0,0,0.12);
}
#bps-wrap .bps-drawer.is-open { transform:translateX(0); }
#bps-wrap .bps-drawer-header {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:18px 20px;
	border-bottom:1px solid #ebebeb;
	position:sticky;
	top:0;
	background:#fff;
	z-index:1;
}
#bps-wrap .bps-drawer-title {
	font-size:11px;
	font-weight:700;
	letter-spacing:2px;
	text-transform:uppercase;
}
#bps-wrap .bps-drawer-close {
	width:32px; height:32px;
	background:#111;
	color:#fff;
	border:none;
	border-radius:10px;
	cursor:pointer;
	font-size:16px;
	display:flex;
	align-items:center;
	justify-content:center;
}
#bps-wrap .bps-drawer-close:hover { background:#333; }

/* Responsive */
@media(max-width:960px){
	#bps-wrap .bps-layout { grid-template-columns:1fr; }
	#bps-wrap .bps-sidebar { display:none; }
	#bps-wrap .bps-mobile-filter-btn { display:flex; }
	#bps-wrap .bps-grid { grid-template-columns:repeat(2,1fr); gap:14px; }
}
@media(max-width:480px){
	#bps-wrap .bps-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
	#bps-wrap .bps-card-name { font-size:12px; }
	#bps-wrap .bps-btn-cart, #bps-wrap .bps-btn-customize { font-size:10px; padding:8px 6px; }
}
#bps-wrap .bps-filter-toggle:focus span,
#bps-wrap .bps-filter-toggle:focus-visible span,
#bps-wrap .bps-filter-toggle:active span { color:#fff !important; }
#bps-wrap .bps-filter-toggle:focus .bps-arrow,
#bps-wrap .bps-filter-toggle:focus-visible .bps-arrow,
#bps-wrap .bps-filter-toggle:active .bps-arrow { color:#fff !important; }

#bps-wrap .bps-filter-toggle:focus span,
#bps-wrap .bps-filter-toggle:active span { color:#fff !important; }
#bps-wrap .bps-filter-toggle:focus .bps-arrow,
#bps-wrap .bps-filter-toggle:active .bps-arrow { color:#fff !important; }