/* Randevuka Reflect Kalite — 4 imza FX + section anatomisi (vanilla) */

:root {
  --randevuka-bg: var(--rv-bg, #050508);
  --randevuka-accent: var(--rv-accent, #5e6ad2);
  --glow-blur: 80px;
  --ring-opacity: 0.12;
  --card-radius: 20px;
  --reveal-duration: 500ms;
  --reveal-stagger: 100ms;
}

/* —— A) Reflect Horizon (static crown — no L↔R drift) —— */
.reflect-horizon {
  position: absolute;
  left: 50%;
  top: 0;
  width: min(120%, 72rem);
  height: 0;
  transform: translate3d(-50%, 0, 0);
  pointer-events: none;
  z-index: 6;
  overflow: visible;
}

.reflect-horizon__arc {
  position: absolute;
  left: 50%;
  top: 0;
  width: min(110vw, 860px);
  height: min(48vw, 340px);
  transform: translate(-50%, -70%);
  border-radius: 50%;
  background:
    radial-gradient(
      ellipse 48% 42% at 50% 82%,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 230, 255, 0.7) 10%,
      rgba(186, 156, 255, 0.5) 26%,
      rgba(94, 106, 210, 0.32) 46%,
      rgba(84, 57, 255, 0.14) 60%,
      transparent 74%
    );
  filter: blur(calc(var(--glow-blur) * 0.68));
  opacity: 0.72;
  /* screen blend + büyük blur: scroll’da başlık renk stutter */
  mix-blend-mode: normal;
}

.reflect-horizon__beam {
  position: absolute;
  left: 50%;
  top: 0;
  width: 150%;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(186, 156, 255, 0.2) 16%,
    rgba(255, 255, 255, 1) 48%,
    rgba(94, 106, 210, 0.95) 52%,
    rgba(186, 156, 255, 0.25) 78%,
    transparent 100%
  );
  box-shadow:
    0 0 22px rgba(94, 106, 210, 0.85),
    0 0 56px rgba(186, 156, 255, 0.55),
    0 0 110px rgba(84, 57, 255, 0.35);
  filter: blur(0.35px);
}

.reflect-horizon__sheen {
  position: absolute;
  left: 50%;
  top: 0;
  width: min(96%, 48rem);
  height: 7.5rem;
  transform: translateX(-50%);
  background: linear-gradient(
    180deg,
    rgba(186, 156, 255, 0.28) 0%,
    rgba(94, 106, 210, 0.12) 38%,
    transparent 100%
  );
  mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
  opacity: 0.85;
  pointer-events: none;
}

/* Legacy alias removed — use .reflect-horizon */
.glow-arc { display: none !important; }

/* —— B) Radar rings —— */
.radar-rings {
  position: absolute;
  left: 50%;
  top: 42%;
  width: min(28rem, 72vw);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 0;
}

.radar-rings::before,
.radar-rings::after,
.radar-rings > i {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(94, 106, 210, var(--ring-opacity));
  box-sizing: border-box;
}

.radar-rings::before {
  inset: 12%;
  opacity: 0.85;
}

.radar-rings::after {
  inset: 28%;
  opacity: 0.7;
}

.radar-rings > i:nth-child(1) {
  inset: 42%;
  opacity: 0.55;
}

.radar-rings > i:nth-child(2) {
  inset: 0;
  margin: auto;
  width: 0.55rem;
  height: 0.55rem;
  border: none;
  background: var(--randevuka-accent);
  box-shadow: 0 0 18px rgba(94, 106, 210, 0.85), 0 0 36px rgba(186, 156, 255, 0.45);
}

/* —— C) Encrypted matrix —— */
.matrix-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
  font-size: clamp(0.55rem, 1.05vw, 0.7rem);
  letter-spacing: 0.12em;
  line-height: 1.7;
  text-transform: uppercase;
  color: rgba(160, 170, 255, 0.16);
  user-select: none;
  mask-image: radial-gradient(ellipse 58% 52% at 50% 48%, transparent 0%, #000 68%);
  -webkit-mask-image: radial-gradient(ellipse 58% 52% at 50% 48%, transparent 0%, #000 68%);
}

.matrix-bg span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  padding: 0 4%;
}

.matrix-bg span:nth-child(odd) {
  opacity: 0.95;
  filter: blur(0.2px);
}

.matrix-bg span:nth-child(even) {
  text-align: right;
  opacity: 0.55;
  filter: blur(0.45px);
  font-size: 0.92em;
}

.matrix-bg span:nth-child(3n) {
  opacity: 0.38;
  filter: blur(0.7px);
}

/* Güvenlik shield-cipher — eski matrix kurallarını uygulama */
.rv-secure .shield-cipher {
  pointer-events: none;
  user-select: none;
}

.rv-secure .rv-secure-core {
  position: relative;
  z-index: 1;
}

/* —— D) Floating cards —— */
.floating-card {
  --float-rot: 0deg;
  --float-x: 0px;
  --float-y: 0px;
  transform: translate3d(var(--float-x), var(--float-y), 0) rotate(var(--float-rot));
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.08);
  border-radius: var(--card-radius);
  will-change: auto;
}

.floating-card.is-reveal,
.fx-reveal {
  opacity: 0;
  transform: translate3d(var(--float-x, 0), calc(var(--float-y, 0px) + 20px), 0) rotate(var(--float-rot, 0deg));
  transition:
    opacity var(--reveal-duration) cubic-bezier(0.22, 1, 0.36, 1),
    transform var(--reveal-duration) cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

.floating-card.is-reveal.is-in,
.fx-reveal.is-in {
  opacity: 1 !important;
  transform: translate3d(var(--float-x, 0), var(--float-y, 0), 0) rotate(var(--float-rot, 0deg)) !important;
}

.floating-card.is-reveal.is-in {
  animation: floatingIdle 5.5s ease-in-out infinite alternate;
  animation-delay: calc(var(--reveal-delay, 0ms) + var(--reveal-duration));
}

html.is-scrolling .floating-card.is-reveal.is-in,
body.perf-lite .floating-card.is-reveal.is-in {
  animation-play-state: paused;
}

body.perf-lite .floating-card.is-reveal.is-in {
  animation: none;
}

@keyframes floatingIdle {
  from {
    transform: translate3d(var(--float-x, 0), var(--float-y, 0), 0) rotate(var(--float-rot, 0deg));
  }
  to {
    transform: translate3d(var(--float-x, 0), calc(var(--float-y, 0px) - 5px), 0) rotate(var(--float-rot, 0deg));
  }
}

/* Product card chrome */
.product-chrome {
  border-radius: var(--card-radius);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

/* Hero NoiseBackground paneli — yukarı mor halo kapalı */
.hero-product .product-chrome {
  box-shadow: none;
  border-color: transparent;
}

/* Section eyebrow */
.section-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(236, 236, 238, 0.68);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 0.85rem;
}

.section-head {
  text-align: center;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(2rem, 4vw, 2.85rem);
}

/* Reflect type scale — mevcut başlık metinleri aynı, ölçü çekilir */
.feat-h2,
.how-h2,
.price-h2,
.rv-secure-h2,
.finale-title.rv-display {
  font-size: clamp(2rem, 4.6vw, 3.05rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
}

.feat-head--reflect .section-pill,
.how-head--reflect .section-pill,
.price-head--reflect .section-pill,
.finale-head .section-pill,
.rv-secure-core .section-pill {
  margin-bottom: 0.9rem;
}

/* #how başlık — TR tek satır (reflect scale bu blokta daha dar) */
#how .how-head--reflect {
  max-width: min(100%, 48rem);
}

#how .how-h2.rv-display {
  font-size: clamp(1.7rem, 2.75vw, 2.35rem) !important;
  line-height: 1.1 !important;
}

@media (min-width: 641px) {
  #how .how-h2.rv-display {
    white-space: nowrap;
    text-wrap: nowrap;
  }
}

/* #sectors başlık — TR tek satır */
#sectors .feat-head--reflect {
  max-width: min(100%, 52rem);
}

#sectors .feat-h2.rv-display {
  font-size: clamp(1.65rem, 2.55vw, 2.25rem) !important;
  line-height: 1.1 !important;
}

@media (min-width: 641px) {
  #sectors .feat-h2.rv-display {
    white-space: nowrap;
    text-wrap: nowrap;
  }
}

.feat-kicker-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  margin: 0 auto 0.85rem;
  padding: 1.1rem 1.6rem;
}

.feat-kicker-wrap .feat-kicker.section-pill {
  position: relative;
  z-index: 1;
  margin: 0;
}

/* Hero product host */
.hero-product {
  position: relative;
  overflow: visible;
}

.feat-screen--reflect.product-chrome,
.rv-how-phone-frame.product-chrome,
.rv-price-card.product-chrome,
.rv-how-stats.product-chrome {
  border-radius: var(--card-radius);
}

/* Ölü Lottie host kaldirildi */

@media (max-width: 640px) {
  :root {
    --glow-blur: 44px;
  }

  .reflect-horizon__arc {
    width: min(110vw, 480px);
    height: min(48vw, 200px);
    filter: blur(36px);
  }

  .reflect-horizon__sheen {
    height: 4.5rem;
  }

  .radar-rings {
    width: min(16rem, 70vw);
    opacity: 0.55;
  }

  .radar-rings::before {
    inset: 22%;
  }

  .radar-rings::after {
    inset: 40%;
  }

  .radar-rings > i:nth-child(1) {
    display: none;
  }

  .feat-h2,
  .how-h2,
  .price-h2,
  .rv-secure-h2,
  .finale-title.rv-display {
    font-size: clamp(1.75rem, 8.2vw, 2.35rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-card.is-reveal,
  .fx-reveal {
    opacity: 1 !important;
    transform: translate3d(var(--float-x, 0), var(--float-y, 0), 0) rotate(var(--float-rot, 0deg)) !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Güvenlik — scroll sırasında layout kayması yok; yalnızca opacity */
#guvenlik .shield-cipher {
  animation: rv-secure-shield-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

#guvenlik .rv-secure-core {
  animation: rv-secure-copy-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}

@keyframes rv-secure-shield-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes rv-secure-copy-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  #guvenlik .shield-cipher,
  #guvenlik .rv-secure-core {
    animation: none !important;
  }
}
