.headerRow { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 8px; } .actions { display: flex; flex-wrap: wrap; gap: 8px; } .editBtn, .secondaryBtn { display: inline-flex; align-items: center; gap: 8px; min-height: var(--field-height); padding: var(--field-padding-y) 14px; border-radius: var(--radius-sm); font-size: var(--field-font-size); font-weight: 600; font-family: var(--font-ui); white-space: nowrap; } .editBtn { color: #fff; background: var(--primary); } .editBtn:hover { filter: brightness(1.05); } .secondaryBtn { color: var(--text-primary); background: rgba(148, 163, 184, 0.14); border: 1px solid rgba(148, 163, 184, 0.2); } .secondaryBtn:hover { background: rgba(148, 163, 184, 0.22); } .layout { display: grid; grid-template-columns: minmax(0, 320px) 1fr; gap: 28px; background: var(--glass-bg); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--glass-border); border-radius: var(--radius); box-shadow: var(--glass-shadow); padding: 24px; } .gallery { display: flex; flex-direction: column; gap: 10px; max-width: 320px; } .mainImage { position: relative; width: 100%; aspect-ratio: 1 / 1; border-radius: var(--radius-sm); border: 1px solid rgba(148, 163, 184, 0.15); overflow: hidden; background: #ffffff; } .galleryThumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .galleryThumb { aspect-ratio: 1 / 1; border-radius: var(--radius-sm); border: 1px solid rgba(148, 163, 184, 0.15); overflow: hidden; background: #ffffff; } .galleryThumb img { width: 100%; height: 100%; object-fit: cover; display: block; } .image { width: 100%; height: 100%; object-fit: cover; display: block; } .imagePlaceholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: rgba(148, 163, 184, 0.75); } .badge { position: absolute; top: 10px; inset-inline-start: 10px; padding: 4px 10px; font-size: 11px; font-weight: 600; border-radius: 50px; border: 1px solid rgba(255, 255, 255, 0.22); backdrop-filter: blur(14px); z-index: 1; } .badge[data-status='draft'] { color: #fff; background: linear-gradient( 145deg, rgba(251, 191, 36, 0.55) 0%, rgba(245, 158, 11, 0.32) 100% ); } .badge[data-status='published'] { color: #047857; background: linear-gradient( 145deg, rgba(167, 243, 208, 0.55) 0%, rgba(52, 211, 153, 0.28) 100% ); } .badge[data-status='archived'] { color: #e2e8f0; background: linear-gradient( 145deg, rgba(148, 163, 184, 0.45) 0%, rgba(100, 116, 139, 0.28) 100% ); } .badge[data-status='rejected'] { color: #fff; background: linear-gradient( 145deg, rgba(239, 68, 68, 0.55) 0%, rgba(220, 38, 38, 0.32) 100% ); } .details { display: flex; flex-direction: column; gap: 14px; min-width: 0; } .categoryChip { align-self: flex-start; padding: 4px 12px; font-size: 12px; font-weight: 500; color: var(--text-secondary); background: rgba(148, 163, 184, 0.15); border-radius: 50px; } .title { margin: 0; font-size: 24px; font-weight: 700; color: var(--text-primary); line-height: 1.3; font-family: var(--font-ui); } .secondary { margin: 0; font-size: 14px; color: var(--text-secondary); font-family: var(--font-ui); } .summaryRow { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; direction: ltr; } .price { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); white-space: nowrap; flex-shrink: 0; font-variant-numeric: tabular-nums; } .summaryMeta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin-inline-start: auto; min-width: 0; } .metaItem { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-secondary); font-family: var(--font-ui); min-width: 0; } .metaGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px 16px; margin: 4px 0 0; } .metaGrid dt { font-size: 11px; font-weight: 600; color: var(--text-muted); margin-bottom: 4px; } .metaGrid dd { margin: 0; font-size: 13px; color: var(--text-primary); font-family: var(--font-ui); } .location { display: inline-flex; align-items: center; gap: 6px; } .section { padding-top: 8px; border-top: 1px solid rgba(148, 163, 184, 0.15); } .section h3 { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--text-secondary); } .prose { margin: 0; font-size: 13px; line-height: 1.65; color: var(--text-primary); white-space: pre-wrap; font-family: var(--font-ui); } .techGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 0; } .techGrid dt { font-size: 11px; font-weight: 600; color: var(--text-muted); margin-bottom: 4px; } .techGrid dd { margin: 0; font-size: 13px; color: var(--text-primary); font-family: var(--font-ui); } .status { margin: 24px 0; font-size: 14px; color: var(--text-secondary); } .error { margin: 24px 0; font-size: 14px; color: #ef4444; } .backLink { color: var(--primary); font-weight: 600; text-decoration: none; } .backLink:hover { text-decoration: underline; } @media (max-width: 800px) { .headerRow { flex-direction: column; } .layout { grid-template-columns: 1fr; padding: 16px; } .gallery { max-width: none; } }