/* ==========================================================
   Ritimon · tanıtım sitesi animasyonları
   Bloklar görünüme girdikçe sırayla belirir; mini grafik
   çizilerek gelir. Hareketi azaltmayı seçen kullanıcıda kapalı.
   ========================================================== */

/* ---- Mini grafik (Kızgınlık Takip Sistemi) ---- */
.mini-plot{position:relative;padding:22px 16px 8px}
.mini-alan{position:relative}
#miniChart{display:block;width:100%;height:150px;overflow:visible}
#miniChart .threshold{stroke:#6FB8A8;stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
#miniChart .area{fill:url(#miniDolgu);stroke:none}
#miniChart .line-base{fill:none;stroke:#6A7A8C;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#miniChart .line-alert{fill:none;stroke:#C98A2B;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.mini-band-alan{fill:rgba(79,170,150,.10);stroke:rgba(79,170,150,.55);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.mini-isaret{stroke:#C98A2B;stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;opacity:.8}
.mini-band{display:none}
.mini-etiket{position:absolute;top:-2px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;line-height:1;padding:4px 6px;border-radius:4px;transform:translateY(-100%)}
.mini-etiket-bant{color:#2F7A68;background:rgba(79,170,150,.12)}
.mini-etiket-bildirim{color:#9A6417;background:rgba(201,138,43,.12);margin-left:6px}
.mini-etiket-esik{left:auto;right:0;top:0;transform:translateY(-120%);color:#4F8C7E;background:none;padding:0}
.mini-nokta{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:#C98A2B;box-shadow:0 0 0 4px rgba(201,138,43,.22)}
.mini-eksen{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--mono);font-size:9.5px;color:#7C8B82;letter-spacing:.04em}
@media(max-width:760px){.mini-etiket{font-size:8.5px}.mini-etiket-bant{transform:translate(-40%,-100%)}}

/* Çizim animasyonu: yalnızca JS "hazir" sınıfını eklediyse başlangıç durumu gizli */
.mini-plot.hazir .line-base,.mini-plot.hazir .line-alert{stroke-dasharray:var(--uz);stroke-dashoffset:var(--uz)}
.mini-plot.hazir .area,.mini-plot.hazir .mini-band-alan,.mini-plot.hazir .mini-isaret,
.mini-plot.hazir .mini-etiket,.mini-plot.hazir .mini-nokta{opacity:0}
.mini-plot.hazir .mini-nokta{transform:scale(.2)}
.mini-plot.ciz .line-base{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s cubic-bezier(.45,.05,.25,1)}
.mini-plot.ciz .line-alert{stroke-dashoffset:0;transition:stroke-dashoffset .9s ease-out .35s}
.mini-plot.ciz .area{opacity:1;transition:opacity .8s ease .9s}
.mini-plot.ciz .mini-isaret,.mini-plot.ciz .mini-etiket-bildirim{opacity:1;transition:opacity .5s ease 1.1s}
.mini-plot.ciz .mini-nokta{opacity:1;transform:none;transition:opacity .4s ease 1.2s,transform .5s cubic-bezier(.3,1.6,.5,1) 1.2s;animation:miniNabiz 2.2s ease-out 1.8s infinite}
.mini-plot.ciz .mini-band-alan,.mini-plot.ciz .mini-etiket-bant{opacity:1;transition:opacity .7s ease 1.6s}
.mini-plot.ciz .mini-etiket-esik{opacity:1;transition:opacity .6s ease .3s}
@keyframes miniNabiz{0%{box-shadow:0 0 0 0 rgba(201,138,43,.45)}70%{box-shadow:0 0 0 12px rgba(201,138,43,0)}100%{box-shadow:0 0 0 0 rgba(201,138,43,0)}}

/* ---- Görünüme girince belirme çeşitleri ---- */
.rv.rv-sol{transform:translateX(-26px)}
.rv.rv-sag{transform:translateX(26px)}
.rv.rv-olcek{transform:scale(.965)}
.rv.rv-sol.in,.rv.rv-sag.in,.rv.rv-olcek.in{transform:none}
.rv.rv-kademe{transition-duration:.65s}

/* ---- Hero: görsel yavaşça yakınlaşır, tespit kutuları sırayla çizilir ----
   Kutu katmanı görselle aynı boyutta ve aynı dönüşümü alır; böylece
   yakınlaşırken kutular ineklerin üzerinde kalır. */
.farm-kutular{position:absolute;inset:0;z-index:1;pointer-events:none}
.farm-kutular .farm-frame{position:absolute}
.farm-kutular .frame-one span{top:auto;bottom:-23px}
.farm-hero>img,.farm-kutular{animation:yakinlas 22s ease-in-out infinite alternate;transform-origin:40% 55%}
@keyframes yakinlas{from{transform:scale(1)}to{transform:scale(1.07)}}
.farm-frame{opacity:0;animation:kutuGel .7s cubic-bezier(.2,.8,.3,1) forwards,kutuParla 3.2s ease-in-out infinite}
.frame-one{animation-delay:.6s,1.4s}
.frame-two{animation-delay:1s,1.9s}
.frame-three{animation-delay:1.4s,2.4s}
@keyframes kutuGel{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:none}}
@keyframes kutuParla{0%,100%{border-color:#d5f5a5b5}50%{border-color:#eaffc9;box-shadow:0 0 0 1px #193c2020,0 0 18px #c9ed9b55}}
.hero-copy h1 em{background:linear-gradient(90deg,#428050,#6aa55b,#428050);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:vurguAkis 6s ease-in-out infinite}
@keyframes vurguAkis{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ---- Gece çizelgesi: çubuklar soldan sağa dolar ---- */
.coverage.hazir .cov-bar i{transform:scaleX(0);transform-origin:left center}
.coverage.ciz .cov-bar i{transform:none;transition:transform 1s cubic-bezier(.3,.8,.3,1)}
.coverage.ciz .cov-row:first-child .cov-bar i:nth-child(2){transition-delay:.25s}
.coverage.ciz .cov-row:first-child .cov-bar i:nth-child(3){transition-delay:.5s}
.coverage.ciz .cov-row:nth-child(2) .cov-bar i{transition-duration:1.8s;transition-delay:.7s}

/* ---- Kartlar: üzerine gelince hafif yükselme ---- */
.ilke>*.in:hover,.modul-kartlar>*.in:hover{transform:translateY(-4px);transition-delay:0s!important;transition-duration:.25s}
.hesap-sonuc strong{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .farm-hero>img,.farm-kutular,.farm-frame,.hero-copy h1 em,.mini-plot.ciz .mini-nokta{animation:none!important}
  .farm-frame{opacity:1}
  .hero-copy h1 em{-webkit-text-fill-color:currentColor;background:none}
  .rv,.rv.rv-sol,.rv.rv-sag,.rv.rv-olcek{opacity:1;transform:none}
  .coverage.hazir .cov-bar i{transform:none}
}
