.bet-inline-booking {
  background:#f5f6f5;
  border:1px solid #dce3e3;
  border-radius:12px;
  padding:18px;
  margin:0 0 24px;
  color:#263d36;
  font:12px/1.5 Inter,Arial,sans-serif;
  min-width:0;
}
.bet-inline-booking * {
  box-sizing:border-box;
}
.bet-inline-booking [hidden] {
  display:none!important;
}
.bet-inline-booking label {
  display:block;
  font-size:11px;
  margin:9px 0;
}
.bet-inline-booking input:not([type=checkbox]),.bet-inline-booking select {
  font:12px Inter,Arial,sans-serif;
  color:#263d36;
  border:1px solid #d5dfd7;
  border-radius:12px;
  background:#fff;
  padding:10px;
  width:100%;
  min-width:0;
  height:40px;
  margin-top:5px;
}
.bet-inline-booking strong {
  font-size:13px;
}
.bet-inline-booking small {
  display:block;
  font-size:10px;
  line-height:1.5;
  color:#738078;
}
.bet-inline-date-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.bet-inline-booking .bet-inline-primary {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:12px;
  border:0;
  border-radius:12px;
  background:#16846d;
  color:white;
  text-decoration:none;
  font:600 12px/1.4 Inter,Arial,sans-serif;
  cursor:pointer;
  margin-top:10px;
}
.bet-inline-booking button:disabled {
  opacity:.6;
  cursor:wait;
}
.bet-inline-status:empty {
  display:none;
}
.bet-inline-status {
  margin:12px 0;
  color:#923f3c;
  font-size:12px;
}
.bet-inline-step {
  padding-top:14px;
  border-top:1px solid #dce4de;
  margin-top:14px;
}
.bet-inline-step h3 {
  font:650 13px/1.4 Inter,Arial,sans-serif;
  display:flex;
  gap:8px;
  align-items:center;
  margin:0 0 10px;
  color:#263d36;
}
.bet-inline-step h3>span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:21px;
  height:21px;
  background:#16846d;
  color:#fff;
  border-radius:50%;
  flex-shrink:0;
  font-size:12px;
}
.bet-inline-step p {
  font-size:12px;
  margin:5px 0;
}
.bet-inline-step>a {
  font-size:10px;
  color:var(--bet-brand-green,#23b99a);
}
.bet-inline-measurements {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 10px;
}
.bet-inline-measurements>label:first-child {
  grid-column:1/-1;
}
.bet-inline-measurements label>div {
  position:relative;
}
.bet-inline-measurements input {
  padding-right:34px!important;
}
.bet-inline-measurements label>div>span {
  position:absolute;
  right:9px;
  top:17px;
  font-size:10px;
  color:#748278;
}
.bet-inline-booking .bet-inline-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 0;
  border-bottom:1px solid #e1e6df;
  margin:0;
}
.bet-inline-toggle input {
  appearance:none;
  width:29px;
  height:16px;
  border-radius:12px;
  background:#cdd7d1;
  position:relative;
  flex-shrink:0;
  cursor:pointer;
  margin:0;
}
.bet-inline-toggle input:before {
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  top:2px;
  left:2px;
  background:white;
  border-radius:50%;
  transition:transform .15s;
}
.bet-inline-toggle input:checked {
  background:var(--bet-brand-green,#23b99a);
}
.bet-inline-toggle input:checked:before {
  transform:translateX(13px);
}
.bet-inline-toggle input:disabled {
  opacity:.4;
  cursor:not-allowed;
}
.bet-inline-summary-row {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
}
.bet-inline-summary-row strong {
  white-space:nowrap;
  font-size:12px;
}
.bet-inline-summary-total {
  border-top:1px solid #dce4de;
  margin-top:8px;
  padding-top:12px;
  font-weight:700;
}
.bet-inline-success>strong {
  display:block;
  margin:12px 0;
}
.bet-inline-success>button {
  display:block;
  width:100%;
  margin-top:10px;
  border:1px solid #c5d7cd;
  background:#fff;
  color:var(--bet-brand-green,#23b99a);
  border-radius:12px;
  padding:10px;
  font:12px Inter,Arial,sans-serif;
  cursor:pointer;
}
.bet-inline-booking :focus-visible {
  outline:2px solid var(--bet-brand-green,#23b99a);
  outline-offset:2px;
}
.bet-inline-booking .bet-inline-summary>small {
  margin-top:10px;
}
#bet-reservation-widget {
  scroll-margin-top:24px;
}
.bet-inline-route .bet-inline-date-fields {
  grid-template-columns:1fr;
}
.bet-route-bike-picker h3 {
  font-size:14px;
  margin:16px 0 5px;
}
.bet-route-bike-picker p {
  font-size:11px;
  color:#738078;
  margin:0 0 12px;
}
.bet-route-bike-card {
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  column-gap:12px;
  align-items:center;
  background:white;
  border:1px solid #d5dfd7;
  border-radius:12px;
  padding:12px;
  margin-bottom:10px;
}
.bet-route-bike-card img {
  width:100%;
  object-fit:contain;
  grid-row:1/5;
  background:#fff;
  border-radius:12px;
}
.bet-route-bike-card h4 {
  font:600 12px/1.4 Inter,Arial,sans-serif;
  margin:0 0 4px;
}
.bet-route-bike-card strong {
  margin:3px 0;
}
.bet-route-bike-card button {
  border:0;
  background:#16846d;
  color:white;
  font:600 11px Inter,Arial,sans-serif;
  border-radius:12px;
  padding:9px;
  cursor:pointer;
}
.bet-route-bike-picker>button,.bet-route-bike-selected button {
  background:white;
  border:1px solid #c5d7cd;
  border-radius:12px;
  padding:9px;
  color:var(--bet-brand-green,#23b99a);
  font:12px Inter,Arial,sans-serif;
  cursor:pointer;
  width:100%;
}
.bet-route-bike-selected {
  margin-top:14px;
  padding:12px;
  border:1px solid #c5d7cd;
  background:white;
  border-radius:12px;
}
.bet-route-bike-selected strong {
  display:block;
  margin-bottom:9px;
}
.bet-route-own-choice {
  display:block;
  margin-top:14px;
  color:var(--bet-brand-green,#23b99a);
  font-size:12px;
  text-decoration:none;
}
.bet-route-own-choice small {
  margin-top:4px;
}
.bet-route-bike-filters {
  display:flex;
  gap:6px;
  margin:12px 0 8px;
}
.bet-route-bike-filters button {
  flex:1;
  border:1px solid #c5d7cd;
  border-radius:12px;
  background:white;
  color:#263d36;
  padding:9px 5px;
  font:600 11px Inter,Arial,sans-serif;
  cursor:pointer;
}
.bet-route-bike-filters button[aria-pressed=true] {
  background:#16846d;
  border-color:var(--bet-brand-green,#23b99a);
  color:white;
}
.bet-route-bike-filters button:disabled {
  opacity:.45;
  cursor:not-allowed;
}
[data-bike-count] {
  margin-bottom:10px;
}
.bet-route-bike-card img {
  grid-row:auto;
  height:105px;
}
.bet-route-bike-card-info {
  min-width:0;
}
.bet-route-bike-card-info strong {
  display:block;
  font-size:15px;
}
.bet-route-bike-card-info button {
  width:100%;
  margin-top:8px;
}
.bet-route-bike-card-info small {
  font-size:10px;
}
.bet-route-bike-card-info .bet-route-bike-type {
  color:var(--bet-brand-green,#23b99a);
  font-weight:600;
  margin-bottom:3px;
}
.bet-route-bike-selected img {
  width:88px;
  height:68px;
  object-fit:contain;
  background:white;
  border-radius:12px;
  float:left;
  margin:0 10px 6px 0;
}
.bet-route-bike-selected button {
  clear:both;
  margin-top:10px;
}
.bet-route-bike-selected strong {
  font-size:12px;
}
/* Compact model cards keep the total, recommended sizes and a clear selection action. */
.bet-inline-booking .bet-route-bike-card {
  grid-template-columns:clamp(100px,34%,140px) minmax(0,1fr);
  gap:10px;
  padding:10px;
  margin-bottom:8px;
}
.bet-inline-booking .bet-route-bike-card img {
  height:110px;
}
.bet-inline-booking .bet-route-bike-card h4 {
  font-size:13px;
  line-height:1.3;
  margin-bottom:4px;
}
.bet-route-bike-card-price {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:0 6px;
  margin:3px 0;
}
.bet-inline-booking .bet-route-bike-card-price strong {
  margin:0;
  font-size:16px;
}
.bet-inline-booking .bet-route-bike-card-price small {
  font-size:10px;
}
.bet-inline-booking .bet-route-bike-card-info button {
  width:auto;
  max-width:100%;
  min-height:44px;
  margin-top:6px;
  padding:8px 16px;
  font-size:12px;
}
/* Available sizes use touch-friendly pills with a persistent selected state. */
.bet-inline-booking .bet-size-label {
  display:block;
  margin-bottom:6px;
  font-size:12px;
}
.bet-inline-booking .bet-size-pills {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:8px;
}
.bet-inline-booking .bet-size-pills button {
  width:auto;
  min-width:52px;
  min-height:44px;
  margin:0;
  padding:8px 16px;
  border:1px solid #91bdb3;
  border-radius:999px;
  background:#fff;
  color:#193b32;
  font-size:14px;
  font-weight:600;
}
.bet-inline-booking .bet-size-pills button[aria-pressed="true"] {
  background:#16846d;
  border-color:var(--bet-brand-green,#23b99a);
  color:#fff;
}
.bet-inline-booking .bet-size-pills button:hover {
  border-color:var(--bet-brand-green,#23b99a);
}
.bet-inline-booking .bet-size-pills button:focus-visible {
  outline:2px solid #193b32;
  outline-offset:3px;
}
.bet-inline-booking .bet-size-unavailable {
  margin:8px 0 12px;
  padding:10px 12px;
  border:1px solid #edceca;
  border-radius:12px;
  background:#fff2f0;
  color:#a13d35;
  font-size:12px;
  line-height:1.5;
  font-weight:600;
}
.bet-inline-alternatives>h4 {
  font:650 13px/1.4 Inter,Arial,sans-serif;
  margin:0 0 10px;
}
.bet-inline-alternatives .bet-alternative-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--bet-brand-green,#23b99a);
  text-decoration:none;
  font-weight:650;
}
.bet-inline-alternatives .bet-alternatives-more {
  min-height:44px;
  padding:8px 12px;
  background:white;
  color:var(--bet-brand-green,#23b99a);
  border:1px solid #c5d7cd;
  border-radius:12px;
  font:600 12px Inter,Arial,sans-serif;
  cursor:pointer;
}
.bet-inline-alternatives .bet-route-bike-card>h4 {
  grid-column:1/-1;
  font:650 13px/1.35 Inter,Arial,sans-serif;
  margin:0;
  color:#263d36;
}
/* Alternative bikes use the available content column rather than the narrow booking sidebar. */
.bet-inline-alternatives[hidden] {
  display:none!important;
}
.bet-inline-alternatives {
  margin:28px 0 0;
  padding-top:24px;
  border-top:1px solid #dce3e3;
  color:#263d36;
  font:13px/1.5 Inter,Arial,sans-serif;
  min-width:0;
  order:4;
}
.bet-inline-alternatives>h3 {
  font:650 20px/1.3 Inter,Arial,sans-serif;
  margin:0 0 6px;
  color:#263d36;
}
.bet-inline-alternatives .bet-alternatives-dates {
  margin:0 0 16px;
  color:#65746d;
  font-size:12px;
}
.bet-alternatives-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.bet-inline-alternatives .bet-route-bike-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:8px;
  padding:14px;
  margin:0;
  border:1px solid #dce3e3;
  border-radius:12px;
  background:white;
}
.bet-inline-alternatives .bet-route-bike-card>h4 {
  min-height:36px;
}
.bet-inline-alternatives .bet-route-bike-card>img {
  width:100%;
  height:145px;
  object-fit:contain;
  background:white;
}
.bet-inline-alternatives .bet-route-bike-card-info {
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
}
.bet-inline-alternatives .bet-route-bike-card-info>strong {
  font-size:18px;
  color:#263d36;
}
.bet-inline-alternatives .bet-route-bike-card-info>small {
  display:block;
  font-size:11px;
  line-height:1.45;
  color:#65746d;
}
.bet-inline-alternatives .bet-alternative-link {
  margin-top:auto;
  padding-top:8px;
}
.bet-inline-alternatives .bet-alternatives-more {
  margin-top:14px;
}
@media (min-width:1025px), (min-width:761px) and (orientation:landscape) and (max-width:1000px) {
  .bet-alternatives-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-alternatives-grid {
    grid-template-columns:1fr;
  }
  .bet-inline-alternatives .bet-route-bike-card {
    display:grid;
    grid-template-columns:40% minmax(0,1fr);
  }
  .bet-inline-alternatives .bet-route-bike-card>h4 {
    min-height:0;
  }
  .bet-inline-alternatives .bet-route-bike-card>img {
    height:120px;
  }
}
.bet-inline-booking .bet-inline-dates>strong {
  display:block;
  font:650 19px/1.3 Inter,Arial,sans-serif;
  color:#263d36;
  margin:0;
}
.bet-inline-booking .bet-inline-dates>small {
  display:block;
  font:400 14px/1.35 Inter,Arial,sans-serif;
  color:#62736c;
  margin:4px 0 0;
  max-width:none;
  white-space:normal;
}
.bet-inline-alternatives-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font:650 14px/1.3 Inter,Arial,sans-serif;
  color:var(--bet-brand-green,#23b99a);
  text-decoration:underline;
  text-underline-offset:3px;
  margin-top:2px;
}
.bet-inline-alternatives-link[hidden] {
  display:none;
}
#bet-available-alternatives {
  scroll-margin-top:120px;
}
.bet-alternatives-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-bottom:8px;
}
.bet-alternatives-heading h3 {
  font:650 20px/1.35 Inter,Arial,sans-serif;
  color:#263d36;
  margin:0;
}
.bet-alternatives-heading .bet-alternatives-more {
  margin:0;
  flex-shrink:0;
}
.bet-inline-step[data-reservation-size][hidden],.bet-inline-step[data-reservation-fit][hidden],.bet-inline-step[data-reservation-extras][hidden],.bet-inline-step[data-reservation-routes][hidden],.bet-inline-step[data-reservation-summary][hidden] {
  display:none;
}
.bet-inline-step>[data-continue-client],.bet-inline-step>[data-continue-fit],.bet-inline-step>[data-continue-extras],.bet-inline-step>[data-continue-routes] {
  margin-top:12px;
}
.bet-inline-alternatives a.bet-alternatives-more {
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  box-sizing:border-box;
}
.bet-alternatives-heading h3 {
  scroll-margin-top:120px;
}
.bet-inline-step h4 {
  font:650 14px/1.35 Inter,Arial,sans-serif;
  color:#263d36;
  margin:16px 0 10px;
}
.bet-inline-step .bet-inline-summary {
  border-top:1px solid #dce3e3;
  margin-top:16px;
  padding-top:4px;
}
.bet-inline-booking [data-equipment] .bet-inline-toggle {
  font-size:12px;
  min-height:44px;
  padding:10px 0;
}
.bet-inline-booking .bet-extra-group select {
  font-size:13px;
  margin:0 0 10px;
  height:42px;
}
.bet-inline-booking [data-equipment] small {
  font-size:11px;
}
.bet-inline-booking .bet-extra-group .bet-inline-toggle input {
  width:36px;
  height:20px;
}
.bet-inline-booking .bet-extra-group .bet-inline-toggle input:before {
  width:16px;
  height:16px;
}
.bet-inline-booking .bet-extra-group .bet-inline-toggle input:checked:before {
  transform:translateX(16px);
}
.bet-inline-progress [name=height] {
  padding-right:36px!important;
}
.bet-inline-progress .bet-inline-step>label:first-of-type>div {
  position:relative;
}
.bet-inline-progress .bet-inline-step>label:first-of-type>div>span {
  position:absolute;
  right:10px;
  top:17px;
  color:#738078;
  font-size:11px;
}
.bet-inline-measurements>label:first-child {
  grid-column:auto;
}
.bet-inline-booking .bet-pedals-included>span {
  color:#61716b;
}
.bet-inline-booking .bet-pedals-included small {
  display:block;
  font-size:11px;
  margin-top:3px;
}
.bet-inline-booking .bet-pedals-included small[hidden] {
  display:none;
}
.bet-inline-booking [data-insurance-terms] {
  margin:12px 0 16px;
}
.bet-inline-booking [data-insurance-terms][hidden] {
  display:none;
}
.bet-inline-booking [data-insurance-terms]>label {
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0;
  font:400 13px/1.5 Inter,Arial,sans-serif;
  color:#263d36;
  cursor:pointer;
}
.bet-inline-booking [data-insurance-terms] input {
  appearance:none;
  box-sizing:border-box;
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin:0;
  padding:0;
  border:1.5px solid #b9c9c2;
  border-radius:5px;
  background:white;
  cursor:pointer;
}
.bet-inline-booking [data-insurance-terms] input:checked {
  border-color:var(--bet-brand-green,#23b99a);
  background:var(--bet-brand-green,#23b99a) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px 18px no-repeat;
}
.bet-inline-booking [data-insurance-terms] .bet-insurance-links {
  margin:4px 0 0 28px;
  font:400 12px/1.5 Inter,Arial,sans-serif;
  color:#61716b;
}
.bet-inline-booking .bet-insurance-links a {
  color:var(--bet-brand-green,#23b99a);
  font:500 12px/1.5 Inter,Arial,sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
}
.bet-inline-booking [data-size-status] {
  font-size:13px;
  line-height:1.45;
  color:#61716b;
  margin-top:8px;
}
.bet-inline-booking [data-reservation-size]>a {
  display:block;
  width:fit-content;
  margin:8px 0 0 auto;
  color:var(--bet-brand-green,#23b99a);
  font:500 12px/1.4 Inter,Arial,sans-serif;
  text-decoration:none;
}
.bet-inline-booking [data-reservation-extras] .bet-inline-toggle {
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  min-height:44px;
}
.bet-inline-booking [data-reservation-extras] .bet-inline-toggle small {
  font-size:12px;
  font-weight:400;
  line-height:1.4;
}
.bet-inline-booking .bet-extra-store-heading {
  font:650 14px/1.4 Inter,Arial,sans-serif;
  margin:14px 0 4px;
}
.bet-inline-booking [data-summary] .bet-inline-shop-summary {
  display:block;
  margin:12px 0;
  padding:0;
  line-height:1.5;
}
.bet-inline-booking [data-summary] .bet-inline-shop-summary>strong {
  display:block;
  font-size:12px;
  font-weight:600;
  color:#263d36;
}
.bet-inline-booking [data-summary] .bet-inline-shop-summary>small {
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.55;
}
.bet-inline-booking [data-summary] .bet-inline-summary-total {
  margin-top:16px;
  padding-top:14px;
}
