/* Labnostix — Products List widget
   Rows: Image · Name · Price/Enquire · Details  + toolbar + pagination */

.lbx-pl { --lbx-accent:#3763B8; --lbx-line:#E2E7EE; --lbx-ink:#211D1D; --lbx-slate:#6B7280;
	font-family: "Source Sans 3", system-ui, -apple-system, sans-serif; color: var(--lbx-ink); }

/* ---------- Toolbar ---------- */
.lbx-pl-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px;
	flex-wrap:wrap; padding:14px 16px; background:#F5F7FA; border:1px solid var(--lbx-line);
	border-radius:12px; margin-bottom:18px; }
.lbx-pl-count { font-weight:600; font-size:15px; color:var(--lbx-ink); }
.lbx-pl-controls { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0; }
.lbx-pl-field { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--lbx-slate); }
.lbx-pl-field select { border:1px solid var(--lbx-line); background:#fff; border-radius:8px;
	padding:7px 10px; font-size:14px; color:var(--lbx-ink); cursor:pointer; }
.lbx-pl-reset { font-size:13px; color:var(--lbx-slate); text-decoration:underline;
	text-underline-offset:2px; white-space:nowrap; }
.lbx-pl-reset:hover { color:var(--lbx-accent); }

/* ---------- Rows ---------- */
.lbx-pl-rows { display:flex; flex-direction:column; }
.lbx-pl-row { display:grid; grid-template-columns:88px 1fr auto auto; align-items:center; gap:18px;
	padding:14px 16px; border:1px solid var(--lbx-line); border-bottom:0; background:#fff;
	cursor:pointer; transition:background .15s ease, box-shadow .15s ease; }
.lbx-pl-row:first-child { border-top-left-radius:12px; border-top-right-radius:12px; }
.lbx-pl-row:last-child  { border-bottom:1px solid var(--lbx-line);
	border-bottom-left-radius:12px; border-bottom-right-radius:12px; }
.lbx-pl-row:hover { background:#F8FAFD; box-shadow:inset 3px 0 0 var(--lbx-accent); }
.lbx-pl-row:focus-visible { outline:2px solid var(--lbx-accent); outline-offset:-2px; }

.lbx-pl-media { width:88px; height:88px; display:flex; align-items:center; justify-content:center;
	background:#fff; border:1px solid var(--lbx-line); border-radius:10px; overflow:hidden; }
.lbx-pl-media img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }

.lbx-pl-name { display:flex; flex-direction:column; gap:3px; min-width:0; }
.lbx-pl-name a { font-family:"Fraunces", Georgia, serif; font-weight:600; font-size:18px;
	line-height:1.25; color:var(--lbx-ink); text-decoration:none; }
.lbx-pl-name a:hover { color:var(--lbx-accent); }
.lbx-pl-sku { font-size:12.5px; color:var(--lbx-slate); letter-spacing:.02em; }

.lbx-pl-pricecol { text-align:right; white-space:nowrap; font-size:16px; }
.lbx-pl-price { font-weight:600; color:var(--lbx-ink); }
.lbx-pl-price .amount { font-weight:600; }
.lbx-pl-enquire { display:inline-block; font-weight:600; font-size:13px; color:var(--lbx-accent);
	background:#EEF3FB; border:1px solid #DCE6F7; border-radius:999px; padding:4px 12px; }

.lbx-pl-action { text-align:right; }
.lbx-pl-btn { display:inline-block; background:var(--lbx-accent); color:#fff; border:1px solid var(--lbx-accent);
	font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.02em;
	padding:9px 20px; border-radius:8px; text-decoration:none; white-space:nowrap; transition:opacity .15s ease; }
.lbx-pl-btn:hover { opacity:.9; color:#fff; }

/* ---------- Empty ---------- */
.lbx-pl-empty { padding:28px 16px; text-align:center; color:var(--lbx-slate);
	border:1px dashed var(--lbx-line); border-radius:12px; }

/* ---------- Pagination ---------- */
.lbx-pl-pagination { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:26px; }
.lbx-pl-page a, .lbx-pl-page span.current, .lbx-pl-page span.dots {
	display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px;
	padding:0 12px; border:1px solid var(--lbx-line); border-radius:8px; background:#fff;
	color:var(--lbx-ink); text-decoration:none; font-size:14px; font-weight:600; }
.lbx-pl-page a:hover { border-color:var(--lbx-accent); color:var(--lbx-accent); }
.lbx-pl-page.current span.current, .lbx-pl-page span.current {
	background:var(--lbx-accent); border-color:var(--lbx-accent); color:#fff; }
.lbx-pl-page span.dots { background:transparent; border-color:transparent; }

/* ---------- Responsive ---------- */
@media (max-width:782px){
	.lbx-pl-row { grid-template-columns:64px 1fr auto; grid-template-areas:"media name price" "media name action"; gap:6px 14px; }
	.lbx-pl-media { width:64px; height:64px; grid-area:media; align-self:start; }
	.lbx-pl-name { grid-area:name; }
	.lbx-pl-name a { font-size:16px; }
	.lbx-pl-pricecol { grid-area:price; }
	.lbx-pl-action { grid-area:action; align-self:end; }
	.lbx-pl-toolbar { justify-content:flex-start; }
}
@media (max-width:480px){
	.lbx-pl-btn { padding:8px 14px; font-size:13px; }
	.lbx-pl-name a { font-size:15px; }
}
