
/* ==========================================================
   BLOG HERO
========================================================== */

.blog-post{
    padding:30px 20px 90px;
    background:
    radial-gradient(circle at top right,#eef4ff 0%,transparent 35%),
    radial-gradient(circle at bottom left,#edf7ff 0%,transparent 30%),
    #f8fafc;
}

.blog-post *{
    box-sizing:border-box;
}





.blog-cover{
    position:relative;
    height:700px;
    overflow:hidden;
}

.blog-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    transition:transform .8s ease;
}






.blog-cover:hover img{
    transform:scale(1.05);
}

.blog-cover-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(8,15,30,.10) 0%,
            rgba(8,15,30,.35) 30%,
            rgba(8,15,30,.82) 70%,
            rgba(8,15,30,.97) 100%
        );
}

.blog-cover::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,
        rgba(96,165,250,.35),
        transparent 35%);
    z-index:2;
}

.blog-cover::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at bottom left,
        rgba(124,58,237,.28),
        transparent 40%);
    z-index:2;
}








.blog-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    flex-wrap:wrap;
}


.hero-divider{
    width:100%;
    height:1px;
    margin-bottom:30px;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.30),
            rgba(255,255,255,.05)
        );
}



.meta-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 20px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(20px);
    transition:.35s;
}





.meta-item i{
    font-size:18px;
    color:#60a5fa;
}

.author-card{
    display:flex;
    align-items:center;
    gap:18px;
}


.meta-item small{
    display:block;
    color:rgba(255,255,255,.60);
    text-transform:uppercase;
    font-size:.7rem;
    margin-bottom:4px;
    letter-spacing:.08em;
}

.meta-item span{
    color:#fff;
    font-weight:700;
}


.author-box{
    display:flex;
    align-items:center;
    gap:18px;
}












.meta-right{
    display:flex;
    gap:18px;
}

.hero-meta{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}








/* ==========================================================
   PREMIUM BLOG HERO
========================================================== */

.blog-hero{
    position:relative;
    max-width:1450px;
    margin:0 auto 80px;
    min-height:480px;
    border-radius:36px;
    overflow:hidden;
    background:#081120;
    box-shadow:
        0 40px 100px rgba(15,23,42,.22);

    transform-style:preserve-3d;
}





.hero-badge{

    position:absolute;

    top:35px;

    right:40px;

}


.blog-hero::after{

    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:180px;

    background:

    linear-gradient(

        transparent,

        rgba(248,250,252,.95)

    );

}




/* =========================================
   SMOOTH HERO HOVER EFFECT
========================================= */

.blog-hero {
    overflow: hidden;
}

/* Left side */
.blog-hero .hero-left-blog {
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Right card */
.blog-hero .hero-card {
    transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.6s ease;
}

/* Background */
.blog-hero .hero-background img {
    transform: scale(1.05);
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================================
   HOVER
========================================= */

.blog-hero:hover .hero-left-blog {
    transform: translateY(-6px);
}

.blog-hero:hover .hero-card {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.18);
}

.blog-hero:hover .hero-background img {
    transform: scale(1.10);
}








/* =========================================
   CTA SECTION - SMOOTH ANIMATION
========================================= */

.blog-cta {
    position: relative;
    overflow: hidden;
    transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.6s ease;
}

/* CTA section hover */
.blog-cta:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(37, 99, 235, 0.15);
}


/* =========================================
   CTA CONTENT
========================================= */

.blog-cta .cta-content {
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-cta:hover .cta-content {
    transform: translateY(-3px);
}


/* =========================================
   CTA BUTTON
========================================= */

.blog-cta .cta-btn {
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.blog-cta:hover .cta-btn {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(37, 99, 235, 0.30);
}


/* =========================================
   CTA BACKGROUND ANIMATION
========================================= */

.blog-cta::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    top: -140px;
    right: -80px;
    transform: scale(1);
    transition: transform 0.8s ease;
    pointer-events: none;
}

.blog-cta:hover::before {
    transform: scale(1.25);
}


/* Keep CTA content above decoration */
.blog-cta > * {
    position: relative;
    z-index: 2;
}


/* ==========================================
   Background
========================================== */

.hero-background{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
}

.hero-background img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
      filter:
        brightness(1)
        contrast(1.08)
        saturate(1.08);
    
}




.hero-overlay{
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(6,12,24,.75) 0%,
            rgba(6,12,24,.60) 30%,
            rgba(6,12,24,.40) 60%,
            rgba(6,12,24,.28) 100%
        );
}

.hero-grid{

    background-image:

        radial-gradient(

            rgba(255,255,255,.12) 1px,

            transparent 1px

        );

    background-size:26px 26px;

    opacity:.22;

}

.hero-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(120px);
    z-index:3;
}

.hero-glow-1{
    width:380px;
    height:380px;
    background:#2563eb;
    top:-120px;
    left:-120px;
    opacity:.12;
}

.hero-glow-2{
    width:320px;
    height:320px;
    background:#7c3aed;
    bottom:-140px;
    right:-100px;
    opacity:.10;
}

/* ==========================================
   Container
========================================== */



/* ==========================================
   Left
========================================== */





/* ==========================================
   Author
========================================== */









.hero-container{

    position:relative;

    z-index:20;

    max-width:1400px;

    margin:auto;

    min-height:480px;

    display:grid;

    grid-template-columns:1.4fr 420px;

    gap:60px;

    align-items:end;

    padding:60px 60px;

}

.hero-left-blog{

    max-width:760px;

    padding:45px;

    border-radius:28px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(24px);

    border:1px solid rgba(255,255,255,.16);

    box-shadow:

        0 30px 70px rgba(0,0,0,.18);

}



.hero-left-blog,
.hero-right{
    position: relative;
    z-index: 30;
}









#blogTitle{

    max-width:850px;

    margin:0 0 24px;

    color:#fff;

    font-size:clamp(2rem,4vw,3rem);

    font-weight:800;

    line-height:1.18;

    letter-spacing:-1px;

    text-shadow:
        0 3px 12px rgba(0,0,0,.22);

}

.blog-subtitle{

    font-size:1.18rem;

    line-height:1.9;

    color:rgba(255,255,255,.95);

    margin-bottom: 55px;

}

.hero-author{

    display:flex;

    align-items:center;

    gap:18px;

}

.author-logo{

    width:64px;

    height:64px;

    border-radius:18px;

    background:#fff;

    padding:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:

        0 20px 50px rgba(0,0,0,.28);

}

.author-logo img{

    width:100%;

    height:100%;

    object-fit:contain;

}

.author-info{

    display:flex;

    flex-direction:column;

}

.author-label{

    color:rgba(255,255,255,.65);

    font-size:.82rem;

    margin-bottom:6px;

    letter-spacing:.04em;

}

.author-info strong{

    color:#fff;

    font-size:1.1rem;

    font-weight:700;

}




.hero-right{

    display:flex;
    justify-content:flex-end;
    align-items:flex-end;

}

.hero-card{

    position:relative;

    width:100%;
    max-width:330px;

    padding:26px;

    border-radius:28px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);

    border:1px solid rgba(255,255,255,.14);

    box-shadow:
        0 25px 70px rgba(0,0,0,.25);

    overflow:hidden;

    transform:translateY(-25px);



}

.hero-card::before{

    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.08),
            transparent 65%
        );

    pointer-events:none;

}


.hero-card::after{

    content:"";

    position:absolute;

    inset:-1px;

    border-radius:inherit;

    padding:1px;

    background:

    linear-gradient(
        135deg,
        #2563eb,
        #7c3aed,
        #60a5fa
    );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

}


.hero-card h4{

    margin:0 0 26px;

    color:#ffffff;

    font-size:1.35rem;

    font-weight:800;

    letter-spacing:.03em;

}

.hero-meta-card{

    display:flex;

    align-items:center;

    gap:14px;

    padding:14px;

    margin-bottom:12px;

    border-radius:18px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

   transition: none;

}

.hero-meta-card:last-child{

    margin-bottom:0;

}


.hero-meta-card i{

    width:48px;
    height:48px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:16px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color:#ffffff;

    font-size:1rem;

    box-shadow:
        0 12px 28px rgba(37,99,235,.35);

}

.hero-meta-card div{

    display:flex;
    flex-direction:column;

}

.hero-meta-card small{

    color:rgba(255,255,255,.60);

    text-transform:uppercase;

    letter-spacing:.12em;

    font-size:.72rem;

    margin-bottom:6px;

}

.hero-meta-card span{

    color:#ffffff;

    font-size:1rem;

    font-weight:700;

    line-height:1.5;

}

@media (max-width:1200px){

    .hero-container{

        grid-template-columns:1fr;

        gap:50px;

    }

    .hero-right{

        justify-content:flex-start;

    }

    .hero-card{

        max-width:100%;

    }

}

@media (max-width:768px){

    .hero-card{

        padding:24px;

        border-radius:22px;

    }

    .hero-card h4{

        font-size:1.2rem;

        margin-bottom:20px;

    }

    .hero-meta-card{

        padding:15px;

        gap:14px;

    }

    .hero-meta-card i{

        width:48px;
        height:48px;

        font-size:1rem;

    }

    .hero-meta-card span{

        font-size:.95rem;

    }

}



/* ==========================================================
   BLOG LAYOUT
========================================================== */

.blog-layout{

    max-width:1400px;

    margin:auto;

    display:grid;

    grid-template-columns:300px 1fr;

    gap:50px;

    align-items:start;

}

.blog-sidebar{

    position:sticky;

    top:110px;

}

.sidebar-card{

    background:#fff;

    border-radius:22px;

    padding:28px;

    border:1px solid #e5e7eb;

    box-shadow:

    0 20px 45px rgba(15,23,42,.06);

}

.sidebar-card h3{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:1.15rem;

    color:#0f172a;

    margin-bottom:22px;

}

.sidebar-card ul{

    list-style:none;

    padding:0;

    margin:0;

}

.sidebar-card li{

    margin-bottom:14px;

}

.sidebar-card a{

    color:#64748b;

    text-decoration:none;

    line-height:1.6;

    transition:.3s;

    font-size:.95rem;

    display:block;

}

.sidebar-card a:hover{

    color:#2563eb;

    padding-left:8px;

}

.article-wrapper{

    min-width:0;

}





/* ==========================================================
   ARTICLE
========================================================== */

.blog-content{

    background:#ffffff;

    border-radius:28px;

    padding:60px;

    border:1px solid #e8edf5;

    box-shadow:0 20px 50px rgba(15,23,42,.06);

    color:#475569;

    font-size:1.12rem;

    line-height:2;

}

.blog-content>*:first-child{

    margin-top:0;

}

.blog-content>*:last-child{

    margin-bottom:0;

}

/* ================= Headings ================= */

.blog-content h2{

    position:relative;

    margin:70px 0 25px;

    padding-bottom:15px;

    font-size:2.3rem;

    font-weight:800;

    color:#0f172a;

    line-height:1.3;

}

.blog-content h2::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:70px;

    height:4px;

    border-radius:30px;

    background:linear-gradient(90deg,#2563eb,#7c3aed);

}

.blog-content h3{

    margin:45px 0 18px;

    font-size:1.55rem;

    font-weight:700;

    color:#1e293b;

    line-height:1.45;

}

.blog-content h4{

    margin:35px 0 15px;

    font-size:1.25rem;

    font-weight:700;

    color:#334155;

}

/* ================= Paragraph ================= */

.blog-content p{

    margin-bottom:24px;

    color:#475569;

}

/* ================= Links ================= */

.blog-content a{

    color:#2563eb;

    text-decoration:none;

    font-weight:600;

    transition:.25s;

}

.blog-content a:hover{

    color:#1d4ed8;

    text-decoration:underline;

}

/* ================= Images ================= */

.blog-content img{

    width:100%;

    display:block;

    margin:45px auto;

    border-radius:22px;

    box-shadow:

    0 20px 45px rgba(15,23,42,.12);

    transition:.45s;

}

.blog-content img:hover{

    transform:scale(1.02);

}

/* ================= Lists ================= */

.blog-content ul,

.blog-content ol{

    margin:28px 0;

    padding-left:28px;

}

.blog-content li{

    margin-bottom:14px;

    color:#475569;

    line-height:1.9;

}

.blog-content ul li::marker{

    color:#2563eb;

}

.blog-content ol li::marker{

    color:#2563eb;

    font-weight:700;

}

/* ================= Strong ================= */

.blog-content strong{

    color:#0f172a;

    font-weight:700;

}

/* ================= Inline Code ================= */

.blog-content code{

    padding:3px 8px;

    border-radius:8px;

    background:#eef4ff;

    color:#1d4ed8;

    font-size:.95em;

    font-family:Consolas,monospace;

}

/* ================= Code Block ================= */

.blog-content pre{

    margin:40px 0;

    padding:28px;

    overflow:auto;

    border-radius:18px;

    background:#0f172a;

    box-shadow:

    0 18px 40px rgba(15,23,42,.18);

}

.blog-content pre code{

    background:none;

    color:#f8fafc;

    padding:0;

    font-size:.95rem;

}

/* ================= Blockquote ================= */

.blog-content blockquote{

    position:relative;

    margin:45px 0;

    padding:35px 35px 35px 70px;

    border-radius:20px;

    background:#f8fbff;

    border-left:6px solid #2563eb;

    color:#334155;

    font-size:1.08rem;

    font-style:italic;

}

.blog-content blockquote::before{

    content:"❝";

    position:absolute;

    left:25px;

    top:18px;

    font-size:2.8rem;

    color:#2563eb;

    opacity:.25;

}

/* ================= Tables ================= */

.blog-content table{

    width:100%;

    border-collapse:collapse;

    margin:40px 0;

    overflow:hidden;

    border-radius:18px;

    box-shadow:0 15px 35px rgba(15,23,42,.08);

}

.blog-content th{

    background:#2563eb;

    color:#fff;

    padding:18px;

    text-align:left;

}

.blog-content td{

    padding:18px;

    border-bottom:1px solid #edf2f7;

}

.blog-content tr:nth-child(even){

    background:#f8fafc;

}

/* ================= Horizontal Line ================= */

.blog-content hr{

    border:none;

    height:1px;

    background:#e2e8f0;

    margin:60px 0;

}

/* ================= Selection ================= */

.blog-content ::selection{

    background:#bfdbfe;

    color:#111827;

}







/* ================= CTA ================= */



/* ==========================================================
   CTA
========================================================== */


/*==========================================================
  Premium CTA
==========================================================*/

.blog-cta{

    position:relative;
    overflow:hidden;

    margin:90px 0;

    padding:85px 70px;

    border-radius:34px;

    text-align:center;

    color:#fff;

    background:
    linear-gradient(
        135deg,
        #0f172a 0%,
        #1e3a8a 45%,
        #4f46e5 100%
    );

    box-shadow:
    0 35px 90px rgba(15,23,42,.30);

    isolation:isolate;

}



.blog-cta::before{

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    right:-140px;
    top:-170px;

    border-radius:50%;

    background:

    radial-gradient(
        circle,
        rgba(255,255,255,.18),
        transparent 70%
    );

    animation:ctaFloat 12s ease-in-out infinite;

}

.blog-cta::after{

    content:"";

    position:absolute;

    width:320px;
    height:320px;

    left:-120px;
    bottom:-120px;

    border-radius:50%;

    background:

    radial-gradient(
        circle,
        rgba(96,165,250,.22),
        transparent 72%
    );

    animation:ctaFloat2 10s ease-in-out infinite;

}


.blog-cta .cta-border{

    position:absolute;

    inset:0;

    border-radius:34px;

    padding:1px;

    background:

    linear-gradient(
        135deg,
        rgba(255,255,255,.25),
        rgba(255,255,255,.05)
    );

    -webkit-mask:

    linear-gradient(#fff 0 0) content-box,

    linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

            mask-composite:exclude;

    pointer-events:none;

}

.cta-badge{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:12px 22px;

    border-radius:50px;

    background:rgba(255,255,255,.14);

    border:1px solid rgba(255,255,255,.18);

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    margin-bottom:24px;

    font-size:.92rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

    color:#fff;

    box-shadow:
        0 8px 25px rgba(0,0,0,.12);

    transition:.35s ease;

}


.cta-badge-logo{

    width:34px;

    height:34px;

    border-radius:50%;

    object-fit:cover;

    background:transparent;

    padding:5px;

    box-shadow:
        0 6px 18px rgba(0,0,0,.18);

    flex-shrink:0;

    transition:.35s ease;

}


.blog-cta:hover .cta-badge{

    transform:translateY(-2px);

    background:rgba(255,255,255,.18);

}

.blog-cta:hover .cta-badge-logo{

    transform:rotate(10deg) scale(1.08);

}


@media(max-width:768px){

    .cta-badge{

        padding:10px 18px;

        gap:10px;

        font-size:.8rem;

    }

    .cta-badge-logo{

        width:28px;

        height:28px;

    }

}


.blog-cta h3{

    font-size:3rem;

    font-weight:800;

    line-height:1.25;

    margin-bottom:25px;

    max-width:820px;

    margin-inline:auto;

}

.blog-cta p{

    max-width:760px;

    margin:auto;

    font-size:1.15rem;

    line-height:2;

    color:rgba(255,255,255,.88);

}



.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:45px;

    flex-wrap:wrap;

}



.cta-buttons a:first-child{

    padding:17px 34px;

    border-radius:16px;

    background:#fff;

    color:#111827;

    font-weight:700;

    text-decoration:none;

    transition:.35s;

    box-shadow:

    0 15px 35px rgba(255,255,255,.18);

}


.cta-buttons a:last-child{

    padding:17px 34px;

    border-radius:16px;

    background:

    rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

    font-weight:700;

    text-decoration:none;

    transition:.35s;

}


.cta-buttons a:hover{

    transform:translateY(-6px);

}

.cta-buttons a:first-child:hover{

    box-shadow:

    0 25px 45px rgba(255,255,255,.22);

}

.cta-buttons a:last-child:hover{

    background:

    rgba(255,255,255,.16);

}



@keyframes ctaFloat{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(30px);

    }

}

@keyframes ctaFloat2{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-25px);

    }

}






/* ==========================================================
   SHARE
========================================================== */



/* ==========================================================
   PREVIOUS / NEXT
========================================================== */




/* ==========================================================
   RELATED
========================================================== */




























/* ================= Responsive ================= */


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:1200px){

    .blog-layout{

        grid-template-columns:260px 1fr;

        gap:35px;

    }


}

@media (max-width:992px){

    .blog-layout{

        grid-template-columns:1fr;

    }

    .blog-sidebar{

        position:relative;

        top:auto;

        display:grid;

        grid-template-columns:1fr 1fr;

        gap:20px;

        margin-bottom:40px;

    }

    .hero-content{

        left:40px;

        right:40px;

        bottom:40px;

    }

    .blog-cover img{

        height:500px;

    }



    .related-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:768px){

    .blog-post{

        padding:25px 15px 70px;

    }

    .hero-content{

        position:absolute;

        left:25px;

        right:25px;

        bottom:25px;

    }

    .blog-cover{

        border-radius:22px;

    }

    .blog-cover img{

        height:340px;

    }





    .blog-meta{

        gap:12px;

    }

    .meta-item{

        width:100%;

        justify-content:flex-start;

    }

    .blog-sidebar{

        grid-template-columns:1fr;

    }

    .sidebar-card{

        padding:22px;

    }

    .blog-content{

        padding:35px 28px;

        font-size:1rem;

        line-height:1.9;

    }

    .blog-content h2{

        font-size:1.8rem;

        margin-top:55px;

    }

    .blog-content h3{

        font-size:1.35rem;

    }

    .blog-content img{

        margin:30px 0;

    }

    .blog-cta{

        padding:50px 28px;

    }

    .blog-cta h3{

        font-size:2rem;

    }

    .cta-buttons{

        flex-direction:column;

    }

    .cta-buttons a{

        width:100%;

        text-align:center;

    }

    .share-buttons{

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:14px;

    }

    .share-btn{

        justify-content:center;

        width:100%;

    }

   

    .related-grid{

        grid-template-columns:1fr;

    }

}

@media (max-width:480px){

    .blog-post{

        padding:20px 12px 60px;

    }

    .blog-cover{

        border-radius:18px;

    }

    .blog-cover img{

        height:240px;

    }

    .hero-content{

        left:18px;

        right:18px;

        bottom:18px;

    }






    .meta-item{

        font-size:.82rem;

        padding:10px 12px;

    }

    .blog-content{

        padding:24px 18px;

        border-radius:20px;

    }

    .blog-content h2{

        font-size:1.45rem;

    }

    .blog-content h3{

        font-size:1.2rem;

    }

    .blog-content blockquote{

        padding:25px;

    }

    .blog-cta{

        padding:40px 20px;

        border-radius:22px;

    }

    .blog-cta h3{

        font-size:1.55rem;

    }

    .share-article{

        padding:28px 20px;

    }

    .share-buttons{

        grid-template-columns:1fr;

    }

    .share-btn{

        width:100%;

    }



}






/* ==========================================================
   RELATED ARTICLES
   SAME DESIGN AS MAIN BLOG CARDS
========================================================== */

/* ==========================================================
   RELATED ARTICLES
   COMPACT BLOG CARDS
========================================================== */

.related-blogs{
    margin-top:100px;
}


/* ================= SECTION TITLE ================= */

.related-blogs .section-title{
    text-align:center;
    margin-bottom:40px;
}

.related-blogs .section-title span{
    display:inline-block;
    color:#2563eb;
    font-size:.85rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:10px;
}

.related-blogs .section-title h2{
    font-size:2.4rem;
    color:#0f172a;
}


/* ================= GRID ================= */

.related-grid{

    display:grid;

    grid-template-columns:
        repeat(3,300px);

    justify-content:center;

    gap:24px;

}


/* ================= CARD ================= */

.related-grid .blog-card{

    width:300px;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    border:1px solid #e8edf5;

    box-shadow:
        0 10px 28px rgba(15,23,42,.05);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

    position:relative;

}


.related-grid .blog-card:hover{

    transform:translateY(-8px);

    border-color:#2563eb;

    box-shadow:
        0 20px 45px rgba(37,99,235,.15);

}


/* ================= IMAGE ================= */

.related-grid .blog-image{

    height:165px;

    overflow:hidden;

    position:relative;

}


.related-grid .blog-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(15,23,42,.18),
            transparent 65%
        );

}


.related-grid .blog-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.55s;

}


.related-grid .blog-card:hover
.blog-image img{

    transform:scale(1.05);

}


/* ================= CONTENT ================= */

.related-grid .blog-content{

    padding:17px;

}


/* ================= CATEGORY ================= */

.related-grid .blog-content .blog-badge{

    display:inline-flex;

    width:max-content;

    background:#eff6ff;

    color:#2563eb;

    padding:5px 12px;

    border-radius:30px;

    font-size:.72rem;

    font-weight:700;

    margin-bottom:0;
    line-height: 1;

}


/* ================= TITLE ================= */


.related-grid .blog-content h3{
    font-size:1.05rem;
    line-height:1.4;
    color:#0f172a;
    font-weight:800;
    margin-top:4px;
    margin-bottom:9px;
    transition:.3s;

    /* Keep all card titles the same height */
    height:2.94em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}


/* TITLE HOVER */

.related-grid .blog-card:hover
.blog-content h3{

    color:#2563eb;

}


/* ================= DESCRIPTION ================= */

.related-grid .blog-content p{

    color:#64748b;

    font-size:.85rem;

    line-height:1.55;

    margin-bottom:14px;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

}


/* ================= META ================= */

.related-grid .blog-meta{

    display:flex;

    justify-content:space-between;

    align-items:center;

    border-top:1px solid #eef2f7;

    padding-top:10px;

    margin-bottom:13px;

    font-size:.74rem;

    color:#64748b;

}


.related-grid .blog-meta span{

    display:flex;

    align-items:center;

    gap:5px;

}


.related-grid .blog-meta i{

    color:#2563eb;

}


/* ================= BUTTON ================= */

.related-grid .read-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:7px;

    width:100%;

    padding:10px;

    border-radius:11px;

    text-decoration:none;

    color:#fff;

    font-weight:700;

    font-size:.84rem;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1d4ed8
        );

    transition:.3s;

}


.related-grid .read-btn:hover{

    transform:translateY(-2px);

    box-shadow:
        0 10px 24px rgba(37,99,235,.28);

        color:#fff;
        text-decoration: none;

}


.related-grid .read-btn i{

    transition:.3s;

}


.related-grid .read-btn:hover i{

    transform:translateX(4px);

}


/* ==========================================================
   RELATED ARTICLES RESPONSIVE
========================================================== */

@media(max-width:1100px){

    .related-grid{

        grid-template-columns:
            repeat(2,300px);

    }

}


@media(max-width:768px){

    .related-grid{

        grid-template-columns:
            300px;

    }

}


@media(max-width:480px){

    .related-grid{

        grid-template-columns:
            1fr;

    }

    .related-grid .blog-card{

        width:100%;

    }

    .related-grid .blog-image{

        height:180px;

    }

    .related-grid .blog-content{

        padding:18px;

    }

    .related-grid .blog-content h3{

        font-size:1.05rem;

    }

    .related-grid .blog-content p{

        font-size:.88rem;

    }

    .related-grid .blog-meta{

        flex-direction:column;

        align-items:flex-start;

        gap:8px;

    }

}

















/*==========================================================
    Premium Previous / Next Navigation
==========================================================*/


.blog-navigation{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
    margin:90px 0;
}

.blog-nav-card{

    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    padding:34px;

    text-decoration:none;

    background:#fff;

    border:1px solid #e7ecf4;
    border-radius:24px;

    transition:
        transform .45s cubic-bezier(.22,1,.36,1),
        box-shadow .45s,
        border-color .45s;

    box-shadow:
        0 10px 35px rgba(15,23,42,.06);

}

.blog-nav-card::before{

    content:"";

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        120deg,
        rgba(37,99,235,.05),
        rgba(124,58,237,.08),
        rgba(37,99,235,.04)
    );

    opacity:0;
    transition:.45s;

}

.blog-nav-card::after{

    content:"";

    position:absolute;

    top:-120%;
    left:-35%;

    width:45%;
    height:320%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.65),
        transparent
    );

    transform:rotate(25deg);

    transition:1s;

}

.blog-nav-card:hover{

    transform:translateY(-6px);

    border-color:#2563eb;

    box-shadow:
        0 25px 60px rgba(37,99,235,.16);

}

.blog-nav-card:hover::before{

    opacity:1;

}

.blog-nav-card:hover::after{

    left:120%;

}

.nav-icon{

    width:62px;
    height:62px;

    flex-shrink:0;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(135deg,#2563eb,#7c3aed);

    color:#fff;

    font-size:20px;

    transition:
        transform .45s,
        box-shadow .45s;

    box-shadow:
        0 12px 28px rgba(37,99,235,.30);

}

.previous:hover .nav-icon{

    transform:translateX(-8px);

}

.next:hover .nav-icon{

    transform:translateX(8px);

}

.nav-content{

    flex:1;
    position:relative;
    z-index:2;

    transition:transform .4s;

}

.previous:hover .nav-content{

    transform:translateX(-4px);

}

.next:hover .nav-content{

    transform:translateX(4px);

}

.next .nav-content{

    text-align:right;

}

.nav-content span{

    display:block;

    margin-bottom:10px;

    font-size:.78rem;

    letter-spacing:.14em;

    text-transform:uppercase;

    font-weight:700;

    color:#2563eb;

}

.nav-content h4{
    margin:0;
    color:#0f172a;
    font-size:1.28rem;
    line-height:1.55;
    font-weight:700;
    transition:color .35s;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}

.blog-nav-card:hover h4{

    color:#2563eb;

}

@media(max-width:768px){

.blog-navigation{

grid-template-columns:1fr;

}

.blog-nav-card{

padding:24px;

}

.nav-icon{

width:54px;
height:54px;
font-size:18px;

}

.nav-content h4{

font-size:1.05rem;

}

}

/* ==========================================
   Reading Progress Bar
========================================== */

.reading-progress{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:#ececec;

    z-index:99999;

}

#readingBar{

    width:0;

    height:100%;

    background:linear-gradient(90deg,#7c3aed,#2563eb);

    transition:width .15s linear;

}


/* ==========================================
   Table of Contents
========================================== */

.table-of-contents{

    background:#ffffff;

    border:1px solid #e5e7eb;

    border-radius:15px;

    padding:25px;

    margin:40px 0;

}

.table-of-contents h3{

    margin-bottom:15px;

    color:#111827;

}

.table-of-contents ul{

    list-style:none;

    padding:0;

    margin:0;

}

.table-of-contents li{

    margin:12px 0;

}

.table-of-contents a{

    text-decoration:none;

    color:#374151;

    transition:.3s;

}

.table-of-contents a:hover{

    color:#7c3aed;

}


/* ==========================================
   Share Article
========================================== */





/* ==========================================
   Premium Share Section
==========================================*/


/* ===========================
   Premium Share Section
=========================== */

.share-article{

    margin:60px 0;

    padding:22px 28px;

    background:#fff;

    border:1px solid #edf2f7;

    border-radius:18px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:25px;

    box-shadow:0 10px 30px rgba(15,23,42,.05);

}

.share-header h3{

    margin:0;

    font-size:1.2rem;

    color:#111827;

}

.share-header p{

    margin:4px 0 0;

    color:#64748b;

    font-size:.9rem;

}

.share-buttons{

    display:flex;

    align-items:center;

    gap:10px;

    flex-wrap:nowrap;

}

.share-btn{

    width:44px;

    height:44px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    color:#fff;

    border:none;

    cursor:pointer;

    transition:.3s;

    flex-shrink:0;

}

.share-btn i{

    font-size:1rem;

}

.share-btn:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 25px rgba(0,0,0,.15);

}

.copy{background:#374151;}
.facebook{background:#1877F2;}
.twitter{background:#111827;}
.linkedin{background:#0A66C2;}
.whatsapp{background:#25D366;}
.email{background:#EA4335;}





@media(max-width:768px){

    .share-article{

        flex-direction:column;

        text-align:center;

        padding:22px;

    }

    .share-buttons{

        justify-content:center;

        flex-wrap:wrap;

    }

}



/* Mobile */






#tocList a.active{

    color:#2563eb;

    font-weight:700;

}

#tocList a{

    transition:.3s;

}

#tocList li{

    transition:.3s;

}




/* ==========================================
   Fade Animation
========================================== */

.fade-start{

    opacity:0;

    transform:translateY(30px);

    transition:.7s ease;

}

.fade-in{

    opacity:1;

    transform:none;

}



/* ==========================================
   Image Viewer
========================================== */

.image-viewer{

    position:fixed;

    inset:0;

    z-index:999999;

    display:flex;

    justify-content:center;

    align-items:center;

}

.viewer-backdrop{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.88);

    backdrop-filter:blur(8px);

}

.image-viewer img{

    position:relative;

    max-width:92%;

    max-height:92vh;

    border-radius:18px;

    box-shadow:0 30px 80px rgba(0,0,0,.45);

}



/* ==========================================
   Copy Button
========================================== */

.blog-content pre{

    position:relative;

}

.copy-code-btn{

    position:absolute;

    top:14px;

    right:14px;

    border:none;

    padding:8px 14px;

    border-radius:8px;

    background:#2563eb;

    color:#fff;

    cursor:pointer;

    font-size:.82rem;

    transition:.3s;

}

.copy-code-btn:hover{

    background:#1d4ed8;

}





/* ==========================================
   Hero Image
========================================== */

.blog-cover img{

    transition:transform .4s ease;

}



/* ==========================================
   CTA Animation
========================================== */






/* ==========================================
   Ripple
========================================== */

.share-btn,
.cta-buttons a{

    position:relative;

    overflow:hidden;

}

.ripple{

    position:absolute;

    width:15px;

    height:15px;

    background:rgba(255,255,255,.45);

    border-radius:50%;

    transform:translate(-50%,-50%) scale(0);

    animation:ripple .6s linear;

}

@keyframes ripple{

    to{

        transform:translate(-50%,-50%) scale(18);

        opacity:0;

    }

}



/* ==========================================
   Related Card
========================================== */




/* ==========================================
   Sidebar
========================================== */

.sidebar-card{

    transition:

        background .3s,

        transform .3s,

        box-shadow .3s;

}



/* ==========================================
   Meta Animation
========================================== */

.meta-item{

    transition:.4s;

}


.meta-item:hover{
    transform:translateY(-4px);
    background:rgba(255,255,255,.14);
}






/* ==========================================================
   SAMPLE BLOG — PREMIUM DARK MODE
   ========================================================== */

/* ---------- MAIN BLOG PAGE ---------- */

.dark-mode .blog-post {
    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(59, 130, 246, 0.08),
            transparent 32%
        ),
        radial-gradient(
            circle at 88% 85%,
            rgba(96, 165, 250, 0.05),
            transparent 32%
        ),
        #0f172a;

    color: #f8fafc;
}


/* ---------- BLOG HERO ---------- */

.dark-mode .blog-hero {
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(59, 130, 246, 0.18),
            transparent 38%
        ),
        radial-gradient(
            circle at 85% 70%,
            rgba(96, 165, 250, 0.10),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #020617,
            #0f172a,
            #172554
        );

    color: #f8fafc;
}

.dark-mode .blog-hero h1,
.dark-mode .blog-hero h2 {
    color: #f8fafc;
}

.dark-mode .blog-hero p {
    color: #cbd5e1;
}

.dark-mode .blog-hero .hero-tag,
.dark-mode .blog-hero .tag {
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.12);
    border: 1px solid rgba(96, 165, 250, 0.20);
}


/* ---------- HERO CARD ---------- */

.dark-mode .hero-card {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.96),
            rgba(15, 23, 42, 0.98)
        );

    border: 1px solid rgba(148, 163, 184, 0.12);

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    color: #f8fafc;
}

.dark-mode .hero-card h1,
.dark-mode .hero-card h2,
.dark-mode .hero-card h3 {
    color: #f8fafc;
}

.dark-mode .hero-card p {
    color: #94a3b8;
}


/* ---------- AUTHOR ---------- */

.dark-mode .author-logo {
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.15);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.30);
}

.dark-mode .author-info,
.dark-mode .author-info strong {
    color: #f8fafc;
}

.dark-mode .author-info span,
.dark-mode .author-info small {
    color: #94a3b8;
}


/* ---------- BLOG LAYOUT ---------- */

.dark-mode .blog-layout {
    color: #f8fafc;
}


/* ---------- SIDEBAR ---------- */

.dark-mode .sidebar-card {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.97),
            rgba(15, 23, 42, 0.99)
        );

    border: 1px solid rgba(148, 163, 184, 0.12);

    box-shadow:
        0 14px 38px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    color: #f8fafc;
}

.dark-mode .sidebar-card h3 {
    color: #f8fafc;
}

.dark-mode .sidebar-card p {
    color: #94a3b8;
}

.dark-mode .sidebar-card ul,
.dark-mode .sidebar-card li {
    color: #cbd5e1;
}

.dark-mode .sidebar-card a {
    color: #94a3b8;
}

.dark-mode .sidebar-card a:hover {
    color: #60a5fa;
}


/* ---------- TABLE OF CONTENTS ---------- */

.dark-mode .table-of-contents,
.dark-mode .toc,
.dark-mode .toc-card {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.96),
            rgba(15, 23, 42, 0.98)
        );

    border-color: rgba(148, 163, 184, 0.12);
    color: #f8fafc;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.dark-mode .table-of-contents h3,
.dark-mode .toc h3,
.dark-mode .toc-card h3 {
    color: #f8fafc;
}

.dark-mode .table-of-contents a,
.dark-mode .toc a,
.dark-mode .toc-card a {
    color: #94a3b8;
}

.dark-mode .table-of-contents a:hover,
.dark-mode .toc a:hover,
.dark-mode .toc-card a:hover {
    color: #60a5fa;
}


/* ---------- ARTICLE CONTENT ---------- */

.dark-mode .blog-content {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.98),
            rgba(15, 23, 42, 0.99)
        );

    color: #cbd5e1;

    border: 1px solid rgba(148, 163, 184, 0.12);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}


/* ---------- ARTICLE TEXT ---------- */

.dark-mode .blog-content h1,
.dark-mode .blog-content h2,
.dark-mode .blog-content h3,
.dark-mode .blog-content h4,
.dark-mode .blog-content h5,
.dark-mode .blog-content h6 {
    color: #f8fafc;
}

.dark-mode .blog-content p {
    color: #cbd5e1;
}

.dark-mode .blog-content strong {
    color: #f8fafc;
}

.dark-mode .blog-content em {
    color: #cbd5e1;
}

.dark-mode .blog-content li {
    color: #cbd5e1;
}

.dark-mode .blog-content ul,
.dark-mode .blog-content ol {
    color: #cbd5e1;
}

.dark-mode .blog-content blockquote {
    background: rgba(59, 130, 246, 0.08);
    border-left-color: #3b82f6;
    color: #cbd5e1;
}

.dark-mode .blog-content blockquote p {
    color: #cbd5e1;
}


/* ---------- ARTICLE LINKS ---------- */

.dark-mode .blog-content a {
    color: #60a5fa;
}

.dark-mode .blog-content a:hover {
    color: #93c5fd;
}


/* ---------- CODE ---------- */

.dark-mode .blog-content pre {
    background: #020617;
    color: #e2e8f0;
    border: 1px solid rgba(148, 163, 184, 0.12);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.30);
}

.dark-mode .blog-content code {
    color: #e2e8f0;
}

.dark-mode .blog-content :not(pre) > code {
    background: rgba(59, 130, 246, 0.10);
    color: #93c5fd;
    border: 1px solid rgba(96, 165, 250, 0.12);
}


/* ---------- TABLES ---------- */

.dark-mode .blog-content table {
    background: #0f172a;
    color: #cbd5e1;
    border-color: rgba(148, 163, 184, 0.14);
}

.dark-mode .blog-content th {
    background: #1e293b;
    color: #f8fafc;
    border-color: rgba(148, 163, 184, 0.14);
}

.dark-mode .blog-content td {
    color: #cbd5e1;
    border-color: rgba(148, 163, 184, 0.12);
}

.dark-mode .blog-content tr:nth-child(even) {
    background: rgba(30, 41, 59, 0.45);
}


/* ---------- ARTICLE IMAGES ---------- */

.dark-mode .blog-content img {
    filter: brightness(0.94) contrast(1.04);
}

.dark-mode .blog-content img:hover {
    filter: brightness(1) contrast(1.06);
}


/* ---------- ARTICLE CTA ---------- */

.dark-mode .article-cta,
.dark-mode .blog-cta {
    background:
        linear-gradient(
            135deg,
            rgba(37, 99, 235, 0.95),
            rgba(30, 64, 175, 0.95)
        );

    border: 1px solid rgba(147, 197, 253, 0.20);

    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.30),
        0 0 30px rgba(59, 130, 246, 0.08);

    color: #ffffff;
}

.dark-mode .article-cta h2,
.dark-mode .article-cta h3,
.dark-mode .blog-cta h2,
.dark-mode .blog-cta h3 {
    color: #ffffff;
}

.dark-mode .article-cta p,
.dark-mode .blog-cta p {
    color: #dbeafe;
}


/* ---------- SHARE ARTICLE ---------- */

.dark-mode .share-article {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.96),
            rgba(15, 23, 42, 0.98)
        );

    border: 1px solid rgba(148, 163, 184, 0.12);

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.25);
}

.dark-mode .share-article h3,
.dark-mode .share-article h4 {
    color: #f8fafc;
}

.dark-mode .share-article p {
    color: #94a3b8;
}

.dark-mode .share-btn {
    border: 1px solid rgba(148, 163, 184, 0.14);
    background: #1e293b;
    color: #cbd5e1;

    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.20);

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        box-shadow .25s ease;
}

.dark-mode .share-btn:hover {
    background: #2563eb;
    color: #ffffff;
    border-color: #3b82f6;

    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(37, 99, 235, 0.28);
}


/* ---------- RELATED ARTICLES ---------- */

.dark-mode .related-blogs {
    color: #f8fafc;
}

.dark-mode .related-blogs .section-title {
    color: #f8fafc;
}

.dark-mode .related-blogs .section-title span {
    color: #60a5fa;
}

.dark-mode .related-blogs p {
    color: #94a3b8;
}

.dark-mode .related-card {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.97),
            rgba(15, 23, 42, 0.99)
        );

    border: 1px solid rgba(148, 163, 184, 0.12);

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    color: #f8fafc;
}

.dark-mode .related-card h3 {
    color: #f8fafc;
}

.dark-mode .related-card p {
    color: #94a3b8;
}

.dark-mode .related-card:hover {
    border-color: rgba(96, 165, 250, 0.28);

    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.38),
        0 0 28px rgba(59, 130, 246, 0.07);

    transform: translateY(-6px);
}


/* ---------- PREVIOUS / NEXT NAVIGATION ---------- */

.dark-mode .post-navigation,
.dark-mode .blog-navigation,
.dark-mode .prev-next {
    color: #f8fafc;
}

.dark-mode .post-navigation a,
.dark-mode .blog-navigation a,
.dark-mode .prev-next a {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.96),
            rgba(15, 23, 42, 0.98)
        );

    border: 1px solid rgba(148, 163, 184, 0.12);

    color: #cbd5e1;

    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.22);
}

.dark-mode .post-navigation a:hover,
.dark-mode .blog-navigation a:hover,
.dark-mode .prev-next a:hover {
    border-color: rgba(96, 165, 250, 0.28);
    color: #60a5fa;
}


/* ---------- READING PROGRESS ---------- */

.dark-mode .reading-progress {
    background: rgba(15, 23, 42, 0.85);
}

.dark-mode .reading-progress-bar {
    background: linear-gradient(
        90deg,
        #2563eb,
        #60a5fa
    );
}


/* ---------- DIVIDERS ---------- */

.dark-mode .blog-content hr,
.dark-mode .blog-post hr {
    border-color: rgba(148, 163, 184, 0.12);
}


/* ---------- MOBILE ---------- */

@media (max-width: 768px) {

    .dark-mode .blog-post {
        background:
            radial-gradient(
                circle at 50% 10%,
                rgba(59, 130, 246, 0.07),
                transparent 40%
            ),
            #0f172a;
    }

    .dark-mode .blog-content {
        border-radius: 20px;
    }

    .dark-mode .sidebar-card {
        border-radius: 18px;
    }

    .dark-mode .hero-card {
        border-radius: 20px;
    }
}


/* ---------- SMALL MOBILE ---------- */

@media (max-width: 480px) {

    .dark-mode .blog-content {
        border-radius: 16px;
    }

    .dark-mode .sidebar-card {
        border-radius: 16px;
    }

    .dark-mode .hero-card {
        border-radius: 18px;
    }
}





/* ==========================================================
   SAMPLE BLOG DARK MODE
   PREVIOUS / NEXT + RELATED ARTICLES
   ========================================================== */


/* ==========================================================
   PREVIOUS / NEXT ARTICLE NAVIGATION
   ========================================================== */

.dark-mode .blog-navigation .blog-nav-card {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.98),
            rgba(15, 23, 42, 0.99)
        ) !important;

    border: 1px solid rgba(148, 163, 184, 0.14) !important;

    box-shadow:
        0 14px 38px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    color: #f8fafc;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* Navigation card hover */

.dark-mode .blog-navigation .blog-nav-card:hover {
    background:
        linear-gradient(
            145deg,
            rgba(37, 52, 75, 0.98),
            rgba(15, 23, 42, 1)
        ) !important;

    border-color: rgba(96, 165, 250, 0.35) !important;

    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.42),
        0 0 30px rgba(59, 130, 246, 0.08);

    transform: translateY(-6px);
}


/* Navigation card shine */

.dark-mode .blog-navigation .blog-nav-card::before {
    background:
        linear-gradient(
            120deg,
            rgba(37, 99, 235, 0.10),
            rgba(124, 58, 237, 0.12),
            rgba(37, 99, 235, 0.06)
        );
}

.dark-mode .blog-navigation .blog-nav-card::after {
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.10),
            transparent
        );
}


/* Navigation label */

.dark-mode .blog-navigation .nav-content span {
    color: #60a5fa !important;
}


/* Navigation title */

.dark-mode .blog-navigation .nav-content h4 {
    color: #f8fafc !important;
}

.dark-mode .blog-navigation .blog-nav-card:hover .nav-content h4 {
    color: #60a5fa !important;
}


/* Navigation icon */

.dark-mode .blog-navigation .nav-icon {
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #ffffff;

    box-shadow:
        0 12px 28px rgba(37, 99, 235, 0.30);
}


/* ==========================================================
   RELATED ARTICLES SECTION
   ========================================================== */

.dark-mode .related-blogs {
    color: #f8fafc;
}


/* Related section title */

.dark-mode .related-blogs .section-title span {
    color: #60a5fa !important;
}

.dark-mode .related-blogs .section-title h2 {
    color: #f8fafc !important;
}


/* ==========================================================
   RELATED ARTICLE CARDS
   ========================================================== */

/*
   IMPORTANT:
   Your actual HTML/JS uses:
   .related-grid .blog-card

   NOT .related-card
*/

.dark-mode .related-grid .blog-card {
    background:
        linear-gradient(
            145deg,
            rgba(30, 41, 59, 0.98),
            rgba(15, 23, 42, 0.99)
        ) !important;

    border: 1px solid rgba(148, 163, 184, 0.14) !important;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    color: #f8fafc;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* Related card hover */

.dark-mode .related-grid .blog-card:hover {
    background:
        linear-gradient(
            145deg,
            rgba(37, 52, 75, 0.98),
            rgba(15, 23, 42, 1)
        ) !important;

    border-color: rgba(96, 165, 250, 0.32) !important;

    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.42),
        0 0 30px rgba(59, 130, 246, 0.08);

    transform: translateY(-8px);
}


/* ==========================================================
   RELATED ARTICLE IMAGE
   ========================================================== */

.dark-mode .related-grid .blog-image img {
    filter:
        brightness(0.94)
        contrast(1.05);

    transition:
        transform 0.55s ease,
        filter 0.35s ease;
}

.dark-mode .related-grid .blog-card:hover
.blog-image img {
    filter:
        brightness(1)
        contrast(1.08);
}


/* Image overlay */

.dark-mode .related-grid .blog-image::after {
    background:
        linear-gradient(
            to top,
            rgba(2, 6, 23, 0.35),
            transparent 65%
        );
}


/* ==========================================================
   RELATED ARTICLE CONTENT
   ========================================================== */

.dark-mode .related-grid .blog-content {
    background: transparent !important;
}


/* Category badge */

.dark-mode .related-grid
.blog-content
.blog-badge {
    background: rgba(59, 130, 246, 0.12) !important;

    color: #60a5fa !important;

    border: 1px solid rgba(96, 165, 250, 0.16);
}


/* Related title */

.dark-mode .related-grid
.blog-content h3 {
    color: #f8fafc !important;
}

.dark-mode .related-grid
.blog-card:hover
.blog-content h3 {
    color: #60a5fa !important;
}


/* Related description */

.dark-mode .related-grid
.blog-content p {
    color: #94a3b8 !important;
}


/* ==========================================================
   RELATED ARTICLE META
   ========================================================== */

.dark-mode .related-grid .blog-meta {
    border-top-color:
        rgba(148, 163, 184, 0.12) !important;

    color: #64748b !important;
}

.dark-mode .related-grid .blog-meta span {
    color: #94a3b8;
}

.dark-mode .related-grid .blog-meta i {
    color: #60a5fa !important;
}


/* ==========================================================
   RELATED ARTICLE BUTTON
   ========================================================== */

.dark-mode .related-grid .read-btn {
    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1d4ed8
        ) !important;

    color: #ffffff !important;

    border: 1px solid
        rgba(147, 197, 253, 0.20);

    box-shadow:
        0 8px 22px rgba(37, 99, 235, 0.18);
}

.dark-mode .related-grid .read-btn:hover {
    background:
        linear-gradient(
            135deg,
            #3b82f6,
            #2563eb
        ) !important;

    color: #ffffff !important;

    box-shadow:
        0 12px 30px rgba(37, 99, 235, 0.30);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .dark-mode .blog-navigation {
        gap: 18px;
    }

    .dark-mode .blog-navigation .blog-nav-card {
        padding: 24px;
    }

    .dark-mode .related-grid .blog-card {
        width: 100%;
    }
}






/* ==========================================================
   FIX - ARTICLE CONTENT HOVER IN DARK MODE
   Prevent light / blurry effect
   ========================================================== */

.dark-mode .article-wrapper .blog-content {
    background: linear-gradient(
        145deg,
        #1e293b 0%,
        #0f172a 100%
    ) !important;

    color: #cbd5e1 !important;

    opacity: 1 !important;
    filter: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transform: none !important;

    border-color: rgba(148, 163, 184, 0.14) !important;

    box-shadow:
        0 20px 55px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;

    transition: none !important;
}


/* Keep the article dark when mouse is over it */

.dark-mode .article-wrapper .blog-content:hover {
    background: linear-gradient(
        145deg,
        #1e293b 0%,
        #0f172a 100%
    ) !important;

    color: #cbd5e1 !important;

    opacity: 1 !important;
    filter: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transform: none !important;

    border-color: rgba(148, 163, 184, 0.18) !important;

    box-shadow:
        0 20px 55px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}


/* Keep article text stable on hover */

.dark-mode .article-wrapper .blog-content:hover h1,
.dark-mode .article-wrapper .blog-content:hover h2,
.dark-mode .article-wrapper .blog-content:hover h3,
.dark-mode .article-wrapper .blog-content:hover h4,
.dark-mode .article-wrapper .blog-content:hover h5,
.dark-mode .article-wrapper .blog-content:hover h6 {
    color: #f8fafc !important;
}

.dark-mode .article-wrapper .blog-content:hover p,
.dark-mode .article-wrapper .blog-content:hover li {
    color: #cbd5e1 !important;
}



/* ==========================================
   FIX CONTENTS SIDEBAR - DARK MODE
   ========================================== */

.dark-mode .blog-sidebar .sidebar-card {
    background: linear-gradient(
        145deg,
        #1e293b 0%,
        #0f172a 100%
    ) !important;

    border: 1px solid rgba(148, 163, 184, 0.15) !important;

    color: #f8fafc !important;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;

    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    opacity: 1 !important;
    transform: none !important;
}


/* Contents heading */
.dark-mode .blog-sidebar .sidebar-card h3 {
    color: #f8fafc !important;
}


/* Contents links */
.dark-mode .blog-sidebar .sidebar-card a {
    color: #94a3b8 !important;
}


/* Contents link hover */
.dark-mode .blog-sidebar .sidebar-card a:hover {
    color: #60a5fa !important;
}


/* ==========================================
   ACTIVE CONTENTS LINK - DARK MODE
   ========================================== */

.dark-mode .blog-sidebar .sidebar-card a.active {
    color: #3b82f6 !important;
    font-weight: 700 !important;
}





/* ==========================================================
   SAMPLE BLOG — FINAL RESPONSIVE
   Mobile + Tablet + Small Mobile
   ========================================================== */


/* ==========================================================
   TABLET / SMALL LAPTOP
   ========================================================== */

@media (max-width: 1200px) {

    .blog-post {
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-hero {
        margin-bottom: 60px;
        border-radius: 30px;
    }

    .hero-container {
        grid-template-columns: 1fr;
        gap: 35px;
        padding: 50px 45px;
    }

    .hero-left-blog {
        max-width: 100%;
    }

    .hero-right {
        justify-content: flex-start;
        width: 100%;
    }

    .hero-card {
        max-width: 100%;
        transform: none;
    }

    .blog-layout {
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 30px;
    }

    .blog-content {
        padding: 45px;
    }

    .related-grid {
        grid-template-columns: repeat(2, 300px);
    }
}


/* ==========================================================
   TABLETS
   ========================================================== */

@media (max-width: 992px) {

    .blog-post {
        padding: 25px 18px 70px;
    }

    /* ---------- HERO ---------- */

    .blog-hero {
        min-height: auto;
        margin-bottom: 55px;
        border-radius: 26px;
    }

    .hero-container {
        min-height: auto;
        padding: 40px 35px;
        gap: 30px;
    }

    .hero-left-blog {
        padding: 32px;
        border-radius: 24px;
    }

    #blogTitle {
        font-size: clamp(2rem, 5vw, 2.7rem);
        line-height: 1.2;
        margin-bottom: 18px;
    }

    .blog-subtitle {
        font-size: 1.05rem;
        line-height: 1.7;
        margin-bottom: 35px;
    }

    .hero-author {
        gap: 14px;
    }

    .hero-card {
        padding: 24px;
        border-radius: 22px;
    }

    .hero-meta-card {
        padding: 13px;
    }


    /* ---------- BLOG LAYOUT ---------- */

    .blog-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .blog-sidebar {
        position: relative;
        top: auto;
        width: 100%;
        margin-bottom: 0;
    }

    .sidebar-card {
        padding: 24px;
        border-radius: 20px;
    }


    /* ---------- ARTICLE ---------- */

    .blog-content {
        width: 100%;
        padding: 40px;
        border-radius: 24px;
        font-size: 1.05rem;
        line-height: 1.9;
    }

    .blog-content h2 {
        font-size: 2rem;
        margin-top: 55px;
    }

    .blog-content h3 {
        font-size: 1.4rem;
    }

    .blog-content img {
        max-width: 100%;
        height: auto;
    }

    .blog-content table {
        display: block;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
    }


    /* ---------- CTA ---------- */

    .blog-cta {
        margin: 65px 0;
        padding: 60px 40px;
        border-radius: 28px;
    }

    .blog-cta h3 {
        font-size: 2.3rem;
    }

    .blog-cta p {
        font-size: 1.05rem;
        line-height: 1.8;
    }


    /* ---------- SHARE ---------- */

    .share-article {
        margin: 50px 0;
    }


    /* ---------- NAVIGATION ---------- */

    .blog-navigation {
        grid-template-columns: 1fr;
        gap: 20px;
        margin: 65px 0;
    }

    .blog-nav-card {
        padding: 26px;
    }


    /* ---------- RELATED ---------- */

    .related-blogs {
        margin-top: 70px;
    }

    .related-grid {
        grid-template-columns: repeat(2, 300px);
        justify-content: center;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .blog-post {
        width: 100%;
        padding: 20px 14px 60px;
        overflow-x: hidden;
    }


    /* ---------- HERO ---------- */

    .blog-hero {
        width: 100%;
        min-height: auto;
        margin-bottom: 40px;
        border-radius: 22px;
    }

    .hero-container {
        display: flex;
        flex-direction: column;
        gap: 22px;
        padding: 25px 18px;
    }

    .hero-left-blog {
        width: 100%;
        max-width: none;
        padding: 25px 20px;
        border-radius: 20px;
    }

    #blogTitle {
        width: 100%;
        font-size: clamp(1.65rem, 7vw, 2.15rem);
        line-height: 1.2;
        letter-spacing: -0.5px;
        margin-bottom: 16px;
        overflow-wrap: anywhere;
    }

    .blog-subtitle {
        font-size: 0.98rem;
        line-height: 1.7;
        margin-bottom: 28px;
    }


    /* ---------- AUTHOR ---------- */

    .hero-author {
        gap: 12px;
        align-items: center;
    }

    .author-logo {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        padding: 8px;
    }

    .author-label {
        font-size: 0.72rem;
    }

    .author-info strong {
        font-size: 0.95rem;
    }


    /* ---------- HERO CARD ---------- */

    .hero-right {
        width: 100%;
    }

    .hero-card {
        width: 100%;
        max-width: none;
        padding: 20px;
        border-radius: 20px;
        transform: none;
    }

    .hero-card h4 {
        font-size: 1.1rem;
        margin-bottom: 18px;
    }

    .hero-meta-card {
        width: 100%;
        padding: 12px;
        gap: 11px;
        border-radius: 15px;
    }

    .hero-meta-card i {
        width: 42px;
        height: 42px;
        border-radius: 13px;
        font-size: 0.9rem;
    }

    .hero-meta-card small {
        font-size: 0.65rem;
    }

    .hero-meta-card span {
        font-size: 0.88rem;
        overflow-wrap: anywhere;
    }


    /* ---------- CONTENTS ---------- */

    .blog-sidebar {
        width: 100%;
    }

    .sidebar-card {
        width: 100%;
        padding: 20px;
        border-radius: 18px;
    }

    .sidebar-card h3 {
        font-size: 1.05rem;
        margin-bottom: 18px;
    }

    .sidebar-card li {
        margin-bottom: 10px;
    }

    .sidebar-card a {
        font-size: 0.88rem;
        line-height: 1.5;
    }


    /* ---------- ARTICLE ---------- */

    .article-wrapper {
        width: 100%;
        min-width: 0;
    }

    .blog-content {
        width: 100%;
        padding: 28px 20px;
        border-radius: 20px;
        font-size: 1rem;
        line-height: 1.8;
        overflow-wrap: anywhere;
    }

    .blog-content h2 {
        font-size: 1.65rem;
        line-height: 1.3;
        margin: 45px 0 20px;
    }

    .blog-content h3 {
        font-size: 1.3rem;
        line-height: 1.4;
        margin: 35px 0 15px;
    }

    .blog-content h4 {
        font-size: 1.1rem;
    }

    .blog-content p {
        margin-bottom: 20px;
    }

    .blog-content ul,
    .blog-content ol {
        padding-left: 22px;
        margin: 22px 0;
    }

    .blog-content li {
        margin-bottom: 10px;
        line-height: 1.75;
    }

    .blog-content img {
        width: 100%;
        height: auto;
        margin: 28px auto;
        border-radius: 16px;
    }


    /* ---------- CODE ---------- */

    .blog-content pre {
        width: 100%;
        max-width: 100%;
        padding: 20px 16px;
        margin: 30px 0;
        border-radius: 14px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .blog-content pre code {
        font-size: 0.82rem;
        white-space: pre;
    }

    .copy-code-btn {
        top: 10px;
        right: 10px;
        padding: 7px 10px;
        font-size: 0.72rem;
    }


    /* ---------- BLOCKQUOTE ---------- */

    .blog-content blockquote {
        margin: 30px 0;
        padding: 25px 20px 25px 50px;
        font-size: 0.98rem;
        border-left-width: 4px;
    }

    .blog-content blockquote::before {
        left: 15px;
        top: 12px;
        font-size: 2.2rem;
    }


    /* ---------- TABLE ---------- */

    .blog-content table {
        width: 100%;
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        border-radius: 14px;
    }

    .blog-content th,
    .blog-content td {
        padding: 12px;
        font-size: 0.85rem;
    }


    /* ---------- HORIZONTAL LINE ---------- */

    .blog-content hr {
        margin: 40px 0;
    }


    /* ---------- SHARE ---------- */

    .share-article {
        width: 100%;
        margin: 40px 0;
        padding: 22px 18px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 18px;
        border-radius: 18px;
    }

    .share-header h3 {
        font-size: 1.1rem;
    }

    .share-header p {
        font-size: 0.85rem;
    }

    .share-buttons {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }

    .share-btn {
        width: 44px;
        height: 44px;
    }


    /* ---------- CTA ---------- */

    .blog-cta {
        width: 100%;
        margin: 50px 0;
        padding: 45px 22px;
        border-radius: 22px;
    }

    .cta-badge {
        max-width: 100%;
        padding: 9px 14px;
        gap: 8px;
        font-size: 0.72rem;
        text-align: center;
    }

    .cta-badge-logo {
        width: 26px;
        height: 26px;
    }

    .blog-cta h3 {
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 18px;
    }

    .blog-cta p {
        font-size: 0.95rem;
        line-height: 1.75;
    }

    .cta-buttons {
        width: 100%;
        flex-direction: column;
        gap: 12px;
        margin-top: 30px;
    }

    .cta-buttons a {
        width: 100%;
        padding: 14px 20px !important;
        text-align: center;
    }


    /* ---------- PREVIOUS / NEXT ---------- */

    .blog-navigation {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 50px 0;
    }

    .blog-nav-card {
        width: 100%;
        padding: 20px;
        gap: 14px;
        border-radius: 18px;
    }

    .nav-icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        font-size: 16px;
    }

    .nav-content span {
        font-size: 0.68rem;
        margin-bottom: 6px;
    }

    .nav-content h4 {
        font-size: 0.95rem;
        line-height: 1.4;
    }


    /* ---------- RELATED ARTICLES ---------- */

    .related-blogs {
        width: 100%;
        margin-top: 55px;
    }

    .related-blogs .section-title {
        margin-bottom: 28px;
    }

    .related-blogs .section-title span {
        font-size: 0.75rem;
    }

    .related-blogs .section-title h2 {
        font-size: 1.8rem;
    }

    .related-grid {
        width: 100%;
        grid-template-columns: 1fr;
        justify-content: stretch;
        gap: 18px;
    }

    .related-grid .blog-card {
        width: 100%;
        max-width: 100%;
    }

    .related-grid .blog-image {
        height: 190px;
    }

    .related-grid .blog-content {
        padding: 17px;
    }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .blog-post {
        padding: 15px 10px 50px;
    }


    /* ---------- HERO ---------- */

    .blog-hero {
        border-radius: 18px;
        margin-bottom: 30px;
    }

    .hero-container {
        padding: 18px 12px;
        gap: 16px;
    }

    .hero-left-blog {
        padding: 20px 16px;
        border-radius: 17px;
    }

    #blogTitle {
        font-size: 1.55rem;
        line-height: 1.25;
    }

    .blog-subtitle {
        font-size: 0.9rem;
        line-height: 1.65;
        margin-bottom: 24px;
    }


    /* ---------- AUTHOR ---------- */

    .author-logo {
        width: 46px;
        height: 46px;
        padding: 7px;
        border-radius: 12px;
    }

    .author-label {
        font-size: 0.65rem;
    }

    .author-info strong {
        font-size: 0.85rem;
    }


    /* ---------- HERO CARD ---------- */

    .hero-card {
        padding: 16px;
        border-radius: 17px;
    }

    .hero-card h4 {
        font-size: 1rem;
        margin-bottom: 15px;
    }

    .hero-meta-card {
        padding: 10px;
        gap: 9px;
        border-radius: 13px;
    }

    .hero-meta-card i {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        font-size: 0.8rem;
    }

    .hero-meta-card small {
        font-size: 0.58rem;
        letter-spacing: 0.08em;
    }

    .hero-meta-card span {
        font-size: 0.8rem;
    }


    /* ---------- CONTENTS ---------- */

    .sidebar-card {
        padding: 17px;
        border-radius: 16px;
    }

    .sidebar-card h3 {
        font-size: 1rem;
    }

    .sidebar-card a {
        font-size: 0.82rem;
    }


    /* ---------- ARTICLE ---------- */

    .blog-content {
        padding: 22px 16px;
        border-radius: 17px;
        font-size: 0.94rem;
        line-height: 1.75;
    }

    .blog-content h2 {
        font-size: 1.4rem;
        margin-top: 38px;
    }

    .blog-content h3 {
        font-size: 1.15rem;
    }

    .blog-content h4 {
        font-size: 1rem;
    }

    .blog-content img {
        margin: 24px auto;
        border-radius: 13px;
    }

    .blog-content blockquote {
        padding: 22px 16px 22px 42px;
        font-size: 0.9rem;
    }

    .blog-content blockquote::before {
        left: 11px;
        font-size: 1.9rem;
    }


    /* ---------- CODE ---------- */

    .blog-content pre {
        padding: 17px 13px;
        border-radius: 12px;
    }

    .blog-content pre code {
        font-size: 0.76rem;
    }

    .copy-code-btn {
        padding: 6px 8px;
        font-size: 0.68rem;
    }


    /* ---------- SHARE ---------- */

    .share-article {
        padding: 20px 14px;
        border-radius: 16px;
    }

    .share-buttons {
        gap: 8px;
    }

    .share-btn {
        width: 42px;
        height: 42px;
    }


    /* ---------- CTA ---------- */

    .blog-cta {
        padding: 38px 17px;
        border-radius: 19px;
    }

    .cta-badge {
        font-size: 0.64rem;
        padding: 8px 11px;
    }

    .cta-badge-logo {
        width: 23px;
        height: 23px;
    }

    .blog-cta h3 {
        font-size: 1.45rem;
    }

    .blog-cta p {
        font-size: 0.88rem;
    }

    .cta-buttons a {
        padding: 13px 16px !important;
        font-size: 0.88rem;
    }


    /* ---------- NAVIGATION ---------- */

    .blog-navigation {
        margin: 40px 0;
    }

    .blog-nav-card {
        padding: 17px;
        border-radius: 16px;
        gap: 10px;
    }

    .nav-icon {
        width: 43px;
        height: 43px;
        border-radius: 12px;
        font-size: 14px;
    }

    .nav-content span {
        font-size: 0.6rem;
    }

    .nav-content h4 {
        font-size: 0.84rem;
    }


    /* ---------- RELATED ---------- */

    .related-blogs {
        margin-top: 45px;
    }

    .related-blogs .section-title h2 {
        font-size: 1.55rem;
    }

    .related-grid {
        gap: 15px;
    }

    .related-grid .blog-image {
        height: 170px;
    }

    .related-grid .blog-content {
        padding: 15px;
    }

    .related-grid .blog-content h3 {
        font-size: 0.98rem;
    }

    .related-grid .blog-content p {
        font-size: 0.82rem;
    }
}


/* ==========================================================
   EXTRA SMALL DEVICES
   ========================================================== */

@media (max-width: 380px) {

    .blog-post {
        padding-left: 8px;
        padding-right: 8px;
    }

    .hero-left-blog {
        padding: 18px 14px;
    }

    #blogTitle {
        font-size: 1.4rem;
    }

    .blog-subtitle {
        font-size: 0.86rem;
    }

    .hero-card {
        padding: 14px;
    }

    .blog-content {
        padding: 20px 14px;
    }

    .blog-content h2 {
        font-size: 1.3rem;
    }

    .blog-cta {
        padding: 32px 14px;
    }

    .blog-cta h3 {
        font-size: 1.3rem;
    }

    .share-btn {
        width: 40px;
        height: 40px;
    }
}


/* ==========================================================
   TOUCH DEVICES
   Prevent desktop hover movement on phones/tablets
   ========================================================== */

@media (hover: none) and (pointer: coarse) {

    .blog-hero:hover .hero-left-blog,
    .blog-hero:hover .hero-card {
        transform: none;
    }

    .blog-hero:hover .hero-background img {
        transform: scale(1.05);
    }

    .blog-cta:hover {
        transform: none;
    }

    .blog-cta:hover .cta-content {
        transform: none;
    }

    .blog-cta:hover .cta-btn {
        transform: none;
    }

    .blog-navigation .blog-nav-card:hover,
    .related-grid .blog-card:hover {
        transform: none;
    }

    .related-grid .blog-card:hover .blog-image img {
        transform: none;
    }
}


/* ==========================================================
   GLOBAL MOBILE SAFETY
   ========================================================== */

@media (max-width: 768px) {

    .blog-post,
    .blog-layout,
    .article-wrapper,
    .blog-content,
    .blog-hero,
    .hero-container,
    .related-grid {
        max-width: 100%;
    }

    .blog-content iframe,
    .blog-content video,
    .blog-content embed,
    .blog-content object {
        max-width: 100%;
    }

    .blog-content * {
        max-width: 100%;
    }

    .blog-content pre,
    .blog-content table {
        max-width: 100%;
    }

    .hero-background {
        max-width: 100%;
    }
}


/* ==========================================================
   REDUCE MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .blog-hero *,
    .blog-cta *,
    .blog-navigation *,
    .related-grid *,
    .blog-content * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}



/* ==========================================================
   MOBILE HERO ORDER
   Title & Description FIRST
   Article Details SECOND
   ========================================================== */

@media (max-width: 768px) {

    .hero-container {
        display: flex;
        flex-direction: column;
    }

    /* Title + Description + Author */
    .hero-left-blog {
        order: 1;
        width: 100%;
    }

    /* Article Details */
    .hero-right {
        order: 2;
        width: 100%;
    }

    .hero-card {
        width: 100%;
        max-width: none;
    }
}


/* ==========================================================
   HIDE ARTICLE CONTENT ON MOBILE ONLY
   ========================================================== */

/* ==========================================================
   HIDE CONTENTS / TOC SIDEBAR ON MOBILE ONLY
   ========================================================== */

@media (max-width: 767px) {

    .blog-sidebar {
        display: none !important;
    }

}



/* ==========================================================
   IPAD MINI / TABLET RESPONSIVE
   768px - 1024px
   ========================================================== */
/* ==========================================================
   IPAD MINI / TABLET — 768px TO 1024px
   ========================================================== */
/* ==========================================================
   IPAD MINI / TABLET
   768px - 1024px
   DESKTOP-STYLE STICKY CONTENTS
   ========================================================== */
/* ==========================================================
   TABLET TOC — STICKY BELOW NAVBAR
   iPad Mini / 768px - 1024px
   ========================================================== */
/* ==========================================================
   HIDE CONTENTS / TOC ON MOBILE + TABLET
   ========================================================== */

@media (max-width: 1024px) {

    .blog-sidebar {
        display: none !important;
    }

}





/* ==========================================================
   SAMPLE BLOG — FINAL RESPONSIVE
   Mobile + Tablet
   ========================================================== */


/* ==========================================================
   TABLET — 768px TO 1024px
   ========================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    /* ---------- PAGE ---------- */

    .blog-post {
        padding: 30px 20px 70px;
        overflow-x: hidden;
    }


    /* ---------- HERO ---------- */

    .blog-hero {
        width: 100%;
        max-width: 100%;
        margin: 0 auto 55px;
        min-height: auto;
        border-radius: 26px;
    }

    .hero-container {
        width: 100%;
        min-height: auto;
        display: flex;
        flex-direction: column;
        gap: 25px;
        padding: 35px;
    }

    .hero-left-blog {
        width: 100%;
        max-width: none;
        padding: 32px;
        border-radius: 22px;
    }

    #blogTitle {
        max-width: 100%;
        font-size: clamp(2rem, 4vw, 2.7rem);
        line-height: 1.2;
        margin-bottom: 18px;
    }

    .blog-subtitle {
        font-size: 1.05rem;
        line-height: 1.75;
        margin-bottom: 30px;
    }


    /* ---------- AUTHOR ---------- */

    .hero-author {
        gap: 14px;
    }

    .author-logo {
        width: 58px;
        height: 58px;
    }

    .author-info strong {
        font-size: 1rem;
    }


    /* ---------- ARTICLE DETAILS ---------- */

    .hero-right {
        width: 100%;
        display: block;
    }

    .hero-card {
        width: 100%;
        max-width: none;
        padding: 22px;
        border-radius: 22px;
        transform: none !important;
    }

    .hero-card h4 {
        font-size: 1.2rem;
        margin-bottom: 20px;
    }

    .hero-meta-card {
        width: 100%;
        padding: 14px;
        gap: 14px;
    }

    .hero-meta-card i {
        width: 46px;
        height: 46px;
        font-size: .95rem;
    }

    .hero-meta-card span {
        font-size: .95rem;
    }


    /* ---------- HIDE TOC ---------- */

    .blog-sidebar {
        display: none !important;
    }


    /* ---------- MAIN ARTICLE ---------- */

    .blog-layout {
        width: 100%;
        max-width: 1200px;
        display: block;
        margin: 0 auto;
        padding: 0;
    }

    .article-wrapper {
        width: 100%;
        min-width: 0;
    }

    .blog-content {
        width: 100%;
        padding: 45px 40px;
        border-radius: 24px;
        font-size: 1.05rem;
        line-height: 1.9;
    }


    /* ---------- HEADINGS ---------- */

    .blog-content h2 {
        font-size: 2rem;
        line-height: 1.3;
        margin-top: 55px;
        margin-bottom: 22px;
    }

    .blog-content h3 {
        font-size: 1.4rem;
        line-height: 1.4;
        margin-top: 38px;
    }

    .blog-content h4 {
        font-size: 1.15rem;
    }


    /* ---------- TEXT ---------- */

    .blog-content p {
        font-size: 1rem;
        line-height: 1.85;
    }

    .blog-content ul,
    .blog-content ol {
        padding-left: 25px;
    }


    /* ---------- IMAGES ---------- */

    .blog-content img {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 35px auto;
        border-radius: 18px;
    }


    /* ---------- CODE ---------- */

    .blog-content pre {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 22px;
        font-size: .9rem;
    }


    /* ---------- TABLE ---------- */

    .blog-content table {
        width: 100%;
        max-width: 100%;
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }


    /* ---------- BLOCKQUOTE ---------- */

    .blog-content blockquote {
        margin: 35px 0;
        padding: 28px 28px 28px 55px;
    }


    /* ---------- SHARE ---------- */

    .share-article {
        width: 100%;
        margin: 45px 0;
        padding: 22px;
        gap: 20px;
    }

    .share-buttons {
        flex-wrap: wrap;
        justify-content: center;
    }


    /* ---------- CTA ---------- */

    .blog-cta {
        width: 100%;
        margin: 60px 0;
        padding: 55px 40px;
        border-radius: 26px;
    }

    .blog-cta h3 {
        font-size: 2.3rem;
        line-height: 1.3;
    }

    .blog-cta p {
        font-size: 1rem;
        line-height: 1.8;
    }

    .cta-buttons {
        flex-wrap: wrap;
    }


    /* ---------- PREVIOUS / NEXT ---------- */

    .blog-navigation {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        margin: 60px 0;
    }

    .blog-nav-card {
        padding: 24px;
        gap: 15px;
    }

    .nav-icon {
        width: 52px;
        height: 52px;
        font-size: 17px;
    }

    .nav-content h4 {
        font-size: 1.05rem;
        line-height: 1.45;
    }


    /* ---------- RELATED ARTICLES ---------- */

    .related-blogs {
        width: 100%;
        margin-top: 70px;
    }

    .related-blogs .section-title h2 {
        font-size: 2rem;
    }

    .related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .related-grid .blog-card {
        width: 100%;
    }

    .related-grid .blog-image {
        height: 170px;
    }

}


/* ==========================================================
   MOBILE — BELOW 768px
   ========================================================== */

@media (max-width: 767px) {

    .blog-post {
        padding: 20px 12px 60px;
        overflow-x: hidden;
    }


    /* ---------- HERO ---------- */

    .blog-hero {
        width: 100%;
        margin: 0 auto 40px;
        border-radius: 20px;
    }

    .hero-container {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 18px;
        padding: 20px;
    }

    .hero-left-blog {
        width: 100%;
        padding: 24px;
        border-radius: 20px;
    }

    #blogTitle {
        font-size: clamp(1.7rem, 7vw, 2.2rem);
        line-height: 1.2;
        margin-bottom: 15px;
    }

    .blog-subtitle {
        font-size: .95rem;
        line-height: 1.7;
        margin-bottom: 25px;
    }


    /* ---------- AUTHOR ---------- */

    .author-logo {
        width: 52px;
        height: 52px;
    }

    .hero-author {
        gap: 12px;
    }

    .author-info strong {
        font-size: .95rem;
    }


    /* ---------- ARTICLE DETAILS ---------- */

    .hero-right {
        width: 100%;
    }

    .hero-card {
        width: 100%;
        max-width: none;
        padding: 18px;
        border-radius: 20px;
        transform: none !important;
    }

    .hero-card h4 {
        font-size: 1.1rem;
        margin-bottom: 18px;
    }

    .hero-meta-card {
        padding: 12px;
        gap: 12px;
    }

    .hero-meta-card i {
        width: 42px;
        height: 42px;
        font-size: .9rem;
    }

    .hero-meta-card span {
        font-size: .9rem;
    }


    /* ---------- HIDE TOC ---------- */

    .blog-sidebar {
        display: none !important;
    }


    /* ---------- ARTICLE ---------- */

    .blog-layout {
        width: 100%;
        display: block;
        padding: 0;
    }

    .article-wrapper {
        width: 100%;
    }

    .blog-content {
        width: 100%;
        padding: 30px 20px;
        border-radius: 20px;
        font-size: 1rem;
        line-height: 1.85;
    }


    /* ---------- HEADINGS ---------- */

    .blog-content h2 {
        font-size: 1.55rem;
        line-height: 1.3;
        margin-top: 45px;
    }

    .blog-content h3 {
        font-size: 1.25rem;
    }

    .blog-content h4 {
        font-size: 1.1rem;
    }


    /* ---------- IMAGES ---------- */

    .blog-content img {
        width: 100%;
        height: auto;
        margin: 28px auto;
        border-radius: 16px;
    }


    /* ---------- CODE ---------- */

    .blog-content pre {
        width: 100%;
        overflow-x: auto;
        padding: 18px;
        font-size: .82rem;
    }


    /* ---------- TABLE ---------- */

    .blog-content table {
        display: block;
        width: 100%;
        overflow-x: auto;
    }


    /* ---------- BLOCKQUOTE ---------- */

    .blog-content blockquote {
        padding: 22px;
        margin: 30px 0;
    }


    /* ---------- SHARE ---------- */

    .share-article {
        width: 100%;
        flex-direction: column;
        text-align: center;
        padding: 20px;
        margin: 40px 0;
    }

    .share-buttons {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .share-btn {
        width: 100%;
        border-radius: 12px;
    }


    /* ---------- CTA ---------- */

    .blog-cta {
        width: 100%;
        margin: 45px 0;
        padding: 40px 20px;
        border-radius: 22px;
    }

    .blog-cta h3 {
        font-size: 1.65rem;
    }

    .blog-cta p {
        font-size: .95rem;
        line-height: 1.7;
    }

    .cta-buttons {
        flex-direction: column;
        width: 100%;
    }

    .cta-buttons a {
        width: 100%;
        text-align: center;
    }


    /* ---------- PREVIOUS / NEXT ---------- */

    .blog-navigation {
        grid-template-columns: 1fr;
        gap: 15px;
        margin: 45px 0;
    }

    .blog-nav-card {
        padding: 20px;
    }


    /* ---------- RELATED ---------- */

    .related-blogs {
        margin-top: 55px;
    }

    .related-blogs .section-title h2 {
        font-size: 1.7rem;
    }

    .related-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .related-grid .blog-card {
        width: 100%;
    }

    .related-grid .blog-image {
        height: 180px;
    }

}


/* ==========================================================
   SMALL MOBILE — BELOW 480px
   ========================================================== */

@media (max-width: 480px) {

    .hero-container {
        padding: 15px;
    }

    .hero-left-blog {
        padding: 20px;
    }

    #blogTitle {
        font-size: 1.65rem;
    }

    .blog-subtitle {
        font-size: .9rem;
    }

    .hero-card {
        padding: 15px;
    }

    .blog-content {
        padding: 25px 16px;
    }

    .blog-content h2 {
        font-size: 1.4rem;
    }

    .blog-content p {
        font-size: .95rem;
    }

    .blog-cta {
        padding: 35px 18px;
    }

    .blog-cta h3 {
        font-size: 1.45rem;
    }

}


/* ==========================================================
   GLOBAL MOBILE/TABLET SAFETY
   ========================================================== */

@media (max-width: 1024px) {

    .blog-post,
    .blog-hero,
    .hero-container,
    .blog-layout,
    .article-wrapper,
    .blog-content,
    .blog-cta,
    .related-blogs {
        max-width: 100%;
        min-width: 0;
    }

    img {
        max-width: 100%;
    }

    .blog-content *,
    .hero-container * {
        max-width: 100%;
    }

}




body.dark-mode {
    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(59, 130, 246, 0.05),
            transparent 30%
        ),
        radial-gradient(
            circle at 85% 90%,
            rgba(96, 165, 250, 0.04),
            transparent 30%
        ),
        #0f172a !important;
}

.dark-mode .blog-post {
    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(59, 130, 246, 0.08),
            transparent 32%
        ),
        radial-gradient(
            circle at 88% 85%,
            rgba(96, 165, 250, 0.05),
            transparent 32%
        ),
        #0f172a !important;
}