/* Customer-only visual skin. Existing controls, routes and business logic stay intact. */
body.mybus-customer-reference {
  --customer-premium-green:#075c44;
  --customer-premium-line:#dce6df;
  background:#f8f8f4;
  color:#172c24;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
}
body.mybus-customer-reference .customer-site-header {
  border-top:0;
  background:#fffefa;
  box-shadow:0 2px 16px #062d2010;
}
body.mybus-customer-reference .customer-utility-bar {
  width:100%;max-width:none;min-height:88px;margin:0;
  padding:4px max(28px,calc((100% - 1280px)/2));
  background:#062e23;border-top:3px solid #c92f32;gap:24px;
}
body.mybus-customer-reference .customer-ref-brand {
  min-width:132px;min-height:80px;flex:0 0 132px;
}
body.mybus-customer-reference .customer-ref-logo {
  width:132px;height:80px;max-width:none;object-fit:contain;mix-blend-mode:screen;
}
body.mybus-customer-reference .customer-utility-bar .nav-account-btn {
  min-height:44px;border-radius:9px;padding:10px 16px;font-size:14px;
}
body.mybus-customer-reference .customer-utility-bar .call {
  min-height:44px;display:inline-flex;align-items:center;padding:12px 20px;
  background:#0b8563;border:1px solid #ffffff24;border-radius:10px;font-size:14px;
}
body.mybus-customer-reference .customer-utility-bar .mybus-language-control {
  border-radius:11px;background:#fffefa;
}
body.mybus-customer-reference .customer-primary-nav {
  padding:0 max(28px,calc((100% - 1280px)/2));min-height:54px;
  background:#fffefa;border:0;gap:14px;
}
body.mybus-customer-reference .customer-primary-nav .nav-link {
  min-height:54px;padding:0 20px;font-size:14px;font-weight:700;color:#25392f;
}
body.mybus-customer-reference .customer-primary-nav .nav-link.active {
  color:#087452;border-bottom-color:#087452;
}
body.mybus-customer-reference #ticketView .hero {
  position:relative;isolation:isolate;min-height:510px!important;
  padding:58px max(28px,calc((100% - 1280px)/2)) 118px!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  align-items:center;gap:46px!important;
  background:radial-gradient(ellipse at 80% 40%,#0b5d45 0%,transparent 57%),linear-gradient(110deg,#043426,#064631 64%,#06382b)!important;
}
body.mybus-customer-reference #ticketView .hero::before {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:min(710px,56vw);aspect-ratio:3/2;right:max(18px,calc((100% - 1420px)/2));
  top:46%;transform:translateY(-50%);
  background:url("customer-brand-logo-v288.jpeg") center/contain no-repeat;
  mix-blend-mode:screen;opacity:.2;
}
body.mybus-customer-reference #ticketView .hero::after {
  content:"";position:absolute;bottom:0;inset-inline:0;height:1px;background:#ffffff18;
  pointer-events:none;
}
body.mybus-customer-reference #ticketView .hero-copy {max-width:700px;position:relative;z-index:1}
body.mybus-customer-reference #ticketView .hero-copy .eyebrow {
  font-size:12px;letter-spacing:.22em;margin-bottom:22px;color:#f2cf66!important;
}
body.mybus-customer-reference #ticketView .hero h1 {
  font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(44px,4.3vw,66px)!important;
  font-weight:750;line-height:1.08!important;letter-spacing:-.045em!important;
  margin:0 0 22px!important;text-wrap:balance;max-width:710px;
}
body.mybus-customer-reference #ticketView .hero h1 em {
  color:#fff!important;text-decoration-color:#db4245;text-decoration-thickness:4px;
  text-underline-offset:9px;
}
body.mybus-customer-reference #ticketView .hero-copy>p {
  font-size:16px;line-height:1.65!important;color:#e2eee7!important;max-width:590px;
}
body.mybus-customer-reference #ticketView .trust {
  margin-top:22px;gap:22px;flex-wrap:wrap;font-size:13px;font-weight:500;
}
body.mybus-customer-reference #ticketView .customer-web-parameter-status {
  max-width:600px;margin-top:22px;padding:14px 18px;border-radius:14px;
  background:#ffffff09;border:1px solid #ffffff2e;box-shadow:none;
}
body.mybus-customer-reference #ticketView .customer-web-parameter-status strong {font-size:14px}
body.mybus-customer-reference #ticketView .customer-web-parameter-status small {font-size:12px;line-height:1.5;color:#c8ded2}
body.mybus-customer-reference #ticketView .route-visual {
  height:280px;align-self:center;padding-top:100px;gap:13px;
}
body.mybus-customer-reference #ticketView .route-visual .glow {display:none}
body.mybus-customer-reference #ticketView .route-visual .city {
  font-size:21px;text-shadow:0 2px 12px #03281ed9;white-space:nowrap;
}
body.mybus-customer-reference #ticketView .route-visual .city small {
  font-size:12px;font-weight:400;margin-top:8px;color:#d0e4d9;
}
body.mybus-customer-reference #ticketView .route-visual i {width:54px;border-color:#d3dfd37a}
body.mybus-customer-reference #ticketView>.shell {width:min(1280px,calc(100% - 56px))}
body.mybus-customer-reference #ticketView .booking {
  margin-top:-76px!important;padding:28px 32px 30px!important;
  background:#fffefa!important;border:1px solid #e2e9e1!important;border-radius:24px!important;
  box-shadow:0 22px 50px #092e2114,0 4px 12px #092e2108!important;
}
body.mybus-customer-reference #ticketView .trip-types {
  width:fit-content;padding:4px;margin-bottom:23px;background:#eef2ec;border-radius:12px;
  border:1px solid #e3e9e0;gap:3px;
}
body.mybus-customer-reference #ticketView .trip-type {
  min-height:43px;padding:10px 24px;border-radius:9px;font-size:14px;
  font-weight:650;box-shadow:none;background:transparent;
}
body.mybus-customer-reference #ticketView .trip-type.active {
  background:#07533e!important;color:#fff!important;box-shadow:0 3px 9px #073e2420;
}
body.mybus-customer-reference #ticketView .search-grid {
  grid-template-columns:minmax(160px,1.3fr) 36px minmax(160px,1.3fr) minmax(162px,.9fr) minmax(130px,.68fr) auto!important;
  gap:14px!important;align-items:end!important;
}
/* The existing return-date control remains in the same form and keeps its toggle. */
body.mybus-customer-reference #ticketView .search-grid:has(#returnWrap:not(.hidden)) {
  grid-template-columns:minmax(140px,1.2fr) 30px minmax(140px,1.2fr) minmax(145px,.9fr) minmax(145px,.9fr) minmax(115px,.7fr)!important;
}
body.mybus-customer-reference #ticketView .search-grid:has(#returnWrap:not(.hidden)) .search-btn {grid-column:1/-1;justify-self:end;min-width:180px}
body.mybus-customer-reference #ticketView .search-grid label>span,
body.mybus-customer-reference #ticketView .search-date-field>label>span {
  font-size:11px;letter-spacing:.12em;font-weight:750;color:#53685d;margin-bottom:10px;
}
body.mybus-customer-reference #ticketView .search-grid input,
body.mybus-customer-reference #ticketView .search-grid select {
  min-height:58px;height:58px;padding-inline:16px;border:1px solid #cfdcd3;
  border-radius:12px;background:#fff;color:#1b3227;font-size:15px;font-weight:600;
  box-shadow:0 2px 5px #092e2103;
}
body.mybus-customer-reference #ticketView .search-grid input::placeholder {color:#728177;font-weight:400}
body.mybus-customer-reference #ticketView .search-btn {
  height:58px;min-width:148px;padding:14px 22px;border-radius:12px!important;
  background:#07805a!important;font-size:15px;box-shadow:0 7px 16px #0a70451c;
}
body.mybus-customer-reference #ticketView .search-btn:hover {background:#065e43!important}
body.mybus-customer-reference #ticketView .swap {width:36px;height:44px;margin-bottom:7px;background:transparent;border:0;box-shadow:none;font-size:24px}
body.mybus-customer-reference #ticketView .date-quick-actions {margin-top:7px;gap:7px}
body.mybus-customer-reference #ticketView .date-quick-actions button {min-height:30px;padding:5px 11px;border-radius:7px;font-size:11px}
body.mybus-customer-reference #ticketView .customer-capabilities {
  grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:30px 0 56px;
}
body.mybus-customer-reference #ticketView .customer-capabilities article {
  position:relative;padding:24px;border-radius:16px;background:#fffefa;
  border:1px solid #e0e7df;box-shadow:0 4px 14px #092e2104;overflow:hidden;
}
body.mybus-customer-reference #ticketView .customer-capabilities article>b {font-size:12px;color:#7b8a7e;letter-spacing:.08em}
body.mybus-customer-reference #ticketView .customer-capabilities h3 {margin:22px 0 10px;font-size:18px;letter-spacing:-.025em}
body.mybus-customer-reference #ticketView .customer-capabilities p {font-size:13px;line-height:1.65;color:#67766b;margin:0}
body.mybus-customer-reference #ticketView .customer-capabilities article::after {
  content:"";position:absolute;right:24px;top:24px;width:25px;height:3px;border-radius:3px;background:#d4a936;
}
body.mybus-customer-reference .customer-faq {padding-block:18px 48px}
body.mybus-customer-reference .customer-faq .faq-list details {border-radius:12px;background:#fffefa;border-color:#dce6df}
body.mybus-customer-reference .customer-faq summary {padding:18px;font-size:15px}
body.mybus-customer-reference .customer-footer {background:#062e23;padding-top:48px}
body.mybus-customer-reference .customer-footer-brand img {width:164px;height:110px;mix-blend-mode:screen}
@media (max-width:1100px) {
  body.mybus-customer-reference .customer-utility-bar {padding-inline:24px}
  body.mybus-customer-reference .customer-utility-bar .call {display:none}
  body.mybus-customer-reference #ticketView .hero {padding:48px 28px 114px!important;gap:20px!important;min-height:480px!important}
  body.mybus-customer-reference #ticketView .hero h1 {font-size:52px!important}
  body.mybus-customer-reference #ticketView .search-grid,
  body.mybus-customer-reference #ticketView .search-grid:has(#returnWrap:not(.hidden)) {grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.mybus-customer-reference #ticketView .search-grid .swap {display:none}
  body.mybus-customer-reference #ticketView .search-btn,
  body.mybus-customer-reference #ticketView .search-grid:has(#returnWrap:not(.hidden)) .search-btn {grid-column:1/-1;width:100%;justify-self:stretch}
  body.mybus-customer-reference #ticketView .customer-capabilities {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px) {
  body.mybus-customer-reference #ticketView .hero {grid-template-columns:1fr!important;min-height:450px!important;padding:46px 28px 112px!important}
  body.mybus-customer-reference #ticketView .hero::before {width:600px;max-width:85%;right:-12%;opacity:.12}
  body.mybus-customer-reference #ticketView .hero-copy {max-width:640px}
  body.mybus-customer-reference #ticketView .route-visual {display:none}
  body.mybus-customer-reference .customer-primary-nav {padding:0 16px;gap:4px}
  body.mybus-customer-reference .customer-primary-nav .nav-link {padding-inline:10px}
}
@media (max-width:560px) {
  body.mybus-customer-reference .customer-utility-bar {min-height:76px;padding:3px 14px;gap:10px}
  body.mybus-customer-reference .customer-ref-brand {min-width:96px;min-height:67px;flex-basis:96px}
  body.mybus-customer-reference .customer-ref-logo {width:96px;height:64px;max-width:96px}
  body.mybus-customer-reference .customer-utility-bar .header-actions {flex:1;flex-wrap:nowrap;gap:8px;width:auto}
  body.mybus-customer-reference .customer-utility-bar .mybus-language-control {order:0;flex:0 1 130px;max-width:130px}
  body.mybus-customer-reference .customer-mobile-panel {top:76px;max-height:calc(100dvh - 76px)}
  body.mybus-customer-reference .customer-primary-nav {padding:0}
  body.mybus-customer-reference .customer-primary-nav .nav-link {min-height:48px}
  body.mybus-customer-reference #ticketView .hero {min-height:0!important;padding:38px 22px 98px!important}
  body.mybus-customer-reference #ticketView .hero::before {width:520px;max-width:120%;right:-36%;top:50%;opacity:.095}
  body.mybus-customer-reference #ticketView .hero h1 {font-size:clamp(35px,9.3vw,48px)!important;line-height:1.12!important;letter-spacing:-.045em!important;margin-bottom:20px!important}
  body.mybus-customer-reference #ticketView .hero-copy .eyebrow {font-size:10px;letter-spacing:.14em;margin-bottom:18px}
  body.mybus-customer-reference #ticketView .hero-copy>p {font-size:14px;line-height:1.65!important}
  body.mybus-customer-reference #ticketView .trust {font-size:11px;gap:9px 14px;margin-top:18px}
  body.mybus-customer-reference #ticketView .customer-web-parameter-status {padding:12px 14px;margin-top:20px}
  body.mybus-customer-reference #ticketView .customer-web-parameter-status strong {font-size:12px}
  body.mybus-customer-reference #ticketView .customer-web-parameter-status small {font-size:11px}
  body.mybus-customer-reference #ticketView>.shell {width:calc(100% - 28px)}
  body.mybus-customer-reference #ticketView .booking {margin-top:-64px!important;padding:20px 18px!important;border-radius:20px!important}
  body.mybus-customer-reference #ticketView .trip-types {width:100%;margin-bottom:22px}
  body.mybus-customer-reference #ticketView .trip-type {flex:1;padding:10px;font-size:13px}
  body.mybus-customer-reference #ticketView .search-grid,
  body.mybus-customer-reference #ticketView .search-grid:has(#returnWrap:not(.hidden)) {grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  body.mybus-customer-reference #ticketView .search-grid .swap {display:block;position:static;justify-self:center;transform:none;margin:-10px 0;width:42px;height:32px;min-height:32px}
  body.mybus-customer-reference #ticketView .search-grid input,
  body.mybus-customer-reference #ticketView .search-grid select {font-size:16px;min-height:54px;height:54px}
  body.mybus-customer-reference #ticketView .customer-capabilities {grid-template-columns:1fr;padding:24px 0 32px;gap:12px}
  body.mybus-customer-reference #ticketView .customer-capabilities article {padding:22px}
}
@media (prefers-reduced-motion:reduce) {
  body.mybus-customer-reference {scroll-behavior:auto}
  body.mybus-customer-reference :where(button,a,input,select) {transition:none!important}
}
/* Keep the translated MyBus word visible as real text; do not reserve an empty image block. */
body.mybus-customer-reference #ticketView .hero h1 em {
  display:inline;width:auto;aspect-ratio:auto;
  margin:0;padding:0;
  font-size:inherit!important;line-height:inherit!important;
  color:#fff!important;background:none;mix-blend-mode:normal;clip-path:none;overflow:visible;
  font-style:normal;font-weight:850;text-decoration:underline;text-decoration-color:#db4245;
}
@media(max-width:560px) {
  body.mybus-customer-reference #ticketView .hero h1 em {margin:0}
}
