.photo-field { position: relative; }
.photo-input { position: absolute; width: 1px !important; height: 1px; padding: 0 !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.photo-help, .photo-count, .inquiry-status { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.photo-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; }
.photo-add { border: 1px solid var(--edge); border-radius: 4px; padding: 10px 16px; background: var(--surface, #fff); color: var(--accent); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.photo-add:hover { background: var(--surface-hover); }
.photo-add:focus-visible, .photo-remove:focus-visible, .draft-download:focus-visible { outline: 3px solid var(--focus, #c1dbff); outline-offset: 3px; }
.photo-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr)); gap: 12px; margin: 8px 0 0; padding: 0; list-style: none; }
.photo-card { min-width: 0; overflow: hidden; border: 1px solid var(--edge); border-radius: 5px; background: var(--surface, #fff); }
.photo-preview { display: flex; align-items: center; justify-content: center; height: 112px; background: #fff; color: #506274; font-size: 13px; }
.photo-preview img { width: 100%; height: 100%; object-fit: contain; }
.photo-details { padding: 10px; }
.photo-name { display: block; overflow: hidden; color: var(--text); font-size: 12px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.photo-size { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.photo-remove { margin-top: 8px; border: 0; padding: 3px 0; background: transparent; color: var(--accent); font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; }
.photo-error { margin: 0; color: var(--text); border-left: 3px solid #bd3d36; padding: 8px 12px; font-size: 13px; line-height: 1.5; }
.inquiry-status { max-width: 58ch; }
.form-button:disabled { opacity: .65; cursor: wait; }
.audio-label { font-size: 14px; line-height: 1.5; }
.audio-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.audio-start > span { margin-right: 6px; font-size: 19px; }
.audio-stop { color: #a42e28; }
.audio-timer { color: #a42e28; font-variant-numeric: tabular-nums; font-size: 15px; font-weight: 700; }
.audio-player { width: 100%; max-width: 420px; }
.audio-delete { align-self: flex-start; margin-top: 0; }
.audio-field .photo-add:disabled { opacity: .65; cursor: wait; }
.audio-stop[hidden], .audio-player[hidden], .audio-delete[hidden], .audio-timer[hidden] { display: none; }
.photo-list[hidden], .photo-error[hidden], .inquiry-status[hidden], .draft-download[hidden] { display: none; }
@media (max-width: 560px) { .photo-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

#parts .category-header { max-width: 920px; }
#parts .parts-content { max-width: 920px; margin-top: 14px; }
#parts #parts-title { margin-bottom: 24px; }
#parts .parts-form { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 0; border: 0; background: transparent; }
.inquiry-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
#parts .media-card { min-width: 0; min-height: 278px; padding: 24px; gap: 16px; border: 1px solid var(--edge); border-radius: 16px; background: var(--surface, #fff); box-shadow: 0 6px 24px rgb(20 45 70 / 4%); }
.media-heading { display: flex; align-items: center; gap: 14px; min-width: 0; }
.media-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 13px; background: var(--surface-hover, #eaf2f9); color: var(--accent); }
.media-icon svg { width: 27px; height: 27px; }
#parts .media-heading :is(label, .audio-label) { color: var(--text); font-size: 20px; font-weight: 700; line-height: 1.3; }
.media-limit { display: inline-block; margin-left: 6px; padding: 4px 8px; border-radius: 6px; color: var(--muted); background: var(--field, #f3f5f6); font-size: 12px; font-weight: 500; vertical-align: middle; }
#parts .media-card .photo-add { min-height: 46px; padding: 11px 20px; border-radius: 9px; border-color: var(--accent); color: var(--accent); font-size: 14px; }
#parts .media-card .photo-add:hover { background: var(--surface-hover); }
#parts .media-card .audio-start { background: var(--button, #205e96); border-color: var(--button, #205e96); color: var(--button-text, #fff); }
#parts .media-card .audio-start:hover { background: var(--button-hover, #174b78); }
.media-card .photo-controls { margin-top: 4px; }
.media-card .audio-controls { margin-top: 4px; }
.audio-privacy { font-size: 12px; }
#parts .form-field label { font-size: 13px; }
#parts .form-field :is(input:not([type="file"]), textarea) { border-color: var(--edge); border-radius: 9px; padding: 11px 14px; background: var(--surface, #fff); font-size: 14px; }
#parts .form-field :is(input:not([type="file"]), textarea):hover { border-color: var(--muted); }
#parts .form-field :is(input:not([type="file"]), textarea):focus { border-color: var(--accent); }
#parts .inquiry-description { gap: 10px; }
#parts .inquiry-description label { font-size: 15px; }
.inquiry-section { margin: 0; padding: 0; border: 0; min-width: 0; }
.inquiry-section legend { width: 100%; margin-bottom: 14px; padding: 0; color: var(--text); font-size: 15px; font-weight: 700; }
.inquiry-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.inquiry-details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#parts .form-actions { padding-top: 8px; }
#parts .form-button { border-radius: 9px; }
@media (max-width: 680px) {
  .inquiry-media { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  #parts .media-card { min-height: 0; padding: 20px; }
  .inquiry-contact-grid, .inquiry-details-grid { grid-template-columns: minmax(0, 1fr); }
  #parts .parts-form { gap: 24px; }
}
