/* Variables */
.multistep-form {
  --primary-color: #ffffff;
  --primary-hover: #ffffff;
  --error-color: #ff6b6b;
  --error-hover: #ff5252;
  --text-color: #ffffff;
  --border-radius: 8px;
}

/* Form Steps Layout */
.multistep-form .form-step-1,
.multistep-form .form-step-2,
.multistep-form .form-step-3,
.multistep-form .form-step-4 {
  margin: 15px 0;
}

/* Introduction Styles */
.multistep-form .form-introduction,
.multistep-form .step-2-introduction,
.multistep-form .step-3-introduction {
  text-align: center;
  margin-bottom: 20px;
  color: var(--text-color);
  line-height: 1.6;
}

.multistep-form .form-introduction {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 15px;
}

.multistep-form .step-2-introduction,
.multistep-form .step-3-introduction {
  font-size: 15px;
  line-height: 1.2;
  margin-bottom: 15px;
}

.multistep-form .form-introduction p,
.multistep-form .step-2-introduction p,
.multistep-form .step-3-introduction p {
  margin: 10px 0;
}

/* Radio Options */
.multistep-form .radio-options {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
}

.multistep-form .radio-options input[type="radio"] {
  display: none !important;
}

.multistep-form .radio-options label {
  cursor: pointer;
}

.multistep-form .option-box {
  border: 1px solid var(--primary-color);
  padding: 10px;
  text-align: center;
  border-radius: var(--border-radius);
  transition: all 0.3s ease;
  width: 150px;
  background-color: rgba(100, 255, 218, 0.05);
  color: var(--text-color);
}

.multistep-form .option-box i {
  color: var(--primary-color);
  margin-bottom: 10px;
}

.multistep-form .option-box p {
  font-size: 18px;
  font-weight: bold;
}

.multistep-form .radio-options input:checked + .option-box {
  border-color: var(--primary-color);
  background-color: rgba(100, 255, 218, 0.15);
  box-shadow: 0 0 0 2px var(--primary-color);
  transform: translateY(-2px);
}

.multistep-form .option-box:hover {
  border-color: var(--primary-hover);
  background-color: rgba(100, 255, 218, 0.1);
}

/* Form Controls */
.multistep-form input[type="text"],
.multistep-form input[type="tel"],
.multistep-form textarea {
  width: 100%;
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid var(--primary-color);
  border-radius: var(--border-radius);
  font-size: 16px;
  transition: border-color 0.3s ease;
  background-color: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}

/* Asigurăm că textul este alb și în timpul completării */
.multistep-form input[type="text"]:active,
.multistep-form input[type="tel"]:active,
.multistep-form textarea:active,
.multistep-form input[type="text"]:focus-visible,
.multistep-form input[type="tel"]:focus-visible,
.multistep-form textarea:focus-visible {
  color: var(--text-color);
}

.multistep-form input[type="text"]:focus,
.multistep-form input[type="tel"]:focus,
.multistep-form textarea:focus {
  border-color: var(--primary-color) !important;
  background-color: rgba(255, 255, 255, 0.1);
}

.multistep-form input[type="text"]::placeholder,
.multistep-form input[type="tel"]::placeholder,
.multistep-form textarea::placeholder {
  color: rgba(224, 224, 224, 0.7);
}

.multistep-form textarea {
  resize: vertical;
  height: 150px;
}

/* Buttons */
.multistep-form .next-step-btn,
.multistep-form .next-step-1,
.multistep-form .next-step-2,
.multistep-form .next-step-3,
.multistep-form input[type="submit"] {
  background-color: var(--primary-color) !important;
  color: #1a1a1a !important;
  padding: 12px 25px;
  font-size: 16px;
  border: none !important;
  border-radius: var(--border-radius);
  cursor: pointer;
  display: block;
  margin: 15px auto;
  transition: background-color 0.3s ease;
  font-weight: 600;
}

.multistep-form .next-step-btn:hover,
.multistep-form .next-step-1:hover,
.multistep-form .next-step-2:hover,
.multistep-form .next-step-3:hover,
.multistep-form input[type="submit"]:hover {
  background-color: var(--primary-hover) !important;
}

.multistep-form .back-to-step-1 {
  background-color: var(--error-color);
  color: white;
  padding: 10px 20px;
  font-size: 15px;
  border: none;
  border-radius: var(--border-radius);
  cursor: pointer;
  display: block;
  margin: 8px auto;
  transition: background-color 0.3s ease;
}

.multistep-form .back-to-step-1:hover {
  background-color: var(--error-hover);
}

/* Contact Form 7 Response */
.multistep-form .wpcf7-response-output {
  background-color: rgba(100, 255, 218, 0.1);
  color: var(--text-color);
  padding: 15px;
  border-radius: var(--border-radius);
  font-size: 16px;
  margin-top: 20px;
  text-align: center;
  border: 1px solid var(--primary-color);
}

.multistep-form .wpcf7-response-output.wpcf7-validation-errors {
  background-color: rgba(255, 107, 107, 0.1);
  border-color: var(--error-color);
}

.multistep-form .wpcf7 .wpcf7-form-control-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Recapitulare */
.multistep-form .recapitulare {
  text-align: center;
  margin: 10px auto;
  color: var(--text-color);
}

.multistep-form .recapitulare p {
  font-size: 14px;
  margin: 5px 0;
  text-align: center;
  line-height: 1.2;
}

.multistep-form .recapitulare strong {
  color: var(--primary-color);
  font-weight: 600;
}

/* Form step 4 specific styles */
.multistep-form .form-step-4 {
  margin: 10px 0;
}

.multistep-form .form-step-4 p {
  font-size: 14px;
  margin: 5px 0;
  text-align: center;
  line-height: 1.2;
  color: var(--text-color);
}

/* Media Queries */
@media (min-width: 1024px) {
  .multistep-form .radio-options {
    justify-content: center;
    gap: 15px;
  }
  
  .multistep-form .radio-options .option-box {
    width: 150px;
  }
  
  .multistep-form .radio-options label {
    margin-right: 0;
  }
}

@media (max-width: 768px) {
  .multistep-form .next-step-btn {
    width: 100%;
  }

  .multistep-form input[type="text"],
  .multistep-form input[type="tel"],
  .multistep-form textarea {
    font-size: 14px;
    padding: 10px;
  }

  .multistep-form .step-2-introduction,
  .multistep-form .step-3-introduction {
    font-size: 16px;
  }

  .multistep-form .radio-options {
    padding: 0 15px;
  }

  .multistep-form .option-box {
    width: 120px;
    padding: 10px;
    margin: 0 5px;
  }

  .multistep-form .option-box p {
    font-size: 16px;
  }
}

.multistep-form .wpcf7 form .wpcf7-recaptcha {
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

.multistep-form .wpcf7-recaptcha > div {
    max-width: 100%;
    transform: scale(0.9);
    transform-origin: center;
}

@media screen and (max-width: 480px) {
    .multistep-form .wpcf7-recaptcha > div {
        transform: scale(0.77);
        transform-origin: center;
    }
}