/*
Theme Name: InfoShqip Pro
Theme URI: https://infoshqip.al
Author: InfoShqip
Author URI: https://infoshqip.al
Description: Professional news magazine WordPress theme for InfoShqip.al
Version: 1.0
Text Domain: infoshqip-pro
*/

:root{
  --primary:#b91c1c;
  --primary-dark:#991b1b;
  --dark:#111827;
  --dark-2:#1f2937;
  --muted:#6b7280;
  --light:#f8fafc;
  --border:#e5e7eb;
  --white:#ffffff;
  --container:1280px;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html{margin:0;padding:0;scroll-behavior:smooth}
body{
  margin:0;
  padding:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--dark);
  background:#f5f7fb;
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
a:hover{color:var(--primary)}
ul{margin:0;padding:0;list-style:none}
input,button,textarea,select{font:inherit}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 16px;
}

.site-wrap{min-height:100vh}
.section{padding:24px 0}
.content-area{padding:24px 0 40px}

/* Topbar */
.topbar{
  background:var(--dark);
  color:#fff;
  font-size:14px;
}
.topbar .wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:10px 0;
}
.topbar-links{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.topbar a{color:#fff;opacity:.92}
.topbar a:hover{opacity:1;color:#fff}

/* Header */
.site-header{
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.05);
  position:sticky;
  top:0;
  z-index:1000;
}
.premium-header{box-shadow:0 10px 30px rgba(0,0,0,.05)}

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

.logo-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}

.site-logo{
  display:inline-block;
  font-size:32px;
  font-weight:800;
  color:var(--dark);
  letter-spacing:.3px;
  line-height:1.1;
}
.site-logo span{color:var(--primary)}

.site-tagline{
  font-size:13px;
  color:var(--muted);
  margin-top:2px;
}

.header-right-zone{
  min-width:320px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.header-ad-box{
  min-height:90px;
  min-width:728px;
  max-width:100%;
  display:grid;
  place-items:center;
  background:#f9fafb;
  border:2px dashed var(--border);
  border-radius:12px;
  color:var(--muted);
  padding:12px;
  text-align:center;
}

/* Buttons */
.button,
.mobile-menu-toggle{
  border:none;
  background:var(--primary);
  color:#fff;
  padding:10px 14px;
  border-radius:10px;
  cursor:pointer;
  font-weight:700;
  transition:.2s ease;
}
.button:hover,
.mobile-menu-toggle:hover{
  background:var(--primary-dark);
  color:#fff;
}

/* Mobile toggle */
.mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:10px;
  box-shadow:var(--shadow);
  background:#fff;
}
.mobile-menu-toggle span{
  display:block;
  height:2px;
  background:var(--dark);
  margin:6px 0;
  transition:.25s ease;
}
.mobile-menu-toggle.is-active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.mobile-menu-toggle.is-active span:nth-child(2){opacity:0}
.mobile-menu-toggle.is-active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Navigation */
.main-nav{
  background:#fff;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.nav-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.primary-menu-list{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  padding:14px 0;
  list-style:none;
  margin:0;
}
.primary-menu-list li a{
  font-weight:700;
  color:var(--dark);
  display:block;
}
.primary-menu-list li a:hover,
.primary-menu-list .current-menu-item a{
  color:var(--primary);
}

.premium-nav{transition:.3s ease}
.nav-search{
  min-width:290px;
}
.nav-search .search-form{
  min-width:280px;
}

/* Breaking news */
.breaking-bar{
  background:var(--primary);
  color:#fff;
  overflow:hidden;
}
.breaking-inner{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 0;
}
.breaking-label{
  font-weight:800;
  white-space:nowrap;
  background:rgba(255,255,255,.12);
  padding:6px 12px;
  border-radius:999px;
}

.breaking-items{
  display:flex;
  gap:28px;
  align-items:center;
  white-space:nowrap;
}
.breaking-items span{
  display:inline-block;
}
.breaking-items a{
  color:#fff;
}
.breaking-items a:hover{
  color:#fff;
  opacity:.85;
}

.ticker-track-wrap{
  overflow:hidden;
  flex:1;
  position:relative;
}
.ticker-track{
  display:flex;
  align-items:center;
  min-width:max-content;
  animation:infoshqipTicker 28s linear infinite;
}

@keyframes infoshqipTicker{
  0%{transform:translateX(0)}
  100%{transform:translateX(-35%)}
}

/* Breadcrumb */
.breadcrumb-wrap{
  background:#fff;
  border-bottom:1px solid var(--border);
}
.breadcrumb{
  padding:12px 0;
  font-size:14px;
  color:var(--muted);
}
.breadcrumb a{color:inherit}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb span{margin:0 8px;color:#9ca3af}

/* General cards and layout */
.card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  border:1px solid rgba(0,0,0,.02);
}
.content{
  padding:16px;
}

.two-col{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:24px;
}
.home-top-layout{align-items:start}
.news-split-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.posts-2-custom{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.posts-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.posts-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.section-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  font-size:22px;
  font-weight:800;
}
.section-title h2{
  margin:0;
  font-size:24px;
  line-height:1.2;
}
.section-title::before{
  content:"";
  width:6px;
  height:24px;
  background:var(--primary);
  border-radius:999px;
}

/* Hero */
.hero-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:18px;
}
.hero-main,
.hero-side .card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  background:#000;
}
.hero-main{min-height:420px}
.hero-side{
  display:grid;
  gap:18px;
}

.thumb,
.post-thumb{
  display:block;
  background:#ddd;
  overflow:hidden;
}
.hero-main .thumb,
.hero-side .thumb{
  aspect-ratio:16/9;
}
.post-thumb{
  aspect-ratio:16/10;
}
.thumb img,
.post-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.category-badge{
  display:inline-block;
  background:var(--primary);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  margin-bottom:10px;
}

.post-title{
  margin:0 0 8px;
  line-height:1.3;
  font-weight:800;
  font-size:18px;
}
.hero-main .post-title{
  font-size:36px;
}
.post-meta{
  color:var(--muted);
  font-size:13px;
  margin-top:8px;
}

/* Cards and lists */
.post-card{
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.post-card .post-thumb{
  width:100%;
  height:200px;
  object-fit:cover;
}
.compact-card .content{padding:14px}
.compact-card .post-title{font-size:16px}

.list-posts{
  display:grid;
  gap:14px;
}
.list-item{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  align-items:center;
}
.list-item .post-thumb{
  width:120px;
  height:85px;
  object-fit:cover;
  border-radius:12px;
}
.list-item .post-thumb img{
  border-radius:12px;
}

/* Sidebar */
.sidebar-box{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
  border:1px solid rgba(0,0,0,.02);
  margin-bottom:20px;
}
.sidebar-box h3{
  margin:0 0 14px;
  font-size:18px;
  font-weight:800;
}
.sidebar-box ul{
  margin:0;
  padding-left:18px;
}
.sidebar-box ul li{
  margin-bottom:10px;
}
.premium-sidebar-highlight{
  border-top:4px solid var(--primary);
}

.popular-list{
  display:grid;
  gap:14px;
}
.popular-list a{
  font-weight:700;
  line-height:1.4;
}

.ad-box{
  min-height:280px;
  border:2px dashed var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  border-radius:12px;
  background:#fafafa;
  text-align:center;
  padding:20px;
}

/* Single page */
.single-wrap{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:24px;
}
.single-content{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
  padding:24px;
}
.single-content h1{
  margin:0 0 12px;
  line-height:1.2;
  font-size:38px;
}
.single-featured-image{
  margin:18px 0;
  border-radius:14px;
  overflow:hidden;
}
.single-featured-image img{
  width:100%;
  max-height:520px;
  object-fit:cover;
}

.entry-content{
  font-size:17px;
  line-height:1.8;
}
.entry-content p{
  margin:0 0 18px;
  font-size:17px;
}
.entry-content h2,
.entry-content h3,
.entry-content h4{
  margin:24px 0 12px;
}
.entry-content ul,
.entry-content ol{
  padding-left:22px;
  list-style:disc;
  margin:0 0 18px;
}
.entry-content img{
  border-radius:12px;
  height:auto;
}

.author-box{
  margin-top:28px;
}
.author-box .content{
  padding:20px;
}
.related-posts{
  margin-top:28px;
}

.sticky-share{
  position:sticky;
  top:90px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:16px 0 22px;
}
.sticky-share a{
  background:var(--dark);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
}
.sticky-share a:hover{
  background:var(--primary);
  color:#fff;
}

.after-content-ad-wrap{
  margin-top:24px;
}

/* Search form */
.search-form{
  display:flex;
  gap:10px;
}
.search-field{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:10px;
  outline:none;
  background:#fff;
}
.search-field:focus{
  border-color:#cbd5e1;
}

/* Pagination */
.pagination-wrap{
  margin-top:24px;
}
.nav-links{
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:28px;
}
.nav-links .page-numbers{
  background:#fff;
  padding:10px 14px;
  border-radius:10px;
  box-shadow:var(--shadow);
  min-width:42px;
  text-align:center;
}
.nav-links .current{
  background:var(--primary);
  color:#fff;
}

/* Footer */
.site-footer{
  background:var(--dark);
  color:#fff;
  margin-top:40px;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:24px;
  padding:40px 0;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:16px 0;
  color:#d1d5db;
  font-size:14px;
}

/* Dark mode foundation */
body.dark-mode{
  background:#0b1220;
  color:#e5e7eb;
}
body.dark-mode .card,
body.dark-mode .site-header,
body.dark-mode .main-nav,
body.dark-mode .sidebar-box,
body.dark-mode .single-content,
body.dark-mode .breadcrumb-wrap,
body.dark-mode .header-ad-box,
body.dark-mode .search-field{
  background:#111827;
  color:#e5e7eb;
  border-color:#243041;
}
body.dark-mode .post-meta,
body.dark-mode .site-tagline,
body.dark-mode .breadcrumb{
  color:#94a3b8;
}
body.dark-mode .mobile-menu-toggle span{
  background:#e5e7eb;
}
body.dark-mode .ad-box{
  background:#0f172a;
  border-color:#243041;
  color:#94a3b8;
}

/* Responsive */
@media (max-width: 1100px){
  .two-col,
  .single-wrap,
  .footer-grid,
  .news-split-grid{
    grid-template-columns:1fr;
  }

  .hero-grid{
    grid-template-columns:1fr;
  }

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

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

  .nav-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .nav-search{
    width:100%;
  }

  .nav-search .search-form{
    width:100%;
    min-width:0;
  }

  .header-ad-box{
    min-width:100%;
  }
}

@media (max-width: 991px){
  .mobile-menu-toggle{
    display:block;
  }

  .header-right-zone{
    width:100%;
    margin-top:12px;
  }

  .premium-nav{
    display:none;
    border-top:1px solid var(--border);
    width:100%;
  }

  .premium-nav.is-open{
    display:block;
  }

  .primary-menu-list{
    flex-direction:column;
    gap:0;
    width:100%;
  }

  .primary-menu-list li{
    width:100%;
  }

  .primary-menu-list li a{
    padding:12px 0;
    border-bottom:1px solid var(--border);
  }

  .hero-main .post-title{
    font-size:28px;
  }

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

@media (max-width: 768px){
  .header-main{
    flex-wrap:wrap;
  }

  .posts-3,
  .posts-4{
    grid-template-columns:1fr;
  }

  .list-item{
    grid-template-columns:1fr;
    align-items:start;
  }

  .list-item .post-thumb{
    width:100%;
    height:200px;
  }

  .hero-main{
    min-height:300px;
  }

  .single-content h1{
    font-size:28px;
  }
}

@media (max-width: 640px){
  .sticky-share{
    position:static;
  }

  .header-ad-box{
    min-height:70px;
  }

  .site-logo{
    font-size:26px;
  }

  .hero-main .post-title{
    font-size:24px;
  }

  .breaking-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .search-form{
    flex-direction:column;
  }

  .search-form button,
  .button{
    width:100%;
  }
}
/* =========================
   HOMEPAGE CSS POLISH
   ========================= */

/* page spacing */
.section{
  padding:18px 0;
}

.home-top-layout{
  align-items:start;
}

/* hero area */
.hero-grid{
  gap:14px;
}

.hero-main{
  min-height:390px;
  border-radius:10px;
}

.hero-main .thumb{
  aspect-ratio:16/9;
}

.hero-main .content{
  padding:16px 18px 18px;
}

.hero-main .post-title{
  font-size:30px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-0.3px;
  margin-bottom:8px;
}

.hero-main .post-meta{
  font-size:12px;
  margin-bottom:10px;
}

.hero-main p{
  margin:0;
  color:#4b5563;
  font-size:15px;
  line-height:1.6;
}

.hero-side{
  gap:14px;
}

.hero-side .card{
  border-radius:10px;
}

.hero-side .thumb{
  aspect-ratio:16/9;
}

.hero-side .content{
  padding:12px 14px 14px;
}

.hero-side .post-title{
  font-size:16px;
  line-height:1.25;
  margin-bottom:6px;
}

/* section headings */
.section-title{
  margin-bottom:14px;
}

.section-title h2{
  font-size:21px;
  font-weight:900;
  letter-spacing:-0.2px;
}

.section-title::before{
  width:5px;
  height:22px;
  border-radius:999px;
}

/* generic cards */
.card{
  border-radius:10px;
  border:1px solid #e5e7eb;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
}

.content{
  padding:14px;
}

.category-badge{
  font-size:11px;
  padding:5px 8px;
  border-radius:6px;
  margin-bottom:8px;
  font-weight:800;
}

.post-title{
  font-size:17px;
  line-height:1.28;
  font-weight:800;
  letter-spacing:-0.15px;
}

.post-meta{
  font-size:12px;
  color:#6b7280;
}

/* 4-card strips */
.posts-4{
  gap:14px;
}

.posts-4 .post-card .post-thumb{
  height:165px;
}

.compact-card .content{
  padding:12px;
}

.compact-card .post-title{
  font-size:15px;
  line-height:1.25;
  margin-bottom:6px;
}

/* 3-card economy section */
.posts-3{
  gap:14px;
}

.posts-3 .post-card .post-thumb{
  height:190px;
}

/* 2-column news blocks */
.news-split-grid{
  gap:18px;
}

.posts-2-custom{
  gap:14px;
}

.posts-2-custom .post-card .post-thumb{
  height:180px;
}

.posts-2-custom .post-title{
  font-size:16px;
}

/* list style sections */
.list-posts{
  gap:12px;
}

.list-item{
  grid-template-columns:110px 1fr;
  gap:12px;
  align-items:start;
}

.list-item .post-thumb{
  width:110px;
  height:78px;
  border-radius:8px;
  overflow:hidden;
}

.list-item .content{
  padding:12px;
}

.list-item .post-title{
  font-size:16px;
  line-height:1.25;
  margin-bottom:6px;
}

.list-item p{
  margin:0;
  color:#6b7280;
  font-size:14px;
  line-height:1.5;
}

/* sidebar */
.sidebar-box{
  border-radius:10px;
  padding:16px;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
  margin-bottom:16px;
}

.sidebar-box h3{
  font-size:17px;
  font-weight:900;
  margin-bottom:12px;
  letter-spacing:-0.15px;
}

.premium-sidebar-highlight{
  border-top:4px solid var(--primary);
}

.popular-list{
  gap:10px;
}

.popular-list a{
  display:block;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:var(--dark);
}

.popular-list a:hover{
  color:var(--primary);
}

.sidebar-box ul li{
  margin-bottom:8px;
}

.sidebar-box ul li a{
  font-size:14px;
  font-weight:600;
}

/* search widget */
.search-form{
  gap:8px;
}

.search-field{
  padding:11px 12px;
  border-radius:8px;
}

.search-form .button,
.search-form button{
  padding:11px 14px;
  border-radius:8px;
  font-size:14px;
}

/* ad blocks */
.ad-box{
  min-height:250px;
  border-radius:8px;
  font-size:14px;
  font-weight:700;
}

/* horizontal banner */
.section .card .ad-box{
  min-height:140px;
}

/* homepage density */
.two-col{
  gap:20px;
}

/* improve footer visual consistency */
.site-footer{
  margin-top:28px;
}

.footer-grid{
  padding:30px 0;
  gap:20px;
}

/* better hover behavior */
.post-title a,
.list-item a,
.post-card a{
  transition:.2s ease;
}

.post-title a:hover{
  color:var(--primary);
}

/* compact homepage paragraphs */
.post-card p{
  color:#6b7280;
  font-size:14px;
  line-height:1.55;
}

/* mobile polish */
@media (max-width: 1100px){
  .hero-main{
    min-height:340px;
  }

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

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

@media (max-width: 991px){
  .hero-main .post-title{
    font-size:25px;
  }

  .two-col,
  .news-split-grid{
    grid-template-columns:1fr;
  }

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

@media (max-width: 768px){
  .hero-main{
    min-height:300px;
  }

  .hero-main .post-title{
    font-size:22px;
  }

  .hero-main p{
    font-size:14px;
  }

  .posts-3,
  .posts-4{
    grid-template-columns:1fr;
  }

  .list-item{
    grid-template-columns:1fr;
  }

  .list-item .post-thumb{
    width:100%;
    height:190px;
  }

  .list-item .content{
    padding:12px 0 0;
  }

  .hero-side .post-title,
  .posts-2-custom .post-title,
  .post-card .post-title{
    font-size:15px;
  }
}

@media (max-width: 640px){
  .section{
    padding:14px 0;
  }

  .hero-grid{
    gap:12px;
  }

  .hero-side{
    gap:12px;
  }

  .sidebar-box{
    padding:14px;
  }

  .section-title h2{
    font-size:19px;
  }
}
/* =========================
   SINGLE POST PAGE POLISH
   ========================= */

.single-wrap{
  gap:20px;
  align-items:start;
}

.single-content{
  border-radius:10px;
  border:1px solid #e5e7eb;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
  padding:22px;
}

.single-content h1{
  font-size:38px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-0.4px;
  margin:0 0 12px;
  color:var(--dark);
}

.single-content .post-meta{
  font-size:13px;
  color:#6b7280;
  margin-bottom:14px;
}

.single-featured-image{
  margin:18px 0 20px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
}

.single-featured-image img{
  width:100%;
  max-height:560px;
  object-fit:cover;
}

/* share buttons */
.sticky-share{
  position:sticky;
  top:90px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 24px;
}

.sticky-share a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--dark);
  color:#fff;
  padding:10px 14px;
  border-radius:8px;
  font-size:13px;
  font-weight:800;
  line-height:1;
  transition:.2s ease;
}

.sticky-share a:hover{
  background:var(--primary);
  color:#fff;
}

/* article content */
.entry-content{
  font-size:18px;
  line-height:1.9;
  color:#111827;
}

.entry-content p{
  margin:0 0 20px;
  font-size:18px;
  line-height:1.9;
  color:#1f2937;
}

.entry-content h2{
  font-size:30px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-0.25px;
  margin:34px 0 14px;
  color:var(--dark);
}

.entry-content h3{
  font-size:24px;
  line-height:1.25;
  font-weight:800;
  margin:28px 0 12px;
  color:var(--dark);
}

.entry-content h4{
  font-size:20px;
  line-height:1.3;
  font-weight:800;
  margin:24px 0 10px;
  color:var(--dark);
}

.entry-content ul,
.entry-content ol{
  margin:0 0 22px;
  padding-left:24px;
}

.entry-content ul{
  list-style:disc;
}

.entry-content ol{
  list-style:decimal;
}

.entry-content li{
  margin-bottom:8px;
  font-size:17px;
  line-height:1.8;
}

.entry-content blockquote{
  margin:24px 0;
  padding:18px 20px;
  border-left:4px solid var(--primary);
  background:#f9fafb;
  border-radius:8px;
  color:#374151;
  font-size:18px;
  line-height:1.8;
}

.entry-content img{
  border-radius:12px;
  margin:22px auto;
  height:auto;
}

.entry-content a{
  color:var(--primary);
  text-decoration:underline;
}

.entry-content a:hover{
  color:var(--primary-dark);
}

/* after content ad */
.after-content-ad-wrap{
  margin-top:26px;
}

.after-content-ad-wrap .ad-box{
  min-height:140px;
  border-radius:10px;
}

/* author box */
.author-box{
  margin-top:28px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
}

.author-box .content{
  padding:18px 20px;
}

.author-box h3{
  margin:0 0 8px;
  font-size:20px;
  font-weight:900;
  color:var(--dark);
}

.author-box p{
  margin:0;
  color:#6b7280;
  font-size:15px;
  line-height:1.7;
}

/* related posts */
.related-posts{
  margin-top:30px;
}

.related-posts .section-title{
  margin-bottom:14px;
}

.related-posts .posts-3{
  gap:14px;
}

.related-posts .post-card{
  border-radius:10px;
  border:1px solid #e5e7eb;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
}

.related-posts .post-thumb{
  height:180px;
}

.related-posts .content{
  padding:13px;
}

.related-posts .post-title{
  font-size:16px;
  line-height:1.28;
  margin-bottom:6px;
}

/* single sidebar */
.single-wrap aside .sidebar-box{
  border-radius:10px;
  border:1px solid #e5e7eb;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
  padding:16px;
  margin-bottom:16px;
}

.single-wrap aside .sidebar-box h3{
  font-size:17px;
  font-weight:900;
  margin-bottom:12px;
}

/* nicer meta spacing */
.page-header{
  margin-bottom:8px;
}

/* category badge on single */
.single-content .category-badge{
  font-size:11px;
  padding:5px 8px;
  border-radius:6px;
  margin-bottom:10px;
}

/* long titles and layout stability */
.single-content,
.entry-content,
.author-box,
.related-posts{
  word-wrap:break-word;
  overflow-wrap:break-word;
}

/* mobile */
@media (max-width: 1100px){
  .single-content h1{
    font-size:34px;
  }

  .entry-content p{
    font-size:17px;
  }

  .entry-content h2{
    font-size:28px;
  }
}

@media (max-width: 991px){
  .single-wrap{
    grid-template-columns:1fr;
  }

  .sticky-share{
    position:static;
    margin:10px 0 20px;
  }

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

@media (max-width: 768px){
  .single-content{
    padding:18px;
  }

  .single-content h1{
    font-size:28px;
    line-height:1.12;
  }

  .entry-content{
    font-size:17px;
  }

  .entry-content p{
    font-size:17px;
    line-height:1.85;
  }

  .entry-content h2{
    font-size:24px;
  }

  .entry-content h3{
    font-size:21px;
  }

  .entry-content h4{
    font-size:18px;
  }

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

  .related-posts .post-thumb{
    height:200px;
  }
}

@media (max-width: 640px){
  .single-content{
    padding:16px;
  }

  .single-content h1{
    font-size:24px;
  }

  .single-featured-image{
    margin:16px 0 18px;
  }

  .sticky-share{
    gap:8px;
  }

  .sticky-share a{
    padding:9px 12px;
    font-size:12px;
  }

  .entry-content p{
    font-size:16px;
    line-height:1.8;
  }

  .entry-content h2{
    font-size:22px;
  }

  .entry-content blockquote{
    font-size:16px;
    padding:16px;
  }
}
/* =========================
   FINAL FOOTER POLISH
   ========================= */

.site-footer{
  background:#0f172a;
  color:#e5e7eb;
  margin-top:34px;
  border-top:4px solid var(--primary);
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:24px;
  padding:34px 0;
}

.site-footer h4,
.footer-title{
  font-size:18px;
  font-weight:900;
  margin:0 0 14px;
  color:#ffffff;
  letter-spacing:-0.15px;
}

.site-footer p{
  margin:0 0 10px;
  color:#cbd5e1;
  font-size:15px;
  line-height:1.7;
}

.site-footer a{
  color:#cbd5e1;
  transition:.2s ease;
}

.site-footer a:hover{
  color:#ffffff;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:16px 0;
  color:#94a3b8;
  font-size:14px;
}

.footer-bottom a{
  color:#cbd5e1;
}

.footer-bottom a:hover{
  color:#fff;
}

/* footer widget-like spacing */
.site-footer .sidebar-box,
.site-footer .widget{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
  margin:0;
}

.site-footer ul{
  margin:0;
  padding:0;
  list-style:none;
}

.site-footer ul li{
  margin-bottom:10px;
}

/* =========================
   WIDGETS POLISH
   ========================= */

.sidebar-box,
.widget{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
  padding:16px;
  margin-bottom:16px;
}

.sidebar-box h3,
.widget-title,
.widget h2,
.widget h3{
  font-size:17px;
  font-weight:900;
  margin:0 0 12px;
  color:var(--dark);
  letter-spacing:-0.15px;
  line-height:1.2;
}

.sidebar-box p,
.widget p{
  margin:0 0 10px;
  color:#6b7280;
  font-size:14px;
  line-height:1.65;
}

.sidebar-box a,
.widget a{
  color:var(--dark);
  transition:.2s ease;
}

.sidebar-box a:hover,
.widget a:hover{
  color:var(--primary);
}

/* latest / popular lists */
.popular-list{
  display:grid;
  gap:10px;
}

.popular-list a{
  display:block;
  font-size:14px;
  line-height:1.4;
  font-weight:700;
  color:var(--dark);
}

.popular-list a:hover{
  color:var(--primary);
}

/* widget lists */
.sidebar-box ul,
.widget ul{
  margin:0;
  padding-left:18px;
}

.sidebar-box ul li,
.widget ul li{
  margin-bottom:8px;
  color:#6b7280;
}

.sidebar-box ul li a,
.widget ul li a{
  font-size:14px;
  font-weight:600;
}

/* categories with count */
.sidebar-box .cat-item,
.widget .cat-item{
  display:list-item;
}

/* search widget */
.search-form{
  display:flex;
  gap:8px;
}

.search-field,
.search-form input[type="search"]{
  width:100%;
  padding:11px 12px;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  color:var(--dark);
  outline:none;
}

.search-field:focus,
.search-form input[type="search"]:focus{
  border-color:#9ca3af;
}

.search-form .button,
.search-form button{
  border:none;
  background:var(--primary);
  color:#fff;
  padding:11px 14px;
  border-radius:8px;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

.search-form .button:hover,
.search-form button:hover{
  background:var(--primary-dark);
}

/* ad widgets */
.ad-box{
  min-height:250px;
  border:2px dashed #d1d5db;
  background:#f9fafb;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
  color:#6b7280;
  font-size:14px;
  font-weight:700;
}

/* social links widgets */
.sidebar-box p a,
.widget p a{
  font-weight:700;
}

/* homepage / main sidebar highlight widget */
.premium-sidebar-highlight{
  border-top:4px solid var(--primary);
}

/* widget spacing inside footer columns if widgets are used */
.footer-grid .sidebar-box,
.footer-grid .widget{
  background:transparent;
  box-shadow:none;
  border:none;
  padding:0;
}

/* small polish for count and archive items */
.widget_archive li,
.widget_categories li,
.widget_meta li,
.widget_recent_entries li,
.widget_pages li,
.widget_nav_menu li{
  margin-bottom:10px;
}

/* latest posts block inside widget area */
.wp-block-latest-posts{
  margin:0;
  padding:0;
  list-style:none;
}

.wp-block-latest-posts li{
  margin-bottom:10px;
  line-height:1.45;
}

.wp-block-latest-posts li a{
  font-size:14px;
  font-weight:700;
  color:var(--dark);
}

.wp-block-latest-posts li a:hover{
  color:var(--primary);
}

.wp-block-latest-posts__post-date{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#6b7280;
}

/* categories block */
.wp-block-categories{
  margin:0;
  padding-left:18px;
}

.wp-block-categories li{
  margin-bottom:8px;
  font-size:14px;
}

/* navigation menu widget */
.widget_nav_menu ul{
  margin:0;
  padding:0;
  list-style:none;
}

.widget_nav_menu ul li{
  margin-bottom:10px;
}

.widget_nav_menu ul li a{
  font-size:14px;
  font-weight:700;
}

/* dark mode support */
body.dark-mode .site-footer{
  background:#020617;
  color:#e5e7eb;
}

body.dark-mode .footer-bottom{
  color:#94a3b8;
  border-top-color:rgba(255,255,255,.08);
}

body.dark-mode .sidebar-box,
body.dark-mode .widget{
  background:#111827;
  border-color:#243041;
  color:#e5e7eb;
}

body.dark-mode .sidebar-box h3,
body.dark-mode .widget h2,
body.dark-mode .widget h3,
body.dark-mode .widget-title{
  color:#ffffff;
}

body.dark-mode .sidebar-box p,
body.dark-mode .widget p,
body.dark-mode .sidebar-box ul li,
body.dark-mode .widget ul li,
body.dark-mode .wp-block-latest-posts__post-date{
  color:#94a3b8;
}

body.dark-mode .sidebar-box a,
body.dark-mode .widget a,
body.dark-mode .wp-block-latest-posts li a{
  color:#e5e7eb;
}

body.dark-mode .sidebar-box a:hover,
body.dark-mode .widget a:hover,
body.dark-mode .wp-block-latest-posts li a:hover{
  color:#ffffff;
}

body.dark-mode .search-field,
body.dark-mode .search-form input[type="search"]{
  background:#0f172a;
  border-color:#243041;
  color:#e5e7eb;
}

body.dark-mode .ad-box{
  background:#0f172a;
  border-color:#243041;
  color:#94a3b8;
}

/* responsive */
@media (max-width: 1100px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 768px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:18px;
    padding:26px 0;
  }

  .sidebar-box,
  .widget{
    padding:14px;
  }
}

@media (max-width: 640px){
  .search-form{
    flex-direction:column;
  }

  .search-form .button,
  .search-form button{
    width:100%;
  }

  .footer-bottom{
    font-size:13px;
  }
}