/* ============================================
   D.D CREST 物件詳細（脱Elementor版）
   実測値: Plus Jakarta Sans / 背景#040404 / 金#bd9769
   ============================================ */
:root {
  --ddp-bg: #040404;
  --ddp-gold: #bd9769;
  --ddp-gold-band: linear-gradient(90deg, #c9a06d, #b08d4f);
  --ddp-text: #ffffff;
  --ddp-text-sub: #d1d1d1;
  --ddp-line: rgba(189, 151, 105, .45);
}
body.single-property_list { background: var(--ddp-bg); }
.dd-property { background: var(--ddp-bg); color: var(--ddp-text); font-family: "Plus Jakarta Sans", "Hiragino Kaku Gothic ProN", sans-serif; }

/* タイトルバー（金帯） */
.dd-prop-titlebar { background: var(--ddp-gold-band); padding: 10px 24px; }
.dd-prop-titlebar h1 { color: #1a1a1a; font-size: 18px; font-weight: 600; margin: 0; max-width: 1200px; margin-inline: auto; }

/* ヒーロー画像 */
.dd-prop-hero { margin: 0; }
.dd-prop-hero img { width: 100%; height: auto; display: block; }

.dd-prop-inner { max-width: 1100px; margin: 0 auto; padding: 48px 24px 80px; }

/* 見出し */
.dd-property h2 { color: var(--ddp-text-sub); font-size: clamp(32px, 4vw, 50px); font-weight: 700; margin: 0 0 24px; }

/* 上段: CONTACT AGENT + スペック表 */
.dd-prop-top { display: grid; grid-template-columns: 300px 1fr; gap: 56px; margin-bottom: 72px; }
.dd-prop-serif { font-family: "Playfair Display", Georgia, serif; font-style: italic; color: var(--ddp-gold); font-size: 44px; line-height: 1.15; margin: 0 0 20px; }
.dd-prop-lead { font-size: 13px; color: var(--ddp-text-sub); line-height: 1.9; }

/* スペック表・価格表 */
.dd-prop-spec dl, .dd-prop-guide dl { margin: 0; }
.dd-prop-spec-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 4px; border-bottom: 1px solid var(--ddp-line); }
.dd-prop-spec-row dt { font-size: 14px; font-weight: 500; color: var(--ddp-text-sub); }
.dd-prop-spec-row dd { font-size: 14px; font-weight: 500; color: var(--ddp-text); margin: 0; text-align: right; }

/* セクション */
.dd-prop-section { margin-bottom: 72px; }
.dd-prop-text { font-size: 14px; font-weight: 500; line-height: 2.1; color: var(--ddp-text-sub); max-width: 760px; }

/* Guide + Facilities 2カラム */
.dd-prop-guide-fac { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-bottom: 56px; }
.dd-prop-fac ul { list-style: none; margin: 0; padding: 0; }
.dd-prop-fac li { padding: 6px 0 6px 22px; position: relative; font-size: 14px; color: var(--ddp-text-sub); }
.dd-prop-fac li::before { content: ""; position: absolute; left: 0; top: 13px; width: 9px; height: 9px; border-radius: 50%; background: var(--ddp-gold); }

/* ボタン */
.dd-prop-cta-wrap { text-align: center; margin: 56px 0 72px; }
.dd-prop-btn { display: inline-block; background: var(--ddp-gold); color: #fff !important; font-size: 18px; font-weight: 600; padding: 14px 40px; border-radius: 999px; text-decoration: none; transition: opacity .2s; }
.dd-prop-btn:hover { opacity: .85; }
.dd-prop-btn-sub { font-size: 14px; padding: 10px 22px; border-radius: 4px; background: #8b8b8b33; border: 1px solid var(--ddp-gold); color: var(--ddp-gold) !important; }

/* ギャラリー */
.dd-prop-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 72px; }
.dd-prop-gallery img { width: 100%; height: 220px; object-fit: cover; border-radius: 4px; display: block; }

/* LINEバナー */
.dd-prop-line { text-align: center; margin-bottom: 72px; }
.dd-prop-line img { max-width: 720px; width: 100%; height: auto; }

/* 関連物件 */
.dd-prop-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.dd-prop-card { display: block; text-decoration: none; color: var(--ddp-text); }
.dd-prop-card img { width: 100%; height: 160px; object-fit: cover; border-radius: 4px; display: block; margin-bottom: 10px; }
.dd-prop-card-title { font-size: 13px; font-weight: 600; line-height: 1.5; }
.dd-prop-card:hover .dd-prop-card-title { color: var(--ddp-gold); }

/* モバイル */
@media (max-width: 820px) {
  .dd-prop-top, .dd-prop-guide-fac { grid-template-columns: 1fr; gap: 40px; }
  .dd-prop-gallery { grid-template-columns: repeat(2, 1fr); }
  .dd-prop-gallery img { height: 150px; }
  .dd-prop-related-grid { grid-template-columns: repeat(2, 1fr); }
  .dd-prop-serif { font-size: 36px; }
  .dd-prop-inner { padding: 32px 16px 56px; }
}
