/* 公共日期滚轮：改前奶油日历气质；通透无内卡片 */
.date-wheel{
  --dw-accent:var(--accent,#A66B2E);
  --dw-accent-deep:var(--accent-deep,#7A4E22);
  --dw-ink:var(--ink,#2C2118);
  --dw-muted:var(--muted,#8A7460);
  --dw-surface:#FFFCFA;
  --dw-panel:#FFFBF6;
  --dw-track:#F3E8D6;
  --dw-item-h:44px;
  --dw-rows:5; /* 可见行数（奇数） */
  position:relative;
  flex:1 1 200px;
  min-width:0;
  z-index:4;
}
.date-wheel.is-open{z-index:40}

.date-wheel-trigger{
  width:100%;height:42px;padding:0 12px 0 14px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid rgba(166,107,46,.34);border-radius:10px;
  background:var(--dw-surface);color:var(--dw-ink);font:inherit;cursor:pointer;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.date-wheel-trigger:hover{
  border-color:var(--dw-accent);
  background:#FFF;
}
.date-wheel.is-open .date-wheel-trigger{
  border-color:var(--dw-accent);
  background:#FFF;
  box-shadow:0 0 0 3px rgba(166,107,46,.14);
}
.date-wheel-trigger-text{
  font-size:14px;font-weight:500;letter-spacing:.03em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;text-align:left;
}
.date-wheel-trigger-text.is-placeholder{color:var(--dw-muted);font-weight:400}
.date-wheel-trigger-icon{
  flex:0 0 auto;width:18px;height:18px;position:relative;opacity:.85;
}
.date-wheel-trigger-icon::before{
  content:"";position:absolute;inset:1px 2px 3px;
  border:1.5px solid var(--dw-accent-deep);border-radius:3px;
}
.date-wheel-trigger-icon::after{
  content:"";position:absolute;left:4px;right:4px;top:0;height:4px;
  border-left:1.5px solid var(--dw-accent-deep);border-right:1.5px solid var(--dw-accent-deep);
}

/* 弹层：单层奶油面，无嵌套卡片 */
.date-wheel-pop{
  position:fixed;left:0;top:0;z-index:1200;
  /* 宽度由 JS 对齐触发器；此处仅兜底 */
  width:auto;min-width:0;max-width:calc(100vw - 16px);box-sizing:border-box;
  border:1px solid rgba(166,107,46,.2);
  border-radius:16px;overflow:hidden;
  background:var(--dw-panel);
  box-shadow:
    0 4px 6px rgba(44,33,24,.04),
    0 22px 48px rgba(44,33,24,.16);
}
.date-wheel-pop[hidden]{display:none !important}

/* 分段：公历 / 农历 */
.date-wheel-mode{
  display:flex;gap:0;
  margin:14px 14px 0;padding:3px;
  border-radius:10px;
  background:var(--dw-track);
  box-shadow:inset 0 1px 2px rgba(44,33,24,.04);
}
.date-wheel-mode-btn{
  flex:1 1 0;height:34px;margin:0;padding:0;position:relative;
  border:0;border-radius:8px;background:transparent;
  color:var(--dw-muted);font:inherit;font-size:14px;font-weight:600;letter-spacing:.14em;
  cursor:pointer;
  transition:background .18s,color .18s,box-shadow .18s;
}
/* 选中态与站内「立即查询」xx-btn 同色 */
.date-wheel-mode-btn.is-active{
  background:var(--dw-accent);
  color:#FFF8F0;
  box-shadow:0 2px 8px rgba(166,107,46,.28);
}
.date-wheel-mode-btn.is-active::after{display:none}
.date-wheel-mode-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(166,107,46,.18);
}

/* 滚轮：与弹层面同色，通透无边框卡片 */
.date-wheel-cols{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  height:calc(var(--dw-item-h) * var(--dw-rows));
  margin:10px 6px 4px;
  overflow:hidden;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border:0;
  /* 用 mask 做上下淡出，避免绝对定位层挡住手机触摸 */
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 18%,
    #000 82%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 18%,
    #000 82%,
    transparent 100%
  );
}
.date-wheel[data-hour="1"] .date-wheel-cols{
  grid-template-columns:repeat(4,1fr);
}
.date-wheel[data-precision="year"] .date-wheel-mode{display:none !important}
.date-wheel[data-precision="year"] .date-wheel-cols{
  grid-template-columns:1fr;
}
.date-wheel-col{  position:relative;min-width:0;height:100%;overflow:hidden;
  z-index:2;
}
.date-wheel-col + .date-wheel-col{
  box-shadow:none;
}
.date-wheel-col[hidden]{display:none !important}
.date-wheel-list{
  margin:0;padding:0;list-style:none;
  height:100%;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  position:relative;z-index:2;
  /* 统一由 JS 拖拽滚动，避免部分 WebView 原生 overflow 触摸失效 */
  touch-action:none;
  cursor:grab;
  user-select:none;
}
.date-wheel-list.is-dragging,
.date-wheel-list:active{cursor:grabbing}
.date-wheel-list::-webkit-scrollbar{display:none}

.date-wheel-item{
  height:var(--dw-item-h);line-height:var(--dw-item-h);
  text-align:center;font-size:15px;font-weight:400;
  color:rgba(138,116,96,.38);
  font-variant-numeric:tabular-nums;
  user-select:none;
  pointer-events:none;
}
.date-wheel-item.is-pad{visibility:hidden}
.date-wheel-item.is-selected{
  color:var(--dw-accent-deep) !important;
  font-weight:700 !important;
  font-size:18px;
  letter-spacing:.02em;
}

/* 兼容旧 DOM：不再承担遮罩，避免挡触摸 */
.date-wheel-fade{
  display:none !important;
}
.date-wheel-indicator{
  pointer-events:none;position:absolute;left:10px;right:10px;z-index:1;
  top:calc(var(--dw-item-h) * ((var(--dw-rows) - 1) / 2));
  height:var(--dw-item-h);
  border-radius:0;
  background:rgba(166,107,46,.07);
  border-top:1px solid rgba(166,107,46,.22);
  border-bottom:1px solid rgba(166,107,46,.22);
  box-shadow:none;
}

/* 底栏：通透文字按钮，非实心卡片 */
.date-wheel-actions{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;
  margin:0;
  border-top:1px solid rgba(166,107,46,.12);
  background:transparent;
}
.date-wheel-cancel,
.date-wheel-confirm{
  appearance:none;border:0;border-radius:0;
  background:transparent;
  height:48px;font:inherit;font-size:15px;font-weight:600;
  cursor:pointer;letter-spacing:.06em;
  transition:background .15s,color .15s;
}
.date-wheel-cancel{
  color:var(--dw-ink);
  border-right:1px solid rgba(166,107,46,.12);
}
.date-wheel-confirm{
  color:var(--dw-accent);
  font-weight:700;
}
.date-wheel-cancel:hover,
.date-wheel-confirm:hover{background:rgba(166,107,46,.06)}
.date-wheel-confirm:active{background:rgba(166,107,46,.1)}
.date-wheel-cancel:focus-visible,
.date-wheel-confirm:focus-visible{
  outline:none;
  background:rgba(166,107,46,.08);
}

/* 移动端：仍 5 行，行高/边距适中（介于过高与过矮之间） */
@media (max-width:720px){
  .date-wheel{
    --dw-item-h:36px;
    --dw-rows:5;
  }
  .date-wheel-trigger{
    height:38px;padding:0 10px 0 12px;border-radius:9px;
  }
  .date-wheel-trigger-text{font-size:13px}
  .date-wheel-pop{
    width:100%; /* 实际宽度由 JS 对齐触发器 */
    max-width:none;
    border-radius:12px;
    box-sizing:border-box;
  }
  .date-wheel-mode{
    margin:8px 8px 0;padding:2px;border-radius:8px;
  }
  .date-wheel-mode-btn{
    height:30px;font-size:13px;letter-spacing:.1em;border-radius:7px;
  }
  .date-wheel-cols{margin:6px 2px 2px}
  .date-wheel-item{font-size:13px}
  .date-wheel-item.is-selected{font-size:16px}
  .date-wheel-indicator{left:6px;right:6px}
  .date-wheel-cancel,
  .date-wheel-confirm{
    height:40px;font-size:14px;
  }
}
@media (max-width:380px){
  .date-wheel{
    --dw-item-h:34px;
  }
  .date-wheel-trigger{height:36px}
  .date-wheel-trigger-text{font-size:12px}
  .date-wheel-mode{margin:6px 6px 0}
  .date-wheel-mode-btn{height:28px;font-size:12px;letter-spacing:.08em}
  .date-wheel-item{font-size:12px}
  .date-wheel-item.is-selected{font-size:15px}
  .date-wheel-cancel,
  .date-wheel-confirm{height:38px;font-size:13px}
}
