/*
Theme Name: News Express
Theme URI: https://newsexpress-theme.local
Author: John Carter
Author URI: https://newsexpress-theme.local
Description: News Theme.
Version: 1.0.1
License: GPLv2 or later
Text Domain: news-express
*/

/* ================= ROOT ================= */
:root{
  --ne-primary:#18a957;
  --ne-text:#111;
  --ne-muted:#666;
  --ne-border:#e6e6e6;
  --ne-bg:#ffffff;
  --ne-footer:#1f2b36;
  --ne-radius:14px;
}

/* ================= BASE ================= */
*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--ne-bg);
  color:var(--ne-text);
  line-height:1.6;
}

a{color:inherit;text-decoration:none}
a:hover{color:#19b3f2;text-decoration:none}

/* Remove bullets globally */
ul,ol{margin:0;padding:0}
li{list-style:none}

/* ================= LAYOUT ================= */
.ne-container{
  width:min(1180px,calc(100% - 32px));
  margin:auto;
}
.ne-main{padding:18px 0 30px}
.ne-grid{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:22px;
}
.ne-full{grid-template-columns:1fr}

/* ================= CONTENT LISTS FIX ================= */
.ne-content--single ul,
.ne-content--single ol,
.ne-content--page ul,
.ne-content--page ol,
.ne-content ul,
.ne-content ol{
  margin:0 0 16px 22px;
  padding:0;
}

.ne-content--single ul,
.ne-content--page ul,
.ne-content ul{
  list-style:disc;
}

.ne-content--single ol,
.ne-content--page ol,
.ne-content ol{
  list-style:decimal;
}

.ne-content--single li,
.ne-content--page li,
.ne-content li{
  list-style:inherit;
  margin:0 0 8px;
  padding-left:2px;
}

.ne-content--single ul ul,
.ne-content--single ol ol,
.ne-content--single ul ol,
.ne-content--single ol ul,
.ne-content--page ul ul,
.ne-content--page ol ol,
.ne-content--page ul ol,
.ne-content--page ol ul,
.ne-content ul ul,
.ne-content ol ol,
.ne-content ul ol,
.ne-content ol ul{
  margin-top:8px;
  margin-bottom:8px;
}

.ne-content--single ul ul,
.ne-content--page ul ul,
.ne-content ul ul{
  list-style:circle;
}

.ne-content--single ul ul ul,
.ne-content--page ul ul ul,
.ne-content ul ul ul{
  list-style:square;
}
.ne-content--single li::marker,
.ne-content--page li::marker,
.ne-content li::marker{
  color:var(--ne-primary);
  font-weight:700;
}

/* ================= HEADER ================= */
.ne-header{
  background:#fff;
  border-bottom:1px solid var(--ne-border);
  position:sticky;
  top:0;
  z-index:99;
}
.ne-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
}
.ne-logo{
  font-size:26px;
  font-weight:900;
  color:var(--ne-primary);
}
.ne-logo a,
.ne-logo a:hover{
  color:inherit;
  text-decoration:none !important;
}

.custom-logo{
  max-height:50px;
  width:auto;
}

/* Menus */
.ne-nav{
  display:flex;
  gap:18px;
  font-weight:900;
}
.ne-nav a{
  padding:6px 8px;
  border-radius:8px;
}
.ne-nav a:hover{background:#f3f3f3;text-decoration:none}

/* search hide (if present) */
.ne-icon-btn,
.ne-search,
.ne-header-search{
  display:none !important;
}

/* Mobile drawer */
.ne-mobile-toggle{display:none}
.ne-mobile-drawer{display:none;padding:12px 0}
.ne-mobile-drawer.is-open{display:block}
.ne-mobile-drawer a{display:block;padding:8px 0;font-weight:900}

/* ================= HOMEPAGE LIST ================= */
.ne-post-list{display:flex;flex-direction:column}
.ne-item{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--ne-border);
}
.ne-thumb{
  aspect-ratio:16/9;
  border-radius:14px;
  overflow:hidden;
  background:#eee;
}
.ne-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Category */
.ne-cat{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:900;
  color:var(--ne-primary);
  text-transform:uppercase;
}
.ne-cat:hover{text-decoration:none !important;opacity:.9}
.ne-bolt{
  width:10px;height:10px;
  background:var(--ne-primary);
  clip-path:polygon(40% 0,100% 0,58% 45%,100% 45%,0 100%,40% 55%,0 55%);
}

/* Titles */
.ne-title{
  font-size:20px;
  line-height:1.2;
  margin:6px 0 6px;
  font-weight:900;
}
.ne-meta{
  font-size:14px;
  color:var(--ne-muted);
  font-weight:700;
}

/* ================= SIDEBAR ================= */
.ne-widget{
  border:1px solid var(--ne-border);
  border-radius:18px;
  padding:16px;
  margin-bottom:16px;
  background:#fff;
}
.ne-widget-title{
  display:inline-block;
  border:2px solid #111;
  border-radius:999px;
  padding:6px 14px;
  font-size:18px;
  font-weight:900;
  margin-bottom:12px;
}

/* Recent posts */
.ne-recent-mini{display:flex;flex-direction:column;gap:14px}
.ne-mini{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:12px;
  align-items:flex-start;
}
.ne-mini img{
  width:78px;
  height:56px;
  border-radius:10px;
  object-fit:cover;
  display:block;
}
.ne-mini .t{
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  margin-top:2px;
  display:block;
}
.ne-mini .d{display:none !important;} /* date hide */

/* Tag cloud */
.ne-tags{display:flex;flex-wrap:wrap;gap:10px}
.ne-tags a{
  border:1px solid #111;
  padding:6px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}

/* ================= SINGLE POST ================= */
.ne-single-title{
  font-size:28px;
  font-weight:900;
  line-height:1.15;
  margin:8px 0 10px;
}

/* Byline */
.ne-byline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:10px 0;
  border-top:1px solid var(--ne-border);
  border-bottom:1px solid var(--ne-border);
}
.ne-byleft{
  display:flex;
  gap:10px;
  align-items:center;
  font-weight:900;
  min-width:0;
}

/* Avatar */
.ne-avatar{
  width:42px;height:42px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid var(--ne-primary);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.ne-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Share buttons (desktop default) */
.ne-share{
  display:flex;
  gap:12px;
  align-items:center;
}
.ne-share a{
  padding:10px 18px;
  border-radius:12px;
  font-size:14px;
  font-weight:900;
  display:inline-block;
  text-decoration:none !important;
  white-space:nowrap;
}
.ne-share .wa{background:#25D366;color:#fff}
.ne-share .fb{background:#1877F2;color:#fff}
.ne-share .wa:hover{background:#1ebe5d}
.ne-share .fb:hover{background:#0f65d4}

/* Content */
.ne-content{font-size:17px}
.ne-content img{max-width:100%;height:auto;border-radius:14px}

/* ================= AUTHOR PAGE (NEW LAYOUT) ================= */


.ne-author-header{
  display:flex;
  gap:18px;
  align-items:flex-start;
  border:1px solid var(--ne-border);
  border-radius:18px;
  background:#fff;
  padding:18px;
  margin:16px 0 22px;
}

.ne-author-avatar{
  flex:0 0 auto;
  width:120px;
  height:120px;
  border-radius:50%;
  overflow:hidden;
  border:4px solid var(--ne-primary);
}

.ne-author-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ne-author-info{
  min-width:0;
  flex:1;
}

.ne-author-name{
  font-size:24px;
  font-weight:900;
  margin:0 0 8px;
  line-height:1.15;
}

.ne-author-bio{
  margin:0;
  font-size:16px;
  color:var(--ne-muted);
  line-height:1.75;
}

/* Mobile */
@media(max-width:768px){
  .ne-author-header{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .ne-author-avatar{
    width:96px;
    height:96px;
  }
  .ne-author-name{
    font-size:20px;
  }
  .ne-author-bio{
    font-size:15px;
  }
}


/* Related posts */
.ne-related-title{
  background:var(--ne-primary);
  color:#fff;
  padding:10px;
  border-radius:12px;
  font-size:18px;
  font-weight:900;
  text-align:center;
  margin:16px 0;
}
.ne-related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.ne-related-card{
  border:1px solid var(--ne-border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.ne-related-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}
.ne-related-card .pad{padding:12px}
.ne-related-card .rt{font-size:15px;font-weight:900}
.ne-related-card .rm{display:none}

/* ================= INTERLINK MINI CARDS ================= */
.ne-il-wrap{margin:14px 0}
.ne-il-card{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:10px;
  align-items:center;
  border:1px solid var(--ne-border);
  border-radius:14px;
  padding:10px;
  background:#fff;
  text-decoration:none !important;
}
.ne-il-img{
  width:86px;height:62px;
  border-radius:12px;
  overflow:hidden;
  background:#eee;
}
.ne-il-img img{width:100%;height:100%;object-fit:cover;display:block}
.ne-il-title{
  font-size:14px;
  font-weight:900;
  line-height:1.2;
  display:block;
  color:#1976f2;
}
.ne-il-title:hover{color:#19b3f2}
.ne-il-date{display:none !important}

/* ================= FOOTER ================= */
.ne-footer{
  background:var(--ne-footer);
  color:#eaeaea;
  padding:30px 0;
}

.ne-footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr;   /* 2 columns only */
  gap:22px;
  align-items:start;
  border-bottom:1px solid rgba(255,255,255,.15);
  padding-bottom:18px;
}

.ne-footer h4{
  font-size:18px;
  font-weight:900;
  margin:0 0 12px;
}

.ne-footer a{color:#fff}

/* Pages (horizontal) */
.ne-footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
}

.ne-footer-links li{list-style:none}

.ne-footer-links a{
  color:#fff;
  font-weight:800;
  opacity:.95;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  display:inline-block;
}

.ne-footer-links a:hover{
  opacity:1;
  border-color: rgba(255,255,255,.35);
}

/* Footer logo show (custom logo fix) */
.ne-footer-logo .custom-logo-link{
  display:inline-block;
}
.ne-footer-logo .custom-logo{
  max-width:220px;
  width:100%;
  height:auto;
}

/* bottom line */
.ne-footer-bottom{
  text-align:center;
  padding-top:14px;
  font-size:14px;
  opacity:.9;
}

/* Mobile footer */
@media(max-width:768px){
  .ne-footer-grid{
    grid-template-columns:1fr;
    gap:16px;
    text-align:center;
  }

  .ne-footer-links{
    justify-content:center;
  }

  .ne-footer-logo .custom-logo{
    max-width:200px;
    margin:auto;
  }
}


/* ================= FLOATING (Center + Left/Right Control) ================= */

.ne-float{
  position:fixed;
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:999;
}

.ne-float a{
  padding:12px 18px;
  border-radius:999px;
  font-weight:900;
  box-shadow:0 6px 20px rgba(0,0,0,.15);
  text-decoration:none !important;
}

/* Default colors */
.ne-float .wa{background:#25D366;color:#fff}
.ne-float .latest{background:#111;color:#fff}

/* ===== Position Modes ===== */

/* Both Right (default) */
body.ne-float-pos-right .ne-float{
  right:16px;
  left:auto;
}

/* Both Left */
body.ne-float-pos-left .ne-float{
  left:16px;
  right:auto;
}

/* Split: Latest Left + WhatsApp Right */
body.ne-float-pos-split .ne-float{
  left:auto;
  right:auto;
  gap:0; /* internal stack not used here */
}

/* In split, we position each button individually */
body.ne-float-pos-split .ne-float .latest{
  position:fixed;
  left:16px;
}
body.ne-float-pos-split .ne-float .wa{
  position:fixed;
  right:16px;
}

/* ===== Vertical Center Toggle ===== */
body.ne-float-center .ne-float{
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
}

/* If not centered, keep bottom like before */
body:not(.ne-float-center) .ne-float{
  bottom:16px;
}

/* Split mode + center */
body.ne-float-center.ne-float-pos-split .ne-float .latest,
body.ne-float-center.ne-float-pos-split .ne-float .wa{
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
}


/* ================= PAGINATION ================= */
.ne-pagination,
.navigation.pagination{
  margin:22px 0 10px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
.ne-pagination .page-numbers,
.navigation.pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 14px;
  margin:6px 6px;
  border:1px solid var(--ne-border);
  border-radius:10px;
  background:#fff;
  font-weight:900;
  text-decoration:none !important;
  color:var(--ne-text);
  transition:all .15s ease;
}
.ne-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current{
  background:var(--ne-primary);
  border-color:var(--ne-primary);
  color:#fff;
}


/* ================= RESPONSIVE ================= */
@media(max-width:980px){
  .ne-grid{grid-template-columns:1fr}
  .ne-item{grid-template-columns:1fr}
  .ne-title{font-size:18px}
  .ne-single-title{font-size:20px}
  .ne-related-grid{grid-template-columns:1fr}
  .ne-il-card{grid-template-columns:92px 1fr}
}

@media(max-width:768px){
  .ne-nav{display:none}
  .ne-mobile-toggle{display:inline-grid}
  .ne-footer-grid{grid-template-columns:1fr}

  /* Mobile: byline stacked */
  .ne-byline{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  /* Mobile: share buttons one-by-one */
  .ne-share{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .ne-share a{
    width:100%;
    text-align:center;
    padding:14px 12px;
    border-radius:14px;
    font-size:15px;
    white-space:normal;
  }

  /* Sidebar recent thumb slightly bigger */
  .ne-mini{grid-template-columns:86px 1fr}
  .ne-mini img{width:86px;height:62px}
}


/* ================= TABLE DESIGN (News Express) ================= */

/* Table wrapper spacing (agar div/figure wrapper ho) */
.ne-content figure.wp-block-table,
.ne-content .wp-block-table,
.ne-content div[style*="text-align"]{
  margin:16px 0;
}

/* Table base look */
.ne-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--ne-border);
  border-radius:12px;
  overflow:hidden; /* rounded corners visible */
}

/* Cells */
.ne-content table th,
.ne-content table td{
  padding:12px 14px;
  border-bottom:1px solid var(--ne-border);
  border-right:1px solid var(--ne-border);
  text-align:left;
  vertical-align:middle;
  font-size:14px;
  line-height:1.35;
}

/* Last column border remove */
.ne-content table th:last-child,
.ne-content table td:last-child{
  border-right:none;
}

/* Header */
.ne-content table th{
  background:var(--ne-primary);
  color:#fff;
  font-weight:900;
  font-size:13px;
  letter-spacing:.2px;
  border-bottom:1px solid rgba(255,255,255,.18);
}

/* Zebra rows */
.ne-content table tbody tr:nth-child(even){
  background:#f7f9fb;
}

/* Hover row */
.ne-content table tbody tr:hover{
  background:#eef6ff;
}

/* Last row bottom border remove */
.ne-content table tbody tr:last-child td{
  border-bottom:none;
}

/* Mobile: thoda compact */
@media (max-width:768px){
  .ne-content table th,
  .ne-content table td{
    padding:10px 12px;
    font-size:13px;
  }
}
.ne-ad{margin:14px 0}
.ne-ad-center{text-align:center}
.ne-ad iframe, .ne-ad img{max-width:100% !important;height:auto}
