header {
  background-color: var(--green-300);

  & .btn_menu_mobile {
    margin-left: 1.25rem;

    background: none;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    & img {
      width: 28px;
      height: auto;
    }
  }

  & .logo {
    position: absolute;
    top: 17px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }

  & .social_media {
    gap: 2px;

    & a {
      background-color: var(--green-100);
      padding: 1.5rem 0.5rem;
      transition: all 0.2s ease;

      &:hover {
        background-color: var(--green-300);
      }

      & i {
        color: var(--white-200);
        font-size: 1.25rem;
      }
    }
  }
}

.offcanvas {
  background-color: #f8f9fa;

  & .nav-link {
    color: #333;
    font-weight: 500;

    &:hover {
      color: #198754;
    }

    & .bi-chevron-down {
      transition: transform 0.2s ease;
    }
  }

  & .nav-link[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
    transition: transform 0.2s ease;
  }
}

@media (min-width: 768px) {
}

@media (min-width: 992px) {
  header {
    background: linear-gradient(
      180deg,
      var(--white-200) 50%,
      var(--green-300) 50%
    );

    & > div {
      padding-left: 140px !important;
    }

    & .logo {
      top: 4px;
      left: 15px;
      transform: initial;

      & img {
        width: 140px;
        height: auto;
      }
    }

    & .header_lines {
      width: 100%;
      margin-left: calc(140px + 70px); /* Logo + gap */
      display: flex;
      flex-direction: column;

      & .menu_principal {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0;

        & li:nth-child(3) {
          background-color: var(--green-300);

          & a {
            color: var(--white-200);

            &:hover {
              color: var(--green-100);
            }
          }
        }

        & li {
          list-style: none;
          padding: 1.375rem;

          &.current_page_item {
            color: var(--green-100);
          }

          & a {
            font-weight: 500;
            font-size: 0.875rem;

            &:hover {
              color: var(--green-300);
            }

            &.active {
              color: #fff;
              background-color: var(--green-300);
            }
          }
        }
      }

      & .header_line_1 {
        & .info_header {
          gap: 15px;

          & span {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 0.875rem;

            & i {
              color: var(--green-300);
            }
          }
        }

        & .social_media {
          gap: 0.5rem;

          & a {
            display: flex;
            align-items: center;
            padding-block: 0.5rem;
            height: 100%;

            & i {
              color: var(--white-200);
              font-size: 1.25rem;
            }
          }
        }
      }

      & .header_line_2 {
        & .menu_categories {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 0;

          & > div {
            padding: 1.375rem 1rem;

            & a {
              font-weight: 500;
              font-size: 0.875rem;

              color: var(--white-200);

              &:hover {
                color: var(--green-100);
              }
            }

            & ul li a {
              color: var(--green-300);
            }
          }
        }
      }
    }
  }
}

@media (min-width: 1400px) {
  header {
    & > div {
      padding-left: 180px !important;
    }

    & .logo {
      left: 25px;

      & img {
        width: 180px;
      }
    }

    & .header_lines {
      margin-left: calc(180px + 70px); /* Logo + gap */

      & .menu_principal {
        & li {
          & a {
            font-size: 1.125rem;
          }
        }
      }

      & .header_line_1 {
        & .info_header {
          gap: 60px;

          & span {
            font-size: 1.125rem;
          }
        }
      }

      & .header_line_2 {
        & .menu_categories {
          gap: 2rem;

          & > div {
            & a {
              font-size: 1.125rem;
            }
          }
        }
      }
    }
  }
}

@media (min-width: 1600px) {
  header {
    & > div {
      padding-left: 218px !important;
      padding-right: 218px !important;
    }

    & .logo {
      top: 4px;
      left: 218px;
      transform: initial;
    }

    & .header_lines {
      & .menu_principal {
        gap: 2rem;
      }
    }
  }
}
