/* Public shelves share the site's glass surfaces and theme palette. Horizontal scrolling is
   local to the shelf; the page itself never gains horizontal overflow. */
.ddrw-home-showcases { display: grid; gap: clamp(3.5rem, 7vw, 6rem); width: 100%; min-width: 0; margin: 5rem 0; }
.ddrw-showcase { width: 100%; min-width: 0; color: var(--ddrw-fg); }
.ddrw-showcase-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1.5rem; max-width: 72rem; padding: 0 1.25rem; margin: 0 auto 1.5rem; }
.ddrw-showcase-heading { flex: 1 1 24rem; min-width: 0; }
.ddrw-showcase-heading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.15; font-weight: 600; letter-spacing: -.025em; }
.ddrw-showcase-heading p { margin: .8rem 0 0; max-width: 38rem; color: var(--ddrw-hero-subtitle); font-size: 1rem; line-height: 1.6; }
.ddrw-showcase-actions { display: flex; align-items: center; gap: 1rem; justify-content: space-between; }
.ddrw-showcase-all { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; font-size: .95rem; text-decoration: underline; text-underline-offset: .25em; }
.ddrw-showcase-controls { display: flex; gap: .5rem; }
.ddrw-showcase-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid color-mix(in srgb, var(--ddrw-fg) 22%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--ddrw-fg) 5%, transparent); color: inherit; cursor: pointer; }
.ddrw-showcase-controls button:disabled { opacity: .3; cursor: default; }
.ddrw-showcase-track { width: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: max(1.25rem, calc((100% - 69.5rem) / 2)); overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--ddrw-fg) 25%, transparent) transparent; }
.ddrw-showcase-list { display: flex; align-items: stretch; gap: 1.25rem; width: max-content; min-width: 100%; margin: 0; padding: .25rem max(1.25rem, calc((100vw - 69.5rem) / 2)) 1rem; list-style: none; }
.ddrw-showcase-item { flex: 0 0 auto; width: clamp(17rem, 29vw, 23rem); scroll-snap-align: start; }
.ddrw-showcase-card { height: 100%; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ddrw-fg) 16%, transparent); border-radius: 1.5rem; background-color: color-mix(in srgb, var(--ddrw-bg) 80%, transparent); backdrop-filter: blur(24px); }
.ddrw-showcase-card-link { display: flex; flex-direction: column; height: 100%; padding: .75rem; color: inherit; text-decoration: none; }
.ddrw-showcase-media { position: relative; overflow: hidden; border-radius: 1rem; aspect-ratio: 8 / 5; }
.ddrw-showcase-media img, .ddrw-showcase-media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.ddrw-showcase-product img { object-fit: contain; background: color-mix(in srgb, var(--ddrw-fg) 4%, transparent); }
.ddrw-showcase-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: color-mix(in srgb, var(--ddrw-3d-2) 8%, transparent); color: var(--ddrw-hero-subtitle); }
.ddrw-showcase-video-mark { position: absolute; inset: auto .75rem .75rem auto; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ddrw-bg); color: var(--ddrw-fg); }
.ddrw-showcase-copy { display: flex; flex-direction: column; flex: 1; padding: 1.25rem .5rem .5rem; }
.ddrw-showcase-label { margin: 0 0 .6rem; font-size: .75rem; line-height: 1.4; color: var(--ddrw-hero-subtitle); }
.ddrw-showcase-copy h3 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin: 0; font-size: 1.15rem; font-weight: 600; line-height: 1.35; }
.ddrw-showcase-summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: .8rem 0 0; font-size: .925rem; line-height: 1.55; color: var(--ddrw-hero-subtitle); }
.ddrw-showcase-price { display: block; margin-top: 1rem; font-size: 1.2rem; }
.ddrw-showcase-open { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: 1.25rem; margin-top: auto; font-size: .85rem; color: var(--ddrw-hero-subtitle); }
.ddrw-showcase :is(a, button):focus-visible, .ddrw-showcase-track:focus-visible { outline: 2px solid var(--ddrw-3d-1); outline-offset: -3px; }
/* Related products sit inside the product page gutter, unlike the full-width home shelves. */
.ddrw-showcase[data-showcase='related-products'] { margin-top: 3rem; }
.ddrw-showcase[data-showcase='related-products'] .ddrw-showcase-header { padding-inline: 0; }
.ddrw-showcase[data-showcase='related-products'] .ddrw-showcase-list { padding-inline: 0; }
.ddrw-showcase[data-showcase='related-products'] .ddrw-showcase-track { scroll-padding-inline: 0; }
@media (min-width: 640px) { .ddrw-showcase-header { padding-inline: 1.5rem; } }
@media (min-width: 768px) { .ddrw-showcase-header { padding-inline: 1rem; } }
@media (max-width: 639px) {
  .ddrw-showcase-actions { width: 100%; }
  .ddrw-showcase-item { width: min(82vw, 21rem); }
  .ddrw-showcase-list { gap: .875rem; padding-inline: 1.25rem; }
  .ddrw-home-showcases { margin-block: 3.5rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .ddrw-showcase-track { scroll-behavior: smooth; }
  .ddrw-showcase-controls button { transition: background-color 180ms ease, border-color 180ms ease; }
}
