.photo-title > strong {
  margin-left: auto;
  background: #f3eee1;
  color: #8a651e;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
}

.upload-zone {
  width: 100%;
  min-height: 148px;
  border: 1.5px dashed #cdbd91;
  border-radius: 12px;
  background: linear-gradient(145deg, #fdfcf8, #f5f0e3);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #39352c;
  transition: .2s;
}

.upload-zone:hover,
.upload-zone.dragging {
  border-color: #a87822;
  background: #f4ead0;
  transform: translateY(-1px);
}

.upload-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #171718;
  color: #e7c979;
  display: grid;
  place-items: center;
  font-size: 22px;
  margin-bottom: 7px;
}

.upload-zone strong,
.upload-zone small,
.upload-zone em { display: block; }
.upload-zone strong { font: 800 15px Manrope, sans-serif; }
.upload-zone small { color: #706a5e; margin-top: 2px; }
.upload-zone em { font-style: normal; color: #9a9488; font-size: 11px; margin-top: 8px; }

.photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.photo-item {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: #eceae4;
  border: 1px solid #e7e5df;
}

.photo-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-item.cover { outline: 2px solid #c89b3c; outline-offset: 2px; }

.cover-badge {
  position: absolute;
  left: 7px;
  top: 7px;
  background: #151515;
  color: #e7c979;
  padding: 4px 7px;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 800;
}

.photo-actions {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 17px 5px 6px;
  background: linear-gradient(transparent, rgba(0,0,0,.82));
}

.photo-actions button {
  border: 0;
  background: rgba(255,255,255,.93);
  color: #222;
  width: 27px;
  height: 27px;
  border-radius: 6px;
  font-weight: 800;
}

.photo-actions button:hover { background: #e7c979; }

.photo-guidance {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: #f6f3eb;
  border-radius: 9px;
  padding: 11px 13px;
  margin-top: 13px;
}

.photo-guidance > span {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #d7ba6f;
  color: #2b2311;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 12px;
  flex: 0 0 auto;
}

.photo-guidance p,
.photo-guidance strong { display: block; margin: 0; }
.photo-guidance p { font-size: 12px; color: #6f6b62; }
.photo-guidance strong { color: #3f3c35; }
.publish-card { grid-row: 1 / span 3; }
.publish-card li.ready { color: #157347; font-weight: 700; }
.prototype-note { display: block; color: #8a8780; font-size: 11px; line-height: 1.4; margin-top: 13px; }

@media (max-width: 820px) {
  .publish-card { grid-row: auto; }
}

@media (max-width: 560px) {
  .photo-grid { grid-template-columns: repeat(2, 1fr); }
}
