.prod-page { max-width: 720px; margin: 0 auto; padding: 0 0 88px; color: #1c2b26; }
.prod-top { display: flex; align-items: center; gap: 10px; padding: 14px 16px 0; }
.prod-top a { color: #1a5c4a; text-decoration: none; font-size: 18px; }
.prod-top h1 { margin: 0; font-size: 20px; }
.prod-note { margin: 10px 16px 0; font-size: 13px; line-height: 1.6; color: #3d534c; background: #f3f7f4; border-radius: 12px; padding: 10px 12px; }
.prod-filters { display: flex; gap: 8px; margin: 12px 16px 0; }
.prod-search {
  display: block; width: calc(100% - 32px); margin: 8px 16px 0; box-sizing: border-box;
  border: 1px solid #d7e3dc; border-radius: 10px; padding: 10px; font-size: 14px;
}
.prod-filters select, .prod-filters input {
  flex: 1; min-width: 0; box-sizing: border-box;
  border: 1px solid #d7e3dc; border-radius: 10px; padding: 10px; font-size: 14px; background: #fff;
}
.prod-meta { margin: 8px 16px 0; font-size: 12px; color: #778; }
.prod-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 16px 0; }
.prod-card { display: block; background: #fff; border-radius: 12px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 1px 6px rgba(0,0,0,.05); }
.prod-card img { width: 100%; height: 112px; object-fit: cover; object-position: center; display: block; background: #e7f3ee; }
.prod-card .txt { padding: 8px 10px 10px; }
.prod-card b { display: block; font-size: 14px; line-height: 1.35; }
.prod-card span { display: block; margin-top: 3px; font-size: 12px; color: #667; }
.prod-detail { padding: 0 16px; }
.prod-detail img { width: 100%; height: 200px; object-fit: cover; object-position: center; border-radius: 14px; background: #e7f3ee; }
.prod-detail h2 { margin: 12px 0 4px; font-size: 22px; }
.prod-kicker { margin: 0; color: #1a5c4a; font-size: 13px; font-weight: 700; }
.prod-detail p { font-size: 14px; line-height: 1.65; color: #334; }
.prod-detail a { color: #1a5c4a; }
.prod-empty { padding: 28px 16px; text-align: center; color: #778; }
