.brb-wrap{
  --y:#f3ff00;
  --g:#ffd600;
  --b:#050505;
  --t:#080808;
  --m:#667085;
  --l:#dfe4ec;
  max-width:1180px;
  margin:0 auto;
  padding:24px 24px 48px;
  font-family:inherit;
  color:var(--t);
  font-size:15px;
  background:
    radial-gradient(circle at 0 0,rgba(243,255,0,.10),transparent 30%),
    radial-gradient(circle at 100% 65%,rgba(243,255,0,.07),transparent 28%),
    #fff;
  box-sizing:border-box;
  overflow:hidden;
}

.brb-wrap,
.brb-wrap *{
  box-sizing:border-box;
}

.brb-success{
  background:#ecfdf3;
  border:1px solid #b7efc5;
  color:#166534;
  border-radius:12px;
  padding:12px 16px;
  margin-bottom:20px;
  font-weight:700;
}

/* HERO */

.brb-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
  margin-bottom:30px;
}

.brb-pill{
  display:inline-flex;
  background:#050505;
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font-weight:800;
  font-size:13px;
  margin-bottom:14px;
}

.brb-hero h2{
  margin:0 0 10px;
  font-size:clamp(34px,4.2vw,52px);
  line-height:1.04;
  font-weight:950;
  letter-spacing:-.05em;
  color:#000;
}

.brb-hero p{
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:#535d6c;
}

.brb-top-total{
  flex:0 0 280px;
  min-height:104px;
  background:#020202;
  color:#fff;
  border-radius:18px;
  padding:24px 28px;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.15);
}

.brb-top-total span:first-child{
  display:block;
  color:#d7d7d7;
  font-size:15px;
  margin-bottom:9px;
}

.brb-top-total strong{
  display:block;
  color:var(--y);
  font-size:46px;
  line-height:.95;
  font-weight:950;
  letter-spacing:-.04em;
}

.brb-bike-mark{
  position:absolute;
  right:24px;
  bottom:18px;
  font-size:58px !important;
  line-height:1 !important;
  color:rgba(255,255,255,.08);
  transform:rotate(17deg);
  max-width:70px;
  max-height:70px;
  overflow:hidden;
  pointer-events:none;
}

/* CARD */

.brb-card{
  background:#fff;
  border:1px solid var(--l);
  border-radius:22px;
  padding:32px;
  box-shadow:0 24px 64px rgba(15,23,42,.075);
  overflow:hidden;
}

.brb-section-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 22px;
  text-transform:uppercase;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.02em;
  color:#080808;
}

.brb-section-title:before{
  content:"";
  display:block;
  width:5px;
  height:30px;
  border-radius:999px;
  background:var(--g);
  flex:0 0 5px;
}

.brb-mt{
  margin-top:34px;
}

/* FIELDS */

.brb-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px 32px;
}

.brb-field{
  min-width:0;
}

.brb-field label{
  display:block;
  margin:0 0 8px;
  font-weight:850;
  font-size:15px;
  line-height:1.2;
  color:#050505;
}

.brb-control{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  height:50px;
  border:1.5px solid var(--l);
  border-radius:12px;
  background:#fff;
  transition:border-color .18s,box-shadow .18s;
}

.brb-control:focus-within{
  border-color:var(--g);
  box-shadow:0 0 0 4px rgba(255,214,0,.16);
}

.brb-icon{
  position:absolute;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:18px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--g);
  font-size:15px !important;
  line-height:1 !important;
  pointer-events:none;
}

.brb-control input,
.brb-control select{
  display:block;
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  margin:0 !important;
  padding:0 46px 0 50px !important;
  border:0 !important;
  border-radius:12px !important;
  background-color:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  color:#111 !important;
  font-family:inherit !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:50px !important;
}

.brb-control input::placeholder{
  color:#7c8490;
}

.brb-control select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  cursor:pointer;
  background-image:
    linear-gradient(45deg,transparent 50%,#111 50%),
    linear-gradient(135deg,#111 50%,transparent 50%) !important;
  background-position:
    calc(100% - 22px) 50%,
    calc(100% - 16px) 50% !important;
  background-size:6px 6px,6px 6px !important;
  background-repeat:no-repeat !important;
}

.brb-control input[type=date],
.brb-control input[type=time]{
  -webkit-appearance:none !important;
  appearance:none !important;
}

.brb-control input[type=date]::-webkit-calendar-picker-indicator,
.brb-control input[type=time]::-webkit-calendar-picker-indicator{
  position:absolute;
  right:16px;
  width:18px;
  height:18px;
  cursor:pointer;
  opacity:.9;
}

.brb-control input[type=number]{
  -moz-appearance:textfield;
}

.brb-control input::-webkit-outer-spin-button,
.brb-control input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* EXTRAS */

.brb-extras{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.brb-extra{
  position:relative;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) 24px;
  gap:18px;
  align-items:flex-start;
  min-height:128px;
  padding:24px;
  border:1.5px solid var(--g);
  border-radius:13px;
  background:#fff;
  cursor:pointer;
  transition:box-shadow .2s,transform .2s,background .2s;
}

.brb-extra:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(255,214,0,.14);
}

.brb-extra input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.brb-check{
  display:block;
  width:20px;
  height:20px;
  border:2.5px solid #111;
  border-radius:5px;
  margin-top:2px;
  position:relative;
  background:#fff;
  flex:0 0 20px;
}

.brb-extra input:checked + .brb-check{
  background:var(--y);
  border-color:#111;
}

.brb-extra input:checked + .brb-check:after{
  content:"✓";
  position:absolute;
  left:2px;
  top:-7px;
  font-size:19px;
  font-weight:950;
  color:#000;
}

.brb-extra-content{
  display:block;
  min-width:0;
}

.brb-extra-content strong{
  display:block;
  margin:0 0 7px;
  font-size:15px;
  line-height:1.3;
  font-weight:950;
  color:#070707;
}

.brb-extra-content em{
  display:block;
  margin:0 0 10px;
  font-style:normal;
  color:#3f4a5b;
  font-size:14px;
  line-height:1.3;
  font-weight:800;
}

.brb-extra-content span{
  display:block;
  margin:0;
  color:#667085;
  font-size:13px;
  line-height:1.45;
}

.brb-info{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border:2.5px solid #111;
  border-radius:50%;
  font-size:14px;
  font-weight:900;
  font-style:normal;
  line-height:1;
  color:#111;
  background:#fff;
}

/* FOOTER */

.brb-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:28px;
  padding:18px 20px;
  border:1.5px solid var(--l);
  border-radius:17px;
  background:#fff;
}

.brb-bottom-total{
  display:flex;
  align-items:center;
  gap:18px;
}

.brb-wallet{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--g);
  box-shadow:0 12px 28px rgba(255,214,0,.22);
  font-size:23px;
  color:#111;
}

.brb-bottom-total span:not(.brb-wallet){
  display:block;
  margin:0 0 4px;
  color:#667085;
  font-size:14px;
}

.brb-bottom-total strong{
  display:block;
  font-size:28px;
  line-height:1;
  font-weight:950;
  color:#000;
  letter-spacing:-.04em;
}

.brb-button{
  border:0 !important;
  border-radius:13px !important;
  background:var(--y) !important;
  color:#000 !important;
  min-width:230px;
  height:58px;
  padding:0 28px !important;
  font-size:15px !important;
  font-weight:950 !important;
  cursor:pointer;
  box-shadow:0 16px 36px rgba(243,255,0,.24) !important;
  transition:transform .2s,box-shadow .2s,background .2s;
}

.brb-button:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 42px rgba(243,255,0,.32) !important;
  background:#f0f700 !important;
}

/* RESPONSIVE */

@media(max-width:980px){
  .brb-wrap{
    padding:32px 16px 44px;
  }

  .brb-hero{
    display:block;
  }

  .brb-top-total{
    margin-top:24px;
    width:100%;
    max-width:320px;
    min-width:0;
  }

  .brb-card{
    padding:28px 22px;
  }

  .brb-grid,
  .brb-extras{
    grid-template-columns:1fr;
  }

  .brb-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .brb-button{
    width:100%;
    min-width:0;
  }
}

@media(max-width:560px){
  .brb-wrap{
    padding:26px 12px;
  }

  .brb-card{
    padding:22px 16px;
    border-radius:18px;
  }

  .brb-hero h2{
    font-size:34px;
    letter-spacing:-.04em;
  }

  .brb-hero p{
    font-size:15px;
  }

  .brb-top-total{
    border-radius:16px;
  }

  .brb-top-total strong{
    font-size:40px;
  }

  .brb-section-title{
    font-size:18px;
  }

  .brb-control{
    height:50px;
  }

  .brb-control input,
  .brb-control select{
    height:50px !important;
    min-height:50px !important;
    line-height:50px !important;
    font-size:15px !important;
  }

  .brb-extra{
    grid-template-columns:20px minmax(0,1fr);
    padding:20px 16px;
    gap:14px;
  }

  .brb-info{
    grid-column:1 / -1;
  }

  .brb-wallet{
    width:54px;
    height:54px;
  }

  .brb-bottom-total strong{
    font-size:26px;
  }
}
.brb-error{
  background:#fff1f2;
  border:1px solid #fecdd3;
  color:#9f1239;
  border-radius:12px;
  padding:12px 16px;
  margin-bottom:20px;
  font-weight:800;
}


.brb-bike-slider{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  overflow:visible;
  padding:4px 4px 12px;
}

.brb-bike-card{
  appearance:none;
  border:1.5px solid var(--l);
  background:#fff;
  border-radius:22px;
  width:100%;
  min-width:0;
  padding:22px 24px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;
  display:grid;
  grid-template-columns:minmax(210px, 340px) 1fr;
  gap:26px;
  align-items:start;
}

.brb-bike-card:hover,
.brb-bike-card.is-active{
  border-color:var(--g);
  box-shadow:0 18px 44px rgba(15,23,42,.12);
  transform:translateY(-2px);
}

.brb-bike-card.is-active{
  background:linear-gradient(135deg,rgba(255,214,0,.18),#fff 46%);
}

.brb-bike-emoji{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:210px;
  background:#050505;
  color:#fff;
  border-radius:18px;
  font-size:64px;
}

.brb-bike-image{
  display:block;
  width:100%;
  height:230px;
  border-radius:18px;
  overflow:hidden;
  background:#f4f6f8;
  border:1px solid #eef1f5;
}

.brb-bike-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.brb-bike-info{
  display:block;
  min-width:0;
}

.brb-bike-card strong{
  display:block;
  color:#050505;
  font-size:26px;
  line-height:1.1;
  font-weight:950;
  margin-bottom:16px;
}

.brb-bike-prices{
  display:grid;
  grid-template-columns:repeat(3,minmax(110px,1fr));
  gap:12px;
  margin:0 0 16px;
  padding:0 0 16px;
  border-bottom:1px solid #edf1f6;
}

.brb-bike-prices span{
  display:block;
  background:#fbfcfe;
  border:1px solid #edf1f6;
  border-radius:14px;
  padding:12px 14px;
}

.brb-bike-prices b,
.brb-bike-prices em{
  display:block;
  font-style:normal;
}

.brb-bike-prices b{
  color:#667085;
  font-size:13px;
  font-weight:850;
  margin-bottom:4px;
}

.brb-bike-prices em{
  color:#050505;
  font-size:18px;
  font-weight:950;
}

.brb-bike-stock-current{
  display:block;
  color:#667085;
  font-style:normal;
  font-size:14px;
  font-weight:850;
  margin-bottom:12px;
}

.brb-bike-stock-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(160px,1fr));
  gap:10px;
}

.brb-bike-stock-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #edf1f6;
  background:#fbfcfe;
  border-radius:14px;
  padding:10px 12px;
}

.brb-bike-stock-pill b{
  margin:0;
  font-size:13px;
  line-height:1.25;
  color:#667085;
  font-weight:850;
}

.brb-bike-stock-pill em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:28px;
  border-radius:999px;
  font-size:13px;
  font-style:normal;
  font-weight:950;
  color:#111827;
  background:#fff1a8;
}

.brb-bike-stock-pill.is-empty em{
  background:#eef2f7;
  color:#667085;
}

.brb-bike-stock-pill.is-selected{
  border-color:var(--g);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.brb-bike-price{
  display:block;
  color:#050505;
  font-size:15px;
  font-weight:900;
  margin-bottom:8px;
}

@media (max-width: 860px){
  .brb-bike-card{grid-template-columns:1fr;padding:18px;gap:16px;}
  .brb-bike-image{height:190px;}
  .brb-bike-prices{grid-template-columns:1fr;}
  .brb-bike-stock-list{grid-template-columns:1fr;}
}

/* STEP FLOW */
.brb-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 28px;
}

.brb-progress button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  border:1.5px solid var(--l);
  border-radius:14px;
  background:#fff;
  color:#667085;
  font-weight:900;
  cursor:pointer;
  transition:background .18s,border-color .18s,color .18s,transform .18s;
}

.brb-progress button span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#f2f4f7;
  color:#667085;
  font-size:13px;
  font-weight:950;
}

.brb-progress button.is-active,
.brb-progress button.is-done{
  border-color:var(--g);
  color:#050505;
}

.brb-progress button.is-active{
  background:linear-gradient(135deg,rgba(255,214,0,.20),#fff 65%);
}

.brb-progress button.is-active span,
.brb-progress button.is-done span{
  background:var(--g);
  color:#050505;
}

.brb-progress button:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.brb-step{
  display:none;
  animation:brbFade .22s ease;
}

.brb-step.is-active{
  display:block;
}

.brb-grid-single{
  max-width:420px;
  grid-template-columns:1fr;
}

.brb-step-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:26px;
}

.brb-back{
  border:1.5px solid var(--l) !important;
  border-radius:13px !important;
  background:#fff !important;
  color:#111 !important;
  min-width:120px;
  height:58px;
  padding:0 22px !important;
  font-size:15px !important;
  font-weight:950 !important;
  cursor:pointer;
}

.brb-next:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none !important;
  box-shadow:none !important;
}

.brb-footer-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

@keyframes brbFade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:720px){
  .brb-progress{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .brb-progress button{
    justify-content:flex-start;
    padding:0 12px;
    font-size:13px;
  }
  .brb-step-actions,
  .brb-footer-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .brb-back,
  .brb-step-actions .brb-button,
  .brb-footer-actions .brb-button{
    width:100%;
    min-width:0;
  }
}

/* Location map visual */
.brb-location-layout{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);gap:28px;align-items:stretch}.brb-location-fields{grid-template-columns:1fr;gap:18px;max-width:430px}.brb-map-card{position:relative;min-height:220px;border:1.5px solid var(--l);border-radius:22px;background:linear-gradient(135deg,#fff,rgba(243,255,0,.08));overflow:hidden;padding:24px;box-shadow:0 18px 44px rgba(15,23,42,.06)}.brb-map-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(15,23,42,.035) 0 1px,transparent 1px 18px);opacity:.7}.brb-map-line{position:absolute;left:72px;right:72px;top:50%;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--g),#111);transform:translateY(-50%)}.brb-map-line:before{content:"";position:absolute;inset:-10px;background:radial-gradient(circle,var(--g) 0 3px,transparent 4px);background-size:28px 28px;opacity:.28}.brb-map-point{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--l);border-radius:16px;padding:12px 14px;box-shadow:0 12px 28px rgba(15,23,42,.08);font-weight:950;color:#050505}.brb-map-point span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--g);color:#050505;font-size:13px;font-weight:950}.brb-map-point strong{font-size:14px;line-height:1.1}.brb-map-start{left:24px;top:28px}.brb-map-end{right:24px;bottom:46px}.brb-map-bike{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:18px;background:#050505;color:var(--y);display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 16px 32px rgba(0,0,0,.18)}.brb-map-note{position:absolute;z-index:2;left:24px;right:24px;bottom:16px;color:#667085;font-size:13px;font-weight:850;text-align:center}.brb-map-card.is-different{border-color:var(--g);box-shadow:0 18px 48px rgba(255,214,0,.18)}.brb-auto-return{opacity:.62}.brb-auto-return.is-active{opacity:1;background:linear-gradient(135deg,rgba(255,214,0,.16),#fff)}.brb-check.is-auto{display:flex;align-items:center;justify-content:center;border-color:var(--g);background:var(--g);font-weight:950;color:#050505}@media(max-width:820px){.brb-location-layout{grid-template-columns:1fr}.brb-location-fields{max-width:none}.brb-map-card{min-height:210px}.brb-map-line{left:48px;right:48px}.brb-map-start{left:16px;top:22px}.brb-map-end{right:16px;bottom:44px}}

/* v2.1 animated cyclist route visual */
.brb-map-card{min-height:280px;background:linear-gradient(135deg,#eefaff 0%,#fff 46%,rgba(243,255,0,.12) 100%)}
.brb-map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 24%,rgba(255,255,255,.92) 0 28px,transparent 29px),radial-gradient(circle at 22% 24%,rgba(255,255,255,.92) 0 21px,transparent 22px),radial-gradient(circle at 78% 24%,rgba(255,255,255,.9) 0 42px,transparent 43px),linear-gradient(135deg,transparent 0 45%,rgba(196,230,180,.28) 45% 100%);opacity:.95}
.brb-map-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 40%,rgba(255,255,255,.55) 40% 42%,transparent 42% 100%),repeating-linear-gradient(135deg,rgba(15,23,42,.025) 0 1px,transparent 1px 20px);opacity:.9}
.brb-map-sky{position:absolute;inset:auto 18px 18px 18px;height:52%;border-radius:24px;background:radial-gradient(circle at 12% 85%,rgba(134,198,120,.22) 0 22px,transparent 23px),radial-gradient(circle at 86% 70%,rgba(134,198,120,.22) 0 28px,transparent 29px),linear-gradient(180deg,transparent,rgba(219,245,215,.22));z-index:1;pointer-events:none}
.brb-map-line{z-index:2;top:56%;height:7px;background:linear-gradient(90deg,var(--g),#262313);transform:translateY(-50%) rotate(-1deg);box-shadow:0 4px 0 rgba(255,214,0,.14)}
.brb-map-line:before{content:"";position:absolute;left:-10px;right:-10px;top:-24px;height:54px;border-bottom:4px dashed rgba(255,214,0,.7);border-radius:50%;transform:rotate(-2deg);opacity:.8;background:none}
.brb-map-line:after{content:"";position:absolute;right:-4px;top:-7px;width:18px;height:18px;border-top:5px solid #252313;border-right:5px solid #252313;transform:rotate(45deg);border-radius:2px}
.brb-map-point{z-index:5;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:18px;padding:13px 16px;box-shadow:0 14px 30px rgba(15,23,42,.1)}
.brb-map-point span{width:34px;height:34px;font-size:14px}.brb-map-point strong{font-size:15px}.brb-map-end{bottom:72px}.brb-map-note{z-index:5;left:50%;bottom:20px;transform:translateX(-50%);color:#111;background:rgba(255,255,255,.9);border:1px solid var(--l);border-radius:999px;padding:10px 18px;box-shadow:0 12px 26px rgba(15,23,42,.1);white-space:nowrap}.brb-map-bike{display:none}
.brb-map-cyclist{position:absolute;z-index:4;left:50%;top:52%;width:128px;height:102px;transform:translate(-50%,-50%);animation:brbRideFloat 2.2s ease-in-out infinite}.brb-bike-frame{position:absolute;left:9px;bottom:6px;width:110px;height:58px}.brb-wheel{position:absolute;bottom:0;width:42px;height:42px;border:5px solid #111;border-radius:50%;background:rgba(255,255,255,.28);box-shadow:inset 0 0 0 2px rgba(0,0,0,.06);animation:brbWheelSpin 1s linear infinite}.brb-wheel:before,.brb-wheel:after{content:"";position:absolute;left:50%;top:50%;width:34px;height:2px;background:#111;opacity:.38;transform-origin:center}.brb-wheel:before{transform:translate(-50%,-50%) rotate(0deg)}.brb-wheel:after{transform:translate(-50%,-50%) rotate(90deg)}.brb-wheel-a{left:0}.brb-wheel-b{right:0}.brb-frame-main{position:absolute;left:30px;bottom:21px;width:52px;height:30px;border-left:5px solid #111;border-bottom:5px solid #111;border-right:5px solid #111;transform:skewX(-24deg);border-radius:0 0 4px 4px}.brb-frame-main:before{content:"";position:absolute;left:9px;bottom:0;width:5px;height:42px;background:#111;transform:rotate(32deg);transform-origin:bottom}.brb-handle{position:absolute;right:12px;bottom:43px;width:24px;height:15px;border-top:5px solid #111;border-right:5px solid #111;border-radius:0 10px 0 0;transform:rotate(-12deg)}.brb-seat{position:absolute;left:42px;bottom:51px;width:26px;height:6px;background:#111;border-radius:999px;transform:rotate(-5deg)}.brb-rider{position:absolute;z-index:2;left:39px;top:4px;width:58px;height:72px;animation:brbRiderBob .78s ease-in-out infinite}.brb-head{position:absolute;right:6px;top:2px;width:22px;height:22px;border-radius:50%;background:#f4bd86;border:2px solid #111}.brb-head:before{content:"";position:absolute;left:-4px;top:-8px;width:28px;height:12px;background:var(--g);border:2px solid #111;border-radius:14px 14px 4px 4px}.brb-body{position:absolute;left:20px;top:24px;width:38px;height:28px;background:var(--g);border:3px solid #111;border-radius:16px 14px 10px 10px;transform:rotate(18deg)}.brb-arm{position:absolute;left:40px;top:34px;width:34px;height:5px;background:#111;border-radius:999px;transform:rotate(24deg);transform-origin:left}.brb-leg{position:absolute;left:28px;top:50px;width:34px;height:6px;background:#111;border-radius:999px;transform-origin:left center}.brb-leg-a{animation:brbPedalA .78s linear infinite}.brb-leg-b{animation:brbPedalB .78s linear infinite}.brb-leg-a:after,.brb-leg-b:after{content:"";position:absolute;right:-15px;top:0;width:18px;height:6px;background:#111;border-radius:999px;transform:rotate(58deg);transform-origin:left center}@keyframes brbWheelSpin{to{transform:rotate(360deg)}}@keyframes brbRideFloat{0%,100%{transform:translate(-52%,-50%)}50%{transform:translate(-48%,-54%)}}@keyframes brbRiderBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes brbPedalA{0%{transform:rotate(60deg)}50%{transform:rotate(-52deg)}100%{transform:rotate(60deg)}}@keyframes brbPedalB{0%{transform:rotate(-52deg)}50%{transform:rotate(60deg)}100%{transform:rotate(-52deg)}}@media(max-width:820px){.brb-map-card{min-height:250px}.brb-map-note{font-size:12px;padding:9px 13px}.brb-map-cyclist{transform:translate(-50%,-50%) scale(.82)}}

/* v2.2 Premium route visual */
.brb-map-card{
  min-height:360px !important;
  border-color:var(--g) !important;
  background:linear-gradient(135deg,#eefaff 0%,#ffffff 44%,#f6ffe8 100%) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.10) !important;
}
.brb-map-card:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 12% 19%,rgba(255,255,255,.95) 0 19px,transparent 20px),
    radial-gradient(circle at 18% 19%,rgba(255,255,255,.95) 0 15px,transparent 16px),
    radial-gradient(circle at 80% 14%,rgba(255,255,255,.88) 0 48px,transparent 49px),
    linear-gradient(135deg,transparent 0 44%,rgba(182,222,164,.30) 44% 100%),
    url('brb-premium-map.png') center/cover no-repeat !important;
  opacity:.86 !important;
  animation:brbPremiumMapBreath 7s ease-in-out infinite;
}
.brb-map-card:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.70),rgba(255,255,255,.12) 40%,rgba(255,255,255,.28)),
    repeating-linear-gradient(135deg,rgba(15,23,42,.035) 0 1px,transparent 1px 20px) !important;
  opacity:.72 !important;
}
.brb-map-sky{display:none !important;}
.brb-map-line{
  display:block !important;
  left:110px !important;
  right:110px !important;
  top:59% !important;
  height:6px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--g),#292512) !important;
  transform:translateY(-50%) rotate(2deg) !important;
  z-index:3 !important;
  box-shadow:0 8px 18px rgba(255,214,0,.24) !important;
}
.brb-map-line:before{
  content:"" !important;
  position:absolute !important;
  left:-50px !important;
  right:-30px !important;
  top:-34px !important;
  height:72px !important;
  border-bottom:4px dashed rgba(255,214,0,.68) !important;
  border-radius:0 0 50% 50% !important;
  transform:rotate(-5deg) !important;
  background:none !important;
  opacity:.9 !important;
}
.brb-map-line:after{
  content:"" !important;
  position:absolute !important;
  right:-7px !important;
  top:-8px !important;
  width:20px !important;
  height:20px !important;
  border-top:5px solid #292512 !important;
  border-right:5px solid #292512 !important;
  transform:rotate(45deg) !important;
  border-radius:2px !important;
}
.brb-map-cyclist{
  display:block !important;
  position:absolute !important;
  z-index:4 !important;
  left:50% !important;
  top:51% !important;
  width:190px !important;
  height:178px !important;
  background:url('brb-premium-rider.png') center/contain no-repeat !important;
  transform:translate(-50%,-50%) !important;
  animation:brbPremiumRide 4.8s ease-in-out infinite !important;
  filter:drop-shadow(0 16px 16px rgba(15,23,42,.18));
}
.brb-map-cyclist > *{display:none !important;}
.brb-map-point{
  z-index:6 !important;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(10px) !important;
  border-radius:18px !important;
  padding:14px 18px !important;
  box-shadow:0 16px 34px rgba(15,23,42,.13) !important;
}
.brb-map-start{left:38px !important;top:42px !important;}
.brb-map-end{right:38px !important;bottom:92px !important;}
.brb-map-note{
  z-index:6 !important;
  left:50% !important;
  right:auto !important;
  bottom:24px !important;
  transform:translateX(-50%) !important;
  padding:12px 22px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid var(--l) !important;
  border-radius:999px !important;
  box-shadow:0 16px 32px rgba(15,23,42,.12) !important;
  color:#111 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}
@keyframes brbPremiumRide{
  0%,100%{transform:translate(-58%,-51%) scale(.98)}
  50%{transform:translate(-42%,-54%) scale(1.02)}
}
@keyframes brbPremiumMapBreath{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.015)}
}
@media(max-width:820px){
  .brb-map-card{min-height:300px !important;}
  .brb-map-cyclist{width:150px !important;height:140px !important;}
  .brb-map-line{left:64px !important;right:64px !important;}
  .brb-map-start{left:18px !important;top:24px !important;}
  .brb-map-end{right:18px !important;bottom:82px !important;}
  .brb-map-note{font-size:12px !important;padding:10px 14px !important;}
}


/* v2.3 clean premium map visual - closer to approved reference */
.brb-location-layout{
  grid-template-columns:minmax(0,430px) minmax(0,1fr) !important;
  gap:34px !important;
  align-items:center !important;
}
.brb-location-fields{
  gap:28px !important;
}
.brb-location-notice{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:2px;
  padding:22px 24px;
  border-radius:18px;
  background:linear-gradient(135deg,#eef7ff 0%,#f7fbff 100%);
  box-shadow:0 18px 40px rgba(38,132,255,.08);
  color:#111;
  transition:opacity .2s ease, transform .2s ease;
}
.brb-location-notice.is-muted{opacity:.7;}
.brb-location-notice-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #2f80ed;
  color:#2f80ed;
  font-weight:950;
  font-size:22px;
  font-family:Arial,sans-serif;
}
.brb-location-notice strong{
  display:block;
  font-size:16px;
  font-weight:850;
  margin-bottom:7px;
}
.brb-location-notice em{
  display:block;
  font-style:normal;
  font-size:18px;
  font-weight:950;
  color:#07864b;
}
.brb-map-card{
  min-height:390px !important;
  padding:0 !important;
  border:1.5px solid var(--g) !important;
  border-radius:22px !important;
  background:#fff url('brb-premium-map.png') center/cover no-repeat !important;
  overflow:hidden !important;
  box-shadow:0 24px 60px rgba(15,23,42,.08) !important;
}
.brb-map-card:before,
.brb-map-card:after,
.brb-map-sky,
.brb-map-line,
.brb-map-cyclist,
.brb-map-point,
.brb-map-note{
  display:none !important;
}
.brb-step-actions{
  margin-top:26px !important;
}
.brb-button.brb-next{
  background:linear-gradient(135deg,#fff200 0%,#ffd200 100%) !important;
  box-shadow:0 18px 34px rgba(255,210,0,.26) !important;
}
.brb-button.brb-next:after{
  content:' →';
  margin-left:14px;
  font-weight:950;
}
@media(max-width:820px){
  .brb-location-layout{grid-template-columns:1fr !important;gap:22px !important;}
  .brb-map-card{min-height:300px !important;}
  .brb-location-notice{padding:18px;}
}

/* v2.5 dynamic map labels */
.brb-map-card .brb-map-point,.brb-map-card .brb-map-note{display:flex!important;z-index:12!important}.brb-map-card .brb-map-point{position:absolute!important;align-items:center!important;gap:12px!important;background:rgba(255,255,255,.96)!important;border:1.5px solid #e2e8f0!important;border-radius:18px!important;padding:14px 18px!important;min-width:128px!important;box-shadow:0 14px 30px rgba(15,23,42,.12)!important;color:#050505!important}.brb-map-card .brb-map-point span{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;border-radius:999px!important;background:#ffd400!important;color:#050505!important;font-size:15px!important;font-weight:950!important;flex:0 0 auto!important}.brb-map-card .brb-map-point strong{display:block!important;font-size:17px!important;line-height:1.1!important;font-weight:950!important;white-space:nowrap!important}.brb-map-card .brb-map-start{left:34px!important;top:38px!important}.brb-map-card .brb-map-end{right:34px!important;bottom:92px!important}.brb-map-card .brb-map-note{position:absolute!important;left:50%!important;bottom:24px!important;transform:translateX(-50%)!important;align-items:center!important;justify-content:center!important;color:#111!important;background:rgba(255,255,255,.94)!important;border:1.5px solid #e2e8f0!important;border-radius:999px!important;padding:12px 24px!important;box-shadow:0 12px 28px rgba(15,23,42,.14)!important;font-size:15px!important;font-weight:850!important;white-space:nowrap!important}.brb-map-card .brb-map-note:before{content:'↔';color:#ffd400;font-size:22px;font-weight:950;margin-right:12px;line-height:1}@media(max-width:820px){.brb-map-card .brb-map-point{min-width:105px!important;padding:11px 13px!important;gap:9px!important}.brb-map-card .brb-map-point span{width:32px!important;height:32px!important;font-size:13px!important}.brb-map-card .brb-map-point strong{font-size:14px!important}.brb-map-card .brb-map-start{left:18px!important;top:22px!important}.brb-map-card .brb-map-end{right:18px!important;bottom:76px!important}.brb-map-card .brb-map-note{font-size:12px!important;padding:10px 14px!important;bottom:18px!important;max-width:90%}}


/* v2.6 fix: keep approved clean map image only; remove duplicate dynamic labels and white in-map notice */
.brb-map-card .brb-map-point,
.brb-map-card .brb-map-note,
.brb-map-card .brb-map-line,
.brb-map-card .brb-map-sky,
.brb-map-card .brb-map-cyclist{
  display:none !important;
}
.brb-map-card{
  background:#fff url('brb-premium-map.png') center/cover no-repeat !important;
}


/* v2.8 final map fix: clean background + dynamic A/B only, no in-map notice */
.brb-map-card{
  background:#fff url('brb-clean-map.png') center/cover no-repeat !important;
  border:2px solid #ffd400 !important;
  border-radius:24px !important;
  min-height:360px !important;
  overflow:hidden !important;
}
.brb-map-card:before,.brb-map-card:after,.brb-map-sky,.brb-map-line{display:none !important;}
.brb-map-card .brb-map-note{display:none !important;}
.brb-map-card .brb-map-point{
  display:flex !important;
  position:absolute !important;
  z-index:20 !important;
  align-items:center !important;
  gap:12px !important;
  background:rgba(255,255,255,.96) !important;
  border:1.5px solid #e2e8f0 !important;
  border-radius:18px !important;
  padding:14px 18px !important;
  min-width:130px !important;
  box-shadow:0 16px 34px rgba(15,23,42,.13) !important;
  color:#050505 !important;
}
.brb-map-card .brb-map-point span{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:38px !important;height:38px !important;border-radius:999px !important;
  background:#ffd400 !important;color:#050505 !important;font-size:15px !important;font-weight:950 !important;flex:0 0 auto !important;
}
.brb-map-card .brb-map-point strong{display:block !important;font-size:17px !important;line-height:1.1 !important;font-weight:950 !important;white-space:nowrap !important;}
.brb-map-card .brb-map-start{left:42px !important;top:48px !important;}
.brb-map-card .brb-map-end{right:42px !important;top:170px !important;bottom:auto !important;}
.brb-map-card .brb-map-cyclist{
  display:block !important;position:absolute !important;z-index:15 !important;
  left:51% !important;top:52% !important;width:170px !important;height:155px !important;
  background:url('brb-premium-rider.png') center/contain no-repeat !important;
  animation:brbPremiumRide 3.2s ease-in-out infinite !important;
  filter:drop-shadow(0 14px 20px rgba(15,23,42,.14));
}
.brb-map-card .brb-map-cyclist > *{display:none !important;}
@keyframes brbPremiumRide{0%,100%{transform:translate(-55%,-50%)}50%{transform:translate(-45%,-54%)}}
@media(max-width:820px){
  .brb-map-card{min-height:300px !important;}
  .brb-map-card .brb-map-cyclist{width:135px !important;height:124px !important;}
  .brb-map-card .brb-map-point{min-width:108px !important;padding:11px 13px !important;gap:9px !important;}
  .brb-map-card .brb-map-point span{width:32px !important;height:32px !important;font-size:13px !important;}
  .brb-map-card .brb-map-point strong{font-size:14px !important;}
  .brb-map-card .brb-map-start{left:18px !important;top:24px !important;}
  .brb-map-card .brb-map-end{right:18px !important;top:140px !important;}
}

/* v2.9 premium clean professional map - final */
.brb-map-card{
  position:relative !important;
  min-height:390px !important;
  padding:0 !important;
  border:2px solid #ffd400 !important;
  border-radius:24px !important;
  background:#f7fbff url('brb-map-v29.svg') center center / 100% 100% no-repeat !important;
  overflow:hidden !important;
  box-shadow:0 26px 64px rgba(15,23,42,.10) !important;
}
.brb-map-card:before,
.brb-map-card:after,
.brb-map-card .brb-map-sky,
.brb-map-card .brb-map-line,
.brb-map-card .brb-map-note{
  display:none !important;
  content:none !important;
}
.brb-map-card .brb-map-cyclist{
  display:block !important;
  position:absolute !important;
  z-index:15 !important;
  left:53% !important;
  top:50% !important;
  width:190px !important;
  height:175px !important;
  background:url('brb-premium-rider.png') center/contain no-repeat !important;
  transform:translate(-50%,-50%) !important;
  animation:brbV29Rider 4.4s ease-in-out infinite !important;
  filter:drop-shadow(0 18px 18px rgba(15,23,42,.16)) !important;
  pointer-events:none !important;
}
.brb-map-card .brb-map-cyclist > *{display:none !important;}
.brb-map-card .brb-map-point{
  display:flex !important;
  position:absolute !important;
  z-index:20 !important;
  align-items:center !important;
  gap:13px !important;
  min-width:140px !important;
  padding:14px 18px !important;
  border:1.5px solid #e2e8f0 !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.13) !important;
  backdrop-filter:blur(10px) !important;
  color:#050505 !important;
}
.brb-map-card .brb-map-point span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:40px !important;
  height:40px !important;
  border-radius:999px !important;
  background:#ffd400 !important;
  color:#050505 !important;
  font-size:16px !important;
  font-weight:950 !important;
}
.brb-map-card .brb-map-point strong{
  display:block !important;
  font-size:18px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}
.brb-map-card .brb-map-start{left:56px !important;top:54px !important;right:auto !important;bottom:auto !important;}
.brb-map-card .brb-map-end{right:56px !important;top:210px !important;left:auto !important;bottom:auto !important;}
@keyframes brbV29Rider{
  0%,100%{transform:translate(-56%,-50%) scale(.99)}
  50%{transform:translate(-45%,-53%) scale(1.02)}
}
@media(max-width:820px){
  .brb-map-card{min-height:300px !important;background-size:cover !important;background-position:center !important;}
  .brb-map-card .brb-map-cyclist{width:138px !important;height:128px !important;left:54% !important;top:51% !important;}
  .brb-map-card .brb-map-point{min-width:108px !important;padding:11px 13px !important;gap:9px !important;border-radius:16px !important;}
  .brb-map-card .brb-map-point span{width:32px !important;height:32px !important;font-size:13px !important;}
  .brb-map-card .brb-map-point strong{font-size:14px !important;}
  .brb-map-card .brb-map-start{left:18px !important;top:22px !important;}
  .brb-map-card .brb-map-end{right:18px !important;top:142px !important;}
}

/* v3.0 final premium map polish */
.brb-step-grid{align-items:center!important;gap:48px!important;}
.brb-location-notice{background:linear-gradient(135deg,#f0f8ff 0%,#eef7ff 100%)!important;border:0!important;border-radius:22px!important;box-shadow:0 22px 46px rgba(37,99,235,.08)!important;min-height:108px!important;}
.brb-location-notice-icon{width:54px!important;height:54px!important;border:4px solid #2f80ed!important;color:#2f80ed!important;background:transparent!important;font-size:26px!important;}
.brb-location-notice strong{font-size:17px!important;line-height:1.25!important;color:#2d3748!important;}
.brb-location-notice em{font-size:20px!important;color:#07884f!important;font-weight:950!important;line-height:1.35!important;}
.brb-map-card{
  min-height:370px!important;
  border:1.5px solid #ffd400!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:#f7fbff url('brb-pro-map-v30.svg') center center / cover no-repeat!important;
  box-shadow:0 24px 55px rgba(15,23,42,.08)!important;
  position:relative!important;
}
.brb-map-card:before,
.brb-map-card:after,
.brb-map-card .brb-map-sky,
.brb-map-card .brb-map-line,
.brb-map-card .brb-map-note{display:none!important;}
.brb-map-card .brb-map-cyclist{
  display:block!important;
  position:absolute!important;
  left:52%!important;
  top:51%!important;
  width:178px!important;
  height:152px!important;
  transform:translate(-50%,-50%)!important;
  background:url('brb-premium-rider.png') center center / contain no-repeat!important;
  z-index:6!important;
  opacity:.98!important;
  filter:drop-shadow(0 16px 18px rgba(15,23,42,.18))!important;
  animation:brbProRide 3.6s ease-in-out infinite!important;
}
.brb-map-card .brb-map-cyclist>*{display:none!important;}
@keyframes brbProRide{0%,100%{transform:translate(-53%,-50%)}50%{transform:translate(-49%,-53%)}}
.brb-map-card .brb-map-point{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:118px!important;
  max-width:210px!important;
  padding:11px 15px!important;
  border-radius:16px!important;
  border:1.5px solid #e3e8f0!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.10)!important;
  color:#080808!important;
  z-index:8!important;
  backdrop-filter:blur(8px)!important;
}
.brb-map-card .brb-map-point span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:999px!important;
  background:#ffd400!important;
  color:#050505!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:950!important;
}
.brb-map-card .brb-map-point strong{
  display:block!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.brb-map-card .brb-map-start{left:44px!important;top:56px!important;right:auto!important;bottom:auto!important;}
.brb-map-card .brb-map-end{right:44px!important;top:206px!important;left:auto!important;bottom:auto!important;}
@media(max-width:1100px){.brb-step-grid{gap:28px!important}.brb-map-card{min-height:330px!important}.brb-map-card .brb-map-cyclist{width:150px!important;height:130px!important}.brb-map-card .brb-map-end{top:188px!important}}
@media(max-width:820px){.brb-step-grid{gap:24px!important}.brb-map-card{min-height:300px!important}.brb-map-card .brb-map-cyclist{width:128px!important;height:112px!important;left:54%!important}.brb-map-card .brb-map-point{min-width:104px!important;padding:10px 12px!important;gap:8px!important}.brb-map-card .brb-map-point span{width:30px!important;height:30px!important;font-size:12px!important;min-width:30px!important}.brb-map-card .brb-map-point strong{font-size:13px!important}.brb-map-card .brb-map-start{left:18px!important;top:22px!important}.brb-map-card .brb-map-end{right:18px!important;top:150px!important}}

/* v3.1 clean final premium map */
.brb-location-layout{grid-template-columns:minmax(0,430px) minmax(0,1fr)!important;gap:42px!important;align-items:center!important;}
.brb-map-card{min-height:360px!important;border:0!important;border-radius:24px!important;overflow:hidden!important;background:#f7fbff url('brb-map-pro-clean.svg') center center / cover no-repeat!important;box-shadow:none!important;position:relative!important;}
.brb-map-card:before,.brb-map-card:after,.brb-map-card .brb-map-sky,.brb-map-card .brb-map-line,.brb-map-card .brb-map-note{display:none!important;}
.brb-map-card .brb-map-cyclist{display:block!important;position:absolute!important;left:52%!important;top:52%!important;width:138px!important;height:120px!important;transform:translate(-50%,-50%)!important;background:url('brb-premium-rider.png') center center / contain no-repeat!important;z-index:6!important;opacity:.98!important;filter:drop-shadow(0 14px 14px rgba(15,23,42,.16))!important;animation:brbV31Ride 3.8s ease-in-out infinite!important;}
.brb-map-card .brb-map-cyclist>*{display:none!important;}@keyframes brbV31Ride{0%,100%{transform:translate(-54%,-50%)}50%{transform:translate(-48%,-53%)}}
.brb-map-card .brb-map-point{display:flex!important;align-items:center!important;gap:9px!important;min-width:112px!important;max-width:185px!important;padding:10px 13px!important;border-radius:15px!important;border:1px solid #e5ebf2!important;background:rgba(255,255,255,.96)!important;box-shadow:0 12px 25px rgba(15,23,42,.10)!important;color:#080808!important;z-index:8!important;backdrop-filter:blur(8px)!important;}
.brb-map-card .brb-map-point span{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:31px!important;height:31px!important;min-width:31px!important;border-radius:999px!important;background:#ffd400!important;color:#050505!important;font-size:13px!important;line-height:1!important;font-weight:950!important;}
.brb-map-card .brb-map-point strong{display:block!important;font-size:14px!important;line-height:1.1!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.brb-map-card .brb-map-start{left:44px!important;top:96px!important;right:auto!important;bottom:auto!important;}
.brb-map-card .brb-map-end{right:54px!important;top:248px!important;left:auto!important;bottom:auto!important;}
.brb-location-notice{background:linear-gradient(135deg,#f0f8ff 0%,#eef7ff 100%)!important;border:0!important;border-radius:20px!important;box-shadow:0 20px 44px rgba(37,99,235,.08)!important;}
@media(max-width:1100px){.brb-location-layout{gap:28px!important}.brb-map-card{min-height:330px!important}.brb-map-card .brb-map-cyclist{width:124px!important;height:108px!important}.brb-map-card .brb-map-start{top:86px!important}.brb-map-card .brb-map-end{top:226px!important}}
@media(max-width:820px){.brb-location-layout{grid-template-columns:1fr!important;gap:22px!important}.brb-map-card{min-height:300px!important;background-position:center!important}.brb-map-card .brb-map-cyclist{width:112px!important;height:96px!important;left:53%!important}.brb-map-card .brb-map-point{min-width:98px!important;padding:9px 11px!important;gap:7px!important}.brb-map-card .brb-map-point span{width:28px!important;height:28px!important;font-size:12px!important;min-width:28px!important}.brb-map-card .brb-map-point strong{font-size:12.5px!important}.brb-map-card .brb-map-start{left:20px!important;top:54px!important}.brb-map-card .brb-map-end{right:20px!important;top:174px!important}}

/* v3.4 — Step 2: two-column time layout */
.brb-time-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px 42px;
  max-width:1120px;
}
.brb-time-column{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
.brb-time-layout .brb-control{
  height:58px;
}
@media (max-width: 900px){
  .brb-time-layout{grid-template-columns:1fr;}
}

/* v3.5 contact fields */
.brb-contact-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 32px;
}
@media(max-width:980px){
  .brb-contact-grid{grid-template-columns:1fr;}
}

/* v3.6 contact fields */
.brb-contact-grid-v36{
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (max-width: 768px){
  .brb-contact-grid-v36{ grid-template-columns: 1fr !important; }
}

/* v3.7 extended contact fields */
.brb-contact-grid-extended{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
@media(max-width:768px){.brb-contact-grid-extended{grid-template-columns:1fr !important;}}

/* Two-column bike selection layout: image left, full info right */
.brb-step[data-brb-step="3"] .brb-bike-slider{
  width:100% !important;
  max-width:980px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
}
.brb-step[data-brb-step="3"] .brb-bike-card{
  width:100% !important;
  max-width:980px !important;
  display:grid !important;
  grid-template-columns:minmax(260px, 380px) minmax(0, 1fr) !important;
  align-items:stretch !important;
  gap:28px !important;
  padding:26px !important;
}
.brb-step[data-brb-step="3"] .brb-bike-image,
.brb-step[data-brb-step="3"] .brb-bike-emoji{
  height:100% !important;
  min-height:260px !important;
}
.brb-step[data-brb-step="3"] .brb-bike-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}
.brb-step[data-brb-step="3"] .brb-bike-stock-list{
  grid-template-columns:repeat(2,minmax(180px,1fr)) !important;
}
@media (max-width: 700px){
  .brb-step[data-brb-step="3"] .brb-bike-card{
    grid-template-columns:1fr !important;
    padding:18px !important;
    gap:16px !important;
  }
  .brb-step[data-brb-step="3"] .brb-bike-image,
  .brb-step[data-brb-step="3"] .brb-bike-emoji{
    min-height:190px !important;
    height:190px !important;
  }
  .brb-step[data-brb-step="3"] .brb-bike-prices,
  .brb-step[data-brb-step="3"] .brb-bike-stock-list{
    grid-template-columns:1fr !important;
  }
}

/* v4.6 — Step 2: calendar/date + period cards + available time slots */
.brb-time-new{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr);
  gap:28px 42px;
  max-width:1120px;
  align-items:start;
}
.brb-time-new .brb-date-field,
.brb-time-new .brb-qty-field{min-width:0;}
.brb-date-hint{
  margin-top:8px;
  color:#64748b;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}
.brb-mini-label{
  display:block;
  font-weight:900;
  color:#111827;
  margin-bottom:10px;
}
.brb-period-section,
.brb-slots-section{
  min-width:0;
}
.brb-slots-section{grid-column:1 / -1;}
.brb-period-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.brb-period-card{
  appearance:none;
  border:1px solid #dfe6ef;
  background:#fff;
  border-radius:18px;
  padding:16px 14px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(15,23,42,.04);
  transition:.18s ease;
}
.brb-period-card strong{display:block;font-size:15px;font-weight:950;color:#111827;margin-bottom:5px;}
.brb-period-card span{display:block;font-size:13px;font-weight:900;color:#64748b;}
.brb-period-card:hover{transform:translateY(-1px);border-color:#ffd400;}
.brb-period-card.is-active{
  border-color:#ffd400;
  background:linear-gradient(135deg,#fffbe8 0%,#fff4b8 100%);
  box-shadow:0 16px 30px rgba(245,191,0,.14);
}
.brb-time-slots{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.brb-time-slot{
  appearance:none;
  border:1px solid #dfe6ef;
  background:#fff;
  border-radius:16px;
  min-height:76px;
  padding:13px 12px;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
}
.brb-time-slot strong{display:block;font-size:15px;font-weight:950;color:#111827;margin-bottom:6px;}
.brb-time-slot span{display:block;font-size:12px;font-weight:900;color:#16a34a;}
.brb-time-slot:hover{transform:translateY(-1px);border-color:#22c55e;box-shadow:0 14px 28px rgba(15,23,42,.06);}
.brb-time-slot.is-active{
  border-color:#ffd400;
  background:linear-gradient(135deg,#fffbe8 0%,#fff4b8 100%);
  box-shadow:0 16px 30px rgba(245,191,0,.14);
}
.brb-time-slot.is-disabled{
  opacity:.48;
  cursor:not-allowed;
  background:#f8fafc;
}
.brb-time-slot.is-disabled span{color:#991b1b;}
.brb-time-slot.is-disabled:hover{transform:none;border-color:#dfe6ef;box-shadow:none;}
.brb-slot-empty{
  grid-column:1 / -1;
  border:1px dashed #dfe6ef;
  border-radius:16px;
  background:#fbfdff;
  padding:18px;
  color:#64748b;
  font-weight:800;
}
@media(max-width:980px){
  .brb-time-new{grid-template-columns:1fr;gap:22px;}
  .brb-slots-section{grid-column:auto;}
  .brb-period-cards{grid-template-columns:1fr;}
  .brb-time-slots{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){.brb-time-slots{grid-template-columns:1fr;}}

/* v4.7 — Step 2 premium booking UX: lighter flow, compact slots, clearer hierarchy */
.brb-time-premium{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(380px,1.45fr);
  gap:18px 28px;
  max-width:1060px;
  align-items:start;
}
.brb-step2-panel{
  background:transparent;
  border:0;
  box-shadow:none;
  min-width:0;
}
.brb-step2-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 10px;
  font-size:13px;
  line-height:1;
  font-weight:950;
  color:#64748b;
  letter-spacing:.01em;
}
.brb-step2-kicker span{
  width:23px;
  height:23px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ffd400;
  color:#111827;
  font-size:12px;
  box-shadow:0 8px 18px rgba(245,191,0,.22);
}
.brb-time-premium .brb-date-field label,
.brb-time-premium .brb-qty-field label{
  font-size:15px;
  margin-bottom:9px;
}
.brb-time-premium .brb-control{
  border-radius:18px;
  min-height:58px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.04);
}
.brb-time-premium .brb-control:focus-within{
  border-color:#ffd400;
  box-shadow:0 0 0 4px rgba(255,212,0,.14),0 14px 32px rgba(15,23,42,.06);
}
.brb-time-premium .brb-date-hint{
  margin-top:8px;
  color:#7b8798;
  font-size:12.5px;
  font-weight:700;
}
.brb-time-premium .brb-period-section{
  padding-top:0;
}
.brb-time-premium .brb-period-cards{
  display:flex;
  gap:10px;
  align-items:stretch;
}
.brb-time-premium .brb-period-card{
  flex:1 1 0;
  border:1px solid #e4ebf4;
  background:#fff;
  border-radius:20px;
  padding:18px 16px;
  min-height:82px;
  box-shadow:0 14px 32px rgba(15,23,42,.045);
}
.brb-time-premium .brb-period-card strong{
  font-size:15px;
  margin-bottom:7px;
  letter-spacing:-.01em;
}
.brb-time-premium .brb-period-card span{
  font-size:13px;
  color:#64748b;
}
.brb-time-premium .brb-period-card:hover{
  transform:translateY(-2px);
  border-color:#f4c400;
  box-shadow:0 18px 38px rgba(15,23,42,.07);
}
.brb-time-premium .brb-period-card.is-active{
  border-color:#ffd400;
  background:linear-gradient(180deg,#fffdf0 0%,#fff8c9 100%);
  box-shadow:0 18px 42px rgba(245,191,0,.16);
}
.brb-time-premium .brb-slots-section{
  grid-column:1 / -1;
  margin-top:10px;
  padding-top:18px;
  border-top:1px solid #edf2f7;
}
.brb-time-premium .brb-time-slots{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.brb-time-premium .brb-time-slot{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
  min-height:48px;
  min-width:142px;
  width:auto;
  border:1px solid #dfe7f0;
  border-radius:999px;
  padding:10px 14px 10px 16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.035);
}
.brb-time-premium .brb-time-slot strong{
  margin:0;
  font-size:14px;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.brb-time-premium .brb-time-slot span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  color:#16a34a;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.brb-time-premium .brb-time-slot span i{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#22c55e;
  display:inline-block;
  box-shadow:0 0 0 3px rgba(34,197,94,.12);
}
.brb-time-premium .brb-time-slot:hover{
  transform:translateY(-1px);
  border-color:#22c55e;
  box-shadow:0 14px 30px rgba(15,23,42,.065);
}
.brb-time-premium .brb-time-slot.is-active{
  border-color:#ffd400;
  background:#fff8c9;
  box-shadow:0 16px 34px rgba(245,191,0,.16);
}
.brb-time-premium .brb-time-slot.is-disabled{
  background:#f8fafc;
  color:#94a3b8;
  opacity:.62;
}
.brb-time-premium .brb-time-slot.is-disabled span{
  color:#94a3b8;
}
.brb-time-premium .brb-qty-panel{
  grid-column:1 / -1;
  max-width:420px;
  margin-top:4px;
}
.brb-time-premium .brb-qty-field .brb-control{
  max-width:100%;
}
.brb-time-premium .brb-slot-empty{
  width:100%;
  border:1px dashed #dce5ef;
  background:#fbfdff;
  border-radius:18px;
  padding:16px 18px;
  font-size:13px;
  color:#64748b;
}
@media(max-width:980px){
  .brb-time-premium{grid-template-columns:1fr;gap:20px;}
  .brb-time-premium .brb-slots-section,
  .brb-time-premium .brb-qty-panel{grid-column:auto;max-width:none;}
  .brb-time-premium .brb-period-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:680px){
  .brb-time-premium .brb-period-cards{grid-template-columns:1fr;}
  .brb-time-premium .brb-time-slot{width:100%;}
}

/* v4.8/v4.9 — Premium desktop booking layout: calendar left, booking controls right */
.brb-step2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;}
.brb-step2-head .brb-section-title{margin-bottom:6px;}
.brb-step2-head p{margin:0;color:#64748b;font-weight:750;font-size:14px;}
.brb-rental-window{display:inline-flex;align-items:center;gap:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:11px 16px;font-weight:850;white-space:nowrap;box-shadow:0 10px 28px rgba(37,99,235,.07);}
.brb-rental-window span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;color:#0b63ce;background:#dbeafe;font-weight:950;}
.brb-time-v48{display:grid !important;grid-template-columns:minmax(320px,390px) minmax(520px,1fr) !important;gap:22px !important;max-width:1120px !important;align-items:stretch !important;}
.brb-v48-card{background:#fff;border:1px solid #e6edf5;border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.055);padding:18px;min-width:0;}
.brb-booking-card{padding:20px 22px 18px;display:flex;flex-direction:column;gap:20px;}
.brb-v48-title{display:flex;align-items:center;gap:10px;color:#111827;font-weight:950;font-size:18px;line-height:1.15;margin:0 0 16px;letter-spacing:-.015em;}
.brb-v48-title span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#fff0ad;color:#111827;font-size:13px;font-weight:950;box-shadow:0 8px 18px rgba(245,191,0,.18);}
.brb-v48-title small{font-size:16px;color:#64748b;font-weight:850;}
.brb-native-date-hidden{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:1px !important;height:1px !important;}
.brb-calendar-widget{border:1px solid #e2e8f0;border-radius:18px;padding:17px 16px 15px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.035);}
.brb-calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.brb-calendar-top strong{font-size:20px;font-weight:950;color:#111827;letter-spacing:-.02em;}
.brb-calendar-top button{appearance:none;border:0;background:#fff;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:30px;line-height:1;cursor:pointer;color:#111827;transition:.18s ease;}
.brb-calendar-top button:hover{background:#f8fafc;transform:translateY(-1px);}
.brb-calendar-week,.brb-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;align-items:center;text-align:center;}
.brb-calendar-week{margin-bottom:11px;color:#111827;font-size:12px;font-weight:950;}
.brb-calendar-day{appearance:none;border:0;background:transparent;height:35px;border-radius:999px;font-size:15px;font-weight:850;color:#111827;cursor:pointer;transition:.16s ease;display:flex;align-items:center;justify-content:center;}
.brb-calendar-day.is-muted{color:#cbd5e1;cursor:default;}
.brb-calendar-day.is-free{background:#dcfce7;color:#166534;box-shadow:inset 0 0 0 1px #bbf7d0;}
.brb-calendar-day.is-limited{background:#fff7c2;color:#111827;box-shadow:inset 0 0 0 1px #ffd400;}
.brb-calendar-day.is-off{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;}
.brb-calendar-day:not(.is-muted):not(.is-off):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08), inset 0 0 0 1px #ffd400;}
.brb-calendar-day.is-selected{background:#ffd400 !important;color:#111827 !important;box-shadow:0 10px 22px rgba(245,191,0,.28) !important;}
.brb-calendar-legend{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:17px;padding-top:14px;border-top:1px solid #eef2f7;color:#64748b;font-size:12px;font-weight:800;}
.brb-calendar-legend span{display:inline-flex;align-items:center;gap:7px;}
.brb-calendar-legend i{width:10px;height:10px;border-radius:999px;display:inline-block;}
.brb-calendar-legend .is-free{background:#22c55e;}.brb-calendar-legend .is-limited{background:#f5c400;}.brb-calendar-legend .is-off{background:#cbd5e1;}
.brb-selected-date-card{display:flex;align-items:center;gap:12px;margin-top:18px;border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;padding:13px 14px;color:#0f172a;}
.brb-selected-date-card>span{width:30px;height:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#0b63ce;background:#dbeafe;font-weight:950;}
.brb-selected-date-card div{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}
.brb-selected-date-card em{font-style:normal;color:#64748b;font-size:12px;font-weight:750;}.brb-selected-date-card strong{font-size:16px;font-weight:950;color:#111827;}
.brb-selected-date-card button{appearance:none;border:0;background:transparent;color:#0b63ce;font-weight:950;cursor:pointer;padding:7px;border-radius:10px;}.brb-selected-date-card button:hover{background:#dbeafe;}
.brb-time-v48 .brb-period-cards{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:14px !important;}
.brb-time-v48 .brb-period-card{min-height:78px !important;border-radius:16px !important;padding:15px 16px !important;display:grid !important;grid-template-columns:auto 1fr !important;grid-template-rows:auto auto !important;column-gap:13px !important;align-items:center !important;}
.brb-time-v48 .brb-period-card i{grid-row:1 / span 2;display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:999px;background:#fff1a8;color:#eab308;font-style:normal;font-size:22px;font-weight:950;}
.brb-time-v48 .brb-period-card:nth-child(2) i{background:#dbeafe;color:#0b63ce;}.brb-time-v48 .brb-period-card:nth-child(3) i{background:#f3e8ff;color:#8b5cf6;}
.brb-time-v48 .brb-period-card strong{margin:0 !important;font-size:15px !important;}.brb-time-v48 .brb-period-card span{font-size:13px !important;}
.brb-time-v48 .brb-slots-section{border:0 !important;margin:0 !important;padding:0 !important;grid-column:auto !important;}
.brb-time-v48 .brb-time-slots{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;}
.brb-time-v48 .brb-time-slot{border-radius:12px !important;min-width:0 !important;width:100% !important;min-height:62px !important;padding:11px 14px !important;display:block !important;text-align:left !important;position:relative !important;}
.brb-time-v48 .brb-time-slot strong{font-size:13.5px !important;margin-bottom:6px !important;}
.brb-time-v48 .brb-time-slot span{font-size:11.5px !important;}
.brb-time-v48 .brb-time-slot.is-active:after{content:'✓';position:absolute;right:-9px;top:-9px;width:24px;height:24px;border-radius:999px;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:950;box-shadow:0 8px 18px rgba(34,197,94,.25);}
.brb-selection-summary{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#dcfce7,#f0fdf4);border:1px solid #bbf7d0;border-radius:16px;padding:12px 15px;color:#166534;font-weight:900;}
.brb-selection-summary span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:999px;background:#16a34a;color:#fff;font-size:22px;}.brb-selection-summary em{font-style:normal;color:#166534;font-weight:950;}
.brb-time-v48 .brb-qty-panel{max-width:none !important;margin:0 !important;grid-column:auto !important;}
.brb-qty-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px 18px;align-items:center;}
.brb-hidden-qty{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:1px !important;height:1px !important;}
.brb-qty-stepper{display:grid;grid-template-columns:56px 88px 56px;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.04);}
.brb-qty-stepper button{appearance:none;border:0;background:#fff;font-size:28px;line-height:1;font-weight:800;cursor:pointer;color:#111827;min-height:52px;transition:.16s ease;}.brb-qty-stepper button:hover{background:#f8fafc;}.brb-qty-stepper button:last-child{background:#ffd400;}.brb-qty-stepper button:disabled{opacity:.45;cursor:not-allowed;}
.brb-qty-stepper strong{display:flex;align-items:center;justify-content:center;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;font-size:25px;font-weight:950;color:#111827;}
.brb-time-v48 .brb-qty-panel .brb-date-hint{margin:0 !important;color:#16a34a !important;font-weight:900 !important;display:flex;align-items:center;gap:8px;}.brb-time-v48 .brb-qty-panel .brb-date-hint:before{content:'✓';display:inline-flex;width:26px;height:26px;border-radius:999px;background:#dcfce7;align-items:center;justify-content:center;color:#16a34a;font-weight:950;}
.brb-bike-illustration{justify-self:end;min-width:120px;text-align:right;font-size:30px;background:radial-gradient(circle at 62% 45%,#fff4bf 0 48%,transparent 49%);padding:12px 18px;}
.brb-v48-actions{max-width:1120px;margin-top:16px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;}.brb-v48-actions .brb-button{min-width:320px;}
@media(max-width:980px){.brb-step2-head{flex-direction:column;}.brb-time-v48{grid-template-columns:1fr !important;}.brb-time-v48 .brb-time-slots{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}.brb-v48-actions .brb-button{min-width:0;}}
@media(max-width:680px){.brb-time-v48 .brb-period-cards{grid-template-columns:1fr !important;}.brb-time-v48 .brb-time-slots{grid-template-columns:1fr !important;}.brb-qty-row{grid-template-columns:1fr;}.brb-bike-illustration{display:none;}.brb-qty-stepper{grid-template-columns:56px 1fr 56px;}.brb-v48-actions{flex-direction:column-reverse;gap:12px;}.brb-v48-actions .brb-button,.brb-v48-actions .brb-back{width:100%;}}


/* v5.0 — Final polished Step 2 layout based on approved reference */
.brb-step[data-brb-step="2"]{max-width:1180px;margin:0 auto;}
.brb-step2-head{align-items:center!important;margin-bottom:24px!important;padding:0 2px!important;}
.brb-step2-head .brb-section-title{font-size:27px!important;letter-spacing:-.035em!important;margin-bottom:5px!important;}
.brb-step2-head p{font-size:13.5px!important;color:#64748b!important;font-weight:750!important;}
.brb-rental-window{border-color:#d7e5f8!important;background:#f8fafc!important;color:#0f172a!important;border-radius:11px!important;padding:9px 15px!important;font-size:13px!important;box-shadow:none!important;}
.brb-rental-window span{background:#fff!important;border:1px solid #cbd5e1!important;color:#0f172a!important;width:22px!important;height:22px!important;}
.brb-time-v48{grid-template-columns:410px minmax(620px,1fr)!important;gap:24px!important;max-width:1180px!important;align-items:start!important;}
.brb-v48-card{border-color:#e8eef6!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(15,23,42,.045)!important;background:#fff!important;}
.brb-calendar-card{padding:18px!important;}
.brb-booking-card{padding:22px 24px 20px!important;gap:20px!important;}
.brb-v48-title{font-size:16px!important;margin:0 0 15px!important;gap:10px!important;}
.brb-v48-title span{width:24px!important;height:24px!important;font-size:12px!important;background:#fff3c4!important;box-shadow:none!important;}
.brb-v48-title small{font-size:14px!important;color:#64748b!important;}
.brb-calendar-widget{border-radius:14px!important;padding:17px 16px 15px!important;box-shadow:none!important;border-color:#e5ebf3!important;}
.brb-calendar-top{margin-bottom:18px!important;}
.brb-calendar-top strong{font-size:19px!important;}
.brb-calendar-week,.brb-calendar-days{gap:8px!important;}
.brb-calendar-day{height:34px!important;font-size:14px!important;}
.brb-calendar-day.is-free{background:#dcfce7!important;color:#166534!important;box-shadow:inset 0 0 0 1px #bbf7d0!important;}
.brb-calendar-day.is-selected{background:#f6c400!important;color:#111827!important;box-shadow:0 7px 16px rgba(246,196,0,.26)!important;}
.brb-calendar-legend{font-size:11.5px!important;gap:11px!important;margin-top:15px!important;padding-top:13px!important;}
.brb-selected-date-card{margin-top:18px!important;border-radius:13px!important;padding:13px 14px!important;background:#f1f7ff!important;border-color:#dbeafe!important;}
.brb-selected-date-card>span{width:28px!important;height:28px!important;border-radius:8px!important;background:#e8f2ff!important;color:#0b63ce!important;}
.brb-selected-date-card em{font-size:11.5px!important;}
.brb-selected-date-card strong{font-size:15px!important;}
.brb-selected-date-card button{font-size:13px!important;}
.brb-time-v48 .brb-period-cards{gap:14px!important;}
.brb-time-v48 .brb-period-card{min-height:80px!important;border-radius:13px!important;padding:15px 16px!important;box-shadow:0 9px 24px rgba(15,23,42,.045)!important;border-color:#e6edf5!important;}
.brb-time-v48 .brb-period-card.is-active{background:#fff8d6!important;border-color:#f5bd00!important;box-shadow:0 10px 24px rgba(245,191,0,.10)!important;}
.brb-time-v48 .brb-period-card.is-active:after,.brb-time-v48 .brb-period-card.is-selected:after{content:'✓';position:absolute;right:-8px;top:-8px;width:22px;height:22px;border-radius:999px;background:#f5bd00;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:950;box-shadow:0 7px 16px rgba(245,191,0,.25);}
.brb-time-v48 .brb-period-card i{width:42px!important;height:42px!important;font-size:20px!important;}
.brb-time-v48 .brb-period-card strong{font-size:14.5px!important;line-height:1.15!important;}
.brb-time-v48 .brb-period-card span{font-size:13px!important;color:#334155!important;font-weight:800!important;}
.brb-time-v48 .brb-time-slots{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px 14px!important;}
.brb-time-v48 .brb-time-slot{min-height:62px!important;border-radius:10px!important;padding:11px 14px!important;border-color:#dce6f0!important;box-shadow:0 6px 16px rgba(15,23,42,.028)!important;background:#fff!important;}
.brb-time-v48 .brb-time-slot strong{font-size:13.5px!important;margin-bottom:6px!important;letter-spacing:-.01em!important;}
.brb-time-v48 .brb-time-slot span{font-size:11.5px!important;font-weight:900!important;color:#0f8a2d!important;}
.brb-time-v48 .brb-time-slot.is-active{background:#fff7cf!important;border-color:#f5bd00!important;box-shadow:0 10px 22px rgba(245,191,0,.10)!important;}
.brb-time-v48 .brb-time-slot.is-active:after{background:#f5bd00!important;width:23px!important;height:23px!important;right:-8px!important;top:-8px!important;}
.brb-selection-summary{border:0!important;border-radius:12px!important;padding:11px 14px!important;background:linear-gradient(90deg,#dcfce7,#eefbea)!important;color:#166534!important;font-size:14px!important;}
.brb-selection-summary span{width:34px!important;height:34px!important;font-size:21px!important;background:#16a34a!important;}
.brb-qty-row{display:grid!important;grid-template-columns:200px minmax(260px,1fr)!important;gap:14px!important;align-items:center!important;}
.brb-qty-stepper{grid-template-columns:52px 78px 52px!important;border-radius:11px!important;box-shadow:0 8px 18px rgba(15,23,42,.035)!important;}
.brb-qty-stepper button{min-height:48px!important;font-size:26px!important;}
.brb-qty-stepper button:last-child{background:#ffd400!important;}
.brb-qty-stepper strong{font-size:24px!important;}
.brb-time-v48 .brb-qty-panel .brb-date-hint{min-height:56px!important;margin:0!important;padding:11px 150px 11px 54px!important;border:1px solid #fde68a!important;background:linear-gradient(90deg,#fffbea,#fff)!important;border-radius:12px!important;color:#334155!important;font-size:13px!important;font-weight:750!important;position:relative!important;line-height:1.35!important;}
.brb-time-v48 .brb-qty-panel .brb-date-hint:before{position:absolute!important;left:18px!important;top:50%!important;transform:translateY(-50%)!important;content:'🚲'!important;background:#fff3c4!important;color:#111827!important;width:34px!important;height:34px!important;font-size:16px!important;}
.brb-bike-illustration{position:absolute!important;right:20px!important;bottom:21px!important;min-width:112px!important;background:radial-gradient(circle at 55% 48%,#fff1bd 0 48%,transparent 49%)!important;padding:8px 14px!important;font-size:26px!important;}
.brb-qty-panel{position:relative!important;}
.brb-v48-actions{max-width:1180px!important;margin-top:16px!important;}
.brb-v48-actions .brb-back{min-width:150px!important;height:52px!important;border-radius:13px!important;}
.brb-v48-actions .brb-button{min-width:330px!important;height:52px!important;border-radius:13px!important;box-shadow:0 13px 28px rgba(245,191,0,.20)!important;}
@media(max-width:1100px){.brb-time-v48{grid-template-columns:380px minmax(0,1fr)!important}.brb-time-v48 .brb-time-slots{grid-template-columns:repeat(3,minmax(0,1fr))!important}.brb-qty-row{grid-template-columns:190px 1fr!important}.brb-time-v48 .brb-qty-panel .brb-date-hint{padding-right:120px!important}.brb-bike-illustration{right:12px!important}}
@media(max-width:980px){.brb-step[data-brb-step="2"]{max-width:none!important}.brb-time-v48{grid-template-columns:1fr!important}.brb-time-v48 .brb-time-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}.brb-qty-row{grid-template-columns:200px 1fr!important}.brb-v48-actions .brb-button{min-width:0!important}}
@media(max-width:680px){.brb-time-v48 .brb-period-cards{grid-template-columns:1fr!important}.brb-time-v48 .brb-time-slots{grid-template-columns:1fr!important}.brb-qty-row{grid-template-columns:1fr!important}.brb-time-v48 .brb-qty-panel .brb-date-hint{padding:12px 14px 12px 54px!important}.brb-bike-illustration{display:none!important}.brb-v48-actions .brb-button,.brb-v48-actions .brb-back{width:100%!important}}
