      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }

      body {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          Oxygen, Ubuntu, Cantarell, sans-serif;
        /* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); */
        /* min-height: 100vh; */
        /* padding: 20px; */
      }

      /* Wrapper to isolate plugin styles */
      .tensairise-quote-form-wrapper {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
        background: transparent;
      }

      .tensairise-quote-form-wrapper .container {
        max-width: 800px;
        margin: 0 auto;
        background: white;
        border-radius: 20px;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        overflow: hidden;
      }

      .tensairise-quote-form-wrapper .header {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        padding: 30px;
        text-align: center;
      }

      .tensairise-quote-form-wrapper .header h1 {
        font-size: 28px;
        margin-bottom: 10px;
        color: white;
      }

      .tensairise-quote-form-wrapper .header p {
        opacity: 0.9;
        font-size: 16px;
        color: rgba(255, 255, 255, 0.9);
      }

      .tensairise-quote-form-wrapper .progress-container {
        padding: 20px 30px;
        background: #f8f9fa;
        border-bottom: 1px solid #e9ecef;
      }

      .tensairise-quote-form-wrapper .progress-label {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
        font-size: 14px;
        color: #6c757d;
      }

      .tensairise-quote-form-wrapper .progress-bar {
        height: 8px;
        background: #e9ecef;
        border-radius: 10px;
        overflow: hidden;
      }

      .tensairise-quote-form-wrapper .progress-fill {
        height: 100%;
        background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
        transition: width 0.3s ease;
        border-radius: 10px;
      }

      .tensairise-quote-form-wrapper .form-content {
        padding: 40px 30px;
      }

      .tensairise-quote-form-wrapper .step {
        display: none;
      }

      .tensairise-quote-form-wrapper .step.active {
        display: block;
        animation: fadeIn 0.3s ease;
      }

      @keyframes fadeIn {
        from {
          opacity: 0;
          transform: translateY(10px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      .tensairise-quote-form-wrapper .step-title {
        font-size: 24px;
        color: #2d3748;
        margin-bottom: 10px;
      }

      .tensairise-quote-form-wrapper .step-subtitle {
        color: #718096;
        margin-bottom: 30px;
      }

      .tensairise-quote-form-wrapper .form-group {
        margin-bottom: 25px;
      }

      .tensairise-quote-form-wrapper label {
        display: block;
        margin-bottom: 8px;
        color: #2d3748;
        font-weight: 500;
      }

      .tensairise-quote-form-wrapper label.required::after {
        content: " *";
        color: #e53e3e;
      }

      .tensairise-quote-form-wrapper input[type="text"],
      .tensairise-quote-form-wrapper input[type="email"],
      .tensairise-quote-form-wrapper input[type="tel"],
      .tensairise-quote-form-wrapper select,
      .tensairise-quote-form-wrapper textarea {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #e2e8f0;
        border-radius: 8px;
        font-size: 16px;
        transition: border-color 0.3s;
        margin-bottom: 0px; /* Reset WP defaults */
      }

      .tensairise-quote-form-wrapper input:focus,
      .tensairise-quote-form-wrapper select:focus,
      .tensairise-quote-form-wrapper textarea:focus {
        outline: none;
        border-color: #667eea;
      }

      .tensairise-quote-form-wrapper textarea {
        resize: vertical;
        min-height: 100px;
      }

      .tensairise-quote-form-wrapper .checkbox-group,
      .tensairise-quote-form-wrapper .radio-group {
        display: flex;
        flex-direction: column;
        gap: 15px;
      }

      .tensairise-quote-form-wrapper .checkbox-item,
      .tensairise-quote-form-wrapper .radio-item {
        display: flex;
        align-items: flex-start;
        padding: 15px;
        border: 2px solid #e2e8f0;
        border-radius: 8px;
        cursor: pointer;
        transition: all 0.3s;
      }

      .tensairise-quote-form-wrapper .checkbox-item:hover,
      .tensairise-quote-form-wrapper .radio-item:hover {
        border-color: #667eea;
        background: #f7fafc;
      }

      .tensairise-quote-form-wrapper .checkbox-item.selected,
      .tensairise-quote-form-wrapper .radio-item.selected {
        border-color: #667eea;
        background: #edf2f7;
      }

      .tensairise-quote-form-wrapper .checkbox-item input,
      .tensairise-quote-form-wrapper .radio-item input {
        margin-right: 12px;
        margin-top: 3px;
        width: 18px;
        height: 18px;
        cursor: pointer;
      }

      .tensairise-quote-form-wrapper .item-content {
        flex: 1;
      }

      .tensairise-quote-form-wrapper .item-title {
        font-weight: 600;
        color: #2d3748;
        margin-bottom: 5px;
      }

      .tensairise-quote-form-wrapper .item-description {
        font-size: 14px;
        color: #718096;
        margin-bottom: 8px;
      }

      .tensairise-quote-form-wrapper .item-features {
        font-size: 13px;
        color: #4a5568;
        line-height: 1.6;
      }

      .tensairise-quote-form-wrapper .item-price {
        font-weight: 600;
        color: #667eea;
        margin-top: 5px;
      }

      .tensairise-quote-form-wrapper .platform-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 10px;
        margin-top: 10px;
      }

      .tensairise-quote-form-wrapper .platform-item {
        padding: 10px;
        border: 2px solid #e2e8f0;
        border-radius: 8px;
        text-align: center;
        cursor: pointer;
        transition: all 0.3s;
      }

      .tensairise-quote-form-wrapper .platform-item:hover {
        border-color: #667eea;
        background: #f7fafc;
      }

      .tensairise-quote-form-wrapper .platform-item.selected {
        border-color: #667eea;
        background: #edf2f7;
      }

      .tensairise-quote-form-wrapper .button-group {
        display: flex;
        gap: 15px;
        margin-top: 40px;
        padding-top: 30px;
        border-top: 1px solid #e2e8f0;
      }

      .tensairise-quote-form-wrapper button {
        padding: 14px 30px;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s;
      }

      .tensairise-quote-form-wrapper .btn-primary {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        flex: 1;
      }

      .tensairise-quote-form-wrapper .btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
      }

      /* Disabled state for primary button */
      .tensairise-quote-form-wrapper .btn-primary:disabled {
        opacity: 0.7;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
      }

      .tensairise-quote-form-wrapper .btn-secondary {
        background: #e2e8f0;
        color: #2d3748;
      }

      .tensairise-quote-form-wrapper .btn-secondary:hover {
        background: #cbd5e0;
      }

      .tensairise-quote-form-wrapper .helper-link {
        color: #667eea;
        text-decoration: none;
        font-size: 14px;
        display: inline-block;
        margin-top: 10px;
      }

      .tensairise-quote-form-wrapper .helper-link:hover {
        text-decoration: underline;
      }

      .tensairise-quote-form-wrapper .error-message {
        color: #e53e3e;
        font-size: 14px;
        margin-top: 5px;
        display: none;
      }

      .tensairise-quote-form-wrapper .thank-you-page {
        display: none;
        padding: 40px 30px;
        text-align: center;
      }

      .tensairise-quote-form-wrapper .thank-you-page.active {
        display: block;
      }

      .tensairise-quote-form-wrapper .success-icon {
        width: 80px;
        height: 80px;
        background: #48bb78;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 20px;
        font-size: 40px;
        color: white;
      }

      .tensairise-quote-form-wrapper .summary-box {
        background: #f7fafc;
        padding: 25px;
        border-radius: 12px;
        margin: 30px 0;
        text-align: left;
      }

      .tensairise-quote-form-wrapper .summary-item {
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid #e2e8f0;
      }

      .tensairise-quote-form-wrapper .summary-item:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
      }

      .tensairise-quote-form-wrapper .summary-label {
        font-weight: 600;
        color: #2d3748;
        margin-bottom: 5px;
      }

      .tensairise-quote-form-wrapper .summary-value {
        color: #4a5568;
      }

      .tensairise-quote-form-wrapper .next-steps {
        text-align: left;
        margin-top: 30px;
      }

      .tensairise-quote-form-wrapper .next-step-item {
        display: flex;
        gap: 15px;
        margin-bottom: 20px;
        align-items: flex-start;
      }

      .tensairise-quote-form-wrapper .step-number {
        width: 40px;
        height: 40px;
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        flex-shrink: 0;
      }

      .tensairise-quote-form-wrapper .cta-buttons {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-top: 30px;
      }

      .tensairise-quote-form-wrapper .cta-button {
        padding: 15px 30px;
        background: white;
        border: 2px solid #667eea;
        color: #667eea;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
        transition: all 0.3s;
        display: inline-block;
      }

      .tensairise-quote-form-wrapper .cta-button:hover {
        background: #667eea;
        color: white;
      }

      @media (max-width: 768px) {
        .tensairise-quote-form-wrapper .container {
          border-radius: 0;
        }

        .tensairise-quote-form-wrapper .form-content {
          padding: 30px 20px;
        }

        .tensairise-quote-form-wrapper .platform-grid {
          grid-template-columns: 1fr;
        }
      }

      /* --- NEW STYLES for Missing Features --- */

      /* Modal styles */
      .tensairise-quote-form-wrapper .tensairise-modal {
          display: none;
          position: fixed;
          z-index: 9999;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          overflow: auto;
          background-color: rgba(0,0,0,0.5);
          backdrop-filter: blur(5px);
          animation: fadeIn 0.3s;
      }

      .tensairise-quote-form-wrapper .modal-content {
          background-color: #fefefe;
          margin: 10% auto;
          padding: 30px;
          border-radius: 12px;
          width: 90%;
          max-width: 600px;
          box-shadow: 0 4px 20px rgba(0,0,0,0.2);
          position: relative;
          animation: slideDown 0.3s;
      }

      @keyframes slideDown {
          from { transform: translateY(-50px); opacity: 0; }
          to { transform: translateY(0); opacity: 1; }
      }

      .tensairise-quote-form-wrapper .close-modal {
          color: #aaa;
          float: right;
          font-size: 28px;
          font-weight: bold;
          cursor: pointer;
          transition: color 0.2s;
      }

      .tensairise-quote-form-wrapper .close-modal:hover,
      .tensairise-quote-form-wrapper .close-modal:focus {
          color: #000;
          text-decoration: none;
          cursor: pointer;
      }
      
      .tensairise-quote-form-wrapper .quiz-step {
          animation: fadeIn 0.3s;
      }

      /* Indented sub-options */
      .tensairise-quote-form-wrapper .sub-options {
          margin-left: 20px;
          margin-top: 10px;
          padding-left: 15px;
          border-left: 2px solid #e2e8f0;
      }
      
      .tensairise-quote-form-wrapper .field-note {
          font-size: 13px;
          color: #718096;
          margin-top: 5px;
      }
