.forum-upload { margin: 25px 0; padding: 23px 0; border-block: 1px solid #45584a; }
.forum-upload h3 { display: flex; align-items: center; gap: 9px; font: 600 15px var(--font); margin: 0 0 19px; }
.forum-upload h3 .muted { font-size: 11px; font-weight: 400; }
.forum-upload > label { display: block; font-size: 12px; margin-bottom: 9px; }
.forum-upload input[type=file] { width: 100%; min-width: 0; font-size: 12px; }
.forum-upload input::file-selector-button { padding: 7px 10px; background: #2a4033; border: 1px solid #6a7b55; color: #e9d7a8; border-radius: 3px; margin-right: 10px; font: inherit; cursor: pointer; }
.forum-upload .field-hint { font-size: 11px; line-height: 1.8; }
.attachment-previews { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-top: 15px; }
.attachment-preview { display: flex; flex-direction: column; align-items: start; gap: 9px; padding: 13px; background: #122229; border: 1px solid #445849; border-radius: 4px; min-width: 0; }
.attachment-preview img { width: 100%; height: 130px; object-fit: contain; background: #09131a; }
.attachment-preview strong { font-size: 11px; overflow-wrap: anywhere; }
.attachment-preview span { color: #a8bbaf; font-size: 10px; }
.attachment-preview button { padding: 6px 0; border: 0; background: transparent; color: #d9bd8d; font: 11px var(--font); cursor: pointer; }
.attachment-upload-status { font-size: 12px; color: var(--teal); line-height: 1.8; }
.attachment-upload-status:empty { display: none; }
.forum-attachments { border-top: 1px solid #405446; padding-top: 22px; margin-top: 25px; }
.forum-attachments > h3 { font: 600 13px var(--font); margin: 0 0 15px; }
.forum-attachments > h3 span { color: #aabda9; font-size: 11px; margin-left: 8px; }
.forum-attachment-images { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.forum-attachment-images figure { margin: 0; min-width: 0; }
.forum-attachment-images figure > a { display: block; position: relative; background: #0a151b; border: 1px solid #50674e; border-radius: 4px; overflow: hidden; }
.forum-attachment-images img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: contain; }
.forum-attachment-images figcaption { font-size: 11px; line-height: 1.7; margin-top: 9px; overflow-wrap: anywhere; color: #bbcab7; }
.forum-attachment-files { display: grid; gap: 12px; margin-top: 17px; }
.forum-attachment-files:empty { display: none; }
.forum-file-card { background: #15282a; border: 1px solid #405a49; border-radius: 4px; padding: 15px; }
.forum-file-download { display: flex; align-items: center; gap: 13px; }
.forum-file-download > svg { color: var(--gold); flex-shrink: 0; }
.forum-file-download > span { min-width: 0; flex: 1; }
.forum-file-download strong { display: block; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; color: #e7d5ad; }
.forum-file-download small { display: block; font-size: 10px; color: #a2bbad; margin-top: 7px; }
.attachment-remove { margin-top: 12px; font-size: 11px; }
.attachment-remove summary { cursor: pointer; color: #d3b091; }
.attachment-remove form { margin-top: 12px; }
.attachment-remove label { display: block; margin-bottom: 8px; }
.attachment-remove input { min-width: 0; width: 100%; font-size: 12px; }
.attachment-remove .field-hint { font-size: 10px; }
.attachment-remove button { white-space: normal; }
@media(max-width:500px) { .attachment-previews, .forum-attachment-images { grid-template-columns: minmax(0,1fr); } .forum-upload input[type=file] { padding: 10px; } .forum-file-card { padding: 12px; } }
