/* mymap.css — mymap.js(D機能: 飛んだ地点タブ)専用の新規クラスのみ。
 * 既存の .dmm-marker / .dmm-sheet / .dmm-photos 等は map.css 側に残っているものを
 * そのまま共用する(map.css はユーザー並行改修中のため本ファイルには複製しない)。 */

/* ---- 飛んだ地点タブ(#dmmFlownList は .dfm-panel-list を共用) ---- */
.dmm-flown-list[hidden] { display: none !important; }

.dmm-flown-row { min-height: 56px; }
.dmm-flown-thumb {
  width: 44px; height: 44px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  margin-left: 10px;
  background: var(--bg, #F1F5F9);
}
.dmm-flown-sub--spot { color: #7C3AED; }
.dmm-flown-row--nocoord .dfm-pl-title { color: var(--ink-3, #94A3B8); font-weight: 600; }
.dmm-flown-setloc {
  flex-shrink: 0;
  margin-right: 8px;
  padding: 6px 11px;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 999px;
  background: #fff;
  color: var(--ink-2, #475569);
  font-size: 11px; font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.dmm-flown-setloc:hover { background: var(--bg, #F1F5F9); }
.dmm-flown-note {
  padding: 10px 12px 4px;
  text-align: center;
  font-size: 11px;
  color: var(--ink-3, #94A3B8);
}
.dmm-flown-retry {
  display: block;
  margin: 0 auto;
  padding: 8px 18px;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 999px;
  background: #fff;
  color: var(--ink, #222);
  font-size: 12.5px; font-weight: 700;
  cursor: pointer;
}

/* ---- 詳細シート表示中は下部の検索・判定カード/FABを隠す(重なり防止) ---- */
body.dmm-sheet-open .dfm-sheet,
body.dmm-sheet-open .dfm-sheet-fab { display: none !important; }

/* ---- 詳細シート内: 飛行の基本情報(レポート罫線トーン) ---- */
.dmm-info-grid {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 0 12px;
  margin-top: 12px;
  border-top: 1px solid var(--line, #EBEBEB);
}
.dmm-info-label,
.dmm-info-value {
  padding: 7px 0;
  border-bottom: 1px solid var(--line, #EBEBEB);
  font-size: 12px;
  line-height: 1.45;
}
.dmm-info-label { color: var(--ink-3, #94A3B8); font-weight: 700; }
.dmm-info-value { color: var(--ink, #222); font-weight: 600; overflow-wrap: anywhere; }

/* ---- 詳細シート内アクション行(dmm-sheet 内で使用) ---- */
.dmm-act-row {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.dmm-act-primary,
.dmm-act-secondary,
.dmm-act-danger {
  flex: 1;
  min-width: 120px;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 13px; font-weight: 700;
  cursor: pointer;
  border: none;
}
.dmm-act-primary { background: var(--sky, #0F172A); color: #fff; }
.dmm-act-primary:disabled { opacity: .55; cursor: default; }
.dmm-act-secondary {
  background: #fff;
  color: var(--ink-2, #475569);
  border: 1px solid var(--line, #E2E8F0);
}
.dmm-act-secondary:disabled { opacity: .55; cursor: default; }
.dmm-act-danger {
  background: #fff;
  color: #C13515;
  border: 1px solid color-mix(in srgb, #C13515 32%, #fff);
}
.dmm-act-danger:disabled { opacity: .55; cursor: default; }

/* ---- 編集フォーム ---- */
.dmm-edit-form { margin-top: 10px; }
.dmm-edit-label {
  display: block;
  margin: 12px 0 5px;
  font-size: 11.5px; font-weight: 700;
  color: var(--ink-2, #475569);
}
.dmm-edit-input,
.dmm-edit-textarea,
.dmm-edit-select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 10px;
  font-size: 14px;
  color: var(--ink, #222);
  background: #fff;
  font-family: inherit;
}
.dmm-edit-textarea { resize: vertical; line-height: 1.5; }
.dmm-edit-input:focus,
.dmm-edit-textarea:focus,
.dmm-edit-select:focus { outline: 2px solid #0F172A22; border-color: var(--ink-3, #94A3B8); }

.dmm-edit-photos {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.dmm-edit-photo {
  position: relative;
  width: 84px; height: 64px;
}
.dmm-edit-photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 10px;
  background: var(--bg, #F1F5F9);
}
.dmm-edit-photo-del {
  position: absolute;
  top: -6px; right: -6px;
  width: 22px; height: 22px;
  border: none;
  border-radius: 50%;
  background: #0F172A;
  color: #fff;
  font-size: 13px; line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,.3);
}
.dmm-edit-addphoto {
  display: inline-block;
  padding: 8px 14px;
  border: 1px dashed var(--line-strong, #CBD5E1);
  border-radius: 999px;
  font-size: 12px; font-weight: 700;
  color: var(--ink-2, #475569);
  cursor: pointer;
  user-select: none;
}
.dmm-edit-addphoto.is-disabled { opacity: .5; pointer-events: none; }
.dmm-edit-error {
  margin-top: 8px;
  font-size: 12px;
  color: #C13515;
}

/* ---- 座標選点モード ---- */
.dmm-pick-bar {
  position: fixed;
  top: calc(10px + env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  z-index: 40; /* パネル(30)より上・詳細シート(60)より下 */
  width: min(440px, calc(100vw - 20px));
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  background: var(--surface, #fff);
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(11, 34, 57, .22);
}
.dmm-pick-text { flex: 1; min-width: 0; }
.dmm-pick-title { font-size: 13px; font-weight: 800; color: var(--ink, #222); }
.dmm-pick-name {
  font-size: 11.5px;
  color: var(--ink-2, #475569);
  margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dmm-pick-coord { font-size: 10.5px; color: var(--ink-3, #94A3B8); margin-top: 2px; }
.dmm-pick-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.dmm-pick-ok {
  padding: 8px 14px;
  border: none;
  border-radius: 999px;
  background: #0F172A;
  color: #fff;
  font-size: 12px; font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.dmm-pick-ok:disabled { opacity: .45; cursor: default; }
.dmm-pick-cancel {
  padding: 6px 14px;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 999px;
  background: #fff;
  color: var(--ink-2, #475569);
  font-size: 11.5px; font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

/* 選点中は左上の UI(ブランド/マイ地点/モード切替)を隠して誤操作を防ぐ
 * (mode-spot 借用による見た目の乱れもまとめて回避) */
body.dmm-picking .dfm-topleft { display: none !important; }

/* 選点中は既存のマイマップ標記の click(stopPropagation+詳細シート)が
 * 地図タップを吞むため、pointer-events を切って選点を最優先にする */
body.dmm-picking .dmm-marker { pointer-events: none; }

/* R6-3: ドロスポッ!のスポット利用予約は準備中(COMING SOON・押下不可) */
.dmm-plan-comingsoon { pointer-events: none; cursor: default; color: #9AA1AB; border-color: #E6E9EE; }
.dmm-cs-badge {
  display: inline-block; margin-left: 8px; padding: 2px 8px;
  border-radius: 999px; background: #F3F4F6; color: #9AA1AB;
  font-size: 10.5px; font-weight: 800; letter-spacing: .06em;
}
