/* Inline videos share the catalogue's product-card dimensions. */
.inline-reel__media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: .8rem;
  background: #e9f7f1;
  color: white;
  isolation: isolate;
  aspect-ratio: 1;
}
.inline-reel__media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.inline-reel__preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  opacity: 0;
  transition: opacity 120ms ease-out;
}
.inline-reel__media.is-previewing .inline-reel__preview { opacity: 1; }
.inline-reel__label {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 4px 8px;
  border-radius: 5px;
  background: #053c2e;
  color: #fff;
  font: 600 11px/1.3 Inter, sans-serif;
}
.inline-reel__hint {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 4px 8px;
  border-radius: 5px;
  color: #fff;
  background: #053c2ee6;
  font: 600 11px/1.3 Inter, sans-serif;
}
.inline-reel__media:focus-visible { outline: 3px solid #f28b25; outline-offset: 3px; }
.inline-reel__seller { color: #075f46; font: 500 12px/1.5 Inter, sans-serif; text-decoration: none; }
.inline-reel__seller:hover { text-decoration: underline; }

.reel-grid-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 12px; }
.reel-grid-head > .section-header { min-width: 0; margin-bottom: 0; flex: 1 1 220px; }

.reel-more-wrap { text-align: center; margin: 20px 0; }
.reel-more { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border: 1px solid #075f46; border-radius: 8px; color: #075f46; background: #fff; font-weight: 600; text-decoration: none; }
.reel-more:focus-visible { outline: 3px solid #f28b25; outline-offset: 3px; }
.reel-tail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.reel-tail-grid > .product-item { min-width: 0; }
@media (min-width: 768px) { .reel-tail-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }

.inline-reel__preview { z-index: 1; }
.inline-reel__label, .inline-reel__hint { z-index: 2; }
/* Shared icon controls: names remain available on hover and keyboard focus. */
.marketplace-icon-button { position:relative; display:inline-flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; padding:0; border:1px solid #b7cec2; border-radius:8px; background:#fff; color:#075f46; cursor:pointer; }
.marketplace-icon-button > svg { width:20px; height:20px; flex:0 0 20px; }
.marketplace-icon-button:focus-visible { outline:3px solid #f28b25; outline-offset:3px; }
.marketplace-control-caption { position:absolute; z-index:1300; top:calc(100% + 7px); right:0; width:max-content; max-width:min(220px,80vw); padding:7px 10px; border-radius:6px; background:#053c2e; color:#fff; font:500 12px/1.4 Inter,sans-serif; text-align:left; white-space:normal; pointer-events:none; visibility:hidden; opacity:0; }
.marketplace-icon-button:hover .marketplace-control-caption, .marketplace-icon-button:focus-visible .marketplace-control-caption { visibility:visible; opacity:1; }
.marketplace-control-dot { position:absolute; top:7px; right:7px; width:6px; height:6px; border-radius:50%; background:#f28b25; }

/* Shared filter menu also serves scoped watched history on product detail. */
.catalogue-toolbar-actions { display:flex; align-items:center; gap:8px; }
.catalogue-sort { position:relative; flex:0 0 44px; text-align:left; }
.catalogue-sort > summary { list-style:none; gap:0; }
.catalogue-sort > summary::-webkit-details-marker { display:none; }
.catalogue-sort[open] > summary { border-color:#075f46; background:#e9f7f1; }
.catalogue-sort[open] .marketplace-control-caption { display:none; }
.catalogue-sort .menu { position:absolute; right:0; top:calc(100% + 8px); width:240px; min-width:0; max-width:calc(100vw - 32px); padding:6px; background:#fff; border:1px solid #cadfd2; border-radius:10px; box-shadow:0 10px 24px #00000014; z-index:1200; }
.catalogue-sort .menu a { display:flex; align-items:center; gap:10px; min-height:44px; padding:9px 10px; border-radius:6px; color:#14231e; font:400 14px/1.4 Inter,sans-serif; text-decoration:none; }
.catalogue-sort .menu a > svg { width:19px; height:19px; flex:0 0 19px; color:#075f46; }
.catalogue-sort .menu a .catalogue-sort-check { margin-left:auto; }
.catalogue-sort .menu a[aria-current="true"], .catalogue-sort .menu a:hover { background:#e9f7f1; }
.catalogue-sort .menu a:focus-visible { outline:2px solid #f28b25; outline-offset:-2px; }
.catalogue-sort .menu .catalogue-watched-link:not(:first-child) { border-top:1px solid #dce9e1; border-radius:0 0 6px 6px; margin-top:4px; }
.reel-history-controls { display:flex; justify-content:flex-end; }
.reel-related-heading { min-width:0; flex:1 1 180px; }
@media (max-width:576px) {
  .catalogue-sort .menu { position:fixed; top:auto; bottom:calc(84px + env(safe-area-inset-bottom)); left:12px; right:12px; width:auto; max-width:none; max-height:min(62vh,360px); overflow-y:auto; overscroll-behavior:contain; }
}

/* Watched history reuses the surrounding catalogue/detail card grid. */
.reel-watched-shelf { margin:0 0 24px; }
