/* Product collection grid shared by the Japanese and English sticker pages. */
.stickers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.stickers-card { display: flex; flex-direction: column; min-width: 0; min-height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.stickers-card[hidden] { display: none; }
.stickers-art { padding: clamp(12px, 1.6vw, 22px); background: var(--bg-soft); }
.stickers-art img { display: block; width: 100%; aspect-ratio: 1; height: auto; object-fit: contain; }
.stickers-copy { display: flex; flex: 1; flex-direction: column; align-items: stretch; min-width: 0; padding: 18px; }
.stickers-copy .section-kicker { min-height: 1.2em; font-size: .56rem; line-height: 1.2; letter-spacing: .1em; }
.stickers-copy h2 { display: -webkit-box; overflow: hidden; min-height: 2.75em; margin: 8px 0 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: clamp(1rem, 1.35vw, 1.28rem); line-height: 1.38; letter-spacing: -.03em; }
.stickers-copy > p:not(.section-kicker) { display: -webkit-box; overflow: hidden; min-height: calc(1.68em * 3); margin: 0 0 16px; color: var(--muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: .83rem; line-height: 1.68; }
.stickers-copy > p.stickers-release { display: block; min-height: 0; margin: 5px 0 0; overflow: visible; color: var(--muted); font-size: .62rem; font-variant-numeric: tabular-nums; letter-spacing: .08em; line-height: 1.35; }
.stickers-copy .button { width: 100%; min-height: 42px; margin-top: auto; padding-inline: 12px; justify-content: center; font-size: .72rem; }
.stickers-card--new { grid-column: auto; width: auto; justify-self: stretch; }
.stickers-new { display: inline-flex; margin-left: 5px; padding: 3px 6px; border-radius: 999px; background: var(--blue); color: var(--white); font-size: .54rem; letter-spacing: .08em; line-height: 1; vertical-align: middle; }
.stickers-controls { display:grid; gap:12px; margin:0 0 28px; padding:18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--paper); }
.stickers-controls label { font-size:.75rem; font-weight:600; letter-spacing:.04em; }
.stickers-controls input { width:100%; box-sizing:border-box; padding:11px 13px; border:1px solid var(--line); border-radius:8px; background:var(--bg-soft); color:var(--ink); font:inherit; }
.stickers-filter-group { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.stickers-filter-group > span { min-width:6em; color:var(--muted); font-size:.68rem; letter-spacing:.06em; }
.stickers-filter-buttons { display:flex; flex-wrap:wrap; gap:6px; }
.stickers-filter,.stickers-reset { padding:6px 10px; border:1px solid var(--line); border-radius:999px; background:transparent; color:inherit; cursor:pointer; font:inherit; font-size:.68rem; }
.stickers-filter.is-selected,.stickers-filter:hover,.stickers-reset:hover { border-color:var(--blue); background:var(--blue); color:var(--white); }
.stickers-result-count { margin:0; color:var(--muted); font-size:.72rem; letter-spacing:.06em; }
.stickers-empty { margin:24px 0; color:var(--muted); text-align:center; }
@media (max-width:560px) { .stickers-controls { padding:15px; } .stickers-filter-group { align-items:flex-start; flex-direction:column; } }
/* Filter controls can be introduced above this grid without changing card markup. */
@media (max-width: 1180px) { .stickers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 840px) { .stickers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.stickers-copy { padding: 16px; } }
@media (max-width: 560px) { .stickers-grid { grid-template-columns: 1fr; gap: 18px; }.stickers-art img { max-width: 300px; margin-inline: auto; }.stickers-copy { padding: 20px; }.stickers-copy h2 { margin-bottom: 20px; font-size: 1.2rem; }.stickers-copy > p:not(.section-kicker) { font-size: .9rem; }.stickers-copy > p.stickers-release { font-size: .62rem; }.stickers-copy .button { font-size: .8rem; } }
.stickers-new-releases { margin: 0 0 28px; }
.stickers-new-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.stickers-new-grid .stickers-card { min-height:0; }
.stickers-new-grid .stickers-copy > p:not(.section-kicker) { display:none; }
.stickers-new-grid .stickers-copy h2 { margin-bottom:0; min-height:0; }
@media (max-width:1180px){.stickers-new-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:840px){.stickers-new-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.stickers-new-grid{grid-template-columns:1fr;gap:18px;}}
