.elementor-1964 .elementor-element.elementor-element-50b22ff{--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;}/* Start custom CSS for html, class: .elementor-element-65a460e *//* === WRAPPER === */
.fx-wrapper {
  max-width: 1100px;
  margin: 40px auto;
  padding: 30px;
  background: #fff;
  font-family: 'Segoe UI', sans-serif;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
  border-radius: 10px;
}

/* === TITLE === */
.fx-title {
  font-size: 24px;
  margin-bottom: 25px;
  color: #dc3545;
  font-weight: bold;
  text-align: center;
}

/* === SECTION BLOCKS === */
fieldset {
  border: 1px solid #ddd;
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 6px;
}
legend {
  font-weight: bold;
  color: #003366;
  font-size: 14px;
}

/* === GRID SYSTEM === */
.fx-grid-1, .fx-grid-2, .fx-grid-3, .fx-grid-4 {
  display: grid;
  gap: 15px;
  margin-top: 15px;
}
.fx-grid-1 { grid-template-columns: 1fr; }
.fx-grid-2 { grid-template-columns: repeat(2, 1fr); }
.fx-grid-3 { grid-template-columns: repeat(3, 1fr); }
.fx-grid-4 { grid-template-columns: repeat(4, 1fr); }

label {
  font-size: 13px;
  color: #333;
  font-weight: 500;
  display: flex;
  flex-direction: column;
}
input, select {
  padding: 10px 12px;
  font-size: 14px;
  border-radius: 5px;
  border: 1px solid #ccc;
  background: #f8f8f8;
  width: 100%;
  box-sizing: border-box;
}

/* === FILE UPLOAD */
input[type="file"] {
  background-color: #fafafa;
  border-radius: 6px;
  padding: 8px;
}

/* === RADIO GROUP === */
.fx-radio {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.fx-radio label {
  font-size: 14px;
  font-weight: normal;
  flex-direction: row;
  align-items: center;
}

/* === PASSENGER BLOCKS === */
.fx-passenger {
  border: 1px solid #ccc;
  padding: 20px;
  margin-bottom: 25px;
  border-radius: 6px;
  background-color: #f9f9f9;
}
.passenger-number {
  color: #003366;
  font-weight: bold;
}

/* === VISIBILITY TOGGLE FIX */
.hidden {
  display: none !important;
}

/* === ADDITIONAL APPLICANTS BUTTON === */
.add-passenger-btn {
  background-color: #f0f0f0;
  border: 1px dashed #888;
  font-weight: bold;
  padding: 12px;
  border-radius: 6px;
  cursor: pointer;
  width: 100%;
  margin-bottom: 30px;
  text-align: center;
  transition: 0.2s;
}
.add-passenger-btn:hover {
  background-color: #eaeaea;
}

/* === BUTTONS === */
.form-buttons {
  margin-top: 20px;
  text-align: center;
}
.submit-btn {
  background: #c62828;
  color: white;
  border: none;
  padding: 14px 32px;
  font-size: 15px;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s ease;
}
.submit-btn:hover {
  background: #b71c1c;
}

/* === THANK-YOU BOX === */
.thank-you {
  background: #e8fce8;
  border-left: 5px solid #28a745;
  padding: 20px;
  margin-top: 30px;
  border-radius: 6px;
  color: #2e7d32;
}
.thank-you h3 {
  font-size: 18px;
  margin-bottom: 10px;
}

/* === INPUT BOXES ALIGNMENT FIX FOR CARD NUMBERS === */
.fx-grid-4 input::placeholder {
  color: #999;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .fx-grid-2, .fx-grid-3, .fx-grid-4 {
    grid-template-columns: 1fr;
  }

  fieldset {
    padding: 15px;
  }

  .submit-btn {
    width: 100%;
  }
}/* End custom CSS */