.plan-step { display: grid; grid-template-columns: 46px 1fr; gap: .8rem; align-items: start; margin: 1rem 0; border: 4px solid #000; background: #fff; padding: 1rem; }
.step-number { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 3px solid #000; border-radius: 50%; background: var(--yellow); font-size: 1.15rem; font-weight: 900; }
.plan-step p { margin: .25rem 0; }
.plan-step .experience-grid { margin-top: .8rem; }
.planner-summary { margin-top: 1rem; border: 5px solid #000; background: var(--yellow); padding: 1rem; }
.planner-warning { margin: .8rem 0 0; border: 3px solid #000; border-left: 10px solid var(--red); background: #fff; padding: .75rem; }
.passenger-grid { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: .6rem; }
.passenger-grid label { font-weight: 900; }
.passenger-grid select { display: block; min-width: 110px; min-height: 44px; border: 3px solid #000; background: #fff; padding: .45rem; font: inherit; }
.planner-intro { border-left: 9px solid var(--blue); background: #fff; padding: .8rem 1rem; }
.module-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin-top: .8rem; }
.module-option { display: flex; gap: .7rem; align-items: flex-start; border: 3px solid #000; background: #fff; padding: .8rem; cursor: pointer; }
.module-option.active, .module-option:has(input:checked) { background: var(--yellow); box-shadow: 6px 6px 0 var(--blue); }
.module-option input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.module-option small, .side-trip-options small, .night-grid small { display: block; margin-top: .25rem; font-weight: 400; }
.night-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin-top: .8rem; }
.night-grid label { border: 3px solid #000; padding: .7rem; font-weight: 900; }
.night-grid input, .night-grid select { display: block; width: 100%; min-height: 44px; margin-top: .4rem; border: 3px solid #000; padding: .35rem; font: inherit; background: #fff; color: #000; }
.allocation-total { margin-top: .8rem; border: 3px solid #000; padding: .7rem; }
.allocation-total.valid { border-left: 10px solid var(--blue); background: #eef9fc; }
.allocation-total.invalid { border-left: 10px solid var(--red); background: #ffe9ec; }
.side-trip-options { margin-top: 1rem; border: 3px solid #000; background: #eef9fc; padding: .7rem; }
.side-trip-options legend { padding: 0 .35rem; font-weight: 900; }
.side-trip-options label { display: flex; gap: .6rem; align-items: flex-start; }
.side-trip-options label + label { margin-top: .65rem; padding-top: .65rem; border-top: 2px solid #000; }
.side-trip-options input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.itinerary-sector { margin-top: .8rem; border: 3px solid #000; background: var(--yellow); padding: .75rem; }
.itinerary-sector label { display: block; font-weight: 900; }
.itinerary-sector select { width: 100%; min-height: 44px; margin-top: .4rem; border: 3px solid #000; background: #fff; padding: .45rem; font: inherit; }
.itinerary-sector p { margin: .45rem 0 0; }
.itinerary-features { display: grid; gap: .4rem; margin-top: .8rem; }
.itinerary-feature { display: grid; grid-template-columns: 132px 1fr; gap: .55rem; border: 2px solid #000; border-left-width: 10px; background: #fff; padding: .5rem .65rem; }
.itinerary-feature strong { font-weight: 900; }
.itinerary-feature a { font-weight: 900; text-decoration-thickness: 2px; text-underline-offset: 2px; }
.destination-recommendations { margin: .8rem 0 1.35rem; border: 3px solid #000; border-left: 10px solid var(--yellow); background: #fff; box-shadow: 5px 5px 0 rgba(0,0,0,.14); }
.destination-recommendations-heading { display: flex; justify-content: space-between; gap: .8rem; align-items: baseline; padding: .8rem .85rem .3rem; background: transparent; color: var(--ink); }
.destination-recommendations-heading > strong { font-size: 1.05rem; }
.destination-recommendations-heading > span { font-size: .8rem; font-weight: 800; color: var(--muted); }
.destination-recommendations > .itinerary-feature { border: 0; border-bottom: 2px solid #000; }
.destination-recommendations > details > summary { cursor: pointer; padding: .65rem .75rem; font-weight: 900; background: #f1f1f1; }
.destination-recommendations-more { border-top: 2px solid #000; }
.destination-recommendations-more .itinerary-feature { border: 0; }
.destination-recommendations > .meta { margin: 0; padding: .55rem .75rem; border-top: 2px solid #000; }
.day-list { grid-template-columns:minmax(0,1fr); }
.day-card { min-width:0; grid-template-columns:145px minmax(0,1fr); }
.day-copy,.day-schedule-detail,.day-schedule-content { min-width:0; }
.day-service-table-wrap { width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-inline:contain; border:2px solid #000; }
.table-scroll-hint { display:none; }
.day-service-table { width:100%; border-collapse:collapse; min-width:650px; }
.day-service-table th,.day-service-table td { padding:.65rem; text-align:left; vertical-align:top; border-bottom:2px solid #000; border-right:1px solid #999; }
.day-service-table th { background:#f1f1f1; font-weight:900; }
.day-service-table td:first-child { width:46%; }
.day-service-table td:nth-child(2),.day-service-table td:nth-child(3) { white-space:nowrap; font-weight:900; }
.day-service-table .schedule-service strong,.day-service-table .schedule-service small { display:block; margin-top:.25rem; }
.day-service-action-row td { padding-top:.45rem; padding-bottom:.7rem; background:#fafafa; }
.day-service-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; width:100%; }
.day-service-fare { font-weight:900; }
.day-service-fare span { display:block; margin:.12rem 0; }
.day-service-times { font-weight:800; }
.timetable-required { color:#7a2600; }
.day-service-book { margin:0; position:static; align-self:flex-start; }
.day-plan-accommodation { margin-top:1rem; padding-top:.8rem; border-top:2px solid #000; display:grid; gap:.5rem; }
.day-plan-accommodation > span { display:flex; flex-wrap:wrap; gap:.45rem; }
.day-plan-accommodation small { color:var(--muted); }
.recommended-stay { margin:.9rem 0; padding:1rem; border-left:4px solid #ffb703; background:#fff8dd; border-radius:.45rem; }
.recommended-stay p { margin:.45rem 0 .75rem; }
.recommended-stay .stay-provider-links { display:flex; flex-wrap:wrap; gap:.45rem; }
.feature-view { border-left-color: var(--blue); background: #eaf7fb; }
.feature-stop { border-left-color: var(--yellow); background: #fff5cf; }
.feature-attraction { border-left-color: var(--red); background: #fdebed; }
.feature-spectacular-stretch { border-left-color: #6d4db3; background: #f0ebff; }
.side-trip-detail { margin: -.15rem 0 .9rem 94px; border: 4px solid #000; border-left: 12px solid var(--red); background: #fff; box-shadow: 6px 6px 0 var(--yellow); }
.side-trip-detail > summary, .day-schedule-detail > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; padding: .8rem 1rem; font-weight: 900; list-style: none; }
.side-trip-detail > summary::-webkit-details-marker, .day-schedule-detail > summary::-webkit-details-marker { display: none; }
.side-trip-detail > summary::before, .day-schedule-detail > summary::before { content: '▸'; flex: 0 0 auto; font-size: 1.2rem; }
.side-trip-detail[open] > summary::before, .day-schedule-detail[open] > summary::before { content: '▾'; }
.side-trip-detail > summary span:first-of-type, .day-schedule-detail > summary span:first-of-type { display: grid; gap: .1rem; flex: 1; }
.side-trip-detail > summary small, .day-schedule-detail > summary small { font-size: .92rem; font-weight: 700; }
.detail-status { border: 2px solid #000; background: var(--yellow); padding: .2rem .45rem; font-size: .78rem; white-space: nowrap; }
.side-trip-detail-content { border-top: 3px solid #000; padding: 1rem; }
.day-schedule-detail { margin-top: .8rem; border: 3px solid #000; border-left: 10px solid var(--blue); background: #fff; }
.day-schedule-content { border-top: 3px solid #000; padding: .8rem 1rem; }
.day-schedule-content h4 { margin: .75rem 0 .25rem; }
.day-schedule-content ul { margin: .25rem 0 .7rem; padding-left: 1.3rem; }
.day-schedule-content li + li { margin-top: .25rem; }
.day-service-list { display:grid; gap:.55rem; padding-left:1.35rem; }
.schedule-service { padding:.65rem .75rem; border:2px solid #000; background:#fff; }
.schedule-service > strong,.schedule-service > span,.schedule-service > small { display:block; }
.schedule-status { width:max-content; margin-bottom:.25rem; padding:.12rem .35rem; border:2px solid #000; font-size:.75rem; font-weight:900; text-transform:uppercase; }
.schedule-status.fixed { background:var(--blue); color:#fff; }
.schedule-status.flexible { background:var(--yellow); color:#000; }
.day-plan-booking-link { margin-top:1rem; border-left:6px solid var(--blue); background:var(--paper); padding:.65rem .75rem; font-weight:800; }
.itinerary-fineprint { margin:.65rem 0 0; font-size:.78rem; line-height:1.4; color:#555; }
.fare-table th:last-child,.fare-table td:last-child { min-width:9.5rem; text-align:center; }
.side-trip-detail h3 { margin: 0 0 .35rem; }
.side-trip-detail dl { display: grid; grid-template-columns: 110px 1fr; gap: .35rem .7rem; }
.side-trip-detail dt { font-weight: 900; }
.side-trip-detail dd { margin: 0; }
.side-trip-car-hire { margin-top: 1rem; border-top: 3px solid #000; padding-top: .8rem; }
.side-trip-car-hire h4 { margin: 0 0 .35rem; font-size: 1.08rem; }
.side-trip-car-hire .button { margin: .35rem 0; }
.side-trip-schedule { margin-top: 1rem; border-top: 3px solid #000; padding-top: .9rem; }
.side-trip-schedule h4 { margin: 0 0 .35rem; font-size: 1.2rem; }
.side-trip-schedule h5 { margin: .8rem 0 .25rem; font-size: 1rem; }
.side-trip-schedule ul { margin: .3rem 0 .7rem; padding-left: 1.3rem; }
.side-trip-schedule li + li { margin-top: .25rem; }
.side-trip-date { display: inline-block; margin: 0 0 .55rem; border: 2px solid #000; background: var(--yellow); padding: .25rem .45rem; font-weight: 900; }
.side-trip-fare { border: 3px solid #000; border-left: 10px solid var(--blue); background: #eef9fc; padding: .7rem; }
.side-trip-availability { border: 3px solid #000; padding: .7rem; }
.side-trip-availability.confirmed { border-left: 10px solid var(--blue); background: #eef9fc; }
.side-trip-availability.usual { border-left: 10px solid var(--yellow); background: #fff5cf; }
.side-trip-availability.unusual { border-left: 10px solid var(--red); background: #ffe9ec; }
.side-trip-source-note { margin-top: 1rem; border: 3px solid #000; background: #fff5cf; padding: .75rem; }
.side-trip-links { display: flex; flex-wrap: wrap; gap: .55rem; }
.side-trip-links .button { margin: 0; }
.family-grid { grid-template-columns: repeat(auto-fit,minmax(205px,1fr)); }
.stretch-list { display: grid; gap: 1rem; }
.stretch-card { scroll-margin-top: 1rem; border: 4px solid #000; border-left: 14px solid #6d4db3; background: #fff; box-shadow: 7px 7px 0 var(--yellow); }
.stretch-card summary { display: grid; gap: .25rem; padding: 1rem 1.2rem; cursor: pointer; list-style-position: outside; }
.stretch-card summary strong { font-size: clamp(1.4rem,3vw,2rem); line-height: 1.1; }
.stretch-card summary small { color: var(--muted); font-weight: 800; }
.stretch-label { width: max-content; border: 2px solid #000; background: #f0ebff; padding: .2rem .45rem; font-size: .76rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.stretch-card-body { border-top: 3px solid #000; padding: 1rem 1.2rem 1.25rem; }
.stretch-card-body h3 { margin: 1.1rem 0 .45rem; }
.stretch-related { display: flex; flex-wrap: wrap; gap: .55rem; }
.stretch-related .button { background: var(--blue); }
.feature-detail-link { display:inline; border:0; border-bottom:2px dotted currentColor; background:transparent; color:inherit; padding:0; font:inherit; font-weight:900; text-align:left; cursor:pointer; }
.feature-detail-link:hover,.feature-detail-link:focus-visible { border-bottom-style:solid; outline-offset:3px; }
.attraction-place-groups { display:grid; gap:.45rem; }
.attraction-place-group { display:block; }
.attraction-place-group b { color:#8d1722; }
.travel-feature-dialog { width:min(92vw,820px); max-width:none; max-height:88vh; padding:0; border:5px solid #000; background:#fff; color:#161616; box-shadow:12px 12px 0 var(--yellow); }
.travel-feature-dialog::backdrop { background:rgba(0,0,0,.78); }
.travel-dialog-inner { position:relative; max-height:86vh; overflow:auto; padding:clamp(1.25rem,4vw,2.3rem); }
.travel-dialog-inner h2 { margin:.2rem 3.2rem .65rem 0; font-size:clamp(2rem,5vw,3.3rem); line-height:1; text-transform:uppercase; }
.travel-dialog-inner h3 { margin:1.25rem 0 .35rem; }
.travel-dialog-close { position:absolute; top:.7rem; right:.7rem; width:2.8rem; height:2.8rem; border:3px solid #000; background:var(--red); color:#fff; font-size:1.35rem; font-weight:900; cursor:pointer; }
.travel-dialog-badges,.travel-dialog-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.travel-dialog-badges span { border:2px solid #000; background:var(--yellow); padding:.25rem .45rem; font-weight:900; }
.travel-dialog-badges span:first-child { background:#000; color:#fff; }
.travel-dialog-badges span.is-verified { background:#168557; color:#fff; }
.travel-dialog-actions { margin:1.2rem 0; }
.travel-venue-block { border-top:3px solid #000; padding:.9rem 0 .15rem; }
.travel-venue-block > strong { display:block; margin-bottom:.4rem; }
.travel-venue-block p { margin:.3rem 0 .7rem; }
.travel-venue-block ul { margin:.45rem 0 .8rem; padding-left:1.35rem; }
.travel-venue-block li + li { margin-top:.35rem; }
.price-list { border: 4px solid #000; background: #fff; }
.price-row { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr 2fr .9fr; border-top: 2px solid #000; }
.price-row:first-child { border-top: 0; }
.price-row > span, .price-row > strong { padding: .75rem; border-left: 2px solid #000; }
.price-row > :first-child { border-left: 0; }
.price-head { background: #000; color: #fff; font-weight: 900; }
.price-value { font-size: 1.05rem; }
.price-row small { display: block; margin-top: .25rem; color: var(--muted); }
.price-row.temporary { box-shadow: inset 9px 0 var(--yellow); }
.price-row.needs_rechecking { box-shadow: inset 9px 0 var(--red); }
.price-row.pass-fare { box-shadow: inset 9px 0 var(--blue); }
.flight-list { border: 4px solid #000; background: #fff; }
.flight-row { display: grid; grid-template-columns: 1.4fr .7fr 1fr 1.2fr 1fr; border-top: 2px solid #000; }
.flight-row:first-child { border-top: 0; }
.flight-row > span, .flight-row > strong { padding: .75rem; border-left: 2px solid #000; }
.flight-row > :first-child { border-left: 0; }
.flight-head { background: #000; color: #fff; font-weight: 900; }
.day-key time { display: block; margin: .35rem 0; font-weight: 900; }
.booking-data { border-left: 6px solid var(--blue); background: var(--paper); padding: .55rem .7rem; }
.stay-provider-links { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.stay-provider-links .button { margin: 0; }
.fare-pending { max-width: 850px; border: 4px solid #000; border-left: 12px solid var(--blue); background: #fff; padding: 1rem 1.1rem; }
.fare-pending p { margin: .4rem 0 0; }
.booking-summary { margin: -.35rem 0 1rem; font-weight: 700; }
.booking-steps.compact { gap: .55rem; }
.booking-steps.compact li { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: .75rem; align-items: center; padding: .65rem .75rem; border-width: 3px; }
.booking-number { display: grid; place-items: center; width: 32px; height: 32px; border: 2px solid #000; border-radius: 50%; background: var(--yellow); font-weight: 900; }
.booking-route { display: flex; flex-direction: column; min-width: 0; }
.booking-route strong { line-height: 1.2; }
.booking-route span { color: var(--muted); font-size: .9rem; font-weight: 700; }
.booking-button { min-height: 38px; padding: .4rem .65rem; white-space: nowrap; }
.booking-unavailable { color: var(--muted); font-size: .88rem; font-weight: 800; }
.stay-grid.compact { grid-template-columns: 1fr; gap: .65rem; }
.stay-grid.compact .stay-card { display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(250px,1fr) auto; gap: 1rem; align-items: center; padding: .8rem 1rem; box-shadow: 5px 5px 0 var(--blue); }
.stay-heading h3 { margin: 0; }
.stay-heading p { display: flex; flex-direction: column; margin: .2rem 0 0; }
.stay-heading span { color: var(--muted); font-size: .9rem; font-weight: 700; }
.stay-search-summary { margin: 0; font-weight: 700; }
.stay-grid.compact .stay-provider-links { justify-content: flex-end; margin: 0; }
.stay-grid.compact .stay-provider-links .button { min-height: 38px; padding: .4rem .65rem; }
.on-train-stays { display: contents; }
.stay-card.on-train-stay { background: #e4e4e4; color: #444; box-shadow-color: #777; }
.stay-card.on-train-stay .button.disabled { background: #c7c7c7; color: #555; border-color: #777; cursor: default; }
.night-grid .on-train-night { background: #e4e4e4; color: #444; }
.night-grid .on-train-night input { background: #d0d0d0; color: #555; cursor: not-allowed; }
.overnight-location { display: inline-block; margin: .35rem 0 .7rem; border: 2px solid #777; background: #e4e4e4; padding: .35rem .55rem; font-weight: 700; }
.affiliate-note { max-width: 850px; color: var(--muted); font-size: .88rem; }
.car-hire-grid { display: grid; gap: .8rem; }
.car-hire-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .8rem 1rem; align-items: center; border: 4px solid #000; background: #fff; padding: 1rem; box-shadow: 6px 6px 0 var(--yellow); }
.car-hire-card h3 { margin: 0 0 .35rem; }
.car-hire-card p { margin: .25rem 0; }
.car-hire-card .button { margin: 0; white-space: nowrap; }
.car-hire-card .affiliate-note { grid-column: 1 / -1; }
@media (max-width: 800px) {
  .price-head { display: none; }
  .price-row { grid-template-columns: 1fr; padding: .65rem; }
  .price-row > span, .price-row > strong { border: 0; padding: .35rem; }
  .price-row [data-label]::before { content: attr(data-label) ": "; font-weight: 900; }
  .flight-head { display: none; }
  .flight-row { grid-template-columns: 1fr; padding: .65rem; }
  .flight-row > span, .flight-row > strong { border: 0; padding: .35rem; }
  .flight-row [data-label]::before { content: attr(data-label) ": "; font-weight: 900; }
  .stay-grid.compact .stay-card { grid-template-columns: 1fr; gap: .55rem; }
  .stay-grid.compact .stay-provider-links { justify-content: flex-start; }
  .car-hire-card { grid-template-columns: 1fr; }
  .car-hire-card .affiliate-note { grid-column: auto; }
  .side-trip-detail { margin-left: 0; }
}
@media (max-width: 600px) {
  .day-card { grid-template-columns:minmax(0,1fr); }
  .table-scroll-hint { display:block; margin:.5rem 0 .3rem; font-size:.85rem; font-weight:900; color:#14596a; }
  .plan-step { grid-template-columns: 38px 1fr; padding: .7rem; }
  .step-number { width: 34px; height: 34px; }
  .passenger-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .module-grid, .night-grid { grid-template-columns: 1fr; }
  .booking-steps.compact li { grid-template-columns: 34px minmax(0,1fr); }
  .booking-steps.compact .booking-button, .booking-steps.compact .booking-unavailable { grid-column: 2; justify-self: start; }
  .itinerary-feature, .side-trip-detail dl { grid-template-columns: 1fr; }
}

/* Itinerary saving, sharing and email */
.itinerary-actions{margin:1.2rem 0 1.6rem;padding:1.1rem 1.3rem;border:2px solid #1784b2;border-radius:12px;background:#eaf5fa;color:#152b3b}
.itinerary-actions p{margin:.1rem 0 .8rem}
.itinerary-action-buttons,.itinerary-saved-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.itinerary-saved-row{margin-top:1rem;border-top:1px solid #bbd6e4;padding-top:.85rem}
.itinerary-saved-row label{font-weight:700}
.itinerary-saved-row select{max-width:100%;min-width:min(100%,20rem);padding:.5rem}
.itinerary-saved-row button{border:1px solid #0b5576;border-radius:6px;background:#fff;color:#0b4767;padding:.45rem .8rem;cursor:pointer}
.itinerary-actions button:disabled{opacity:.5;cursor:not-allowed}
.itinerary-action-status{font-weight:700;min-height:1.2em}
.itinerary-email-dialog{border:2px solid #1484b2;border-radius:12px;max-width:min(92vw,31rem);padding:1.5rem;color:#152b3b}
.itinerary-email-dialog::backdrop{background:#061b2ac9}
.itinerary-email-dialog label{display:block;font-weight:700;margin:.8rem 0}
.itinerary-email-dialog input[type=email]{display:block;box-sizing:border-box;width:100%;padding:.65rem;margin-top:.35rem}
.itinerary-email-dialog .dialog-close{float:right;border:0;background:transparent;font-size:1.8rem;cursor:pointer}
.itinerary-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Give the hotel recommendation room and keep stay dates below its heading. */
.stay-grid.compact .stay-card.has-recommended-stay { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); align-items:start; gap:.7rem 1.4rem; }
.stay-card.has-recommended-stay .stay-heading { grid-column:1; grid-row:1; }
.stay-card.has-recommended-stay .recommended-stay { grid-column:2; grid-row:1 / span 3; margin:0; max-width:none; }
.stay-card.has-recommended-stay > .stay-search-summary { grid-column:1; grid-row:2; align-self:start; }
.stay-card.has-recommended-stay > .stay-provider-links { grid-column:1; grid-row:3; justify-content:flex-start; }
.stay-card.has-recommended-stay .recommended-stay .stay-provider-links { justify-content:flex-start; }
@media(max-width:760px) {
  .stay-grid.compact .stay-card.has-recommended-stay { grid-template-columns:minmax(0,1fr); }
  .stay-card.has-recommended-stay .stay-heading,.stay-card.has-recommended-stay .recommended-stay,.stay-card.has-recommended-stay > .stay-search-summary,.stay-card.has-recommended-stay > .stay-provider-links { grid-column:1; grid-row:auto; }
}
.hotel-guest-ages { margin-top:.7rem; }
.hotel-guest-ages p { margin:.2rem 0 .5rem; }
.hotel-age-fields { display:flex; flex-wrap:wrap; gap:.6rem; }
.hotel-age-fields label { display:grid; gap:.25rem; min-width:8rem; }
.hotel-room-reminder { margin:.25rem 0; padding:.6rem .75rem; background:#fff8dd; border-left:4px solid var(--yellow); }
.trainspotting-tool { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.6rem; padding:.7rem .85rem; background:#e8f7fc; border-top:2px solid #000; }
.trainspotting-tool .button { margin:0; }
