.market-actions {
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap}
.market-link {
  color:var(--water);
  font-weight:600}
.market-filters {
  display:flex;
  gap:16px;
  align-items:end;
  flex-wrap:wrap;
  margin:24px 0 0}
.market-filters label {
  display:grid;
  gap:6px}
.market-filters input,.market-filters select,.product-field input,.product-field select,.product-field textarea {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--ink);
  font:inherit;
  padding:12px;
  width:100%}
.market-filters input {
  min-width:240px}
.product-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:24px}
.product-card {
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:20px;
  overflow:hidden;
  min-width:0}
.product-photo {
  display:block;
  position:relative;
  aspect-ratio:3/2;
  background:var(--soft)}
.product-photo img {
  width:100%;
  height:100%;
  object-fit:cover}
.product-state {
  display:inline-block;
  border-radius:8px;
  padding:5px 10px;
  background:var(--forest);
  color:#e8f0ed;
  font-size:13px}
.product-photo .product-state {
  position:absolute;
  left:12px;
  top:12px}
.product-sold {
  background:#5f5540}
.product-card-body {
  padding:20px;
  display:grid;
  gap:12px}
.product-card h2 {
  font-size:19px;
  margin:0;
  overflow-wrap:anywhere}
.product-price {
  font-size:26px;
  color:var(--sand);
  font-weight:800;
  margin:0}
.product-meta {
  color:var(--muted);
  font-size:13px;
  margin:0}
.product-detail {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:36px}
.product-gallery {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-content:start}
.product-gallery a:first-child {
  grid-column:1/-1}
.product-gallery img {
  width:100%;
  height:auto;
  border-radius:16px}
.product-info {
  min-width:0}
.product-info>.product-price {
  margin:18px 0}
.product-info dl {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px 24px;
  margin:24px 0}
.product-info dt {
  color:var(--muted)}
.product-info dd {
  margin:0}
.product-info dd a {
  color:var(--water)}
.product-description {
  white-space:pre-wrap;
  overflow-wrap:anywhere}
.product-form {
  display:grid;
  gap:24px;
  width:100%;
  max-width:780px;
  margin-inline:auto;
  background:var(--surface);
  border:1px solid var(--line);
  padding:28px;
  border-radius:20px}
.product-field {
  display:grid;
  gap:8px}
.product-field>label {
  font-weight:600}
.product-field small {
  color:var(--muted)}
.product-form fieldset {
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px;
  min-width:0}
.product-edit-photos {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px}
.product-edit-photos label {
  display:grid;
  gap:8px;
  font-size:13px}
.product-edit-photos img {
  width:100%;
  object-fit:cover;
  border-radius:8px}
.product-error {
  color:#ffb3a5!important}
.product-delete {
  margin:28px auto 0;
  width:100%;
  max-width:780px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:16px}
.product-delete summary {
  cursor:pointer;
  color:#ffb3a5}
.product-field textarea {
  resize:vertical}
.marketplace-page .catalog-heading h1 {
  overflow-wrap:anywhere}
@media(max-width:1000px) {
.product-detail {
  gap:24px}
}
@media(max-width:640px) {
  .product-detail {
  grid-template-columns:1fr}
.market-filters {
  display:grid;
  grid-template-columns:1fr;
  width:100%}
.market-filters input {
  min-width:0}
.product-form {
  padding:18px}
.product-edit-photos {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.marketplace-page .catalog-heading {
  display:grid;
  gap:20px}
}

@media(min-width:768px) {
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1024px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:1440px) {
  .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
.my-grid .product-card-body { padding:10px; gap:8px; }
.my-grid .product-card h2 { font-size:14px; }
.my-grid .product-price { font-size:18px; overflow-wrap:anywhere; }
.my-grid .product-meta { font-size:11px; overflow-wrap:anywhere; }
.my-grid .product-state { left:6px; top:6px; padding:3px 6px; font-size:11px; }
.my-grid .product-card .catalog-button { width:100%; min-width:0; padding:9px 6px; font-size:12px; overflow-wrap:anywhere; }

.product-location { overflow-wrap:anywhere; }

.marketplace-page .product-detail-wrap { max-width:1280px; }
.product-gallery { width:100%; max-width:600px; min-width:0; }
.product-gallery a:first-child img { width:auto; max-width:100%; height:auto; max-height:600px; object-fit:contain; margin-inline:auto; }
.product-status-form { margin:0; }
