/*
  YAYIN HAZIRLIĞI — ORTAK VE SINIRLI KATMAN
  Bu dosya mevcut masaüstü tasarımını yeniden biçimlendirmez. Yalnızca çerez
  tercih panelini, yasal footer bağlantılarını, eski SEO sayfalarının mobil
  menü düğmesini ve küçük erişilebilirlik düzeltmelerini bütün sayfalarda aynı
  kurallarla yönetir. Böylece aynı kurallar farklı sayfa CSS'lerine dağılmaz.
*/

:root {
  --vo-launch-navy: #082653;
  --vo-launch-orange: #c94f00;
  --vo-launch-border: #dfe6ee;
  --vo-launch-text: #26364c;
}

/* Klavye kullanıcılarının odaklandığı öğe her sayfada görünür kalır. */
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #0b65c2;
  outline-offset: 3px;
}

/* İçeriğe atlama bağlantısı normal görünümde gizlidir, Tab ile odaklanınca açılır. */
.vo-launch-skip-link {
  position: fixed;
  z-index: 6000;
  top: 10px;
  left: 10px;
  padding: 11px 15px;
  border-radius: 9px;
  background: #082653;
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
  transform: translateY(-160%);
}

.vo-launch-skip-link:focus {
  transform: translateY(0);
}

/*
  Footer metin bağlantılarının dokunma alanı büyütülür. Görsel konum değişmez;
  yalnızca telefon ekranında bağlantıya basmak daha kolay hale gelir.
*/
.vo-footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 18px;
  margin: 0;
}

.vo-footer-legal a,
.vo-footer-legal button {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .86);
  font: inherit;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

/* Formun altında gösterilen KVKK açıklaması, form alanlarından ayrılır. */
.vo-form-privacy-note {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  color: #536176;
  font-size: 12px;
  line-height: 1.55;
}

.vo-form-privacy-note a {
  color: #8f3800;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Honeypot alanı botlara açık, gerçek kullanıcılara ve klavyeye kapalıdır. */
.vo-form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/*
  Çerez bildirimi ekranın alt kısmında sakin bir kart olarak görünür. Sabit
  genişlik yerine min() kullanıldığı için 320 px telefonlarda da taşma yapmaz.
*/
.vo-cookie-banner {
  position: fixed;
  z-index: 5000;
  right: 20px;
  bottom: 20px;
  width: min(520px, calc(100% - 40px));
  box-sizing: border-box;
  padding: 22px;
  border: 1px solid var(--vo-launch-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 22px 60px rgba(7, 26, 54, .22);
  color: var(--vo-launch-text);
  font-family: "Segoe UI", Arial, sans-serif;
}

.vo-cookie-banner[hidden] {
  display: none !important;
}

.vo-cookie-banner h2 {
  margin: 0 0 8px;
  color: var(--vo-launch-navy);
  font-size: 21px;
  line-height: 1.2;
}

.vo-cookie-banner p {
  margin: 0;
  font-size: 14px;
  line-height: 1.62;
}

.vo-cookie-banner p a {
  color: #8f3800;
  font-weight: 750;
}

.vo-cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 17px;
}

.vo-cookie-banner__actions button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--vo-launch-navy);
  border-radius: 10px;
  background: #ffffff;
  color: var(--vo-launch-navy);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.vo-cookie-banner__actions .vo-cookie-accept {
  border-color: var(--vo-launch-orange);
  background: var(--vo-launch-orange);
  color: #ffffff;
}

/* Eski SEO sayfalarında yalnızca mobilde görünen güvenli menü düğmesi. */
.vo-launch-mobile-toggle {
  display: none;
}

@media (max-width: 1024px) {
  /* Footer bağlantıları telefonda görsel metni büyütmeden 44 px dokunma alanı kazanır. */
  .vo-footer-col a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .main-nav.vo-launch-mobile-nav .vo-launch-mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #dce4ed;
    border-radius: 12px;
    background: #ffffff;
    color: var(--vo-launch-navy);
    font-size: 0;
    cursor: pointer;
  }

  .vo-launch-mobile-toggle::before {
    content: "☰";
    font-size: 24px;
    line-height: 1;
  }

  .main-nav.vo-launch-mobile-nav.vo-launch-menu-open .vo-launch-mobile-toggle::before {
    content: "×";
    font-size: 30px;
  }

  .main-nav.vo-launch-mobile-nav .nav-flex {
    position: relative;
  }

  .main-nav.vo-launch-mobile-nav:not(.vo-launch-menu-open) .nav-right {
    display: none !important;
  }

  .main-nav.vo-launch-mobile-nav.vo-launch-menu-open .nav-right {
    position: absolute;
    z-index: 1600;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    display: block !important;
    box-sizing: border-box;
    padding: 16px;
    border: 1px solid #dfe6ee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(7, 26, 54, .16);
  }

  .main-nav.vo-launch-mobile-nav .nav-right nav {
    display: grid !important;
    gap: 4px;
  }

  .main-nav.vo-launch-mobile-nav .nav-right nav a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: 8px 10px !important;
  }

  .vo-footer-legal {
    width: 100%;
  }

  .vo-footer-legal a,
  .vo-footer-legal button {
    min-height: 44px;
  }
}

@media (max-width: 560px) {
  .vo-cookie-banner {
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
    padding: 18px;
    border-radius: 15px;
  }

  .vo-cookie-banner__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .vo-cookie-banner__actions button {
    width: 100%;
  }
}

/* Hareket azaltma tercihi olan kullanıcılarda yeni katman animasyon üretmez. */
@media (prefers-reduced-motion: reduce) {
  .vo-cookie-banner,
  .vo-launch-mobile-toggle {
    scroll-behavior: auto;
    transition: none !important;
  }
}
