/* The original ticket is the sliding element. Its tab is a direct child,
 * so both follow the product tab's existing motion as one object. */
.bekaa-charter-planner #desktopRouteCard[hidden],
.bekaa-charter-planner .quote-restore-control[hidden] { display:none !important; }
/* A fixed offset from the ticket's top edge, independent of its contents.
 * The restore tab shares the ticket's 32px top gutter and 1px border. */
.bekaa-charter-planner {
  --bekaa-estimate-tab-offset:96px;
}
.bekaa-charter-planner #desktopRouteCard {
  --bekaa-panel-tab-top:var(--bekaa-estimate-tab-offset,96px);
}
.bekaa-charter-planner .quote-restore-control {
  position:fixed;
  top:calc(var(--bekaa-planner-header-offset) + 33px + var(--bekaa-estimate-tab-offset,96px));
  right:0;
  width:0;
  height:0;
  z-index:5;
  pointer-events:none;
  transform:translateX(var(--bekaa-booking-rail-width));
}
.bekaa-charter-planner .quote-restore-control.is-visible { transform:none; }
.bekaa-charter-planner .quote-restore-control.is-visible .bekaa-quote-tab { pointer-events:auto; }
.bekaa-charter-planner #desktopRouteCard:not(.is-visible) { pointer-events:none; }
@media (max-width:760px), (max-width:900px) and (orientation:portrait) {
  .bekaa-charter-planner .quote-restore-control { display:none !important; }
}

@media (prefers-reduced-motion:reduce) {
  .bekaa-charter-planner .quote-restore-control { transition:none; }
}
