/* Three stages: concert/date, waiting room, tickets/basket. */
.booking-journey{margin:0 0 28px;padding:18px 22px;background:#f5f7fb;border:1px solid #e0e6ef;border-radius:4px}
.booking-journey ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;list-style:none;gap:14px}
.booking-journey li{position:relative;min-width:0;color:#778191;font-size:14px;font-weight:600;line-height:1.4}
.booking-journey li:not(:last-child):after{content:"";height:1px;background:#d8dfe9;position:absolute;top:15px;left:calc(50% + 23px);right:calc(-50% + 23px);pointer-events:none}
.booking-journey li>a,.booking-journey-step{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;position:relative;z-index:1}
.booking-journey li>a>span,.booking-journey-step>span{max-width:100%;overflow-wrap:break-word}
.booking-journey b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c7cfdb;border-radius:50%;background:#f5f7fb;font-size:13px}
.booking-journey .is-complete,.booking-journey .is-current{color:var(--primary)}
.booking-journey .is-complete b{background:#e6edff;border-color:#9cb8f3}
.booking-journey .is-complete:after{background:#9cb8f3!important}
.booking-journey .is-current b{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 0 4px #024ddf12}
.booking-journey a:hover span{text-decoration:underline}
.booking-date-intro{display:flex;gap:16px;align-items:center;margin:0 0 18px;padding:18px 20px;background:#f1f6ff;border-left:3px solid var(--primary)}
.booking-date-intro .icon{color:var(--primary);width:27px;height:27px;flex:none}
.booking-date-intro strong{display:block;font-size:17px;margin-bottom:5px}
.booking-date-intro p{font-size:14px;line-height:1.6;color:#566172;margin:0}
.catalog-detail .detail-intro-copy>.choose-dates{margin-top:10px}
.catalog-source-details{font-size:12px;color:#626b78;margin-top:16px}
.catalog-source-details summary{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px}
.catalog-source-details .catalog-source{margin-top:8px}
.catalog-source-details p{font-size:12px!important;line-height:1.5!important}
.catalog-session-note{font-size:12px;color:#475569;margin-top:7px;line-height:1.5}
.booking-price-pending{font-size:14px;font-weight:600;color:#475569}
.basket-position-note{font-size:12px!important;color:#64748b!important;line-height:1.5}
.basket-item .basket-seat-chip small{display:block;font-size:11px;color:#667085;line-height:1.4;margin-top:4px}
.basket-summary .booking-price-pending{font-size:13px;text-align:right;max-width:155px;line-height:1.5}
.basket-saved-message{display:flex;align-items:flex-start;gap:9px;color:#23553c;font-size:14px;line-height:1.5;margin:18px 0}
.basket-saved-message .icon{width:20px;height:20px;flex:none}
.seat-source-unavailable{margin-top:0}
.seat-progress{display:none}
@media(max-width:767px){
  .booking-journey{padding:15px 8px;margin-bottom:22px}
  .booking-journey ol{gap:4px}
  .booking-journey li{font-size:11px}
  .booking-journey b{width:27px;height:27px;font-size:12px}
  .booking-journey li:not(:last-child):after{top:13px;left:calc(50% + 18px);right:calc(-50% + 18px)}
  .booking-date-intro{padding:15px;align-items:flex-start}
  .booking-date-intro strong{font-size:16px}
  .booking-date-intro p{font-size:13px}
  .catalog-detail .choose-dates{width:100%}
}
