/* /mansion/osusume/ 専用。 2026-09-09
   base.html + assets/style.css の上に足すぶんだけ。 セレクタは .oso- / #oso- に閉じる。 */

#oso-verdict{margin:0;padding:24px clamp(18px,3vw,30px);border-radius:16px;
  background:#0f766e;color:#fff;box-shadow:0 10px 28px rgba(15,118,110,.24)}
#oso-verdict .ov-lead{margin:0;font-size:14px;color:#d7f1ef;line-height:1.9}
#oso-verdict .ov-lead b{color:#fff}
#oso-verdict .ov-big{margin:6px 0 0;font-size:clamp(20px,4.4vw,30px);font-weight:800;
  line-height:1.45;letter-spacing:.01em}
#oso-verdict .ov-big strong{font-size:1.55em;color:#ffdca8;padding:0 3px;font-weight:800}
#oso-verdict .ov-big span{font-size:.62em;font-weight:700;color:#eafaf8}
#oso-verdict .ov-sub{margin:12px 0 0;font-size:12.5px;line-height:1.95;color:#dff3f1}
#oso-verdict .ov-note{margin:12px 0 0;font-size:10.5px;line-height:1.75;color:#b7ded9}

.oso-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.oso-form label{font-size:13px;font-weight:700;color:#31456a}
.oso-form input[type=number],.oso-form input[type=text]{padding:11px 13px;
  border:2px solid #cfe1df;border-radius:10px;font-size:16px;font-weight:700;
  color:#12333f;background:#fff;font-family:inherit}
.oso-form input[type=number]{width:110px;text-align:right}
.oso-form input[type=text]{width:min(260px,60vw)}
.oso-form span{font-size:13px;font-weight:700;color:#31456a}
.oso-form button{padding:12px 22px;border:0;border-radius:999px;cursor:pointer;
  background:#2eb6af;color:#fff;font-size:14px;font-weight:800;font-family:inherit;
  letter-spacing:.03em}
.oso-form button:hover{background:#1c9a94}
.oso-form button:active{transform:scale(.97)}

.oso-msg{margin:0 0 14px;font-size:14px;line-height:1.9;color:#31456a}
.oso-msg b{color:#12736c}

#oso-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.oso-row{border:1px solid #dbe9e7;border-radius:14px;background:#fff;overflow:hidden;
  transition:border-color .12s,box-shadow .12s}
.oso-row:hover{border-color:#2eb6af;box-shadow:0 6px 18px rgba(46,182,175,.16)}
.oso-row.on{border-color:#ffcf8a}
.oso-hit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;
  align-items:center;padding:16px 18px;text-decoration:none;color:inherit}
.oso-hit .rn{grid-column:1;font-size:16px;font-weight:800;color:#12333f;line-height:1.5}
.oso-hit .rm{grid-column:1;font-size:12px;color:#5c7480;line-height:1.7}
.oso-hit .rp{grid-column:2;grid-row:1 / span 2;text-align:right;white-space:nowrap}
.oso-hit .rp i{display:block;font-style:normal;font-size:10.5px;color:#7b8d97;
  font-weight:700;letter-spacing:.02em}
.oso-hit .rp b{font-size:22px;font-weight:800;color:#0f766e;padding-right:2px}
.oso-hit:hover .rn{color:#0f766e}

/* 販売中の住戸。 ★出しているのは「あるかどうか」だけ。
   中身 (階・広さ・価格) は索引にも画面にも入れていない。
   下の伏せ字はデータではなく、内容がメールで届くことを示すための飾り。 */
.oso-live{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:11px 18px 13px;background:#fff8ec;border-top:1px dashed #ffd79a}
.oso-live .lb{font-size:12.5px;font-weight:800;color:#a4650a;
  padding:4px 11px;border-radius:999px;background:#ffe6bd;white-space:nowrap}
.oso-live .lm{font-size:13px;font-weight:700;color:#8a5a10;letter-spacing:.06em;
  filter:blur(4px);-webkit-filter:blur(4px);user-select:none;cursor:pointer}
.oso-live .lk{padding:8px 16px;border:0;border-radius:999px;cursor:pointer;
  background:#ff9330;color:#fff;font-size:12.5px;font-weight:800;font-family:inherit;
  margin-left:auto}
.oso-live .lk:active{transform:scale(.97)}

#oso-watch{margin:22px 0 0;padding:20px clamp(16px,2.6vw,24px);border-radius:14px;
  background:#f2fbfa;border:1px solid #cfe7e4}
#oso-watch h3{margin:0 0 8px;font-size:16px;font-weight:800;color:#12333f}
#oso-watch .wl{margin:0 0 14px;font-size:12.5px;line-height:1.95;color:#41606c}
#oso-watch .wf{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#oso-watch input[type=email]{flex:1 1 240px;min-width:0;padding:13px 15px;
  border:2px solid #cfe1df;border-radius:11px;font-size:16px;background:#fff;
  color:#12333f;font-family:inherit}
#oso-watch button{padding:13px 24px;border:0;border-radius:999px;cursor:pointer;
  background:#0f766e;color:#fff;font-size:14px;font-weight:800;font-family:inherit}
#oso-watch button:active{transform:scale(.97)}
#oso-watch .wfine{margin:12px 0 0;font-size:10.5px;line-height:1.75;color:#6c8892}
#oso-watch .wfine a{color:#6c8892}

#oso-near{margin:18px 0 0}
#oso-near h3{margin:0 0 8px;font-size:14px;font-weight:800;color:#31456a}
#oso-nearlist{display:flex;gap:8px;flex-wrap:wrap}
#oso-nearlist a{padding:7px 14px;border:1px solid #cfe1df;border-radius:999px;
  background:#fff;font-size:13px;font-weight:700;color:#12736c;text-decoration:none}
#oso-nearlist a:hover{border-color:#2eb6af;background:#f2fbfa}

/* 伏せた項目 (ハニーポット)。 人には見えない・タブでも到達しない */
/* 2026-09-11: ラベルの文字を消したうえで、選択もさせない
   (画面外に置くだけでは Ctrl+A のコピーに「ご住所」が混ざる)。
   ★display:none にはしない。 素朴なボットに避けられ、罠が効かなくなる。 */
.oso-hp{-webkit-user-select:none!important;user-select:none!important;
  position:absolute!important;left:-9999px!important;width:1px!important;
  height:1px!important;overflow:hidden!important;opacity:0!important}

.oso-mmsg{margin:12px 0 0;font-size:13px;line-height:1.85}
.oso-mmsg.ng{color:#b4432c}
.oso-mmsg.ok{color:#0f766e;font-weight:700}

/* 販売中の住戸を受け取る窓 */
#oso-modal{position:fixed;inset:0;z-index:9999;background:rgba(18,51,63,.55);
  display:flex;align-items:center;justify-content:center;padding:18px}
#oso-modal[hidden]{display:none}
#oso-modal .mw{width:min(520px,100%);max-height:90vh;overflow:auto;background:#fff;
  border-radius:18px;padding:26px 24px 22px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
#oso-modal h3{margin:0 0 10px;font-size:18px;font-weight:800;color:#12333f;line-height:1.5}
#oso-modal .ml{margin:0 0 16px;font-size:12.5px;line-height:1.95;color:#41606c}
#oso-modal label{display:block;font-size:12px;font-weight:700;margin:0 0 6px;color:#31456a}
#oso-modal input[type=email]{width:100%;padding:14px 15px;border:2px solid #cfe1df;
  border-radius:12px;font-size:16px;background:#fff;color:#12333f;font-family:inherit}
#oso-modal button.go{margin-top:14px;width:100%;padding:15px;border:0;border-radius:14px;
  background:#ff9330;color:#fff;font-size:15px;font-weight:800;cursor:pointer;
  font-family:inherit}
#oso-modal button.go[disabled]{opacity:.5;cursor:default}
#oso-modal .mx{margin-top:12px;width:100%;padding:10px;border:0;background:none;
  color:#7b8d97;font-size:12.5px;cursor:pointer;font-family:inherit;
  text-decoration:underline}
#oso-modal .mfine{margin:12px 0 0;font-size:10.5px;line-height:1.75;color:#7b8d97}
#oso-modal .mfine a{color:#7b8d97}

@media (max-width:640px){
  .oso-hit{grid-template-columns:1fr}
  .oso-hit .rp{grid-column:1;grid-row:auto;text-align:left;margin-top:4px}
  .oso-hit .rp i{display:inline;margin-right:6px}
  .oso-live .lk{margin-left:0;width:100%}
}

/* 販売中の詳細をお送りする受付。 お名前・メール・お電話の3点 (2026-09-09) */
#oso-modal input[type=text],#oso-modal input[type=tel]{width:100%;padding:14px 15px;
  border:2px solid #cfe1df;border-radius:12px;font-size:16px;background:#fff;
  color:#12333f;font-family:inherit}
#oso-modal input:focus{outline:none;border-color:#2eb6af}
#oso-modal label{margin-top:14px}
#oso-modal label[for="oso-mname"]{margin-top:0}

/* 2026-09-11 おとり広告対策: 「販売中」バッジのすぐ横に在庫の時点を出す。
   離して書くと読まれないので、同じ行に小さく添える。 */
.oso-live .ld{font-size:10.5px;font-weight:600;color:#8a6a2e;margin-left:6px;
  white-space:nowrap}
