/*
  process.css — "Nasıl Çalışır" bölümü: yüzde sayaç + dolan gradyan çubuk +
  kademeli açılan adımlar. Sadece anasayfada (index.html) yüklenir.

  Not: Bir 3D/preloader spesifikasyonundan esinlenildi ama framework/WebGL
  YOK — saf CSS + js/process.js (IntersectionObserver + requestAnimationFrame).
  Sayaç bilinçli olarak dolum kenarını TAKİP ETMEZ (spesifikasyondaki gibi) —
  bunun yerine eyebrow ile aynı satırda sabit durur: hem RTL'de doğru
  mantıksal konumu tutturmak kolaylaşır hem de kod kırılganlığı azalır.
*/

.panel--process {
  padding: var(--section-y) var(--sp-6);
  background: var(--paper);
}

.process__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  text-align: center;
}

.process__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-3);
  margin-block-end: var(--sp-3);
  text-align: start;
}

.process__eyebrow {
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent, var(--brass-deep));
  font-weight: 700;
}

:lang(ar) .process__eyebrow {
  letter-spacing: normal;
  text-transform: none;
}

.process__counter {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--accent, var(--brass-deep));
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

:lang(ar) .process__counter {
  font-family: var(--font-arabic);
}

.process__bar {
  height: 4px;
  border-radius: 999px;
  background: var(--sand);
  overflow: hidden;
  margin-block-end: var(--sp-6);
}

.process__fill {
  height: 100%;
  width: 100%;
  transform-origin: left;
  transform: scaleX(0);
  background: linear-gradient(to right, var(--brass), var(--accent, var(--resto-accent)));
}

[dir="rtl"] .process__fill {
  transform-origin: right;
  background: linear-gradient(to left, var(--brass), var(--accent, var(--resto-accent)));
}

.process__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
  text-align: start;
}

.process__step {
  opacity: 0.35;
  transform: translateY(10px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.process__step.is-active {
  opacity: 1;
  transform: none;
}

.process__step-num {
  display: block;
  font-family: var(--font-body);
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  color: var(--accent, var(--brass-deep));
  font-weight: 700;
  margin-block-end: var(--sp-1);
}

:lang(ar) .process__step-num {
  letter-spacing: normal;
}

.process__step h3 {
  font-size: 1.15rem;
  margin-block-end: 4px;
}

.process__step p {
  color: var(--ink-soft);
  font-size: 0.95rem;
}

.process__cta {
  display: inline-block;
  margin-block-start: var(--sp-6);
  font-weight: 600;
  color: var(--accent-deep, var(--brass-deep));
  border-block-end: 1px solid currentColor;
  padding-block-end: 2px;
}

.process__cta:hover,
.process__cta:focus-visible {
  color: var(--accent, var(--brass));
}

@media (max-width: 760px) {
  .process__steps {
    grid-template-columns: 1fr;
  }
}
