/* Google Fonts: İnternet varsa bu yazı tiplerini yükler. Çalışmazsa alttaki yedek yazı tipi kullanılır. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

/* STANDART TEMA RENKLERİ
   Her müşteride aynı palet kullanılır. Renk değişikliği istenirse yalnızca bu bölüm düzenlenir. */
:root {
  color-scheme: dark;
  --text: #ffffff;                    /* Ana yazı rengi */
  --text-soft: rgba(255,255,255,.82); /* İkincil yazı rengi */
  --accent: #ffcc00;                  /* Öne çıkan menü düğmesi */
  --gradient-coral: #ff7a59;
  --gradient-pink: #e73c7e;
  --gradient-purple: #9b59b6;
  --gradient-indigo: #5b5bd6;
  --gradient-blue: #2878c8;
  --gradient-cyan: #23a6d5;
  --gradient-teal: #23d5ab;
  --gradient-green: #65c466;
  --gradient-yellow: #f2c94c;
  --card-glass: rgba(31, 37, 55, .28); /* Yarı saydam kart zemini */
  --card-glass-hover: rgba(31, 37, 55, .40);
  --card-border: rgba(255,255,255,.38);
  --card-radius: 27px;                /* Standart hafif oval köşeler */
}

/* Genişlik ve boşluk hesaplarını daha kolay ve tutarlı yapar. */
* { box-sizing: border-box; }

/* Sayfanın genel görünüşü: boşluklar, yazı tipi ve ilk gönderdiğin hareketli renk geçişi. */
body {
  margin: 0;
  min-height: 100vh;
  padding: 48px 18px 36px;
  color: var(--text);
  overflow-x: hidden;
  background: linear-gradient(-45deg, var(--gradient-coral), var(--gradient-pink), var(--gradient-purple), var(--gradient-indigo), var(--gradient-blue), var(--gradient-cyan), var(--gradient-teal), var(--gradient-green), var(--gradient-yellow), var(--gradient-coral));
  background-size: 600% 600%;
  animation: gradientAnimation 22s ease infinite;
  font-family: 'Manrope', sans-serif;
}

/* Renklerin ekran boyunca yumuşakça akmasını ve döngünün tekrar etmesini sağlar. */
@keyframes gradientAnimation {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Bütün içeriği sayfanın ortasında tutar; 520px üstüne çıkmaz. */
.page-shell { width: min(100%, 520px); margin: 0 auto; }

/* Profil alanındaki yazıları ortalar ve linklerden önce boşluk bırakır. */
.profile { text-align: center; margin-bottom: 28px; }

/* Üst logo: parlak kenar, cam yansıması ve derin gölgeyle 3D rozet görünümü. */
.profile-logo {
  position: relative;
  isolation: isolate;
  display: inline-block;
  width: 126px;
  height: 126px;
  margin-bottom: 18px;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,.92);
  border-radius: 50%;
  background: linear-gradient(145deg, #fff9df, #e5a932 52%, #182642 100%);
  box-shadow:
    0 3px 0 rgba(255,255,255,.72) inset,
    0 -5px 10px rgba(5,13,29,.36) inset,
    0 12px 25px rgba(0,0,0,.27),
    0 0 22px rgba(255,218,129,.24);
}

/* Logonun üstündeki yumuşak ışık yansıması. */
.profile-logo::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(145deg,
    rgba(255,255,255,.48) 0%,
    rgba(255,255,255,.16) 20%,
    transparent 44%,
    rgba(255,255,255,.06) 72%,
    transparent 100%);
  content: "";
  pointer-events: none;
}

/* Logo görselini rozetin içine sığdırır ve renklerini biraz canlandırır. */
.profile-photo {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  filter: saturate(1.12) contrast(1.04);
}

/* Üstteki küçük konum yazısı. */
.eyebrow { margin: 0 0 7px; color: var(--text); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

/* İşletme adı başlığı. clamp mobilde küçültüp geniş ekranda büyütür. */
h1 { margin: 0; font: 700 clamp(34px, 8vw, 44px)/1.15 'Playfair Display', Georgia, serif; letter-spacing: -.03em; }

/* Başlığın altındaki kısa açıklama. */
/* Link düğmelerini alt alta dizer; gap aralarındaki mesafedir. */
.link-list { display: grid; gap: 12px; }

/* Her bağlantının ortak görünüşü. Kenar yuvarlaklığını border-radius değerinden ayarla. */
.link-card {
  display: grid;
  grid-template-columns: 42px 1fr 18px;
  align-items: center;
  gap: 13px;
  min-height: 68px;
  padding: 12px 17px;
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius); /* Hafif oval ve tüm bağlantılarda aynı. */
  background: var(--card-glass); /* Aynı cam efekti tüm bağlantılarda kullanılır. */
  backdrop-filter: blur(10px);
  color: var(--text);
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  box-shadow: 0 5px 15px rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

/* Fareyle üstüne gelince veya telefonda parmak üstündeyken kart aydınlanır. */
.link-card:not(.featured):hover,
.link-card:not(.featured).touch-glow,
.link-card:not(.featured):active {
  transform: translateY(-2px) scale(1.02);
  border-color: var(--text);
  background: var(--card-glass-hover);
  box-shadow: 0 0 12px rgba(255,255,255,.65), 0 0 28px rgba(255,255,255,.35), 0 10px 24px rgba(0,0,0,.14);
  filter: brightness(1.12);
}

/* Klavyeyle gezen ziyaretçinin seçili öğeyi görmesini sağlar. */
.link-card:focus-visible, .close-btn:focus-visible { outline: 3px solid #70a98a; outline-offset: 3px; }

/* featured sınıfı ilk menü kartını sarı renkle öne çıkarır. */
.link-card.featured { border: 0; background: var(--accent); color: #333; box-shadow: 0 8px 20px rgba(255,204,0,.32); }
.link-card.featured:hover, .link-card.featured.touch-glow, .link-card.featured:active { background: #ffdb4d; box-shadow: 0 0 14px rgba(255,239,150,.9), 0 0 30px rgba(255,204,0,.75); filter: brightness(1.08); transform: translateY(-2px) scale(1.02); }

/* Link ikonlarının boyutu ve resmin kutuya sığma şekli. Kendi ikonların da aynı ölçüde görünür. */
.link-icon { display: block; width: 40px; height: 40px; object-fit: contain; border-radius: 12px; }

/* Kartların sağındaki yön/indirme oku. */
.arrow { justify-self: end; color: var(--text-soft); font-size: 18px; font-weight: 400; }
.featured .arrow { color: #333; }

/* En alttaki telif yazısı. */
footer { padding: 30px 12px 0; color: rgba(255,255,255,.8); text-align: center; font-size: 12px; line-height: 1.8; }
footer span { color: rgba(255,255,255,.65); }

/* Video açılmadan önce gizlidir; JavaScript is-open sınıfını ekleyince görünür. */
.video-modal { display: none; position: fixed; inset: 0; z-index: 5; align-items: center; justify-content: center; padding: 20px; background: #101915cc; }
.video-modal.is-open { display: flex; }

/* Video kutusunun genişliği, iç boşluğu, köşeleri ve gölgesi. */
.video-modal-content { position: relative; width: min(100%, 820px); padding: 12px; border-radius: 20px; background: #111; box-shadow: 0 20px 70px #0008; }
.video-modal video { display: block; width: 100%; max-height: 80vh; border-radius: 12px; }

/* Video kutusunun sağ üstündeki kapatma düğmesi. */
.close-btn { position: absolute; z-index: 1; top: -13px; right: -13px; display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid white; border-radius: 50%; background: #fff; color: #17231c; font-size: 27px; line-height: 1; cursor: pointer; }

/* Küçük telefonlarda kartların ölçüsünü biraz daraltır. 420px ekran genişliği sınırıdır. */
@media (max-width: 420px) {
  body { padding-top: 32px; }
  .profile-logo { width: 118px; height: 118px; }
  .link-card { min-height: 64px; padding: 10px 13px; gap: 10px; border-radius: 24px; font-size: 16px; }
  .link-icon { width: 38px; height: 38px; }
}

/* Hareketi azaltmayı tercih eden ziyaretçilerde geçiş animasyonlarını kapatır. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}












