/* ==========================================================
   RaFi Blog
   ========================================================== */

.rafi-blog-page {
    background: #f7f9fc;
}

.rafi-blog-wrap {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    padding: 10px 0 80px;
}

.rafi-blog-heading {
    text-align: center;
    margin: 12px auto 42px;
    max-width: 820px;
}

.rafi-blog-kicker {
    display: block;
    margin-bottom: 12px;
    color: #2779ea;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.rafi-blog-heading h1 {
    margin: 0;
    color: #14233d;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.08;
    font-weight: 800;
}

.rafi-blog-heading p {
    margin: 16px 0 0;
    color: #66758c;
    font-size: 18px;
}

.rafi-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.rafi-blog-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5eaf1;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(20, 35, 61, .07);
    transition: transform .2s ease, box-shadow .2s ease;
}

.rafi-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(20, 35, 61, .11);
}

.rafi-blog-card-image {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #e9eef5;
}

.rafi-blog-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.rafi-blog-no-image {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #16264b, #272052);
    font-size: 30px;
    font-weight: 800;
}

.rafi-blog-card-body {
    padding: 22px 22px 24px;
}

.rafi-blog-category,
.rafi-blog-single-category {
    color: #2879e9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.rafi-blog-category a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.rafi-blog-category a:hover {
    text-decoration: underline;
}

.rafi-blog-card h2 {
    margin: 10px 0 8px;
    font-size: 23px;
    line-height: 1.22;
}

.rafi-blog-card h2 a {
    color: #14233d;
    text-decoration: none;
}

.rafi-blog-meta,
.rafi-blog-single-meta {
    color: #8491a4;
    font-size: 13px;
}

.rafi-blog-card p {
    margin: 14px 0 18px;
    color: #59697f;
    line-height: 1.65;
    font-size: 15px;
}

.rafi-blog-read-more {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 10px;
    background: #1976ed;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
}

.rafi-blog-pagination {
    margin-top: 42px;
    display: flex;
    justify-content: center;
}

.rafi-blog-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rafi-blog-pagination a,
.rafi-blog-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #dce3ed;
    border-radius: 10px;
    background: #fff;
    color: #1c3150;
    text-decoration: none;
}

.rafi-blog-pagination .current {
    background: #1976ed;
    border-color: #1976ed;
    color: #fff;
}

.rafi-blog-empty {
    padding: 70px 24px;
    text-align: center;
    border: 1px solid #e5eaf1;
    border-radius: 18px;
    background: #fff;
}

.rafi-blog-empty h1,
.rafi-blog-empty h2 {
    color: #14233d;
}

.rafi-blog-empty p {
    color: #66758c;
}

.rafi-blog-single {
    width: min(900px, 100%);
    margin: 0 auto;
    padding: 42px;
    background: #fff;
    border: 1px solid #e5eaf1;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(20, 35, 61, .06);
}

.rafi-blog-single h1 {
    margin: 10px 0 12px;
    color: #14233d;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.08;
}

.rafi-blog-single-image {
    margin: 30px 0;
}

.rafi-blog-single-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
}

.rafi-blog-single-content {
    color: #33445c;
    font-size: 18px;
    line-height: 1.65;
}

/* Comfortable paragraph spacing for easier reading */
.rafi-blog-single-content p {
    margin: 0 0 24px;
}

.rafi-blog-single-content p:last-child {
    margin-bottom: 0;
}

.rafi-blog-single-content img {
    max-width: 100%;
    height: auto;
}

.rafi-blog-single-content a {
    color: #1976ed;
}

.rafi-blog-single-back {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid #e7ebf1;
}

.rafi-blog-single-back a {
    color: #1976ed;
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 900px) {
    .rafi-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .rafi-blog-wrap {
        width: min(100% - 28px, 1240px);
        padding-top: 32px;
    }

    .rafi-blog-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .rafi-blog-single {
        padding: 24px;
        border-radius: 16px;
    }

    .rafi-blog-single-content {
        font-size: 16px;
    }
}
/* =========================================================
   BLOG TOP NAVIGATION
   Home + Login
   ========================================================= */

.rafi-blog-login-bar {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;
    padding: 12px 24px;

    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}


/* Common Button */

.rafi-blog-home-btn,
.rafi-blog-login-btn {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    height: 42px;

    padding: 0 18px;

    border-radius: 10px;

    text-decoration: none !important;

    font-size: 15px;
    font-weight: 700;

    transition:
        all .2s ease;

    box-sizing: border-box;
}


/* =========================================================
   HOME BUTTON
   ========================================================= */

.rafi-blog-home-btn {

    background: #eef2f7;

    color: #172b55 !important;

    border: 1px solid #e1e7ef;

}


.rafi-blog-home-btn:hover {

    background: #e3e9f1;

    color: #102348 !important;

    transform: translateY(-1px);

}


/* =========================================================
   LOGIN BUTTON
   ========================================================= */

.rafi-blog-login-btn {

    background: #172b55;

    color: #ffffff !important;

    border: 1px solid #172b55;

    box-shadow:
        0 4px 12px rgba(23, 43, 85, .15);

}


.rafi-blog-login-btn:hover {

    background: #0f2045;

    color: #ffffff !important;

    transform: translateY(-1px);

    box-shadow:
        0 6px 16px rgba(23, 43, 85, .22);

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .rafi-blog-login-bar {

        padding: 10px 16px;

        gap: 8px;

    }

    .rafi-blog-home-btn,
    .rafi-blog-login-btn {

        height: 40px;

        padding: 0 14px;

        font-size: 14px;

    }

}
/* =========================================================
   RaFi Blog Top Header - Force Visible
   ========================================================= */

.rafi-blog-topbar {
    display: block !important;
    width: 100% !important;
    min-height: 76px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e5e7eb !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 99999 !important;
}

.rafi-blog-nav {
    width: 100% !important;
    max-width: 1280px !important;
    min-height: 56px !important;
    margin: 0 auto 10px !important;
    padding: 0 32px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    box-sizing: border-box !important;
}

.rafi-blog-brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.rafi-blog-brand img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    border-radius: 50% !important;
    display: block !important;
}

.rafi-blog-brand-text {
    display: flex !important;
    flex-direction: column !important;
}

.rafi-blog-brand-name {
    font-size: 25px !important;
    font-weight: 800 !important;
    color: #10264a !important;
}

.rafi-blog-brand-tagline {
    margin-top: 4px !important;
    font-size: 14px !important;
    color: #667085 !important;
}

.rafi-blog-menu {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.rafi-blog-menu a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 11px 18px !important;

    border-radius: 10px !important;

    background: #eef2f7 !important;
    color: #172033 !important;

    text-decoration: none !important;

    font-size: 16px !important;
    font-weight: 600 !important;

    visibility: visible !important;
    opacity: 1 !important;
}

.rafi-blog-menu a:hover {
    background: #dfe7f2 !important;
}

.rafi-blog-heading {
    margin-top: 5px !important;
}


/* Mobile */

@media (max-width: 700px) {

    .rafi-blog-nav {
        padding: 12px 16px !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .rafi-blog-menu {
        width: 100% !important;
        justify-content: center !important;
    }

}

/* RaFi Blog Article Social Interactions */
.rafi-blog-social{margin-top:30px;padding:16px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.rafi-blog-social-summary{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#667085;font-size:14px;margin-bottom:12px}
.rafi-blog-social-summary button{border:0;background:none;color:#667085;font:inherit;cursor:pointer;padding:0}
.rafi-blog-social-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rafi-blog-social-actions>button,.rafi-blog-reaction-trigger{border:1px solid #d0d5dd;background:#fff;color:#172033;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.rafi-blog-social-actions>button:hover,.rafi-blog-reaction-trigger:hover{background:#f8fafc}
.rafi-blog-reaction-wrap{position:relative}
.rafi-blog-reaction-selector{display:none;position:absolute;left:0;bottom:calc(100% + 7px);background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px rgba(16,38,74,.12);padding:6px;gap:4px;z-index:30}
.rafi-blog-reaction-selector.is-open{display:flex}
.rafi-blog-reaction-button{width:42px;height:42px;border:0;background:transparent;border-radius:10px;cursor:pointer;font-size:20px}
.rafi-blog-reaction-button:hover,.rafi-blog-reaction-button.is-active{background:#eef2ff}
.rafi-blog-comments-section{margin-top:30px}
.rafi-blog-comments-heading h2{margin:0 0 14px;color:#10264a;font-size:24px}
.rafi-blog-comment-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin:0 0 18px}
.rafi-blog-comment-form textarea{width:100%;min-height:74px;border:1px solid #d0d5dd;border-radius:10px;padding:10px 12px;resize:vertical;box-sizing:border-box;font:inherit;color:#172033;background:#fff}
.rafi-blog-comment-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
.rafi-blog-comment-form-actions button{border:0;border-radius:9px;padding:8px 14px;background:#10264a;color:#fff;font-weight:700;cursor:pointer};pointer-events:auto!important;position:relative;z-index:5
.rafi-blog-comment-form-actions .rafi-blog-inline-cancel{background:#eef2f7;color:#172033}
.rafi-blog-comments-login-note{padding:14px 16px;border:1px dashed #d0d5dd;background:#f8fafc;border-radius:12px;color:#667085;margin-bottom:16px}
.rafi-blog-comments-area{display:flex;flex-direction:column;gap:14px}
.rafi-blog-comment-item{display:flex;gap:10px;margin-left:calc(var(--comment-depth) * 28px);max-width:100%}
.rafi-blog-comment-avatar-link{flex:0 0 42px;text-decoration:none}
.rafi-blog-comment-avatar-link img{width:42px;height:42px;object-fit:cover;border-radius:50%;display:block}
.rafi-blog-comment-body{min-width:0;flex:1}
.rafi-blog-comment-bubble{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px}
.rafi-blog-comment-author{font-weight:800;color:#10264a;text-decoration:none;display:inline-block;margin-bottom:4px}
.rafi-blog-comment-author:hover{text-decoration:underline}
.rafi-blog-comment-text{color:#172033;line-height:1.55;overflow-wrap:anywhere}
.rafi-blog-comment-text p{margin:0 0 8px}.rafi-blog-comment-text p:last-child{margin-bottom:0}
.rafi-blog-comment-meta{display:flex;align-items:center;gap:10px;padding:5px 3px 0;font-size:12px;color:#667085;flex-wrap:wrap}
.rafi-blog-comment-meta button{border:0;background:none;padding:0;color:#475467;cursor:pointer;font:inherit;font-weight:700}
.rafi-blog-comment-meta button:hover{text-decoration:underline}
.rafi-blog-comment-reactions{display:flex;gap:4px;margin:5px 0 0 2px}
.rafi-blog-comment-reaction{border:0;background:transparent;border-radius:9px;padding:3px 6px;cursor:pointer}
.rafi-blog-comment-reaction:hover,.rafi-blog-comment-reaction.is-active{background:#eef2ff}
.rafi-blog-comment-reaction span{font-size:12px;color:#667085}
.rafi-blog-inline-reply{margin-top:8px}
.rafi-blog-inline-edit{margin:8px 0 0}
.rafi-blog-comments-empty{padding:18px;text-align:center;color:#667085;border:1px dashed #d0d5dd;border-radius:12px}
.rafi-blog-share-menu{position:fixed;left:0;top:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px rgba(16,38,74,.16);padding:8px;z-index:100000}
.rafi-blog-share-menu button{display:block;width:180px;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit;color:#172033}
.rafi-blog-share-menu button:hover{background:#f1f5f9}
.rafi-comment-mention-link{color:#2563eb;font-weight:700;text-decoration:none}.rafi-comment-mention-link:hover{text-decoration:underline}
@media(max-width:700px){
 .rafi-blog-comment-item{margin-left:calc(var(--comment-depth) * 14px)}
 .rafi-blog-social-actions{gap:6px}.rafi-blog-social-actions>button,.rafi-blog-reaction-trigger{padding:9px 11px;font-size:14px}
 .rafi-blog-share-menu{left:0;top:0}
}

/* Frontend Blog article management */
.rafi-blog-article-manage{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:10px 0}
.rafi-blog-article-manage form{margin:0}
.rafi-blog-article-edit,.rafi-blog-article-delete{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:9px;border:1px solid #d0d5dd;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box}
.rafi-blog-article-edit{background:#eef2f7;color:#10264a}.rafi-blog-article-delete{background:#fff;color:#b42318}
.rafi-blog-article-edit:hover,.rafi-blog-article-delete:hover{transform:translateY(-1px)}

/* Responsive YouTube preview inside Blog articles */
.rafi-blog-youtube-embed {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 22px auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 12px;
    background: #000;
}
.rafi-blog-youtube-embed iframe,
.rafi-blog-youtube-embed object,
.rafi-blog-youtube-embed embed {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* =========================================================
   Blog Article Author Bar
   Below article content: full-width, clickable profile
   ========================================================= */
.rafi-blog-single-author{
    display:flex;
    align-items:center;
    gap:16px;
    width:100%;
    max-width:100%;
    margin:28px 0 24px;
    padding:14px 18px;
    border:1px solid #e5eaf1;
    border-radius:14px;
    background:#f8fafc;
    color:#172033;
    text-decoration:none !important;
    box-sizing:border-box;
    transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.rafi-blog-single-author:hover{
    border-color:#cfd8e6;
    box-shadow:0 6px 18px rgba(16,38,74,.10);
    transform:translateY(-1px);
}
.rafi-blog-single-author-avatar{
    flex:0 0 56px;
    width:56px;
    height:56px;
}
.rafi-blog-single-author-avatar img{
    width:56px;
    height:56px;
    object-fit:cover;
    display:block;
    border-radius:50%;
}
.rafi-blog-single-author-info{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.rafi-blog-single-author-label{
    color:#8491a4;
    font-size:13px;
    font-weight:700;
}
.rafi-blog-single-author-name{
    color:#10264a;
    font-size:18px;
    line-height:1.25;
    font-weight:800;
}
@media (max-width:640px){
    .rafi-blog-single-author{
        margin-top:22px;
        padding:12px 14px;
    }
    .rafi-blog-single-author-name{
        font-size:16px;
    }
}


/* Pending Article Review */
.rafi-blog-pending-btn{position:relative;gap:7px!important}.rafi-blog-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#dc3545;color:#fff;font-size:11px;line-height:1;font-weight:800;box-sizing:border-box}


/* ==========================================================
   RaFi Blog - Compact Article Cards
   Requested layout: smaller cards, more articles per page.
   ========================================================== */

.rafi-blog-wrap {
    padding-top: 10px !important;
}

.rafi-blog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.rafi-blog-card {
    border-radius: 14px;
}

.rafi-blog-card-body {
    padding: 14px 15px 16px;
}

.rafi-blog-card h2 {
    margin: 5px 0 6px;
    font-size: 18px;
    line-height: 1.22;
}

.rafi-blog-card p {
    margin: 9px 0 12px;
    line-height: 1.45;
    font-size: 13px;
}

.rafi-blog-card-image {
    aspect-ratio: 16 / 9;
}

.rafi-blog-read-more {
    min-height: 36px;
    padding: 0 13px;
    border-radius: 8px;
    font-size: 14px;
}

.rafi-blog-category {
    font-size: 11px;
    letter-spacing: 1px;
}

.rafi-blog-meta {
    font-size: 12px;
}

@media (max-width: 1000px) {
    .rafi-blog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .rafi-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .rafi-blog-card-body {
        padding: 12px;
    }

    .rafi-blog-card h2 {
        font-size: 17px;
    }
}

@media (max-width: 520px) {
    .rafi-blog-grid {
        grid-template-columns: 1fr;
    }
}
