.wm-range-picker { position: relative; width: 100%; max-width: 44rem; font-size: .875rem; }
.wm-range-trigger, .wm-selection-trigger { display: flex; align-items: center; gap: .6rem; width: 100%; min-height: 2.35rem; padding: .45rem .65rem; text-align: left; font: inherit; color: var(--bs-body-color); background: white; border: 1px solid var(--wm-border); border-radius: var(--bs-border-radius); }
.wm-range-trigger > i, .wm-selection-trigger > i { color: var(--wm-primary); flex-shrink: 0; }
.wm-range-trigger[aria-expanded=true], .wm-selection-trigger[aria-expanded=true] { border-color: var(--wm-primary); box-shadow: 0 0 0 3px rgba(var(--wm-primary-rgb), .08); }
.wm-range-trigger:disabled, .wm-selection-trigger:disabled { background: var(--wm-surface); cursor: not-allowed; }
.wm-range-calendar { position: fixed; inset: auto; z-index: 1100; box-sizing: border-box; width: 44rem; max-width: calc(100vw - 1.5rem); margin: 0; overflow: auto; padding: .75rem; background: white; border: 1px solid var(--wm-border); border-radius: var(--wm-radius-md); box-shadow: var(--wm-shadow-md); }
.wm-range-calendar[hidden], .wm-range-feedback[hidden] { display: none; }
.wm-range-navigation { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .4rem; color: var(--wm-gray); font-size: .85rem; text-align: center; }
.wm-range-navigation button { width: 1.9rem; height: 1.9rem; flex-shrink: 0; padding: 0; line-height: 1; font-size: 1.15rem; color: var(--wm-primary); background: white; border: 1px solid var(--wm-border); border-radius: var(--wm-radius-sm); }
.wm-range-months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.wm-range-months h4 { margin: .3rem 0 .75rem; font-size: .875rem; font-weight: 600; text-align: center; }
.wm-range-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.wm-range-weekday { padding-bottom: .35rem; color: var(--wm-gray); font-size: .85rem; text-align: center; }
.wm-range-day { min-height: 1.9rem; padding: .2rem; color: inherit; background: transparent; border: 0; border-radius: var(--wm-radius-sm); font: inherit; font-size: .85rem; }
.wm-range-day:hover:enabled, .wm-range-day.in-range { background: var(--wm-primary-light); }
.wm-range-day.in-range { border-radius: 0; }
.wm-range-day.selected { color: white; background: var(--wm-primary); font-weight: 600; }
.wm-range-day.selected:hover:enabled { background: var(--wm-primary); }
.wm-range-day:disabled { color: var(--wm-gray); opacity: .45; text-decoration: line-through; cursor: not-allowed; }
.wm-range-trigger:focus-visible, .wm-selection-trigger:focus-visible, .wm-range-calendar button:focus-visible, .wm-range-calendar select:focus-visible { outline: 2px solid var(--wm-primary); outline-offset: 2px; }
.wm-range-selection { margin-top: .65rem; padding: .5rem; color: var(--wm-primary); background: var(--wm-surface); border-radius: var(--wm-radius-sm); font-size: .85rem; text-align: center; }
.wm-range-times { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--wm-border); }
.wm-range-times label { display: block; margin-bottom: .5rem; font-weight: 600; }
.wm-range-time { position: relative; }
.wm-range-time > i { position: absolute; top: 50%; left: .75rem; transform: translateY(-50%); color: var(--wm-primary); pointer-events: none; }
.wm-range-time .form-select { min-height: 2.35rem; padding-left: 2.4rem; font: inherit; font-size: .85rem; }
.wm-range-footer { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .75rem; }
.wm-range-footer .btn { padding: .4rem .65rem; font-size: .85rem; }
.wm-range-feedback { font-size: .85rem; }
@media (max-width: 575.98px) {
    .wm-range-months { grid-template-columns: 1fr; }
}
