/* s29hl — 传统日历风格（仿 85415.com） */
/* 密集信息流 + 月历首屏 */

fss,acronym,time,sdu,tcenter,stysle,ssmall,areass,abbr,sadw,dfn,noscripta,ecode,is,font,tyyt,sup{display:none!important;width:0!important;height:0!important;overflow:hidden!important;line-height:0!important;font-size:0!important;margin:0!important;padding:0!important;border:0!important}

/* ===== 基础 ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:19px;-webkit-text-size-adjust:100%}
body{font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:linear-gradient(135deg,#f5f7fa 0%,#e4e8ec 100%);color:#333;line-height:1.7;min-height:100vh}
.s29{max-width:800px;margin:0 auto;padding:0 14px 50px;background:#fff;box-shadow:0 0 30px rgba(0,0,0,.08);min-height:100vh}

/* ===== 日期头部 ===== */
.s29-hd{text-align:center;padding:28px 0 18px;background:linear-gradient(135deg,#fff5f5 0%,#fff 100%);border-bottom:2px solid #f0e6e6}
.s29-hd p{font-size:1rem;color:#555;line-height:2}
.s29-hd p:first-child{font-size:1.2rem;color:#c0392b;font-weight:700;letter-spacing:1px}

/* ===== 月历 ===== */
.s29-cal{border:1px solid #e8e8e8;margin:20px 0;padding:16px;background:#fafbfc;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.s29-cal-title{text-align:center;font-size:1.1rem;font-weight:700;padding:12px 0;color:#333;border-bottom:1px solid #eee;margin-bottom:10px}
.s29-cal-title i{color:#c0392b;margin-right:6px}
.s29-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px}
.s29-cal-grid>span{padding:10px 4px;font-size:.9rem;border-radius:8px;min-height:55px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;transition:all .2s}
.s29-cal-grid>span:nth-child(1),.s29-cal-grid>span:nth-child(2),.s29-cal-grid>span:nth-child(3),.s29-cal-grid>span:nth-child(4),.s29-cal-grid>span:nth-child(5),.s29-cal-grid>span:nth-child(6),.s29-cal-grid>span:nth-child(7){background:#f0f2f5;font-weight:700;color:#666;min-height:32px;font-size:.8rem;border-radius:6px}
.s29-cal-grid>span:not(:nth-child(-n+7)):hover{background:#f8f9fa;transform:scale(1.02)}
.s29-today{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%)!important;color:#fff!important;box-shadow:0 4px 12px rgba(231,76,60,.4);border-radius:50%!important;min-height:55px!important}
.s29-today b,.s29-today i{color:#fff!important}
.s29-hd-day b{color:#c0392b;font-weight:700}
.s29-cal-grid b{font-size:1rem;display:block;font-weight:600}
.s29-cal-grid i{font-style:normal;font-size:.68rem;color:#999;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.s29-empty{background:transparent!important}
.s29-cal-nav{display:flex;justify-content:space-between;padding:14px 8px 6px;font-size:.9rem}
.s29-cal-nav a{color:#2980b9;text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;transition:all .2s}
.s29-cal-nav a:hover{background:#f0f8ff;color:#1a5276}
.s29-cal-today{font-weight:700;color:#c0392b!important}

/* ===== 节日 ===== */
.s29-jieri{text-align:center;padding:12px 0;color:#c0392b;font-size:1rem;font-weight:600;background:linear-gradient(90deg,#fff5f5 0%,#ffeaea 50%,#fff5f5 100%);border-radius:8px;margin:10px 0}
.s29-jieri i{margin-right:8px;animation:celebrate 1s infinite}
@keyframes celebrate{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}

/* ===== 宜忌 ===== */
.s29-yiji-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.s29-yi,.s29-ji{padding:18px;font-size:.9rem;line-height:1.9;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.s29-yi{background:linear-gradient(135deg,#eaf7e4 0%,#d4edda 100%);color:#2d5016;border:1px solid #c3e6cb}
.s29-ji{background:linear-gradient(135deg,#fdf0ed 0%,#f8d7da 100%);color:#721c24;border:1px solid #f5c6cb}
.s29-yi b,.s29-ji b{font-size:1.05rem;margin-right:8px;display:inline-flex;align-items:center;gap:6px}
.s29-yi b i,.s29-ji b i{font-size:1.1rem}
.s29-yi span{display:inline;margin:0 4px;padding:2px 8px;background:rgba(255,255,255,.5);border-radius:4px}
.s29-ji span{display:inline;margin:0 4px;padding:2px 8px;background:rgba(255,255,255,.5);border-radius:4px}

/* ===== 时辰横条 ===== */
.s29-shichen-strip{display:flex;align-items:center;gap:12px;padding:14px 0;margin:16px 0;border-top:2px solid #f0e6e6;border-bottom:2px solid #f0e6e6}
.s29-shichen-strip>b{font-size:.9rem;color:#555;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.s29-shichen-strip>b i{color:#c0392b}
.s29-sc-scroll{display:flex;gap:6px;overflow-x:auto;flex-wrap:wrap;padding:4px 0}
.s29-sc-scroll span{padding:5px 12px;border-radius:16px;font-size:.78rem;white-space:nowrap;background:#f5f5f5;transition:all .2s}
.s29-sc-scroll span:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(0,0,0,.1)}
.s29-sc-ji{color:#2d5016;background:#e8f5e9!important}
.s29-sc-xiong{color:#721c24;background:#fce4ec!important}
.s29-sc-cur{font-weight:700;border:2px solid #e74c3c;background:#fff!important;box-shadow:0 2px 8px rgba(231,76,60,.3)}

/* ===== 神位 ===== */
.s29-shenwei{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.s29-shenwei span{background:#fff;border-radius:10px;padding:14px 12px;font-size:.82rem;color:#555;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid #f0f0f0;transition:all .2s}
.s29-shenwei span:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.s29-shenwei span i{display:block;font-size:1.2rem;color:#c0392b;margin-bottom:6px}
.s29-shenwei em{display:block;font-style:normal;font-weight:700;font-size:.9rem;color:#c0392b;margin-top:4px}
.s29-shenwei em + em{font-size:.76rem;color:#888;font-weight:400}

/* ===== 吉神凶煞 ===== */
.s29-shensha{margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.s29-shensha div{background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid #f0f0f0}
.s29-shensha b{display:block;color:#888;font-size:.78rem;margin-bottom:8px;display:inline-flex;align-items:center;gap:6px}
.s29-shensha b i{font-size:.9rem}
.s29-shensha div:first-child{border-left:3px solid #2e7d32}
.s29-shensha div:first-child b i{color:#2e7d32}
.s29-shensha div:first-child p{color:#2e7d32}
.s29-shensha div:last-child{border-left:3px solid #c62828}
.s29-shensha div:last-child b i{color:#c62828}
.s29-shensha div:last-child p{color:#c62828}

/* ===== 额外信息 ===== */
.s29-extra{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}
.s29-extra span{background:#fff;border-radius:10px;padding:14px;font-size:.82rem;color:#555;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid #f0f0f0;display:flex;align-items:center;gap:8px}
.s29-extra b{color:#888;font-weight:500;display:flex;align-items:center;gap:6px}
.s29-extra b i{color:#c0392b}

/* ===== 节气倒计时 ===== */
.s29-jq-countdown{margin:20px 0;background:#fafbfc;border-radius:12px;padding:16px;border:1px solid #eee}
.s29-jq-countdown table{border-collapse:separate;border-spacing:0;font-size:.85rem;width:100%}
.s29-jq-countdown th{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);padding:12px 14px;text-align:left;font-weight:700;color:#555;border-bottom:2px solid #dee2e6}
.s29-jq-countdown th i{color:#c0392b;margin-right:6px}
.s29-jq-countdown td{padding:12px 14px;border-bottom:1px solid #f0f0f0;color:#555}
.s29-jq-countdown tr:hover td{background:#f8f9fa}
.s29-jq-countdown td b{color:#c0392b;font-size:1.15rem;font-weight:700}

/* ===== 节气详情 ===== */
.s29-jq-detail{margin:20px 0;background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 100%);border-radius:12px;padding:20px;border:1px solid #e8e8e8}
.s29-jq-detail h3{font-size:.95rem;color:#555;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eee;display:flex;align-items:center;gap:8px}
.s29-jq-detail h3 i{color:#c0392b;font-size:1.1rem}
.s29-jq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.s29-jq-cell{background:#fff;border-radius:10px;padding:14px;text-align:center;border:1px solid #f0f0f0;transition:all .2s}
.s29-jq-cell:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.s29-jq-cell b{display:block;font-size:.72rem;color:#888;margin-bottom:6px;display:flex;flex-direction:column;align-items:center;gap:4px}
.s29-jq-cell b i{font-size:.9rem;color:#c0392b}
.s29-jq-cell span{display:block;font-weight:600;font-size:.85rem;color:#333}
.s29-jq-cell em{display:block;font-style:normal;font-size:.7rem;color:#aaa;margin-top:4px}
.s29-jq-song{font-size:.8rem;color:#888;margin-top:14px;padding-top:12px;border-top:1px solid #eee;text-align:center;font-style:italic;background:#fff;padding:12px;border-radius:8px}

/* ===== 底部信息 ===== */
.s29-bottom-info{font-size:.82rem;color:#888;padding:14px 0;line-height:2.2;background:#fafbfc;border-radius:8px;padding:14px 16px;margin:14px 0;border:1px solid #f0f0f0}
.s29-bottom-info i{color:#c0392b;margin-right:6px}

/* ===== 黄道吉日列表 ===== */
.s29-hd-list{margin:20px 0}
.s29-hd-list h3{font-size:1rem;color:#555;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.s29-hd-list h3 i{color:#c0392b}
.s29-hd-rows{display:flex;flex-wrap:wrap;gap:10px}
.s29-hd-rows span{padding:8px 16px;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-radius:20px;font-size:.85rem;color:#555;border:1px solid #e8e8e8;transition:all .2s}
.s29-hd-rows span:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.s29-hd-today{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%)!important;color:#fff!important;font-weight:700;border-color:#c0392b!important;box-shadow:0 4px 12px rgba(231,76,60,.3)!important}

/* ===== SEO 文本 ===== */
.s29-seo{margin:24px 0;padding:24px;background:#fafbfc;border-radius:12px;border:1px solid #e8e8e8}
.s29-seo h3{font-size:1.05rem;color:#c0392b;margin:20px 0 12px;padding:10px 14px;background:linear-gradient(90deg,#fff5f5 0%,#fff 100%);border-left:4px solid #c0392b;border-radius:0 8px 8px 0;display:flex;align-items:center;gap:8px}
.s29-seo h3:first-child{margin-top:0}
.s29-seo h3 i{font-size:1.1rem}
.s29-seo p{font-size:.88rem;color:#666;line-height:2.4;margin:12px 0;text-indent:2em;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #f0f0f0}
.s29-seo p:hover{background:#f8f9fa}
.s29-seo b{color:#333;font-weight:600}
.s29-seo b i{color:#c0392b;margin-right:4px}

/* ===== FAQ ===== */
.s29-faq{margin:16px 0}
.s29-faq-item{padding:14px 0;border-bottom:1px solid #f0f0f0}
.s29-faq-item:last-child{border-bottom:0}
.s29-faq-q{font-size:.85rem;color:#888;line-height:1.8;margin:0}
.s29-faq-a{font-size:.88rem;color:#333;line-height:1.8;margin:8px 0 0;font-weight:500}

/* ===== 文章 ===== */
.s29-art{margin:20px 0}
.s29-art h3{font-size:1rem;color:#555;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.s29-art h3 i{color:#c0392b}
.s29-art a{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:.9rem;color:#2980b9;text-decoration:none;border-bottom:1px dashed #eee;transition:all .2s;border-radius:6px}
.s29-art a:hover{background:#f0f8ff;color:#1a5276}
.s29-art a i{color:#c0392b;font-size:.8rem}

/* ===== 知识百科 ===== */
.s29-knowledge{margin:20px 0}
.s29-knowledge h3{font-size:1rem;color:#555;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.s29-knowledge h3 i{color:#c0392b}
.s29-knowledge-sub{font-size:.82rem;color:#888;margin:-6px 0 14px}
.s29-knowledge-item{background:#fff;border-radius:10px;padding:16px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid #f0f0f0}
.s29-knowledge-item:last-child{margin-bottom:0}
.s29-knowledge-item h4{font-size:.92rem;color:#333;margin-bottom:6px;font-weight:700}
.s29-knowledge-subtitle{font-size:.78rem;color:#888;margin-bottom:10px}
.s29-knowledge-img{margin:10px 0}
.s29-knowledge-img img{width:100%;border-radius:8px}
.s29-knowledge-item p{font-size:.86rem;color:#666;line-height:2;margin:8px 0;text-indent:2em}

/* ===== 链轮 ===== */
.s29-links{margin:20px 0}
.s29-links h3{font-size:1rem;color:#555;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.s29-links h3 i{color:#c0392b}
.s29-links-row{display:flex;flex-wrap:wrap;gap:10px}
.s29-links-row a{padding:8px 16px;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-radius:20px;font-size:.85rem;color:#555;text-decoration:none;border:1px solid #e8e8e8;transition:all .2s}
.s29-links-row a:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08);color:#c0392b}

/* ===== 底部 ===== */
.s29-footer{text-align:center;font-size:.8rem;color:#999;padding:28px 0;border-top:2px solid #f0e6e6;margin-top:24px;line-height:2.4;background:linear-gradient(180deg,#fafbfc 0%,#fff 100%)}
.s29-footer i{color:#c0392b;margin-right:6px}

/* ===== 移动端 ===== */
@media(max-width:600px){
    html{font-size:15px}
    .s29{padding:0 8px 30px}
    .s29-hd{padding:20px 0 14px}
    .s29-cal-grid>span{padding:6px 2px;font-size:.78rem;min-height:42px}
    .s29-cal-grid b{font-size:.82rem}
    .s29-cal-grid i{font-size:.6rem}
    .s29-today{min-height:42px!important;border-radius:8px!important}
    .s29-yiji-row{grid-template-columns:1fr}
    .s29-shenwei{grid-template-columns:repeat(2,1fr)}
    .s29-extra{grid-template-columns:1fr}
    .s29-shensha{grid-template-columns:1fr}
    .s29-jq-grid{grid-template-columns:repeat(2,1fr)}
    .s29-sc-scroll{flex-wrap:nowrap;overflow-x:auto}
    .s29-seo p{padding:10px 12px;text-indent:0}
}

/* ===== 广告 ===== */
.s29-ad-box{margin:20px 0;padding:18px;border:1px solid #e8e8e8;border-radius:12px;background:linear-gradient(135deg,#fafbfc 0%,#fff 100%);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.s29-ad-desc{color:#555;font-size:.92rem;font-weight:600;margin-bottom:14px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}
.s29-ad-desc i{color:#c0392b;font-size:1.1rem}
.s29-ad-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.s29-ad-list a{display:flex;flex-direction:column;align-items:center;text-decoration:none;padding:10px;border-radius:10px;transition:all .2s;background:#fff;border:1px solid #f0f0f0}
.s29-ad-list a:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:#c0392b}
.s29-ad-list img{width:56px;height:56px;margin-bottom:8px;border-radius:8px}
.s29-ad-list span{font-size:.78rem;color:#555;font-weight:500}
