/* 2027 营销热点日历（沿用全站设计令牌：12px 圆角 / #f72128 强调色） */
.cal-page{padding:24px 0 60px;background:#f8f8f8;color:#1f2937;}
.cal-container{width:100%;max-width:100%;margin:0 auto;padding:0;box-sizing:border-box;}
.cal-main{width:100%;background:#fff;border:1px solid #eef0f3;border-radius:12px;box-sizing:border-box;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden;}

/* 顶部操作栏 */
.cal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px;padding:0 24px;border-bottom:1px solid #f0f2f5;box-sizing:border-box;}
.cal-switch{display:inline-flex;flex:0 0 auto;padding:2px;background:#f4f5f7;border-radius:8px;}
.cal-switch-btn{display:block;width:48px;height:28px;line-height:28px;text-align:center;font-size:13px;color:#7a8290;border-radius:6px;transition:all .2s;}
.cal-switch-btn.active{background:#fff;color:#f72128;font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.12);}
.cal-nav{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 1 auto;min-width:0;}
.cal-title{font-size:18px;font-weight:600;color:#1f2937;line-height:26px;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-arrow{position:relative;display:block;width:32px;height:32px;border:1px solid #eef0f3;border-radius:8px;background:#fff;flex:0 0 auto;transition:all .2s;}
.cal-arrow::before{content:"";position:absolute;top:50%;left:50%;width:7px;height:7px;border-top:2px solid #98a2b3;border-right:2px solid #98a2b3;}
.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:#f72128;background:#fff8f8;}
.cal-arrow:hover::before{border-color:#f72128;}
.cal-arrow.disabled{opacity:.4;cursor:not-allowed;}
.cal-arrow.disabled:hover{border-color:#eef0f3;background:#fff;}
.cal-arrow.disabled:hover::before{border-color:#98a2b3;}
.cal-today{flex:0 0 auto;min-width:64px;height:32px;line-height:30px;padding:0 14px;text-align:center;border:1px solid #eef0f3;border-radius:8px;font-size:13px;color:#7a8290;background:#fff;box-sizing:border-box;transition:all .2s;}
.cal-today:hover{border-color:#f72128;color:#f72128;background:#fff8f8;}

/* 类型筛选 */
.cal-filter{display:flex;flex-wrap:wrap;align-items:center;margin:18px 24px 0;}
.cal-filter-item{display:inline-flex;align-items:center;height:28px;padding:0 10px;margin:0 8px 8px 0;border-radius:14px;font-size:13px;color:#7a8290;cursor:pointer;user-select:none;transition:all .2s;}
.cal-filter-item:hover{background:#f7f8fa;}
.cal-filter-item.active{color:var(--c);background:#f7f8fa;font-weight:500;}
.cal-filter-item i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#fff;border:1px solid #c6ccd6;box-sizing:border-box;transition:all .2s;}
.cal-filter-item.active i{background:var(--c);border-color:var(--c);}
.cal-filter-item span{vertical-align:middle;}
.cal-filter-tip{display:flex;align-items:center;margin:2px 24px 0;font-size:12px;line-height:18px;color:#98a2b3;}
.cal-filter-tip .iconfont{margin-right:5px;font-size:12px;}

/* 月视图 */
.cal-month-wrap{overflow-x:auto;margin:10px 24px 0;border:1px solid #f0f2f5;border-radius:10px;scrollbar-width:thin;}
.cal-month-inner{min-width:100%;}
.cal-month-head{display:flex;height:48px;background:#fafbfc;border-bottom:1px solid #f0f2f5;}
.cal-month-head div{flex:1;line-height:48px;text-align:center;font-size:13px;font-weight:500;color:#7a8290;}
.cal-month-head .weekend{color:#7a8290;}
.cal-month-body{position:relative;}
.cal-row{display:flex;border-bottom:1px solid #f0f2f5;}
.cal-row:last-child{border-bottom:none;}
.cal-cell{position:relative;flex:1;min-width:0;height:150px;padding-top:30px;border-right:1px solid #f0f2f5;box-sizing:border-box;background:#fff;transition:background .2s;}
.cal-cell:hover{background:#fcfcfd;}
.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:#f72128;border-radius:3px;}
.cal-cell.gray .cal-rest{opacity:.45;}
.cal-day{display:block;position:absolute;top:10px;right:16px;font-size:14px;font-weight:500;line-height:20px;color:#1f2937;text-align:right;}
.cal-cell.gray .cal-day{color:#b0b7c3;}
.cal-cell.weekend .cal-day{color:#1f2937;}
.cal-cell.gray.weekend .cal-day{color:#b0b7c3;}
.cal-cell-tags{margin:0;}
.cal-tag{position:relative;display:block;width:100%;line-height:26px;margin:3px 0;padding:0 16px 0 6px;font-size:12px;border-radius:4px;overflow:hidden;transition:filter .2s;}
.cal-tag .cal-tag-hint{position:absolute;left:auto;right:4px;top:50%;display:block;width:auto;height:auto;margin-top:-6px;font-size:11px;line-height:12px;color:inherit;border-radius:0;opacity:0;transition:opacity .2s;}
.cal-tag:hover .cal-tag-hint{opacity:.75;}
.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:3px;height:100%;border-radius:3px;}
.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:#98a2b3;text-align:center;cursor:pointer;}
.cal-more:hover{color:#f72128;}

/* 更多节点浮层 */
.cal-pop{display:none;position:absolute;z-index:20;top:-10px;left:-10px;width:140px;padding:10px;background:#fff;border:1px solid #e6e8ee;border-radius:8px;box-shadow:0 8px 24px rgba(16,24,40,.12);box-sizing:border-box;}
.cal-more:hover + .cal-pop,.cal-pop:hover{display:block;}
.cal-pop .cal-tag{margin:3px 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:16px 24px 0;border:1px solid #f0f2f5;border-radius:10px;}
.cal-week-inner{min-width:720px;}
.cal-week-head{display:flex;height:70px;background:#fafbfc;border-bottom:1px solid #f0f2f5;}
.cal-week-th{flex:1;padding:12px 4px 14px;text-align:center;box-sizing:border-box;min-width:0;}
.cal-week-th span{display:block;font-size:15px;font-weight:500;color:#1f2937;line-height:22px;padding-bottom:2px;white-space:nowrap;}
.cal-week-th em{display:block;font-size:13px;color:#98a2b3;font-style:normal;line-height:20px;}
.cal-week-rest{display:inline-block;width:16px;height:16px;line-height:16px;margin-left:4px;font-size:11px;color:#fff;background:#f72128;border-radius:3px;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 #f0f2f5;box-sizing:border-box;background:#fff;}
.cal-week-cell:last-child{border-right:none;}
.cal-week-day{font-size:18px;font-weight:500;line-height:24px;color:#1f2937;margin-bottom:8px;padding:0 10px;}
.cal-week-cell.gray .cal-week-day{color:#b0b7c3;}
.cal-week-tags .cal-tag{margin:3px 0;}
/* 周视图：高亮今天 */
.cal-week-th.is-today{background:#fff5f5;box-shadow:inset 0 -2px 0 #f72128;}
.cal-week-th.is-today span,.cal-week-th.is-today em{color:#f72128;}
.cal-week-today{display:inline-block;height:16px;line-height:16px;margin-left:4px;padding:0 5px;font-size:11px;font-style:normal;color:#fff;background:#f72128;border-radius:3px;vertical-align:middle;}
.cal-week-cell.is-today{background:#fffafa;}
.cal-week-cell.is-today .cal-week-day{color:#f72128;font-weight:600;}

.cal-note{margin:14px 24px 22px;font-size:12px;line-height:20px;color:#98a2b3;}

/* 自适应 */
@media (max-width:1240px){
    .cal-container{padding:0 20px;}
}
@media (max-width:900px){
    .cal-page{padding:12px 0 40px;}
    .cal-container{padding:0 12px;}
    .cal-main{border-radius:8px;}
    .cal-top{height:auto;min-height:56px;padding:10px 14px;flex-wrap:wrap;row-gap:10px;gap:10px;}
    .cal-switch{order:1;}
    .cal-today{order:2;margin-left:auto;}
    .cal-nav{order:3;flex-basis:100%;justify-content:center;gap:8px;}
    .cal-title{font-size:16px;line-height:22px;}
    .cal-filter{margin:12px 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-filter-tip{margin:2px 14px 0;}
    .cal-month-wrap{margin:10px 14px 0;}
    .cal-month-inner{min-width:700px;}
    .cal-week-wrap{margin:12px 14px 0;}
    .cal-week-inner{min-width:720px;}
    .cal-note{margin:12px 14px 14px;}
}
@media (max-width:600px){
    .cal-container{padding:0 10px;}
    .cal-top{padding:10px;}
    .cal-main{border-radius:0;border-left:none;border-right:none;}
    .cal-filter{margin:10px 0 0;}
    .cal-filter-tip{margin:2px 0 0;}
    .cal-month-wrap{margin:8px 0 0;border-left:none;border-right:none;border-radius:0;}
    .cal-week-wrap{margin:8px 0 0;border-left:none;border-right:none;border-radius:0;}
    .cal-note{margin:10px 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;}
}
