/* Ramana Shop Explorer 1.9.0 — fully scoped storefront filter UI */
.rpf-shop-explorer {
	--rpf-shop-ink:#1f2730;
	--rpf-shop-muted:#7e7378;
	--rpf-shop-line:#eadfe2;
	--rpf-shop-soft:#faf7f8;
	--rpf-shop-brand:#173b4d;
	--rpf-shop-accent:#b77283;
	width:min(1440px,100%);
	margin:22px auto 42px;
	padding-inline:clamp(12px,2vw,24px);
	box-sizing:border-box;
	font-family:inherit;
	color:var(--rpf-shop-ink);
}
.rpf-shop-explorer * { box-sizing:border-box; }
.rpf-shop-hero {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	margin-bottom:20px;
	padding:24px clamp(20px,3vw,34px);
	border:1px solid var(--rpf-shop-line);
	border-radius:24px;
	background:linear-gradient(135deg,#fff 0%,#fbf7f8 100%);
	box-shadow:0 14px 38px rgba(60,39,47,.055);
}
.rpf-shop-eyebrow { display:block; margin-bottom:6px; color:var(--rpf-shop-accent); font-size:11px; font-weight:850; }
.rpf-shop-hero h2 { margin:0; color:var(--rpf-shop-ink); font-size:clamp(24px,2.8vw,38px); font-weight:900; line-height:1.45; }
.rpf-shop-hero p { margin:7px 0 0; color:var(--rpf-shop-muted); font-size:12px; line-height:1.9; }
.rpf-shop-hero-stat { flex:0 0 auto; min-width:180px; padding:14px 18px; border:1px solid #eadfe2; border-radius:16px; background:#fff; text-align:center; }
.rpf-shop-hero-stat strong { display:block; color:var(--rpf-shop-brand); font-size:20px; font-weight:900; }
.rpf-shop-hero-stat span { display:block; margin-top:3px; color:var(--rpf-shop-muted); font-size:9px; }

.rpf-shop-layout { display:grid; grid-template-columns:286px minmax(0,1fr); gap:22px; align-items:start; }
.rpf-shop-sidebar {
	position:sticky;
	top:24px;
	min-width:0;
	max-height:calc(100vh - 48px);
	overflow:auto;
	overscroll-behavior:contain;
	border:1px solid var(--rpf-shop-line);
	border-radius:20px;
	background:#fff;
	box-shadow:0 12px 30px rgba(60,39,47,.055);
	scrollbar-width:thin;
	scrollbar-color:#d6c7cc transparent;
}
.rpf-shop-sidebar::-webkit-scrollbar { width:5px; }
.rpf-shop-sidebar::-webkit-scrollbar-thumb { background:#d6c7cc; border-radius:99px; }
.rpf-shop-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:17px 18px 14px; border-bottom:1px solid #f0e8ea; }
.rpf-shop-sidebar-head strong { display:block; color:var(--rpf-shop-ink); font-size:15px; font-weight:900; }
.rpf-shop-sidebar-head span { display:block; margin-top:2px; color:var(--rpf-shop-muted); font-size:9px; }
.rpf-shop-sidebar-head button { display:none; place-items:center; width:34px; height:34px; padding:0; border:1px solid var(--rpf-shop-line); border-radius:10px; background:#fff; color:#6c5b61; font-family:inherit; line-height:1; cursor:pointer; }
.rpf-shop-filter-form { padding:0 14px 16px; }
.rpf-filter-block { margin:0; padding:15px 3px; border:0; border-bottom:1px solid #f0e8ea; }
.rpf-filter-block:last-of-type { border-bottom:0; }
.rpf-filter-block > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; list-style:none; cursor:pointer; color:#46383e; font-size:11px; font-weight:850; }
.rpf-filter-block > summary::-webkit-details-marker { display:none; }
.rpf-filter-summary-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rpf-filter-summary-meta { margin-inline-start:auto; padding:2px 6px; border-radius:99px; background:#f7f2f4; color:#97868b; font-size:8px; font-weight:700; }
.rpf-filter-summary-icon { order:-1; display:grid; place-items:center; width:22px; height:22px; border-radius:7px; background:#f7f2f4; color:#8d6974; transition:transform .16s ease,color .16s ease,background .16s ease; }
.rpf-filter-block[open] > summary .rpf-filter-summary-icon { transform:rotate(-90deg); }
.rpf-filter-options { display:grid; gap:3px; margin-top:10px; max-height:230px; overflow:auto; scrollbar-width:thin; }
.rpf-filter-option { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; padding:7px 6px; padding-inline-start:calc(6px + var(--rpf-depth,0) * 12px); border-radius:9px; cursor:pointer; transition:background .16s ease; }
.rpf-filter-option:hover { background:#faf7f8; }
.rpf-filter-option input { appearance:none; width:16px; height:16px; margin:0; border:1.5px solid #cdbdc2; border-radius:5px; background:#fff; cursor:pointer; }
.rpf-filter-radios .rpf-filter-option input { border-radius:50%; }
.rpf-filter-option input:checked { border-color:var(--rpf-shop-accent); background:var(--rpf-shop-accent); box-shadow:inset 0 0 0 3px #fff; }
.rpf-filter-option span { overflow:hidden; color:#62555a; font-size:10px; font-weight:650; line-height:1.7; text-overflow:ellipsis; white-space:nowrap; }
.rpf-filter-option small { color:#a49499; font-size:8px; font-variant-numeric:tabular-nums; }

.rpf-filter-search > label { display:block; margin-bottom:7px; color:#46383e; font-size:11px; font-weight:850; }
.rpf-filter-search > div { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; min-height:42px; padding:0 10px; border:1px solid #e7dde0; border-radius:12px; background:#fcfafb; }

.rpf-filter-search input { width:100%; min-width:0; border:0!important; outline:0!important; background:transparent!important; color:#493c41; font-family:inherit!important; font-size:10px!important; box-shadow:none!important; }
.rpf-filter-search input::placeholder { color:#b2a3a8; }

.rpf-price-filter { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.rpf-price-filter label { display:grid; gap:4px; }
.rpf-price-filter span { color:#8d7d82; font-size:8px; }
.rpf-price-filter input { width:100%; min-height:38px; padding:7px 8px!important; border:1px solid #e7dde0!important; border-radius:10px!important; background:#fcfafb!important; color:#493c41!important; font-family:inherit!important; font-size:9px!important; box-shadow:none!important; direction:ltr; text-align:center; }
.rpf-price-filter input:focus { border-color:#c59aa6!important; outline:0; }

.rpf-filter-switches { display:grid; gap:8px; }
.rpf-filter-switches label { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:36px; cursor:pointer; color:#5a4c51; font-size:10px; font-weight:700; }
.rpf-filter-switches input { appearance:none; position:relative; width:36px; height:20px; border-radius:99px; background:#ded5d8; transition:.2s ease; cursor:pointer; }
.rpf-filter-switches input::after { content:""; position:absolute; top:3px; right:3px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(45,30,36,.16); transition:.2s ease; }
.rpf-filter-switches input:checked { background:var(--rpf-shop-accent); }
.rpf-filter-switches input:checked::after { transform:translateX(-16px); }
.rpf-shop-filter-actions { display:grid; gap:8px; position:sticky; bottom:0; z-index:2; padding-top:13px; background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 18%); }
.rpf-apply-filters { min-height:42px; border:0; border-radius:12px; background:var(--rpf-shop-brand); color:#fff; font-family:inherit; font-size:10px; font-weight:850; cursor:pointer; transition:transform .15s ease,opacity .15s ease; }
.rpf-apply-filters:hover { transform:translateY(-1px); opacity:.95; }
.rpf-reset-filters { display:block; padding:7px; color:#9a7580; font-size:9px; font-weight:750; text-align:center; text-decoration:none!important; }

.rpf-shop-results { min-width:0; }
.rpf-shop-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:13px; padding:12px 14px; border:1px solid var(--rpf-shop-line); border-radius:15px; background:#fff; }
.rpf-shop-toolbar strong { display:block; color:#43363b; font-size:12px; font-weight:900; }
.rpf-shop-toolbar > div > span { display:block; margin-top:2px; color:#94868b; font-size:8px; }
.rpf-shop-sort { display:flex; align-items:center; gap:8px; }
.rpf-shop-sort > span { color:#8f8085; font-size:9px; white-space:nowrap; }
.rpf-shop-sort select { min-width:170px; min-height:38px; padding:5px 10px!important; border:1px solid #e5dade!important; border-radius:10px!important; background:#fcfafb!important; color:#4e4146!important; font-family:inherit!important; font-size:9px!important; box-shadow:none!important; }
.rpf-active-filters { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:12px; }
.rpf-active-filters span { padding:6px 9px; border:1px solid #eadde1; border-radius:99px; background:#fff8fa; color:#835f6a; font-size:8px; font-weight:750; }
.rpf-active-filters a { margin-inline-start:3px; color:#a97b88; font-size:8px; font-weight:800; text-decoration:none!important; }

.rpf-shop-grid { display:grid; grid-template-columns:repeat(var(--rpf-shop-columns,3),minmax(0,1fr)); gap:14px; }
.rpf-shop-grid .rpf-product-card { height:100%; }
.rpf-shop-grid .rpf-product-image { background:linear-gradient(180deg,#fbf9fa,#f5f1f2); }
.rpf-shop-grid .rpf-product-card:hover { transform:translateY(-4px); box-shadow:0 16px 38px rgba(57,37,44,.115); }
.rpf-shop-grid .rpf-product-action.button { margin-top:10px!important; }

.rpf-shop-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:24px; }
.rpf-shop-pagination .page-numbers { display:grid; place-items:center; min-width:36px; height:36px; padding:0 8px; border:1px solid #eadde1; border-radius:10px; background:#fff; color:#69585f; font-size:9px; font-weight:800; text-decoration:none!important; }
.rpf-shop-pagination .page-numbers.current { border-color:var(--rpf-shop-brand); background:var(--rpf-shop-brand); color:#fff; }
.rpf-shop-pagination .prev,.rpf-shop-pagination .next { min-width:58px; }
.rpf-shop-empty { display:grid; place-items:center; min-height:330px; padding:40px 20px; border:1px dashed #decfd4; border-radius:20px; background:#fdfbfc; text-align:center; }
.rpf-shop-empty > span { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:#f5edef; color:#a27380; }

.rpf-shop-empty h2 { margin:12px 0 4px; color:#493b40; font-size:17px; }
.rpf-shop-empty p { margin:0; color:#94858a; font-size:10px; }
.rpf-shop-empty a { margin-top:13px; padding:8px 13px; border-radius:9px; background:#173b4d; color:#fff; font-size:9px; font-weight:800; text-decoration:none!important; }

.rpf-shop-mobilebar,.rpf-shop-backdrop { display:none; }

@media (max-width:1180px) {
	.rpf-shop-layout { grid-template-columns:260px minmax(0,1fr); gap:16px; }
	.rpf-shop-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
	.rpf-shop-explorer { margin-top:14px; padding-inline:10px; }
	.rpf-shop-hero { padding:17px; border-radius:18px; }
	.rpf-shop-hero-stat { display:none; }
	.rpf-shop-hero h2 { font-size:23px; }
	.rpf-shop-layout { display:block; }
	.rpf-shop-mobilebar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
	.rpf-shop-mobilebar > span { color:#8d7d82; font-size:9px; }
	.rpf-shop-filter-toggle { display:flex; align-items:center; gap:7px; min-height:39px; padding:7px 11px; border:1px solid #dfd1d6; border-radius:11px; background:#fff; color:#55464c; font-family:inherit; font-size:10px; font-weight:850; cursor:pointer; }
	
	.rpf-shop-filter-toggle em { display:grid; place-items:center; min-width:19px; height:19px; padding:0 4px; border-radius:99px; background:#173b4d; color:#fff; font-size:8px; font-style:normal; }
	.rpf-shop-sidebar { position:fixed; z-index:100000; top:0; right:0; width:min(88vw,340px); height:100dvh; max-height:none; border-radius:0; transform:translateX(105%); transition:transform .24s ease; box-shadow:-18px 0 50px rgba(35,24,29,.18); }
	.rpf-shop-explorer.is-filter-open .rpf-shop-sidebar { transform:translateX(0); }
	.rpf-shop-sidebar-head { position:sticky; top:0; z-index:3; background:#fff; }
	.rpf-shop-sidebar-head button { display:grid; place-items:center; }
	.rpf-shop-backdrop { position:fixed; z-index:99999; inset:0; background:rgba(26,18,22,.36); backdrop-filter:blur(2px); }
	.rpf-shop-explorer.is-filter-open .rpf-shop-backdrop { display:block; }
	.rpf-shop-toolbar { padding:10px 11px; }
	.rpf-shop-toolbar > div { display:none; }
	.rpf-shop-sort { width:100%; justify-content:space-between; }
	.rpf-shop-sort select { flex:1; min-width:0; }
	.rpf-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
}
@media (max-width:480px) {
	.rpf-shop-hero { margin-bottom:12px; padding:14px; }
	.rpf-shop-eyebrow { font-size:9px; }
	.rpf-shop-hero h2 { font-size:20px; }
	.rpf-shop-hero p { font-size:10px; }
	.rpf-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
	.rpf-shop-grid .rpf-product-body { padding:9px; }
	.rpf-shop-grid .rpf-product-body h3 { font-size:10.5px; }
	.rpf-shop-pagination .page-numbers { min-width:32px; height:32px; border-radius:9px; }
}
@media (max-width:340px) {
	.rpf-shop-grid { grid-template-columns:1fr; }
}
html.rpf-shop-lock { overflow:hidden; }

.rpf-shop-explorer { margin-top: 8px; }
.rpf-shop-explorer .rpf-shop-hero { display:none !important; }
.rpf-shop-explorer .rpf-shop-mobilebar { justify-content:flex-start; }
.rpf-shop-explorer .rpf-shop-toolbar { justify-content:flex-end; }
.rpf-shop-explorer .rpf-shop-toolbar > div { display:none !important; }
.rpf-shop-explorer .rpf-filter-option { grid-template-columns:auto minmax(0,1fr); }
.rpf-shop-explorer .rpf-filter-option small { display:none !important; }

.rpf-shop-explorer .rpf-price-block > summary > span { display:inline-flex; }
.rpf-shop-explorer .rpf-price-range { margin-top:12px; }
.rpf-shop-explorer .rpf-price-values {
	display:grid;
	grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);
	align-items:center;
	gap:7px;
	margin-bottom:15px;
}
.rpf-shop-explorer .rpf-price-values > span {
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	grid-template-areas:"label value" "label unit";
	align-items:center;
	column-gap:6px;
	min-width:0;
	padding:8px 9px;
	border:1px solid #eadfe2;
	border-radius:11px;
	background:#fcfafb;
}
.rpf-shop-explorer .rpf-price-values small {
	grid-area:label;
	color:#a08f95;
	font-size:8px;
	font-weight:750;
}
.rpf-shop-explorer .rpf-price-values strong {
	grid-area:value;
	overflow:hidden;
	color:#4b3d42;
	font-size:10px;
	font-weight:900;
	line-height:1.35;
	white-space:nowrap;
	text-overflow:ellipsis;
	font-variant-numeric:tabular-nums;
}
.rpf-shop-explorer .rpf-price-values em {
	grid-area:unit;
	color:#ab9ba0;
	font-size:7px;
	font-style:normal;
	font-weight:700;
}
.rpf-shop-explorer .rpf-price-values > i {
	display:block;
	width:12px;
	height:1px;
	margin:auto;
	background:#d8c9ce;
}
.rpf-shop-explorer .rpf-price-slider {
	position:relative;
	height:28px;
	margin:0 6px 2px;
}
.rpf-shop-explorer .rpf-price-slider-track,
.rpf-shop-explorer .rpf-price-slider-fill {
	position:absolute;
	top:50%;
	right:0;
	left:0;
	height:5px;
	border-radius:999px;
	transform:translateY(-50%);
}
.rpf-shop-explorer .rpf-price-slider-track { background:#ece5e8; }
.rpf-shop-explorer .rpf-price-slider-fill {
	right:var(--rpf-price-from,0%);
	left:calc(100% - var(--rpf-price-to,100%));
	background:linear-gradient(90deg,#c48191,#9f6172);
}
.rpf-shop-explorer .rpf-price-slider input[type="range"] {
	position:absolute;
	inset:0;
	width:100%;
	height:28px;
	margin:0;
	padding:0;
	appearance:none;
	-webkit-appearance:none;
	background:transparent;
	pointer-events:none;
	outline:0;
}
.rpf-shop-explorer .rpf-price-slider input[type="range"]::-webkit-slider-runnable-track {
	height:5px;
	background:transparent;
}
.rpf-shop-explorer .rpf-price-slider input[type="range"]::-webkit-slider-thumb {
	width:18px;
	height:18px;
	margin-top:-6.5px;
	border:3px solid #fff;
	border-radius:50%;
	background:#a96576;
	box-shadow:0 0 0 1px #caa6b0,0 3px 8px rgba(85,48,59,.18);
	-webkit-appearance:none;
	pointer-events:auto;
	cursor:grab;
}
.rpf-shop-explorer .rpf-price-slider input[type="range"]::-moz-range-track {
	height:5px;
	background:transparent;
}
.rpf-shop-explorer .rpf-price-slider input[type="range"]::-moz-range-thumb {
	width:14px;
	height:14px;
	border:3px solid #fff;
	border-radius:50%;
	background:#a96576;
	box-shadow:0 0 0 1px #caa6b0,0 3px 8px rgba(85,48,59,.18);
	pointer-events:auto;
	cursor:grab;
}

@media (max-width:900px) {
	.rpf-shop-explorer { margin-top:6px; }
	.rpf-shop-explorer .rpf-shop-mobilebar > span { display:none !important; }
}
@media (max-width:480px) {
	.rpf-shop-explorer .rpf-price-values { grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr); gap:5px; }
	.rpf-shop-explorer .rpf-price-values > span { padding:7px; }
	
	
}
@media (max-width:480px) {
	
}

.rpf-shop-explorer .rpf-shop-sidebar-head strong {
	font-size:16px;
	line-height:1.6;
}
.rpf-shop-explorer .rpf-shop-sidebar-head span {
	font-size:10.5px;
	line-height:1.65;
}
.rpf-shop-explorer .rpf-filter-block > summary {
	font-size:12.5px;
	line-height:1.7;
	font-weight:850;
}
.rpf-shop-explorer .rpf-filter-block > summary > span {
	font-size:9.5px;
}
.rpf-shop-explorer .rpf-filter-option {
	min-height:34px;
	padding-block:7px;
}
.rpf-shop-explorer .rpf-filter-option span {
	font-size:11.5px;
	line-height:1.75;
	font-weight:680;
}
.rpf-shop-explorer .rpf-filter-search > label {
	font-size:12.5px;
	line-height:1.7;
}
.rpf-shop-explorer .rpf-filter-search input {
	font-size:11.5px !important;
	line-height:1.7 !important;
}
.rpf-shop-explorer .rpf-price-values small {
	font-size:9.5px;
}
.rpf-shop-explorer .rpf-price-values strong {
	font-size:11.5px;
	line-height:1.45;
}
.rpf-shop-explorer .rpf-price-values em {
	font-size:8.5px;
}
.rpf-shop-explorer .rpf-filter-switches label {
	font-size:11.5px;
	line-height:1.7;
}
.rpf-shop-explorer .rpf-apply-filters {
	font-size:11.5px;
}
.rpf-shop-explorer .rpf-reset-filters {
	font-size:10px;
}
.rpf-shop-explorer .rpf-shop-sort > span {
	font-size:10.5px;
	font-weight:750;
}
.rpf-shop-explorer .rpf-shop-sort select {
	font-size:11px !important;
	line-height:1.6 !important;
}
.rpf-shop-explorer .rpf-active-filters span,
.rpf-shop-explorer .rpf-active-filters a {
	font-size:9.5px;
}
.rpf-shop-explorer .rpf-shop-pagination .page-numbers {
	font-size:10.5px;
}

/* Product titles are H2 in the shop shortcode; preserve the visual card scale. */
.rpf-shop-explorer .rpf-shop-grid .rpf-product-body .rpf-product-title {
	display:-webkit-box;
	overflow:hidden;
	min-height:47px;
	margin:0 0 9px;
	color:var(--rpf-text, #292126);
	font-size:13.5px;
	font-weight:800;
	line-height:1.75;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
.rpf-shop-explorer .rpf-shop-grid .rpf-product-body .rpf-product-title a {
	color:inherit;
	text-decoration:none !important;
}
.rpf-shop-explorer .rpf-shop-grid .rpf-product-action.button {
	font-size:11.5px !important;
	font-weight:800 !important;
}

@media (max-width:900px) {
	.rpf-shop-explorer .rpf-shop-filter-toggle {
		font-size:11.5px;
	}
	.rpf-shop-explorer .rpf-shop-sort > span {
		font-size:10.5px;
	}
	.rpf-shop-explorer .rpf-shop-sort select {
		font-size:11px !important;
	}
}
@media (max-width:480px) {
	.rpf-shop-explorer .rpf-filter-block > summary { font-size:12px; }
	.rpf-shop-explorer .rpf-filter-option span { font-size:11px; }
	.rpf-shop-explorer .rpf-filter-search > label { font-size:12px; }
	.rpf-shop-explorer .rpf-filter-search input { font-size:11px !important; }
	.rpf-shop-explorer .rpf-price-values strong { font-size:10.5px; }
	.rpf-shop-explorer .rpf-filter-switches label { font-size:11px; }
	.rpf-shop-explorer .rpf-shop-grid .rpf-product-body .rpf-product-title {
		min-height:44px;
		font-size:11.5px;
		line-height:1.8;
	}
	
	.rpf-shop-explorer .rpf-shop-grid .rpf-product-action.button { font-size:10.5px !important; }
}
