.item-widget { margin-block: 16px; padding: 12px; border: 1px solid var(--color-line); background: var(--color-surface); min-width: 0; overflow-wrap: anywhere; }
.item-widget__heading { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.item-widget__heading h2 { margin: 0; font-size: .95rem; }
.item-widget__grid { display: grid; grid-template-columns: repeat(var(--item-columns, 3), minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.item-widget__card { display: flex; gap: 10px; align-items: flex-start; min-width: 0; }
.item-widget__image { flex: 0 0 80px; }
.item-widget__card img { display: block; width: 80px; height: 80px; object-fit: contain; }
.item-widget__info { min-width: 0; }
.item-widget__card h3 { margin: 0 0 6px; font-size: .8rem; line-height: 1.5; }
.item-widget__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.item-widget__merchant { display: inline-block; padding: 3px 8px; border-radius: 3px; font-size: .7rem; line-height: 1.5; font-weight: 600; text-decoration: none; color: #fff; background: #285f70; }
.item-widget__merchant--Rakuten { background: #a60000; }
.item-widget__merchant--YahooShopping { background: #b40025; }
.item-widget__merchant--Amazon { background: #273444; color: #ffcb70; }
.item-widget__merchant:hover { color: #fff; filter: brightness(.85); }
.item-widget a:focus-visible { outline: 3px solid #175ad6; outline-offset: 3px; }
.item-widget__merchants { display: flex; flex-wrap: wrap; gap: 6px; }
.item-widget--primary .item-widget__grid { grid-template-columns: minmax(0, 1fr); }
.item-widget--primary .item-widget__title { display: block; overflow: visible; }
.item-widget--primary .item-widget__card { flex-direction: row; }
.item-widget--primary .item-widget__image { flex: 0 0 80px; align-self: flex-start; }
.markdown-content .item-widget ul { padding: 0; margin: 0; }
.markdown-content > .item-widget { width: auto; margin-inline-end: 0; }
.markdown-content .item-widget h2 { margin: 0; padding: 0; border: 0; font-size: .95rem; }
.markdown-content .item-widget h3 { margin: 0 0 6px; font-size: .8rem; }
@media (max-width: 760px) {
  .item-widget__grid { gap: 10px; }
  .item-widget__card { flex-direction: column; gap: 6px; }
  .item-widget__image { flex-basis: auto; align-self: center; }
  .item-widget__card h3 { font-size: .75rem; }
  .item-widget__merchant { font-size: .65rem; padding: 3px 5px; }
}
@media (max-width: 380px) {
  .item-widget { padding: 8px; }
  .item-widget__grid { gap: 6px; }
  .item-widget__card img { width: 64px; height: 64px; }
}
