 .catalog { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; padding: 12px; }
 .product { border: 1px solid #dea; border-radius: 8px; padding: 15px; text-align: center; }
 .product img { max-width: 100%; height: 200px; object-fit: cover; border-radius: 4px; }
 .author { font-size: 0.7em; font-weight: bold; color: #27a; }
 .engine{ font-size: 0.5em; font-0weight: bold; color: #28a745; }
 .out-stock { color: #dc3545; }
 #search { width: 100%; padding: 12px; font-size: 13px; margin-bottom: 10px; border: 1px solid #ddd; border-radius: 4px; }
 .filters { margin-bottom: 4px; }
 .filter-btn { margin: 2px; padding: 1px 6px; background: #007b5f; color: white; border: none; border-radius: 3px; cursor: pointer; }
 .filter-btn.active { background: #005633; }

.page-footer {
  margin-top: 3rem;
  padding: 1rem 0;
  border-top: 1px solid #ddd;
  font-size: 0.85rem;
  color: #666;
}

.page-footer a {
  color: inherit;
  text-decoration: none;
  word-break: break-all; /* long URLs wrap neatly */
}

.page-footer a:hover,
.page-footer a:focus {
  text-decoration: underline;
}

/*  Turn to grayscale on hover */
.product img:hover {
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

/* Restore color all images in a container*/
.product img {
    filter: grayscale(0%);
}
