 /* Melhorias de UI/UX */
 .modern-card {
     border-radius: 20px;
     background: #ffffff;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
     border: none;
     overflow: hidden;
 }

 .step-progress {
     position: relative;
     margin: 40px auto 60px;
     max-width: 500px;
 }

 .step-item {
     position: relative;
     text-align: center;
     flex: 1;
 }

 .step-circle {
     width: 60px;
     height: 60px;
     border-radius: 50%;
     background: #e0e0e0;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 12px;
     font-size: 24px;
     font-weight: 700;
     color: #888;
     transition: all 0.3s ease;
     position: relative;
     z-index: 2;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
 }

 .step-circle.active {
     background: linear-gradient(135deg, #968447 0%, #c4a962 100%);
     color: white;
     transform: scale(1.1);
     box-shadow: 0 6px 25px rgba(150, 132, 71, 0.4);
 }

 .step-circle.completed {
     background: #d4d4d4;
     color: #666;
 }

 .step-label {
     font-size: 13px;
     color: #666;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     width: 120px;
 }

 .step-label.active {
     color: #968447;
 }

 .step-connector {
     position: absolute;
     top: 30px;
     left: 50%;
     right: -50%;
     height: 3px;
     background: #e0e0e0;
     z-index: 1;
 }

 .step-item:last-child .step-connector {
     display: none;
 }

 .form-section {
     padding: 40px;
     animation: fadeInUp 0.5s ease;
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .form-label-modern {
     font-weight: 600;
     color: #333;
     margin-bottom: 8px;
     font-size: 14px;
 }

 .form-control-modern {
     border: 2px solid #e8e8e8;
     border-radius: 12px;
     padding: 12px 16px;
     font-size: 15px;
     transition: all 0.3s ease;
 }

 .form-control-modern:focus {
     border-color: #968447;
     box-shadow: 0 0 0 0.2rem rgba(150, 132, 71, 0.15);
     background-color: #fff;
 }

 .btn-modern-primary {
     background: linear-gradient(135deg, #968447 0%, #c4a962 100%);
     border: none;
     border-radius: 12px;
     padding: 14px 40px;
     font-weight: 700;
     font-size: 16px;
     color: white;
     transition: all 0.3s ease;
     box-shadow: 0 4px 15px rgba(150, 132, 71, 0.3);
 }

 .btn-modern-primary:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 25px rgba(150, 132, 71, 0.4);
     background: linear-gradient(135deg, #c4a962 0%, #968447 100%);
 }

 .btn-modern-secondary {
     background: white;
     border: 2px solid #968447;
     border-radius: 12px;
     padding: 12px 30px;
     font-weight: 600;
     color: #968447;
     transition: all 0.3s ease;
 }

 .btn-modern-secondary:hover {
     background: #968447;
     color: white;
 }

 .success-animation {
     text-align: center;
     padding: 20px;
 }

 .checkbox-modern {
     display: flex;
     align-items: flex-start;
     padding: 16px;
     background: #f8f9fa;
     border-radius: 12px;
     margin: 20px 0;
 }

 .checkbox-modern input[type="checkbox"] {
     width: 20px;
     height: 20px;
     margin-right: 12px;
     margin-top: 2px;
     cursor: pointer;
     accent-color: #968447;
 }

 .checkbox-modern label {
     cursor: pointer;
     margin: 0;
     font-size: 14px;
     line-height: 1.6;
 }

 .heading-modern {
     font-size: 28px;
     font-weight: 700;
     color: #333;
     margin-bottom: 30px;
     text-align: center;
 }

 .divider-or {
     text-align: center;
     margin: 30px 0;
     position: relative;
 }

 .divider-or span {
     background: white;
     padding: 0 20px;
     color: #666;
     font-weight: 600;
     position: relative;
     z-index: 2;
 }

 .divider-or::before {
     content: '';
     position: absolute;
     top: 50%;
     left: 0;
     right: 0;
     height: 1px;
     background: #e0e0e0;
     z-index: 1;
 }

 .radio-group-modern {
     display: flex;
     gap: 16px;
     margin: 16px 0;
 }

 .radio-option-modern {
     flex: 1;
     position: relative;
 }

 .radio-option-modern input[type="radio"] {
     position: absolute;
     opacity: 0;
 }

 .radio-option-modern label {
     display: block;
     padding: 16px;
     border: 2px solid #e8e8e8;
     border-radius: 12px;
     text-align: center;
     cursor: pointer;
     transition: all 0.3s ease;
     font-weight: 600;
 }

 .radio-option-modern input[type="radio"]:checked+label {
     border-color: #968447;
     background: #fff9f0;
     color: #968447;
 }

 .form-control-modern {
     height: auto !important;
 }

 .radio-option-modern label:hover {
     border-color: #c4a962;
 }

 .gp20 {
     gap: 36px;
 }