/* Attachments step. Neutral controls; rust only marks error icons. Error line styles are shared via post-rfp-form.css (.pl-error). */
.pl-attach { font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif); color: var(--color-text, #2B2623); }
.pl-attach *, .pl-attach *::before, .pl-attach *::after { box-sizing: border-box; }
.pl-attach__title { margin: 0 0 var(--space-1, 4px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 20px; font-weight: 600; }
.pl-attach__limits { margin: 0 0 var(--space-3, 12px); color: var(--color-text-muted, #5E5853); }
.pl-attach__errors:empty { display: none; }
.pl-attach__errors { margin-top: var(--space-3, 12px); }
.pl-attach__count { margin: var(--space-3, 12px) 0 var(--space-2, 8px); font-size: 14px; color: var(--color-text-muted, #5E5853); }
.pl-attach__count:empty { display: none; }

.pl-attach__btn {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 var(--space-4, 16px);
  border: 1px solid var(--color-border, #7A736C); border-radius: 4px; background: transparent; color: var(--color-text, #2B2623);
  font: inherit; font-size: 16px; font-weight: 600; cursor: pointer;
}
.pl-attach__btn:hover { background: var(--color-surface-raised, #FFFFFF); }
.pl-attach__btn[hidden] { display: none; }
.pl-attach__btn[aria-disabled="true"] { cursor: default; opacity: 0.7; }
.pl-attach .pl-attach__btn:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }

/* Rows with dividers, as everywhere else on the site */
.pl-attach__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--color-border, #7A736C); }
.pl-attach__list:empty { display: none; }
.pl-attach__item { padding: var(--space-4, 16px) 0; border-bottom: 1px solid var(--color-border, #7A736C); }
.pl-attach__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1, 4px) var(--space-3, 12px); }
.pl-attach__name { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.pl-attach__size { font-size: 14px; color: var(--color-text-muted, #5E5853); }
.pl-attach__status { margin: var(--space-1, 4px) 0 0; font-size: 16px; }
.pl-attach__progress { display: block; width: 100%; max-width: 360px; height: 8px; margin-top: var(--space-2, 8px); accent-color: var(--color-accent, #A7410E); }
.pl-attach__progress[hidden] { display: none; }
.pl-attach__msg:empty { display: none; }
.pl-attach__actions { display: flex; flex-wrap: wrap; gap: var(--space-2, 8px); margin-top: var(--space-3, 12px); }

@media (max-width: 760px) { .pl-attach__actions .pl-attach__btn { flex: 1 1 auto; } }
