/* ===========================
   商品一覧ページ専用スタイル
   :root / 共通コンポーネントは common.css / index.css
   =========================== */

/* PAGE HEADER */
.products-page-head{
  background:var(--white);border-bottom:1px solid var(--line);
}
.products-page-head-inner{
  max-width:1280px;margin:0 auto;padding:28px 24px 32px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.products-page-title{display:flex;flex-direction:column;gap:6px;}
.products-page-title .en{
  font-family:var(--font-en);font-size:11px;font-weight:700;
  color:var(--blue);letter-spacing:.3em;
}
.products-page-title h1{
  font-size:36px;font-weight:900;color:var(--navy);letter-spacing:-.01em;line-height:1.1;
}
.products-page-meta{font-size:13px;color:var(--text-sub);}
.products-page-meta strong{color:var(--navy);font-family:var(--font-en);font-weight:900;font-size:18px;margin:0 3px;}

/* FILTER BAR */
.filter-bar{
  background:var(--white);border-bottom:1px solid var(--line);
  position:sticky;top:64px;z-index:50;
}
.filter-bar-inner{
  max-width:1280px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.filter-cats{
  display:flex;align-items:center;gap:6px;flex:1;flex-wrap:wrap;
}
.filter-chip{
  padding:8px 18px;border-radius:99px;
  font-size:12.5px;font-weight:600;color:var(--text-sub);
  background:transparent;
  transition:background .15s, color .15s;
  white-space:nowrap;
}
.filter-chip:hover{background:var(--bg-soft);color:var(--navy);}
.filter-chip.active{background:var(--navy);color:#fff;font-weight:700;}
.filter-sort{
  display:flex;align-items:center;gap:8px;flex-shrink:0;
}
.filter-sort label{font-size:11.5px;color:var(--text-mute);font-weight:600;letter-spacing:.05em;}
.filter-sort select{
  padding:8px 32px 8px 14px;border-radius:8px;
  border:1px solid var(--line);background:#fff;
  font-size:12.5px;font-weight:600;color:var(--navy);cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231e2a52' stroke-width='2.5' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;
  transition:border-color .15s;
}
.filter-sort select:hover, .filter-sort select:focus{border-color:var(--navy);outline:none;}

/* PRODUCT LIST */
.products-list-section{
  max-width:1280px;margin:32px auto 60px;padding:0 24px;
}

/* PAGINATION */
.pagination{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:48px;
}
.pagination-pages{
  display:flex;align-items:center;gap:6px;flex:1;justify-content:center;
}
.pagination-pages a, .pagination-pages span{
  min-width:40px;height:40px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;
  font-size:13px;font-weight:700;font-family:var(--font-en);
  color:var(--text-sub);
  transition:background .15s, color .15s;
  padding:0 4px;
}
.pagination-pages a:hover{background:var(--bg-soft);color:var(--navy);}
.pagination-pages .current{
  background:var(--navy);color:#fff;
}
.pagination-pages .ellipsis{color:var(--text-mute);font-weight:400;}
.pagination .arrow{
  display:inline-flex;align-items:center;gap:6px;
  height:40px;padding:0 16px;
  border-radius:99px;border:1px solid var(--line);background:#fff;
  font-size:12.5px;font-weight:700;color:var(--navy);
  transition:background .15s, color .15s, border-color .15s, transform .15s;
  flex-shrink:0;
}
.pagination .arrow:hover{
  background:var(--navy);color:#fff;border-color:var(--navy);
  transform:translateY(-1px);
}
.pagination .arrow.prev:hover svg{transform:translateX(-2px);}
.pagination .arrow.next:hover svg{transform:translateX(2px);}
.pagination .arrow svg{transition:transform .2s;}
.pagination .arrow.disabled{
  color:var(--text-mute);pointer-events:none;opacity:.45;
  background:transparent;
}

/* RESPONSIVE */
@media (max-width: 980px){
  .products-page-head-inner{padding:28px 24px 24px;}
  .products-page-title h1{font-size:26px;}
  .filter-bar{position:static;}
}
@media (max-width: 760px){
  .products-page-head-inner{padding:20px 16px 18px;gap:8px;}
  .products-page-title h1{font-size:22px;}
  .products-page-title .en{font-size:10px;letter-spacing:.25em;}
  .products-page-meta{font-size:12px;}
  .filter-bar-inner{
    padding:12px 16px;gap:10px;
    flex-direction:column;align-items:stretch;
    min-width:0;max-width:100%;
  }
  .filter-cats{
    flex-wrap:wrap;gap:6px;
    min-width:0;max-width:100%;
  }
  .filter-chip{padding:6px 12px;font-size:12px;flex-shrink:0;}
  .filter-sort{justify-content:flex-start;}
  .products-list-section{margin:20px auto 40px;padding:0 16px;}
  .pagination{margin-top:32px;gap:8px;}
  .pagination-pages{gap:4px;}
  .pagination-pages a, .pagination-pages span{
    min-width:36px;height:36px;font-size:12.5px;
  }
  .pagination .arrow{
    height:36px;padding:0 12px;
    font-size:11.5px;
  }
  .pagination .arrow .lbl{display:none;}   /* モバイルではアイコンのみ */
  .pagination .arrow{padding:0;width:36px;justify-content:center;}
  .pagination .arrow svg{width:14px;height:14px;}
}
