.product-list{display:grid;gap:1rem}.product-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.5rem;align-items:center;min-height:200px;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.product-card h3{font:700 1.1rem "Manrope";margin:.35rem 0}.product-card p{font-size:.88rem;margin:.35rem 0 1rem}.product-card-visual{display:grid;place-items:center;min-height:180px;background:transparent;border:0;overflow:visible}.product-card-product-image{display:block;width:100%;height:190px;object-fit:contain;object-position:center}.text-link{color:var(--teal);font-weight:700;font-size:.86rem}.text-link span{margin-left:.25rem}a[href],button:not(:disabled),[role="button"]{cursor:pointer}.site-nav a:focus-visible,.button:focus-visible,.text-link:focus-visible,.menu-toggle:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.72}@media(max-width:480px){.product-card{grid-template-columns:1fr;gap:.75rem;padding:1rem}.product-card-visual{min-height:180px}.product-card-product-image{width:min(100%,320px);height:190px}}
@media(max-width:600px){.product-card{grid-template-columns:1fr;gap:.75rem;padding:1rem}.product-card-visual{min-height:180px}.product-card-product-image{width:min(100%,320px);height:190px}}

/* Reusable compact category product rows. */
.product-card { grid-template-columns: 128px minmax(0, 1fr) auto; gap: 1rem; min-height: 104px; padding: .65rem 1rem; border-radius: 8px; cursor: pointer; overflow: visible; transition: transform 210ms ease, border-color 210ms ease, box-shadow 210ms ease; }
.product-card-visual { width: 128px; min-height: 82px; }
.product-card-product-image { width: 128px; height: 82px; object-fit: contain; object-position: center; }
.product-card-copy { min-width: 0; }
.product-availability-compact { display: inline-flex; align-items: center; width: max-content; max-width: 100%; margin: .03rem 0 .18rem; padding: .12rem .38rem; border: 1px solid rgba(242, 199, 92, .55); border-radius: 999px; background: rgba(242, 199, 92, .07); color: #f2c75c; font-size: .68rem; font-weight: 700; line-height: 1.15; letter-spacing: .02em; white-space: nowrap; }
.product-card-copy h3 { margin: 0 0 .2rem; font-size: 1rem; line-height: 1.15; }
.product-card-copy p { max-width: 44rem; margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.35; }
.product-card-link { align-self: center; white-space: nowrap; font-size: .78rem; }
.product-card:is(:hover, :focus-visible) { transform: scale(.985); border-color: rgba(41, 211, 255, .68); box-shadow: 0 0 18px rgba(41, 211, 255, .18); }
.product-card:is(:hover, :focus-visible) .product-card-link { color: #79e9ff; }
.product-card:active { transform: scale(.98); }
.product-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

@media (max-width: 620px) {
  .product-card { grid-template-columns: 92px minmax(0, 1fr); gap: .7rem; min-height: 112px; padding: .75rem; }
  .product-card-visual { grid-column: 1; grid-row: 1 / span 2; width: 92px; min-height: 82px; }
  .product-card-product-image { width: 92px; height: 82px; }
  .product-card-copy { grid-column: 2; grid-row: 1; }
  .product-card-link { grid-column: 2; grid-row: 2; justify-self: start; }
}

.product-availability-notice { width: fit-content; max-width: min(100%, 46rem); margin: .8rem auto 0; padding: .55rem .8rem; border: 1px solid rgba(242, 199, 92, .35); border-radius: 7px; background: rgba(242, 199, 92, .05); text-align: left; }
.product-availability-notice strong { display: block; color: #f2c75c; font-size: .68rem; letter-spacing: .08em; }
.product-availability-notice p { margin: .2rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.35; }
