/* SJT local refinements on top of the original main.css */

.top-member {
  margin-left: 12px;
  font-size: 12px;
  color: #990000;
  white-space: nowrap;
}
.top-member:hover { color: #cc2222; }

.product-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.product-item { display: flex; gap: 14px; padding: 12px; background: #fff; }
.product-image { flex: 0 0 110px; display: flex; align-items: center; justify-content: center; background: #fff; }
.product-image img { max-height: 130px; object-fit: contain; }
.product-info { flex: 1 1 auto; min-width: 0; }
.product-name { font-size: 16px; margin: 0 0 6px; }
.product-description { font-size: 13px; color: #666; margin: 0 0 8px; }
.product-link { font-size: 13px; color: #990000; }

.product-categories { background: #f5f5f5; padding: 10px 12px; }
.product-categories .product-link { margin-right: 10px; }

.detail-gallery { flex: 0 0 42%; }
.detail-gallery img { width: 100%; max-height: 360px; object-fit: contain; background: #fff; }

.content-block img { max-width: 100%; height: auto; }
.content-block { margin-bottom: 16px; }

/* small forms in the original visual language */
.sjt-form label { font-size: 13px; color: #333; }
.sjt-form input[type=text],
.sjt-form input[type=email],
.sjt-form input[type=password],
.sjt-form input[type=url],
.sjt-form textarea {
  width: 100%;
  max-width: 460px;
  padding: 7px 9px;
  border: 1px solid #ccc;
  background: #fff;
  font-family: inherit;
  font-size: 14px;
  margin-top: 3px;
}
.sjt-btn {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid #990000;
  background: #990000;
  color: #fff;
  font-size: 13px;
  cursor: pointer;
}
.sjt-btn:hover { background: #cc2222; border-color: #cc2222; color: #fff; text-decoration: none; }
.member-narrow { max-width: 560px; }

.alert-ok { padding: 8px 12px; background: #eef8ee; border: 1px solid #b7e0b7; color: #2f6b2f; }
.alert-error { padding: 8px 12px; background: #fdeeee; border: 1px solid #e7b7b7; color: #8b2020; }

.download-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
}
.download-row .news-meta { color: #777; font-size: 12px; }

.sitemap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.sitemap-grid h3 { font-size: 14px; color: #990000; margin: 0 0 8px; }
.sitemap-grid ul { list-style: none; padding: 0; margin: 0 0 16px; }
.sitemap-grid li { margin-bottom: 6px; font-size: 13px; }

/* mobile menu panel is fixed; keep it above content */
.mobile-menu-panel { z-index: 100; }

@media (max-width: 767px) {
  .product-list { grid-template-columns: 1fr; }
  .product-image { flex-basis: 90px; }
  .sitemap-grid { grid-template-columns: 1fr; }
  .detail-gallery { flex-basis: auto; }
  .top-member { display: none; }
}

.pdf-tag { display:inline-block; padding:1px 5px; background:#990000; color:#fff; font-size:10px; font-weight:bold; border-radius:2px; vertical-align:middle; }
/* keep the original link style visible and compact */
.product-info .product-link {
  align-self: flex-start;
  color: #ffffff !important;
  font-size: 12px;
  padding: 6px 12px;
}

.product-categories .product-link {
  background: none;
  color: #990000;
  padding: 2px 6px;
  font-size: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
}
.product-categories .product-link:hover { background: #f5f5f5; color: #cc2222; }

/* keep the offer image from dominating the page */
.offer-product-img { max-height: 420px; width: auto; max-width: 100%; object-fit: contain; display: block; margin: 12px 0; }