.date-range__trigger,
.home-date-range__trigger {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  width:100%;
  min-height:var(--control-height);
  padding:0;
  border:0;
  border-radius:0;
  color:var(--text-primary);
  background:transparent;
  text-align:left;
}

.date-range__trigger > span:first-child,
.home-date-range__trigger > span:first-child { display:grid; gap:var(--space-1); min-width:0; }
.date-range__trigger small,
.home-date-range__trigger small { color:var(--text-secondary); font:var(--text-label) var(--font-utility); letter-spacing:.08em; text-transform:uppercase; }
.date-range__trigger strong,
.home-date-range__trigger strong { overflow:hidden; color:var(--text-primary); font-size:.82rem; text-overflow:ellipsis; white-space:nowrap; }
.date-range__trigger > span:last-child,
.home-date-range__trigger > span:last-child { color:var(--text-tertiary); transition:transform var(--duration-micro) var(--ease-quiet); }
.date-range__trigger[aria-expanded="true"] > span:last-child,
.home-date-range__trigger[aria-expanded="true"] > span:last-child { transform:rotate(180deg); }

.date-range__popover,
.home-date-range__popover {
  position:absolute;
  z-index:20;
  top:calc(100% + var(--space-2));
  left:0;
  width:min(23rem,90vw);
  padding:var(--space-4);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-card);
  color:var(--text-primary);
  background:var(--surface-page);
  box-shadow:var(--shadow-floating);
}
.date-range__popover .date-range__calendar { padding:0; border:0; border-radius:0; background:transparent; }
.date-range__toolbar,
.home-date-range__toolbar { display:grid; grid-template-columns:var(--control-height) 1fr var(--control-height); gap:var(--space-2); align-items:center; margin-bottom:var(--space-2); }
.date-range__toolbar strong,
.home-date-range__toolbar strong { color:var(--text-primary); font-family:var(--font-display); font-size:1.15rem; font-weight:500; text-align:center; }
.date-range__toolbar button,
.home-date-range__toolbar button { min-width:var(--control-height); min-height:var(--control-height); border:1px solid var(--border-subtle); border-radius:var(--radius-control); color:var(--text-primary); background:var(--surface-raised); }
.date-range__toolbar button:disabled,
.home-date-range__toolbar button:disabled { cursor:not-allowed; opacity:.4; }
.date-range__weekdays,.date-range__days,
.home-date-range__weekdays,.home-date-range__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.date-range__weekdays span,
.home-date-range__weekdays span { padding:var(--space-2) 0; color:var(--text-tertiary); font:var(--text-label) var(--font-utility); text-align:center; text-transform:uppercase; }
.date-range__day,
.home-date-range__day { position:relative; min-width:0; min-height:var(--control-height); padding:0; border:0; border-radius:var(--radius-small); color:var(--text-primary); background:transparent; font-size:.76rem; }
.date-range__day:hover:not(:disabled),
.home-date-range__day:hover:not(:disabled) { background:var(--surface-muted); }
.date-range__day:disabled,
.home-date-range__day:disabled { cursor:not-allowed; color:var(--text-tertiary); opacity:.45; }
.date-range__day.is-today::after,
.home-date-range__day.is-today::after { position:absolute; right:calc(50% - .15rem); bottom:var(--space-1); width:.3rem; height:.3rem; border-radius:50%; background:var(--action-accent); content:""; }
.date-range__day.is-in-range,.date-range__day.is-in-range-preview,
.home-date-range__day.is-in-range,.home-date-range__day.is-in-range-preview { border-radius:0; background:var(--status-info-surface); }
.date-range__day.is-pickup,.date-range__day.is-dropoff,.date-range__day.is-dropoff-preview,
.home-date-range__day.is-pickup,.home-date-range__day.is-dropoff,.home-date-range__day.is-dropoff-preview { border-radius:var(--radius-control); color:var(--text-on-dark); background:var(--action-primary); font-weight:600; }
.date-range__hint,
.home-date-range__popover > p { min-height:1.4em; margin:var(--space-2) 0 0; color:var(--text-secondary); font-size:.74rem; }

@media (max-width:480px) {
  .date-range__popover,
  .home-date-range__popover { right:0; left:auto; width:min(23rem,calc(100vw - var(--space-8))); padding:var(--space-3); }
}
