/* Live-only Bengal Pass frontend refinements. */

/* Branded date picker used for every native frontend date field. */
.atlastrip-theme .bp-calendar-enhanced {
    position: relative;
    overflow: visible !important;
}

.atlastrip-theme .bp-calendar-enhanced.bp-calendar-open {
    z-index: 500 !important;
}

.atlastrip-theme .bp-calendar-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.atlastrip-theme .bp-calendar-trigger {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 26px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--title-color, #14192d);
    font: 600 14px/1.3 var(--font-poppins, "Poppins", sans-serif);
    text-align: left;
}

.atlastrip-theme .bp-calendar-trigger > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.atlastrip-theme .bp-calendar-trigger > i {
    flex: 0 0 auto;
    color: var(--primary-color1, #f4941c);
    font-size: 14px;
}

.atlastrip-theme .bp-calendar-popover {
    position: absolute;
    z-index: 1000;
    top: calc(100% + 12px);
    left: 50%;
    width: min(360px, calc(100vw - 32px));
    padding: 18px;
    border: 1px solid #ebeef3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(7, 16, 42, 0.2);
    color: #14192d;
    font-family: var(--font-poppins, "Poppins", sans-serif);
    transform: translateX(-50%);
}

.atlastrip-theme .bp-calendar-header {
    display: grid;
    grid-template-columns: 42px 1fr 42px;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.atlastrip-theme .bp-calendar-header > button {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid #e6e9ef;
    border-radius: 50%;
    background: #fff;
    color: #14192d;
    transition: 0.2s ease;
}

.atlastrip-theme .bp-calendar-header > button:hover:not(:disabled) {
    border-color: #f4941c;
    background: #fff6e8;
    color: #d97706;
}

.atlastrip-theme .bp-calendar-header > button:disabled {
    cursor: not-allowed;
    opacity: 0.3;
}

.atlastrip-theme .bp-calendar-title {
    text-align: center;
}

.atlastrip-theme .bp-calendar-title strong,
.atlastrip-theme .bp-calendar-title small {
    display: block;
}

.atlastrip-theme .bp-calendar-title strong {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.2px;
}

.atlastrip-theme .bp-calendar-title small {
    margin-top: 3px;
    color: #8a93a4;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.atlastrip-theme .bp-calendar-weekdays,
.atlastrip-theme .bp-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
}

.atlastrip-theme .bp-calendar-weekdays {
    margin-bottom: 6px;
}

.atlastrip-theme .bp-calendar-weekdays span {
    display: grid;
    height: 30px;
    place-items: center;
    color: #929aaa;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.atlastrip-theme .bp-calendar-day {
    position: relative;
    display: grid;
    width: 38px;
    height: 38px;
    padding: 0;
    place-items: center;
    justify-self: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #273248;
    font-size: 12px;
    font-weight: 500;
    transition: 0.18s ease;
}

.atlastrip-theme .bp-calendar-day.is-other-month {
    color: #c2c7d0;
}

.atlastrip-theme .bp-calendar-day.is-today::after {
    position: absolute;
    bottom: 5px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #f4941c;
    content: "";
}

.atlastrip-theme .bp-calendar-day:hover:not(:disabled):not(.is-selected) {
    background: #fff3df;
    color: #c96e00;
}

.atlastrip-theme .bp-calendar-day.is-selected {
    background: #f4941c;
    box-shadow: 0 7px 18px rgba(244, 148, 28, 0.28);
    color: #fff;
    font-weight: 700;
}

.atlastrip-theme .bp-calendar-day.is-selected::after {
    background: #fff;
}

.atlastrip-theme .bp-calendar-day:disabled {
    color: #d8dbe1;
    cursor: not-allowed;
    text-decoration: line-through;
}

.atlastrip-theme .bp-calendar-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #eef0f4;
}

.atlastrip-theme .bp-calendar-footer button {
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid #e4e7ed;
    border-radius: 18px;
    background: #fff;
    color: #5e687b;
    font-size: 11px;
    font-weight: 600;
}

.atlastrip-theme .bp-calendar-footer .bp-calendar-today {
    border-color: #f4941c;
    background: #f4941c;
    color: #fff;
}

/* Flight search page: match the balanced home filter at desktop and tablet sizes. */
@media (min-width: 900px) {
    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) {
        display: grid !important;
        grid-template-columns:
            minmax(150px, 1.25fr)
            minmax(150px, 1.25fr)
            minmax(145px, 1fr)
            minmax(150px, 1fr)
            minmax(112px, 0.72fr) !important;
        gap: 12px !important;
    }

    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity):has(> .single-search-box:nth-child(5)) {
        grid-template-columns:
            minmax(135px, 1.16fr)
            minmax(135px, 1.16fr)
            minmax(118px, 0.88fr)
            minmax(118px, 0.88fr)
            minmax(138px, 0.95fr)
            minmax(105px, 0.7fr) !important;
    }

    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) > .primary-btn1 {
        grid-column: auto !important;
        width: 100% !important;
        min-width: 0;
    }

    .atlastrip-theme .bp-reference-flight-page .atlastrip-traveler-picker {
        min-width: 150px;
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity):has(> .single-search-box:nth-child(5)) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

.atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) > .single-search-box {
    min-width: 0;
    padding-inline: 14px;
}

.atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) > .single-search-box:nth-child(2) .flight-swap-btn {
    right: auto !important;
    left: -27px !important;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-traveler-trigger strong {
    font-size: 14px;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-traveler-trigger small {
    font-size: 11px;
}

/* Multi-city rows share the same proportions and field treatment as the home search. */
.atlastrip-theme .bp-reference-flight-page .atlastrip-flight-search-form.is-multicity {
    display: block !important;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-rows {
    gap: 12px;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row {
    padding: 12px;
    border: 1px solid #edf0f4;
    border-radius: 14px;
    background: #fbfcfe;
}

@media (min-width: 900px) {
    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row {
        grid-template-columns:
            minmax(145px, 1.2fr)
            minmax(145px, 1.2fr)
            minmax(135px, 0.95fr)
            minmax(150px, 1fr)
            38px !important;
        gap: 14px !important;
    }

    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .atlastrip-multicity-remove {
        position: static !important;
        grid-column: 5 !important;
        grid-row: auto !important;
        align-self: center;
        justify-self: center;
    }
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .single-search-box {
    min-width: 0;
    min-height: 60px;
    padding-inline: 13px;
    border-radius: 10px;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .atlastrip-traveler-picker {
    min-width: 145px;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .atlastrip-flight-swap {
    right: auto !important;
    left: -25px !important;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-actions {
    margin-top: 14px;
    padding: 0 4px;
}

.atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-actions .primary-btn1 {
    min-width: 190px;
    min-height: 48px;
    border-radius: 24px;
}

@media (max-width: 899px) {
    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) > .primary-btn1 {
        grid-column: 1 / -1 !important;
    }

    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) 38px !important;
        gap: 12px !important;
    }

    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .atlastrip-flight-swap {
        left: auto !important;
        right: 10px !important;
    }
}

@media (max-width: 620px) {
    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity),
    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row {
        grid-template-columns: 1fr !important;
    }

    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) > .primary-btn1 {
        grid-column: auto !important;
    }

    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .single-search-box {
        grid-column: 1 !important;
    }

    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .atlastrip-multicity-remove {
        position: absolute;
        top: 8px;
        right: 8px;
        grid-column: auto;
        grid-row: auto;
    }

    .atlastrip-theme .bp-reference-flight-page .atlastrip-multicity-row .atlastrip-flight-swap,
    .atlastrip-theme .bp-reference-flight-page .filter-input:not(.is-multicity) > .single-search-box:nth-child(2) .flight-swap-btn {
        right: 10px !important;
        bottom: -18px !important;
        left: auto !important;
        top: auto !important;
        transform: rotate(90deg) !important;
    }

    .atlastrip-theme .bp-calendar-popover {
        position: fixed;
        top: 50%;
        left: 50%;
        width: min(360px, calc(100vw - 24px));
        transform: translate(-50%, -50%);
    }
}
