/* One quiet, rounded stroke family, independent of font glyph rendering. */
.icon-up, .icon-down, .icon-back, .icon-play, .icon-expand, .icon-close {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  vertical-align: -3px;
  background: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
  pointer-events: none;
}
.icon-up { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E"); }
.icon-back { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E"); }
.icon-down { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14m-6-6 6 6 6-6'/%3E%3C/svg%3E"); }
.icon-play { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 5 11 7-11 7Z'/%3E%3C/svg%3E"); }
.icon-expand { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4H4v4m12-4h4v4M4 16v4h4m8 0h4v-4'/%3E%3C/svg%3E"); }
.icon-close { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M6 18 18 6'/%3E%3C/svg%3E"); }
.btn { gap: 12px; max-width: 100%; }
.btn > span[aria-hidden] { display: inline-flex; flex-shrink: 0; }
.image-expand {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--bg, #faf7f1);
  color: var(--fg, #242923);
}
.image-expand .icon-up { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4H4v4m12-4h4v4M4 16v4h4m8 0h4v-4'/%3E%3C/svg%3E"); }
.play-circle .icon-play { width: 20px; height: 20px; margin-left: 2px; }
.burger { min-width: 44px; min-height: 44px; border-radius: 50%; }
.burger b { height: 1.5px; border-radius: 2px; }
.burger b { left: 13px; }
.burger b:nth-child(1) { top: 18px; }
.burger b:nth-child(2) { top: 25px; }
.media-toolbar { height: auto; min-height: 48px; flex-wrap: wrap; }
.media-toolbar > div { display: flex; align-items: center; gap: 8px; }
.media-toolbar button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border-radius: 999px; }
.media-dialog { display: flex; flex-direction: column; margin: auto; }
.media-dialog:fullscreen { width: 100%; height: 100%; max-width: none; margin: 0; }
.media-dialog:not([open]) { display: none; }
.media-content { flex: 1; height: auto; min-height: 0; margin-top: 12px; }
.media-caption { flex: 0 0 auto; max-height: 20vh; overflow-y: auto; overflow-wrap: anywhere; }
.mk-videos .mk-play { height: auto; min-height: 112px; }
.listing > *, .inquiry-layout > *, .section-heading > *, .pricing-workspace > * { min-width: 0; }
.text-link, .pcard-name, .mtile-name, .media-caption { overflow-wrap: anywhere; }
/* Keep every craft choice and the full sort label in view on phones. */
@media (max-width: 1130px) {
  .subnav-in { flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .chiprow { flex: 1 0 100%; flex-wrap: wrap; overflow: visible; padding: 0; -webkit-mask-image: none; mask-image: none; }
  .subnav-end { width: 100%; justify-content: space-between; }
  .subnav-end select.field { max-width: 100%; width: auto; min-height: 44px; }
}
@media (max-width: 480px) {
  .media-dialog { padding: 16px; }
  .media-toolbar > span { font-size: 11px; }
  .media-toolbar { gap: 8px; }
  .mk-videos .mk-play { padding: 18px; column-gap: 12px; }
}

/* Filters belong to the catalogue header, not a fixed overlay while browsing. */
.browse-page .subnav { position: relative; top: auto; z-index: auto; }
