/* 流年運勢整合前台樣式 */
.lh-app { max-width: 960px; margin: 0 auto; font-size: 15px; line-height: 1.7; color: #333; }
.lh-title { font-size: 1.3em; margin: 1.2em 0 .5em; color: #7f1d1d; }
.lh-card-title { font-size: 1.05em; margin: 1em 0 .4em; color: #7f1d1d; }
.lh-dim { color: #888; }
.lh-note, .lh-disclaimer { color: #888; font-size: .85em; margin-top: 1.2em; }
.lh-loading { color: #888; }
.lh-error { color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; padding: .5em .8em; border-radius: 6px; }

/* 表單 */
.lh-form { background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; padding: 1em 1.2em; }
.lh-form-row { display: flex; flex-wrap: wrap; gap: .8em 1.2em; align-items: flex-end; margin-bottom: .6em; }
.lh-form label { display: flex; flex-direction: column; font-size: .85em; color: #92400e; gap: .2em; }
.lh-form input, .lh-form select { font-size: 1rem; padding: .35em .5em; border: 1px solid #d6bb72; border-radius: 6px; background: #fff; }
.lh-btn { background: #b45309; color: #fff; border: 0; border-radius: 8px; padding: .55em 1.6em; font-size: 1rem; cursor: pointer; }
.lh-btn:hover { background: #92400e; }
.lh-btn:disabled { opacity: .6; cursor: wait; }
.lh-mini-btn { background: #fff; border: 1px solid #d6bb72; border-radius: 6px; padding: .25em .8em; cursor: pointer; font-size: .85em; color: #92400e; }
.lh-mini-btn:hover { background: #fffbeb; }

/* 綜合摘要 */
.lh-summary { background: linear-gradient(135deg, #7f1d1d, #9a3412); color: #fff; border-radius: 12px; padding: 1em 1.4em 1.2em; margin-top: 1.2em; }
.lh-summary .lh-title { color: #fde68a; margin: .2em 0 .6em; }
.lh-lamp-row { display: flex; flex-wrap: wrap; gap: .6em; margin-bottom: .6em; }
.lh-lamp { border-radius: 999px; padding: .2em .9em; font-size: .9em; background: rgba(255,255,255,.15); }
.lh-lamp-good { background: #15803d; }
.lh-lamp-mid { background: #a16207; }
.lh-lamp-bad { background: #b91c1c; }
.lh-lamp-none { background: rgba(255,255,255,.12); color: #eee; }
.lh-summary-text { margin: 0; color: #fff7ed; }

/* 年份切換 */
.lh-year-switch { display: flex; flex-wrap: wrap; gap: .4em; margin: .9em 0; }
.lh-year-btn { background: #fff; border: 1px solid #d6bb72; border-radius: 999px; padding: .25em .9em; cursor: pointer; font-size: .85em; }
.lh-year-btn.lh-active { background: #b45309; border-color: #b45309; color: #fff; }

/* 三體系卡 */
.lh-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1em; }
.lh-card { background: #fff; border: 1px solid #eee2c5; border-radius: 10px; padding: .9em 1.1em; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
.lh-card-intro { color: #888; font-size: .85em; }
.lh-line { margin: .3em 0; }
.lh-score-line { display: flex; align-items: center; gap: .6em; flex-wrap: wrap; margin: .4em 0; }
.lh-badge { border-radius: 6px; padding: .1em .6em; font-size: .85em; color: #fff; white-space: nowrap; }
.lh-s-good { background: #15803d; }
.lh-s-mid { background: #a16207; }
.lh-s-bad { background: #b91c1c; }
.lh-notes { display: flex; flex-wrap: wrap; gap: .4em; margin: .3em 0; }
.lh-tag { background: #fef3c7; border: 1px solid #fde68a; color: #92400e; border-radius: 6px; padding: 0 .5em; font-size: .82em; }
.lh-note-text { color: #666; font-size: .85em; margin: .2em 0; }
.lh-ziwei-text { background: #faf5ff; border-left: 3px solid #a78bfa; padding: .4em .8em; border-radius: 0 6px 6px 0; }
.lh-tieban-list { margin: .4em 0; }
.lh-tieban-row { display: flex; gap: .8em; padding: .3em 0; border-bottom: 1px dashed #eee; }
.lh-tieban-row.lh-active { background: #fffbeb; }
.lh-tieban-age { flex: 0 0 8.5em; color: #92400e; }
.lh-tieban-text { flex: 1; }

/* 下鑽 */
.lh-table-wrap { overflow-x: auto; }
.lh-month-table, .lh-hour-table { width: 100%; border-collapse: collapse; font-size: .92em; }
.lh-month-table th, .lh-month-table td, .lh-hour-table td { padding: .35em .6em; border-bottom: 1px solid #f0e6cc; text-align: left; white-space: nowrap; }
.lh-month-table th { color: #92400e; background: #fffbeb; }

/* 流日日曆 */
.lh-cal-head { display: flex; align-items: center; gap: 1em; margin: 1em 0 .4em; }
.lh-cal-title { font-weight: bold; color: #7f1d1d; }
.lh-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.lh-cal-w { text-align: center; color: #92400e; font-size: .8em; padding: .2em 0; }
.lh-cal-cell { border-radius: 6px; padding: .3em .2em .4em; text-align: center; cursor: pointer; min-height: 3.6em; color: #fff; position: relative; }
.lh-cal-cell.lh-cal-empty { background: transparent; cursor: default; }
.lh-cal-cell.lh-s-good { background: #4d9e6a; }
.lh-cal-cell.lh-s-mid { background: #c1a04c; }
.lh-cal-cell.lh-s-bad { background: #c96a5f; }
.lh-cal-cell:hover:not(.lh-cal-empty) { outline: 2px solid #7f1d1d; }
.lh-cal-daynum { font-weight: bold; font-size: .95em; }
.lh-cal-gz { font-size: .72em; opacity: .95; }
.lh-cal-marks { font-size: .7em; background: rgba(0,0,0,.25); border-radius: 4px; display: inline-block; padding: 0 .3em; margin-top: .15em; }
.lh-cal-legend { font-size: .8em; margin: .5em 0 1em; }

/* 紫微下鑽 */
.lh-zw-line { margin: .3em 0; }
.lh-zw-line .lh-ziwei-text { margin: .3em 0; }
.lh-clickable { cursor: pointer; }
.lh-clickable:hover td { background: #faf5ff; }

/* 提醒 */
.lh-alert-row { display: flex; gap: .7em; padding: .5em .7em; border-radius: 8px; margin-bottom: .4em; background: #fafafa; border-left: 4px solid #ccc; }
.lh-alert-level { flex: 0 0 2.6em; text-align: center; font-size: .85em; align-self: flex-start; border-radius: 6px; padding: .05em 0; color: #fff; background: #999; }
.lh-al-bad { border-left-color: #b91c1c; }
.lh-al-bad .lh-alert-level { background: #b91c1c; }
.lh-al-good { border-left-color: #15803d; }
.lh-al-good .lh-alert-level { background: #15803d; }
.lh-al-warn { border-left-color: #a16207; }
.lh-al-warn .lh-alert-level { background: #a16207; }
.lh-al-jieqi { border-left-color: #0e7490; }
.lh-al-jieqi .lh-alert-level { background: #0e7490; }
.lh-al-yun { border-left-color: #6d28d9; }
.lh-al-yun .lh-alert-level { background: #6d28d9; }
.lh-alert-title { font-weight: bold; font-size: .95em; }
.lh-alert-text { color: #666; font-size: .85em; }

/* 驗盤問事三步流程 */
.lh-ws-steps { display: flex; gap: .6em; margin-bottom: 1em; }
.lh-ws-step-dot { border-radius: 999px; padding: .25em 1em; font-size: .85em; background: #f3f4f6; color: #999; }
.lh-ws-step-dot.lh-active { background: #7f1d1d; color: #fde68a; }
.lh-ws-aspects { align-items: center; }
.lh-ws-legend { font-size: .85em; color: #92400e; }
.lh-ws-aspect { flex-direction: row !important; align-items: center; gap: .3em !important; background: #fff; border: 1px solid #d6bb72; border-radius: 999px; padding: .25em .8em !important; cursor: pointer; }
.lh-ws-aspect:has(input:checked) { background: #b45309; border-color: #b45309; color: #fff; }
.lh-ws-claim { background: #fff; border: 1px solid #eee2c5; border-left: 4px solid #b45309; border-radius: 10px; padding: .8em 1em; margin-bottom: .8em; }
.lh-ws-claim-text { margin: .4em 0; }
.lh-ws-verdicts { display: flex; gap: 1.2em; }
.lh-ws-verdict { cursor: pointer; color: #92400e; }
.lh-ws-note-label { display: block; font-size: .85em; color: #92400e; margin: 1em 0 .3em; }
.lh-ws-note { width: 100%; border: 1px solid #d6bb72; border-radius: 8px; padding: .5em .8em; font-size: 1rem; }
.lh-ws-btnrow { display: flex; gap: .8em; align-items: center; margin-top: 1em; }
.lh-ws-hub-link { display: inline-block; margin-top: 1em; text-decoration: none; text-align: center; }

@media (max-width: 640px) {
	.lh-cards { grid-template-columns: 1fr; }
	.lh-tieban-age { flex-basis: 6.5em; }
}
