/*
 * AW Product Catalog Layout 1.0.8
 * 商品カテゴリ一覧専用。すべて .aw-catalog 以下に限定し、ヘッダーや商品詳細には作用させない。
 * プラグイン停止で元のWelcartデザインに即復帰する。
 */
.aw-catalog {
  --aw-bg: #fffefa;
  --aw-ink: #292b29;
  --aw-muted: #72746e;
  --aw-border: #e7e5de;
  --aw-tint: #f5f4ef;
  background: var(--aw-bg);
  color: var(--aw-ink);
  padding: 38px 0 88px;
  font-size: 16px;
  line-height: 1.65;
}
.aw-catalog *, .aw-catalog *::before, .aw-catalog *::after {box-sizing: border-box;}
.aw-catalog__inner {width: min(1280px, calc(100% - 64px)); margin: 0 auto;}
.aw-catalog a {color: inherit; text-decoration: none;}
.aw-catalog a:hover {color: var(--aw-ink); text-decoration: none;}
.aw-catalog__header {display:flex; justify-content:space-between; align-items:end; gap:20px; border-bottom:1px solid var(--aw-border); padding-bottom:26px; margin-bottom:26px;}
.aw-catalog__eyebrow {font-size:11px; color:var(--aw-muted); letter-spacing:.14em; margin:0 0 9px; font-weight:600;}
.aw-catalog__header h1 {font-size: clamp(25px, 2.8vw, 39px); color:var(--aw-ink); font-weight:600; margin:0; line-height:1.4; letter-spacing:.035em;}
.aw-catalog__description {font-size:14px; color:#555852; max-width:780px; margin:14px 0 0;}
.aw-catalog__description p:last-child {margin-bottom:0;}
.aw-catalog__count {flex-shrink:0; font-size:34px; letter-spacing:-.04em; font-variant-numeric:tabular-nums; margin:0 0 1px; line-height:1.2;}
.aw-catalog__count span {font-size:12px; letter-spacing:0; color:var(--aw-muted);}
.aw-catalog__filters {border:1px solid var(--aw-border); border-radius:4px; padding:21px 24px 23px; background:#fff; margin: 0 0 38px;}
.aw-catalog__filters-title {font-size:13px; font-weight:700; letter-spacing:.045em; color:var(--aw-ink); margin:0 0 16px;}
.aw-catalog__filter-list {padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px;}
.aw-catalog__filter-list li {min-width:0;}
.aw-catalog__filter-list a {display:flex; align-items:center; gap:10px; border:1px solid var(--aw-border); border-radius:3px; background:var(--aw-bg); padding:10px 13px; min-height:49px; font-size:13px; transition:background-color .18s,border-color .18s;}
.aw-catalog__filter-list a:hover {background:var(--aw-tint); border-color:#b9b7aa;}
.aw-catalog__filter-list a span:first-child {min-width:0; flex:1;}
.aw-catalog__filter-list a small {color:var(--aw-muted); font-size:11px; font-variant-numeric:tabular-nums;}
.aw-catalog__arrow {font-size:13px; color:var(--aw-muted);}
.aw-catalog__listing-header {display:flex; justify-content:space-between; gap:15px; align-items:baseline; margin: 0 0 17px;}
.aw-catalog__listing-header h2 {font-size:17px; font-weight:600; letter-spacing:.03em; margin:0; color:var(--aw-ink);}
.aw-catalog__listing-header p {font-size:12px; color:var(--aw-muted); margin:0; font-variant-numeric:tabular-nums;}
.aw-catalog__grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 18px; align-items:stretch;}
.aw-catalog__card {min-width:0; margin:0; padding:0; display:flex; flex-direction:column; background:#fff; border:1px solid var(--aw-border); overflow:hidden; border-radius:3px; transition:box-shadow .2s,transform .2s;}
.aw-catalog__card:hover {box-shadow:0 8px 30px rgba(30,28,23,.09); transform:translateY(-2px);}
.aw-catalog__media {display:flex; width:100%; aspect-ratio: 4 / 3; position:relative; align-items:center; justify-content:center; background:var(--aw-tint); overflow:hidden;}
.aw-catalog__media img {display:block; width:100%; height:100%; object-fit:contain; transition:transform .25s;}
.aw-catalog__card:hover .aw-catalog__media img {transform:scale(1.018);}
.aw-catalog__no-image {font-size:12px; letter-spacing:.1em; color:#999;}
.aw-catalog__badges {display:flex; gap:5px; position:absolute; left:9px; top:9px;}
.aw-catalog__badge {display:inline-block; padding:2px 6px; font-size:10px; font-weight:700; letter-spacing:.06em; color:#fff; background:#43433e; border-radius:2px;}
.aw-catalog__badge--new {background:#6e7b62;}
.aw-catalog__card-content {padding:13px 14px 17px; display:flex; flex-direction:column; gap:7px; flex:1;}
.aw-catalog__card-title {font-size:14px; font-weight:500; line-height:1.55; margin:0; color:var(--aw-ink); min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.aw-catalog__card-title a:hover {text-decoration:underline; text-underline-offset:3px;}
.aw-catalog__price {display:flex; align-items:baseline; gap:5px; flex-wrap:wrap; margin-top:auto;}
.aw-catalog__price strong {color:var(--aw-ink); font-size:16px; font-weight:650; font-variant-numeric:tabular-nums;}
.aw-catalog__price del {font-size:12px; color:var(--aw-muted); font-weight:400;}
.aw-catalog__price small {font-size:10px; color:var(--aw-muted);}
.aw-catalog__empty {background:var(--aw-tint); padding:35px 20px; color:var(--aw-muted); text-align:center; font-size:14px;}
.aw-catalog__pagination {padding-top:42px;}
.aw-catalog__pagination .nav-links {display:flex; gap:8px; flex-wrap:wrap; justify-content:center;}
.aw-catalog__pagination .page-numbers {display:inline-flex; align-items:center; justify-content:center; min-width:38px; min-height:38px; padding:4px 11px; font-size:13px; border:1px solid var(--aw-border); background:white;}
.aw-catalog__pagination .page-numbers.current {background:var(--aw-ink); border-color:var(--aw-ink); color:white;}
@media (max-width: 1080px) {
 .aw-catalog__grid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 14px;}
}
@media (max-width: 720px) {
 .aw-catalog {padding:22px 0 56px;}
 .aw-catalog__inner {width:calc(100% - 30px);}
 .aw-catalog__header {padding-bottom:19px; margin-bottom:19px;}
 .aw-catalog__header h1 {font-size:25px;}
 .aw-catalog__count {font-size:24px;}
 .aw-catalog__filters {padding:15px; margin-bottom:27px;}
 .aw-catalog__filter-list {grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;}
 .aw-catalog__filter-list a {font-size:12px; padding:8px 10px; gap:5px;}
 .aw-catalog__grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 9px;}
 .aw-catalog__card-content {padding:9px 10px 12px; gap:5px;}
 .aw-catalog__card-title {font-size:12px;}
 .aw-catalog__price strong {font-size:14px;}
 .aw-catalog__price small {font-size:10px;}
 .aw-catalog__listing-header h2 {font-size:15px;}
}
@media (max-width: 360px) {
 .aw-catalog__inner {width:calc(100% - 22px);}
}
@media (prefers-reduced-motion: reduce) {
 .aw-catalog__card, .aw-catalog__media img, .aw-catalog__filter-list a {transition:none;}
}

.aw-catalog__stock {align-self:flex-start; font-size:11px; border:1px solid #d3c6bf; color:#7a5044; padding:1px 6px; border-radius:2px;}
