.elementor-25 .elementor-element.elementor-element-75b18d9{--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;--overlay-opacity:0.5;}.elementor-25 .elementor-element.elementor-element-75b18d9:not(.elementor-motion-effects-element-type-background), .elementor-25 .elementor-element.elementor-element-75b18d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://roseshuttle.com/wp-content/uploads/2025/12/Gemini_Generated_Image_3djcbb3djcbb3djc.jpg");}.elementor-25 .elementor-element.elementor-element-75b18d9::before, .elementor-25 .elementor-element.elementor-element-75b18d9 > .elementor-background-video-container::before, .elementor-25 .elementor-element.elementor-element-75b18d9 > .e-con-inner > .elementor-background-video-container::before, .elementor-25 .elementor-element.elementor-element-75b18d9 > .elementor-background-slideshow::before, .elementor-25 .elementor-element.elementor-element-75b18d9 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25 .elementor-element.elementor-element-75b18d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-25 .elementor-element.elementor-element-e3b0c3f{--display:flex;--min-height:201px;--justify-content:center;}.elementor-25 .elementor-element.elementor-element-e3b0c3f.e-con{--align-self:center;}.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-25 .elementor-element.elementor-element-4bc7bbb{text-align:center;}.elementor-25 .elementor-element.elementor-element-4bc7bbb .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:45px;font-weight:600;color:#FFFFFF;}.elementor-25 .elementor-element.elementor-element-3f2e3b2{--display:flex;}.elementor-25 .elementor-element.elementor-element-3f2e3b2.e-con{--align-self:center;}.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-25 .elementor-element.elementor-element-a53d2fa.elementor-element{--align-self:center;}.elementor-25 .elementor-element.elementor-element-a53d2fa{color:#FFFFFF;}.elementor-25 .elementor-element.elementor-element-48e10ea{--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;}.elementor-25 .elementor-element.elementor-element-7395d04{--display:flex;}.elementor-25 .elementor-element.elementor-element-7acc8f3{text-align:center;}.elementor-25 .elementor-element.elementor-element-7acc8f3 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:22px;font-weight:600;color:#328385;}.elementor-25 .elementor-element.elementor-element-87913d0{text-align:center;}.elementor-25 .elementor-element.elementor-element-87913d0 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:600;color:#FF366D;}.elementor-25 .elementor-element.elementor-element-8f33c70{text-align:center;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;color:#000000;}.elementor-25 .elementor-element.elementor-element-fc31e90{--display:flex;--border-radius:15px 15px 15px 15px;}.elementor-25 .elementor-element.elementor-element-cb105c7{--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;}.elementor-25 .elementor-element.elementor-element-8adaa3e{--display:flex;}.elementor-25 .elementor-element.elementor-element-24d7815{text-align:center;}.elementor-25 .elementor-element.elementor-element-24d7815 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;color:#328385;}.elementor-25 .elementor-element.elementor-element-c145bce{--display:flex;--min-height:0px;--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;}.elementor-25 .elementor-element.elementor-element-c145bce.e-con{--align-self:center;}.elementor-25 .elementor-element.elementor-element-9b4a54d{text-align:center;font-family:"Arial", Sans-serif;font-size:18px;font-weight:600;color:#000000;}@media(max-width:1024px){.elementor-25 .elementor-element.elementor-element-24d7815 .elementor-heading-title{font-size:32px;}}@media(max-width:767px){.elementor-25 .elementor-element.elementor-element-4bc7bbb .elementor-heading-title{font-size:32px;}.elementor-25 .elementor-element.elementor-element-8f33c70{font-size:14px;}.elementor-25 .elementor-element.elementor-element-fc31e90{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-25 .elementor-element.elementor-element-24d7815 .elementor-heading-title{font-size:28px;}.elementor-25 .elementor-element.elementor-element-9b4a54d{font-size:16px;}}@media(min-width:768px){.elementor-25 .elementor-element.elementor-element-3f2e3b2{--width:100%;}.elementor-25 .elementor-element.elementor-element-c145bce{--width:76%;}}/* Start custom CSS for container, class: .elementor-element-48e10ea *//* ===========================
   WRAP + PANEL
=========================== */
.rsrv-wrap{
  max-width: 720px;
  margin: 0 auto;
  padding: 0 16px;
}

.rsrv-wrap .rsrv-panel{
  background: #328385 !important;
  padding: 28px 26px 34px !important;
  border-radius: 2px !important;
}

/* ===========================
   LABELS
=========================== */
.rsrv-wrap .rsrv-label{
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  margin: 0 0 8px !important;
  color: #EAF7F7 !important;
  letter-spacing: .2px !important;
}

/* ===========================
   GRID LAYOUT (3 columns)
=========================== */
.rsrv-wrap .rsrv-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.rsrv-wrap .rsrv-span-all{
  grid-column: 1 / -1 !important;
}

/* CF7 sometimes wraps in <p> */
.rsrv-wrap .rsrv-grid > p{
  margin: 0 !important;
  padding: 0 !important;
}

/* each field spacing */
.rsrv-wrap .rsrv-field{
  margin: 0 !important;
}

/* CF7 wrap block */
.rsrv-wrap .wpcf7-form-control-wrap{
  display:block !important;
  width:100% !important;
}

/* ===========================
   INPUTS / SELECT / TEXTAREA
=========================== */
.rsrv-wrap input[type="text"],
.rsrv-wrap input[type="email"],
.rsrv-wrap input[type="tel"],
.rsrv-wrap input[type="number"],
.rsrv-wrap input[type="date"],
.rsrv-wrap select,
.rsrv-wrap textarea{
  width:100% !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#222 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 11px 12px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  background-clip: padding-box !important;
}

.rsrv-wrap input::placeholder,
.rsrv-wrap textarea::placeholder{
  color: rgba(0,0,0,.35) !important;
}

/* focus */
.rsrv-wrap input:focus,
.rsrv-wrap select:focus,
.rsrv-wrap textarea:focus{
  border-color: rgba(0,0,0,.25) !important;
}

/* Default textarea */
.rsrv-wrap textarea{
  min-height: 110px !important;
  resize: vertical !important;
}

/* ===========================
   SPECIAL NOTE SMALLER
=========================== */
.rsrv-wrap textarea[name="note"]{
  min-height: 60px !important;
  height: 60px !important;
}

/* Return info slightly bigger */
.rsrv-wrap textarea[name="return-info"]{
  min-height: 90px !important;
  height: 90px !important;
}

/* ===========================
   PICK UP TIME: 3 SMALL BOXES SIDE BY SIDE
=========================== */
.rsrv-wrap .rsrv-time-row{
  display:flex !important;
  align-items:center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

/* Stop CF7 wrap forcing 100% width inside time row */
.rsrv-wrap .rsrv-time-row .wpcf7-form-control-wrap{
  width: auto !important;
  display: inline-block !important;
}

/* Make the 3 controls smaller than normal inputs, but responsive */
.rsrv-wrap .rsrv-time-row .rsrv-time-hour{
  flex: 0 1 90px !important;
  min-width: 70px !important;
}
.rsrv-wrap .rsrv-time-row .rsrv-time-min{
  flex: 0 1 90px !important;
  min-width: 70px !important;
}
.rsrv-wrap .rsrv-time-row .rsrv-time-ampm{
  flex: 0 1 110px !important;
  min-width: 90px !important;
}

/* Ensure the actual inputs/select inside time boxes are not full-width blocks */
.rsrv-wrap .rsrv-time-row .rsrv-time-hour input,
.rsrv-wrap .rsrv-time-row .rsrv-time-min input,
.rsrv-wrap .rsrv-time-row .rsrv-time-ampm select{
  width: 100% !important;
}

/* Slightly tighter padding for time fields */
.rsrv-wrap .rsrv-time-row input[type="number"],
.rsrv-wrap .rsrv-time-row select{
  padding: 10px 10px !important;
}

/* ===========================
   AGREEMENT ROW
=========================== */
.rsrv-wrap .rsrv-agree{
  margin-top: 10px !important;
  font-size: 11px !important;
  color:#EAF7F7 !important;
  display:flex !important;
  align-items:center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.rsrv-wrap .rsrv-agree input[type="checkbox"]{
  transform: translateY(1px);
}

.rsrv-agree span.wpcf7-form-control-wrap{
  display: inline !important;
  width: auto !important;
}

.rsrv-wrap .rsrv-terms{
  color: #0b2b2b !important;
  padding: 2px 6px !important;
  border-radius: 2px !important;
  text-decoration: underline !important;
  font-weight: bold !important;
  font-size: 14px !important;
}

.rsrv-agree .wpcf7-list-item{
  display: inline-block;
  margin: 0px !important;
}

/* ===========================
   SUBMIT BUTTON
=========================== */
.rsrv-wrap .rsrv-submit{
  margin-top: 18px !important;
}

.rsrv-wrap input[type="submit"].rsrv-btn,
.rsrv-wrap .wpcf7-submit.rsrv-btn{
  background: #111 !important;
  color: #fff !important;
  border-radius: 4px !important;
  padding: 12px 30px !important;
  font-size: 18px !important;
  cursor: pointer !important;
  min-width: 230px !important;
  box-shadow: none !important;
  display: inline-block !important;
  border: 2px solid #1e1e1e !important;
  height: 50px !important;
  font-family: Dosis,sans-serif !important;
  font-weight: normal !important;
}

.rsrv-wrap .wpcf7-submit.rsrv-btn:hover{
  opacity:.92 !important;
}

/* ===========================
   CF7 MESSAGES
=========================== */
.rsrv-wrap .wpcf7-response-output{
  margin: 16px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 2px !important;
}

/* Keep paragraphs from adding random spacing */
.rsrv-wrap p{
  margin: 0 !important;
  padding: 0 !important;
}

.rsrv-wrap p br{
  display: none !important;
}

/* ===========================
   MOBILE / RESPONSIVE
=========================== */
@media (max-width: 860px){
  .rsrv-wrap .rsrv-grid{
    grid-template-columns: 1fr !important;
  }
  .rsrv-wrap .rsrv-span-all{
    grid-column: auto !important;
  }

  /* Time row still side-by-side, but a bit tighter */
  .rsrv-wrap .rsrv-time-row{
    gap: 6px !important;
  }
  .rsrv-wrap .rsrv-time-row .rsrv-time-hour,
  .rsrv-wrap .rsrv-time-row .rsrv-time-min{
    flex-basis: 80px !important;
    min-width: 65px !important;
  }
  .rsrv-wrap .rsrv-time-row .rsrv-time-ampm{
    flex-basis: 90px !important;
    min-width: 80px !important;
  }
}

/* Your older mobile tweaks kept (optional) */
@media (max-width: 420px){
  .rsrv-wrap .rsrv-panel{ padding: 22px 18px 28px !important; }
  .rsrv-wrap .wpcf7-response-output.wpcf7-mail-sent-ok { color: #FF366D !important; }
}

/* ===========================
   1) INCREASE FORM WIDTH
=========================== */
.rsrv-wrap{
  max-width: 920px !important;   /* was 720px */
}

/* Optional: panel a bit wider feel */
.rsrv-wrap .rsrv-panel{
  padding: 28px 30px 34px !important;
}

/* ===========================
   2) PICKUP TIME: MAKE TEXT CLEAR + USE SPACE
   - Bigger boxes (desktop)
   - Smaller placeholder font
   - Mobile: boxes expand to fill row (no right-side blank space)
=========================== */

/* Ensure the row uses full width */
.rsrv-wrap .rsrv-time-row{
  width: 100% !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Stop CF7 wrappers forcing weird widths */
.rsrv-wrap .rsrv-time-row .wpcf7-form-control-wrap{
  width: auto !important;
  display: block !important;
}

/* DESKTOP/TABLET: make them slightly wider */
.rsrv-wrap .rsrv-time-row .rsrv-time-hour,
.rsrv-wrap .rsrv-time-row .rsrv-time-min{
  flex: 0 0 110px !important;   /* wider so Hour/Min is readable */
}

.rsrv-wrap .rsrv-time-row .rsrv-time-ampm{
  flex: 0 0 110px !important;
}

/* Time inputs/select: slightly tighter text/padding */
.rsrv-wrap .rsrv-time-row input[type="number"],
.rsrv-wrap .rsrv-time-row select{
  font-size: 12px !important;     /* smaller text */
  padding: 10px 10px !important;  /* tighter padding */
}

/* Placeholder smaller so it doesn't get cut */
.rsrv-wrap .rsrv-time-row input::placeholder{
  font-size: 11px !important;
  letter-spacing: .2px !important;
}

/* ===========================
   MOBILE: TIME BOXES SHOULD EXPAND (NO EMPTY RIGHT SPACE)
=========================== */
@media (max-width: 860px){

  .rsrv-wrap .rsrv-time-row{
    gap: 8px !important;
  }

  /* Let the 3 boxes share the full row width */
  .rsrv-wrap .rsrv-time-row .rsrv-time-hour,
  .rsrv-wrap .rsrv-time-row .rsrv-time-min,
  .rsrv-wrap .rsrv-time-row .rsrv-time-ampm{
    flex: 1 1 0 !important;      /* key: they grow equally */
    min-width: 0 !important;     /* prevents overflow */
  }

  /* Inputs fill their container */
  .rsrv-wrap .rsrv-time-row .rsrv-time-hour input,
  .rsrv-wrap .rsrv-time-row .rsrv-time-min input,
  .rsrv-wrap .rsrv-time-row .rsrv-time-ampm select{
    width: 100% !important;
  }

  /* Make the text readable on phone */
  .rsrv-wrap .rsrv-time-row input[type="number"],
  .rsrv-wrap .rsrv-time-row select{
    font-size: 13px !important;
    padding: 11px 10px !important;
  }

  .rsrv-wrap .rsrv-time-row input::placeholder{
    font-size: 12px !important;
  }
}/* End custom CSS */