.cv-draft-status { margin: 0 0 18px; }
.cv-photo-preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; width: 100%; }
.cv-photo-preview { margin: 0; overflow: hidden; border: 1px solid var(--cv-border); border-radius: 14px; background: var(--cv-surface); }
.cv-photo-preview img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cv-photo-preview figcaption { display: grid; gap: 2px; padding: 9px; font-size: .78rem; overflow-wrap: anywhere; }
.cv-photo-preview figcaption span { color: var(--cv-text-muted); }
.cv-post-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.cv-post-gallery.is-single { grid-template-columns: 1fr; }
.cv-post-gallery a { display: block; overflow: hidden; border-radius: 16px; background: var(--cv-surface-soft); }
.cv-post-gallery img { display: block; width: 100%; height: 100%; max-height: 460px; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .2s ease; }
.cv-post-gallery a:hover img { transform: scale(1.015); }
.cv-comment { margin-left: min(calc(var(--cv-comment-depth, 0) * 22px), 66px); border-left: calc(2px + var(--cv-comment-depth, 0) * 1px) solid color-mix(in srgb, var(--cv-gold) 55%, var(--cv-border)); }
.cv-comment-replies { display: grid; gap: 10px; margin-top: 12px; }
.cv-compatibility-score { display: flex; align-items: baseline; gap: 7px; color: var(--cv-wine); }
.cv-compatibility-score strong { font-family: var(--cv-font-display); font-size: 2.4rem; }
.cv-challenge-hero-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; padding: clamp(24px, 4vw, 44px); background: linear-gradient(145deg, var(--cv-surface), color-mix(in srgb, var(--cv-gold) 10%, var(--cv-surface))); }
.cv-challenge-action { display: grid; justify-items: end; gap: 12px; text-align: right; }
.cv-challenge-action strong { color: var(--cv-wine); }
.cv-steps { display: grid; gap: 10px; padding-left: 1.25rem; color: var(--cv-text-muted); }
@media (max-width: 720px) {
  .cv-post-gallery { grid-template-columns: 1fr; }
  .cv-comment { margin-left: min(calc(var(--cv-comment-depth, 0) * 10px), 30px); }
  .cv-challenge-hero-card { grid-template-columns: 1fr; }
  .cv-challenge-action { justify-items: start; text-align: left; }
}
