/* =====================================================================
   shop.css — shop archive chrome (loaded on shop / product cat & tag).
   Product cards, badges and section headers come from the shared home.css;
   this file only owns the archive-specific layout.
   ===================================================================== */

.sc-shop{padding:0 0 16px;}

/* --- filter bar: Search / Category / Sort By --- */
.sc-filterbar{
	position:relative;z-index:3;margin:26px 0 30px;
	background:#fff;border:1.5px solid var(--line);border-radius:16px;
	box-shadow:0 10px 30px rgba(20,30,25,.07);
	display:flex;align-items:center;gap:14px;padding:14px 16px;
}
.sc-fb-search{flex:1;min-width:0;position:relative;display:flex;align-items:center;}
.sc-fb-search svg{position:absolute;left:14px;width:17px;height:17px;color:var(--muted);pointer-events:none;}
.sc-fb-search input{
	width:100%;font-family:inherit;font-size:14px;color:var(--ink);
	background:var(--section);border:1.5px solid transparent;border-radius:11px;
	padding:12px 16px 12px 40px;outline:none;transition:border-color .15s,background .15s;
}
.sc-fb-search input::placeholder{color:var(--struck);}
.sc-fb-search input:focus{background:#fff;border-color:var(--green);}
.sc-fb-divider{width:1px;height:30px;background:var(--line);flex-shrink:0;}

.sc-select{position:relative;flex-shrink:0;}
.sc-select label{
	position:absolute;top:-7px;left:12px;background:#fff;padding:0 5px;
	font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
	color:var(--muted);font-family:var(--font-jost);
}
.sc-select select{
	appearance:none;-webkit-appearance:none;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);
	background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:12px 38px 12px 15px;cursor:pointer;min-width:172px;
}
.sc-select select:hover{border-color:var(--green);}
.sc-select::after{
	content:"";position:absolute;right:15px;top:calc(50% + 3px);width:8px;height:8px;
	border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
	transform:translateY(-65%) rotate(45deg);pointer-events:none;
}

/* --- result count --- */
.sc-count{font-size:13px;color:var(--muted);margin:0 0 18px;font-weight:600;}
.sc-count strong{color:var(--ink);font-weight:800;}

/* --- product grid (cards come from home.css) --- */
.sc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.sc-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.sc-grid .pcard{animation:scShopFade .5s both;}
.sc-grid .pcard:nth-child(1){animation-delay:0ms;}
.sc-grid .pcard:nth-child(2){animation-delay:45ms;}
.sc-grid .pcard:nth-child(3){animation-delay:90ms;}
.sc-grid .pcard:nth-child(4){animation-delay:135ms;}
.sc-grid .pcard:nth-child(5){animation-delay:180ms;}
.sc-grid .pcard:nth-child(6){animation-delay:225ms;}
.sc-grid .pcard:nth-child(7){animation-delay:270ms;}
.sc-grid .pcard:nth-child(8){animation-delay:315ms;}
@keyframes scShopFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.sc-noproducts{
	background:var(--section);border:1.5px solid var(--line);border-radius:14px;
	padding:34px;text-align:center;color:var(--muted);font-weight:600;
}

/* --- pagination (paginate_links output) --- */
.sc-pagi{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:40px 0 64px;}
.sc-pagi .page-numbers{
	min-width:40px;height:40px;padding:0 9px;border-radius:10px;border:1.5px solid var(--line);
	display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13.5px;
	color:var(--ink);background:#fff;text-decoration:none;transition:border-color .15s,color .15s;
}
.sc-pagi a.page-numbers:hover{border-color:var(--green);color:var(--green);}
.sc-pagi .page-numbers.current{background:var(--green);border-color:var(--green);color:#fff;}
.sc-pagi .page-numbers.dots{border:0;background:transparent;min-width:auto;color:var(--muted);}

/* --- responsive --- */
@media(max-width:760px){
	.sc-filterbar{flex-wrap:wrap;}
	.sc-fb-search{flex:1 1 100%;}
	.sc-fb-divider{display:none;}
	.sc-select{flex:1;}
	.sc-select select{min-width:0;width:100%;}
	.sc-grid,.sc-grid.cols-3{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
	.sc-grid,.sc-grid.cols-3{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
	.sc-grid .pcard{animation:none;}
}

/* --- AJAX filtering + infinite scroll --- */
#sc-sentinel{width:100%;height:1px;}
/* NOTE: no display here — shop.js toggles it inline so it only appears while loading. */
.sc-loadmore-wrap{justify-content:center;align-items:center;gap:10px;margin:30px 0 54px;min-height:36px;}
.sc-loadmore{
	font-family:var(--font-jost);font-weight:700;font-size:13px;letter-spacing:.04em;
	color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;
	padding:13px 30px;cursor:pointer;transition:border-color .15s,color .15s;
}
.sc-loadmore:hover{border-color:var(--green);color:var(--green);}
/* Custom SC loader: a rotating dotted ring with the SC monogram in the centre. */
.sc-loader{position:relative;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;}
.sc-loader-ring{position:absolute;inset:0;border:3px dotted var(--green);border-radius:50%;opacity:.75;animation:scSpin 1.1s linear infinite;}
.sc-loader-text{font-family:var(--font-jost);font-weight:900;font-size:14px;letter-spacing:.03em;color:var(--green);line-height:1;}
@keyframes scSpin{to{transform:rotate(360deg);}}
/* filter (replace) feedback: gently dim the existing grid while fetching */
.sc-shop.is-loading #sc-grid{opacity:.5;transition:opacity .15s;}
/* JS owns pagination once it loads — keep the numbered nav hidden */
.sc-shop.sc-ajax .sc-pagi{display:none !important;}
@media(prefers-reduced-motion:reduce){.sc-loader-ring{animation-duration:1.8s;}}

/* ===================================================================
 * Search results page (search.php) — reuses .sc-grid / .pcard / .sc-pagi
 * =================================================================== */
.sc-search-h{font-family:var(--font-jost,'Jost',sans-serif);font-weight:800;font-size:18px;color:var(--ink);margin:34px 0 16px;}
.sc-search-h:first-child{margin-top:0;}
.sc-grid + .sc-search-h{margin-top:38px;}

.sc-search-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.sc-search-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;transition:border-color .15s,box-shadow .15s;}
.sc-search-item:hover{border-color:#d4e0d9;box-shadow:0 8px 22px rgba(20,40,30,.06);}
.sc-search-link{font-family:var(--font-jost,'Jost',sans-serif);font-weight:700;font-size:16.5px;color:var(--ink);text-decoration:none;}
.sc-search-link:hover{color:var(--green);}
.sc-search-ex{margin:7px 0 0;font-size:14px;color:var(--muted);line-height:1.55;}

/* Empty state */
.sc-search-empty{text-align:center;max-width:560px;margin:10px auto 8px;padding:30px 22px 36px;}
.sc-search-empty h2{font-family:var(--font-jost,'Jost',sans-serif);font-weight:800;font-size:24px;color:var(--ink);margin:0 0 10px;}
.sc-search-empty p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 20px;}
.sc-search-form{display:flex;gap:10px;max-width:440px;margin:0 auto 18px;}
.sc-search-form input{flex:1;height:50px;border:1px solid var(--line);border-radius:11px;padding:0 16px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;}
.sc-search-form input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(29,160,116,.13);}
.sc-search-form button{height:50px;padding:0 22px;border:0;border-radius:11px;background:var(--green);color:#fff;font-family:var(--font-jost,'Jost',sans-serif);font-weight:800;font-size:15px;cursor:pointer;transition:background .2s;}
.sc-search-form button:hover{background:var(--green-d,#178460);}
.sc-search-shoplink{display:inline-block;color:var(--green);font-weight:700;font-size:14.5px;text-decoration:none;}
.sc-search-shoplink:hover{text-decoration:underline;}

@media(max-width:560px){
	.sc-search-form{flex-direction:column;}
	.sc-search-form button{height:48px;}
}
