/* Image-led folder cards. Keep the existing window and filter controls intact. */
:is(#apps-folder-window, #ss-folder-window) .app-list {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start;
  gap: 12px !important;
  width: 100%;
  min-width: 0 !important;
  padding: 12px !important;
}

/* Preserve the table headers for assistive technology without showing a
   redundant heading band above the cards. */
:is(#apps-folder-window, #ss-folder-window) .app-list__header {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%);
  white-space: nowrap !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 0 10px !important;
  border: 1px solid rgba(0, 0, 0, .24) !important;
  background: #fff !important;
  cursor: pointer;
  text-align: left;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row:hover,
:is(#apps-folder-window, #ss-folder-window) .app-list__row.is-selected,
:is(#apps-folder-window, #ss-folder-window) .app-list__row:focus-visible {
  background: #f1ece5 !important;
  outline: 2px solid #111 !important;
  outline-offset: -2px !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  display: block !important;
  grid-column: auto !important;
  align-self: stretch !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  white-space: normal !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(1) {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(1) img.app-list__preview {
  box-sizing: border-box;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover !important;
  object-position: center;
  border-bottom: 1px solid rgba(0, 0, 0, .2);
  background: #ead2b4;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row[data-label="PUGILIST.EXE"] .app-list__preview {
  object-fit: contain !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(1) img.app-list__file-icon {
  display: none !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__name > span {
  display: block !important;
  min-height: 2.4em;
  padding: 10px 10px 3px;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  font-weight: 700;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(2) {
  display: -webkit-box !important;
  width: calc(100% - 16px) !important;
  max-width: calc(100% - 16px) !important;
  max-height: 3em;
  margin: 0 8px !important;
  padding: 0 2px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-overflow: ellipsis !important;
  overflow-wrap: anywhere;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(2)::before,
:is(#apps-folder-window, #ss-folder-window) .gtc-date-cell::before {
  content: none !important;
  display: none !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(3) {
  display: block !important;
  margin: auto 0 0 !important;
  padding-top: 9px !important;
  color: rgba(0, 0, 0, .58) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-align: left !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(4) {
  display: none !important;
}

:is(#apps-folder-window, #ss-folder-window) .app-list__empty {
  grid-column: 1 / -1;
}

@media screen and (max-width: 760px), (hover: none) and (pointer: coarse) {
  :is(#apps-folder-window, #ss-folder-window) .app-list {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  :is(#apps-folder-window, #ss-folder-window) .app-list__row {
    gap: 0 !important;
    padding: 0 0 8px !important;
  }

  :is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(1) {
    font-size: 16px !important;
  }

  :is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(2) {
    max-height: 2.9em;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

@media (orientation: landscape) and (hover: none),
       (orientation: landscape) and (pointer: coarse) {
  :is(#apps-folder-window, #ss-folder-window) .app-list__row > span:nth-child(1) img.app-list__preview {
    height: clamp(110px, 30dvh, 180px) !important;
    aspect-ratio: auto !important;
  }
}
