/* sözlük — Tailwind sonrası ek stiller */

/* Admin /yonetim/site-ayarlari?sekme=tipografi'den seçilen fontlar.
   --font-* layout.php'de inline <style> ile set edilir; seçim yapılmazsa varsayılan aile. */
body { font-family: var(--font-ui, 'Inter', system-ui, sans-serif); }
h1, h2, h3, h4, h5, h6,
.font-serif:not(.entry-content),
[data-baslik],
.site-baslik { font-family: var(--font-heading, 'Inter', system-ui, sans-serif); }
.entry-content,
.font-serif.entry-content { font-family: var(--font-entry, 'Merriweather', Georgia, serif); }
.site-logo, [data-logo] { font-family: var(--font-logo, 'Outfit', system-ui, sans-serif); }


:root {
  --theme-accent: 122 155 58;
  --theme-accent-strong: 94 122 38;
  --theme-accent-soft: 232 239 217;   /* bg-accent-soft: arka plan vurgu */
}
.dark {
  --theme-accent: 162 190 91;
  --theme-accent-strong: 122 155 58;
  --theme-accent-soft: 30 38 16;
}

.rozet-ikon svg,
.rozet-ikon img {
  width: 62%;
  height: 62%;
  display: block;
  object-fit: contain;
}

/* Entry/makro linkleri: bkz, gbkz, #entry, @yazar, ara, gorsel vs. hicbir zaman
   alt cizgi/noktali cizgi gostermesin. Tailwind typography'nin .prose a
   kurallarini da ozellikle eziyoruz. */
.entry-content a,
.entry-content a:hover,
.entry-content a:focus,
.entry-content a:visited,
.entry-content.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)),
.entry-content.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)):hover,
.entry-content .prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)),
.entry-content .prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)):hover {
  border-bottom: 0 !important;
  border-image: none !important;
  box-shadow: none !important;
  background-image: none !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-style: solid !important;
  text-decoration-color: transparent !important;
  text-underline-offset: 0 !important;
}

.entry-content a[href*="/baslik/"],
.entry-content a[href*="/entry/"],
.entry-content a[href*="/yazar/"],
.entry-content a[href*="/arama"] {
  color: rgb(var(--theme-accent)) !important;
  text-decoration: none !important;
  font-weight: 600;
}
.entry-content a[href*="/baslik/"]:hover,
.entry-content a[href*="/entry/"]:hover,
.entry-content a[href*="/yazar/"]:hover,
.entry-content a[href*="/arama"]:hover {
  color: rgb(var(--theme-accent-strong)) !important;
  text-decoration: none !important;
}

.entry-content a[target="_blank"],
.entry-content a.dis-link,
.entry-content.prose :where(a[target="_blank"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
  color: rgb(var(--theme-accent)) !important;
  font-weight: 600;
  text-decoration: none !important;
}
.entry-content a[target="_blank"]:hover,
.entry-content a.dis-link:hover {
  color: rgb(var(--theme-accent-strong)) !important;
}
.entry-content a[target="_blank"]::after,
.entry-content a.dis-link::after {
  content: "↗";
  display: inline-block;
  margin-left: 0.18em;
  font-size: 0.86em;
  line-height: 1;
  transform: translateY(-0.08em);
}
.entry-content .entry-youtube {
  max-width: 320px !important;
  width: min(100%, 320px) !important;
}
.entry-content .entry-youtube a::after {
  content: none !important;
}

.baslik-ara-vurgu {
  background: #fde68a;
  color: #2a2824;
  border-radius: 3px;
  padding: 0 2px;
}

.dark .baslik-ara-vurgu {
  background: #a16207;
  color: #fff7ed;
}

.akilli-bkz {
  font-weight: 700;
  opacity: 0.5;
  padding: 0 2px;
}
.akilli-bkz:hover {
  opacity: 1;
}

/* yan menü scrollbar */
.yan-menu::-webkit-scrollbar { width: 6px; }
.yan-menu::-webkit-scrollbar-thumb {
  background: rgb(0 0 0 / 0.15);
  border-radius: 3px;
}
.dark .yan-menu::-webkit-scrollbar-thumb {
  background: rgb(255 255 255 / 0.1);
}

/* spoiler bloğu */
.spoiler {
  background: currentColor;
  color: transparent;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.2s;
}
.spoiler.acik {
  background: transparent;
  color: inherit;
}

/* aktif oy butonu — Tailwind data-* variantı yerine CSS attribute selector */
[data-oy][data-aktif="1"] {
  background-color: rgb(232 239 217);   /* accent-soft */
  color: rgb(122 155 58);                /* accent */
}
.dark [data-oy][data-aktif="1"] {
  background-color: rgb(42 40 36);       /* ink-700 */
}
[data-oy="arti"][data-aktif="1"] {
  background-color: rgb(236 253 245);    /* emerald-50 */
  color: rgb(5 150 105);
}
.dark [data-oy="arti"][data-aktif="1"] {
  background-color: rgb(2 44 34);
  color: rgb(110 231 183);
}
[data-oy="eksi"][data-aktif="1"] {
  background-color: rgb(255 241 242);    /* rose-50 */
  color: rgb(225 29 72);
}
.dark [data-oy="eksi"][data-aktif="1"] {
  background-color: rgb(76 5 25);
  color: rgb(253 164 175);
}

/* Kanal seçici pill — checkbox işaretliyken accent rengiyle dolar.
   themes.css `!important` overrides'ını yenmek için biz de !important kullanıyoruz. */
.kanal-pill:has(input[type="checkbox"]:checked) {
  background-color: rgb(var(--theme-accent, 122 155 58)) !important;
  color: #ffffff !important;
  border-color: rgb(var(--theme-accent, 122 155 58)) !important;
}
.kanal-pill:has(input[type="checkbox"]:checked) * {
  color: #ffffff !important;
}

/* ─── entry aksiyon barı: tek satır, yatay kaydırmalı, kaydırma çubuğu gizli ─── */
.aksiyon-bar {
  display: flex;
  align-items: center;
  gap: .375rem;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.aksiyon-bar::-webkit-scrollbar { display: none; }
.aksiyon-bar > * { flex: 0 0 auto; }

/* ─── rozet ipucu: hover + klavye odağı + dokunmatik (tap → .rozet-acik) ─── */
.rozet-ikon { outline: none; }
.rozet-ikon .rozet-tooltip { transition: opacity .15s ease; }
.group:hover > .rozet-tooltip,
.rozet-ikon:focus .rozet-tooltip,
.rozet-ikon:focus-visible .rozet-tooltip,
.rozet-ikon.rozet-acik .rozet-tooltip { opacity: 1; }
/* Kendi entry işlemleri iki ayrı buton satırına bölünmesin. */
.entry-own-actions {
  flex-wrap: wrap;
  overflow-x: visible;
}

/* Sağlayıcı seçimi gizli grupları grid sınıfına rağmen gizlemeli. */
#smtpForm [data-saglayici-grup][hidden] {
  display: none;
}
