/* Lift Panama v0.4.3.7 — Global booking progress guide */
.booking-progress-guide{
    margin:0 0 14px;
    padding:14px;
    border:1px solid #c8d9e7;
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbfe 100%);
    box-shadow:0 10px 26px rgba(11,45,79,.06);
}
.booking-progress-main{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
}
.booking-progress-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#0b2d4f;
    color:#fff;
    font-size:15px;
    font-weight:950;
    box-shadow:0 7px 15px rgba(11,45,79,.15);
}
.booking-progress-copy{
    min-width:0;
    display:grid;
    gap:2px;
}
.booking-progress-kicker{
    color:#6b8295;
    font-size:10px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.booking-progress-copy strong{
    color:#0b2d4f;
    font-size:15px;
    line-height:1.25;
}
.booking-progress-copy > span:last-child{
    color:#60788c;
    font-size:12px;
    line-height:1.45;
}
.booking-progress-action{
    min-height:40px;
    padding:0 14px;
    border:0;
    border-radius:11px;
    background:#0b5da8;
    color:#fff;
    font-size:12px;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 6px 14px rgba(11,93,168,.13);
}
.booking-progress-action:hover{filter:brightness(.96)}
.booking-progress-action.hidden{display:none!important}

.booking-progress-steps{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin-top:13px;
}
.booking-progress-step{
    min-width:0;
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 9px;
    border:1px solid #dce6ee;
    border-radius:11px;
    background:#fff;
    color:#728698;
    font-size:10px;
    font-weight:900;
    line-height:1.15;
}
.booking-progress-step::before{
    content:"";
    width:9px;
    height:9px;
    flex:0 0 9px;
    border-radius:50%;
    border:2px solid #b8c7d3;
    background:#fff;
}
.booking-progress-step.done{
    border-color:#bfe3d2;
    background:#f3fbf7;
    color:#207452;
}
.booking-progress-step.done::before{
    border-color:#26966a;
    background:#26966a;
    box-shadow:inset 0 0 0 2px #f3fbf7;
}
.booking-progress-step.current{
    border-color:#8fc4e7;
    background:#edf7ff;
    color:#0b5da8;
    box-shadow:0 0 0 2px rgba(69,148,201,.06);
}
.booking-progress-step.current::before{
    border-color:#0b5da8;
    background:#0b5da8;
    box-shadow:0 0 0 3px rgba(11,93,168,.12);
}

.booking-progress-guide.ready{
    border-color:#acd9c6;
    background:linear-gradient(180deg,#fbfffd,#f1fbf6);
}
.booking-progress-guide.ready .booking-progress-icon{
    background:#147a52;
}
.booking-progress-guide.ready .booking-progress-kicker,
.booking-progress-guide.ready .booking-progress-copy strong{
    color:#176b4c;
}
.booking-progress-guide.waiting{
    border-color:#c9dcec;
}
.booking-progress-guide.attention{
    border-color:#e8cf7e;
    background:linear-gradient(180deg,#fffef9,#fff9e8);
}
.booking-progress-guide.attention .booking-progress-icon{
    background:#966700;
}

/* Give the exact field requested by the guide a subtle focus cue. */
.booking-guide-target{
    animation:bookingGuidePulse 1.5s ease-out 1;
    border-radius:14px;
}
@keyframes bookingGuidePulse{
    0%{box-shadow:0 0 0 0 rgba(11,93,168,.28)}
    55%{box-shadow:0 0 0 5px rgba(11,93,168,.10)}
    100%{box-shadow:0 0 0 0 rgba(11,93,168,0)}
}

@media(max-width:760px){
    .booking-progress-main{
        grid-template-columns:auto minmax(0,1fr);
    }
    .booking-progress-action{
        grid-column:1/-1;
        width:100%;
    }
    .booking-progress-steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .booking-progress-step:last-child{
        grid-column:1/-1;
    }
}
