/* ============================================================
 * LaPrima Shops — Brand Directory (archive-brand.php)
 * All selectors namespaced under .lps-dir to avoid collisions.
 * Base palette = locked theme tokens; k/a/e = department accents.
 * ============================================================ */

.lps-dir{
	--d-terra:#B45734; --d-terra-dk:#9E4D2E;
	--d-paper:#FAF6EE; --d-cream:#F3E9D9; --d-panel:#F5F0E7;
	--d-ink:#2C2722; --d-ink-soft:#574F47; --d-muted:#8A8178; --d-faint:#A8A097;
	--d-line:#E7DCCB; --d-card:#FFFFFF;
	/* department accents */
	--d-k:#9E4D2E; --d-k-bg:#F7ECE6; --d-k-line:#E0CBBD;
	--d-a:#3D5A73; --d-a-bg:#EEF2F5; --d-a-line:#CBDAE3;
	--d-e:#4F7D57; --d-e-bg:#EEF3EC; --d-e-line:#CBE0CD;
	--d-display:var(--lps-font-display,Georgia,'Times New Roman',serif);
	color:var(--d-ink);
	background:var(--d-paper);
}

.lps-dir *{box-sizing:border-box;}
.lps-dir__wrap{max-width:1180px;margin:0 auto;padding:0 20px;}

/* scope bar */
.lps-dir__scopebar{background:#FBF8F2;border-bottom:1px solid var(--d-line);}
.lps-dir__scoperow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 20px;}
.lps-dir__scopelbl{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--d-muted);}
.lps-dir__scopebtn{border:1px solid var(--d-line);background:#fff;color:var(--d-ink-soft);border-radius:9px;
	padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:7px;}
.lps-dir__scopebtn:hover{border-color:var(--d-terra);color:var(--d-terra-dk);}
.lps-dir__scopebtn.is-on{background:var(--d-terra);color:#fff;border-color:var(--d-terra);}
.lps-dir__pv{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--d-a);
	background:var(--d-a-bg);border:1px solid var(--d-a-line);border-radius:20px;padding:1px 6px;}
.lps-dir__scopebtn.is-on .lps-dir__pv{color:#fff;background:rgba(255,255,255,.22);border-color:transparent;}

/* hero */
.lps-dir__hero{padding:34px 0 8px;max-width:52ch;}
.lps-dir__eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--d-terra-dk);margin:0 0 4px;}
.lps-dir__kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--d-muted);margin:0 0 6px;}
.lps-dir__title{font-family:var(--d-display);font-weight:600;font-size:clamp(32px,5vw,50px);line-height:1.08;letter-spacing:-.02em;margin:0 0 12px;}
.lps-dir__sub{font-size:15.5px;color:var(--d-ink-soft);margin:0;}
.lps-dir__cur{font-size:13px;color:var(--d-muted);margin:8px 0 0;}
.lps-dir__preview{margin:14px 0 0;background:var(--d-a-bg);border:1px solid var(--d-a-line);border-left:3px solid var(--d-a);
	border-radius:0 10px 10px 0;padding:11px 14px;font-size:12.5px;color:#2b3f50;}

/* controls */
.lps-dir__controls{background:var(--d-panel);border:1px solid var(--d-line);border-radius:14px;padding:14px 16px;margin:18px 0 0;}
.lps-dir__ctop{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.lps-dir__count{font-size:13.5px;color:var(--d-ink-soft);}
.lps-dir__count b{font-family:var(--d-display);color:var(--d-terra-dk);font-size:18px;margin-right:3px;}
.lps-dir__spacer{flex:1;}
.lps-dir__sortwrap{display:inline-flex;align-items:center;gap:8px;}
.lps-dir__sortwrap span{font-size:13px;font-weight:600;color:var(--d-muted);}
.lps-dir__sort{border:1px solid var(--d-line);background:#fff;border-radius:999px;padding:7px 30px 7px 14px;
	font-family:inherit;font-size:13px;font-weight:600;color:var(--d-ink);appearance:none;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A8178' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 11px center;}

/* A-Z index (decorative) */
.lps-dir__az{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 6px;font-size:13px;color:var(--d-faint);}
.lps-dir__az b{color:var(--d-terra-dk);font-weight:600;}

/* grid + cards */
.lps-dir__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:10px;}
.lps-dir__card{background:var(--d-card);border:1px solid var(--d-line);border-radius:14px;padding:18px 18px 0;
	display:flex;flex-direction:column;box-shadow:0 8px 22px rgba(44,39,34,.05);transition:transform .14s,box-shadow .14s;}
.lps-dir__card:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(44,39,34,.07),0 18px 36px rgba(44,39,34,.1);}
.lps-dir__bname{font-family:var(--d-display);font-weight:600;font-size:21px;color:var(--d-terra-dk);margin:0;line-height:1.1;}

.lps-dir__badges{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 0;}
.lps-dir__dept{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:2px 9px;}
.lps-dir__dept.k{color:var(--d-k);background:var(--d-k-bg);border:1px solid var(--d-k-line);}
.lps-dir__dept.a{color:var(--d-a);background:var(--d-a-bg);border:1px solid var(--d-a-line);}
.lps-dir__dept.e{color:var(--d-e);background:var(--d-e-bg);border:1px solid var(--d-e-line);}
.lps-dir__dept.also{opacity:.9;}

.lps-dir__tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0;}
.lps-dir__tag{font-size:11.5px;font-weight:600;color:var(--d-ink-soft);background:#F3EDE3;border:1px solid var(--d-line);border-radius:20px;padding:3px 10px;}
.lps-dir__tag.ret{color:var(--d-muted);background:#fff;}
.lps-dir__desc{font-size:13.5px;color:var(--d-ink-soft);margin:11px 0 14px;}
.lps-dir__prov{font-size:12px;color:var(--d-muted);margin:10px 0 0;}

.lps-dir__foot{display:flex;align-items:center;margin:14px -18px 0;margin-top:auto;padding:13px 18px;border-top:1px solid var(--d-line);}
.lps-dir__view{background:var(--d-terra);color:#fff;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:600;text-decoration:none;}
.lps-dir__view:hover{background:var(--d-terra-dk);}
.lps-dir__nprod{margin-left:auto;font-size:12.5px;color:var(--d-muted);}

.lps-dir__empty{text-align:center;color:var(--d-muted);font-style:italic;padding:40px 0;}

/* responsive */
@media (max-width:860px){ .lps-dir__grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){
	.lps-dir__grid{grid-template-columns:1fr;}
	.lps-dir__hero{padding-top:24px;}
	.lps-dir__scoperow{padding:12px 16px;}
}
/* Visited View-brand button keeps white text — overrides Astra a:visited (2026-07-21) */
.lps-dir__view:visited{ color:#fff; }