/*
 * マイソク生成フォーム([mysoku_form]ショートコード)用スタイル。
 *
 * 2026-09-14:従来はmysoku_gen_render_form()の中に<style>タグとして直接埋め込んでいたが、
 * 一部の環境(セキュリティ系プラグイン、ページビルダーのテキスト/HTML要素、wp_kses_post()等の
 * コンテンツフィルタ)ではショートコード出力中の<style>/<script>タグが除去されてしまい、
 * フォームの見た目・JSによる自動スクロールや項目切り替えが効かなくなる不具合が実際に発生した。
 * wp_enqueue_style()で正式にキュー登録した外部ファイルに切り出すことで、コンテンツフィルタの
 * 影響を受けずに確実に読み込まれるようにしている(mysoku-generator.php側のmysoku_gen_enqueue_assets()参照)。
 */
.mysoku-gen-wrap fieldset { margin-bottom: 1.5em; padding: 1em; border: 1px solid #ccc; }
.mysoku-gen-wrap legend { font-weight: bold; padding: 0 .5em; }
.mysoku-gen-hint { font-size: .85em; color: #555; margin-top: 0; }
.mysoku-gen-field { margin-bottom: .8em; }
.mysoku-gen-field label { display: block; font-size: .9em; margin-bottom: .2em; }
.mysoku-gen-field input[type=text], .mysoku-gen-field textarea { width: 100%; max-width: 480px; box-sizing: border-box; }
.mysoku-gen-field select { font-size: 1em; padding: .3em .5em; }
.mysoku-gen-submit { font-size: 1.1em; padding: .6em 1.5em; cursor: pointer; }
/* 物件タイプ・資料アップロード・画像アップロード:誰も入力せず埋もれるのを防ぐため、
   フォーム最上部にまとめてこのスタイルで目立たせる */
.mysoku-gen-highlight { border: 2px solid #d96a0f; background: #fff8f0; }
.mysoku-gen-highlight legend { color: #d96a0f; font-size: 1.35em; font-weight: bold; padding: .1em .6em; }
/* 2026-09-13:見出し末尾の補足カッコ書き((必ず選択してください)等)は、見出し本体と同じ
   級数だと長い場合に折り返してしまうため、級数を下げて1行に収まるようにした */
.mysoku-gen-step-sub { font-size: .6em; font-weight: normal; }
.mysoku-gen-hint-strong { color: #a83e00; }
.mysoku-gen-required { color: #fff; background: #d96a0f; font-size: .75em; font-weight: bold; padding: .1em .5em; border-radius: 3px; margin-left: .4em; vertical-align: middle; }
.mysoku-gen-highlight select { font-size: 1.1em; padding: .5em .7em; border: 1px solid #d96a0f; }
.mysoku-gen-highlight input[type=file] { display: block; font-size: 1em; padding: .4em 0; }
/* オレンジ枠だけで生成できる旨の案内文(フォーム最上部) */
.mysoku-gen-lead { background: #d96a0f; color: #fff; padding: 1em 1.2em; border-radius: 6px; margin-bottom: 1em; }
.mysoku-gen-lead p { margin: 0 0 .5em; font-size: .95em; line-height: 1.6; }
.mysoku-gen-lead p:last-child { margin-bottom: 0; }
/* 「解析対象ファイル」欄:スクリーンショットのクリップボード貼り付け(Ctrl+V)対応 */
/* 2026-09-13:他の画像アップロード欄(自社帯・外観写真・その他画像・間取り図)も見た目を統一するため、
   同じ枠デザインを .mysoku-gen-upload-box としても使えるようにした(貼り付け機能自体は
   analysis_docs専用のまま。見た目だけの共通化)。 */
.mysoku-gen-paste-zone, .mysoku-gen-upload-box { border: 1px dashed #d96a0f; border-radius: 6px; padding: .8em; background: #fffefb; }
.mysoku-gen-paste-zone:focus { outline: 2px solid #d96a0f; outline-offset: 2px; }
/* 2026-09-14:「解析対象ファイルは複数選択できる」ことに気づかれていなかった、という
   レビューを受けて追加した目立たせ用の注意書き */
.mysoku-gen-multi-upload-note { background: #fff3e6; border-left: 4px solid #d96a0f; border-radius: 4px; padding: .7em 1em; margin: .5em 0 .8em; font-size: .9em; line-height: 1.7; color: #7a4415; }
.mysoku-gen-multi-upload-note kbd { background: #fff; border: 1px solid #d9c7ae; border-radius: 3px; padding: .05em .4em; font-size: .95em; }
.mysoku-gen-paste-hint { font-size: .8em; color: #8a5a30; margin: .6em 0 0; line-height: 1.6; }
.mysoku-gen-paste-hint kbd { background: #fff; border: 1px solid #d9c7ae; border-radius: 3px; padding: .05em .4em; font-size: .95em; }
.mysoku-gen-paste-previews { display: flex; flex-wrap: wrap; gap: .5em; margin-top: .6em; }
.mysoku-gen-paste-thumb { position: relative; width: 72px; height: 72px; border: 1px solid #e0d5c5; border-radius: 4px; overflow: hidden; background: #f5f0e8; display: flex; align-items: center; justify-content: center; font-size: .65em; color: #555; text-align: center; padding: 2px; word-break: break-all; }
.mysoku-gen-paste-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mysoku-gen-paste-thumb button { position: absolute; top: -6px; right: -6px; width: 18px; height: 18px; line-height: 16px; border-radius: 50%; border: none; background: #c0392b; color: #fff; font-size: 12px; cursor: pointer; padding: 0; }
/* 2026-09-12:会員プラン対応(利用状況表示・有料プラン限定機能のロック表示) */
.mysoku-gen-plan-status { background: #f3f3f3; border: 1px solid #ddd; border-radius: 6px; padding: .7em 1em; margin-bottom: 1.2em; font-size: .95em; }
.mysoku-gen-plan-status a { margin-left: .8em; }
.mysoku-gen-locked-field { background: #f7f7f7; border: 1px dashed #ccc; border-radius: 6px; padding: .8em 1em; }
.mysoku-gen-locked-badge { display: inline-block; background: #888; color: #fff; font-size: .7em; font-weight: bold; padding: .1em .6em; border-radius: 3px; margin-left: .5em; vertical-align: middle; }
/* 2026-09-12:自社帯画像アップロード欄を分かりやすくするための専用ボックス */
/* 2026-09-12再更新:自社帯画像をこのfieldset内で一番目立つ位置(先頭)に配置し、
   強調枠で囲んで見落とされないようにした */
.mysoku-gen-band-box { border: 2px solid #d96a0f; background: #fff3e6; border-radius: 8px; padding: 1em 1.2em; margin-bottom: 1.2em; }
.mysoku-gen-band-title { font-weight: bold; margin: 0 0 .4em; color: #a85a10; font-size: 1.35em; }
/* 2026-09-13:フォーマットの色選択のすぐ下に生成ボタンを追加し、その下は任意入力であることを
   分かりやすく区切るための見出し */
.mysoku-gen-primary-submit { text-align: center; margin: 1.5em 0; }
.mysoku-gen-primary-submit .mysoku-gen-submit { font-size: 1.2em; padding: .7em 2em; background: #d96a0f; color: #fff; border: none; border-radius: 6px; }
/* 2026-09-14:任意入力項目(キャッチコピー〜設備・備考(共通))をnative <details>で
   折りたたみ表示にした。<summary>を、以前の「ここから先は任意の追加入力項目です」の
   区切り線デザインを踏襲しつつ、開閉できることが分かるよう矢印アイコン付きにしてある。 */
.mysoku-gen-optional-details { margin: 1.5em 0 2em; border-top: 1px solid #ccc; padding-top: 1em; }
.mysoku-gen-optional-summary {
    cursor: pointer; text-align: center; font-size: .95em; color: #555;
    list-style: none; padding: .6em 0; user-select: none;
}
.mysoku-gen-optional-summary::-webkit-details-marker { display: none; }
.mysoku-gen-optional-summary::before { content: "▶ "; color: #d96a0f; }
.mysoku-gen-optional-details[open] > .mysoku-gen-optional-summary::before { content: "▼ "; }
.mysoku-gen-optional-details > fieldset:first-of-type { margin-top: 1em; }
/* 2026-09-14:レントロール一括生成セクション(単票フォームと視覚的に区別するため
   見出しに枠線を付けて区切る) */
.mysoku-gen-batch-wrap { margin-top: 2.5em; padding-top: 1.5em; border-top: 3px double #999; }
.mysoku-gen-batch-title { font-size: 1.25em; margin: 0 0 .3em; }
/* 2026-09-14:「一棟(収益物件)」選択時に、ページ下部の一括生成フォームへ誘導する案内 */
.mysoku-gen-ikkan-hint { background: #fff3e6; border: 1px solid #d96a0f; border-radius: 6px; padding: 1em 1.2em; margin-top: 1em; }
.mysoku-gen-ikkan-hint p { margin: 0 0 .8em; font-size: .92em; line-height: 1.7; }
.mysoku-gen-submit-secondary { background: #fff; color: #d96a0f; border: 1px solid #d96a0f; }
/* 2026-09-15:未ログイン時の案内(mysoku_gen_render_login_prompt)・月次上限到達時の案内
   (mysoku_gen_render_limit_reached_notice)も、同じくショートコード出力としてフィルタの
   影響を受けるため、同様にここへ統合した。 */
.mysoku-gen-gate-box { border: 1px solid #ccc; border-radius: 8px; padding: 1.5em 1.8em; background: #fff8f0; }
.mysoku-gen-gate-box h2 { margin-top: 0; font-size: 1.15em; }
.mysoku-gen-gate-actions { display: flex; gap: 1em; flex-wrap: wrap; margin-top: 1.2em; }

/*
 * 2026-09-16追加:単票マイソク生成フォームの「ステップ式ウィザード」化(UIUX刷新)。
 * assets/mysoku-gen-form.js の initSingleFormWizard 相当のIIFEが、JS実行時にだけ
 * .mysoku-gen-wizard-active を付与する。このクラスが付いていない(=JS無効)場合は
 * 以下のルールは一切効かず、従来通りの1枚の縦長フォームの見た目のまま動く。
 */
.mysoku-gen-wizard-progress[hidden] { display: none; }
/* 2026-09-18追加:テーマ(sugusoku)側のtheme.cssに ".mysoku-gen-submit { display: inline-flex; ... }"
   という同じ詳細度(クラス1つ)のルールがあり、カスケード順によってはブラウザ既定の
   [hidden]{display:none}を上書きしてしまい、JSでhidden=trueにしたはずの「次へ」ボタン等が
   見えたまま残る不具合があった。属性セレクタを重ねて詳細度を上げ、確実に隠す。 */
.mysoku-gen-submit[hidden] { display: none; }
.mysoku-gen-wizard-progress { display: flex; flex-wrap: wrap; gap: .4em; margin: 0 0 1.4em; padding: .9em 1em; background: #fff; border: 1px solid #eadfce; border-radius: 14px; box-shadow: 0 2px 10px rgba(140, 90, 30, .08); position: sticky; top: 8px; z-index: 5; }
.mysoku-gen-wizard-pill { flex: 1 1 auto; display: flex; align-items: center; gap: .5em; border: none; background: transparent; cursor: default; padding: .3em .5em; border-radius: 999px; font: inherit; color: #b8b0a4; }
.mysoku-gen-wizard-pill-num { display: inline-flex; align-items: center; justify-content: center; width: 1.7em; height: 1.7em; border-radius: 50%; background: #f1ece3; color: #9c9284; font-size: .85em; font-weight: bold; flex: none; }
.mysoku-gen-wizard-pill-label { font-size: .82em; white-space: nowrap; }
.mysoku-gen-wizard-pill.is-active { color: #a85a10; }
.mysoku-gen-wizard-pill.is-active .mysoku-gen-wizard-pill-num { background: #d96a0f; color: #fff; }
.mysoku-gen-wizard-pill.is-done { color: #a85a10; cursor: pointer; }
.mysoku-gen-wizard-pill.is-done .mysoku-gen-wizard-pill-num { background: #f5c48c; color: #7a4415; }
.mysoku-gen-wizard-pill.is-done:hover { text-decoration: underline; }
/* ウィザード有効時は、ステップの中身を「アプリの画面」らしいカードに見せる(角丸+影)。 */
.mysoku-gen-wizard-active fieldset[data-mysoku-step],
.mysoku-gen-wizard-active details[data-mysoku-step],
.mysoku-gen-wizard-active .mysoku-gen-review-step {
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(60, 40, 10, .07);
}
.mysoku-gen-wizard-active .mysoku-gen-optional-details.mysoku-gen-optional-details { border-top: none; padding: 1.1em 1.2em 1.4em; border: 1px solid #eadfce; background: #fff; }
/* 2026-09-18更新:以前はステップ4の<details>を強制的に開いていたため、この見出し
   (クリックして開く案内)を隠していたが、閉じたままにする方針に変更したため、
   通常通りクリックできる見出しとして表示する。 */
.mysoku-gen-wizard-active .mysoku-gen-wizard-step4-hint { margin: 0 0 1em; }
.mysoku-gen-wizard-active .mysoku-gen-primary-submit.mysoku-gen-non-wizard-submit { display: none; }
.mysoku-gen-wizard-nav { display: flex; flex-direction: column; gap: .5em; margin: 1.2em 0 2em; }
.mysoku-gen-wizard-nav-buttons { display: flex; justify-content: space-between; gap: 1em; }
.mysoku-gen-wizard-nav-buttons .mysoku-gen-submit { border-radius: 999px; }
.mysoku-gen-wizard-next { margin-left: auto; background: #d96a0f; color: #fff; border: none; }
.mysoku-gen-wizard-error { color: #b3261e; background: #fdecea; border: 1px solid #f3b7b0; border-radius: 8px; padding: .6em .9em; margin: 0; font-size: .9em; }
/* 確認(プレビュー)ステップ */
.mysoku-gen-review-step { padding: 1.2em 1.3em 1.5em; background: #fff; border: 1px solid #eadfce; }
.mysoku-gen-review-step h3 { margin: 0 0 .3em; color: #a85a10; }
.mysoku-gen-review-highlight { display: inline-block; background: #fff3e6; border: 1px solid #f5c48c; border-radius: 999px; padding: .4em 1em; font-weight: bold; color: #a85a10; margin: .4em 0 1em; }
.mysoku-gen-review-gallery { display: flex; flex-wrap: wrap; gap: .8em; margin: .6em 0 1.2em; }
.mysoku-gen-review-photo { margin: 0; width: 110px; text-align: center; }
.mysoku-gen-review-photo img { width: 110px; height: 90px; object-fit: cover; border-radius: 8px; border: 1px solid #e0d5c5; display: block; }
.mysoku-gen-review-photo figcaption { font-size: .72em; color: #7a4415; margin-top: .3em; word-break: break-all; }
.mysoku-gen-review-list { display: grid; grid-template-columns: max-content 1fr; gap: .4em 1.2em; margin: 0; }
.mysoku-gen-review-list dt { font-size: .82em; color: #8a5a30; white-space: nowrap; }
.mysoku-gen-review-list dd { margin: 0; font-size: .92em; white-space: pre-wrap; word-break: break-word; }
@media (max-width: 640px) {
    .mysoku-gen-wizard-progress { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
    .mysoku-gen-wizard-pill-label { display: none; }
    .mysoku-gen-review-list { grid-template-columns: 1fr; }
}

/* 2026-10-09追加:物件保存機能(専用サイト版)
   2026-10-11更新:すぐソクテーマ(--orange等のCSS変数)がある場合はテーマの配色に合わせ、
   無い場合は青系の既定色で表示する。 */
.mysoku-gen-saved-props { border: 2px solid var(--orange, #2e6da4); background: var(--paper-alt, #f3f8fd); border-radius: 16px; padding: 1.1em 1.3em; margin: 0 0 1.4em; }
.mysoku-gen-saved-props-title { font-size: 1.15em; font-weight: bold; color: var(--orange-dark, #2e6da4); margin: 0 0 .4em; }
.mysoku-gen-saved-props .mysoku-gen-hint, .mysoku-gen-save-box .mysoku-gen-hint, .mysoku-gen-saved-images .mysoku-gen-hint { background: transparent; padding: 0; margin: 0 0 .8em; border-radius: 0; }
.mysoku-gen-saved-props-controls { display: flex; flex-wrap: wrap; gap: .6em; align-items: center; }
.mysoku-gen-saved-props-controls[hidden], .mysoku-gen-saved-props-empty[hidden], .mysoku-gen-saved-current[hidden], .mysoku-gen-saved-status[hidden], .mysoku-gen-saved-images[hidden], .mysoku-gen-save-as-new[hidden] { display: none; }
.mysoku-gen-saved-filter, .mysoku-gen-saved-select { min-width: 0; max-width: 100%; box-sizing: border-box; padding: .6em .8em; font-size: 1em; font-family: inherit; background: #fff; border: 1px solid var(--line, #9bb8d3); border-radius: 10px; }
.mysoku-gen-saved-filter { flex: 1 1 12em; }
.mysoku-gen-saved-select { flex: 2 1 18em; }
.mysoku-gen-saved-props .mysoku-gen-submit { background: var(--orange, #2e6da4); color: #fff; border: none; }
.mysoku-gen-saved-props .mysoku-gen-submit-secondary { background: #fff; color: var(--orange-dark, #2e6da4); border: 1px solid var(--orange, #2e6da4); box-shadow: none; }
.mysoku-gen-saved-props .mysoku-gen-submit:disabled { opacity: .6; cursor: wait; }
.mysoku-gen-saved-current { display: flex; flex-wrap: wrap; gap: .6em; align-items: center; margin-top: .9em; padding-top: .9em; border-top: 1px dashed var(--line, #9bb8d3); }
.mysoku-gen-saved-current .mysoku-gen-submit { font-size: .9em; padding: .45em 1.1em; }
.mysoku-gen-saved-delete { background: none; border: none; color: #b32d2e; text-decoration: underline; cursor: pointer; font-size: .9em; padding: .3em; }
.mysoku-gen-saved-status { margin: .9em 0 0; padding: .6em .9em; background: #e6f4ea; border-left: 4px solid #2e7d32; border-radius: 6px; }
.mysoku-gen-saved-status.is-error { background: #fdecea; border-left-color: #b32d2e; }
.mysoku-gen-saved-images { border: 1px dashed var(--orange, #2e6da4); background: var(--paper-alt, #f3f8fd); border-radius: 12px; padding: .9em 1.1em; margin: .8em 0 1.2em; }
.mysoku-gen-saved-images-title { font-weight: bold; color: var(--orange-dark, #2e6da4); margin: 0 0 .3em; }
.mysoku-gen-saved-images-list { display: flex; flex-wrap: wrap; gap: .8em; }
.mysoku-gen-saved-image { margin: 0; width: 140px; text-align: center; font-size: .9em; }
.mysoku-gen-saved-image img { width: 140px; height: 100px; object-fit: cover; border: 1px solid #ddd; border-radius: 8px; background: #fff; display: block; }
.mysoku-gen-saved-image label { display: inline-flex; align-items: center; gap: .3em; cursor: pointer; }
.mysoku-gen-save-box { border: 1px solid var(--line, #2e6da4); background: var(--paper-alt, #f3f8fd); border-radius: 16px; padding: 1.1em 1.3em; margin: 1.2em 0; }
.mysoku-gen-save-box-title { font-weight: bold; color: var(--orange-dark, #2e6da4); margin: 0 0 .3em; }
.mysoku-gen-save-box input[type=text] { width: 100%; box-sizing: border-box; }
.mysoku-gen-primary-submit #mysoku-gen-save-submit { background: var(--ink, #2e6da4); color: #fff; border: none; margin-left: .6em; box-shadow: none; }
@media (max-width: 600px) {
  .mysoku-gen-primary-submit #mysoku-gen-save-submit { margin: .7em 0 0; }
}
