/* ==========================================================================
   Media SidePanel - メディア詳細を SidePanel に表示するスタイル
   共有クラス（.media-info-bar / .media-edit-field / .media-preview など）は
   layout.css で定義されたものを流用する。
   ========================================================================== */

.media-side-panel-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 16px 24px;
}

/* プレビュー領域: SidePanel 幅にフィット、過大な縦伸びを防ぐ */
.media-side-panel-preview {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface-alt);
  border-radius: 8px;
  overflow: hidden;
  max-height: 40vh;
  min-height: 120px;
}

.media-side-panel-preview img,
.media-side-panel-preview video {
  max-width: 100%;
  max-height: 40vh;
  object-fit: contain;
  display: block;
}

.media-side-panel-preview audio {
  width: 100%;
}

.media-side-panel-preview .file-icon-preview {
  padding: 32px;
}

/* iframe(HTML/PDF)・テキストプレビューは縦に広く取る */
.media-side-panel-preview:has(.media-preview-frame),
.media-side-panel-preview:has(.media-preview-text) {
  max-height: 65vh;
  align-items: stretch;
}

.media-preview-frame {
  width: 100%;
  height: 60vh;
  border: 0;
  border-radius: 8px;
  background: #fff;
  display: block;
}

.media-preview-text {
  width: 100%;
  max-height: 60vh;
  margin: 0;
  padding: 12px 14px;
  overflow: auto;
  background: var(--color-surface);
  color: var(--color-text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  text-align: left;
}

/* プレビュー直下のアクション行: 左にリアクション、右に画像編集ボタン (画像のみ)。
   リアクションが多段に折り返してもボタンは潰さず右上に固定する */
.media-side-panel-expand-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
  min-height: 28px;
}

.media-side-panel-expand-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 0.8rem;
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  color: var(--color-text);
  cursor: pointer;
  transition: background 0.15s;
  flex-shrink: 0;
  white-space: nowrap;
}

.media-side-panel-expand-btn:hover {
  background: var(--color-surface-alt);
}

/* 説明文 textarea: SidePanel 幅にフィット、最低高さ確保 */
.media-side-panel-content .media-edit-field textarea {
  width: 100%;
  min-height: 100px;
  resize: vertical;
  box-sizing: border-box;
}

/* 自動保存ステータス (説明文 label 横、 description / tags 共通) */
.media-side-panel-save-status {
  margin-left: 8px;
  font-size: 0.75rem;
  color: var(--color-text-muted);
  font-style: italic;
}

.media-side-panel-save-status--error {
  color: var(--color-error, #c0392b);
  font-style: normal;
}

/* 公開範囲 適用ボタン (誤操作リスク排除のため確定方式) */
.media-side-panel-visibility-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.media-side-panel-visibility-apply-btn {
  padding: 6px 14px;
  font-size: 0.85rem;
  background: var(--color-primary);
  color: var(--color-on-primary, #fff);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s;
}

.media-side-panel-visibility-apply-btn:hover {
  background: var(--color-primary-hover, var(--color-primary));
}

.media-side-panel-visibility-apply-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
