/* Step 1 only; route values, schedules and price updates remain owned by the booking form. */
#book-now .cdc-route-picker .p42-route-option, #book-now .cdc-route-picker .p42-route-group { padding:0!important; }
#book-now .cdc-route-picker .cdc-route-photo { width:100%; }
#book-now .cdc-route-picker { container-type:inline-size; background:#fff; border-radius:16px; padding:24px; }
#book-now .cdc-route-picker .p42-form-card-head>span { color:#007c8a; font-weight:800; letter-spacing:1px; }
#book-now .cdc-route-picker .p42-form-card-head h3 { color:#081f43; font-size:29px; line-height:1.2; text-transform:none; margin:8px 0 10px; }
#book-now .cdc-route-picker .p42-form-card-head p { font-size:16px; line-height:1.5; color:#506888; }
#book-now .cdc-route-picker .cdc-route-help { display:block; margin:18px 0 0 auto; padding:0; background:none; border:0; color:#007587; font:700 13px/1.5 Sen,Arial,sans-serif; cursor:pointer; text-align:right; }
#book-now .cdc-route-picker .p42-route-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:26px; }
#book-now .cdc-route-picker .p42-route-group { padding:0; background:transparent; border:0; }
#book-now .cdc-route-picker .p42-route-group-head { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin:0 0 16px; }
#book-now .cdc-route-picker .p42-route-group-head>span { font-size:13px; letter-spacing:.4px; }
#book-now .cdc-route-picker .p42-route-time-row { margin:0; }
#book-now .cdc-route-picker .p42-route-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#book-now .cdc-route-picker .p42-route-options:has(>.p42-route-option:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
#book-now .cdc-route-picker .p42-route-option { position:relative; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; min-width:0; padding:0; overflow:hidden; background:white; border:1px solid #d8e6ed; border-radius:10px; box-shadow:0 3px 8px #1438540a; text-align:left; }
#book-now .p42-form-shell .cdc-route-picker .p42-route-option[aria-pressed=true] { background:#eaf4ff; border-color:#0879ef; box-shadow:0 0 0 2px #0879ef; }
#book-now .cdc-route-picker .p42-route-option:focus-visible, #book-now .cdc-route-picker .cdc-route-help:focus-visible, #book-now .cdc-route-picker summary:focus-visible { outline:3px solid #0879ef; outline-offset:3px; }
.cdc-route-photo { display:block; position:relative; }
.cdc-route-photo img { display:block; width:100%; height:135px; object-fit:cover; }
.cdc-route-radio { position:absolute; right:14px; top:13px; width:31px; height:31px; border:2px solid #17385b; border-radius:50%; background:white; box-shadow:0 1px 4px #1235; }
[aria-pressed=true] .cdc-route-radio { border-color:white; background:#0879ef; box-shadow:0 0 0 2px #0879ef; }
[aria-pressed=true] .cdc-route-radio::after { content:'✓'; display:block; color:white; text-align:center; font:bold 22px/27px Arial,sans-serif; }
.cdc-route-selected-label { visibility:hidden; padding:0 16px 14px; color:#075bb0; font:800 13px/1.4 Sen,Arial,sans-serif; }
[aria-pressed=true] .cdc-route-selected-label { visibility:visible; }
.cdc-route-badge { position:absolute; left:12px; top:13px; padding:6px 12px; border-radius:20px; background:#00576b; color:white; font:700 12px/1.5 Sen,Arial,sans-serif; }
#book-now .cdc-route-picker .p42-route-copy { padding:15px 16px 9px; }
#book-now .cdc-route-picker .p42-route-copy strong { font-size:19px; line-height:1.25; color:#081f43; padding-right:12px; }
#book-now .cdc-route-picker .p42-route-copy>span { font-size:14px; line-height:1.55; color:#506888; }
#book-now .cdc-route-picker .p42-route-meta { display:flex; flex-flow:row wrap; align-items:center; justify-content:flex-start; gap:5px 10px; padding:0 16px 12px; margin-top:auto; text-align:left; }
#book-now .cdc-route-picker .p42-route-meta b { font-size:16px; color:#007587; }
#book-now .cdc-route-picker .p42-route-meta small { font-size:11px; }
.cdc-route-tags { display:flex; flex-wrap:wrap; gap:8px 14px; padding:0 16px 16px; color:#506888; font:400 13px/1.4 Sen,Arial,sans-serif; }
.cdc-route-tags i { color:#102d52; margin-right:4px; }
.cdc-route-guide { margin-top:26px; border-radius:10px; background:#eff9fb; color:#007587; font:400 14px/1.5 Sen,Arial,sans-serif; }
.cdc-route-guide summary { display:flex; align-items:center; gap:12px; padding:20px 18px; cursor:pointer; list-style:none; }
.cdc-route-guide summary::-webkit-details-marker { display:none; }
.cdc-route-guide summary strong { color:#102449; }
.cdc-route-guide summary>b { margin-left:auto; white-space:nowrap; }
.cdc-route-info { flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#007587; color:white; font:bold 21px Georgia,serif; }
.cdc-route-guide-content { padding:0 20px 10px; color:#506888; }
.cdc-route-guide-content p { font-size:14px; }
@container (max-width:620px) { #book-now .cdc-route-picker .p42-route-options { gap:12px; } #book-now .cdc-route-picker .p42-route-copy strong { font-size:17px; } .cdc-route-guide summary { flex-wrap:wrap; } .cdc-route-guide summary>b { margin-left:40px; } }
@container (max-width:480px) { #book-now .cdc-route-picker .p42-route-options, #book-now .cdc-route-picker .p42-route-options:has(>.p42-route-option:nth-child(2):last-child) { grid-template-columns:minmax(0,1fr); } .cdc-route-photo img { height:160px; } #book-now .cdc-route-picker .p42-form-card-head h3 { font-size:25px; } }
