/* Customer journey comparison and inline seat selection (v259). */
body.mybus-customer-reference .journey-list{
  gap:16px;
}

body.mybus-customer-reference .journey-card{
  display:grid;
  grid-template-columns:minmax(300px,1.35fr) minmax(112px,.45fr) minmax(145px,.58fr) minmax(125px,.48fr) auto;
  gap:22px;
  align-items:center;
  margin:0;
  padding:22px 22px 18px;
  overflow:visible;
  border:1px solid #dce5df!important;
  border-radius:16px!important;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,55,42,.07);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

body.mybus-customer-reference .journey-card:hover{
  border-color:#b8d2c5!important;
  box-shadow:0 12px 30px rgba(18,55,42,.1);
  transform:translateY(-1px);
}

body.mybus-customer-reference .journey-card--expanded{
  border-color:#159c78!important;
  box-shadow:0 16px 40px rgba(15,127,98,.15);
  transform:none;
}

body.mybus-customer-reference .journey-main{
  min-width:0;
}

body.mybus-customer-reference .journey-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:34px;
  margin:0 0 12px;
}

body.mybus-customer-reference .journey-brand strong{
  color:#24352d;
  font-size:12px;
  font-weight:850;
  letter-spacing:.01em;
}

body.mybus-customer-reference .journey-bus-mark{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:11px;
  background:linear-gradient(145deg,#073d2c,#159c78);
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:0 5px 12px rgba(7,61,44,.18);
}

body.mybus-customer-reference .journey-route-title{
  display:block;
  color:#101813;
  font-size:16px;
  line-height:1.35;
  font-weight:850;
}

body.mybus-customer-reference .journey-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  margin-top:7px;
}

body.mybus-customer-reference .journey-main .journey-meta span{
  position:relative;
  margin:0;
  color:#65736b;
  font-size:10px;
}

body.mybus-customer-reference .journey-main .journey-meta span+span:before{
  content:"";
  position:absolute;
  left:-8px;
  top:50%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#91a299;
  transform:translateY(-50%);
}

body.mybus-customer-reference .journey-card .time,
body.mybus-customer-reference .journey-card .duration,
body.mybus-customer-reference .journey-card .price{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  text-align:left;
}

body.mybus-customer-reference .journey-card .time small,
body.mybus-customer-reference .journey-card .duration small,
body.mybus-customer-reference .journey-card .price small{
  order:0;
  margin:0 0 5px;
  color:#7b8981;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.mybus-customer-reference .journey-card .time b,
body.mybus-customer-reference .journey-card .duration b{
  order:1;
  color:#111814;
  font-size:24px;
  line-height:1;
  letter-spacing:-.03em;
}

body.mybus-customer-reference .journey-card .time span,
body.mybus-customer-reference .journey-card .price span{
  order:2;
  margin-top:6px;
  color:#6f7c74;
  font-size:10px;
}

body.mybus-customer-reference .journey-duration-line{
  order:0;
  position:relative;
  width:100%;
  margin:0 0 9px;
  color:#69766f;
  font-size:10px;
  font-weight:800;
  text-align:center;
}

body.mybus-customer-reference .journey-duration-line:before,
body.mybus-customer-reference .journey-duration-line:after{
  content:"";
  position:absolute;
  top:50%;
  width:24%;
  height:1px;
  background:#aebbb4;
}

body.mybus-customer-reference .journey-duration-line:before{left:0}
body.mybus-customer-reference .journey-duration-line:after{right:0}

body.mybus-customer-reference .journey-card .duration small{
  order:2;
  margin:5px 0 0;
}

body.mybus-customer-reference .journey-details{
  order:3;
  min-height:34px;
  margin:8px 0 -5px;
  padding:6px 0;
  color:#0f7f62!important;
  text-decoration:none;
}

body.mybus-customer-reference .journey-card .price b{
  order:1;
  color:#0f7f62;
  font-size:27px;
  line-height:1;
  letter-spacing:-.03em;
}

body.mybus-customer-reference .journey-card>.choose-trip{
  min-width:126px;
  min-height:50px;
  padding:13px 18px;
  border-radius:12px;
  background:#d92d2d!important;
  box-shadow:0 8px 18px rgba(217,45,45,.18);
  white-space:nowrap;
}

body.mybus-customer-reference .journey-card>.choose-trip:hover{
  background:#b91f1f!important;
}

body.mybus-customer-reference .journey-card--expanded>.choose-trip{
  background:#e8f5ef!important;
  color:#0f7f62;
  box-shadow:none;
  pointer-events:none;
}

body.mybus-customer-reference .journey-card--expanded>.choose-trip:after{
  content:"ildi";
}

body.mybus-customer-reference .journey-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}

body.mybus-customer-reference .journey-tags em{
  padding:6px 8px;
  border-radius:7px;
  background:#eff6f2;
  color:#315e4b;
  font-size:9px;
}

body.mybus-customer-reference .journey-extra{
  grid-column:1/-1;
}

body.mybus-customer-reference .seat-section-dock:empty{
  display:none;
}

body.mybus-customer-reference .journey-card>.seat-section{
  grid-column:1/-1;
  width:calc(100% + 44px);
  margin:4px -22px -18px;
  border-top:1px solid #dce5df;
  background:#f8fbf9;
}

body.mybus-customer-reference .inline-seat-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 24px 16px;
  background:#fff;
}

body.mybus-customer-reference .inline-seat-header>div{
  display:grid;
  gap:3px;
}

body.mybus-customer-reference .inline-seat-header span{
  color:#0f7f62;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

body.mybus-customer-reference .inline-seat-header strong{
  color:#15221b;
  font-size:17px;
}

body.mybus-customer-reference .inline-seat-header small{
  color:#748078;
  font-size:10px;
}

body.mybus-customer-reference .inline-seat-close{
  min-width:96px;
  min-height:42px;
  border:1px solid #86968d;
  border-radius:10px;
  background:#fff;
  color:#34453c;
  font-weight:850;
  cursor:pointer;
}

body.mybus-customer-reference .inline-seat-close:hover{
  border-color:#0f7f62;
  color:#0f7f62;
}

body.mybus-customer-reference .journey-card>.seat-section .seat-tabs{
  padding:0 24px;
  background:#fff;
}

body.mybus-customer-reference .journey-card>.seat-section .seat-tab{
  border-radius:10px 10px 0 0;
}

body.mybus-customer-reference .journey-card>.seat-section .seat-layout{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:28px;
  padding:24px;
  border-width:1px 0 0;
  border-radius:0 0 16px 16px;
  background:#f8fbf9;
}

body.mybus-customer-reference .journey-card>.seat-section .checkout{
  align-self:start;
  position:sticky;
  top:96px;
  padding:22px;
  border:1px solid #dce5df;
  border-radius:14px;
  background:#fff;
}

body.mybus-customer-reference .journey-card>.seat-section .coach{
  position:relative;
  width:100%;
  max-width:820px;
  padding:0;
  overflow:hidden;
  border:2px solid #a9c1b6;
  border-radius:52px 22px 22px 52px;
  background:linear-gradient(180deg,#ffffff 0 48%,#edf5f1 49% 52%,#ffffff 53% 100%);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.9),0 12px 30px rgba(13,73,55,.11);
}

body.mybus-customer-reference .journey-card>.seat-section .coach .seat-map{
  display:block;
  width:100%;
  padding:14px 12px 16px;
  overflow-x:hidden;
  background:transparent;
}

body.mybus-customer-reference .journey-card>.seat-section .customer-seat-head-v143{
  min-width:0;
  padding:0 0 13px;
}

body.mybus-customer-reference .customer-horizontal-coach-v259{
  display:flex;
  align-items:stretch;
  width:100%;
  min-width:0;
  height:116px;
  overflow:hidden;
  border:1px solid #bfd0c8;
  border-radius:42px 15px 15px 42px;
  background:linear-gradient(180deg,#fdfefe 0 45%,#eaf3ef 46% 54%,#fdfefe 55% 100%);
}

body.mybus-customer-reference .customer-horizontal-front-v259{
  position:relative;
  display:flex;
  flex:0 0 44px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border-right:1px solid #dce6e0;
  border-radius:40px 0 0 40px;
  background:linear-gradient(105deg,#dbe8e2 0 22%,#f9fcfb 23% 100%);
  color:#75847c;
  font-size:7px;
  letter-spacing:.12em;
}

body.mybus-customer-reference .customer-horizontal-front-v259:before{
  content:"";
  position:absolute;
  left:5px;
  top:12px;
  width:13px;
  height:25px;
  border:1px solid #90aaa0;
  border-radius:70% 25% 25% 70%;
  background:linear-gradient(135deg,#d7e8e1,#f8fcfa);
  transform:skewY(-8deg);
}

body.mybus-customer-reference .customer-horizontal-front-v259 .customer-seat-wheel-v143{
  width:23px;
  height:23px;
  margin:0;
}

body.mybus-customer-reference .customer-horizontal-deck-v259{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:center;
  min-width:0;
  gap:3px;
  padding:7px 6px;
}

body.mybus-customer-reference .customer-seat-column-v259{
  display:grid;
  grid-template-columns:repeat(2,21px);
  grid-template-rows:29px 12px 29px;
  grid-auto-flow:column;
  gap:2px 2px;
  align-items:center;
  justify-items:center;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat{
  --chair-fill:linear-gradient(180deg,#78998e,#42675b);
  --chair-edge:#365a4f;
  position:relative;
  width:21px;
  min-width:21px;
  height:27px;
  min-height:27px;
  margin:0;
  padding:0;
  overflow:visible;
  border:0!important;
  border-radius:8px;
  background:transparent!important;
  color:#153e33;
  box-shadow:none!important;
  isolation:isolate;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:5px;
  top:4px;
  width:12px;
  height:19px;
  border:1px solid var(--chair-edge);
  border-radius:7px 7px 4px 4px;
  background:var(--chair-fill);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.34),inset 0 -3px 4px rgba(4,38,28,.2),0 3px 6px rgba(16,55,43,.2);
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:after{
  content:"";
  position:absolute;
  z-index:-2;
  left:2px;
  top:12px;
  width:18px;
  height:9px;
  border:2px solid var(--chair-edge);
  border-top:0;
  border-bottom:0;
  border-radius:3px;
  background:linear-gradient(180deg,transparent 0 64%,var(--chair-edge) 65% 76%,transparent 77%);
}

body.mybus-customer-reference .customer-seat-column-v259 .customer-seat-number-v143{
  left:0;
  top:2px;
  min-width:10px;
  height:10px;
  padding:0 2px;
  font-size:7px;
}

body.mybus-customer-reference .customer-seat-column-v259>.seat:nth-of-type(1){grid-column:1;grid-row:1}
body.mybus-customer-reference .customer-seat-column-v259>.seat:nth-of-type(2){grid-column:2;grid-row:1}
body.mybus-customer-reference .customer-seat-column-v259>.seat:nth-of-type(3){grid-column:1;grid-row:3}
body.mybus-customer-reference .customer-seat-column-v259>.seat:nth-of-type(4){grid-column:2;grid-row:3}
body.mybus-customer-reference .customer-seat-rear-column-v259>.seat:nth-of-type(1){grid-column:1;grid-row:1}
body.mybus-customer-reference .customer-seat-rear-column-v259>.seat:nth-of-type(2){grid-column:2;grid-row:1}
body.mybus-customer-reference .customer-seat-rear-column-v259>.seat:nth-of-type(3){grid-column:3;grid-row:1}
body.mybus-customer-reference .customer-seat-rear-column-v259>.seat:nth-of-type(4){grid-column:1;grid-row:3}
body.mybus-customer-reference .customer-seat-rear-column-v259>.seat:nth-of-type(5){grid-column:2;grid-row:3}

body.mybus-customer-reference .customer-seat-column-v259 .seat:hover:not(:disabled){transform:translateY(-2px) scale(1.04)}
body.mybus-customer-reference .customer-seat-column-v259 .seat:focus-visible,
body.mybus-customer-reference .customer-seat-column-v259 .seat.selected{outline:3px solid #12a679!important;outline-offset:2px}
body.mybus-customer-reference .customer-seat-column-v259 .seat.selected{--chair-fill:linear-gradient(180deg,#38c79a,#087a5a);--chair-edge:#056347}
body.mybus-customer-reference .customer-seat-column-v259 .seat.selected .customer-seat-number-v143{background:#087a5a;color:#fff}
body.mybus-customer-reference .customer-seat-column-v259 .seat.customer-seat-female-v137{--chair-fill:linear-gradient(180deg,#ffb8d9,#ed6caf);--chair-edge:#ca3e82}
body.mybus-customer-reference .customer-seat-column-v259 .seat.customer-seat-male-v137{--chair-fill:linear-gradient(180deg,#9bc9ff,#4b8de0);--chair-edge:#2767bc}
body.mybus-customer-reference .customer-seat-column-v259 .seat.customer-seat-unspecified-v137{--chair-fill:linear-gradient(180deg,#82c8ad,#39906f);--chair-edge:#167050}
body.mybus-customer-reference .customer-seat-column-v259 .seat.customer-seat-female-v137.customer-seat-reserved-v137{--chair-fill:linear-gradient(to top,#ed78b5 0 50%,#fff0f7 50% 100%)}
body.mybus-customer-reference .customer-seat-column-v259 .seat.customer-seat-male-v137.customer-seat-reserved-v137{--chair-fill:linear-gradient(to top,#5e9eea 0 50%,#edf6ff 50% 100%)}
body.mybus-customer-reference .customer-seat-column-v259 .seat.customer-seat-unspecified-v137.customer-seat-reserved-v137{--chair-fill:linear-gradient(to top,#57ac8b 0 50%,#effaf6 50% 100%)}

body.mybus-customer-reference .customer-horizontal-aisle-v259{
  grid-column:1/-1;
  grid-row:2;
  width:100%;
  height:1px;
  background:#dbe8e1;
}

/* Per-vehicle custom seat coordinates; the same snapshot is used by operations. */
body.mybus-customer-reference .customer-horizontal-deck-v259.customer-custom-seat-deck-v272{
  display:grid;
  grid-template-columns:repeat(var(--customer-custom-columns),minmax(24px,1fr));
  grid-template-rows:repeat(5,24px);
  gap:2px;
  align-content:center;
  justify-content:stretch;
  min-width:calc(var(--customer-custom-columns) * 26px);
  padding:7px 8px;
  overflow-x:auto;
  background:linear-gradient(180deg,transparent 0 38%,rgba(220,235,227,.72) 39% 61%,transparent 62%);
}
body.mybus-customer-reference .customer-custom-seat-slot-v272{
  display:grid!important;
  grid-template:none!important;
  place-items:center;
  width:auto!important;
  height:24px!important;
  min-width:24px;
  position:relative;
}
body.mybus-customer-reference .customer-custom-seat-slot-v272.is-aisle{background:rgba(231,242,236,.75);border-radius:5px}
body.mybus-customer-reference .customer-custom-seat-slot-v272>.seat{
  position:relative!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  visibility:visible!important;
  opacity:1!important;
}

body.mybus-customer-reference .customer-seat-rear-column-v259{
  grid-template-columns:repeat(2,21px);
}

body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-upper-v260:nth-of-type(1){grid-column:1;grid-row:1}
body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-upper-v260:nth-of-type(2){grid-column:2;grid-row:1}
body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-lower-v260:nth-last-of-type(1){grid-row:3}
body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-middle-v260{
  grid-column:1/-1;
  grid-row:2;
  z-index:2;
}

body.mybus-customer-reference .customer-seat-gap-before-v260{
  margin-left:8px;
}

body.mybus-customer-reference .customer-seat-gap-before-v260:before{
  content:"";
  position:absolute;
  left:-5px;
  top:7px;
  bottom:7px;
  border-left:1px dashed #b8c9c0;
}

body.mybus-customer-reference .customer-seat-column-v259{
  position:relative;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260>.customer-seat-lower-v260{
  grid-column:1;
  grid-row:3;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-upper-v260,
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-lower-v260{
  grid-column:1/-1;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-upper-v260{grid-row:1}
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-lower-v260{grid-row:3}

/* v262: true longitudinal bus geometry — 2+2 is four physical rows, 2+1 is three. */
body.mybus-customer-reference .customer-horizontal-coach-v259{height:142px}
body.mybus-customer-reference .customer-horizontal-deck-v259{justify-content:space-between;gap:2px;padding:7px 8px}
body.mybus-customer-reference .customer-seat-column-v259{
  grid-template-columns:24px;
  grid-template-rows:25px 25px 12px 25px 25px;
  gap:1px;
}
body.mybus-customer-reference .customer-seat-column-v259 .seat{
  grid-column:1!important;
  width:24px;
  min-width:24px;
  height:24px;
  min-height:24px;
}
body.mybus-customer-reference .customer-seat-column-v259 .seat:before{left:6px;top:3px;width:13px;height:17px}
body.mybus-customer-reference .customer-seat-column-v259 .seat:after{left:2px;top:10px;width:20px;height:9px}
body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-upper-v260:nth-of-type(1){grid-row:2!important}
body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-upper-v260:nth-of-type(2){grid-row:1!important}
body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-lower-v260:nth-of-type(3){grid-row:5!important}
body.mybus-customer-reference .customer-seat-column-v259>.customer-seat-lower-v260:nth-of-type(4){grid-row:4!important}
body.mybus-customer-reference .customer-horizontal-aisle-v259{grid-column:1;grid-row:3}
body.mybus-customer-reference .customer-seat-2x1-column-v260>.customer-seat-upper-v260:nth-of-type(1){grid-row:1!important}
body.mybus-customer-reference .customer-seat-2x1-column-v260>.customer-seat-upper-v260:nth-of-type(2){grid-row:2!important}
body.mybus-customer-reference .customer-seat-2x1-column-v260>.customer-seat-lower-v260:nth-of-type(3){grid-row:5!important}
body.mybus-customer-reference .customer-seat-five-rear-v262{grid-template-rows:24px 24px 24px 24px 24px}
body.mybus-customer-reference .customer-seat-five-rear-v262>.customer-seat-upper-v260:nth-of-type(1){grid-row:1!important}
body.mybus-customer-reference .customer-seat-five-rear-v262>.customer-seat-upper-v260:nth-of-type(2){grid-row:2!important}
body.mybus-customer-reference .customer-seat-five-rear-v262>.customer-seat-middle-v260:nth-of-type(3){grid-column:1!important;grid-row:3!important}
body.mybus-customer-reference .customer-seat-five-rear-v262>.customer-seat-lower-v260:nth-of-type(4){grid-row:4!important}
body.mybus-customer-reference .customer-seat-five-rear-v262>.customer-seat-lower-v260:nth-of-type(5){grid-row:5!important}
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-upper-v260{grid-column:1!important;grid-row:4!important}
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-lower-v260{grid-column:1!important;grid-row:5!important}
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259{display:block;position:relative;width:24px;height:116px;overflow:visible}
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-horizontal-aisle-v259{display:none}
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-upper-v260{display:block!important;position:absolute!important;left:0!important;top:65px!important;width:24px!important;height:24px!important;visibility:visible!important;opacity:1!important;z-index:2}
body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-lower-v260{display:block!important;position:absolute!important;left:0!important;top:91px!important;width:24px!important;height:24px!important;visibility:visible!important;opacity:1!important;z-index:2}
body.mybus-customer-reference .customer-seat-lower-only-v265{
  display:flex!important;
  flex-direction:column-reverse;
  justify-content:flex-start;
  align-self:stretch;
  width:24px;
  height:116px;
  gap:1px;
}
body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-horizontal-aisle-v259{display:none}
body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-seat-lower-v260{
  position:static!important;
  display:block!important;
  flex:0 0 24px;
  width:24px!important;
  height:24px!important;
  visibility:visible!important;
  opacity:1!important;
}

body.mybus-customer-reference .customer-horizontal-rear-v259{
  display:grid;
  place-items:center;
  flex:0 0 19px;
  border-left:1px solid #dce6e0;
  color:#7b8981;
  font-size:7px;
  font-weight:850;
  letter-spacing:.08em;
  writing-mode:vertical-rl;
}

/* v267: one professional bus card; title, availability and larger seat numbers live inside the body. */
body.mybus-customer-reference .journey-card>.seat-section .coach{
  max-width:900px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.mybus-customer-reference .journey-card>.seat-section .coach .seat-map{
  padding:0;
  overflow:visible;
}

body.mybus-customer-reference .customer-horizontal-coach-v259{
  position:relative;
  height:174px;
  overflow:hidden;
  border:2px solid #96b4a7;
  border-radius:58px 22px 22px 58px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98) 0 45%,#e9f4ef 45% 55%,rgba(255,255,255,.98) 55% 100%);
  box-shadow:inset 0 0 0 5px rgba(246,251,248,.95),0 14px 34px rgba(16,69,53,.13);
}

body.mybus-customer-reference .customer-horizontal-front-v259{
  flex:0 0 56px;
  border-right:1px solid #cbdcd4;
  border-radius:55px 0 0 55px;
  background:linear-gradient(105deg,#d7e7e0 0 25%,#f8fcfa 26% 100%);
  font-size:8px;
}

body.mybus-customer-reference .customer-horizontal-front-v259:before{
  left:6px;
  top:18px;
  width:17px;
  height:35px;
}

body.mybus-customer-reference .customer-horizontal-front-v259 .customer-seat-wheel-v143{
  width:28px;
  height:28px;
}

body.mybus-customer-reference .customer-seat-head-integrated-v267{
  display:flex;
  flex:0 0 138px;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:13px;
  margin:11px 0;
  padding:16px 15px!important;
  border-right:1px solid #d5e3dc;
  background:linear-gradient(180deg,rgba(239,249,244,.88),rgba(255,255,255,.55));
}

body.mybus-customer-reference .customer-seat-head-integrated-v267>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}

body.mybus-customer-reference .customer-seat-head-integrated-v267 small{
  color:#087c5d;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  white-space:nowrap;
}

body.mybus-customer-reference .customer-seat-head-integrated-v267 strong{
  color:#112d25;
  font-size:17px;
  line-height:1.12;
  white-space:nowrap;
}

body.mybus-customer-reference .customer-seat-head-integrated-v267>span{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border:1px solid #bfe2d5;
  border-radius:999px;
  background:#effaf6;
  color:#17634e;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(7,111,80,.08);
}

body.mybus-customer-reference .customer-seat-head-integrated-v267>span i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#27be8d;
  box-shadow:0 0 0 4px rgba(39,190,141,.13);
}

body.mybus-customer-reference .customer-horizontal-deck-v259{
  gap:3px;
  padding:12px 7px;
}

body.mybus-customer-reference .customer-seat-column-v259{
  grid-template-columns:29px;
  grid-template-rows:30px 30px 14px 30px 30px;
  gap:1px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat{
  width:29px;
  min-width:29px;
  height:29px;
  min-height:29px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:before{
  left:7px;
  top:3px;
  width:16px;
  height:22px;
  border-width:1.5px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:after{
  left:2px;
  top:12px;
  width:25px;
  height:11px;
}

body.mybus-customer-reference .customer-seat-column-v259 .customer-seat-number-v143{
  position:absolute;
  z-index:4;
  left:-1px;
  top:-1px;
  display:grid;
  min-width:19px;
  height:19px;
  place-items:center;
  padding:0 3px;
  border:1px solid rgba(255,255,255,.95);
  border-radius:6px;
  background:#fff;
  color:#12382e;
  font-size:12px;
  font-weight:950;
  line-height:1;
  letter-spacing:-.04em;
  box-shadow:0 2px 5px rgba(12,57,44,.2);
}

body.mybus-customer-reference .customer-seat-five-rear-v262{
  grid-template-rows:29px 29px 29px 29px 29px;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259,
body.mybus-customer-reference .customer-seat-lower-only-v265{
  width:29px;
  height:149px;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-upper-v260{
  top:89px!important;
  width:29px!important;
  height:29px!important;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-lower-v260{
  top:120px!important;
  width:29px!important;
  height:29px!important;
}

body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-seat-lower-v260{
  flex-basis:29px;
  width:29px!important;
  height:29px!important;
}

body.mybus-customer-reference .customer-horizontal-rear-v259{
  flex-basis:23px;
  font-size:8px;
  background:rgba(246,251,248,.7);
}

@media(max-width:1180px){
  body.mybus-customer-reference .customer-seat-head-integrated-v267{flex-basis:116px;padding:12px 10px!important}
  body.mybus-customer-reference .customer-seat-head-integrated-v267 strong{font-size:14px}
  body.mybus-customer-reference .customer-seat-head-integrated-v267 small{font-size:8px}
  body.mybus-customer-reference .customer-horizontal-deck-v259{gap:1px;padding-inline:4px}
}

/* v269: reference-faithful coach card — no information panel inside the vehicle. */
body.mybus-customer-reference .customer-horizontal-coach-v259{
  height:216px;
  border:1.5px solid #b5c9c0;
  border-radius:72px 18px 18px 72px;
  background:
    linear-gradient(180deg,#fbfdfc 0 43%,#edf5f1 43% 57%,#fbfdfc 57% 100%);
  box-shadow:0 8px 22px rgba(24,74,59,.08);
}

body.mybus-customer-reference .customer-horizontal-front-v259{
  flex:0 0 88px;
  justify-content:flex-end;
  padding-bottom:27px;
  border-right:1px solid #d4e0da;
  border-radius:70px 0 0 70px;
  background:#fbfdfc;
}

body.mybus-customer-reference .customer-horizontal-front-v259:before{
  left:13px;
  top:17px;
  width:18px;
  height:45px;
  border-color:#a8beb4;
  border-radius:75% 28% 28% 75%;
  background:linear-gradient(135deg,#e4efea,#fbfdfc);
  transform:skewY(-7deg);
}

body.mybus-customer-reference .customer-horizontal-front-v259 .customer-seat-wheel-v143{
  width:39px;
  height:39px;
  margin-left:-4px;
  opacity:.72;
}

body.mybus-customer-reference .customer-horizontal-deck-v259{
  justify-content:space-between;
  gap:3px;
  padding:18px 10px;
}

body.mybus-customer-reference .customer-seat-column-v259{
  grid-template-columns:34px;
  grid-template-rows:36px 36px 28px 36px 36px;
  gap:1px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat{
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  transition:transform .18s ease,filter .18s ease;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:before{
  left:8px;
  top:3px;
  width:19px;
  height:27px;
  border-radius:8px 8px 5px 5px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:after{
  left:2px;
  top:15px;
  width:30px;
  height:13px;
  border-radius:4px;
}

body.mybus-customer-reference .customer-seat-column-v259 .customer-seat-number-v143{
  left:-1px;
  top:-1px;
  min-width:21px;
  height:21px;
  padding:0 3px;
  border-radius:7px;
  font-size:13px;
  font-weight:950;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:hover:not(:disabled){
  z-index:8;
  transform:translateY(-3px) scale(1.09);
  filter:saturate(1.12);
}

body.mybus-customer-reference .customer-horizontal-aisle-v259{
  align-self:center;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#d8e6df 0 58%,transparent 58% 100%);
  background-size:24px 2px;
}

body.mybus-customer-reference .customer-seat-gap-before-v260{margin-left:12px}
body.mybus-customer-reference .customer-seat-gap-before-v260:before{left:-7px;top:4px;bottom:4px;border-left-color:#c9d9d1}

body.mybus-customer-reference .customer-seat-five-rear-v262{
  grid-template-rows:34px 34px 34px 34px 34px;
  gap:1px;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259,
body.mybus-customer-reference .customer-seat-lower-only-v265{
  width:34px;
  height:174px;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-upper-v260{
  top:103px!important;
  width:34px!important;
  height:34px!important;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-lower-v260{
  top:140px!important;
  width:34px!important;
  height:34px!important;
}

body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-seat-lower-v260{
  flex-basis:34px;
  width:34px!important;
  height:34px!important;
}

body.mybus-customer-reference .customer-horizontal-rear-v259{
  flex:0 0 18px;
  border-left:0;
  background:#fbfdfc;
}

@media(max-width:1180px){
  body.mybus-customer-reference .customer-horizontal-front-v259{flex-basis:74px}
  body.mybus-customer-reference .customer-horizontal-deck-v259{gap:1px;padding-inline:6px}
}

/* v270: larger seats use the complete cabin and face the front of the coach (left). */
body.mybus-customer-reference .customer-horizontal-coach-v259{height:238px}

body.mybus-customer-reference .customer-horizontal-front-v259{
  flex-basis:90px;
  padding-bottom:31px;
}

body.mybus-customer-reference .customer-horizontal-front-v259 .customer-seat-wheel-v143{
  width:43px;
  height:43px;
}

body.mybus-customer-reference .customer-horizontal-deck-v259{
  gap:2px;
  padding:15px 8px;
}

body.mybus-customer-reference .customer-seat-column-v259{
  grid-template-columns:40px;
  grid-template-rows:41px 41px 28px 41px 41px;
  gap:1px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat{
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:before{
  left:50%;
  top:50%;
  width:23px;
  height:31px;
  border-width:1.5px;
  border-radius:9px 9px 6px 6px;
  transform:translate(-50%,-50%) rotate(90deg);
  transform-origin:center;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:after{
  left:50%;
  top:50%;
  width:34px;
  height:15px;
  transform:translate(-50%,-50%) rotate(90deg);
  transform-origin:center;
}

body.mybus-customer-reference .customer-seat-column-v259 .customer-seat-number-v143{
  left:-1px;
  top:-1px;
  min-width:23px;
  height:23px;
  font-size:14px;
}

body.mybus-customer-reference .customer-seat-column-v259 .seat:hover:not(:disabled){
  transform:translateX(-3px) scale(1.08);
}

body.mybus-customer-reference .customer-seat-gap-before-v260{margin-left:10px}

body.mybus-customer-reference .customer-seat-five-rear-v262{
  grid-template-rows:40px 40px 40px 40px 40px;
  gap:1px;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259,
body.mybus-customer-reference .customer-seat-lower-only-v265{
  width:40px;
  height:204px;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-upper-v260{
  top:122px!important;
  width:40px!important;
  height:40px!important;
}

body.mybus-customer-reference .customer-seat-2x1-column-v260.customer-seat-rear-column-v259>.customer-seat-lower-v260{
  top:164px!important;
  width:40px!important;
  height:40px!important;
}

body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-seat-lower-v260{
  flex-basis:40px;
  width:40px!important;
  height:40px!important;
}

body.mybus-customer-reference .customer-seat-lower-only-v265{
  display:block!important;
  position:relative;
}

body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-seat-lower-v260{
  position:absolute!important;
  left:0!important;
  display:block!important;
}

body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-seat-lower-v260:nth-of-type(1){top:164px!important}
body.mybus-customer-reference .customer-seat-lower-only-v265>.customer-seat-lower-v260:nth-of-type(2){top:123px!important}

@media(max-width:1180px){
body.mybus-customer-reference .customer-horizontal-front-v259{flex-basis:78px}
  body.mybus-customer-reference .customer-horizontal-deck-v259{gap:0;padding-inline:4px}
}

@media(max-width:1000px){
  body.mybus-customer-reference .journey-card{
    grid-template-columns:minmax(250px,1.25fr) minmax(100px,.42fr) minmax(125px,.5fr) auto;
  }
  body.mybus-customer-reference .journey-card .price{grid-column:3}
  body.mybus-customer-reference .journey-card>.choose-trip{grid-column:4}
  body.mybus-customer-reference .journey-card>.seat-section,
  body.mybus-customer-reference .journey-extra{grid-column:1/-1}
}

@media(max-width:760px){
  body.mybus-customer-reference .journey-card{
    grid-template-columns:1fr 1fr;
    gap:16px;
    padding:18px;
  }
  body.mybus-customer-reference .journey-main{grid-column:1/-1}
  body.mybus-customer-reference .journey-card .duration{align-items:flex-end;text-align:right}
  body.mybus-customer-reference .journey-duration-line{display:none}
  body.mybus-customer-reference .journey-card .price{grid-column:1}
  body.mybus-customer-reference .journey-card>.choose-trip{grid-column:2;width:100%}
  body.mybus-customer-reference .journey-card>.seat-section{
    width:calc(100% + 36px);
    margin:2px -18px -18px;
  }
  body.mybus-customer-reference .journey-card>.seat-section .seat-layout{grid-template-columns:1fr;padding:16px}
  body.mybus-customer-reference .journey-card>.seat-section .checkout{position:static}
  body.mybus-customer-reference .journey-card>.seat-section .coach{max-width:100%}
}

@media(max-width:500px){
  body.mybus-customer-reference .journey-card{grid-template-columns:1fr}
  body.mybus-customer-reference .journey-card .time,
  body.mybus-customer-reference .journey-card .duration,
  body.mybus-customer-reference .journey-card .price{grid-column:1;align-items:flex-start;text-align:left}
  body.mybus-customer-reference .journey-card>.choose-trip{grid-column:1}
  body.mybus-customer-reference .inline-seat-header{align-items:flex-start;padding:16px;flex-direction:column}
  body.mybus-customer-reference .inline-seat-close{width:100%}
  body.mybus-customer-reference .journey-card>.seat-section .seat-tabs{padding:0 16px;overflow-x:auto}
}

