.elementor-3093 .elementor-element.elementor-element-7fd6e86{--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-3093 .elementor-element.elementor-element-83936c5 > .elementor-widget-container{margin:0px 0px 0px 0px;}/* Start custom CSS for rakarcontactform, class: .elementor-element-83936c5 *//* =========================
   Multi-step CF7 Form – FULL CSS
   ========================= */

/* Scope everything to CF7 form to avoid bleeding styles */
.wpcf7-form {
  /* nothing here; just a scope anchor */
}

/* ---------- Progress bar ---------- */
.wpcf7-form .ms-progress {
  height: 10px;
  background: #e6f3f5;
  border-radius: 8px;
  overflow: hidden;
  margin: 8px 0 24px;
}
.wpcf7-form .ms-progress__bar {
  height: 100%;
  width: var(--ms-progress, 33%);
  background: #1f6e87;
  transition: width 0.3s ease;
}

/* ---------- Step container / animation ---------- */
.wpcf7-form .ms-step { animation: msFadeIn .3s ease-in-out; }
@keyframes msFadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Headings ---------- */
.wpcf7-form .ms-title { font-size: 28px; margin: 0 0 8px; font-weight: 700; color: #0a2340; }
.wpcf7-form .ms-sub { margin: 0 0 18px; }
.wpcf7-form .ms-sub .req { color: #e74c3c; margin-left: 4px; }

/* ---------- Services grid ---------- */
.wpcf7-form .ms-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  background: #f0f2f5;
  padding: 20px;
  border-radius: 8px;
}
@media (max-width: 900px){ .wpcf7-form .ms-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .wpcf7-form .ms-grid{ grid-template-columns: 1fr; } }

/* Service option card */
.wpcf7-form .ms-check {
  display: flex;
  align-items: center;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  position: relative;
  font-weight: 500;
  transition: all .2s ease;
}
.wpcf7-form .ms-check:hover { border-color: #1f6e87; background: #f7fcfc; }

/* Hide native checkbox but keep accessible */
.wpcf7-form .ms-check input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* Custom checkbox bullet via CF7 label */
.wpcf7-form .ms-check .wpcf7-list-item-label {
  position: relative;
  padding-left: 30px;
  display: block;
}
.wpcf7-form .ms-check .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px;
  border: 2px solid #1f6e87; border-radius: 4px; background: #fff;
}
.wpcf7-form .ms-check input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background: #1f6e87; border-color: #1f6e87;
}
.wpcf7-form .ms-check input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "✓";
  position: absolute; left: 3px; top: 50%; transform: translateY(-50%);
  color: #fff; font-weight: 700; font-size: 14px;
}

/* ---------- Panels ---------- */
.wpcf7-form .ms-panel {
  display: none; /* shown by JS when its service is checked */
  margin: 20px 0; padding: 15px;
  border-top: 2px solid #e6f3f5;
  background: #fafafa; border-radius: 6px;
}
.wpcf7-form .ms-panel h3 { margin: 0 0 14px; font-size: 22px; color: #0a2340; }

/* Layout inside panels */
.wpcf7-form .ms-row { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 20px; }
@media (max-width: 800px){ .wpcf7-form .ms-row{ grid-template-columns: 1fr; } }
.wpcf7-form .ms-label { margin-bottom: 8px; font-weight: 600; }

/* ---------- RADIO GROUPS (qty) – STRONG FIX ---------- */
/* Many themes hide radios globally. These rules force visible, styled radios only inside .qty */
.wpcf7-form .qty .wpcf7-list-item input[type="radio"],
.wpcf7-form .qty .wpcf7-radio input[type="radio"],
.wpcf7-form .qty input[type="radio"]{
  display: inline-block !important;
  position: relative !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle !important;

  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  background: #fff;
  border: 2px solid #ff7458;
  border-radius: 50%;
  cursor: pointer;
  transition: all .2s ease;
}
.wpcf7-form .qty .wpcf7-list-item input[type="radio"]:focus,
.wpcf7-form .qty .wpcf7-radio input[type="radio"]:focus,
.wpcf7-form .qty input[type="radio"]:focus{
  outline: none; box-shadow: 0 0 0 2px rgba(255,116,88,.3);
}
.wpcf7-form .qty .wpcf7-list-item input[type="radio"]:checked::before,
.wpcf7-form .qty .wpcf7-radio input[type="radio"]:checked::before,
.wpcf7-form .qty input[type="radio"]:checked::before{
  content: ""; position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%); width: 10px; height: 10px;
  background: #ff7458; border-radius: 50%;
}

/* Display radios with their number labels nicely */
.wpcf7-form .qty { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.wpcf7-form .qty .wpcf7-list-item,
.wpcf7-form .qty .wpcf7-radio{
  display: inline-flex !important;
  align-items: center !important;
  margin: 6px 12px 6px 0 !important;
}
.wpcf7-form .qty .wpcf7-list-item-label{
  display: inline !important;
  margin-left: 6px;
  font-weight: 500;
}

/* ---------- Notes input ---------- */
.wpcf7-form .ms-notes {
  width: 100%; padding: 10px 12px;
  border: 1px solid #ddd; border-radius: 4px;
  background: #fff; font-size: 14px; color: #333;
  transition: border-color .2s ease;
}
.wpcf7-form .ms-notes:focus { border-color: #1f6e87; outline: none; }

/* Sofa / mattress / vehicle grids */
.wpcf7-form .ms-sofas, .wpcf7-form .ms-mattress, .wpcf7-form .ms-veh {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px;
}
@media (max-width: 768px){
  .wpcf7-form .ms-sofas, .wpcf7-form .ms-mattress, .wpcf7-form .ms-veh{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px){
  .wpcf7-form .ms-sofas, .wpcf7-form .ms-mattress, .wpcf7-form .ms-veh{ grid-template-columns: 1fr; }
}
.wpcf7-form .ms-sofa, .wpcf7-form .ms-mat, .wpcf7-form .ms-vehcol {
  padding: 8px 10px; border: 1px dashed #e8ecef; border-radius: 10px; background: #fff;
}
.wpcf7-form .ms-sofa p, .wpcf7-form .ms-mat p, .wpcf7-form .ms-vehcol p { margin: 0 0 6px; font-weight: 600; }
.wpcf7-form .ms-notes-wrap { grid-column: 1/-1; }

/* ---------- Booking grid ---------- */
.wpcf7-form .ms-booking-grid {
  background: #f9f9f9; padding: 20px; border-radius: 8px; margin-bottom: 20px;
}
.wpcf7-form .ms-booking-row {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 20px;
}
.wpcf7-form .ms-booking-row:last-child { margin-bottom: 0; }
.wpcf7-form .ms-booking-col, .wpcf7-form .ms-booking-col-wide { display: flex; flex-direction: column; }
.wpcf7-form .ms-booking-col-wide { grid-column: span 3; }
@media (max-width: 768px){
  .wpcf7-form .ms-booking-row{ grid-template-columns: 1fr; }
  .wpcf7-form .ms-booking-col-wide{ grid-column: span 1; }
}
.wpcf7-form .ms-booking-label { font-weight: 600; margin-bottom: 6px; color: #0a2340; font-size: 14px; }
.wpcf7-form .ms-booking-input,
.wpcf7-form .ms-booking-select,
.wpcf7-form .ms-booking-textarea{
  width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 6px;
  background: #fff; font-size: 14px; color: #333; transition: border-color .2s ease;
  min-height: 48px; height: 48px; box-sizing: border-box;
}
.wpcf7-form .ms-booking-textarea { height: 80px; min-height: 80px; resize: vertical; }
.wpcf7-form .ms-booking-input:focus,
.wpcf7-form .ms-booking-select:focus,
.wpcf7-form .ms-booking-textarea:focus{
  border-color: #1f6e87; outline: none; box-shadow: 0 0 0 2px rgba(31,110,135,.1);
}

/* Time picker */
.wpcf7-form .ms-time-picker-wrapper {
  display: flex; align-items: center; gap: 8px;
  border: 2px solid #ff7458; border-radius: 6px;
  background: #fff; padding: 12px; min-height: 48px; height: 48px;
}
.wpcf7-form .ms-time-icon { font-size: 18px; color: #333; flex-shrink: 0; }
.wpcf7-form .ms-time-colon { font-size: 18px; font-weight: 600; color: #333; margin: 0 4px; }
.wpcf7-form .ms-time-hour,
.wpcf7-form .ms-time-minute,
.wpcf7-form .ms-time-period{
  border: none !important; background: transparent !important;
  font-size: 16px !important; font-weight: 500 !important; color: #333 !important;
  outline: none !important; cursor: pointer !important; padding: 8px 6px !important;
  appearance: none !important; text-align: center !important; margin: 0 !important;
  height: 32px !important; line-height: 1.2 !important;
}
.wpcf7-form .ms-time-hour{ min-width: 45px !important; }
.wpcf7-form .ms-time-minute{ min-width: 45px !important; }
.wpcf7-form .ms-time-period{ min-width: 50px !important; }
.wpcf7-form .ms-time-hour:focus,
.wpcf7-form .ms-time-minute:focus,
.wpcf7-form .ms-time-period:focus{ background: #f0f0f0 !important; border-radius: 4px !important; }

/* Email/Phone wrappers */
.wpcf7-form .ms-email-wrapper, .wpcf7-form .ms-phone-wrapper{
  position: relative; display: flex; align-items: center;
  border: 1px solid #ddd; border-radius: 6px; background: #fff; transition: border-color .2s ease;
}
.wpcf7-form .ms-email-wrapper:focus-within, .wpcf7-form .ms-phone-wrapper:focus-within{
  border-color: #1f6e87; box-shadow: 0 0 0 2px rgba(31,110,135,.1);
}
.wpcf7-form .ms-email-icon, .wpcf7-form .ms-phone-icon{
  position: absolute; left: 12px; font-size: 16px; z-index: 2; background: #fff; padding: 2px;
}
.wpcf7-form .ms-email-icon{ color: #6c757d; }
.wpcf7-form .ms-phone-icon{ color: #1f6e87; }
.wpcf7-form .ms-email-input, .wpcf7-form .ms-phone-input{
  border: none !important; background: transparent !important;
  padding: 12px 12px 12px 40px !important; width: 100% !important;
  font-size: 14px !important; color: #333 !important; outline: none !important;
}

/* File upload */
.wpcf7-form .ms-file-upload{
  border: 2px dashed #ddd; border-radius: 8px; padding: 40px 20px;
  text-align: center; background: #fafafa; transition: all .2s ease; cursor: pointer; position: relative;
}
.wpcf7-form .ms-file-upload:hover{ border-color: #ff7458; background: #fff5f4; }
.wpcf7-form .ms-file-input{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.wpcf7-form .ms-file-drop-text{ pointer-events: none; }
.wpcf7-form .ms-upload-icon{ font-size: 24px; display: block; margin-bottom: 8px; }
.wpcf7-form .ms-file-drop-text p{ margin: 0; color: #6c757d; font-size: 14px; }

/* Summary box (optional) */
.wpcf7-form .ms-summary{
  background: #e6f3f5; padding: 20px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid #1f6e87;
}
.wpcf7-form .ms-summary h3{ margin: 0 0 15px; color: #0a2340; font-size: 20px; }
.wpcf7-form .summary-section{ margin-bottom: 15px; }
.wpcf7-form .summary-section h4{ margin: 0 0 8px; color: #1f6e87; font-size: 16px; }
.wpcf7-form .summary-section ul{ margin: 0; padding-left: 20px; }
.wpcf7-form .summary-section li{ margin-bottom: 4px; }

/* ---------- Buttons ---------- */
.wpcf7-form .ms-actions{
  margin: 28px 0 8px; text-align: center;
  display: flex; gap: 15px; justify-content: center; align-items: center;
}
.wpcf7-form .ms-next, .wpcf7-form .ms-prev, .wpcf7-form .ms-submit{
  background: #ff7458; color: #fff; border: 0; border-radius: 10px;
  padding: 12px 24px; font-weight: 700; cursor: pointer; font-size: 16px;
  transition: all .2s ease; min-width: 140px;
}
.wpcf7-form .ms-next:hover, .wpcf7-form .ms-submit:hover{ background: #e75d40; transform: translateY(-1px); }
.wpcf7-form .ms-prev{ background: #6c757d; }
.wpcf7-form .ms-prev:hover{ background: #5a6268; transform: translateY(-1px); }
.wpcf7-form .ms-submit{ background: #28a745; min-width: 160px; }
.wpcf7-form .ms-submit:hover{ background: #218838; }
@media (max-width: 600px){
  .wpcf7-form .ms-actions{ flex-direction: column; gap: 10px; }
  .wpcf7-form .ms-next, .wpcf7-form .ms-prev, .wpcf7-form .ms-submit{ width: 100%; min-width: auto; }
}

/* ---------- CF7 messages/states ---------- */
.wpcf7-form .wpcf7-not-valid { border-color: #e74c3c !important; }
.wpcf7-form .wpcf7-validation-errors {
  background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24;
  padding: 15px; border-radius: 6px; margin: 15px 0;
}
.wpcf7-form .wpcf7-mail-sent-ok {
  background: #d4edda; border: 1px solid #c3e6cb; color: #155724;
  padding: 15px; border-radius: 6px; margin: 15px 0;
}
.wpcf7-form .wpcf7-spinner { margin: 0 5px; }

/* ---------- Small-screen tweaks ---------- */
@media (max-width: 480px){
  .wpcf7-form .ms-title{ font-size: 24px; }
  .wpcf7-form .ms-booking-grid, .wpcf7-form .ms-contact-grid { padding: 15px; }
  .wpcf7-form .ms-summary{ padding: 15px; }
}

/* ---------- Legacy block for Step-1 (kept for compatibility) ---------- */
.wpcf7-form .select {
  width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 4px;
  background: #fff; font-size: 14px; color: #333; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%231f6e87' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.wpcf7-form .select:focus { border-color: #1f6e87; outline: none; }


/* =============================
RADIO CLICKABILITY – HARD FIX
============================= */
/* Purpose: defeat theme rules that hide radios (opacity:0, left:-9999px, clip, overlays)
Scope: only inside .qty groups used for quantities */


.wpcf7-form .qty { position: relative; z-index: 0; }


/* Make the entire label a tidy, clickable chip */
.wpcf7-form .qty .wpcf7-list-item label {
display: inline-flex !important;
align-items: center !important;
gap: 8px !important;
cursor: pointer !important;
position: relative !important;
}
/* Kill 3rd‑party pseudo stylers that overlay the input */
.wpcf7-form .qty .wpcf7-list-item label::before,
.wpcf7-form .qty .wpcf7-list-item label::after { content: none !important; }


/* Force radios to be visible and clickable */
.wpcf7-form .qty input[type="radio"]{
display: inline-block !important;
position: relative !important;
left: 0 !important; right: auto !important; top: auto !important;
width: 18px !important; height: 18px !important;
margin: 0 !important; vertical-align: middle !important;
opacity: 1 !important; pointer-events: auto !important;
clip: auto !important; clip-path: none !important;
appearance: none; -webkit-appearance: none; -moz-appearance: none;
background: #fff; border: 2px solid #ff7458; border-radius: 50%;
transition: all .2s ease;
}
.wpcf7-form .qty input[type="radio"]:focus{ outline: none; box-shadow: 0 0 0 2px rgba(255,116,88,.3); }
.wpcf7-form .qty input[type="radio"]:checked::before{
content: ""; position: absolute; top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 10px; height: 10px; background: #ff7458; border-radius: 50%;
}


/* Number labels play nice + stay clickable */
.wpcf7-form .qty .wpcf7-list-item-label{
display: inline !important; margin-left: 2px !important;
font-weight: 500; pointer-events: auto !important; user-select: none;
}


/* Optional: slightly larger click zone without altering layout */
.wpcf7-form .qty .wpcf7-list-item{ display:inline-flex !important; align-items:center !important; margin: 6px 10px 6px 0 !important; }/* End custom CSS */