/* ==========================================================================
   DatePicker — season-shaded calendar
   ========================================================================== */
.hp-dp { font-family: var(--hp-font-ui); color: var(--hp-ink); user-select: none; }
.hp-dp__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.hp-dp__nav { width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--hp-line-12); background: #fff; font-size: 17px; color: var(--hp-ink); cursor: pointer; transition: border-color var(--hp-t); }
.hp-dp__nav:hover { border-color: var(--hp-ink); }
.hp-dp__hint { font-size: 13px; color: var(--hp-text-2); text-align: center; flex: 1; }
.hp-dp__months { display: flex; flex-wrap: wrap; gap: 22px; }
.hp-dp__month { flex: 1 1 250px; min-width: 0; }
.hp-dp__mtitle { font-family: var(--hp-font-display); font-weight: 700; font-size: 16px; margin: 2px 0 10px; text-align: center; }
.hp-dp__wk { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; font-size: 11.5px; color: var(--hp-muted); text-align: center; margin-bottom: 4px; }
.hp-dp__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.hp-dp__day {
  height: 40px; border-radius: 9px; border: 1px solid transparent; background: transparent; color: var(--hp-ink);
  font-weight: 500; font-size: 14px; cursor: pointer; font-family: inherit; padding: 0; position: relative;
  transition: background .15s;
}
.hp-dp__day:hover:not(:disabled):not(.is-selected) { background: rgba(14, 27, 36, .06); }
.hp-dp__day.is-range { background: rgba(255, 159, 28, .16); border-radius: 0; }
.hp-dp__day.is-selected { background: var(--hp-ink); color: #fff; font-weight: 700; }
.hp-dp__day.is-disabled { color: #A7B1B7; cursor: not-allowed; }
.hp-dp__day.is-closed { text-decoration: line-through; }
.hp-dp__day--blank { border: 0; background: transparent; cursor: default; }
.hp-dp__daydot { position: absolute; left: 50%; bottom: 5px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; }
.hp-dp__legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; font-size: 12px; color: var(--hp-text-2); }
.hp-dp__lg { display: inline-flex; align-items: center; gap: 6px; }
.hp-dp__dot { width: 8px; height: 8px; border-radius: 50%; }
.hp-dp__bar { width: 14px; height: 2px; background: #9AA6AD; }
@media (pointer: coarse) { .hp-dp__day { height: 44px; } }

/* ==== Responsive audit fix ==== */
@media (pointer: coarse) { .hp-dp__nav { width: 44px; height: 44px; } }
