:root {
  --hld-color-primary: #6d6ffc;
}

.hld_form_wrap {
  max-width: 550px !important;
}
.hld_form_wrap select {
  height: 50px !important;
  border-radius: 50px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
}
.hld_form_wrap input {
  border-radius: 50px !important;
  height: 50px;
}
/* hide the element because we will display custom checkbox */
.hld_gender_elem {
  display: none;
}
.hld_medication_elem {
  display: none !important;
}
.hld_form_wrap .survey-radio .ff-el-input--content label,
.hld_form_wrap .ff-el-form-check-label {
  padding: 3px 20px !important;
  border-radius: 12px !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
  text-align: left !important;
  margin-bottom: 10px;
  width: 100%;
  background: white;
}
.hld_form_wrap .ff-el-form-check-label span {
  padding-left: 5px;
}

.hld_form_wrap .ff-default .ff-el-input--label label {
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 20px;
}
.hld_form_wrap .fluentform .ff-el-form-check-label .ff-el-form-check-input {
  accent-color: var(--hld-color-primary) !important;
}

.hld_form_wrap .ff-float-right.ff-btn {
  border-radius: 30px;
  padding: 10px 0;
  font-size: 17px;
  margin-top: 15px;
  height: 50px;
}
.hld_form_wrap .ff-el-form-check-checkbox {
  opacity: 1 !important;
}

.hld_form_wrap
  .checkbox-1
  .ff-el-input--content
  label:has(input[type="checkbox"]:checked) {
  background-color: white !important;
  border: 1px solid var(--hld-color-primary) !important;
  color: var(--hld-color-primary);
}
.hld_form_wrap .fluentform .ff-el-form-check {
  margin-bottom: 5px !important;
}
.hld_form_wrap .checkbox-1 .ff-el-input--content {
  gap: 7px;
}

.hld_form_wrap div.nsl-container.nsl-container-block .nsl-container-buttons {
  width: 100%;
}
.hld_form_wrap .nsl-button-google {
  background: transparent !important;
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
  border-radius: 40px !important;
  justify-content: center;
  height: 50px;
  box-shadow: initial !important;
}
.hld_form_wrap
  div.nsl-container
  .nsl-button-google[data-skin="dark"]
  .nsl-button-svg-container {
  background-color: transparent !important;
}
.hld_form_wrap .nsl-button-label-container {
  color: black;
  display: flex !important;
  justify-content: center;
  align-items: center;
}

.hld_form_wrap .nsl-button-label-container b {
  margin-left: 3px;
}
/* .hld_form_wrap .fluentform form.ff-form-has-steps .ff_submit_btn_wrapper {
  display: none;
} */

.hld_form_wrap
  div.nsl-container
  .nsl-button-default
  div.nsl-button-label-container {
  flex: initial !important;
}
.hld_rounded_input input {
  border-radius: 50px !important;
  padding: 21px 16px !important;
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
}
.hld_rounded_input label {
  font-size: 16px !important;
  margin-bottom: 0 !important;
}
.hld_rounded_input {
  margin-top: 30px;
  margin-bottom: 30px;
}
/*  */
/* .ff-el-group.ff-text-left.ff_submit_btn_wrapper.ff_submit_btn_wrapper_custom{
  display: none;
} */
.hld-hidden {
  display: none;
}
#\31 3_save_progress_msg {
  display: none;
}
.ff-saved-state-input {
  display: none !important;
}

.ff-message-success.ff-el-group {
  display: none !important;
}
.hld_btn_continue_with_email {
  width: 100% !important;
  display: block !important;
  border-radius: 50px !important;
  height: 50px;
  padding: 10px 10px !important;
}
.hdl_input_wrap label {
  font-size: 16px !important;
  font-weight: initial !important;
  margin-bottom: 0px !important;
}
.hdl_input_wrap input {
  border-radius: 7px !important;
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
}

.hld_login_form_wrap {
  max-width: 450px !important;
}
.hld_login_form_wrap input {
  border-radius: 50px !important;
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
  padding: 24px 22px !important;
}

.hld_login_form_wrap .nsl-button-google {
  background: transparent !important;
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
  border-radius: 40px !important;
  justify-content: center;
}

.hld_login_form_wrap
  div.nsl-container.nsl-container-block
  .nsl-container-buttons {
  width: 100%;
}

.hld_login_form_wrap label {
  font-weight: bold !important;
}
.hld_login_form_wrap .nsl-button-label-container {
  flex: initial !important;
}

.hld_login_form_wrap {
  color: black;
}

.section#hdlDashboard .container .tabs {
  padding-top: 1px !important;
}

.hld_form_wrap textarea {
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
}

.hld_label_normal label {
  font-size: 15px !important;
  margin-bottom: 0 !important;
  font-weight: bold !important;
}

.hld_label_normal input {
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
  border-radius: 5px !important;
}

#stripe-container label {
  font-size: 16px !important;
  font-weight: bold;
  margin-bottom: 12px;
}

#card-element {
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
  background-color: white;
  padding: 15px 19px !important;
  border-radius: 40px !important;
}
#hdlMakeStipePayment {
  width: 100%;
  padding: 10px 0;
  border-radius: 10px;
}

.ff-summary-wrapper {
  background-color: white;
}

/* hide the button */
.hld_form_main_submit_button {
  display: none;
}
.dashboard-wrapper .hld-img-wrap img {
  width: 100% !important;
}

/* todo: uncomment this before publish because it will hide the next button on login step */
/* .fluentform-step.active[data-name="form_step-13_1"] .ff-btn-next {
  display: none !important;
} */

/* Style for packages */

.hld_patient_packages {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: Arial, sans-serif;
}

.hld_patient_packages .package-option {
  display: block;
  cursor: pointer;
}

.hld_patient_packages input[type="radio"] {
  display: none;
}

.hld_patient_packages .package-box {
  text-align: left;
  border: 1px solid rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  padding: 25px 20px;
  transition: border-color 0.3s;
  position: relative;
  cursor: pointer;
  background-color: white !important;
}
.hld_patient_packages .package-box:hover {
  background: #f9f9f9;
}
.hld_patient_packages .save-label {
  background-color: #d4f7d4;
  color: #218838;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  margin-left: 10px;
}

.hdl_primary_color {
  color: var(--hld-color-primary);
}
#hdlMakeStipePayment {
  background-color: var(--hld-color-primary);
}

.hld_patient_packages .package-price {
  margin-top: 10px;
  color: rgba(0, 0, 0, 0.7);
  font-size: 13px;
}
.hld_patient_packages .package-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 10px;
  font-size: 17px;
}
.hld_patient_packages .package-price span {
  font-size: 18px;
  font-weight: bold;
}

.hld_patient_packages .package-description {
  font-size: 16px;
  margin-top: 5px;
  color: rgba(0, 0, 0, 0.7);
}

/* var(--hld-color-primary) border when selected */
.hld_patient_packages input[type="radio"]:checked + .package-box {
  border-color: var(--hld-color-primary);
}

/*  Style the selected radio (entire label gets var(--hld-color-primary) border) */
.hld_patient_packages input[type="radio"]:checked ~ .package-box {
  border-color: var(--hld-color-primary);
  box-shadow: 0 0 0 2px rgba(128, 0, 128, 0.3);
}

/* Style for Patient Login form */
.hld_login_wrapper {
  max-width: 660px;
  margin: 40px auto;
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  font-family: sans-serif;
}
.hld_login_form {
  display: flex;
  flex-direction: column;
}
.hld_login_form label {
  margin-top: 10px;
  font-weight: bold;
}
.hld_login_form input {
  padding: 10px;
  font-size: 16px;
  margin-top: 5px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.hld_login_button {
  margin-top: 20px;
  padding: 12px;
  font-size: 16px;
  background: #0073aa;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.hld_login_button:hover {
  background: #005f8d;
}
.hld_or_separator {
  text-align: center;
  margin: 20px 0;
  font-size: 14px;
  color: #888;
}
.hld_error_message {
  color: #b32d2e;
  background: #fbeaea;
  padding: 10px;
  border-left: 4px solid #b32d2e;
  margin-bottom: 20px;
  border-radius: 4px;
}
.hld_logged_in_notice {
  padding: 20px;
  background: #e6ffed;
  border-left: 4px solid #46b450;
  border-radius: 4px;
}
.hld_social_login {
  text-align: center;
}
.hld_social_login .nsl-container {
  display: inline-block;
}
.hld_patient_login_title {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
}

.hld_lab_order_container h5 {
  color: var(--hld-color-primary) !important;
}

.hld_color_primary {
  color: var(--hld-color-primary);
}
.hld_btn_view_detail {
  background: var(--hld-color-primary);
  border: 1px solid var(--hld-color-primary);
}
.hld_btn_order_status {
  max-width: 120px;
}

.hld_email_field label,
.hld_pwd_wrap label {
  font-size: 20px !important;
  margin-bottom: 5px !important;
  color: rgba(0, 0, 0, 0.8);
}

.hld_email_field input,
.hld_pwd_wrap input {
  border-radius: 50px !important;
  height: 50px;
  padding-left: 25px !important;
}

/* Css start for testimonial section in glp prefunnel form */
.hld_testimonial-section {
  max-width: 900px;
  margin: 0 auto;
  padding: 0px 20px;
  text-align: center;
  font-family: Arial, sans-serif;
}

.hld_section-title {
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 40px;
  font-weight: 600;
}
.hld_section-title span {
  color: #2e7d32; /* green highlight */
}

.hld_testimonial-row {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap; /* makes it responsive */
}

.hld_testimonial-image img {
  max-width: 100%;
  border-radius: 20px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  width: 100%;
}
.hld_testimonial-image {
  width: 100%;
}
.hld_testimonial-content {
  max-width: 500px;
  text-align: left;
}

.hld_testimonial-name {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 6px;
}

.hld_verified {
  color: #2e7d32;
  font-size: 14px;
  margin-bottom: 12px !important;
}

.hld_badge {
  display: inline-block;
  background: #2e7d32;
  color: #fff;
  padding: 4px 19px;
  border-radius: 20px;
  font-size: 12px;
  margin-bottom: 15px;
}

.hld_testimonial-text {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
}

/* section css ends */

/* BMI section css starts */
.hld_bmi-section {
  max-width: 100%;
  margin: 0 auto;
  font-family: Arial, sans-serif;
  text-align: center;
  width: 100%;
}

.hld_bmi-title {
  font-size: 20px;
  margin-bottom: 25px;
  font-weight: 600;
}

.hld_bmi-circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: 6px solid #2e7d32;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px auto;
  background: #f9f9f9;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.hld_bmi-label {
  font-size: 16px;
  color: #555;
}
.hld_bmi-value {
  font-size: 32px;
  font-weight: bold;
  color: #2e7d32;
}

.hld_bmi-notifications {
  margin: 20px 0;
}
.hld_bmi-notification {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 12px;
}
.hld_bmi-notification.hld_success {
  background: #e8f5e9;
  color: #2e7d32;
  border: 1px solid #2e7d32;
}
.hld_bmi-notification.hld_warning {
  background: #fff3e0;
  color: #e65100;
  border: 1px solid #e65100;
}

.hld_icon {
  font-size: 18px;
  flex-shrink: 0;
}

.hld_bmi-inputs {
  margin-top: 20px;
}
.hld_bmi-row {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
.hld_bmi-row input,
.hld_bmi-weight {
  flex: 1;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.hld_bmi-weight {
  width: 100%;
}

.hld_inches_wrap label,
.hld_feet_wrap label,
.hld_weight_wrap label {
  font-size: 18px !important;
  margin-bottom: 0 !important;
}

.hld_inches_wrap input,
.hld_feet_wrap input,
.hld_weight_wrap input {
  border-radius: 50px !important;
  height: 50px;
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
  padding-left: 20px !important;
  box-shadow: initial !important;
}
.hld_bmi-notification p {
  margin-bottom: 0 !important;
}

/* Section css ends */

.hld_address_element label,
.hld_email_input label {
  font-size: 18px !important;
  margin-bottom: 0 !important;
}

.hld_address_element input,
.hld_email_input input {
  height: 50px !important;
  padding-left: 20px !important;
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
}

/* Style for Male/Female Radio Custom */
.hld-custom-checkbox-group {
  display: flex;
  gap: 20px;
  margin: 20px 0;
}

.hld-custom-checkbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid #ccc;
  border-radius: 12px;
  padding: 20px;
  cursor: pointer;
  transition: border 0.3s ease, color 0.3s ease;
  width: 120px;
  text-align: center;
  width: 100%;
}

.hld-custom-checkbox svg {
  margin-bottom: 8px;
  width: 70px;
}

.hld-custom-checkbox.active {
  border: 3px solid var(--hld-color-primary); /* Selected state */
  color: var(--hld-color-primary);
}

/* ✅ Only add border on active without breaking your existing design */
.hld_patient_packages .hld-custom-checkbox.active .package-box {
  border: 2px solid var(--hld-color-primary);
  border-radius: 10px;
}
.package-option {
  padding: 0;
  border: none;
}

.hld_package {
  display: none;
}

/* Medicines */
/* .hld-custom-checkbox-group {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.hld-custom-checkbox {
  cursor: pointer;
  flex: 1 1 45%;
} */

.med-box {
  border-radius: 12px;
  padding: 25px 20px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
  width: 100%;
  text-align: left;
}
/* 
.hld-custom-checkbox.active .med-box {
  border-color: purple;
  box-shadow: 0 0 10px rgba(128, 0, 128, 0.3);
} */

.badges {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.hld-badge {
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 18px;
  color: #fff;
  font-weight: 500;
}

.hld-badge-blue {
  background: var(--hld-color-primary);
}

.hld-badge-pink {
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.4);
  color: black;
}

.med-compounded {
  font-size: 13px;
  font-weight: 500;
  color: #666;
  margin-bottom: 4px;
}

.med-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}

.med-title .star {
  font-size: 14px;
  color: gold;
}

.med-price {
  font-size: 22px;
  font-weight: 700;
  color: var(--hld-color-primary);
  margin-bottom: 8px;
}

.med-features {
  margin: 0 !important;
  padding-left: 18px !important;
  font-size: 16px;
  color: #444;
}

.hld-medicine {
  padding: 0 !important;
}
.med-features ul li {
  text-align: left;
}

/* Responsive****************************************************************************** */
/* Mobile only (up to 767px) */
@media screen and (max-width: 767px) {
  /* mobile styles */
  .hld-custom-checkbox-group {
    flex-direction: column;
  }
}

/* Tablet only (768px to 1024px) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* tablet styles */
}
