/* ============================================================
   geri-bildirim.css — sağ altta yüzen geri bildirim kutusu
   ------------------------------------------------------------
   Hem tanıtım sayfalarında (styles.css) hem üyelik sayfalarında
   (sistem/css/uyelik.css) kullanılır. İkisi de AYNI değişken
   adlarını tanımlar (--panel, --ink, --gold, --hair, --display,
   --body); bu dosya yalnız onları okur, palet TANIMLAMAZ.
   Yine de sistem/ dışında da çalışsın diye her var() bir yedek
   değer taşır.
   ============================================================ */

.gb-kok {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 960;                 /* diyalogların (dialog ~ üstte) altında, sayfanın üstünde */
  font-family: var(--body, system-ui, sans-serif);
}

/* ---------- yüzen düğme ---------- */
.gb-fab {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 17px 12px 14px;
  border: 1px solid rgba(192, 160, 82, .5);
  border-radius: 999px;
  background: var(--panel, #15171a);
  color: var(--ink, #ececeb);
  box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .8);
  font-family: var(--display, sans-serif);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: .16em;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease;
}
.gb-fab:hover {
  transform: translateY(-2px);
  border-color: var(--gold-bright, #c0a052);
  background: var(--panel-2, #1a1c20);
}
.gb-fab:focus-visible { outline: 2px solid var(--gold-bright, #c0a052); outline-offset: 3px; }
.gb-fab-ic { font-size: 15px; line-height: 1; color: var(--gold-bright, #c0a052); }
.gb-kok.acik .gb-fab { opacity: 0; pointer-events: none; }

/* ---------- panel ---------- */
.gb-panel {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(380px, calc(100vw - 40px));
  max-height: min(600px, calc(100vh - 100px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--panel, #15171a);
  border: 1px solid var(--hair, rgba(255, 255, 255, .09));
  border-radius: 10px;
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .85);
  opacity: 0;
  transform: translateY(12px) scale(.985);
  transition: opacity .2s ease, transform .2s ease;
}
.gb-kok.in .gb-panel { opacity: 1; transform: none; }

.gb-bas {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px 14px;
  border-bottom: 1px solid var(--hair, rgba(255, 255, 255, .09));
  background: var(--panel-2, #1a1c20);
}
.gb-eyebrow {
  font-family: var(--display, sans-serif);
  font-weight: 700;
  font-size: 8.5px;
  letter-spacing: .3em;
  color: var(--gold-bright, #c0a052);
}
.gb-baslik {
  margin: 7px 0 0;
  font-family: var(--display, sans-serif);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: .06em;
  color: var(--ink, #ececeb);
}
.gb-kapat {
  flex: none;
  width: 28px;
  height: 28px;
  border: 1px solid var(--hair, rgba(255, 255, 255, .09));
  border-radius: 6px;
  background: none;
  color: var(--muted, #747880);
  font-size: 12px;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
.gb-kapat:hover { border-color: rgba(168, 87, 74, .55); color: #d8a79e; }

.gb-govde { padding: 16px 18px 18px; overflow-y: auto; }
.gb-giris { margin: 0 0 14px; font-size: 12.5px; line-height: 1.65; color: var(--ink-2, #b4b6bb); }

.gb-alan { display: block; margin-bottom: 13px; }
.gb-alan > span {
  display: block;
  margin-bottom: 6px;
  font-family: var(--display, sans-serif);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: .18em;
  color: var(--muted, #747880);
}
.gb-alan input,
.gb-alan select,
.gb-alan textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 11px;
  border: 1px solid var(--hair, rgba(255, 255, 255, .09));
  border-radius: 6px;
  background: var(--bg-1, #101115);
  color: var(--ink, #ececeb);
  font-family: var(--body, system-ui, sans-serif);
  font-size: 13.5px;
  line-height: 1.5;
}
.gb-alan textarea { resize: vertical; min-height: 100px; }
.gb-alan input:focus,
.gb-alan select:focus,
.gb-alan textarea:focus { outline: none; border-color: var(--gold-bright, #c0a052); }
.gb-sayac {
  display: block;
  margin-top: 5px;
  text-align: right;
  font-size: 10.5px;
  color: var(--muted, #747880);
}

/* bal küpü — ekranda görünmez, ekran okuyucudan da gizli */
.gb-tuzak { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.gb-gonder {
  width: 100%;
  margin-top: 4px;
  padding: 13px 16px;
  border: 0;
  border-radius: 6px;
  background: var(--gold-bright, #c0a052);
  color: #111216;
  font-family: var(--display, sans-serif);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .18em;
  cursor: pointer;
  transition: background-color .15s ease;
}
.gb-gonder:hover:not(:disabled) { background: #d0b365; }
.gb-gonder:disabled { opacity: .6; cursor: progress; }
.gb-not { margin: 12px 0 0; font-size: 10.5px; line-height: 1.6; color: var(--muted, #747880); text-align: center; }

.gb-uyari {
  margin: 0 0 13px;
  padding: 10px 12px;
  border-left: 3px solid #a8574a;
  border-radius: 4px;
  background: rgba(168, 87, 74, .1);
  font-size: 12px;
  line-height: 1.6;
  color: #d8a79e;
}
.gb-uyari.bilgi {
  border-left-color: var(--gold, #9a7b34);
  background: rgba(154, 123, 52, .1);
  color: var(--ink-2, #b4b6bb);
}

.gb-tesekkur { padding: 18px 4px 6px; text-align: center; }
.gb-tik {
  width: 50px;
  height: 50px;
  margin: 0 auto 15px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(113, 139, 111, .16);
  color: var(--green, #718b6f);
  font-size: 23px;
}
.gb-tesekkur h3 {
  margin: 0 0 9px;
  font-family: var(--display, sans-serif);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: .04em;
  color: var(--ink, #ececeb);
}
.gb-tesekkur p { margin: 0 0 18px; font-size: 12.5px; line-height: 1.7; color: var(--ink-2, #b4b6bb); }

@media (max-width: 560px) {
  .gb-kok { right: 12px; bottom: 12px; }
  .gb-fab-yazi { display: none; }
  .gb-fab { padding: 13px; }
  .gb-panel { max-height: calc(100vh - 80px); }
}

@media (prefers-reduced-motion: reduce) {
  .gb-fab, .gb-panel { transition: none; }
}
