/* --- 八字排盤外掛主容器 --- */
.bazi-calculator-wrapper {
    max-width: 1600px;
    margin: 20px auto;
    background-color: #fff;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    font-size: 16px; /* --- 修改點 --- */ /* 這是很好的基礎字體大小，保持不變 */
    font-family: "Microsoft JhengHei", "微軟正黑體", Arial, sans-serif;
    /* line-height: 1.8; */ /* --- 修改點 --- */ /* 移除全域行高，改為針對性設定 */
    color: #333;
}
.bazi-calculator-wrapper td, 
.bazi-calculator-wrapper th { font-size: 14px; font-family: inherit; }
.bazi-calculator-wrapper h1 { text-align: center; color: #1a5276; font-size: 32px; margin-top: 25px; margin-bottom: 25px; text-shadow: 1px 1px 2px rgba(0,0,0,0.1); }
.bazi-calculator-wrapper .error { color: #dc3545; font-weight: bold; background-color: #f8d7da; border: 1px solid #f5c6cb; padding: 10px; border-radius: 4px; margin: 20px 0; }

/* --- 表單區塊 --- */
.bazi-calculator-wrapper .form-section { margin-bottom: 30px; border: 1px solid #ddd; padding: 20px 25px; border-radius: 5px; background-color: #fafafa; }
.bazi-calculator-wrapper .form-submit-row { text-align: center; padding-top: 20px; }
.bazi-calculator-wrapper .form-submit-row input[type="submit"] { padding: 12px 30px; background-color: #008CBA; color: white; border-radius: 8px; transition: background-color 0.3s ease; font-size: 16px; box-shadow: 2px 2px 5px rgba(0,0,0,0.2); text-decoration: none; border: none; cursor: pointer; }
.bazi-calculator-wrapper .form-submit-row input[type="submit"]:hover { background-color: #007bb5; }

/* --- 結果樣式 --- */
.bazi-calculator-wrapper .results-wrapper { margin-top: 30px; }
.bazi-calculator-wrapper .result-section { margin-bottom: 25px; border: 1px solid #ddd; padding: 20px; border-radius: 5px; background-color: #f9f9f9; }
.bazi-calculator-wrapper .result-title { font-weight: bold; font-size: 1.3em; margin-bottom: 15px; color: #336699; border-bottom: 2px solid #336699; padding-bottom: 5px; text-align: center; }
.bazi-calculator-wrapper .info-label { font-weight: bold; color: #666; min-width: 80px; display: inline-block; }
.bazi-calculator-wrapper .info-value { color: #333; }
.bazi-calculator-wrapper .bazi-string { font-family: 'Courier New', Courier, monospace; font-size: 1.2em; color: #0056b3; font-weight: bold; }
.bazi-calculator-wrapper .charts-container, .bazi-calculator-wrapper .analysis-container { display: flex; flex-wrap: wrap; gap: 25px; }
.bazi-calculator-wrapper .charts-container > .result-section, .bazi-calculator-wrapper .analysis-container > .result-section { flex: 1; min-width: 48%; box-sizing: border-box; }
.bazi-calculator-wrapper .bazi-table { width: 100%; border-collapse: collapse; margin-top: 15px; text-align: center; font-size: 13px; }
.bazi-calculator-wrapper .bazi-table th, .bazi-calculator-wrapper .bazi-table td { border: 1px solid #ccc; padding: 6px 4px; }
.bazi-calculator-wrapper .bazi-table thead th { background-color: #e9ecef; font-weight: bold; color: #495057; }
.bazi-calculator-wrapper .bazi-table .row-header { background-color: #e9ecef; font-weight: bold; white-space: nowrap; }
.bazi-calculator-wrapper .bazi-table tbody td { background-color: #fff; }
.bazi-calculator-wrapper .bazi-table .gan, .bazi-calculator-wrapper .bazi-table .zhi { font-size: 1.1em; font-weight: bold; }
.bazi-calculator-wrapper .bazi-table .ten_god, .bazi-calculator-wrapper .bazi-table .secondary_star { color: #8B4513; }
.bazi-calculator-wrapper .bazi-table .day-master { color: #dc3545; font-weight: bold; }
.bazi-calculator-wrapper .bazi-extra-info { margin-top: 15px; padding: 10px; background: #f8f9fa; border-radius: 4px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }

/* --- 深度解析文章區塊 (桌機與手機通用) --- */
.bazi-calculator-wrapper .day-pillar-analysis-male { background-color: #fff; border-left: 5px solid #3498db; padding: 20px; }
.bazi-calculator-wrapper .day-pillar-analysis-male h1, .bazi-calculator-wrapper .day-pillar-analysis-male h2, .bazi-calculator-wrapper .day-pillar-analysis-male h3 { color: #2980b9; border-bottom: 1px solid #d6eaf8; padding-bottom: 8px; margin-top: 20px; }
.bazi-calculator-wrapper .day-pillar-analysis-female { background-color: #fff; border-left: 5px solid #e83e8c; padding: 20px; }
.bazi-calculator-wrapper .day-pillar-analysis-female h1, .bazi-calculator-wrapper .day-pillar-analysis-female h2, .bazi-calculator-wrapper .day-pillar-analysis-female h3 { color: #c2185b; border-bottom: 1px solid #f8d7da; padding-bottom: 8px; margin-top: 20px; }

/* --- 修改點 --- */ /* 我們將 p 標籤的設定獨立出來，以進行精細控制 */
.bazi-calculator-wrapper .day-pillar-analysis-male p, .bazi-calculator-wrapper .day-pillar-analysis-female p {
    /* font-size: 15px; */ /* 移除這裡的設定，讓它繼承 .bazi-calculator-wrapper 的 16px */
    text-align: justify;
}

.bazi-calculator-wrapper .day-pillar-analysis-male hr, .bazi-calculator-wrapper .day-pillar-analysis-female hr { border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(165, 105, 189, 0.75), rgba(0, 0, 0, 0)); margin: 30px 0; }


/* ========================================================= */
/* --- 新增點 START: 閱讀體驗優化 --- */
/* ========================================================= */

/* --- 桌機版：設定文章最大寬度與舒適行高 --- */
.bazi-calculator-wrapper .day-pillar-analysis-male,
.bazi-calculator-wrapper .day-pillar-analysis-female {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}
.bazi-calculator-wrapper .day-pillar-analysis-male p,
.bazi-calculator-wrapper .day-pillar-analysis-female p,
.bazi-calculator-wrapper .day-pillar-analysis-male ul,
.bazi-calculator-wrapper .day-pillar-analysis-female ul {
    line-height: 1.7; /* 桌機版的專業行高 */
}

/* --- 新增點 END: 閱讀體驗優化 --- */
/* ========================================================= */


/* ========================================================= */
/* --- START: 全新兩欄式表單樣式 (請確保這段存在) --- */
/* ========================================================= */

.bazi-calculator-wrapper .form-columns-container { display: flex; flex-wrap: wrap; gap: 25px; margin-bottom: 25px; }
.bazi-calculator-wrapper .form-column { flex: 1; min-width: 300px; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.bazi-calculator-wrapper .form-column-title { margin-top: 0; margin-bottom: 20px; padding-bottom: 10px; font-size: 1.4em; text-align: center; }
.bazi-calculator-wrapper .form-group { margin-bottom: 15px; }
.bazi-calculator-wrapper .form-group label { display: block; margin-bottom: 8px; font-weight: bold; color: #555; }
.bazi-calculator-wrapper .form-column input[type="text"],
.bazi-calculator-wrapper .form-column select { margin-bottom: 5px; margin-right: 5px; padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
.bazi-calculator-wrapper .form-column input[type="text"] { width: calc(100% - 20px); }
.bazi-calculator-wrapper .form-column-male { background-color: #eaf5ff; border-left: 5px solid #3498db; }
.bazi-calculator-wrapper .form-column-male .form-column-title { color: #2980b9; border-bottom: 1px solid #cce4f7; }
.bazi-calculator-wrapper .form-column-female { background-color: #fff0f5; border-left: 5px solid #e83e8c; }
.bazi-calculator-wrapper .form-column-female .form-column-title { color: #c2185b; border-bottom: 1px solid #f8d7da; }
.bazi-calculator-wrapper .form-table { display: none; }


@media (max-width: 992px) {
    /* --- 1. 原有的閱讀體驗優化 --- */
    .bazi-calculator-wrapper {
        padding: 15px;
    }
    .bazi-calculator-wrapper .day-pillar-analysis-male p,
    .bazi-calculator-wrapper .day-pillar-analysis-female p,
    .bazi-calculator-wrapper .day-pillar-analysis-male ul,
    .bazi-calculator-wrapper .day-pillar-analysis-female ul {
        line-height: 1.8; 
    }

    /* --- 2. 原有的容器垂直排列 --- */
    .bazi-calculator-wrapper .charts-container, 
    .bazi-calculator-wrapper .analysis-container { 
        flex-direction: column; 
    }
    .bazi-calculator-wrapper .charts-container > .result-section, 
    .bazi-calculator-wrapper .analysis-container > .result-section { 
        min-width: 100%; 
    }
    .bazi-calculator-wrapper .bazi-extra-info { 
        grid-template-columns: 1fr; 
    }

    /* --- 3. 💡 新增：行動版按鈕統一變二排 (2x2) --- */
    .bazi-action-bar {
        display: flex !important;
        flex-wrap: wrap !important; /* 允許換行 */
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        margin: 15px 0 !important;
    }

    .bazi-action-btn {
        flex: 0 0 50% !important;   /* 強制寬度佔一半 */
        max-width: 50% !important;
        box-sizing: border-box !important;
        border-right: 1px solid #eee !important;
        border-bottom: 1px solid #eee !important;
        font-size: 14px !important;
        padding: 12px 5px !important;
        text-align: center !important;
        white-space: nowrap !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        border-radius: 0 !important;
    }

    /* 清除多餘格線：偶數個去右線，後兩個去底線 */
    .bazi-action-btn:nth-child(2n) { border-right: none !important; }
    .bazi-action-btn:nth-child(3), 
    .bazi-action-btn:nth-child(4) { border-bottom: none !important; }
}

接下來的關鍵動作：

/* ========================================================= */
/* --- START: 報告頁面內的下載按鈕樣式 --- */
/* ========================================================= */
.bazi-calculator-wrapper .report-download-btn-container { text-align: center; margin: 30px 0; padding: 20px; background-color: #f0f8ff; border: 1px dashed #aed6f1; border-radius: 8px; }
.bazi-calculator-wrapper .report-download-button { display: inline-block; padding: 15px 30px; background-color: #28a745; color: white; font-size: 18px; font-weight: bold; text-decoration: none; border-radius: 5px; transition: background-color 0.3s ease, transform 0.2s ease; box-shadow: 0 4px 6px rgba(0,0,0,0.15); }
.bazi-calculator-wrapper .report-download-button:hover { background-color: #218838; transform: translateY(-2px); }
.bazi-calculator-wrapper .report-download-tip { font-size: 14px; color: #666; margin-top: 10px; }

/* ========================================================= */
/* --- START: LINE@ 提取碼提示區塊樣式 --- */
/* ========================================================= */

.bazi-calculator-wrapper .bazi-final-notice { text-align: center; padding: 30px 25px; background-color: #fdfdfd; border: 1px solid #ddd; border-radius: 8px; margin-top: 20px; }
.bazi-calculator-wrapper .bazi-final-notice h2 { color: #1a5276; font-size: 28px; margin-top: 0; margin-bottom: 15px; }
.bazi-calculator-wrapper .bazi-final-notice p { font-size: 16px; color: #555; line-height: 1.9; max-width: 500px; margin: 15px auto; }
.bazi-calculator-wrapper .bazi-final-notice .line-qr-code { margin: 25px auto; padding: 15px; background-color: #fff; border: 1px solid #eee; display: inline-block; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.bazi-calculator-wrapper .bazi-final-notice .line-qr-code img { max-width: 180px; height: auto; display: block; }
.bazi-calculator-wrapper .bazi-final-notice .line-qr-code p { font-size: 13px; color: #888; margin: 10px 0 0 0; }
.bazi-calculator-wrapper .bazi-final-notice .extraction-code-box { font-size: 28px; font-weight: bold; font-family: 'Courier New', Courier, monospace; color: #008CBA; background-color: #eaf5ff; padding: 15px 30px; border: 2px dashed #008CBA; border-radius: 8px; margin: 15px auto; display: inline-block; letter-spacing: 3px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.bazi-calculator-wrapper .bazi-final-notice .small-text { font-size: 14px; color: #777; margin-top: 20px; }

/* ========================================================= */
/* --- START: 綜合婚配分析區塊樣式 (v2.0 新增) --- */
/* ========================================================= */

.bazi-calculator-wrapper .combined-analysis-section { 
    background-color: #fff; 
    border: 1px solid #a569bd; 
    border-radius: 8px; 
    padding: 25px; 
    margin-top: 30px; 
    margin-bottom: 25px;
}
.bazi-calculator-wrapper .combined-analysis-title { 
    font-size: 2em; 
    text-align: center; 
    color: #8e44ad; 
    margin-bottom: 25px; 
    padding-bottom: 10px; 
    border-bottom: 2px solid #d7bde2; 
}
.bazi-calculator-wrapper .analysis-subsection { 
    margin-bottom: 30px; 
}
.bazi-calculator-wrapper .analysis-subtitle { 
    font-size: 1.5em; 
    color: #9b59b6; 
    margin-bottom: 15px; 
    padding-left: 10px; 
    border-left: 4px solid #9b59b6; 
}
.bazi-calculator-wrapper .analysis-table { 
    width: 100%; 
    border-collapse: collapse; 
}
.bazi-calculator-wrapper .analysis-table th, 
.bazi-calculator-wrapper .analysis-table td { 
    border: 1px solid #e8daef; 
    padding: 10px; 
    text-align: center; 
}
.bazi-calculator-wrapper .analysis-table th { 
    background-color: #f5eef8; 
    font-weight: bold; 
}
.bazi-calculator-wrapper .analysis-table .item-col { 
    text-align: left; 
    font-weight: bold; 
    width: 25%; 
}
.bazi-calculator-wrapper .bazhai-conclusion { 
    text-align: center; 
    font-size: 1.4em; 
    font-weight: bold; 
    color: #ffffff; 
    background-color: #8e44ad; 
    padding: 12px; 
    border-radius: 5px; 
    margin-top: 15px; 
}
.bazi-calculator-wrapper .shensha-list { 
    list-style-type: none; 
    padding: 0; 
}
.bazi-calculator-wrapper .shensha-list li { 
    background-color: #fdf2e9; 
    border: 1px solid #f5cba7; 
    color: #af601a; 
    padding: 8px 12px; 
    margin-bottom: 6px; 
    border-radius: 4px; 
    display: inline-block; 
    margin-right: 8px; 
}
.bazi-calculator-wrapper .shensha-list .none { 
    background-color: #f2f3f4; 
    border-color: #dadddb; 
    color: #7f8c8d; 
}
.bazi-calculator-wrapper .shensha-container { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 20px; 
}
.bazi-calculator-wrapper .shensha-box { 
    border: 1px solid #e8daef; 
    padding: 15px; 
    border-radius: 5px; 
}
.bazi-calculator-wrapper .shensha-box h4 { 
    margin: 0 0 10px 0; 
    color: #9b59b6; 
    font-size: 1.1em; 
}

/* --- RWD for new section --- */
@media (max-width: 992px) {
    .bazi-calculator-wrapper .shensha-container { 
        grid-template-columns: 1fr; 
    }
}


/* =================================================================== */
/* 【新增】倒數計時按鈕的專屬樣式                                        */
/* =================================================================== */

/* 按鈕的基礎樣式 */
.reveal-button {
    font-size: 18px;          /* 增大字體大小 */
    font-weight: bold;        /* 字體加粗 */
    padding: 15px 30px;       /* 增加按鈕的內部間距 (上下15px, 左右30px) */
    border-radius: 8px;       /* 讓按鈕邊角更圓潤 */
    border: 1px solid #ccc;   /* 邊框樣式 */
    cursor: pointer;          /* 滑鼠移上去時顯示為手形指標 */
    transition: all 0.3s ease; /* 讓所有變化 (例如背景色) 有 0.3 秒的平滑過渡動畫 */
    background-color: #f0f0f0; /* 預設背景色 */
    color: #555;               /* 預設文字顏色 */
}

/* 按鈕在「可點擊」狀態下的樣式 */
.reveal-button:not(:disabled) {
    background-color: #0073aa; /* WordPress 經典藍色 */
    color: #fff;               /* 文字變為白色 */
    border-color: #006799;    /* 邊框顏色加深 */
}

/* 滑鼠懸停在「可點擊」按鈕上時的樣式 */
.reveal-button:not(:disabled):hover {
    background-color: #005a87; /* 滑鼠移上去時，背景色再加深一點 */
    transform: translateY(-2px); /* 讓按鈕輕微向上浮動，增加立體感 */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* 增加陰影 */
}

/* 按鈕在「無法點擊」(disabled) 狀態下的樣式 */
.reveal-button:disabled {
    background-color: #e9e9e9; /* 背景變為更淺的灰色 */
    color: #999;               /* 文字顏色變淡 */
    cursor: not-allowed;      /* 滑鼠移上去時顯示為「禁止」圖示 */
}

/* ========================================================= */
/* --- START: 新增！生日輸入水平排列樣式 (最終相容版) --- */
/* ========================================================= */
.bazi-calculator-wrapper .birthdate-inputs {
    display: flex;       /* 啟用 Flexbox 佈局，讓項目水平排列 */
    flex-wrap: wrap;     /* 在空間不足時允許換行，以適應手機版 */
    align-items: center; /* 垂直置中對齊 (讓 "年", "月" 文字和输入框對齊) */
    gap: 4px;            /* 在項目之間增加一點點間隙 */
}

.bazi-calculator-wrapper .birthdate-inputs select {
    /* --- 修改點 --- */
    /* 將 flex 縮寫拆成三個獨立的完整屬性 */
    flex-grow: 1;        /* 放大比例: 1 */
    flex-shrink: 1;      /* 縮小比例: 1 */
    flex-basis: 0%;      /* 基準寬度: 0% */
    
    min-width: 60px;     /* 設定一個最小寬度，避免在手機上被過度壓縮 */
    margin-bottom: 0;    /* 移除原本的下邊距，因為現在是水平排列 */
}

/* 針對 "年" 輸入框給予稍大的權重 */
.bazi-calculator-wrapper .birthdate-inputs select[name="year"],
.bazi-calculator-wrapper .birthdate-inputs select[name="year_a"] {
    /* --- 修改點 --- */
    /* 同樣將 flex 縮寫拆開，並指定放大比例為 1.5 */
    flex-grow: 2;        /* 放大比例: 2 */
    flex-shrink: 1;      /* 縮小比例: 1 */
    flex-basis: 0%;      /* 基準寬度: 0% */
}

/* ========================================================= */
/* --- END: 新增！生日輸入水平排列樣式 --- */
/* ========================================================= */

/* ========================================================= */
/* --- 定洋堂高頻運算儀表板 (Configurable Version) --- */
/* ========================================================= */

#bazi-process-bar {
    position: relative;
    width: 100%;
    max-width: 720px; /* 稍微加寬以容納長文案 */
    margin: 30px auto;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-top: 4px solid #d4af37; /* 品牌金 */
    border-radius: 8px;
    padding: 30px 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    font-family: "Microsoft JhengHei", sans-serif;
    text-align: center;
    box-sizing: border-box;
    display: none;
}

/* --- 動態數據區 --- */
.bazi-data-row {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #eee; /* 分隔線 */
}

.bazi-data-item { text-align: center; }

.bazi-data-label {
    font-size: 13px; color: #999; margin-bottom: 5px; letter-spacing: 1px; text-transform: uppercase;
}

/* 數字跳動樣式 */
.bazi-data-value {
    font-family: "Consolas", "Monaco", monospace;
    font-size: 36px;
    font-weight: bold;
    color: #1a5276;
    line-height: 1;
}
#bazi-counter-val { color: #d4af37; } /* 金色 */

/* --- 進度條 --- */
.bazi-progress-track {
    width: 100%; height: 8px; background: #f0f0f0;
    border-radius: 4px; overflow: hidden; margin: 20px 0;
}
.bazi-progress-fill {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, #d4af37, #f3e5ab);
    transition: width 0.1s linear;
}

/* --- 雙行狀態文字區 --- */
.bazi-status-container {
    margin-top: 20px;
    min-height: 80px; /* 固定高度，防止文字換行時版面跳動 */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 第一行：硬技術 (黑/藍，穩定) */
.bazi-msg-main {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin-bottom: 8px;
    transition: opacity 0.3s;
}

/* 第二行：軟行銷 (金/灰，行銷金句) */
.bazi-msg-sub {
    font-size: 22px;
    color: #666;
    font-weight: normal;
    line-height: 1.5;
    background-color: #fafafa; /* 輕微底色凸顯 */
    padding: 5px 10px;
    border-radius: 20px;
    display: inline-block;
    margin: 0 auto;
    border: 1px solid #f0f0f0;
}

/* --- 💡 小圖示 --- */
.bazi-tip-icon { color: #d4af37; margin-right: 6px; }

/* --- 完成後的按鈕區 --- */
.bazi-result-action { margin-top: 25px; display: none; }

.bazi-open-btn {
    padding: 15px 50px;
    background-color: #28a745; color: white;
    font-size: 18px; font-weight: bold;
    border: none; border-radius: 5px; cursor: pointer;
    box-shadow: 0 4px 10px rgba(40, 167, 69, 0.3);
    transition: all 0.2s;
    animation: btn-pulse 2s infinite;
}
.bazi-open-btn:hover { background-color: #218838; transform: translateY(-2px); }

@keyframes btn-pulse {
    0% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(40, 167, 69, 0); }
    100% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0); }
}

/* --- 手機版微調 --- */
@media screen and (max-width: 767px) {
    #bazi-process-bar { padding: 20px 15px; }
    .bazi-data-value { font-size: 26px; }
    .bazi-msg-main { font-size: 18px; }
    .bazi-msg-sub { font-size: 13px; text-align: left; display: block; border-radius: 8px;}
    .bazi-status-container { min-height: 100px; }
}


}