/* ============================================
   FOOTER - InvidiaFramework
   ============================================ */

.footer {
  position: relative;
  z-index: 9;
  background: rgba(var(--background-secondary), 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(var(--background-quaternary), 0.2);
  margin-top: 4rem;
  padding: 3rem 0 1rem;

  @media (max-width: 768px) {
    padding: 2rem 0 1rem;
    margin-top: 3rem;
  }

  @media (max-width: 576px) {
    & .container {
      padding-right: calc(var(--bs-gutter-x) * 1.5);
      padding-left: calc(var(--bs-gutter-x) * 1.5);
    }
  }

  & .container {


    /* Development banner */
    & .footer-dev-banner {
      display: flex;
      justify-content: center;
      margin-bottom: 2rem;

      & .footer-dev-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.5rem 1.25rem;
        background: rgba(var(--blue-primary), 0.1);
        border: 1px solid rgba(var(--blue-primary), 0.3);
        border-radius: var(--nav-border-radius);
        color: rgb(var(--blue-primary));
        font-size: 0.875rem;
        font-weight: 500;
      }
    }


    /* Main content */
    & .footer-content {
      padding-bottom: 3rem;
      border-bottom: 1px solid rgba(var(--background-quaternary), 0.15);


      /* Typography */
      & .footer-title {
        font-size: 0.875rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: rgb(var(--text-primary));
        margin-bottom: 1.25rem;
        opacity: 0.9;
      }

      & .footer-description {
        font-size: 0.9375rem;
        line-height: 1.6;
        color: rgba(var(--text-secondary), 0.85);
        margin-bottom: 1.5rem;
      }



      /* Social links */
      & .footer-social {
        display: flex;
        gap: 0.75rem;
        flex-wrap: wrap;


        & .footer-social-link {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 40px;
          height: 40px;
          background: rgba(var(--background-tertiary), 0.6);
          border: 1px solid rgba(var(--background-quaternary), 0.2);
          border-radius: 50%;
          color: rgb(var(--text-primary));
          font-size: 1rem;
          transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          text-decoration: none;

          & i {
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          }

          &:hover {
            background: rgba(var(--blue-primary), 0.15);
            border-color: rgba(var(--blue-primary), 0.4);
            color: rgb(var(--blue-primary));
            transform: translateY(-2px);

            & i {
              transform: scale(1.1);
            }
          }
        }
      }



      /* Links list */
      & .footer-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.75rem;


        & .footer-link {
          display: inline-flex;
          align-items: center;
          color: rgba(var(--text-secondary), 0.85);
          text-decoration: none;
          font-size: 0.9375rem;
          transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
          position: relative;
          width: fit-content;

          &::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background: rgb(var(--blue-primary));
            transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          }

          &:hover {
            color: rgb(var(--blue-primary));
            transform: translateX(4px);

            &::after {
              width: 100%;
            }
          }
        }
      }



      /* Language selector */
      & .footer-language {
        display: flex;
        align-items: center;
      }
    }



    /* Theme switcher */
    .footer-theme-switcher {
      display: flex;
      justify-content: center;
      padding: 2rem 0;

      & .tabs-footer-theme {
        display: flex;
        position: relative;
        background: rgba(var(--background-tertiary), 0.6);
        border: 1px solid rgba(var(--background-quaternary), 0.25);
        padding: 0.5rem;
        border-radius: var(--nav-border-radius);
        box-shadow: 0 4px 16px rgba(var(--black-primary), 0.08);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

        & input[class="radio-footer"] {
          display: none;
        }

        & input[id^="radio-footer-theme-"] {
          &:checked {
            &~.tab-footer-theme {
              color: rgb(var(--text-primary));
            }
          }

          /* Individual theme positions */
          &#radio-footer-theme-1:checked~.glider-footer-theme {
            transform: translateX(0);
          }

          &#radio-footer-theme-2:checked~.glider-footer-theme {
            transform: translateX(calc(var(--glider-transform-size)));
          }

          &#radio-footer-theme-3:checked~.glider-footer-theme {
            transform: translateX(calc(var(--glider-transform-size) * 2));
          }

          &#radio-footer-theme-4:checked~.glider-footer-theme {
            transform: translateX(calc(var(--glider-transform-size) * 3));
          }

          &#radio-footer-theme-5:checked~.glider-footer-theme {
            transform: translateX(calc(var(--glider-transform-size) * 4));
          }

          &#radio-footer-theme-6:checked~.glider-footer-theme {
            transform: translateX(calc(var(--glider-transform-size) * 5));
          }

          /* Active theme icon highlighting */
          &#radio-footer-theme-1:checked~.tab-footer-theme:nth-of-type(1),
          &#radio-footer-theme-2:checked~.tab-footer-theme:nth-of-type(2),
          &#radio-footer-theme-3:checked~.tab-footer-theme:nth-of-type(3),
          &#radio-footer-theme-4:checked~.tab-footer-theme:nth-of-type(4),
          &#radio-footer-theme-5:checked~.tab-footer-theme:nth-of-type(5),
          &#radio-footer-theme-6:checked~.tab-footer-theme:nth-of-type(6) {
            color: rgb(var(--text-primary));
          }
        }

        & .tab-footer-theme {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 52px;
          height: 52px;
          font-weight: 500;
          border-radius: calc(var(--nav-border-radius) - 4px);
          cursor: pointer;
          z-index: 2;
          color: rgba(var(--text-secondary), 0.7);
          transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);

          &:hover {
            color: rgb(var(--text-primary));
          }
        }

        & .glider-footer-theme {
          position: absolute;
          top: 0.5rem;
          left: 0.5rem;
          display: flex;
          height: 52px;
          width: 52px;
          background: rgba(var(--background-quaternary), 0.8);
          border: 1px solid rgba(var(--background-quaternary), 0.4);
          z-index: 1;
          border-radius: calc(var(--nav-border-radius) - 4px);
          transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          box-shadow: 0 2px 8px rgba(var(--black-primary), 0.12);

          --glider-transform-size: 52px;
        }
      }
    }


    /* Bottom section */
    & .footer-bottom {
      padding: 2rem 0 1rem;
      text-align: center;

      & .footer-copyright {
        margin: 0;
        font-size: 0.875rem;
        color: rgba(var(--text-tertiary), 0.8);
        font-weight: 400;
      }
    }
  }
}