/* Extend the collection with restrained, replaceable typographic logo slots. */
.brand-directory { margin:0 0 26px; padding:22px 0 20px; border-block:1px solid var(--line); }
.brand-directory-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.brand-directory-head h3 { margin:0; font-size:16px; font-weight:600; }
.brand-directory-head h3 span { margin-left:8px; color:var(--muted); font-size:14px; font-weight:400; }
.brand-directory-head .chip { min-height:44px; }
.brand-list { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:10px; }
.brand-slot { min-width:0; padding:14px 6px 12px; display:flex; flex-direction:column; align-items:center; gap:7px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); cursor:pointer; }
.brand-logo { display:flex; align-items:center; justify-content:center; height:50px; width:100%; padding:0 8px; }
.brand-logo > span { font:36px/1 Georgia,"Times New Roman",serif; }
.brand-logo img { width:100%; height:100%; object-fit:contain; }
.brand-slot strong { font-size:14px; font-weight:500; overflow-wrap:anywhere; }
.brand-slot-status { font-size:12px; color:var(--muted); }
.brand-slot:hover { border-color:var(--ink); }
.brand-slot.active { border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); background:#eeece7; }
.brand-directory-note { margin:14px 0 0; font-size:12px; color:var(--muted); line-height:1.6; }
.brand-selection { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; padding-top:16px; margin-top:16px; border-top:1px solid var(--line); }
.brand-selection strong { font-size:18px; font-weight:500; }
.brand-selection > span { font-size:14px; color:var(--muted); }
.brand-selection button { margin-left:auto; min-height:44px; }
.product-brand { margin:0 0 7px; color:var(--muted); font-size:14px; }
.brand-empty h3 { margin:0 0 12px; font-size:20px; font-weight:500; }
.brand-empty p { margin:0 0 20px; font-size:16px; line-height:1.6; }
.brand-empty > div { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
@media(max-width:1100px) { .brand-list { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:620px) {
  .brand-directory { padding-top:16px; margin-bottom:20px; }
  .brand-list { display:flex; overflow-x:auto; gap:8px; padding:4px 4px 12px; scroll-snap-type:x proximity; }
  .brand-slot { flex:0 0 100px; scroll-snap-align:start; }
  .brand-selection { gap:6px 12px; }
}
