/* Destination fees: complete itemised breakdown, restrained typography. */
body.departure-page #departureResult .route-offer {
  padding:23px 23px 19px;
  border:1px solid #e1e6ed;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(21,37,61,.065);
  color:#17243b;
}
body.departure-page #departureResult .route-offer-header {
  padding:0 0 15px;
  border-bottom:1px solid #edf0f4;
  gap:10px;
}
body.departure-page #departureResult .route-offer-heading h3 {
  margin:0;
  color:#182b45;
  font-size:15px;
  font-weight:750;
  letter-spacing:-.015em;
  line-height:1.35;
  text-transform:none;
}
body.departure-page #departureResult .route-offer-subtitle {
  margin:4px 0 0;
  color:#7a8594;
  font-size:11px;
  line-height:1.5;
}
body.departure-page #departureResult .route-price-breakdown {
  margin:5px 0 19px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.departure-page #departureResult .route-price-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:62px;
  padding:13px 0!important;
  border:0!important;
  border-bottom:1px solid #edf0f4!important;
  background:transparent!important;
}
body.departure-page #departureResult .route-price-row:last-child {border-bottom:0!important}
body.departure-page #departureResult .route-price-name {
  display:flex;
  align-items:center;
  flex:1;
  min-width:0;
  gap:0;
  color:#46566c;
  font-size:12px;
  font-weight:540;
  line-height:1.4;
}
body.departure-page #departureResult .route-price-name .route-icon {display:none!important}
body.departure-page #departureResult .route-price-label-stack {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  gap:3px;
}
body.departure-page #departureResult .route-price-label-stack>small {
  font-size:10px;
  font-weight:450;
  line-height:1.45;
  color:#8792a2;
  overflow-wrap:anywhere;
}
body.departure-page #departureResult .route-price-row>strong,
body.departure-page #departureResult .route-price-row[data-confirmed=false]>strong {
  flex:none;
  max-width:45%;
  color:#192b43;
  font-size:14px;
  font-weight:720;
  line-height:1.4;
  letter-spacing:-.01em;
  text-align:right;
  white-space:normal;
  font-variant-numeric:tabular-nums;
}
body.departure-page #departureResult .route-price-row--atlas[data-priced=false]>strong {
  color:var(--offer-muted,#526175);font-size:12px;font-weight:620;
}
body.departure-page #departureResult .route-price-row[data-confirmed=false]>strong {
  color:#687689;
  font-size:12px;
  font-weight:620;
}
body.departure-page #departureResult .route-price-row--atlas>strong {color:#192b43;font-size:13px}
body.departure-page #departureResult .route-offer>.departure-primary {
  width:100%;
  min-height:49px;
  border:1px solid #172b46!important;
  border-radius:10px!important;
  background:#172b46!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(17,37,63,.15)!important;
  font-size:13px;
  font-weight:700!important;
  transition:background-color .18s ease,box-shadow .18s ease!important;
}
body.departure-page #departureResult .route-offer>.departure-primary:hover {
  background:#243c5d!important;
  box-shadow:0 7px 17px rgba(17,37,63,.20)!important;
  filter:none;
  transform:none;
}
body.departure-page #departureResult .route-offer>.departure-primary::before {display:none!important}
body.departure-page #departureResult .route-offer>.departure-primary::after {color:#fff}
body.departure-page #departureResult .route-pricing-reassurance {
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:7px;
  margin:12px 0 0;
  color:#788595;
  font-size:10px;
  line-height:1.55;
  text-align:center;
}
body.departure-page #departureResult .route-pricing-reassurance .route-icon {
  flex:none;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:14px;
  height:14px;
  padding:0;
  margin-top:1px;
  border:0;
  background:transparent;
  color:#8491a2;
  box-shadow:none;
}
body.departure-page #departureResult .route-pricing-reassurance .route-icon svg {width:13px;height:13px}
@media(max-width:760px) {
  body.departure-page #departureResult .route-offer {padding:19px 18px 17px}
  body.departure-page #departureResult .route-price-row {min-height:57px;padding:12px 0!important}
  body.departure-page #departureResult .route-price-row>strong {font-size:13px}
}
@media(prefers-reduced-motion:reduce) {
  body.departure-page #departureResult .route-offer>.departure-primary {transition:none!important}
}

/* Extended line items and a clear separation between pricing and payment. */
body.departure-page #departureResult .route-price-row {
  min-height:41px;padding:10px 0!important;gap:13px;
}
body.departure-page #departureResult .route-price-row--discount .route-price-name {padding-left:0}
body.departure-page #departureResult .route-price-row--insurance .route-price-name,
body.departure-page #departureResult .route-price-row--guarantee .route-price-name {
  color:#46566c;font-size:12px;
}
body.departure-page #departureResult .route-price-option-copy {
  display:flex;flex-direction:column;gap:3px;min-width:0;
}
body.departure-page #departureResult .route-price-option-copy>small {
  font-size:10px;font-weight:440;color:#8a95a4;line-height:1.35;
}
body.departure-page #departureResult .route-price-row--guarantee {cursor:pointer}
body.departure-page #departureResult .route-price-row--guarantee .route-price-name {
  display:flex;gap:9px;align-items:flex-start;
}
body.departure-page #departureResult .route-price-row--guarantee input {
  display:block;flex:none;width:15px;height:15px;margin:2px 0 0;
  accent-color:#a98957;cursor:pointer;
}
body.departure-page #departureResult .route-price-row--guarantee .route-price-name>span {
  display:flex;flex-direction:column;gap:3px;min-width:0;
}
body.departure-page #departureResult .route-price-row--guarantee .route-price-name small {
  font-size:10px;font-weight:440;color:#8a95a4;line-height:1.35;
}
body.departure-page #departureResult .route-price-row--guarantee[data-selected=true] {
  background:#faf8f4!important;
}
body.departure-page #departureResult .route-price-row--guarantee:focus-within {
  outline:2px solid #b28d50;outline-offset:3px;
}
body.departure-page #departureResult .route-price-row--total {
  margin:6px 0 0;min-height:65px;padding:13px 0!important;
  border-top:1px solid #dfe5ec!important;border-bottom:0!important;
  background:transparent!important;
}
body.departure-page #departureResult .route-price-row--total .route-price-name {
  flex-direction:column;align-items:flex-start;gap:3px;color:#1c2d46;
  font-size:14px;font-weight:770;
}
body.departure-page #departureResult .route-price-row--total>strong {
  color:#182b47;font-size:18px;font-weight:790;letter-spacing:-.02em;
}
body.departure-page #departureResult .route-price-total-hint {
  font-size:10px;font-weight:440;line-height:1.35;color:#8a95a4;
}
body.departure-page #departureResult .route-price-total-hint[hidden]{display:none!important}
body.departure-page #departureResult .route-price-row--today {
  position:relative;min-height:61px;margin:4px 0 0;padding:11px 12px!important;
  border:1px solid #e5e8ec!important;border-radius:10px;
  background:#f7f8fa!important;box-shadow:none!important;
}
body.departure-page #departureResult .route-price-row--today::before,
body.departure-page #departureResult .route-price-row--today::after {display:none!important}
body.departure-page #departureResult .route-price-today-copy {
  color:#26384d;font-size:12px;font-weight:720;gap:3px;
}
body.departure-page #departureResult .route-price-today-copy small {
  color:#7a8695;font-size:10px;font-weight:440;line-height:1.4;
}
body.departure-page #departureResult .route-price-row--today>strong {
  color:#142844;font-size:22px;font-weight:790;white-space:nowrap;
}
body.departure-page #departureResult .route-offer>.route-scope {
  margin:0 0 14px;color:#7c8797;font-size:10px;line-height:1.45;
}
body.departure-page #departureResult .route-offer-trust {
  display:grid;gap:0;margin:11px 0 0;padding-top:8px;
  border-top:1px solid #edf0f3;
}
body.departure-page #departureResult .route-offer-trust-item {
  display:flex;gap:8px;align-items:center;margin:0;padding:5px 0;
  color:#788492;font-size:10px;line-height:1.4;
}
body.departure-page #departureResult .route-price-row--atlas>strong,
body.departure-page #departureResult .route-price-row--discount>strong {color:#172b47}
@media(max-width:760px) {
 body.departure-page #departureResult .route-offer {padding:19px 18px 17px}
 body.departure-page #departureResult .route-price-row {min-height:40px;padding:9px 0!important}
 body.departure-page #departureResult .route-price-row--total>strong {font-size:17px}
 body.departure-page #departureResult .route-price-row--today {padding:10px 11px!important}
}

/* Gold hairline: the four OUTER Destination cards only.
   The seven pricing rows, their separators and their controls remain untouched. */
body.departure-page #departureResult .departure-facts-panel,
body.departure-page #departureResult #route-documents,
body.departure-page #departureResult #route-conditions,
body.departure-page #departureResult #departureRouteSummary.route-offer {
  border:1px solid rgba(183,145,80,.46)!important;
}

/* Secondary price labels stay legible at their real reading size. */
body.departure-page #departureResult .route-offer-subtitle,
body.departure-page #departureResult .route-price-label-stack>small,
body.departure-page #departureResult .route-price-option-copy small,
body.departure-page #departureResult .route-offer-trust-item,
body.departure-page #departureResult .route-offer>.route-scope,
body.departure-page #departureResult .route-action-note,
body.departure-page #departureResult .route-price-limit,
body.departure-page #departureResult .route-pricing-reassurance{color:#526175;font-size:11px;line-height:1.5}
body.departure-page #departureResult .route-price-name{font-size:13px}
body.departure-page #departureResult .route-price-row--insurance .route-price-name,
body.departure-page #departureResult .route-price-row--guarantee .route-price-name{font-size:13px}
body.departure-page #departureResult .route-offer>.departure-primary{font-size:14px;min-height:50px}
@media(max-width:420px){
 body.departure-page #departureResult .route-offer-header{flex-wrap:wrap}
}
/* Entry status: an entry requirement is not an Atlas product or a visa approval. */
.route-entry-status{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;margin:0 0 16px;border:1px solid #b9e1cc;border-radius:16px;background:linear-gradient(120deg,#eef9f2,#fff);color:#176341}
.route-entry-status>.route-icon{flex:none;width:42px;height:42px;border-radius:13px;background:#dff3e7;color:#18734b}
.route-entry-status .route-icon svg{width:24px;height:24px}
.route-entry-status strong{display:block;font-size:18px;line-height:1.35;font-weight:700;color:#125637}
.route-entry-status p{margin:5px 0 0;font-size:14px;line-height:1.6;color:#365e4c}
.route-entry-status a{display:inline-flex;align-items:center;min-height:40px;margin-top:6px;font-size:13px;font-weight:650;color:#176341;text-underline-offset:3px}
@media(max-width:600px){.route-entry-status{padding:17px 16px;gap:11px}.route-entry-status strong{font-size:17px}}
.departure-page #departureResult[data-presentation="no-application"]{display:block;padding:0;border:0;background:transparent;box-shadow:none;}
.departure-page #departureResult[data-presentation="no-application"]>.departure-facts-panel{display:none;}
.departure-page #departureResult[data-presentation="no-application"] #departureRouteDetails{grid-column:1/-1;margin:0;padding:0;border:0;box-shadow:none;background:transparent;}
.departure-page #departureResult .route-no-application{position:relative;display:flex;align-items:center;gap:24px;min-height:168px;padding:32px 36px;margin:0;border:1px solid #cfe4d8;border-radius:20px;background:linear-gradient(112deg,#fff 0%,#f3faf6 100%);box-shadow:0 8px 28px #173e2a06;overflow:hidden;box-sizing:border-box;}
.departure-page #departureResult .route-no-application>.route-icon:first-child{width:64px;height:64px;border:1px solid #c3e2cf;border-radius:50%;background:#e8f5ed;color:#22714c;}
.departure-page #departureResult .route-no-application>.route-icon:first-child svg{width:31px;height:31px;}
.departure-page #departureResult .route-no-application-copy{flex:1;min-width:0;}
.departure-page #departureResult .route-no-application h2{margin:0;color:#14283d;font-size:clamp(21px,2.2vw,28px);line-height:1.3;letter-spacing:-.025em;font-weight:700;}
.departure-page #departureResult .route-no-application p{max-width:620px;margin:9px 0 0;font-size:15px;line-height:1.65;color:#43634f;}
.departure-page #departureResult .route-no-application>[data-icon="plane"]{flex:none;width:72px;height:72px;border:1px solid #d9e9df;border-radius:50%;background:#ffffff85;color:#6d927c;transform:rotate(-12deg);}
.departure-page #departureResult .route-no-application>[data-icon="plane"] svg{width:32px;height:32px;}
@media(max-width:600px){
 .departure-page #departureResult .route-no-application{align-items:flex-start;gap:15px;min-height:0;padding:24px 20px;border-radius:16px;}
 .departure-page #departureResult .route-no-application>.route-icon:first-child{width:46px;height:46px;}
 .departure-page #departureResult .route-no-application>.route-icon:first-child svg{width:25px;height:25px;}
 .departure-page #departureResult .route-no-application>[data-icon="plane"]{display:none!important;}
 .departure-page #departureResult .route-no-application p{font-size:14px;line-height:1.6;margin-top:8px;}
}

/* Keep price-bearing CTAs readable when official and Atlas fees are combined. */
.departure-page #departureResult .route-offer>.departure-primary{
  box-sizing:border-box;
  height:auto;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  text-wrap:balance;
  line-height:1.35;
  padding:14px 16px;
}
@media(max-width:480px){
  .departure-page #departureResult .route-offer>.departure-primary{
    min-height:52px;
    padding:13px 12px;
    font-size:13px;
  }
}
