/* FFP.news — Playfair Display + Inter, Navy + Gold */

body { font-family: 'Inter', sans-serif; }
.font-serif, h1, h2, h3 { font-family: 'Playfair Display', serif; }

/* Ad slots */
.ad-slot { min-height: 90px; }
.ad-slot-dark { min-height: 90px; background: #1e293b; border: 1px solid #334155; border-radius: 12px; }

/* Prose — Light theme (homepage, list) */
.prose h2 { font-family: 'Playfair Display', serif; font-size: 1.65rem; font-weight: 700; margin-top: 2.5rem; margin-bottom: 1rem; color: #0b1f3f; }
.prose h3 { font-size: 1.25rem; font-weight: 700; margin-top: 2rem; margin-bottom: 0.75rem; color: #1e293b; }
.prose p { margin-bottom: 1.5rem; line-height: 1.85; color: #374151; }
.prose a { color: #c9a75c; text-decoration: underline; text-underline-offset: 3px; }
.prose ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.5rem; }
.prose ol { list-style: decimal; padding-left: 1.5rem; margin-bottom: 1.5rem; }
.prose li { margin-bottom: 0.5rem; line-height: 1.7; }
.prose strong { color: #0b1f3f; }
.prose blockquote { margin: 2rem 0; padding: 1.5rem 2rem; border-left: 4px solid #c9a75c; background: #f8fafc; border-radius: 0 8px 8px 0; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.2rem; color: #0b1f3f; }
.prose table { width: 100%; border-collapse: collapse; margin: 2rem 0; }
.prose th { background: #f8fafc; padding: 0.75rem 1rem; text-align: left; font-family: 'Inter'; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: #0b1f3f; font-weight: 600; border-bottom: 2px solid #e5e7eb; }
.prose td { padding: 0.75rem 1rem; border-bottom: 1px solid #e5e7eb; color: #4b5563; }
.prose tr:hover { background: #f8fafc; }

/* Prose Dark — Article pages */
.prose-dark h2 { font-family: 'Playfair Display', serif; font-size: 1.65rem; font-weight: 700; margin-top: 2.5rem; margin-bottom: 1rem; color: #fff; }
.prose-dark h3 { font-size: 1.25rem; font-weight: 700; margin-top: 2rem; margin-bottom: 0.75rem; color: #e2e8f0; }
.prose-dark p { margin-bottom: 1.5rem; line-height: 1.85; color: #d1d5db; }
.prose-dark a { color: #c9a75c; text-decoration: underline; text-underline-offset: 3px; }
.prose-dark ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.5rem; color: #d1d5db; }
.prose-dark ol { list-style: decimal; padding-left: 1.5rem; margin-bottom: 1.5rem; color: #d1d5db; }
.prose-dark li { margin-bottom: 0.5rem; line-height: 1.7; }
.prose-dark strong { color: #fff; }
.prose-dark blockquote { margin: 2rem 0; padding: 1.5rem 2rem; border-left: 4px solid #d4af37; background: rgba(212,175,55,0.05); border-radius: 0 8px 8px 0; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.2rem; color: #fff; }
.prose-dark table { width: 100%; border-collapse: collapse; margin: 2rem 0; }
.prose-dark th { padding: 0.75rem 1rem; text-align: left; font-family: 'Inter'; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: #d4af37; font-weight: 600; border: 1px solid #d4af37; background: #0b192c; }
.prose-dark td { padding: 0.75rem 1rem; border: 1px solid #d4af37; color: #d1d5db; }
.prose-dark tr:hover { background: rgba(212,175,55,0.05); }

/* Code card */
.prose-dark .code-card { background: rgba(212,175,55,0.08); border: 2px solid #d4af37; border-radius: 12px; padding: 2rem; text-align: center; margin: 2rem 0; }
.prose-dark .code-label { font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #d4af37; font-size: 0.875rem; margin-bottom: 0.25rem; }
.prose-dark .code-value { font-size: 2.5rem; font-weight: 800; color: #fff; letter-spacing: 0.1em; margin-bottom: 1rem; font-family: 'Inter', sans-serif; }
.prose-dark .copy-btn { background: linear-gradient(to bottom, #f5d97d, #d4af37); color: #0b192c; font-weight: 700; padding: 0.6rem 1.5rem; border-radius: 8px; border: none; cursor: pointer; font-size: 0.875rem; transition: opacity 0.2s; }
.prose-dark .copy-btn:hover { opacity: 0.9; }

/* Tip/warn/deal boxes — dark */
.prose-dark .tip-box { border-left: 4px solid #c9a75c; background: rgba(201,167,92,0.08); padding: 1.25rem 1.5rem; border-radius: 0 8px 8px 0; margin: 2rem 0; font-size: 0.9rem; color: #e2e8f0; }
.prose-dark .warn-box { border-left: 4px solid #f59e0b; background: rgba(245,158,11,0.08); padding: 1.25rem 1.5rem; border-radius: 0 8px 8px 0; margin: 2rem 0; font-size: 0.9rem; color: #fbbf24; }
.prose-dark .deal-box { border-left: 4px solid #d4af37; background: rgba(212,175,55,0.08); padding: 1.25rem 1.5rem; border-radius: 0 8px 8px 0; margin: 2rem 0; font-size: 0.9rem; color: #e2e8f0; }

/* Pull quote — dark */
.prose-dark .pull-quote { margin: 3rem 0; padding: 1.5rem 2rem; border-left: 4px solid #d4af37; background: rgba(212,175,55,0.05); border-radius: 0 8px 8px 0; }
.prose-dark .pull-quote p { font-family: 'Playfair Display', serif; font-size: 1.35rem; font-style: italic; color: #fff; line-height: 1.5; margin: 0; }

/* Dropcap */
.prose-dark .serif-dropcap::first-letter { float: left; font-family: 'Playfair Display', serif; font-size: 4.5rem; line-height: 3.5rem; padding-right: 0.75rem; padding-top: 0.5rem; color: #d4af37; }
