/* ── RESET ── */
* { margin: 0; padding: 0; box-sizing: border-box; }

/* ── CSS VARIABLES ──
   Tek kaynak palet. Tüm bileşenler bu token'ları kullanır;
   glow/gradient'ler için rgb üçlüleri (rgba(var(--gold-rgb), a)). */
:root {
  /* Altın — şampanya / eski-altın ailesi (kahraman vurgu) */
  --gold:        #d9b25f;
  --gold-bright: #ecca85;   /* parıltı / highlight */
  --gold-dim:    #b08d42;
  --gold-rgb:    217,178,95;
  --gold-bright-rgb: 236,202,133;

  /* Mor — kırılmış, atmosferik destek rolü */
  --purple:      #9d6ad8;
  --purple-dark: #6f4ab8;
  --purple-rgb:  157,106,216;

  /* Zemin — gövdeye hafif derinlik kademesi */
  --bg:          #09070e;
  --bg-2:        #0c0a16;
  --bg-card:     #14111f;
  --bg-card2:    #1c1733;

  /* Metin ölçeği — sıcak krem, hepsi WCAG AA+ kontrast */
  --text:        #f7f0e3;   /* birincil */
  --text-2:      #d9cbb8;   /* ikincil gövde (eski morumsu tonların yerine) */
  --text-dim:    #b09a86;   /* sönük ama okunur (~5.4:1) */
  --text-faint:  #8d7b8a;   /* en düşük öncelik, yine de AA-sınırı */

  --border:      #3d2860;
  --red-accent:  #f43f5e;

  /* Tipografi — modüler ölçek (1.25 major third, kök 1rem) */
  --step--1: 0.8rem;
  --step-0:  1rem;
  --step-1:  1.25rem;
  --step-2:  1.563rem;
  --step-3:  1.953rem;
  --step-4:  2.441rem;
  --step-5:  3.052rem;

  /* Premium yükselti (elevation) gölgeleri */
  --shadow-card: 0 10px 30px rgba(0,0,0,0.45);
  --shadow-card-hover: 0 18px 44px rgba(0,0,0,0.55);
  --edge-top: inset 0 1px 0 rgba(255,255,255,0.05);  /* üstten ışık highlight'ı */
}

html { scroll-behavior: smooth; background: var(--bg); }

body {
  font-family: 'Lato', system-ui, -apple-system, 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  /* Gövde zeminine ölü-düz siyah yerine çok hafif üstten derinlik */
  background-image:
    radial-gradient(120% 70% at 50% -10%, rgba(var(--purple-rgb), 0.06) 0%, transparent 55%);
  background-attachment: fixed;
}

/* ── NAV ── */
nav {
  background: rgba(9,7,14,.96);
  backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
}

nav a {
  color: var(--text-2);
  text-decoration: none;
  font-size: .88rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 2px;
  border-bottom: 2px solid transparent;
  transition: color .25s, border-color .25s;
  position: relative;
}

/* Ortadan dışa doğru büyüyen altın alt çizgi */
nav a::after {
  content: '';
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-dim));
  border-radius: 2px;
  transition: left .28s cubic-bezier(.25,.8,.25,1), right .28s cubic-bezier(.25,.8,.25,1);
}
nav a:hover::after, nav a.active::after {
  left: 0;
  right: 0;
}

nav a:hover, nav a.active {
  color: var(--gold);
}

/* ── LANG SWITCHER ── */
.lang-switcher {
  display: flex;
  gap: 4px;
  margin-left: 10px;
  padding-left: 16px;
  border-left: 1px solid var(--border);
  align-items: center;
}

.lang-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-dim);
  padding: 3px 9px;
  border-radius: 6px;
  cursor: pointer;
  font-family: 'Lato', sans-serif;
  font-size: .72rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  transition: all .2s;
  line-height: 1.5;
}

.lang-btn:hover { border-color: var(--gold); color: var(--gold); }
.lang-btn.active { background: var(--purple-dark); border-color: var(--purple); color: #fff; }

/* ── HAMBURGER MENU ── */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  z-index: 101;
}

.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--gold);
  margin: 5px 0;
  border-radius: 2px;
  transition: transform .3s, opacity .3s;
}

.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

.nav-links { display: contents; }

@media (max-width: 700px) {
  .hamburger { display: block; }
  nav { justify-content: space-between; padding: 12px 20px; }
  .nav-links {
    display: none;
    flex-direction: column;
    width: 100%;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    margin-top: 12px;
  }
  .nav-links.open { display: flex; }
  .lang-switcher { margin-left: 0; padding-left: 0; border-left: none; justify-content: center; padding-top: 8px; gap: 8px; }
  /* Mobil menüde daha büyük dokunma hedefleri (≥40px) */
  .nav-links a { padding: 10px 4px; }
  .lang-btn { padding: 8px 16px; font-size: .8rem; }
}

/* iOS Safari, font-size'ı 16px'ten küçük input'lara odaklanınca sayfayı
   otomatik yakınlaştırır (zıplama hissi verir). Mobilde tüm form alanlarını
   16px'e sabitle — görsel fark minimal, istenmeyen zoom engellenir.
   !important: bazı input'ların satıriçi font-size'ını da geçmek için. */
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px !important; }
}

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
.anim { opacity: 0; transform: translateY(30px); transition: opacity .6s ease, transform .6s ease; }
.anim.visible { opacity: 1; transform: translateY(0); }

/* ── FOOTER ── */
footer {
  background: linear-gradient(180deg, transparent, rgba(9,7,14,.85));
  text-align: center;
  padding: 50px 20px 40px;
  color: var(--text-faint);
  border-top: 1px solid var(--border);
  font-size: .85rem;
  margin-top: 40px;
}

.flogo,
footer .footer-logo {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  color: var(--gold-dim);
  margin-bottom: 16px;
}

.flinks,
footer .footer-links {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 16px 0;
  flex-wrap: wrap;
}

.flinks a,
footer .footer-links a {
  color: var(--text-dim);
  text-decoration: none;
  font-size: .8rem;
  letter-spacing: 1px;
  transition: color .2s;
}

.flinks a:hover,
footer .footer-links a:hover { color: var(--gold); }

.fcopy,
footer .copy { margin-top: 20px; color: var(--text-faint); }

.fcopy span,
footer .copy span { color: var(--text-dim); }

/* ── COOKIE CONSENT BANNER ── */
#cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  max-width: 720px;
  margin: 0 auto;
  background: linear-gradient(145deg, var(--bg-card2), var(--bg-card));
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 22px 26px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6), 0 0 24px rgba(157,106,216,0.15);
  z-index: 9999;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
#cookie-banner.cc-visible { opacity: 1; transform: translateY(0); }
#cookie-banner.cc-hide { opacity: 0; transform: translateY(20px); }

.cc-inner {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
}

.cc-text { flex: 1; min-width: 260px; }
.cc-text h3 {
  font-family: 'Playfair Display', serif;
  color: var(--gold);
  font-size: 1.05rem;
  margin-bottom: 6px;
}
.cc-text p {
  color: var(--text-dim);
  font-size: 0.85rem;
  line-height: 1.6;
  margin-bottom: 4px;
}
.cc-text a {
  color: var(--purple);
  font-size: 0.8rem;
  text-decoration: underline;
  transition: color 0.2s;
}
.cc-text a:hover { color: var(--gold); }

.cc-buttons {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.cc-btn {
  padding: 11px 22px;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  border: 1px solid transparent;
  font-family: inherit;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s, border-color 0.2s;
}
.cc-btn.cc-reject {
  background: transparent;
  color: var(--text-dim);
  border-color: var(--border);
}
.cc-btn.cc-reject:hover {
  color: var(--text);
  border-color: var(--purple);
}
.cc-btn.cc-accept {
  background: linear-gradient(90deg, var(--gold-dim), var(--gold));
  color: #2a0e1e;
}
.cc-btn.cc-accept:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(217,178,95,0.3);
}

@media (max-width: 640px) {
  #cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 18px 20px;
  }
  .cc-inner { gap: 16px; }
  .cc-text { min-width: 0; }   /* çok dar ekranlarda (≤320px) banner taşmasını önle */
  .cc-buttons { width: 100%; }
  .cc-btn { flex: 1; padding: 12px 14px; }
}

/* ── SHARE BUTTONS (makale sayfaları) ── */
.share-bar {
  max-width: 780px;
  margin: 40px auto 30px;
  padding: 24px 26px 26px;
  background: linear-gradient(145deg, var(--bg-card2), var(--bg-card));
  border: 1px solid var(--border);
  border-radius: 14px;
  text-align: center;
  position: relative;
}
.share-heading {
  font-family: 'Playfair Display', serif;
  color: var(--gold);
  font-size: 1.05rem;
  margin-bottom: 16px;
  font-weight: 700;
}
.share-btns {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(9,7,14,0.6);
  color: var(--text-dim);
  cursor: pointer;
  text-decoration: none;
  padding: 0;
  transition: transform 0.2s, background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.share-btn:hover { transform: translateY(-3px); color: #fff; }
.share-btn.sb-wa:hover   { background: #25d366; border-color: #25d366; box-shadow: 0 6px 18px rgba(37,211,102,0.35); }
.share-btn.sb-tw:hover   { background: #000;    border-color: #fff;    box-shadow: 0 6px 18px rgba(255,255,255,0.18); }
.share-btn.sb-fb:hover   { background: #1877f2; border-color: #1877f2; box-shadow: 0 6px 18px rgba(24,119,242,0.35); }
.share-btn.sb-tg:hover   { background: #26a5e4; border-color: #26a5e4; box-shadow: 0 6px 18px rgba(38,165,228,0.35); }
.share-btn.sb-copy:hover { background: var(--purple); border-color: var(--purple); box-shadow: 0 6px 18px rgba(157,106,216,0.35); }

.share-toast {
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translate(-50%, 0);
  background: var(--gold);
  color: #2a0e1e;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, bottom 0.3s ease;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}
.share-toast.visible {
  opacity: 1;
  bottom: -22px;
}

@media (max-width: 480px) {
  .share-bar { padding: 18px 16px 22px; margin: 32px 16px 24px; }
  .share-btns { gap: 10px; }
}

/* ── REVIEW CARDS (dinamik testimonials — reviews.js) ── */
.tm-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.tm-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.5px;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.35), inset 0 1px 2px rgba(255,255,255,0.15);
}
.tm-meta { flex: 1; min-width: 0; }
.tm-name {
  color: var(--gold);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
}
.tm-sub {
  font-size: 0.72rem;
  color: var(--text-dim);
  margin-top: 2px;
  line-height: 1.3;
}
.tm-date { color: var(--text-dim); }

.tm-stars {
  display: inline-block;
  position: relative;
  letter-spacing: 2px;
  font-size: 0.95rem;
  line-height: 1;
  margin-bottom: 10px;
  direction: ltr;
}
.tm-stars-bg { color: #3d2860; }
.tm-stars-fg {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #d9b25f;
  pointer-events: none;
}

/* ── SUBTLE MYSTIC ANIMATIONS ── */

/* Gentle floating for decorative emojis (coffee cup, crystal ball, etc.) */
@keyframes mystic-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-8px) rotate(-2deg); }
}
.header-deco, .hero-deco {
  animation: mystic-float 6s ease-in-out infinite;
  will-change: transform;
}
.header-deco.right, .hero-deco.right {
  animation-duration: 7.5s;
  animation-delay: -2.5s;
}

/* Twinkle — for badges, small icons, gold accents */
@keyframes mystic-twinkle {
  0%, 100% {
    filter: drop-shadow(0 0 3px rgba(217,178,95,.35));
    opacity: 1;
  }
  50% {
    filter: drop-shadow(0 0 10px rgba(217,178,95,.75));
    opacity: 0.92;
  }
}
.badge, .free-banner .icon {
  animation: mystic-twinkle 3.5s ease-in-out infinite;
  will-change: filter;
}

/* Soft star-drift — applied to decorative stars in backgrounds if added */
@keyframes star-drift {
  0%   { opacity: 0.2; transform: translateY(0) scale(1); }
  50%  { opacity: 0.7; transform: translateY(-4px) scale(1.05); }
  100% { opacity: 0.2; transform: translateY(0) scale(1); }
}

/* Gold shimmer pass on card hover */
.post-card, .featured, .info-card, .tm-card, .ingr-card, .step, .sym-card {
  position: relative;
  overflow: hidden;
}
.post-card::after, .featured::after, .info-card::after,
.tm-card::after, .ingr-card::after, .step::after, .sym-card::after {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 60%; height: 100%;
  background: linear-gradient(
    100deg,
    transparent 20%,
    rgba(217,178,95,.08) 50%,
    transparent 80%
  );
  transform: skewX(-20deg);
  transition: left 0.9s ease;
  pointer-events: none;
}
.post-card:hover::after, .featured:hover::after, .info-card:hover::after,
.tm-card:hover::after, .ingr-card:hover::after, .step:hover::after, .sym-card:hover::after {
  left: 130%;
}

/* Accessibility — respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .header-deco, .hero-deco,
  .badge, .free-banner .icon {
    animation: none !important;
  }
  .post-card::after, .featured::after, .info-card::after,
  .tm-card::after, .ingr-card::after, .step::after, .sym-card::after {
    display: none;
  }
  .anim { opacity: 1 !important; transform: none !important; }
}

/* ── ORNAMENTAL DIVIDER (hand-drawn feel between sections) ── */
.ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 48px auto;
  max-width: 420px;
  color: var(--gold-dim);
  font-size: 1.1rem;
  letter-spacing: 10px;
  opacity: 0.55;
  user-select: none;
}
.ornament::before,
.ornament::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim), transparent);
}
.ornament .glyph {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  letter-spacing: 6px;
  text-shadow: 0 0 8px rgba(217,178,95,.25);
}

/* ── TYPOGRAPHIC HIERARCHY ── */

/* Global Playfair rhythm for headings — respects inline font-size rules */
h1, h2, h3, h4, h5 {
  font-family: 'Playfair Display', Georgia, serif;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
h1 { font-weight: 700; }
h2, h3 { font-weight: 700; letter-spacing: -0.005em; }

/* Hero H1 — subtle altın glow (emojiyi kırmamak için gradient fill kullanmıyoruz) */
.hero h1, header h1 {
  color: #ffe8bf;
  text-shadow:
    0 1px 0 rgba(255,232,191,0.08),
    0 2px 30px rgba(217,178,95,0.25),
    var(--shadow-card), 0 0 30px rgba(157,106,216,0.08);
  line-height: 1.18;
}

/* Playfair italic accent for "sub" / lead paragraphs */
.hero .sub, header .sub,
.intro em, .step-body em {
  font-style: italic;
  font-family: 'Playfair Display', Georgia, serif;
}

/* ── FALIX WORDMARK / MARKA ── */
.falix-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.32em;
  text-decoration: none;
  font-family: 'Playfair Display', Georgia, serif;
  line-height: 1;
  letter-spacing: -0.01em;
}
.falix-brand .fx-glyph {
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  /* Optik hiza: italik kelimenin görsel merkezine hafif denkleme */
  transform: translateY(0.04em);
}
.falix-brand .fx-glyph svg {
  width: 0.9em;
  height: 0.9em;
  display: block;
  filter: drop-shadow(0 0 5px rgba(var(--gold-rgb), 0.3));
}
.falix-brand .fx-word {
  font-weight: 700;
  font-style: italic;
  background: linear-gradient(180deg, #ffe8bf 0%, #f5d58a 55%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.falix-brand .fx-dot {
  display: inline-block;
  width: 0.22em;
  height: 0.22em;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(217,178,95,0.6);
  transform: translateY(-0.55em);
  margin-left: 0.05em;
}

/* Hero markasi: buyuk, sade tek ton altin + yumusak parilti */
.falix-brand.size-hero {
  font-size: 3.6rem;
}
.falix-brand.size-hero .fx-word {
  background: none;
  -webkit-text-fill-color: var(--gold);
  color: var(--gold);
  text-shadow:
    0 0 28px rgba(217,178,95,0.45),
    0 2px 10px rgba(0,0,0,0.35);
}
/* Footer markasi: orta */
.falix-brand.size-footer {
  font-size: 1.8rem;
}
/* Nav markasi: kucuk */
.falix-brand.size-nav {
  font-size: 1.15rem;
}

@media (max-width: 640px) {
  .falix-brand.size-hero { font-size: 2.6rem; }
  .falix-brand.size-footer { font-size: 1.5rem; }
}

/* ── ANA SAYFA: landing ── */
.home-intro {
  max-width: 1100px;
  margin: 50px auto 60px;
  padding: 0 20px;
  text-align: center;
}
.home-intro-t {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  color: var(--gold);
  margin-bottom: 10px;
  letter-spacing: -0.005em;
}
.home-intro-sub {
  color: var(--text-dim);
  font-size: 1rem;
  max-width: 640px;
  margin: 0 auto 40px;
  line-height: 1.7;
}
.home-feat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.home-feat {
  background: linear-gradient(145deg, var(--bg-card2), var(--bg-card));
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 36px 28px 28px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  box-shadow: var(--edge-top), var(--shadow-card);
  transition: transform .3s, border-color .3s, box-shadow .3s;
  position: relative;
  overflow: hidden;
}
.home-feat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--purple), var(--gold));
  opacity: 0;
  transition: opacity .3s;
}
.home-feat:hover {
  transform: translateY(-5px);
  border-color: var(--purple-dark);
  box-shadow: var(--edge-top), var(--shadow-card-hover), 0 0 22px rgba(157,106,216,0.10);
}
.home-feat:hover::before { opacity: 1; }
.home-feat-primary {
  border-color: var(--gold-dim);
  background: linear-gradient(145deg, #1a1510, #0f0b18);
}
.home-feat-primary:hover {
  border-color: var(--gold);
  box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 0 24px rgba(217,178,95,0.18);
}
.home-feat-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: var(--gold);
  background: radial-gradient(circle at 50% 35%, rgba(var(--gold-rgb),0.14), rgba(var(--gold-rgb),0.04));
  border: 1px solid rgba(var(--gold-rgb), 0.22);
  box-shadow: var(--edge-top);
  transition: transform .3s, color .3s, border-color .3s;
}
.home-feat-icon svg { width: 26px; height: 26px; }
.home-feat:hover .home-feat-icon {
  transform: translateY(-2px) scale(1.04);
  color: var(--gold-bright);
  border-color: rgba(var(--gold-rgb), 0.5);
}
.home-feat-primary .home-feat-icon {
  background: radial-gradient(circle at 50% 35%, rgba(var(--gold-rgb),0.22), rgba(var(--gold-rgb),0.06));
  border-color: rgba(var(--gold-rgb), 0.4);
}
.home-feat h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  color: var(--text);
  margin-bottom: 10px;
}
.home-feat p {
  color: var(--text-dim);
  line-height: 1.7;
  font-size: 0.93rem;
  flex-grow: 1;
  margin-bottom: 18px;
}
.home-feat-link {
  color: var(--gold);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* FINAL CTA banner */
.home-final-cta {
  max-width: 900px;
  margin: 70px auto 50px;
  padding: 50px 36px;
  text-align: center;
  background: linear-gradient(135deg, #1e0f30, #2a0e1e);
  border: 1px solid var(--purple);
  border-radius: 20px;
  box-shadow: var(--shadow-card), 0 0 32px rgba(157,106,216,0.10);
  position: relative;
  overflow: hidden;
}
.home-final-cta::before {
  content: '🔮';
  position: absolute;
  font-size: 180px;
  opacity: 0.05;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.home-final-cta h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.85rem;
  color: var(--text);
  margin-bottom: 12px;
  position: relative;
}
.home-final-cta p {
  color: var(--text-2);
  font-size: 1rem;
  max-width: 560px;
  margin: 0 auto 28px;
  line-height: 1.7;
  position: relative;
}
.home-final-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--purple-dark), var(--purple));
  color: #fff;
  text-decoration: none;
  padding: 16px 36px;
  border-radius: 50px;
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
  box-shadow: 0 10px 30px rgba(157,106,216,0.4);
  transition: transform .25s, box-shadow .25s;
  position: relative;
}
.home-final-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(157,106,216,0.55);
}

@media (max-width: 820px) {
  .home-feat-grid { grid-template-columns: 1fr; }
  .home-intro-t { font-size: 1.6rem; }
  .home-final-cta { padding: 36px 24px; margin: 50px 16px; }
  .home-final-cta h3 { font-size: 1.5rem; }
}

/* ── ARTICLE / MAKALE: profesyonel okuma deneyimi ── */
.article-body {
  max-width: 760px;
  margin: 0 auto;
  padding: 50px 28px 30px;
  position: relative;
}

/* Hero alti gorsele daha guzel frame */
.cover-wrap {
  border-radius: 14px;
  margin-top: 28px !important;
  margin-bottom: 10px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative;
  box-shadow: 0 20px 50px rgba(0,0,0,0.55), 0 0 0 1px rgba(217,178,95,0.08);
}

/* Back butonu */
.back-btn {
  opacity: 0.75;
  letter-spacing: 0.3px;
}
.back-btn:hover { opacity: 1; }

/* Article hero icindeki h1 — profesyonel, elegan ama parlak degil */
.hero h1 {
  font-weight: 700;
  letter-spacing: -0.015em;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* Article body h2 — altin baslik, hafif uzun cizgi */
.article-body h2 {
  position: relative;
  padding-bottom: 14px !important;
  margin-top: 56px !important;
  letter-spacing: -0.005em;
  border-bottom: none !important;
}
.article-body h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), transparent);
}

.article-body h3 {
  letter-spacing: -0.003em;
  margin-top: 32px !important;
}

/* Paragraf nefesi */
.article-body p {
  letter-spacing: 0.01em;
}
.article-body p + p {
  margin-top: 0;
}
.article-body ul li,
.article-body ol li {
  padding-left: 4px;
  margin-bottom: 10px !important;
}
.article-body strong {
  color: var(--text);
  font-weight: 700;
}
.article-body em {
  color: #e6c8ff;
}

/* Drop cap — ilk paragraf (nested data-lang div'leri icin de calisir) */
.article-body > div[data-lang]:not([style*="none"]) > p:first-of-type::first-letter,
.article-body > p:first-of-type::first-letter,
.drop-cap::first-letter {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 3.6rem;
  font-weight: 700;
  float: left;
  line-height: 0.88;
  margin: 6px 12px 0 0;
  color: var(--gold);
  text-shadow: 0 2px 10px rgba(217,178,95,0.25);
}

/* Highlight quote box — daha zarif */
.article-body .highlight {
  padding: 28px 32px !important;
  margin: 36px 0 !important;
  position: relative;
}
.article-body .highlight::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: 16px;
  font-family: 'Playfair Display', serif;
  font-size: 4rem;
  color: var(--gold);
  opacity: 0.35;
  line-height: 1;
}
.article-body .highlight p {
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
}

/* Step kartlari — daha profesyonel numaralandirma */
.article-body .step {
  padding: 24px 28px !important;
  margin: 16px 0 !important;
  transition: border-color .25s, transform .25s;
}
.article-body .step:hover {
  border-color: var(--purple-dark) !important;
  transform: translateX(3px);
}
.article-body .step-num {
  background: linear-gradient(135deg, var(--purple-dark), #5b2a9f);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(157,106,216,0.35);
}

/* Kapak gorsel — aydinlik, elegan vignette */
.cover-wrap img {
  filter: brightness(0.92) saturate(1.05) !important;
}

/* Back butonu — pill buton, cover altinda ferah */
.article-body .back-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 8px 16px !important;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,0.02);
  color: var(--text-dim) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.5px;
  margin-bottom: 40px !important;
  transition: border-color .2s, color .2s, background .2s;
}
.article-body .back-btn:hover {
  border-color: var(--gold-dim);
  color: var(--gold) !important;
  background: rgba(217,178,95,0.06);
}

/* Hero meta pills — tarih/sure/yazar */
.hero .meta span,
header .meta span {
  padding: 5px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,0.02);
  font-size: 0.78rem;
  backdrop-filter: blur(4px);
}

/* Liste bulletleri — altin tik/elmas */
.article-body ul,
.article-body ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.article-body ul li {
  position: relative;
  padding-left: 26px;
}
.article-body ul li::before {
  content: '◆';
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--gold);
  font-size: 0.75rem;
  opacity: 0.8;
}
.article-body ol {
  counter-reset: item;
}
.article-body ol li {
  position: relative;
  padding-left: 34px;
  counter-increment: item;
}
.article-body ol li::before {
  content: counter(item);
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gold);
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 1rem;
  min-width: 22px;
  text-align: right;
  padding-right: 6px;
  border-right: 1px solid var(--gold-dim);
}

/* Reading progress bar — sayfa kaydikca altin cubuk dolar */
#read-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--purple), var(--gold));
  z-index: 9999;
  transition: width 0.1s ease-out;
  box-shadow: 0 0 10px rgba(217,178,95,0.4);
}

/* Related artikel sekmesi — article-body ile hizali */
.related {
  max-width: 760px !important;
  margin: 20px auto 60px !important;
  padding: 0 28px !important;
}
.related h3 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  position: relative;
  padding-left: 0;
}
.related h3::after {
  content: '';
  display: block;
  width: 50px;
  height: 2px;
  margin-top: 10px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.rc {
  transition: border-color .25s, transform .25s, box-shadow .25s !important;
}
.rc:hover {
  box-shadow: 0 12px 30px rgba(0,0,0,0.5), 0 0 20px rgba(157,106,216,0.1);
}

/* Product-box — daha elegan */
.product-box {
  padding: 40px 36px !important;
  border-radius: 20px !important;
}
.pb-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Section break — h2'lerden once subtle ornament (ilk h2 haric) */
.article-body h2:not(:first-of-type) {
  margin-top: 64px !important;
}

/* Mobile article refinements */
@media (max-width: 640px) {
  .article-body {
    padding: 36px 20px 24px;
  }
  .article-body h2 {
    margin-top: 40px !important;
    font-size: 1.45rem !important;
  }
  .article-body h2:not(:first-of-type) {
    margin-top: 48px !important;
  }
  .article-body > div[data-lang]:not([style*="none"]) > p:first-of-type::first-letter,
  .article-body > p:first-of-type::first-letter {
    font-size: 2.8rem;
  }
  .cover-wrap img {
    height: 240px !important;
  }
  .hero .meta, header .meta {
    gap: 8px !important;
    font-size: 0.72rem !important;
  }
  .related {
    padding: 0 20px !important;
  }
  .product-box {
    padding: 28px 22px !important;
  }
}

/* Body readability — applies to long-form paragraphs by default */
p {
  line-height: 1.75;
}

/* Kart içi nefes alanı — .card-body kuralı yok, yazılar kenara yapışıyordu */
.card-body {
  padding: 26px 28px 28px;
}
.post-card h2 {
  margin-bottom: 12px;
}
.post-card p {
  margin-bottom: 16px;
}
.post-card .read-more {
  margin-top: 4px;
}

/* Refined selection color */
::selection {
  background: rgba(217,178,95,0.3);
  color: #fff;
}

/* Subtle link underline for in-content anchors */
.article-body a,
.faq-a a,
.intro a {
  color: var(--gold);
  text-decoration: none;
  background-image: linear-gradient(var(--gold-dim), var(--gold-dim));
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.3s;
}
.article-body a:hover,
.faq-a a:hover,
.intro a:hover {
  background-size: 100% 2px;
}

/* ========== Sembol detay sayfaları (symbol-*.html) ========== */
.sym-hero {
  background: linear-gradient(160deg, #1a0e2e, #0e0820, #1a1025);
  padding: 72px 20px 52px;
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
  text-align: center;
}
.sym-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 65%, rgba(217,178,95,.14) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 30%, rgba(157,106,216,.18) 0%, transparent 50%);
  pointer-events: none;
}
.sym-hero-inner {
  position: relative;
  max-width: 820px;
  margin: 0 auto;
}
.sym-hero .breadcrumb {
  font-size: .78rem;
  color: var(--text-dim);
  margin-bottom: 18px;
}
.sym-hero .breadcrumb a {
  color: var(--purple);
  text-decoration: none;
}
.sym-hero .breadcrumb a:hover { color: var(--gold); }
.sym-hero-emoji {
  font-size: 4.4rem;
  line-height: 1;
  margin-bottom: 14px;
  filter: drop-shadow(0 0 22px rgba(217,178,95,.4));
}
.sym-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: 2.8rem;
  color: var(--gold);
  margin: 0 0 10px;
  text-shadow: 0 0 36px rgba(217,178,95,.28);
}
.sym-hero-kw {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: var(--text-dim);
  font-size: 1rem;
  letter-spacing: 1px;
  margin-bottom: 16px;
}
.sym-cat { margin-top: 8px; }
.sym-cat-link {
  display: inline-block;
  font-size: .78rem;
  color: var(--purple);
  text-decoration: none;
  padding: 4px 14px;
  border: 1px solid rgba(157,106,216,.3);
  border-radius: 999px;
  transition: border-color .2s, color .2s;
}
.sym-cat-link:hover { border-color: var(--gold-dim); color: var(--gold); }

.sym-article {
  max-width: 760px;
  margin: 48px auto 70px;
  padding: 0 24px;
}
.sym-lead {
  font-family: 'Playfair Display', serif;
  font-size: 1.32rem;
  line-height: 1.65;
  color: #e8d5a8;
  font-style: italic;
  margin: 0 0 32px;
  padding-left: 18px;
  border-left: 3px solid var(--gold-dim);
}
.sym-long p {
  color: var(--text);
  line-height: 1.85;
  font-size: 1.02rem;
  margin: 0 0 20px;
}
.sym-tags-box {
  margin: 32px 0;
  padding: 22px 24px;
  background: linear-gradient(145deg, var(--bg-card2), var(--bg-card));
  border: 1px solid var(--border);
  border-radius: 14px;
}
.sym-tags-box h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  color: var(--gold);
  margin: 0 0 14px;
  letter-spacing: .5px;
}
.sym-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.sym-tags .pos,
.sym-tags .neg {
  font-size: .78rem;
  padding: 5px 13px;
  border-radius: 999px;
  line-height: 1.2;
}
.sym-tags .pos {
  background: rgba(16,185,129,.1);
  border: 1px solid rgba(16,185,129,.28);
  color: #34d399;
}
.sym-tags .neg {
  background: rgba(244,63,94,.1);
  border: 1px solid rgba(244,63,94,.28);
  color: #f87171;
}

.sym-cta {
  margin: 40px 0 36px;
  padding: 32px 28px;
  background: linear-gradient(135deg, #1a1510, #120f08);
  border: 1px solid #6a4a1a;
  border-radius: 16px;
  text-align: center;
}
.sym-cta h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  color: var(--gold);
  margin: 0 0 10px;
}
.sym-cta p {
  color: var(--text-dim);
  font-size: .95rem;
  margin: 0 auto 22px;
  max-width: 520px;
  line-height: 1.65;
}
.sym-cta-btn {
  display: inline-block;
  padding: 13px 28px;
  background: linear-gradient(135deg, var(--gold), #b08d42);
  color: #1a0e00;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(217,178,95,.28);
  transition: transform .2s, box-shadow .2s;
}
.sym-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(217,178,95,.4);
}

.sym-related { margin: 44px 0 24px; }
.sym-related .section-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  color: var(--gold);
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.sym-related .section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--border), transparent);
}
.rel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}
.rel-card {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  background: linear-gradient(145deg, var(--bg-card2), var(--bg-card));
  border: 1px solid var(--border);
  border-radius: 12px;
  text-decoration: none;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.rel-card:hover {
  transform: translateY(-3px);
  border-color: #6a4a9a;
  box-shadow: 0 10px 24px rgba(0,0,0,.5);
}
.rel-emoji {
  font-size: 1.7rem;
  filter: drop-shadow(0 0 8px rgba(217,178,95,.3));
}
.rel-name {
  font-family: 'Playfair Display', serif;
  color: #f0c870;
  font-size: .95rem;
  font-weight: 700;
  margin-bottom: 2px;
}
.rel-kw {
  font-size: .72rem;
  color: var(--purple);
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.sym-back {
  margin-top: 36px;
  text-align: center;
}
.sym-back a {
  display: inline-block;
  font-size: .9rem;
  color: var(--text-dim);
  text-decoration: none;
  padding: 10px 22px;
  border: 1px solid var(--border);
  border-radius: 999px;
  transition: color .2s, border-color .2s;
}
.sym-back a:hover { color: var(--gold); border-color: var(--gold-dim); }

.flogo-sub {
  color: var(--text-dim);
  font-size: .85rem;
  margin-top: -4px;
  margin-bottom: 14px;
  font-style: italic;
}

@media (max-width: 600px) {
  .sym-hero-title { font-size: 2rem; }
  .sym-hero-emoji { font-size: 3.4rem; }
  .sym-lead { font-size: 1.12rem; }
  .sym-cta { padding: 26px 20px; }
  .sym-cta h3 { font-size: 1.15rem; }
}

/* semboller.html kartları link olarak — hover ipucu */
.sym-card[href] { text-decoration: none; color: inherit; cursor: pointer; }
.sym-card .sym-more {
  display: inline-block;
  margin-top: 12px;
  font-size: .78rem;
  color: var(--gold);
  font-weight: 700;
  letter-spacing: .5px;
  opacity: .75;
  transition: opacity .2s;
}
.sym-card[href]:hover .sym-more { opacity: 1; }

/* ============================================================
   PREMIUM HERO & NAV REFRESH (2026-04)
   Amaç: Apple/Stripe seviyesi premium his — mevcut koyu + altın
   + mor paleti BOZMADAN katman, derinlik ve mikro hareket ekler.
   Değişen alanlar:
     • Nav       → glassmorphism + animated underline
     • Hero      → blurred orb + ince grain + sparkles + stagger fade-in
     • CTA       → pulse glow + shimmer sweep + hover lift
     • Transition → hero → gövde yumuşak gradient fade
   ============================================================ */

/* ── NAV: Glassmorphism ve animated underline ─────────────── */
/* Neden: Daha şeffaf cam hissi + hover'da yumuşak altın→mor
   underline ile mevcut "border-bottom" değişiminden daha zarif bir his. */
nav {
  background: rgba(9, 7, 14, 0.62);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid rgba(61, 40, 96, 0.5);
}
nav a {
  position: relative;
  border-bottom: none;
  padding: 6px 2px 8px;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}
nav a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--gold), var(--purple));
  box-shadow: 0 0 10px rgba(217,178,95, 0.45);
  transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.3s;
  opacity: 0;
}
nav a:hover {
  color: var(--gold);
  text-shadow: 0 0 14px rgba(217,178,95, 0.35);
}
nav a:hover::after,
nav a.active::after {
  left: 0;
  width: 100%;
  opacity: 1;
}
nav a.active {
  color: var(--gold);
  text-shadow: 0 0 16px rgba(217,178,95, 0.5);
}

/* ── HERO: Derinlik katmanları ────────────────────────────── */
/* Hero içeriğini z-index ile katmanların üstüne koyuyoruz */
.hero-premium .hero-inner {
  position: relative;
  z-index: 3;
}

/* Büyük, yumuşak mor orb: atmosfer ışığı */
.hero-orb {
  position: absolute;
  top: -45%;
  left: 50%;
  width: 780px;
  height: 780px;
  max-width: 120vw;
  max-height: 120vw;
  border-radius: 50%;
  transform: translateX(-50%);
  background: radial-gradient(
    circle,
    rgba(157,106,216, 0.34) 0%,
    rgba(157,106,216, 0.12) 32%,
    rgba(217,178,95, 0.06) 55%,
    transparent 70%
  );
  filter: blur(50px);
  opacity: 0.62;
  pointer-events: none;
  z-index: 1;
  animation: orb-drift 22s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes orb-drift {
  0%   { transform: translate(-52%, 0) scale(1); }
  50%  { transform: translate(-48%, 4%) scale(1.05); }
  100% { transform: translate(-50%, 8%) scale(1.02); }
}

/* İnce film-grain dokusu: analog/mistik his */
.hero-grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.08;
  mix-blend-mode: overlay;
  background-image:
    radial-gradient(rgba(217,178,95, 0.5) 1px, transparent 1px),
    radial-gradient(rgba(157,106,216, 0.4) 1px, transparent 1px);
  background-size: 4px 4px, 6px 6px;
  background-position: 0 0, 2px 2px;
}

/* Sparkles: ufak, yavaş yanıp sönen altın noktalar */
.hero-sparkles {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.hero-sparkles span {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(217,178,95, 0.85);
  box-shadow: 0 0 8px rgba(217,178,95, 0.7);
  opacity: 0;
  animation: sparkle-pulse 6s ease-in-out infinite;
}
.hero-sparkles span:nth-child(1) { top: 22%; left: 14%; animation-delay: 0s;   }
.hero-sparkles span:nth-child(2) { top: 38%; left: 82%; animation-delay: 1.1s; }
.hero-sparkles span:nth-child(3) { top: 65%; left: 20%; animation-delay: 2.4s; }
.hero-sparkles span:nth-child(4) { top: 18%; left: 68%; animation-delay: 3.3s; background: rgba(157,106,216,0.8); box-shadow: 0 0 8px rgba(157,106,216,0.6); }
.hero-sparkles span:nth-child(5) { top: 80%; left: 55%; animation-delay: 4.0s; }
.hero-sparkles span:nth-child(6) { top: 52%; left: 90%; animation-delay: 5.0s; background: rgba(157,106,216,0.7); box-shadow: 0 0 8px rgba(157,106,216,0.5); }
@keyframes sparkle-pulse {
  0%, 100% { opacity: 0; transform: scale(0.6); }
  50%      { opacity: 1; transform: scale(1.2); }
}

/* Hero alt kenar → gövdeye yumuşak geçiş (sert kesim yok) */
.hero-premium::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 140px;
  background: linear-gradient(180deg, transparent 0%, var(--bg) 100%);
  pointer-events: none;
  z-index: 2;
}

/* ── HERO: Sayfa yüklemede sıralı (stagger) fade-up ────────── */
/* Her eleman farklı gecikme ile hafif yukarı kayarak ve blur
   boşalarak belirir. Bu "ritüelin açılışı" hissi verir. */
@keyframes heroRise {
  from { opacity: 0; transform: translateY(18px); filter: blur(5px); }
  to   { opacity: 1; transform: translateY(0);     filter: blur(0); }
}
.hero-premium .falix-brand.size-hero,
.hero-premium .badge,
.hero-premium h1,
.hero-premium .subtitle,
.hero-premium .hero-ctas,
.hero-premium .hero-fal-sub {
  animation: heroRise 0.9s cubic-bezier(0.25, 0.8, 0.25, 1) both;
}
.hero-premium .falix-brand.size-hero { animation-delay: 0.05s; }
.hero-premium .badge    { animation-delay: 0.18s; }
.hero-premium h1        { animation-delay: 0.28s; }
.hero-premium .subtitle { animation-delay: 0.42s; }
.hero-premium .hero-ctas{ animation-delay: 0.56s; }
.hero-premium .hero-fal-sub { animation-delay: 0.72s; }

/* ── HERO CTA: Pulse glow + shimmer sweep ──────────────────── */
/* Ana CTA: Eski inline style'larla aynı görsel dil + yumuşak
   glow nabzı ve hover'da hafif parlama süpürmesi. */
.hero-ctas {
  margin-top: 40px;
  position: relative;
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
.hero-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #6f4ab8 0%, #9d6ad8 100%);
  color: #fff;
  text-decoration: none;
  padding: 16px 36px;
  border-radius: 50px;
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 30px rgba(157,106,216, 0.4),
              0 10px 24px rgba(157,106,216, 0.22);
  animation: cta-glow 3.2s ease-in-out infinite;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              box-shadow 0.3s ease;
}
@keyframes cta-glow {
  0%, 100% {
    box-shadow: 0 0 30px rgba(157,106,216, 0.40),
                0 10px 24px rgba(157,106,216, 0.22);
  }
  50% {
    box-shadow: 0 0 44px rgba(157,106,216, 0.62),
                0 14px 32px rgba(157,106,216, 0.36);
  }
}
.hero-cta-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(100deg,
    transparent 10%,
    rgba(255, 255, 255, 0.22) 50%,
    transparent 90%);
  transform: skewX(-20deg);
  transition: left 0.7s ease;
  pointer-events: none;
}
.hero-cta-primary:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 0 52px rgba(157,106,216, 0.70),
              0 18px 40px rgba(157,106,216, 0.42);
  animation-play-state: paused;
}
.hero-cta-primary:hover::before { left: 140%; }
.hero-cta-primary:active {
  transform: translateY(-1px) scale(1.0);
}
.hero-cta-emoji,
.hero-cta-icon {
  display: inline-flex;
  align-items: center;
  color: var(--gold-bright);
  filter: drop-shadow(0 0 6px rgba(var(--gold-rgb), 0.45));
}
.hero-cta-icon svg { display: block; }

/* İkincil CTA (Blog): sessiz, ama aynı premium diller */
.hero-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  text-decoration: none;
  padding: 16px 30px;
  border-radius: 50px;
  border: 1px solid var(--border);
  font-family: 'Lato', sans-serif;
  font-size: 0.95rem;
  letter-spacing: 1px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(6px);
  transition: border-color 0.3s ease, color 0.3s ease,
              background 0.3s ease, transform 0.3s ease;
}
.hero-cta-secondary:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(217,178,95, 0.06);
  transform: translateY(-2px);
}

/* Hero alt mikro metin */
.hero-fal-sub {
  margin-top: 16px;
  color: var(--text-dim);
  font-size: 0.82rem;
  letter-spacing: 1.2px;
}

/* ── Reduced motion: animasyonları susturma ───────────────── */
@media (prefers-reduced-motion: reduce) {
  .hero-orb,
  .hero-sparkles span,
  .hero-cta-primary {
    animation: none !important;
  }
  .hero-premium .falix-brand.size-hero,
  .hero-premium .badge,
  .hero-premium h1,
  .hero-premium .subtitle,
  .hero-premium .hero-ctas,
  .hero-premium .hero-fal-sub {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  .hero-cta-primary::before { display: none; }
  nav a::after { transition: none; }
}

/* ═══════════════════════════════════════════════════════════
   21. YÜZYIL TEKNİKLERİ — 2025 modern web APIs
   ═══════════════════════════════════════════════════════════ */

/* ── Hero canvas katmanı (parçacık sistemi için) ── */
#hero-canvas {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

/* ── CSS Scroll-Driven Animations (Chrome 115+) ──────────── */
/* animation-timeline: view() ile elemanlar viewport'a girerken
   CSS seviyesinde animate edilir — IntersectionObserver gerekmez. */
@supports (animation-timeline: view()) {
  /* JS IntersectionObserver .anim trick'ini devre dışı bırak */
  .anim {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* translate/filter kullanır (transform DEĞİL) — böylece 3D tilt'in
     transform'u ve kartların hover kalkışı bununla çakışmaz, üst üste biner */
  @keyframes reveal-up {
    from {
      opacity: 0;
      translate: 0 42px;
      filter: blur(7px);
    }
    to {
      opacity: 1;
      translate: 0 0;
      filter: blur(0);
    }
  }

  /* Kartlar ve büyük bloklar viewport'a girerken yumuşak açılır */
  .post-card,
  .info-card,
  .featured {
    animation: reveal-up linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 28%;
  }

  /* 2. ve 4. kartlar biraz geç başlasın — görsel stagger */
  .posts .post-card:nth-child(even) {
    animation-range: entry 4% entry 32%;
  }

  .tm-card {
    animation: reveal-up linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 30%;
  }
  .tm-grid .tm-card:nth-child(2) { animation-range: entry 4% entry 33%; }
  .tm-grid .tm-card:nth-child(3) { animation-range: entry 8% entry 36%; }

  .quote-block,
  .newsletter,
  .home-final-cta,
  .symbols-strip {
    animation: reveal-up linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 22%;
  }

  @media (prefers-reduced-motion: reduce) {
    .post-card, .info-card, .featured,
    .tm-card, .quote-block, .newsletter,
    .home-final-cta, .symbols-strip {
      animation: none !important;
    }
  }
}

/* ── MPA View Transitions (Chrome 126+) ──────────────────── */
/* Sayfa navigasyonlarında yumuşak blur+fade geçiş.
   Eski tarayıcılarda normal sayfa yüklemesi gerçekleşir. */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: 260ms ease-out vt-out;
}
::view-transition-new(root) {
  animation: 380ms cubic-bezier(0.22, 1, 0.36, 1) vt-in;
}

@keyframes vt-out {
  from { opacity: 1; transform: scale(1)    translateY(0);    filter: blur(0); }
  to   { opacity: 0; transform: scale(0.98) translateY(-10px); filter: blur(3px); }
}
@keyframes vt-in {
  from { opacity: 0; transform: scale(1.01) translateY(10px); filter: blur(3px); }
  to   { opacity: 1; transform: scale(1)    translateY(0);    filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   ETKİLEŞİMLİ HAREKET — 3D tilt + spotlight + parıltı (fx.js eşliği)
   ═══════════════════════════════════════════════════════════ */

/* ── 3D Tilt + Cursor Spotlight kartları ── */
/* fx.js sadece masaüstü + reduced-motion kapalıyken .has-fx ekler.
   Dokunmatik/erişilebilirlik kullanıcılarında bu kurallar hiç devreye girmez. */
.has-fx {
  position: relative;
  overflow: hidden;
  transform-style: flat;
  /* Tilt sırasında akıcı takip; hover'dan çıkınca yumuşak dönüş */
  transition: transform 0.16s ease-out, box-shadow 0.3s ease, border-color 0.3s ease;
}
.has-fx:hover {
  will-change: transform;
  border-color: var(--purple-dark);
  box-shadow: 0 26px 60px rgba(0,0,0,0.62), 0 0 36px rgba(157,106,216,0.22);
}

/* Cursor'u takip eden ışık halesi */
.fx-spotlight {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  mix-blend-mode: screen;
  transition: opacity 0.4s ease;
  background: radial-gradient(
    240px circle at var(--mx, 50%) var(--my, 50%),
    rgba(217,178,95, 0.18),
    rgba(157,106,216, 0.12) 36%,
    transparent 62%
  );
}
.has-fx:hover .fx-spotlight { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .has-fx { transition: none; transform: none !important; }
  .fx-spotlight { display: none; }
}

/* ── Başlık parıltısı (sheen): altın ışık başlıkların üzerinden geçer ── */
@keyframes heading-sheen {
  0%   { background-position: 200% 0; }
  100% { background-position: -60% 0; }
}
/* fx-sheen: yalnızca düz metinli başlıklara elle eklenir
   (emoji içeren başlıklarda clip-text emojiyi bozacağı için kullanılmaz) */
.fx-sheen {
  color: var(--gold);  /* background-clip desteklemeyen tarayıcılar için fallback */
  background-image: linear-gradient(
    100deg,
    var(--gold) 0%,
    var(--gold) 38%,
    #fff6e0 50%,
    var(--gold) 62%,
    var(--gold) 100%
  );
  background-size: 260% 100%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: heading-sheen 7s ease-in-out infinite;
}
/* section-title'daki dekoratif çizgi (::after) sheen'den etkilenmesin */
.section-title.fx-sheen::after { -webkit-text-fill-color: initial; }

@media (prefers-reduced-motion: reduce) {
  .fx-sheen {
    animation: none;
    background-position: 50% 0;
  }
}

/* ── Sembol şeridi: ikonlar sürekli hafifçe süzülür (staggered) ── */
/* translate kullanır → hover'daki transform (scale+rotate) ile çakışmaz */
@keyframes sym-bob {
  0%, 100% { translate: 0 0; }
  50%      { translate: 0 -7px; }
}
.symbols-strip .symbol-item .icon {
  animation: sym-bob 4.5s ease-in-out infinite;
}
.symbols-strip .symbol-item:nth-child(1) .icon { animation-delay: 0s;    }
.symbols-strip .symbol-item:nth-child(2) .icon { animation-delay: .35s;  }
.symbols-strip .symbol-item:nth-child(3) .icon { animation-delay: .7s;   }
.symbols-strip .symbol-item:nth-child(4) .icon { animation-delay: 1.05s; }
.symbols-strip .symbol-item:nth-child(5) .icon { animation-delay: 1.4s;  }
.symbols-strip .symbol-item:nth-child(6) .icon { animation-delay: 1.75s; }
.symbols-strip .symbol-item:nth-child(7) .icon { animation-delay: 2.1s;  }
.symbols-strip .symbol-item:nth-child(8) .icon { animation-delay: 2.45s; }

@media (prefers-reduced-motion: reduce) {
  .symbols-strip .symbol-item .icon { animation: none; }
}

/* ── Alıntı kutusu: nefes alan mistik aura ── */
.quote-block::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at 50% 32%, rgba(157,106,216,0.20), transparent 60%);
  animation: quote-breathe 6.5s ease-in-out infinite;
}
.quote-block > * { position: relative; z-index: 1; }
@keyframes quote-breathe {
  0%, 100% { opacity: 0.45; transform: scale(1);    }
  50%      { opacity: 1;    transform: scale(1.05); }
}
@media (prefers-reduced-motion: reduce) {
  .quote-block::after { animation: none; opacity: 0.5; }
}
