/* 八字合婚：欄位與結果排版；共用元件沿用 site.css */
#bm-form [hidden] { display: none !important; }
.bm-fun { background: #fffbeb; border-left: 4px solid #d97706; padding: 10px 14px; border-radius: 6px; font-size: 1rem; }
.bm-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.bm-columns > * { min-width: 0; }
.bm-person { border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
.bm-person legend { font-weight: 700; }
.bm-ymd { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 0 8px; }
.bm-hm { display: grid; grid-template-columns: 1fr 1fr; gap: 0 8px; }
.bm-ymd > *, .bm-hm > * { min-width: 0; }
#bm-pillars td, .bm-count td { text-align: center; }
.bm-big { font-size: 1.5rem; font-weight: 600; }
.bm-item { margin-top: 22px; }
.bm-vals { font-weight: 600; margin: .4rem 0; }
.bm-table td, .bm-table th { vertical-align: top; }
.bm-yes { font-weight: 700; color: var(--brand-dark); white-space: nowrap; }
.bm-no { color: var(--muted); white-space: nowrap; }
.bm-lines { padding-left: 1.3em; }
.bm-end { padding: 12px; border-left: 4px solid var(--brand-dark); background: var(--soft); }
@media (max-width: 760px) { .bm-columns { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .bm-big { font-size: 1.25rem; } }
#bm-summary { word-break: keep-all; }
