﻿/* ═══════════════════════════════════════════════════════
   UNIT PILOT — BLOG DETAIL PAGE  (blog-details.css)
   Tokens mirror blog.css — same brand, same variables
   RTL: html[dir="rtl"] · content switching via JS
═══════════════════════════════════════════════════════ */

/* ── SHARED TOKENS (mirrors blog.css) ───────────────── */
:root {
    --bd-navy: #020817;
    --bd-navy-2: #0b1629;
    --bd-blue: #2563eb;
    --bd-blue-light: #3b82f6;
    --bd-white: #ffffff;
    --bd-off: #f8fafc;
    --bd-muted: #64748b;
    --bd-subtle: #94a3b8;
    --bd-text: #0f172a;
    --bd-text-2: #334155;
    --bd-border: rgba(15,23,42,.09);
    --bd-cat-bg: #eef2ff;
    --bd-cat-fg: #3730a3;
    --bd-radius: 20px;
    --bd-radius-sm: 12px;
    --bd-radius-xs: 8px;
    --bd-ease: cubic-bezier(.4,0,.2,1);
    --bd-content-w: 700px;
    --bd-sidebar-w: 240px;
}

/* ── HERO ───────────────────────────────────────────── */
.bd-hero {
    position: relative;
    background: var(--bd-navy);
    padding: 140px 24px 80px;
    overflow: hidden;
    text-align: left;
}

html[dir="rtl"] .bd-hero {
    text-align: right;
}

.bd-hero-noise {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(ellipse 80% 60% at 55% -10%, rgba(37,99,235,.22) 0%, transparent 65%), radial-gradient(ellipse 40% 40% at 85% 85%, rgba(37,99,235,.10) 0%, transparent 60%);
    pointer-events: none;
}

.bd-hero-inner {
    position: relative;
    width: min(860px, 92%);
    margin: 0 auto;
    z-index: 1;
}

/* topbar */
.bd-topbar {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 36px;
    flex-wrap: wrap;
}

html[dir="rtl"] .bd-topbar {
    flex-direction: row-reverse;
}

.bd-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--bd-subtle);
    text-decoration: none;
    letter-spacing: .03em;
    transition: color .2s var(--bd-ease);
}

    .bd-back:hover {
        color: var(--bd-white);
    }

/* hero title */
.bd-title {
    font-size: clamp(28px, 5vw, 56px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -.04em;
    color: var(--bd-white);
    margin: 0 0 22px;
}

html[dir="rtl"] .bd-title {
    letter-spacing: -.02em;
}

/* hero summary */
.bd-summary {
    font-size: clamp(15px, 2vw, 17px);
    color: #94a3b8;
    line-height: 1.85;
    max-width: 680px;
    margin: 0 0 36px;
}

html[dir="rtl"] .bd-summary {
    max-width: 100%;
}

/* meta row */
.bd-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

html[dir="rtl"] .bd-meta {
    flex-direction: row-reverse;
}

.bd-meta-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: var(--bd-subtle);
}

.bd-cat-pill span {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border-radius: 999px;
    background: rgba(37,99,235,.18);
    border: 1px solid rgba(37,99,235,.3);
    color: #93c5fd;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ── COVER IMAGE ────────────────────────────────────── */
.bd-cover-wrap {
    background: var(--bd-off);
    padding: 48px 24px 0;
}

.bd-cover-inner {
    width: min(1060px, 92%);
    margin: 0 auto;
    border-radius: var(--bd-radius);
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(2,8,23,.18);
    line-height: 0;
}

.bd-cover-img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    display: block;
}

/* ── BODY LAYOUT ────────────────────────────────────── */
.bd-body-wrap {
    background: var(--bd-off);
    padding: 0 24px 80px;
}

/* with cover image — give content breathing room below it */
.bd-cover-wrap + .bd-body-wrap {
    padding-top: 56px;
}
/* no cover image — content starts with top padding */
.bd-hero + .bd-body-wrap {
    padding-top: 64px;
}

.bd-body-inner {
    width: min(1060px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: var(--bd-content-w) 1fr;
    grid-template-areas: "article sidebar";
    gap: 60px;
    align-items: start;
}

html[dir="rtl"] .bd-body-inner {
    grid-template-areas: "sidebar article";
    grid-template-columns: 1fr var(--bd-content-w);
}

/* ── ARTICLE ────────────────────────────────────────── */
.bd-article {
    grid-area: article;
    min-width: 0;
}

/* ── PROSE CONTENT ──────────────────────────────────── */
.bd-content {
    font-size: 16.5px;
    line-height: 1.9;
    color: var(--bd-text-2);
}

.bd-content-ar {
    font-family: 'Tajawal', sans-serif;
    font-size: 18px;
    line-height: 2;
    text-align: right;
}

/* ── Reset CMS-injected wrappers that cause giant gaps ── */
.bd-content div,
.bd-content section,
.bd-content article {
    margin: 0;
    padding: 0;
}
/* Nuke stray <br> spam from WYSIWYG editors */
.bd-content br + br {
    display: none;
}

/* headings inside article */
.bd-content h1,
.bd-content h2,
.bd-content h3,
.bd-content h4 {
    color: var(--bd-text);
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: -.03em;
    margin: 1.4em 0 .5em;
}
    /* first heading shouldn't have a big top gap */
    .bd-content h1:first-child,
    .bd-content h2:first-child,
    .bd-content h3:first-child,
    .bd-content h4:first-child {
        margin-top: 0;
    }

.bd-content-ar h1,
.bd-content-ar h2,
.bd-content-ar h3,
.bd-content-ar h4 {
    letter-spacing: 0;
}

.bd-content h1 {
    font-size: 36px;
}

.bd-content h2 {
    font-size: 26px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--bd-border);
}

.bd-content h3 {
    font-size: 20px;
}

.bd-content h4 {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bd-muted);
}

/* paragraph */
.bd-content p {
    margin: 0 0 1em;
}
/* last element never leaves a trailing gap */
.bd-content > *:last-child {
    margin-bottom: 0;
}

/* links */
.bd-content a {
    color: var(--bd-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s;
}

    .bd-content a:hover {
        color: #1d4ed8;
    }

/* lists */
.bd-content ul,
.bd-content ol {
    margin: 0 0 1.4em;
    padding-inline-start: 1.6em;
}

.bd-content li {
    margin-bottom: .5em;
}

html[dir="rtl"] .bd-content ul,
html[dir="rtl"] .bd-content ol {
    padding-inline-start: 0;
    padding-inline-end: 1.6em;
}

/* blockquote */
.bd-content blockquote {
    margin: 2em 0;
    padding: 24px 28px;
    border-inline-start: 4px solid var(--bd-blue);
    background: var(--bd-white);
    border-radius: 0 var(--bd-radius-sm) var(--bd-radius-sm) 0;
    font-size: 17px;
    font-style: italic;
    color: var(--bd-text);
    box-shadow: 0 2px 8px rgba(15,23,42,.05);
}

html[dir="rtl"] .bd-content blockquote {
    border-radius: var(--bd-radius-sm) 0 0 var(--bd-radius-sm);
}

/* code */
.bd-content code {
    font-family: 'Fira Mono', 'Courier New', monospace;
    font-size: .875em;
    background: #e2e8f0;
    padding: 2px 7px;
    border-radius: 5px;
    color: var(--bd-text);
}

.bd-content pre {
    background: var(--bd-text);
    color: #e2e8f0;
    border-radius: var(--bd-radius-sm);
    padding: 22px 26px;
    overflow-x: auto;
    margin: 1.6em 0;
    font-size: 14px;
    line-height: 1.7;
}

    .bd-content pre code {
        background: transparent;
        color: inherit;
        padding: 0;
        border-radius: 0;
    }

/* images inside content */
.bd-content img {
    width: 100%;
    height: auto;
    border-radius: var(--bd-radius-sm);
    margin: 1.6em 0;
    box-shadow: 0 4px 20px rgba(15,23,42,.08);
}

/* tables */
.bd-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.6em 0;
    font-size: 14.5px;
}

.bd-content th {
    background: var(--bd-text);
    color: var(--bd-white);
    text-align: left;
    padding: 11px 16px;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

html[dir="rtl"] .bd-content th {
    text-align: right;
}

.bd-content td {
    padding: 11px 16px;
    border-bottom: 1px solid var(--bd-border);
    color: var(--bd-text-2);
}

.bd-content tr:last-child td {
    border-bottom: none;
}

.bd-content tr:nth-child(even) td {
    background: rgba(15,23,42,.02);
}

.bd-content table {
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius-xs);
    overflow: hidden;
}

/* callout utility — works if CMS outputs <div class="callout"> */
.bd-content .callout {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: var(--bd-radius-sm);
    padding: 18px 22px;
    margin: 1.6em 0;
    font-size: 15px;
    color: #1e40af;
}

/* hr */
.bd-content hr {
    border: none;
    border-top: 1px solid var(--bd-border);
    margin: 2.4em 0;
}

/* ── SIDEBAR ────────────────────────────────────────── */
.bd-sidebar {
    grid-area: sidebar;
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* Table of contents */
.bd-toc {
    background: var(--bd-white);
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius-sm);
    padding: 22px 24px;
}

.bd-toc-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bd-muted);
    margin-bottom: 14px;
}

.bd-toc-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bd-toc-link {
    font-size: 13.5px;
    color: var(--bd-text-2);
    text-decoration: none;
    padding: 6px 10px;
    border-radius: var(--bd-radius-xs);
    line-height: 1.4;
    transition: background .15s var(--bd-ease), color .15s var(--bd-ease);
    border-inline-start: 2px solid transparent;
}

    .bd-toc-link:hover {
        background: var(--bd-off);
        color: var(--bd-blue);
        border-inline-start-color: var(--bd-blue-light);
    }

    .bd-toc-link.active {
        color: var(--bd-blue);
        background: #eff6ff;
        border-inline-start-color: var(--bd-blue);
        font-weight: 600;
    }

.bd-toc-sub {
    padding-inline-start: 22px;
    font-size: 12.5px;
    color: var(--bd-muted);
}

/* Share */
.bd-share {
    background: var(--bd-white);
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius-sm);
    padding: 22px 24px;
}

.bd-share-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bd-muted);
    margin-bottom: 14px;
}

.bd-share-btns {
    display: flex;
    align-items: center;
    gap: 10px;
}

html[dir="rtl"] .bd-share-btns {
    flex-direction: row-reverse;
}

.bd-share-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--bd-radius-xs);
    border: 1px solid var(--bd-border);
    background: var(--bd-white);
    color: var(--bd-muted);
    text-decoration: none;
    cursor: pointer;
    transition: background .18s var(--bd-ease), color .18s var(--bd-ease), border-color .18s;
    flex-shrink: 0;
}

    .bd-share-btn:hover {
        background: var(--bd-blue);
        color: var(--bd-white);
        border-color: var(--bd-blue);
    }

/* copy tooltip */
.bd-copy-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--bd-text);
    color: var(--bd-white);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s;
}

.bd-copy-btn.copied .bd-copy-tooltip {
    opacity: 1;
}

/* ── CTA SECTION ────────────────────────────────────── */
.bd-cta {
    background: var(--bd-navy);
    padding: 80px 24px;
    position: relative;
    overflow: hidden;
}

    .bd-cta::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(37,99,235,.18) 0%, transparent 70%);
        pointer-events: none;
    }

.bd-cta-inner {
    position: relative;
    z-index: 1;
    width: min(1060px, 92%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

html[dir="rtl"] .bd-cta-inner {
    flex-direction: row-reverse;
}

.bd-cta-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--bd-subtle);
    text-decoration: none;
    transition: color .2s;
    white-space: nowrap;
}

    .bd-cta-back:hover {
        color: var(--bd-white);
    }

.bd-cta-card {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}

html[dir="rtl"] .bd-cta-card {
    flex-direction: row-reverse;
}

.bd-cta-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #60a5fa;
    margin: 0;
}

.bd-cta-title {
    font-size: clamp(20px, 3vw, 30px);
    font-weight: 900;
    letter-spacing: -.03em;
    color: var(--bd-white);
    margin: 0;
    line-height: 1.15;
}

.bd-cta-card .btn-primary {
    padding: 14px 30px;
    font-size: 14px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── RESPONSIVE ─────────────────────────────────────── */
@media (max-width: 980px) {
    .bd-body-inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "article"
            "sidebar";
    }

    html[dir="rtl"] .bd-body-inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "article"
            "sidebar";
    }

    .bd-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
}

@media (max-width: 640px) {
    .bd-hero {
        padding: 110px 20px 70px;
    }

    .bd-title {
        font-size: 28px;
    }

    .bd-content {
        font-size: 15.5px;
    }

        .bd-content h2 {
            font-size: 22px;
        }

        .bd-content h3 {
            font-size: 18px;
        }

    .bd-cover-wrap {
        padding: 32px 20px 0;
    }

    .bd-sidebar {
        grid-template-columns: 1fr;
    }

    .bd-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    html[dir="rtl"] .bd-cta-inner {
        align-items: flex-end;
    }

    .bd-cta-card {
        flex-direction: column;
        align-items: flex-start;
    }

    html[dir="rtl"] .bd-cta-card {
        align-items: flex-end;
    }

    .bd-body-wrap {
        padding: 0 20px 60px;
    }

    .bd-cover-wrap {
        padding: 0 20px;
    }
}

@media (max-width: 400px) {
    .bd-title {
        font-size: 24px;
    }

    .bd-summary {
        font-size: 14px;
    }
}
