/*
 * Zihin Gezgini — kairoyasam.com'un görsel dili (22 Ekim 2026; 23 Ekim 2026'da bileşenlerle genişletildi)
 * Renkler, yazı tipleri, üst çubuk, düğme, kart ve alt bilgi kairo-site/site/style.css'ten alındı:
 * başlıklar Georgia (normal kalınlık, yosun yeşili), gövde sistem yazısı, kum zemin, yuvarlak düğmeler,
 * 14 px köşeli gölgeli kartlar. Zihin Gezgini'nin adı, logosu ve "kişisel düşünce arşivi" kimliği aynen kalır.
 * Bu dosya en son yüklenir; eski görünüme dönmek için sayfalardaki bağlantısını kaldırmak yeter.
 */

/* Eşleme koyu temada da geçerli olsun diye body.dark-theme'i de kapsar (zihin-v2.css'ten sonra gelir). */
body,
body.dark-theme {
  /* Kairo: doğa tonları */
  --yosun: #4f6b4a;
  --yosun-koyu: #33472f;
  --toprak: #7d5f43;
  --kum: #f5efe4;
  --kum-koyu: #ebe2d2;
  --tas: #3b3a36;
  --tas-acik: #6d6a62;
  --beyaz: #fffdf8;
  --yaprak: #e3ead9;
  --golge: 0 1px 3px rgba(59, 58, 54, .08), 0 6px 20px rgba(59, 58, 54, .06);
  --ust-zemin: rgba(245, 239, 228, .92);
  --bant: #33472f;
  --bant-yazi: #f5efe4;
  --bant-baslik: #fffdf8;
  --k-bosluk: clamp(1.1rem, .8rem + 1vw, 1.5rem);

  /* Sitenin kendi değişkenleri Kairo'ya bağlanır */
  --v2-bg: var(--kum);
  --v2-surface: var(--kum-koyu);
  --v2-surface-deep: #e1d7c4;
  --v2-ink: var(--tas);
  --v2-muted: var(--tas-acik);
  --v2-faint: var(--tas-acik);
  --v2-line: var(--kum-koyu);
  --v2-accent: var(--yosun);
  --v2-accent-soft: rgba(79, 107, 74, 0.12);
  --v2-dark-panel: var(--bant);
  --v2-dark-ink: var(--bant-yazi);
  --v2-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --v2-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --v2-display: Georgia, "Times New Roman", serif;

  --color-bg: var(--kum);
  --color-card-bg: var(--beyaz);
  --color-text-main: var(--tas);
  --color-text-muted: var(--tas-acik);
  --color-accent: var(--yosun);
  --color-accent-light: var(--yaprak);
  --color-border: var(--kum-koyu);
  --font-serif: var(--v2-sans);
  --font-sans: var(--v2-sans);
  --font-display: Georgia, "Times New Roman", serif;
}

body.dark-theme {
  --yosun: #9bb592;
  --yosun-koyu: #cfdcc6;
  --toprak: #c9a27c;
  --kum: #161a15;
  --kum-koyu: #2c332a;
  --tas: #e4e0d6;
  --tas-acik: #a9a597;
  --beyaz: #1e231d;
  --yaprak: #243022;
  --golge: 0 1px 3px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25);
  --ust-zemin: rgba(22, 26, 21, .92);
  --bant: #22301f;
  --bant-yazi: #e4e0d6;
  --bant-baslik: #f3efe6;

  --v2-surface: var(--beyaz);
  --v2-surface-deep: #2c332a;
  --v2-accent-soft: rgba(155, 181, 146, 0.14);
  --color-border: #2c332a;
  color-scheme: dark;
}

/* Sayfa zemini (html, body'nin değişkenlerini göremediği için açık değerle) */
html,
html.light-theme {
  background: #f5efe4;
}

html.dark-theme {
  background: #161a15;
}

/* Yapışkan üst çubuk başlıkları örtmesin; yumuşak kaydırma yalnız hareket isteyenlere */
html { scroll-padding-top: 84px; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* Tam genişlikteki şeritler (üst çubuk, giriş zemini) yatay kaydırma açmasın */
body { overflow-x: clip; }

body:not(.dark-theme),
body.dark-theme {
  background-color: var(--kum) !important;
  color: var(--tas);
}

body:not(.dark-theme) .app-container,
body:not(.dark-theme) .content-view,
body:not(.dark-theme) .site-header,
body:not(.dark-theme) .site-footer,
body.dark-theme .app-container,
body.dark-theme .content-view,
body.dark-theme .site-header,
body.dark-theme .site-footer {
  background-color: transparent !important;
  color: var(--tas);
}

/* Sade: kâğıt dokusu ve çizgili zemin yok */
body::before,
.paper-texture {
  display: none;
}

/* Yazı: gövde sistem yazısı, akan boy (telefonda 17 px, geniş ekranda en çok 19 px) */
body {
  font-family: var(--v2-sans);
  font-size: clamp(17px, 15.6px + 0.25vw, 19px);
  line-height: 1.65;
}

/* Başlıklar: Georgia, normal kalınlık, sıkıştırılmamış harf aralığı, yosun yeşili (kairoyasam.com gibi) */
h1,
h2,
h3,
h4,
.site-title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: normal !important;
  letter-spacing: normal !important;
  color: var(--yosun-koyu) !important;
}

/* Kairo'nun başlık ölçeği: h1 en çok 3,6 rem, bölüm başlığı en çok 2,5 rem, kart başlığı en çok 1,4 rem */
h1,
.home-hero h2 {
  font-size: clamp(1.9rem, 1rem + 2.8vw, 3.6rem) !important;
  line-height: 1.2 !important;
}

.section-heading h2,
.section-search-copy h2,
.research-intro h2,
.research-conclusion h2,
.post-card--featured .card-title {
  font-size: clamp(1.6rem, 1.05rem + 1.3vw, 2.5rem) !important;
  line-height: 1.25 !important;
}

.card-title,
.static-research-card h2,
.global-search-result h2,
.home-entry-copy strong {
  font-size: clamp(1.2rem, 1rem + .35vw, 1.4rem) !important;
  line-height: 1.25 !important;
}

/* Girişteki eğik vurgu Kairo'da yok: düz ve toprak renginde */
.home-hero h2 em {
  font-style: normal;
  color: var(--yosun);
}

a {
  color: var(--yosun);
  text-decoration-color: color-mix(in srgb, var(--yosun) 45%, transparent);
  text-underline-offset: .2em;
}

:focus-visible {
  outline: 2px solid var(--toprak);
  outline-offset: 3px;
  border-radius: 4px;
}

::selection {
  background: var(--yaprak);
  color: var(--tas);
}

/* Üst yazılar (bölüm etiketleri): Kairo'daki gibi küçük, büyük harf, geniş aralıklı, toprak rengi */
.section-kicker,
.hero-kicker,
.static-page-heading .section-kicker {
  font-size: clamp(.8rem, .7rem + .2vw, .95rem) !important;
  font-weight: normal !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
  color: var(--toprak) !important;
}

.brand-kicker {
  letter-spacing: .12em;
  color: var(--toprak);
}

.card-category,
.static-research-card > span,
.global-search-result > span,
.home-entry-index {
  font-size: .8rem !important;
  font-weight: normal !important;
  letter-spacing: .1em !important;
  color: var(--toprak) !important;
}

.card-date {
  font-size: .85rem;
  letter-spacing: normal;
  color: var(--tas-acik);
}

/* ---------- Üst çubuk: tam genişlikte, yapışkan, yarı saydam kum zemin, altta ince çizgi ---------- */
.site-header {
  isolation: isolate;
  margin-bottom: 0;
  padding: .6rem 0;
  border-bottom: 0;
}

.site-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  background: var(--ust-zemin);
  border-bottom: 1px solid var(--kum-koyu);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

/* "ZG / 01" süsü Kairo'da yok */
.site-header::after {
  display: none;
}

.header-inner {
  min-height: 60px;
}

.header-logo {
  width: 44px;
  height: 44px;
}

.site-title {
  font-size: 1.3rem !important;
  line-height: 1.2;
}

.site-nav {
  gap: 0 1.2rem;
}

.nav-link {
  padding: .65rem .15rem;
  border: 0;
  font-size: .95rem !important;
  font-weight: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--tas-acik) !important;
  text-decoration: none;
}

.nav-link::after {
  display: none !important;
}

.nav-link:hover {
  color: var(--yosun) !important;
}

.nav-link.active {
  color: var(--yosun-koyu) !important;
  box-shadow: inset 0 -2px 0 var(--yosun);
}

/* Kairo'ya giden bağlantı (üst menü ve alt bilgi) */
.nav-link-kairo,
.nav-link-random {
  color: var(--yosun) !important;
}

/* Menü tek satıra sığınca (981 px ve üstü) yapışkan; daha dar ekranda menü ikinci satıra ya da telefonda
   bölüm düğmelerine geçtiği için üst çubuk uzar, o yüzden akışta kalır */
@media (max-width: 980px) {
  .site-nav {
    gap: 0 .9rem;
  }
}

@media (min-width: 981px) {
  .site-header {
    position: sticky;
    top: env(safe-area-inset-top, 0px);
    z-index: 30;
  }
}

/* ---------- Giriş zemini: her sayfanın başında Kairo'daki yaprak → kum geçişi ---------- */
.site-content {
  position: relative;
  isolation: isolate;
  padding-top: clamp(2.25rem, 1rem + 3vw, 4rem);
}

.site-content::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  height: min(640px, 80vh);
  background: linear-gradient(180deg, var(--yaprak) 0%, var(--kum) 100%);
  pointer-events: none;
}

/* ---------- Düğmeler ---------- */
/* Ana düğme: yosun yeşili, tam yuvarlak (Kairo .dugme) */
.primary-link,
.static-primary-link,
.load-more-btn,
.post-subscribe-section a,
.about-link-btn.youtube-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-width: 0;
  min-height: 44px;
  padding: .85rem 1.5rem;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--yosun) !important;
  color: var(--beyaz) !important;
  font-family: var(--v2-sans);
  font-size: 1rem !important;
  font-weight: normal;
  letter-spacing: normal !important;
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
  transition: background .2s;
}

.primary-link:hover,
.static-primary-link:hover,
.load-more-btn:hover,
.post-subscribe-section a:hover,
.about-link-btn.youtube-btn:hover {
  background: var(--yosun-koyu) !important;
  color: var(--beyaz) !important;
}

/* İkincil düğmeler ve seçiciler: açık zemin, ince çerçeve, tam yuvarlak (Kairo "Yalnız dinle" düğmesi) */
.filter-btn,
.about-link-btn,
.post-share-btn,
.mobile-menu-toggle,
.theme-toggle-btn,
.global-search-type-tabs button {
  min-height: 44px;
  padding: .5rem 1.1rem;
  border: 1px solid var(--kum-koyu) !important;
  border-radius: 999px !important;
  background: var(--beyaz) !important;
  color: var(--yosun-koyu) !important;
  font-family: var(--v2-sans);
  font-size: .95rem !important;
  font-weight: normal;
  letter-spacing: normal !important;
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
}

.theme-toggle-btn {
  width: 44px;
  padding: 0;
}

.filter-btn:hover,
.about-link-btn:hover,
.post-share-btn:hover,
.mobile-menu-toggle:hover,
.theme-toggle-btn:hover,
.global-search-type-tabs button:hover {
  border-color: var(--toprak) !important;
}

.filter-btn.active,
.global-search-type-tabs button[aria-pressed="true"],
.global-search-type-tabs button.active {
  border-color: var(--yosun) !important;
  background: var(--yosun) !important;
  color: var(--beyaz) !important;
}

.posts-filter {
  gap: .5rem;
  padding: .2rem 0;
  border: 0;
}

.filter-btn:first-child {
  padding: .5rem 1.1rem;
}

.about-links {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

/* Telefondaki iki bölüm düğmesi: Kairo kartı gibi */
.mobile-section-nav {
  gap: .6rem;
}

.mobile-section-nav a,
.mobile-section-nav a:nth-child(2) {
  border: 1px solid var(--kum-koyu);
  border-radius: 14px;
  background: var(--beyaz);
  box-shadow: var(--golge);
  color: var(--yosun-koyu);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: normal;
  font-size: 1.05rem;
}

/* Seçili bölüm: altta yosun çizgi; zihin-v2.css'teki çift çerçeve ve kayma yok */
.mobile-section-nav a.active,
.mobile-section-nav a:hover,
.mobile-section-nav a:focus-visible {
  border-color: var(--yosun);
  outline: 0;
  transform: none;
}

.mobile-section-nav a.active {
  box-shadow: inset 0 -3px 0 var(--yosun), var(--golge);
}

.mobile-section-nav a:focus-visible {
  outline: 2px solid var(--toprak);
  outline-offset: 3px;
}

/* ---------- Kartlar: açık zemin, ince çerçeve, 14 px köşe, yumuşak gölge (Kairo .kart) ---------- */
.home-entry-grid,
.posts-grid {
  gap: var(--k-bosluk);
  border: 0;
}

.home-entry-card,
.post-card,
.static-research-card,
.global-search-result,
.footer-quote-widget {
  border: 1px solid var(--kum-koyu) !important;
  border-radius: 14px;
  background: var(--beyaz) !important;
  box-shadow: var(--golge);
}

.home-entry-card,
.post-card,
.static-research-card,
.global-search-result {
  padding: clamp(1.3rem, 1rem + .8vw, 1.75rem);
}

.post-card,
.home-entry-card {
  overflow: hidden;
}

.home-entry-card:hover,
.home-entry-card:focus-visible,
.post-card:hover,
.static-research-card:hover,
.global-search-result:hover {
  border-color: var(--toprak) !important;
  outline: 0;
  transform: none;
}

.home-entry-card--research {
  border-top: 4px solid var(--yosun) !important;
}

.home-entry-card--personal {
  border-top: 4px solid var(--toprak) !important;
}

.post-card::after {
  top: clamp(1.3rem, 1rem + .8vw, 1.75rem);
  right: clamp(1.3rem, 1rem + .8vw, 1.75rem);
  color: var(--toprak);
}

/* Kart içindeki görsel kartın kenarına yaslanır */
.post-card .card-img-container {
  margin: calc(-1 * clamp(1.3rem, 1rem + .8vw, 1.75rem)) calc(-1 * clamp(1.3rem, 1rem + .8vw, 1.75rem)) 1.2rem;
}

.post-card--featured {
  padding: 0;
}

.post-card--featured .card-img-container {
  margin: 0;
}

.post-card--featured .card-content {
  padding: clamp(1.3rem, 1rem + .8vw, 1.75rem);
}

.static-post-grid .post-card {
  margin-bottom: 0;
}

.static-post-grid,
.static-research-grid {
  gap: var(--k-bosluk);
}

.static-research-card img {
  border-radius: 8px;
}

.global-search-results {
  display: grid;
  gap: .9rem;
}

/* Küçük kalan yazılar Kairo'nun en küçük boyuna (.85–.95 rem) çıkar */
.home-entry-heading p,
.home-entry-copy small,
.section-search-copy p {
  font-size: .95rem !important;
  line-height: 1.6;
}

.home-entry-action {
  font-size: .9rem !important;
  letter-spacing: normal !important;
}

.static-breadcrumb {
  font-size: .8rem;
}

.hero-actions .text-link,
.search-container input {
  font-size: .95rem !important;
  letter-spacing: normal !important;
}

.footer-quote-tip {
  font-size: .85rem;
}

/* Bülten kutusunun zemininde soluk gri 4,2:1 kalıyordu (AA 4,5:1); gövde rengi */
.post-subscribe-section p {
  color: var(--tas) !important;
}

.home-entry {
  padding-top: 0;
}

/* ---------- Alt bilgi: ortalı, sade (Kairo .alt) ---------- */
.site-footer {
  margin-top: clamp(3.75rem, 2.5rem + 3.5vw, 6.5rem);
  padding: 2rem 0;
  border-top: 0;
  text-align: center;
  color: var(--tas-acik) !important;
  font-size: .95rem;
}

.site-footer p {
  margin: .2rem 0;
}

.site-footer a {
  color: inherit;
}

.footer-sub {
  font-size: .85rem;
  opacity: .85;
}

.footer-socials a {
  display: inline-block;
  padding: .55rem 0;
  color: var(--tas-acik);
}

.footer-socials a:hover {
  color: var(--yosun);
}

.footer-kairo {
  margin: 0.6rem 0 0;
  font-size: .85rem;
  color: var(--tas-acik);
}

.footer-kairo a {
  display: inline-block;
  padding: .55rem 0;
  color: var(--yosun);
  text-decoration: underline;
}

.footer-quote-widget {
  padding: clamp(1.3rem, 1rem + .8vw, 1.75rem);
}

/* ---------- Zihin Odası'ndaki Kairo notu (Kairo .sinir kutusu gibi) ---------- */
.kairo-not {
  margin: 2rem 0 0;
  padding: 1rem 1.25rem;
  border-radius: 10px;
  background: var(--yaprak);
  color: var(--yosun-koyu);
  font-size: .98rem;
}

.kairo-not p {
  margin: 0 0 .4rem;
}

.kairo-not p:last-child {
  margin-bottom: 0;
}

.kairo-not a {
  color: var(--yosun-koyu);
  font-weight: 600;
}

/* Sitenin sabit bronz ayrıntıları Kairo tonlarına */
.research-copy .section-kicker,
.research-links a:hover {
  color: #9bb592;
}

.research-links a:hover {
  border-color: #9bb592;
}

.post-body mark {
  background-color: var(--yaprak) !important;
}

/* Telefon: okunan yazılar en az 16 px, dokunma alanları en az 44 px */
@media (max-width: 760px) {
  .site-header {
    padding: .9rem 0 1rem;
  }

  .header-logo {
    width: 36px;
    height: 36px;
  }

  .site-title {
    font-size: 1.3rem !important;
  }

  h1,
  .home-hero h2 {
    font-size: clamp(1.75rem, 7.6vw, 2.2rem) !important;
    line-height: 1.32 !important;
  }

  .site-content {
    padding-top: 1.5rem;
  }

  .card-date,
  .footer-sub,
  .footer-kairo,
  .site-footer {
    font-size: 1rem;
  }
}
