/* Local catalog layout; existing theme tokens supply every color. */
.etsy-catalog .products-v3-intro-copy, .etsy-catalog .products-v3-intro-copy p { color: var(--ink); }
.etsy-catalog .etsy-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.etsy-catalog .product-v3-card { min-width: 0; }
.etsy-catalog .product-v3-card-link { height: 100%; display: flex; flex-direction: column; }
.etsy-catalog .product-v3-card-image { aspect-ratio: 1; }
.etsy-catalog .product-v3-card-image img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; }
.etsy-catalog .product-v3-card-copy { flex: 1; display: flex; flex-direction: column; }
.etsy-catalog .product-v3-card-copy h3 { font-size: 1.3rem; overflow-wrap: anywhere; }
.etsy-catalog .etsy-catalog-description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.etsy-catalog .etsy-catalog-price { margin-top: auto; padding-top: 12px; font-weight: 700; color: var(--ink); }
.etsy-catalog .etsy-catalog-price-details { color: var(--ink); font-size: .85rem; line-height: 1.6; overflow-wrap: anywhere; margin: 0 0 16px; }
.etsy-catalog .etsy-catalog-empty { max-width: 700px; padding-block: 20px 30px; }
.etsy-catalog .etsy-catalog-empty p { color: var(--muted); }
.etsy-catalog .etsy-catalog-note, .etsy-catalog .etsy-catalog-attribution { color: var(--muted); font-size: .8rem; line-height: 1.6; margin-top: 32px; }
.etsy-catalog .etsy-catalog-attribution { max-width: 760px; }
.etsy-catalog .etsy-catalog-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 24px; padding-top: 32px; }
.etsy-catalog a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
@media (max-width: 1000px) { .etsy-catalog .etsy-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .etsy-catalog .etsy-catalog-grid { grid-template-columns: minmax(0, 1fr); } }
