.rail-hero{color:var(--on-dark);border-bottom:1px solid var(--gold);background:linear-gradient(90deg,#0f2620fa 0%,#183c32f0 48%,#0f2620c2 100%),url(/images/travel-guides/transport.webp) 50%/cover;padding:clamp(3rem,7vw,6rem) 0}.rail-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(28rem,1.1fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid}.rail-hero-copy{max-width:38rem}.back-link{width:fit-content;margin-bottom:var(--space-4);color:color-mix(in srgb, var(--on-dark) 72%, transparent);font-size:.84rem;text-decoration:none;display:block}.rail-hero .eyebrow{color:var(--gold)}.rail-hero h1{max-width:12ch;color:var(--on-dark);font-size:clamp(2.8rem,6vw,5.1rem)}.hero-lead{max-width:36rem;color:color-mix(in srgb, var(--on-dark) 84%, transparent);font-size:clamp(1.05rem,2vw,1.25rem)}.hero-proof{margin:var(--space-4) 0;gap:.65rem;padding:0;list-style:none;display:grid}.hero-proof li{color:var(--on-dark);align-items:center;gap:.7rem;font-size:.92rem;display:flex}.hero-proof li:before{width:1.35rem;height:1.35rem;color:var(--forest);content:"✓";background:var(--gold);border-radius:50%;place-items:center;font-size:.7rem;display:grid}.independent-note{max-width:34rem;color:color-mix(in srgb, var(--on-dark) 55%, transparent);margin:0;font-size:.76rem}.booking-card{color:var(--on-dark);background:color-mix(in srgb, var(--forest) 84%, black);border:1px solid var(--gold);padding:clamp(1.25rem,3vw,2rem);box-shadow:0 2rem 5rem #03120d61}.booking-card-head{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--gold) 32%, transparent)}.booking-card-head>span{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700;display:block}.booking-card-head strong{color:var(--on-dark);font-family:var(--font-display);margin:.25rem 0;font-size:1.8rem;font-weight:600;display:block}.booking-card-head p,.form-fineprint,.form-status{color:color-mix(in srgb, var(--on-dark) 64%, transparent);margin:0;font-size:.77rem}.route-presets{margin-bottom:var(--space-3);border:0;gap:.55rem;padding:0;display:grid}.route-presets legend{color:color-mix(in srgb, var(--on-dark) 58%, transparent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.55rem;padding:0;font-size:.68rem;font-weight:700}.route-presets label{cursor:pointer;display:block;position:relative}.booking-card .route-presets input{opacity:0;width:1px;min-height:1px;padding:0;position:absolute}.route-presets label>span{min-height:3rem;color:color-mix(in srgb, var(--on-dark) 78%, transparent);background:color-mix(in srgb, var(--forest) 62%, black);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;margin:0;padding:.7rem .8rem;font-size:.76rem;transition:background-color .16s,border-color .16s,color .16s;display:grid}.route-presets label:hover>span,.route-presets input:checked+span{color:var(--forest);background:var(--gold);border-color:var(--gold)}.route-presets input:focus-visible+span{outline:2px solid var(--on-dark);outline-offset:2px}.route-presets label>span small,.route-presets label>span strong{color:inherit;font:inherit;font-weight:700}.route-presets label>span small{text-align:right}.route-presets label i{color:var(--gold);font-size:1rem;font-style:normal}.route-presets input:checked+span i,.route-presets label:hover>span i{color:var(--forest)}.form-grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-fields{gap:var(--space-3);margin-bottom:var(--space-3);display:grid}.booking-card label>span{color:color-mix(in srgb, var(--on-dark) 78%, transparent);margin-bottom:.35rem;font-size:.74rem;font-weight:600;display:block}.booking-card label small{color:color-mix(in srgb, var(--on-dark) 48%, transparent);font-weight:400}.booking-card input,.booking-card select,.booking-card textarea{width:100%;min-height:3rem;color:var(--on-dark);font:inherit;background:color-mix(in srgb, var(--forest) 64%, black);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);border-radius:0;padding:.7rem .75rem;font-size:.86rem}.booking-card textarea{resize:vertical;min-height:5rem}.booking-card input::placeholder,.booking-card textarea::placeholder{color:color-mix(in srgb, var(--on-dark) 38%, transparent)}.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.request-consent{margin:var(--space-3) 0;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;display:grid}.request-consent input{width:1.05rem;min-height:1.05rem;accent-color:var(--lacquer);margin-top:.15rem}.request-consent span{margin:0;font-weight:400;line-height:1.45}.booking-submit{width:100%;min-height:3.4rem;color:var(--on-dark);font:inherit;cursor:pointer;background:var(--lacquer);border:1px solid var(--lacquer);justify-content:space-between;align-items:center;padding:.8rem 1rem;font-size:.95rem;font-weight:700;transition:background-color .16s,transform .16s;display:flex}.booking-submit:hover{background:color-mix(in srgb, var(--lacquer) 88%, black);transform:translateY(-2px)}.form-fineprint{text-align:center;margin-top:.75rem}.form-status{color:var(--on-dark);background:color-mix(in srgb, var(--gold) 14%, transparent);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);margin-top:.75rem;padding:.7rem}.form-status a{color:var(--gold)}.why-section{background:var(--sand)}.why-grid{grid-template-columns:minmax(0,1fr) minmax(23rem,.82fr);align-items:start;gap:clamp(3rem,7vw,7rem);display:grid}.why-copy>h2,.routes-grid h2,.faq-grid h2,.process-head h2{font-size:clamp(2rem,4vw,3.3rem)}.why-copy>p,.routes-grid>div:first-child>p,.faq-grid>div:first-child>p{max-width:40rem;color:var(--text-soft)}.friction-list{margin-top:var(--space-5);border-top:1px solid var(--line-gold);display:grid}.friction-list article{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--line-gold);grid-template-columns:auto 1fr;display:grid}.friction-list article>span{color:var(--lacquer);letter-spacing:.12em;font-size:.72rem;font-weight:700}.friction-list h3{margin-bottom:.45rem;font-size:1.25rem}.friction-list p{color:var(--text-soft);margin:0;font-size:.93rem}.availability-card{padding:var(--space-4);color:var(--on-dark);background:var(--forest);border:1px solid var(--gold);position:sticky;top:6.5rem;box-shadow:0 1.5rem 4rem #04161038}.availability-head{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--gold) 36%, transparent)}.availability-head>div{font-family:var(--font-display);align-items:center;gap:.65rem;font-size:1.25rem;display:flex}.availability-head strong{color:var(--gold)}.availability-head small{color:color-mix(in srgb, var(--on-dark) 52%, transparent);font-size:.68rem}.timetable-control-label{color:color-mix(in srgb, var(--on-dark) 48%, transparent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.62rem;font-weight:700;display:block}.route-tabs,.schedule-tabs{margin-bottom:var(--space-3);background:color-mix(in srgb, var(--forest) 64%, black);border:1px solid color-mix(in srgb, var(--gold) 25%, transparent);grid-template-columns:repeat(2,1fr);gap:.35rem;padding:.3rem;display:grid}.route-tabs{margin-bottom:var(--space-3);grid-template-columns:1fr}.route-tabs button,.schedule-tabs button{min-height:2.5rem;color:color-mix(in srgb, var(--on-dark) 68%, transparent);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.74rem;font-weight:700}.route-tabs button[aria-pressed=true],.schedule-tabs button[aria-pressed=true]{color:var(--forest);background:var(--gold)}.route-tabs button:focus-visible,.schedule-tabs button:focus-visible{outline:2px solid var(--on-dark);outline-offset:2px}.timetable-panel[hidden]{display:none}.timetable-label,.timetable-row{gap:var(--space-3);text-align:center;grid-template-columns:1fr .7fr 1fr;align-items:center;display:grid}.timetable-label{color:color-mix(in srgb, var(--on-dark) 46%, transparent);letter-spacing:.08em;text-transform:uppercase;padding:.25rem 0 .5rem;font-size:.62rem;font-weight:700}.timetable-row{border-top:1px solid color-mix(in srgb, var(--on-dark) 12%, transparent);min-height:3.65rem}.timetable-row strong{font-family:var(--font-display);font-size:1.4rem}.timetable-row span{color:var(--forest);background:var(--gold);padding:.3rem .45rem;font-size:.7rem;font-weight:800}.timetable-row-extra{background:color-mix(in srgb, var(--gold) 8%, transparent)}.timetable-note{margin:var(--space-3) 0 0;padding:var(--space-3);color:color-mix(in srgb, var(--on-dark) 68%, transparent);background:color-mix(in srgb, var(--gold) 8%, transparent);border-left:2px solid var(--gold);font-size:.72rem}.availability-card>a{min-height:3rem;margin-top:var(--space-3);color:var(--forest);text-align:center;background:var(--gold);justify-content:center;align-items:center;font-size:.83rem;font-weight:700;text-decoration:none;display:flex}.process-section{background:var(--foam);border-block:1px solid var(--line-gold)}.process-head{max-width:49rem}.process-grid{border:1px solid var(--line-gold);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.process-grid li{min-height:17rem;padding:var(--space-4);border-right:1px solid var(--line-gold)}.process-grid li:last-child{border-right:0}.process-grid li>span{width:2.4rem;height:2.4rem;margin-bottom:var(--space-5);color:var(--forest);background:var(--gold);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid}.process-grid h3{font-size:1.45rem}.process-grid p{color:var(--text-soft);font-size:.92rem}.routes-section{background:var(--sand)}.routes-grid{grid-template-columns:minmax(0,.8fr) minmax(30rem,1.2fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.route-list{border-top:1px solid var(--line-gold);display:grid}.route-list a{gap:var(--space-3);min-height:5rem;color:var(--text);border-bottom:1px solid var(--line-gold);grid-template-columns:1fr auto 1fr auto;align-items:center;text-decoration:none;transition:color .16s,padding .16s;display:grid}.route-list a:hover{color:var(--heading);padding-inline:.5rem}.route-list i{color:var(--gold);font-style:normal}.route-list strong{color:var(--lacquer);text-transform:uppercase;font-size:.75rem}.faq-section{background:var(--foam);border-top:1px solid var(--line-gold)}.faq-grid{grid-template-columns:minmax(0,.7fr) minmax(30rem,1.3fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.faq-list{border-top:1px solid var(--line-gold)}.faq-list details{border-bottom:1px solid var(--line-gold)}.faq-list summary{padding:var(--space-4) 2.5rem var(--space-4) 0;color:var(--heading);font-family:var(--font-display);cursor:pointer;font-size:1.17rem}.faq-list p{max-width:43rem;padding-right:var(--space-4);color:var(--text-soft);font-size:.92rem}.final-cta{padding:var(--space-6) 0;color:var(--on-dark);background:var(--forest);border-top:1px solid var(--gold)}.final-cta-grid{justify-content:space-between;align-items:end;gap:var(--space-5);display:flex}.final-cta .eyebrow{color:var(--gold)}.final-cta h2{max-width:22ch;color:var(--on-dark);margin:0;font-size:clamp(2rem,4vw,3.4rem)}.final-cta .btn{flex:none}@media (width<=960px){.rail-hero-grid,.why-grid,.routes-grid,.faq-grid{grid-template-columns:1fr}.rail-hero-copy{max-width:48rem}.booking-card{max-width:46rem}.availability-card{max-width:38rem;position:static}.routes-grid,.faq-grid{gap:var(--space-5)}.process-grid{grid-template-columns:1fr}.process-grid li{border-right:0;border-bottom:1px solid var(--line-gold);min-height:auto}.process-grid li:last-child{border-bottom:0}}@media (width<=640px){.rail-hero{padding-top:var(--space-5);background:linear-gradient(#0f2620ed,#0f2620f5),url(/images/travel-guides/transport.webp) 50%/cover}.rail-hero h1{font-size:clamp(2.45rem,13vw,3.75rem)}.form-grid{grid-template-columns:1fr}.booking-card{padding:var(--space-3)}.route-list a{grid-template-columns:1fr auto 1fr;gap:.65rem;font-size:.84rem}.route-list strong{grid-column:1/-1;margin-top:-.55rem}.final-cta-grid{flex-direction:column;align-items:stretch}.final-cta .btn{width:100%}}.rail-booking{--booking-page:#152a23;--booking-surface:#1d362e;--booking-elevated:#27463b;--booking-input:#172d26;--booking-ink:#fff8ec;--booking-muted:#c9c2b6;--booking-line:color-mix(in srgb, var(--gold) 38%, transparent);--booking-shadow:0 2rem 5rem #03120d57;--booking-hero-overlay:linear-gradient(100deg, #0f2620f5 0%, #183c32e6 52%, #0f2620b8 100%)}html[data-theme=light] .rail-booking{--booking-page:#eee4d5;--booking-surface:#fffaf1;--booking-elevated:#f4ebdc;--booking-input:#fffdf8;--booking-ink:#203b33;--booking-muted:#66716b;--booking-line:color-mix(in srgb, var(--forest) 20%, var(--gold));--booking-shadow:0 2rem 5rem #48361e24;--booking-hero-overlay:linear-gradient(100deg, #f8f1e4f5 0%, #eee4d3eb 52%, #f4ebdcc7 100%)}.rail-booking .rail-hero{color:var(--booking-ink);background:var(--booking-hero-overlay), url(/images/travel-guides/transport.webp) center / cover;border-bottom:1px solid var(--booking-line);padding:clamp(3rem,6vw,5.5rem) 0 clamp(4rem,8vw,7rem)}.rail-booking .rail-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.65fr);align-items:end;gap:clamp(2rem,6vw,6rem)}.rail-booking .back-link,.rail-booking .hero-lead,.rail-booking .independent-note{color:var(--booking-muted)}.rail-booking .rail-hero h1{max-width:13ch;color:var(--booking-ink);font-size:clamp(3rem,6vw,5.7rem)}.rail-booking .hero-proof li{color:var(--booking-ink)}.hero-booking-note{color:var(--booking-ink);background:color-mix(in srgb, var(--booking-surface) 90%, transparent);border:1px solid var(--booking-line);box-shadow:var(--booking-shadow);backdrop-filter:blur(10px);padding:clamp(1.4rem,3vw,2rem)}.hero-booking-note>span,.summary-kicker{color:var(--lacquer);letter-spacing:.12em;text-transform:uppercase;font-size:.69rem;font-weight:800;display:block}.hero-booking-note>strong{color:var(--booking-ink);font-family:var(--font-display);margin:.4rem 0 .7rem;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.15;display:block}.hero-booking-note>p{color:var(--booking-muted);margin:0;font-size:.85rem}.hero-booking-note>div{margin-top:var(--space-4);flex-wrap:wrap;gap:.45rem;display:flex}.hero-booking-note>div span{color:var(--booking-ink);border:1px solid var(--booking-line);padding:.38rem .55rem;font-size:.68rem;font-weight:700}.rail-booking .booking-card{max-width:none;color:var(--booking-ink);background:var(--booking-surface);border:1px solid var(--booking-line);box-shadow:var(--booking-shadow);margin-top:clamp(2.5rem,6vw,5rem);padding:0}.rail-booking .booking-card-head{justify-content:space-between;align-items:end;gap:var(--space-4);border-bottom:1px solid var(--booking-line);margin:0;padding:clamp(1.25rem,3vw,2rem);display:flex}.rail-booking .booking-card-head>div>span{color:var(--lacquer);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.rail-booking .booking-card-head strong{color:var(--booking-ink);margin:.2rem 0 0;font-size:clamp(1.55rem,3vw,2.35rem)}.rail-booking .booking-card-head p{max-width:26rem;color:var(--booking-muted);text-align:right}.booking-progress{border-bottom:1px solid var(--booking-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.booking-progress button{min-height:5rem;color:var(--booking-muted);font:inherit;text-align:left;cursor:pointer;border:0;border-right:1px solid var(--booking-line);background:0 0;grid-template-columns:auto 1fr;align-items:center;column-gap:.7rem;padding:.8rem 1rem;display:grid;position:relative}.booking-progress button:last-child{border-right:0}.booking-progress button>span{width:2rem;height:2rem;color:var(--booking-ink);border:1px solid var(--booking-line);border-radius:50%;grid-row:1/3;place-items:center;font-size:.72rem;font-weight:800;display:grid}.booking-progress strong{color:inherit;font-size:.78rem;line-height:1.2}.booking-progress small{color:inherit;font-size:.65rem;line-height:1.2}.booking-progress button[aria-current=step]{color:var(--booking-ink);background:var(--booking-elevated)}.booking-progress button[aria-current=step]>span{color:#1d362e;background:var(--gold);border-color:var(--gold)}.booking-progress button:disabled{cursor:default;opacity:.5}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,.34fr);align-items:start;display:grid}.booking-wizard{border-right:1px solid var(--booking-line);min-height:34rem;padding:clamp(1.3rem,4vw,3rem)}.booking-step[hidden]{display:none}.step-heading{margin-bottom:var(--space-5)}.step-heading>span{color:var(--lacquer);letter-spacing:.1em;text-transform:uppercase;font-size:.67rem;font-weight:800;display:block}.step-heading h2{color:var(--booking-ink);margin:.3rem 0 .4rem;font-size:clamp(1.8rem,4vw,3rem)}.step-heading p{color:var(--booking-muted);margin:0;font-size:.9rem}.route-builder{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;display:grid}.trip-details-grid,.rail-booking .contact-fields{gap:var(--space-3);margin:var(--space-4) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rail-booking .booking-card label>span,.rail-booking .booking-card label>span:first-child{color:var(--booking-ink);margin-bottom:.45rem;font-size:.75rem;font-weight:700}.rail-booking .booking-card label>small{color:var(--booking-muted);margin-top:.45rem;font-size:.66rem;display:block}.rail-booking .booking-card input,.rail-booking .booking-card select,.rail-booking .booking-card textarea{width:100%;min-height:3.45rem;color:var(--booking-ink);font:inherit;background:var(--booking-input);border:1px solid var(--booking-line);padding:.8rem .9rem;font-size:.88rem}.rail-booking .booking-card select{cursor:pointer}.rail-booking .booking-card input::placeholder,.rail-booking .booking-card textarea::placeholder{color:color-mix(in srgb, var(--booking-muted) 66%, transparent)}.rail-booking .booking-card input:focus,.rail-booking .booking-card select:focus,.rail-booking .booking-card textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.swap-route{color:#1d362e;width:3.45rem;height:3.45rem;font:inherit;cursor:pointer;background:var(--gold);border:1px solid var(--gold);place-items:center;font-size:1.25rem;display:grid}.swap-route:hover{transform:translateY(-2px)}.step-actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.step-actions-end{justify-content:flex-end}.booking-next,.rail-booking .booking-submit,.booking-back{min-height:3.4rem;font:inherit;cursor:pointer;padding:.8rem 1rem;font-size:.85rem;font-weight:800}.booking-next,.rail-booking .booking-submit{color:#fff9ee;background:var(--lacquer);border:1px solid var(--lacquer);justify-content:space-between;align-items:center;gap:2.5rem;width:auto;display:inline-flex}.booking-next:hover,.rail-booking .booking-submit:hover{background:color-mix(in srgb, var(--lacquer) 86%, black);transform:translateY(-2px)}.booking-back{color:var(--booking-muted);border:1px solid var(--booking-line);background:0 0}.booking-back:hover{color:var(--booking-ink);border-color:var(--gold)}.step-error{margin:var(--space-3) 0 0;color:var(--booking-ink);background:color-mix(in srgb, var(--lacquer) 16%, transparent);border-left:3px solid var(--lacquer);padding:.7rem;font-size:.78rem}.train-options,.seat-options{gap:.75rem;display:grid}.train-option,.seat-option{cursor:pointer;display:block;position:relative}.rail-booking .train-option>input,.rail-booking .seat-option>input{opacity:0;width:1px;min-height:1px;padding:0;position:absolute}.rail-booking .train-option-card{gap:var(--space-3);min-height:5.1rem;color:var(--booking-ink);background:var(--booking-input);border:1px solid var(--booking-line);grid-template-columns:1.15fr .85fr .65fr .85fr;align-items:center;margin:0;padding:.85rem 1rem;display:grid}.train-option:hover .train-option-card,.train-option input:checked+.train-option-card,.seat-option:hover>span,.seat-option input:checked+span{background:var(--booking-elevated);border-color:var(--gold)}.train-option input:focus-visible+.train-option-card,.seat-option input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.train-time{align-items:center;gap:.65rem;display:flex}.train-time strong{color:var(--booking-ink);font-family:var(--font-display);font-size:1.35rem}.train-time i{color:var(--gold);font-style:normal}.train-code{display:grid}.train-code b{color:var(--booking-ink);font-size:.8rem}.train-code small,.train-duration,.train-price{color:var(--booking-muted);font-size:.67rem}.rail-booking .train-code small,.rail-booking .seat-option small{color:var(--booking-muted)}.train-price{text-align:right}.train-price strong{color:var(--booking-ink);font-size:.88rem;display:block}.rail-booking .seat-option>span{column-gap:var(--space-3);min-height:5.4rem;color:var(--booking-ink);background:var(--booking-input);border:1px solid var(--booking-line);grid-template-columns:auto 1fr auto;align-items:center;margin:0;padding:.9rem 1rem;display:grid}.seat-option i{width:2rem;height:2rem;color:var(--booking-muted);border:1px solid var(--booking-line);border-radius:50%;grid-row:1/3;place-items:center;font-size:.67rem;font-style:normal;display:grid}.seat-option b{color:var(--booking-ink);font-size:.88rem}.seat-option small{color:var(--booking-muted);grid-column:2;font-size:.68rem}.seat-option strong{color:var(--booking-ink);grid-area:1/3;font-size:.9rem}.seat-option em{color:var(--booking-muted);grid-area:2/3;font-size:.62rem;font-style:normal}.train-option input:checked+.train-option-card,.seat-option input:checked+span{box-shadow:inset 3px 0 0 var(--gold)}.booking-summary{color:var(--booking-ink);background:var(--booking-elevated);padding:clamp(1.3rem,3vw,2rem);position:sticky;top:6rem}.summary-route{margin:var(--space-3) 0 var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--booking-line);grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;display:grid}.summary-route strong{color:var(--booking-ink);font-family:var(--font-display);font-size:1.12rem;line-height:1.2}.summary-route strong:last-child{text-align:right}.summary-route span{color:var(--gold)}.booking-summary dl{gap:.75rem;margin:0;display:grid}.booking-summary dl div{justify-content:space-between;gap:var(--space-3);display:flex}.booking-summary dt{color:var(--booking-muted);font-size:.7rem}.booking-summary dd{color:var(--booking-ink);text-align:right;margin:0;font-size:.72rem;font-weight:700}.summary-price{margin-top:var(--space-4);padding:var(--space-4) 0;border-block:1px solid var(--booking-line);gap:.7rem;display:grid}.summary-price>div{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.summary-price span{color:var(--booking-muted);font-size:.7rem}.summary-price strong{color:var(--booking-ink);font-size:.85rem}.booking-summary>p{margin:var(--space-3) 0 0;color:var(--booking-muted);font-size:.68rem}.rail-booking .request-consent{color:var(--booking-muted)}.rail-booking .request-consent input{width:1.05rem;min-height:1.05rem;padding:0}.rail-booking .form-fineprint,.rail-booking .form-status{color:var(--booking-muted)}.rail-booking .form-status{color:var(--booking-ink);background:var(--booking-elevated);border-color:var(--booking-line)}html[data-theme=light] .rail-booking .why-section,html[data-theme=light] .rail-booking .routes-section{background:#eee4d5}html[data-theme=light] .rail-booking .process-section,html[data-theme=light] .rail-booking .faq-section{background:#f8f1e7}.rail-booking .availability-card{display:none}.rail-booking .why-grid{grid-template-columns:minmax(0,50rem)}@media (width<=960px){.rail-booking .rail-hero-grid,.booking-layout{grid-template-columns:1fr}.rail-booking .booking-card{max-width:none}.booking-wizard{border-right:0;border-bottom:1px solid var(--booking-line);min-height:auto}.booking-summary{position:static}}@media (width<=700px){.rail-booking .rail-hero{padding-top:var(--space-5);background:var(--booking-hero-overlay), url(/images/travel-guides/transport.webp) center / cover}.rail-booking .booking-card-head{flex-direction:column;align-items:start}.rail-booking .booking-card-head p{text-align:left}.booking-progress button{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:4.7rem;padding:.55rem .25rem}.booking-progress button>span{grid-row:auto;width:1.7rem;height:1.7rem}.booking-progress small{display:none}.route-builder{grid-template-columns:1fr auto}.route-builder label:last-child{grid-column:1/-1}.swap-route{grid-area:1/2}.trip-details-grid,.rail-booking .contact-fields{grid-template-columns:1fr}.rail-booking .train-option-card{grid-template-columns:1fr auto}.train-code{text-align:right}.train-duration{grid-column:1}.train-price{grid-column:2}.step-actions{flex-direction:column-reverse;align-items:stretch}.step-actions-end{flex-direction:column}.booking-next,.rail-booking .booking-submit,.booking-back{justify-content:space-between;width:100%}.rail-booking .seat-option>span{grid-template-columns:auto 1fr}.seat-option strong,.seat-option em{text-align:left;grid-area:auto/2}}
