/* A-Frameコンテナ */
#streetview-spot-marker-edit-container {
    position: relative;
    display: flex;
}

/* マーカー編集オーバーレイのスタイル */
#map-streetview-marker-edit-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw; /* viewport 幅に合わせる */
    height: 100vh; /* viewport 高さに合わせる */
    background-color: rgba(0, 0, 0, 0.5); /* 背景に半透明の黒 */
    display: none; /* コンテンツを中央揃えにする */
    justify-content: center;
    align-items: center;
    z-index: 1000; /* 高い優先度 */
}

/* 編集フォームのスタイル */
#map-streetview-marker-edit-form {
    width: 90vw; /* スマホ画面横幅の90%に調整 */
    max-width: 450px; /* 最大幅を設定（デバイスによる過剰な横幅を防止） */
    max-height: 90vh; /* 高さの上限を viewport 高さの90% に設定 */
    background-color: #fff; /* 白背景 */
    padding: 20px; /* 内側の余白 */
    border-radius: 8px; /* コーナーを丸くする */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 柔らかいシャドウ */
    overflow-y: auto; /* 縦方向のスクロールを許可（必要に応じてスクロール） */
    overflow-x: hidden; /* 横スクロールバーを非表示に設定 */
}

/* スクロールバーのスタイル */
#map-streetview-marker-edit-form::-webkit-scrollbar {
    width: 6px; /* スクロールバーの幅 */
}

#map-streetview-marker-edit-form::-webkit-scrollbar-thumb {
    background: #727272; /* スクロールバーの色 */
    border-radius: 4px; /* スクロールバーの角丸 */
}

#map-streetview-marker-edit-form::-webkit-scrollbar-track {
    background: #f0f0f0; /* スクロールトラックの色 */
}

/* スクロールのみによる体感向上: 親フォームが移動可能 */
#map-streetview-marker-edit-form:focus {
    outline: none;  /* 必要あればform-toggle */
}

/* テキストと画像の編集セクションの調整 */
.map-streetview-marker-edit-section {
    margin-bottom: 20px; /* 各セクション間のスペース */
}

/* セクションタイトル */
.map-streetview-marker-edit-section h4 {
    font-size: 18px;
    margin-bottom: 10px; /* タイトルと入力欄の余白 */
    color: #333; /* ダークグレーの文字色 */
}

/* セクションの注記 */
.map-streetview-marker-edit-section p {
    font-size: 12px;
    color: #757575; /* ダークグレーの文字色 */
}

/* 入力ボックスデザイン */
.map-streetview-marker-edit-section input[type="text"],
.map-streetview-marker-edit-section input[type="url"],
#map-streetview-marker-address-input {
    width: 95%;
    padding: 10px; /* 内側余白 */
    font-size: 16px; /* テキストサイズ */
    border: none; /* 枠線を削除 */
    outline: none; /* フォーカスリングを非表示 */
    border: 1px solid #ddd; /* 初期状態の薄いグレーの下線 */
    border-radius: 10px; /* 角丸デザイン */
    background-color: transparent; /* 背景を透明に */
    transition: border-color 0.3s, box-shadow 0.3s; /* フォーカス時のアニメーション */
}

/* フォーカス時の入力ボックスデザイン */
.map-streetview-marker-edit-section input[type="text"]:focus,
.map-streetview-marker-edit-section input[type="url"]:focus,
#map-streetview-marker-address-input:focus {
    border: 2px solid #007BFF; /* フォーカス時に青い下線 */
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2); /* フォーカス時に柔らかい影 */
}

/* プレースホルダーのデザイン */
.map-streetview-marker-edit-section input[type="text"]::placeholder,
.map-streetview-marker-edit-section input[type="url"]::placeholder,
#map-streetview-marker-address-input::placeholder {
    color: #aaa; /* 薄いグレーの文字色 */
    font-size: 14px;
}

/* ファイルドロップ領域のスタイル */
#map-streetview-marker-file-drop-zone {
    border: 2px dashed #aaa;
    padding: 20px;
    text-align: center;
    background: #f9f9f9;
    color: #555;
    margin: 20px;
}

/* ファイル入力ボタンのスタイル */
#map-streetview-marker-file-input {
    margin: 20px;
    display: block;
}

#map-streetview-marker-file-info {
  width: 100%;             /* 親幅に合わせる */
  word-break: break-all;   /* 単語中でも折り返す */
  overflow-wrap: break-word; /* 長い単語やURLを折り返す */
  white-space: normal;     /* 折り返しを有効にする */
}

/* 視点リセットボタン */
#map-streetview-marker-image-rotation-reset-btn {
    margin-top: 20px; /* テキストボックスとの間隔 */
    background-color: #ffffff; /* 白背景 */
    border: 1px solid #ccc; /* 未ホバー時にグレーの枠線 */
    border-radius: 10px; /* 適度な丸みを追加 */
    color: #585858; /* 赤色文字 */
    padding: 10px 20px; /* ボタン内側の余白 */
    font-size: 12px; /* テキストサイズ */
    cursor: pointer; /* ポインタカーソル表示 */
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

#map-streetview-marker-image-rotation-reset-btn:hover {
    background-color: #ececec; /* 赤白背景 */
    border-color: #7c7c7c; /* ホバー時に青い枠線を表示 */
    color: #000000; /* ホバー時に青色文字に変更 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に柔らかい影を追加 */
}

/* 横並びのコンテナ */
.map-streetview-marker-rotation-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

/* 各角度設定の領域 */
.map-streetview-marker-rotation-control {
    margin-right: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 16%;
}

/* ラベルのスタイル */
.map-streetview-marker-rotation-label {
    font-size: 12px;
    color: #555;
    margin-bottom: 5px;
    text-align: center;
}

/* スライダーのスタイル */
.map-streetview-marker-rotation-control input[type="range"] {
    appearance: none;
    width: 100%;
    height: 10px;
    border-radius: 5px;
    background: #c5c5c5;
    outline: none;
    margin-bottom: 5px;
}

/* スライダーのカーソルスタイル */
.map-streetview-marker-rotation-control input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #007bff;
    cursor: pointer;
}

.map-streetview-marker-rotation-control input[type="range"]::-moz-range-thumb {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #007bff;
    cursor: pointer;
}

/* フォーカス時のつまみの色変更 */
.map-streetview-marker-rotation-control input[type="range"]:focus {
    background: #ebebeb; /* フォーカス中のつまみの色を変更 */
}

/* スライダー値の表示 */
.slider-value {
    font-size: 12px;
    color: #333;
    text-align: center;
}

/* A-Frameコンテナ */
#map-streetview-image-container {
    position: relative;
    width: 100%;
    height: 100%;
    /* background: #000; */
    display: none;
}

/* A-Frame sceneタグ (360度画像のプレビュー表示する「幅」と「高さ」の設定) */
#map-streetview-marker-edit-a-scene {
    width: 100vw !important;
    height: 25vh !important;
    display: flex;
}

/* ミニマップコンテナのデザイン */
#map-streetview-marker-edit-mini-map-container {
    width: 100%; /* コンテナの幅 */
    height: 200px; /* 高さの設定 */
    margin-top: 10px; /* 上部の余白 */
    border: 1px solid #ccc; /* 薄いグレーの枠線 */
    border-radius: 4px; /* 入力欄と一致する角丸 */
}

/* 検索ボックスのコンテナ */
.map-streetview-marker-search-box-container {
    display: flex; /* 子要素を横並びに配置 */
    align-items: left; /* 垂直方向に中央揃え */
    width: 95%; /* コンテナの幅を100%使う */
    background-color: white; /* 背景を白に設定 */
    border: none; /* コンテナ枠線を薄いグレーで設定 */
    gap: 10px; /* ボタンと入力欄の間隔 */
}

/* ボタンデザイン（虫眼鏡アイコン付き） */
#map-streetview-marker-move-to-location-btn {
    background-color: rgba(255, 255, 255, 0.1); /* 青色背景 */
    color: white; /* 虫眼鏡アイコンの色を白に設定 */
    border: none; /* ボタン枠線を削除 */
    border-radius: 10px; /* ボタンを円形に設定 */
    font-size: 16px; /* アイコンサイズを調整 */
    width: 40px; /* 幅を固定 */
    height: 40px; /* 高さを固定 */
    display: flex; /* アイコンの中央表示 */
    justify-content: center;
    align-items: center;
    cursor: pointer; /* カーソルをポインタに変化 */
    margin-left: 10px; /* 入力欄との間隔を設定 */
    transition: background-color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

/* 「ここにマップを移動」ボタン（虫眼鏡付き） */
#map-streetview-marker-move-to-location-btn {
    background-color: #ffffff; /* 青色背景 */
    color: white; /* 白文字 */
    border: none;
    border-radius: 50%; /* 円形に設定 */
    font-size: 16px; /* アイコンサイズ */
    width: 40px; /* 幅を固定 */
    height: 40px; /* 高さを固定 */
    display: flex; /* アイコンを中央表示 */
    justify-content: center;
    align-items: center;
    cursor: pointer; /* ポインタカーソル */
    margin-left: 10px;
    position: relative; /* 擬似要素をボタン内部に配置するための設定 */
    transition: background-color 0.3s ease, box-shadow 0.3s ease; /* 背景色や影のアニメーション */
}

/* 擬似要素（青色下線）のデザイン */
#map-streetview-marker-move-to-location-btn::after {
    content: ""; /* 空の要素を作成 */
    position: absolute; /* ボタン内で擬似要素を配置 */
    bottom: -2px; /* ボタンの下部に配置 */
    left: 50%; /* 水平方向に中央基準 */
    transform: translateX(-50%); /* 左右中央揃え */
    width: 0%; /* 初期状態では非表示（幅0%） */
    height: 2px; /* 下線の高さを設定 */
    background-color: #7bb9fa; /* 薄い青色の下線 */
    border-radius: 50%; /* 下線に丸みを付与 */
    transition: width 0.3s ease; /* 幅を変更するアニメーション */
}

/* ホバー時のデザイン */
#map-streetview-marker-move-to-location-btn:hover {
    background-color: #d1e7ff; /* ホバー時に薄い青色の背景 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に影を表示 */
}

#map-streetview-marker-move-to-location-btn:hover::after {
    width: 60%; /* ホバー時に下線が表示される（幅30%まで拡張） */
}

/* ボタンコンテナ */
.map-streetview-marker-edit-buttons {
    display: flex; /* フレックスボックスに設定 */
    justify-content: flex-end; /* ボタンを右寄せ */
    gap: 10px; /* ボタン間にスペースを追加 */
    margin-top: 20px;
}

/* 保存ボタン */
#map-streetview-marker-save-btn {
    background-color: #ffffff; /* 白背景 */
    border: 1px solid #969696; /* 未ホバー時にグレーの枠線 */
    border-radius: 50px; /* 適度な丸みを追加 */
    color: #54a5fc; /* 青色文字 */
    padding: 10px 20px; /* ボタン内側の余白 */
    font-size: 16px; /* テキストサイズ */
    cursor: pointer; /* ポインタカーソル表示 */
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

#map-streetview-marker-save-btn:hover {
    background-color: #cfe0ff; /* 白背景 */
    border-color: #025aff; /* ホバー時に青い枠線を表示 */
    color: #025aff; /* ホバー時に青色文字に変更 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に柔らかい影を追加 */
}

/* キャンセルボタン */
#map-streetview-marker-cancel-btn {
    background-color: #ffffff; /* 白背景 */
    border: 1px solid #969696; /* 未ホバー時にグレーの枠線 */
    border-radius: 50px; /* 適度な丸みを追加 */
    color: #f85858; /* 赤色文字 */
    padding: 10px 20px; /* ボタン内側の余白 */
    font-size: 16px; /* テキストサイズ */
    cursor: pointer; /* ポインタカーソル表示 */
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

#map-streetview-marker-cancel-btn:hover {
    background-color: #fddfdf; /* 赤白背景 */
    border-color: #ff0202; /* ホバー時に青い枠線を表示 */
    color: #ff0202; /* ホバー時に青色文字に変更 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に柔らかい影を追加 */
}


/* メディアクエリ：画面幅の狭いデバイス用調整 */
@media screen and (max-width: 600px) {
    #map-streetview-marker-edit-form {
        width: 95vw; /* さらに画面幅に近づける */
        max-width: none; /* 最大幅制限を解除 */
        padding: 15px; /* 内側余白を少し減らす */
    }

    .map-streetview-marker-edit-buttons button {
        padding: 8px 12px; /* ボタンを少しコンパクトにする */
    }

    #map-streetview-marker-edit-form h3 {
        font-size: 18px; /* タイトルをやや小さく */
    }

    #map-streetview-marker-image-rotation-reset-btn {
        margin-top: 20px; /* テキストボックスとの間隔 */
        background-color: #ffffff; /* 白背景 */
        border: 1px solid #ccc; /* 未ホバー時にグレーの枠線 */
        border-radius: 10px; /* 適度な丸みを追加 */
        color: #585858; /* 赤色文字 */
        padding: 10px 20px; /* ボタン内側の余白 */
        font-size: 11px; /* テキストサイズ */
        cursor: pointer; /* ポインタカーソル表示 */
        transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
    }

    #map-streetview-marker-file-drop-zone,
    #map-streetview-marker-file-info {
        display: none; /* 非表示 */
    }
}