.lw-wishlist {
  --lw-grid-gap: 1.75rem;
  --lw-card-gap: .7rem;
  --lw-image-radius: .5rem;
  --lw-button-radius: .25rem;
  --lw-button-bg: #252525;
  --lw-button-color: #fff;
  --lw-image-bg: #f5f5f3;
  --lw-border: #d4d4d4;
  width: 100%;
  margin-block: 1.5rem;
  color: inherit;
}
.lw-wishlist *, .lw-wishlist *::before, .lw-wishlist *::after { box-sizing: border-box; }
.lw-wishlist .lw-grid { display: grid; grid-template-columns: repeat(var(--lw-columns, 4), minmax(0, 1fr)); gap: var(--lw-grid-gap); }
.lw-columns-1 { --lw-columns: 1; }
.lw-columns-6 { --lw-columns: 6; }
.lw-columns-2 { --lw-columns: 2; }
.lw-columns-3 { --lw-columns: 3; }
.lw-columns-4 { --lw-columns: 4; }
.lw-columns-5 { --lw-columns: 5; }
.lw-card { min-width: 0; display: flex; flex-direction: column; gap: var(--lw-card-gap); }
.lw-wishlist .lw-image-area { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; overflow: hidden; background: var(--lw-image-bg); border-radius: var(--lw-image-radius); color: inherit; text-decoration: none; }
.lw-wishlist .lw-item-image { display: block; width: 100%; height: 100%; max-width: 100%; margin: 0; object-fit: contain; padding: .8rem; }
.lw-fit-cover .lw-item-image { object-fit: cover; padding: 0; }
.lw-placeholder { padding: 1.5rem; font-size: .85em; text-align: center; }
.lw-wishlist .lw-card-body { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--lw-card-gap); }
.lw-wishlist .lw-title { text-align: center; width: 100%; margin: 0; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.lw-wishlist .lw-title a { color: inherit; text-decoration: none; }
.lw-wishlist .lw-title a:hover { text-decoration: underline; }
.lw-wishlist .lw-price { text-align: center; margin: 0; font-size: .95rem; }
.lw-wishlist .lw-button, .lw-wishlist .lw-apply { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1rem; background: var(--lw-button-bg); color: var(--lw-button-color); border: 1px solid var(--lw-button-bg); border-radius: var(--lw-button-radius); font: inherit; font-size: .85rem; line-height: 1.3; text-align: center; text-decoration: none; cursor: pointer; overflow-wrap: anywhere; max-width: 100%; }
.lw-wishlist .lw-button { margin-top: auto; }
.lw-wishlist .lw-button:hover, .lw-wishlist .lw-apply:hover { filter: brightness(1.18); }
.lw-controls { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.lw-control { flex: 1 1 12rem; min-width: 0; }
.lw-control label { display: block; font-size: .85rem; margin-bottom: .35rem; }
.lw-wishlist .lw-control input, .lw-wishlist .lw-control select { width: 100%; max-width: 100%; min-height: 44px; border: 1px solid var(--lw-border); border-radius: .25rem; padding: .6rem .75rem; background: #fff; color: #252525; font: inherit; font-size: .95rem; }
.lw-reset { padding-block: .7rem; font-size: .85rem; color: inherit; }
.lw-empty { padding-block: 2rem; }
.lw-wishlist :is(a, button, input, select):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.lw-pagination { margin-top: 2rem; }
.lw-pagination ul.page-numbers { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.lw-pagination .page-numbers a, .lw-pagination .page-numbers span { display: inline-flex; min-height: 44px; min-width: 44px; padding: .6rem .8rem; align-items: center; justify-content: center; border: 1px solid var(--lw-border); color: inherit; text-decoration: none; }
.lw-pagination .page-numbers .current { background: var(--lw-button-bg); color: var(--lw-button-color); }
.lw-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1000px) { .lw-columns-4, .lw-columns-5, .lw-columns-6 { --lw-columns: 3; } }
@media (max-width: 760px) { .lw-wishlist { --lw-columns: 2; --lw-grid-gap: 1.25rem; } }
@media (max-width: 420px) { .lw-wishlist { --lw-columns: 1; } }
@container (max-width: 420px) { .lw-wishlist .lw-grid { grid-template-columns: 1fr; } }

/* A single native scrolling row; every matching item stays in the track. */
.lw-wishlist.lw-carousel .lw-grid {
  position: relative;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--lw-columns, 4) - 1) * var(--lw-grid-gap)) / var(--lw-columns, 4));
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-block: 4px 12px;
  scrollbar-width: thin;
}
.lw-carousel .lw-card { scroll-snap-align: start; }
.lw-carousel .lw-grid:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lw-carousel .lw-grid a:focus-visible { outline-offset: -3px; }
.lw-wishlist .lw-carousel-stage { position: relative; }
.lw-wishlist .lw-carousel-controls { position: absolute; inset: 0; pointer-events: none; }
.lw-wishlist .lw-carousel-controls[hidden] { display: none !important; }
.lw-wishlist .lw-carousel-controls button { position: absolute; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; padding: 0; box-sizing: border-box; border: 1px solid #000; border-radius: 50%; background: #fff; color: #000; cursor: pointer; pointer-events: auto; z-index: 1; }
.lw-wishlist .lw-carousel-prev { inset-inline-start: 8px; }
.lw-wishlist .lw-carousel-next { inset-inline-end: 8px; }
.lw-wishlist .lw-carousel-controls svg { display: block; width: 20px; height: 20px; pointer-events: none; }
.lw-wishlist .lw-carousel-controls:dir(rtl) svg { transform: rotate(180deg); }
.lw-wishlist .lw-carousel-controls button:hover:enabled, .lw-wishlist .lw-carousel-controls button:focus-visible { background: #000; color: #fff; }
.lw-wishlist .lw-carousel-controls button:disabled { opacity: .35; cursor: default; }
@media (max-width: 760px) { .lw-wishlist.lw-carousel { --lw-columns: 1; } }
@media (prefers-reduced-motion: reduce) { .lw-wishlist.lw-carousel .lw-grid { scroll-behavior: auto; } }
