/* PURECAR TRANSPORT DESIGN V2 · single canonical stylesheet · 2026-10-21 */
:root{--pt-ink:#111318;--pt-red:#e52b2f;--pt-muted:#5c626a;--pt-cream:#f8f5f0;--pt-edge:#e8e2dd;--pt-radius:18px;--pt-shadow:0 12px 32px rgba(43,29,24,.055)}
.pc-translink-page,.pbs2,.pr3{background:#fff;color:var(--pt-ink);font-family:inherit;font-size:16px;line-height:1.65}
.pc-translink-page *,.pbs2 *,.pr3 *{box-sizing:border-box}
.pc-translink-page h1,.pbs2 h1,.pr3 h1{font-size:clamp(34px,4.1vw,58px);font-weight:850;letter-spacing:-.045em;line-height:1.1;color:var(--pt-ink);margin:0 0 16px}
.pc-translink-page h2,.pbs2 h2,.pr3 h2{font-size:clamp(23px,2.3vw,31px);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--pt-ink);margin:0 0 16px}
.pc-translink-page h3,.pbs2 h3,.pr3 h3{font-weight:800;color:var(--pt-ink)}
.pc-translink-page a,.pbs2 a,.pr3 a{transition:border-color .15s,color .15s,background .15s}
.pc-translink-page :focus-visible,.pbs2 :focus-visible,.pr3 :focus-visible{outline:3px solid #e52b2f;outline-offset:2px}
/* Common page band, no duplicate gradient under content */
.pt-band{background:linear-gradient(125deg,#f8f5f0 0%,#f5efec 60%,#faf6f3 100%);border:1px solid #eee6e1;border-radius:22px;padding:clamp(26px,3.5vw,46px);margin-bottom:28px}
.pt-band p{color:var(--pt-muted);font-size:18px;max-width:770px;margin:0}
.pt-eyebrow{display:block;color:var(--pt-red);font-size:12px;letter-spacing:.11em;font-weight:800;margin-bottom:12px}
.pt-section{margin-top:36px}
.pt-sectionhead{display:flex;justify-content:space-between;align-items:end;gap:15px;flex-wrap:wrap;margin:0 0 20px}
.pt-sectionhead h2{margin:0}
.pt-count{border:1px solid var(--pt-edge);background:#fff;padding:8px 13px;border-radius:99px;font-size:13px;font-weight:700;color:var(--pt-muted)}
.pt-panel{background:#fff;border:1px solid var(--pt-edge);border-radius:18px;padding:clamp(18px,2.4vw,28px);box-shadow:var(--pt-shadow)}
.pt-tabbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;margin:0 0 18px;border-bottom:1px solid var(--pt-edge)}
.pt-tabbar a{color:var(--pt-muted);text-decoration:none!important;font-weight:750;font-size:14px;padding:8px 12px;border-radius:10px}
.pt-tabbar a:hover,.pt-tabbar a[aria-current=page]{background:#f7f2ee;color:var(--pt-red)}
.pt-related{margin:44px 0 0;padding:25px 0;border-top:1px solid var(--pt-edge)}
.pt-related strong{display:block;font-size:18px;margin-bottom:12px}
.pt-related a{display:inline-block;color:var(--pt-red)!important;font-weight:750;text-decoration:none!important;margin:0 18px 10px 0}
/* Journey planner */
.pc-translink-page{padding:0 20px 80px}
.pc-translink-wrap{max-width:1180px;margin:0 auto;width:100%}
.pc-translink-breadcrumb,.pbs2-crumb,.pr3-breadcrumb{font-size:14px;color:var(--pt-muted);padding:20px 0;margin:0}
.pc-translink-breadcrumb a,.pbs2-crumb a,.pr3-breadcrumb a{color:var(--pt-red)!important;text-decoration:none}
.pc-translink-planner{padding:clamp(22px,3.5vw,44px);background:linear-gradient(125deg,#f8f5f0,#f9f4f1);border:1px solid #eee5e0;border-radius:22px}
.pc-translink-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}
.pc-translink-title{min-width:0}.pc-translink-title p{font-size:18px;color:var(--pt-muted);max-width:700px;margin:0}
.pc-translink-live{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--pt-edge);border-radius:99px;background:#fff;color:var(--pt-ink);padding:8px 12px;font-size:12px;font-weight:800;white-space:nowrap}
.pc-translink-live:before{content:'';width:7px;height:7px;background:var(--pt-red);border-radius:50%}
#pcTranslinkSearch{background:#fff;border:1px solid var(--pt-edge);box-shadow:var(--pt-shadow);padding:clamp(18px,2.6vw,30px);border-radius:18px}
.pc-translink-route{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:12px;align-items:end}
.pc-translink-field{min-width:0}
.pc-translink-field label,.pc-translink-option-label{display:block;font-weight:800;font-size:14px;color:var(--pt-ink);margin-bottom:8px}
.pc-translink-input,.pc-translink-select,.pc-translink-time{display:block;min-width:0;width:100%;height:55px;background:#fff;color:var(--pt-ink);border:1px solid #d8d9dc;border-radius:11px;font:inherit;font-size:15px;padding:0 15px}
.pc-translink-input:focus,.pc-translink-select:focus,.pc-translink-time:focus,.pbs2-input:focus,.pr3-search:focus{border-color:var(--pt-red);outline:3px solid rgba(229,43,47,.12)}
.pc-translink-swap{width:46px;height:46px;margin-bottom:5px;border:1px solid var(--pt-edge);background:#f8f5f0;border-radius:50%;font-size:21px;cursor:pointer;color:var(--pt-ink)}
.pc-translink-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.pc-translink-modes{display:flex;gap:4px;padding:4px;background:#f6f3f1;border-radius:11px}
.pc-translink-mode{flex:1;min-width:0;padding:9px 7px;min-height:45px;border:0;border-radius:8px;color:var(--pt-muted);background:transparent;font-size:13px;font-weight:800;cursor:pointer}
.pc-translink-mode.is-active{background:#fff;color:var(--pt-red);box-shadow:0 2px 8px rgba(0,0,0,.065)}
.pc-translink-when{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pc-translink-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:23px}
.pc-translink-submit{border:0;background:var(--pt-red);color:#fff;border-radius:11px;min-height:52px;padding:12px 25px;font-size:15px;font-weight:800;cursor:pointer}
.pc-translink-submit:hover,.pbs2-cta:hover,.pr3-button:hover{background:#c92129}
.pc-translink-note,.pc-translink-message,.pc-translink-source{font-size:13px;color:var(--pt-muted)}
.pc-translink-message:empty,.pc-journey-results:empty{display:none}
.pc-journey-results{margin-top:22px;max-width:100%;overflow-wrap:anywhere}
.pc-translink-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0 50px}
.pc-translink-tool{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:24px;background:#fff;border:1px solid var(--pt-edge);border-radius:18px;text-decoration:none!important;box-shadow:var(--pt-shadow)}
.pc-translink-tool:hover{border-color:#e52b2f}
.pc-translink-tool-copy{display:flex;flex-direction:column;gap:7px}.pc-translink-tool-copy strong{font-size:17px;color:var(--pt-ink)}.pc-translink-tool-copy span{font-size:14px;color:var(--pt-muted)}
.pc-translink-tool em{font-style:normal;font-size:23px;color:var(--pt-red)}
.pc-translink-seo{padding-top:35px;border-top:1px solid var(--pt-edge)}
.pc-translink-seo-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:32px}.pc-translink-seo p{color:var(--pt-muted)}
.pc-translink-seo-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;border-radius:18px;background:#f8f5f0;padding:23px}
.pc-translink-seo-links a{color:var(--pt-red)!important;text-decoration:none!important;font-weight:700}
/* Stops: common width and clean white canvas */
.pbs2{max-width:1180px;width:calc(100% - 40px);margin:0 auto;padding-bottom:75px}
.pbs2-lead{font-size:18px;max-width:790px;color:var(--pt-muted);line-height:1.65;margin:0 0 24px}
.pbs2-section{margin-top:36px}
.pbs2-town-hero{padding:clamp(24px,3vw,42px);background:linear-gradient(125deg,#f8f5f0,#f9f4f1);border:1px solid #eee5e0;border-radius:22px}
.pbs2-town-kicker{display:block;margin-bottom:12px;color:var(--pt-red);font-size:12px;font-weight:800;letter-spacing:.11em}
.pbs2-town-hero h1{margin:0 0 14px}.pbs2-town-hero .pbs2-lead{margin:0}
.pbs2-town-stat{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:10px 14px;background:#fff;border:1px solid var(--pt-edge);border-radius:11px}
.pbs2-town-stat strong{font-size:23px}.pbs2-town-stat span{font-size:13px;color:var(--pt-muted)}
.pbs2-town-search{padding:26px;margin:24px 0 36px;max-width:850px;background:#fff;border:1px solid var(--pt-edge);border-radius:18px;box-shadow:var(--pt-shadow)}
.pbs2-town-search label{display:block;font-size:16px;font-weight:800;margin-bottom:11px}.pbs2-town-search p{margin:9px 0 0}
.pbs2-input{display:block;width:100%;max-width:850px;min-height:54px;padding:13px 16px;border:1px solid #d8d9dc;border-radius:11px;background:#fff;color:var(--pt-ink);font-size:16px}
.pbs2-town-resultshead{display:flex;align-items:end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:20px}.pbs2-town-resultshead h2{margin:0}
.pbs2-town-count{border:1px solid var(--pt-edge);padding:7px 13px;background:#f8f5f0;border-radius:99px;font-size:13px;font-weight:750}
.pbs2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}
.pbs2-card{display:flex;flex-direction:column;min-width:0;padding:23px;border:1px solid var(--pt-edge);background:#fff;border-radius:17px;text-decoration:none!important;color:var(--pt-ink)!important;box-shadow:var(--pt-shadow)}
.pbs2-card:hover{border-color:var(--pt-red)}.pbs2-card strong{display:block;font-size:18px;line-height:1.3}.pbs2-card small,.pbs2-card-detail{display:block;color:var(--pt-muted);font-size:13px;line-height:1.6;margin-top:8px}
.pbs2-card-symbol{align-self:flex-start;padding:3px 9px;margin-bottom:15px;border-radius:6px;background:#faeeec;color:var(--pt-red);font-size:11px;font-weight:800;letter-spacing:.06em}
.pbs2-card-action{color:var(--pt-red);font-size:13px;font-weight:800;margin-top:auto;padding-top:16px}.pbs2-hidden{display:none!important}
.pbs2-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px}
.pbs2-panel{padding:25px;border-radius:18px;border:1px solid var(--pt-edge);background:#fff;box-shadow:var(--pt-shadow)}
.pbs2-pill{display:inline-block;margin:0 7px 8px 0;border-radius:99px;background:#f8f5f0;color:var(--pt-ink);padding:7px 11px;font-weight:750;font-size:13px}
.pbs2-route{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;padding:13px 0;border-top:1px solid var(--pt-edge)}.pbs2-route:first-of-type{border-top:0}.pbs2-route b{color:var(--pt-red);font-size:18px}
.pbs2-muted{font-size:14px;color:var(--pt-muted)}.pbs2-list{list-style:none;margin:0;padding:0}.pbs2-list li{padding:11px 0;border-bottom:1px solid var(--pt-edge)}
.pbs2-cta{display:inline-block;margin:7px 7px 0 0;padding:11px 15px;border-radius:10px;background:var(--pt-red);color:#fff!important;font-weight:750;text-decoration:none!important}
.pbs2-cta.light{background:#f8f5f0;color:var(--pt-ink)!important}.pbs2-note{padding:14px;background:#f8f5f0;color:var(--pt-muted);border-radius:10px}
#scheduled-departures{max-width:100%;overflow:hidden}#scheduled-departures table{width:100%;border-collapse:collapse}#scheduled-departures th,#scheduled-departures td{padding:12px 10px!important;border-bottom:1px solid var(--pt-edge)!important;text-align:left}#scheduled-departures th{background:#f8f5f0}
/* Bus routes */
.pr3{--ink:var(--pt-ink);--muted:var(--pt-muted);--red:var(--pt-red);--cream:var(--pt-cream);--border:var(--pt-edge);--soft:#faf8f6}
.pr3-wrap{max-width:1180px;margin:0 auto;padding:0 20px}.pr3-hero{background:linear-gradient(125deg,#f8f5f0,#f9f4f1);padding:clamp(36px,4vw,58px) 0;border-bottom:1px solid #eee5e0}
.pr3-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px}.pr3-eyebrow{display:block;color:var(--pt-red);font-size:12px;font-weight:800;letter-spacing:.09em}
.pr3 h1{margin:14px 0 18px}.pr3-lead{max-width:760px;color:var(--pt-muted);font-size:18px}.pr3-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.pr3-pill{display:inline-flex;padding:8px 13px;background:#fff;border:1px solid var(--pt-edge);border-radius:99px;font-size:13px;font-weight:700;color:var(--pt-ink)}
.pr3-mark{display:grid;place-items:center;width:140px;height:140px;border-radius:24px;background:#111318;color:#fff;font-size:54px;box-shadow:12px 12px 0 rgba(229,43,47,.09)}
.pr3-main{padding-top:42px;padding-bottom:75px}.pr3-searchwrap{padding:25px;border:1px solid var(--pt-edge);border-radius:19px;background:#fff;box-shadow:var(--pt-shadow);margin-bottom:35px}
.pr3-searchwrap label{display:block;font-weight:800;margin-bottom:10px}.pr3-search{width:100%;min-height:54px;padding:13px 15px;border:1px solid #d8d9dc;background:#fff;border-radius:11px;color:var(--pt-ink);font-size:16px}
.pr3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.pr3-card{display:flex;flex-direction:column;min-width:0;min-height:155px;padding:22px;border:1px solid #e8dfda;border-radius:17px;background:#f9f5f1;box-shadow:0 5px 16px rgba(35,25,20,.035);color:#111318!important;text-decoration:none!important;gap:9px}.pr3-card:hover{border-color:var(--pt-red)}
.pr3-cardarrow,.pr3-back{color:var(--pt-red)!important}.pr3-hidden{display:none!important}.pr3-info,.pr3-days,.pr3-footnote{padding:18px;background:#f8f5f0;border:1px solid var(--pt-edge);border-radius:12px;color:var(--pt-muted)}
.pr3-subhead{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-bottom:18px}.pr3-muted{font-size:14px;color:var(--pt-muted)}
.pr3-variations{display:grid;gap:13px}.pr3-variant{background:#fff;border:1px solid var(--pt-edge);border-radius:17px;overflow:hidden}.pr3-variant[open]{border-color:#e3b0af;box-shadow:var(--pt-shadow)}
.pr3-variant summary{display:flex;align-items:center;gap:14px;list-style:none;padding:23px;cursor:pointer}.pr3-variant summary::-webkit-details-marker{display:none}
.pr3-diricon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#faefed;color:var(--pt-red);border-radius:11px;font-size:22px}.pr3-dirtext{flex:1;min-width:0}.pr3-dirtext strong{display:block;font-size:18px}.pr3-dirtext small{display:block;margin-top:4px;font-size:13px;color:var(--pt-muted)}.pr3-chevron{font-size:22px;color:var(--pt-red)}.pr3-variant[open] .pr3-chevron{transform:rotate(180deg)}
.pr3-variantbody{padding:24px;border-top:1px solid var(--pt-edge)}.pr3-timeline{margin:0;padding:0 0 0 18px;list-style:none}.pr3-timeline li{position:relative;border-left:2px solid #ead4d1;padding:0 0 19px 25px}.pr3-timeline li:before{content:'';position:absolute;top:5px;left:-8px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--pt-red)}.pr3-timeline li:last-child{border-left-color:transparent}.pr3-timeline a{color:var(--pt-ink)!important;font-weight:700}.pr3-stopid{display:block;color:var(--pt-muted);font-size:12px}
.pr3-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.pr3-button{display:inline-block;padding:12px 17px;border-radius:10px;color:#fff!important;background:var(--pt-red);font-weight:800;text-decoration:none!important}.pr3-button.alt{background:#f8f5f0;color:var(--pt-ink)!important}

.pr3-grid .pr3-card:nth-child(3n+2){background:#fff0eb}
.pr3-grid .pr3-card:nth-child(3n){background:#f5f3f0}
.pr3-grid .pr3-card:hover{background:#fff;border-color:#e52b2f;box-shadow:0 12px 30px rgba(35,25,20,.09)}
.pr3-grid .pr3-card strong{display:block;color:#111318;font-size:19px;line-height:1.35}
.pr3-grid .pr3-card small{display:block;color:#62666d;font-size:14px;line-height:1.5}
.pr3-grid .pr3-cardarrow{display:block;margin-top:auto;padding-top:10px;color:#e52b2f;font-size:20px}
/* Responsive */
@media(max-width:900px){.pc-translink-tools,.pbs2-grid,.pr3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-translink-seo-grid{grid-template-columns:1fr}.pr3-mark{width:105px;height:105px;font-size:39px}}
@media(max-width:650px){.pc-translink-page{padding:0 15px 60px}.pbs2{width:calc(100% - 30px)}.pr3-wrap{padding:0 15px}.pc-translink-planner,.pbs2-town-hero,.pr3-searchwrap{padding:23px 19px}.pc-translink-topline{display:block}.pc-translink-live{margin-top:16px}.pc-translink-route,.pc-translink-options,.pc-translink-when,.pc-translink-tools,.pbs2-grid,.pbs2-cols,.pr3-grid,.pc-translink-seo-grid{grid-template-columns:1fr}.pc-translink-route{gap:10px}.pc-translink-swap{margin:0 auto}.pc-translink-tool,.pbs2-card,.pr3-card{padding:18px}.pbs2-town-search,.pbs2-panel,.pr3-variantbody{padding:19px}.pr3-hero-grid{grid-template-columns:1fr}.pr3-mark{display:none}.pr3-hero{padding:34px 0}.pr3-variant summary{padding:17px}}


/* ==========================================================
   DESIGN V2 — typography, text links, long-form content
   ========================================================== */
.pc-translink-page,.pbs2,.pr3 { -webkit-font-smoothing:antialiased; }
.pc-translink-page :where(p,li), .pbs2 :where(p,li), .pr3 :where(p,li) { overflow-wrap:break-word; }
.pc-translink-page :where(p), .pbs2 :where(p), .pr3 :where(p) { line-height:1.72; }
.pc-translink-page :where(a:not(.pc-translink-tool):not(.pc-translink-submit)),
.pbs2 :where(a:not(.pbs2-card):not(.pbs2-cta)),
.pr3 :where(a:not(.pr3-card):not(.pr3-button)) {
  color:#bb222a !important;
  text-decoration-color:rgba(187,34,42,.30);
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.pc-translink-page :where(a:hover),.pbs2 :where(a:hover),.pr3 :where(a:hover) {
  text-decoration-color:#bb222a;
}
.pc-translink-page :where(button,select,input),.pbs2 :where(button,select,input),.pr3 :where(button,select,input) {font:inherit;}
.pc-translink-page :where(h1,h2,h3),.pbs2 :where(h1,h2,h3),.pr3 :where(h1,h2,h3) {text-wrap:balance;}
.pc-translink-page :where(h2),.pbs2 :where(h2),.pr3 :where(h2) {margin-top:0;}

/* Forms: easy to scan and operate */
.pc-translink-route,.pc-translink-options,.pc-translink-when {width:100%;}
.pc-translink-route > *, .pc-translink-options > *, .pc-translink-when > * {min-width:0;}
.pc-translink-input,.pc-translink-select,.pc-translink-time,.pbs2-input,.pr3-search {
  min-width:0;max-width:100%;box-shadow:none;line-height:1.3;
}
.pc-translink-field label,.pc-translink-option-label{line-height:1.5;}
.pc-translink-planner{margin-bottom:32px;}
.pc-translink-page .pc-translink-seo {margin-top:34px;}
.pc-translink-page .pc-translink-seo :where(h2,h3){margin:26px 0 12px;}
.pc-translink-page .pc-translink-seo p{max-width:75ch;margin:0 0 18px;}
.pc-translink-page .pc-translink-seo-links{align-self:start;gap:10px;}
.pc-translink-page .pc-translink-seo-links a{display:block;line-height:1.4;padding:5px 0;}
.pc-translink-page .pc-translink-seo-links strong{margin-bottom:6px;}

/* 100 journeys include: coherent index instead of a wall of blue links.
   Works with existing links and details without changing server HTML. */
.pc-translink-page > details, .pc-translink-page details:has(a[href*="/journeys/"]) {
  max-width:1180px;margin:35px auto 0;padding:25px;
  border:1px solid var(--pt-edge);border-radius:18px;background:#fff;
  box-shadow:var(--pt-shadow);
}
.pc-translink-page details:has(a[href*="/journeys/"]) summary {
  cursor:pointer;list-style-position:inside;
  color:var(--pt-ink);font-weight:800;font-size:17px;
  margin-bottom:14px;
}
.pc-translink-page details:has(a[href*="/journeys/"]) a[href*="/journeys/"]{
  display:inline-block;max-width:100%;vertical-align:top;
  padding:7px 11px;margin:4px 5px 4px 0;
  background:#faf8f6;border:1px solid var(--pt-edge);
  border-radius:9px;color:#8f2329!important;
  font-size:13px;font-weight:650;line-height:1.45;
  text-decoration:none!important;
}
.pc-translink-page details:has(a[href*="/journeys/"]) a[href*="/journeys/"]:hover {
  background:#f7ecea;border-color:#e8c8c6;
}
/* Graceful fallback for a flat included link directory */
.pc-translink-page a[href*="/car-tools/translink/journeys/"]{
  display:inline-block;padding:6px 9px;margin:3px 4px 3px 0;
  border:1px solid var(--pt-edge);border-radius:8px;
  background:#faf8f6;color:#9c222a!important;
  text-decoration:none!important;font-size:13px;
}

/* Bus stop content: white cards, readable distances and data */
.pbs2 > h1{margin:10px 0 16px;}
.pbs2 > .pbs2-lead{padding-bottom:4px;}
.pbs2-section{margin-top:40px;}
.pbs2-panel > h2,.pbs2-panel section > h2{margin-bottom:16px;}
.pbs2-panel p{max-width:88ch;}
.pbs2-list li{display:flex;flex-wrap:wrap;column-gap:5px;row-gap:2px;align-items:baseline;padding:14px 0;}
.pbs2-list li a{font-weight:750;text-decoration:none!important;}
.pbs2-list li a:hover{text-decoration:underline!important;}
.pbs2-town-search{max-width:100%;margin:22px 0 38px;}
.pbs2-town-resultshead h2{margin:0;}
.pbs2-card{min-height:170px;}
.pbs2-card strong{letter-spacing:-.015em;}
.pbs2-card-action{align-self:flex-start;}
.pbs2-cols > *{min-width:0;}
.pbs2-route{align-items:baseline;}
.pbs2-cta.light:hover{background:#efe7df;color:var(--pt-ink)!important;}
#scheduled-departures{overflow:visible;}
#scheduled-departures > div[style*="overflow-x"] {max-width:100%;overflow-x:auto!important;}
#scheduled-departures table {width:100%;min-width:530px;border-collapse:separate;border-spacing:0;}
#scheduled-departures thead th {font-size:13px;letter-spacing:.02em;}
#scheduled-departures tbody tr:nth-child(even){background:#fcfbfa;}
#scheduled-departures td{vertical-align:top;line-height:1.45;}

/* Bus routes: create a clean timeline and separate explanatory data */
.pr3-main > *, .pr3-variantbody > *{min-width:0;}
.pr3-subhead{align-items:center;}
.pr3-variant summary{min-height:78px;}
.pr3-variant summary:hover{background:#fdfaf9;}
.pr3-dirtext strong{line-height:1.4;}
.pr3-dirtext small{line-height:1.55;}
.pr3-days{line-height:1.7;overflow-wrap:anywhere;}
.pr3-timeline{margin-top:23px;}
.pr3-timeline li{min-height:62px;padding-bottom:23px;}
.pr3-timeline li a{font-size:16px;line-height:1.4;text-decoration:none!important;}
.pr3-timeline li a:hover{color:var(--pt-red)!important;text-decoration:underline!important;}
.pr3-stopid{margin-top:4px;letter-spacing:.01em;}
.pr3-card{min-height:165px;}
.pr3-card strong{line-height:1.4;}
.pr3-info{margin:15px 0 26px;line-height:1.7;}
.pr3-variantbody h3{margin:0 0 16px;}

/* Contextual cross-links: a genuine footer, not the unwanted top tab bar */
.pt-related{max-width:1180px;width:calc(100% - 40px);margin:55px auto 0;padding:28px 0 0;}
.pt-related strong{font-size:19px;letter-spacing:-.02em;color:var(--pt-ink);}
.pt-related a{display:inline-flex;align-items:center;margin:6px 10px 6px 0;padding:11px 15px;
  color:#a51f27!important;border:1px solid var(--pt-edge);
  border-radius:11px;background:#fff;text-decoration:none!important;font-size:14px;}
.pt-related a:hover{border-color:#e9b8b9;background:#fcf6f4;}

@media(max-width:900px){
  .pc-translink-options{gap:13px;}
  .pbs2-cols{grid-template-columns:1fr;}
}
@media(max-width:650px){
  .pc-translink-page,.pbs2,.pr3{font-size:15px;}
  .pc-translink-page h1,.pbs2 h1,.pr3 h1{font-size:clamp(32px,8vw,42px);}
  .pc-translink-page h2,.pbs2 h2,.pr3 h2{font-size:clamp(23px,6vw,29px);}
  .pc-translink-page .pc-translink-planner{padding:22px 17px;}
  .pc-translink-route{grid-template-columns:1fr;}
  .pc-translink-tools{margin:26px 0 38px;}
  .pc-translink-page details:has(a[href*="/journeys/"]){padding:17px;}
  .pbs2-section{margin-top:30px;}
  .pbs2-panel{padding:20px;}
  .pbs2-list li{padding:13px 0;}
  .pr3-timeline li{min-height:56px;padding-bottom:20px;}
  .pt-related{width:calc(100% - 30px);padding-top:22px;}
}


/* JOURNEY RESULTS: retained working interaction styles, migrated into unified file */
/* =========================================================
   PURECAR TRANSLINK JOURNEY RESULTS
   Direct + one-change journey UX
   ========================================================= */

#pcJourneyResults{
    margin-top:18px;
}

.pc-jr-shell{
    display:grid;
    gap:10px;
}

.pc-jr-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:2px;
}

.pc-jr-heading-copy{
    min-width:0;
}

.pc-jr-kicker{
    display:block;
    margin-bottom:3px;
    color:#777;
    font-size:11px;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.pc-jr-heading h2{
    margin:0;
    color:#171717;
    font-size:21px;
    line-height:1.15;
    letter-spacing:-.025em;
}

.pc-jr-count{
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:999px;
    background:#f0eee8;
    color:#5c5a54;
    font-size:11px;
    font-weight:850;
}

.pc-jr-loading,
.pc-jr-empty,
.pc-jr-error{
    padding:22px 18px;
    border:1px solid #e1e0da;
    border-radius:13px;
    background:#faf9f6;
}

.pc-jr-loading strong,
.pc-jr-empty strong,
.pc-jr-error strong{
    display:block;
    margin-bottom:4px;
    color:#202020;
    font-size:15px;
}

.pc-jr-loading span,
.pc-jr-empty span,
.pc-jr-error span{
    color:#777;
    font-size:13px;
    line-height:1.5;
}


/* =========================================================
   RESULT CARD
   ========================================================= */

.pc-jr-card{
    overflow:hidden;
    border:1px solid #deded9;
    border-radius:15px;
    background:#fff;
    box-shadow:0 4px 14px rgba(0,0,0,.025);
}

.pc-jr-card-main{
    padding:17px 18px 15px;
}

.pc-jr-card-top{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:start;
}

.pc-jr-times{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.pc-jr-time{
    color:#161616;
    font-size:25px;
    font-weight:900;
    line-height:1;
    letter-spacing:-.035em;
}

.pc-jr-arrow{
    color:#999;
    font-size:18px;
}

.pc-jr-duration{
    display:inline-flex;
    align-items:center;
    min-height:31px;
    padding:0 10px;
    border-radius:999px;
    background:#f3f1ec;
    color:#4f4d48;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}

.pc-jr-summary{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-top:12px;
}

.pc-jr-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
}

.pc-jr-badge--bus{
    background:#f1efe9;
    color:#32312d;
}

.pc-jr-badge--train{
    background:#eceff3;
    color:#29313b;
}

.pc-jr-badge--direct{
    background:#edf7f0;
    color:#166d43;
}

.pc-jr-badge--change{
    background:#fff2de;
    color:#875316;
}

.pc-jr-route{
    margin-top:11px;
    color:#313131;
    font-size:14px;
    font-weight:750;
    line-height:1.45;
}

.pc-jr-route span{
    color:#8b8b86;
    padding:0 5px;
}

.pc-jr-transfer{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:12px;
    padding:11px 12px;
    border-radius:10px;
    background:#fff8ec;
    color:#5e4c2e;
    font-size:13px;
    line-height:1.4;
}

.pc-jr-transfer strong{
    color:#32291e;
}

.pc-jr-transfer-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#fff;
    border:1px solid #ead8b7;
    font-size:14px;
}


/* =========================================================
   EXPANDABLE DETAILS
   ========================================================= */

.pc-jr-details{
    border-top:1px solid #efeee9;
}

.pc-jr-details summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 18px;
    color:#454545;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
    list-style:none;
    user-select:none;
}

.pc-jr-details summary::-webkit-details-marker{
    display:none;
}

.pc-jr-details summary::after{
    content:"+";
    font-size:18px;
    font-weight:500;
    color:#777;
}

.pc-jr-details[open] summary::after{
    content:"−";
}

.pc-jr-details-body{
    padding:2px 18px 17px;
}

.pc-jr-leg{
    position:relative;
    display:grid;
    grid-template-columns:62px minmax(0,1fr);
    gap:13px;
    padding:10px 0;
}

.pc-jr-leg + .pc-jr-leg{
    border-top:1px solid #efeee9;
}

.pc-jr-leg-time{
    color:#191919;
    font-size:14px;
    font-weight:900;
}

.pc-jr-leg-copy{
    min-width:0;
}

.pc-jr-leg-service{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:5px;
}

.pc-jr-leg-service strong{
    color:#171717;
    font-size:13px;
}

.pc-jr-leg-route{
    color:#595959;
    font-size:12px;
    line-height:1.5;
}

.pc-jr-wait{
    margin:4px 0 4px 75px;
    padding:8px 10px;
    border-radius:9px;
    background:#f7f5ef;
    color:#67645c;
    font-size:11px;
    font-weight:800;
}


/* =========================================================
   FOOTER
   ========================================================= */

.pc-jr-source{
    margin:3px 2px 0;
    color:#88837a;
    font-size:10px;
    line-height:1.45;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:700px){

    #pcJourneyResults{
        margin-top:14px;
    }

    .pc-jr-heading{
        align-items:center;
    }

    .pc-jr-heading h2{
        font-size:18px;
    }

    .pc-jr-card-main{
        padding:15px 14px 13px;
    }

    .pc-jr-card-top{
        grid-template-columns:1fr;
        gap:10px;
    }

    .pc-jr-duration{
        justify-self:start;
    }

    .pc-jr-time{
        font-size:23px;
    }

    .pc-jr-route{
        font-size:13px;
    }

    .pc-jr-transfer{
        align-items:flex-start;
        font-size:12px;
    }

    .pc-jr-details summary{
        padding:12px 14px;
    }

    .pc-jr-details-body{
        padding:1px 14px 14px;
    }

    .pc-jr-leg{
        grid-template-columns:54px minmax(0,1fr);
        gap:10px;
    }

    .pc-jr-wait{
        margin-left:64px;
    }

}

/* BUS + TRAIN MIXED JOURNEY */
.pc-jr-badge--mixed{
    background:#eef0f7;
    color:#31374d;
}



/* Route information label spacing */
.pr3-footnote strong {
    display: block;
    margin-bottom: 8px;
}


/* Route actions and information box spacing */
.pr3 .pr3-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px !important;
    margin-bottom: 24px !important;
}

.pr3 .pr3-footnote {
    display: block !important;
    margin-top: 24px !important;
    padding: 20px 22px !important;
}

.pr3 .pr3-footnote strong {
    display: block !important;
    margin-bottom: 10px !important;
    line-height: 1.4 !important;
}


/* BUS STOPS DIRECTORY — REFINED CARD COLOURS */
.pbs2:not(.unused) .pbs2-grid .pbs2-card {
    min-height: 145px;
    border: 1px solid #eae2dd;
    box-shadow: 0 6px 20px rgba(45,30,25,.035);
}

.pbs2 .pbs2-grid .pbs2-card:nth-child(3n+1) {
    background: #ffffff;
}

.pbs2 .pbs2-grid .pbs2-card:nth-child(3n+2) {
    background: #faf6f2;
}

.pbs2 .pbs2-grid .pbs2-card:nth-child(3n) {
    background: #fff0eb;
}

.pbs2 .pbs2-grid .pbs2-card:hover {
    border-color: #e52b2f;
    background: #fff8f5;
    box-shadow: 0 12px 30px rgba(45,30,25,.085);
}

.pbs2 .pbs2-grid .pbs2-card strong {
    color: #111318;
}

.pbs2 .pbs2-grid .pbs2-card small {
    color: #62666d;
}


/* Bus Stops — spacing above source information */
.pbs2 .pbs2-note {
    display: block;
    clear: both;
    margin-top: 28px !important;
    margin-bottom: 20px !important;
    padding: 16px 20px;
}

