/* ===== FlySavr Single Post - Reference Layout ===== */
/* High specificity wrapper to override theme styles */
article.fs-single-post { background: #fff !important; width: 100% !important; max-width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }

/* ===== HERO ===== */
article.fs-single-post .fs-post-hero { background: #f1f5f9 !important; padding: 130px 0 50px !important; margin: 0 !important; width: 100% !important; display: block !important; }
article.fs-single-post .fs-hero-inner { max-width: 720px !important; margin: 0 auto !important; padding: 0 24px !important; }
article.fs-single-post .fs-hero-meta { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 24px !important; flex-wrap: wrap !important; font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
article.fs-single-post .fs-hero-cat a { color: #16a34a !important; text-decoration: none !important; background: #dcfce7 !important; padding: 3px 10px !important; border-radius: 4px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.8px !important; border: none !important; }
article.fs-single-post .fs-hero-cat a:hover { background: #bbf7d0 !important; }
article.fs-single-post .fs-hero-sep { color: #cbd5e1 !important; }
article.fs-single-post .fs-hero-read,
article.fs-single-post .fs-hero-date { color: #64748b !important; font-size: 12px !important; }
article.fs-single-post .fs-hero-title { font-size: 44px !important; font-weight: 800 !important; line-height: 1.15 !important; color: #0f172a !important; margin: 0 0 20px !important; letter-spacing: -1px !important; padding: 0 !important; border: none !important; }
article.fs-single-post .fs-hero-desc { font-size: 17px !important; line-height: 1.7 !important; color: #475569 !important; margin: 0 0 24px !important; max-width: 600px !important; }
article.fs-single-post .fs-hero-author { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 20px !important; }
article.fs-single-post .fs-hero-avatar img { width: 36px !important; height: 36px !important; border-radius: 50% !important; }
article.fs-single-post .fs-hero-author-name { font-size: 14px !important; font-weight: 600 !important; color: #1e293b !important; }
article.fs-single-post .fs-hero-tags { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
article.fs-single-post .fs-hero-tag a { display: inline-block !important; padding: 5px 14px !important; background: #e2e8f0 !important; border-radius: 6px !important; font-size: 12px !important; font-weight: 600 !important; color: #334155 !important; text-decoration: none !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; transition: all 0.2s !important; border: none !important; }
article.fs-single-post .fs-hero-tag a:hover { background: #cbd5e1 !important; }

/* ===== TWO-COLUMN LAYOUT ===== */
article.fs-single-post .fs-post-body { padding: 50px 0 60px !important; display: block !important; width: 100% !important; }
article.fs-single-post .fs-layout { display: flex !important; flex-direction: row !important; gap: 50px !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; align-items: flex-start !important; flex-wrap: nowrap !important; }

/* Left sidebar */
article.fs-single-post .fs-sidebar { width: 260px !important; min-width: 260px !important; flex-shrink: 0 !important; display: block !important; float: none !important; }
article.fs-single-post .fs-toc-wrap { position: sticky !important; top: 100px !important; }
article.fs-single-post .fs-toc-head { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 18px !important; }
article.fs-single-post .fs-toc-dot { width: 9px !important; height: 9px !important; border-radius: 50% !important; background: #4ade80 !important; display: inline-block !important; }
article.fs-single-post .fs-toc-label { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 2px !important; color: #4ade80 !important; }
article.fs-single-post .fs-toc-links ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
article.fs-single-post .fs-toc-links li { margin-bottom: 0 !important; padding: 0 !important; list-style: none !important; }
article.fs-single-post .fs-toc-links li.fs-toc-sub { padding-left: 14px !important; }
article.fs-single-post .fs-toc-links a { display: block !important; padding: 10px 0 !important; font-size: 14px !important; color: #64748b !important; text-decoration: none !important; line-height: 1.5 !important; border-bottom: 1px solid #f1f5f9 !important; border-left: none !important; border-right: none !important; border-top: none !important; transition: color 0.2s !important; background: none !important; }
article.fs-single-post .fs-toc-links a:hover { color: #0f172a !important; }
article.fs-single-post .fs-toc-links a.active { color: #0f172a !important; font-weight: 600 !important; }

/* Right content */
article.fs-single-post .fs-main { flex: 1 !important; min-width: 0 !important; max-width: calc(100% - 310px) !important; }

/* Featured image */
article.fs-single-post .fs-feat-img { margin-bottom: 40px !important; border-radius: 12px !important; overflow: hidden !important; background: #e2e8f0 !important; }
article.fs-single-post .fs-feat-img img { width: 100% !important; height: auto !important; display: block !important; }

/* ===== CONTENT ===== */
article.fs-single-post .fs-content-area { font-size: 17px !important; line-height: 1.85 !important; color: #334155 !important; }
article.fs-single-post .fs-content-area p { margin-bottom: 22px !important; text-indent: 0 !important; padding-left: 0 !important; margin-left: 0 !important; }
article.fs-single-post .fs-content-area h2 { font-size: 28px !important; font-weight: 800 !important; color: #0f172a !important; margin: 50px 0 18px !important; padding: 0 0 0 16px !important; border: none !important; border-left: 4px solid #e91e63 !important; line-height: 1.3 !important; letter-spacing: -0.3px !important; }
article.fs-single-post .fs-content-area h3 { font-size: 21px !important; font-weight: 700 !important; color: #1e293b !important; margin: 36px 0 14px !important; line-height: 1.35 !important; border: none !important; padding: 0 !important; }
article.fs-single-post .fs-content-area h4 { font-size: 17px !important; font-weight: 700 !important; color: #334155 !important; margin: 28px 0 10px !important; }
article.fs-single-post .fs-content-area ul,
article.fs-single-post .fs-content-area ol { margin: 0 0 22px 20px !important; }
article.fs-single-post .fs-content-area li { margin-bottom: 8px !important; }
article.fs-single-post .fs-content-area li::marker { color: #e91e63 !important; }
article.fs-single-post .fs-content-area a { color: #e91e63 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
article.fs-single-post .fs-content-area a:hover { color: #0f172a !important; }
article.fs-single-post .fs-content-area strong { color: #0f172a !important; font-weight: 700 !important; }
article.fs-single-post .fs-content-area blockquote { margin: 30px 0 !important; padding: 20px 24px !important; background: #f8fafc !important; border-left: 4px solid #e91e63 !important; border-radius: 0 8px 8px 0 !important; font-style: italic !important; color: #475569 !important; }
article.fs-single-post .fs-content-area img { border-radius: 10px !important; max-width: 100% !important; height: auto !important; }
article.fs-single-post .fs-content-area table { width: 100% !important; border-collapse: collapse !important; margin: 24px 0 !important; font-size: 15px !important; }
article.fs-single-post .fs-content-area th,
article.fs-single-post .fs-content-area td { padding: 12px 16px !important; border: 1px solid #e2e8f0 !important; text-align: left !important; }
article.fs-single-post .fs-content-area th { background: #f8fafc !important; font-weight: 700 !important; color: #0f172a !important; }

/* Quick filter / callout boxes */
article.fs-single-post .fs-content-area .wp-block-quote,
article.fs-single-post .fs-content-area .quick-filter { background: #fffbeb !important; border-left: 4px solid #f59e0b !important; padding: 16px 20px !important; border-radius: 0 8px 8px 0 !important; margin: 24px 0 !important; }

/* ===== SHARE ===== */
article.fs-single-post .fs-share-section { padding: 24px 0 32px !important; border-top: 1px solid #e2e8f0 !important; margin-top: 40px !important; }

/* ===== AUTHOR BOX ===== */
article.fs-single-post .fs-author-box { display: flex !important; align-items: flex-start !important; gap: 20px !important; padding: 28px !important; background: #f8fafc !important; border-radius: 12px !important; margin-top: 32px !important; border: 1px solid #e2e8f0 !important; }
article.fs-single-post .fs-author-box-avatar img { width: 72px !important; height: 72px !important; border-radius: 50% !important; object-fit: cover !important; }
article.fs-single-post .fs-written-by { font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; color: #94a3b8 !important; font-weight: 700 !important; }
article.fs-single-post .fs-author-box-name { margin: 4px 0 6px !important; font-size: 18px !important; }
article.fs-single-post .fs-author-box-name a { color: #0f172a !important; text-decoration: none !important; }
article.fs-single-post .fs-author-box-name a:hover { color: #e91e63 !important; }
article.fs-single-post .fs-author-box-bio { color: #64748b !important; font-size: 14px !important; line-height: 1.6 !important; margin: 0 !important; }

/* ===== RELATED POSTS ===== */
article.fs-single-post .fs-related-posts { padding: 60px 0 !important; background: #f8fafc !important; width: 100% !important; }
article.fs-single-post .fs-related-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; }
article.fs-single-post .fs-section-title { font-size: 26px !important; font-weight: 800 !important; color: #0f172a !important; text-align: center !important; margin: 0 0 36px !important; }
article.fs-single-post .fs-related-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
article.fs-single-post .fs-related-card { text-decoration: none !important; background: #fff !important; border-radius: 12px !important; overflow: hidden !important; box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important; transition: all 0.3s !important; border: 1px solid #e2e8f0 !important; display: block !important; }
article.fs-single-post .fs-related-card:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important; }
article.fs-single-post .fs-related-thumb img { width: 100% !important; height: 180px !important; object-fit: cover !important; }
article.fs-single-post .fs-related-info { padding: 18px !important; }
article.fs-single-post .fs-related-cat a { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; color: #e91e63 !important; letter-spacing: 0.5px !important; text-decoration: none !important; }
article.fs-single-post .fs-related-info h3 { font-size: 16px !important; font-weight: 700 !important; color: #0f172a !important; margin: 6px 0 !important; line-height: 1.4 !important; border: none !important; padding: 0 !important; }
article.fs-single-post .fs-related-card:hover h3 { color: #e91e63 !important; }
article.fs-single-post .fs-related-date { font-size: 12px !important; color: #94a3b8 !important; }

/* ===== COMMENTS ===== */
article.fs-single-post .fs-comments-section { padding: 50px 0 !important; }
article.fs-single-post .fs-comments-inner { max-width: 800px !important; margin: 0 auto !important; padding: 0 24px !important; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    article.fs-single-post .fs-layout { gap: 36px !important; }
    article.fs-single-post .fs-sidebar { width: 220px !important; min-width: 220px !important; }
    article.fs-single-post .fs-main { max-width: calc(100% - 256px) !important; }
}
@media (max-width: 768px) {
    article.fs-single-post .fs-post-hero { padding: 100px 0 36px !important; }
    article.fs-single-post .fs-hero-title { font-size: 30px !important; }
    article.fs-single-post .fs-hero-desc { font-size: 15px !important; }
    article.fs-single-post .fs-layout { flex-direction: column !important; padding: 0 16px !important; }
    article.fs-single-post .fs-sidebar { width: 100% !important; min-width: 100% !important; order: -1 !important; }
    article.fs-single-post .fs-main { max-width: 100% !important; }
    article.fs-single-post .fs-toc-wrap { position: static !important; padding: 20px !important; background: #f8fafc !important; border-radius: 12px !important; border: 1px solid #e2e8f0 !important; margin-bottom: 30px !important; }
    article.fs-single-post .fs-content-area { font-size: 16px !important; }
    article.fs-single-post .fs-content-area h2 { font-size: 24px !important; }
    article.fs-single-post .fs-content-area h3 { font-size: 19px !important; }
    article.fs-single-post .fs-related-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
    article.fs-single-post .fs-author-box { flex-direction: column !important; align-items: center !important; text-align: center !important; }
}
@media (max-width: 480px) {
    article.fs-single-post .fs-hero-title { font-size: 26px !important; }
    article.fs-single-post .fs-hero-inner { padding: 0 16px !important; }
}
