/* 自定义导航栏 */
.custom-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #C41E3A;
  z-index: 100;
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24rpx;
  position: relative;
}

.nav-left {
  display: flex;
  align-items: center;
  gap: 16rpx;
}

.nav-toggle {
  min-width: 96rpx;
  height: 56rpx;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1rpx solid rgba(255, 255, 255, 0.5);
  border-radius: 999rpx;
  padding: 0 20rpx;
}

.nav-toggle-text {
  color: #FFFFFF;
  font-size: 24rpx;
}

.nav-title {
  color: #FFFFFF;
  font-size: 34rpx;
  font-weight: 600;
  letter-spacing: 4rpx;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.nav-placeholder {
  min-width: 96rpx;
}

.nav-right {
  min-width: 96rpx;
  display: flex;
  justify-content: flex-end;
}

.nav-zodiac {
  color: #FFFFFF;
  font-size: 26rpx;
  opacity: 0.9;
  font-weight: 500;
}

.page-body {
  box-sizing: border-box;
  min-height: 100vh;
  position: relative;
}

/* 日视图 swiper */
.day-swiper {
  height: calc(100vh - 88px);
}

.day-scroll {
  height: 100%;
}

.container {
  padding: 20rpx;
  padding-bottom: 40rpx;
}

/* ===== 老黄历大日历卡片 ===== */
.almanac-card {
  border-radius: 24rpx;
  padding: 32rpx 24rpx 24rpx;
  margin-bottom: 16rpx;
  position: relative;
  border: 2rpx solid #E8D5C4;
  background: #FFFFFF;
}

/* 节假日：喜庆红 */
.almanac-card.is-holiday {
  background: linear-gradient(160deg, #FFF5F4 0%, #FFE8E4 100%);
  border-color: #C41E3A;
}

/* 工作日：清新绿 */
.almanac-card.is-workday {
  background: linear-gradient(160deg, #F4FBF5 0%, #E6F5E9 100%);
  border-color: #4CAF50;
}

/* 周末：米黄 */
.almanac-card.is-weekend {
  background: linear-gradient(160deg, #FFFBF0 0%, #FFF3DC 100%);
  border-color: #E0A93E;
}

.almanac-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16rpx;
}

.almanac-year {
  font-size: 30rpx;
  color: #6B5E53;
  font-weight: 500;
}

.head-tags {
  display: flex;
  gap: 12rpx;
}

.today-tag {
  background: #C41E3A;
  color: #FFFFFF;
  font-size: 20rpx;
  padding: 4rpx 20rpx;
  border-radius: 999rpx;
}

.lunar-tag {
  background: #E0A93E;
  color: #FFFFFF;
  font-size: 20rpx;
  padding: 4rpx 20rpx;
  border-radius: 999rpx;
}

/* 大日期方框（竖长型，包含所有信息） */
.day-frame {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  border: 6rpx solid;
  border-radius: 16rpx;
  background: #FFFDF8;
  box-shadow: inset 0 0 0 4rpx #FFFDF8, inset 0 0 0 6rpx currentColor;
  padding: 24rpx 16rpx;
  min-height: 800rpx;
}

.frame-holiday { border-color: #C41E3A; color: #C41E3A; }
.frame-workday { border-color: #2E7D32; color: #2E7D32; }
.frame-weekend { border-color: #C41E3A; color: #C41E3A; }

/* 箭头（在大框里面，竖向居中） */
.day-arrow-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64rpx;
  color: #C9B8A6;
  width: 60rpx;
  flex-shrink: 0;
}

.day-arrow-inner.left {
  border-right: 1rpx solid #F0E6DA;
}

.day-arrow-inner.right {
  border-left: 1rpx solid #F0E6DA;
}

/* 中间内容（竖向排列） */
.day-frame-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20rpx;
  padding: 0 16rpx;
}

.almanac-day-num {
  font-size: 200rpx;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.num-holiday { color: #C41E3A; }
.num-workday { color: #2E7D32; }
.num-weekend { color: #C41E3A; }

/* 农历 */
.day-frame-lunar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8rpx;
  padding-top: 16rpx;
  border-top: 2rpx solid currentColor;
}

.day-frame-lunar-main {
  font-size: 44rpx;
  font-weight: 600;
  color: #1A1A1A;
}

.day-frame-lunar-sub {
  font-size: 22rpx;
  color: #9E8E7E;
}

/* 节日/节气 */
.day-frame-fest {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12rpx;
}

.frame-badge {
  font-size: 24rpx;
  padding: 6rpx 24rpx;
  border-radius: 999rpx;
}

.frame-badge-holiday {
  background: #C41E3A;
  color: #FFFFFF;
}

.frame-badge-festival {
  background: #C41E3A;
  color: #FFFFFF;
}

.frame-badge-term {
  background: #2E7D32;
  color: #FFFFFF;
}

/* 星期 + 工作日 */
.day-frame-week {
  font-size: 26rpx;
  font-weight: 600;
  color: #6B5E53;
  text-align: center;
}

/* 宜忌（在大框里面） */
.day-frame-yiji {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rpx;
  padding-top: 20rpx;
  border-top: 2rpx solid #F0E6DA;
}

.frame-yiji-row {
  display: flex;
  gap: 16rpx;
  align-items: flex-start;
}

.frame-yiji-title {
  width: 56rpx;
  height: 56rpx;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28rpx;
  font-weight: 700;
  flex-shrink: 0;
}

.frame-yiji-title.yi { background: #C41E3A; color: #FFFFFF; }
.frame-yiji-title.ji { background: #546E7A; color: #FFFFFF; }

.frame-yiji-items {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8rpx;
  align-content: flex-start;
}

.frame-yiji-item {
  font-size: 24rpx;
  padding: 4rpx 12rpx;
  border-radius: 8rpx;
}

.frame-yiji-item.yi { background: #FEF2F2; color: #C41E3A; }
.frame-yiji-item.ji { background: #F1F5F9; color: #546E7A; }

/* 佛历提醒 */
.buddhist-tip {
  text-align: center;
  padding: 16rpx 12rpx 0;
}

.buddhist-text {
  font-size: 26rpx;
  color: #B8860B;
}

.section-title {
  font-size: 28rpx;
  font-weight: 600;
  margin-bottom: 16rpx;
  color: #C41E3A;
}

/* 黄历详情（label 大、value 小、加间隔） */
.detail-grid {
  display: flex;
  flex-direction: column;
  gap: 20rpx;
}

.detail-item {
  display: flex;
  align-items: center;
  gap: 24rpx;
  padding: 16rpx;
  background: #FFFBF5;
  border-radius: 12rpx;
}

.detail-label {
  font-size: 28rpx;
  color: #9E8E7E;
  min-width: 140rpx;
  flex-shrink: 0;
}

.detail-value {
  font-size: 28rpx;
  font-weight: 500;
  color: #1A1A1A;
  flex: 1;
}

/* 节日速查 */
.fest-quick {
  display: flex;
  flex-direction: column;
  gap: 8rpx;
}

.fest-quick-item {
  display: flex;
  align-items: center;
  padding: 16rpx;
  background: #FFFBF5;
  border-radius: 12rpx;
  gap: 16rpx;
}

.fest-name {
  font-size: 28rpx;
  font-weight: 600;
  min-width: 120rpx;
}

.fest-date {
  font-size: 24rpx;
  color: #9E8E7E;
  flex: 1;
}

.fest-left {
  font-size: 24rpx;
  color: #C41E3A;
  font-weight: 500;
}

.fest-left.is-today {
  background: #C41E3A;
  color: #FFFFFF;
  padding: 2rpx 16rpx;
  border-radius: 999rpx;
}

.back-today {
  text-align: center;
  margin-top: 20rpx;
  color: #C41E3A;
  font-size: 26rpx;
  padding: 12rpx;
}

/* ===== 月历视图 ===== */
.month-body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  box-sizing: border-box;
}

.month-header {
  text-align: center;
  padding: 16rpx 0 8rpx;
}

.month-title {
  font-size: 40rpx;
  font-weight: 700;
  color: #C41E3A;
  display: block;
}

.month-hint {
  font-size: 20rpx;
  color: #C9B8A6;
}

.week-head {
  padding: 0 20rpx;
  margin-bottom: 4rpx;
}

.week-cell {
  font-size: 24rpx;
  color: #9E8E7E;
  padding: 8rpx 0;
}

.month-swiper {
  flex: 1;
  height: 100%;
}

.month-scroll {
  height: 100%;
}

.month-grid {
  padding: 0 20rpx;
  gap: 8rpx;
}

.day-cell {
  background: transparent;
}

.day-cell-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16rpx 4rpx;
  background: #FFFFFF;
  border-radius: 12rpx;
  min-height: 110rpx;
}

.day-cell-inner.today {
  background: #C41E3A;
  color: #FFFFFF;
}

.day-cell-inner.today .day-lunar {
  color: rgba(255, 255, 255, 0.8);
}

.day-cell-inner.other-month {
  opacity: 0.35;
}

.day-number {
  font-size: 30rpx;
  font-weight: 500;
}

.day-lunar {
  font-size: 20rpx;
  color: #9E8E7E;
  margin-top: 4rpx;
}

.day-lunar.festival {
  color: #C41E3A;
  font-weight: 500;
}

.day-dot {
  width: 8rpx;
  height: 8rpx;
  border-radius: 50%;
  background: #C41E3A;
  margin-top: 4rpx;
}

/* ===== 全屏放大弹窗 ===== */
.zoom-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 200;
  display: none;
}

.zoom-mask.show {
  display: flex;
  align-items: center;
  justify-content: center;
}

.zoom-panel {
  width: 92%;
  max-height: 86%;
  background: #FFFFFF;
  border-radius: 24rpx;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.zoom-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24rpx 28rpx;
  background: #C41E3A;
}

.zoom-title {
  color: #FFFFFF;
  font-size: 36rpx;
  font-weight: 600;
}

.zoom-close {
  color: #FFFFFF;
  font-size: 44rpx;
  width: 64rpx;
  height: 64rpx;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zoom-body {
  padding: 32rpx 28rpx;
  max-height: 70vh;
}

/* 宜忌放大 */
.zoom-yiji-block {
  margin-bottom: 40rpx;
}

.zoom-yiji-title {
  width: 96rpx;
  height: 96rpx;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 52rpx;
  font-weight: 700;
  margin-bottom: 24rpx;
}

.zoom-yiji-title.yi { background: #C41E3A; color: #FFFFFF; }
.zoom-yiji-title.ji { background: #546E7A; color: #FFFFFF; }

.zoom-yiji-items {
  display: flex;
  flex-wrap: wrap;
  gap: 20rpx;
}

.zoom-yiji-item {
  font-size: 44rpx;
  padding: 16rpx 32rpx;
  border-radius: 16rpx;
  font-weight: 500;
}

.zoom-yiji-item.yi { background: #FEF2F2; color: #C41E3A; }
.zoom-yiji-item.ji { background: #F1F5F9; color: #546E7A; }

/* 详情放大 */
.zoom-detail-row {
  display: flex;
  padding: 24rpx 0;
  border-bottom: 1rpx solid #F0E6DA;
  align-items: center;
}

.zoom-detail-label {
  width: 200rpx;
  font-size: 36rpx;
  color: #9E8E7E;
  flex-shrink: 0;
}

.zoom-detail-value {
  font-size: 40rpx;
  font-weight: 600;
  color: #1A1A1A;
  flex: 1;
}

.zoom-detail-value.holiday {
  color: #C41E3A;
}

/* 节日放大 */
.zoom-fest-row {
  display: flex;
  align-items: center;
  padding: 28rpx 0;
  border-bottom: 1rpx solid #F0E6DA;
  gap: 24rpx;
}

.zoom-fest-name {
  font-size: 44rpx;
  font-weight: 600;
  min-width: 200rpx;
}

.zoom-fest-date {
  font-size: 36rpx;
  color: #9E8E7E;
  flex: 1;
}

.zoom-fest-left {
  font-size: 36rpx;
  color: #C41E3A;
  font-weight: 500;
}

.zoom-fest-left.is-today {
  background: #C41E3A;
  color: #FFFFFF;
  padding: 4rpx 24rpx;
  border-radius: 999rpx;
}
