/* ============================================================
   WordPress化にともなう追加スタイル
   design.css / sub.css はデザイン案からそのまま持ってきているので、
   WordPressが出力するマークアップとの差分だけをここで吸収します。
   ========================================================== */

/* ---- 本文へスキップ（キーボード操作・読み上げ用） ---- */
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--green);color:#fff;
  padding:10px 18px;border-radius:0 0 12px 0;font-weight:800;font-size:14px}
.skip:focus{left:0}

/* ---- ページ送り（paginate_links の出力を、デザイン案の見た目に合わせる） ---- */
.pager > ul.page-numbers{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px;list-style:none;margin:0;padding:0;max-width:100%}
.pager > ul.page-numbers > li{list-style:none;margin:0;padding:0}
.pager a.page-numbers,
.pager span.page-numbers{font-family:var(--nunito);font-weight:800;border:2px solid #E3DCC4;background:#fff;
  border-radius:12px;min-width:42px;text-align:center;padding:8px 10px;font-size:14px;color:var(--muted);
  text-decoration:none;display:inline-block;transition:transform .18s cubic-bezier(.3,1.5,.5,1),border-color .18s}
.pager a.page-numbers:hover{transform:translateY(-2px);border-color:var(--lime);color:var(--green-d)}
.pager span.page-numbers.current{background:var(--green);border-color:var(--green);color:#fff}
.pager .next,.pager .prev{min-width:auto;padding-left:16px;padding-right:16px}

/* ---- 間取り図・配置図（最大3枚。小さい文字を読めるよう各図面は全幅） ---- */
.floorplans{display:grid;gap:16px}
.floorplans .floorplan-image{display:block;width:100%;max-width:100%;height:auto;
  border-radius:18px;border:2px solid #E3DCC4;background:#fff}

/* ---- 写真が未登録のカード（cardHTMLのインライン指定をクラスに移したもの） ---- */
.nophoto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#A8A590;font-weight:700;font-size:12px;text-align:center;padding:8px;
  background:repeating-linear-gradient(45deg,#F0EDDE,#F0EDDE 8px,#EAE6D4 8px,#EAE6D4 16px)}
.card .ph,.col .ph{position:relative}

/* ---- 管理バーが出ているときにヘッダーが隠れないように ---- */
.admin-bar .hd{top:32px}
@media(max-width:782px){.admin-bar .hd{top:46px}}

/* ---- 写真の拡大表示（ライトボックス） ---- */
.gallery .main,.gallery .t{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:9999;background:rgba(24,32,22,.92);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;visibility:hidden;transition:opacity .22s}
.lb.open{opacity:1;visibility:visible}
.lb figure{margin:0;max-width:min(1100px,92vw);max-height:88vh;display:flex;flex-direction:column;gap:12px;align-items:center}
.lb img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:16px;background:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lb figcaption{color:#F3EFE0;font-size:13.5px;font-weight:700;text-align:center;
  font-family:var(--rounded,inherit);letter-spacing:.02em}
.lb .lbclose,.lb .lbnav{position:absolute;background:rgba(255,255,255,.94);border:0;cursor:pointer;
  color:#2D5F3C;font-weight:800;border-radius:999px;line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform .18s cubic-bezier(.3,1.5,.5,1)}
.lb .lbclose{top:18px;right:18px;width:44px;height:44px;font-size:20px}
.lb .lbnav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:22px}
.lb .lbprev{left:16px}
.lb .lbnext{right:16px}
.lb .lbclose:hover{transform:scale(1.08)}
.lb .lbprev:hover{transform:translateY(-50%) scale(1.08)}
.lb .lbnext:hover{transform:translateY(-50%) scale(1.08)}
body.lb-open{overflow:hidden}
@media(max-width:640px){
  .lb{padding:12px}
  .lb .lbnav{width:42px;height:42px;font-size:18px}
  .lb .lbprev{left:6px}
  .lb .lbnext{right:6px}
  .lb .lbclose{top:10px;right:10px;width:38px;height:38px;font-size:17px}
}

/* ---- コラム本文（WordPressのエディタで書いた記事） ---- */
.entry{font-size:15.5px;line-height:2;color:var(--ink-2)}
.entry>*+*{margin-top:1.2em}
.entry h2{font-size:20px;font-weight:800;color:var(--green-d);margin-top:2em;
  padding-bottom:8px;border-bottom:3px solid #E9F0DC}
.entry h3{font-size:17px;font-weight:800;color:var(--green-d);margin-top:1.8em}
.entry a{color:var(--green);text-decoration:underline}
.entry img,.entry iframe{max-width:100%;height:auto;border-radius:16px}
.entry ul,.entry ol{padding-left:1.5em}
.entry li+li{margin-top:.4em}
.entry blockquote{border-left:4px solid var(--lime);padding:4px 0 4px 18px;color:var(--muted)}
.entry table{width:100%;border-collapse:collapse}
.entry th,.entry td{border:1px solid #E3DCC4;padding:10px 12px;text-align:left}
.entry th{background:#F3F5EC}
.entry .wp-caption-text,.entry figcaption{font-size:12.5px;color:var(--muted);text-align:center;margin-top:6px}

/* ---- お問い合わせフォーム（Contact Form 7） ---- */
.cf7box .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){width:100%;padding:12px 14px;
  border:2px solid #E3DCC4;border-radius:12px;background:#fff;font:inherit;font-size:15px}
/* キーボードで入力欄を移動したとき、いまどこにいるかがはっきり分かるようにする。
   薄い影だけだと見落とすので、輪郭線も一緒に出す */
.cf7box .wpcf7-form-control:focus{outline:0;border-color:var(--lime);box-shadow:0 0 0 4px rgba(124,180,84,.18)}
.cf7box .wpcf7-form-control:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-color:var(--lime)}
.cf7box textarea.wpcf7-form-control{min-height:150px}
.cf7box .wpcf7-list-item{margin:0 14px 0 0}
.cf7box .wpcf7-not-valid-tip{color:#C0392B;font-size:12.5px;font-weight:700;margin-top:5px}
.cf7box .wpcf7-response-output{border:2px solid #E3DCC4 !important;border-radius:12px;
  padding:12px 16px !important;margin:16px 0 0 !important;font-size:14px}
.cf7box .wpcf7-spinner{margin-left:10px}

/* ---- 物件が1件も無いときの案内 ---- */
.emptybox{grid-column:1/-1;text-align:center;color:var(--muted);padding:34px 0;font-weight:700;font-size:14px}
