/*=========================================
RESET
=========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.cba-wrapper{

    display:grid;

    grid-template-columns:3fr 1fr;

    gap:40px;

    margin:60px 0;

    align-items:start;

}

.cba-left{

    min-width:0;

}

.cba-sidebar{

    position:sticky;

    top:30px;

}

/*=========================================
TOP BAR
=========================================*/

.cba-top-bar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    margin-bottom:40px;

}

.cba-top-bar h2{

    font-size:46px;

    font-weight:700;

    color:#111;

}

/*=========================================
SEARCH
=========================================*/

.cba-search-form{

    display:flex;

    gap:12px;

}

.cba-search-form input{

    width:320px;

    height:52px;

    padding:0 18px;

    border:1px solid #ddd;

    border-radius:10px;

    outline:none;

}

.cba-search-form button{

    padding:0 24px;

    border:none;

    border-radius:10px;

    background:#E63973;

    color:#fff;

    cursor:pointer;

}

/*=========================================
BLOG GRID
=========================================*/

.cba-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

/*=========================================
BLOG CARD
=========================================*/

.cba-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.35s;

    display:flex;

    flex-direction:column;

    height:100%;

}

.cba-card:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

/*=========================================
FEATURED IMAGE
=========================================*/

.cba-image{

    display:block;

    width:100%;

    height:190px;

    background:#f7f7f7;

    overflow:hidden;

}

.cba-image img{

    width:100%;

    height:100%;

    object-fit:contain;

    display:block;

    transition:.35s;

}

.cba-card:hover .cba-image img{

    transform:scale(1.05);

}

/*=========================================
CONTENT
=========================================*/

.cba-content{

    padding:22px;

    display:flex;

    flex-direction:column;

    flex:1;

}

/*=========================================
META
=========================================*/

.cba-meta{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:14px;

    font-size:13px;

    color:#9a9a9a;

}

.cba-date{

    font-weight:500;

}

.cba-author{

    font-weight:500;

}

/*=========================================
TITLE
=========================================*/

.cba-content h3{

    margin:0 0 14px;

    font-size:24px;

    line-height:1.45;

    font-weight:700;

}

.cba-content h3 a{

    color:#111;

    text-decoration:none;

    transition:.3s;

}

.cba-content h3 a:hover{

    color:#E63973;

}

/*=========================================
EXCERPT
=========================================*/

.cba-content p{

    color:#666;

    font-size:15px;

    line-height:1.8;

    margin-bottom:20px;

    flex:1;

}

/*=========================================
READ MORE
=========================================*/

.cba-read-more{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#E63973;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.cba-read-more:hover{

    gap:12px;

}

/*=========================================
NO POSTS
=========================================*/

.cba-empty{

    grid-column:1/-1;

    text-align:center;

    padding:60px 20px;

    background:#fafafa;

    border-radius:16px;

    color:#777;

}
/*=========================================
SIDEBAR
=========================================*/

.cba-sidebar{

    display:flex;

    flex-direction:column;

    gap:30px;

}

/*=========================================
WIDGET
=========================================*/

.cba-widget{

    background:#fff;

    border-radius:18px;

    padding:30px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.cba-widget h3{

    font-size:34px;

    font-weight:700;

    color:#111;

    margin-bottom:25px;

}

/*=========================================
CATEGORY LIST
=========================================*/

.cba-category-list{

    list-style:none;

    margin:0;

    padding:0;

}

.cba-category-list li{

    border-bottom:1px solid #f1f1f1;

}

.cba-category-list li:last-child{

    border-bottom:none;

}

.cba-category-list li a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:16px 0;

    text-decoration:none;

    color:#333;

    font-size:17px;

    transition:.3s;

}

.cba-category-list li a:hover{

    color:#E63973;

}

.cba-category-list li.active>a{

    color:#E63973;

    font-weight:700;

}

.cba-category-count{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:34px;

    height:34px;

    padding:0 10px;

    background:#F4F4F4;

    border-radius:50px;

    font-size:13px;

    color:#666;

    font-weight:600;

}

.cba-category-list li.active .cba-category-count{

    background:#E63973;

    color:#fff;

}

/*=========================================
CATEGORY HOVER
=========================================*/

.cba-category-list li a{

    position:relative;

}

.cba-category-list li a::after{

    content:"›";

    font-size:20px;

    color:#bbb;

    transition:.3s;

}

.cba-category-list li a:hover::after{

    color:#E63973;

    transform:translateX(4px);

}

/*=========================================
CATEGORY DROPDOWN (Mobile)
=========================================*/

.categories-widget{

    overflow:hidden;

}

@media(max-width:767px){

    .categories-widget{

        padding:0;

    }

    .categories-widget h3{

        margin:0;

        padding:18px 22px;

        background:#fafafa;

        cursor:pointer;

        position:relative;

        font-size:24px;

    }

    .categories-widget h3::after{

        content:"+";

        position:absolute;

        right:22px;

        top:50%;

        transform:translateY(-50%);

        font-size:28px;

        transition:.3s;

    }

    .categories-widget.active h3::after{

        content:"−";

    }

    .categories-widget .cba-category-list{

        display:none;

        padding:0 22px 20px;

    }

    .categories-widget.active .cba-category-list{

        display:block;

    }

}

/*=========================================
LATEST POST
=========================================*/

.latest-widget{

    background:#fff;

    border-radius:18px;

    padding:30px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.latest-widget h3{

    font-size:34px;

    font-weight:700;

    margin-bottom:28px;

    color:#111;

}

/*=========================================
LATEST ITEM
=========================================*/

.latest-post-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    text-decoration:none;

    margin-bottom:25px;

    color:#111;

    transition:.35s;

}

.latest-post-item:last-child{

    margin-bottom:0;

}

.latest-post-item:hover{

    transform:translateX(5px);

}

/*=========================================
IMAGE
=========================================*/

.latest-thumb{

    flex:0 0 110px;

    max-width:110px;

}

.latest-thumb img{

    width:110px;

    height:80px;

    border-radius:10px;

    object-fit:cover;

    display:block;

}

/*=========================================
CONTENT
=========================================*/

.latest-content{

    flex:1;

    min-width:0;

}

.latest-date{

    font-size:13px;

    color:#9b9b9b;

    margin-bottom:8px;

    font-weight:500;

}

.latest-content h4{

    margin:0;

    font-size:18px;

    line-height:1.5;

    color:#111;

    font-weight:600;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

}

.latest-arrow{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:34px;

    height:34px;

    margin-top:12px;

    border-radius:50%;

    background:#f5f5f5;

    color:#222;

    font-size:18px;

    transition:.35s;

}

.latest-post-item:hover .latest-arrow{

    background:#E63973;

    color:#fff;

    transform:translate(4px,-4px);

}

.latest-post-item:hover h4{

    color:#E63973;

}

/*=========================================
DIVIDER
=========================================*/

.latest-post-item{

    padding-bottom:22px;

    border-bottom:1px solid #f1f1f1;

}

.latest-post-item:last-child{

    border-bottom:none;

    padding-bottom:0;

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:767px){

    .latest-widget{

        padding:22px;

    }

    .latest-widget h3{

        font-size:28px;

    }

    .latest-thumb{

        flex:0 0 90px;

        max-width:90px;

    }

    .latest-thumb img{

        width:90px;

        height:70px;

    }

    .latest-content h4{

        font-size:16px;

    }

    .latest-date{

        font-size:12px;

    }

    .latest-arrow{

        width:30px;

        height:30px;

        font-size:16px;

    }

}
/*=====================================================
PAGINATION
======================================================*/

.cba-pagination{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:12px;

    margin:50px 0 20px;

}

.cba-pagination .page-numbers{

    display:flex;

    justify-content:center;

    align-items:center;

    width:46px;

    height:46px;

    border:1px solid #E5E5E5;

    border-radius:50%;

    background:#fff;

    color:#222;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.cba-pagination .page-numbers:hover{

    background:#E63973;

    color:#fff;

    border-color:#E63973;

}

.cba-pagination .current{

    background:#E63973;

    color:#fff;

    border-color:#E63973;

}

.cba-pagination .prev,
.cba-pagination .next{

    width:auto;

    padding:0 20px;

    border-radius:40px;

}

/*=====================================================
TABLET
======================================================*/

@media (max-width:1024px){

    .cba-wrapper{

        grid-template-columns:1fr;

    }

    .cba-sidebar{

        position:relative;

        top:0;

    }

    .cba-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

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

@media (max-width:767px){

    .cba-wrapper{

        display:flex;

        flex-direction:column;

    }

    .cba-left{

        order:2;

    }

    .cba-sidebar{

        order:1;

        position:relative;

        width:100%;

        margin-bottom:25px;

    }

    .cba-grid{

        grid-template-columns:1fr;

        gap:22px;

    }

    .cba-top-bar{

        flex-direction:column;

        align-items:flex-start;

        gap:18px;

    }

    .cba-top-bar h2{

        font-size:32px;

    }

    .cba-search-form{

        width:100%;

        flex-direction:column;

    }

    .cba-search-form input{

        width:100%;

    }

    .cba-search-form button{

        width:100%;

        height:48px;

    }

    .cba-card{

        border-radius:16px;

    }

    .cba-image{

        height:170px;

    }

    .cba-content{

        padding:18px;

    }

    .cba-content h3{

        font-size:21px;

    }

    .cba-content p{

        font-size:14px;

    }

    .cba-pagination{

        gap:8px;

        margin-top:35px;

    }

    .cba-pagination .page-numbers{

        width:40px;

        height:40px;

        font-size:14px;

    }

}

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

@media (max-width:480px){

    .cba-top-bar h2{

        font-size:28px;

    }

    .cba-widget{

        padding:20px;

    }

    .cba-widget h3{

        font-size:26px;

    }

    .cba-image{

        height:150px;

    }

    .cba-meta{

        flex-direction:column;

        align-items:flex-start;

        gap:6px;

    }

    .cba-content h3{

        font-size:19px;

    }

}

/* Single post */

/*=====================================================
SINGLE BLOG
======================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.cba-single-wrapper{

    max-width:1400px;

    margin:60px auto;

    display:grid;

    grid-template-columns:2.3fr 1fr;

    gap:50px;

    align-items:start;

}

.cba-single-content{

    min-width:0;

}

.cba-single-sidebar{

    position:sticky;

    top:30px;

}

/*=====================================================
CARD
======================================================*/

.cba-single-card{

    background:#fff;

    border-radius:18px;

    padding:35px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

/*=====================================================
TITLE
======================================================*/

.cba-single-title{

    font-size:48px;

    line-height:1.2;

    font-weight:700;

    color:#111;

    margin-bottom:25px;

}

/*=====================================================
META
======================================================*/

.cba-single-meta{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    align-items:center;

    color:#666;

    font-size:15px;

    margin-bottom:30px;

}

.cba-meta-divider{

    width:5px;

    height:5px;

    background:#ccc;

    border-radius:50%;

}

/*=====================================================
FEATURED IMAGE
======================================================*/

.cba-single-image{

    margin-bottom:35px;

    border-radius:18px;

    overflow:hidden;

    background:#f8f8f8;

}

.cba-single-image img{

    width:100%;

    height:auto;

    display:block;

    border-radius:18px;

}

/*=====================================================
CONTENT
======================================================*/

.cba-single-body{

    color:#444;

    font-size:17px;

    line-height:1.9;

}

.cba-single-body>*{

    margin-bottom:24px;

}

.cba-single-body p{

    margin-bottom:24px;

}

.cba-single-body h2{

    font-size:34px;

    color:#111;

    margin:50px 0 20px;

    line-height:1.3;

    font-weight:700;

}

.cba-single-body h3{

    font-size:28px;

    color:#111;

    margin:40px 0 18px;

    line-height:1.35;

    font-weight:700;

}

.cba-single-body h4{

    font-size:22px;

    color:#111;

    margin:30px 0 16px;

    font-weight:700;

}

/*=====================================================
LISTS
======================================================*/

.cba-single-body ul,
.cba-single-body ol{

    margin:20px 0 25px 30px;

}

.cba-single-body li{

    margin-bottom:12px;

    line-height:1.8;

}

/*=====================================================
LINKS
======================================================*/

.cba-single-body a{

    color:#E63973;

    text-decoration:none;

    transition:.3s;

}

.cba-single-body a:hover{

    text-decoration:underline;

}

/*=====================================================
BLOCKQUOTE
======================================================*/

.cba-single-body blockquote{

    margin:35px 0;

    padding:25px 30px;

    border-left:5px solid #E63973;

    background:#fafafa;

    border-radius:10px;

    font-style:italic;

    color:#555;

}

/*=====================================================
IMAGES INSIDE CONTENT
======================================================*/

.cba-single-body img{

    max-width:100%;

    height:auto;

    border-radius:14px;

    display:block;

    margin:30px auto;

}

/*=====================================================
TABLES
======================================================*/

.cba-single-body table{

    width:100%;

    border-collapse:collapse;

    margin:30px 0;

}

.cba-single-body table th{

    background:#E63973;

    color:#fff;

    padding:14px;

    text-align:left;

}

.cba-single-body table td{

    border:1px solid #eee;

    padding:14px;

}

/*=====================================================
CODE
======================================================*/

.cba-single-body pre{

    background:#1f1f1f;

    color:#fff;

    padding:20px;

    overflow:auto;

    border-radius:12px;

    margin:30px 0;

}

.cba-single-body code{

    font-family:Consolas, monospace;

}

/*=====================================================
SIDEBAR
======================================================*/

.cba-single-sidebar{

    display:flex;

    flex-direction:column;

    gap:30px;

}

/*=====================================================
WIDGET
======================================================*/

.cba-single-sidebar .cba-widget{

    background:#fff;

    border-radius:18px;

    padding:30px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.cba-single-sidebar .cba-widget h3{

    font-size:32px;

    font-weight:700;

    color:#111;

    margin-bottom:25px;

}

/*=====================================================
SEARCH
======================================================*/

.cba-sidebar-search{

    display:flex;

    gap:12px;

}

.cba-sidebar-search input{

    flex:1;

    height:50px;

    padding:0 18px;

    border:1px solid #ddd;

    border-radius:10px;

    outline:none;

    font-size:15px;

    transition:.3s;

}

.cba-sidebar-search input:focus{

    border-color:#E63973;

}

.cba-sidebar-search button{

    width:52px;

    border:none;

    border-radius:10px;

    background:#E63973;

    color:#fff;

    font-size:18px;

    cursor:pointer;

    transition:.3s;

}

.cba-sidebar-search button:hover{

    background:#c92d62;

}

/*=====================================================
CATEGORY LIST
======================================================*/

.cba-category-list{

    list-style:none;

    margin:0;

    padding:0;

}

.cba-category-list li{

    border-bottom:1px solid #efefef;

}

.cba-category-list li:last-child{

    border-bottom:none;

}

.cba-category-list li a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:16px 0;

    text-decoration:none;

    color:#333;

    font-size:16px;

    font-weight:500;

    transition:.3s;

}

.cba-category-list li a:hover{

    color:#E63973;

    padding-left:8px;

}

.cba-category-count{

    min-width:34px;

    height:34px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50px;

    background:#f5f5f5;

    color:#666;

    font-size:13px;

    font-weight:600;

}

/*=====================================================
LATEST ARTICLES
======================================================*/

.latest-widget{

    padding:30px;

}

.latest-post-item{

    display:flex;

    gap:15px;

    margin-bottom:22px;

    text-decoration:none;

    color:#111;

}

.latest-post-item:last-child{

    margin-bottom:0;

}

.latest-thumb{

    flex:0 0 95px;

}

.latest-thumb img{

    width:95px;

    height:72px;

    object-fit:cover;

    border-radius:10px;

    display:block;

}

.latest-content{

    flex:1;

    min-width:0;

}

.latest-date{

    font-size:13px;

    color:#999;

    margin-bottom:8px;

}

.latest-content h4{

    font-size:17px;

    line-height:1.5;

    margin:0;

    color:#111;

    font-weight:600;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

}

.latest-arrow{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:32px;

    height:32px;

    margin-top:10px;

    border-radius:50%;

    background:#f4f4f4;

    transition:.3s;

}

.latest-post-item:hover .latest-arrow{

    background:#E63973;

    color:#fff;

    transform:translate(4px,-4px);

}

.latest-post-item:hover h4{

    color:#E63973;

}

/*=====================================================
CONTACT FORM
======================================================*/

.contact-widget .elementor{

    margin-top:15px;

}

.contact-widget input,
.contact-widget textarea,
.contact-widget select{

    width:100%;

    border-radius:10px;

}

.contact-widget button{

    border-radius:10px;

}

/*=====================================================
RELATED ARTICLES
======================================================*/

.cba-related-posts{

    margin-top:60px;

}

.cba-related-posts h2{

    font-size:36px;

    font-weight:700;

    color:#111;

    margin-bottom:30px;

}

.cba-related-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.cba-related-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.35s;

}

.cba-related-card:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.cba-related-image{

    display:block;

    overflow:hidden;

}

.cba-related-image img{

    width:100%;

    height:220px;

    object-fit:cover;

    display:block;

    transition:.35s;

}

.cba-related-card:hover .cba-related-image img{

    transform:scale(1.06);

}

.cba-related-content{

    padding:22px;

}

.cba-related-date{

    display:block;

    color:#999;

    font-size:13px;

    margin-bottom:10px;

}

.cba-related-content h3{

    margin:0 0 12px;

    font-size:22px;

    line-height:1.45;

    font-weight:700;

}

.cba-related-content h3 a{

    color:#111;

    text-decoration:none;

    transition:.3s;

}

.cba-related-content h3 a:hover{

    color:#E63973;

}

.cba-related-content p{

    color:#666;

    line-height:1.8;

    margin-bottom:18px;

    font-size:15px;

}

.cba-related-content .cba-read-more{

    color:#E63973;

    text-decoration:none;

    font-weight:600;

}

/*=====================================================
TABLET
======================================================*/

@media(max-width:1024px){

    .cba-single-wrapper{

        grid-template-columns:1fr;

        gap:40px;

    }

    .cba-single-sidebar{

        position:relative;

        top:0;

    }

    .cba-related-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

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

@media(max-width:767px){

    .cba-single-wrapper{

        display:block;

    }

    .cba-single-card{

        padding:20px;

    }

    .cba-single-title{

        font-size:32px;

    }

    .cba-single-meta{

        gap:10px;

        font-size:14px;

    }

    .cba-single-image{

        margin-bottom:25px;

    }

    .cba-single-sidebar{

        margin-top:35px;

    }

    .cba-sidebar-search{

        flex-direction:column;

    }

    .cba-sidebar-search input{

        width:100%;

    }

    .cba-sidebar-search button{

        width:100%;

        height:48px;

    }

    .cba-related-grid{

        grid-template-columns:1fr;

        gap:22px;

    }

    .cba-related-image img{

        height:200px;

    }

    .cba-related-content{

        padding:18px;

    }

    .cba-related-content h3{

        font-size:20px;

    }

}

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

@media(max-width:480px){

    .cba-single-title{

        font-size:28px;

    }

    .cba-single-meta{

        flex-direction:column;

        align-items:flex-start;

    }

    .cba-single-body{

        font-size:16px;

    }

    .cba-single-body h2{

        font-size:28px;

    }

    .cba-single-body h3{

        font-size:24px;

    }

    .cba-widget{

        padding:20px;

    }

    .cba-widget h3{

        font-size:26px;

    }

}