/* 2027 营销热点日历（对齐 adguider 参考页样式） */
.cal-page{padding:20px 0 60px;background:#f8f8f8;color:#333;}
.cal-container{width:1160px;max-width:100%;margin:0 auto;padding:0;box-sizing:border-box;}
.cal-main{float:left;width:860px;background:#fff;border-radius:4px;box-sizing:border-box;box-shadow:0 4px 20px 0 rgba(0,0,0,.05);}
.cal-side{float:right;width:280px;}

/* 顶部操作栏 */
.cal-top{display:flex;align-items:center;justify-content:space-between;height:104px;padding:0 30px;border-bottom:1px solid #f3f3f3;box-sizing:border-box;}
.cal-switch{display:flex;flex:0 0 auto;font-size:0;}
.cal-switch-btn{display:inline-block;width:48px;height:32px;line-height:30px;text-align:center;font-size:14px;color:rgba(0,0,0,.65);background:#fff;border:1px solid #d9d9d9;box-sizing:border-box;transition:all .2s;}
.cal-switch-btn:first-child{border-radius:4px 0 0 4px;}
.cal-switch-btn:last-child{border-radius:0 4px 4px 0;border-left:none;}
.cal-switch-btn.active{border-color:#0059ff;color:#0059ff;position:relative;z-index:1;}
.cal-nav{display:flex;align-items:center;justify-content:center;gap:0;flex:1 1 auto;min-width:0;}
.cal-title{font-size:20px;font-weight:400;color:#585858;line-height:28px;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-arrow{position:relative;display:block;width:40px;height:40px;border:1px solid #e6e6e6;border-radius:4px;background:#fff;flex:0 0 auto;transition:border-color .2s;}
.cal-arrow::before{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-top:2px solid #333;border-right:2px solid #333;}
.cal-arrow.prev::before{transform:translate(-40%,-50%) rotate(-135deg);}
.cal-arrow.next::before{transform:translate(-60%,-50%) rotate(45deg);}
.cal-arrow:hover{border-color:#0059ff;}
.cal-arrow:hover::before{border-color:#0059ff;}
.cal-arrow.disabled{opacity:.4;cursor:not-allowed;}
.cal-arrow.disabled:hover{border-color:#e6e6e6;}
.cal-arrow.disabled:hover::before{border-color:#333;}
.cal-today{flex:0 0 auto;width:64px;height:32px;line-height:30px;text-align:center;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;color:rgba(0,0,0,.65);background:#fff;box-sizing:border-box;transition:all .2s;}
.cal-today:hover{border-color:#0059ff;color:#0059ff;}

/* 类型筛选 */
.cal-filter{display:flex;flex-wrap:wrap;align-items:center;margin:20px 32px 0;}
.cal-filter-item{display:inline-flex;align-items:center;height:20px;line-height:20px;margin-right:20px;font-size:14px;font-weight:400;color:rgba(0,0,0,.45);cursor:pointer;user-select:none;transition:color .2s;}
.cal-filter-item:last-child{margin-right:0;}
.cal-filter-item.active{color:var(--c);}
.cal-filter-item i{display:inline-block;width:16px;height:16px;margin-right:2px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.45);box-sizing:border-box;vertical-align:middle;transition:all .2s;}
.cal-filter-item.active i{background:var(--c);border:none;}
.cal-filter-item span{vertical-align:middle;}

/* 月视图 */
.cal-month-wrap{overflow-x:auto;margin:20px 32px 0;border:1px solid #f3f3f3;scrollbar-width:thin;}
.cal-month-inner{min-width:100%;}
.cal-month-head{display:flex;height:50px;background:#f3f3f3;border-bottom:1px solid #f3f3f3;}
.cal-month-head div{flex:1;line-height:50px;text-align:center;font-size:14px;color:#333;}
.cal-month-head .weekend{color:#333;}
.cal-month-body{position:relative;}
.cal-row{display:flex;border-bottom:1px solid #f3f3f3;}
.cal-row:last-child{border-bottom:none;}
.cal-cell{position:relative;flex:1;min-width:0;height:155px;padding-top:30px;border-right:1px solid #f3f3f3;box-sizing:border-box;background:#fff;}
.cal-cell:last-child{border-right:none;}
.cal-rest{position:absolute;left:14px;top:12px;width:16px;height:16px;line-height:16px;text-align:center;font-size:11px;color:#fff;background:#e5484d;border-radius:2px;}
.cal-cell.gray .cal-rest{opacity:.45;}
.cal-day{display:block;position:absolute;top:10px;right:16px;font-size:14px;font-weight:400;line-height:20px;color:rgba(51,51,51,.85);text-align:right;}
.cal-cell.gray .cal-day{color:rgba(51,51,51,.45);}
.cal-cell.weekend .cal-day{color:rgba(51,51,51,.85);}
.cal-cell.gray.weekend .cal-day{color:rgba(51,51,51,.45);}
.cal-cell-tags{margin:0;}
.cal-tag{position:relative;display:block;width:100%;line-height:28px;margin:4px 0;padding-left:5px;font-size:12px;overflow:hidden;transition:filter .2s;}
.cal-cell-tags .cal-tag:first-child{margin-top:0;}
.cal-tag:hover{filter:brightness(.96);}
.cal-tag i{position:absolute;left:0;top:0;width:2px;height:100%;border-radius:2px;}
.cal-tag span{display:block;padding-left:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.cal-tag-hide{display:none;}
.cal-more{font-size:12px;font-weight:400;line-height:17px;color:rgba(0,0,0,.25);text-align:center;cursor:pointer;}
.cal-more:hover{color:#0059ff;}

/* 更多节点浮层 */
.cal-pop{display:none;position:absolute;z-index:20;top:-14px;left:-13px;width:132px;padding:10px;background:#fff;border:1px solid rgba(222,226,235,1);border-radius:4px;box-shadow:2px 2px 12px 0 rgba(58,59,62,.1);box-sizing:border-box;}
.cal-more:hover + .cal-pop,.cal-pop:hover{display:block;}
.cal-pop .cal-tag{margin:4px 0;line-height:20px;}
.cal-pop .cal-tag:first-child{margin-top:0;}
.cal-pop .cal-tag span{white-space:normal;word-break:break-all;line-height:20px;}

/* 周视图 */
.cal-week-wrap{overflow-x:auto;margin:20px 32px 0;border:1px solid #f3f3f3;}
.cal-week-inner{min-width:720px;}
.cal-week-head{display:flex;height:74px;background:#f3f3f3;border-bottom:1px solid #f3f3f3;}
.cal-week-th{flex:1;padding:12px 4px 16px;text-align:center;box-sizing:border-box;min-width:0;}
.cal-week-th span{display:block;font-size:16px;color:#333;line-height:22px;padding-bottom:4px;white-space:nowrap;}
.cal-week-th em{display:block;font-size:14px;color:rgba(51,51,51,.45);font-style:normal;line-height:20px;}
.cal-week-rest{display:inline-block;width:16px;height:16px;line-height:16px;margin-left:3px;font-size:11px;color:#fff;background:#e5484d;border-radius:2px;vertical-align:middle;font-style:normal;}
.cal-week-body{display:flex;}
.cal-week-cell{flex:1;min-width:0;min-height:200px;padding-top:10px;border-right:1px solid #f3f3f3;box-sizing:border-box;background:#fff;}
.cal-week-cell:last-child{border-right:none;}
.cal-week-day{font-size:20px;font-weight:400;line-height:26px;color:rgba(51,51,51,.85);margin-bottom:8px;padding:0 10px;}
.cal-week-cell.gray .cal-week-day{color:rgba(51,51,51,.45);}
.cal-week-tags .cal-tag{margin:4px 0;}

.cal-note{margin:12px 32px 32px;font-size:12px;line-height:20px;color:rgba(0,0,0,.25);}

/* 右侧推荐 */
.cal-side-card{margin-bottom:16px;background:#fff;border-radius:4px;padding:16px;box-shadow:0 4px 20px 0 rgba(0,0,0,.05);}
.cal-side-card:last-child{margin-bottom:0;}
.cal-side-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cal-side-title{position:relative;padding-left:10px;font-size:20px;font-weight:600;color:#333;line-height:28px;}
.cal-side-title::before{content:"";position:absolute;left:0;top:5px;width:4px;height:18px;background:#3377ff;}
.cal-side-more{font-size:12px;color:rgba(0,0,0,.44);}
.cal-side-more:hover{color:#0059ff;}

.cal-doc{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.09);}
.cal-doc:last-child{border-bottom:none;}
.cal-doc-pic{width:112px;height:62px;flex:0 0 112px;object-fit:cover;background:#f3f3f3;}
.cal-doc-info{min-width:0;flex:1;padding-top:2px;}
.cal-doc-title{font-size:14px;line-height:20px;color:#000;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;}
.cal-doc:hover .cal-doc-title{color:#0059ff;}
.cal-doc-meta{margin-top:4px;font-size:12px;line-height:20px;color:rgba(0,0,0,.44);}

.cal-group{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.09);}
.cal-group:last-child{border-bottom:none;}
.cal-group-cover{width:112px;height:62px;flex:0 0 112px;overflow:hidden;background:#f3f3f3;display:flex;align-items:center;justify-content:center;}
.cal-group-cover img{width:100%;height:100%;object-fit:cover;}
.cal-group-text{font-size:12px;line-height:16px;color:rgba(0,0,0,.44);padding:0 6px;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cal-group-info{min-width:0;flex:1;}
.cal-group-title{font-size:14px;line-height:20px;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s;}
.cal-group:hover .cal-group-title{color:#0059ff;}
.cal-group-meta{margin-top:4px;font-size:12px;line-height:20px;color:rgba(0,0,0,.44);}
.cal-empty{padding:18px 0;text-align:center;font-size:12px;color:rgba(0,0,0,.44);}
.cal-empty a{color:#0059ff;}

/* 自适应 */
@media (max-width:1240px){
    .cal-container{width:100%;padding:0 20px;}
    .cal-main{width:calc(100% - 300px);}
}
@media (max-width:1080px){
    .cal-main{float:none;width:100%;}
    .cal-side{float:none;width:100%;margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
    .cal-side-card{margin-bottom:0;}
}
@media (max-width:900px){
    .cal-page{padding:12px 0 40px;}
    .cal-container{padding:0 12px;}
    .cal-main{border-radius:4px;}
    .cal-top{height:auto;min-height:56px;padding:10px 14px;flex-wrap:wrap;row-gap:10px;}
    .cal-switch{order:1;}
    .cal-today{order:2;margin-left:auto;}
    .cal-nav{order:3;flex-basis:100%;justify-content:flex-start;}
    .cal-arrow{width:32px;height:32px;}
    .cal-title{font-size:16px;line-height:22px;padding:0 8px;}
    .cal-filter{margin:14px 14px 0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;}
    .cal-filter::-webkit-scrollbar{display:none;}
    .cal-filter-item{flex:0 0 auto;}
    .cal-month-wrap{margin:14px 14px 0;}
    .cal-month-inner{min-width:700px;}
    .cal-week-wrap{margin:14px 14px 0;}
    .cal-week-inner{min-width:720px;}
    .cal-note{margin:12px 14px 14px;}
    .cal-side{grid-template-columns:1fr;}
}
@media (max-width:600px){
    .cal-container{padding:0 10px;}
    .cal-top{padding:10px;}
    .cal-main{border-radius:0;}
    .cal-filter{margin:12px 0 0;}
    .cal-month-wrap{margin:12px 0 0;}
    .cal-week-wrap{margin:12px 0 0;}
    .cal-note{margin:12px 0 6px;}
    .cal-month-inner{min-width:640px;}
    .cal-month-head div{font-size:12px;}
    .cal-cell{height:136px;padding-top:26px;}
    .cal-day{top:8px;right:10px;font-size:13px;line-height:18px;}
    .cal-rest{left:9px;top:9px;}
    .cal-tag{line-height:24px;font-size:11px;margin:3px 0;}
    .cal-more{font-size:11px;}
    .cal-week-inner{min-width:680px;}
    .cal-week-cell{min-height:220px;}
    .cal-side-card{padding:14px;}
    .cal-side-title{font-size:17px;line-height:24px;}
    .cal-side-title::before{top:4px;height:16px;}
    .cal-doc-pic{width:88px;height:52px;flex:0 0 88px;}
    .cal-group-cover{width:88px;height:52px;flex:0 0 88px;}
}
