/* Local layer on top of the Shopify theme: enquiry buttons, rebuilt product pages, search. */

.rrg-enquire { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; flex-grow: 1; }
.buy-buttons .rrg-enquire { width: 100%; }

/* Rebuilt product pages (products the archive never captured) */
.rrg-stub {
  display: grid; gap: 3rem; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  max-width: 1280px; margin: 0 auto; padding: 8rem 2rem 6rem;
}
.rrg-stub__media { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; align-content: start; }
.rrg-stub__media img { width: 100%; aspect-ratio: 1; object-fit: contain; background: rgb(var(--color-foreground, 255 255 255) / .04); border-radius: var(--block-radius, 12px); }
.rrg-stub__media img:first-child { grid-column: 1 / -1; }
.rrg-stub__info { position: sticky; top: 8rem; align-self: start; display: grid; gap: 1.25rem; }
.rrg-stub__info h1 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.05; margin: 0; }
.rrg-stub__vendor { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; opacity: .6; margin: 0; }
.rrg-stub__price { font-size: 1.35rem; font-weight: 500; margin: 0; }
.rrg-stub__note { opacity: .75; line-height: 1.6; margin: 0 0 .5rem; max-width: 34rem; }
@media (max-width: 767px) {
  .rrg-stub { grid-template-columns: 1fr; padding: 6rem 1rem 4rem; gap: 2rem; }
  .rrg-stub__info { position: static; }
}

/* Search */
.rrg-search { max-width: 960px; margin: 0 auto; padding: 8rem 1rem 6rem; }
.rrg-search h1 { font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 1.5rem; }
.rrg-search__form input {
  width: 100%; font: inherit; font-size: 1.1rem; padding: 1rem 1.25rem; border-radius: 999px;
  border: 1px solid rgb(var(--color-foreground, 255 255 255) / .2); background: transparent; color: inherit;
}
.rrg-search__results, .rrg-drawer-results { display: grid; gap: .5rem; margin-top: 1.5rem; }
.rrg-hit {
  display: grid; grid-template-columns: 64px 1fr auto; gap: 1rem; align-items: center;
  padding: .6rem; border-radius: 12px; text-decoration: none; color: inherit; transition: background .2s;
}
.rrg-hit:hover { background: rgb(var(--color-foreground, 255 255 255) / .06); }
.rrg-hit img, .rrg-hit > span:first-child { width: 64px; height: 64px; object-fit: contain; border-radius: 8px; background: rgb(var(--color-foreground, 255 255 255) / .04); }
.rrg-hit b { display: block; font-weight: 500; }
.rrg-hit small { opacity: .6; }
.rrg-hit em { font-style: normal; opacity: .8; white-space: nowrap; }
.rrg-empty { opacity: .6; }
