/* ═══════════════════════════════════════════════════════════
   Herta — iletişim katmanı  ·  assets/css/contact.css

   AÇILAN PANEL YOK. Üç kanal tek satırda durur; kapalıyken sıfır
   genişlikte bekler ve fare ya da odak gelince SOLA doğru açılırlar.
   Dil seçicinin (.chip--lang, i18n.css) ve birim anahtarının
   (.ubar, unit.css) birebir aynı mekaniği — aynı süreler, aynı
   kademe gecikmeleri. Site üç yerde de aynı şeyi aynı biçimde
   söylüyor.

   Zemin siyah kalıyor: bu katman sayfanın üstünde, altında ne
   geleceği belli olmayan bir görselin üzerinde duruyor;
   okunurluğun tek garantisi kendi zemini.
   ═══════════════════════════════════════════════════════════ */

.ct {
  position: fixed;
  right: clamp(16px, 1.6vw, 26px);
  bottom: clamp(16px, 1.6vw, 26px);
  z-index: 95;                       /* dock 90'ın üstü, menü 120'nin altı */
  display: flex;
  align-items: center;
  height: clamp(38px, 3vw, 44px);
  padding: 0 clamp(11px, 0.95vw, 15px);
  background: var(--black);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--white);
  transition:
    opacity 0.4s var(--ease-out),
    transform 0.5s var(--ease-out),
    background 0.4s var(--ease-out);
}
.ct:hover { background: #141414; }
/* Künyeye varınca katman çekiliyor. opacity + pointer-events fare
   için yeter ama KLAVYE için yetmez: görünmeyen düğme sekme sırasında
   kalır, Tab'a basan kişi odağı ekranda olmayan bir şeye verir.
   visibility:hidden odaklanmayı da kapatıyor; geçiş süresinin
   sonunda uygulanması için gecikmeli. */
.ct.is-away {
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  visibility: hidden;
  transition:
    opacity 0.4s var(--ease-out),
    transform 0.5s var(--ease-out),
    visibility 0s linear 0.5s;
}

/* ── kanallar: soldan açılır ──────────────────────────────── */
.ct__list {
  display: flex;
  align-items: center;
  overflow: hidden;
}

.ct__row {
  font-family: var(--font-body);
  font-size: clamp(12px, 0.92vw, 14px);
  line-height: 1;
  letter-spacing: 0.01em;
  color: currentColor;
  text-decoration: none;
  white-space: nowrap;
  opacity: 0;
  max-width: 0;
  margin-right: 0;
  transition:
    opacity 0.4s var(--ease-out),
    max-width 0.55s var(--ease-out),
    margin-right 0.55s var(--ease-out);
}
/* 9em: en uzun etiket "WhatsApp" rahat sığsın */
.ct:hover .ct__row,
.ct:focus-within .ct__row,
.ct.is-open .ct__row {
  opacity: 0.55;
  max-width: 9em;
  margin-right: clamp(12px, 1vw, 16px);
}
.ct:hover .ct__row:hover,
.ct:focus-within .ct__row:hover,
.ct.is-open .ct__row:hover { opacity: 1; }
.ct__row:nth-child(2) { transition-delay: 0.03s; }
.ct__row:nth-child(3) { transition-delay: 0.06s; }
.ct__row:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; opacity: 1; }

/* ── tetikleyici ──────────────────────────────────────────── */
.ct__btn {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
}
.ct__btn:focus-visible { outline: 1px solid currentColor; outline-offset: 6px; }
.ct__glyph {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.2;
  stroke-linecap: round;
  transition: transform 0.5s var(--ease-out);
}
/* Tıklayarak açıldıysa artı işareti ×'e döner: dokunmatikte kapatmanın
   tek yolu o. Fareyle açılan durumda dönmüyor — orada kapanma zaten
   imleci çekmekle oluyor, işaret yerinde kalmalı. */
.ct.is-open .ct__glyph { transform: rotate(135deg); }

/* ── sade mod / hareket kısıtı ────────────────────────────── */
.ct.is-plain,
.ct.is-plain .ct__row,
.ct.is-plain .ct__glyph { transition: none; }

@media (prefers-reduced-motion: reduce) {
  .ct, .ct__row, .ct__glyph { transition: none; transition-delay: 0s; }
}

/* Dokunmatikte hover yok ve dar ekranda üç etiket satırı taşırırdı:
   orada kapalı başlar, artıya dokunulunca açılır. */
@media (max-width: 860px) {
  .ct { right: 14px; bottom: 14px; height: 42px; }
  .ct__row { font-size: 13px; }
  .ct:hover .ct__row { opacity: 0; max-width: 0; margin-right: 0; }
  .ct.is-open .ct__row,
  .ct:focus-within .ct__row { opacity: 0.55; max-width: 9em; margin-right: 13px; }
  .ct.is-open .ct__row:hover { opacity: 1; }
}
