/* templates/blocks/workflow-process/style.css — v1.0.6
   Fix: map General settings + responsive inside half-width Row/Inner Row. */

.pf-workflow-process {
  --pf-wf-bg: #ffffff;
  --pf-wf-color: #262626;
  --pf-wf-pad: 0px;
  --pf-wf-margin: 0px;
  --pf-wf-gap: 28px;
  --pf-wf-align: center;
  --pf-wf-cols-desktop: 5;
  --pf-wf-cols-tablet: 3;
  --pf-wf-cols-mobile: 1;
  --pf-wf-half-cols: 2;

  --pf-wf-line-color: #d7e2e4;
  --pf-wf-line-width: 1px;
  --pf-wf-line-style: dashed;
  --pf-wf-line-top: 44px;
  --pf-wf-line-offset: 50%;

  --pf-wf-item-bg: transparent;
  --pf-wf-item-pad: 0px;
  --pf-wf-item-margin: 0px;
  --pf-wf-item-border-width: 0px;
  --pf-wf-item-border-style: solid;
  --pf-wf-item-border-color: transparent;
  --pf-wf-item-radius: 0px;
  --pf-wf-item-shadow: none;

  --pf-wf-circle-size: 86px;
  --pf-wf-circle-thick: 5px;
  --pf-wf-circle-active: #091a3a;
  --pf-wf-circle-track: #dbe3e4;
  --pf-wf-circle-inner-bg: #ffffff;
  --pf-wf-circle-bg: conic-gradient(var(--pf-wf-circle-active) 0deg 53deg, transparent 53deg 60deg, var(--pf-wf-circle-track) 60deg 113deg, transparent 113deg 120deg, var(--pf-wf-circle-track) 120deg 173deg, transparent 173deg 180deg, var(--pf-wf-circle-track) 180deg 233deg, transparent 233deg 240deg, var(--pf-wf-circle-track) 240deg 293deg, transparent 293deg 300deg, var(--pf-wf-circle-track) 300deg 353deg, transparent 353deg 360deg);
  --pf-wf-circle-shadow: none;

  --pf-wf-icon-color: #004142;
  --pf-wf-icon-bg: #ffffff;
  --pf-wf-icon-size: 26px;
  --pf-wf-icon-box-size: 58px;

  --pf-wf-step-color: #091a3a;
  --pf-wf-step-bg: transparent;
  --pf-wf-step-fs: 14px;
  --pf-wf-step-lh: 1.2;
  --pf-wf-step-fw: 700;
  --pf-wf-step-ls: 0px;
  --pf-wf-step-transform: none;
  --pf-wf-step-border-color: transparent;
  --pf-wf-step-border-width: 0px;
  --pf-wf-step-border-style: solid;
  --pf-wf-step-shadow: none;
  --pf-wf-step-mt: 10px;
  --pf-wf-step-mb: 4px;
  --pf-wf-step-pad: 0px;
  --pf-wf-step-radius: 0px;

  --pf-wf-title-color: #091a3a;
  --pf-wf-title-bg: transparent;
  --pf-wf-title-ff: inherit;
  --pf-wf-title-fs: 16px;
  --pf-wf-title-lh: 1.3;
  --pf-wf-title-fw: 700;
  --pf-wf-title-ls: 0px;
  --pf-wf-title-transform: none;
  --pf-wf-title-pad: 0px;
  --pf-wf-title-margin: 0 0 6px 0;
  --pf-wf-title-radius: 0px;

  --pf-wf-desc-color: #262626;
  --pf-wf-desc-bg: transparent;
  --pf-wf-desc-ff: inherit;
  --pf-wf-desc-fs: 13px;
  --pf-wf-desc-lh: 1.55;
  --pf-wf-desc-fw: 400;
  --pf-wf-desc-ls: 0px;
  --pf-wf-desc-transform: none;
  --pf-wf-desc-pad: 0px;
  --pf-wf-desc-margin: 0px;
  --pf-wf-desc-radius: 0px;

  display: block;
  position: relative;
  container-type: inline-size;
  box-sizing: border-box;
  color: var(--pf-wf-color) !important;
  background: var(--pf-wf-bg) !important;
  padding: var(--pf-wf-pad) !important;
  margin: var(--pf-wf-margin) !important;
}

.pf-workflow-process,
.pf-workflow-process * { box-sizing: border-box; }

.pf-workflow-process .pf-wf__items {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--pf-wf-cols-desktop), minmax(0, 1fr));
  gap: var(--pf-wf-gap);
  align-items: stretch;
  width: 100%;
}

.pf-workflow-process.is-flex .pf-wf__items {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--pf-wf-gap);
}

.pf-workflow-process.is-flex .pf-wf__item { flex: 1 1 0; }

.pf-wf__item {
  position: relative;
  z-index: 1;
  min-width: 0;
  text-align: var(--pf-wf-align);
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--pf-wf-item-bg);
  padding: var(--pf-wf-item-pad);
  margin: var(--pf-wf-item-margin);
  border-width: var(--pf-wf-item-border-width);
  border-style: var(--pf-wf-item-border-style);
  border-color: var(--pf-wf-item-border-color);
  border-radius: var(--pf-wf-item-radius);
  box-shadow: var(--pf-wf-item-shadow);
}

.pf-workflow-process[style*="--pf-wf-align:left"] .pf-wf__item { align-items: flex-start; }
.pf-workflow-process[style*="--pf-wf-align:right"] .pf-wf__item { align-items: flex-end; }
.pf-workflow-process[style*="--pf-wf-align:center"] .pf-wf__item { align-items: center; }

.pf-wf__circle-wrap { order: 1; }
.pf-wf__step { order: 2; }
.pf-wf__title { order: 3; }
.pf-wf__desc { order: 4; }
.pf-workflow-process.pf-wf--step-above-icon .pf-wf__step { order: 0; }
.pf-workflow-process.pf-wf--step-below-icon .pf-wf__step,
.pf-workflow-process.pf-wf--step-above-title .pf-wf__step { order: 2; }
.pf-workflow-process.pf-wf--step-below-title .pf-wf__step { order: 4; }
.pf-workflow-process.pf-wf--step-below-title .pf-wf__desc { order: 5; }
.pf-workflow-process.pf-wf--step-below-desc .pf-wf__step { order: 5; }
.pf-workflow-process.pf-wf--step-hidden .pf-wf__step { display: none !important; }

.pf-workflow-process.is-line .pf-wf__item:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: var(--pf-wf-line-top);
  left: var(--pf-wf-line-offset);
  width: calc(100% + var(--pf-wf-gap));
  border-top: var(--pf-wf-line-width) var(--pf-wf-line-style) var(--pf-wf-line-color);
  pointer-events: none;
}

.pf-wf__circle-wrap {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--pf-wf-circle-size);
  height: var(--pf-wf-circle-size);
}

.pf-wf__circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--pf-wf-circle-size);
  height: var(--pf-wf-circle-size);
  border-radius: 999px;
  padding: var(--pf-wf-circle-thick);
  background: var(--pf-wf-circle-bg);
  box-shadow: var(--pf-wf-circle-shadow);
}

.pf-wf__circle-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%; height: 100%;
  border-radius: inherit;
  background: var(--pf-wf-circle-inner-bg);
}

.pf-wf__iconbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--pf-wf-icon-box-size);
  height: var(--pf-wf-icon-box-size);
  border-radius: 999px;
  background: var(--pf-wf-icon-bg);
  color: var(--pf-wf-icon-color);
}

.pf-wf__iconbox i,
.pf-wf__iconbox svg {
  color: currentColor;
  fill: currentColor;
  width: var(--pf-wf-icon-size);
  height: var(--pf-wf-icon-size);
  font-size: var(--pf-wf-icon-size);
  line-height: 1;
  display: block;
}

.pf-wf__step {
  display: inline-block;
  color: var(--pf-wf-step-color) !important;
  background: var(--pf-wf-step-bg);
  font-size: var(--pf-wf-step-fs) !important;
  line-height: var(--pf-wf-step-lh) !important;
  font-weight: var(--pf-wf-step-fw) !important;
  letter-spacing: var(--pf-wf-step-ls) !important;
  text-transform: var(--pf-wf-step-transform) !important;
  margin: var(--pf-wf-step-mt) 0 var(--pf-wf-step-mb) 0;
  padding: var(--pf-wf-step-pad);
  border: var(--pf-wf-step-border-width) var(--pf-wf-step-border-style) var(--pf-wf-step-border-color);
  border-radius: var(--pf-wf-step-radius);
  box-shadow: var(--pf-wf-step-shadow);
}

.pf-wf__title {
  display: block;
  width: 100%;
  color: var(--pf-wf-title-color) !important;
  background: var(--pf-wf-title-bg);
  font-family: var(--pf-wf-title-ff) !important;
  font-size: var(--pf-wf-title-fs) !important;
  line-height: var(--pf-wf-title-lh) !important;
  font-weight: var(--pf-wf-title-fw) !important;
  letter-spacing: var(--pf-wf-title-ls) !important;
  text-transform: var(--pf-wf-title-transform) !important;
  padding: var(--pf-wf-title-pad);
  margin: var(--pf-wf-title-margin);
  border-radius: var(--pf-wf-title-radius);
}

.pf-wf__desc {
  display: block;
  width: 100%;
  color: var(--pf-wf-desc-color) !important;
  background: var(--pf-wf-desc-bg);
  font-family: var(--pf-wf-desc-ff) !important;
  font-size: var(--pf-wf-desc-fs) !important;
  line-height: var(--pf-wf-desc-lh) !important;
  font-weight: var(--pf-wf-desc-fw) !important;
  letter-spacing: var(--pf-wf-desc-ls) !important;
  text-transform: var(--pf-wf-desc-transform) !important;
  padding: var(--pf-wf-desc-pad);
  margin: var(--pf-wf-desc-margin);
  border-radius: var(--pf-wf-desc-radius);
}


/* Auto adapt when block is placed in 1/2 column / narrow inner row */
@container (max-width: 760px) {
  .pf-workflow-process.is-fit-auto .pf-wf__items {
    grid-template-columns: repeat(var(--pf-wf-half-cols), minmax(0, 1fr));
  }
  .pf-workflow-process.is-fit-auto.is-flex .pf-wf__items {
    display: grid;
    grid-template-columns: repeat(var(--pf-wf-half-cols), minmax(0, 1fr));
  }
}

@container (max-width: 460px) {
  .pf-workflow-process.is-fit-auto .pf-wf__items,
  .pf-workflow-process.is-fit-auto.is-flex .pf-wf__items {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1024px) {
  .pf-workflow-process .pf-wf__items {
    grid-template-columns: repeat(var(--pf-wf-cols-tablet), minmax(0, 1fr));
  }
  .pf-workflow-process.is-flex .pf-wf__items { flex-wrap: wrap; }
}

@media (max-width: 767px) {
  .pf-workflow-process .pf-wf__items {
    grid-template-columns: repeat(var(--pf-wf-cols-mobile), minmax(0, 1fr));
  }
  .pf-workflow-process.is-mobile-vertical .pf-wf__items {
    display: flex;
    flex-direction: column;
  }
  .pf-workflow-process.is-mobile-vertical.is-line .pf-wf__item:not(:last-child)::after {
    top: var(--pf-wf-circle-size);
    left: 50%;
    width: 0;
    height: calc(var(--pf-wf-gap) + 10px);
    border-top: 0;
    border-left: var(--pf-wf-line-width) var(--pf-wf-line-style) var(--pf-wf-line-color);
  }
}
