/* GlobalSourcing v4.7: genuine one-row process timeline.
   Dedicated file avoids the previous v4.4.0 stale stylesheet version.
   For desktop/laptop: never wraps into multiple rows. On narrow screens: scrolls horizontally.
*/
.home .gs-process-section,
.gs-process-section { background:#fff; padding:74px 0 82px; }
.gs-process-section .eyebrow {display:block;text-align:center;}
.gs-process-section h2 {text-align:center;max-width:920px;margin:10px auto 30px;}
.gs-process-section .gs-process-width {max-width:1260px;width:min(1260px,calc(100% - 48px));}
.gs-process-section .gs-process-flow {
  display:grid !important;
  grid-template-columns:repeat(var(--gs-flow-count,6),minmax(0,1fr)) !important;
  grid-auto-flow:column !important;
  gap:12px !important;
  width:100% !important;
  margin:32px 0 0 !important;
  padding:0 0 7px !important;
  align-items:start !important;
  overflow:visible !important;
}
.gs-process-section .gs-flow-step {
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  position:relative !important;
  min-width:0 !important;
  max-width:none !important;
  width:100% !important;
  box-sizing:border-box;
}
.gs-process-section .gs-flow-icon {
  display:flex;align-items:center;justify-content:center;
  width:72px;height:72px;min-width:72px;min-height:72px;
  border-radius:50%;border:1.5px solid #f3bb93;
  background:#fff5ed;color:#132b38;margin:0 auto 13px;
}
.gs-process-section .gs-flow-icon svg {width:34px;height:34px;max-width:34px;flex:0 0 auto;}
.gs-process-section .gs-flow-number {display:block;color:#EE6E00;font-size:12px;letter-spacing:.09em;font-weight:800;}
.gs-process-section .gs-flow-step h3 {font-size:15px;line-height:1.4;margin:6px 0 0;color:#132b38;font-weight:750;max-width:180px;overflow-wrap:break-word;}
.gs-process-section .gs-flow-step:not(:last-child)::after {
  content:'→';display:block;position:absolute;
  top:20px;right:-18px;color:#EE6E00;font-size:24px;line-height:1;
  z-index:2;pointer-events:none;
}
.gs-process-section .gs-process-swipe {display:none;}
/* Legacy homepage block: one-row even if HTML cache still serves the older step-grid. */
.home .gs-process-section .step-grid {
  display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  grid-auto-flow:column !important;gap:10px !important;
  overflow-x:auto !important;flex-wrap:nowrap !important;
}
.home .gs-process-section .step-grid .step {min-width:0;border-right:0;border-top:0;position:relative;padding:15px 10px;}
.home .gs-process-section .step-grid .step:not(:last-child)::after {content:'→';color:#EE6E00;position:absolute;right:-10px;top:18px;}
@media (min-width:768px) and (max-width:1020px) {
  .gs-process-section .gs-process-flow {gap:5px !important;}
  .gs-process-section .gs-flow-icon {width:60px;height:60px;min-width:60px;min-height:60px;}
  .gs-process-section .gs-flow-icon svg {width:28px;height:28px;}
  .gs-process-section .gs-flow-step h3 {font-size:13px;}
  .gs-process-section .gs-flow-step:not(:last-child)::after {right:-13px;top:16px;font-size:19px;}
}
@media(max-width:767px){
  .gs-process-section{padding:54px 0 62px;}
  .gs-process-section .gs-process-flow {
    display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;
    width:100% !important;gap:14px !important;overflow-x:auto !important;
    overscroll-behavior-x:contain;scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;padding:0 8px 18px !important;
  }
  .gs-process-section .gs-flow-step {
    flex:0 0 148px !important;min-width:148px !important;max-width:148px !important;
    scroll-snap-align:start;
  }
  .gs-process-section .gs-flow-icon {width:65px;height:65px;min-width:65px;min-height:65px;}
  .gs-process-section .gs-flow-step:not(:last-child)::after {right:-18px;top:17px;font-size:20px;}
  .gs-process-section .gs-process-swipe {display:block;text-align:center;color:#617078;font-size:12px;margin:6px 0 0;}
  .home .gs-process-section .step-grid {grid-template-columns:repeat(6,minmax(150px,1fr)) !important;}
}
