.elementor-94 .elementor-element.elementor-element-3ddb3ae{--display:flex;--min-height:65vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.61;}.elementor-94 .elementor-element.elementor-element-3ddb3ae:not(.elementor-motion-effects-element-type-background), .elementor-94 .elementor-element.elementor-element-3ddb3ae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.rent-a-bike.co.za/wp-content/uploads/2026/05/2026-launch-fuel-plus-lifestyle-portrait-ex-02.jpg");background-position:center center;background-size:cover;}.elementor-94 .elementor-element.elementor-element-3ddb3ae::before, .elementor-94 .elementor-element.elementor-element-3ddb3ae > .elementor-background-video-container::before, .elementor-94 .elementor-element.elementor-element-3ddb3ae > .e-con-inner > .elementor-background-video-container::before, .elementor-94 .elementor-element.elementor-element-3ddb3ae > .elementor-background-slideshow::before, .elementor-94 .elementor-element.elementor-element-3ddb3ae > .e-con-inner > .elementor-background-slideshow::before, .elementor-94 .elementor-element.elementor-element-3ddb3ae > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-astglobalcolor6 );--background-overlay:'';}.elementor-94 .elementor-element.elementor-element-2eaee60{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-94 .elementor-element.elementor-element-87cda9d{text-align:center;}.elementor-94 .elementor-element.elementor-element-87cda9d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:82px;font-weight:900;font-style:italic;color:var( --e-global-color-astglobalcolor4 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-94 .elementor-element.elementor-element-f95f5b3{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:400;letter-spacing:5.9px;color:var( --e-global-color-astglobalcolor4 );}.elementor-94 .elementor-element.elementor-element-282b5b5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94 .elementor-element.elementor-element-282b5b5:not(.elementor-motion-effects-element-type-background), .elementor-94 .elementor-element.elementor-element-282b5b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EDEDED;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-94 .elementor-element.elementor-element-87cda9d .elementor-heading-title{font-size:46px;}}/* Start custom CSS for html, class: .elementor-element-a507ea7 */.multi-step-form{
  background:#fff;
  padding:40px;
  border-radius:28px;
  box-shadow:0 10px 40px rgba(0,0,0,0.08);
  max-width:1400px;
  margin:auto;
}

.form-step{
  display:none;
  padding-top:10px;
  animation:fadeIn .35s ease;
}

.active-step{ display:block; }

@keyframes fadeIn{
  from{ opacity:0; transform:translateY(15px); }
  to{ opacity:1; transform:translateY(0); }
}

.form-step h2{
  font-size:34px;
  margin-bottom:30px;
  font-weight:700;
}

/* INPUTS */
.multi-step-form input,
.multi-step-form textarea{
  width:100%;
  padding:15px;
  margin-bottom:18px;
  border:1px solid #ddd;
  border-radius:25px;
  font-size:16px;
  background:#fff;
  transition:.3s ease;
  box-sizing:border-box;
}

/* FIXED SELECTS */
.multi-step-form select{
  width:100%;
  height:56px;
  padding:0 52px 0 18px;
  margin-bottom:18px;

  border:1px solid #ddd;
  border-radius:25px;

  font-size:16px;
  font-family:inherit;
  font-weight:500;

  background-color:#fff;
  color:#111827;

  transition:.3s ease;
  box-sizing:border-box;

  line-height:normal;

  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;

  cursor:pointer;

  /* custom arrow */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  background-size:18px;
}

/* dropdown options */
.multi-step-form select option{
  color:#111827;
  background:#fff;
  font-size:16px;
}

/* Safari / iPhone fix */
.multi-step-form select{
  text-indent:0;
  text-overflow:'';
}

.multi-step-form input:focus,
.multi-step-form textarea:focus,
.multi-step-form select:focus{
  border-color:#000;
  outline:none;
  box-shadow:0 0 0 3px rgba(0,0,0,0.05);
}

/* BUTTONS */
.next-btn,
.prev-btn,
.submit-btn{
  padding:15px 30px;
  border:none;
  border-radius:24px;
  cursor:pointer;
  font-size:16px;
  font-weight:600;
  margin-top:25px;
  margin-right:10px;
  transition:.3s ease;
}

.next-btn,
.submit-btn{
  background:#FF3900;
  color:#fff;
}

.next-btn:hover,
.submit-btn:hover{
  transform:translateY(-2px);
  opacity:.92;
}

.prev-btn{
  background:#f2f2f2;
  color:#000;
}

.prev-btn:hover{ background:#e7e7e7; }

/* MOBILE */
@media(max-width:767px){
  .multi-step-form{ padding:10px; border-radius:20px; }
  .form-step h2{ font-size:26px; }

  .next-btn,
  .prev-btn,
  .submit-btn{
    width:100%;
    margin-right:0;
    margin-bottom:10px;
  }
}

/* DATE LABELS */
.date-label{
  display:block;
  font-size:15px;
  font-weight:600;
  margin-bottom:8px;
  margin-top:12px;
  color:#222;
}

/* BIKE SLIDERS */
.bike-category{ margin-bottom:28px; }

/* IMPORTANT: padding creates space for arrows INSIDE wrapper so they don't "disappear" */
.slider-wrapper{
  position:relative;
  display:flex;
  align-items:center;
  padding:0 55px;         /* space for arrows */
  overflow:visible;
}

.bike-slider{
  display:flex;
  gap:15px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:10px;
  width:100%;
  scrollbar-width:none;
}

.bike-slider::-webkit-scrollbar{ display:none; }

.bike-card{
  min-width:16%;
  background:#fff;
  border:2px solid #eee;
  border-radius:18px;
  padding:14px;
  scroll-snap-align:start;
  position:relative;
  transition:0.3s ease;
  flex-shrink:0;
  cursor:pointer;
  user-select:none;
}

.bike-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.bike-card img{
  width:100%;
  height:120px;
  object-fit:contain;
  border-radius:12px;
  margin-bottom:12px;
  background:linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0));
}

.bike-card h3{
  font-size:15px;
  margin-bottom:5px;
  line-height:1.2;
}

.bike-card p{
  font-size:14px;
  font-weight:600;
  margin-bottom:10px;
}

.bike-card input[type="checkbox"]{
  position:absolute;
  top:15px;
  right:15px;
  transform:scale(1.2);
}

/* options hidden until selected */
.bike-options{
  display:none;
  margin-top:10px;
}

.bike-card.is-selected .bike-options{
  display:block;
}

.bike-card select,
.bike-card input[type="number"]{
  width:100%;
  height:40px;
  padding:0 12px;
  margin-top:8px;
  border-radius:10px;
  border:1px solid #ddd;
  font-size:14px;
  box-sizing:border-box;
}

.bike-card.is-selected{
  border-color:#000;
  box-shadow:0 0 0 3px rgba(0,0,0,0.05);
}

/* ARROWS (PC ONLY) */
.slider-arrow{
  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  border:none;
  width:45px;
  height:45px;
  border-radius:50%;
  box-shadow:0 4px 10px rgba(0,0,0,0.15);
  cursor:pointer;
  font-size:22px;

  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:10;
  transition:0.3s ease;
}

.slider-arrow:hover{ transform:translateY(-50%) scale(1.08); }

.slider-arrow.left{ left:10px; }
.slider-arrow.right{ right:10px; }

/* TABLET */
@media(max-width:1024px){
  .bike-card{ min-width:30%; }

  /* hide arrows on tablet + mobile (PC only) */
  .slider-arrow{ display:none !important; }

  /* remove side padding since arrows hidden */
  .slider-wrapper{ padding:0; }
}

/* MOBILE */
@media(max-width:767px){
  .bike-card{ min-width:48%; }
  .bike-card img{ height:100px; }
}

/* WAIVER BOX */
.waiver-box{
  background:#f8f8f8;
  padding:18px;
  border-radius:16px;
  margin-top:20px;
  margin-bottom:25px;
  border:1px solid #e5e5e5;
}

.waiver-check{
  display:flex;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
}

.waiver-check input{
  margin-top:4px;
  min-width:18px;
  height:18px;
}

.waiver-check span{
  font-size:14px;
  line-height:1.6;
  color:#444;
}

/* PROGRESS BAR */
.progress-wrapper{
  position:relative;
  margin-bottom:50px;
}

.progress-bar{
  position:absolute;
  top:22px;
  left:0;
  height:4px;
  width:0%;
  background:#000;
  border-radius:20px;
  transition:.35s ease;
  z-index:1;
}

.step-indicators{
  display:flex;
  justify-content:space-between;
  position:relative;
  z-index:2;
}

.step-indicator{
  display:flex;
  flex-direction:column;
  align-items:center;
  flex:1;
  position:relative;
}

.step-indicator span{
  width:45px;
  height:45px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#eaeaea;
  font-weight:700;
  font-size:16px;
  transition:.3s ease;
}

.step-indicator p{
  margin-top:10px;
  font-size:14px;
  font-weight:600;
  color:#777;
}

.step-indicator.active span{
  background:#f2671e;
  color:#fff;
}

.step-indicator.active p{ color:#000; }

@media(max-width:767px){
  .step-indicator p{ font-size:11px; }
  .step-indicator span{ width:38px; height:38px; font-size:14px; }
  .progress-wrapper{ margin-bottom:35px; }
}

/* Accessories layout */
.multi-step-form .accessories-group{
  display:flex;
  flex-direction:column;
  gap:36px;
  margin-bottom:16px;
}

.multi-step-form .accessory-label{
  font-family:"Montserrat", sans-serif;
  font-weight:600;
  font-size:14px;
  margin-right:10px;
}

.multi-step-form .helmet-row{
  display:flex;
  align-items:center;
  gap:12px;
}

.multi-step-form .helmet-choice{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
}

.multi-step-form .helmet-choice input[type="radio"]{
  width:18px;
  height:18px;
  margin:0;
  vertical-align:middle;
  cursor:pointer;
}

.multi-step-form .helmet-choice span{ line-height:1; }

.multi-step-form .pedal-block{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.multi-step-form .pedal-block select{
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  border:1px solid #ccc;
  border-radius:16px;
  background-color:#ffffff;
  font-size:14px;
  font-family:inherit;
  cursor:pointer;
}

@media (max-width:600px){
  .multi-step-form .helmet-row{
    flex-wrap:wrap;
    gap:8px;
  }
}

.multi-step-form h3 + .accessories-group{
  margin-top:18px;
}/* End custom CSS */