/* BUYMORE · compact category directory v4 — scoped; does not affect other sections. */
#links.bm-directory { --bm-deep:#17233e; --bm-muted:#667089; --bm-pink:#ed2e7b; --bm-border:#ece7ef; padding:32px 0 40px !important; margin:0; background:linear-gradient(180deg,#fffbfd 0%,#fff7fb 48%,#fff 100%); overflow:visible; scroll-margin-top:90px; }
#links.bm-directory * { box-sizing:border-box; }
#links.bm-directory [hidden], #links.bm-directory .bm-directory__links a[hidden], #links.bm-directory .bm-directory__group[hidden], #links.bm-directory .bm-directory__clear[hidden] { display:none !important; }
#links.bm-directory .bm-directory__group:not([open]) > .bm-directory__links { display:none !important; }
#links.bm-directory .bm-directory__about:not([open]) > .bm-directory__about-grid { display:none !important; }
#links.bm-directory .bm-directory__container { width:min(1180px,calc(100% - 32px)) !important; max-width:1180px !important; margin-inline:auto !important; }
#links.bm-directory .bm-directory__head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 16px; }
#links.bm-directory .bm-directory__eyebrow { display:inline-flex; align-items:center; gap:6px; color:var(--bm-pink); font-size:10px; font-weight:900; letter-spacing:.14em; line-height:1.2; }
#links.bm-directory h2 { margin:5px 0 5px !important; color:var(--bm-deep) !important; font-size:clamp(24px,2.6vw,34px) !important; line-height:1.2 !important; letter-spacing:-.035em; font-weight:900; text-align:left; }
#links.bm-directory .bm-directory__head-copy p { margin:0 !important; color:var(--bm-muted); font-size:13.5px; font-weight:500; line-height:1.6; }
#links.bm-directory .bm-directory__total { display:flex; align-items:center; gap:10px; white-space:nowrap; flex-shrink:0; padding:9px 13px; border:1px solid #f3dde7; border-radius:12px; background:#fff; color:#657089; font-size:12px; box-shadow:0 3px 10px rgba(40,32,61,.02); }
#links.bm-directory .bm-directory__total strong { color:var(--bm-deep); font-size:14px; font-weight:900; }
#links.bm-directory .bm-directory__total i { height:14px; border-left:1px solid #ebdce5; }
#links.bm-directory .bm-directory__panel { background:#fff; border:1px solid var(--bm-border); border-radius:18px; padding:14px; box-shadow:0 12px 36px rgba(37,30,62,.045); }
#links.bm-directory .bm-directory__toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
#links.bm-directory .bm-directory__search { display:flex; align-items:center; gap:9px; flex:1 1 460px; max-width:570px; min-width:180px; padding:0 11px; height:42px; color:#8990a6; border:1px solid #e8e3ed; border-radius:11px; background:#f9f9fc; transition:border-color .18s,box-shadow .18s,background .18s; }
#links.bm-directory .bm-directory__search:focus-within { border-color:#ec438b; background:#fff; box-shadow:0 0 0 3px rgba(237,46,123,.1); }
#links.bm-directory .bm-directory__search svg { flex-shrink:0; }
#links.bm-directory .bm-directory__search input { width:100%; min-width:0; height:100%; padding:0; border:0 !important; box-shadow:none !important; outline:0 !important; background:transparent !important; color:var(--bm-deep); font-family:inherit; font-size:13px; font-weight:500; }
#links.bm-directory .bm-directory__search input::placeholder { color:#8e94a6; opacity:1; }
#links.bm-directory .bm-directory__clear { appearance:none; background:transparent; border:0; padding:3px 5px; color:#8d95a3; cursor:pointer; font-size:13px; }
#links.bm-directory .bm-directory__actions { display:flex; flex-shrink:0; align-items:center; gap:6px; }
#links.bm-directory .bm-directory__actions button { appearance:none; border:1px solid #eee8f0; background:#fff; color:#5a647b; padding:9px 11px; min-height:38px; cursor:pointer; border-radius:10px; font-size:12px; font-weight:700; line-height:1.2; font-family:inherit; transition:background .15s,border-color .15s; }
#links.bm-directory .bm-directory__actions button:hover { color:var(--bm-pink); border-color:#f4cbdc; background:#fff7fb; }
#links.bm-directory .bm-directory__status { margin:0 0 10px; color:#7d6174; font-size:12px; font-weight:700; }
#links.bm-directory .bm-directory__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; align-items:start; }
#links.bm-directory .bm-directory__group { margin:0; padding:0 !important; min-width:0; background:#fff; border:1px solid #e9e8ef; border-radius:12px; overflow:hidden; box-shadow:0 2px 8px rgba(30,40,80,.018); transition:border-color .15s,box-shadow .15s; }
#links.bm-directory .bm-directory__group:hover,#links.bm-directory .bm-directory__group[open] { border-color:#f4bad3; box-shadow:0 3px 16px rgba(227,59,121,.06); }
#links.bm-directory .bm-directory__group summary { display:flex !important; align-items:center; justify-content:space-between; gap:8px; list-style:none; margin:0 !important; padding:10px 11px !important; min-height:55px; background:#fff !important; cursor:pointer; user-select:none; }
#links.bm-directory .bm-directory__group summary::-webkit-details-marker { display:none; }
#links.bm-directory .bm-directory__group summary::marker { content:""; }
#links.bm-directory .bm-directory__group summary:focus-visible { outline:3px solid #f7a5c8; outline-offset:-3px; }
#links.bm-directory .bm-directory__name { min-width:0; display:flex; gap:10px; align-items:center; }
#links.bm-directory .bm-directory__icon { flex:0 0 34px; display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#fff0f7; color:#ef3985; font-size:17px; line-height:1; }
#links.bm-directory .bm-directory__label { min-width:0; color:var(--bm-deep); font-size:13px; font-weight:800; line-height:1.35; }
#links.bm-directory .bm-directory__right { display:flex; align-items:center; gap:11px; flex-shrink:0; margin-left:auto; }
#links.bm-directory .bm-directory__count { border-radius:999px; background:#fff0f7; color:#d92e73; padding:5px 9px; line-height:1.1; font-size:11px; font-weight:800; white-space:nowrap; }
#links.bm-directory .bm-directory__chevron { display:block; width:7px; height:7px; border-right:2px solid #c46c90; border-bottom:2px solid #c46c90; transform:rotate(45deg); margin:0 3px 4px 0; transition:transform .17s,margin .17s; }
#links.bm-directory .bm-directory__group[open] .bm-directory__chevron { transform:rotate(225deg); margin:4px 3px 0 0; }
#links.bm-directory .bm-directory__group[open] summary { border-bottom:1px solid #f6edf2; background:#fffafd !important; }
#links.bm-directory .bm-directory__links { display:flex; align-content:flex-start; align-items:center; flex-wrap:wrap; gap:6px; padding:12px; background:#fff; max-height:330px; overflow:auto; scrollbar-width:thin; scrollbar-color:#efc9d9 transparent; }
#links.bm-directory .bm-directory__links a { display:inline-flex !important; max-width:100%; width:auto; min-height:28px; align-items:center; text-decoration:none; background:#f8f9fc; color:#46506b; border:1px solid #ebedf2; border-radius:7px; padding:5px 9px; font-size:11.5px; font-weight:650; line-height:1.35; transition:background .15s,color .15s,border-color .15s; overflow-wrap:anywhere; }
#links.bm-directory .bm-directory__links a::before { content:none !important; }
#links.bm-directory .bm-directory__links a:hover,#links.bm-directory .bm-directory__links a:focus-visible { background:#fceaf2; color:#d62973; border-color:#f7b8d1; transform:none; box-shadow:none; }
#links.bm-directory .bm-directory__empty { background:#fff9fc; border:1px dashed #f0c9da; padding:18px; border-radius:12px; text-align:center; color:#6f7187; font-size:13px; margin:8px 0 0; }
#links.bm-directory .bm-directory__about { margin-top:10px; padding:0 !important; border:1px solid #f1e8ec; border-radius:11px; background:rgba(255,255,255,.84); overflow:hidden; }
#links.bm-directory .bm-directory__about summary { padding:10px 13px !important; cursor:pointer; color:#525b72; font-size:12px; font-weight:800; list-style:none; display:flex; align-items:center; gap:8px; }
#links.bm-directory .bm-directory__about summary::-webkit-details-marker { display:none; }
#links.bm-directory .bm-directory__about summary:before { content:"ⓘ"; color:#ea3483; font-size:15px; font-weight:800; }
#links.bm-directory .bm-directory__about summary span { color:#b26d90; font-weight:500; }
#links.bm-directory .bm-directory__about-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 12px 12px; }
#links.bm-directory .bm-directory__about-grid > div { min-width:0; background:#fffafa; border:1px solid #f5e5ec; border-radius:10px; padding:12px; font-size:12px; color:#626b7f; font-weight:500; line-height:1.65; }
#links.bm-directory .bm-directory__about-grid b,#links.bm-directory .bm-directory__about-grid strong { display:block; color:#b72262; font-size:13px; margin-bottom:4px; }
@media (max-width:850px) {
  #links.bm-directory { padding:26px 0 34px !important; }
  #links.bm-directory .bm-directory__head { align-items:flex-start; }
  #links.bm-directory .bm-directory__total { margin-top:18px; }
  #links.bm-directory .bm-directory__about-grid { grid-template-columns:1fr; }
}
@media (max-width:670px) {
  #links.bm-directory .bm-directory__container { width:calc(100% - 22px) !important; }
  #links.bm-directory .bm-directory__head { display:block; margin-bottom:11px; }
  #links.bm-directory h2 { font-size:clamp(23px,6.5vw,29px) !important; }
  #links.bm-directory .bm-directory__head-copy p { font-size:12.5px; }
  #links.bm-directory .bm-directory__total { width:max-content; padding:6px 10px; margin-top:9px; font-size:11px; }
  #links.bm-directory .bm-directory__panel { padding:10px; border-radius:14px; }
  #links.bm-directory .bm-directory__toolbar { flex-wrap:wrap; gap:8px; }
  #links.bm-directory .bm-directory__search { flex-basis:100%; max-width:100%; height:42px; }
  #links.bm-directory .bm-directory__actions { width:100%; justify-content:flex-end; }
  #links.bm-directory .bm-directory__actions button { padding:6px 9px; min-height:29px; font-size:11px; }
  #links.bm-directory .bm-directory__grid { grid-template-columns:minmax(0,1fr) !important; gap:7px; }
  #links.bm-directory .bm-directory__group summary { min-height:53px; padding:9px 10px !important; }
  #links.bm-directory .bm-directory__label { font-size:12.5px; }
  #links.bm-directory .bm-directory__icon { width:32px; height:32px; flex-basis:32px; }
  #links.bm-directory .bm-directory__links { max-height:290px; }
}
@media (prefers-reduced-motion:reduce) { #links.bm-directory * { scroll-behavior:auto !important; transition:none !important; } }
