  .select2-container {
    font-size: var(--font-size-xs);

    .select2-results__option {
      font-size: var(--font-size-xs);
    }
  }

  .woocommerce {
    fieldset {
      margin-bottom: 30px;
      padding: 20px;
      border-radius: 6px;
      border: 1px solid var(--color-neutral-200);
    }

    /* Common Form Row Styling */
    .form-row {
      margin-bottom: 20px;
      padding: 0;

      &.form-row-first,
      &.form-row-last {
        width: 48%;
        float: left;

        @media (max-width: 576px) {
          width: 100%;
          float: none;
        }
      }

      &.form-row-last {
        float: right;

        @media (max-width: 576px) {
          float: none;
        }
      }

      &.form-row-wide {
        width: 100%;
        clear: both;
      }

      label {
        display: block;
        margin-bottom: 8px;
        font-size: 14px;
        font-weight: 500;
        color: var(--color-neutral-800);

        .required {
          color: var(--color-error-500);
          text-decoration: none;
        }
      }

      .woocommerce-input-wrapper {
        display: block;
        width: 100%;
      }

      /* Inputs and Textareas */
      .input-text,
      input[type='text'],
      input[type='email'],
      input[type='password'],
      input[type='tel'],
      textarea,
      select {
        width: 100%;
        height: 50px;
        padding: 0 16px;
        font-size: var(--font-size-xs);
        border: 1px solid var(--color-neutral-300);
        border-radius: 8px;
        background-color: var(--color-white);
        box-sizing: border-box;
        transition: all 0.3s ease;

        &:focus {
          outline: none;
          border-color: var(--color-primary-200);
          box-shadow: 0 0 0 2px rgba(231, 140, 21, 0.1);
        }

        &::placeholder {
          color: var(--color-neutral-400);
        }
      }

      textarea {
        height: auto;
        padding: 16px;
        min-height: 120px;
      }

      select {
        appearance: none;
        background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23364157%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
        background-repeat: no-repeat;
        background-position: right 16px top 50%;
        background-size: 10px auto;
      }
    }

    /* Buttons */
    button.button,
    input[type="submit"].button,
    .button.alt {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      height: 50px !important;
      padding: 0 30px !important;
      background-color: var(--color-primary-200) !important;
      color: var(--color-white) !important;
      border: 1px solid var(--color-primary-200) !important;
      border-radius: 30px !important;
      font-size: var(--font-size-xs) !important;
      font-weight: 500 !important;
      text-decoration: none !important;
      transition: all 0.3s ease !important;
      cursor: pointer;

      &:hover {
        background-color: var(--color-secondary-200) !important;
        border-color: var(--color-secondary-200) !important;
      }

      &:disabled,
      &.disabled {
        background-color: var(--color-neutral-200) !important;
        border-color: var(--color-neutral-200) !important;
        color: var(--color-neutral-400) !important;
        cursor: not-allowed;
      }
    }

    /* Layout for Login/Register Columns */
    .u-columns {
      display: flex;
      gap: 60px;
      margin-top: 20px;

      @media (max-width: 992px) {
        flex-direction: column;
        gap: 40px;
      }

      &:before,
      &:after {
        display: none;
      }

      .u-column1,
      .u-column2 {
        flex: 1;
      }
    }

    /* Checkout Sections */
    .woocommerce-billing-fields,
    .woocommerce-shipping-fields,
    .woocommerce-additional-fields {
      margin-bottom: 40px;

      h3 {
        font-size: 24px;
        margin-bottom: 24px;
        color: var(--color-neutral-800);
      }
    }

    /* Checkout Review Order & Payment */
    #order_review {
      padding: 30px;
      background-color: var(--color-neutral-50);
      border-radius: 12px;

      .shop_table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 24px;

        th,
        td {
          padding: 12px 0;
          border-bottom: 1px solid var(--color-neutral-200);
        }

        .product-total,
        .cart-subtotal,
        .order-total {
          text-align: right;
        }

        .order-total {
          font-weight: 700;
          font-size: 18px;
          color: var(--color-primary-200);
        }
      }

      #payment {
        ul.payment_methods {
          margin: 0 0 24px;
          padding: 0;
          list-style: none;

          li {
            margin-bottom: 16px;

            input {
              margin-right: 10px;
            }

            label {
              font-weight: 600;
              color: var(--color-neutral-800);
            }

            .payment_box {
              margin-top: 10px;
              padding: 16px;
              background-color: var(--color-white);
              border-radius: 8px;
              font-size: 14px;
              color: var(--color-neutral-600);
            }
          }
        }

        .place-order {
          padding: 0;
          margin: 0;

          .button {
            width: 100%;
          }
        }
      }
    }

    /* Coupon Form */
    .woocommerce-form-coupon {
      padding: 24px;
      margin-bottom: 30px;
      border: 1px dashed var(--color-primary-200);
      border-radius: 12px;
      display: flex;
      gap: 16px;
      align-items: flex-end;

      @media (max-width: 576px) {
        flex-direction: column;
        align-items: stretch;
      }

      .form-row {
        margin-bottom: 0;
        flex: 1;
      }

      button {
        flex: 0 0 auto;
      }
    }
  }

  #customer_login {
    h2 {
      margin: 0;
      font-size: var(--font-size-lg);
    }
  }

  .woocommerce-form-login {

    .woocommerce-form__label {
      display: inline-flex !important;
      align-items: center;
      gap: 10px;
      padding-top: 14px;

      input {
        width: 20px;
        height: 20px;
      }
    }

    .lost_password {
      font-size: var(--font-size-xs);
    }
  }

  .woocommerce-form-register {
    .woocommerce-privacy-policy-text {
      font-size: var(--font-size-xs);
    }

    .woocommerce-password-strength,
    #password_strength,
    #password_strength.woocommerce-password-strength {
      display: block;
      margin-top: 8px;
      padding: 6px 10px !important;
      font-size: 12px !important;
      font-weight: 500 !important;
      line-height: 1.35 !important;
      text-align: left !important;
    }

    .woocommerce-password-hint,
    small.woocommerce-password-hint {
      display: block;
      margin-top: 8px;
      font-size: 12px !important;
      line-height: 1.45 !important;
    }

    /* Side-by-side Password and Repeat Password */
    .form-row:has(#reg_password) {
      width: 48%;
      float: left;
      clear: both;

      @media (max-width: 576px) {
        width: 100%;
        float: none;
      }
    }

    .form-row:has(#reg_password_repeat) {
      @media (max-width: 576px) {
        /* Ensure it clears on mobile if needed, though form-row-last handles it */
      }
    }
  }