/**
 * Progress-block — the "step-by-step" component (config-bound `.progress-block`
 * class on a 4-column in-columns paragraph, used on the service-bundle pages:
 * /menutech-service, /menutech-software, /menutech-enterprise). Each step is a
 * white card with a brand-blue `.tag` badge + title + description, laid out as
 * a flex row at ≥993px with a Material-Icons arrow between cards (a down-arrow
 * when stacked on mobile, right-arrow on desktop).
 *
 * Ported from the legacy service-page CSS, which was dropped during the
 * menutech_next migration — the steps rendered as raw stacked text on local.
 * Tokenized (#009fed → --color-brand; #fff + shadow kept literal). Legacy
 * 601/993/1201 breakpoints verbatim. Unlayered (Drupal-rendered descendants).
 */
.progress-block {
  width: 90%;
  max-width: 1280px;
  margin: 1.2rem auto 2.4rem;

  @media (min-width: 601px)  { width: 85%; }
  @media (min-width: 993px)  { width: 80%; }
  @media (min-width: 1201px) { width: 70%; }
}

.progress-block .field--name-field-p-column-content .field--items {
  padding-top: 2px;
  padding-bottom: 3px;

  @media (min-width: 993px) {
    display: flex;
    margin-right: -1.5rem;
    overflow: hidden;
  }
}

.progress-block .field--name-field-p-column-content .field--items > .field--item {
  box-sizing: border-box;
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 1.2rem;
  padding-left: 1.2rem;

  @media (min-width: 993px) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex: 0 0 25%;
    max-width: 25%;
    padding-right: 0;
  }

  /* Arrow between steps — down when stacked, right at ≥993px. */
  &::after {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-family: "Material Icons";
    font-style: normal;
    font-weight: normal;
    font-size: 3em;
    line-height: 1;
    content: "keyboard_arrow_down";
    color: var(--color-brand);

    @media (min-width: 993px) {
      flex: 0 0 auto;
      width: 1.5rem;
      margin-left: 1.2rem;
      content: "keyboard_arrow_right";
    }
  }

  &:last-child::after {
    display: none;
  }

  @media (min-width: 993px) {
    &:last-child .paragraph--type-content-section {
      margin-right: 3px;
    }
  }

  .paragraph--type-content-section,
  .paragraph {
    padding: 20px;
    background-color: #fff;
    box-shadow:
      0 4px 5px 0 rgba(0, 0, 0, 0.14),
      0 1px 10px 0 rgba(0, 0, 0, 0.12),
      0 2px 4px -1px rgba(0, 0, 0, 0.3);
  }

  .paragraph--type-content-section .field--name-field-body,
  .paragraph .field--name-field-body {
    margin-bottom: 0;
  }

  .tag {
    display: inline-block;
    margin: 0 0 8px;
    padding: 0 0.5em;
    border-radius: 2px;
    background: var(--color-brand);
    color: #fff;
    font-weight: 700;
    font-size: 0.857rem;
    line-height: 1.286rem;

    @media (min-width: 601px) {
      font-weight: 400;
    }
  }
}
