/* ================================================================
   Prose — admin görsel editörünün ürettiği içeriğin ortak tipografisi.
   Blog yazısı (.prose), gezi hikâyesi (.tr-body) ve editörün kendisi
   (.rte-content) aynı kuralları paylaşır: editörde ne görülürse sitede o.
   ================================================================ */

.prose { font-size: 1.07rem; line-height: 1.85; color: var(--text-secondary); }
.prose.drop > p:first-child:not(.ta-center):not(.ta-right)::first-letter {   /* .drop: yalnızca harfle başlayan yazılarda (JS ekler) */
  font-family: var(--font-display); font-size: 3.6em; float: left; line-height: 0.82;
  margin: 0.06em 0.12em 0 0; color: var(--accent); font-weight: 700;
}
.prose p { margin-bottom: 1.35em; }
.prose h2 { font-size: clamp(1.6rem, 3vw, 2.05rem); color: var(--text-primary); margin: 1.8em 0 0.6em; clear: both; scroll-margin-top: calc(var(--nav-height) + 24px); }
.prose h3 { font-size: 1.3rem; color: var(--text-primary); margin: 1.5em 0 0.5em; clear: both; }
.prose strong { color: var(--text-primary); font-weight: 600; }
.prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.prose img { cursor: zoom-in; }
.prose figure { margin: 1.8em 0; }
.prose figure img { width: 100%; border-radius: var(--radius-md); display: block; }
.prose figcaption { text-align: center; font-size: 0.82rem; color: var(--text-muted); padding-top: 10px; font-style: italic; }
.prose figure.photo-left { float: left; width: 46%; margin: 0.4em 2em 1em 0; clear: left; }
.prose figure.photo-right { float: right; width: 46%; margin: 0.4em 0 1em 2em; clear: right; }
.prose figure.photo-wide { margin-left: -48px; margin-right: -48px; }
.prose ul, .prose ol { margin: 0 0 1.4em; padding-left: 1.4em; clear: both; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin-bottom: 0.5em; }
.prose ul li::marker { color: var(--accent); }
.prose blockquote {
  margin: 2em 0; padding: 0 0 0 28px; border-left: 2px solid var(--accent); clear: both;
  font-family: var(--font-display); font-style: italic; font-size: 1.45rem; line-height: 1.45; color: var(--text-primary);
}
.prose hr { border: none; text-align: center; margin: 2.4em 0; clear: both; height: auto; overflow: visible; }
.prose hr::after { content: '✦  ✦  ✦'; color: var(--accent); letter-spacing: 0.4em; font-size: 0.8rem; }
.prose .tip-box {
  position: relative; clear: both; margin: 1.8em 0; padding: 18px 20px 18px 56px;
  border-radius: var(--radius-md); background: var(--amber-glow); border: 1px solid rgba(184,149,106,0.3);
  font-size: 0.97rem; line-height: 1.7; color: var(--text-primary);
}
.prose .tip-box::before { content: '💡'; position: absolute; left: 20px; top: 17px; font-size: 1.2rem; }
.prose::after { content: ''; display: table; clear: both; }

/* ---------- Editör biçimleri (renk, vurgu, hizalama, büyük metin, fotoğraf boyutu) ---------- */
:is(.prose, .tr-body, .rte-content) .c-amber { color: #B8956A; }
:is(.prose, .tr-body, .rte-content) .c-lavender { color: #8E7BB8; }
:is(.prose, .tr-body, .rte-content) .c-sage { color: #5A8A6A; }
:is(.prose, .tr-body, .rte-content) .c-terra { color: #C2703D; }
:is(.prose, .tr-body, .rte-content) .c-ocean { color: #3F7CAC; }
:is(.prose, .tr-body, .rte-content) .c-rose { color: #C06C84; }
:is(.prose, .tr-body, .rte-content) .c-red { color: #C0392B; }
:is(.prose, .tr-body, .rte-content) .c-muted { color: #8C8C87; }
[data-theme="dark"] :is(.prose, .tr-body, .rte-content) .c-ocean { color: #6FA3CF; }
[data-theme="dark"] :is(.prose, .tr-body, .rte-content) .c-red { color: #E0685A; }
:is(.prose, .tr-body, .rte-content) mark { background: linear-gradient(transparent 38%, #fff1a8 38%, #fff1a8 88%, transparent 88%); color: inherit; padding: 0 2px; }
[data-theme="dark"] :is(.prose, .tr-body, .rte-content) mark { background: linear-gradient(transparent 38%, rgba(214,180,90,0.45) 38%, rgba(214,180,90,0.45) 88%, transparent 88%); }
:is(.prose, .tr-body, .rte-content) u { text-decoration-thickness: 1px; text-underline-offset: 3px; }
:is(.prose, .tr-body, .rte-content) .ta-center { text-align: center; }
:is(.prose, .tr-body, .rte-content) .ta-right { text-align: right; }
:is(.prose, .tr-body, .rte-content) blockquote.ta-center { border-left: none; padding-left: 0; }
:is(.prose, .tr-body, .rte-content) blockquote.ta-right { border-left: none; border-right: 2px solid var(--accent); padding: 0 28px 0 0; }
:is(.prose, .tr-body, .rte-content) p.lead { font-family: var(--font-display); font-size: 1.4em; line-height: 1.5; color: var(--text-primary); }
:is(.prose, .tr-body, .rte-content) > p.lead:first-child::first-letter { font-size: inherit; float: none; margin: 0; color: inherit; font-weight: inherit; line-height: inherit; }
/* Boyutlandırılmış tam genişlik fotoğraf ortalanır; yaslı fotoğraf kendi genişliğini kullanır */
:is(.prose, .tr-body, .rte-content) figure[style*="width"]:not(.photo-left):not(.photo-right):not(.photo-wide) { margin-left: auto; margin-right: auto; }

/* ---------- Ortak lightbox (lightbox.js) ---------- */
.lbx { position: fixed; inset: 0; z-index: 10000; background: rgba(8,8,7,0.96); display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity var(--duration-normal); }
.lbx.open { opacity: 1; pointer-events: auto; }
.lbx figure { max-width: 92vw; display: flex; flex-direction: column; align-items: center; }
.lbx img { max-width: 92vw; max-height: 80vh; object-fit: contain; border-radius: 6px; user-select: none; }
.lbx figcaption { color: rgba(255,255,255,0.8); font-size: 0.88rem; margin-top: 14px; text-align: center; min-height: 1.2em; }
.lbx-count { position: absolute; top: 22px; left: 24px; color: rgba(255,255,255,0.7); font-family: var(--font-mono); font-size: 0.8rem; }
.lbx button { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: none; background: rgba(255,255,255,0.08); color: #fff; font-size: 1.3rem; display: flex; align-items: center; justify-content: center; }
.lbx button:hover { background: rgba(255,255,255,0.18); }
.lbx .close { top: 14px; right: 16px; }
.lbx .prev { left: 20px; top: 50%; transform: translateY(-50%); }
.lbx .next { right: 20px; top: 50%; transform: translateY(-50%); }
.lbx.single .prev, .lbx.single .next, .lbx.single .lbx-count { display: none; }

@media (max-width: 1024px) { .prose figure.photo-wide { margin-left: 0; margin-right: 0; } }
@media (max-width: 768px) {
  .prose figure.photo-left, .prose figure.photo-right,
  .tr-body figure.photo-left, .tr-body figure.photo-right { float: none; width: 100% !important; margin: 1.6em 0; }
  .lbx .prev, .lbx .next { display: none; }
}
