How Important Is the GIVEN-WHEN-THEN pattern in BDD?

How important is it to write BDD tests in a simple GIVEN-WHEN-THEN pattern? Is it bad to write them like: GIVEN-GIVEN-THEN-AND-WHEN-THEN ?

I just started a new position managing testing in a dev shop where testers/devs are using BDD (Specflow) as an abstraction to Selenium and RestSharp tests. This is newish for me. I’ve been reading through their existing library and the gherkin is all over the place, to my eye. I was kind of hoping the tests would be simpler like:

GIVEN the user added these 6 items to their cart
WHEN the user clicks “Show Cart”
THEN the cart displays with all six items

but I’m seeing crazy deviations like:
GIVEN the user added these 6 items to their cart
THEN they add 2 more items
AND they click “Show Cart”
THEN the cart displays with all 8 items
WHEN they click “Back”
THEN they see the product page again
AND they see the “Show Cart” button again

It’s as if the keywords are randomly assigned. Okay, maybe it’s not as bad as I’m describing. Just seems like different authors are structuring GIVEN-WHEN-THEN-AND keywords completely differently.

How you write them is very important as they are meant to be easy to read, especially by someone non-technical.
I ran an internal training session on this last year and made the point that it isnt about the UI navigation, but about the actions.
To make it easier to understand, I grouped them as Context, Event, Outcome, where any of the 3 can be multi steps. But, you only have one Given, one When and one Then:

Scenario name – must be meaningful and unique
'Given’ - this is the precondition(s), state or parameters needed. This sets the Context.
'When’ – this is the behaviour or Event we are testing
'Then’ – this is the expected Outcome from the preconditions and the behaviour
‘And’ – this can be used after a ‘Given’, ‘When’ or ‘Then’ statement for additional context, events or outcomes.

Given I log into my banking app
And select my savings account
When I transfer £500 to my current account
Then my savings account balance is reduced by £500
And my current account balance is increased by £500.

The first 2 lines are the Context, the When line is the Action, and the last two lines are the Outcome.

There are more complicated workflows but these for us tend to be where we have to have another user who approves or rejects a change, and then the first user has to then do something afterwards. Rather than splitting them up we do have them written as fairly long scenarios (no more than 20 lines though). As an aside, I reviewed one that was written before I joined the company which has over 100 lines, and many When and Then statements. Took me 3 hours to rewrite it into sensible chunks!!

Hope this helps.