/* single-post.css
   Styles for all 24 single-post pages (desktop-first, responsive)
   - Big centered title
   - Category link (blue) above title
   - Centered meta row
   - Narrow article column, serif text
   - Decorative divider with // and prev/next links
   - Share / Back / Floating WhatsApp button
*/

/* ========== VARIABLES ========== */
:root {
    --accent: #6f5bff;
    /* purple used for links/title accents */
    --accent-hover: #4b3aff;
    --brand: #0a4c97;
    /* fallback brand blue */
    --muted: #777;
    --line: #d7d7d7;
    --bg: #ffffff;
    --text: #111;
    --card: #fff;
}

/* ========== GLOBAL ========== */
* {
    box-sizing: border-box
}

html,
body {
    height: 100%
}

body {
    margin: 0;
    font-family: Cambria, "Times New Roman", Georgia, serif;
    background: var(--bg);
    color: var(--text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* small helper for container centering */
.container {
    width: 90%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ========== BANNER ========== */
.single-banner {
    width: 100%;
    height: 220px;
    background-size: cover;
    background-position: center;
    border-bottom: 4px solid rgba(0, 0, 0, 0.03);
}

/* ========== MAIN POST LAYOUT ========== */
.blog-post-container {
    max-width: 920px;
    /* container for the whole post area */
    margin: 36px auto 60px;
    padding: 0 18px;
}

/* Category above the title */
.post-category {
    text-align: center;
    margin: 10px 0 6px;
}

.post-category a {
    color: var(--accent);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: underline;
}

/* Title (very large and heavy) */
.post-title {
    margin: 6px 0 18px;
    text-align: center;
    font-size: 84px;
    /* desktop size */
    line-height: 0.98;
    font-weight: 900;
    letter-spacing: -1px;
    color: #000;
    word-break: break-word;
}

/* Meta row under title */
.post-meta {
    display: flex;
    gap: 22px;
    justify-content: center;
    align-items: center;
    color: var(--muted);
    font-size: 15px;
    margin-bottom: 48px;
}

.post-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.post-meta i {
    color: var(--muted);
    font-size: 16px
}

/* Share / Back / Button cluster: keep spacing */
.share-and-back {
    margin-top: 22px;
}

/* ========== ARTICLE CONTENT (NARROW COLUMN) ========== */
.post-content {
    max-width: 640px;
    /* narrow readable column */
    margin: 0 auto 32px;
    font-size: 18px;
    line-height: 1.95;
    /* airy like the screenshot */
    color: var(--text);
    text-align: left;
    hyphens: auto;
}

/* paragraph spacing and slight indent feel by longer leading */
.post-content p {
    margin: 0 0 24px;
}

/* heading inside content */
.post-content h2,
.post-content h3 {
    color: var(--text);
    margin-top: 28px;
    margin-bottom: 12px;
    font-weight: 700;
}

/* links inside content */
.post-content a {
    color: var(--accent);
    text-decoration: underline;
    font-weight: 600;
}

.post-content a:hover {
    color: var(--accent-hover)
}

/* ========== DECORATIVE DIVIDER (//) ========== */
.divider {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 36px 0;
}

.divider::before,
.divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--line);
    margin: 0 18px;
}

.divider span {
    font-size: 20px;
    color: var(--muted);
    letter-spacing: 3px;
}

/* alternative smaller divider used between content blocks */
.divider.small {
    margin: 20px 0;
}

/* ========== PREV / NEXT NAV (large purple links like screenshot) ========== */
.nav-prev-next {
    max-width: 1150px;
    margin: 26px auto 60px;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.nav-prev-next .prev,
.nav-prev-next .next {
    flex: 1;
    display: flex;
    align-items: center;
}

.nav-prev-next .prev {
    justify-content: flex-start
}

.nav-prev-next .next {
    justify-content: flex-end
}

/* the visible link */
.nav-prev-next a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    color: var(--accent);
    text-decoration: none;
    font-size: 20px;
}

/* add small arrow symbols using pseudo elements */
.nav-prev-next .prev a::before {
    content: "\2190";
    /* left arrow */
    display: inline-block;
    transform: translateX(-2px);
    font-size: 20px;
    margin-right: 6px;
}

.nav-prev-next .next a::after {
    content: "\2192";
    /* right arrow */
    display: inline-block;
    font-size: 20px;
    margin-left: 6px;
}

/* disabled state text for first/last posts */
.nav-prev-next span {
    color: #999;
    font-weight: 700;
}

/* the divider above & below nav (visual from screenshot) */
.nav-prev-next+.divider {
    margin-top: 18px;
}

/* ========== SHARE BUTTONS & BACK LINK ========== */
.share-and-back {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.share-and-back .back-link {
    background: var(--brand);
    color: #fff;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
}

.share-and-back .share-btn {
    padding: 8px 12px;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}

/* share button colors */
.share-and-back .fb {
    background: #3b5998
}

.share-and-back .wa {
    background: #25D366;
    color: #fff
}

.share-and-back .li {
    background: #0a66c2
}

.share-and-back .em {
    background: #6c757d
}

/* ========== DARK MODE SUPPORT ========== */
body.dark-mode {
    background: #0b0b0b;
    color: #ddd;
}

body.dark-mode .post-title {
    color: #fff;
}

body.dark-mode .post-content {
    color: #ddd;
}

body.dark-mode .post-category a {
    color: #9fb6ff;
}

body.dark-mode .nav-prev-next a {
    color: #bda9ff;
}

body.dark-mode .divider::before,
body.dark-mode .divider::after {
    background: #333
}

/* ========== SMALL SCREENS / RESPONSIVE ========== */
@media (max-width:1100px) {
    .post-title {
        font-size: 68px
    }

    .post-content {
        max-width: 640px;
        font-size: 18px;
        line-height: 1.9
    }
}

@media (max-width:860px) {
    .single-banner {
        height: 180px
    }

    .post-title {
        font-size: 48px;
        margin-bottom: 14px
    }

    .post-meta {
        gap: 14px;
        font-size: 14px;
        margin-bottom: 28px
    }

    .blog-post-container {
        margin-top: 18px
    }

    .nav-prev-next a {
        font-size: 18px
    }
}

@media (max-width:640px) {
    .post-title {
        font-size: 34px;
        padding: 0 10px;
        text-wrap: balance
    }

    .blog-post-container {
        margin: 18px auto 40px;
        padding: 0 12px;
        max-width: 760px
    }

    .post-meta {
        flex-direction: column;
        gap: 8px;
        margin-bottom: 20px;
        align-items: center
    }

    .post-content {
        max-width: 100%;
        font-size: 16px;
        line-height: 1.9;
        padding: 0 6px
    }

    .nav-prev-next {
        flex-direction: column;
        gap: 14px;
        align-items: stretch
    }

    .nav-prev-next .prev,
    .nav-prev-next .next {
        justify-content: center
    }

    .divider::before,
    .divider::after {
        margin: 0 10px
    }
}

/* tiny phones */
@media (max-width:420px) {
    .post-title {
        font-size: 28px
    }

    .share-and-back .share-btn {
        padding: 7px 8px;
        font-size: 13px
    }
}

/* ========== UTILITIES ========== */
/* Dark toggle button (simple) */
.dark-toggle {
    position: fixed;
    right: 18px;
    top: 18px;
    z-index: 999;
    background: var(--accent);
    color: #fff;
    border: none;
    padding: 8px 12px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(47, 35, 120, 0.12);
}

/* Floating WhatsApp (if you used it) */
.whatsapp-float {
    position: fixed;
    right: 18px;
    bottom: 18px;
    background: #25D366;
    color: #fff;
    padding: 12px 14px;
    border-radius: 999px;
    display: flex;
    gap: 10px;
    align-items: center;
    box-shadow: 0 8px 30px rgba(37, 211, 102, 0.2);
    text-decoration: none;
    z-index: 999;
    font-weight: 700;
}

/* tiny visual helper, when main CSS isn't loaded */
.fallback-note {
    color: #999;
    font-size: 13px;
    margin-top: 12px;
}

/* Breadcrumb */
/* Breadcrumb Styles */
.breadcrumb {
    width: 100%;
    max-width: 1150px;
    margin: 18px auto 10px;
    padding: 0 20px;
    font-size: 15px;
    font-weight: 500;
}

.breadcrumb ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.breadcrumb ul li {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #555;
}

.breadcrumb ul li i {
    color: #0a4c97;
    /* theme icon color */
}

.breadcrumb ul li a {
    text-decoration: none;
    color: #0a4c97;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.breadcrumb ul li a:hover {
    color: #ff7d00;
    /* hover accent like your site */
}

.breadcrumb ul li::after {
    content: "→";
    margin-left: 10px;
    margin-right: 5px;
    color: #888;
    font-weight: 600;
}

.breadcrumb ul li:last-child::after {
    content: "";
}

.breadcrumb ul li.active {
    color: #333;
    font-weight: 600;
}

/* Mobile View */
/* ---------------------------------------
   MOBILE VIEW FIX for .single-banner
---------------------------------------- */
@media (max-width: 768px) {
    .single-banner {
        height: 220px !important;
        /* Reduce height for mobile */
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }
}

@media (max-width: 480px) {
    .single-banner {
        height: 180px !important;
        /* Perfect fit for small phones */
    }
}

/* ========== END ========== */