:root {
  --color-primary: #ec0000;
  --color-white: #ffffff;
  --color-font-white: #fbfbfb;
  --color-text: #222222;
  --red-hover: #d10000;
  --santander-secondary-red: #cc0000;
  --santander-light-hover: #f6f6f6;
  --light-blue: #f5f9fb;
  --color-gray-light: #cccccc;
  --color-gray: #999999;
  --color-black-darker: #181818;
  --color-black: #1e1e1e;
  --color-medium-black: #222222;
  --color-gray-medium: #343030;
  --color-gray-medium-lighter: #424242;
  --color-gray-medium-lighter-2: #5e5e5e;
  --color-gray-medium-lighter-3: #727272;
  --color-gray-lightest: #f0f0f0;
  --scrollbar-thumb-gray: #8f8f8f;
  --scrollbar-bg-gray: #d9d9d9;
  --transition-fast: 200ms ease;
  --transition-medium: 300ms ease;
  --desktop-margin: 8.375rem;
  --mobile-margin: 1rem;
  --navbar-height: 5rem;
  --font-santander-headline: 'SantanderHeadline', sans-serif;
  --font-santander-microtext: 'SantanderMicroText', sans-serif;
  --spacing-0: 0rem;
  --spacing-3: 0.1875rem;
  --spacing-4: 0.25rem;
  --spacing-5: 0.3125rem;
  --spacing-6: 0.375rem;
  --spacing-7: 0.4375rem;
  --spacing-8: 0.5rem;
  --spacing-10: 0.625rem;
  --spacing-11: 0.6875rem;
  --spacing-12: 0.75rem;
  --spacing-14: 0.875rem;
  --spacing-16: 1rem;
  --spacing-18: 1.125rem;
  --spacing-20: 1.25rem;
  --spacing-22: 1.375rem;
  --spacing-24: 1.5rem;
  --spacing-25: 1.5625rem;
  --spacing-26: 1.625rem;
  --spacing-28: 1.75rem;
  --spacing-30: 1.875rem;
  --spacing-32: 2rem;
  --spacing-34: 2.125rem;
  --spacing-35: 2.1875rem;
  --spacing-36: 2.25rem;
  --spacing-40: 2.5rem;
  --spacing-41-6: 2.6rem;
  --spacing-44: 2.75rem;
  --spacing-56: 3.5rem;
  --spacing-60: 3.75rem;
  --spacing-61: 3.8125rem;
  --spacing-76: 4.75rem;
  --spacing-77: 4.8125rem;
  --spacing-80: 5rem;
  --spacing-132: 8.25rem;
  --font-size-12: 0.75rem;
  --font-size-14: 0.875rem;
  --font-size-16: 1rem;
  --font-size-18: 1.125rem;
  --font-size-20: 1.25rem;
  --font-size-22: 1.375rem;
  --font-size-24: 1.5rem;
  --font-size-32: 2rem;
  --font-size-34: 2.125rem;
  --font-size-36: 2.25rem;
  --font-size-48: 3rem;
  --font-size-52: 3.25rem;
  --font-weight-400: 400;
  --font-weight-500: 500;
  --font-weight-600: 600;
  --font-weight-700: 700;
  --border-radius-4: 0.25rem;
  --border-radius-8: 0.5rem;
  --border-radius-16: 1rem;
}

/* Swiper estilization */
.swiper-pagination-bullet {
  background-color: var(--color-gray);
  width: 8px;
  height: 8px;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: var(--santander-secondary-red);
  width: 10px;
  height: 10px;
}

.swiper-button-next,
.swiper-button-prev {
  color: var(--santander-secondary-red);
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: var(--font-size-24);
  font-weight: var(--font-weight-700);
}

.swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-horizontal {
  .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets
    .swiper-pagination-bullet {
    margin: 0 var(--spacing-10);
    @media (max-width: 768px) {
      margin: 0 var(--spacing-7);
    }
  }
}

.section {
  padding: 0 var(--desktop-margin) var(--spacing-80) var(--desktop-margin);

  @media (max-width: 768px) {
    padding: 0 var(--mobile-margin) var(--spacing-40) var(--mobile-margin);
  }
}

.primary-link {
  color: var(--color-text);
  font-size: var(--font-size-14);
  font-family: var(--font-santander-microtext);
  cursor: pointer;
  width: 100%;
  touch-action: manipulation;
  display: inline-flex;
  padding: var(--spacing-8) var(--spacing-0);
  line-height: 20px;
  font-weight: var(--font-weight-700);

  &:hover {
    color: var(--color-primary);
    transition: all 0.3s;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Advantages Section */
.advantages {
  & .advantages-container {
    & .advantages-title {
      font-family: var(--font-santander-headline);
      font-size: var(--font-size-34);
      font-weight: var(--font-weight-700);
      line-height: normal;
      letter-spacing: 0;
      color: var(--color-text);
      margin-bottom: var(--spacing-8);

      @media (max-width: 768px) {
        font-size: var(--font-size-24);
        margin-bottom: var(--spacing-16);
      }
    }

    & .product-features {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-24);

      @media (max-width: 768px) {
        gap: var(--spacing-16);
      }
    }

    & .feature-card {
      display: flex;
      align-items: center;
      gap: var(--spacing-24);
      background-color: var(--color-white);
      border-radius: var(--border-radius-8);
      box-sizing: border-box;
      padding: var(--spacing-8);
      min-height: 88px;
      transition:
        background-color var(--transition-fast),
        box-shadow var(--transition-fast);

      @media (max-width: 768px) {
        flex-direction: column;
        align-items: flex-start;
        border: 1px solid var(--color-gray-light);
        padding: var(--spacing-16);
        gap: var(--spacing-16);
        box-shadow: 0px 4px 4px 0px rgba(163, 163, 163, 0.4);
        min-height: 270px;
      }

      & .feature-icon {
        & img {
          flex-shrink: 0;
          width: 40px;
          height: 40px;
          display: flex;
          align-items: center;
          justify-content: center;

          @media (max-width: 768px) {
            height: 40px;
            width: 40px;
          }
        }
      }

      & .feature-content {
        flex: 1;

        & p {
          font-family: var(--font-santander-microtext);
          font-size: var(--font-size-18);
          font-weight: 400;
          line-height: 30px;
          letter-spacing: 0;
          color: var(--color-text);
          margin: 0;

          @media (max-width: 768px) {
            font-size: 16px;
            line-height: 30px;
          }
        }
      }
    }

    & .advantages-swiper-button-next,
    .advantages-swiper-button-prev {
      top: 94%;
    }

    & .advantages-swiper-button-next {
      right: 20px;
    }

    & .advantages-swiper-button-prev {
      left: 20px;
    }

    @media (min-width: 768px) {
      & .advantages-pagination-container {
        display: none;

        & .advantages-swiper-button-next,
        .advantages-swiper-button-prev {
          display: none;
        }
      }
    }

    & .advantages-pagination {
      position: static;
      margin-top: var(--spacing-16);
      height: 44px;

      & .swiper-pagination-bullet {
        margin: 0 7px;
      }
    }
  }
}

/* pix-pj-advantages Section */
.pix-pj-advantages {
  color: var(--color-text);

  & .pix-pj-advantages-container {
    & .pix-pj-advantages-title {
      font-family: var(--font-santander-headline);
      margin-bottom: var(--spacing-24);
      font-size: var(--font-size-34);
      font-weight: var(--font-weight-700);
      line-height: 48px;

      @media (max-width: 768px) {
        margin-bottom: var(--spacing-8);
        font-size: var(--font-size-24);
        line-height: normal;
      }
    }

    & .pix-pj-advantages-subtitle {
      font-family: var(--font-santander-microtext);
      font-weight: var(--font-weight-700);
      font-size: var(--font-size-18);
      line-height: 30px;

      @media (max-width: 768px) {
        display: inline-block;
        font-size: var(--font-size-16);
        line-height: normal;
      }
    }

    & .pix-pj-advantages-card-list {
      padding: var(--spacing-24) var(--spacing-4) 0 var(--spacing-4);

      & .pix-pj-advantages-card {
        display: flex;
        height: auto;
        border-radius: var(--spacing-8);
        border: 1px solid var(--color-gray-light);
        box-shadow: 0px 4px 4px 0px rgba(143, 143, 143, 1);
        box-sizing: border-box;
        transition: border-color 0.4s ease-in-out;

        @media (max-width: 768px) {
          border: none;
          min-height: 430px;
        }

        & .pix-pj-advantages-card-content {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          text-decoration: none;
          flex-grow: 1;
          min-height: 400px;

          & .card-header {
            flex-grow: 1;
            overflow: hidden;
            max-height: 360px;

            @media (max-width: 768px) {
              max-height: 380px;
            }

            & .expanded-content {
              max-height: 0;
              opacity: 0;
              overflow: hidden;
              transition:
                opacity 0.4s ease-in-out,
                max-height 0.4s ease-in-out 0.2s;
              padding: 0 var(--spacing-8);
              margin: 0;
              box-sizing: border-box;

              & p {
                margin: 0 0 var(--spacing-8) 0;
                font-size: var(--font-size-12);
                font-family: var(--font-santander-microtext);
                line-height: normal;

                & a {
                  font-size: var(--font-size-12);
                  color: var(--color-primary);
                  padding: 0;
                  width: unset;
                  display: inline;
                  text-decoration: none;
                  line-height: inherit;
                }
              }

              & a {
                max-height: 48px;
                display: flex;
                justify-content: center;
                align-self: center;
                justify-self: center;
                flex-wrap: wrap;
                box-sizing: border-box;
                min-width: 60%;
                padding: var(--spacing-12) var(--spacing-20);
                margin: var(--spacing-16) 0;
                font-size: var(--font-size-16);
              }
            }
          }

          &.is-active {
            & .card-header {
              & img {
                transition: all 0.4s ease-in-out;
                opacity: 0;
                max-height: 0;
                min-height: 0;
                margin: 0;
                padding: 0;
                border: 0;
              }

              & .expanded-content {
                opacity: 1;
                max-height: 260px;
                flex: 1;
                overflow: auto;
                transition:
                  max-height 0.4s ease-in-out,
                  opacity 0.4s ease-in-out 0.2s;

                &::-webkit-scrollbar {
                  width: 4px;
                }

                &::-webkit-scrollbar-track {
                  background: var(--scrollbar-bg-gray);
                  border-radius: 10px;
                }

                &::-webkit-scrollbar-thumb {
                  background: var(--scrollbar-thumb-gray);
                  border-radius: 16px;
                }

                &::-webkit-scrollbar-thumb:hover {
                  background: var(--scrollbar-thumb-gray);
                }
              }

              & .pix-pj-advantages-card-description {
                opacity: 0;
                max-height: 0;
                transition:
                  opacity 0.2s ease-in-out,
                  max-height 0.4s ease-in-out;
              }
            }
          }

          & img {
            width: 100%;
            border-radius: var(--spacing-6);
            border-top-left-radius: var(--spacing-6);
            border-top-right-radius: var(--spacing-6);
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
            object-fit: cover;
            max-height: 162px;
            min-height: 162px;
            transition: all 0.4s ease-in-out;
            opacity: 1;

            @media (max-width: 768px) {
              max-height: 162px;
              min-height: 162px;
            }
          }

          & .pix-pj-advantages-card-title,
          & .pix-pj-advantages-card-description {
            padding: var(--spacing-8);
            margin: 0;
            font-size: var(--font-size-12);
            font-family: var(--font-santander-microtext);
            line-height: normal;
            color: var(--color-text);
            max-height: 200px;
            transition:
              opacity 0.2s ease-in-out 0.2s,
              max-height 0.4s ease-in-out 0.2s;
          }

          & .pix-pj-advantages-card-title {
            font-weight: var(--font-weight-700);
            font-size: var(--font-size-16);
            padding-bottom: var(--spacing-16);
          }

          & .pix-pj-advantages-card-description {
            padding-top: 0;
            box-sizing: border-box;
            font-weight: var(--font-weight-400);

            &::-webkit-scrollbar {
              width: 4px;
            }

            &::-webkit-scrollbar-track {
              background: var(--scrollbar-bg-gray);
              border-radius: 10px;
            }

            &::-webkit-scrollbar-thumb {
              background: var(--scrollbar-thumb-gray);
              border-radius: 16px;
            }

            &::-webkit-scrollbar-thumb:hover {
              background: var(--scrollbar-thumb-gray);
            }

            @media (max-width: 768px) {
              width: 100%;
              font-size: var(--font-size-16);
            }
          }

          & .pix-pj-advantages-card-link {
            padding: var(--spacing-8);
            margin: 0;
            font-size: var(--font-size-14);
            box-sizing: border-box;
            font-weight: var(--font-weight-700);
            text-decoration: underline;
            margin-top: auto;
            border: none;
            background-color: transparent;

            @media (max-width: 768px) {
              display: flex;
              justify-content: center;
              color: var(--color-primary);
              text-decoration: none;
              padding: var(--spacing-16) var(--spacing-8) var(--spacing-16)
                var(--spacing-8);
            }
          }
        }
      }

      & .pix-pj-advantages-card-list-button-next,
      .pix-pj-advantages-card-list-button-prev {
        top: 95%;
      }

      & .pix-pj-advantages-card-list-button-next {
        right: 20px;
      }

      & .pix-pj-advantages-card-list-button-prev {
        left: 20px;
      }

      @media (min-width: 768px) {
        & .pix-pj-advantages-card-list-button-next,
        .pix-pj-advantages-card-list-button-prev {
          display: none;
        }
      }

      & .pix-pj-advantages-card-list-pagination {
        position: static;
        margin-top: var(--spacing-16);
        height: 44px;

        & .swiper-pagination-bullet {
          margin: 0 7px;
        }
      }
    }
  }
}

/* Main Layout */
.cash-flow-section {
  & .cash-flow-header {
    padding-bottom: var(--spacing-16);
    & .main-title {
      font-size: var(--font-size-24);
      font-weight: var(--font-weight-700);
      color: var(--color-text);
      margin-bottom: var(--spacing-8);
      line-height: normal;
      font-family: var(--font-santander-headline);
      @media (min-width: 768px) {
        font-size: var(--font-size-34);
      }
    }
    & .main-subtitle {
      font-size: 1rem;
      color: var(--color-text);
      line-height: normal;
      font-family: var(--font-santander-microtext);
      font-weight: var(--font-weight-700);
      @media (min-width: 768px) {
        font-size: var(--font-size-18);
      }
    }
  }
  /* Features Grid */
  .cash-flow-features-grid {
    display: grid;
    gap: var(--spacing-16);
    grid-template-columns: 1fr;
  }
  .cash-flow-features-column {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-16);
    @media (min-width: 768px) {
      gap: var(--spacing-16);
    }
  }
  /* Feature Cards */
  .feature-card {
    background-color: var(--light-blue);
    border-radius: var(--border-radius-8);
    padding: var(--spacing-16);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-16);
    height: 100%;
    @media (min-width: 768px) {
      box-shadow: 0 2px 2px 0 rgba(143, 143, 143, 0.5);
      border: 1px solid var(--border-line-gray);
    }

    &.getnet-card {
      & .feature-header {
        gap: var(--spacing-8);
      }
    }

    & .feature-header {
      display: flex;
      gap: var(--spacing-16);
      align-items: center;

      & .feature-title {
        font-family: var(--font-santander-microtext);
        font-size: var(--font-size-18);
        font-weight: var(--font-weight-700);
        color: var(--color-text);
        line-height: normal;
        margin: var(--spacing-0);
        padding-bottom: var(--spacing-8);
      }
      & .feature-subtitle {
        font-family: var(--font-santander-microtext);
        font-size: var(--font-size-18);
        font-weight: var(--font-weight-400);
        color: var(--color-text);
        margin-bottom: var(--spacing-8);

        @media (max-width: 768px) {
          font-size: var(--font-size-16);
          font-weight: var(--font-weight-400);
          line-height: normal;
        }
      }
    }
    & .feature-icon {
      flex-shrink: 0;
      width: 3rem;
      height: 3rem;
      border-radius: var(--border-radius-8);
      display: flex;
      align-items: center;
      justify-content: center;
      & .icon {
        width: 40px;
        height: 40px;
        background-color: var(--white);
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
      }
      & .icon-store {
        mask-image: url('../imgs/icons/icon-store.svg');
      }
      & .icon-card-reader {
        mask-image: url('../imgs/icons/icon-card-reader.svg');
      }
    }
    & .feature-content {
      flex: 1;

      & .feature-description {
        font-family: var(--font-santander-microtext);
        font-size: var(--font-size-18);
        color: var(--color-text);
        font-weight: var(--font-weight-400);
        line-height: normal;
        padding-bottom: var(--spacing-16);

        @media (max-width: 768px) {
          font-size: var(--font-size-16);
        }
      }
    }
  }
  /* Learn More Button */
  .learn-more-btn {
    background: none;
    border: none;
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-700);
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
  }
  /* Integration Section */
  .integration-header {
    & .integration-title {
      font-family: var(--font-santander-microtext);
      font-size: var(--font-size-18);
      font-weight: var(--font-weight-700);
      color: var(--color-text);
      line-height: normal;
      margin: 0;
    }
  }
  /* QR Features List */
  .qr-features-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-16);
  }
  .qr-feature {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-8);
    align-items: flex-start;
    & .qr-header {
      display: flex;
      flex-direction: row;
      gap: var(--spacing-24);
      align-items: center;
      & .qr-title {
        font-family: var(--font-santander-microtext);
        font-size: var(--font-size-18);
        font-weight: var(--font-weight-700);
        color: var(--color-text);
        margin-bottom: 0.25rem;
        line-height: 1.4;
      }
      & .qr-icon {
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        border-radius: 0.375rem;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        & .icon {
          width: 40px;
          height: 40px;
          background-color: var(--white);
          mask-size: contain;
          mask-repeat: no-repeat;
          mask-position: center;
        }
        & .icon-qr-multiple {
          mask-image: url('../imgs/icons/icon-qr-multiple.svg');
        }
        & .icon-qr-expiry {
          mask-image: url('../imgs/icons/icon-qr-expiry.svg');
        }
        & .icon-qr-due-date {
          mask-image: url('../imgs/icons/icon-qr-due-date.svg');
        }
        & .icon-qr-getnet {
          mask-image: url('../imgs/icons/icon-qr-getnet.svg');
        }
      }
    }
    & .qr-content {
      flex: 1;
      & .qr-description {
        font-size: var(--font-size-18);
        color: var(--color-text);
        line-height: normal;
        font-family: var(--font-santander-microtext);
        font-weight: var(--font-weight-400);

        @media (max-width: 768px) {
          font-size: var(--font-size-16);
        }
      }
    }
  }
  /* Desktop Styles */
  @media (min-width: 768px) {
    .cash-flow-features-grid {
      grid-template-columns: 1fr 1fr;
      gap: var(--spacing-24);
    }
  }
}

.pix-steps-section {
  & .pix-steps-title {
    & h2 {
      font-family: var(--font-santander-headline);
      font-weight: var(--font-weight-700);
      font-size: var(--font-size-34);
      line-height: 48px;
      margin-bottom: var(--spacing-24);

      @media (max-width: 768px) {
        font-size: var(--font-size-24);
        margin-bottom: var(--spacing-8);
        line-height: 100%;
      }
    }
  }

  & .pix-steps-subtitle {
    font-family: var(--font-santander-microtext);
    font-size: var(--font-size-18);
    font-weight: var(--font-weight-700);
    line-height: 30px;

    @media (max-width: 768px) {
      font-size: var(--font-size-16);
    }
  }

  & .pix-steps-section-swiper {
    margin-top: var(--spacing-24);

    @media (max-width: 768px) {
      margin-top: var(--spacing-16);
    }

    & .swiper-wrapper {
      align-items: stretch;

      & .pix-steps-section-card {
        display: flex;
        flex-direction: column;
        border: 1px solid rgba(143, 143, 143, 0.5);
        border-radius: var(--border-radius-8);
        box-shadow: 0 4px 4px 0 #f5f9fb;
        height: auto;

        & .img-container {
          display: flex;
          justify-content: center;
          position: relative;
          width: 100%;
          height: 210px;
          background-color: var(--light-blue);
          border-top-left-radius: var(--border-radius-8);
          border-top-right-radius: var(--border-radius-8);
          padding-top: var(--spacing-6);
          overflow: hidden;

          & img {
            max-width: 50%;
            object-fit: contain;
            position: absolute;
            bottom: 0px;
            left: 50%;
            transform: translateX(-50%);
          }
        }

        & .pix-steps-section-card-content {
          padding: var(--spacing-16);
          width: 100%;
          box-sizing: border-box;
          flex: 1;
          display: flex;
          flex-direction: column;

          h4 {
            font-family: var(--font-santander-headline);
            font-size: var(--font-size-16);
            font-weight: var(--font-weight-700);
            line-height: 30px;
            color: var(--scrollbar-thumb-gray);
            margin-bottom: var(--spacing-16);
          }

          p {
            color: #222;
            font-family: var(--font-santander-microtext);
            font-size: var(--font-size-16);
            font-weight: var(--font-weight-400);
            line-height: normal;
          }
        }
      }
    }

    @media (min-width: 768px) {
      & .pix-steps-swiper-pagination {
        display: none;
      }
    }

    & .pix-steps-swiper-button-next,
    .pix-steps-swiper-button-prev {
      top: 95%;
    }

    & .pix-steps-swiper-button-next {
      right: 20px;
    }

    & .pix-steps-swiper-button-prev {
      left: 20px;
    }

    @media (min-width: 768px) {
      & .pix-steps-swiper-button-next,
      .pix-steps-swiper-button-prev {
        display: none;
      }
    }

    & .pix-steps-swiper-pagination {
      position: static;
      margin-top: var(--spacing-16);
      height: 44px;

      & .swiper-pagination-bullet {
        margin: 0 7px;
      }
    }
  }
}

.how-to-use {
  & .how-to-use-title {
    & h2 {
      font-family: var(--font-santander-headline);
      font-weight: var(--font-weight-700);
      font-size: var(--font-size-34);
      line-height: 48px;
      margin-bottom: var(--spacing-16);

      @media (max-width: 768px) {
        font-size: var(--font-size-24);
        margin-bottom: var(--spacing-8);
        line-height: 100%;
      }
    }
  }

  & .how-to-use-description {
    font-family: var(--font-santander-microtext);
    font-weight: var(--font-weight-700);
    font-size: var(--font-size-16);

    @media (max-width: 768px) {
      line-height: normal;
    }
  }

  & .how-to-use-steps {
    display: flex;
    flex-direction: column;
    margin-top: var(--spacing-24);

    @media (max-width: 768px) {
      margin-top: var(--spacing-16);
      gap: var(--spacing-8);
    }

    & .step {
      display: flex;
      align-items: center;
      height: 62px;
      gap: var(--spacing-60);
      border-bottom: 1px solid var(--scrollbar-thumb-gray);
      padding: var(--spacing-8);

      @media (max-width: 768px) {
        border-bottom: none;
        gap: var(--spacing-20);
        padding-left: 0px;
      }

      & span {
        font-family: var(--font-santander-headline);
        font-weight: var(--font-weight-400);
        font-size: var(--font-size-32);
        line-height: 100%;
        color: var(--color-primary);

        @media (max-width: 768px) {
          font-size: var(--font-size-32);
        }
      }

      & p {
        font-family: var(--font-santander-microtext);
        font-weight: var(--font-weight-700);
        font-size: var(--font-size-16);
        line-height: 100%;

        @media (max-width: 768px) {
          line-height: normal;
        }
      }
    }
  }
}

.pj-account {
  & .pj-account-title {
    & h2 {
      font-family: var(--font-santander-headline);
      font-weight: var(--font-weight-700);
      font-size: var(--font-size-34);
      line-height: 48px;
      margin-bottom: var(--spacing-24);

      @media (max-width: 768px) {
        font-size: var(--font-size-24);
        margin-bottom: var(--spacing-8);
        line-height: normal;
      }
    }
  }

  & .pj-account-description {
    font-family: var(--font-santander-microtext);
    font-weight: var(--font-weight-700);
    font-size: var(--font-size-18);

    @media (max-width: 768px) {
      font-size: var(--font-size-16);
    }
  }

  .alert {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    gap: var(--spacing-30);
    align-items: center;
    max-width: 100%;
    border: 1px solid var(--color-gray);
    border-radius: 6px;
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
    padding: var(--spacing-24);
    margin-top: var(--spacing-24);
    min-height: 163px;

    @media (max-width: 768px) {
      margin-top: var(--spacing-16);
    }

    & p,
    & a {
      font-family: var(--font-santander-headline);
      font-size: var(--font-size-18);
      font-weight: var(--font-weight-400);
      line-height: 28px;
    }

    & p {
      color: var(--color-gray-medium-lighter);
    }

    & p:first-child {
      font-weight: var(--font-weight-700);
    }

    & a {
      box-sizing: border-box;
      padding: var(--spacing-8) var(--spacing-16);
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      text-align: center;
    }

    @media (max-width: 768px) {
      & {
        display: flex;
        flex-direction: column;
        padding: var(--spacing-24) var(--spacing-16);
        align-items: flex-start;
        gap: unset;
        height: auto;
      }

      & p {
        line-height: 20px;
      }

      & p:first-child {
        font-size: var(--font-size-16);
        line-height: 28px;
      }

      & p:nth-child(2) {
        font-size: var(--font-size-16);
        padding: var(--spacing-8) 0 var(--spacing-16) 0;
      }

      & a {
        align-self: center;
        max-width: 60%;
      }
    }
  }
}

.info-pix-pj {
  margin-bottom: var(--spacing-80);

  @media (max-width: 768px) {
    margin-bottom: var(--spacing-40);
  }

  & h2 {
    font-family: var(--font-santander-headline);
    font-weight: var(--font-weight-700);
    font-size: var(--font-size-34);
    line-height: 48px;
    margin-bottom: var(--spacing-24);
    padding: 0 var(--spacing-132);

    @media (max-width: 768px) {
      font-size: var(--font-size-24);
      line-height: normal;
      padding: 0 var(--spacing-16);
      margin-bottom: var(--spacing-8);
    }
  }

  & .mobile-subtitle {
    display: none;

    @media (max-width: 768px) {
      display: block;
      font-family: var(--font-santander-microtext);
      font-weight: var(--font-weight-700);
      font-size: var(--font-size-16);
      margin-bottom: var(--spacing-16);
      padding: 0 var(--spacing-16);
      line-height: normal;
    }
  }

  & .content {
    display: flex;
    align-items: center;
    background-color: var(--light-blue);
    font-family: var(--font-santander-microtext);
    gap: var(--spacing-24);
    padding-top: var(--spacing-24);
    padding-bottom: var(--spacing-24);
    font-size: var(--font-size-18);
    font-weight: var(--font-weight-700);

    & div {
      & p:first-child {
        margin-bottom: var(--spacing-16);
      }

      & p:nth-child(2) {
        font-family: var(--font-santander-headline);
        margin-bottom: var(--spacing-8);
      }

      & p:nth-child(3) {
        font-weight: var(--font-weight-400);
      }
    }

    @media (max-width: 768px) {
      flex-direction: column;
      align-items: flex-start;
      padding: var(--spacing-24) var(--spacing-16);
      font-size: var(--font-size-16);
      gap: var(--spacing-16);

      & .content-img {
        width: 100%;
      }

      & div {
        & p:first-child {
          display: none;
        }

        & p:nth-child(2) {
          line-height: normal;
          font-size: var(--font-size-16);
        }

        & p:nth-child(3) {
          font-size: var(--font-size-16);
        }
      }
    }
  }
}

.blog-section {
  position: relative;
  & .blog-section-title-container {
    display: block;
    width: 100%;

    & h2 {
      font-family: var(--font-santander-headline);
      font-size: var(--font-size-32);
      font-weight: var(--font-weight-700);
      color: var(--color-gray-medium-lighter);

      @media (max-width: 768px) {
        font-size: var(--font-size-24);
      }
    }
  }

  & .blog-section-cards-container {
    margin-top: var(--spacing-16);

    & .blog-section-wrapper {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      align-items: flex-start;
      gap: var(--spacing-24);
      width: 100%;
    }

    & .card {
      min-height: 263px;
      height: 100%;
      border: 1px solid transparent;

      @media (min-width: 769px) {
        &:hover {
          transition: all 0.3s;
          cursor: pointer;
          box-sizing: border-box;
          & .content {
            & .card-title-container {
              & .inner-blog {
                color: var(--red-hover);
                font-weight: var(--font-weight-700);
              }
            }
          }
        }
      }

      & .content {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-16);
        font-family: var(--font-santander-headline);
        max-width: 100%;
        min-height: 100%;
        text-decoration: none;
        color: var(--color-gray-medium-lighter);

        & a {
          text-decoration: none;
        }

        & img {
          max-width: 100%;
          width: 100%;
          object-fit: cover;
          min-height: 200px;
          max-height: 200px;
        }

        .card-title-container {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          height: auto;
          gap: var(--spacing-16);
          padding: 0 var(--spacing-8);
          box-sizing: border-box;
          flex-grow: 1;

          @media (max-width: 768px) {
            min-height: 168px;
          }

          & p {
            font-size: var(--font-size-18);
            line-height: 23px;
            font-weight: 700;

            @media (max-width: 768px) {
              font-size: var(--font-size-16);
            }
          }

          & p:nth-child(2) {
            font-size: var(--font-size-18);
            font-weight: 400;
            max-width: 90%;
            @media (max-width: 768px) {
              font-size: var(--font-size-16);
            }
          }

          & .inner-blog {
            font-size: var(--font-size-14);
            color: var(--color-primary);
            line-height: 28px;
            font-weight: var(--font-weight-700);
            text-decoration: none;

            @media (min-width: 769px) {
              &:hover {
                color: var(--red-hover);
                font-weight: var(--font-weight-700);
              }
            }
          }
        }
      }
    }
  }

  & .blog-section-pagination {
    position: static;
    margin-top: var(--spacing-16);
    min-height: 42px;

    & .swiper-pagination-bullet {
      margin: 0 var(--spacing-8);
    }

    @media (min-width: 768px) {
      display: none;
    }
  }

  & .blog-section-swiper-button-prev,
  & .blog-section-swiper-button-next {
    display: none;
    --swiper-navigation-size: 24px;
    color: var(--santander-secondary-red);
    position: absolute;
    bottom: 3%;
    top: 89%;
  }

  & .blog-section-swiper-button-next {
    right: 36px;
  }

  & .blog-section-swiper-button-prev {
    left: 36px;
  }

  @media (max-width: 768px) {
    & .blog-section-swiper-button-prev,
    & .blog-section-swiper-button-next {
      display: block;
    }
  }
}

.disclaimer-section {
  font-family: var(--font-santander-headline);
  color: var(--color-gray-medium-lighter);

  & .disclaimer-box {
    border: 1px solid var(--color-gray);
    border-radius: 4px;
    padding: var(--spacing-24);
    background-color: (--var-color-white);

    & p {
      font-size: var(--font-size-12);
      line-height: 20px;

      @media (max-width: 768px) {
        font-size: var(--font-size-14);
      }

      & sup {
        font-size: var(--font-size-10);
        vertical-align: top;
        margin-right: var(--spacing-4);
      }
    }
  }
}

.faq {
  & .faq-container {
    & h2 {
      font-family: var(--font-santander-headline);
      font-weight: var(--font-weight-700);
      font-size: var(--font-size-32);
      line-height: 48px;
      padding-bottom: var(--spacing-16);

      @media (max-width: 768px) {
        font-size: var(--font-size-24);
        padding-bottom: var(--spacing-24);
        line-height: normal;
      }
    }
    & .faq-item {
      margin-bottom: var(--spacing-24);

      & .faq-item-question {
        width: 100%;
        text-align: left;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: transparent;
        border: none;
        border-bottom: 1px solid var(--color-gray-light);
        padding-bottom: var(--spacing-24);
        padding-left: var(--spacing-0);
        cursor: pointer;

        @media (max-width: 768px) {
          padding-bottom: var(--spacing-30);
        }

        & span {
          font-size: var(--font-size-16);
          font-weight: var(--font-weight-400);
          line-height: 21px;
          font-family: var(--font-santander-headline);
          color: var(--color-gray-medium-lighter);

          @media (max-width: 768px) {
            width: 80%;
          }
        }
      }

      & .faq-item-answer {
        font-family: var(--font-santander-microtext);
        font-size: var(--font-size-14);
        max-height: 0;
        overflow: hidden;
        transition:
          max-height 0.3s ease-in-out,
          padding 0.3s ease-in-out;

        & ul {
          & li::marker {
            font-size: var(--spacing-8);
          }
        }

        & ul,
        & ol {
          & p {
            font-size: var(--font-size-14);
            font-weight: var(--font-weight-400);
            line-height: var(--line-height-28);
            font-family: var(--font-santander-headline);
            color: #000;
          }
        }
      }

      & .faq-item-icon {
        transition: transform 0.3s ease-in-out;
        transform: rotate(0deg);
      }

      &[aria-expanded='true'] .faq-item-answer {
        opacity: 1;
        max-height: 600px;
        padding: var(--spacing-16) var(--spacing-8) 0 var(--spacing-8);
      }

      &[aria-expanded='true'] .faq-item-icon {
        transition: transform 0.3s ease-in-out;
        transform: rotate(180deg);
      }
    }

    & .faq__more-button {
      display: flex;
      align-items: center;
      text-align: center;
      margin: var(--spacing-32) auto 0 auto;
      width: 50%;

      @media (min-width: 768px) {
        width: 20%;
      }
    }
  }
}

/* footer */

.footer {
  background: var(--color-text);
  color: var(--color-white);
  padding: var(--spacing-32) var(--spacing-132) var(--spacing-56);
  width: 100%;

  @media (max-width: 768px) {
    padding: var(--spacing-40) var(--spacing-16) var(--spacing-56);
  }

  & .footer__container {
    display: flex;
    flex-wrap: wrap;

    & .footer__container-lists {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      gap: var(--spacing-24);
      margin-bottom: var(--spacing-41-6);
      flex: 1;

      @media (max-width: 768px) {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
      }

      & .footer__section {
        flex: 1;

        @media (max-width: 768px) {
          width: 100%;

          border-bottom: 1px solid var(--color-gray);

          &:last-child {
            border-bottom: none;
          }
        }

        & .footer__title {
          font-family: var(--font-santander-headline);
          font-weight: var(--font-weight-700);
          font-size: var(--font-size-24);
          line-height: 100%;
          letter-spacing: 0px;
          color: var(--white);
          margin-bottom: var(--spacing-24);
          text-align: left;
          background-color: transparent;
          border: none;

          @media (max-width: 768px) {
            font-weight: var(--font-weight-400);
            font-size: var(--font-size-20);
            text-align: start;
            width: 100%;
            border-bottom: 1px solid var(--gray-light-dark);
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            position: relative;
          }

          &.active .footer__title-arrow {
            @media (max-width: 768px) {
              transform: rotate(0deg);
            }
          }
        }

        & .footer__title.footer__social-title {
          margin-bottom: var(--spacing-24);
        }

        & .footer__title-arrow {
          @media (min-width: 769px) {
            display: none;
          }

          @media (max-width: 768px) {
            width: 16px;
            height: 16px;
            transition: transform 0.4s ease;
            transform: rotate(180deg);
            margin-right: var(--spacing-8);
          }
        }

        & .footer__list {
          list-style: none;
          display: flex;
          flex-direction: column;
          gap: var(--spacing-16);

          @media (max-width: 768px) {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease;
            opacity: 0;
          }

          &.active {
            @media (max-width: 768px) {
              max-height: 1000px;
              opacity: 1;
              margin-top: var(--spacing-24);
              margin-bottom: var(--spacing-16);
            }
          }

          & .footer__item {
            & .footer__link {
              font-family: var(--font-santander-headline);
              font-weight: var(--font-weight-400);
              font-size: var(--font-size-16);
              line-height: 100%;
              letter-spacing: 0px;
              color: var(--color-gray-lightest);
              text-decoration: none;

              &:hover {
                text-decoration: underline;
              }
            }
          }
        }

        & .footer__social-icons {
          display: flex;
          justify-content: space-between;
          gap: var(--spacing-16);

          @media (max-width: 768px) {
            justify-content: flex-start;
          }
        }
      }

      & .footer__section:nth-child(2),
      .footer__section:nth-child(3) {
        padding: 0 var(--spacing-24);

        @media (max-width: 768px) {
          padding: 0;
        }
      }

      & .footer__section:last-of-type::after {
        display: none;
      }

      & .footer__section--social-app-container {
        width: 100%;

        @media (min-width: 768px) {
          flex: 1;
        }

        & .footer__section.footer__section--social {
          & .footer__title.footer__social-title {
            border: none;
            padding-bottom: 0;
          }
        }
      }
    }

    & .footer__divider {
      height: 1px;
      color: var(--color-gray);
      width: 100%;
      margin-bottom: var(--spacing-30);
    }

    & .footer__legal {
      font-family: var(--font-santander-microtext);
      font-weight: var(--font-weight-400);
      font-size: var(--font-size-14);
      line-height: 16px;
      letter-spacing: 0px;

      @media (min-width: 768px) {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: -webkit-fill-available;
      }

      & .footer__legal-text-container {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-16);

        @media (max-width: 768px) {
          margin-bottom: var(--spacing-32);
        }

        & .footer__legal-text {
          & span {
            @media (max-width: 768px) {
              display: block;
            }
          }
        }
      }

      & .footer__legal-links {
        color: var(--color-white);
        gap: var(--spacing-16);
        display: flex;
        flex-direction: row;
        margin: 0 0 0 auto;

        & .footer__legal-link {
          color: var(--color-white);
          text-decoration: underline;
        }
      }
    }
  }
}

html {
  scroll-behavior: smooth;
}

@media (prefers-contrast: high) {
  .navbar {
    border-bottom: 1px solid var(--color-white);

    &.scrolled {
      border-bottom-color: var(--color-white);
    }
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html {
    scroll-behavior: auto;
  }
}
