/* PRIME GEAR Manufacturer v1.0.0 */
:root {
  --pg-accent: #B00000;
  --pg-border: #e7e7e7;
  --pg-border-strong: #d8d8d8;
  --pg-text: #222;
  --pg-text-soft: #666;
  --pg-bg: #fff;
  --pg-bg-hover: rgba(0, 0, 0, .03);
  --pg-header-offset: 180px;
}
.pg-alpha-tabs { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; margin:0 0 12px; }
.pg-alpha-tabs button { padding:.5em 1em; border:1px solid var(--pg-border); background:#fff; color:var(--pg-text); border-radius:999px; cursor:pointer; font-size:.95rem; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.pg-alpha-tabs button.is-active { background:var(--pg-accent); color:#fff; border-color:var(--pg-accent); }
.pg-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:0 0 18px; }
.pg-count { color:#666; font-size:.95rem; }
.pg-size { display:flex; align-items:center; gap:8px; color:#444; }
.pg-size__label,.pg-size__suffix { font-size:.95rem; }
.pg-select { position:relative; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--pg-border); border-radius:999px; padding:.2em .8em; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04); cursor:pointer; z-index:5; }
.pg-select select { appearance:none; -webkit-appearance:none; border:none; background:transparent; padding:.2em 1.2em .2em .2em; font-size:.95rem; color:#222; outline:none; cursor:pointer; position:relative; z-index:10; }
.pg-select__chev { color:#888; pointer-events:none; position:absolute; right:12px; }
.pg-brand-grid { display:grid; gap:22px 20px; align-items:stretch; grid-template-columns:repeat(2,minmax(0,1fr)); content-visibility:auto; contain-intrinsic-size:1000px; will-change:opacity,transform; transition:opacity .22s ease-out,transform .22s ease-out; opacity:1; }
.pg-brand-grid.pg-is-loading { opacity:0; transform:translateY(8px); }
@media (min-width:560px){ .pg-brand-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 22px; } }
@media (min-width:840px){ .pg-brand-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 24px; } }
@media (min-width:1100px){ .pg-brand-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:34px 24px; } }
.pg-brand { display:flex; min-height:118px; padding:22px 16px; text-decoration:none; color:#111; align-items:center; justify-content:center; flex-direction:column; text-align:center; border-bottom:1px solid rgba(0,0,0,.08); border-radius:0; background:transparent; transition:background .25s ease,transform .25s ease; will-change:transform; overflow:hidden; }
.pg-brand__name { display:block; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI","Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; font-size:clamp(1.2rem,1.4vw,1.55rem); font-weight:700; line-height:1.2; letter-spacing:.04em; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; transform:rotate(.001deg); transition:transform .25s ease; }
.pg-brand__name--long { font-family:inherit; font-size:clamp(1.02rem,1.1vw,1.2rem); font-weight:700; line-height:1.22; letter-spacing:.02em; }
.pg-brand__count { margin-top:14px; color:#757575; font-size:12px; line-height:1.5; letter-spacing:.04em; text-align:center; white-space:nowrap; opacity:.9; }
@media (hover:hover){ .pg-brand:hover { background:rgba(0,0,0,.03); transform:translateY(-1px); } .pg-brand:hover .pg-brand__name { transform:scale(1.03); } }
.pg-pager { display:flex; gap:12px; align-items:center; justify-content:center; margin:20px 0 0; }
.pg-btn { display:inline-flex; align-items:center; gap:.5em; padding:.6em 1.1em; border:1px solid var(--pg-border); background:#fff; color:#222; border-radius:999px; cursor:pointer; font-size:.95rem; box-shadow:0 1px 2px rgba(0,0,0,.04); transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.pg-btn:hover:not(:disabled) { background:#f5f5f5; border-color:#d6d6d6; transform:translateY(-1px); }
.pg-btn:disabled { opacity:.5; cursor:not-allowed; }
.pg-pageinfo { min-width:68px; text-align:center; color:#333; }
.pg-manufacturer { scroll-margin-top:var(--pg-header-offset); }
@media (min-width:640px) and (max-width:1280px){ .pg-brand__name{ font-size:clamp(1.15rem,1.3vw,1.45rem); } }
@media (max-width:639px){ .pg-brand{ min-height:104px; padding:18px 12px; } .pg-brand__name{ font-size:1.28rem; letter-spacing:.03em; } .pg-brand__count{ margin-top:11px; } }
.pg-brand.is-updated .pg-brand__count::after { content:"UP!"; display:inline-flex !important; align-items:center; justify-content:center; margin-left:6px; padding:0 4px; background:var(--pg-accent); color:#fff; font-size:10px; font-weight:800; line-height:1; height:14px; min-width:24px; border-radius:2px; vertical-align:middle; transform:translateY(-1.5px); letter-spacing:.02em; }
.pg-page-size { cursor:pointer !important; z-index:10 !important; position:relative !important; }
.pg-manufacturer__empty { text-align:center; color:#666; }
