/* V46: premium visual refinements only. Shared fare and payment logic unchanged. */
:root{--ecbo-ink:#0b2936;--ecbo-gold:#b98736;--ecbo-gold-dark:#9b6d26;--ecbo-line:#dbe4e7}
#ecbo-app{color:var(--ecbo-ink)}
#ecbo-app .ecbo-panel{border-radius:17px;box-shadow:0 14px 44px rgba(3,27,40,.17)}
#ecbo-app .ecbo-progress{gap:8px 18px!important;padding:8px 0 15px!important;margin-bottom:14px!important;border-bottom:1px solid var(--ecbo-line)!important}
#ecbo-app .ecbo-progress span{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.4;white-space:nowrap}
#ecbo-app .ecbo-progress b{display:inline-grid;place-items:center;background:#f1f5f6;border-radius:100%;width:23px;height:23px;color:#617780;font-size:10px}
#ecbo-app .ecbo-progress .ecbo-current{color:var(--ecbo-ink)!important}
#ecbo-app .ecbo-progress .ecbo-current b{background:var(--ecbo-ink);color:white}
#ecbo-app .ecbo-summary{background:#f7f9f9!important;border:1px solid #dfe7e8!important;border-radius:14px!important;padding:16px!important;box-shadow:none!important}
#ecbo-app .ecbo-summary h3{font-size:16px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;color:var(--ecbo-ink)!important;margin:0 0 15px!important}
#ecbo-app .ecbo-route-visual{row-gap:11px!important;margin:12px 0!important}
#ecbo-app .ecbo-route-visual small{font-size:10px!important;color:#667f89!important;letter-spacing:.7px}
#ecbo-app .ecbo-route-visual p{font-size:12px!important;line-height:1.55!important;color:#1a3a49!important;margin:3px 0 0!important}
#ecbo-app #ecbo-trip{font-size:13px!important;color:#567481!important;font-weight:650!important;margin:13px 0!important}
#ecbo-app #ecbo-map{height:180px!important;margin:12px 0!important;border:1px solid #dce5e8!important;border-radius:10px!important;overflow:hidden!important}
#ecbo-app .ecbo-secondary{appearance:none;border:1px solid #c6d4d8!important;border-radius:8px!important;padding:10px 14px!important;background:white!important;color:#183948!important;font:700 12px/1.4 inherit!important;cursor:pointer!important;box-shadow:none!important}
#ecbo-app .ecbo-secondary:hover{border-color:var(--ecbo-gold)!important;color:var(--ecbo-gold-dark)!important}
#ecbo-app #ecbo-step-details>h3{font-size:clamp(20px,2vw,27px)!important;line-height:1.2!important;letter-spacing:-.35px!important;margin:5px 0 9px!important;color:var(--ecbo-ink)!important}
#ecbo-app #ecbo-step-details>p{font-size:13px!important;color:#5b737d!important;margin:0 0 20px!important;line-height:1.55!important}
#ecbo-app .ecbo-mini-label{font-size:10px!important;letter-spacing:1px!important;font-weight:800!important;color:var(--ecbo-gold-dark)!important}
#ecbo-app .ecbo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
#ecbo-app .ecbo-grid .ecbo-field{min-width:0!important}
#ecbo-app .ecbo-grid .ecbo-field label{font-size:12px!important;font-weight:700!important;color:#284452!important;margin-bottom:7px!important}
#ecbo-app .ecbo-grid input:not([type=radio]),#ecbo-app .ecbo-grid textarea{width:100%!important;min-width:0!important;max-width:100%!important;border:1px solid #cddce1!important;background:#fff!important;color:#143441!important;border-radius:9px!important;padding:11px 12px!important;min-height:45px!important;font-size:13px!important;box-sizing:border-box!important}
#ecbo-app .ecbo-grid textarea{height:85px!important;resize:vertical!important}
#ecbo-app .ecbo-grid input:focus,#ecbo-app .ecbo-grid textarea:focus{outline:2px solid rgba(185,135,54,.28)!important;border-color:var(--ecbo-gold)!important}
#ecbo-app .ecbo-full{grid-column:1/-1!important}
#ecbo-app .ecbo-payment-choice{border:1px solid #dfe6e9!important;border-radius:12px!important;background:#f8fafb!important;padding:12px!important;margin:0!important;min-width:0!important}
#ecbo-app .ecbo-payment-choice legend{font-size:13px!important;font-weight:800!important;color:var(--ecbo-ink)!important;padding:0 5px!important}
#ecbo-app .ecbo-payment-choice label{display:flex!important;align-items:flex-start!important;gap:10px!important;border:1px solid #dce5e8!important;background:white!important;border-radius:9px!important;padding:12px!important;margin:7px 0!important;cursor:pointer!important;min-width:0!important}
#ecbo-app .ecbo-payment-choice label:has(input:checked){border-color:var(--ecbo-gold)!important;background:#fffaf1!important;box-shadow:0 0 0 1px rgba(185,135,54,.18)!important}
#ecbo-app .ecbo-payment-choice input[type=radio]{accent-color:var(--ecbo-gold-dark)!important;flex:none!important;width:17px!important;height:17px!important;margin:2px 0 0!important}
#ecbo-app .ecbo-payment-choice label span{display:block!important;min-width:0!important}
#ecbo-app .ecbo-payment-choice strong{display:block!important;color:var(--ecbo-ink)!important;font-size:13px!important;line-height:1.3!important}
#ecbo-app .ecbo-payment-choice small{display:block!important;color:#667c86!important;font-size:11px!important;line-height:1.5!important;margin-top:3px!important}
#ecbo-app .ecbo-sticky{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;background:#f8fafb!important;color:var(--ecbo-ink)!important;border:1px solid #dce5e8!important;border-radius:11px!important;padding:12px 15px!important;box-shadow:0 5px 18px rgba(6,34,46,.06)!important;margin-top:17px!important}
#ecbo-app .ecbo-sticky[hidden]{display:none!important}
#ecbo-app .ecbo-sticky small{display:block!important;font-size:11px!important;color:#627a84!important}
#ecbo-app .ecbo-sticky strong{display:block!important;color:var(--ecbo-ink)!important;font-size:13px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
#ecbo-app #ecbo-continue,#ecbo-app .ecbo-action{appearance:none!important;background:var(--ecbo-gold)!important;color:#fff!important;border:1px solid var(--ecbo-gold)!important;border-radius:9px!important;box-shadow:0 3px 9px rgba(143,94,30,.12)!important;font-size:13px!important;font-weight:800!important;letter-spacing:.1px!important;cursor:pointer!important;transition:background .15s,transform .15s!important}
#ecbo-app #ecbo-continue{padding:12px 18px!important;min-height:45px!important;white-space:nowrap!important}
#ecbo-app #ecbo-continue:hover:not(:disabled),#ecbo-app .ecbo-action:hover{background:var(--ecbo-gold-dark)!important;transform:translateY(-1px)!important}
#ecbo-app #ecbo-continue:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none!important}
#ecbo-app .ecbo-suggest{border:1px solid #d8e3e6!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(7,32,43,.16)!important;overflow:auto!important;max-height:235px!important;z-index:9999!important}
#ecbo-app .ecbo-suggest button{font-size:12px!important;line-height:1.45!important;padding:11px 12px!important;color:#183c4c!important}
#ecbo-app .ecbo-suggest button:hover,#ecbo-app .ecbo-suggest button:focus{background:#fff8ec!important;color:#8d601f!important}
@media(min-width:901px){.home-banner .encore-home-booking.ecbo-show-results .ecbo-layout{grid-template-columns:minmax(220px,30%) minmax(0,1fr)!important;gap:18px!important}.home-banner .encore-home-booking.ecbo-show-results #ecbo-step-details .ecbo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){#ecbo-app .ecbo-layout{grid-template-columns:minmax(0,1fr)!important}#ecbo-app .ecbo-grid{grid-template-columns:1fr!important;gap:11px!important}#ecbo-app .ecbo-payment-choice{grid-column:1!important}#ecbo-app .ecbo-progress{gap:6px!important;justify-content:space-between!important}#ecbo-app .ecbo-progress span{font-size:10px!important}#ecbo-app .ecbo-progress b{width:20px;height:20px}#ecbo-app .ecbo-sticky{position:static!important;flex-wrap:wrap!important}#ecbo-app #ecbo-continue{width:100%!important}#ecbo-app #ecbo-map{height:165px!important}}
@media(max-width:420px){#ecbo-app .ecbo-panel{padding:13px!important}#ecbo-app .ecbo-progress{gap:4px!important}#ecbo-app .ecbo-progress span{font-size:9px!important}#ecbo-app .ecbo-progress b{width:18px;height:18px}#ecbo-app .ecbo-payment-choice label{padding:10px!important}}
