.menu {
  --color-text: #5a1808;
  --font-text: "Roboto";

  --layout-column: 1fr repeat(2, 7rem);

  width: 1100px;
  margin-inline: auto;

  color: var(--color-text, #5a1808);
  font-family: var(--font-text), sans-serif;

  margin-block-start: 3rem;

  /* BASIC STYLES */
  h1 {
    font-size: 1.125rem;

    text-align: center;
  }

  ul {
    list-style: none;
    padding: 0;

    display: flex;
    flex-direction: column;
    gap: 1rem;

    margin-block-end: 1.75rem;
  }

  .header {
    display: grid;
    grid-template-columns: var(--layout-column);

    margin-block-end: 1.75rem;

    .header__price {
      text-align: right;
      font-weight: bold;
    }

    .header__price-large {
      grid-column: 2;
    }

    .header__price-small {
      grid-column: 3;
    }
  }

  .line-item {
    display: grid;
    grid-template-columns: var(--layout-column);

    .title {
      .allergens {
        margin-inline-start: 1.25rem;

        display: inline-flex;
        gap: 1ch;

        .title--allergen {
          cursor: help;
        }
      }
    }

    .prices {
      grid-column: 2 / 4;
      display: grid;
      grid-template-columns: subgrid;

      p {
        text-align: right;
      }
    }
  }

  /* SPECIAL STYLES */
  .special {
    text-align: center;

    margin-block-end: 1.25rem;

    .special__title {
      font-size: 1.125rem;
      margin-block: 1.25rem;
    }

    .special__price {
      display: inline-block;
      margin-block-end: 0.625rem;
    }

    ul {
      margin-block-end: 0.625rem;
      gap: 0;
    }

    .line-item {
      display: block;

      .prices {
        display: none;
      }
    }
  }
}
