/* Expandable cards are scoped to this catalog; homepage preview stays unchanged. */
.product-grid { align-items: start; }
.product-card summary { list-style: none; cursor: pointer; touch-action: manipulation; }
.product-card summary::-webkit-details-marker { display: none; }
.product-card summary:focus-visible { outline: 3px solid var(--blue); outline-offset: -4px; border-radius: 18px; }
.product-title-row { display: flex; align-items: center; gap: 16px; min-height: 68px; padding: 20px; }
.product-name { flex: 1; min-width: 0; margin: 0; font-size: 19px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.product-chevron { flex: 0 0 10px; width: 10px; height: 10px; margin-right: 3px; border-right: 2px solid var(--blue-dark); border-bottom: 2px solid var(--blue-dark); transform: rotate(45deg); transition: transform 180ms ease; }
.product-card[open] .product-chevron { transform: rotate(225deg); }
.product-card-body { border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.product-card-body .product-description { margin: 12px 0 18px; }
.product-facts { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 16px; margin-bottom: 16px; }
.product-facts p { margin: 0; }
.product-facts .product-price { white-space: nowrap; }
.product-image-slot { display: grid; place-items: center; }
.product-image-slot [hidden] { display: none; }
.product-image-missing { padding: 24px; text-align: center; font-size: 14px; color: var(--muted); }
@media (prefers-reduced-motion: reduce) {
  .product-chevron { transition: none; }
}
