/* Lovusha: itinerary cards + optional flight connection check. Scoped to route view. */
#view-route .flight-connection-panel,
#view-route .ojp-journey-v2 {min-width:0;box-sizing:border-box;}
#view-route .flight-connection-panel * ,
#view-route .ojp-journey-v2 * {box-sizing:border-box;}
#view-route .flight-connection-panel {
  padding:16px;margin:18px 0 12px;border:1px solid #c5e4db;
  border-radius:14px;background:#edf8f4;color:#17324d;
}
#view-route .flight-connection-heading {display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px;}
#view-route .flight-connection-heading h4{font-size:14px;font-weight:800;margin:0;}
#view-route .connection-source{color:#0b6e74;font-size:10px;font-weight:800;}
#view-route .flight-connection-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
#view-route .flight-connection-fields label{font-weight:750;font-size:12px;min-width:0;display:flex;flex-direction:column;gap:6px;}
#view-route .flight-connection-fields input,
#view-route .flight-connection-fields select{
  box-sizing:border-box!important;min-width:0;max-width:100%;width:100%;height:44px;
  background:#fff;color:#17324d;border:1px solid #b8d0cc;border-radius:10px;
  font-size:13px;padding:8px 10px;
}
#view-route .flight-connection-fields input:focus,
#view-route .flight-connection-fields select:focus{outline:3px solid #8bd3c3;outline-offset:1px;}
#view-route #flight-connection-note{font-size:11px;line-height:1.55;color:#526875;margin:11px 0 0;}
#view-route #flight-connection-summary{border-top:1px solid #d1e9e2;padding-top:10px;margin:11px 0 0;font-size:11px;color:#25596a;line-height:1.5;}
#view-route .ojp-journey-v2{padding:15px;border-color:#d8e8e4;background:#fff;border-radius:13px;box-shadow:0 3px 12px rgba(16,57,68,.035);}
#view-route .ojp-trip-top{display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
#view-route .ojp-trip-number{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:#087f8c;}
#view-route .ojp-journey-v2 .ojp-journey-heading{width:100%;font-size:12px;line-height:1.5;gap:3px 12px;}
#view-route .ojp-journey-v2 .ojp-journey-heading strong{font-size:clamp(16px,1.6vw,19px);color:#17324d;}
#view-route .ojp-journey-v2 .ojp-journey-heading span{font-size:11px;color:#607586;}
#view-route .ojp-connection{display:block;border-radius:9px;padding:10px 11px;font-size:11px;line-height:1.55;margin:12px 0 13px;border:1px solid #d6e4e4;background:#f4f8fa;color:#3e586a;}
#view-route .ojp-connection--possible{background:#e6f5ed;border-color:#badcc9;color:#12633d;}
#view-route .ojp-connection--tight{background:#fff2da;border-color:#f0d8a9;color:#855405;}
#view-route .ojp-connection--late{background:#fff0ef;border-color:#edccc8;color:#a52824;}
#view-route .ojp-legs-v2{list-style:none;padding:0;margin:0;display:grid;gap:0;}
#view-route .ojp-leg{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #eef3f1;color:#17324d;min-width:0;}
#view-route .ojp-leg-symbol{display:flex;align-items:center;justify-content:center;flex:none;width:31px;height:31px;border-radius:10px;background:#e4f3ef;font-size:17px;}
#view-route .ojp-leg--walk .ojp-leg-symbol,#view-route .ojp-leg--transfer .ojp-leg-symbol{background:#f1f5f6;}
#view-route .ojp-leg-content{min-width:0;flex:1;overflow-wrap:anywhere;}
#view-route .ojp-leg-content strong{font-size:12px;display:block;line-height:1.4;}
#view-route .ojp-leg-content p{margin:3px 0 2px;font-size:11px;color:#4f6977;line-height:1.55;}
#view-route .ojp-leg-meta{display:block;font-size:10px;color:#5c7380;line-height:1.5;}
#view-route .ojp-changeover{font-size:10px;color:#516977;font-weight:700;background:#f1f8f6;padding:8px 9px 8px 12px;margin:6px 0 6px 40px;border-left:3px solid #7cbfa3;border-radius:0 8px 8px 0;line-height:1.5;}
#view-route .ojp-journey-v2 .ojp-apply{margin-top:14px;max-width:100%;white-space:normal;}
@media(min-width:1570px){#view-route .flight-connection-fields{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){
  #view-route .flight-connection-panel{padding:13px;}
  #view-route .ojp-journey-v2{padding:12px;}
  #view-route .ojp-journey-v2 .ojp-journey-heading{align-items:flex-start;flex-direction:column;}
  #view-route .ojp-journey-v2 .ojp-apply{width:100%;}
}
@media print{#view-route .flight-connection-panel,#view-route .ojp-journey-v2{display:none!important}}
