/* Saved rug configuration search and result list. */
.rug-history .section-inner { max-width: 68rem; }
.rug-history-main { min-width: 0; }
.rug-history-title { margin-bottom: var(--space-6); }

.rug-search {
  display: flex;
  align-items: end;
  gap: var(--space-3);
  margin-bottom: var(--space-5);

  input[type="search"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.75rem;
    padding-inline: var(--space-2);
    border: 1px solid var(--color-gray-8);
    border-radius: 0;
    background: var(--color-white);
    color: var(--color-black);
    font: inherit;

    &:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
  }
}

.rug-query { flex: 1 1 18rem; }

.rug-search-submit,
.rug-search-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding-inline: var(--space-3);
  border-radius: 0;
  font: inherit;
  font-size: var(--font-size-2);
  font-weight: 700;
  transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
  white-space: nowrap;
}

.rug-search-submit {
  flex: 0 0 auto;
  border: 1px solid var(--color-black);
  background: var(--color-black);
  color: var(--color-white);

  &:hover { background: var(--color-white); color: var(--color-black); }
}

.rug-search-clear {
  border: 1px solid var(--color-black);
  background: var(--color-white);
  color: var(--color-black);
  text-decoration: none;

  &:hover { background: var(--color-gray-1); }
}

.rug-list { border-top: 1px solid var(--color-gray-8); }

.rug-list-head,
.rug-row {
  grid-template-columns: 3rem minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(9rem, .85fr) minmax(7rem, auto) minmax(8rem, auto);
}

.rug-list-head {
  display: grid;
  align-items: center;
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-gray-4);
  color: var(--color-gray-20);
  font-size: var(--font-size-2);
  font-weight: 700;
}

.rug-row {
  display: grid;
  align-items: center;
  gap: var(--space-3);
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--color-gray-4);
  color: var(--color-black);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);

  &:hover { background-color: var(--color-gray-1); }
  &:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
}

.rug-thumb { width: 3rem; height: 3rem; aspect-ratio: 1; object-fit: cover; }
.rug-project { font-size: var(--font-size-4); font-weight: 700; }
.rug-name {
  display: grid;
  gap: var(--space-1);
  font-size: var(--font-size-2);
  line-height: var(--line-height-body-tight);

  strong { font-size: var(--font-size-3); font-weight: 700; }
}
.rug-size { font-size: var(--font-size-3); font-weight: 700; }
.rug-date,
.rug-quote { color: var(--color-gray-20); font-size: var(--font-size-2); }

.rug-empty {
  max-width: 42rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-gray-8);

  h2 { margin-bottom: var(--space-2); font-size: var(--font-size-4); font-weight: 700; }
  p { margin: 0; }
}

@media (max-width: 48rem) {
  .rug-search { align-items: stretch; flex-wrap: wrap; }
  .rug-query { flex-basis: 100%; }
  .rug-list-head { display: none; }

  .rug-row {
    align-items: start;
    grid-template-columns: 3rem minmax(0, 1fr);

    > :not(.rug-thumb) { grid-column: 2; }

    &:has(.rug-thumb.empty) {
      grid-template-columns: minmax(0, 1fr);
      > :not(.rug-thumb) { grid-column: 1; }
    }
  }

  .rug-thumb {
    grid-column: 1;
    grid-row: span 2;
    &.empty { display: none; }
  }
}

@media (max-width: 32rem) {
  .rug-search-submit,
  .rug-search-clear { flex: 1 1 auto; }
}
