/*
 * Route card refresh: the desktop ticket over the map, and its phone version.
 * Every rule is scoped to .is-card-refresh (the card) or .is-route-refresh (the
 * planner), which the script adds only when ROUTE_CARD_DESIGN is 'refresh'
 * (bekaa-charter-planner.php). Without those classes this file does nothing
 * and the approved planner renders unchanged.
 */
.bekaa-charter-planner.is-route-refresh{--card-label:#6c6c6c;--card-serif:gilda-display,"Gilda Display",Georgia,"Times New Roman",serif}
.bekaa-charter-planner .route-card.is-card-refresh{--card-pad:32px;--card-rail:22px;--card-label:#6c6c6c;--card-rule:#e0e0dd;--card-serif:gilda-display,"Gilda Display",Georgia,"Times New Roman",serif}

/* The ticket stays in place while a new route glides onto the map; only the landing handoff still holds it back for its reveal. */
.bekaa-charter-planner.is-quote-route-pending:not(.is-multi):not(.is-handoff-estimates-held) .route-card.is-card-refresh{visibility:visible;opacity:1;transform:none;pointer-events:auto}

/* Sheet: one left edge for every line of text; the rail hangs in the gutter. */
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded){max-height:calc(100vh - 122px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .route-card-summary{padding:28px var(--card-pad) 24px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .desktop-route{margin:0 0 20px calc(-1*var(--card-rail))!important}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .desktop-route-endpoint{grid-template-columns:14px minmax(0,1fr);column-gap:8px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .desktop-route-endpoint.is-origin{padding-bottom:12px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .desktop-route-endpoint.is-destination{padding-top:12px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .desktop-route-tag{margin:0 0 3px;color:var(--card-label);font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.13em;line-height:1.3}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) :is(.desktop-route-origin,.desktop-route-destination){font-family:var(--card-serif);font-size:23px;font-weight:400;letter-spacing:0;line-height:1.15}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .desktop-route-rail::before{left:6px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-origin .desktop-route-rail::before{top:30px;bottom:-12px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-destination .desktop-route-rail::before{top:-12px;height:42px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-origin .desktop-route-rail::after{top:26px;left:3px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-destination .desktop-route-rail::after{top:26px;left:3.5px}
.bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .desktop-route-blank{height:26px}

/* Trip, passengers and date: the trip takes the spare width so it stays on one line. */
/* Trip in words, then guests and date as icon and figure, the same icons as the aircraft rows. The word labels remain for screen readers. */
.bekaa-charter-planner.is-route-refresh{--icon-guests:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M117.25,157.92a60,60,0,1,0-66.5,0A95.83,95.83,0,0,0,3.53,195.63a8,8,0,1,0,13.4,8.74,80,80,0,0,1,134.14,0,8,8,0,0,0,13.4-8.74A95.83,95.83,0,0,0,117.25,157.92ZM40,108a44,44,0,1,1,44,44A44.05,44.05,0,0,1,40,108Zm210.14,98.7a8,8,0,0,1-11.07-2.33A79.83,79.83,0,0,0,172,168a8,8,0,0,1,0-16,44,44,0,1,0-16.34-84.87,8,8,0,1,1-5.94-14.85,60,60,0,0,1,55.53,105.64,95.83,95.83,0,0,1,47.22,37.71A8,8,0,0,1,250.14,206.7Z'/%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Z'/%3E%3C/svg%3E")}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 20px}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief>div{display:flex;align-items:flex-start;gap:6px;min-width:0}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief>div:first-child{flex:1 1 auto}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief small{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief>div:nth-child(n+2)::before{content:"";flex:0 0 15px;width:15px;height:15px;margin-top:.5px;background:var(--card-label);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief>div:nth-child(2){--icon:var(--icon-guests)}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief>div:nth-child(3){--icon:var(--icon-date)}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief strong{margin-top:0;font-size:13px;font-weight:700;line-height:1.25}
:is(.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner.is-route-refresh .step-brief) .desktop-route-brief .brief-sub{font-size:11.5px;font-weight:400}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .desktop-card-perforation{margin:20px calc(-1*var(--card-pad)) 18px}

/* Aircraft and pricing. Prices use the serif numerals of the site's booking cards. */
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-index-title{margin:0;color:var(--card-label)}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-note{margin:6px 0 0;color:#555;font-family:Arial,Helvetica,sans-serif;font-size:11.5px;line-height:1.45;text-wrap:balance}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-tailored{margin:9px 0 0;color:#555;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.45}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-tailored strong{display:block;margin:0 0 4px;color:var(--red);font-family:var(--card-serif);font-size:24px;font-weight:400;line-height:1.15}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-list{margin:14px calc(-1*var(--card-pad)) 0;border-top:1px solid var(--card-rule)}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-list.is-flush{margin-bottom:-24px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row{display:grid;width:100%;min-height:64px;grid-template-columns:minmax(0,1fr) max-content 14px;gap:3px 12px;align-items:center;margin:0;padding:12px var(--card-pad);border:0;border-bottom:1px solid var(--card-rule);border-radius:0;background:#fff;box-shadow:none;color:var(--ink);font-family:Arial,Helvetica,sans-serif;letter-spacing:normal;text-align:left;text-transform:none;cursor:pointer;transition:background-color .14s ease}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row.is-unpriced{grid-template-columns:minmax(0,1fr) 14px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-list.is-flush button.quote-row:last-child{border-bottom:0}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row:hover{background:#f5f3f0}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row:active{background:#ebe7e2}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-name{display:flex;grid-column:1;grid-row:1;align-items:center;align-self:end;gap:6px;color:#111;font-size:14px;font-weight:700;line-height:1.25}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-preferred{display:inline-flex;color:var(--red)}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-preferred>.ui-icon{width:15px;height:15px;flex-basis:15px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-meta{display:flex;grid-column:1;grid-row:2;align-items:center;align-self:start;gap:12px;color:var(--card-label);font-size:11.5px;line-height:1.3}
/* Guests and flight time as icon and figure, the way the approved card showed guests. */
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-fact{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-fact>.ui-icon{width:13px;height:13px;flex-basis:13px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-price{grid-column:2;grid-row:1/3;color:var(--red);font-family:var(--card-serif);font-size:24px;font-weight:400;line-height:1.15;text-align:right;white-space:nowrap}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-price.is-tailored{font-size:16px;font-style:italic}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-cue{display:grid;grid-column:-2;grid-row:1/3;place-items:center end;margin-right:-4px;color:#8a8a8a}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-cue>.ui-icon{width:14px;height:14px;flex-basis:14px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row:hover .quote-row-cue{color:#111}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row.is-unavailable :is(.quote-row-name,.quote-row-price){opacity:.5}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row.is-unavailable .quote-row-meta{color:#7b1e22}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row.is-preferred{box-shadow:inset 3px 0 var(--red)}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-index-footer{grid-template-columns:20px minmax(0,1fr);gap:10px;margin:18px 0 0!important;color:var(--card-label);font-size:11px!important}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-index-footer img{width:20px;height:20px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-index-footer span{padding-left:10px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-group-note{margin:10px 0 0}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-group-note strong{margin:0 0 8px;font-family:var(--card-serif);font-size:21px;font-weight:400;line-height:1.2}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-group-note p{font-size:12.5px}
.bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-loading-rows{margin-top:14px}
@media(prefers-reduced-motion:no-preference){
  /* After the landing handoff the quote rises in as the camera settles. */
  .bekaa-charter-planner .route-card.is-card-refresh{transition:width .2s ease,opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-cue>.ui-icon{transition:translate .16s cubic-bezier(.22,1,.36,1)}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row:hover .quote-row-cue>.ui-icon{translate:2px 0}
}

/* Multi-stop shares the sheet, labels and aircraft rows. */
.bekaa-charter-planner.is-multi .route-card.is-card-refresh .multi-card-heading{color:var(--card-label);font-weight:800;letter-spacing:.13em}
.bekaa-charter-planner.is-multi .route-card.is-card-refresh .multi-summary-list strong{font-family:var(--card-serif);font-weight:400;letter-spacing:0;line-height:1.2}

/* Aircraft detail: the same ticket. Identity and price above the perforation, particulars below. */
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded{width:370px;max-height:calc(100vh - 122px);background:transparent;border-color:transparent;box-shadow:0 14px 34px #0000001f;overscroll-behavior:contain;scrollbar-width:thin}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .route-card-sheet{--brief-notch-y:-100px;position:relative;background:#fff;border:1px solid #d4d4d1;-webkit-mask-image:radial-gradient(circle at 0 calc(var(--brief-notch-y) + 1.5px),transparent 7.5px,#000 8.5px),radial-gradient(circle at 100% calc(var(--brief-notch-y) + 1.5px),transparent 7.5px,#000 8.5px);-webkit-mask-composite:source-in;mask-image:radial-gradient(circle at 0 calc(var(--brief-notch-y) + 1.5px),transparent 7.5px,#000 8.5px),radial-gradient(circle at 100% calc(var(--brief-notch-y) + 1.5px),transparent 7.5px,#000 8.5px);mask-composite:intersect}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stub{padding:20px var(--card-pad) 0}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-route{display:block;margin:0 0 4px;color:var(--card-label);font-size:10px;font-weight:800;letter-spacing:.13em;line-height:1.4;text-transform:uppercase}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail h3{margin:0;color:#111;font-family:var(--card-serif);font-size:26px;font-weight:400;letter-spacing:0;line-height:1.15}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-price{display:block;margin:10px 0 0;color:var(--red);font-family:var(--card-serif);font-size:26px;font-weight:400;line-height:1.15}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-price.is-tailored{font-size:22px;font-style:italic}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-note{margin:6px 0 0;color:#555;font-family:Arial,Helvetica,sans-serif;font-size:11.5px;line-height:1.45}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .desktop-card-perforation{height:3px;margin:20px 0 18px;background:repeating-linear-gradient(90deg,transparent 0 8px,#d8d5d0 8px 13px)}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-body{padding:0 var(--card-pad) 24px}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stats.has-flight-time{grid-template-columns:max-content max-content minmax(0,1fr);column-gap:28px}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stats small{display:block;color:var(--card-label);font-size:10px;font-weight:800;letter-spacing:.13em;line-height:1.2}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stats strong{display:block;margin-top:5px;color:#111;font-size:13px;font-weight:700;line-height:1.25}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-description{margin:18px 0 0;color:#333;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.5}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-features{display:flex;flex-wrap:wrap;gap:4px 16px;margin:12px 0 0;padding:0;list-style:none}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-features li{position:relative;margin:0;padding:0 0 0 11px;color:#555;font-size:11.5px;line-height:1.5}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-features li::before{content:"";position:absolute;top:.62em;left:0;width:4px;height:4px;border-radius:50%;background:var(--red)}
/* Back and Prefer are canonical site buttons; only their placement is set here. */
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-actions{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:20px}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-actions .bekaa-button{margin-left:0}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-actions #preferDesktopAircraft{flex:1 1 auto}
.bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-unavailable{margin:18px 0 0;color:#7b1e22;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5}

/*
 * Card motion (route-card-refresh.js createMotion). The ticket is one steady
 * object: it grows to its new height, its lower half arrives, a chosen place
 * settles in, and a changed figure fades out and back in. Elapsed times are set by the
 * script so a second render mid-animation carries on instead of restarting.
 */
.bekaa-charter-planner .route-card.is-card-refresh [data-price-key]{position:relative}
.bekaa-charter-planner .route-card.is-card-refresh .quote-price-ghost{position:absolute;top:0;right:0;white-space:nowrap;pointer-events:none;opacity:0}
.bekaa-charter-planner .route-card.is-card-refresh .quote-detail-price .quote-price-ghost{right:auto;left:0}
@media(prefers-reduced-motion:no-preference){
  @keyframes bekaa-route-card-arrive{from{opacity:0;transform:translateY(8px)}}
  @keyframes bekaa-route-card-fade-in{from{opacity:0}}
  @keyframes bekaa-route-card-fade-out{from{opacity:1}to{opacity:0}}
  @keyframes bekaa-route-card-rail{from{transform:scaleY(0)}}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-morphing{overflow:clip}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving :is(.aircraft-index-title,.quote-note,.quote-tailored,.aircraft-group-note,.aircraft-index-footer,.desktop-card-instruction,#desktopCardBody>p,button.quote-row,.quote-detail-stub>*,.quote-detail-body>*){animation:bekaa-route-card-arrive .42s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--arrive-step,0)*45ms - var(--arrive-elapsed,0ms))}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving :is(.quote-note,.quote-tailored,.aircraft-group-note){--arrive-step:1}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving button.quote-row{--arrive-step:calc(2 + var(--i,0))}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .aircraft-index-footer{--arrive-step:6}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .aircraft-detail-image{animation:bekaa-route-card-fade-in .5s ease backwards;animation-delay:calc(0ms - var(--arrive-elapsed,0ms))}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .quote-detail-stub>:nth-child(2){--arrive-step:1}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .quote-detail-stub>:nth-child(n+3){--arrive-step:2}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .quote-detail-body>:nth-child(1){--arrive-step:3}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .quote-detail-body>:nth-child(2){--arrive-step:4}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .quote-detail-body>:nth-child(3){--arrive-step:5}
  .bekaa-charter-planner .route-card.is-card-refresh .route-card-sheet.is-arriving .quote-detail-body>:nth-child(n+4){--arrive-step:6}
  .bekaa-charter-planner .route-card.is-card-refresh.is-settling-origin .is-origin .desktop-route-origin{animation:bekaa-route-card-arrive .34s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(0ms - var(--settle-origin-elapsed,0ms))}
  .bekaa-charter-planner .route-card.is-card-refresh.is-settling-destination .is-destination .desktop-route-destination{animation:bekaa-route-card-arrive .34s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(120ms - var(--settle-destination-elapsed,0ms))}
  /* The rail inks down from origin to destination as the destination settles, echoing the line on the map. */
  .bekaa-charter-planner .route-card.is-card-refresh.is-settling-destination .is-origin .desktop-route-rail::before{transform-origin:top;animation:bekaa-route-card-rail .18s linear backwards;animation-delay:calc(0ms - var(--settle-destination-elapsed,0ms))}
  .bekaa-charter-planner .route-card.is-card-refresh.is-settling-destination .is-destination .desktop-route-rail::before{transform-origin:top;animation:bekaa-route-card-rail .2s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(180ms - var(--settle-destination-elapsed,0ms))}
  .bekaa-charter-planner .route-card.is-card-refresh.is-settling-destination .is-destination .desktop-route-rail::after{animation:bekaa-route-card-fade-in .16s ease backwards;animation-delay:calc(340ms - var(--settle-destination-elapsed,0ms))}
  .bekaa-charter-planner .route-card.is-card-refresh [data-price-key].is-changing>.quote-price-value{display:inline-block;animation:bekaa-route-card-fade-in .22s ease .14s backwards}
  .bekaa-charter-planner .route-card.is-card-refresh [data-price-key].is-changing>.quote-price-ghost{animation:bekaa-route-card-fade-out .15s ease forwards}
}

@media(min-width:761px) and (max-width:1100px){
  .bekaa-charter-planner .route-card.is-card-refresh{--card-pad:22px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded),.bekaa-charter-planner .route-card.is-card-refresh.is-expanded{width:288px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail h3{font-size:23px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-price{font-size:23px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stats{gap:10px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stats.has-flight-time{grid-template-columns:max-content minmax(0,1fr);gap:12px 28px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stats.has-flight-time>div:last-child{grid-column:1/-1}
  .bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) :is(.desktop-route-origin,.desktop-route-destination){font-size:21px}
  .bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-origin .desktop-route-rail::before{top:29px}
  .bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-destination .desktop-route-rail::before{height:41px}
  .bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-origin .desktop-route-rail::after{top:25px}
  .bekaa-charter-planner:not(.is-multi) .route-card.is-card-refresh:not(.is-expanded) .is-destination .desktop-route-rail::after{top:25px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .desktop-route-brief>div:first-child{flex-basis:100%}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row{column-gap:10px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row:not(.is-unpriced) .quote-row-meta{grid-column:1/3}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row:not(.is-unpriced) .quote-row-price{grid-row:1;align-self:end}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-name{font-size:13px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-price{font-size:19px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-row-price.is-tailored{font-size:15px}
}
@media(min-width:761px) and (max-height:800px){
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .route-card-summary{padding-top:24px;padding-bottom:20px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .quote-list.is-flush{margin-bottom:-20px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) button.quote-row{min-height:56px;padding-top:9px;padding-bottom:9px}
  .bekaa-charter-planner .route-card.is-card-refresh:not(.is-expanded) .aircraft-index-footer{margin-top:14px!important}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .aircraft-detail-image{height:150px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-stub{padding-top:16px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .desktop-card-perforation{margin:16px 0 14px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-description{margin-top:14px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-actions{margin-top:16px}
  .bekaa-charter-planner .route-card.is-card-refresh.is-expanded .quote-detail-body{padding-bottom:20px}
}

/*
 * Phone. The aircraft list is the desktop rows inside the planner's accordion:
 * icon line for guests and flight time, the price alone in the serif, one
 * chevron. An opened aircraft shows the desktop aircraft screen's particulars
 * without repeating the name and price already on its row. Secondary text is
 * 13px, not the 9-10px it was, because a phone is read at arm's length.
 */
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-header{padding:18px 20px 14px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-header h2{font-size:21px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-header .quote-note{margin:7px 0 0;color:#555;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45;text-wrap:balance}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-header .quote-tailored{margin:10px 0 0;color:#555;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-header .quote-tailored strong{display:block;margin:0 0 3px;color:var(--red);font-family:var(--card-serif);font-size:24px;font-weight:400;line-height:1.15}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-group-note{font-size:13px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-row{min-height:72px;gap:5px 14px;padding:14px 20px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-row.is-unavailable{opacity:1}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-row.is-unavailable :is(.mobile-aircraft-name,.mobile-aircraft-price){opacity:.5}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;line-height:1.25}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-name .quote-row-preferred{display:inline-flex;color:var(--red)}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-name .quote-row-preferred>.ui-icon{width:16px;height:16px;flex-basis:16px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-facts{display:flex;grid-column:1;align-items:center;gap:14px;color:var(--card-label);font-size:13px;line-height:1.3}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-row.is-unavailable .mobile-aircraft-facts{color:#7b1e22}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-facts .quote-row-fact{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-facts .quote-row-fact>.ui-icon{width:15px;height:15px;flex-basis:15px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-action{flex-direction:row;align-items:center;gap:12px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-price{position:relative;font-family:var(--card-serif);font-size:24px;font-weight:400;line-height:1.15}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-price.is-tailored{font-size:17px;font-style:italic}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-price .quote-price-ghost{position:absolute;top:0;right:0;white-space:nowrap;pointer-events:none;opacity:0}
/* The cue keeps "View aircraft" / "Hide details" for screen readers; only its chevron shows. */
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-cue{gap:0;color:#8a8a8a;font-size:0}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-cue>.ui-icon{width:18px;height:18px;flex-basis:18px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy{padding:18px 20px 20px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-stats.has-flight-time{grid-template-columns:max-content max-content minmax(0,1fr);column-gap:28px}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-stats small{display:block;color:var(--card-label);font-size:10.5px;font-weight:800;letter-spacing:.13em;line-height:1.2}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-stats strong{display:block;margin-top:5px;color:#111;font-size:14px;font-weight:700;line-height:1.25}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-description{margin:16px 0 0;color:#333;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-features{display:flex;flex-wrap:wrap;gap:5px 18px;margin:12px 0 0;padding:0;list-style:none}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-features li{position:relative;margin:0;padding:0 0 0 12px;color:#555;font-size:13px;line-height:1.5}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-features li::before{content:"";position:absolute;top:.66em;left:0;width:4px;height:4px;border-radius:50%;background:var(--red)}
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .quote-detail-unavailable{margin:16px 0 0;color:#7b1e22;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.5}
/* Prefer is the canonical site button; only its width and spacing are set here. */
.bekaa-charter-planner.is-route-refresh .mobile-aircraft-detail-copy .bekaa-button{display:flex;width:100%;margin:18px 0 0}
/* The route summary above steps 2 to 4 takes the ticket's type. */
.bekaa-charter-planner.is-route-refresh .step-brief .desktop-route-tag{margin:0 0 2px;color:var(--card-label);font-size:10px;letter-spacing:.13em}
.bekaa-charter-planner.is-route-refresh .step-brief :is(.desktop-route-origin,.desktop-route-destination){font-family:var(--card-serif);font-size:19px;font-weight:400;letter-spacing:0;line-height:1.2}
.bekaa-charter-planner.is-route-refresh .step-brief .is-origin .desktop-route-rail::before{top:25px}
.bekaa-charter-planner.is-route-refresh .step-brief .is-destination .desktop-route-rail::before{height:34px}
.bekaa-charter-planner.is-route-refresh .step-brief .is-origin .desktop-route-rail::after{top:22px}
.bekaa-charter-planner.is-route-refresh .step-brief .is-destination .desktop-route-rail::after{top:22.5px}
/* The trip line hangs under the place names, so the rail is the only thing left of that edge. */
.bekaa-charter-planner.is-route-refresh .step-brief .desktop-route-brief{margin-left:21px}
/* Multi-stop summary above steps 2 to 4: the same serif for the start-to-finish line and for each stop. */
.bekaa-charter-planner.is-route-refresh .itinerary-endpoints{font-family:var(--card-serif);font-size:21px;font-weight:400;line-height:1.2}
.bekaa-charter-planner.is-route-refresh .itinerary-disclosure summary{color:var(--card-label);font-size:13px}
.bekaa-charter-planner.is-route-refresh.is-multi .step-brief .multi-summary-list strong{font-family:var(--card-serif);font-weight:400;letter-spacing:0}
.bekaa-charter-planner.is-route-refresh.is-multi .is-itinerary-disclosure .multi-summary-list strong{font-size:19px;line-height:1.25}
@media(prefers-reduced-motion:no-preference){
  .bekaa-charter-planner.is-route-refresh .mobile-aircraft-price.is-changing>.quote-price-value{display:inline-block;animation:bekaa-route-card-fade-in .22s ease .14s backwards}
  .bekaa-charter-planner.is-route-refresh .mobile-aircraft-price.is-changing>.quote-price-ghost{animation:bekaa-route-card-fade-out .15s ease forwards}
}
