/* Dijital asistan kutusu — Operasyon Çizgisi diline uyumlu.
   Tema sızıntısına karşı: kutu içindeki her öğenin rengi/boyutu açıkça
   sabitlenir (tema global p/span kurallarını miras almasın). */

.rsf-asistan {
  margin: 10px 0 18px;
  padding: 12px 14px 12px 16px;
  border: 1px solid var(--line, #dbe4ec);
  border-left: 3px solid var(--blue, #007bff);
  border-radius: 4px;
  background: var(--paper, #f5f7f9);
}

.rsf-asistan .rsf-asistan-bas {
  display: block;
  margin: 0 0 4px;
  font-family: var(--mono, "IBM Plex Mono", ui-monospace, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--blue-dark, #0056b3);
}

.rsf-asistan .rsf-asistan-metin {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink, #10151c);
}

.rsf-asistan-giris {
  animation: rsf-asistan-bel .22s ease-out;
}

@keyframes rsf-asistan-bel {
  from { opacity: 0; transform: translateY(-3px); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rsf-asistan-giris { animation: none; }
}

/* v1.9.0 — gorunurluk (Remzi: "cok daha agresif"): guclu cerceve +
   cevrimici nabzi. Nabiz animasyonu yalniz nokta uzerinde (ucuz). */
.rsf-asistan {
  padding: 13px 15px 13px 17px;
  border: 1px solid rgba(0, 86, 179, .35);
  border-left: 4px solid var(--blue, #007bff);
  background: linear-gradient(180deg, #f0f7ff 0%, #f8fbff 100%);
  box-shadow: 0 4px 18px rgba(0, 60, 130, .10);
}
.rsf-asistan .rsf-asistan-bas { display: flex; align-items: center; gap: 7px; }
.rsf-asistan-nokta {
  width: 8px; height: 8px; border-radius: 50%;
  background: #15803d;
  box-shadow: 0 0 0 0 rgba(21, 128, 61, .45);
  animation: rsf-nabiz 2.2s ease-out infinite;
}
@keyframes rsf-nabiz {
  0% { box-shadow: 0 0 0 0 rgba(21, 128, 61, .45); }
  60% { box-shadow: 0 0 0 7px rgba(21, 128, 61, 0); }
  100% { box-shadow: 0 0 0 0 rgba(21, 128, 61, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .rsf-asistan-nokta { animation: none; }
}

/* v1.10.0 — SOHBET BALONU (Remzi: cevap farkedilmiyor): sag kenarda
   kuyruklu balon; teklif MAVI + flash, is basvurusu KIRMIZI + IK linki.
   Sadece masaustu (>=1024 JS'te de kapali); Nobetci sag ALTTA — balon
   sag ORTADA, cakismaz. */
.rsf-balon {
  position: fixed;
  z-index: 9000;
  right: 18px;
  top: 44%;
  width: min(330px, calc(100vw - 36px));
  padding: 14px 38px 14px 16px;
  background: #fff;
  border: 2px solid var(--blue, #007bff);
  border-radius: 14px;
  box-shadow: 0 14px 44px rgba(6, 30, 65, .28);
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink, #10151c);
}
.rsf-balon::before {
  content: "";
  position: absolute;
  left: -11px;
  top: 26px;
  border: 10px solid transparent;
  border-right-color: inherit;
  border-left: 0;
}
.rsf-balon-bas {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 6px;
  font-family: var(--mono, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--blue-dark, #0056b3);
}
.rsf-balon-metin { margin: 0; }
.rsf-balon-kapat {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 26px;
  height: 26px;
  padding: 0;
  background: none;
  border: 0;
  color: var(--muted, #54626f);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.rsf-balon-kapat:hover { color: var(--ink, #10151c); }
.rsf-balon-kapat:focus-visible { outline: 3px solid var(--blue, #007bff); outline-offset: 2px; }
.rsf-balon-link {
  display: inline-flex;
  margin-top: 10px;
  padding: 9px 14px;
  background: #b42318;
  border-radius: 6px;
  color: #fff;
  font-family: var(--mono, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
}
.rsf-balon-link:hover { background: #d92d20; color: #fff; }
.rsf-balon-link:focus-visible { outline: 3px solid #b42318; outline-offset: 3px; }

/* niyet renkleri */
.rsf-balon--teklif { border-color: var(--blue, #007bff); }
.rsf-balon--ik { border-color: #b42318; }
.rsf-balon--ik .rsf-balon-bas { color: #b42318; }
.rsf-balon--ik .rsf-asistan-nokta { background: #b42318; box-shadow: none; animation: none; }
.rsf-balon--notr { border-color: #8796a5; }
.rsf-balon--notr .rsf-balon-bas { color: var(--muted, #54626f); }

/* FLASH: belirirken kayarak gelir + kenar iki kez parlar */
.rsf-balon-flash { animation: rsf-balon-gel .34s ease-out, rsf-balon-parla 1.5s ease-out .15s 2; }
@keyframes rsf-balon-gel {
  from { opacity: 0; transform: translateX(26px); }
  to   { opacity: 1; transform: none; }
}
@keyframes rsf-balon-parla {
  0%   { box-shadow: 0 14px 44px rgba(6, 30, 65, .28); }
  35%  { box-shadow: 0 14px 44px rgba(6, 30, 65, .28), 0 0 0 7px rgba(0, 123, 255, .30); }
  100% { box-shadow: 0 14px 44px rgba(6, 30, 65, .28); }
}
.rsf-balon--ik.rsf-balon-flash { animation: rsf-balon-gel .34s ease-out, rsf-balon-parla-k 1.5s ease-out .15s 2; }
@keyframes rsf-balon-parla-k {
  0%   { box-shadow: 0 14px 44px rgba(6, 30, 65, .28); }
  35%  { box-shadow: 0 14px 44px rgba(6, 30, 65, .28), 0 0 0 7px rgba(180, 35, 24, .32); }
  100% { box-shadow: 0 14px 44px rgba(6, 30, 65, .28); }
}
@media (prefers-reduced-motion: reduce) {
  .rsf-balon-flash { animation: none; }
}
@media (max-width: 1023px) {
  .rsf-balon { display: none; }
}

/* v1.12.0 — DIKKAT (Remzi: "istenilen seviyede dikkat cekmiyor"):
   yaylanarak gelis + 3 kez halka parlamasi + kapi zili sesi + alan
   vurgusu. Eski .rsf-balon-flash sinifi KORUNUR: deploy penceresinde
   tarayici cache'inden eski JS kosarsa animasyonsuz da olsa calisir. */
.rsf-balon {
  border-width: 3px;
  box-shadow: 0 18px 54px rgba(6, 30, 65, .34);
  padding-right: 68px;            /* iki dugme: ses + kapat */
}
.rsf-balon-ses {
  position: absolute;
  top: 7px;
  right: 38px;
  width: 28px;
  height: 28px;
  padding: 0;
  background: none;
  border: 0;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  opacity: .75;
}
.rsf-balon-ses:hover { opacity: 1; }
.rsf-balon-ses:focus-visible { outline: 3px solid var(--blue, #007bff); outline-offset: 2px; }

.rsf-balon-dikkat {
  animation: rsf-balon-gir .42s cubic-bezier(.18, 1.5, .42, 1),
             rsf-balon-halka 1.25s ease-out .18s 3;
}
@keyframes rsf-balon-gir {
  0%   { opacity: 0; transform: translateX(40px) scale(.86); }
  62%  { opacity: 1; transform: translateX(-7px) scale(1.045); }
  100% { opacity: 1; transform: none; }
}
@keyframes rsf-balon-halka {
  0%   { box-shadow: 0 18px 54px rgba(6, 30, 65, .34); }
  28%  { box-shadow: 0 18px 54px rgba(6, 30, 65, .34), 0 0 0 11px rgba(0, 123, 255, .30); }
  100% { box-shadow: 0 18px 54px rgba(6, 30, 65, .34), 0 0 0 22px rgba(0, 123, 255, 0); }
}
.rsf-balon--ik.rsf-balon-dikkat {
  animation: rsf-balon-gir .42s cubic-bezier(.18, 1.5, .42, 1),
             rsf-balon-halka-k 1.25s ease-out .18s 3;
}
@keyframes rsf-balon-halka-k {
  0%   { box-shadow: 0 18px 54px rgba(6, 30, 65, .34); }
  28%  { box-shadow: 0 18px 54px rgba(6, 30, 65, .34), 0 0 0 11px rgba(180, 35, 24, .32); }
  100% { box-shadow: 0 18px 54px rgba(6, 30, 65, .34), 0 0 0 22px rgba(180, 35, 24, 0); }
}

/* Yazilan alan da parlar — bakis alandan balona baglanir. */
.rsf-alan-vurgu { animation: rsf-alan-parla 1.6s ease-out; }
@keyframes rsf-alan-parla {
  0%   { box-shadow: 0 0 0 0 rgba(0, 123, 255, .40); }
  30%  { box-shadow: 0 0 0 5px rgba(0, 123, 255, .26); }
  100% { box-shadow: 0 0 0 0 rgba(0, 123, 255, 0); }
}

/* Mobil/inline kutu: balon yokken tek gorsel sinyal budur. */
.rsf-asistan-dikkat { animation: rsf-asistan-parla 1.3s ease-out 2; }
@keyframes rsf-asistan-parla {
  0%   { box-shadow: 0 4px 18px rgba(0, 60, 130, .10); }
  30%  { box-shadow: 0 4px 18px rgba(0, 60, 130, .10), 0 0 0 6px rgba(0, 123, 255, .22); }
  100% { box-shadow: 0 4px 18px rgba(0, 60, 130, .10), 0 0 0 12px rgba(0, 123, 255, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .rsf-balon-dikkat,
  .rsf-asistan-dikkat,
  .rsf-alan-vurgu { animation: none; }
}

/* v1.13.0 — OLCULEN KUSUR DUZELTMELERI (OpenCode raporu):
   [hidden] KALKANI: display:inline-flex gibi kurallar [hidden]
   varsayilanini eziyordu; teklif balonunda BOS KIRMIZI KAPSUL
   goruluyordu (olculdu: hidden=true iken genislik 28px). */
.rsf-balon[hidden],
.rsf-balon-link[hidden],
.rsf-asistan[hidden] { display: none !important; }

/* Balon artik JS ile form panelinin sagina hizalaniyor (sabit right
   yerlesimi textarea'nin ustune biniyordu). */
.rsf-balon { right: auto; }

/* Inline kutuda kapatma — mobilde tek yuzey oydu ve kapatilamiyordu. */
.rsf-asistan { position: relative; padding-right: 44px; }
.rsf-lite .rsf-asistan-kapat,
.rsf-lite .rsf-asistan-kapat:focus,
.rsf-lite .rsf-asistan-kapat:active {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: var(--muted, #54626f);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.rsf-lite .rsf-asistan-kapat:hover { background: #e8f2ff; color: var(--ink, #10151c); }
.rsf-lite .rsf-asistan-kapat:focus-visible { outline: 3px solid var(--blue, #007bff); outline-offset: 2px; }
@media (max-width: 767px) {
  .rsf-lite .rsf-asistan-kapat { width: 44px; height: 44px; }
}

/* Sonsuz nabiz KALDIRILDI: surekli hareket dikkat degil aliskanlik
   uretir; ayrica yesil bu sistemde BASARI rengidir, dekor degil. */
.rsf-asistan-nokta {
  background: var(--blue, #007bff);
  box-shadow: none;
  animation: none;
}

/* v1.13.1 — inline kutuda ses anahtari (balon cikmayan masaustu
   genisliklerinde zil calar; kapatilabilir olmali). */
.rsf-asistan { padding-right: 76px; }
.rsf-lite .rsf-asistan-ses,
.rsf-lite .rsf-asistan-ses:focus,
.rsf-lite .rsf-asistan-ses:active {
  position: absolute;
  top: 6px;
  right: 40px;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  opacity: .75;
}
.rsf-lite .rsf-asistan-ses:hover { opacity: 1; background: #e8f2ff; }
.rsf-lite .rsf-asistan-ses:focus-visible { outline: 3px solid var(--blue, #007bff); outline-offset: 2px; }

/* v1.15.0 — IS BASVURUSU KILIDI. Kart uyari degil YONLENDIRME tonunda:
   ziyaretci reddedilmiyor, dogru kapiya gonderiliyor. Kirmizi bu sistemde
   IK yonlendirmesinin rengidir. */
.rsf-kilit {
  margin: 10px 0 16px;
  padding: 14px 16px;
  background: #fff5f4;
  border: 1px solid rgba(180, 35, 24, .35);
  border-left: 4px solid #b42318;
  border-radius: 4px;
  color: var(--ink, #10151c);
}
.rsf-kilit[hidden] { display: none !important; }
.rsf-kilit-bas {
  display: block;
  margin: 0 0 4px;
  font-size: 15px;
  color: #b42318;
}
.rsf-kilit-metin {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.55;
}
.rsf-lite .rsf-kilit-git,
.rsf-lite .rsf-kilit-git:focus,
.rsf-lite .rsf-kilit-git:active {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  background: #b42318;
  border: 1px solid #b42318;
  border-radius: 4px;
  color: #fff;
  font-family: var(--mono, monospace);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
}
.rsf-lite .rsf-kilit-git:hover { background: #d92d20; border-color: #d92d20; color: #fff; }
.rsf-lite .rsf-kilit-git:focus-visible { outline: 3px solid #b42318; outline-offset: 3px; }

/* Kilitli formda gonderim dugmesi acikca devre disi gorunur. */
.rsf-form-kilitli button[type="submit"],
.rsf-form-kilitli input[type="submit"] {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(1);
}
@media (max-width: 767px) {
  .rsf-lite .rsf-kilit-git { width: 100%; justify-content: center; }
}

/* v1.18.0 — GONDERIM HATIRLATMASI: ziyaretci cevabi alip formu
   gondermeden cikiyordu. Uyari tonu DEGIL bilgilendirme; gonder
   dugmesinin hemen ustunde durur. */
.rsf-hatirlat {
  position: relative;
  margin: 14px 0 10px;
  padding: 12px 40px 12px 14px;
  background: #fffbeb;
  border: 1px solid #f0c36d;
  border-left: 4px solid #d98a00;
  border-radius: 4px;
  animation: rsf-hatirlat-bel .26s ease-out;
}
.rsf-hatirlat[hidden] { display: none !important; }
.rsf-hatirlat-metin {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: #5b3d00;
}
.rsf-lite .rsf-hatirlat-kapat,
.rsf-lite .rsf-hatirlat-kapat:focus,
.rsf-lite .rsf-hatirlat-kapat:active {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: 0;
  color: #8a6100;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.rsf-lite .rsf-hatirlat-kapat:hover { color: #5b3d00; }
.rsf-lite .rsf-hatirlat-kapat:focus-visible { outline: 3px solid #d98a00; outline-offset: 2px; }
@keyframes rsf-hatirlat-bel {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .rsf-hatirlat { animation: none; } }
@media (max-width: 767px) { .rsf-lite .rsf-hatirlat-kapat { width: 44px; height: 44px; } }
