/* CDO LAB 3.13.59 — Shared Date Range Picker.
 * Promoted from the proven Discovery search calendar interaction.
 * LAB owns geometry, state colors and responsive behavior. */
.cdo-date-range-picker,
.cdo-date-range-picker *,
.cdo-date-range-calendar,
.cdo-date-range-calendar *{box-sizing:border-box}

.cdo-date-range-picker{display:grid;gap:8px;min-width:0}
.cdo-date-range-picker__label{
    margin:0;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-body,16px);
    line-height:1.25;
    font-weight:var(--cdo-ds-weight-strong,700);
}
button.cdo-date-range-picker__trigger{
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    min-width:0;
    height:44px;
    min-height:44px;
    margin:0;
    padding:0 14px;
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line));
    border-radius:var(--cdo-ds-radius-control,var(--cdo-radius-sm));
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    box-shadow:none;
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-body,16px);
    font-weight:var(--cdo-ds-weight-body,400);
    line-height:1.2;
    text-align:left;
    text-transform:none;
    letter-spacing:0;
    cursor:pointer;
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
button.cdo-date-range-picker__trigger>i:first-child{flex:0 0 auto;color:var(--cdo-ds-color-primary,var(--cdo-primary));font-size:17px}
button.cdo-date-range-picker__trigger [data-cdo-date-display]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.cdo-date-range-picker__trigger .cdo-date-range-picker__chevron{flex:0 0 auto;margin-left:auto;color:var(--cdo-ds-color-muted,var(--cdo-muted));font-size:11px}
button.cdo-date-range-picker__trigger:hover{
    border-color:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 52%,transparent);
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
}
button.cdo-date-range-picker__trigger:focus-visible,
button.cdo-date-range-picker__trigger[aria-expanded="true"]{
    outline:0;
    border-color:var(--cdo-ds-color-secondary,var(--cdo-secondary));
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    box-shadow:0 0 0 3px color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 10%,transparent);
}
.cdo-date-range-picker.is-placeholder button.cdo-date-range-picker__trigger [data-cdo-date-display]{color:var(--cdo-ds-color-muted,var(--cdo-muted))}

.cdo-date-range-calendar[hidden]{display:none}
.cdo-date-range-calendar{
    position:fixed;
    z-index:200000;
    width:min(520px,calc(100vw - 32px));
    max-height:min(420px,calc(100vh - 32px));
    margin:0;
    padding:14px 16px 12px;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line));
    border-radius:var(--cdo-ds-radius-card,var(--cdo-radius-lg));
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    box-shadow:none;
}
.cdo-date-range-calendar__head{display:flex;align-items:center;justify-content:flex-end;min-width:0;margin:0 0 6px}
button.cdo-date-range-calendar__close,
button.cdo-date-range-calendar__nav,
button.cdo-date-range-calendar__clear{
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    margin:0;
    border:0;
    box-shadow:none;
    text-decoration:none;
    text-transform:none;
    letter-spacing:0;
    user-select:none;
    cursor:pointer;
}
button.cdo-date-range-calendar__close{width:32px;height:32px;padding:0;border-radius:var(--cdo-ds-radius-pill,999px);background:transparent;color:var(--cdo-ds-color-muted,var(--cdo-muted))}
button.cdo-date-range-calendar__nav{width:40px;height:40px;padding:0;border-radius:var(--cdo-ds-radius-control,var(--cdo-radius-sm));background:transparent;color:var(--cdo-ds-color-heading,var(--cdo-navy));font-size:15px}
button.cdo-date-range-calendar__close:hover{background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 9%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-heading,var(--cdo-navy))}
button.cdo-date-range-calendar__nav:hover{background:color-mix(in srgb,var(--cdo-ds-color-primary,var(--cdo-primary)) 8%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-primary,var(--cdo-primary))}
button.cdo-date-range-calendar__nav:disabled{background:transparent;color:var(--cdo-ds-color-muted,var(--cdo-muted));opacity:.35;cursor:not-allowed}
button.cdo-date-range-calendar__close:focus-visible,
button.cdo-date-range-calendar__nav:focus-visible,
button.cdo-date-range-calendar__clear:focus-visible{outline:2px solid color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 42%,transparent);outline-offset:2px}
.cdo-date-range-calendar__navrow{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) 40px;align-items:center;gap:8px;margin:0 0 6px}
.cdo-date-range-calendar__navrow strong{color:var(--cdo-ds-color-heading,var(--cdo-navy));font-size:var(--cdo-ds-text-small,14px);font-weight:var(--cdo-ds-weight-strong,700);line-height:1.2;letter-spacing:-.01em;text-align:center;text-transform:none}
.cdo-date-range-calendar__months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.cdo-date-range-calendar__month{min-width:0;overflow:hidden}
.cdo-date-range-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;width:100%;min-width:0}
.cdo-date-range-calendar__dow{display:flex;align-items:center;justify-content:center;height:24px;color:var(--cdo-ds-color-muted,var(--cdo-muted));font-size:10px;font-weight:var(--cdo-ds-weight-strong,700);line-height:1}
button.cdo-date-range-calendar__day{
    appearance:none;
    -webkit-appearance:none;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    height:34px;
    margin:0;
    padding:0;
    border:0;
    border-radius:var(--cdo-ds-radius-control,var(--cdo-radius-sm));
    background:transparent;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    box-shadow:none;
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:12px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    text-transform:none;
    letter-spacing:0;
    user-select:none;
    cursor:pointer;
    transition:background-color .14s ease,color .14s ease,opacity .14s ease;
}
.cdo-date-range-calendar__day--empty{visibility:hidden;pointer-events:none;height:34px}
.cdo-date-range-calendar button.cdo-date-range-calendar__day:not(:disabled):not(.is-start):not(.is-end):not(.is-range):hover{background:color-mix(in srgb,var(--cdo-ds-color-primary,var(--cdo-primary)) 8%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-heading,var(--cdo-navy))}
.cdo-date-range-calendar button.cdo-date-range-calendar__day:focus-visible{outline:2px solid var(--cdo-ds-color-primary,var(--cdo-primary));outline-offset:2px}
.cdo-date-range-calendar button.cdo-date-range-calendar__day:disabled{background:transparent;color:var(--cdo-ds-color-muted,var(--cdo-muted));opacity:.36;text-decoration:none;cursor:not-allowed}
.cdo-date-range-calendar button.cdo-date-range-calendar__day.is-range{background:var(--cdo-ds-color-neutral-soft,var(--cdo-soft));color:var(--cdo-ds-color-heading,var(--cdo-navy))}
.cdo-date-range-calendar button.cdo-date-range-calendar__day.is-start,
.cdo-date-range-calendar button.cdo-date-range-calendar__day.is-start:hover{background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 18%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-secondary,var(--cdo-secondary));opacity:1;font-weight:var(--cdo-ds-weight-strong,700)}
.cdo-date-range-calendar button.cdo-date-range-calendar__day.is-end,
.cdo-date-range-calendar button.cdo-date-range-calendar__day.is-end:hover{background:color-mix(in srgb,var(--cdo-ds-color-primary,var(--cdo-primary)) 14%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-primary,var(--cdo-primary));opacity:1;font-weight:var(--cdo-ds-weight-strong,700)}
.cdo-date-range-calendar[data-mode="single"] button.cdo-date-range-calendar__day.is-start,
.cdo-date-range-calendar[data-mode="single"] button.cdo-date-range-calendar__day.is-start:hover{background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 18%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-secondary,var(--cdo-secondary))}
.cdo-date-range-calendar__footer{display:flex;align-items:center;justify-content:flex-start;min-height:34px;margin-top:8px;padding-top:7px;border-top:1px solid color-mix(in srgb,var(--cdo-ds-color-border,var(--cdo-line)) 75%,transparent)}
button.cdo-date-range-calendar__clear{width:auto;min-width:0;min-height:30px;padding:0 9px;border-radius:var(--cdo-ds-radius-control,var(--cdo-radius-sm));background:transparent;color:var(--cdo-ds-color-muted,var(--cdo-muted));font-family:var(--cdo-ds-font-body,inherit);font-size:10px;font-weight:var(--cdo-ds-weight-strong,700);line-height:1;gap:7px}
button.cdo-date-range-calendar__clear:hover{background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 8%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-heading,var(--cdo-navy))}

@media(max-width:1020px) and (min-width:721px){
    .cdo-date-range-calendar{width:min(400px,calc(100vw - 32px))}
    .cdo-date-range-calendar__navrow{grid-template-columns:36px minmax(0,1fr) 36px;gap:10px}
    .cdo-date-range-calendar__navrow [data-cdo-calendar-title="second"]{display:none}
    .cdo-date-range-calendar__navrow .cdo-date-range-calendar__nav:last-child{grid-column:3}
    .cdo-date-range-calendar__months{grid-template-columns:1fr;gap:0}
    .cdo-date-range-calendar__month:nth-child(2){display:none}
}

@media(max-width:720px){
    body.cdo-date-range-layer-open{overflow:hidden}
    .cdo-date-range-calendar{
        position:fixed;
        inset:auto 0 0 0;
        width:100%;
        max-width:none;
        max-height:min(78vh,620px);
        border-radius:var(--cdo-ds-radius-card,var(--cdo-radius-lg)) var(--cdo-ds-radius-card,var(--cdo-radius-lg)) 0 0;
        padding:16px 14px calc(16px + env(safe-area-inset-bottom));
    }
    .cdo-date-range-calendar__head{align-items:flex-start;margin-bottom:10px}
    .cdo-date-range-calendar__close{background:var(--cdo-ds-color-surface,var(--cdo-surface))}
    .cdo-date-range-calendar__navrow{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}
    .cdo-date-range-calendar__navrow [data-cdo-calendar-title="second"]{display:none}
    .cdo-date-range-calendar__navrow .cdo-date-range-calendar__nav:last-child{grid-column:3}
    .cdo-date-range-calendar__months{grid-template-columns:1fr;gap:0}
    .cdo-date-range-calendar__month:nth-child(2){display:none}
    .cdo-date-range-calendar__grid{gap:4px 2px}
    button.cdo-date-range-calendar__day,.cdo-date-range-calendar__day--empty{height:40px}
}
