*{box-sizing:border-box}
body{font-family:Inter,'DM Sans',sans-serif;color:#1a1615;background:#FFFFFF;padding-top:80px}
/* BREADCRUMB */
.breadcrumb{padding:18px 48px;display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#5A5E7A;border-bottom:1px solid rgba(26,26,26,0.2);overflow:hidden}
.breadcrumb a{color:#1a1a1a;text-decoration:none}.breadcrumb a:hover{color:#1a1a1a}
.bc-sep{color:#1a1a1a}
/* GALLERY */
.gallery{display:grid;grid-template-columns:1fr 340px;grid-template-rows:360px 220px;gap:4px}
.gallery-main{grid-row:1/3;position:relative;overflow:hidden;cursor:pointer}
.gallery-main img,.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.gallery-main:hover img,.gallery-thumb:hover img{transform:scale(1.03)}
.gallery-thumb{position:relative;overflow:hidden;cursor:pointer}.gallery-thumb--empty{background:#f0ede8;cursor:default;display:flex;align-items:center;justify-content:center}
.gallery-count{position:absolute;bottom:16px;right:16px;background:rgba(26,22,21,0.82);color:#FFF;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;padding:8px 14px;border-radius:2px;backdrop-filter:blur(4px);cursor:pointer}
.gal-badges{position:absolute;top:20px;left:20px;display:flex;gap:8px}
.badge{padding:6px 14px;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;font-weight:700;border-radius:2px}
.b-off{background:#1a1a1a;color:#1a1615}.b-buy{background:#1a1615;color:#FFF}.b-rent{background:#1a1a1a;color:#FFF}
.b-illust{background:#fdf3ea;color:#7a4a1e;border:1px solid #e8c99a;cursor:help}
/* LAYOUT */
.pd-wrap{display:grid;grid-template-columns:1fr 380px;align-items:start}
.pd-main{padding:48px 56px 80px 48px;border-right:1px solid rgba(26,26,26,0.25)}
.pd-side{padding:40px 36px 80px;position:sticky;top:80px}
/* MAIN CONTENT */
.pd-eyebrow{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:#1a1a1a;margin-bottom:12px;font-weight:600}
.pd-h1{font-family: Inter, "DM Sans", sans-serif;font-size:clamp(36px,3.5vw,52px);font-weight:300;line-height:1;color:#1a1615;margin-bottom:8px}
.pd-h1 em{font-style:italic;color:#1a1a1a}
.pd-loc{font-size:13px;color:#5A5E7A;margin-bottom:32px;display:flex;align-items:center;gap:6px}
.pd-loc::before{content:'↗';color:#1a1a1a}
/* STATS ROW */
.pd-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(0,0,0,0.15);border-top:3px solid #1a1a1a;margin-bottom:44px}
.pd-stat{padding:18px 12px;text-align:center;border-right:1px solid rgba(26,26,26,0.2)}
.pd-stat:last-child{border-right:none}
.pd-stat-n{font-family:Inter,'DM Sans',sans-serif;font-size:26px;font-weight:300;color:#1a1615;line-height:1}
.pd-stat-l{font-size:9px;letter-spacing:0.15em;text-transform:uppercase;color:#5A5E7A;margin-top:4px}
/* SECTION HEADINGS */
.pd-sh{font-family:Inter,'DM Sans',sans-serif;font-size:22px;font-weight:300;color:#1a1615;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(26,26,26,0.25)}
.pd-p{font-size:15px;line-height:1.8;color:#2A2E4A;margin-bottom:16px}
/* FEATURES */
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:44px}
.feat{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--cd-bg,#f7f5f2);border-left:2px solid #1a1a1a;font-size:13px;color:#2A2E4A}
.feat-ico{color:#1a1a1a;font-size:13px;flex-shrink:0}
/* MAP */
.map-box{height:256px;background:#f7f5f2;border:1px solid rgba(0,0,0,0.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#5A5E7A;font-size:13px;margin-bottom:20px;border-radius:2px}
/* Audit Fix 17 — OSM iframe map + similar properties */
.pd-map{margin-bottom:44px}
.pd-map-frame{width:100%;height:320px;border:1px solid rgba(0,0,0,0.15);border-radius:2px;display:block}
.pd-map-link-out{display:inline-block;margin-top:8px;font-size:12px;color:#5A5E7A;text-decoration:none}
.pd-map-link-out:hover{color:#1a1a1a;text-decoration:underline}
/* legacy class kept for older deployments where the static-image variant might still be cached */
.pd-map-link{display:block;line-height:0}
.pd-map img{width:100%;height:auto;display:block;object-fit:cover;max-height:300px}
.pd-similar{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:44px}
.sim-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,0.12);border-radius:2px;overflow:hidden;transition:transform .15s,box-shadow .15s;background:#fff}
.sim-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.sim-img{height:160px;overflow:hidden}
.sim-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sim-card:hover .sim-img img{transform:scale(1.04)}
.sim-body{padding:12px 14px}
.sim-loc{font-size:9px;letter-spacing:0.15em;text-transform:uppercase;color:#5A5E7A;margin-bottom:4px}
.sim-title{font-size:14px;color:#1a1615;margin-bottom:8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sim-price{font-size:16px;font-weight:600;color:#1a1a1a}
@media(max-width:760px){.pd-similar{grid-template-columns:1fr}}
/* SIDEBAR */
.side-price-lbl{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#5A5E7A;margin-bottom:4px}
.side-price{font-family:Inter,'DM Sans',sans-serif;font-size:46px;font-weight:300;color:#1a1615;line-height:1;margin-bottom:4px}
.side-price-note{font-size:12px;color:#5F6480;margin-bottom:28px}
.cta-primary,.cta-secondary{display:block;width:100%;padding:17px;font-family:Inter,'DM Sans',sans-serif;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;font-weight:700;text-align:center;border-radius:2px;text-decoration:none;transition:all 0.2s;cursor:pointer;margin-bottom:10px}
.cta-primary{background:#1a1a1a;color:#FFF;border:none}.cta-primary:hover{background:#142E8C;transform:translateY(-1px);box-shadow:0 8px 24px rgba(27,63,191,0.3)}
.cta-secondary{background:transparent;color:#1a1a1a;border:2px solid #1a1a1a;margin-bottom:28px}.cta-secondary:hover{background:#1a1a1a;color:#FFF}
.side-hr{border:none;border-top:1px solid rgba(26,26,26,0.25);margin-bottom:24px}
.agent{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.agent-av{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #1a1a1a}
.agent-av img{width:100%;height:100%;object-fit:cover}
.agent-n{font-family:Inter,'DM Sans',sans-serif;font-size:18px;font-weight:300;color:#1a1615}
.agent-t{font-size:11px;color:#5A5E7A}
.agent-l{font-size:10px;color:#1a1a1a;letter-spacing:0.1em;text-transform:uppercase;margin-top:3px}
.side-dets{border:1px solid rgba(26,26,26,0.2);border-top:2px solid #1a1a1a;margin-bottom:28px}
.det-row{display:flex;justify-content:space-between;padding:11px 16px;border-bottom:1px solid rgba(26,26,26,0.1);font-size:12px}
.det-row:last-child{border-bottom:none}
.det-l{color:#5A5E7A}.det-v{color:#1a1615;font-weight:500;text-align:right}
.side-note{font-size:11px;color:#5F6480;text-align:center;line-height:1.6;padding:0 4px}
/* SIMILAR */
.sim-sec{padding:64px 48px;background:var(--cd-bg,#f7f5f2);border-top:3px solid #1a1a1a}
.sim-eye{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:#1a1a1a;margin-bottom:8px;font-weight:600}
.sim-h2{font-family: Inter, "DM Sans", sans-serif;font-size:32px;font-weight:300;color:#1a1615;margin-bottom:40px}
.sim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(26,26,26,0.2)}
.sim-card{background:#FFF;text-decoration:none;display:block;transition:transform 0.2s}
.sim-card:hover{transform:translateY(-3px)}
.sim-img{aspect-ratio:4/3;overflow:hidden}
.sim-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.sim-card:hover .sim-img img{transform:scale(1.05)}
.sim-body{padding:20px}
.sim-meta{font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:#1a1a1a;margin-bottom:6px;font-weight:600}
.sim-name{font-family:Inter,'DM Sans',sans-serif;font-size:19px;font-weight:300;color:#1a1615;margin-bottom:4px;line-height:1.2}
.sim-name em{font-style:italic}
.sim-price{font-size:13px;color:#5A5E7A}
/* LIGHTBOX */
.lb{display:none;position:fixed;inset:0;background:rgba(26,22,21,0.95);z-index:1000;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb-img{max-width:90vw;max-height:85vh;object-fit:contain}
.lb-x{position:absolute;top:24px;right:24px;color:#FFF;font-size:30px;cursor:pointer;background:none;border:none;line-height:1;opacity:0.7;transition:opacity 0.2s}
.lb-x:hover{opacity:1}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.12);border:none;color:#FFF;font-size:26px;width:52px;height:52px;border-radius:50%;cursor:pointer;transition:background 0.2s}
.lb-nav:hover{background:rgba(255,255,255,0.25)}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-ct{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.45);font-size:12px;letter-spacing:0.1em}
/* MOBILE */
@media(max-width:960px){
  .breadcrumb{padding:12px 16px;font-size:10px;flex-wrap:nowrap;gap:4px;overflow:hidden}
  .gallery{grid-template-columns:1fr;grid-template-rows:260px 160px 160px;gap:3px}
  .gallery-main{grid-row:span 1}
  .pd-wrap{grid-template-columns:1fr}
  .pd-main{padding:28px 16px 40px;border-right:none}
  .pd-side{padding:28px 16px 40px;position:static;border-top:3px solid #1a1a1a}
  .pd-stats{grid-template-columns:repeat(2,1fr)}
  .pd-stat:nth-child(2){border-right:none}
  .pd-stat:nth-child(3){border-top:1px solid rgba(26,26,26,0.2)}
  .feat-grid{grid-template-columns:1fr}
  .sim-sec{padding:44px 16px}
  .sim-grid{grid-template-columns:1fr;gap:3px}
  .side-price{font-size:38px}
  .gallery-count{font-size:10px;padding:6px 12px}
}
@media(max-width:480px){
  .gallery{grid-template-rows:220px 130px 130px}
  .pd-h1{font-size:30px}
  .pd-stats{grid-template-columns:repeat(2,1fr)}
}
.modal-overlay{position:fixed;inset:0;background:rgba(26,22,21,0.6);z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex}
.modal-box{background:#fff;width:100%;max-width:520px;border-radius:4px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,0.25)}
.modal-header{background:#e4e3e0;padding:28px 32px;display:flex;align-items:center;justify-content:space-between}
.modal-title{font-family:Inter,'DM Sans',sans-serif;font-size:22px;font-weight:300;color:#fff}
.modal-close{background:none;border:none;color:rgba(255,255,255,0.7);font-size:24px;cursor:pointer;padding:0;line-height:1}
.modal-close:hover{color:#fff}
.modal-body{padding:32px}
.modal-ref{font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:#1a1a1a;margin-bottom:20px;font-weight:600}
.modal-field{margin-bottom:18px}
.modal-label{display:block;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#5a6470;margin-bottom:6px;font-weight:600}
.modal-input,.modal-textarea{width:100%;padding:12px 14px;border:1.5px solid #f7f5f2;border-radius:4px;font-size:14px;font-family:Inter,'DM Sans',sans-serif;color:#1a1615;outline:none;transition:border 0.2s;box-sizing:border-box}
.modal-input:focus,.modal-textarea:focus{border-color:#1a1a1a}
.modal-textarea{height:100px;resize:none}
.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.modal-submit{width:100%;padding:15px;background:#1a1a1a;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;font-family:Inter,'DM Sans',sans-serif;transition:background 0.2s;margin-top:4px}
.modal-submit:hover{background:#333333}
.modal-submit:disabled{opacity:0.6;cursor:not-allowed}
.modal-note{font-size:11px;color:#9aa5b4;text-align:center;margin-top:14px;line-height:1.6}
.modal-success{text-align:center;padding:20px 0}
.modal-success-icon{font-size:48px;margin-bottom:16px}
.modal-success h3{font-family: Inter, "DM Sans", sans-serif;font-size:24px;font-weight:300;color:#1a1615;margin-bottom:8px}
.modal-success p{font-size:14px;color:#5a6470;line-height:1.7}
.loading-state{display:flex;align-items:center;justify-content:center;min-height:60vh;font-family:Inter,"DM Sans",sans-serif;font-size:15px;color:#999999;letter-spacing:0.05em}
.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;text-align:center;padding:40px}
@media(max-width:600px){.modal-row{grid-template-columns:1fr}.modal-body{padding:24px}}
/* M-9 Phase B */
.error-state-title{font-family:Inter,sans-serif;font-size:32px;color:#1a1a1a}
.error-state-back{color:#1a1a1a;font-size:13px}
.breadcrumb-back{margin-left:auto;font-size:11px;color:#1a1a1a;text-decoration:none;letter-spacing:0.1em;text-transform:uppercase;flex-shrink:0;white-space:nowrap}
.cta-fav{display:block;width:100%;padding:14px;background:transparent;border:1.5px solid #f7f5f2;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-family:Inter,sans-serif;color:#5a6470;transition:all 0.2s;margin-bottom:10px}
.agent-avatar-default{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#f7f5f2,#ddeef8)}
.m-error{color:#e05a5a;font-size:12px;margin-bottom:10px}

/* M-9 Phase B Final */
.badge.b-buy { text-transform: capitalize }
.pd-p.italic-hint { color: #6b7280; font-style: italic; font-size: 13px; margin-top: 8px }

/* A-2 — original-language badge */
.pd-lang-badge{display:inline-flex;align-items:center;gap:10px;background:#f4f1ec;border:1px solid rgba(26,26,26,0.12);border-left:3px solid #1a1a1a;padding:6px 10px 6px 12px;margin:0 0 14px;font-size:11px;letter-spacing:0.04em;color:#3a3a3a;border-radius:2px}
.pd-lang-label{font-weight:500}
.pd-lang-toggle{background:transparent;border:none;font-family:inherit;font-size:11px;color:#1a1a1a;cursor:pointer;padding:2px 6px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600}
.pd-lang-toggle:hover{text-decoration:underline}
.pd-desc-collapsed .pd-desc-body{display:none}

/* B-1 — specs table under description */
.pd-specs{width:100%;border-collapse:collapse;margin:0 0 40px;border:1px solid rgba(26,26,26,0.15);border-top:2px solid #1a1a1a}
.pd-specs th,.pd-specs td{padding:11px 16px;font-size:13px;text-align:left;border-bottom:1px solid rgba(26,26,26,0.1);vertical-align:top}
.pd-specs tr:last-child th,.pd-specs tr:last-child td{border-bottom:none}
.pd-specs th{width:38%;color:#5A5E7A;font-weight:500;letter-spacing:0.02em}
.pd-specs td{color:#1a1615;font-weight:500;text-align:right}
@media(max-width:600px){.pd-specs th,.pd-specs td{padding:9px 12px;font-size:12.5px}.pd-specs th{width:45%}}
