.woocommerce-account {
  /* Page header */
  .entry-header h1 {
    margin-bottom: var(--spacing-horizontal-small);
    padding: var(--spacing-horizontal-small) 0;
    font-family: var(--tertiary-font-family);
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 600;
    text-align: center;
  }

  .woocommerce-MyAccount-navigation-link--p24-one-click {
    display: none !important;
  }

  .woocommerce-MyAccount-content {
    p {
      font-family: var(--secondary-font-family);
      font-size: var(--fs-caption);
      line-height: var(--lh-caption);
      font-weight: 300;
    }

    strong {
      font-weight: 500;
    }

    a {
      color: var(--color-dark);
      text-decoration: none;
      font-weight: 500;
      transition: all 0.3s ease;

      &:hover {
        opacity: 0.5;
      }

      &:focus {
        outline: none;
        opacity: 0.5;
      }
    }
  }
}

/* WooCommerce Account Login/Register Page Styles */
.woocommerce-account:not(.logged-in) {
  /* Main content container */
  .entry-content {
    margin: 0 auto;
    padding: 0 var(--spacing-horizontal-small);
  }

  .woocommerce-notices-wrapper {
    margin-bottom: var(--spacing-horizontal-small);
  }

  /* Login/Register form container */
  .col2-set#customer_login {
    display: flex;
    gap: 60px;
    margin: 0 auto;
    background: transparent;
    border: none;
    box-shadow: none;

    .col-1,
    .col-2 {
      width: 100%;
      float: none;
      margin: 0 0 var(--spacing-horizontal-small) 0;
      background: var(--color-white);
      border: 1px solid var(--color-light);
      border-radius: 4px;
      padding: var(--spacing-horizontal-small);
      box-shadow: none;
    }

    h2 {
      font-family: var(--primary-font-family);
      font-size: 24px;
      line-height: 32px;
      font-weight: 600;
      padding: var(--spacing-horizontal-small);
      color: var(--color-dark);
      text-align: center;
    }
  }
}

/* Form styling - unified selectors */
.woocommerce-account .woocommerce-form,
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register,
.woocommerce-ResetPassword,
.lost_reset_password,
.woocommerce-EditAccountForm,
.edit-account,
.woocommerce-address-fields {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;

  .password-input {
    .show-password-input {
      height: 72px;
      background-color: transparent;
      border: none;
      padding: 24px;
      box-shadow: none;
      cursor: pointer;

      &::after {
        width: 22.5px;
        text-align: center;
        color: var(--color-button);
        transition: 0.3s ease;
      }

      &.display-password::after {
        content: "\f070"; /* Przekreślone oko */
      }

      &:hover::after {
        color: #000;
      }
      &:focus {
        outline: none;
      }
    }
  }

  /* Input fields */
  .woocommerce-Input,
  .input-text,
  input[type="text"],
  input[type="email"],
  input[type="password"] {
    width: 100% !important;
    height: 72px !important;
    padding: 24px !important;
    background-color: #fff !important;
    color: #0e0e0e !important;
    border: 1px solid #b4b4b4 !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-family: "DM Sans", sans-serif !important;
    font-weight: 300 !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    margin: 0 0 8px 0 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;

    &::placeholder {
      opacity: 1 !important;
      color: #b4b4b4 !important;
    }

    &:hover,
    &:focus {
      background-color: #fff !important;
      outline: none !important;
      border-color: #545454 !important;
    }
  }

  /* Labels */
  label {
    font-size: var(--fs-caption) !important;
    font-family: var(--secondary-font-family) !important;
    font-weight: 300 !important;
    color: var(--color-light) !important;
    margin-bottom: 8px !important;
    display: block !important;

    .required {
      color: var(--color-red) !important;
    }
  }

  /* Form rows */
  .woocommerce-form-row,
  .form-row {
    margin-bottom: 16px !important;
  }

  /* Checkbox styling */
  .woocommerce-form__input-checkbox,
  input[type="checkbox"] {
    all: unset !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 23px !important;
    height: 23px !important;
    width: 23px !important;
    margin: 0 12px 0 0 !important;
    background-color: #fff !important;
    border: 1px solid var(--color-light) !important;
    border-radius: 3px !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
    vertical-align: top !important;
    float: left !important;

    &:before {
      background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMDg0NzEgOS40Njc1NkwxLjI5MTY0IDUuNzM2MDJMMCA2Ljk5Nzc2TDUuMDg0NzEgMTJMMTYgMS4yNjE3NEwxNC43MTc1IDBMNS4wODQ3MSA5LjQ2NzU2WiIgZmlsbD0iI0ZCRkJGQiIvPgo8L3N2Zz4K);
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: cover;
      content: "";
      display: block;
      height: 12px;
      scale: 0.7;
      width: 16px;
      transition: scale 0.2s ease;
    }

    &:hover {
      border-color: var(--color-black) !important;
    }

    &:checked {
      border-color: var(--color-black) !important;
      background-color: var(--color-black) !important;

      &:before {
        scale: 1;
      }
    }

    &:focus {
      outline: none !important;
      border-color: var(--color-dim) !important;
    }
  }

  /* Checkbox labels */
  .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0 !important;
    cursor: pointer !important;
    line-height: var(--lh-caption) !important;
    font-size: var(--fs-caption) !important;
    font-family: var(--secondary-font-family) !important;
    font-weight: 300 !important;
    color: var(--color-dark) !important;
    margin-bottom: 16px !important;

    span {
      margin-left: 0 !important;
      color: var(--color-dark) !important;
      line-height: var(--lh-caption) !important;
    }
  }

  /* Submit buttons */
  .woocommerce-button,
  .woocommerce-Button,
  .button,
  button[type="submit"],
  .woocommerce-form-login__submit,
  .woocommerce-form-register__submit {
    position: static;
    width: 100% !important;
    height: 72px !important;
    padding: 24px !important;
    background: #252525 !important;
    color: #f9fbf3 !important;
    border: 1px solid #252525 !important;
    border-radius: 4px !important;
    font-size: 18px !important;
    line-height: 20px !important;
    font-family: "DM Sans", sans-serif !important;
    font-weight: 500 !important;
    transition: 0.3s ease !important;
    text-shadow: none !important;
    box-shadow: none !important;
    margin-top: 24px !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    cursor: default !important;

    &:not(:disabled):hover {
      background: #fff !important;
      color: #252525 !important;
      border: 1px solid #252525 !important;
      box-shadow: none !important;
      cursor: pointer !important;
    }

    &:focus {
      background: #fff !important;
      color: #252525 !important;
      border: 1px solid #252525 !important;
      box-shadow: none !important;
    }
  }

  /* Lost password link */
  .lost_password a,
  .woocommerce-LostPassword a {
    color: var(--color-light) !important;
    text-decoration: none !important;
    font-family: var(--secondary-font-family) !important;
    font-size: var(--fs-caption) !important;
    font-weight: 300 !important;
    transition: color 0.3s ease !important;
    display: block !important;
    text-align: center !important;
    margin-top: 16px !important;

    &:hover,
    &:focus {
      color: var(--color-dim) !important;
      outline: none !important;
    }
  }

  .woocommerce-privacy-policy-text {
    p {
      line-height: var(--lh-caption);
      font-size: var(--fs-caption);
      font-family: var(--secondary-font-family);
      font-weight: 300;
      margin-bottom: 12px;
    }
    a {
      color: var(--color-black) !important;
      transition: 0.3s ease;
      text-transform: capitalize;

      @media (hover: hover) {
        &:hover {
          opacity: 0.5;
        }
      }
    }
  }

  .woocommerce-password-strength {
    font-weight: 300;
    padding: 0;
    font-size: 13.5px;
    font-family: var(--secondary-font-family);
    font-weight: 400;
    line-height: 1;
    margin-bottom: 16px;
    text-align: left;

    &.short {
      color: var(--color-red);
    }
  }
  .woocommerce-password-hint {
    display: block;
    line-height: 22px;
    font-size: 13.5px;
    font-family: var(--secondary-font-family);
    font-weight: 400;
  }

  .error-message {
    /* position: absolute; */
    display: block;
    width: 100%;
    color: var(--color-red);
    pointer-events: none;
    font-size: 13.5px;
    line-height: 120%;
    font-family: var(--secondary-font-family);
    font-weight: 400;
  }
}

/* Lost Password Page Styles */
.woocommerce-account.woocommerce-lost-password {
  /* Page header */
  .entry-header h1 {
    margin-bottom: var(--spacing-horizontal-small);
    padding: var(--spacing-horizontal-small) 0;
    font-family: var(--tertiary-font-family);
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 600;
    text-align: center;
  }

  /* Main content container */
  .entry-content {
    margin: 0 auto;
    padding: 0 var(--spacing-horizontal-small);
    max-width: 864px;

    .form-row-first {
      width: 100%;
    }
  }

  form > p {
    width: 100%;
  }

  .woocommerce-notices-wrapper {
    margin-bottom: var(--spacing-horizontal-small);
  }

  /* Lost password form container */
  .woocommerce-ResetPassword,
  .lost_reset_password {
    background: var(--color-white);
    border: 1px solid var(--color-light);
    border-radius: 4px;
    padding: var(--spacing-horizontal-small) var(--spacing-horizontal-small)
      calc(var(--spacing-horizontal-small) * 2) !important;
    box-shadow: none;

    > p:first-of-type {
      font-family: var(--primary-font-family);
      font-size: 24px;
      line-height: 32px;
      font-weight: 600;
      margin: 0 0 0.5407911001em;
      padding: var(--spacing-horizontal-small);
      color: var(--color-dark);
      text-align: center;
    }

    .custom-lost-password-content {
      font-family: var(--secondary-font-family);
      font-size: var(--fs-caption);
      font-weight: 300;
      color: var(--color-dark);
      text-align: center;
      margin-bottom: var(--spacing-horizontal-small);
      line-height: var(--lh-caption);
      margin-bottom: 12px;
      text-align: left;
    }
  }

  /* Lost password confirmation message */
  .woocommerce-message {
    background: var(--color-white) !important;
    border: 1px solid var(--color-light) !important;
    border-left: 4px solid var(--color-gold) !important;
    border-radius: 4px !important;
    padding: 16px !important;
    margin: 0 0 20px 0 !important;
    box-shadow: none !important;
    font-family: var(--secondary-font-family) !important;
    font-size: var(--fs-caption) !important;
    font-weight: 300 !important;
    color: var(--color-dark) !important;
    list-style: none !important;
    text-align: center;

    li {
      list-style: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }
  }

  /* Lost password confirmation page text */
  .entry-content > p {
    font-family: var(--secondary-font-family);
    font-size: var(--fs-caption);
    font-weight: 300;
    color: var(--color-dark);
    text-align: center;
    line-height: var(--lh-caption);
    background: var(--color-white);
    border: 1px solid var(--color-light);
    border-radius: 4px;
    padding: var(--spacing-horizontal-small);
    margin: 0 auto;
  }
}

/* Edit Account Page Styles */
.woocommerce-account.woocommerce-edit-account {
  /* Page header */
  .entry-header h1 {
    margin-bottom: var(--spacing-horizontal-small);
    padding: var(--spacing-horizontal-small) 0;
    font-family: var(--tertiary-font-family);
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 600;
    text-align: center;
  }

  /* Main content container */
  .entry-content {
    margin: 0 auto;
    /* padding: 0 var(--spacing-horizontal-small); */
  }

  /* Edit account form container */
  .woocommerce-EditAccountForm,
  .edit-account {
    background: var(--color-white);
    border-radius: 4px;
    padding: 0 !important;
    box-shadow: none;
    margin: 0 auto;

    /* Form rows layout */
    .woocommerce-form-row--first,
    .woocommerce-form-row--last {
      width: calc(50% - 8px);
      display: inline-block;
      vertical-align: top;
    }

    .woocommerce-form-row--first {
      margin-right: 16px;
    }

    .woocommerce-form-row--wide {
      width: 100%;
      display: block;
    }

    /* Display name description */
    #account_display_name_description {
      display: block;
      margin-top: 8px;
      font-family: var(--secondary-font-family);
      font-size: 13.5px;
      font-weight: 300;
      color: var(--color-light);
      line-height: var(--lh-caption);

      em {
        font-style: normal;
      }
    }

    /* Password change fieldset */
    fieldset {
      border: 1px solid var(--color-light);
      border-radius: 4px;
      padding: var(--spacing-horizontal-small);
      margin: var(--spacing-horizontal-small) 0;
      background: var(--color-white);

      legend {
        font-family: var(--primary-font-family);
        font-size: 20px;
        line-height: 28px;
        font-weight: 600;
        color: var(--color-dark);
        padding: 0 16px;
        margin-bottom: 16px;
      }

      .woocommerce-form-row {
        margin-bottom: 16px;
      }
    }
  }
}

.woocommerce-account {
  .hentry .entry-content .woocommerce-MyAccount-navigation ul {
    a {
      padding: 0.875em !important;
      color: var(--color-dark);

      &::before {
        margin-left: 5em;
      }
    }
  }
}

/* Edit Address Page Styles */
.woocommerce-account.woocommerce-edit-address {
  /* Page header */
  .entry-header h1 {
    margin-bottom: var(--spacing-horizontal-small);
    padding: var(--spacing-horizontal-small) 0;
    font-family: var(--tertiary-font-family);
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 600;
    text-align: center;
  }

  .woocommerce-MyAccount-content {
    line-height: var(--lh-caption);
    font-size: var(--fs-caption);
    font-family: var(--secondary-font-family);
    font-weight: 300;

    h2 {
      font-family: var(--primary-font-family);
      font-size: 24px;
      line-height: 32px;
      font-weight: 600;
      color: var(--color-dark);
    }

    a {
      color: var(--color-dark);
      transition: 0.3s ease;

      @media (hover: hover) {
        &:hover {
          opacity: 0.5;
        }
      }
    }

    .u-columns {
      display: flex;
      gap: 6%;

      .woocommerce-Address {
        margin: 0;
        width: 100%;
        min-width: fit-content;
      }
    }

    form {
      border: 1px solid var(--color-light);
      border-radius: 4px;
      padding: var(--spacing-horizontal-small);
      background: var(--color-white);

      .form-row-first {
        margin-right: 16px;
      }

      .form-row-first,
      .form-row-last {
        width: calc(50% - 8px);
        display: inline-block;
        vertical-align: top;
      }

      h2 {
        position: relative;
        top: calc(-1 * var(--spacing-horizontal-small));
        width: fit-content;
        margin-bottom: 16px;
        margin-left: -20px;
        padding: 0 16px;
        transform: translateY(-50%);
        font-family: var(--primary-font-family);
        font-size: 20px;
        line-height: 28px;
        font-weight: 600;
        color: var(--color-dark);
        background: var(--color-white);
      }

      /* Ukryj Select2 dropdown */
      .woocommerce-input-wrapper {
        position: relative;
        .select2-container {
          display: block;
          position: static;
          &::after {
            box-sizing: border-box;
            content: "";
            display: block !important;
            width: 36px;
            height: 20px;
            padding: 24px 20px;
            pointer-events: none;
            position: absolute;
            right: 4px;
            top: 12px;
            background-image: url("../images/chevron.svg");
            background-size: 24px;
            background-repeat: no-repeat;
            background-position: center;
            background-color: #fff;
          }

          * {
            display: none !important;
          }
        }
      }

      /* Pokaż oryginalny select */
      select.select2-hidden-accessible {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        left: auto !important;
        width: 100% !important;
        height: 72px !important;
        margin: 0 0 8px 0 !important;

        color: var(--color-black);
        border: 1px solid var(--color-light) !important;
        border-radius: 4px;
        font-size: var(--fs-caption);
        font-family: var(--secondary-font-family);
        font-weight: 300;
        transition: all 0.3s ease;
        box-shadow: none !important;
        padding: 1.5em 1em !important;

        &:hover,
        &:focus {
          background-color: #fff;
          outline: none;
          border-color: var(--color-dim) !important;
        }
      }
    }
  }
}

/* Edit Downloadable Products */
.woocommerce-account.woocommerce-downloads {
  /* Page header */
  .entry-header h1 {
    margin-bottom: var(--spacing-horizontal-small);
    padding: var(--spacing-horizontal-small) 0;
    font-family: var(--tertiary-font-family);
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 600;
    text-align: center;
  }

  /* Custom downloads structure */
  .woocommerce-order-downloads {
    display: grid;
    gap: var(--spacing-horizontal-small);
    /* margin-top: var(--spacing-horizontal-small); */

    .product {
      position: relative;
      background: var(--color-white);
      border: 1px solid rgb(243 243 243);
      background-color: #fff;
      border-radius: 8px;
      padding: 24px 32px;
      display: flex;
      flex-direction: column;
      transition: all 0.3s ease;

      .product-title {
        font-family: var(--primary-font-family);
        font-size: 20px;
        line-height: 28px;
        font-weight: 600;
        color: var(--color-dark);
        margin: 0;
        margin-bottom: 12px;
        text-decoration: none;
      }

      .product-downloads_remaining,
      .product-access_expires {
        font-family: var(--secondary-font-family);
        font-size: var(--fs-caption);
        line-height: var(--lh-caption);
        font-weight: 300;
        color: var(--color-light);
        margin: 0;

        &.never {
          display: flex;
          align-items: center;
          gap: 2px;

          &::after {
            content: " ∞";
            font-size: 28px;
            font-weight: 300;
            display: inline-block;
            height: 29px;
          }
        }
      }

      .download {
        position: absolute;
        bottom: 10px;
        right: 24px;
        display: flex;
        order: 1;
        align-items: center;
        color: var(--color-dark);
        font-size: var(--fs-body);
        font-size: var(--fs-tag);
        line-height: var(--lh-tag);
        font-weight: 500;
        margin-top: auto;
        margin-bottom: 0;
        margin-left: auto;
        text-decoration: none;
        transition: all 0.3s ease;

        svg {
          width: 45px;
          height: 45px;
        }

        &:hover {
          opacity: 0.5;
        }

        &:focus {
          outline: none;
          opacity: 0.5;
        }
      }
    }
  }
}

.woocommerce-lost-password .woocommerce {
  .woocommerce-message {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .woocommerce-account.woocommerce-account:not(.logged-in)
    .content-area
    .woocommerce {
    flex-wrap: wrap;
    gap: 0;
  }

  .woocommerce-account.woocommerce-account .content-area .woocommerce {
    display: flex;
    gap: var(--spacing-horizontal);
    flex-wrap: nowrap;

    form {
      width: 100%;
    }

    .woocommerce-MyAccount-navigation {
      float: none;
      min-width: fit-content;
      margin-right: 0;
    }
    .woocommerce-MyAccount-content {
      width: 100%;
      float: none;
      margin-right: 0;
    }
  }

  /* Downloads grid for larger screens */
  .woocommerce-account.woocommerce-downloads {
    .woocommerce-order-downloads {
      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
      gap: var(--spacing-horizontal-small);
    }
  }
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .woocommerce-account:not(.logged-in) {
    .col2-set#customer_login {
      flex-direction: column;
      gap: 20px;
      padding: 0 var(--spacing-horizontal-small);
    }

    .woocommerce-form {
      padding: var(--spacing-horizontal-small);
    }
  }

  .woocommerce-account.woocommerce-lost-password {
    .entry-content {
      padding: 0 var(--spacing-horizontal-small);
    }

    .woocommerce-ResetPassword,
    .lost_reset_password {
      padding: var(--spacing-horizontal-small);
    }
  }

  .woocommerce-account.woocommerce-edit-address {
    .u-columns {
      flex-direction: column;
    }
  }

  .woocommerce-account.woocommerce-edit-account {
    .woocommerce-EditAccountForm,
    .edit-account {
      /* Stack form rows vertically on mobile */
      .woocommerce-form-row--first,
      .woocommerce-form-row--last {
        width: 100%;
        display: block;
        margin-right: 0;
        margin-bottom: 16px;
      }

      fieldset {
        padding: 16px;
        margin: 16px 0;
      }
    }
  }
}
