.footer {
  padding-top: 5rem;
  padding-bottom: 6rem;

  @media screen and (max-width: 768px) {
    padding-left: .5rem;
    padding-right: .5rem;
  }

  @media screen and (min-width: 768px) {
    padding-top: 4rem;
    padding-bottom: 1rem;
  }

  /* Button styles*/

  .button,
  button.button,
  a.button {
    --button-bg: var(--color-burgund-800);
    --button-border: var(--color-burgund-800);
    --button-color: var(--color-white);

    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: .75rem 3rem;
    border: 2px solid var(--button-border);
    border-radius: 16px;
    position: relative;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    background-color: var(--button-bg);
    color: var(--button-color);
    gap: .5rem;
    text-decoration: none;

    @media screen and (min-width: 768px) {
      padding: .875rem 3rem;
      font-size: 1.25rem;
      line-height: 140%;
    }
  }

  .button.small {
    padding: 0.5rem 1.5rem;
    font-size: .875rem;
    line-height: 1.5;
    @media screen and (min-width: 768px) {
      font-size: 1rem;
    }
  }

  /* --- Variants --- */
  .button.primary {
    --button-bg: var(--color-burgund-800);
    --button-border: var(--color-burgund-800);
    --button-color: var(--color-white);
  }

  .button.primary.on-dark {
    --button-bg: var(--color-white);
    --button-border: var(--color-white);
    --button-color: var(--color-burgund-800);
  }

  .button.primary.on-light {
    --button-bg: var(--color-black);
    --button-border: var(--color-black);
    --button-color: var(--color-white);
  }

  .button.secondary {
    --button-bg: transparent;
    --button-border: var(--color-burgund-800);
    --button-color: var(--color-burgund-800);
  }

  .button.secondary.on-dark {
    --button-bg: transparent;
    --button-border: var(--color-white);
    --button-color: var(--color-white);
  }

  .button.secondary.on-light {
    --button-bg: transparent;
    --button-border: var(--color-black);
    --button-color: var(--color-black);
  }

  .button.tertiary {
    padding: .375rem 0;
    --button-bg: transparent;
    --button-border: transparent;
    --button-color: var(--color-burgund-800);
  }

  .button.tertiary.on-dark {
    --button-bg: transparent;
    --button-border: transparent;
    --button-color: var(--color-white);
  }

  .button.tertiary.on-light {
    --button-bg: transparent;
    --button-border: transparent;
    --button-color: var(--color-gray-700);
  }

  .button.tertiary.small {
    padding: .25rem .125rem;
  }

  .button.legal-note {
    --button-color: var(--color-primary);
  }

  .button.legal-note.on-light {
    --button-color: var(--color-gray-700);
  }

  .button.legal-note.on-dark {
    --button-color: var(--color-white);
  }

  .button.legal-note:focus-visible {
    --button-color: var(--color-white);
  }

  .button svg {
    flex-shrink: 0;

    path {
      fill: currentColor;
    }
  }

  /* --- States --- */
  .button:hover,
  .button.primary:hover {
    --button-bg: var(--color-burgund-700);
    --button-color: var(--color-white);
    --button-border: var(--color-burgund-700);
  }

  .button.primary.on-light:hover {
    --button-bg: var(--color-gray-800);
    --button-border: var(--color-gray-800);
    --button-color: var(--color-white);
  }

  .button.primary.on-dark:hover {
    --button-bg: var(--color-gray-200);
    --button-border: var(--color-gray-200);
    --button-color: var(--color-burgund-800);
  }

  .button.secondary:hover {
    --button-bg: var(--color-burgund-100);
    --button-color: var(--color-burgund-800);
    --button-border: var(--color-burgund-800);
  }

  .button.secondary.on-light:hover {
    --button-bg: var(--color-gray-100);
    --button-border: var(--color-black);
    --button-color: var(--color-black);
  }

  .button.secondary.on-dark:hover {
    --button-bg: var(--color-gray-700);
    --button-border: var(--color-white);
    --button-color: var(--color-white);
  }

  .button.tertiary:hover {
    --button-bg: transparent;
    --button-border: transparent;
    --button-color: var(--color-burgund-700);
  }

  .button.tertiary.on-dark:hover {
    --button-bg: transparent;
    --button-border: transparent;
    --button-color: var(--color-gray-200);
  }

  .button.tertiary.on-light:hover {
    --button-bg: transparent;
    --button-border: transparent;
    --button-color: var(--color-gray-800);
  }

  .button.tertiary.icon-btn:hover {
    --button-bg: var(--color-burgund-100);
  }

  .button.tertiary.on-light.icon-btn:hover {
    --button-bg: var(--color-gray-100);
  }

  .button.tertiary.on-dark.icon-btn:hover {
    --button-bg: var(--color-gray-800);
  }

  .button:focus {
    outline: unset;
  }

  .is-keyboard & .button:focus-visible,
  .is-keyboard & .button.on-light:focus-visible {
    --button-bg: var(--color-burgund-900);
    --button-border: var(--color-white);
    --button-color: var(--color-white);
    outline: 2px solid var(--color-burgund-900);
  }

  .is-keyboard & .button.on-dark:focus-visible {
    --button-bg: var(--color-gray-300);
    --button-border: var(--color-white);
    --button-color: var(--color-black);
    outline: 2px solid var(--color-white);
    outline-offset: 2px;
  }

  /*// idk*/
  .is-keyboard & .button.secondary.on-dark:focus-visible {
    --button-bg: var(--color-gray-300);
    --button-border: var(--color-white);
    outline: 2px solid var(--color-white);
    outline-offset: 2px;
  }

  /* --- Disabled --- */
  .button[disabled] {
    pointer-events: none;
  }

  .button.primary[disabled],
  .button.primary.on-light[disabled] {
    --button-bg: var(--color-gray-300);
    --button-color: var(--color-white);
    --button-border: var(--color-gray-300);
  }

  .button.primary.on-dark[disabled] {
    --button-bg: var(--color-gray-800);
    --button-border: var(--color-gray-800);
    --button-color: var(--color-gray-700);
  }

  .button.secondary[disabled],
  .button.secondary.on-light[disabled] {
    --button-color: var(--color-gray-300);
    --button-border: var(--color-gray-300);
  }

  .button.secondary.on-dark[disabled] {
    --button-bg: transparent;
    --button-border: var(--color-gray-700);
    --button-color: var(--color-gray-700);
  }

  .button.tertiary[disabled] {
    --button-color: var(--color-gray-300);
  }

  /*// Modifiers*/
  .button.min-width {
    min-width: 10.25rem;
  }

  .button.min-padding {
    padding: 1rem .5rem;
  }

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

  .button.icon-btn {
    padding: .375rem;
    border-radius: 50%;
  }

  .button {
    .icon {
      display: none;
    }

    &.arrow {
      .icon {
        display: block;
      }
    }

    &.full-width {
      width: 100% !important;
    }
  }

  /* dropdown */

  .nav-menu-button {
    position: relative;
  }

  .nav-menu-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    color: var(--color-black, #000);
    border-radius: 6px;
    transition: background-color 0.2s;
    font-weight: 400;
  }

  .nav-menu-trigger:hover {
    background-color: rgba(0, 0, 0, 0.15);
  }

  .chevron {
    transition: transform 0.2s;
    flex-shrink: 0;
  }

  .nav-menu-trigger.active .chevron {
    transform: rotate(180deg);
  }

  .nav-menu-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: VAR(--color-white);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    min-width: 260px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.2s ease;
    overflow: hidden;
    z-index: 1001;
  }

  .nav-menu-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav-menu-item {
    display: block;
    padding: 14px 20px;
    color: var(--color-black);
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.15s;
    border-bottom: 1px solid var(--color-gray-100);
  }

  .nav-menu-item:last-child {
    border-bottom: none;
  }

  .nav-menu-item:hover,
  .nav-menu-item:focus-visible {
    background-color: rgba(0, 0, 0, 0.1);
  }
  .nav-menu-item:focus-visible {
    outline-offset: -2px;
  }

  .footer__mobile-apps {
    display: flex;
    flex-direction: column;
    margin-bottom: 2.5rem;

    @media screen and (min-width: 786px) {
      flex-direction: row;
    }
  }

  .footer__mobile-apps-text {
    display: flex;

    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.5rem;
  }

  .footer__mobile-apps-icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 0.25rem;
  }

  .footer__app-stores {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;

    @media screen and (min-width: 786px) {
      margin-left: 1.5rem;
    }

    li {
      margin: 0;

      &:before {
        content: none;
      }
    }
  }

  .footer__mobile-app-icon {
    height: 2.5rem;
    width: auto;
  }

  .footer__contact-row {
    margin-bottom: 2.5rem;
  }

  .footer__helpline p {
    margin-bottom: 0;
  }

  .footer__links-with-icons {
    list-style: none;
    margin: 0;
    padding: 0;

    li {
      margin: 0;

      &:before {
        content: none;
      }

      .icon {
        display: block;
        width: 1.5rem;
        height: 1.5rem;
      }
    }

    .footer__link-with-icon {
      margin-bottom: 1rem;
      padding: 0.25rem 0.125rem;
      text-decoration: none;
    }

    .footer__link-with-icon-img {
      width: 1.5rem;
      height: 1.5rem;
    }
  }

  .footer__links-column {
    list-style: none;
    margin-left: 0;
    margin-bottom: 1rem;
    padding: 0;

    li {
      margin: 0;

      &:before {
        content: none;
      }
    }
  }

  .footer__link {
    margin-bottom: 1rem;
    padding: 0;
    text-decoration: none;
    text-align: left;
  }

  .footer__separator {
    margin-top: .5rem;
    margin-bottom: 2.5rem;

    @media screen and (min-width: 786px) {
      margin-top: 2.5rem;
      margin-bottom: 1.5rem;
    }
  }

  .footer__copyright {
    margin-bottom: 1rem;

    a {
      font-size: inherit;

    }
  }

  .footer__social-list {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    list-style: none;
    margin: 0 0 .5rem;
    padding: 0;

    @media screen and (min-width: 786px) {
      margin: 0 0 1rem;
    }

    li {
      margin: 0;

      &:before {
        content: none;
      }

      .footer__social-link .icon {
        width: 1.5rem;
        height: 1.5rem;
      }
    }
  }

  .footer__social-icon {
    height: 1.5rem;
    width: auto;
  }

  .footer__language-selector {
    display: flex;
    align-items: center;

    .nav-menu-dropdown {
      left: auto;
      right: 0;
      min-width: 70px;
      width: 100%;
    }
    .nav-menu-item {
      padding: 6px 20px;
      border-radius: 8px;
    }
  }

  .footer__language-select {
    width: 5rem;
    padding: 0.5rem 0.25rem 0.5rem 0.5rem;
    color: var(--color-white);
    font-size: 1.25rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    appearance: none;

    option {
      color: var(--color-black);
    }

    .chevron {
      width: 24px;
      height: 24px;
    }
  }


  .footer__language-select:focus-visible {
    outline: 2px auto var(--color-white);
  }
}

.footer--burgund {
  background-color: var(--color-burgund-1000);
  color: var(--color-white);

  .footer__app-store-link {
    &:focus-visible {
      outline: 2px auto var(--color-white);
    }
  }

  .footer__link:hover,
  .footer__link-with-icon:hover {
    color: var(--color-yellow-600);
  }

  .footer__separator {
    border-color: var(--color-white);
  }

  .footer__copyright a {
    color: var(--color-yellow-600);

    &:hover,
    &:focus-visible {
      color: var(--color-yellow-400);
    }

    &:focus-visible {
      outline: 2px solid var(--color-white);
    }
  }

  .footer__social-link {
    color: var(--color-white);

    &:hover {
      color: var(--color-yellow-600);
    }

    &:focus-visible {
      outline: 2px auto var(--color-white);
    }
  }

  .footer__language-select {
    color: var(--color-white);
  }
}

.footer--gray {
  background-color: var(--color-gray-100);
  color: var(--color-black);

  .footer__app-store-link {
    &:focus-visible {
      outline: 2px auto var(--color-burgund-800);
    }
  }

  .footer__separator {
    border-color: var(--color-burgund-800);
  }

  .footer__social-link {
    color: var(--color-black);

    &:hover {
      color: var(--color-gray-800);
    }

    &:focus-visible {
      outline: 2px auto var(--color-primary);
    }
  }

  .footer__language-select {
    color: var(--color-black);
  }
  .footer__language-select:focus-visible {
    outline: 2px auto var(--color-burgund-800);
  }
}


