/*
Theme Name: Kabyapot Premium v3
Theme URI: https://kabyapot.com
Author: Shyamal Mondal
Author URI: https://kabyapot.com
Description: Premium Bengali Literary & News Magazine Theme
Version: 3.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: kabyapot-premium
License: GPL v2 or later
*/

body{
    margin:0;
    padding:0;
    background:#f7f7f7;
    color:#222;
    font-family:"Noto Serif Bengali", serif;
}
.site-header{
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.header-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 0;
}

.site-title{
    margin:0;
    font-size:42px;
}

.site-title a{
    color:#8b0000;
    text-decoration:none;
}

.site-description{
    margin-top:5px;
    color:#666;
}

.primary-menu{
    display:flex;
    list-style:none;
    margin:0;
    padding:0;
}

.primary-menu li a{
    display:block;
    padding:15px 20px;
    color:#fff;
    background:#8b0000;
}

.primary-menu li a:hover{
    background:#a80000;
}

@media(max-width:768px){

.header-top{
    flex-direction:column;
}

.primary-menu{
    display:block;
}

}
.site-footer{
    background:#111;
    color:#fff;
    margin-top:50px;
}

.footer-widgets{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
    padding:40px 0;
}

.footer-widget{
    padding:10px;
}

.footer-title{
    border-bottom:2px solid #8b0000;
    padding-bottom:8px;
    margin-bottom:15px;
}

.footer-bottom{
    border-top:1px solid #333;
    padding:20px 0;
    text-align:center;
}

.footer-menu{
    list-style:none;
    display:flex;
    justify-content:center;
    gap:20px;
    padding:0;
    margin-top:10px;
}

.footer-menu a{
    color:#fff;
}

@media(max-width:768px){
    .footer-widgets{
        grid-template-columns:1fr;
    }

    .footer-menu{
        flex-direction:column;
    }
}
.homepage-widgets{
    margin:40px 0;
}

.homepage-widgets .container{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
}

.homepage-widget-box{
    background:#fff;
    padding:20px;
    border-radius:8px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.widget-title{
    font-size:20px;
    margin-bottom:15px;
    border-left:4px solid #8b0000;
    padding-left:10px;
}

@media(max-width:991px){
    .homepage-widgets .container{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){
    .homepage-widgets .container{
        grid-template-columns:1fr;
    }
}
.breaking-news{
	display:flex;
	align-items:center;
	background:#fff;
	border:1px solid #ddd;
	margin:20px 0;
	overflow:hidden;
}

.breaking-label{
	background:#b30000;
	color:#fff;
	padding:12px 18px;
	font-weight:700;
	white-space:nowrap;
}

.breaking-content{
	flex:1;
	padding:0 15px;
}

.breaking-content a{
	color:#222;
	font-weight:600;
	text-decoration:none;
}

.breaking-content a:hover{
	color:#b30000;
}
.hero-slider{
	margin:25px 0;
}

.slider-wrapper{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:15px;
}

.slide{
	position:relative;
	border-radius:10px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 3px 12px rgba(0,0,0,.08);
}

.slide img{
	width:100%;
	height:220px;
	object-fit:cover;
	display:block;
}

.slide-caption{
	padding:15px;
}

.slide-caption .category{
	display:inline-block;
	background:#8b0000;
	color:#fff;
	padding:4px 10px;
	border-radius:4px;
	font-size:13px;
	margin-bottom:10px;
}

.slide-caption h2{
	font-size:18px;
	line-height:1.5;
	margin:0;
}

.slide-caption h2 a{
	color:#222;
	text-decoration:none;
}

.slide-caption h2 a:hover{
	color:#8b0000;
}

@media(max-width:991px){
	.slider-wrapper{
		grid-template-columns:repeat(2,1fr);
	}
}

@media(max-width:768px){
	.slider-wrapper{
		grid-template-columns:1fr;
	}
}
/* Sidebar */

.content-area{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:30px;
}

.sidebar{
    position:sticky;
    top:20px;
}

.sidebar .widget{
    background:#fff;
    padding:20px;
    margin-bottom:25px;
    border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.sidebar .widget-title{
    font-size:20px;
    margin-bottom:15px;
    border-left:4px solid #8b0000;
    padding-left:10px;
}

@media(max-width:991px){

.content-area{
grid-template-columns:1fr;
}

.sidebar{
position:relative;
top:0;
}

}
.single-post{
    background:#fff;
    padding:30px;
    border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.entry-title{
    font-size:40px;
    line-height:1.4;
    margin-bottom:15px;
}

.post-meta{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    color:#666;
    margin-bottom:20px;
}

.featured-image img{
    width:100%;
    border-radius:10px;
    margin-bottom:25px;
}

.entry-content{
    font-size:20px;
    line-height:2;
}

.post-tags{
    margin-top:40px;
    padding-top:20px;
    border-top:1px solid #ddd;
}
/* ===== Author Box ===== */

.author-box{
	display:flex;
	gap:25px;
	margin:50px 0;
	padding:25px;
	background:#fff;
	border:1px solid #e5e5e5;
	border-radius:12px;
	align-items:center;
}

.author-avatar img{
	width:120px;
	height:120px;
	border-radius:50%;
	border:4px solid #8b0000;
}

.author-info{
	flex:1;
}

.author-name{
	margin:0 0 10px;
	font-size:28px;
	color:#8b0000;
}

.author-bio{
	color:#555;
	line-height:1.8;
	margin-bottom:15px;
}

.author-button{
	display:inline-block;
	padding:10px 20px;
	background:#8b0000;
	color:#fff;
	border-radius:6px;
	text-decoration:none;
	font-weight:600;
}

.author-button:hover{
	background:#600000;
}

@media(max-width:768px){

.author-box{
	flex-direction:column;
	text-align:center;
}

}
/* ===== Author Page ===== */

.author-header{
display:flex;
gap:30px;
align-items:center;
background:#fff;
padding:30px;
border-radius:10px;
margin:30px 0;
}

.author-header img{
border-radius:50%;
}

.author-details{
flex:1;
}

.author-details h1{
margin-bottom:10px;
font-size:36px;
}

.author-posts{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
margin:40px 0;
}

.author-post-card{
background:#fff;
padding:15px;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.author-post-card img{
width:100%;
height:220px;
object-fit:cover;
border-radius:8px;
}

.author-post-card h2{
font-size:22px;
margin:15px 0;
}

@media(max-width:991px){

.author-posts{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.author-header{
flex-direction:column;
text-align:center;
}

.author-posts{
grid-template-columns:1fr;
}

}
/* Related Posts */

.related-posts{
	margin:50px 0;
}

.related-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}

.related-card{
	background:#fff;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.related-card img{
	width:100%;
	height:180px;
	object-fit:cover;
}

.related-card h3{
	padding:15px;
	font-size:18px;
	line-height:1.5;
	color:#222;
}

.related-card a{
	text-decoration:none;
}

@media(max-width:991px){
	.related-grid{
		grid-template-columns:repeat(2,1fr);
	}
}

@media(max-width:768px){
	.related-grid{
		grid-template-columns:1fr;
	}
}
.no-results{
background:#fff;
padding:40px;
border-radius:10px;
text-align:center;
box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.no-results h2{
font-size:32px;
margin-bottom:15px;
color:#8b0000;
}

.no-results p{
margin-bottom:20px;
}
/* ===== 404 Page ===== */

.error-404{
    max-width:700px;
    margin:80px auto;
    text-align:center;
    background:#fff;
    padding:50px;
    border-radius:12px;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
}

.error-404 h1{
    font-size:120px;
    color:#8b0000;
    margin:0;
}

.error-404 h2{
    margin:15px 0;
    font-size:34px;
}

.error-404 p{
    color:#666;
    line-height:1.8;
    margin-bottom:30px;
}

.home-btn{
    display:inline-block;
    padding:12px 25px;
    background:#8b0000;
    color:#fff;
    text-decoration:none;
    border-radius:6px;
    font-weight:700;
}

.home-btn:hover{
    background:#600000;
}
/* Archive Grid */

.post-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.post-card{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
}

.post-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.post-content{
    padding:20px;
}

.post-date{
    color:#888;
    font-size:14px;
}

.post-card h2{
    font-size:24px;
    margin:10px 0;
}

.post-card a{
    text-decoration:none;
}

@media(max-width:991px){
.post-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:768px){
.post-grid{
grid-template-columns:1fr;
}
}
/* ==========================
   Static Page
========================== */

.page-content{
    background:#fff;
    padding:30px;
    border-radius:12px;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
}

.page-title{
    font-size:38px;
    margin-bottom:20px;
    color:#8b0000;
}

.page-thumbnail img{
    width:100%;
    border-radius:10px;
    margin-bottom:25px;
}

.page-content .entry-content{
    font-size:19px;
    line-height:1.9;
}

.page-links{
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid #ddd;
}
/* ===== Breadcrumb ===== */

.kabyapot-breadcrumb{
	margin:20px 0;
	padding:12px 18px;
	background:#f8f8f8;
	border-radius:8px;
	font-size:15px;
}

.kabyapot-breadcrumb a{
	color:#8b0000;
	text-decoration:none;
	font-weight:600;
}

.kabyapot-breadcrumb span{
	margin:0 8px;
	color:#666;
}
/* ===== Premium Mobile Menu ===== */

.menu-toggle{
display:none;
background:none;
border:none;
font-size:28px;
cursor:pointer;
}

.menu-close{
background:none;
border:none;
font-size:34px;
float:right;
margin:15px;
cursor:pointer;
}

.menu-overlay{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.45);
z-index:998;
}

.menu-overlay.active{
display:block;
}

@media(max-width:991px){

.menu-toggle{
display:block;
}

.main-navigation{
position:fixed;
top:0;
left:-320px;
width:300px;
height:100%;
background:#fff;
overflow-y:auto;
transition:.35s;
z-index:999;
padding-top:20px;
box-shadow:3px 0 12px rgba(0,0,0,.15);
}

.main-navigation.active{
left:0;
}

.primary-menu{
list-style:none;
margin:0;
padding:60px 0 0;
}

.primary-menu li{
border-bottom:1px solid #eee;
}

.primary-menu li a{
display:block;
padding:15px 20px;
text-decoration:none;
font-size:17px;
color:#222;
}

.primary-menu li a:hover{
background:#8b0000;
color:#fff;
}

}
/* Header Icons */

.header-icons{
    display:flex;
    align-items:center;
    gap:12px;
}

.search-toggle,
.dark-mode-toggle{
    background:none;
    border:none;
    font-size:22px;
    cursor:pointer;
    color:#222;
}

.search-toggle:hover,
.dark-mode-toggle:hover{
    color:#8b0000;
}
.ajax-search-results{
margin-top:20px;
padding:0;
list-style:none;
}

.ajax-search-results li{
padding:12px;
border-bottom:1px solid #eee;
}

.ajax-search-results li a{
text-decoration:none;
color:#222;
display:block;
}

.ajax-search-results li a:hover{
color:#8b0000;
}
/* ===== Advertisement ===== */

.kabyapot-ad{
	margin:25px 0;
	text-align:center;
	overflow:hidden;
}

.kabyapot-ad img{
	max-width:100%;
	height:auto;
}
/* Search Form */

.kabyapot-search-form{
display:flex;
align-items:center;
gap:10px;
margin:20px 0;
}

.search-field{
flex:1;
padding:12px 15px;
font-size:16px;
border:2px solid #8b0000;
border-radius:6px;
outline:none;
}

.search-submit{
background:#8b0000;
color:#fff;
border:none;
padding:12px 20px;
border-radius:6px;
cursor:pointer;
transition:.3s;
}

.search-submit:hover{
background:#600000;
}
/* Comments */

.comments-area{
margin-top:40px;
padding:25px;
background:#fff;
border-radius:8px;
}

.comment-list{
list-style:none;
padding:0;
}

.comment{
margin-bottom:20px;
padding-bottom:20px;
border-bottom:1px solid #eee;
}

.comment-author img{
border-radius:50%;
margin-right:10px;
}

.comment-form textarea,
.comment-form input{
width:100%;
padding:12px;
margin-bottom:12px;
border:1px solid #ddd;
border-radius:5px;
}

.comment-form input[type="submit"]{
background:#8b0000;
color:#fff;
border:none;
padding:12px 25px;
cursor:pointer;
}
/* ===== Content Card ===== */

.post-card{
	background:#fff;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 2px 10px rgba(0,0,0,.08);
	margin-bottom:30px;
	transition:.3s;
}

.post-card:hover{
	transform:translateY(-4px);
}

.post-thumbnail img{
	width:100%;
	height:240px;
	object-fit:cover;
	display:block;
}

.post-content{
	padding:20px;
}

.post-meta{
	font-size:14px;
	color:#777;
	margin-bottom:10px;
	display:flex;
	gap:15px;
}

.entry-title{
	font-size:24px;
	line-height:1.5;
	margin-bottom:15px;
}

.entry-title a{
	color:#222;
	text-decoration:none;
}

.entry-title a:hover{
	color:#8b0000;
}

.read-more{
	display:inline-block;
	margin-top:15px;
	font-weight:700;
	text-decoration:none;
	color:#8b0000;
}
/* ===== No Results ===== */

.no-results{
	background:#fff;
	padding:40px;
	border-radius:10px;
	text-align:center;
	margin:30px 0;
	box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.no-results .page-title{
	font-size:28px;
	color:#8b0000;
	margin-bottom:15px;
}

.no-results p{
	font-size:16px;
	color:#666;
	margin-bottom:20px;
}
/* ===== Page ===== */

.page-article{
	background:#fff;
	padding:30px;
	border-radius:10px;
	box-shadow:0 2px 10px rgba(0,0,0,.08);
	margin-bottom:30px;
}

.page-article .entry-title{
	font-size:34px;
	margin-bottom:20px;
	color:#222;
}

.page-article .entry-content{
	font-size:18px;
	line-height:1.9;
}

.page-links{
	margin-top:25px;
	font-weight:bold;
}

.edit-link{
	margin-top:20px;
}
/* ===== Single Post ===== */

.single-post-article{
	background:#fff;
	padding:30px;
	border-radius:10px;
	box-shadow:0 2px 12px rgba(0,0,0,.08);
	margin-bottom:30px;
}

.single-post-article .post-thumbnail img{
	width:100%;
	height:auto;
	border-radius:8px;
	margin-bottom:20px;
}

.single-post-article .entry-title{
	font-size:36px;
	line-height:1.4;
	margin-bottom:15px;
}

.entry-meta{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	color:#666;
	font-size:15px;
	margin-bottom:25px;
}

.entry-content{
	font-size:19px;
	line-height:2;
}

.entry-content img{
	max-width:100%;
	height:auto;
	border-radius:8px;
}

.page-links{
	margin-top:25px;
}
/* ===== Home Page ===== */

.archive-header{
    margin:25px 0;
}

.archive-header h1{
    font-size:34px;
    border-left:5px solid #8b0000;
    padding-left:15px;
}

.pagination{
    margin:40px 0;
    text-align:center;
}

.pagination .page-numbers{
    display:inline-block;
    padding:10px 15px;
    margin:0 5px;
    border:1px solid #ddd;
    text-decoration:none;
    border-radius:5px;
}

.pagination .current{
    background:#8b0000;
    color:#fff;
    border-color:#8b0000;
}
.kabyapot-post-tools{
display:flex;
gap:15px;
margin:30px 0;
}

.kabyapot-post-tools button{
padding:10px 18px;
border:none;
background:#8b0000;
color:#fff;
cursor:pointer;
border-radius:5px;
font-size:15px;
}

.kabyapot-post-tools button:hover{
background:#600000;
}
/* ===== Reading Progress Bar ===== */

#reading-progress{
    position:fixed;
    top:0;
    left:0;
    width:0;
    height:4px;
    background:#8b0000;
    z-index:99999;
    transition:width .15s linear;
}